/* Final WordPress adaptations: desktop retains the approved composition. */
:root { --sc-visible-height:100dvh;--sc-visible-top:0px; }
.supercar-wordpress-ui #root,
.supercar-wordpress-ui main,
.supercar-wordpress-ui :is(.hero-inner,.fleet-grid,.rich-footer-grid,.contact-layout,.contact-panel,.service-detail-layout,.about-layout,.vd-hero)>* { min-width:0; }
.supercar-wordpress-ui :is(img,video,svg,iframe) { max-width:100%; }
.supercar-wordpress-ui :is(.pricing-table-wrap,.spc-route-results,.sc-popover,.supercar-cart-body) { overscroll-behavior:contain; }
.supercar-wordpress-ui :is(.pricing-table-wrap,.sc-time-list,.supercar-cart-body) { -webkit-overflow-scrolling:touch; }
html.site-menu-open { overflow:hidden;overscroll-behavior:none; }
html.site-menu-open body { overflow:hidden; }

@media (max-width:1279px) {
  :root { --sc-header-height:calc(90px + env(safe-area-inset-top,0px)); }
  main>.site-header .header-inner { height:70px;min-height:70px;margin:calc(10px + env(safe-area-inset-top,0px)) auto 10px;width:calc(100% - 32px);padding-inline:16px;gap:14px; }
  .site-header .desktop-nav { display:none!important; }
  .site-header .site-menu-toggle { display:flex!important;flex:0 0 44px;width:44px;height:44px;min-height:44px; }
  .site-header :is(.locale-trigger,.supercar-cart-button) { min-height:44px;height:44px; }
  .site-header .brand { flex:1 1 auto;min-width:0;justify-content:flex-start; }
  .header-navigation { flex:0 0 auto;min-width:0; }
  .site-header .header-actions { border-left:0;padding-left:0; }
  .site-mobile-menu { top:var(--sc-header-height);max-height:calc(var(--sc-visible-height) - var(--sc-header-height) - 16px);overscroll-behavior:contain; }
  .site-mobile-menu a { min-height:48px;box-sizing:border-box; }
}

@media (max-width:1023px) {
  main:not(.vehicle-detail-page)>.hero .booking-card:not(.is-expanded) :is(input:not(.sc-control-native),select:not(.sc-control-native),.sc-control) { font-size:16px!important; }
  main:not(.vehicle-detail-page)>.hero .booking-card:not(.is-expanded) .sc-control { height:50px!important;min-height:50px!important; }
  main:not(.vehicle-detail-page)>.hero .booking-card:not(.is-expanded) .booking-submit { min-height:52px; }
  .hero .booking-card.is-expanded {
    --booking-field-height:52px;
    inset:auto;
    top:calc(var(--sc-visible-top) + 8px);
    left:8px;right:8px;
    width:calc(100% - 16px);
    height:calc(var(--sc-visible-height) - 16px);
    max-height:calc(var(--sc-visible-height) - 16px);
    padding:calc(62px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) calc(22px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));
    border-radius:20px;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    scroll-padding-top:72px;
    scroll-padding-bottom:32px;
  }
  .hero .booking-card.is-expanded>.booking-fields { display:contents; }
  .hero .booking-card.is-expanded .booking-expanded-close { top:calc(var(--sc-visible-top) + 16px + env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px));min-width:44px;min-height:44px; }
  .hero .booking-card.is-expanded .booking-heading>div { font-size:clamp(24px,4vw,32px);line-height:1.25; }
  .hero .booking-card.is-expanded .booking-fields label>span { font-size:12px;line-height:1.5; }
  .hero .booking-card.is-expanded .booking-fields>.booking-identity-row { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1fr); }
  .hero .booking-card.is-expanded .booking-fields>.notes-field textarea { min-height:96px;font-size:16px;line-height:1.6; }
  .hero .booking-card.is-expanded .booking-route-preview { width:100%;margin:10px 0 0;padding:14px;grid-template-rows:auto clamp(220px,36svh,340px) auto auto auto;gap:14px; }
  .hero .booking-card.is-expanded .booking-map-frame,
  .hero .booking-card.is-expanded .booking-map-frame iframe { min-height:0;height:100%; }
  .hero .booking-card.is-expanded :is(.booking-submit,.booking-map-link) { height:auto;min-height:52px;max-height:none;line-height:1.45;padding:12px 16px; }
  .hero .booking-card.is-expanded .booking-submit { margin-top:8px; }
  .supercar-cart-drawer { top:calc(var(--sc-visible-top) + var(--sc-visible-height)/2);max-height:calc(var(--sc-visible-height) - 24px); }
  .locale-dialog,.supercar-deposit-dialog { max-height:calc(var(--sc-visible-height) - 24px);overscroll-behavior:contain; }
  .locale-backdrop,.supercar-deposit-backdrop { top:var(--sc-visible-top);bottom:auto;height:var(--sc-visible-height); }
  .visa-checkout-layout { grid-template-columns:minmax(0,1fr); }
  .visa-checkout-shell { max-width:760px; }
}

/* Narrow tablets use the same uncompressed photo/form sequence as phones. */
@media (min-width:900px) and (max-width:1023px) {
  main:not(.vehicle-detail-page)>.hero { padding-top:0; }
  main:not(.vehicle-detail-page)>.hero::before { height:calc(var(--sc-header-height) + 62vw);bottom:auto;background-position:left bottom; }
  main:not(.vehicle-detail-page)>.hero .hero-brand { top:calc(var(--sc-header-height) - 8px);left:2%;width:78%; }
  main:not(.vehicle-detail-page)>.hero .hero-inner { height:auto;min-height:0;width:min(600px,calc(100% - 32px))!important;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:0!important;padding:calc(var(--sc-header-height) + 62vw + 16px) 0 32px!important; }
  main:not(.vehicle-detail-page)>.hero .booking-card:not(.is-expanded) { grid-column:1;grid-row:auto;width:100%;max-width:600px;max-height:none;margin:0 auto;padding:24px;overflow:visible; }
}

@media (max-width:767px) {
  .supercar-wordpress-ui :is(.fleet-section,.services-section,.benefits-section,.process-section,.contact-section,.promotion-section) { scroll-margin-top:calc(var(--sc-header-height) + 12px); }
  .hero .booking-card.is-expanded .booking-fields>.booking-identity-row { grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px; }
  .hero .booking-card.is-expanded .booking-fields>.booking-identity-row>label:first-child { grid-column:1/-1; }
  .hero .booking-card.is-expanded .booking-fields :is(.field-grid,.booking-contact-row) { gap:14px 12px; }
  .hero .booking-card.is-expanded .booking-fields>.booking-contact-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero .booking-card.is-expanded .booking-route-preview .booking-route-metrics { padding:0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
  .hero .booking-card.is-expanded .booking-route-preview .booking-route-metrics>div { height:auto;min-height:84px;max-height:none;padding:14px; }
  .hero .booking-card.is-expanded .booking-route-preview .booking-route-metrics>.booking-fare-metric.spc-price-summary { grid-column:1/-1;padding:14px; }
  .hero .booking-card.is-expanded .booking-route-preview .booking-route-metrics>div>span { font-size:11px; }
  .hero .booking-card.is-expanded .booking-route-preview .booking-route-metrics>div>strong { font-size:20px;line-height:1.35; }
  .hero .booking-card.is-expanded .booking-route-preview .booking-payment-methods { padding:14px 10px; }
  .hero .booking-card.is-expanded .booking-route-preview .booking-payment-options { gap:8px; }
  .hero .booking-card.is-expanded .booking-route-preview .booking-payment-options>button { height:88px;min-height:88px;max-height:none;padding:8px 4px; }
  .hero .booking-card.is-expanded .booking-route-preview .booking-payment-options>button>strong { font-size:12px;line-height:1.4; }
  .hero .booking-card.is-expanded .booking-fields input:not(.sc-control-native),
  .hero .booking-card.is-expanded .booking-fields select:not(.sc-control-native),
  .hero .booking-card.is-expanded .booking-fields .sc-control { font-size:16px!important; }
  .booking-card:not(.is-expanded) :is(input:not(.sc-control-native),select:not(.sc-control-native),.sc-control) { font-size:16px!important; }
  .supercar-cart-drawer { width:calc(100% - 16px);max-width:calc(100% - 16px);max-height:calc(var(--sc-visible-height) - 16px);border-radius:20px; }
  .supercar-cart-head { padding:18px 16px;gap:12px; }
  .supercar-cart-head h2 { margin:0;font-size:24px; }
  .supercar-cart-close { width:44px;min-width:44px;height:44px; }
  .supercar-cart-body { padding:16px 14px calc(22px + env(safe-area-inset-bottom,0px)); }
  .supercar-order-tabs button { min-height:50px;min-width:0;font-size:12px; }
  .supercar-cart-item { padding:16px 14px; }
  .supercar-trip-details { grid-template-columns:minmax(0,1fr); }
  .supercar-trip-details>div { grid-template-columns:minmax(80px,.8fr) minmax(0,1.3fr);gap:12px; }
  .supercar-trip-details dd { font-size:14px; }
  .supercar-cart-remove { min-width:48px;min-height:44px; }
  .supercar-cart-fields input { min-height:52px;font-size:16px; }
  .supercar-cart-checkout { min-height:52px;height:auto;padding:14px;line-height:1.5; }
  .supercar-cart-summary>div { gap:12px;flex-wrap:wrap; }
  .order-status { white-space:normal;line-height:1.5; }
  .locale-dialog { width:calc(100% - 24px);border-radius:20px;padding:24px 18px; }
  .locale-choice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .locale-dialog .locale-choice { min-height:76px;min-width:0;padding:12px 10px;gap:9px; }
  .locale-dialog .locale-choice>span { min-width:0; }
  .locale-dialog .locale-choice :is(strong,small) { overflow-wrap:anywhere; }
  .locale-close { min-width:44px;min-height:44px; }
  .supercar-deposit-options { grid-template-columns:repeat(3,minmax(0,1fr));gap:8px; }
  .supercar-deposit-options button { min-height:64px;padding:12px 8px; }
  .pricing-table-wrap { max-width:100%;overflow-x:auto;touch-action:auto; }
  .pricing-category-row { flex-wrap:wrap;gap:8px; }
  .pricing-category-row>button { min-height:44px;font-size:12px;line-height:1.4; }
  .footer-social-links { flex-wrap:wrap; }
  .footer-social-links a { min-width:44px;min-height:44px; }
  .footer-arrow-links a { display:flex;align-items:center;min-height:40px;line-height:1.6; }
  .footer-company-details { overflow-wrap:anywhere; }
  .mobile-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));
    bottom:calc(10px + env(safe-area-inset-bottom,0px));
    padding:5px;gap:5px;border-radius:16px;
  }
  .mobile-actions a { min-height:48px;height:auto;padding:12px 8px;font-size:13px;line-height:1.5; }
  .contact-dock { bottom:calc(88px + env(safe-area-inset-bottom,0px));right:12px; }
  .dock-toggle { width:44px;height:44px; }
  .scroll-to-top { min-width:44px;min-height:44px;bottom:calc(88px + env(safe-area-inset-bottom,0px)); }
  .footer-bottom { padding-bottom:calc(100px + env(safe-area-inset-bottom,0px)); }
  html:has(.booking-card.is-expanded) :is(.mobile-actions,.contact-dock,.scroll-to-top),
  html.supercar-order-open :is(.mobile-actions,.contact-dock,.scroll-to-top),
  html.supercar-deposit-open :is(.mobile-actions,.contact-dock,.scroll-to-top),
  html.site-menu-open :is(.mobile-actions,.contact-dock,.scroll-to-top),
  html[data-sc-keyboard="open"] :is(.mobile-actions,.contact-dock,.scroll-to-top) { visibility:hidden;pointer-events:none; }
}

@media (max-width:599px) {
  :root { --sc-header-height:calc(80px + env(safe-area-inset-top,0px)); }
  main>.site-header .header-inner { width:calc(100% - 16px);height:64px;min-height:64px;margin:calc(8px + env(safe-area-inset-top,0px)) auto 8px;padding-inline:8px;gap:8px;border-radius:17px; }
  .site-header .brand { flex:1 1 auto;height:44px;padding:0; }
  .site-header .brand img { width:clamp(104px,34vw,142px);height:36px;max-width:100%; }
  .header-navigation { height:44px;gap:0;padding:0; }
  .site-header .header-actions { gap:6px; }
  .site-header .locale-trigger { height:44px;min-width:48px;padding:0 6px;gap:4px;border-radius:10px; }
  .site-header .locale-trigger strong { font-size:10px; }
  .site-header .locale-trigger img { width:20px;height:15px; }
  .site-header .supercar-cart-button { height:44px;min-height:44px;min-width:48px;padding:0 6px;gap:4px;border-radius:10px; }
  .site-header .supercar-cart-button svg { width:18px;height:18px; }
  .site-header .supercar-cart-label { display:none; }
  .site-header .supercar-cart-count { min-width:16px;height:17px;font-size:9px; }
  .site-header .site-menu-toggle { width:44px;height:44px;border-radius:10px; }
  .site-mobile-menu { right:8px;left:8px;width:auto;padding:10px; }
  main:not(.vehicle-detail-page)>.hero .hero-inner { width:calc(100% - 24px)!important; }
  main:not(.vehicle-detail-page)>.hero .booking-card:not(.is-expanded) { width:100%;padding:22px 16px;border-radius:20px;overflow:visible; }
  main:not(.vehicle-detail-page)>.hero .booking-card:not(.is-expanded) .field-grid { gap:14px 12px; }
  main:not(.vehicle-detail-page)>.hero .booking-card:not(.is-expanded) .booking-heading>div { font-size:27px;line-height:1.25; }
  .booking-card:not(.is-expanded) label>span { font-size:12px;line-height:1.45; }
  .booking-card:not(.is-expanded) .sc-control { height:50px!important;min-height:50px!important; }
  .booking-card:not(.is-expanded) .booking-submit { min-height:52px; }
  .hero .booking-card.is-expanded .booking-price-selectors,
  .hero .booking-card.is-expanded .booking-fields>.booking-contact-row { grid-template-columns:minmax(0,1fr); }
  .hero .booking-card.is-expanded .booking-fields .booking-route-fields { padding:12px; }
  .hero .booking-card.is-expanded .booking-fields .booking-route-fields input:not(.sc-control-native) { font-size:16px;height:40px!important;min-height:40px!important; }
  .hero .booking-card.is-expanded .booking-preview-heading h2 { padding-right:0;font-size:25px;line-height:1.3; }
  .hero .booking-card.is-expanded .booking-route-preview { padding:12px;grid-template-rows:auto clamp(210px,34svh,290px) auto auto auto; }
  .consultation-section--studio .studio-panorama { min-height:400px; }
  .consultation-section--studio .studio-intro { font-size:14px;line-height:1.8; }
  .consultation-section--studio .studio-ticket-help { font-size:13px;line-height:1.75; }
  .consultation-section--studio .consultation-form.promotion-form input:not([type=hidden]) { min-height:50px; }
  .consultation-section--studio .studio-support-description { font-size:14px;line-height:1.8; }
  .fleet-showcase .vehicle-image { height:clamp(220px,65vw,285px); }
  .fleet-showcase .vehicle-body { padding:22px 18px; }
  .fleet-showcase .vehicle-select { min-height:50px;font-size:14px; }
  :is(.services-heading h1,.about-hero h1,.vd-copy h1,.contact-heading h1,.news-index-hero h1,.news-hero-copy h1,.policy-heading h1) { font-size:clamp(29px,8vw,38px);overflow-wrap:anywhere; }
  :is(.service-detail-copy,.about-article,.news-article,.policy-article) { min-width:0;overflow-wrap:anywhere; }
  .service-detail-aside { position:static; }
  .service-card>div { padding:22px 18px; }
  .about-toc nav { grid-template-columns:minmax(0,1fr); }
  .about-toc a { display:block;min-height:40px;padding-block:8px;box-sizing:border-box; }
  .contact-form :is(input,textarea) { font-size:16px; }
  .contact-form input { min-height:50px; }
  .visa-checkout-shell { width:calc(100% - 28px); }
  .visa-journey-card,.visa-payment-card { padding:22px 18px;border-radius:18px;min-width:0; }
  .visa-payment-actions { display:grid;grid-template-columns:minmax(0,1fr);gap:12px; }
  .visa-payment-actions a { min-height:44px; }
  .sc-popover.is-sheet { width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px);max-height:calc(var(--sc-visible-height) - 20px); }
  .sc-calendar-day { height:44px;min-height:44px; }
  .sc-month-arrow,.sc-picker-close { min-width:44px;min-height:44px; }
  .sc-picker-confirm,.sc-calendar-today { min-height:48px; }
}

@media (max-width:359px) {
  .hero .booking-card.is-expanded .booking-fields>.field-grid:not(.booking-identity-row),
  .booking-card:not(.is-expanded) .field-grid { grid-template-columns:minmax(0,1fr); }
  .locale-choice-grid { grid-template-columns:minmax(0,1fr); }
  .hero .booking-card.is-expanded .booking-route-preview { padding:10px; }
  .hero .booking-card.is-expanded .booking-route-preview .booking-payment-options { gap:5px; }
  .hero .booking-card.is-expanded .booking-route-preview .booking-payment-options>button>strong { font-size:11px; }
  .supercar-order-tabs { gap:6px; }
  .supercar-order-tabs button { flex-wrap:wrap;gap:4px;padding:10px 5px; }
}

@media (pointer:coarse) {
  .supercar-wordpress-ui :is(.sc-control,.contact-form input,.contact-form textarea,.promotion-form input,.promotion-form textarea,.supercar-cart-fields input) { font-size:16px!important; }
  .supercar-wordpress-ui :is(.vehicle-select,.vd-book,.dock-toggle,.site-menu-toggle,.sc-option,.sc-time-option,.supercar-cart-close) { min-height:44px; }
}
@media (max-width:1023px) and (max-height:500px) {
  .hero .booking-card.is-expanded { padding-top:58px; }
  .hero .booking-card.is-expanded .booking-route-preview { grid-template-rows:auto 180px auto auto auto; }
  .site-mobile-menu { max-height:calc(var(--sc-visible-height) - var(--sc-header-height) - 10px); }
}
@media (prefers-reduced-motion:reduce) {
  .supercar-wordpress-ui :is(.site-header button,.site-mobile-menu,.supercar-cart-drawer,.vehicle-image img,.studio-cover) { transition:none!important; }
}
