/* ==========================================================================
   BANDEAU COOKIES — Les Vertus des Simples
   Conforme CNIL : refuser doit être aussi simple qu'accepter.
   ========================================================================== */

.lvs-cookie-banner {
    position: fixed;
    left: 1.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
    z-index: 9999;
    max-width: 640px;
    margin: 0 auto;
    background: var(--cream, #FAF8F5);
    border: 1px solid rgba(155, 126, 164, 0.25);
    border-radius: 18px;
    box-shadow: 0 18px 50px rgba(10, 28, 16, 0.18);
    padding: 1.8rem 2rem;
    font-family: var(--font-serif, 'Cormorant Garamond', serif);
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .45s ease, transform .45s ease;
}

.lvs-cookie-banner.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.lvs-cookie-banner__leaf {
    display: block;
    font-size: 1.4rem;
    line-height: 1;
    margin-bottom: .6rem;
}

.lvs-cookie-banner__title {
    font-family: var(--font-display, 'Marcellus', serif);
    font-size: 1.3rem;
    color: var(--forest, #0A1C10);
    margin: 0 0 .6rem;
    font-weight: 400;
}

.lvs-cookie-banner__text {
    font-size: 1.02rem;
    line-height: 1.6;
    color: var(--text-mid, #1E3324);
    margin: 0 0 1.3rem;
}

.lvs-cookie-banner__text a {
    color: var(--mauve-deep, #7A5F83);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.lvs-cookie-banner__actions {
    display: flex;
    gap: .8rem;
    flex-wrap: wrap;
}

/* Les deux boutons ont exactement le même poids visuel (exigence CNIL) */
.lvs-cookie-btn {
    flex: 1 1 auto;
    min-width: 150px;
    padding: .85rem 1.6rem;
    border-radius: 40px;
    font-family: var(--font-sans, 'Inter', sans-serif);
    font-size: .74rem;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    font-weight: 500;
    cursor: pointer;
    transition: all .3s ease;
    border: 1.5px solid var(--forest, #0A1C10);
}

.lvs-cookie-btn--accept {
    background: var(--forest, #0A1C10);
    color: #fff;
}

.lvs-cookie-btn--accept:hover {
    background: var(--forest-soft, #204C2E);
    border-color: var(--forest-soft, #204C2E);
}

.lvs-cookie-btn--refuse {
    background: transparent;
    color: var(--forest, #0A1C10);
}

.lvs-cookie-btn--refuse:hover {
    background: rgba(10, 28, 16, .07);
}

/* --------------------------------------------------------------------------
   Placeholder affiché à la place de la carte tant qu'il n'y a pas de consentement
   -------------------------------------------------------------------------- */
.lvs-map-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: .9rem;
    min-height: 280px;
    height: 100%;
    padding: 2.5rem 1.8rem;
    background: var(--sage-light, #E8F0E6);
    border: 1px dashed rgba(143, 169, 140, .6);
    border-radius: 14px;
    font-family: var(--font-serif, 'Cormorant Garamond', serif);
}

.lvs-map-placeholder__icon {
    font-size: 1.9rem;
    color: var(--sage, #8FA98C);
}

.lvs-map-placeholder__text {
    font-size: 1rem;
    line-height: 1.55;
    color: var(--text-mid, #1E3324);
    margin: 0;
    max-width: 340px;
}

.lvs-map-placeholder__btn {
    display: inline-block;
    padding: .75rem 1.7rem;
    border-radius: 40px;
    background: var(--forest, #0A1C10);
    color: #fff;
    border: none;
    cursor: pointer;
    font-family: var(--font-sans, 'Inter', sans-serif);
    font-size: .72rem;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    transition: background .3s ease;
}

.lvs-map-placeholder__btn:hover {
    background: var(--forest-soft, #204C2E);
}

.lvs-map-placeholder__alt {
    font-size: .95rem;
    color: var(--text-muted, #5A7361);
}

.lvs-map-placeholder__alt a {
    color: var(--mauve-deep, #7A5F83);
}

/* --------------------------------------------------------------------------
   Lien discret de réouverture des préférences (dans le footer)
   -------------------------------------------------------------------------- */
.lvs-cookie-reopen {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: inherit;
    font: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
    opacity: .75;
}

.lvs-cookie-reopen:hover { opacity: 1; }

/* --------------------------------------------------------------------------
   Mobile
   -------------------------------------------------------------------------- */
@media (max-width: 600px) {
    .lvs-cookie-banner {
        left: .8rem;
        right: .8rem;
        bottom: .8rem;
        padding: 1.5rem 1.3rem;
        border-radius: 14px;
    }
    .lvs-cookie-banner__title { font-size: 1.15rem; }
    .lvs-cookie-banner__text  { font-size: .97rem; }
    .lvs-cookie-btn { flex: 1 1 100%; }
}
