/*
Theme Name: Legrand Auto
Theme URI: https://legrandauto.fr
Author: Legrand Auto
Description: Thème WordPress Garage automobile — Mode sombre — SEO local Toulouse Nord
Version: 2.0.0
Text Domain: legrandauto
*/

/* ============================================================
   VARIABLES — MODE SOMBRE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:      #1A1A1A;
  --bg2:     #111111;
  --bg3:     #222222;
  --gold:    #DC2626;
  --gold2:   #EF4444;
  --white:   #F5F5F5;
  --grey:    #2E2E2E;
  --text:    #F5F5F5;
  --muted:   #B8B8B8;
  --border:  #2E2E2E;
  --radius:  8px;
  --shadow:  0 4px 24px rgba(0,0,0,.5);
  --trans:   .25s ease;
}

html { scroll-behavior: smooth; }
body { font-family: 'Inter','Segoe UI',Arial,sans-serif; font-size:16px; line-height:1.6; color:var(--text); background:var(--bg); }
img  { max-width:100%; height:auto; display:block; }
a    { color:inherit; text-decoration:none; }
h1,h2,h3,h4 { line-height:1.2; font-weight:700; color:var(--text); }
h1 { font-size:clamp(2rem,5vw,3.5rem); }
h2 { font-size:clamp(1.6rem,3vw,2.4rem); }

/* ============================================================
   UTILITAIRES
   ============================================================ */
.container    { max-width:1200px; margin:0 auto; padding:0 1.5rem; }
.section-label{ font-size:.75rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--gold); margin-bottom:.5rem; display:block; }
.section-header { margin-bottom:3rem; }
.section-header h2 { margin-bottom:.5rem; }
.section-header p  { color:var(--muted); max-width:560px; }

.btn { display:inline-flex; align-items:center; gap:.5rem; padding:.8rem 1.8rem; border-radius:var(--radius); font-size:.95rem; font-weight:600; cursor:pointer; transition:all var(--trans); border:2px solid transparent; }
.btn-gold    { background:var(--gold); color:#0F0F0F; }
.btn-gold:hover { background:var(--gold2); transform:translateY(-2px); }
.btn-outline { background:transparent; border-color:rgba(245,245,245,.3); color:var(--white); }
.btn-outline:hover { border-color:var(--gold); color:var(--gold); }

/* ============================================================
   HEADER
   ============================================================ */
.site-header { position:fixed; top:0; left:0; right:0; z-index:1000; background:rgba(15,15,15,.96); backdrop-filter:blur(12px); border-bottom:1px solid var(--border); transition:box-shadow var(--trans); }
.header-inner { display:flex; align-items:center; justify-content:space-between; height:68px; gap:2rem; }

.site-logo img   { height:42px; width:auto; max-width:160px; object-fit:contain; }
.site-logo-text  { color:var(--white); font-size:1.2rem; font-weight:800; }
.site-logo-text span { color:var(--gold); }

.main-nav ul  { display:flex; list-style:none; gap:2rem; }
.main-nav a   { color:rgba(245,245,245,.75); font-size:.9rem; font-weight:500; transition:color var(--trans); position:relative; }
.main-nav a::after { content:''; position:absolute; bottom:-4px; left:0; right:0; height:2px; background:var(--gold); transform:scaleX(0); transition:transform var(--trans); }
.main-nav a:hover { color:var(--gold); }
.main-nav a:hover::after { transform:scaleX(1); }

.nav-cta   { display:flex; align-items:center; gap:1rem; }
.nav-phone { color:var(--gold); font-weight:600; font-size:.9rem; }

.nav-toggle { display:none; background:none; border:none; cursor:pointer; flex-direction:column; gap:5px; padding:4px; }
.nav-toggle span { display:block; width:24px; height:2px; background:var(--white); transition:all var(--trans); }

/* ============================================================
   HERO
   ============================================================ */
.hero { min-height:100vh; display:flex; align-items:center; background:var(--bg); position:relative; overflow:hidden; padding-top:68px; }
.hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 700px 500px at 80% 50%, rgba(220,38,38,.07), transparent 70%); pointer-events:none; z-index:0; }
.hero-content { position:relative; z-index:2; max-width:680px; }
.hero-location { display:inline-flex; align-items:center; gap:.4rem; color:var(--gold); font-size:.85rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; margin-bottom:1.2rem; }
.hero h1       { color:var(--white); margin-bottom:1.2rem; line-height:1.15; }
.hero h1 em    { font-style:normal; color:var(--gold); }
.hero-brand    { display:block; font-size:1.1rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); border-left:3px solid var(--gold); padding-left:.6rem; margin-bottom:.3rem; }
.hero-desc     { color:rgba(245,245,245,.7); font-size:1.1rem; margin-bottom:2rem; max-width:560px; }
.hero-actions  { display:flex; gap:1rem; flex-wrap:wrap; }
.hero{
    position:relative;
    padding-top:180px;
}
/* ============================================================
   TICKER
   ============================================================ */
.ticker        { background:var(--gold); padding:.55rem 0; overflow:hidden; white-space:nowrap; }
.ticker-inner  { display:inline-flex; animation:ticker 35s linear infinite; }
.ticker-item   { display:inline-flex; align-items:center; gap:.5rem; padding:0 1.8rem; font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#0F0F0F; }
.ticker-item::after { content:'·'; opacity:.4; }
@keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ============================================================
   OFFRES PROMOTIONNELLES
   ============================================================ */

/* ============================================================
   PRESTATIONS
   ============================================================ */
.prestations      { padding:5rem 0; background:var(--bg); }
.prestations-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.5rem; }

.prestation-card { background:var(--bg2); border:1px solid var(--border); border-radius:12px; padding:2rem; position:relative; transition:all var(--trans); overflow:hidden; }
.prestation-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--gold); transform:scaleX(0); transition:transform var(--trans); }
.prestation-card:hover { border-color:var(--gold); box-shadow:0 8px 32px rgba(220,38,38,.12); transform:translateY(-4px); }
.prestation-card:hover::before { transform:scaleX(1); }
.prestation-num  { font-size:.75rem; font-weight:700; color:var(--gold); letter-spacing:.1em; margin-bottom:.5rem; display:block; }
.prestation-card h3 { margin-bottom:.5rem; color:var(--white); font-size:1.05rem; }
.prestation-card p  { color:var(--muted); font-size:.9rem; margin-bottom:1rem; }
.prestation-tag  { display:inline-block; background:var(--bg3); color:var(--muted); font-size:.75rem; font-weight:600; padding:.25rem .75rem; border-radius:99px; border:1px solid var(--border); }

/* ============================================================
   STOCK VO
   ============================================================ */
.stock-vo       { padding:5rem 0; background:var(--bg2); }
.stock-filters  { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:2rem; }
.filter-btn     { padding:.45rem 1.2rem; border-radius:99px; border:2px solid var(--border); background:var(--bg3); color:var(--muted); font-size:.85rem; font-weight:600; cursor:pointer; transition:all var(--trans); }
.filter-btn.active,.filter-btn:hover { border-color:var(--gold); background:var(--gold); color:#0F0F0F; }

.vehicles-grid  { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1.5rem; }
.vehicle-card   { background:var(--bg3); border-radius:12px; overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--border); transition:transform var(--trans),box-shadow var(--trans); }
.vehicle-card:hover { transform:translateY(-6px); box-shadow:0 12px 40px rgba(0,0,0,.5); border-color:var(--gold); }

.vehicle-thumb  { position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--bg3); }
.vehicle-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.vehicle-card:hover .vehicle-thumb img { transform:scale(1.05); }

.vehicle-badge  { position:absolute; top:.75rem; left:.75rem; padding:.2rem .75rem; border-radius:99px; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.badge-available { background:#10b981; color:#fff; }
.badge-sold      { background:#4b5563; color:#fff; }
.vehicle-photo-count { position:absolute; bottom:.75rem; right:.75rem; background:rgba(0,0,0,.7); color:#fff; font-size:.72rem; padding:.2rem .6rem; border-radius:99px; }

.vehicle-info   { padding:1.2rem; }
.vehicle-title  { font-size:1rem; font-weight:700; margin-bottom:.4rem; color:var(--white); }
.vehicle-meta   { display:flex; gap:.8rem; font-size:.8rem; color:var(--muted); margin-bottom:.75rem; flex-wrap:wrap; }
.vehicle-price  { font-size:1.3rem; font-weight:800; color:var(--gold); margin-bottom:.75rem; }
.vehicle-tags   { display:flex; gap:.4rem; margin-bottom:1rem; flex-wrap:wrap; }
.vehicle-tag    { background:var(--bg); font-size:.7rem; font-weight:600; padding:.2rem .6rem; border-radius:4px; color:var(--muted); border:1px solid var(--border); }
.vehicle-actions { display:flex; gap:.5rem; }
.vehicle-actions a { flex:1; text-align:center; padding:.6rem; border-radius:6px; font-size:.82rem; font-weight:600; transition:all var(--trans); }
.btn-detail     { background:var(--bg); color:var(--white); border:1px solid var(--border); }
.btn-detail:hover { background:var(--border); }
.btn-rdv-car    { border:2px solid var(--gold); color:var(--gold); }
.btn-rdv-car:hover { background:var(--gold); color:#0F0F0F; }

/* ============================================================
   RDV / CAL.COM
   ============================================================ */
.rdv-section    { padding:5rem 0; background:var(--bg); }
.rdv-layout     { display:grid; grid-template-columns:1fr 1.4fr; gap:3rem; align-items:start; }
.rdv-intro .section-label { color:var(--gold); }
.rdv-intro h2   { color:var(--white); margin-bottom:1rem; }
.rdv-intro p    { color:var(--muted); margin-bottom:1.5rem; }
.rdv-features   { list-style:none; display:flex; flex-direction:column; gap:.75rem; margin-bottom:2rem; }
.rdv-features li { display:flex; align-items:center; gap:.75rem; color:rgba(245,245,245,.8); font-size:.9rem; }
.rdv-features li::before { content:'✓'; width:22px; height:22px; border-radius:50%; background:rgba(220,38,38,.2); color:var(--gold); font-size:.8rem; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; }

.rdv-cal-wrapper { background:var(--bg2); border:1px solid var(--border); border-radius:16px; overflow:hidden; min-height:520px; }
.rdv-cal-wrapper iframe, .rdv-cal-wrapper > div { width:100% !important; min-height:520px; border:none; }

/* ============================================================
   GARAGE
   ============================================================ */
.garage-section { padding:5rem 0; background:var(--bg2); }
.garage-layout  { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.garage-info h2 { margin-bottom:1rem; }
.garage-info p  { color:var(--muted); margin-bottom:2rem; }
.contact-list   { list-style:none; display:flex; flex-direction:column; gap:1rem; margin-bottom:2rem; }
.contact-list li { display:flex; align-items:flex-start; gap:1rem; }
.contact-icon   { width:40px; height:40px; border-radius:8px; background:rgba(220,38,38,.12); color:var(--gold); display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; }
.contact-label  { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); display:block; }
.contact-value  { font-weight:600; color:var(--white); }
.garage-map     { border-radius:16px; overflow:hidden; box-shadow:var(--shadow); height:380px; border:1px solid var(--border); }
.garage-map iframe { width:100%; height:100%; border:0; }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer  { background:var(--bg2); border-top:1px solid var(--border); padding:2rem 0; }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.footer-copy  { color:var(--muted); font-size:.85rem; }
.footer-links { display:flex; gap:1.5rem; list-style:none; }
.footer-links a { color:var(--muted); font-size:.85rem; transition:color var(--trans); }
.footer-links a:hover { color:var(--gold); }

/* ============================================================
   FICHE VEHICULE
   ============================================================ */
.vd-hero { background:var(--bg2); padding:88px 0 1.5rem; border-bottom:1px solid var(--border); }
.vd-breadcrumb { display:flex; align-items:center; gap:.5rem; color:var(--muted); font-size:.82rem; }
.vd-breadcrumb a { color:var(--gold); transition:opacity var(--trans); }
.vd-breadcrumb a:hover { opacity:.7; }
.vd-breadcrumb span { color:var(--border); }

.vd-layout  { display:grid; grid-template-columns:1fr 380px; gap:3rem; padding:3rem 0 1rem; }

/* Galerie */
.vd-gallery { display:flex; flex-direction:column; gap:1rem; }
.vd-main-wrap { position:relative; border-radius:16px; overflow:hidden; aspect-ratio:4/3; background:var(--bg3); }
.vd-main-img  { width:100%; height:100%; }
.vd-main-img img { width:100%; height:100%; object-fit:cover; }
.vd-main-img iframe { width:100%; height:100%; border:none; }
.vd-no-photo  { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:4rem; background:var(--bg3); }

/* Flèches */
.vd-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:10; width:44px; height:44px; border-radius:50%; background:rgba(15,15,15,.75); border:2px solid rgba(220,38,38,.4); color:var(--gold); font-size:1.6rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all var(--trans); line-height:1; }
.vd-arrow:hover { background:var(--gold); color:#0F0F0F; border-color:var(--gold); }
.vd-prev { left:.75rem; }
.vd-next { right:.75rem; }

/* Compteur */
.vd-counter { position:absolute; top:.75rem; right:.75rem; background:rgba(15,15,15,.8); color:var(--white); font-size:.75rem; font-weight:600; padding:.25rem .7rem; border-radius:99px; z-index:10; }

/* Miniatures */
.vd-thumbs { display:flex; gap:.5rem; overflow-x:auto; padding-bottom:.25rem; }
.vd-thumbs::-webkit-scrollbar { height:4px; }
.vd-thumbs::-webkit-scrollbar-track { background:var(--bg3); }
.vd-thumbs::-webkit-scrollbar-thumb { background:var(--gold); border-radius:2px; }
.vd-thumb { flex:0 0 80px; height:60px; border-radius:8px; overflow:hidden; cursor:pointer; position:relative; border:2px solid var(--border); transition:border-color var(--trans); }
.vd-thumb.active,.vd-thumb:hover { border-color:var(--gold); }
.vd-thumb img { width:100%; height:100%; object-fit:cover; }
.vd-play-icon { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.45); color:#fff; font-size:1.2rem; }
.vd-photo-count { color:var(--muted); font-size:.82rem; }

/* Fiche card */
.vd-card   { background:var(--bg2); border-radius:16px; padding:2rem; box-shadow:var(--shadow); position:sticky; top:88px; border:1px solid var(--border); }
.vd-status { display:inline-flex; align-items:center; gap:.4rem; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; padding:.3rem .8rem; border-radius:99px; margin-bottom:1rem; }
.vd-status.available { background:rgba(16,185,129,.12); color:#10b981; }
.vd-status.sold      { background:rgba(107,114,128,.12); color:#9ca3af; }
.vd-title  { font-size:1.4rem; font-weight:800; color:var(--white); margin-bottom:.25rem; }
.vd-year   { color:var(--muted); font-size:.9rem; margin-bottom:1rem; }
.vd-price  { font-size:2.2rem; font-weight:900; color:var(--gold); margin-bottom:1.5rem; line-height:1; }
.vd-price span { font-size:1rem; font-weight:400; color:var(--muted); }
.vd-specs  { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; margin-bottom:1.5rem; }
.vd-spec   { background:var(--bg3); border-radius:8px; padding:.75rem 1rem; border:1px solid var(--border); }
.vd-spec-label { font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); display:block; margin-bottom:.2rem; }
.vd-spec-value { font-weight:700; font-size:.95rem; color:var(--white); }
.vd-tags   { display:flex; gap:.4rem; flex-wrap:wrap; margin-bottom:1.5rem; }
.vd-tag    { background:rgba(220,38,38,.1); color:var(--gold); font-size:.72rem; font-weight:700; padding:.25rem .75rem; border-radius:99px; border:1px solid rgba(220,38,38,.25); }
.vd-actions { display:flex; flex-direction:column; gap:.75rem; }
.vd-btn-rdv { display:flex; align-items:center; justify-content:center; gap:.5rem; padding:1rem; background:var(--gold); color:#0F0F0F; border-radius:10px; font-weight:700; font-size:1rem; transition:all var(--trans); }
.vd-btn-rdv:hover { background:var(--gold2); transform:translateY(-2px); }
.vd-btn-tel { display:flex; align-items:center; justify-content:center; gap:.5rem; padding:.85rem; border:2px solid var(--border); color:var(--white); border-radius:10px; font-weight:700; font-size:.95rem; transition:all var(--trans); }
.vd-btn-tel:hover { border-color:var(--gold); color:var(--gold); }

.vd-desc   { padding:2rem 0 5rem; }
.vd-back   { display:inline-flex; align-items:center; gap:.4rem; color:var(--gold); font-size:.85rem; font-weight:600; margin-bottom:2rem; transition:gap var(--trans); }
.vd-back:hover { gap:.7rem; }
.vd-desc h2 { margin-bottom:1rem; font-size:1.4rem; }
.vd-desc-text { color:var(--muted); line-height:1.8; max-width:700px; }

/* ============================================================
   ANIMATIONS REVEAL
   ============================================================ */
.reveal { opacity:0; transform:translateY(20px); transition:opacity .5s ease,transform .5s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1100px) {
  .vd-layout { grid-template-columns:1fr 340px; gap:2rem; }
}
@media(max-width:900px) {
  .rdv-layout, .garage-layout, .vd-layout { grid-template-columns:1fr; gap:2rem; }
  .vd-card { position:static; }
  .rdv-cal-wrapper { min-height:420px; }
}
@media(max-width:768px) {
  .main-nav, .nav-cta .btn { display:none; }
  .nav-toggle { display:flex; }
  .main-nav.open { display:flex; flex-direction:column; position:fixed; inset:68px 0 0; background:var(--bg); padding:2rem 1.5rem; z-index:999; overflow-y:auto; }
  .main-nav.open ul { flex-direction:column; gap:1.5rem; font-size:1.1rem; }
  .footer-inner { flex-direction:column; text-align:center; }
}
@media(max-width:480px) {
  .vehicles-grid, .prestations-grid, .offres-grid { grid-template-columns:1fr; }
}
.admin-bar .site-header { top:32px; }
.admin-bar .hero { padding-top:calc(68px + 32px); }
/* ===== PROMO SECTION ===== */

.promo-section{
    position:relative;
    margin:40px 0;
    border-radius:28px;
    overflow:hidden;
    background:
    linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,.72)),
    url('/wp-content/uploads/promo-bg.jpg') center/cover;
    min-height:420px;
    display:flex;
    align-items:center;
}

.promo-content{
    position:relative;
    z-index:2;
    text-align:center;
    max-width:780px;
    margin:auto;
    padding:70px 20px;
}

.promo-badge{
    display:inline-block;
    background:linear-gradient(135deg,#DC2626,#EF4444);
    color:#fff;
    font-weight:700;
    font-size:.85rem;
    padding:10px 18px;
    border-radius:999px;
    margin-bottom:1.4rem;
    letter-spacing:.5px;
}

.promo-content h2{
    font-size:clamp(2rem,5vw,4rem);
    color:#fff;
    line-height:1.1;
    margin-bottom:1.2rem;
    font-weight:800;
}

.promo-content p{
    color:rgba(255,255,255,.82);
    font-size:1.1rem;
    line-height:1.7;
    margin-bottom:2rem;
}

.promo-buttons{
    display:flex;
    justify-content:center;
    gap:1rem;
    flex-wrap:wrap;
}

@media(max-width:768px){

    .promo-section{
        min-height:360px;
        border-radius:20px;
    }

    .promo-content{
        padding:50px 20px;
    }

}

/* ============================================================
   PROMO FLOTTANTE
   ============================================================ */
.fp-widget {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    z-index: 9999;
    width: 280px;
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 40px rgba(0,0,0,.6);
    transform: translateY(120%) scale(.95);
    opacity: 0;
    transition: transform .45s cubic-bezier(.34,1.56,.64,1), opacity .35s ease;
}

.fp-widget.fp-visible {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.fp-widget.fp-hidden {
    transform: translateY(120%) scale(.95);
    opacity: 0;
    pointer-events: none;
}

/* Bouton fermer */
.fp-close {
    position: absolute;
    top: .5rem;
    right: .5rem;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(15,15,15,.75);
    border: 1px solid rgba(255,255,255,.15);
    color: #fff;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    transition: background var(--trans);
}
.fp-close:hover { background: var(--gold); }

/* Lien + image */
.fp-link {
    display: block;
    text-decoration: none;
}

.fp-img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform .35s ease;
}
.fp-link:hover .fp-img { transform: scale(1.03); }

/* Bouton d'action */
.fp-btn {
    display: block;
    background: var(--gold);
    color: #0F0F0F;
    text-align: center;
    font-size: .88rem;
    font-weight: 700;
    padding: .65rem 1rem;
    transition: background var(--trans);
}
.fp-link:hover .fp-btn { background: var(--gold2); }

/* Countdown */
.fp-countdown {
    text-align: center;
    font-size: .75rem;
    font-weight: 600;
    color: var(--muted);
    padding: .4rem .75rem .5rem;
    background: var(--bg3);
    border-top: 1px solid var(--border);
}

/* === MOBILE : centré en bas === */
@media (max-width: 600px) {
    .fp-widget {
        bottom: 1rem;
        right: 50%;
        transform: translateX(50%) translateY(120%) scale(.95);
        width: calc(100vw - 2rem);
        max-width: 360px;
    }
    .fp-widget.fp-visible {
        transform: translateX(50%) translateY(0) scale(1);
    }
    .fp-widget.fp-hidden {
        transform: translateX(50%) translateY(120%) scale(.95);
    }
}

/* ============================================================
   PAGE PROMO /promo/
   ============================================================ */
.promo-page { overflow-x: hidden; }

/* Hero */
.pp-hero {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    position: relative;
    padding-top: 68px;
    background: var(--pp-bg, none) center/cover no-repeat;
    background-color: var(--bg);
}
.pp-hero-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(160deg, rgba(15,15,15,.95) 0%, rgba(15,15,15,.75) 55%, rgba(220,38,38,.12) 100%);
    z-index: 0;
}

/* Particules */
.pp-particles { position: absolute; inset: 0; overflow: hidden; z-index: 1; pointer-events: none; }
.pp-particle {
    position: absolute; bottom: -10px; left: var(--x);
    width: var(--size); height: var(--size);
    background: var(--gold); border-radius: 50%; opacity: 0;
    animation: pp-float var(--dur, 7s) var(--delay, 0s) infinite ease-in-out;
}
@keyframes pp-float {
    0%   { transform: translateY(0)      scale(1);   opacity: 0; }
    10%  { opacity: .55; }
    90%  { opacity: .15; }
    100% { transform: translateY(-100vh) scale(.25); opacity: 0; }
}

/* Contenu hero */
.pp-hero .container { position: relative; z-index: 2; flex: 1; display: flex; align-items: center; }
.pp-hero-content { text-align: center; max-width: 860px; margin: 0 auto; padding: 4rem 1rem 3rem; width: 100%; }

/* Badge */
.pp-badge-wrap { margin-bottom: 1.5rem; }
.pp-badge {
    display: inline-block;
    background: linear-gradient(135deg, var(--gold), var(--gold2));
    color: #0F0F0F; font-size: .8rem; font-weight: 800;
    letter-spacing: .15em; text-transform: uppercase;
    padding: .55rem 1.5rem; border-radius: 99px;
    animation: pp-bounce-in .7s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes pp-bounce-in {
    from { transform: scale(0) translateY(-20px); opacity: 0; }
    to   { transform: scale(1) translateY(0);     opacity: 1; }
}

/* Remise */
.pp-remise { margin-bottom: 1rem; animation: pp-bounce-in .8s .1s cubic-bezier(.34,1.56,.64,1) both; }
.pp-remise-num {
    display: block;
    font-size: clamp(4.5rem, 16vw, 10rem);
    font-weight: 900; color: var(--gold); line-height: 1;
    text-shadow: 0 0 80px rgba(220,38,38,.35);
}
.pp-remise-label {
    font-size: 1.1rem; color: rgba(245,245,245,.65);
    letter-spacing: .12em; text-transform: uppercase;
}

/* Titre */
.pp-title {
    font-size: clamp(1.8rem, 4vw, 3rem); color: #fff;
    font-weight: 800; margin-bottom: 1rem;
    animation: pp-fade-up .8s .2s both;
}
@keyframes pp-fade-up {
    from { transform: translateY(28px); opacity: 0; }
    to   { transform: translateY(0);   opacity: 1; }
}

.pp-service { font-size: 1.05rem; color: rgba(245,245,245,.7); margin-bottom: 2rem; animation: pp-fade-up .8s .25s both; }
.pp-service strong { color: var(--gold); }

/* Countdown */
.pp-countdown-wrap { margin-bottom: 2.5rem; animation: pp-fade-up .8s .3s both; }
.pp-countdown {
    display: inline-flex; align-items: center; gap: .5rem;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(220,38,38,.3);
    border-radius: 16px; padding: 1.2rem 2rem;
    backdrop-filter: blur(8px);
}
.pp-cd-item { display: flex; flex-direction: column; align-items: center; min-width: 58px; }
.pp-cd-num  { font-size: 2.4rem; font-weight: 900; color: var(--gold); line-height: 1; font-variant-numeric: tabular-nums; }
.pp-cd-label{ font-size: .62rem; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; margin-top: .25rem; }
.pp-cd-sep  { font-size: 2rem; color: var(--gold); opacity: .45; align-self: flex-start; margin-top: .2rem; }

/* Boutons hero */
.pp-actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; animation: pp-fade-up .8s .35s both; }
.pp-btn-main { font-size: 1rem; padding: .9rem 2rem; }
.pp-btn-tel {
    display: inline-flex; align-items: center; gap: .5rem;
    color: rgba(245,245,245,.85); font-size: .95rem; font-weight: 600;
    padding: .9rem 1.5rem; border: 2px solid rgba(255,255,255,.2);
    border-radius: var(--radius); transition: all var(--trans);
}
.pp-btn-tel:hover { border-color: var(--gold); color: var(--gold); }

/* Barre urgence */
.pp-urgence {
    position: relative; z-index: 2; width: 100%;
    background: linear-gradient(90deg, #8B1E1E, #C62828);
    color: #fff; text-align: center;
    font-size: .85rem; font-weight: 700;
    padding: .7rem 1rem; letter-spacing: .03em;
    animation: pp-pulse-bg 2.5s infinite alternate;
}
@keyframes pp-pulse-bg {
    from { background: linear-gradient(90deg, #8B1E1E, #C62828); }
    to   { background: linear-gradient(90deg, #C62828, #E53935); }
}

/* Body */
.pp-body-section { padding: 4rem 0; background: var(--bg2); }
.pp-body { max-width: 780px; margin: 0 auto; color: var(--muted); line-height: 1.85; font-size: 1rem; }
.pp-body h2 { color: var(--white); margin: 2rem 0 .75rem; }
.pp-body p  { margin-bottom: 1rem; }

/* Avantages */
.pp-avantages { padding: 5rem 0; background: var(--bg); }
.pp-av-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1.5rem;
}
.pp-av-card {
    background: var(--bg2); border: 1px solid var(--border);
    border-radius: 16px; padding: 2rem 1.5rem; text-align: center;
    transition: all var(--trans);
    opacity: 0; transform: translateY(24px);
    transition: opacity .5s ease, transform .5s ease, border-color .25s ease, box-shadow .25s ease;
}
.pp-av-card.pp-in { opacity: 1; transform: translateY(0); }
.pp-av-card:hover { border-color: var(--gold); transform: translateY(-4px) !important; box-shadow: 0 8px 32px rgba(220,38,38,.12); }
.pp-av-icon { font-size: 2.5rem; margin-bottom: 1rem; }
.pp-av-card h3 { color: var(--white); margin-bottom: .5rem; font-size: 1rem; }
.pp-av-card p  { color: var(--muted); font-size: .88rem; line-height: 1.6; }

/* CTA final */
.pp-cta-final {
    position: relative; padding: 6rem 0;
    background: var(--bg2); text-align: center; overflow: hidden;
}
.pp-cta-glow {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 700px; height: 400px;
    background: radial-gradient(ellipse, rgba(220,38,38,.1), transparent 70%);
    pointer-events: none;
}
.pp-cta-content    { position: relative; z-index: 2; }
.pp-cta-content h2 { color: var(--white); margin-bottom: 1rem; font-size: clamp(1.5rem, 3vw, 2.2rem); }
.pp-cta-content > p{ color: var(--muted); margin-bottom: 2.5rem; }
.pp-cta-actions    { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; margin-bottom: 1.5rem; }
.pp-btn-back {
    display: inline-flex; align-items: center;
    color: var(--muted); font-size: .9rem;
    padding: .9rem 1.5rem; border: 1px solid var(--border);
    border-radius: var(--radius); transition: all var(--trans);
}
.pp-btn-back:hover  { color: var(--white); border-color: var(--white); }
.pp-conditions { color: var(--muted); font-size: .78rem; font-style: italic; }

/* Responsive */
@media (max-width: 600px) {
    .pp-cd-num   { font-size: 1.7rem; }
    .pp-cd-item  { min-width: 40px; }
    .pp-countdown{ padding: .8rem .8rem; gap: .25rem; }
    .pp-remise-num { font-size: clamp(3.5rem, 22vw, 6rem); }
}

/* ============================================================
   HERO — SPLIT LAYOUT (gauche + formulaire)
   ============================================================ */
.hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    background: var(--bg);
    position: relative;
    overflow: hidden;
    padding-top: 68px;
}
.hero::before {
    content: '';
    position: absolute; inset: 0;
    background: radial-gradient(ellipse 600px 500px at 80% 40%, rgba(220,38,38,.06), transparent 70%);
    pointer-events: none;
}
.hero-inner {
    display: grid;
    grid-template-columns: 1fr 480px;
    gap: 3rem;
    align-items: center;
    width: 100%;
    padding: 3rem 0;
}
.hero-left { position: relative; z-index: 2; }
.hero-location { display:inline-flex; align-items:center; gap:.4rem; color:var(--gold); font-size:.82rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; margin-bottom:1.2rem; }
.hero h1 { color:var(--white); margin-bottom:1.2rem; }
.hero h1 em { font-style:normal; color:var(--gold); }
.hero-desc { color:rgba(245,245,245,.7); font-size:1.05rem; margin-bottom:1.8rem; max-width:500px; line-height:1.7; }
.hero-actions { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:1.5rem; }
.hero-badges { display:flex; gap:.6rem; flex-wrap:wrap; }
.hero-badge { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); color:rgba(245,245,245,.8); font-size:.75rem; font-weight:600; padding:.3rem .9rem; border-radius:99px; }

/* Formulaire RDV dans le hero */
.hero-right { position:relative; z-index:2; }
.hero-rdv-form {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(220,38,38,.2);
    border-radius: 20px;
    overflow: hidden;
    backdrop-filter: blur(8px);
}
.hero-rdv-header {
    background: linear-gradient(135deg, var(--gold), var(--gold2));
    padding: 1.2rem 1.5rem;
}
.hero-rdv-header h3 { color:#0F0F0F; font-size:1rem; font-weight:800; margin-bottom:.2rem; }
.hero-rdv-header p  { color:rgba(15,15,15,.7); font-size:.8rem; }
.hrf-grid { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; padding:1.2rem 1.5rem 0; }
.hrf-full { grid-column:1/-1; }
.hrf-group { display:flex; flex-direction:column; gap:.3rem; }
.hrf-group label { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:rgba(245,245,245,.6); }
.hrf-group label span { color:var(--gold); }
.hrf-group input, .hrf-group select, .hrf-group textarea {
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 8px;
    padding: .6rem .9rem;
    color: var(--white);
    font-size: .85rem;
    font-family: inherit;
    width: 100%;
    transition: border-color var(--trans);
}
.hrf-group input:focus, .hrf-group select:focus, .hrf-group textarea:focus { outline:none; border-color:var(--gold); }
.hrf-group input::placeholder, .hrf-group textarea::placeholder { color:rgba(255,255,255,.25); }
.hrf-group select option { background:var(--bg2); color:var(--white); }
.hrf-submit {
    display:block; width:calc(100% - 3rem); margin:1rem 1.5rem 1.5rem;
    background:var(--gold); color:#0F0F0F;
    border:none; border-radius:10px;
    padding:.85rem 1rem; font-size:.95rem; font-weight:700;
    cursor:pointer; transition:all var(--trans);
}
.hrf-submit:hover { background:var(--gold2); transform:translateY(-2px); }
.hrf-msg {
    text-align:center; font-size:.82rem;
    padding:0 1.5rem 1rem; min-height:1.2rem;
}
.hrf-msg.success { color:#10b981; }
.hrf-msg.error   { color:#ef4444; }

/* Section RDV standalone */
.rdv-form-box {
    background: rgba(255,255,255,.03);
    border: 1px solid var(--border);
    border-radius: 16px;
    overflow: hidden;
}
.rdv-form-header {
    background: linear-gradient(135deg, var(--gold), var(--gold2));
    padding: 1.2rem 2rem;
}
.rdv-form-header h3 { color:#0F0F0F; font-size:1rem; font-weight:800; margin-bottom:.2rem; }
.rdv-form-header p  { color:rgba(15,15,15,.7); font-size:.82rem; }
.rdv-form-box .form-grid { padding:1.5rem 2rem 0; }
.rdv-form-box .btn-submit { margin:1rem 2rem 1.5rem; width:calc(100% - 4rem); display:block; }

/* ============================================================
   SLIDER
   ============================================================ */
.slider-section { position:relative; overflow:hidden; }
.la-slider { position:relative; width:100%; height:520px; overflow:hidden; }
.la-slider-track { width:100%; height:100%; }
.la-slide {
    position:absolute; inset:0;
    opacity:0; transition:opacity .8s ease;
}
.la-slide.active { opacity:1; z-index:1; }
.la-slide-bg {
    position:absolute; inset:0;
    background-size:cover; background-position:center;
    transition:transform 8s ease;
}
.la-slide.active .la-slide-bg { transform:scale(1.04); }
.la-slide-overlay {
    position:absolute; inset:0;
    background: linear-gradient(to top, rgba(15,15,15,.85) 0%, rgba(15,15,15,.3) 50%, transparent 100%);
}
.la-slide-content {
    position:absolute; bottom:0; left:0; right:0;
    padding:2.5rem 3rem; z-index:2;
}
.la-slide-content h3 { color:#fff; font-size:clamp(1.4rem,3vw,2rem); font-weight:800; margin-bottom:.5rem; }
.la-slide-content p  { color:rgba(255,255,255,.8); font-size:.95rem; max-width:640px; line-height:1.6; }

/* Boutons slider */
.la-slider-btn {
    position:absolute; top:50%; transform:translateY(-50%);
    z-index:10; width:50px; height:50px; border-radius:50%;
    background:rgba(15,15,15,.65); border:2px solid rgba(220,38,38,.4);
    color:var(--gold); font-size:1.8rem; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    transition:all var(--trans); line-height:1;
}
.la-slider-btn:hover { background:var(--gold); color:#0F0F0F; border-color:var(--gold); }
.la-slider-prev { left:1.5rem; }
.la-slider-next { right:1.5rem; }

/* Points */
.la-slider-dots { position:absolute; bottom:1.5rem; left:50%; transform:translateX(-50%); z-index:10; display:flex; gap:.5rem; }
.la-slider-dot {
    width:8px; height:8px; border-radius:50%;
    background:rgba(255,255,255,.4); border:none; cursor:pointer;
    transition:all var(--trans); padding:0;
}
.la-slider-dot.active { background:var(--gold); width:24px; border-radius:4px; }

/* ============================================================
   RDV FORM — section
   ============================================================ */
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-group { display:flex; flex-direction:column; gap:.4rem; }
.form-group.full { grid-column:1/-1; }
.form-group label { font-size:.78rem; font-weight:700; color:rgba(245,245,245,.65); text-transform:uppercase; letter-spacing:.05em; }
.form-group label span { color:var(--gold); }
.form-group input, .form-group select, .form-group textarea {
    background:rgba(255,255,255,.05); border:1px solid var(--border);
    border-radius:8px; padding:.75rem 1rem; color:var(--white);
    font-size:.9rem; font-family:inherit; width:100%;
    transition:border-color var(--trans);
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline:none; border-color:var(--gold); }
.form-group input::placeholder, .form-group textarea::placeholder { color:rgba(255,255,255,.25); }
.form-group select option { background:var(--bg2); }
.btn-submit {
    background:var(--gold); color:#0F0F0F; border:none; border-radius:8px;
    padding:1rem; font-size:1rem; font-weight:700; cursor:pointer;
    margin-top:1rem; width:100%; display:flex; align-items:center; justify-content:center; gap:.5rem;
    transition:all var(--trans);
}
.btn-submit:hover { background:var(--gold2); transform:translateY(-2px); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1100px) {
    .hero-inner { grid-template-columns:1fr 420px; }
}
@media(max-width:900px) {
    .hero-inner { grid-template-columns:1fr; gap:2rem; padding:2rem 0; }
    .hero { min-height:auto; }
    .la-slider { height:380px; }
    .la-slide-content { padding:1.5rem; }
}
@media(max-width:600px) {
    .hrf-grid { grid-template-columns:1fr; }
    .la-slider { height:280px; }
    .form-grid { grid-template-columns:1fr; }
}
