/* November campaign */
:root{background:#fffaf2}body{background:#fffaf2}.november-banner{position:relative;background:#fff8ec;border-bottom:2px solid #f6ddc1;padding:0 0 22px;text-align:center}.november-banner>a:first-child{display:block;max-width:1380px;margin:auto}.november-banner img{display:block;width:100%;height:auto}.november-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 30px;border-radius:25px;background:#53227b;color:#fff;font-weight:700;text-decoration:none;box-shadow:0 3px 12px #53227b22}.november-cta:hover{background:#6b3294}.heading .eyebrow{color:#7c3f99}@media(max-width:650px){.november-banner{padding-bottom:16px}.november-cta{font-size:14px;padding:10px 24px}}/* Full-bleed hero and matching category collection */
.november-banner{padding:0;border:0;overflow:hidden}
.november-banner>a:first-child{width:100%;max-width:none;margin:0;line-height:0}
.november-banner picture{display:block;width:100%}
.november-banner img{width:100%;height:auto;max-width:none}
.november-cta{position:absolute;right:3%;bottom:3%;min-height:44px;background:#53227b;color:#fff;padding:12px 28px;line-height:1.2}
.category-carousel .category-banner{background:radial-gradient(ellipse at 70% 45%,#fffdf7,#fff5e5);border:1px solid #f0dec5;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:32px;min-height:310px;padding:38px 48px;--banner-ink:#4b147c}
.category-carousel .category-banner::before{inset:auto auto -125px -80px;width:320px;height:200px;border-radius:50%;background:linear-gradient(130deg,#ff9a23,#ff7400);transform:rotate(18deg);z-index:-1}
.category-carousel .category-banner::after{content:'';position:absolute;right:-100px;top:-150px;width:350px;height:210px;background:linear-gradient(130deg,#ff9a23,#ff7400);border-radius:50%;transform:rotate(15deg);z-index:-1}
.category-carousel .banner-copy{padding:0}
.category-carousel .banner-label{color:#d75a00;font:700 12px/1.4 Arial,sans-serif;letter-spacing:.13em}
.category-carousel .banner-copy h2{font-family:'Lilita One',Arial,sans-serif;font-size:clamp(30px,3.3vw,48px);line-height:1.05;text-wrap:balance;letter-spacing:0;color:#4b147c;margin:12px 0}
.category-carousel .banner-copy p{color:#67437c;font-size:16px;line-height:1.5}
.banner-discover{display:inline-block;margin-top:20px;color:#53227b;border-bottom:2px solid #fa8421;padding-bottom:5px;font-size:14px;font-weight:700}
.category-carousel .banner-products{height:230px;align-items:end;gap:12px;position:relative;padding-bottom:18px}
.category-podium{position:relative;isolation:isolate;display:flex;align-items:flex-end;justify-content:center;flex:1;min-width:0;height:100%;padding-bottom:30px}
.category-podium::after{content:'';position:absolute;z-index:-1;bottom:0;left:-3%;width:106%;height:55px;border-radius:50% / 22%;background:linear-gradient(#fff9e9 0 18%,#f3e5cd 25%,#e6d0ae);box-shadow:0 12px 16px #9d6a2520}
.category-podium.podium-1{transform:translateY(-16px)}
.category-carousel .category-podium .banner-item{position:relative;inset:auto;width:100%;max-width:185px;height:180px;object-fit:contain;margin:0;transform:none;mix-blend-mode:multiply;filter:drop-shadow(0 6px 4px #75451c18)}
@media(max-width:650px){
 .november-banner{padding:0}
 .november-cta{position:static;display:flex;border-radius:0;box-shadow:none;width:100%;padding:14px 20px;font-size:15px;min-height:48px}
 .category-carousel .category-banner{grid-template-columns:minmax(0,1fr);gap:18px;padding:28px 22px 20px;min-height:430px;align-content:space-between}
 .category-carousel .banner-copy h2{font-size:clamp(29px,8vw,38px);margin:10px 0}
 .category-carousel .banner-copy p{font-size:15px}
 .category-carousel .banner-label{font-size:10px;letter-spacing:.09em}
 .banner-discover{margin-top:12px;font-size:13px}
 .category-carousel .banner-products{height:170px;gap:10px;padding-bottom:8px}
 .category-carousel .category-podium .banner-item{width:100%;max-width:140px;height:125px;transform:none;margin:0}
 .category-podium{padding-bottom:24px}
 .category-podium::after{height:40px}
 .category-podium.podium-1{transform:translateY(-8px)}
 .category-carousel .category-banner::after{top:-160px;right:-150px}
 .category-carousel .category-banner::before{bottom:-160px}
}
/* Scale the complete product image inside each podium, without cropping. */
.category-podium{isolation:auto;mix-blend-mode:multiply}
.category-carousel .product-window,
.category-carousel .product-window.catalog-photo{display:flex;width:100%;height:180px;align-items:flex-end;justify-content:center;overflow:visible;mix-blend-mode:multiply}
.category-carousel .category-podium .product-window .banner-item{width:100%;height:100%;max-width:185px;max-height:100%;object-fit:contain;object-position:center bottom;clip-path:none;flex-shrink:1;filter:none}
@media(max-width:650px){
 .category-carousel .product-window,.category-carousel .product-window.catalog-photo{height:125px}
 .category-carousel .category-podium .product-window .banner-item{max-width:140px}
}
/* Desktop: five cards and a carousel spanning the hero width. */
@media(min-width:1051px){
 main.wrap{max-width:none;padding-inline:32px}
 #grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
 #grid .card{min-width:0}
 #grid .card-body{padding-left:14px;padding-right:14px}
 #grid .price{flex-wrap:wrap;gap:4px 8px}
 #grid .name-button{font-size:17px}
 .category-carousel{margin-left:-32px;margin-right:-32px}
 .category-carousel .banner-track{border-radius:0}
 .category-carousel .category-banner{border-radius:0;padding-inline:clamp(48px,8vw,160px);min-height:360px}
}
