.cu-home-hero{background:linear-gradient(110deg,#f7f3ea 0%,#fff 72%);overflow:hidden}.cu-home-hero__inner{display:grid;gap:10px;align-items:center;min-height:390px}.cu-home-hero__copy{padding:34px 0 8px;position:relative;z-index:1}.cu-home-hero__copy h1{font-size:clamp(2rem,10vw,3rem);max-width:570px;margin:0 0 13px}.cu-home-hero__copy>p:not(.cu-eyebrow){max-width:570px;color:#46514c;margin:0 0 20px}.cu-home-hero__media{align-self:end;display:grid;place-items:center;min-height:180px}.cu-home-hero__media img{width:min(100%,640px);max-height:330px;object-fit:contain;object-position:center bottom}.cu-hero-placeholder{display:grid;place-items:center;min-height:210px;width:100%;border:1px dashed #b9c5bf;border-radius:12px;color:var(--cu-muted);padding:30px;text-align:center}.cu-trust-strip{border-block:1px solid var(--cu-border);background:#fff}.cu-trust-strip .cu-container{display:grid;grid-template-columns:1fr 1fr}.cu-trust-strip span{display:flex;gap:8px;align-items:center;padding:14px 7px;font-size:.74rem}.cu-trust-strip .cu-icon{color:var(--cu-brand);flex:0 0 auto}.cu-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cu-category-card{border:1px solid var(--cu-border);border-radius:12px;background:#fff;padding:9px;transition:.18s;min-width:0}.cu-category-card:hover{box-shadow:var(--cu-shadow);transform:translateY(-2px)}.cu-category-card__media{display:grid;place-items:center;aspect-ratio:1.2/1;background:linear-gradient(145deg,#f6f8f7,#eef2f0);border-radius:8px;overflow:hidden;margin-bottom:8px}.cu-category-card__media img{width:100%;height:100%;object-fit:contain;padding:4px}.cu-category-card__fallback{font-size:2.6rem;font-weight:900;color:#a8b7b0}.cu-category-card strong{display:block;font-size:.88rem}.cu-category-card small{display:block;color:var(--cu-muted);font-size:.7rem;margin-top:2px}.cu-promo-grid{display:grid;gap:10px}.cu-promo-card{min-height:128px;border-radius:13px;border:1px solid var(--cu-border);background:linear-gradient(135deg,#eff7f3,#fff);padding:19px;display:flex;flex-direction:column;justify-content:flex-end}.cu-promo-card--dark{background:linear-gradient(135deg,#073a27,#0b1c16);color:#fff}.cu-promo-card span{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.cu-promo-card strong{font-size:1.25rem;margin:3px 0}.cu-promo-card small{color:inherit;opacity:.72}.cu-home-products{overflow:hidden}.cu-home-products .products{grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible;padding-bottom:0!important}.cu-home-products .cu-product-card{min-width:0}.cu-editorial-card{border-radius:16px;background:var(--cu-dark);color:#fff;padding:26px;display:grid;gap:20px;align-items:center}.cu-editorial-card h2{font-size:1.7rem;margin:.1em 0 .4em}.cu-editorial-card p:not(.cu-eyebrow){max-width:760px;color:#c8d4cf;margin:0}.cu-home-content{background:var(--cu-surface)}.cu-home-seo .cu-container{max-width:920px}.cu-home-seo h2{font-size:1.65rem}.cu-home-seo p{color:#4f5c56;font-size:1.02rem;line-height:1.75}.cu-home-products:nth-of-type(even){background:#fbfcfb}
@media(min-width:768px){.cu-home-hero__inner{grid-template-columns:1.05fr .95fr;min-height:430px}.cu-home-hero__copy{padding:50px 0}.cu-home-hero__copy h1{font-size:3.25rem}.cu-home-hero__media img{max-height:420px}.cu-trust-strip .cu-container{grid-template-columns:repeat(4,1fr)}.cu-trust-strip span{padding:17px 12px;font-size:.82rem;justify-content:center}.cu-category-grid{grid-template-columns:repeat(4,1fr);gap:14px}.cu-category-card{padding:12px}.cu-category-card__media{aspect-ratio:1.3/1}.cu-promo-grid{grid-template-columns:repeat(3,1fr)}.cu-promo-card{min-height:150px}.cu-home-products .products{grid-auto-flow:initial;grid-auto-columns:initial;grid-template-columns:repeat(4,minmax(0,1fr))!important;overflow:visible;padding-bottom:0!important}.cu-editorial-card{grid-template-columns:1fr auto;padding:36px 42px}.cu-editorial-card h2{font-size:2rem}.cu-home-seo{text-align:center}}
@media(min-width:1100px){.cu-category-grid{grid-template-columns:repeat(var(--cu-home-category-columns,7),minmax(0,1fr))}.cu-category-card__media{aspect-ratio:1/1}.cu-home-products .products{grid-template-columns:repeat(4,1fr)!important}}

/* v1.0.5 — graphic home banners to avoid visual gaps and reinforce promotions. */
.cu-home-banners{padding-top:10px}
.cu-banner-grid{display:grid;gap:12px}
.cu-banner-card{position:relative;overflow:hidden;min-height:170px;border-radius:16px;padding:22px;border:1px solid var(--cu-border);display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(135deg,#f5faf7,#ffffff)}
.cu-banner-card:before,.cu-banner-card:after{content:'';position:absolute;border-radius:999px;pointer-events:none}
.cu-banner-card:before{width:180px;height:180px;right:-45px;top:-45px;background:rgba(8,120,63,.08)}
.cu-banner-card:after{width:120px;height:120px;left:-25px;bottom:-25px;background:rgba(242,169,0,.08)}
.cu-banner-card>*{position:relative;z-index:1}
.cu-banner-card span{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--cu-brand)}
.cu-banner-card strong{font-size:1.25rem;line-height:1.15;max-width:24ch;margin-top:6px}
.cu-banner-card small{font-size:.84rem;color:#4e5c56;max-width:36ch;margin-top:8px}
.cu-banner-card--wide{background:linear-gradient(135deg,#06281b,#0a4c31);border-color:#0d5b38;color:#fff}
.cu-banner-card--wide span,.cu-banner-card--wide small{color:#dbeae3}
.cu-banner-card--wide strong{font-size:1.6rem;max-width:18ch}
.cu-banner-card--accent{background:linear-gradient(135deg,#fff8e7,#ffffff)}
.cu-banner-card--soft{background:linear-gradient(135deg,#eef5f1,#ffffff)}
@media(min-width:900px){.cu-banner-grid{grid-template-columns:1.2fr .9fr .9fr}.cu-banner-card{min-height:220px;padding:28px}.cu-banner-card--wide{min-height:220px}.cu-banner-card strong{font-size:1.45rem}.cu-banner-card--wide strong{font-size:2rem}}

/* v1.0.36 — storefront-first home and mobile width hardening. */
.cu-home,.cu-home section,.cu-home .cu-container,.cu-home-hero__inner,.cu-home-hero__copy,.cu-home-hero__media,.cu-category-grid,.cu-banner-grid,.cu-promo-grid,.cu-home-products,.cu-home-products .products{min-width:0;max-width:100%}
.cu-home-hero__actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cu-home-hero__secondary{display:inline-flex;align-items:center;gap:2px;color:var(--cu-brand);font-size:.86rem;font-weight:850}
.cu-home-hero__secondary .cu-icon{width:16px;height:16px}
.cu-section-heading--compact{margin-bottom:14px}
.cu-banner-card b{position:relative;z-index:1;display:inline-block;margin-top:14px;font-size:.78rem;font-weight:900;color:var(--cu-brand)}
.cu-banner-card--wide b{color:#fff}
.cu-home-products .products{width:100%}
.cu-home-products .cu-product-card{min-width:0}
.cu-promo-card{min-width:0}
@media(max-width:767px){
  .cu-home-hero__copy h1{font-size:clamp(2rem,9.5vw,2.75rem);overflow-wrap:anywhere}
  .cu-home-hero__actions{align-items:stretch;gap:10px}
  .cu-home-hero__actions .cu-button{width:100%}
  .cu-home-hero__secondary{justify-content:center;min-height:42px}
  .cu-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cu-category-card{min-width:0;overflow:hidden}
  .cu-category-card strong{overflow-wrap:anywhere}
  .cu-section-heading{align-items:flex-start;flex-direction:column;gap:8px}
  .cu-section-heading>a{align-self:flex-start}
  .cu-banner-card{min-width:0}
  .cu-banner-card strong,.cu-banner-card small{overflow-wrap:anywhere}
}
@media(max-width:360px){
  .cu-banner-card{padding:18px}
}

/* v1.0.66 — single authoritative mobile Home geometry.
 * The document and every full-width section follow their parent; only the inner
 * product showcases remain physically constrained on mobile; desktop carousel rules are isolated below. */
.cu-trust-strip,.cu-trust-strip .cu-container,.cu-trust-strip span,.cu-trust-strip span strong{min-width:0;max-width:100%}
.cu-trust-strip span strong{overflow-wrap:anywhere;word-break:normal}

@media(max-width:767px){
  .cu-home,
  .cu-home>section,
  .cu-home>#vitrine,
  .cu-home-hero,
  .cu-trust-strip,
  .cu-home-categories,
  .cu-home-banners,
  .cu-home-promos,
  .cu-home-content,
  .cu-home-seo,
  .cu-home-products{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .cu-home{overflow-x:clip!important}
  .cu-home>section,.cu-home>#vitrine{margin-left:0!important;margin-right:0!important}
  .cu-home .cu-container{
    width:min(calc(100% - 28px),var(--cu-container))!important;
    max-width:calc(100% - 28px)!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  .cu-home-hero__inner{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:8px!important;
    overflow:visible!important;
  }
  .cu-home-hero__copy{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:28px 0 8px!important;
  }
  .cu-home-hero__copy h1{
    font-size:clamp(1.9rem,9vw,2.65rem)!important;
    max-width:100%!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .cu-home-hero__copy>p:not(.cu-eyebrow){max-width:100%!important}
  .cu-home-hero__actions{width:100%;align-items:stretch;gap:10px}
  .cu-home-hero__actions .cu-button{width:100%;max-width:100%}
  .cu-home-hero__secondary{justify-content:flex-start;min-height:38px}
  .cu-home-hero__media{width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
  .cu-home-hero__media img{display:block!important;width:auto!important;max-width:100%!important;height:auto!important;margin-inline:auto!important}

  .cu-trust-strip .cu-container{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cu-trust-strip span{width:100%;min-width:0;padding-inline:4px;align-items:flex-start}
  .cu-trust-strip span strong{font-size:.7rem;line-height:1.25}

  .cu-category-grid,.cu-banner-grid,.cu-promo-grid,.cu-home-products,.cu-product-scroller{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .cu-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cu-section-heading{align-items:flex-start;flex-direction:column;gap:8px}
  .cu-section-heading>a{align-self:flex-start}
  .cu-home-products{overflow:hidden!important}
  .cu-banner-card{min-width:0}
  .cu-banner-card strong,.cu-banner-card small{overflow-wrap:anywhere}
  .cu-home img,.cu-home svg,.cu-home video,.cu-home iframe{max-width:100%!important}
}
@media(max-width:360px){
  .cu-banner-card{padding:18px}
}

/* v1.0.72 — responsive product carousel with zero horizontal track on mobile.
 * Mobile keeps a real two-column row and JS swaps groups of two cards in place.
 * No horizontal track is ever wider than the viewport, so the page cannot overflow.
 * Desktop keeps the existing scroll-snap carousel inside its clipped wrapper. */
.cu-carousel-hint{display:none;margin:0 0 8px;color:#68766f;font-size:.72rem;font-weight:750}
.cu-product-scroller{width:100%;max-width:100%;min-width:0;overflow:hidden;contain:inline-size}
.cu-home-products__nav{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex:0 0 auto}
.cu-home-products__all{display:flex;align-items:center;gap:2px;color:var(--cu-brand);font-size:.86rem;font-weight:800;white-space:nowrap}
.cu-home-products__all .cu-icon{width:15px;height:15px}
.cu-carousel-controls{display:none;align-items:center;gap:7px}
.cu-carousel-button{width:36px;height:36px;border:1px solid var(--cu-border);border-radius:999px;background:#fff;color:var(--cu-brand);display:grid;place-items:center;cursor:pointer;transition:.16s ease;padding:0;flex:0 0 36px}
.cu-carousel-button:hover:not(:disabled){border-color:var(--cu-brand);background:#f3faf6}
.cu-carousel-button:disabled{opacity:.32;cursor:default}
.cu-carousel-button .cu-icon{width:17px;height:17px}
.cu-carousel-prev-icon{transform:rotate(180deg)}
.cu-carousel-page-status{display:none;min-width:34px;text-align:center;color:#68766f;font-size:.7rem;font-weight:850;font-variant-numeric:tabular-nums;white-space:nowrap}

@media(max-width:767px){
  .cu-home-products{overflow:hidden!important}
  .cu-home-products .cu-product-scroller{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    contain:layout inline-size paint;
    touch-action:pan-y;
  }
  .cu-home-products .products,
  .woocommerce .cu-home-products ul.products{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    grid-auto-columns:auto!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
    scroll-padding:0!important;
    overscroll-behavior:auto!important;
    touch-action:pan-y!important;
  }
  .cu-home-products .products>li,
  .cu-home-products .products>li.product,
  .cu-home-products .cu-product-card{
    display:block!important;
    min-width:0!important;
    width:auto!important;
    max-width:100%!important;
    margin:0!important;
    flex:none!important;
    scroll-snap-align:none!important;
  }
  .cu-home-products .products>li.cu-mobile-page-hidden,
  .cu-home-products .products>li.product.cu-mobile-page-hidden,
  .cu-home-products .cu-product-card.cu-mobile-page-hidden{display:none!important}
  .cu-home-products.is-mobile-paged:not(.is-carousel-static) .cu-carousel-controls{display:flex}
  .cu-home-products.is-mobile-paged:not(.is-carousel-static) .cu-carousel-page-status{display:inline-block}
  .cu-home-products.is-mobile-paged:not(.is-carousel-static) .cu-carousel-hint{display:block!important}
  .cu-home-products.is-mobile-paged:not(.is-carousel-static) .products>li:not(.cu-mobile-page-hidden){animation:cuMobileCarouselIn .2s ease both}
  .cu-home-products__nav{width:100%;max-width:100%;min-width:0;justify-content:space-between;gap:8px}
  .cu-home-products__all{font-size:.8rem;margin-left:auto}
  .cu-home-products .cu-product-card__inner,
  .cu-home-products .cu-product-card__body,
  .cu-home-products .cu-product-card__action,
  .cu-home-products .cu-product-card__action .button{min-width:0!important;max-width:100%!important}
}
@media(max-width:359px){
  .cu-home-products .products,
  .woocommerce .cu-home-products ul.products{gap:8px!important}
  .cu-home-products .cu-product-card__body{padding:8px}
  .cu-home-products .cu-product-card__action .button{padding-inline:5px!important;font-size:.7rem!important}
}

@keyframes cuMobileCarouselIn{
  from{opacity:.72;transform:translateX(8px)}
  to{opacity:1;transform:translateX(0)}
}
@media(prefers-reduced-motion:reduce){
  .cu-home-products.is-mobile-paged .products>li{animation:none!important}
}

@media(min-width:768px){
  .cu-home-products .cu-carousel-controls{display:flex}
  .cu-home-products .cu-carousel-page-status{display:none!important}
  .cu-home-products .cu-product-scroller{overflow:hidden!important;contain:inline-size}
  .cu-home-products .products,
  .woocommerce .cu-home-products ul.products{
    display:flex!important;
    flex-wrap:nowrap!important;
    grid-template-columns:none!important;
    gap:16px!important;
    width:100%!important;
    max-width:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-behavior:smooth;
    scrollbar-width:none;
    padding:2px 2px 10px!important;
  }
  .cu-home-products .products::-webkit-scrollbar,
  .woocommerce .cu-home-products ul.products::-webkit-scrollbar{display:none}
  .cu-home-products .products>li,
  .cu-home-products .products>li.product,
  .cu-home-products .cu-product-card{
    display:block!important;
    flex:0 0 calc((100% - 48px)/4)!important;
    width:calc((100% - 48px)/4)!important;
    max-width:calc((100% - 48px)/4)!important;
    min-width:0!important;
    scroll-snap-align:start;
  }
  .cu-home-products .products>li.cu-mobile-page-hidden,
  .cu-home-products .products>li.product.cu-mobile-page-hidden,
  .cu-home-products .cu-product-card.cu-mobile-page-hidden{display:block!important}
  .cu-home-products.is-carousel-static .cu-carousel-controls{visibility:hidden}
}
