/* Vihann: Apple-inspired restraint, Bloom's product cards and blue purchase actions. */
:root{--premium-ink:#1d1d1f;--premium-muted:#6e6e73;--premium-surface:#f5f5f7;--premium-line:#e8e8ed;--premium-blue:#009de1;--premium-radius:24px;--premium-ease:cubic-bezier(.22,1,.36,1)}
body{color:var(--premium-ink);-webkit-font-smoothing:antialiased}
.header{background:rgb(255 255 255 / 88%);backdrop-filter:saturate(160%) blur(22px);border-bottom:1px solid rgb(29 29 31 / 7%);box-shadow:none;transition:box-shadow .3s}
.header.is-scrolled{box-shadow:0 5px 24px #16232b08}
.header-main{height:88px;gap:28px}
.main-nav{font-size:12px;font-weight:600;letter-spacing:.03em;gap:15px 22px}
.header-actions{gap:8px}.header-actions .icon-button{width:42px;height:42px;border-radius:50%;transition:background .2s}
.header img{mix-blend-mode:multiply}
.header-actions .icon-button:hover{background:#f0f2f5}.header-actions svg{width:22px;height:22px}
.nav-panel{border-color:var(--premium-line);border-radius:0 0 24px 24px;box-shadow:0 20px 40px #1023310c}
.nav-panel a{padding:12px 0;transition:color .2s}.nav-panel a:hover{color:#007eaf;text-decoration:none}
.hero.hero-artwork,.hero-artwork .hero-viewport{border-radius:0}
.hero.hero-artwork .hero-controls{bottom:22px;gap:10px}
.hero.hero-artwork .hero-controls .hero-dots,.hero.hero-artwork .hero-pause{backdrop-filter:blur(18px);background:#ffffffe3;box-shadow:0 4px 20px #152c4314}
.categories-section{background:var(--premium-surface);padding-block:56px 38px}
.category-intro{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:32px}
.category-intro h2{font-size:28px;font-weight:600;letter-spacing:-1px;line-height:1.2;margin:0}
.category-intro p{font-size:13px;color:var(--premium-muted);margin:0}
.category-circles>a,.category-circles>button{flex:0 0 calc((100% - 120px)/6);min-width:170px;padding-bottom:12px}
.category-circle{border:2px solid var(--premium-blue);padding:4px;background:#fff;margin-bottom:16px;transition:box-shadow .3s}
.category-circle.category-video video{border-radius:50%}
.category-circles strong{font-size:12px;font-weight:600;min-height:48px;padding:8px 4px 0}
.category-video-toolbar{position:static;margin-top:16px}.category-video-toggle{background:transparent;border-color:#d8dfe4;color:#52616a}
#home-view>.collection,#home-view>.featured-section,#home-view>.care-section,#home-view>.promotion-section{padding-block:76px}
.section-heading{margin-bottom:36px}
.section-heading h2{font-size:36px;font-weight:700;line-height:1;letter-spacing:-1.2px;text-wrap:balance}
.section-heading h2 span{color:var(--premium-blue)}
.section-heading.centered{text-align:left;justify-content:flex-start}
.section-heading.centered h2{width:100%;text-align:left}
.section-heading .section-caption{font-size:14px;line-height:1.6;color:var(--premium-muted);margin:16px 0 0;max-width:510px}
.section-heading.with-caption{display:block}
#selecao .shelf-toolbar{margin-top:0;margin-bottom:32px;justify-content:space-between;gap:20px}
#selecao .shelf-toolbar .tabs{margin:0;padding:0;justify-content:flex-start}
.tabs button{border-color:var(--premium-line);background:#fff;min-height:44px;font-size:14px;padding:10px 20px}
.tabs button.active{background:var(--premium-ink);border-color:var(--premium-ink);color:#fff}
.tabs button:not(.active):hover{background:var(--premium-surface);border-color:#cbd0d5}
.rail-arrow{background:#f5f5f7;border-color:transparent;color:#52616a;transition:background .2s,color .2s,opacity .2s}
.rail-arrow:hover:not(:disabled){background:#e8edf1;color:#011016}
.product-card{border-radius:0 0 var(--card-radius) var(--card-radius);background:#fff;transition:box-shadow .35s var(--premium-ease)}
.product-card .product-visual{border-radius:0}
.product-card .product-info{border-radius:0 0 var(--card-radius) var(--card-radius);background:#f2f8fb}
.product-card .favorite{background:#ffffffed;box-shadow:0 2px 10px #16232b06}
.product-card .product-badge{font-weight:500}
.product-rail,.responsive-rail{overscroll-behavior-x:contain;scroll-padding-inline:1px;padding-bottom:12px}
.section-more{margin-top:30px}.button.outline{border-color:#cbd1d6;min-height:42px;padding-inline:25px}
.bento-promo,.featured-product,.mini-product-list,.care-card,.mosaic-card,.editorial-card{border-radius:var(--premium-radius)}
.bento-grid{gap:20px}.bento-side{gap:20px}.bento-promo{background:#edf5fa}.mini-product-list{background:#faf1f8}
.featured-product{background:#f2f8fb}.featured-controls{padding:4px}
.care-card:after,.mosaic-card:after{background:linear-gradient(0deg,#071b2bc9,transparent 75%)}
.care-card .button,.mosaic-card .button{border-color:#fff;background:#fff;min-height:36px}
.care-card>img,.mosaic-card>img{transition:transform .8s var(--premium-ease)}
@media(hover:hover){.product-card:hover{box-shadow:0 9px 26px #122a3b0a}.care-card:hover>img,.mosaic-card:hover>img{transform:scale(1.035)}}
.editorial-band{padding-block:76px;background:var(--premium-surface)}
.editorial-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:36px}
.editorial-intro .eyebrow{display:block;font-size:11px;letter-spacing:1.8px;color:var(--premium-muted);margin-bottom:14px}
.editorial-intro h2{font-size:clamp(36px,4.5vw,64px);font-weight:600;letter-spacing:-2.5px;line-height:1.08;margin:0}
.editorial-intro h2 span{color:#87929b}.editorial-intro p{font-size:14px;line-height:1.7;color:var(--premium-muted);max-width:290px;margin:0 0 4px}
.editorial-card.video-card{border-radius:24px}.video-expand{box-shadow:0 3px 14px #0001}
.service-band{background:var(--premium-surface);border-block:1px solid var(--premium-line);padding-top:0}.service-strip{padding-block:48px}
.site-footer{background:#fff;color:var(--premium-ink)}
.footer-links a,.footer-links button,.footer-links summary{color:var(--premium-ink)}.footer-links p{color:var(--premium-muted)}
.site-footer .footer-bottom{border-color:var(--premium-line);color:var(--premium-muted)}
.footer-invitation{background:var(--premium-surface);color:var(--premium-ink);border-radius:24px;padding:32px}
.footer-invitation h2{color:var(--premium-ink);font-size:36px;letter-spacing:-1.4px}.footer-invitation p,.footer-invitation .eyebrow,.footer-invitation>a{color:var(--premium-muted)}
.footer-invitation .button{background:#fff;color:var(--premium-ink);border-color:#d5d8dd}
.footer-bottom{border-top:1px solid var(--premium-line);color:var(--premium-muted)}
/* Product purchase typography is defined in product-page.css. */
.bundle-option{border-radius:18px;border-color:var(--premium-line);transition:border-color .2s,background .2s}
.bundle-option.selected{border-color:var(--premium-blue);background:#f5fbfe;box-shadow:none}
.detail-tabs button{background:#f5f5f7;border:0;min-height:44px;padding-inline:20px}.detail-tabs button.active{background:#1d1d1f;color:#fff}
.sticky-buy{background:#ffffffec;backdrop-filter:blur(18px);border-color:#e4e9ec;border-radius:22px;box-shadow:0 8px 32px #142b4514}
dialog::backdrop,#cart-dialog::backdrop{background:#17304438;backdrop-filter:blur(5px)}
.small-dialog{border-radius:28px}.drawer-header .icon-button{background:#f5f5f7}
.cart-discovery{margin-top:24px;padding-top:22px;border-top:1px solid var(--premium-line)}
.cart-discovery h3{font-size:16px;font-weight:500;margin:0 0 12px}.cart-discovery .mini-product{min-height:112px;padding:14px 42px 14px 0;gap:14px;border-bottom:1px solid var(--premium-line)}
.cart-discovery .mini-image{width:64px;height:74px;flex-basis:64px}.cart-discovery .mini-product h3{font-size:12px;line-height:1.5;margin:0}.cart-discovery .mini-product strong{font-size:14px}.cart-discovery .mini-note{display:none}.cart-discovery .mini-add{right:0;bottom:18px}
#cart-dialog .cart-discovery .mini-image{background:#fff;border-radius:12px}
#cart-dialog #cart-items:has(.cart-discovery) .empty-state{height:auto;min-height:260px;padding:24px 0}
.recent-section{padding-block:72px}.recent-section[hidden]{display:none}.recent-section .section-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.recent-section .section-heading h2{font-size:32px}.recent-clear{font-size:12px;color:#52616a;text-decoration:underline;text-underline-offset:4px;flex-shrink:0;min-height:44px}
.media-pager{display:none}.product-media-group{min-width:0;width:100%;align-self:start}
.categories-section .rail-arrow:disabled{visibility:hidden}
@media(max-width:1100px){.header-main{height:76px}.main-nav{font-size:11px}.category-circles>a,.category-circles>button{min-width:165px}.editorial-intro h2{font-size:46px}}
@media(max-width:760px){
 .header-main{height:68px;padding-inline:18px;gap:12px}.header-actions{gap:0}.header-actions .icon-button{width:40px;height:40px}
 .category-intro{display:block;margin-bottom:26px}.category-intro h2{font-size:25px;letter-spacing:-.8px}.category-intro p{margin-top:10px;font-size:12px}
 .categories-section{padding-block:34px 24px}.category-circles>a,.category-circles>button{flex-basis:130px;min-width:130px}.category-circles strong{font-size:10px;min-height:40px;padding-top:8px}.category-circle{margin-bottom:8px}
 #home-view>.collection,#home-view>.featured-section,#home-view>.care-section,#home-view>.promotion-section{padding-block:44px}
 .section-heading{margin-bottom:26px}.section-heading h2{font-size:28px;letter-spacing:-1px;line-height:1}.section-heading .section-caption{font-size:12px;margin-top:12px}
 #selecao .shelf-toolbar{display:block;margin-bottom:22px}#selecao .shelf-toolbar .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:8px}#selecao .shelf-nav{justify-content:flex-end;margin-top:12px}
 .product-rail,.responsive-rail{grid-auto-columns:max(128px,36vw);gap:12px!important}
 .editorial-band{padding-block:44px}.editorial-intro{display:block;margin-bottom:28px}.editorial-intro h2{font-size:40px;letter-spacing:-1.8px}.editorial-intro p{font-size:12px;margin-top:18px;max-width:300px}
 .bento-grid,.bento-side{gap:16px}.bento-promo,.mini-product-list,.featured-product{border-radius:22px}
 .care-card{border-radius:22px}.care-card h3{font-size:24px}.mosaic-card{border-radius:20px}
 .pdp [data-pdp-add]{font-size:15px;line-height:18px;min-height:52px;padding:10px 12px}.pdp .product-gallery.approved-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px}.pdp .approved-gallery .gallery-tile{flex:0 0 100%;scroll-snap-align:start;aspect-ratio:1;border-radius:24px}
 .media-pager{display:flex;justify-content:center;align-items:center;gap:16px;margin:14px 0 0;grid-column:1/-1}.media-pager span{font-size:12px;font-variant-numeric:tabular-nums}.media-pager .rail-arrow{width:36px;height:36px;min-width:36px}
 .recent-section{padding-block:44px}.recent-section .section-heading{align-items:flex-start;flex-wrap:wrap}.recent-section .section-heading h2{font-size:26px;min-width:0;flex:1 1 220px}.recent-clear{font-size:11px}
 .footer-invitation{padding:26px}.footer-invitation h2{font-size:32px}.footer-invitation p{font-size:13px}
}
/* Match the reference's shelf density through desktop, tablet and phone. */
@media(min-width:761px) and (max-width:1279px){
 .wrap{padding-inline:36px}
 .product-rail,.responsive-rail{grid-auto-columns:calc((100% - 32px)/3);gap:16px}
}
@media(min-width:761px) and (max-width:999px){
 .wrap{padding-inline:20px}
 .product-rail,.responsive-rail{grid-auto-columns:36vw}
}
@media(max-width:760px){.pdp .collection .section-heading h2{font-size:28px}}
/* Large, borderless category films, with the next item visible at the edge. */
.categories-section{--category-size:300px;--category-bleed:max(48px,calc((100vw - 1600px)/2));overflow:hidden}
.category-carousel{position:relative;width:calc(100% + var(--category-bleed))}
.category-carousel .category-circles{gap:24px;padding-top:4px;scrollbar-width:none;cursor:grab;user-select:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom}
.category-carousel .category-circles::-webkit-scrollbar{display:none}
.category-carousel .category-circles>a,.category-carousel .category-circles>button{flex:0 0 var(--category-size);min-width:var(--category-size);padding-bottom:12px;background:transparent}
.category-carousel .category-circle{width:var(--category-size);height:var(--category-size);border:0;padding:0;box-shadow:none;margin-bottom:20px}
.category-carousel .category-circles strong{font-size:20px;line-height:1.25;font-weight:700;padding:8px 12px 0;min-height:58px}
.category-carousel .category-circles a,.category-carousel .category-circles button{cursor:grab;-webkit-user-drag:none}
.category-carousel .category-circles.is-dragging{scroll-snap-type:none;scroll-behavior:auto}
.category-carousel .category-circles.is-dragging,.category-carousel .category-circles.is-dragging *{cursor:grabbing}
.categories-section .category-carousel .rail-arrow{top:calc(var(--category-size)/2 + 4px);transform:translateY(-50%);width:56px;height:56px;border:0;background:#009de1e6;color:#fff;box-shadow:0 3px 14px #13344212;font-size:30px}
.categories-section .category-carousel .rail-prev{left:12px}
.categories-section .category-carousel .rail-next{right:calc(var(--category-bleed) + 12px)}
.categories-section .category-carousel .rail-arrow:disabled{visibility:hidden;pointer-events:none}
.category-carousel .category-circles:focus-visible{outline:2px solid #1d1d1f;outline-offset:-2px;border-radius:4px}
@media(min-width:761px) and (max-width:1100px){.categories-section{--category-size:240px;--category-bleed:36px}}
@media(min-width:761px) and (max-width:999px){.categories-section{--category-bleed:20px}}
@media(max-width:760px){
 .categories-section{--category-size:150px;--category-bleed:20px}
 .category-carousel .category-circles{gap:16px}
 .category-carousel .category-circle{margin-bottom:14px}
 .category-carousel .category-circles strong{font-size:14px;min-height:50px;padding-inline:4px}
 .categories-section .category-carousel .rail-arrow{width:40px;height:40px;font-size:25px}
 .categories-section .category-carousel .rail-prev{left:4px}
 .categories-section .category-carousel .rail-next{right:calc(var(--category-bleed) + 4px)}
}
@media(prefers-reduced-motion:reduce){.header,.product-card,.care-card>img,.mosaic-card>img,.bundle-option,.category-circle{transition:none}}
