/* SAS Global Service: final public-site responsive pass.
   Loaded after the existing design CSS; changes remain scoped to the storefront.
   Brand, photography, category ordering, and content remain CMS-managed. */

/* Keep long CMS-authored text and form content inside responsive grid tracks. */
.studio-site :is(.hero-copy, .hero-inner, .cta-inner, .cta-inner > div,
  .cta-actions, .footer-grid > div, .category-card-info, .product-info,
  .product-card-body, .aviation-service-body, .contact-grid > div,
  .detail-enquiry-layout > *, .aircraft-feature-copy, .aircraft-section-prose,
  .about-content, .approach-copy, .section-heading > div, .catalog-head-grid > div) {
  min-width: 0;
}
.studio-site :is(h1, h2, h3, p, .brand-name, .brand-subtitle, .footer-links a,
  .footer-contact a, .footer-category-links a, .catalog-chip, .product-facts dd) {
  overflow-wrap: anywhere;
}
.studio-site :is(.field input, .field select, .field textarea, .catalog-search input) {
  min-width: 0;
  max-width: 100%;
}
.studio-site :is(.aircraft-section-prose, .generic-paper, .product-specs) :is(img, video, iframe) {
  max-width: 100%;
  height: auto;
}
.studio-site :is(.aircraft-section-prose, .generic-paper, .product-specs) table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* CTA: two real actions next to each other, not overlapping the text. */
.studio-site .cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  max-width: 100%;
}
.studio-site .cta-actions .button {
  min-height: 48px;
  min-width: 0;
  padding: 12px 18px;
  align-self: center;
  white-space: normal;
  text-align: center;
  justify-content: center;
  gap: 12px;
}
.studio-site .cta-actions .cta-products-link {
  color: #fff;
  background: rgba(255, 255, 255, .045);
  border: 1px solid rgba(255, 255, 255, .72);
}
.studio-site .cta-actions .cta-products-link:hover,
.studio-site .cta-actions .cta-products-link:focus-visible {
  background: #fff;
  border-color: #fff;
  color: var(--deep);
}

/* Footer: actual visible categories, managed in Admin > Categories. */
.studio-site .footer-category-links {
  display: grid;
  gap: 7px;
  margin: 0 0 16px;
}
.studio-site .footer-category-links a {
  display: block;
  width: fit-content;
  max-width: 100%;
  padding: 3px 0;
  color: #b4c3d0;
  font-size: 12px;
  line-height: 1.65;
  transition: color .2s ease;
}
.studio-site .footer-category-links a:hover,
.studio-site .footer-category-links a:focus-visible,
.studio-site .footer-category-links a[aria-current="page"] {
  color: #f2cf8f;
}
.studio-site .footer-products-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  line-height: 1.5;
  max-width: 100%;
}
.studio-site .footer-products-link .icon {width: 14px;height: 14px;}

@media (max-width: 1350px) {
  /* Large navigation text remains, but no page element may force the header wider. */
  .site-header--cinematic .header-inner {min-width: 0;}
  .site-header--cinematic .site-brand {min-width: 0;}
  .site-header--cinematic .brand-copy {overflow-wrap: anywhere;}
  .studio-site .footer-grid {column-gap: clamp(20px, 2.5vw, 40px);}
}

@media (max-width: 1100px) {
  /* At tablet widths the text takes the available width; actions stay paired. */
  .studio-site .cta-inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
  .studio-site .cta-actions {justify-content: flex-start;}
  .studio-site .footer-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
  .studio-site .footer-grid > div {min-width: 0;}
  .studio-site .catalog-head-grid {gap: 25px;}
  .studio-site .catalog-heading-image {flex: 0 1 32%;max-width: 32%;}
}

@media (max-width: 900px) {
  .studio-site .product-detail-layout,
  .studio-site .aviation-service-detail,
  .studio-site .detail-enquiry-layout {grid-template-columns: minmax(0, 1fr);gap: 28px;}
  .studio-site .product-gallery {position: static;top: auto;}
  .studio-site .detail-enquiry-intro {position: static;}
  .studio-site .catalog-categories {min-width: 0;max-width: 100%;}
  .studio-site .catalog-search {max-width: 100%;}
  .studio-site .contact-map-intro {flex-wrap: wrap;}
  .studio-site .aircraft-feature-copy {overflow-wrap: anywhere;}
}

@media (max-width: 760px) {
  .studio-site .container {width: calc(100% - 36px);}
  .studio-site .section-heading {max-width: 100%;}
  .studio-site .section-heading .text-link {max-width: 100%;}
  .studio-site .hero-copy h1,
  .studio-site .hero-copy .hero-title,
  .studio-site .page-hero h1,
  .studio-site .catalog-heading h1 {
    overflow-wrap: anywhere;
    text-wrap: pretty;
  }
  .studio-site .hero-actions,
  .studio-site .cta-actions {max-width: 100%;}
  .studio-site .hero-actions .button {max-width: 100%;}
  .studio-site .cta-actions .button {min-height: 45px;}
  .studio-site .footer-grid {row-gap: 30px;}
  .studio-site .footer-category-links {gap: 8px;}
  .studio-site .about-grid,
  .studio-site .about-page-body .about-grid,
  .studio-site .contact-grid {grid-template-columns: minmax(0, 1fr);}
  .studio-site .form-cols {grid-template-columns: repeat(2, minmax(0, 1fr));}
  .studio-site .field input,
  .studio-site .field textarea,
  .studio-site .field select {width: 100%;}
  .studio-site .catalog-head-grid {gap: 0;}
  .studio-site .catalog-heading-image {display: none;}
  .studio-site .aviation-service-heading h1 {overflow-wrap: anywhere;}
  .studio-site .product-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
  .studio-site .product-card-body h3 {font-size: clamp(20px, 3.6vw, 27px);}
  .studio-site .partners-viewport {max-width: 100%;}
  .studio-site .contact-map-frame {max-width: 100%;}
}

@media (max-width: 640px) {
  .studio-site .footer-grid {grid-template-columns: minmax(0, 1fr);gap: 27px;}
  .studio-site .footer-brand-col,
  .studio-site .footer-contact {grid-column: auto;}
  .studio-site .footer-grid h3 {margin-bottom: 12px;}
  .studio-site .footer-category-links {grid-template-columns: minmax(0, 1fr);}
  .studio-site .form-cols {grid-template-columns: minmax(0, 1fr);}
  .studio-site .product-grid,
  .studio-site .aviation-service-grid {grid-template-columns: minmax(0, 1fr);}
  .studio-site .about-journey-layout {grid-template-columns: minmax(0, 1fr);}
  .studio-site .contact-map-intro {align-items: flex-start;}
  .studio-site .contact-map-intro .button {max-width: 100%;}
  .studio-site .catalog-categories {
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }
  .studio-site .catalog-chip {flex: 0 0 auto;max-width: min(85vw, 280px);}
  .studio-site .catalog-search {width: 100%;}
}

@media (max-width: 420px) {
  .studio-site .cta-actions {width: 100%;gap: 9px;}
  .studio-site .cta-actions .button {flex: 1 1 135px;padding: 11px 13px;font-size: 11px;gap: 8px;}
  .studio-site .cta-actions .button .icon {width: 15px;height: 15px;}
  .studio-site .hero-actions .button {font-size: 11px;}
  .studio-site .page-hero h1,
  .studio-site .catalog-heading h1 {font-size: clamp(34px, 9.4vw, 41px);line-height: 1.13;}
  .studio-site .footer-bottom {justify-content: flex-start;}
  .studio-site .product-facts > div {grid-template-columns: minmax(0, 1fr);gap: 3px;}
  .studio-site .contact-map-frame {height: 285px;}
}

@media (prefers-reduced-motion: reduce) {
  .studio-site .footer-category-links a {transition: none;}
}
