/* ================================================================
   METIKAZ — CSS Principal (frontend)
   Fichier : public/assets/css/main.css
   ================================================================ */

/* ── VARIABLES ──────────────────────────────────────────────────── */
:root {
    --flame:    #E8490F;
    --amber:    #F5A623;
    --golden:   #F7C948;
    --terra:    #C1440E;
    --sand:     #FDF6EC;
    --warm-bg:  #FFF9F2;
    --bark:     #3B2314;
    --smoke:    #7A5C48;
    --cream:    #FEEFD4;
}

/* ── BASE ────────────────────────────────────────────────────────── */
* { font-family: 'DM Sans', sans-serif; }
h1, h2, h3, h4, h5,
.display-1, .display-2, .display-3, .display-4 {
    font-family: 'Playfair Display', serif;
}

body {
    background: var(--warm-bg);
    color: var(--bark);
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23f5a623' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

/* ── NAVBAR ──────────────────────────────────────────────────────── */
.navbar {
    background: var(--bark);
    padding: 0;
    border-bottom: 3px solid var(--amber);
}
.navbar-inner {
    display: flex;
    align-items: center;
    gap: 0;
    width: 100%;
}
.navbar-brand {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--golden) !important;
    padding: 16px 24px;
    text-decoration: none;
    background: var(--flame);
    letter-spacing: -0.5px;
    white-space: nowrap;
}
.navbar-brand span { color: white; }

.nav-links {
    display: flex;
    align-items: center;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    overflow: visible;
}
.nav-links > li > a {
    color: rgba(255,255,255,.75) !important;
    font-weight: 500;
    font-size: .875rem;
    padding: 22px 18px;
    display: block;
    text-decoration: none;
    transition: all .2s;
    letter-spacing: .3px;
    border-bottom: 3px solid transparent;
    margin-bottom: -3px;
}
.nav-links > li > a:hover {
    color: var(--golden) !important;
    border-bottom-color: var(--amber);
}
.navbar-right {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 20px;
}

/* Search */
.search-wrap {
    display: flex;
    align-items: center;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 6px;
    overflow: hidden;
    transition: border-color .2s;
}
.search-wrap:focus-within {
    border-color: rgba(245,166,35,.5);
}
.search-wrap input {
    background: transparent;
    border: none;
    color: white;
    padding: 0 10px;
    font-size: .82rem;
    height: 32px;
    width: 170px;
    outline: none;
}
.search-wrap input::placeholder { color: rgba(255,255,255,.3); }
.search-wrap button {
    background: none;
    border: none;
    border-left: 1px solid rgba(255,255,255,.1);
    color: rgba(255,255,255,.5);
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .85rem;
    cursor: pointer;
    transition: color .2s, background .2s;
    flex-shrink: 0;
}
.search-wrap button:hover {
    background: rgba(245,166,35,.15);
    color: var(--amber);
}

/* Cart button */
.btn-cart {
    background: rgba(245,166,35,.15);
    border: 1px solid rgba(245,166,35,.4);
    color: var(--golden);
    border-radius: 8px;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .875rem;
    font-weight: 600;
    transition: all .2s;
    text-decoration: none;
}
.btn-cart:hover { background: var(--amber); color: var(--bark); border-color: var(--amber); }
.cart-count {
    background: var(--flame);
    color: white;
    border-radius: 50%;
    font-size: 10px;
    width: 18px; height: 18px;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700;
}

/* User dropdown */
.user-btn {
    background: transparent;
    border: 1px solid rgba(255,255,255,.2);
    color: white;
    border-radius: 8px;
    padding: 6px 14px 6px 6px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .85rem;
    transition: all .2s;
}
.user-btn:hover { border-color: var(--amber); color: var(--golden); }
.avatar-circle { width: 30px; height: 30px; border-radius: 50%; object-fit: cover; border: 2px solid var(--amber); }
.avatar-placeholder {
    width: 30px; height: 30px; border-radius: 50%;
    background: var(--flame); color: white;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 12px;
}
.dropdown-menu {
    border: none;
    border-radius: 8px;
    box-shadow: 0 20px 60px rgba(59,35,20,.25);
    border-top: 3px solid var(--amber);
    padding: 8px;
}
.dropdown-item {
    border-radius: 6px;
    font-size: .875rem;
    padding: 9px 14px;
    color: var(--bark);
    font-weight: 500;
}
.dropdown-item:hover { background: var(--cream); color: var(--flame); }

/* Auth buttons */
.btn-auth-login {
    color: rgba(255,255,255,.8);
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 8px;
    padding: 8px 18px;
    font-size: .85rem;
    font-weight: 500;
    text-decoration: none;
    transition: all .2s;
}
.btn-auth-login:hover { color: var(--golden); border-color: var(--amber); }
.btn-auth-register {
    background: var(--flame);
    color: white;
    border-radius: 8px;
    padding: 8px 20px;
    font-size: .85rem;
    font-weight: 600;
    text-decoration: none;
    transition: all .2s;
}
.btn-auth-register:hover { background: var(--terra); color: white; }

/* Mobile navbar toggle */
.navbar-toggler-btn {
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.2);
    color: white;
    border-radius: 8px;
    padding: 8px 12px;
}

/* ── BUTTONS ─────────────────────────────────────────────────────── */
.btn-primary {
    background: var(--flame);
    border: none;
    color: white;
    border-radius: 8px;
    font-weight: 600;
}
.btn-primary:hover { background: var(--terra); color: white; }
.btn-outline-primary {
    color: var(--flame);
    border-color: var(--flame);
    border-radius: 8px;
}
.btn-outline-primary:hover { background: var(--flame); border-color: var(--flame); color: white; }
.btn-warning { background: var(--amber); border: none; color: var(--bark); border-radius: 8px; font-weight: 600; }
.btn-warning:hover { background: var(--golden); color: var(--bark); }

/* ── PRODUCT CARDS ───────────────────────────────────────────────── */
.product-card {
    border: none;
    border-radius: 10px;
    overflow: hidden;
    transition: transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .35s;
    box-shadow: 0 4px 20px rgba(59,35,20,.08);
    background: white;
}
.product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(232,73,15,.2);
}
.product-card .card-img-top {
    height: 220px;
    object-fit: cover;
    background: var(--cream);
}
.product-card .img-placeholder {
    height: 220px;
    background: linear-gradient(135deg, var(--cream), #fde8c0);
    display: flex; align-items: center; justify-content: center;
}
.badge-sale {
    background: var(--flame);
    color: white;
    border-radius: 4px;
    font-size: .7rem;
    font-weight: 700;
    padding: 4px 10px;
}
.badge-new {
    background: var(--amber);
    color: var(--bark);
    border-radius: 4px;
    font-size: .7rem;
    font-weight: 700;
    padding: 4px 10px;
}
.price-main { color: var(--flame); font-weight: 700; font-size: 1.15rem; }
.price-old { color: #aaa; text-decoration: line-through; font-size: .875rem; }

/* ── CATEGORY CARDS ──────────────────────────────────────────────── */
.cat-card {
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    background: white;
    border: 2px solid var(--cream);
    transition: all .25s;
    text-decoration: none;
    display: block;
}
.cat-card:hover {
    border-color: var(--amber);
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(245,166,35,.2);
}
.cat-card-inner {
    padding: 28px 20px;
    text-align: center;
}
.cat-icon {
    width: 56px; height: 56px; border-radius: 8px;
    background: linear-gradient(135deg, var(--amber), var(--golden));
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem; margin: 0 auto 12px;
    box-shadow: 0 6px 20px rgba(245,166,35,.35);
}
.cat-card h6 {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    color: var(--bark);
    margin: 0;
    font-size: 1rem;
}

/* ── SECTION TITLES ──────────────────────────────────────────────── */
.section-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--cream);
    color: var(--flame);
    border-radius: 4px;
    padding: 4px 14px;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .5px;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.section-title {
    font-family: 'Playfair Display', serif;
    font-size: 2rem;
    font-weight: 800;
    color: var(--bark);
    line-height: 1.2;
}

/* ── ALERTS ──────────────────────────────────────────────────────── */
.alert { border-radius: 6px; border: none; }
.alert-success { background: #FFF3E0; color: var(--terra); border-left: 4px solid var(--amber); }
.alert-danger  { background: #FFF0EE; color: var(--terra); border-left: 4px solid var(--flame); }

/* ── FORM CONTROLS ───────────────────────────────────────────────── */
.form-control, .form-select {
    border-color: #e8d5c0;
    border-radius: 6px;
    padding: 12px 15px;
}
.form-control:focus, .form-select:focus {
    border-color: var(--amber);
    box-shadow: 0 0 0 3px rgba(245,166,35,.15);
}

/* ── FOOTER ──────────────────────────────────────────────────────── */
footer {
    background: var(--bark);
    color: rgba(255,255,255,.55);
    position: relative;
    overflow: hidden;
}
footer::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--flame), var(--amber), var(--golden), var(--amber), var(--flame));
}
footer h5 { color: white; font-family: 'Playfair Display', serif; font-weight: 700; }
footer a { color: rgba(255,255,255,.55); text-decoration: none; transition: color .2s; }
footer a:hover { color: var(--amber); }
.footer-brand { font-family: 'Playfair Display', serif; font-size: 1.6rem; color: var(--golden); font-weight: 800; }
.footer-social a {
    width: 36px; height: 36px; border-radius: 50%;
    border: 1px solid rgba(255,255,255,.2);
    display: inline-flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,.55);
    transition: all .2s;
}
.footer-social a:hover { border-color: var(--amber); color: var(--amber); background: rgba(245,166,35,.1); }

/* ── HERO CARROUSEL ──────────────────────────────────────────────── */
.hero-carousel {
    position: relative;
    overflow: hidden;
    min-height: 480px;
}
.hero-track {
    display: flex;
    transition: transform .6s cubic-bezier(.4, 0, .2, 1);
}
.hero-slide {
    min-width: 100%;
    min-height: 480px;
    position: relative;
    display: flex;
    align-items: center;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(59,35,20,.80) 0%, rgba(107,58,31,.65) 50%, rgba(193,68,14,.55) 100%);
    z-index: 1;
}
.hero-deco {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 1;
}
.hero-deco-1 { top: -80px; right: -80px; width: 400px; height: 400px; background: rgba(245,166,35,.07); }
.hero-deco-2 { bottom: -60px; left: 10%; width: 250px; height: 250px; background: rgba(247,201,72,.05); }
.hero-deco-3 { top: 30%; right: 15%; width: 180px; height: 180px; background: rgba(232,73,15,.08); }

.hero-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(245,166,35,.2);
    border: 1px solid rgba(245,166,35,.4);
    border-radius: 6px;
    padding: 5px 14px;
    margin-bottom: 20px;
    color: #F7C948;
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .5px;
}
.hero-title {
    font-family: 'Playfair Display', serif;
    font-size: 3.2rem;
    font-weight: 800;
    color: white;
    line-height: 1.15;
    margin-bottom: 20px;
}
.hero-highlight { color: #F7C948; }
.hero-subtitle {
    color: rgba(255,255,255,.7);
    font-size: 1.05rem;
    max-width: 560px;
    margin-bottom: 32px;
    line-height: 1.7;
}
.hero-btn-primary {
    background: linear-gradient(135deg, #E8490F, #F5A623);
    color: white;
    border-radius: 8px;
    padding: 13px 30px;
    font-weight: 700;
    text-decoration: none;
    font-size: 1rem;
    box-shadow: 0 8px 25px rgba(232,73,15,.4);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: transform .2s, box-shadow .2s;
}
.hero-btn-primary:hover { color: white; transform: translateY(-2px); box-shadow: 0 12px 30px rgba(232,73,15,.5); }
.hero-btn-secondary {
    border: 2px solid rgba(255,255,255,.3);
    color: white;
    border-radius: 8px;
    padding: 13px 30px;
    font-weight: 600;
    text-decoration: none;
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: border-color .2s, background .2s;
}
.hero-btn-secondary:hover { border-color: rgba(255,255,255,.6); color: white; background: rgba(255,255,255,.06); }

/* Navigation */
.hero-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.2);
    color: white;
    width: 44px; height: 44px;
    border-radius: 6px;
    font-size: 1.1rem;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: background .2s;
    z-index: 10;
}
.hero-nav:hover { background: rgba(255,255,255,.22); }
.hero-nav-prev { left: 16px; }
.hero-nav-next { right: 16px; }

/* Dots */
.hero-dots {
    position: absolute;
    bottom: 18px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 7px;
    z-index: 10;
}
.hero-dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: rgba(255,255,255,.35);
    border: none;
    cursor: pointer;
    padding: 0;
    transition: background .25s, transform .25s;
}
.hero-dot.active {
    background: #F5A623;
    transform: scale(1.4);
}

/* ── ANIMATIONS ──────────────────────────────────────────────────── */
@keyframes spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}



/* ── RESPONSIVE ──────────────────────────────────────────────────── */
@media (max-width: 991px) {
    .nav-links { display: none !important; }
    .mobile-menu { display: block; }
    .navbar-right { gap: 6px; }
    .navbar-brand { padding: 14px 16px; font-size: 1.25rem; }
}
@media (min-width: 992px) {
    .mobile-menu { display: none; }
}

/* ══ PAGE À PROPOS ════════════════════════════════════════════════════ */

/* Hero — plus compact */
.about-hero { position:relative;overflow:hidden; }
.about-hero-bg { position:absolute;inset:0;background-size:cover;background-position:center; }
.about-hero-overlay { position:absolute;inset:0;background:linear-gradient(135deg,rgba(59,35,20,.88),rgba(193,68,14,.70)); }
.about-tag {
    display:inline-flex;align-items:center;gap:8px;
    background:rgba(245,166,35,.2);border:1px solid rgba(245,166,35,.4);
    border-radius:6px;padding:4px 14px;margin-bottom:16px;
    color:#F7C948;font-size:.8rem;font-weight:600;letter-spacing:.5px;
}
.about-hero-title {
    font-family:'Playfair Display',serif;font-size:2.6rem;font-weight:800;
    color:white;line-height:1.18;margin-bottom:16px;
}
.about-hero-sub { color:rgba(255,255,255,.72);font-size:1rem;max-width:540px;margin:0 auto;line-height:1.75; }

/* Stats — fond crème chaud, pas blanc */
.about-stats-band {
    background:var(--cream);
    border-top:3px solid var(--amber);
    border-bottom:3px solid var(--amber);
}
.about-stat-cell {
    padding:24px 16px;text-align:center;
    border-right:1px solid rgba(59,35,20,.12);
    transition:background .2s;
}
.about-stat-cell:last-child { border-right:none; }
.about-stat-cell:hover { background:rgba(245,166,35,.08); }
.about-stat-num { font-family:'Playfair Display',serif;font-size:2rem;font-weight:800;color:var(--flame);line-height:1; }
.about-stat-label { color:var(--smoke);font-size:.8rem;margin-top:5px;font-weight:500; }

/* Section wrapper alternance */
.about-section-light { background:var(--warm-bg);padding:64px 0; }
.about-section-cream { background:var(--cream);padding:64px 0;border-top:1px solid rgba(245,166,35,.2);border-bottom:1px solid rgba(245,166,35,.2); }
.about-section-dark  {
    background:linear-gradient(160deg,#2a1a0e 0%,#4a2512 50%,#7B2D00 100%);
    padding:64px 0;
    position:relative;overflow:hidden;
}

/* Séparateur déco entre sections */
.about-divider {
    display:flex;align-items:center;gap:12px;
    margin-bottom:32px;
}
.about-divider-line { flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(232,73,15,.25),transparent); }
.about-divider-dot  { width:8px;height:8px;border-radius:50%;background:var(--amber); }

/* Mission image */
.about-mission-img-wrap { position:relative;border-radius:10px;overflow:visible; }
.about-mission-img {
    width:100%;border-radius:10px;
    box-shadow:0 16px 48px rgba(59,35,20,.18);
    position:relative;z-index:2;
    border:3px solid white;
}
.about-mission-deco {
    position:absolute;bottom:-14px;right:-14px;
    width:60%;height:60%;border-radius:10px;
    background:linear-gradient(135deg,var(--amber),var(--flame));
    opacity:.18;z-index:1;
}

/* Valeurs — fond crème, pas blanc */
.about-value-card {
    background:white;border-radius:8px;padding:24px 20px;
    box-shadow:0 2px 12px rgba(59,35,20,.07);
    border:1px solid rgba(245,166,35,.2);
    border-top:3px solid var(--amber);
    transition:transform .2s,box-shadow .2s;
    height:100%;
}
.about-value-card:hover { transform:translateY(-3px);box-shadow:0 8px 28px rgba(59,35,20,.12); }
.about-value-icon {
    width:48px;height:48px;border-radius:8px;
    background:linear-gradient(135deg,var(--flame),var(--amber));
    display:flex;align-items:center;justify-content:center;
    font-size:1.3rem;color:white;margin-bottom:14px;
}
.about-value-title { font-weight:700;color:var(--bark);margin-bottom:6px;font-size:.98rem; }
.about-value-text  { color:var(--smoke);font-size:.86rem;line-height:1.65;margin:0; }

/* Équipe */
.about-team-card {
    background:white;border-radius:10px;overflow:hidden;
    box-shadow:0 3px 18px rgba(59,35,20,.09);
    border:1px solid rgba(245,166,35,.15);
    transition:transform .2s,box-shadow .2s;
}
.about-team-card:hover { transform:translateY(-3px);box-shadow:0 12px 36px rgba(59,35,20,.14); }
.about-team-photo-wrap {
    position:relative;height:200px;overflow:hidden;
    background:linear-gradient(135deg,var(--bark),var(--terra));
}
.about-team-photo { width:100%;height:100%;object-fit:cover; }
.about-team-avatar {
    width:100%;height:100%;display:flex;align-items:center;justify-content:center;
    font-family:'Playfair Display',serif;font-size:3.5rem;font-weight:800;color:rgba(245,166,35,.5);
}
.about-team-glow {
    position:absolute;bottom:0;left:0;right:0;height:40%;
    background:linear-gradient(to top,rgba(59,35,20,.55),transparent);
}
.about-team-info { padding:16px 18px; }
.about-team-name { font-weight:700;font-size:1rem;color:var(--bark);margin-bottom:3px; }
.about-team-role {
    color:var(--flame);font-size:.76rem;font-weight:600;
    margin-bottom:8px;text-transform:uppercase;letter-spacing:.6px;
}
.about-team-bio  { color:var(--smoke);font-size:.84rem;line-height:1.55;margin:0; }

/* CTA */
.about-cta {
    position:relative;overflow:hidden;
    background:linear-gradient(135deg,var(--bark) 0%,#6B3A1F 55%,var(--terra) 100%);
    padding:70px 0;
}
.about-cta::before {
    content:'';position:absolute;inset:0;
    background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%23f5a623' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.about-cta-deco-1 { position:absolute;top:-80px;right:-80px;width:320px;height:320px;border-radius:50%;background:rgba(245,166,35,.07); }
.about-cta-deco-2 { position:absolute;bottom:-60px;left:5%;width:240px;height:240px;border-radius:50%;background:rgba(232,73,15,.09); }
.about-cta-title { font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:800;color:white;margin-bottom:12px; }
.about-cta-sub   { color:rgba(255,255,255,.68);font-size:1rem;margin-bottom:28px; }

@media (max-width:768px) {
    .about-hero-title { font-size:1.9rem; }
    .about-stat-num   { font-size:1.5rem; }
    .about-cta-title  { font-size:1.7rem; }
    .about-stat-cell  { border-right:none;border-bottom:1px solid rgba(59,35,20,.1); }
    .about-section-light,.about-section-cream { padding:48px 0; }
}

/* ══ DROPDOWN NAVBAR ════════════════════════════════════════════════ */
/* Le menu est positionné en position:fixed via JS (hors navbar) */
.nav-dropdown-menu {
    background:#ffffff !important;
    background-color:#ffffff !important;
    border-radius:0 0 8px 8px;
    min-width:210px;
    box-shadow:0 8px 28px rgba(59,35,20,.18);
    border:1px solid rgba(245,166,35,.25);
    border-top:3px solid var(--amber);
    list-style:none;padding:4px 0;margin:0;
}
.nav-dropdown-menu li a {
    display:flex;align-items:center;
    padding:10px 18px;
    color:var(--bark);
    font-size:.88rem;font-weight:500;
    text-decoration:none;white-space:nowrap;
    transition:background .15s,color .15s;
}
.nav-dropdown-menu li a:hover { background:var(--sand);color:var(--flame); }
.nav-dropdown-divider { height:1px;background:rgba(59,35,20,.1);margin:3px 0; }

/* ══ PAGE CONTACT ════════════════════════════════════════════════════ */
.contact-info-card {
    display:flex;align-items:center;gap:16px;
    padding:16px 18px;border-radius:10px;
    background:white;
    border:1px solid rgba(245,166,35,.2);
    border-left:4px solid var(--amber);
    text-decoration:none !important;
    color:inherit !important;
    transition:box-shadow .2s,transform .2s;
    box-shadow:0 2px 10px rgba(59,35,20,.06);
}
a.contact-info-card:hover {
    box-shadow:0 6px 24px rgba(59,35,20,.12);
    transform:translateY(-2px);
    border-left-color:var(--flame);
    color:inherit !important;
    text-decoration:none !important;
}
.contact-info-icon {
    width:44px;height:44px;border-radius:10px;flex-shrink:0;
    background:linear-gradient(135deg,var(--flame),var(--amber));
    display:flex;align-items:center;justify-content:center;
    color:white;font-size:1.1rem;
}
.contact-info-label { font-size:.7rem;color:var(--smoke);font-weight:700;text-transform:uppercase;letter-spacing:.6px;margin-bottom:3px; }
.contact-info-value { font-size:.92rem;color:var(--bark);font-weight:600;line-height:1.3; }
.contact-input {
    border:1px solid rgba(59,35,20,.15);border-radius:6px;
    background:var(--warm-bg);color:var(--bark);
    transition:border-color .2s,box-shadow .2s;
}
.contact-input:focus { border-color:var(--amber);box-shadow:0 0 0 3px rgba(245,166,35,.12);background:white;outline:none; }

/* ══ PAGES LÉGALES ═══════════════════════════════════════════════════ */
.legal-content h3 {
    font-family:'Playfair Display',serif;
    font-size:1.2rem;color:var(--bark);font-weight:700;
    margin:28px 0 10px;padding-bottom:8px;
    border-bottom:2px solid rgba(245,166,35,.3);
}
.legal-content h3:first-child { margin-top:0; }
.legal-content p  { color:var(--smoke);line-height:1.8;font-size:.95rem;margin-bottom:14px; }
.legal-content ul { color:var(--smoke);line-height:1.8;font-size:.95rem;padding-left:20px;margin-bottom:14px; }
.legal-content strong { color:var(--bark); }
.legal-content a  { color:var(--flame); }

/* ══ RICH CONTENT (TinyMCE output) ══════════════════════════════════ */
.rich-content { color:var(--smoke);font-size:1rem;line-height:1.85; }
.rich-content h2 { font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:800;color:var(--bark);margin:28px 0 12px; }
.rich-content h3 { font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:var(--bark);margin:22px 0 10px;padding-bottom:6px;border-bottom:2px solid rgba(245,166,35,.3); }
.rich-content h4 { font-size:1rem;font-weight:700;color:var(--bark);margin:16px 0 8px; }
.rich-content p  { margin-bottom:14px; }
.rich-content ul,.rich-content ol { padding-left:20px;margin-bottom:14px; }
.rich-content li { margin-bottom:6px; }
.rich-content strong { color:var(--bark); }
.rich-content a  { color:var(--flame);text-decoration:underline; }
.rich-content table { width:100%;border-collapse:collapse;margin-bottom:16px; }
.rich-content td,.rich-content th { padding:8px 12px;border:1px solid rgba(59,35,20,.12); }
.rich-content th { background:var(--cream);font-weight:700;color:var(--bark); }

/* reCAPTCHA v3 — masquer le badge flottant */
.grecaptcha-badge { visibility:hidden !important; }
