
:root{ --brand:#1a1625; --accent:#9a7af1; --ink:#222; --muted:#6b7280; --ring: 0 0 0 .25rem rgba(154,122,241,.25); --radius: 1.25rem; }
body{ font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; }
.brand{ font-family: "Playfair Display", serif; letter-spacing:.5px; }
.text-gradient{ background: linear-gradient(120deg, var(--brand), var(--accent)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.bg-body{ background: radial-gradient(60% 40% at 10% 0%, rgba(154,122,241,.10), transparent 60%), radial-gradient(40% 30% at 100% 0%, rgba(0,0,0,.04), transparent 60%), #fafafa; }
.btn:focus,.form-control:focus,.form-select:focus,.form-check-input:focus{ box-shadow: var(--ring); }
.rounded-4{ border-radius: var(--radius) !important; }

.hero .hero-stack{ position:relative; height: 420px; }
.hero .card-hero{ position:absolute; inset:auto 0 0 auto; width: 70%; border-radius: var(--radius); box-shadow: 0 20px 50px rgba(0,0,0,.15); transform-origin: center; animation: floatUp .9s both cubic-bezier(.2,.8,.2,1); }
.hero .card-hero:nth-child(1){ right:20%; bottom: 90px; rotate:-4deg; }
.hero .card-hero:nth-child(2){ right:0; bottom: 30px; rotate: 2deg; }
.hero .card-hero:nth-child(3){ right:35%; bottom:-40px; rotate: 4deg; }
.hero .delay-1{ animation-delay:.1s;} .hero .delay-2{ animation-delay:.2s;}
@keyframes floatUp{ from{ opacity:0; transform: translateY(20px) scale(.98);} to{opacity:1; transform: translateY(0) scale(1);} }
.fancy-reveal{ opacity:0; transform: translateY(16px); animation: reveal .7s .2s both; }
.fancy-reveal.delay-1{ animation-delay:.35s;} .fancy-reveal.delay-2{ animation-delay:.5s;}
@keyframes reveal{ to{opacity:1; transform: none;} }

.card.product{ border:0; overflow:hidden; border-radius: var(--radius); transition: transform .2s ease, box-shadow .2s ease; }
.card.product:hover{ transform: translateY(-3px); box-shadow: 0 10px 30px rgba(0,0,0,.10); }
.badge-soft{ background: rgba(0,0,0,.05); }

.search-input{ width: 200px; } @media (min-width:992px){ .search-input{ width: 280px; } }
.object-fit-cover{ object-fit: cover; }
.bg-white\/80{ background: rgba(255,255,255,.8); } .backdrop-blur{ backdrop-filter: saturate(1.2) blur(8px); }

.cart-item{ border-radius: .75rem; border:1px solid rgba(0,0,0,.08); padding: 16px; }
.cart-img{ width:100px; height:100px; object-fit:cover; border-radius:.75rem; }
.cart-badge, .wish-badge{ top:0; left: 100%; font-size:.7rem; transform: translate(-30%, -30%); display:none; }

.tile{ border: 1px solid rgba(0,0,0,.06); border-radius: .75rem; padding: 16px; background:#fff; display:grid; gap:8px; }
.tile .title{ font-weight:600; } .tile .small{ color:var(--muted); }

.chip{ border:1px solid rgba(0,0,0,.1); border-radius:999px; padding:.35rem .75rem; cursor:pointer; user-select:none; }
.chip.active{ background:#000; color:#fff; border-color:#000; }
.size-pill{ border:1px dashed rgba(0,0,0,.2); border-radius:.5rem; padding:.35rem .65rem; cursor:pointer; }
.size-pill.disabled{ opacity:.35; text-decoration: line-through; cursor:not-allowed; }

.color-chip{border:1px solid rgba(0,0,0,.15); border-radius:999px; padding:.35rem .75rem; cursor:pointer}
.color-chip.active{background:#000;color:#fff;border-color:#000}
.variant-grid{overflow:auto}
.variant-grid table{width:100%;border-collapse:collapse}
.variant-grid th,.variant-grid td{border:1px solid rgba(0,0,0,.1);padding:.35rem;text-align:center}

.swatch{display:inline-flex;align-items:center;gap:.5rem;border:1px solid rgba(0,0,0,.12);border-radius:999px;padding:.3rem .6rem;cursor:pointer;user-select:none}
.swatch .dot{width:16px;height:16px;border-radius:999px;border:1px solid rgba(0,0,0,.25);background:#ddd}
.swatch.active{background:#000;color:#fff;border-color:#000}
.swatch.disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.filter-swatch{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(0,0,0,.12);border-radius:999px;padding:.25rem .5rem;cursor:pointer}
.filter-swatch .dot{width:12px;height:12px;border-radius:999px;border:1px solid rgba(0,0,0,.25)}
.bundle-card{border:1px dashed rgba(0,0,0,.15);border-radius:.75rem;padding:12px}
/* DÉBUT: Style pour le bandeau défilant */
        .marquee {
            position: fixed;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 50; /* Juste en dessous de la navigation (qui est z-30) */
            height: 32px; /* Hauteur du bandeau */
            display: flex;
            align-items: center;
            overflow: hidden;
            white-space: nowrap;
            /* Style BistroTempo */
            background: #0F172A; /* brand-black */
            color: #df6ff5; /* brand-orange */
            border-top: 1px solid #1E293B; /* brand-dark */
            font-weight: 700;
            font-size: 14px;
        }
        .marquee span {
            display: inline-block;
            padding: 0 22px;
            line-height: 32px;
            animation: marq 18s linear infinite;
        }
        @keyframes marq {
            from { transform: translateX(0%); }
            to { transform: translateX(-50%); }
        }
        /* FIN: Style pour le bandeau défilant */