/* R18 — proportion and buying hierarchy, within the four approved seasonal styles.
   Scoped presentation only: price authority, sizes, bag and order forms stay unchanged. */
.season-intro{display:none}
.storefront .season-meta{flex-wrap:wrap;gap:6px 14px}
.storefront .season-meta small{font-size:11px;line-height:1.5}
.storefront .season-controls{font-size:13px}
.storefront .season-controls button{border-color:currentColor}

/* Short primary navigation; the full category list expands in normal document flow. */
.storefront .pds-collection-links{flex-wrap:wrap;overflow:visible;white-space:normal;align-items:start;gap:4px 32px;padding:12px 0}
.storefront .pds-collection-links>a,.pds-all-collections summary{font-size:14px;min-height:44px;display:flex;align-items:center}
.pds-all-collections{flex:1;min-width:180px}
.pds-all-collections summary{cursor:pointer;gap:12px;width:fit-content}
.pds-all-collections summary::after{content:'+';font-size:20px}
.pds-all-collections[open] summary::after{content:'−'}
.pds-all-collections>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;padding:12px 0}
.storefront .pds-all-collections a{font-size:14px;display:flex;align-items:center;line-height:1.5}
.storefront .campaign-collections{margin:28px 0 52px}
.storefront .campaign-collection:nth-child(even){margin-top:0}
.storefront .pds-home-collections{margin:48px 0 64px}
.storefront .section-heading h2{font-size:clamp(34px,3.4vw,48px)}
.storefront .pds-document-card .text-link{font-size:13px;min-height:44px}

/* Catalogue: useful comparisons arrive before the long editorial material. */
.storefront .pds-collection-page{padding-top:28px}
.storefront .pds-collection-page h1{font-size:clamp(34px,3.5vw,48px);line-height:1.15;margin:0 0 10px}
.storefront .pds-collection-page>p{margin:0;line-height:1.6}
.storefront .pds-document-filters{margin:20px 0 12px;padding:16px 0;gap:16px}
.storefront .pds-document-filters label{font-size:14px}
.storefront .pds-document-filters input,.storefront .pds-document-filters select{min-height:46px;margin-top:6px}
.pds-catalog-summary{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 20px;font-size:13px;line-height:1.6;color:var(--muted)}
.pds-catalog-summary p{margin:0}
.storefront .pds-collection-page .pds-document-grid{margin:18px 0 32px;gap:32px 22px}
.storefront .pds-collection-page .pds-document-photo{height:clamp(235px,22vw,330px)}
.storefront .pds-collection-page .pds-document-photo img{height:100%;width:100%;aspect-ratio:auto;object-fit:contain;object-position:center;background:var(--commerce-surface)}
.storefront .pds-collection-page .pds-document-card>div{padding:12px 0 16px}
.storefront .pds-document-card h3{font-size:25px;line-height:1.2;margin:5px 0 8px}
.storefront .pds-document-card .pds-price-source{font-size:12px;line-height:1.5;margin:4px 0}

/* Both ways back remain. The entry navigation no longer outranks the product. */
.storefront .pds-shopping-navigation-compact{margin:0 0 20px;padding:0;border:0}
.storefront .pds-shopping-navigation-compact>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.storefront .pds-shopping-navigation-compact>div{display:flex;flex-wrap:wrap;gap:8px 24px}
.storefront .pds-shopping-navigation-compact .button{width:auto;min-height:44px;background:transparent;color:var(--forest);border:0;border-radius:0;padding:8px 0;font-size:14px;box-shadow:none}
.storefront.page-document-model .pds-shopping-navigation-compact a.button:not(.button-outline){background:transparent;color:var(--forest)}
.storefront .pds-shopping-navigation-compact .button:hover{background:transparent!important;text-decoration:underline;filter:none!important}
.storefront.page-document-model .pds-shell{padding-top:16px}
.storefront .pds-document-detail{margin:0 0 54px;gap:5%}
.storefront .pds-document-detail>section{min-width:0;position:static}
.storefront .pds-document-detail .eyebrow{font-size:12px;line-height:1.6;margin:0 0 8px;letter-spacing:.08em}
.storefront .pds-document-detail h1{font-size:clamp(34px,3.5vw,48px);line-height:1.12;margin:0 0 12px}
.storefront .pds-document-detail .pds-model-price{font-size:28px;margin:0;line-height:1.4}
.storefront .pds-document-detail .pds-price-source{margin:4px 0 14px;font-size:13px;line-height:1.5}
.storefront .pds-document-detail .pds-catalog-notice{margin:12px 0;padding:10px 12px;font-size:13px;line-height:1.6;border:0;border-left:2px solid #ab8d4f;background:var(--commerce-surface)}
.storefront .pds-size-order{border:0;border-top:1px solid var(--line);border-radius:0;padding:16px 0 0;margin:18px 0 0;scroll-margin-top:20px}
.storefront .pds-size-order h2{font:600 18px/1.5 Manrope,sans-serif;margin:0 0 4px}
.storefront .pds-size-order>p{font-size:14px;margin:0;line-height:1.6}
.storefront .pds-size-grid{padding:14px 0 18px;gap:12px}
.storefront .pds-size-grid label{gap:6px;max-width:104px}
.storefront .pds-size-grid input{border-color:var(--line);border-radius:2px;min-height:48px;background:var(--paper)}
.storefront .pds-size-grid input:focus{border-color:var(--forest)}
.storefront .pds-size-order>.button{margin-bottom:6px;min-height:50px}
.storefront .pds-size-order>.text-link{font-size:14px;min-height:44px;display:flex}
.storefront .pds-model-description{font-size:14px;line-height:1.7}
.storefront .pds-document-detail details{margin-top:20px;font-size:13px}
.storefront .pds-document-detail summary{min-height:44px;cursor:pointer}

@media(min-width:1001px){
  .storefront .header-inner{min-height:92px}
  .storefront .pds-collection-page{padding-top:20px}
  .storefront .pds-collection-page h1{font-size:40px;margin-bottom:8px}
  .storefront .pds-document-filters{margin:12px 0 10px;padding:12px 0}
  .storefront .pds-collection-page .pds-document-grid{margin-top:14px}
  .storefront .pds-collection-page .pds-document-photo{height:clamp(240px,calc(100svh - 510px),330px)}
  /* A notebook opening includes the message, photograph, CTA and next navigation. */
  .storefront .season-hero{height:clamp(520px,calc(100svh - 220px),720px);min-height:0;max-height:720px}
  .storefront .season-intro{display:block;font:400 16px/1.7 Manrope,sans-serif;letter-spacing:0;margin:20px 0 26px;max-width:34ch}
  .storefront .season-copy .eyebrow{font-size:11px;letter-spacing:.14em;margin:0 0 22px}
  .storefront .season-cta{position:static;min-height:52px;padding:14px 22px;font-size:14px;gap:32px}
  .storefront .season-hero h1{font-size:clamp(62px,6.4vw,96px);line-height:1.03;margin:0}
  .storefront.style-galeria .season-copy{left:6%;top:20%;bottom:auto;width:41%}
  .storefront.style-galeria .season-copy>.eyebrow{display:block}
  .storefront.style-galeria .season-hero h1{font-size:clamp(72px,6.8vw,104px);letter-spacing:-.025em}
  .storefront.style-galeria .season-photo{inset:24px 5% 74px auto;width:42%;height:auto;background:var(--commerce-surface)}
  .storefront.style-galeria .season-photo img{object-fit:contain;object-position:center}
  .storefront.style-galeria .season-secondary,.storefront.style-galeria .season-macro,.storefront.style-galeria .season-edition{display:none}
  .storefront.style-galeria .season-cta{color:var(--paper);background:var(--forest);border:1px solid var(--forest);min-width:235px}
  .storefront.style-galeria .season-cta:hover{background:#315744}
  .storefront.style-galeria .season-meta{left:53%;right:5%;bottom:20px;font-size:14px}
  .storefront.style-galeria .season-meta small{border:0;padding:0;flex-basis:100%}
  .storefront.style-galeria .season-controls{left:6%;right:auto;bottom:24px}
  .storefront.style-solar .season-copy{bottom:90px;width:55%}
  .storefront.style-solar .season-hero::after{background:linear-gradient(90deg,#06271fcf,#06271f66 50%,transparent 78%),linear-gradient(0deg,#061e19b8,transparent 85%)}
  .storefront.style-solar .season-intro{margin:16px 0 20px}
  .storefront.style-solar .season-meta{font-size:13px;background:#0e3028e8;padding:12px 16px;max-width:50%}
  .storefront.style-solar .season-meta small{border:0;padding:0;flex-basis:100%}
  .storefront.style-mar .season-photo{left:6%;top:24px;bottom:24px;width:39%}
  .storefront.style-mar .season-photo img{object-fit:contain;background:#e3e5d8;object-position:center}
  .storefront.style-mar .season-copy{left:51%;top:55px;width:43%}
  .storefront.style-mar .season-hero h1{font-size:clamp(50px,4.5vw,72px);line-height:1.08}
  .storefront.style-mar .season-copy .eyebrow{margin-bottom:18px}
  .storefront.style-mar .season-intro{margin:16px 0 20px}
  .storefront.style-mar .season-macro{left:auto;right:6%;bottom:96px;width:70px;height:90px}
  .storefront.style-mar .season-meta{left:9%;bottom:40px;max-width:32%;font-size:13px}
  .storefront.style-mar .season-meta small{display:block;border:0;padding:0;flex-basis:100%}
  .storefront.style-resort .season-hero{height:clamp(610px,calc(100svh - 180px),740px);max-height:740px}
  .storefront.style-resort .season-copy{inset:20px 0 auto;width:100%}
  .storefront.style-resort .season-hero h1{font-size:clamp(42px,4vw,58px);margin:8px 0;line-height:1.04}
  .storefront.style-resort .season-copy .eyebrow{margin:0}
  .storefront.style-resort .season-intro{display:none}
  .storefront.style-resort .season-cta{min-height:44px;padding:4px 0}
  .storefront.style-resort .season-photo{inset:245px auto 74px 33%;width:34%;height:auto;background:var(--commerce-surface)}
  .storefront.style-resort .season-photo img{object-fit:contain;object-position:center}
  .storefront.style-resort .season-secondary{left:7%;bottom:100px;width:22%;height:44%}
  .storefront.style-resort .season-macro{bottom:120px;height:180px}
  .storefront.style-resort .season-meta{left:33%;right:30%;bottom:18px;font-size:13px}
  .storefront.style-resort .season-meta small{display:block;border:0;padding:0;flex-basis:100%}
  .storefront .pds-model-photo{height:clamp(480px,calc(100svh - 230px),720px);object-fit:contain;object-position:center top;background:var(--commerce-surface)}
  .storefront .pds-collection-page .pds-document-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:1000px){
  .pds-all-collections>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .storefront .pds-collection-page .pds-document-photo{height:300px}
}
@media(max-width:700px){
  .storefront .pds-collection-links{gap:4px 24px}
  .pds-all-collections{flex-basis:100%}
  .storefront .pds-all-collections a{font-size:13px}
  .storefront .pds-collection-page{padding-top:24px}
  .storefront .pds-collection-page h1{font-size:34px;max-width:18ch}
  .storefront .pds-document-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 12px;padding:14px 0}
  .storefront .pds-document-filters label{min-width:0;font-size:13px}
  .storefront .pds-document-filters label:first-child,.storefront .pds-document-filters>.button{grid-column:1/-1}
  .storefront .pds-document-filters input,.storefront .pds-document-filters select{font-size:16px}
  .storefront .pds-collection-page .pds-document-photo{height:245px}
  .storefront .pds-collection-page .pds-document-grid{gap:24px 14px}
  .storefront .pds-document-card h3{font-size:23px}
  .storefront .pds-catalog-summary{font-size:12px}
  .storefront .pds-document-detail h1{font-size:38px}
  .storefront .pds-document-detail .pds-model-photo{max-height:580px;object-fit:contain;background:var(--commerce-surface)}
  .storefront .pds-shopping-navigation-compact>div{gap:2px 20px}
  .storefront .pds-shopping-navigation-compact .button{font-size:13px}
  .storefront .season-meta small{display:none}
  .storefront .season-controls{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .storefront .season-hero *,.storefront .pds-document-photo img,.storefront .campaign-collection img{animation:none!important;transition:none!important}
  .storefront .pds-document-photo:hover img,.storefront .campaign-collection:hover img{transform:none}
}

/* R19 — close the public design system without replacing the seasonal compositions. */
html { scroll-padding-bottom:var(--dock-space); }
body.storefront { font-size:var(--type-body); padding-bottom:var(--dock-space); }
.storefront .pds-shell,.storefront .header-inner {
  width:min(calc(100% - var(--page-gutter) * 2),var(--content-width));
  max-width:var(--content-width); padding-inline:0;
}
.storefront .pds-announcement { font-size:var(--type-caption); line-height:1.5; letter-spacing:.04em; }
.storefront .premium-navigation a { font-size:var(--type-small); }
.storefront .premium-navigation a:hover { border-color:var(--gold); }
.storefront :focus-visible { outline-color:var(--gold); }
.storefront .season-dot { color:var(--gold); }
.storefront .season-copy .eyebrow,.storefront .season-meta { font-size:var(--type-caption); }
.storefront .season-meta { line-height:1.5; }
.storefront .season-meta a { min-height:44px; display:inline-flex; align-items:center; }
.storefront .season-intro { display:block; font:400 var(--type-lead)/1.6 var(--font-interface); }
.storefront .season-cta { font-size:var(--type-small); min-height:48px; }
.storefront .season-hero h1 { font-size:var(--type-display); }
.storefront .section-heading h2,.storefront .campaign-detail-copy h2,.storefront .pds-help h2 {
  font-size:var(--type-heading); line-height:1.15;
}
.storefront .campaign-details { margin-inline:0; }
.storefront .campaign-detail-photo { min-height:480px; }
.storefront .campaign-detail-copy { padding:48px 10%; }
.storefront .campaign-detail-note { font-size:var(--type-caption); }
.storefront[class*="style-"] .pds-home-collections .pds-document-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.storefront .pds-home-collections .pds-document-card:nth-child(n) {
  margin-top:0; grid-column:auto; grid-row:auto;
}
.storefront .pds-document-card { display:flex; flex-direction:column; }
.storefront .pds-document-card>div { display:flex; flex-direction:column; flex:1; }
.storefront .pds-document-card>div>small { min-height:3.2em; }
.storefront .pds-document-card h3 {
  font:600 var(--type-card)/1.25 var(--font-editorial);
  min-height:2.5em; letter-spacing:-.02em; text-wrap:initial;
}
.storefront .pds-document-card .text-link { margin-top:auto; padding-block:10px; min-height:44px; border:0; }
.storefront .pds-document-card .text-link:hover { text-decoration:underline; text-decoration-color:var(--gold); }
.storefront .pds-card-sizes { display:flex; flex-wrap:wrap; gap:8px; align-items:center; min-height:32px; padding-bottom:8px; }
.pds-size-tag { border:1px solid var(--gold); padding:2px 7px; font-size:12px; white-space:nowrap; }
.storefront .campaign-collection { border-bottom:2px solid var(--gold); }
.storefront .pds-model-gallery,.storefront .pds-model-extra,.storefront .pds-size-order {
  scroll-margin-bottom:var(--dock-space);
}
.storefront .pds-selection-line { max-width:100%; padding-block:24px; }
.pds-selection-actions { display:flex; flex-wrap:wrap; align-items:end; gap:8px 24px; }
.pds-quantity-edit { display:flex; flex-wrap:wrap; gap:12px; align-items:end; }
.pds-quantity-edit label { display:grid; gap:6px; font-size:14px; }
.pds-quantity-edit input { width:88px; min-height:48px; padding:10px; border:1px solid var(--line); background:var(--paper); }
.pds-selection-feedback { padding:12px 16px; border-left:3px solid var(--gold); background:var(--commerce-surface); }
.pds-selection-feedback[hidden] { display:none; }
.storefront [data-order-seller]:disabled { opacity:.55; cursor:not-allowed; }

/* Portrait and copy share the same grid; controls follow the CTA in its column. */
.storefront.style-galeria .season-hero {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 64px;
  width:min(calc(100% - var(--page-gutter) * 2),var(--content-width));
  height:auto; min-height:0; max-height:none; padding:24px 0;
}
.storefront.style-galeria .season-copy {
  position:static; grid-column:1; grid-row:1; width:auto; align-self:end; padding-top:24px;
}
.storefront.style-galeria .season-copy>.eyebrow { display:block; margin-bottom:20px; }
.storefront.style-galeria .season-hero h1 { font-size:var(--type-display); line-height:1.05; letter-spacing:-.025em; }
.storefront.style-galeria .season-intro { margin:20px 0 24px; }
.storefront.style-galeria .season-cta {
  position:static; background:var(--forest); color:var(--paper); border:1px solid var(--forest);
  padding:14px 22px; min-width:235px;
}
.storefront.style-galeria .season-photo {
  position:relative; inset:auto; grid-column:2; grid-row:1 / 3; justify-self:center;
  width:clamp(300px,calc((100svh - 290px) * .6667),400px); max-width:100%;
  height:auto; aspect-ratio:2/3; background:transparent;
}
.storefront.style-galeria .season-photo img { object-fit:cover; object-position:center top; }
.storefront.style-galeria .season-secondary,.storefront.style-galeria .season-macro,.storefront.style-galeria .season-edition { display:none; }
.storefront.style-galeria .season-controls {
  position:static; grid-column:1; grid-row:2; align-self:start; margin:24px 0; gap:14px;
}
.storefront.style-galeria .season-meta {
  position:static; grid-column:2; grid-row:3; justify-self:center; max-width:100%; gap:8px 16px;
  padding:8px 0 0; background:transparent; font-size:14px;
}
@media(min-width:1001px) {
  html { scroll-padding-bottom:24px; }
  body.storefront { padding-bottom:0; }
  .storefront .header-inner { grid-template-columns:300px minmax(0,1fr) 44px; gap:40px; }
  .storefront .brand-link { grid-column:1; }
  .storefront .premium-navigation { grid-column:2; justify-self:end; gap:32px; }
  .storefront .bag-link { grid-column:3; }
  .storefront.style-mar .season-photo { width:calc((clamp(520px,calc(100svh - 220px),720px) - 48px) * .6667); }
  .storefront.style-mar .season-photo img { object-fit:cover; object-position:center top; }
  .storefront.style-resort .season-photo {
    left:50%; transform:translateX(-50%); width:calc((clamp(610px,calc(100svh - 180px),740px) - 319px) * .6667);
    background:transparent;
  }
  .storefront.style-resort .season-photo img { object-fit:cover; object-position:center top; }
}
@media(max-width:1000px) {
  .storefront[class*="style-"] .pds-home-collections .pds-document-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .storefront.style-galeria .season-hero { gap:0 24px; }
}
@media(max-width:700px) {
  .storefront .pds-document-card h3 { font-size:22px; }
  .storefront .pds-document-card .text-link { font-size:12px; }
  .storefront .pds-document-card small { font-size:12px; }
  .storefront .campaign-detail-copy { padding:32px 24px; }
  .storefront .campaign-detail-photo { min-height:0; }
  .storefront .pds-help h2 { font-size:32px; }
  .storefront .season-secondary { display:none; }
  .storefront .season-meta { font-size:12px; }
  .storefront.style-galeria .season-hero { grid-template-columns:1fr; gap:0; padding-top:24px; }
  .storefront.style-galeria .season-copy { grid-column:1; grid-row:1; padding:0; }
  .storefront.style-galeria .season-hero h1 { font-size:clamp(44px,12vw,64px); }
  .storefront.style-galeria .season-copy>.eyebrow { margin-bottom:12px; letter-spacing:.08em; }
  .storefront.style-galeria .season-intro { font-size:16px; margin:14px 0 18px; }
  .storefront.style-galeria .season-photo { grid-column:1; grid-row:2; width:min(100%,280px); margin-top:24px; }
  .storefront.style-galeria .season-meta { grid-column:1; grid-row:3; justify-self:start; padding:8px 0 0; font-size:12px; }
  .storefront.style-galeria .season-controls { grid-column:1; grid-row:4; margin:8px 0 0; }
  .storefront.style-resort .season-secondary { display:none; }
  .storefront.style-resort .season-meta { left:8%; bottom:66px; font-size:12px; }
  .storefront.style-resort .season-controls { left:8%; right:auto; bottom:12px; }
  .storefront.style-resort .season-controls [data-premium-counter] { display:inline; }
  .storefront.style-resort .season-intro { display:none; }
  .storefront.style-mar .season-intro { font-size:16px; }
  .storefront.style-mar .season-hero { display:flex; flex-direction:column; height:auto; min-height:0; padding:24px var(--page-gutter); }
  .storefront.style-mar .season-photo { position:relative; inset:auto; width:100%; height:auto; aspect-ratio:2/3; order:0; }
  .storefront.style-mar .season-meta { position:static; order:1; margin:8px 0 16px; max-width:100%; padding:0; background:transparent; }
  .storefront.style-mar .season-copy { position:static; width:auto; order:2; }
  .storefront.style-mar .season-controls { position:static; order:3; margin-top:24px; }
  .storefront.style-solar .season-intro { font-size:16px; }
  .storefront .pds-selection-line { grid-template-columns:72px minmax(0,1fr); gap:16px; }
  .storefront .pds-selection-line h2 { font-size:20px; }
  .pds-selection-actions { gap:4px 16px; }
}
