/* ══════════════════════════════════════════
   TARIFS LUXE OVERRIDE
══════════════════════════════════════════ */

.tarifs-section {
    background:
        radial-gradient(ellipse 80% 60% at 20% 110%, rgba(184,150,62,.07) 0%, transparent 60%),
        radial-gradient(ellipse 60% 40% at 80% -10%, rgba(184,150,62,.05) 0%, transparent 55%),
        linear-gradient(160deg, #0a2e2e 0%, #061e1e 60%, #091a1a 100%) !important;
    padding: 7rem 2rem !important;
    position: relative;
    overflow: hidden;
}
.tarifs-section::before {
    content: "";
    position: absolute;
    inset: 0;
    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%3Cpath d='M30 0 L31 29 L60 30 L31 31 L30 60 L29 31 L0 30 L29 29Z' fill='rgba(184,150,62,0.025)'/%3E%3C/svg%3E");
    background-size: 60px 60px;
    pointer-events: none;
}

.tarifs-section .section-title::after {
    content: "";
    display: block;
    width: 48px;
    height: 1px;
    background: linear-gradient(to right, #b8963e, transparent);
    margin-top: 14px;
}

.pricing-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2.5rem !important;
    max-width: 960px !important;
    margin: 4rem auto 0 !important;
    align-items: stretch !important;
}

.price-card {
    background: rgba(255,255,255,.035) !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 14px !important;
    padding: 3rem 2.8rem !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative;
    overflow: hidden;
    transition: transform .4s ease, box-shadow .4s ease, border-color .4s !important;
    backdrop-filter: blur(8px);
}
.price-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(184,150,62,.35), transparent);
}
.price-card:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(184,150,62,.25) !important;
    box-shadow: 0 28px 64px rgba(0,0,0,.35), 0 0 0 1px rgba(184,150,62,.12) !important;
}

.price-card.featured {
    background: linear-gradient(150deg, #fffef9 0%, #faf6ee 100%) !important;
    border: 1px solid rgba(184,150,62,.28) !important;
    box-shadow: 0 16px 60px rgba(0,0,0,.25), 0 0 0 1px rgba(184,150,62,.1) !important;
}
.price-card.featured::before {
    background: linear-gradient(to right, transparent, rgba(184,150,62,.6), transparent);
}
.price-card.featured:hover {
    box-shadow: 0 32px 72px rgba(0,0,0,.3), 0 0 0 1px rgba(184,150,62,.25) !important;
}

.price-badge {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    background: linear-gradient(135deg, #c9a84c, #9e7a2a) !important;
    color: #fff !important;
    font-size: .58rem !important;
    font-weight: 700 !important;
    letter-spacing: .22em !important;
    padding: .38rem 1.1rem !important;
    border-radius: 30px !important;
    margin-bottom: 1.8rem !important;
    box-shadow: 0 4px 14px rgba(184,150,62,.35);
}

.price-name {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 2rem !important;
    font-weight: 300 !important;
    letter-spacing: .02em !important;
    margin-bottom: .3rem !important;
    line-height: 1.1;
}
.price-card:not(.featured) .price-name { color: rgba(255,255,255,.88) !important; }
.price-card.featured .price-name { color: #085c5c !important; }

.price-amount {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 4.2rem !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    margin: 1.4rem 0 .3rem !important;
    letter-spacing: -.01em;
    background: linear-gradient(135deg, #c9a84c 0%, #b8963e 50%, #9e7a2a 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.price-period {
    font-size: .62rem !important;
    letter-spacing: .2em !important;
    text-transform: uppercase !important;
    margin-bottom: 2.2rem !important;
}
.price-card:not(.featured) .price-period { color: rgba(255,255,255,.3) !important; }
.price-card.featured .price-period { color: #9b9590 !important; }

.price-features {
    border-top: 1px solid rgba(184,150,62,.18) !important;
    padding-top: 1.8rem !important;
    margin-bottom: 2.4rem !important;
    flex-grow: 1 !important;
}
.price-card.featured .price-features { border-color: rgba(184,150,62,.2) !important; }

.price-features li {
    padding: .75rem 0 !important;
    font-size: .9rem !important;
    font-weight: 300 !important;
    display: flex !important;
    align-items: center !important;
    gap: .9rem !important;
    border-bottom: 1px solid rgba(255,255,255,.05) !important;
    transition: padding-left .2s;
}
.price-card.featured .price-features li { border-color: rgba(13,122,122,.08) !important; }
.price-card:not(.featured) .price-features li { color: rgba(255,255,255,.75) !important; }
.price-card.featured .price-features li { color: #4a4540 !important; }
.price-features li:last-child { border-bottom: none !important; }
.price-features li:hover { padding-left: 4px !important; }

.price-features li::before {
    content: "" !important;
    width: 6px !important;
    height: 6px !important;
    background: #b8963e !important;
    border-radius: 1px !important;
    transform: rotate(45deg) !important;
    flex-shrink: 0 !important;
    opacity: .85;
}

.price-card .btn {
    margin-top: auto !important;
    width: 100% !important;
    text-align: center !important;
    padding: 1rem 1.5rem !important;
    font-size: .72rem !important;
    letter-spacing: .16em !important;
    border-radius: 6px !important;
    position: relative;
    overflow: hidden;
}
.price-card .btn::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(255,255,255,.08), transparent);
    pointer-events: none;
}
.btn-gold {
    background: linear-gradient(135deg, #c9a84c 0%, #9e7a2a 100%) !important;
    box-shadow: 0 6px 22px rgba(184,150,62,.4) !important;
}
.btn-gold:hover { box-shadow: 0 10px 30px rgba(184,150,62,.55) !important; }
.btn-teal {
    background: linear-gradient(135deg, #0d7a7a 0%, #085c5c 100%) !important;
    box-shadow: 0 6px 22px rgba(13,122,122,.3) !important;
/* ══════════════════════════════════════════
   NAV - FIX LISIBILITÉ SUR HERO
══════════════════════════════════════════ */
nav:not(.scrolled) .logo {
    color: #fff !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.35);
}
nav:not(.scrolled) .logo-bubble {
    background: rgba(255,255,255,.2) !important;
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255,255,255,.15);
}
nav:not(.scrolled) .nav-links a {
    color: rgba(255,255,255,.88) !important;
    text-shadow: 0 1px 8px rgba(0,0,0,.25);
}
nav:not(.scrolled) .nav-links a:hover { color: #fff !important; }
nav:not(.scrolled) .nav-links a::after { background: rgba(255,255,255,.7) !important; }
nav:not(.scrolled) .nav-cta {
    background: rgba(255,255,255,.14) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.25);
    backdrop-filter: blur(6px);
}
nav.scrolled .logo { color: var(--teal) !important; text-shadow: none; }
nav.scrolled .logo-bubble { background: var(--teal) !important; border: none; }
nav.scrolled .nav-links a { color: var(--ink) !important; text-shadow: none; }

/* ══════════════════════════════════════════
   CORRECTIONS SITE PUBLIC & RESPONSIVE
══════════════════════════════════════════ */
.hero { margin-top: 0 !important; }
.gallery-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1rem !important;
    margin-top: 2.5rem;
}
.gallery-grid .g-item { grid-row: auto !important; height: 220px !important; }

@media (max-width: 1024px) {
    .desc-layout, .lieu-cards, .contact-layout, .footer-top { grid-template-columns: 1fr !important; gap: 2rem; }
    .features-grid { grid-template-columns: 1fr 1fr !important; }
    .pricing-row { max-width: 700px; margin-left: auto; margin-right: auto; }
}

@media (max-width: 768px) {
    section { padding: 3.5rem 1.2rem !important; }
    .hero { min-height: 500px !important; height: auto !important; }
    .hero h1 { font-size: 2.2rem !important; }
    .hero-sub { font-size: .88rem !important; max-width: 100% !important; }
    .hero-actions { flex-direction: column; width: 100%; }
    .hero-actions .btn { width: 100%; text-align: center; }
    .scroll-cue { display: none; }
    .section-title { font-size: 1.8rem !important; }
    .gallery-grid { grid-template-columns: repeat(2, 1fr) !important; gap: .8rem !important; }
    .gallery-grid .g-item { height: 150px !important; }
    .features-grid, .pricing-row, .form-row { grid-template-columns: 1fr !important; }
    .price-amount { font-size: 3.2rem !important; }
}

/* ══════════════════════════════════════════
   TARIFS LUXE OVERRIDE
══════════════════════════════════════════ */
.tarifs-section {
    background: radial-gradient(ellipse 80% 60% at 20% 110%, rgba(184,150,62,.07) 0%, transparent 60%),
                radial-gradient(ellipse 60% 40% at 80% -10%, rgba(184,150,62,.05) 0%, transparent 55%),
                linear-gradient(160deg, #0a2e2e 0%, #061e1e 60%, #091a1a 100%) !important;
    padding: 7rem 2rem !important;
    position: relative;
    overflow: hidden;
}
.price-card {
    background: rgba(255,255,255,.035) !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 14px !important;
    padding: 3rem 2.8rem !important;
    display: flex !important;
    flex-direction: column !important;
    backdrop-filter: blur(8px);
    transition: all .4s ease !important;
}
.price-card:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(184,150,62,.25) !important;
    box-shadow: 0 28px 64px rgba(0,0,0,.35) !important;
}
.price-card.featured {
    background: linear-gradient(150deg, #fffef9 0%, #faf6ee 100%) !important;
    border: 1px solid rgba(184,150,62,.28) !important;
}
.price-amount {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 4.2rem !important;
    font-weight: 300 !important;
    background: linear-gradient(135deg, #c9a84c 0%, #b8963e 50%, #9e7a2a 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}}
.btn-teal:hover { box-shadow: 0 10px 30px rgba(13,122,122,.45) !important; }

@media(max-width:820px){
    .pricing-row { grid-template-columns: 1fr !important; max-width: 480px !important; }
    .price-amount { font-size: 3.4rem !important; }
}
