.wb-home-categories { padding-block:46px 34px; }
/* Product lists share the drag engine used by brands and reviews. Never snap
   during pointer dragging: the track must follow the mouse without resistance. */
.wb-home-products .wb-section-head { gap:20px; }
.wb-product-controls { display:flex; gap:8px; margin-left:auto; flex:none; }
.wb-product-controls button { display:grid; place-items:center; width:42px; height:42px; padding:0; line-height:0; border:1px solid #dfc9cf; border-radius:50%; color:var(--wb-accent); background:#fff; cursor:pointer; transition:background .2s,border-color .2s; }
.wb-product-controls button svg { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.wb-product-controls button:hover:not(:disabled) { background:#f6eceb; border-color:#b58a94; }
.wb-product-controls button:disabled { opacity:.35; cursor:default; }
.wb-product-controls button[hidden] { display:none; }
.wb-home-products .wb-product-track { display:flex; align-items:stretch; gap:20px; padding:2px 0 6px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:none; scroll-behavior:auto; scrollbar-width:none; }
.wb-home-products .wb-product-track::-webkit-scrollbar { display:none; }
.wb-home-products .wb-product-track>.wb-product:nth-child(n) { display:block; flex:0 0 calc((100% - 60px)/4); min-width:0; max-width:none; scroll-snap-align:none; }
.wb-home-products .wb-product__name { display:block; min-height:3em; }
.wb-home-products .wb-product__media { aspect-ratio:3/4; }
/* Horizontal scrolling clips its other axis: reserve space for the shared hover extension. */
@media(hover:hover) and (pointer:fine) {
 .wb-home-products .wb-product-track { --wb-rail-detail-space:112px; padding:12px 12px var(--wb-rail-detail-space); margin:-10px -12px calc(6px - var(--wb-rail-detail-space)); }
 .wb-home-products .wb-product-track:has(.wb-product:hover),.wb-home-products .wb-product-track:focus-within { position:relative; z-index:2; }
}
.wb-home-products .wb-product-track:focus-visible,.wb-product-controls button:focus-visible { outline:2px solid #a97184; outline-offset:-2px; }
@media(max-width:1000px) { .wb-home-products .wb-product-track>.wb-product:nth-child(n) { flex-basis:calc((100% - 40px)/3); } }
@media(max-width:700px) { .wb-home-products .wb-product-track { gap:14px; }.wb-home-products .wb-product-track>.wb-product:nth-child(n) { flex-basis:calc((100% - 14px)/2); }.wb-product-controls button { width:38px; height:38px; } }
@media(prefers-reduced-motion:reduce) { .wb-product-controls button { transition:none; } }
.wb-home-categories .wb-section-head { gap:20px; margin-bottom:24px; }
.wb-category-controls { display:flex; gap:9px; flex:none; }
.wb-category-controls[hidden],.wb-category-pagination[hidden] { display:none; }
.wb-category-arrow { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #dec6ce; border-radius:50%; background:transparent; color:var(--wb-accent); cursor:pointer; transition:background .2s,color .2s; }
.wb-category-arrow:hover:not(:disabled) { background:var(--wb-accent); color:#fff; }
.wb-category-arrow:disabled { opacity:.32; cursor:default; }
.wb-category-arrow svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; }
.wb-category-track { display:flex; gap:20px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; scroll-snap-type:none; scroll-behavior:auto; padding:2px 0; }
.wb-category-track::-webkit-scrollbar { display:none; }
.wb-category-card { flex:0 0 calc((100% - 60px)/4); position:relative; min-width:0; aspect-ratio:4/5; overflow:hidden; border-radius:15px; background:#e9d7db; isolation:isolate; }
.wb-category-card img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 20%; transition:transform .5s; }
.wb-category-card::after { content:''; position:absolute; inset:30% 0 0; background:linear-gradient(transparent,rgba(37,18,26,.8)); pointer-events:none; }
.wb-category-card__copy { position:absolute; z-index:1; left:24px; right:20px; bottom:24px; color:#fff; }
.wb-category-card__title { display:block; font:600 clamp(28px,2.5vw,36px)/1.05 'Cormorant Garamond',Georgia,serif; overflow-wrap:anywhere; }
.wb-category-card__link { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:14px; font-size:13px; }
.wb-category-card__link>span { font-size:23px; }
.wb-category-card--text { background:linear-gradient(135deg,#eee0dc,#9b6778); }
.wb-category-pagination { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:20px; font-size:12px; font-variant-numeric:tabular-nums; color:#855e6c; }
.wb-category-markers { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.wb-category-markers button { position:relative; width:34px; height:24px; background:transparent; border:0; cursor:pointer; padding:0; }
.wb-category-markers button::after { content:''; position:absolute; left:0; right:0; top:11px; height:2px; background:#e4d2d8; transition:background .2s; }
.wb-category-markers button[aria-current='true']::after { background:var(--wb-accent); }
.wb-category-arrow:focus-visible,.wb-category-markers button:focus-visible,.wb-category-card:focus-visible,.wb-category-track:focus-visible { outline:2px solid #a56d80; outline-offset:-2px; }
.wb-home-benefits { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:30px 24px; gap:0; border:1px solid #eddee2; border-radius:16px; background:linear-gradient(110deg,#fcf7f5,#f7edef); }
.wb-home-benefit { display:flex; flex-direction:column; align-items:flex-start; gap:18px; padding:4px 24px; min-width:0; border-right:1px solid #e7d6dc; }
.wb-home-benefit:last-child { border-right:0; }
.wb-home-benefit__icon { display:grid; place-items:center; width:64px; height:64px; color:#8c3e57; background:#fff9; border:1px solid #fff; border-radius:20px; box-shadow:0 4px 16px #71374c08; flex:none; }
.wb-home-benefit__icon svg { width:42px; height:42px; }
.wb-home-benefit__icon img { width:54px; height:54px; object-fit:contain; }
.wb-home-benefit h3 { margin:0 0 9px; font:600 17px/1.4 Manrope,Arial,sans-serif; color:#592d3b; }
.wb-home-benefit p { margin:0; font-size:14px; line-height:1.65; color:#856572; }
.wb-home-benefit a:hover { color:var(--wb-coral); }
@media(hover:hover) { .wb-category-card:hover img { transform:scale(1.035); }.is-dragging .wb-category-card img { transform:none; } }
@media(max-width:980px) { .wb-category-card { flex-basis:calc((100% - 40px)/3); }.wb-home-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:28px; }.wb-home-benefit { flex-direction:row; }.wb-home-benefit:nth-child(2) { border-right:0; } }
@media(max-width:640px) { .wb-home-categories { padding-block:32px 28px; }.wb-home-categories .wb-section-title { font-size:30px; }.wb-home-categories .wb-section-head { gap:12px; }.wb-category-controls { gap:6px; }.wb-category-arrow { width:38px; height:38px; }.wb-category-track { gap:12px; }.wb-category-card { flex-basis:76%; max-width:330px; }.wb-category-card__title { font-size:32px; }.wb-category-card__link { font-size:14px; }.wb-home-benefits { grid-template-columns:1fr; padding:8px 22px; gap:0; }.wb-home-benefit { padding:22px 0; gap:18px; border-right:0; border-bottom:1px solid #e7d6dc; }.wb-home-benefit:last-child { border-bottom:0; }.wb-home-benefit h3 { font-size:16px; }.wb-home-benefit__icon { width:56px; height:56px; border-radius:17px; }.wb-home-benefit__icon svg { width:38px; height:38px; }.wb-home-benefit__icon img { width:48px; height:48px; } }
@media(prefers-reduced-motion:reduce) { .wb-category-card img,.wb-category-arrow,.wb-category-markers button::after { transition:none; } }
/* Independent promotional banner; photo uploads never become inline CSS. */
.wb-journal-controls { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-shrink:0; }
.wb-journal-controls .wb-section-link { margin-right:14px; }
.wb-journal-arrow { display:grid; place-items:center; width:42px; height:42px; padding:0; border:1px solid #dfc9cf; border-radius:50%; background:#fff; color:var(--wb-accent); cursor:pointer; }
.wb-journal-arrow svg { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.wb-journal-arrow:hover:not(:disabled) { background:#f6eceb; border-color:#b58a94; }
.wb-journal-arrow:disabled { opacity:.35; cursor:default; }
.wb-journal-arrow[hidden] { display:none; }
.wb-journal-track { display:flex; align-items:stretch; gap:24px; overflow-x:auto; padding:2px 1px 18px; scrollbar-width:thin; scrollbar-color:#cbb0b7 #f7efed; scroll-snap-type:none; scroll-behavior:auto; }
.wb-home-journal .wb-news-card { display:flex; flex-direction:column; flex:0 0 calc((100% - 72px)/4); min-width:0; max-width:none; }
.wb-home-journal .wb-news-card__image { flex:none; }
.wb-home-journal .wb-news-card__body { display:flex; flex-direction:column; flex:1; }
.wb-home-journal .wb-news-card__body h3 { overflow-wrap:anywhere; font-size:27px; line-height:1.12; }
.wb-home-journal .wb-news-card__body p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; line-clamp:3; overflow:hidden; }
.wb-home-journal .wb-news-card__more { margin-top:auto; padding-top:10px; align-self:flex-start; }
.wb-journal-placeholder { height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:20px; text-align:center; background:linear-gradient(145deg,#f5e2de,#dfbbc5); color:#6e344a; font:600 32px/1.15 'Cormorant Garamond',Georgia,serif; }
.wb-journal-placeholder>span { margin-top:14px; font:500 12px/1.5 Manrope,Arial,sans-serif; letter-spacing:.08em; }
.wb-editorial--configurable .wb-editorial__media { position:relative; min-height:470px; background:none; }
.wb-editorial--configurable .wb-editorial__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.wb-editorial--configurable .wb-editorial__copy { min-width:0; }
.wb-editorial--configurable h2 { overflow-wrap:anywhere; }
.wb-editorial-links { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0 30px; }
.wb-editorial-links a { display:inline-flex; align-items:center; gap:18px; max-width:100%; padding:12px 16px; border:1px solid #dfc4ca; border-radius:12px; color:#71394c; background:#fff9; font-size:14px; line-height:1.45; font-weight:600; overflow-wrap:anywhere; transition:background .18s,border-color .18s; }
.wb-editorial-links a:hover { background:#fff; border-color:#af7887; }
.wb-editorial-links svg { flex:none; width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.wb-editorial-links a:focus-visible,.wb-journal-arrow:focus-visible,.wb-journal-track:focus-visible { outline:2px solid #a97184; outline-offset:4px; }
@media(max-width:1000px) { .wb-home-journal .wb-news-card { flex-basis:calc((100% - 24px)/2); }.wb-editorial--configurable .wb-editorial__media { min-height:350px; } }
@media(max-width:640px) { .wb-home-journal .wb-section-head { flex-wrap:wrap; gap:14px; }.wb-journal-controls { margin-left:auto; }.wb-journal-controls .wb-section-link { font-size:12px; }.wb-journal-track { gap:16px; }.wb-home-journal .wb-news-card { flex-basis:86%; }.wb-journal-arrow { width:38px; height:38px; }.wb-editorial--configurable .wb-editorial__media { min-height:290px; }.wb-editorial-links { gap:8px; }.wb-editorial-links a { font-size:13px; padding:11px 13px; } }
@media(prefers-reduced-motion:reduce) { .wb-editorial-links a { transition:none; } }
.wb-promo { position:relative; isolation:isolate; }
.wb-promo__copy { min-width:0; position:relative; z-index:1; }
.wb-promo__copy .wb-kicker { color:#ffd6cf; }
.wb-promo__copy h2,.wb-promo__copy p,.wb-promo__copy .wb-btn { overflow-wrap:anywhere; }
.wb-promo__visual { position:relative; min-width:0; background:none; }
.wb-promo__visual img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center 38%; }
.wb-promo__visual::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#a94d5b,transparent 35%); }
@media(max-width:640px) {
 .wb-promo__visual { display:block; position:absolute; inset:0; z-index:0; }
 .wb-promo__visual::after { background:linear-gradient(90deg,#621d30ed,#621d30b8 65%,#621d3066); }
 .wb-promo__copy { max-width:100%; }
}
