/* Product mini-landing: reusable content rows, native carousel and category discovery. */
.product-section-nav { display:flex; flex-wrap:wrap; gap:.6rem; padding-block:1.3rem; margin-top:3rem; border-block:1px solid var(--line); }
.product-section-nav button { border:1px solid var(--line); border-radius:30px; padding:.65rem 1.2rem; min-height:46px; color:var(--navy); background:transparent; cursor:pointer; }
.product-section-nav button:hover { background:#fff; border-color:var(--navy); }
.product-story { padding-top:clamp(3rem,6vw,5.5rem); }
.product-story__heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:3rem; }
.product-story__heading h2 { max-width:640px; margin-bottom:0; }
.product-story__heading > p { max-width:310px; color:var(--muted); margin:0; }
.rich-blocks { display:grid; gap:clamp(3rem,6vw,5.5rem); }
.rich-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
.rich-split--reverse .rich-media { grid-column:2; grid-row:1; }
.rich-split--reverse .rich-split__copy { grid-column:1; grid-row:1; }
.rich-media { margin:0; width:100%; overflow:hidden; border-radius:28px; position:relative; background:#e6edf0; }
.rich-media--half { aspect-ratio:4/3; }
.rich-media--wide { aspect-ratio:16/7; }
.rich-media img { position:absolute; width:100%; height:100%; object-fit:cover; inset:0; }
.rich-media--placeholder { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:1rem; padding:clamp(1.25rem,3vw,2.5rem); color:#49677a; border:1px solid rgba(47,82,105,.09); }
.rich-media--placeholder::before { content:''; position:absolute; width:65%; aspect-ratio:1; border:1px solid currentColor; opacity:.08; border-radius:50%; left:-33%; bottom:-60%; pointer-events:none; }
.rich-media--placeholder::after { content:''; position:absolute; width:32%; aspect-ratio:1; border:1px solid currentColor; opacity:.07; border-radius:50% 50% 0 0; right:-12%; top:-15%; pointer-events:none; }
.rich-media--sky { background:#e3edf2; color:#456679; }
.rich-media--peach { background:#f3e8dd; color:#866a52; }
.rich-media--sage { background:#e6ece2; color:#576f5d; }
.rich-media__frame { width:80px; height:68px; display:grid; place-items:center; color:inherit; border:1px solid currentColor; border-radius:16px; opacity:.6; }
.rich-media__frame svg { width:38px; height:38px; stroke-width:1; }
.rich-media figcaption { display:flex; align-items:center; flex-direction:column; gap:.4rem; text-align:center; position:relative; z-index:1; max-width:430px; }
.rich-media__tag { font-size:.62rem; text-transform:uppercase; letter-spacing:.12em; opacity:.8; }
.rich-media figcaption strong { font-size:clamp(1.05rem,1.5vw,1.35rem); font-weight:500; }
.rich-media figcaption > span:not(.rich-media__tag) { font-size:.78rem; font-variant-numeric:tabular-nums; }
.rich-media figcaption small { font-size:.75rem; opacity:.85; line-height:1.5; max-width:350px; margin-top:.35rem; }
.rich-split__copy { padding:1rem 0; }
.store-main .rich-split h3,.store-main .rich-panorama h3 { font-size:clamp(1.9rem,3.2vw,3.05rem); line-height:1.13; margin-bottom:1.3rem; }
.rich-split__copy > p:not(.eyebrow) { color:var(--muted); line-height:1.8; max-width:500px; }
.rich-split__copy ul { list-style:none; padding:0; margin:1.7rem 0 0; display:grid; gap:.8rem; color:var(--navy); font-size:.93rem; }
.rich-split__copy li { display:flex; align-items:baseline; gap:.8rem; }
.rich-split__copy li span { color:var(--coral); }
.rich-panorama__caption { display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(2rem,5vw,5rem); padding:2.2rem .3rem 0; align-items:start; }
.rich-panorama__caption > p { color:var(--muted); line-height:1.8; margin:.2rem 0 0; }
.rich-panorama__caption h3 { margin:0; }
.rich-draft-note { font-size:.78rem; color:var(--muted); margin:1.5rem 0 0; }
.product-section-heading { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin-bottom:1.8rem; }
.product-section-heading h2 { margin:0; }
.product-section-heading .eyebrow { margin-bottom:.8rem; }
.product-section-heading .text-link { flex:none; }
#rich-content,#related-products,#discover-categories { scroll-margin-top:2rem; }
.category-carousel { margin-top:clamp(4rem,8vw,7rem); padding-top:clamp(2rem,4vw,3.5rem); border-top:1px solid var(--line); }
.carousel-controls { display:flex; gap:.5rem; flex:none; }
.carousel-controls .icon-button { width:46px; height:46px; border:1px solid var(--line); border-radius:50%; background:var(--paper); font-size:1.35rem; }
.carousel-controls .icon-button:not(:disabled):hover { background:var(--navy); color:white; }
.product-carousel__track { display:flex; gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:2px; padding:3px 2px 1rem; margin:0; list-style:none; overscroll-behavior-inline:contain; scrollbar-width:thin; scrollbar-color:#b2c5d2 transparent; }
.product-carousel__slide { flex:0 0 calc((100% - 3rem)/4); min-width:0; scroll-snap-align:start; display:flex; }
.product-carousel__slide .product-card { width:100%; flex:1; }
.product-card--placeholder .product-card__image { display:grid; gap:.5rem; align-content:center; justify-items:center; background:#edf1f1; color:#91a2a7; }
.product-card--placeholder .product-card__image svg { width:44px; height:44px; stroke-width:1; }
.product-card--placeholder .product-card__image > span { position:static; font-size:.7rem; letter-spacing:0; text-transform:none; }
.product-card--placeholder > p:not(.product-meta) { color:var(--muted); font-size:.85rem; }
.store-main .product-card--placeholder h3 { color:#607481; }
.product-card--placeholder .product-meta { color:#73848c; }
.placeholder-card__bottom { margin-top:auto; padding-top:1rem; border-top:1px dashed var(--line); color:var(--muted); font-size:.75rem; min-height:60px; }
.carousel-footer { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:1rem; }
.carousel-footer > span { color:var(--muted); font-size:.8rem; font-variant-numeric:tabular-nums; }
.category-discovery { margin-top:clamp(2.5rem,5vw,4rem); padding-top:1.25rem; border-top:1px solid var(--line); }
.category-discovery__grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.4rem; padding:.35rem; }
.category-tile { --accent:#0089b2; display:flex; flex-direction:column; align-items:center; gap:.65rem; padding:.5rem .2rem; min-width:0; border-radius:12px; }
.category-tile:hover .category-tile__name { color:var(--accent); }
.category-tile:hover .category-tile__icon { filter:brightness(1.06); }
.category-tile__icon { width:52px; height:52px; display:grid; place-items:center; }
.category-tile__icon img { display:block; width:100%; height:100%; object-fit:contain; }
.category-tile__name { font-size:.82rem; line-height:1.35; color:var(--ink); text-align:center; white-space:nowrap; }
.category-tile--pink { --accent:#dd5e92; }
.category-tile--rose { --accent:#d7427c; }
.category-tile--coral { --accent:#e36864; }
.category-tile--orange { --accent:#d98046; }
.category-tile--amber { --accent:#b98d20; }
.category-tile--yellow { --accent:#a69836; }
@media(max-width:1100px) {
  .product-carousel__slide { flex-basis:calc((100% - 2rem)/3); }
  .rich-split { gap:2rem; }
}
@media(max-width:900px) {
  .category-discovery__grid { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:124px; gap:.3rem; overflow-x:auto; padding-bottom:.7rem; scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:#b2c5d2 transparent; }
  .category-tile { scroll-snap-align:start; }
}
@media(max-width:700px) {
  .product-section-nav { gap:.5rem; margin-top:2rem; }
  .product-section-nav button { padding:.6rem .85rem; font-size:.85rem; }
  .product-story__heading { display:block; margin-bottom:2rem; }
  .product-story__heading > p { margin-top:1rem; max-width:none; }
  .rich-split { grid-template-columns:1fr; gap:1.4rem; }
  .rich-split--reverse .rich-media,.rich-split--reverse .rich-split__copy { grid-column:auto; grid-row:auto; }
  .rich-split__copy { padding:0 .2rem; }
  .rich-media { border-radius:22px; }
  .rich-media--placeholder { gap:.75rem; padding:1.2rem; }
  .rich-media__frame { width:56px; height:46px; border-radius:12px; }
  .rich-media__frame svg { width:30px; height:30px; }
  .rich-media figcaption small { display:none; }
  .rich-media--wide { aspect-ratio:4/3; }
  .rich-panorama__caption { grid-template-columns:1fr; gap:.5rem; padding-top:1.5rem; }
  .store-main .rich-split h3,.store-main .rich-panorama h3 { font-size:1.9rem; }
  .rich-split__copy > p:not(.eyebrow),.rich-panorama__caption > p { font-size:.95rem; }
  .product-section-heading { align-items:center; flex-wrap:wrap; }
  .product-section-heading h2 { font-size:1.65rem; }
  .product-carousel__slide { flex-basis:82%; max-width:320px; }
  .product-carousel__slide .product-card { padding:1rem; }
  .product-carousel__slide .product-card ul { display:block; }
  .carousel-controls { margin-left:auto; }
  .carousel-footer { align-items:start; }
  .carousel-footer .text-link { font-size:.82rem; }
  .carousel-footer > span { flex:none; }
}
