/* Ported component proportions from Prestige 11, isolated from WooCommerce's forms. */
.prestige-stories { --story-sticky: var(--header-height,74px); display: grid; align-items: start; position: relative; isolation: isolate; color: #fff; }
.prestige-stories::before { content: ''; position: absolute; inset: 0; background: #0003; z-index: 1; pointer-events: none; }
.prestige-stories__background, .prestige-stories__container { grid-area: 1 / -1; }
.prestige-stories__background { position: sticky; top: 0; width: 100%; height: 100vh; max-height: 100vh; object-fit: cover; }
.prestige-stories__container { z-index: 1; display: grid; place-items: start center; gap: 32px; padding-block: var(--section-space,80px); max-width: 1250px; }
.prestige-stories__item { display: contents; }
.prestige-stories__image { grid-area: 1 / 1; align-self: center; width: min(56vw,440px); }
.prestige-stories__text { grid-area: 2 / 1; text-align: center; max-width: 375px; }
.prestige-stories__text h2 { font-size: 24px; }
.prestige-stories__dots { grid-area: 3 / 1; }
.prestige-stories__item:not(.is-selected) { visibility: hidden; }
.prestige-stories__item:not(.is-selected) .prestige-stories__image { opacity: 0; }
.prestige-stories__image { transition: opacity .25s ease-in-out; }
.prestige-stories__dots button { border-color: #fff; }
.prestige-stories__dots button[aria-pressed="true"] { background: #fff; }
.prestige-craft { overflow: hidden; }
.prestige-craft__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 2; background: #111; }
.prestige-craft.is-playing > .banner-content, .prestige-craft.is-playing > img { visibility: hidden; }
.timeline-years button { position: relative; transition: opacity .25s, font-size .25s; }
.timeline-years button[aria-pressed="true"] { font-size: 24px; border-bottom-width: 3px; }
.timeline-grid { align-items: end; }
.press-logos button[aria-pressed="true"] img { opacity: 1; }
.press-logos img { transition: opacity .25s; }
.look-hotspot { box-shadow: 0 0 0 8px #ffffff33; animation: prestige-hotspot 2s ease-in-out infinite; }
@keyframes prestige-hotspot { 50% { box-shadow: 0 0 0 13px #ffffff00; } }
.prestige-look-modal { width: min(460px,calc(100% - 40px)); max-height: 85dvh; overflow: auto; padding: 24px; }
.prestige-look-modal .product-card { max-width: 250px; margin: auto; }
.prestige-look-modal .drawer-heading { margin-bottom: 20px; }
.prestige-account { position: absolute; right: 85px; top: calc(100% + 10px); z-index: 40; width: 300px; padding: 28px; background: #fff; color: var(--ink); border: 1px solid var(--line); box-shadow: 0 10px 35px #0001; text-align: center; }
.prestige-account p { margin-bottom: 16px; }
.prestige-account .button { display: block; }
.prestige-search-form { display: flex; gap: 16px; max-width: 700px; margin: 0 auto 48px; }
.prestige-search-form input { flex: 1; min-width: 0; padding: 16px; border: 1px solid var(--line); background: transparent; }
.prestige-search-grid, .predictive-products { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px; }
#search-panel { align-self: start; margin-top: 90px; max-height: calc(100dvh - 110px); overflow: auto; }
.predictive-search-results { margin-top: 32px; }
.predictive-products { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.predictive-product { text-align: center; }
.predictive-product img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.predictive-product__title { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .12em; margin: 16px 0 6px; }
.predictive-product .product-price { font-size: 12px; display: block; }
.predictive-empty { text-align: center; padding: 40px 0; }
.mini-quantity { display: inline-flex; align-items: center; border: 1px solid var(--line); height: 36px; }
.mini-quantity button { width: 30px; border: 0; padding: 0; }
.mini-quantity input { appearance: textfield; width: 30px; border: 0; background: transparent; padding: 0; text-align: center; font-size: 12px; }
.mini-quantity input::-webkit-inner-spin-button { appearance: none; }
.mini-price { margin-left: 16px; }
.prestige-newsletter { width: min(880px,calc(100% - 40px)); padding: 0; overflow: visible; }
.prestige-newsletter[open] { display: grid; grid-template-columns: 1fr 1fr; }
.prestige-newsletter__close { position: absolute; z-index: 2; top: 12px; right: 12px; background: #fff; }
.prestige-newsletter__content { padding: 64px 40px; text-align: center; }
.prestige-newsletter__content h2 { font-size: 20px; line-height: 1.6; }
.prestige-newsletter__content .newsletter-form { flex-direction: column; align-items: stretch; gap: 16px; }
.prestige-newsletter__content input { width: 100%; }
.prestige-newsletter__image { position: relative; min-height: 430px; overflow: hidden; }
@media (min-width: 1000px) {
  .prestige-stories { min-height: calc(100vh - var(--story-sticky)); }
  .prestige-stories__container { --story-image: min(calc(50vw - var(--gutter)),575px); --story-padding: max(80px,calc((100vh - var(--story-image) - var(--story-sticky)) / 2)); grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: repeat(2,minmax(0,1fr)); grid-auto-rows: minmax(0,1fr); align-items: center; gap: 0 64px; padding-block: var(--story-padding); }
  .prestige-stories__item:not(.is-selected) { visibility: visible; }
  .prestige-stories__image { grid-area: 1 / 1 / -1 / 2; align-self: start; width: 100%; height: var(--story-image); object-fit: contain; position: sticky; top: calc(var(--story-padding) + var(--story-sticky)); }
  .prestige-stories__text { grid-area: auto / 2; min-height: min(700px,85vh); display: flex; flex-direction: column; justify-content: center; }
  .prestige-stories__text h2 { font-size: 28px; }
  .prestige-stories__dots { display: none; }
}
@media (max-width: 699px) {
  .timeline-section { min-height: 0; padding: 0; }
  .timeline-grid { position: relative; display: grid; min-height: 480px; width: 100%; max-width: none; margin-inline: 0; padding: 0; }
  .timeline-image { position: absolute; inset: 0; }
  .timeline-image > div, .timeline-image img { height: 100%; width: 100%; object-fit: cover; }
  .timeline-grid::after { content: ''; position: absolute; inset: 0; background: #0006; pointer-events: none; }
  .timeline-grid > .editorial-copy { position: relative; z-index: 1; align-self: center; padding: 60px 24px; color: #fff; text-align: center; }
  .timeline-years { scrollbar-width: none; overflow-x: auto; justify-content: flex-start; gap: 40px; padding: 24px 20px; }
  .timeline-years button { flex-shrink: 0; }
  .timeline-years::-webkit-scrollbar { display: none; }
  .predictive-products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
  .prestige-search-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 16px; }
  #search-panel { margin-top: 20px; padding: 24px 20px; max-height: calc(100dvh - 40px); }
  #search-panel form { gap: 8px; }
  #search-panel form > .button { padding-inline: 12px; }
  .prestige-newsletter[open] { display: block; }
  .prestige-newsletter__image { display: none; }
  .prestige-newsletter__content { padding: 60px 24px 32px; }
}
@media (prefers-reduced-motion: reduce) { .look-hotspot { animation: none; } .prestige-stories__image { transition: none; } }

[data-prestige-stories], [data-timeline], [data-looks], [data-press], [data-featured-gallery] { touch-action: pan-y; }

/* Typography measured against the original Prestige demo at desktop and mobile widths.
   Keep the existing Customizer font families and tracking setting usable. */
@font-face { font-family: "Instrument Sans"; src: url("fonts/instrumentsans_i4.028d3c3cd8d085648c808ceb20cd2fd1eb3560e5.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: Nunito; src: url("fonts/nunito_i4.fd53bf99043ab6c570187ed42d1b49192135de96.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: Nunito; src: url("fonts/nunito_n7.37cf9b8cf43b3322f7e6e13ad2aad62ab5dc9109.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: Nunito; src: url("fonts/nunito_i7.3f8ba2027bc9ceb1b1764ecab15bae73f86c4632.woff2") format("woff2"); font-weight: 700; font-style: italic; font-display: swap; }
:root {
  --prestige-h1: clamp(22px,calc(18.3414634146px + .9756097561vw),32px);
  --prestige-h2: clamp(20px,calc(17.0731707317px + .7804878049vw),var(--heading-size,28px));
  --prestige-h3: clamp(18px,calc(16.5365853659px + .3902439024vw),22px);
}
body { line-height: 1.65; }
h1, h2, h3, h4 { letter-spacing: var(--heading-tracking,.18em); }
h1 { line-height: 1.3; }
h2 { line-height: 1.4; }
h3 { line-height: 1.5; }
.hero-content h1, .hero-content h2, .collection-banner h1 { font-size: var(--prestige-h1); line-height: 1.3; letter-spacing: var(--heading-tracking,.18em); }
.section-heading h2, .collection-tabs button, .banner-content h2 { font-size: var(--prestige-h2); line-height: 1.4; letter-spacing: var(--heading-tracking,.18em); }
.prestige-stories__text h2, .woocommerce .atelier-pdp .product_title { font-size: var(--prestige-h3); line-height: 1.5; }
.eyebrow, .primary-menu, .footer-main h2 { font-size: 12px; line-height: 1.7; letter-spacing: var(--heading-tracking,.18em); }
.product-card h3, .woocommerce ul.products li.product .product-card h3 { font-size: 12px; line-height: 1.7; letter-spacing: var(--heading-tracking,.18em); }
.product-price { font-family: var(--body-font,Nunito,sans-serif); font-size: 14px; line-height: 1.65; }
.product-badge { font-family: var(--heading-font,"Instrument Sans",sans-serif); font-size: 11px; line-height: 1.65; letter-spacing: var(--heading-tracking,.18em); }
.button, .woocommerce .atelier-pdp form.cart .button { font-family: var(--body-font,Nunito,sans-serif); font-size: 13px; line-height: 1.65; letter-spacing: var(--heading-tracking,.18em); }
.editorial-copy p:not(.eyebrow), .woocommerce .atelier-pdp .woocommerce-product-details__short-description { line-height: 1.65; }
.underlined { font-family: var(--body-font,Nunito,sans-serif); font-size: 13px; line-height: 1.65; letter-spacing: normal; }
/* Four-column mobile density remains an explicit catalogue preference. */
@media (max-width: 699px) { .collection-page[data-grid="4"] .product-card h3 { font-size: 9px; letter-spacing: .02em; } }

/* The statement and collection grid share the source's continuous grey surface.
   Paint the full-width wrappers while retaining the editable section backgrounds. */
#home-section-statement, #home-section-collections { background-color: var(--section-background,#efefef); }
#home-section-statement > section, #home-section-collections > section { background-color: inherit; }
.brand-statement { min-height: 0; padding-block: 80px; }
.brand-statement .statement-mark { width: 120px; height: 120px; margin-bottom: 20px; mix-blend-mode: normal; }
.brand-statement h2 { font-size: var(--prestige-h1); line-height: 1.3; margin-bottom: 20px; }
.brand-statement .text-links { gap: 12px; font-size: 14px; line-height: 1.65; }
@media (max-width: 699px) {
  .brand-statement { padding-block: 48px; }
  .brand-statement h2 { max-width: calc(100% - var(--gutter) * 2); }
  #home-section-collections .collection-mosaic { padding-bottom: 48px; }
}

/* Source lookbook: 550px photograph, 270px product, and independent product hotspots. */
#home-section-looks { background: var(--section-background,#efefef); }
#home-section-looks > section { background: inherit; }
.looks-section .section-heading { margin-bottom: 64px; }
.looks-section .section-heading .eyebrow { margin-bottom: 20px; }
.look-grid { max-width: 980px; grid-template-columns: min(550px,60%) minmax(0,1fr); gap: 5px; margin-inline: auto; }
.look-image > img { aspect-ratio: 1; object-fit: cover; }
.look-product { width: 100%; max-width: 270px; justify-self: center; }
.look-product .product-card__media { background: transparent; }
.look-product .product-card__image, .look-product .product-card__hover { mix-blend-mode: normal; }
.look-product .product-badge { background: transparent; padding: 0; top: 0; left: 0; font-size: 10px; }
.look-product .product-price { font: 400 12px/1.7 var(--heading-font,"Instrument Sans",sans-serif); letter-spacing: var(--heading-tracking,.18em); }
.look-product .underlined { margin-top: 24px; font-family: var(--heading-font,"Instrument Sans",sans-serif); font-size: 12px; line-height: 1.7; letter-spacing: var(--heading-tracking,.18em); }
.look-product-dots { margin-top: 24px; }
.look-hotspot { width: 16px; height: 16px; top: var(--spot-y); left: var(--spot-x); transform: translate(-50%,-50%); padding: 0; background: #fff; outline: 0; box-shadow: none; animation: none; transition: transform .2s; }
.look-hotspot[aria-pressed="true"], .look-hotspot:hover { transform: translate(-50%,-50%) scale(1.3); }
.look-hotspot::after { content: ''; position: absolute; width: 40px; height: 40px; top: -12px; left: -12px; border-radius: 50%; background: radial-gradient(transparent,#ffffff4d); animation: colmond-look-ping 2s ease-in-out infinite alternate; }
@keyframes colmond-look-ping { from { transform: scale(.8); opacity: .8; } to { transform: scale(1.1); opacity: 1; } }
@media (min-width: 1000px) {
  .looks-section .look-navigation { display: none; }
  .look-carousel > .carousel-arrow { top: calc(50% - 22px); }
}
@media (max-width: 999px) {
  .looks-section { padding-block: 48px; overflow: hidden; }
  .looks-section .section-heading { margin-bottom: 40px; }
  .looks-section .look-carousel { width: 100%; max-width: none; }
  .look-grid { display: block; max-width: 100%; }
  .look-grid > .look-product, .look-carousel > .carousel-arrow { display: none; }
  .look-image { width: 100%; }
  .prestige-look-modal { position: fixed; inset: auto 0 0; width: 100%; max-width: none; margin: 0; max-height: 85dvh; padding: 24px; background: #efefef; }
  .prestige-look-modal .look-product { display: block; max-width: 270px; margin: auto; }
  .prestige-look-modal .product-card__media { max-width: 160px; margin-inline: auto; }
  .prestige-look-modal .product-card { max-width: 270px; }
}
@media (prefers-reduced-motion: reduce) { .look-hotspot::after { animation: none; } }
