/* Callanan Collective storefront. Reads only the --cc-* custom properties from /theme.css
   and the data-* attributes on <html> (or on a gallery card). Layout uses container
   queries on .cc-site, so the same rules work on full pages and inside gallery cards. */

/* ---------- reset and base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--cc-bg);color:var(--cc-text);font-family:var(--cc-font-body);font-size:var(--cc-step-0);line-height:var(--cc-line-height);font-synthesis-weight:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:var(--cc-link);text-decoration-thickness:1px;text-underline-offset:0.18em}
a:hover{text-decoration-thickness:2px}
button,input,select,textarea{font:inherit;color:inherit}
p,h1,h2,h3,h4,ul,ol,dl,dd,figure,fieldset,blockquote{margin:0}
:where(ul[class],ol[class],nav ul,nav ol,.cc-footer ul){list-style:none;padding:0;margin:0}
fieldset{border:0;padding:0;min-width:0}
legend{padding:0}
table{border-collapse:collapse}
address{font-style:normal}
[hidden]{display:none !important}
.cc-nocase{text-transform:none}
:focus-visible{outline:2px solid var(--cc-focus);outline-offset:3px}
::selection{background:var(--cc-accent);color:var(--cc-accent-contrast)}
.cc-visually-hidden{position:absolute !important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.cc-skip{position:absolute;left:1rem;top:-4rem;z-index:20;padding:0.75rem 1rem;background:var(--cc-surface);color:var(--cc-text);border:1px solid var(--cc-border)}
.cc-skip:focus{top:1rem}
.cc-main:focus{outline:none}

.cc-site{container-type:inline-size;container-name:site;min-height:100vh;display:flex;flex-direction:column;background:var(--cc-bg);color:var(--cc-text)}
.cc-main{flex:1 0 auto}
[data-texture="on"] .cc-site,[data-texture="on"].cc-site{background-image:url(/img/paper-grain.svg);background-size:240px 240px}

.cc-wrap{width:100%;max-width:var(--cc-max-width);margin-inline:auto;padding-inline:1rem}
.cc-wrap--narrow{max-width:46rem}
.cc-section{padding-block:calc(var(--cc-section-y) * 0.6)}
.cc-section--tight{padding-top:var(--cc-space-4)}
.cc-section--alt{background:var(--cc-surface-alt)}
@container site (min-width: 48rem){
  .cc-wrap{padding-inline:var(--cc-gutter)}
  .cc-section{padding-block:var(--cc-section-y)}
}

/* ---------- type ---------- */
h1,h2,h3,.cc-display{font-family:var(--cc-font-display);font-weight:var(--cc-display-weight);text-transform:var(--cc-display-case);letter-spacing:var(--cc-display-tracking);line-height:1.12;color:var(--cc-text);text-wrap:balance}
h1{font-size:var(--cc-step-4)}
h2{font-size:var(--cc-step-3)}
h3{font-size:var(--cc-step-1)}
.cc-label{font-family:var(--cc-font-body);font-size:var(--cc-step--1);font-variant-caps:var(--cc-label-variant);text-transform:var(--cc-label-case);letter-spacing:var(--cc-label-tracking);color:var(--cc-text-muted);line-height:1.4}
.cc-label a{color:inherit;text-decoration:none}
.cc-label a:hover{color:var(--cc-link);text-decoration:underline}
.cc-prose{max-width:68ch}
.cc-prose > * + *{margin-top:0.9em}
.cc-prose h2{font-size:var(--cc-step-2);margin-top:1.4em}
.cc-prose h3{font-size:var(--cc-step-1);margin-top:1.2em}
.cc-prose ul,.cc-prose ol{padding-left:1.25em}
.cc-prose li + li{margin-top:0.3em}
.cc-prose em{color:var(--cc-text-muted)}
.cc-empty{color:var(--cc-text-muted);font-size:var(--cc-step-1);padding-block:var(--cc-space-5)}

/* ---------- rules ornament ---------- */
.cc-rule{display:block;flex:1 1 0;min-width:1.5rem;height:0;border-top:1px solid var(--cc-secondary)}
[data-rules="double"] .cc-rule{border-top:3px double var(--cc-secondary)}
[data-rules="none"] .cc-rule{border-top-color:transparent}

/* ---------- wordmark ---------- */
.cc-wordmark{display:inline-flex;flex-direction:column;align-items:center;font-family:var(--cc-font-display);font-weight:var(--cc-display-weight);line-height:1;color:inherit;text-transform:uppercase;letter-spacing:0;margin:0}
.cc-wordmark__name{display:block;letter-spacing:var(--cc-wordmark-tracking);margin-right:calc(-1 * var(--cc-wordmark-tracking));white-space:nowrap}
.cc-wordmark__sub{display:flex;align-items:center;gap:0.9em;width:100%;font-size:0.36em;margin-top:0.5em}
.cc-wordmark__subtext{letter-spacing:0.42em;margin-right:-0.42em;white-space:nowrap}
.cc-wordmark--header{font-size:var(--cc-step-2)}
.cc-wordmark--footer{font-size:var(--cc-step-2)}
.cc-wordmark--hero{font-size:clamp(2.4rem, 1.15rem + 5.6cqi, 6.2rem)}

/* ---------- monogram (two CSS masks colored by the theme) ---------- */
.cc-mono{position:relative;display:block;aspect-ratio:720/430;flex:none}
.cc-mono__ink,.cc-mono__gold{position:absolute;inset:0;-webkit-mask:url(/brand/monogram-ink.png) center/contain no-repeat;mask:url(/brand/monogram-ink.png) center/contain no-repeat;background:var(--cc-text)}
.cc-mono__gold{-webkit-mask-image:url(/brand/monogram-gold.png);mask-image:url(/brand/monogram-gold.png);background:var(--cc-secondary)}
.cc-header__mono{width:4.25rem}
.cc-footer__mono{width:5rem;margin-bottom:var(--cc-space-2)}
.cc-mono--hero{width:min(78%, 30rem);margin-inline:auto}
.cc-mono--market{width:5.5rem;margin-bottom:var(--cc-space-3)}

/* ---------- buttons ---------- */
.cc-btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5em;min-height:44px;padding:0.7em 1.4em;border:1px solid transparent;border-radius:var(--cc-radius-sm);font-family:var(--cc-font-body);font-size:var(--cc-step--1);font-weight:600;line-height:1.2;text-transform:var(--cc-button-case);letter-spacing:var(--cc-button-tracking);text-decoration:none;cursor:pointer;background:none;color:var(--cc-text);transition:background-color .15s,color .15s,border-color .15s}
.cc-btn:hover{text-decoration:none}
.cc-btn--block{width:100%}
.cc-btn--small{min-height:36px;padding:0.4em 0.9em}
.cc-btn--primary{background:var(--cc-accent);color:var(--cc-accent-contrast);border-color:var(--cc-accent)}
.cc-btn--primary:hover{background:var(--cc-accent-hover);border-color:var(--cc-accent-hover);color:var(--cc-accent-contrast)}
.cc-btn--secondary{border-color:var(--cc-text);color:var(--cc-text)}
.cc-btn--secondary:hover{background:var(--cc-text);color:var(--cc-bg)}
.cc-btn--text{min-height:44px;padding:0.4em 0;border:0;color:var(--cc-link);text-decoration:underline;text-transform:none;letter-spacing:0;font-weight:400}
[data-button="outline"] .cc-btn--primary{background:transparent;color:var(--cc-accent);border-color:var(--cc-accent)}
[data-button="outline"] .cc-btn--primary:hover{background:var(--cc-accent);color:var(--cc-accent-contrast)}
[data-button="underline"] .cc-btn--primary{background:transparent;color:var(--cc-text);border:0;border-bottom:1px solid var(--cc-accent);border-radius:0;padding-inline:0.1em;min-height:44px}
[data-button="underline"] .cc-btn--primary:hover{color:var(--cc-accent);border-bottom-width:2px}
[data-button="underline"] .cc-btn--primary.cc-btn--block{background:var(--cc-accent);color:var(--cc-accent-contrast);border:1px solid var(--cc-accent);padding-inline:1.4em}
[data-button="underline"] .cc-btn--primary.cc-btn--block:hover{background:var(--cc-accent-hover);color:var(--cc-accent-contrast)}
[data-button="underline"] .cc-btn--secondary{border:0;border-bottom:1px solid var(--cc-border);border-radius:0;padding-inline:0.1em}
[data-button="underline"] .cc-btn--secondary:hover{background:none;color:var(--cc-accent);border-bottom-color:var(--cc-accent)}
.cc-btn[disabled],.cc-btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed}

/* ---------- banners ---------- */
.cc-test-banner{background:var(--cc-surface-alt);border-bottom:1px solid var(--cc-border);color:var(--cc-text);font-size:var(--cc-step--1);text-align:center;padding:0.45rem 1rem}
.cc-test-banner p::before{content:"";display:inline-block;width:0.55em;height:0.55em;margin-right:0.6em;border-radius:50%;background:var(--cc-warning);vertical-align:0.1em}
.cc-preview-bar{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;background:var(--cc-text);color:var(--cc-bg);font-size:var(--cc-step--1);padding:0.5rem 1rem}
.cc-preview-bar a{color:inherit}
.cc-flash-wrap{max-width:var(--cc-max-width);margin:var(--cc-space-3) auto 0;padding-inline:1rem}
.cc-flash,.cc-notice{border:1px solid var(--cc-border);border-left-width:4px;background:var(--cc-surface);padding:0.8rem 1rem;border-radius:var(--cc-radius-sm);margin-bottom:var(--cc-space-3)}
.cc-flash--success,.cc-notice--success{border-left-color:var(--cc-success)}
.cc-flash--error,.cc-notice--error{border-left-color:var(--cc-danger)}
.cc-notice--warning{border-left-color:var(--cc-warning)}
.cc-flash--info,.cc-notice--info{border-left-color:var(--cc-accent)}
.cc-notice p + p{margin-top:0.4em}

/* ---------- header ---------- */
.cc-header{border-bottom:1px solid var(--cc-border);background:var(--cc-bg)}
[data-texture="on"] .cc-header{background:transparent}
.cc-header__inner{max-width:var(--cc-max-width);margin-inline:auto;padding:var(--cc-space-3) 1rem var(--cc-space-2);display:grid;grid-template-columns:1fr auto;grid-template-areas:"brand cart" "nav nav";align-items:center;gap:var(--cc-space-2) 1rem}
.cc-header__brand{grid-area:brand;display:flex;align-items:center;gap:0.75rem;color:var(--cc-text);text-decoration:none;min-width:0}
.cc-header__brand .cc-wordmark{align-items:flex-start}
.cc-nav{grid-area:nav;min-width:0}
.cc-nav__list{display:flex;flex-wrap:wrap;gap:0.15rem 1.25rem}
.cc-nav__link{display:inline-flex;align-items:center;min-height:44px;color:var(--cc-text);text-decoration:none;font-size:var(--cc-step--1);font-variant-caps:var(--cc-label-variant);text-transform:var(--cc-label-case);letter-spacing:var(--cc-label-tracking);border-bottom:1px solid transparent}
.cc-nav__link:hover,.cc-nav__link[aria-current="page"]{border-bottom-color:var(--cc-accent);color:var(--cc-text)}
.cc-cart-link{grid-area:cart;display:inline-flex;align-items:center;gap:0.4rem;min-height:44px;min-width:44px;padding-inline:0.25rem;color:var(--cc-text);text-decoration:none;font-size:var(--cc-step--1)}
.cc-cart-link .cc-icon{flex:none;width:20px;height:20px}
.cc-cart-link__text{font-variant-caps:var(--cc-label-variant);text-transform:var(--cc-label-case);letter-spacing:var(--cc-label-tracking)}
.cc-cart-link__count{display:inline-grid;place-items:center;min-width:1.5rem;height:1.5rem;padding-inline:0.35rem;border-radius:var(--cc-radius-pill);background:var(--cc-accent);color:var(--cc-accent-contrast);font-size:0.8rem;font-weight:600;line-height:1}
@container site (max-width: 25rem){ .cc-cart-link .cc-icon{flex:none;width:20px;height:20px}
.cc-cart-link__text{display:none} }

/* centered wordmark and monogram-center: brand in the middle, nav row under it */
[data-header="centered-wordmark"] .cc-header__inner,[data-header="monogram-center"] .cc-header__inner{grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr);grid-template-areas:". brand cart" "nav nav nav";justify-items:center}
[data-header="centered-wordmark"] .cc-header__brand,[data-header="monogram-center"] .cc-header__brand{flex-direction:column;gap:0.5rem}
[data-header="centered-wordmark"] .cc-header__brand .cc-wordmark,[data-header="monogram-center"] .cc-header__brand .cc-wordmark{align-items:center}
[data-header="centered-wordmark"] .cc-nav__list,[data-header="monogram-center"] .cc-nav__list{justify-content:center}
[data-header="centered-wordmark"] .cc-cart-link,[data-header="monogram-center"] .cc-cart-link{justify-self:end}
[data-header="monogram-center"] .cc-nav{width:100%;border-top:1px solid var(--cc-border);padding-top:var(--cc-space-1)}
[data-rules="double"][data-header="monogram-center"] .cc-nav,[data-rules="double"] [data-header="monogram-center"] .cc-nav{border-top:3px double var(--cc-border)}
[data-header="monogram-center"] .cc-header__mono{width:4.75rem}
@container site (min-width: 48rem){
  .cc-header__inner{padding-inline:var(--cc-gutter);padding-top:var(--cc-space-4)}
  [data-header="left-wordmark"] .cc-header__inner{grid-template-columns:auto 1fr auto;grid-template-areas:"brand nav cart";padding-block:var(--cc-space-3)}
  [data-header="left-wordmark"] .cc-nav__list{justify-content:flex-end;gap:0.25rem 1.75rem}
  [data-header="left-wordmark"] .cc-cart-link{margin-left:1rem}
}
[data-header="left-wordmark"] .cc-wordmark--header{font-size:var(--cc-step-1)}
[data-header="left-wordmark"] .cc-wordmark--header .cc-wordmark__sub{font-size:0.5em}
/* home pages: the hero carries the big wordmark, so the header one is smaller */
.cc-page--home .cc-wordmark--header{font-size:var(--cc-step-1)}
.cc-page--home .cc-wordmark--header .cc-wordmark__sub{font-size:0.5em}

/* ---------- footer ---------- */
.cc-footer{margin-top:var(--cc-space-6);border-top:1px solid var(--cc-border);background:var(--cc-surface);font-size:var(--cc-step--1)}
[data-rules="double"] .cc-footer{border-top:3px double var(--cc-border)}
.cc-footer__inner{max-width:var(--cc-max-width);margin-inline:auto;padding:var(--cc-space-5) 1rem;display:grid;gap:var(--cc-space-4)}
.cc-footer ul{display:grid;gap:0.1rem}
.cc-footer a{color:var(--cc-text);text-decoration:none;display:inline-flex;min-height:44px;align-items:center}
.cc-footer a:hover{color:var(--cc-link);text-decoration:underline}
.cc-footer__title{font-family:var(--cc-font-body);font-size:var(--cc-step--1);font-weight:600;text-transform:none;letter-spacing:0;color:var(--cc-text-muted);margin-bottom:0.4rem}
.cc-footer__brand .cc-wordmark{align-items:flex-start}
.cc-footer__tagline{color:var(--cc-text-muted);margin-top:var(--cc-space-2);max-width:28ch}
.cc-footer__base{border-top:1px solid var(--cc-border)}
.cc-footer__legal{max-width:var(--cc-max-width);margin-inline:auto;padding:var(--cc-space-2) 1rem;color:var(--cc-text-muted)}
.cc-footer--simple .cc-footer__inner{padding-block:var(--cc-space-4);align-items:center}
.cc-footer--simple .cc-footer__nav ul{display:flex;flex-wrap:wrap;gap:0 1.25rem}
.cc-footer--simple .cc-footer__legal{padding:0}
@container site (min-width: 48rem){
  .cc-footer__inner{padding-inline:var(--cc-gutter)}
  .cc-footer--full .cc-footer__inner{grid-template-columns:2fr 1fr 1fr 1.3fr}
  .cc-footer__legal{padding-inline:var(--cc-gutter)}
  .cc-footer--simple .cc-footer__inner{grid-template-columns:1fr auto auto;gap:var(--cc-space-4)}
}
.cc-mode__legend{font-size:var(--cc-step--1);font-weight:600;color:var(--cc-text-muted);margin-bottom:0.4rem;float:left;width:100%}
.cc-mode__set{display:flex;flex-wrap:wrap;gap:0.4rem}
.cc-mode__btn{display:inline-flex;align-items:center;gap:0.35rem;min-height:44px;padding:0 0.8rem;border:1px solid var(--cc-border);border-radius:var(--cc-radius-pill);background:var(--cc-bg);color:var(--cc-text);font-size:var(--cc-step--1);cursor:pointer}
.cc-mode__btn[aria-pressed="true"]{border-color:var(--cc-text);box-shadow:inset 0 0 0 1px var(--cc-text)}
.cc-footer--simple .cc-mode__legend{float:none;width:auto;margin:0 0.5rem 0 0;align-self:center}

/* ---------- section heads ---------- */
.cc-section-head{display:flex;align-items:center;gap:1rem;margin-bottom:var(--cc-space-4);flex-wrap:wrap}
.cc-section-head__title{font-size:var(--cc-step-2);flex:none;max-width:100%}
.cc-section-head__more{flex-basis:100%;text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:0.4rem;font-size:var(--cc-step--1)}
[data-rules="none"] .cc-section-head .cc-rule{display:none}
[data-rules="none"] .cc-section-head{justify-content:space-between;flex-wrap:nowrap}
[data-rules="none"] .cc-section-head__more{flex-basis:auto}
@container site (min-width: 48rem){
  .cc-section-head__more{flex-basis:auto;order:3}
}

/* ---------- frames and image treatment ---------- */
.cc-frame{position:relative;display:block;background:var(--cc-surface-alt);overflow:hidden;border-radius:var(--cc-radius-md)}
[data-frame="hairline"] .cc-frame{box-shadow:0 0 0 1px var(--cc-border)}
[data-frame="shadow"] .cc-frame{box-shadow:0 10px 30px -12px rgba(0,0,0,.35)}
[data-frame="mat"] .cc-frame{background:#FFFFFF;padding:clamp(6px, 6%, 28px);border-radius:0;box-shadow:0 0 0 1px var(--cc-border),0 24px 40px -28px rgba(0,0,0,.6)}
[data-frame="mat"] .cc-frame img{box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
[data-mode="dark"][data-frame="mat"] .cc-frame,[data-mode="dark"] [data-frame="mat"] .cc-frame,[data-frame="mat"][data-mode="dark"] .cc-frame{background:#EDE6D8;box-shadow:0 0 0 6px #08090A,0 30px 50px -24px rgba(0,0,0,.9)}
@media (prefers-color-scheme: dark){
  [data-mode="auto"][data-frame="mat"] .cc-frame,[data-mode="auto"] [data-frame="mat"] .cc-frame{background:#EDE6D8;box-shadow:0 0 0 6px #08090A,0 30px 50px -24px rgba(0,0,0,.9)}
}
.cc-decor{filter:var(--cc-hero-filter)}

/* ---------- placeholders ---------- */
.cc-placeholder{display:grid;place-items:center;width:100%;height:100%;min-height:8rem;color:var(--cc-text-muted);background:repeating-linear-gradient(135deg, transparent 0 14px, color-mix(in srgb, var(--cc-border) 45%, transparent) 14px 15px), var(--cc-surface-alt)}
.cc-placeholder svg{width:clamp(3rem, 30%, 6rem);height:auto;opacity:.85}

/* ---------- product grid and cards ---------- */
.cc-grid{display:grid;gap:var(--cc-space-4) min(var(--cc-gutter), 1rem);grid-template-columns:repeat(var(--cc-grid-cols-phone), minmax(0, 1fr))}
@container site (min-width: 40rem){ .cc-grid{grid-template-columns:repeat(var(--cc-grid-cols-tablet), minmax(0, 1fr));column-gap:var(--cc-gutter)} }
@container site (min-width: 64rem){ .cc-grid{grid-template-columns:repeat(var(--cc-grid-cols), minmax(0, 1fr))} }
[data-aspect="original"] .cc-grid{align-items:start}
.cc-card{height:100%}
.cc-card__link{display:flex;flex-direction:column;gap:var(--cc-space-2);height:100%;color:var(--cc-text);text-decoration:none}
.cc-card__media{aspect-ratio:var(--cc-card-aspect)}
[data-aspect="original"] .cc-card__media--empty{aspect-ratio:4 / 5}
.cc-card__img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
[data-aspect="original"] .cc-card__img{height:auto}
[data-zoom="on"] .cc-card__link:hover .cc-card__img{transform:scale(1.04)}
.cc-card__link:hover .cc-card__title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.18em}
.cc-card__title{font-size:var(--cc-step-1);line-height:1.2;text-transform:none;letter-spacing:0.01em}
.cc-card__subtitle{color:var(--cc-text-muted);font-size:var(--cc-step--1)}
.cc-card__price{margin-top:auto;font-size:var(--cc-step-0)}
.cc-card__avail{display:inline-block;margin-left:0.5em;color:var(--cc-text-muted);font-size:var(--cc-step--1)}
.cc-card--sold .cc-card__img,.cc-card--sold .cc-placeholder{opacity:.55}
.cc-card__body{display:flex;flex-direction:column;gap:0.3rem;flex:1}
[data-theme="dark-gallery"] .cc-card__body,[data-hero="gallery-wall"] .cc-card__body{text-align:center;align-items:center}
.cc-price__was{color:var(--cc-text-muted);margin-left:0.4em}
.cc-chips{display:flex;flex-wrap:wrap;gap:0.3rem}
.cc-chips li{font-size:var(--cc-step--2);padding:0.15rem 0.55rem;border:1px solid var(--cc-border);border-radius:var(--cc-radius-pill);color:var(--cc-text-muted);background:var(--cc-surface)}
.cc-badges{position:absolute;top:0.6rem;left:0.6rem;display:flex;flex-wrap:wrap;gap:0.3rem;z-index:1}
.cc-badge{font-size:var(--cc-step--2);font-weight:600;padding:0.2rem 0.55rem;border-radius:var(--cc-radius-pill);background:var(--cc-surface);color:var(--cc-text);border:1px solid var(--cc-border);letter-spacing:0.02em}
.cc-badge--limited,.cc-badge--one-of-a-kind{background:var(--cc-accent);color:var(--cc-accent-contrast);border-color:var(--cc-accent)}
.cc-badge--sold{background:var(--cc-text);color:var(--cc-bg);border-color:var(--cc-text)}
[data-frame="mat"] .cc-badges{top:0.25rem;left:0.25rem}

/* ---------- collection tiles ---------- */
.cc-tiles{display:grid;gap:var(--cc-gutter)}
@container site (min-width: 40rem){ .cc-tiles{grid-template-columns:repeat(2, minmax(0, 1fr))} }
.cc-tile__link{display:grid;color:var(--cc-text);text-decoration:none;border-radius:var(--cc-radius-lg);overflow:hidden;background:var(--cc-surface);box-shadow:0 0 0 1px var(--cc-border);height:100%}
.cc-tile__media{aspect-ratio:16 / 9;overflow:hidden;background:var(--cc-surface-alt)}
.cc-tile__img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
[data-zoom="on"] .cc-tile__link:hover .cc-tile__img{transform:scale(1.03)}
.cc-tile__body{padding:var(--cc-space-3);display:grid;gap:0.35rem}
.cc-tile__title{font-size:var(--cc-step-2)}
.cc-tile__blurb{color:var(--cc-text-muted)}
.cc-tile__count{display:flex;justify-content:space-between;align-items:center;font-size:var(--cc-step--1);color:var(--cc-text-muted)}
.cc-tile__go{color:var(--cc-accent)}

/* ---------- heroes ---------- */
.cc-hero{position:relative}
.cc-hero__tagline{font-family:var(--cc-font-display);text-transform:uppercase;letter-spacing:0.2em;font-size:var(--cc-step--1);line-height:1.5;margin-top:var(--cc-space-3);max-width:40ch;margin-inline:auto}
.cc-hero__cta{margin-top:var(--cc-space-4)}

/* carousel (SPEC 18): a scroll-snap row without JavaScript; enhance.js adds the controls */
.cc-slides{position:relative;background:var(--cc-surface-alt);overflow:hidden}
.cc-slides__track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--cc-border) transparent}
.cc-slides__track:focus-visible{outline-offset:-4px}
.cc-carousel.is-enhanced .cc-slides__track{scrollbar-width:none}
.cc-carousel.is-enhanced .cc-slides__track::-webkit-scrollbar{display:none}
.cc-slide{position:relative;flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;aspect-ratio:4 / 5;overflow:hidden;background:var(--cc-surface-alt)}
.cc-slides--brand .cc-slide,.cc-slides--logo .cc-slide{aspect-ratio:1}
.cc-slide__img{width:100%;height:100%;object-fit:cover}
.cc-slide__img--logo{object-fit:contain;background:#ECDFCB}
.cc-slides--logo .cc-slide--hero{background:#ECDFCB}
.cc-slide__link{display:block;height:100%;color:var(--cc-text);text-decoration:none}
.cc-slide__caption{position:absolute;left:1rem;bottom:1rem;max-width:calc(100% - 2rem);display:flex;flex-direction:column;gap:0.1rem;padding:0.5rem 0.8rem;border-radius:var(--cc-radius-sm);background:var(--cc-surface);color:var(--cc-text);font-size:var(--cc-step--1);line-height:1.3;box-shadow:0 0 0 1px var(--cc-border)}
.cc-slide__title{font-family:var(--cc-font-display);font-size:var(--cc-step-0)}
.cc-slide__price{color:var(--cc-text-muted)}
.cc-slide__link:hover .cc-slide__title{text-decoration:underline;text-underline-offset:0.18em}
[data-overlay="paper-fade"] .cc-slides--brand .cc-slide--hero::after{content:"";position:absolute;inset:auto 0 0;height:16%;background:linear-gradient(to bottom, transparent, var(--cc-bg));pointer-events:none}
.cc-slide--overlay::after{content:"";position:absolute;inset:0;background:var(--cc-hero-scrim);pointer-events:none}
.cc-slide__text{position:absolute;inset:auto 1rem 10%;z-index:2;text-align:center;color:var(--cc-hero-text)}
.cc-slide__text .cc-wordmark{color:var(--cc-hero-text)}
.cc-slide__text .cc-rule{border-top-color:currentColor;opacity:.75}
.cc-slide__text .cc-hero__tagline{margin-top:var(--cc-space-2)}
.cc-slide__text .cc-hero__cta{margin-top:var(--cc-space-3)}
.cc-slide__text .cc-wordmark--hero{font-size:clamp(2rem, 1rem + 5cqi, 5.4rem)}
@container site (min-width: 40rem){
  .cc-slide,.cc-slides--brand .cc-slide,.cc-slides--logo .cc-slide{aspect-ratio:16 / 9}
}
@container site (min-width: 64rem){
  .cc-slide,.cc-slides--brand .cc-slide,.cc-slides--logo .cc-slide{aspect-ratio:auto;height:clamp(320px, 62vh, 680px)}
  .cc-slide__caption{left:var(--cc-gutter);bottom:var(--cc-gutter)}
  .cc-slide__text{bottom:14%}
}
.cc-carousel__controls{display:flex;justify-content:center;align-items:center;gap:0.25rem;padding:0.15rem 0.5rem;background:var(--cc-bg)}
.cc-carousel__btn{display:inline-grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--cc-text);cursor:pointer}
.cc-carousel__btn:hover{background:var(--cc-surface-alt)}
.cc-carousel__btn svg{width:20px;height:20px}
.cc-carousel__dots{display:flex;align-items:center}
.cc-carousel__dot{display:inline-grid;place-items:center;width:28px;height:44px;border:0;background:transparent;cursor:pointer;padding:0}
.cc-carousel__dot::before{content:"";width:9px;height:9px;border-radius:50%;border:1.5px solid var(--cc-text);background:transparent}
.cc-carousel__dot[aria-current="true"]::before{background:var(--cc-text)}
@container site (max-width: 25rem){ .cc-carousel__dot{width:22px} }
.cc-hero-band{padding-block:var(--cc-space-3);text-align:center;border-bottom:1px solid var(--cc-border)}
.cc-btn--hero{min-width:12rem}
.cc-slide__text .cc-btn--hero{box-shadow:0 8px 24px -14px rgba(0,0,0,.5)}
[data-button="outline"] .cc-slide__text .cc-btn--hero,[data-button="underline"] .cc-slide__text .cc-btn--hero{color:var(--cc-hero-text);border:1px solid currentColor;background:transparent}
[data-button="outline"] .cc-slide__text .cc-btn--hero:hover,[data-button="underline"] .cc-slide__text .cc-btn--hero:hover{background:var(--cc-hero-text);color:var(--cc-surface)}

/* monogram: the CC mark on parchment, with the wordmark under it */
.cc-hero--monogram{text-align:center;padding-block:var(--cc-space-5) var(--cc-space-6);border-bottom:1px solid var(--cc-border)}
[data-rules="double"] .cc-hero--monogram{border-bottom:3px double var(--cc-border)}
.cc-hero__stack{display:flex;flex-direction:column;align-items:center}
.cc-hero--monogram .cc-wordmark--hero{margin-top:var(--cc-space-4);font-size:clamp(2.2rem, 1rem + 5cqi, 5rem)}
.cc-hero--compact{padding-block:var(--cc-space-4) var(--cc-space-5)}
.cc-hero--compact .cc-hero__tagline{margin-top:0}
.cc-hero--compact .cc-wordmark--hero{margin-top:0;font-size:clamp(1.8rem, 1rem + 3cqi, 3.4rem)}

/* gallery wall: framed works hung on a dark wall, wordmark small */
.cc-hero--wall{padding-block:var(--cc-space-5) var(--cc-space-6);background:radial-gradient(ellipse 60% 55% at 50% 38%, color-mix(in srgb, var(--cc-text) 7%, transparent), transparent 70%),var(--cc-bg);border-bottom:1px solid var(--cc-border)}
.cc-wall__intro{text-align:center;margin-bottom:var(--cc-space-5)}
.cc-wordmark--wall{font-size:var(--cc-step-3)}
.cc-hero--wall .cc-hero__tagline{font-family:var(--cc-font-body);text-transform:none;letter-spacing:0.02em;font-size:var(--cc-step-0);color:var(--cc-text-muted);margin-top:var(--cc-space-2)}
.cc-hero--wall .cc-hero__cta{margin-top:var(--cc-space-3)}
.cc-wall{display:grid;grid-template-columns:1fr 1fr;gap:var(--cc-space-4) var(--cc-space-3);align-items:center}
.cc-wall__piece{margin:0}
.cc-wall__piece--main{grid-column:1 / -1;order:-1}
.cc-wall__link{display:block;color:var(--cc-text);text-decoration:none}
.cc-wall__img{width:100%;height:auto}
.cc-wall__label{display:flex;flex-direction:column;align-items:center;gap:0.1rem;margin-top:var(--cc-space-2);font-size:var(--cc-step--1);text-align:center}
.cc-wall__title{font-family:var(--cc-font-display)}
.cc-wall__meta{color:var(--cc-text-muted)}
@container site (min-width: 48rem){
  .cc-wall{grid-template-columns:1fr 2.2fr 1fr;gap:var(--cc-space-5)}
  .cc-wall__piece--main{grid-column:2;grid-row:1;order:0}
  .cc-wall__piece--left{grid-column:1;grid-row:1}
  .cc-wall__piece--right{grid-column:3;grid-row:1}
  .cc-wall--single{grid-template-columns:1fr}
  .cc-wall--single .cc-wall__piece--main{grid-column:1;max-width:56rem;margin-inline:auto}
}

/* market grid: the wordmark panel next to a collage of the newest pieces */
.cc-hero--market{padding-block:var(--cc-space-4) var(--cc-space-6)}
.cc-market{display:grid;gap:var(--cc-gutter)}
.cc-market__panel{background:var(--cc-surface);border-radius:var(--cc-radius-lg);padding:var(--cc-space-6) var(--cc-space-5);min-width:0;box-shadow:0 0 0 1px var(--cc-border);display:flex;flex-direction:column;justify-content:center}
.cc-wordmark--market{align-items:flex-start;font-size:clamp(1.9rem, 0.9rem + 2.6cqi, 3.4rem)}
.cc-wordmark--market .cc-wordmark__sub{width:auto;align-self:stretch}
.cc-hero--market .cc-hero__tagline{margin-inline:0;font-family:var(--cc-font-body);text-transform:none;letter-spacing:0;font-size:var(--cc-step-1);color:var(--cc-text-muted);max-width:26ch}
.cc-market__collage{display:grid;grid-template-columns:1fr 1fr;gap:min(var(--cc-gutter), 0.75rem)}
.cc-market__tile{position:relative;display:block;overflow:hidden;border-radius:var(--cc-radius-md);background:var(--cc-surface-alt);color:var(--cc-text);text-decoration:none;aspect-ratio:1}
.cc-market__tile--big{grid-column:1 / -1;aspect-ratio:16 / 9}
.cc-market__img,.cc-market__ph{width:100%;height:100%;object-fit:cover}
.cc-market__ph{min-height:0}
.cc-market__img{transition:transform .6s ease}
[data-zoom="on"] .cc-market__tile:hover .cc-market__img{transform:scale(1.04)}
.cc-market__tag{position:absolute;top:0.6rem;left:0.6rem;padding:0.2rem 0.6rem;border-radius:var(--cc-radius-pill);background:var(--cc-accent);color:var(--cc-accent-contrast);font-weight:600;font-size:var(--cc-step--1)}
.cc-market__caption{position:absolute;left:0.5rem;right:0.5rem;bottom:0.5rem;display:flex;flex-direction:column;gap:0.1rem;padding:0.35rem 0.55rem;border-radius:var(--cc-radius-sm);background:var(--cc-surface);color:var(--cc-text);font-size:var(--cc-step--2);line-height:1.25;box-shadow:0 0 0 1px var(--cc-border)}
.cc-market__tile--big .cc-market__caption{font-size:var(--cc-step--1);right:auto;max-width:calc(100% - 1rem)}
.cc-market__chips{color:var(--cc-text-muted);font-size:var(--cc-step--2)}
.cc-market__tile:not(.cc-market__tile--big) .cc-market__chips{display:none}
.cc-market__tile:nth-child(n+4){display:none}
@container site (min-width: 40rem){
  .cc-market__collage{grid-template-columns:repeat(3, minmax(0, 1fr))}
  .cc-market__tile:nth-child(4){display:block}
}
@container site (min-width: 64rem){
  .cc-market{grid-template-columns:minmax(0, 5fr) minmax(0, 7fr);align-items:stretch}
  .cc-market__tile--big{grid-column:1 / 3;grid-row:1 / 3;aspect-ratio:auto}
  .cc-market__tile:nth-child(4){display:none}
}

/* ---------- intro ---------- */
.cc-intro{text-align:center}
.cc-intro .cc-prose{margin-inline:auto;font-size:var(--cc-step-1);color:var(--cc-text)}
.cc-intro__title{font-size:var(--cc-step-2);margin-bottom:var(--cc-space-3)}

/* ---------- page heads, breadcrumbs ---------- */
.cc-page-head{margin-bottom:var(--cc-space-5)}
.cc-page-head__title{font-size:var(--cc-step-4)}
.cc-page-head__intro{margin-top:var(--cc-space-2);color:var(--cc-text-muted);font-size:var(--cc-step-1)}
.cc-crumbs ol{display:flex;flex-wrap:wrap;gap:0.4rem;font-size:var(--cc-step--1);padding-top:var(--cc-space-3)}
.cc-crumbs li + li::before{content:"/";margin-right:0.4rem;color:var(--cc-text-muted)}
.cc-crumbs a{color:var(--cc-text-muted);text-decoration:none;display:inline-flex;min-height:32px;align-items:center}
.cc-crumbs a:hover{color:var(--cc-link);text-decoration:underline}

/* ---------- collection page ---------- */
.cc-banner{overflow:hidden;background:var(--cc-surface-alt)}
.cc-banner__img{width:100%;aspect-ratio:16 / 7;object-fit:cover}
@container site (min-width: 48rem){ .cc-banner__img{aspect-ratio:1672 / 480} }
.cc-collection-head__text{padding-bottom:var(--cc-space-3)}
.cc-collection-head__title{font-size:var(--cc-step-5);margin-top:var(--cc-space-2)}
.cc-collection-head__desc{color:var(--cc-text-muted);margin-top:var(--cc-space-2);font-size:var(--cc-step-1)}
.cc-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:0.75rem 1.25rem;margin-bottom:var(--cc-space-4);padding-block:var(--cc-space-2);border-block:1px solid var(--cc-border)}
.cc-toolbar__count{color:var(--cc-text-muted);font-size:var(--cc-step--1);margin-right:auto}
.cc-filters{order:-1;width:100%}
.cc-filters__summary,.cc-sort__summary{display:inline-flex;align-items:center;min-height:44px;cursor:pointer;font-size:var(--cc-step--1);font-weight:600;list-style:none}
.cc-filters__summary::-webkit-details-marker,.cc-sort__summary::-webkit-details-marker{display:none}
.cc-filters__summary::after,.cc-sort__summary::after{content:"";width:0.45em;height:0.45em;margin-left:0.6em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-25%)}
.cc-filters__body{display:grid;gap:var(--cc-space-2);padding-block:var(--cc-space-2)}
.cc-filter__options{display:flex;flex-wrap:wrap;gap:0.4rem;margin-top:0.3rem}
.cc-chip-link{display:inline-flex;align-items:center;gap:0.45rem;min-height:40px;padding:0 0.9rem;border:1px solid var(--cc-border);border-radius:var(--cc-radius-pill);color:var(--cc-text);background:var(--cc-surface);text-decoration:none;font-size:var(--cc-step--1)}
.cc-chip-link:hover{border-color:var(--cc-text)}
.cc-chip-link.is-selected{background:var(--cc-text);color:var(--cc-bg);border-color:var(--cc-text)}
.cc-chip-link__count{color:var(--cc-text-muted);font-size:0.85em}
.cc-chip-link.is-selected .cc-chip-link__count{color:inherit}
.cc-sort{position:relative}
.cc-sort__list{position:absolute;right:0;top:100%;z-index:5;min-width:14rem;padding:0.4rem;background:var(--cc-surface);border:1px solid var(--cc-border);border-radius:var(--cc-radius-md);box-shadow:0 12px 30px -16px rgba(0,0,0,.35)}
.cc-sort__list a{display:flex;align-items:center;min-height:44px;padding-inline:0.7rem;color:var(--cc-text);text-decoration:none;border-radius:var(--cc-radius-sm)}
.cc-sort__list a:hover,.cc-sort__list a[aria-current="true"]{background:var(--cc-surface-alt)}
.cc-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-top:var(--cc-space-5)}
.cc-pagination a[rel="next"]{justify-self:end}
.cc-pagination__info{color:var(--cc-text-muted);font-size:var(--cc-step--1)}

/* ---------- product page ---------- */
.cc-product__grid{width:100%;max-width:var(--cc-max-width);margin-inline:auto;padding:var(--cc-space-3) 1rem 0;display:grid;gap:var(--cc-space-5)}
.cc-product__media{min-width:0}
.cc-product__main{display:block}
.cc-product__img{width:100%;height:auto}
.cc-product__main--empty{aspect-ratio:4 / 5}
.cc-product__ph{min-height:100%}
.cc-thumbs{display:flex;flex-wrap:wrap;gap:0.6rem;margin-top:0.75rem}
.cc-thumbs__link{display:block;width:4.5rem;border-radius:var(--cc-radius-sm);overflow:hidden;box-shadow:0 0 0 1px var(--cc-border);opacity:.75}
.cc-thumbs__link.is-current,.cc-thumbs__link:hover{opacity:1;box-shadow:0 0 0 2px var(--cc-text)}
.cc-thumbs__img{width:100%;aspect-ratio:1;object-fit:cover}
.cc-product__info{min-width:0;display:flex;flex-direction:column;gap:var(--cc-space-3)}
.cc-product__lead{display:flex;flex-direction:column;gap:var(--cc-space-2)}
.cc-product__side{display:grid;gap:var(--cc-space-2)}
.cc-product__title{font-size:var(--cc-step-4)}
.cc-product__subtitle{color:var(--cc-text-muted)}
.cc-product__price{font-size:var(--cc-step-2);font-family:var(--cc-font-display);letter-spacing:0.02em;margin-top:var(--cc-space-1)}
.cc-edition{font-size:var(--cc-step--1);color:var(--cc-text-muted);display:flex;align-items:center;gap:0.5rem}
.cc-edition--limited::before{content:"";width:0.5rem;height:0.5rem;border-radius:50%;background:var(--cc-accent)}
.cc-product__sold{color:var(--cc-danger);font-weight:600}
.cc-product__ship{font-size:var(--cc-step--1);color:var(--cc-text-muted)}
.cc-product__details{display:grid;gap:var(--cc-space-4);margin-top:var(--cc-space-3);padding-top:var(--cc-space-4);border-top:1px solid var(--cc-border)}
.cc-fact-chips{display:flex;flex-wrap:wrap;gap:0.4rem;margin-block:0.2rem}
.cc-fact-chips li{display:inline-flex;align-items:baseline;gap:0.35rem;padding:0.3rem 0.75rem;border-radius:var(--cc-radius-pill);background:var(--cc-surface-alt);font-size:var(--cc-step--1)}
.cc-fact-chips__k{color:var(--cc-text-muted)}
.cc-fact-chips__v{font-weight:600}
.cc-facts{display:grid;border-top:1px solid var(--cc-border)}
.cc-facts__row{display:grid;grid-template-columns:minmax(7rem, 35%) 1fr;gap:1rem;padding-block:0.6rem;border-bottom:1px solid var(--cc-border);font-size:var(--cc-step--1)}
.cc-facts__row--long{grid-template-columns:1fr;gap:0.2rem}
.cc-facts dt{color:var(--cc-text-muted)}
.cc-facts dd{margin:0}
.cc-measure__title{font-size:var(--cc-step-1);margin-bottom:var(--cc-space-2)}
.cc-measure__table{width:100%;font-size:var(--cc-step--1)}
.cc-measure__table th,.cc-measure__table td{padding:0.55rem 0;border-bottom:1px solid var(--cc-border);text-align:left;font-weight:400}
.cc-measure__table th{color:var(--cc-text-muted)}
.cc-measure__table td{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.cc-tags{display:flex;flex-wrap:wrap;gap:0.4rem}
.cc-tags a{display:inline-flex;align-items:center;min-height:36px;padding:0 0.75rem;border:1px solid var(--cc-border);border-radius:var(--cc-radius-pill);color:var(--cc-text-muted);text-decoration:none;font-size:var(--cc-step--1)}
.cc-tags a::before{content:"#";opacity:.6;margin-right:0.1em}
.cc-buy{display:grid;gap:var(--cc-space-3);padding:var(--cc-space-3);background:var(--cc-surface);border-radius:var(--cc-radius-lg);box-shadow:0 0 0 1px var(--cc-border)}
.cc-buy__note{font-size:var(--cc-step--1);color:var(--cc-text-muted);text-align:center}
.cc-variants__legend{font-size:var(--cc-step--1);font-weight:600;margin-bottom:0.5rem}
.cc-variants__group + .cc-variants__group{margin-top:var(--cc-space-2)}
.cc-variants__kind{font-size:var(--cc-step--1);font-variant-caps:var(--cc-label-variant);text-transform:var(--cc-label-case);letter-spacing:var(--cc-label-tracking);color:var(--cc-text-muted);margin-bottom:0.3rem}
.cc-variants__list{display:grid;gap:0.3rem;max-height:20rem;overflow:auto}
.cc-variant{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:0.6rem;min-height:44px;padding:0.35rem 0.7rem;border:1px solid var(--cc-border);border-radius:var(--cc-radius-sm);font-size:var(--cc-step--1);cursor:pointer;background:var(--cc-bg)}
.cc-variant:has(input:checked){border-color:var(--cc-text);box-shadow:inset 0 0 0 1px var(--cc-text)}
.cc-variant.is-off{opacity:.55;cursor:not-allowed}
.cc-variant__input{accent-color:var(--cc-accent);width:1.1rem;height:1.1rem;margin:0}
.cc-variant__price{font-variant-numeric:tabular-nums}
/* enhanced picker (enhance.js) */
.cc-variants.is-enhanced .cc-variants__group,.cc-variants.is-enhanced .cc-variants__legend{display:none}
.cc-picker{display:grid;gap:var(--cc-space-3)}
.cc-opt{display:grid;gap:0.4rem}
.cc-opt__label{font-size:var(--cc-step--1);font-weight:600;display:flex;justify-content:space-between;gap:1rem}
.cc-opt__current{font-weight:400;color:var(--cc-text-muted)}
.cc-opt__values{display:flex;flex-wrap:wrap;gap:0.4rem}
.cc-opt__btn{min-height:44px;padding:0.35rem 0.9rem;border:1px solid var(--cc-border);border-radius:var(--cc-radius-sm);background:var(--cc-bg);color:var(--cc-text);font-size:var(--cc-step--1);cursor:pointer}
.cc-opt__btn:hover{border-color:var(--cc-text)}
.cc-opt__btn[aria-pressed="true"]{border-color:var(--cc-text);box-shadow:inset 0 0 0 1px var(--cc-text);font-weight:600}
.cc-opt__btn.is-unavailable{color:var(--cc-text-muted);text-decoration:line-through}
.cc-kind{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--cc-border);border-radius:var(--cc-radius-md);overflow:hidden}
.cc-kind__btn{min-height:44px;border:0;background:var(--cc-bg);color:var(--cc-text);font-size:var(--cc-step--1);cursor:pointer}
.cc-kind__btn[aria-pressed="true"]{background:var(--cc-text);color:var(--cc-bg);font-weight:600}
.cc-qty{display:flex;align-items:center;gap:0.75rem}
.cc-qty__label,.cc-line__qty-label{font-size:var(--cc-step--1);font-weight:600}
.cc-qty__input{width:4.5rem;min-height:44px;padding:0.3rem 0.5rem;border:1px solid var(--cc-border);border-radius:var(--cc-radius-sm);background:var(--cc-bg);text-align:center}
.cc-stepper{display:inline-flex;align-items:center;border:1px solid var(--cc-border);border-radius:var(--cc-radius-sm);overflow:hidden}
.cc-stepper .cc-qty__input{border:0;border-radius:0;width:3.2rem;-moz-appearance:textfield;appearance:textfield}
.cc-stepper .cc-qty__input::-webkit-inner-spin-button,.cc-stepper .cc-qty__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.cc-stepper__btn{width:44px;min-height:44px;border:0;background:var(--cc-surface-alt);color:var(--cc-text);font-size:1.1rem;cursor:pointer}

@container site (min-width: 56rem){
  .cc-product__grid{padding-inline:var(--cc-gutter);grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);align-items:start;gap:var(--cc-space-6)}
  .cc-product__info{position:sticky;top:var(--cc-space-3)}
  /* stacked: one centered column, the print first, like a card */
  [data-product-layout="stacked"] .cc-product__grid{grid-template-columns:minmax(0, 1fr);max-width:56rem}
  [data-product-layout="stacked"] .cc-product__info{position:static;max-width:40rem;margin-inline:auto;width:100%}
  [data-product-layout="stacked"] .cc-product__lead{text-align:center;align-items:center}
  [data-product-layout="stacked"] .cc-product__media{max-width:44rem;margin-inline:auto;width:100%}
  [data-product-layout="stacked"] .cc-thumbs{justify-content:center}
  /* immersive: the photo large on its own band, details under it in two columns */
  [data-product-layout="immersive"] .cc-product__grid{max-width:none;padding:0;grid-template-columns:minmax(0, 1fr);gap:0}
  [data-product-layout="immersive"] .cc-product__media{background:var(--cc-surface-alt);padding:var(--cc-space-5) var(--cc-gutter);display:grid;justify-items:center}
  [data-product-layout="immersive"] .cc-product__main{width:min(100%, 72rem)}
  [data-product-layout="immersive"] .cc-product__main--empty{width:min(100%, 30rem)}
  [data-product-layout="immersive"] .cc-thumbs{justify-content:center}
  [data-product-layout="immersive"] .cc-product__info{position:static;width:100%;max-width:var(--cc-max-width);margin-inline:auto;padding:var(--cc-space-5) var(--cc-gutter) 0;display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 26rem);grid-template-rows:auto 1fr;grid-template-areas:"lead side" "details side";gap:var(--cc-space-3) var(--cc-space-6);align-items:start}
  [data-product-layout="immersive"] .cc-product__lead{grid-area:lead}
  [data-product-layout="immersive"] .cc-product__side{grid-area:side}
  [data-product-layout="immersive"] .cc-product__details{grid-area:details;margin-top:0}
}
[data-product-layout="immersive"] .cc-crumbs{display:none}
@container site (max-width: 55.99rem){
  [data-product-layout="immersive"] .cc-product__grid{padding-inline:0}
  [data-product-layout="immersive"] .cc-product__media{background:var(--cc-surface-alt);padding:var(--cc-space-3) 1rem}
  [data-product-layout="immersive"] .cc-product__info{padding-inline:1rem}
}
[data-product-layout="immersive"][data-frame="mat"] .cc-product__media,[data-product-layout="immersive"] [data-frame="mat"] .cc-product__media{background:var(--cc-surface)}

/* ---------- cart, checkout, panels ---------- */
.cc-panel{background:var(--cc-surface);border-radius:var(--cc-radius-lg);box-shadow:0 0 0 1px var(--cc-border);padding:var(--cc-space-4) var(--cc-space-3)}
.cc-panel__title{font-size:var(--cc-step-1);margin-bottom:var(--cc-space-3)}
.cc-cart,.cc-checkout{display:grid;gap:var(--cc-space-5)}
@container site (min-width: 56rem){
  .cc-cart,.cc-checkout{grid-template-columns:minmax(0, 1fr) minmax(18rem, 24rem);align-items:start}
  .cc-cart__summary,.cc-checkout__summary{position:sticky;top:var(--cc-space-3)}
}
.cc-lines{display:grid;border-top:1px solid var(--cc-border)}
.cc-line{display:grid;grid-template-columns:5rem minmax(0, 1fr);gap:0.4rem 1rem;padding-block:var(--cc-space-3);border-bottom:1px solid var(--cc-border)}
.cc-line__media{grid-row:1 / span 2;aspect-ratio:1;align-self:start}
.cc-line__media img{width:100%;height:100%;object-fit:cover}
.cc-line__media .cc-placeholder{min-height:0}
.cc-line__media .cc-placeholder svg{width:60%}
.cc-line__title{font-size:var(--cc-step-1)}
.cc-line__title a{color:var(--cc-text);text-decoration:none}
.cc-line__title a:hover{text-decoration:underline}
.cc-line__variant,.cc-line__unit{color:var(--cc-text-muted);font-size:var(--cc-step--1)}
.cc-line__issue{color:var(--cc-danger);font-size:var(--cc-step--1);font-weight:600}
.cc-line__actions{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem 1rem;margin-top:0.4rem}
.cc-line__qty{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem}
.cc-line__qty-fixed{font-size:var(--cc-step--1);color:var(--cc-text-muted)}
.cc-line__total{grid-column:2;font-weight:600;font-variant-numeric:tabular-nums}
@container site (min-width: 40rem){
  .cc-line{grid-template-columns:6rem minmax(0, 1fr) auto}
  .cc-line__total{grid-column:3;grid-row:1}
}
.cc-sum{display:grid;gap:0.5rem;font-size:var(--cc-step--1);margin-bottom:var(--cc-space-3)}
.cc-sum__row{display:flex;justify-content:space-between;gap:1rem}
.cc-sum dd{margin:0;font-variant-numeric:tabular-nums}
.cc-sum__row--discount dd{color:var(--cc-success)}
.cc-sum__row--total{border-top:1px solid var(--cc-border);padding-top:0.6rem;margin-top:0.2rem;font-size:var(--cc-step-1);font-weight:600}
.cc-discount{display:grid;gap:0.35rem;margin-bottom:var(--cc-space-3)}
.cc-discount__row{display:flex;gap:0.5rem}
.cc-discount__row .cc-input{flex:1;min-width:0;text-transform:uppercase}
.cc-cart__more{text-align:center;margin-top:var(--cc-space-2);font-size:var(--cc-step--1)}
.cc-cart-empty .cc-empty{padding-block:var(--cc-space-2) var(--cc-space-4)}

.cc-fieldset{margin-bottom:var(--cc-space-4)}
.cc-fieldset__legend{font-family:var(--cc-font-display);font-weight:var(--cc-display-weight);text-transform:var(--cc-display-case);letter-spacing:var(--cc-display-tracking);font-size:var(--cc-step-1);margin-bottom:var(--cc-space-2)}
.cc-fields{display:grid;gap:var(--cc-space-2) 1rem}
@container site (min-width: 40rem){ .cc-fields{grid-template-columns:1fr 1fr} .cc-field--wide{grid-column:1 / -1} }
.cc-field{display:grid;gap:0.3rem;align-content:start}
.cc-field__label{font-size:var(--cc-step--1);font-weight:600}
.cc-field__opt{font-weight:400;color:var(--cc-text-muted)}
.cc-field__help{font-size:var(--cc-step--1);color:var(--cc-text-muted)}
.cc-field__help.is-ok{color:var(--cc-success)}
.cc-field__help.is-warn{color:var(--cc-warning)}
.cc-field__error{font-size:var(--cc-step--1);color:var(--cc-danger);font-weight:600}
.cc-field.has-error .cc-input{border-color:var(--cc-danger);box-shadow:inset 0 0 0 1px var(--cc-danger)}
.cc-input{width:100%;min-height:44px;padding:0.55rem 0.75rem;border:1px solid var(--cc-border);border-radius:var(--cc-radius-sm);background:var(--cc-bg);color:var(--cc-text);font-size:max(16px, var(--cc-step-0))}
.cc-input:focus{border-color:var(--cc-text)}
.cc-select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, currentColor 50%),linear-gradient(135deg, currentColor 50%, transparent 50%);background-position:calc(100% - 1.15rem) 55%,calc(100% - 0.8rem) 55%;background-size:0.35rem 0.35rem;background-repeat:no-repeat;padding-right:2.2rem}
.cc-textarea{min-height:6rem;resize:vertical}
.cc-choices{display:grid;gap:0.5rem;margin-bottom:var(--cc-space-3)}
.cc-choice{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:0.75rem;padding:0.8rem 1rem;border:1px solid var(--cc-border);border-radius:var(--cc-radius-md);background:var(--cc-surface);cursor:pointer}
.cc-choice:has(input:checked){border-color:var(--cc-text);box-shadow:inset 0 0 0 1px var(--cc-text)}
.cc-choice input{accent-color:var(--cc-accent);width:1.1rem;height:1.1rem;margin:0.2rem 0 0}
.cc-choice__text{display:grid;gap:0.1rem}
.cc-choice__title{font-weight:600}
.cc-choice__note{font-size:var(--cc-step--1);color:var(--cc-text-muted)}
.cc-choice__price{font-variant-numeric:tabular-nums}
.cc-address .cc-field__help{margin-bottom:var(--cc-space-2)}
.cc-checkout__pay{display:grid;gap:var(--cc-space-2);padding-top:var(--cc-space-3);border-top:1px solid var(--cc-border)}
.cc-checkout__paynote{font-size:var(--cc-step--1);color:var(--cc-text-muted);text-align:center}
.cc-mini-lines{display:grid;gap:var(--cc-space-2);margin-bottom:var(--cc-space-3)}
.cc-mini-line{display:grid;grid-template-columns:auto 1fr auto;gap:0.75rem;align-items:center;font-size:var(--cc-step--1)}
.cc-mini-line > .cc-placeholder,.cc-mini-line__img{width:3.25rem;height:3.25rem;min-height:0;object-fit:cover;border-radius:var(--cc-radius-sm)}
.cc-mini-line > .cc-placeholder svg{width:70%}
.cc-mini-line:not(:has(img, .cc-placeholder)){grid-template-columns:1fr auto}
.cc-mini-line__text{display:grid;gap:0.1rem;min-width:0}
.cc-mini-line__title{font-weight:600}
.cc-mini-line__variant,.cc-mini-line__edition{color:var(--cc-text-muted)}
.cc-mini-line__total{font-variant-numeric:tabular-nums}
.cc-testpay{display:grid;gap:var(--cc-space-2);text-align:center}

/* ---------- orders ---------- */
.cc-order{display:grid;gap:var(--cc-space-4)}
.cc-order__head{display:grid;grid-template-columns:repeat(auto-fit, minmax(9rem, 1fr));gap:var(--cc-space-3);padding:var(--cc-space-3);background:var(--cc-surface);border-radius:var(--cc-radius-lg);box-shadow:0 0 0 1px var(--cc-border)}
.cc-order__number{font-family:var(--cc-font-display);font-size:var(--cc-step-2);letter-spacing:0.04em}
.cc-status{display:inline-block;padding:0.15rem 0.7rem;border-radius:var(--cc-radius-pill);background:var(--cc-surface-alt);font-weight:600;font-size:var(--cc-step--1)}
.cc-status--paid,.cc-status--shipped,.cc-status--delivered{color:var(--cc-success)}
.cc-status--cancelled,.cc-status--refunded{color:var(--cc-danger)}
.cc-progress{display:grid;grid-template-columns:repeat(4, 1fr);gap:0.25rem}
.cc-progress__step{display:grid;justify-items:center;gap:0.4rem;text-align:center;font-size:var(--cc-step--1);color:var(--cc-text-muted);position:relative}
.cc-progress__step::before{content:"";position:absolute;top:0.45rem;left:-50%;right:50%;border-top:2px solid var(--cc-border)}
.cc-progress__step:first-child::before{display:none}
.cc-progress__step.is-done::before{border-top-color:var(--cc-accent)}
.cc-progress__dot{position:relative;width:1rem;height:1rem;border-radius:50%;border:2px solid var(--cc-border);background:var(--cc-bg);z-index:1}
.cc-progress__step.is-done .cc-progress__dot{background:var(--cc-accent);border-color:var(--cc-accent)}
.cc-progress__step.is-current{color:var(--cc-text);font-weight:600}
.cc-order__grid{display:grid;gap:var(--cc-space-5)}
@container site (min-width: 56rem){ .cc-order__grid{grid-template-columns:minmax(0, 3fr) minmax(0, 2fr)} }
.cc-order__h{font-size:var(--cc-step-1);margin-bottom:var(--cc-space-2)}
.cc-order__block + .cc-order__block{margin-top:var(--cc-space-4)}
.cc-order__address{display:grid}
.cc-order__muted{color:var(--cc-text-muted);font-size:var(--cc-step--1)}
.cc-order__ship{display:grid;gap:0.6rem}
.cc-order__ship li{display:grid;gap:0.1rem;overflow-wrap:anywhere}
.cc-order__side > .cc-order__muted{margin-top:var(--cc-space-4)}
.cc-timeline{display:grid;gap:0.6rem;border-left:2px solid var(--cc-border);padding-left:1rem}
.cc-timeline li{display:grid;font-size:var(--cc-step--1)}
.cc-timeline__at{color:var(--cc-text-muted)}
.cc-lookup{display:grid;gap:var(--cc-space-3)}
.cc-downloads{display:grid;gap:var(--cc-space-2);margin-bottom:var(--cc-space-4)}
.cc-download{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:var(--cc-space-3);background:var(--cc-surface);border-radius:var(--cc-radius-lg);box-shadow:0 0 0 1px var(--cc-border)}
.cc-download__name{font-weight:600;word-break:break-all}
.cc-download__meta{color:var(--cc-text-muted);font-size:var(--cc-step--1)}
.cc-downloads__license{font-size:var(--cc-step--1);color:var(--cc-text-muted)}
.cc-message{text-align:center;padding-block:var(--cc-space-7)}
.cc-message__body{margin-top:var(--cc-space-2);color:var(--cc-text-muted);font-size:var(--cc-step-1)}
.cc-message__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:0.75rem;margin-top:var(--cc-space-4)}
.cc-admin-links{display:grid;gap:var(--cc-space-2)}
.cc-admin-links__item{display:block;color:var(--cc-text);text-decoration:none;font-weight:600}
.cc-admin-links__item:hover{box-shadow:0 0 0 2px var(--cc-text)}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition:none !important;animation:none !important;scroll-behavior:auto !important}
  [data-zoom="on"] .cc-card__link:hover .cc-card__img,[data-zoom="on"] .cc-tile__link:hover .cc-tile__img,[data-zoom="on"] .cc-market__tile:hover .cc-market__img{transform:none}
}
