@use '../globals' as *;

// =============================================================================
// Multilingual Press Zone - Modal Component
// =============================================================================
// Modal dialog styles
// =============================================================================

$background-white: #ffffff !default;
$border-color: #c3c4c7 !default;
$border-radius-lg: 8px !default;
$text-primary: #1e1e1e !default;
$text-secondary: #757575 !default;

// Dark mode colors
$dark-surface: #2c2c2c !default;
$dark-text: #e4e4e4 !default;
$dark-border: #3c3c3c !default;

.multilingual-modal {
  &__overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;

    &.is-visible {
      opacity: 1;
      visibility: visible;
    }
  }

  &__container {
    background: $background-white;
    border-radius: $border-radius-lg;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    transform: scale(0.95) translateY(20px);
    transition: transform 0.3s ease;

    .multilingual-modal__overlay.is-visible & {
      transform: scale(1) translateY(0);
    }
  }

  &__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid $border-color;
  }

  &__title {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: $text-primary;
  }

  &__close {
    background: none;
    border: none;
    padding: 6px;
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.15s;
    font-size: 20px;
    line-height: 1;

    &:hover {
      opacity: 1;
    }
  }

  &__body {
    padding: 24px;
    max-height: calc(90vh - 150px);
    overflow-y: auto;
  }

  &__footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    padding: 16px 24px;
    border-top: 1px solid $border-color;
  }
}

// Dark mode support
@media (prefers-color-scheme: dark) {
  .multilingual-modal {
    &__container {
      background: $dark-surface;
      box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
    }

    &__header,
    &__footer {
      border-color: $dark-border;
    }

    &__title {
      color: $dark-text;
    }
  }
}

body.admin-color-midnight,
body.admin-color-ectoplasm {
  .multilingual-modal {
    &__container {
      background: $dark-surface;
    }

    &__header,
    &__footer {
      border-color: $dark-border;
    }

    &__title {
      color: $dark-text;
    }
  }
}
