/* Homepage only: cream papers, quiet product photography and a single banner. */
#main .hero.cream-carousel {
  --carousel-paper:#f7ebe6;
  position:relative;
  display:block;
  isolation:isolate;
  min-height:0;
  height:clamp(390px,36vw,490px);
  overflow:hidden;
  border:1px solid #eeddd6;
  border-radius:26px;
  background:var(--carousel-paper);
  margin-top:14px;
  box-shadow:none;
}
#main .hero.cream-carousel::before { display:none; }
.cream-carousel-track { position:relative; display:flex; width:100%; height:100%; transition:transform 450ms var(--cloud-ease,cubic-bezier(.23,1,.32,1)); }
.cream-slide { position:relative; flex:0 0 100%; height:100%; min-width:0; opacity:1; visibility:visible; pointer-events:none; }
.cream-slide.is-active { pointer-events:auto; }
.cream-carousel.is-keyboard-navigation .cream-carousel-track { transition:none; }
.cream-carousel.is-keyboard-navigation .cream-slide { transition:none; }
.cream-slide-color { --carousel-paper:#f3e9e8; }
.cream-slide-style { --carousel-paper:#f2eee4; }
.cream-slide-art { position:absolute; inset:0; overflow:hidden; background:var(--carousel-paper); }
.cream-slide-art img { width:100%; height:100%; object-fit:cover; object-position:68% 52%; }
.cream-slide-art::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--carousel-paper) 0%,var(--carousel-paper) 31%,transparent 64%); }
.cream-slide-color .cream-slide-art img,.cream-slide-style .cream-slide-art img { object-position:70% 50%; }
#main .cream-carousel .hero-content { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:center; width:55%; height:100%; padding:34px 54px 54px; align-self:auto; }
#main .cream-carousel .eyebrow { font-size:12px; letter-spacing:1.7px; color:#8d3650; margin:0 0 23px; font-weight:500; }
#main .cream-carousel .cream-slide-title { font-family:'Fixel Display','Fixel Text',Arial,sans-serif; font-size:clamp(34px,3.4vw,49px); line-height:1.13; letter-spacing:-1.1px; font-weight:500; color:#35272a; margin:0 0 22px; max-width:520px; }
#main .cream-carousel .hero-subtitle { font-size:17px; line-height:1.55; color:#645256; margin:0 0 27px; max-width:455px; }
#main .cream-carousel .hero-actions { display:flex; gap:0; flex-wrap:wrap; }
#main .cream-carousel .primary-button { min-height:50px; min-width:218px; padding:14px 44px; font-size:15px; background:#8a3d53; border-radius:12px; }
#main .cream-carousel .primary-button .button-label { transform:none; }
.cream-carousel-arrow { position:absolute; z-index:2; top:50%; width:34px; height:50px; display:flex; align-items:center; justify-content:center; background:#fffaf7; color:#655055; transform:translateY(-50%); border:1px solid #ead9d3; }
.cream-carousel-arrow .icon { width:19px; height:19px; }
.cream-carousel-previous { left:-1px; border-radius:0 10px 10px 0; border-left:0; }
.cream-carousel-next { right:-1px; border-radius:10px 0 0 10px; border-right:0; }
.cream-carousel-previous .icon { transform:rotate(90deg); }
.cream-carousel-next .icon { transform:rotate(-90deg); }
.cream-carousel-controls { position:absolute; bottom:14px; left:50%; transform:translateX(-50%); z-index:2; display:flex; align-items:center; gap:8px; padding:0 8px; background:#fffaf7dc; border:1px solid #ead9d3; border-radius:30px; }
.cream-carousel-dots { display:flex; align-items:center; }
.cream-carousel-dots button { display:flex; align-items:center; justify-content:center; width:30px; height:34px; padding:0; }
.cream-carousel-dots button span { display:block; width:7px; height:7px; background:#c6a7aa; border-radius:8px; transition:background-color 160ms ease,transform 160ms ease; }
.cream-carousel-dots button[aria-current] span { background:#8a3d53; transform:scaleX(2.4); }
.cream-carousel button:focus-visible,.cream-quick-tile:focus-visible { outline:2px solid #84394f; outline-offset:4px; }
.cream-carousel-arrow:focus-visible { outline-offset:-4px; }
.cream-carousel-status.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.cream-quick-categories { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:16px; margin:20px 0 42px; align-items:start; }
.cream-quick-tile { display:flex; flex-direction:column; align-items:center; gap:10px; min-width:0; padding:0; text-align:center; background:none; border:0; color:#35272a; }
.cream-quick-visual { display:block; width:100%; aspect-ratio:1; min-width:0; overflow:hidden; border-radius:14px; background:#f4e5e4; border:1px solid #ecd9d6; transition:border-color 160ms ease; }
.cream-quick-visual.tone-sand { background:#f5eee2; border-color:#eae0d1; }
.cream-quick-visual.tone-sage { background:#eaf0e8; border-color:#dae5d6; }
.cream-quick-visual.tone-pearl { background:#f0eeeb; border-color:#e2deda; }
.cream-quick-visual.tone-lavender { background:#efebf3; border-color:#e1dae7; }
.cream-quick-visual.tone-honey { background:#f5e7d5; border-color:#ecdbc2; }
.cream-quick-visual .product-photo { width:100%; height:100%; padding:9px; margin:0; border-radius:0; background:transparent; mix-blend-mode:multiply; transform:none; }
.cream-quick-visual .product-photo img { width:100%; height:100%; object-fit:contain; padding:0; mix-blend-mode:multiply; }
.cream-quick-visual>.icon { width:42%; height:100%; margin:auto; color:#8a3d53; }
.cream-quick-label { display:block; font-size:14px; font-weight:500; line-height:1.4; max-width:150px; min-height:40px; }
#main .cream-quick-categories+.favorites-section { margin-top:0; }
@media (hover:hover) and (pointer:fine) {
  #main .cream-carousel .primary-button:hover { background:#713044; }
  .cream-carousel-arrow:hover { background:#f5e6e1; }
  .cream-quick-tile:hover .cream-quick-visual { border-color:#ba8b94; }
  .cream-quick-tile:hover .cream-quick-label { color:#84394f; }
}
@media (max-width:1050px) {
  #main .cream-carousel .hero-content { padding-inline:40px; width:59%; }
  #main .cream-carousel .cream-slide-title { font-size:38px; }
  #main .cream-carousel .hero-subtitle { font-size:16px; }
  .cream-quick-categories { gap:10px; }
  .cream-quick-label { font-size:13px; }
}
@media (max-width:760px) {
  #main .hero.cream-carousel { height:470px; border-radius:20px; }
  #main .cream-carousel .hero-content { width:70%; padding:34px 38px 70px; }
  #main .cream-carousel .cream-slide-title { font-size:35px; }
  .cream-slide-art img { object-position:76% center; }
  .cream-slide-art::after { background:linear-gradient(90deg,var(--carousel-paper) 0%,var(--carousel-paper) 30%,transparent 100%); }
  .cream-quick-categories { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px 12px; margin-bottom:30px; }
  .cream-quick-label { font-size:14px; }
}
@media (max-width:480px) {
  #main .hero.cream-carousel { height:510px; }
  #main .cream-carousel .hero-content { width:100%; justify-content:flex-start; padding:31px 30px 64px; }
  #main .cream-carousel .cream-slide-title { font-size:34px; line-height:1.12; letter-spacing:-.7px; margin-bottom:16px; }
  #main .cream-carousel .eyebrow { font-size:10px; margin-bottom:17px; letter-spacing:1.4px; }
  #main .cream-carousel .hero-subtitle { font-size:15px; max-width:300px; margin-bottom:20px; }
  #main .cream-carousel .hero-subtitle br { display:none; }
  #main .cream-carousel .primary-button { min-height:46px; min-width:0; font-size:14px; padding-inline:40px; }
  .cream-slide-art img { object-position:70% bottom; }
  .cream-slide-art::after { background:linear-gradient(180deg,var(--carousel-paper) 0%,var(--carousel-paper) 24%,#f7ebe6d9 44%,transparent 76%); }
  .cream-slide-color .cream-slide-art::after { background:linear-gradient(180deg,#f3e9e8 0%,#f3e9e8 24%,#f3e9e8d9 44%,transparent 76%); }
  .cream-slide-style .cream-slide-art::after { background:linear-gradient(180deg,#f2eee4 0%,#f2eee4 24%,#f2eee4d9 44%,transparent 76%); }
  .cream-carousel-arrow { width:26px; height:42px; }
  .cream-quick-categories { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px 9px; }
  .cream-quick-visual { border-radius:11px; }
  .cream-quick-visual .product-photo { padding:5px; }
  .cream-quick-label { font-size:12px; line-height:1.4; }
}
@media (prefers-reduced-motion:reduce) {
  .cream-carousel-track,.cream-slide,.cream-carousel-dots button span,.cream-quick-visual { transition:none; }
}

.cream-carousel-page-title.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
