:root{
  --br-rose:#D8607F;--br-coral:#F0876E;--br-orange:#F2A65A;--br-gold:#F4C361;
  --br-sage:#93A883;--br-sage-deep:#6F8460;
  --br-cream:#F7F0E5;--br-sand:#EBE0CE;--br-blush:#F8E7E0;
  --br-cocoa:#3E322C;--br-soft:#76675D;
  --br-sunset:linear-gradient(120deg,#D8607F 0%,#F0876E 38%,#F2A65A 68%,#F4C361 100%);
}
body{font-family:'Jost',sans-serif;background:var(--br-cream);color:var(--br-cocoa);font-weight:300}
h1,h2,h3,h4,.font-serif{font-family:'Cormorant Garamond',serif;font-weight:500}
.font-script{font-family:'Pinyon Script',cursive;color:var(--br-coral)}
.grad-text{background:var(--br-sunset);-webkit-background-clip:text;background-clip:text;color:transparent}
.btn-bana{background:var(--br-sunset);background-size:160% 160%;background-position:0 50%;color:#fff;border:none;border-radius:40px;padding:.8rem 2rem;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;transition:.4s}
.btn-bana:hover{background-position:100% 50%;color:#fff;transform:translateY(-1px)}
.btn-outline-bana{border:1px solid var(--br-cocoa);color:var(--br-cocoa);border-radius:40px;padding:.8rem 2rem;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem}
.btn-outline-bana:hover{background:var(--br-cocoa);color:var(--br-cream)}
.navbar-bana{background:rgba(247,240,229,.9);backdrop-filter:blur(10px);border-bottom:1px solid rgba(62,50,44,.12)}
.badge-bana{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:.35em .95em;border-radius:30px}
.badge-rose{background:var(--br-blush);color:var(--br-rose);border:1px solid rgba(216,96,127,.3)}
.badge-sage{background:var(--br-sage);color:#fff}
.badge-gold{background:rgba(244,195,97,.28);color:#A9802E;border:1px solid rgba(244,195,97,.6)}
.card-product{border:1px solid rgba(62,50,44,.12);border-radius:16px;overflow:hidden;background:#fff;transition:.35s}
.card-product:hover{transform:translateY(-5px);box-shadow:0 24px 50px -26px rgba(62,50,44,.4)}
.card-product img{height:260px;object-fit:cover;width:100%}
.price-old{color:var(--br-soft);text-decoration:line-through;font-size:.9em;margin-right:.5rem}
.announce{background:var(--br-cocoa);color:var(--br-cream);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;text-align:center;padding:.5rem}
.announce b{color:var(--br-gold)}
.hero-bana{background:radial-gradient(110% 90% at 90% 5%,rgba(244,195,97,.5),transparent 50%),radial-gradient(90% 80% at 80% 30%,rgba(216,96,127,.26),transparent 52%),radial-gradient(80% 90% at 5% 95%,rgba(147,168,131,.3),transparent 55%),var(--br-cream)}
.hero-img{border-radius:180px 180px 16px 16px;box-shadow:0 26px 60px -28px rgba(62,50,44,.42)}
.footer-bana{background:var(--br-cocoa);color:rgba(255,255,255,.75)}
.footer-bana a{color:rgba(255,255,255,.75);text-decoration:none}
.footer-bana a:hover{color:var(--br-gold)}
.section-ingr{background:var(--br-sage);color:#fff;border-radius:22px}

/* --- Toasts --- */
.toast-zone{position:fixed;bottom:22px;right:22px;z-index:1080;display:flex;flex-direction:column;gap:10px;pointer-events:none}
.toast-bana{background:var(--br-cocoa);color:var(--br-cream);padding:.8rem 1.3rem;border-radius:14px;box-shadow:0 16px 40px -18px rgba(62,50,44,.55);font-size:.88rem;opacity:0;transform:translateY(12px);transition:.35s;border-left:4px solid var(--br-gold)}
.toast-bana.show{opacity:1;transform:translateY(0)}
/* --- Badge promo sur photo --- */
.img-wrap{position:relative}
.promo-badge{position:absolute;top:12px;left:12px;background:var(--br-sunset);color:#fff;font-weight:500;font-size:.8rem;letter-spacing:.06em;padding:.4em .85em;border-radius:30px;box-shadow:0 8px 20px -8px rgba(216,96,127,.7);z-index:2}
/* --- Carousel hero --- */
.hero-carousel .carousel-item img{height:520px;object-fit:cover;width:100%;border-radius:24px}
.hero-carousel .carousel-caption{background:rgba(62,50,44,.55);backdrop-filter:blur(6px);border-radius:16px;padding:1rem 1.6rem;max-width:80%;left:10%;right:10%}
.hero-carousel .carousel-indicators [data-bs-target]{background-color:var(--br-gold)}
@media (max-width:768px){.hero-carousel .carousel-item img{height:340px}}

/* --- Popup newsletter --- */
.nl-popup{position:fixed;bottom:22px;left:22px;z-index:1070;background:#fff;border:1px solid rgba(62,50,44,.14);border-radius:18px;padding:1.1rem 1.2rem;width:300px;box-shadow:0 24px 60px -24px rgba(62,50,44,.45);opacity:0;transform:translateY(18px);pointer-events:none;transition:.45s}
.nl-popup.show{opacity:1;transform:translateY(0);pointer-events:auto}
.nl-close{position:absolute;top:8px;right:10px;border:none;background:none;color:var(--br-soft);font-size:.9rem;cursor:pointer}
@media (max-width:576px){.nl-popup{left:12px;right:12px;width:auto;bottom:12px}}
