/* Art Antalya responsive shell — v2.0.4
 * Loaded after the v2.0.3 production bundle.
 */

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

html {
  scroll-padding-top: calc(var(--header-height) + 18px);
}

:where(section, article, header, footer, main, nav, div) {
  min-width: 0;
}

.unified-site-header,
.top-info-bar {
  transition:
    top 220ms ease,
    transform 220ms ease,
    box-shadow 220ms ease;
}

@media (min-width: 901px) {
  .unified-site-header {
    position: fixed;
    top: var(--ribbon-height);
  }

  html.site-header-scrolled .top-info-bar {
    pointer-events: none;
    transform: translateY(-100%);
  }

  html.site-header-scrolled .unified-site-header {
    top: 0;
    box-shadow: 0 12px 34px rgba(12, 31, 48, 0.14);
  }

  .unified-primary-nav a {
    font-size: clamp(14px, 0.92vw, 16px);
  }
}

/* The production dock is intentionally rendered inside the header. A
 * backdrop-filtered ancestor becomes the containing block for fixed children,
 * which anchored the dock to the header instead of the viewport. Removing the
 * filter on mobile restores viewport positioning for the dock and menu panel.
 */
@media (max-width: 900px) {
  :root {
    --mobile-dock-height: 84px;
  }

  html {
    scroll-padding-top: calc(var(--header-height) + 14px);
  }

  body {
    padding-bottom: calc(
      var(
        --mobile-dock-measured,
        calc(var(--mobile-dock-height) + env(safe-area-inset-bottom))
      ) +
      12px
    ) !important;
  }

  .unified-site-header {
    position: fixed !important;
    top: var(--ribbon-height);
    max-width: 100%;
    overflow: visible !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    filter: none !important;
    perspective: none !important;
    contain: none !important;
    transform: none !important;
    background: rgba(255, 255, 255, 0.985);
  }

  html.site-header-scrolled .top-info-bar {
    pointer-events: none;
    transform: translateY(-100%);
  }

  html.site-header-scrolled .unified-site-header {
    top: 0;
    box-shadow: 0 10px 28px rgba(11, 34, 54, 0.16);
  }

  html.site-header-scrolled .mobile-menu-panel,
  html.site-header-scrolled .mobile-menu-backdrop {
    top: var(--header-height);
  }

  .top-info-bar {
    max-width: 100%;
    overflow: hidden;
  }

  .info-address,
  .info-address strong {
    min-width: 0;
    max-width: 100%;
  }

  .info-address strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .unified-site-header .brand-logo {
    width: clamp(142px, 42vw, 170px);
    min-height: 64px;
  }

  .mobile-menu-toggle {
    min-width: 72px;
    min-height: 56px;
  }

  .mobile-menu-panel > a {
    min-height: 56px;
  }

  .mobile-booking-dock {
    position: fixed !important;
    z-index: 999 !important;
    inset: auto 0 0 !important;
    width: auto !important;
    max-width: none !important;
    height: calc(var(--mobile-dock-height) + env(safe-area-inset-bottom)) !important;
    margin: 0 !important;
    padding: 8px 8px calc(8px + env(safe-area-inset-bottom)) !important;
    border: 0 !important;
    border-top: 1px solid rgba(20, 59, 91, 0.16) !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: 0 -14px 36px rgba(9, 31, 49, 0.18) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  .mobile-booking-dock .nav-masterclass-button,
  .mobile-booking-dock .nav-trial-button,
  .mobile-booking-dock .mobile-dock-icon {
    min-width: 0;
    min-height: 46px;
    border-radius: 13px;
  }

  .mobile-booking-dock .nav-masterclass-button,
  .mobile-booking-dock .nav-trial-button {
    padding: 7px 10px;
    font-size: 10px;
    line-height: 1.15;
  }

  .mobile-booking-dock .nav-trial-button span {
    font-size: 10px;
  }

  .mobile-booking-dock .nav-trial-button small {
    margin-top: 3px;
    font-size: 6.5px;
    letter-spacing: 0.08em;
  }

  .mobile-dock-icon {
    display: grid;
    width: 46px;
    height: 58px;
    place-items: center;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.24),
      0 7px 15px rgba(10, 34, 52, 0.13);
  }

  .mobile-dock-icon svg {
    display: block;
    width: 23px;
    height: 23px;
    overflow: visible;
  }

  .mobile-dock-icon.dock-max svg,
  .mobile-dock-icon.dock-phone svg {
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.85 !important;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .mobile-dock-icon.dock-max svg {
    stroke-width: 1.65 !important;
  }

  .mobile-dock-icon.dock-telegram svg {
    fill: currentColor !important;
    stroke: none !important;
  }

  .mobile-dock-icon.dock-max {
    background: linear-gradient(145deg, #6f42e8, #a638e5) !important;
  }

  .mobile-dock-icon.dock-phone {
    background: linear-gradient(145deg, #174f7f, #2477ad) !important;
  }

  .mobile-dock-icon.dock-telegram {
    background: linear-gradient(145deg, #188ac0, #2aa8df) !important;
  }

  body:has(.mobile-menu.is-open) .mobile-booking-dock,
  body.mobile-keyboard-open .mobile-booking-dock,
  body.lightbox-open .mobile-booking-dock,
  body:has(.masterclass-modal-backdrop) .mobile-booking-dock,
  body:has(.admin-shell) .mobile-booking-dock {
    opacity: 0;
    pointer-events: none;
  }

  .trial-lesson-modal,
  .masterclass-modal {
    width: min(760px, calc(100% - 24px));
    max-height: calc(100dvh - 24px);
    overflow: auto;
    overscroll-behavior: contain;
  }

  .hero-center {
    right: 14px;
    left: 14px;
    width: auto;
    transform: none;
  }

  .hero-center h1 {
    max-width: 100%;
    overflow-wrap: normal;
    font-size: clamp(42px, 13vw, 72px);
  }

  img,
  video,
  canvas,
  iframe {
    max-width: 100%;
  }
}

@media (min-width: 441px) and (max-width: 900px) {
  .mobile-booking-dock {
    grid-template-columns:
      minmax(98px, 0.9fr)
      minmax(124px, 1.12fr)
      repeat(3, 46px) !important;
    align-items: center;
    gap: 6px !important;
  }
}

@media (max-width: 440px) {
  :root {
    --mobile-dock-height: 116px;
  }

  .mobile-booking-dock {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    grid-template-rows: 51px 43px;
    gap: 5px !important;
    padding: 6px 7px calc(6px + env(safe-area-inset-bottom)) !important;
  }

  .mobile-booking-dock .nav-masterclass-button {
    grid-column: 1 / 4;
    grid-row: 1;
  }

  .mobile-booking-dock .nav-trial-button {
    grid-column: 4 / 7;
    grid-row: 1;
  }

  .mobile-booking-dock .mobile-dock-icon {
    width: 100%;
    height: 43px;
    min-height: 43px;
  }

  .mobile-booking-dock .dock-max {
    grid-column: 1 / 3;
    grid-row: 2;
  }

  .mobile-booking-dock .dock-phone {
    grid-column: 3 / 5;
    grid-row: 2;
  }

  .mobile-booking-dock .dock-telegram {
    grid-column: 5 / 7;
    grid-row: 2;
  }

  .mobile-booking-dock .nav-masterclass-button,
  .mobile-booking-dock .nav-trial-button {
    min-height: 51px;
    font-size: 10.5px;
  }

  .mobile-booking-dock .nav-trial-button span {
    font-size: 10.5px;
  }

  .mobile-booking-dock .nav-trial-button small {
    font-size: 6.5px;
  }

  .unified-site-header {
    padding-inline: 9px;
  }

  .unified-site-header .brand-logo {
    width: clamp(132px, 45vw, 152px);
  }

  .mobile-menu-toggle {
    width: 68px;
  }
}

@media (max-width: 340px) {
  .mobile-booking-dock {
    padding-inline: 5px !important;
  }

  .unified-site-header .brand-logo {
    width: 128px;
  }

  .mobile-menu-toggle {
    width: 62px;
    min-width: 62px;
    padding-inline: 7px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .unified-site-header,
  .top-info-bar,
  .mobile-booking-dock {
    transition: none !important;
  }
}
