/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

@import url("chrome://global/skin/global.css");
@import url("chrome://browser/skin/browser-colors.css");
@import url("chrome://browser/skin/notification-icons.css");
@import url("chrome://browser/skin/identity-block/identity-block.css");

:root {
  --sidebar-box-border-color: light-dark(color-mix(in srgb, currentColor 10%, transparent), var(--border-color-deemphasized));
  --sidebar-box-border-width: 0.5px;
  --sidebar-box-border: var(--sidebar-box-border-width) solid var(--sidebar-box-border-color);
  --sidebar-box-background: light-dark(rgba(0, 0, 0, 0.03), rgba(255, 255, 255, 0.05));
  --sidebar-box-color: currentColor;
  background-color: transparent;
  color: var(--sidebar-text-color);
  height: 100%;

  &[lwt-sidebar="light"] {
    color-scheme: light;
  }

  &[lwt-sidebar="dark"] {
    color-scheme: dark;
  }
}

body {
  margin: 0;
  height: 100%;
}

moz-card {
  --card-gap: var(--space-small);
  --card-padding: 8px;
  --card-heading-padding-inline: 12px;
  @media -moz-pref("browser.nova.enabled") {
    --card-background-color: transparent;
  }

  margin-block-start: var(--space-medium);
  box-shadow: none;
  color: var(--sidebar-box-color);
  border: var(--sidebar-box-border);
  @media -moz-pref("browser.nova.enabled") {
    --card-padding: 0;
    border: none;

    &::part(moz-card-heading-wrapper) {
      padding-inline: 8px;
    }
  }

  &::part(summary) {
    padding-block: var(--space-medium);
  }

  &::part(heading) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  &:first-of-type {
    margin-block-start: 0;
  }
}

.sidebar-panel {
  display: flex;
  flex-direction: column;
  padding: var(--space-large);
  box-sizing: border-box;
  border-radius: var(--border-radius-medium);
  width: 100%;
  height: 100%;

  moz-input-search {
    display: block;
  }

  .sidebar-panel-scrollable-content {
    overflow: hidden auto;
    flex: 1;
    min-height: 0;
    padding: var(--space-xsmall);
  }
}

fxview-empty-state {
  &::part(container) {
    margin-block-start: var(--space-medium);
    padding-block: 83px;
    padding-inline: var(--space-medium);
    background-color: var(--sidebar-box-background);
    color: var(--sidebar-box-color);
    border: var(--sidebar-box-border);
    border-radius: var(--border-radius-medium);
  }

  &::part(header) {
    font-size: var(--font-size-large);
  }

  &::part(image-container) {
    min-width: auto;
    width: 100%;
    max-width: 250px;
  }

  &.synced-tabs {
    &::part(container) {
      margin-block-start: 0;
    }

    /* these illustrations need a larger width otherwise they look too small */
    &::part(image-container) {
      min-width: auto;
      width: 100%;
      max-width: 350px;
    }
  }
}

moz-input-search {
  width: 100%;
}

#permissions-indicator {
  margin-inline: var(--space-xsmall);

  .identity-box-button,
  #notification-popup-box {
    fill: currentColor;
    fill-opacity: var(--urlbar-icon-fill-opacity);
    border-radius: var(--border-radius-small);

    &:hover:active,
    &[open] {
      background-color: var(--button-background-color-ghost-hover);
      color: var(--button-text-color-ghost-hover);
    }
  }

  .identity-box-button,
  .notification-anchor-icon {
    padding: var(--space-small);
  }

  .identity-box-button {
    display: none;

    &.showing {
      display: flex;
    }

    #permission-sharing {
      .sharing-icon {
        margin-inline-start: 0;
      }
    }
  }

  .blocked-permission-icon {
    margin-inline-start: 0;
  }

  .blocked-permission-icon:not([showing]) {
    display: none;
  }

  #notification-popup-box {
    width: 0;
    height: 0;
    overflow: hidden;

    .notification-anchor-icon {
      display: none;
    }

    &.showing {
      width: 32px;
      height: 32px;
      overflow: visible;
    }
    .notification-anchor-icon {
      display: block;
    }
  }
}
