/* Preview 23: the full CREAMI range, within the approved editorial system. */
.catalog-page { background: #e8e0ef; }
.catalog-page .site-header,
.catalog-page .site-header.scrolled { background: var(--header-background,#e8e0ef); background-size:var(--header-bg-size,100% 100%); background-position:0 var(--header-bg-offset,0px); color:var(--header-ink,#24191e); }
.catalog-intro { padding-top:170px; padding-bottom:44px; }
.catalog-intro h1 { font-size:clamp(52px,6vw,88px); max-width:1000px; }
.catalog-intro p { margin-top:26px; max-width:530px; }
.catalog-controls { display:grid; grid-template-columns:minmax(0,1.8fr) repeat(3,minmax(0,1fr)); align-items:end; gap:24px; padding-bottom:26px; border-bottom:1px solid #b8a4bc; }
.catalog-controls label { display:block; font-size:12px; margin-bottom:9px; }
.catalog-controls :is(input,select),.shade-tools input { width:100%; min-width:0; min-height:46px; border:0; border-bottom:1px solid currentColor; border-radius:0; background:transparent; padding:8px 0; font:inherit; color:inherit; caret-color:currentColor; }
.catalog-controls input::placeholder,.shade-tools input::placeholder { color:#6f526c; opacity:1; }
.catalog-results { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-block:22px 30px; font-size:13px; }
.catalog-results button { min-height:44px; text-decoration:underline; text-underline-offset:4px; }
.catalog-grid { padding-bottom:100px; }
.catalog-grid .product-grid { row-gap:44px; }
.catalog-grid .card-meta>div { min-width:0; }
.catalog-grid .card-meta h3 { overflow-wrap:anywhere; }
.product-stage.swatch-stage img { width:100%; height:100%; padding:24px; object-fit:contain; filter:none; }
.main-product-view.nail-photo { aspect-ratio:1; }
.main-product-view.nail-photo>img { filter:none; }
.catalog-empty { padding:60px 0 110px; }
.catalog-empty h2 { font-size:40px; }
.catalog-empty p { margin-top:20px; }
.catalog-page footer { background:linear-gradient(180deg,#e8e0ef,#e4cddd); }
.product-page[data-product-mood] { --line:var(--product-line,#d8bfc5); }
.product-page .purchase-note { color:var(--product-muted,#6c535d); }
.product-page .product-details,.product-page .product-details details,.product-page .quantity { border-color:var(--product-line,#c8adb8); }
.product-page .quantity { background:transparent; }
.product-editorial[hidden] { display:none!important; }
.main-product-view.swatches>img { transform:none; padding:26px; }
.main-product-view.swatches.zoomed>img { transform:scale(1.45); }
.main-product-view .zoom-button { color:var(--stage-ink,#24191e); }
.product-page[data-product-view="white"] .product-editorial,
.product-page[data-product-view="white"] .related .product-stage { background:#fff!important; }
.product-page[data-product-view="white"] .shade-tools input::placeholder { color:#655b60; }
.product-page[data-product-view="white"] .main-product-view>img,
.product-page[data-product-view="swatch-white"] .main-product-view>img { filter:none; }
.shade-tools { display:flex; align-items:center; gap:20px; margin-bottom:15px; border-bottom:1px solid currentColor; }
.shade-tools input { min-height:44px; font-size:13px; border-bottom:0; }
.shade-tools :is(a,button) { display:inline-flex; align-items:center; flex:none; min-height:44px; font-size:12px; text-decoration:underline; text-underline-offset:4px; }
.shade-tools a { text-decoration:none; }
.shade-options { max-height:151px; gap:9px; overflow:auto; overscroll-behavior:contain; padding:5px; margin:-5px; scrollbar-width:thin; scrollbar-color:var(--product-muted,#6f526c) transparent; }
.shade-option { width:46px; height:66px; flex:0 0 46px; }
.shade-option img { position:static; width:100%; height:100%; max-width:100%; object-fit:contain; }
.shade-option:focus-visible { outline-color:currentColor; }
.shade-status { font-size:12px; margin-top:12px; }
.product-page[data-product-mood] .related { background:transparent; }
.product-page[data-product-mood] footer { background:var(--product-paper); }
.product-page .product-detail :is(a,button,input):focus-visible { outline-color:var(--ink); }
.product-page .main-product-view .zoom-button:focus-visible { outline-color:var(--stage-ink,#24191e); }
.search-result img { object-fit:contain; background:transparent; }
@media(max-width:1100px) and (min-width:761px) {
  .catalog-page .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .product-gallery .shade-selector { margin-top:16px; }
  .gallery-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); justify-items:start; gap:0 20px; }
  .catalog-intro { padding-top:116px; padding-bottom:34px; }
  .catalog-intro h1 { font-size:clamp(45px,11vw,64px); }
  .catalog-intro p { margin-top:22px; }
  .catalog-controls { grid-template-columns:1fr 1fr; gap:20px; }
  .catalog-controls .catalog-search-field { grid-column:1/-1; }
  .catalog-controls :is(input,select) { font-size:15px; }
  .catalog-grid { padding-bottom:65px; }
  .catalog-grid .product-grid { row-gap:34px; }
  .catalog-results { padding-block:15px 24px; }
  .shade-options { max-height:151px; }
  .shade-tools { gap:14px; }
  .shade-tools input { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .shade-options { scroll-behavior:auto; } }
