/**
 * MagicMove Calculator — frontend styles
 *
 * Add your rules below for .mmov-pricing__* and .mmov-calc* classes.
 */

 .mmov-pricing {
    box-sizing: border-box;
    font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 26px !important;
    color: rgba(255, 255, 255, 0.88) !important;
    background-color: #202020 !important;
    background: #202020 !important;
    padding: clamp(24px, 5vw, 48px) !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .mmov-pricing *,
  .mmov-pricing *::before,
  .mmov-pricing *::after {
    box-sizing: border-box;
  }

  .mmov-pricing p,
  .mmov-pricing li,
  .mmov-pricing span {
    font-family: inherit !important;
  }

  .mmov-pricing__inner {
    max-width: 1200px;
    margin: 0 auto;
  }

  .mmov-pricing__title {
    font-size: clamp(22px, 3vw, 28px) !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em;
    margin: 0 0 8px !important;
    color: #ffffff !important;
    line-height: 1.25 !important;
  }

  .mmov-pricing__lead {
    font-size: 15px !important;
    line-height: 22px !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.78) !important;
    margin: 0 0 28px !important;
    max-width: 52ch;
  }

  .mmov-pricing__accent-strong {
    color: #f3c166 !important;
    font-weight: 600 !important;
  }

  /* Внешняя обёртка — НЕ клипает бейдж (видим сверху) */
  .mmov-pricing__scroll {
    max-width: 100% !important;
    overflow: visible !important;
    border-radius: 14px;
  }

  /* Внутренняя обёртка — отвечает за горизонтальный скролл/рамку/фон */
  .mmov-pricing__scroll-inner {
    overflow-x: visible !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
    border-radius: 14px;
    border: none;
    background: transparent;
    box-shadow: none;
  }

  /* Узкие экраны по умолчанию: без min-width у таблицы — нет горизонтального скролла */
  .mmov-pricing__table {
    width: 100% !important;
    max-width: 100% !important;
    border: none !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-family: inherit !important;
    display: block !important;
    table-layout: auto !important;
  }

  /* Мобильный: шапка таблицы только для скринридеров (не display:none) */
  .mmov-pricing__thead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .mmov-pricing__tbody {
    display: block !important;
    width: 100% !important;
  }

  .mmov-pricing__tbody .mmov-pricing__tr {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 14px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, #262626 0%, #1c1c1c 100%) !important;
    box-shadow:
      0 0 0 1px rgba(0, 0, 0, 0.2) inset,
      0 12px 32px -18px rgba(0, 0, 0, 0.63) !important;
    overflow: hidden !important;
  }

  .mmov-pricing__tbody .mmov-pricing__tr:last-child {
    margin-bottom: 0 !important;
  }

  .mmov-pricing__tbody .mmov-pricing__th--row {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    text-align: left !important;
    padding: 14px 16px 12px !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    background-color: #2e2e2e !important;
    background: #2e2e2e !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    position: static !important;
    left: auto !important;
    z-index: auto !important;
    box-shadow: none !important;
  }

  .mmov-pricing__tbody .mmov-pricing__td {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    text-align: right !important;
    padding: 11px 16px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    background-color: #2a2a2a !important;
    background: #2a2a2a !important;
    position: static !important;
    box-shadow: none !important;
  }

  .mmov-pricing__tbody .mmov-pricing__td::before {
    content: attr(data-label) !important;
    text-align: left !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 20px !important;
    color: rgba(255, 255, 255, 0.78) !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding-right: 8px !important;
  }

  .mmov-pricing__tbody .mmov-pricing__td.mmov-pricing__cell--featured::before {
    color: #f3c166 !important;
    font-weight: 600 !important;
  }

  .mmov-pricing__tbody .mmov-pricing__td:last-child {
    border-bottom: none !important;
  }

  .mmov-pricing__tbody .mmov-pricing__tr:hover .mmov-pricing__td:not(.mmov-pricing__cell--featured):not(.mmov-pricing__cell--popular) {
    background-color: #323232 !important;
    background: #323232 !important;
  }

  .mmov-pricing__tbody .mmov-pricing__tr:hover .mmov-pricing__th--row {
    background-color: #323232 !important;
    background: #323232 !important;
  }

  /* Десктоп: классическая таблица + горизонтальный скролл при необходимости */
  @media screen and (min-width: 769px) {
    .mmov-pricing__scroll {
      overflow: visible !important;
      position: relative !important;
    }

    .mmov-pricing__scroll-inner {
      overflow-x: auto !important;
      overflow-y: hidden !important; /* убирает вертикальный скролл */
      border: 1px solid rgba(255, 255, 255, 0.1) !important;
      background: linear-gradient(180deg, #262626 0%, #1c1c1c 100%) !important;
      box-shadow:
        0 0 0 1px rgba(0, 0, 0, 0.25) inset,
        0 24px 48px -24px rgba(0, 0, 0, 0.65) !important;
    }

    /* POPULAR над таблицей (по центру колонки Full Protection) */
    .mmov-pricing__popular-badge {
      position: absolute !important;
      top: -30px !important;
      /* starts at: apt 18% + economy 19% + standard 19% = 56% */
      left: 55.97% !important;
      width: 22% !important; /* во всю ширину колонки Full Protection */
      transform: none !important;
      z-index: 6 !important;
      pointer-events: none !important;
      font-size: 11px !important;
      font-weight: 700 !important;
      letter-spacing: 0.12em !important;
      text-transform: uppercase !important;
      padding: 6px 12px !important;
      /* скругление только сверху и справа */
      border-radius: 10px 10px 0px 0 !important;
      background: #f3c166 !important;
      color: #202020 !important;
      text-align: center !important;
      border: 2px solid #f3c166 !important;
      box-shadow: none !important;
    }

    .mmov-pricing__table {
      display: table !important;
      min-width: 720px !important;
      table-layout: fixed !important;
    }

    /* Реально делаем Popular шире остальных (колонка Full Protection) */
    .mmov-pricing__col--apt {
      width: 18% !important;
    }
    .mmov-pricing__col--economy {
      width: 19% !important;
    }
    .mmov-pricing__col--standard {
      width: 19% !important;
    }
    .mmov-pricing__col--popular {
      width: 22% !important;
    }
    .mmov-pricing__col--premium {
      width: 22% !important;
    }

    .mmov-pricing__thead {
      display: table-header-group !important;
      position: static !important;
      width: auto !important;
      height: auto !important;
      margin: 0 !important;
      padding: 0 !important;
      overflow: visible !important;
      clip: auto !important;
      clip-path: none !important;
      white-space: normal !important;
      border: none !important;
    }

    .mmov-pricing__tbody {
      display: table-row-group !important;
      width: auto !important;
    }

    .mmov-pricing__tbody .mmov-pricing__tr {
      display: table-row !important;
      width: auto !important;
      max-width: none !important;
      margin-bottom: 0 !important;
      border: none !important;
      border-radius: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      overflow: visible !important;
    }

    .mmov-pricing__tbody .mmov-pricing__th--row {
      display: table-cell !important;
      width: auto !important;
      max-width: none !important;
      padding: 14px 16px !important;
      font-weight: 400 !important;
      vertical-align: top !important;
      position: sticky !important;
      left: 0 !important;
      z-index: 2 !important;
      background-color: #2a2a2a !important;
      background: #2a2a2a !important;
      box-shadow: 8px 0 12px -8px rgba(0, 0, 0, 0.5) !important;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    }

    .mmov-pricing__tbody .mmov-pricing__th--row .mmov-pricing__apt-title {
      font-size: 18px !important;
    }

    .mmov-pricing__tbody .mmov-pricing__th--row .mmov-pricing__apt-meta {
      font-size: 13px !important;
      line-height: 18px !important;
    }

    .mmov-pricing__tbody .mmov-pricing__td {
      display: table-cell !important;
      width: auto !important;
      max-width: none !important;
      text-align: center !important;
      padding: 14px 16px !important;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    }

    .mmov-pricing__tbody .mmov-pricing__td::before {
      content: none !important;
      display: none !important;
    }

    .mmov-pricing__tbody .mmov-pricing__tr:last-child .mmov-pricing__td:last-child {
      border-radius: 0 0 14px 0 !important;
    }

    .mmov-pricing__tbody .mmov-pricing__tr:last-child .mmov-pricing__th--row {
      border-radius: 0 0 0 14px !important;
    }

    .mmov-pricing__thead .mmov-pricing__th:first-child {
      text-align: left !important;
      font-weight: 600 !important;
      color: #ffffff !important;
      position: sticky !important;
      left: 0 !important;
      z-index: 3 !important;
      background-color: #2a2a2a !important;
      background: #2a2a2a !important;
      box-shadow: 8px 0 12px -8px rgba(0, 0, 0, 0.5) !important;
      border-radius: 14px 0 0 0 !important;
    }

    .mmov-pricing__thead .mmov-pricing__th:last-child {
      border-radius: 0 14px 0 0 !important;
    }
  }

  .mmov-pricing__th,
  .mmov-pricing__td {
    padding: 14px 16px !important;
    text-align: center;
    vertical-align: middle !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  }

  .mmov-pricing__thead .mmov-pricing__th {
    font-weight: 500 !important;
    color: #ffffff !important;
    background-color: #2e2e2e !important;
    background: #2e2e2e !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    white-space: nowrap;
    /* чуть выше шапка колонок */
    padding-top: 18px !important;
    padding-bottom: 18px !important;
    height: 62px !important;
  }

  .mmov-pricing__tbody .mmov-pricing__td {
    background-color: #2a2a2a !important;
    background: #2a2a2a !important;
    color: rgba(255, 255, 255, 0.82) !important;
    font-weight: 400 !important;
    font-size: 18px !important;
    line-height: 26px !important;
  }

  .mmov-pricing__apt-title {
    display: block !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #ffffff !important;
    font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  }

  .mmov-pricing__apt-meta {
    display: block !important;
    margin-top: 4px !important;
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 300 !important;
    color: rgba(255, 255, 255, 0.48) !important;
    letter-spacing: 0.02em !important;
    font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  }

  .mmov-pricing__tbody .mmov-pricing__tr:last-child .mmov-pricing__td {
    border-bottom: none;
  }

  .mmov-pricing__tbody .mmov-pricing__tr:last-child .mmov-pricing__th--row {
    border-radius: 0 0 0 14px;
  }

  .mmov-pricing__tbody .mmov-pricing__tr:last-child .mmov-pricing__td:last-child {
    border-radius: 0 0 14px 0;
  }

  /* Общие признаки колонки (специфичность фона задаётся ниже — иначе tbody td перебивает) */
  .mmov-pricing__cell--featured {
    position: relative;
    color: #ffffff !important;
    font-weight: 600 !important;
  }

  /* Шапка Premium Package — заметная заливка */
  .mmov-pricing__thead .mmov-pricing__th.mmov-pricing__cell--featured {
    background-color: rgba(243, 193, 102, 0.2) !important;
    background-image: linear-gradient(
      180deg,
      rgba(243, 193, 102, 0.42) 0%,
      rgba(243, 193, 102, 0.22) 50%,
      rgba(243, 193, 102, 0.16) 100%
    ) !important;
    background-blend-mode: normal !important;
    box-shadow:
      inset 0 2px 0 rgba(243, 193, 102, 0.65),
      inset 1px 0 0 rgba(243, 193, 102, 0.85),
      inset -1px 0 0 rgba(243, 193, 102, 0.85),
      0 0 36px -6px rgba(243, 193, 102, 0.45) !important;
  }

  /* Тело таблицы: специфичность выше чем у .mmov-pricing__tbody .mmov-pricing__td — колонка снова «залита» */
  .mmov-pricing__tbody .mmov-pricing__td.mmov-pricing__cell--featured {
    background-color: rgba(243, 193, 102, 0.14) !important;
    background-image: linear-gradient(
      180deg,
      rgba(243, 193, 102, 0.34) 0%,
      rgba(243, 193, 102, 0.22) 35%,
      rgba(243, 193, 102, 0.15) 100%
    ) !important;
    background-blend-mode: normal !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    box-shadow:
      inset 2px 0 0 rgba(243, 193, 102, 0.9),
      inset -2px 0 0 rgba(243, 193, 102, 0.9) !important;
  }

  .mmov-pricing__featured-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600 !important;
    color: #ffffff !important;
  }

  .mmov-pricing__badge {
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #202020 !important;
    background-color: #f3c166 !important;
    background: #f3c166 !important;
    padding: 3px 8px !important;
    border-radius: 999px;
    line-height: 1.2 !important;
  }

  /* Мобильные лейблы внутри ячейки (на ПК скрыты) */
  @media screen and (min-width: 769px) {
    .mmov-pricing__m-label {
      display: none !important;
    }
  }

  .mmov-pricing__tbody .mmov-pricing__tr:hover .mmov-pricing__td.mmov-pricing__cell--featured {
    background-color: rgba(243, 193, 102, 0.18) !important;
    background-image: linear-gradient(
      180deg,
      rgba(243, 193, 102, 0.4) 0%,
      rgba(243, 193, 102, 0.26) 45%,
      rgba(243, 193, 102, 0.18) 100%
    ) !important;
    box-shadow:
      inset 2px 0 0 rgba(243, 193, 102, 1),
      inset -2px 0 0 rgba(243, 193, 102, 1) !important;
  }

  /* Popular (Full Protection): рамка/обводка вместо жёлтой заливки */
  .mmov-pricing__cell--popular {
    position: relative;
    color: #ffffff !important;
    font-weight: 600 !important;
  }

  /* Desktop: Popular — оформление колонки */
  @media screen and (min-width: 769px) {
    /* ОДИНАКОВАЯ рамка (цвет/толщина) для шапки и цен: только border, без box-shadow */
    .mmov-pricing__thead .mmov-pricing__th.mmov-pricing__cell--popular,
    .mmov-pricing__tbody .mmov-pricing__td.mmov-pricing__cell--popular {
      border-left: 2px solid #f3c166 !important;
      border-right: 2px solid #f3c166 !important;
    }

    .mmov-pricing__thead .mmov-pricing__th.mmov-pricing__cell--popular {
      position: relative !important;
      padding-right: 16px !important;
      border-top: 2px solid #f3c166 !important;
      text-align: center !important;
      overflow: visible !important;
      box-shadow: none !important;
    }

    /* низ рамки под последней ценой */
    .mmov-pricing__tbody .mmov-pricing__tr:last-child .mmov-pricing__td.mmov-pricing__cell--popular {
      border-bottom: 2px solid #f3c166 !important;
    }

    /* Premium Package: одинаковая рамка у шапки и низа */
    .mmov-pricing__thead .mmov-pricing__th.mmov-pricing__cell--featured,
    .mmov-pricing__tbody .mmov-pricing__td.mmov-pricing__cell--featured {
      border-right: 2px solid #f3c166 !important;
      border-left: none !important;
      box-shadow: none !important; /* убираем inset-линии, чтобы толщина была одинаковой */
    }

    .mmov-pricing__thead .mmov-pricing__th.mmov-pricing__cell--featured {
      border-top: 2px solid #f3c166 !important;
      box-shadow: none !important;
    }

    .mmov-pricing__tbody .mmov-pricing__tr:last-child .mmov-pricing__td.mmov-pricing__cell--featured {
      border-bottom: 2px solid #f3c166 !important;
    }

    /* hover у Premium без дополнительных линий */
    .mmov-pricing__tbody .mmov-pricing__tr:hover .mmov-pricing__td.mmov-pricing__cell--featured {
      box-shadow: none !important;
    }

    /* Центрируем заголовок со ⭐ в одном блоке */
    .mmov-pricing__thead .mmov-pricing__th.mmov-pricing__cell--popular .mmov-pricing__featured-label {
      width: 100% !important;
      justify-content: center !important;
      position: relative !important;
    }

    .mmov-pricing__thead .mmov-pricing__th.mmov-pricing__cell--popular .mmov-pricing__star {
      font-size: 14px !important;
      line-height: 1 !important;
      color: rgba(243, 193, 102, 1) !important;
      text-shadow: 0 8px 18px rgba(0, 0, 0, 0.55) !important;
    }

    /* Бейдж теперь над таблицей отдельным элементом */
    .mmov-pricing__thead .mmov-pricing__th.mmov-pricing__cell--popular .mmov-pricing__badge {
      display: none !important;
    }

    /* scale не используем — ширина задаётся через colgroup */
    .mmov-pricing__thead .mmov-pricing__th.mmov-pricing__cell--popular,
    .mmov-pricing__tbody .mmov-pricing__td.mmov-pricing__cell--popular {
      transform: none !important;
    }

    .mmov-pricing__tbody .mmov-pricing__td.mmov-pricing__cell--popular {
      /* убираем внутренние линии — чтобы рамка была 1-в-1 как у шапки */
      box-shadow: none !important;
    }

    .mmov-pricing__tbody .mmov-pricing__tr:hover .mmov-pricing__td.mmov-pricing__cell--popular {
      box-shadow: none !important;
    }
  }

  .mmov-pricing__footnote {
    margin: 20px 0 0 !important;
    font-size: 14px !important;
    line-height: 22px !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.8) !important;
  }

  .mmov-pricing__footnote strong {
    color: #f3c166 !important;
    font-weight: 600 !important;
  }

  .mmov-pricing__disclaimer {
    margin: 28px 0 0 !important;
    padding: 2px 0 2px 16px !important;
    text-align: left !important;
    border-left: 3px solid #f3c166 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 22px !important;
    color: rgba(255, 255, 255, 0.8) !important;
  }

  .mmov-pricing__note-label {
    display: block;
    margin: 0 0 8px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #f3c166 !important;
    line-height: 1.2 !important;
  }

  .mmov-pricing__note-intro {
    margin: 0 0 10px !important;
    color: rgba(255, 255, 255, 0.88) !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    line-height: 22px !important;
    max-width: 72ch;
  }

  .mmov-pricing__note-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px 40px;
    margin: 0 0 10px;
  }

  @media (min-width: 720px) {
    .mmov-pricing__note-grid {
      grid-template-columns: 1fr 1fr;
    }
  }

  .mmov-pricing__note-col-title {
    margin: 0 0 4px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 18px !important;
    color: rgba(255, 255, 255, 0.82) !important;
  }

  .mmov-pricing__note-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .mmov-pricing__note-list li {
    position: relative;
    padding-left: 0.85em;
    margin-bottom: 2px;
    color: rgba(255, 255, 255, 0.8) !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    line-height: 22px !important;
  }

  .mmov-pricing__note-list li:last-child {
    margin-bottom: 0;
  }

  .mmov-pricing__note-list li::before {
    content: "–";
    position: absolute;
    left: 0;
    color: #f3c166;
    opacity: 0.65;
  }

  .mmov-pricing__note-outro {
    margin: 0 0 6px !important;
    max-width: 72ch;
    color: rgba(255, 255, 255, 0.8) !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    line-height: 22px !important;
  }

  .mmov-pricing__note-outro:last-child {
    margin-bottom: 0 !important;
  }

  /* Узкий экран: чуть плотнее сноска (карточки таблицы — в базовых стилях выше) */
  @media screen and (max-width: 768px) {
    /* На мобилке убираем бейдж над таблицей */
    .mmov-pricing__popular-badge {
      display: none !important;
    }

    .mmov-pricing__footnote {
      font-size: 13px !important;
      line-height: 20px !important;
    }

    /* Premium на мобилке: без золотой рамки слева/справа */
    .mmov-pricing__tbody .mmov-pricing__td.mmov-pricing__cell--featured {
      border-left: none !important;
      border-right: none !important;
      box-shadow: none !important;
    }

    /* На мобилке: POPULAR идёт после текста "Full Protection" (обычный HTML, без псевдо-элементов) */
    .mmov-pricing__val {
      margin-left: auto !important;
    }

    .mmov-pricing__m-label {
      display: inline-flex !important;
      align-items: center !important;
      gap: 8px !important;
      font-size: 13px !important;
      font-weight: 600 !important;
      line-height: 20px !important;
      color: rgba(255, 255, 255, 0.78) !important;
      white-space: nowrap !important;
    }

    .mmov-pricing__m-badge {
      display: inline-flex !important;
      align-items: center !important;
      font-size: 10px !important;
      font-weight: 700 !important;
      letter-spacing: 0.12em !important;
      line-height: 1 !important;
      padding: 6px 10px !important;
      border-radius: 999px !important;
      background: #f3c166 !important;
      color: #202020 !important;
      border: 1px solid #f3c166 !important;
      white-space: nowrap !important;
    }

    .mmov-pricing__tbody .mmov-pricing__td.mmov-pricing__cell--popular {
      display: flex !important;
      align-items: center !important;
      gap: 10px !important;
    }

    /* выключаем псевдо-лейбл только для Full Protection */
    .mmov-pricing__tbody .mmov-pricing__td.mmov-pricing__cell--popular::before {
      content: none !important;
      display: none !important;
    }
  }

  .mmov-calc {
    box-sizing: border-box;
    font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 26px !important;
    color: rgba(255, 255, 255, 0.88) !important;
    background-color: transparent !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .mmov-calc *,
  .mmov-calc *::before,
  .mmov-calc *::after {
    box-sizing: border-box;
  }

  .mmov-calc p,
  .mmov-calc li,
  .mmov-calc span,
  .mmov-calc label {
    font-family: inherit !important;
  }

  .mmov-calc__inner {
    max-width: 1200px;
    margin: 0;
    padding: 0;
  }

  .mmov-calc__form {
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
    margin: 0 !important;
  }

  .mmov-calc__field {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  .mmov-calc__label {
    display: block !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 22px !important;
    color: rgba(255, 255, 255, 0.92) !important;
    margin: 0 !important;
  }

  .mmov-calc__input,
  .mmov-calc__select-native {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    color: rgba(255, 255, 255, 0.92) !important;
    background-color: rgba(255, 255, 255, 0.07) !important;
    background-image: none !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 10px !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
  }

  .mmov-calc__input::placeholder {
    color: rgba(255, 255, 255, 0.38) !important;
  }

  .mmov-calc__input:focus,
  .mmov-calc__select-native:focus {
    background-color: rgba(255, 255, 255, 0.11) !important;
    border-color: #f3c166 !important;
    box-shadow: 0 0 0 1px rgba(243, 193, 102, 0.45) !important;
  }

  .mmov-calc__select-native {
    padding-right: 40px !important;
    background-color: rgba(255, 255, 255, 0.07) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23ffffff' fill-opacity='0.55' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    cursor: pointer !important;
  }

  .mmov-calc__select-native:focus {
    background-color: rgba(255, 255, 255, 0.11) !important;
  }

  .mmov-calc__input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(0.85) opacity(0.75);
    cursor: pointer;
  }

  /* Keep date field visually empty until a date is chosen (Safari/Chrome). */
  .mmov-calc__input[type="date"].mmov-date--empty::-webkit-datetime-edit {
    color: transparent !important;
  }

  .mmov-calc__input[type="date"].mmov-date--empty::-webkit-datetime-edit-text,
  .mmov-calc__input[type="date"].mmov-date--empty::-webkit-datetime-edit-month-field,
  .mmov-calc__input[type="date"].mmov-date--empty::-webkit-datetime-edit-day-field,
  .mmov-calc__input[type="date"].mmov-date--empty::-webkit-datetime-edit-year-field {
    color: transparent !important;
  }

  .mmov-calc__input[type="date"].mmov-date--empty:focus::-webkit-datetime-edit,
  .mmov-calc__input[type="date"].mmov-date--empty:focus::-webkit-datetime-edit-text,
  .mmov-calc__input[type="date"].mmov-date--empty:focus::-webkit-datetime-edit-month-field,
  .mmov-calc__input[type="date"].mmov-date--empty:focus::-webkit-datetime-edit-day-field,
  .mmov-calc__input[type="date"].mmov-date--empty:focus::-webkit-datetime-edit-year-field {
    color: rgba(255, 255, 255, 0.92) !important;
  }

  .mmov-calc__row-2 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  @media screen and (min-width: 640px) {
    .mmov-calc__row-2 {
      grid-template-columns: 1fr 1fr !important;
    }
  }

  /* Custom package dropdown */
  .mmov-calc__dd {
    position: relative !important;
    width: 100% !important;
  }

  .mmov-calc__dd.is-disabled .mmov-calc__dd-trigger {
    opacity: 0.5 !important;
    pointer-events: none !important;
    cursor: not-allowed !important;
  }

  .mmov-calc__dd-trigger {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    text-align: left !important;
    color: rgba(255, 255, 255, 0.92) !important;
    background-color: rgba(255, 255, 255, 0.07) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    outline: none !important;
  }

  .mmov-calc__dd-trigger:hover:not(:disabled) {
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
  }

  .mmov-calc__dd-trigger:focus-visible {
    background-color: rgba(255, 255, 255, 0.11) !important;
    border-color: #f3c166 !important;
    box-shadow: 0 0 0 1px rgba(243, 193, 102, 0.45) !important;
  }

  .mmov-calc__dd-trigger[aria-expanded="true"] {
    background-color: rgba(255, 255, 255, 0.11) !important;
    border-color: #f3c166 !important;
  }

  .mmov-calc__dd-trigger-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
    min-width: 0 !important;
  }

  .mmov-calc__dd-trigger-hint {
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 18px !important;
    color: rgba(255, 255, 255, 0.45) !important;
  }

  .mmov-calc__dd-chevron {
    flex-shrink: 0 !important;
    width: 10px !important;
    height: 10px !important;
    border-right: 2px solid rgba(255, 255, 255, 0.45) !important;
    border-bottom: 2px solid rgba(255, 255, 255, 0.45) !important;
    transform: rotate(45deg) !important;
    margin-bottom: 4px !important;
    transition: transform 0.2s ease !important;
  }

  .mmov-calc__dd-trigger[aria-expanded="true"] .mmov-calc__dd-chevron {
    transform: rotate(225deg) !important;
    margin-bottom: -2px !important;
  }

  .mmov-calc__dd-list {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: calc(100% + 6px) !important;
    z-index: 20 !important;
    margin: 0 !important;
    padding: 8px !important;
    list-style: none !important;
    background-color: rgba(255, 255, 255, 0.08) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 40px -12px rgba(0, 0, 0, 0.65) !important;
    max-height: min(70vh, 320px) !important;
    overflow-y: auto !important;
  }

  .mmov-calc__dd-list[hidden] {
    display: none !important;
  }

  .mmov-calc__dd-option {
    margin: 0 !important;
    padding: 0 !important;
  }

  .mmov-calc__dd-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 12px !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 22px !important;
    text-align: left !important;
    color: rgba(255, 255, 255, 0.9) !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    outline: none !important;
  }

  .mmov-calc__dd-btn:hover,
  .mmov-calc__dd-btn:focus-visible {
    background: rgba(255, 255, 255, 0.06) !important;
  }

  .mmov-calc__dd-btn[aria-selected="true"] {
    background: rgba(243, 193, 102, 0.12) !important;
  }

  .mmov-calc__dd-option--popular .mmov-calc__dd-btn {
    border: 2px solid #f3c166 !important;
    padding: 11px 11px !important;
    background: transparent !important;
    background-image: none !important;
  }

  .mmov-calc__dd-option--popular .mmov-calc__dd-btn:hover,
  .mmov-calc__dd-option--popular .mmov-calc__dd-btn:focus-visible {
    background: rgba(255, 255, 255, 0.06) !important;
  }

  .mmov-calc__dd-option--popular .mmov-calc__dd-btn[aria-selected="true"] {
    background: transparent !important;
  }

  .mmov-calc__dd-option--premium .mmov-calc__dd-btn {
    background-color: rgba(243, 193, 102, 0.14) !important;
    background-image: linear-gradient(
      180deg,
      rgba(243, 193, 102, 0.34) 0%,
      rgba(243, 193, 102, 0.2) 45%,
      rgba(243, 193, 102, 0.12) 100%
    ) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    box-shadow: inset 0 0 0 1px rgba(243, 193, 102, 0.35) !important;
  }

  .mmov-calc__dd-option--premium .mmov-calc__dd-btn:hover,
  .mmov-calc__dd-option--premium .mmov-calc__dd-btn:focus-visible {
    background-image: linear-gradient(
      180deg,
      rgba(243, 193, 102, 0.42) 0%,
      rgba(243, 193, 102, 0.28) 50%,
      rgba(243, 193, 102, 0.16) 100%
    ) !important;
  }

  .mmov-calc__dd-name {
    display: inline-flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    min-width: 0 !important;
  }

  .mmov-calc__dd-star {
    font-size: 14px !important;
    line-height: 1 !important;
  }

  .mmov-calc__dd-badge {
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    padding: 4px 8px !important;
    border-radius: 999px !important;
    background: #f3c166 !important;
    color: #202020 !important;
    line-height: 1 !important;
  }

  .mmov-calc__dd-price {
    flex-shrink: 0 !important;
    font-weight: 600 !important;
    color: #f3c166 !important;
  }

  .mmov-calc__dd-option--premium .mmov-calc__dd-price {
    color: #ffffff !important;
  }

  .mmov-calc__actions {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    align-items: stretch !important;
  }

  .mmov-calc__form-msg {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 20px !important;
    padding: 12px 14px !important;
    border-radius: 10px !important;
    display: none !important;
  }

  .mmov-calc__form-msg.is-visible {
    display: block !important;
  }

  .mmov-calc__form-msg--error {
    color: rgba(255, 200, 200, 0.95) !important;
    background: rgba(180, 60, 60, 0.25) !important;
    border: 1px solid rgba(255, 120, 120, 0.35) !important;
  }

  .mmov-calc__form-msg--ok {
    color: rgba(255, 255, 255, 0.92) !important;
    background: rgba(243, 193, 102, 0.14) !important;
    border: 1px solid rgba(243, 193, 102, 0.4) !important;
  }

  .mmov-calc__submit {
    width: 100% !important;
    margin: 0 !important;
    padding: 16px 24px !important;
    font-family: inherit !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 24px !important;
    color: #202020 !important;
    background: #f3c166 !important;
    border: none !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    outline: none !important;
    transition: filter 0.15s ease, transform 0.1s ease !important;
  }

  @media screen and (min-width: 480px) {
    .mmov-calc__submit {
      width: auto !important;
      min-width: min(100%, 280px) !important;
      align-self: flex-start !important;
    }
  }

  .mmov-calc__submit:hover {
    filter: brightness(1.06) !important;
  }

  .mmov-calc__submit:active {
    transform: scale(0.99) !important;
  }

  .mmov-calc__submit:focus-visible {
    box-shadow: 0 0 0 3px rgba(243, 193, 102, 0.45) !important;
  }

  .mmov-calc__submit:disabled {
    opacity: 0.55 !important;
    cursor: not-allowed !important;
    transform: none !important;
  }

  /* Required field marker (shown next to labels) */
  .mmov-calc__required {
    color: #f3c166 !important;
    font-weight: 700 !important;
    margin-left: 2px !important;
  }