/* ==============================================================
   LSD V4 — Skin moderne (HTML dédié inc.fiche_v4.php)
   Tous les sélecteurs préfixés .lsdv4 + override des wrappers v3
   ============================================================== */

body.lsd-v4 {
    background: #F8FAFC !important;
    color: #0F172A;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
    font-size: 15px;
    line-height: 1.5;
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.lsd-v4 * { box-sizing: border-box; }
body.lsd-v4 img { max-width: 100%; height: auto; }

/* ============== Override wrappers v3 ============== */

body.lsd-v4 #Global {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 24px 20px !important;
    background: transparent !important;
    width: auto !important;
}

body.lsd-v4 #Header,
body.lsd-v4 .Menu_Horizontal,
body.lsd-v4 #Footer .Footer_v3 {
    /* Nouveau HTML V4 a son propre hero/nav ; on cache l'ancien header/menu v3 */
    display: none !important;
}

body.lsd-v4 #Page {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    min-height: auto !important;
    border: none !important;
    float: none !important;
}

/* Override des bordures lat. v3 sur Page/Menu/MenuCompte */
body.lsd-v4 #Page,
body.lsd-v4 .Menu_Horizontal,
body.lsd-v4 .Menu_HorizontalCompte {
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
    border-bottom: none !important;
    width: auto !important;
    float: none !important;
}

body.lsd-v4 #Footer {
    background: transparent !important;
    margin-top: 40px !important;
    padding: 24px 0 !important;
    color: #94A3B8 !important;
    font-size: 13px !important;
    border-top: 1px solid #E2E8F0 !important;
    text-align: center;
    width: auto !important;
}
body.lsd-v4 #Footer a { color: #475569 !important; }

/* ============== Top bar globale (avant V4 hero) ============== */
/* Ajout d'un top bar minimal qui apparaît au-dessus du #Page */
body.lsd-v4::before {
    content: '';
    display: block;
    height: 64px;
}
body.lsd-v4 #Global {
    position: relative;
}
body.lsd-v4 #Global::before {
    content: '';
    position: fixed;
    top: 0; left: 0; right: 0;
    height: 64px;
    background: #FFFFFF;
    border-bottom: 1px solid #E2E8F0;
    z-index: 100;
}

body.lsd-v4 #Global::after {
    content: 'Le · Site · De';
    position: fixed;
    top: 0; left: 0; right: 0;
    height: 64px;
    line-height: 64px;
    padding: 0 max(20px, calc((100% - 1200px) / 2 + 20px));
    color: #0F172A;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.02em;
    z-index: 101;
    background: transparent;
    pointer-events: none;
}

/* ============== .lsdv4 container ============== */

.lsdv4 { color: #0F172A; }

/* ============== Breadcrumb ============== */

.lsdv4-breadcrumb {
    font-size: 13px;
    color: #64748B;
    margin: 0 0 16px 0;
    line-height: 1.6;
}
.lsdv4-breadcrumb a {
    color: #64748B;
    text-decoration: none;
}
.lsdv4-breadcrumb a:hover { color: #2563EB; }
.lsdv4-breadcrumb strong {
    color: #0F172A;
    font-weight: 600;
}
.lsdv4-sep {
    margin: 0 6px;
    color: #CBD5E1;
}

/* ============== Hero card ============== */

.lsdv4-hero {
    background: linear-gradient(135deg, #0B1220 0%, #1E293B 100%);
    border-radius: 16px;
    padding: 28px 36px;
    margin: 0 0 24px 0;
    color: #FFFFFF;
    display: flex;
    gap: 32px;
    align-items: center;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
}

.lsdv4-hero::before {
    content: '';
    position: absolute;
    top: -50%; right: -20%;
    width: 500px; height: 500px;
    background: radial-gradient(circle, rgba(37,99,235,0.18) 0%, transparent 60%);
    pointer-events: none;
}

.lsdv4-hero-info { flex: 1; min-width: 0; position: relative; }

.lsdv4-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 14px;
}

.lsdv4-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
}

.lsdv4-badge-activite {
    background: rgba(37,99,235,0.2);
    color: #93C5FD;
}

.lsdv4-badge-status {
    background: rgba(34,197,94,0.18);
    color: #86EFAC;
    font-weight: 600;
}
.lsdv4-badge-closed {
    background: rgba(239,68,68,0.20);
    color: #FCA5A5;
    font-weight: 600;
}
.lsdv4-muted { color: #64748B; font-weight: 400; }
.lsdv4-tag {
    display: inline-block;
    background: #EFF6FF;
    color: #1D4ED8;
    border: 1px solid #BFDBFE;
    padding: 2px 8px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    margin: 0 4px 4px 0;
}

.lsdv4-fiche-num {
    color: #64748B;
    font-size: 11px;
    font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Roboto Mono', monospace;
    letter-spacing: 0.05em;
    margin-left: 4px;
}

.lsdv4-titre,
.lsdv4-hero-title {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin: 0 0 14px 0;
    color: #FFFFFF;
    word-break: break-word;
}

.lsdv4-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    color: #94A3B8;
    font-size: 14px;
}

.lsdv4-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.lsdv4-icon {
    flex-shrink: 0;
    vertical-align: middle;
}

.lsdv4-hero-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 240px;
    position: relative;
}

/* ============== Buttons ============== */

.lsdv4-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 20px;
    border-radius: 10px;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.4;
    text-decoration: none !important;
    cursor: pointer;
    border: none;
    transition: all 0.15s;
    white-space: nowrap;
}

.lsdv4-btn-primary {
    background: #FFFFFF;
    color: #0F172A;
}
.lsdv4-btn-primary:hover {
    background: #F1F5F9;
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(0,0,0,0.2);
}

.lsdv4-btn-secondary {
    background: rgba(255,255,255,0.08);
    color: #FFFFFF;
    border: 1px solid rgba(255,255,255,0.16);
}
.lsdv4-btn-secondary:hover {
    background: rgba(255,255,255,0.14);
    border-color: rgba(255,255,255,0.24);
}

.lsdv4-btn-ghost {
    background: #FFFFFF;
    color: #475569;
    border: 1px solid #E2E8F0;
}
.lsdv4-btn-ghost:hover {
    background: #F8FAFC;
    color: #0F172A;
    border-color: #CBD5E1;
}

.lsdv4-star { color: #FCA5A5; }

/* ============== Tabs nav ============== */

.lsdv4-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    padding: 6px;
    margin: 0 0 24px 0;
    box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}

.lsdv4-tab {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 10px 16px;
    border-radius: 8px;
    color: #475569;
    font-weight: 500;
    font-size: 14px;
    text-decoration: none !important;
    transition: all 0.15s;
}
.lsdv4-tab:hover {
    background: #F1F5F9;
    color: #0F172A;
}
.lsdv4-tab-active {
    background: #EFF6FF;
    color: #1D4ED8;
    font-weight: 600;
}
.lsdv4-tab-active:hover { background: #DBEAFE; color: #1D4ED8; }
.lsdv4-tab .lsdv4-icon { opacity: 0.7; }
.lsdv4-tab-active .lsdv4-icon { opacity: 1; color: #2563EB; }

/* ============== Disclaimer ============== */

.lsdv4-disclaimer {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #FEFCE8;
    border: 1px solid #FDE68A;
    border-radius: 12px;
    padding: 14px 20px;
    margin: 0 0 24px 0;
    color: #78350F;
    font-size: 14px;
    line-height: 1.6;
}

.lsdv4-disclaimer-badge {
    background: #FEF3C7;
    color: #92400E;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
}

/* ============== Grid 2 colonnes (Infos + Horaires) ============== */

.lsdv4-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 0 0 24px 0;
}

/* ============== Cards ============== */

.lsdv4-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(15,23,42,0.05);
    overflow: hidden;
}

.lsdv4-card-head {
    padding: 20px 24px 12px;
    border-bottom: 1px solid #F1F5F9;
}

.lsdv4-card-head-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.lsdv4-card-title {
    font-size: 16px;
    font-weight: 600;
    color: #0F172A;
    margin: 0;
    letter-spacing: -0.01em;
}

.lsdv4-card-subtitle {
    margin: 4px 0 0;
    color: #94A3B8;
    font-size: 13px;
    font-weight: 400;
}

.lsdv4-card-body { padding: 16px 24px 20px; }

.lsdv4-status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
}
.lsdv4-status-open {
    background: rgba(34,197,94,0.12);
    color: #16A34A;
}
.lsdv4-status-closed {
    background: rgba(239,68,68,0.10);
    color: #DC2626;
}

/* ============== Info list (table-like) ============== */

.lsdv4-info-list, .lsdv4-horaires {
    margin: 0;
}

.lsdv4-info-row,
.lsdv4-horaire-row {
    display: grid;
    grid-template-columns: 130px 1fr;
    align-items: baseline;
    padding: 10px 0;
    border-bottom: 1px solid #F1F5F9;
    font-size: 14px;
}
.lsdv4-info-row:last-child,
.lsdv4-horaire-row:last-child { border-bottom: none; }

.lsdv4-info-row dt,
.lsdv4-horaire-row dt {
    color: #64748B;
    font-weight: 500;
}
.lsdv4-info-row dd,
.lsdv4-horaire-row dd {
    color: #0F172A;
    margin: 0;
}

.lsdv4-info-row dd a { color: #2563EB; font-weight: 500; text-decoration: none; }
.lsdv4-info-row dd a:hover { text-decoration: underline; }

/* H3.H2_Texte : balise SEO (alignée sur V3) rendue comme du texte courant */
body.lsd-v4 .H2_Texte {
    display: inline !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    font-family: inherit !important;
    color: inherit !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: inherit !important;
}

.lsdv4-empty {
    color: #CBD5E1;
    font-style: italic;
    font-size: 13px;
}

.lsdv4-card-actions {
    display: flex;
    gap: 10px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #F1F5F9;
}
.lsdv4-card-actions .lsdv4-btn {
    padding: 8px 14px;
    font-size: 13px;
}

/* ============== Horaires ============== */

.lsdv4-time {
    display: inline-block;
    padding: 2px 8px;
    background: #F1F5F9;
    border-radius: 6px;
    font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Roboto Mono', monospace;
    font-size: 12px;
    color: #0F172A;
    font-weight: 500;
}

.lsdv4-closed {
    display: inline-block;
    padding: 2px 10px;
    background: #FEE2E2;
    color: #B91C1C;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
}

.lsdv4-info-banner {
    margin-top: 14px;
    padding: 12px 14px;
    background: #FEFCE8;
    border: 1px solid #FDE68A;
    border-radius: 8px;
    color: #78350F;
    font-size: 13px;
    line-height: 1.55;
    display: flex;
    gap: 8px;
    align-items: flex-start;
}
.lsdv4-info-banner a { color: #B45309; font-weight: 600; text-decoration: underline; }

/* ============== Legal audiotel ============== */

.lsdv4-legal {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    padding: 12px 18px;
    margin: 0 0 24px 0;
    font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Roboto Mono', monospace;
    font-size: 11.5px;
    line-height: 1.7;
    color: #475569;
}

/* ============== À propos ============== */

.lsdv4-card-apropos { margin: 0 0 24px 0; }
.lsdv4-apropos {
    column-count: 2;
    column-gap: 36px;
    color: #334155;
    font-size: 14px;
    line-height: 1.65;
}
.lsdv4-apropos p {
    margin: 0 0 12px 0;
    break-inside: avoid;
}

/* ============== Maillage interne (cards similaires) ============== */

.lsdv4-maillage {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

body.lsd-v4 .lsdv4-maillage .P_Droite_Box {
    background: #FFFFFF !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 12px !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    width: auto !important;
    box-shadow: 0 1px 3px rgba(15,23,42,0.05) !important;
    overflow: hidden;
}
body.lsd-v4 .lsdv4-maillage .P_Droite_Box_Titre {
    display: block !important;
    float: none !important;
    clear: both !important;
    padding: 18px 24px 8px !important;
    margin: 0 !important;
    background: transparent !important;
    color: #0F172A !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    border: none !important;
    width: auto !important;
    height: auto !important;
}
body.lsd-v4 .lsdv4-maillage .P_Droite_Box_Bordure { display: none !important; }
body.lsd-v4 .lsdv4-maillage .P_Droite_Box_Interne {
    display: block !important;
    padding: 0 8px 8px !important;
    background: transparent !important;
    width: auto !important;
    margin: 0 !important;
    float: none !important;
    clear: both !important;
    color: inherit !important;
    font-size: inherit !important;
}
/* Le maillage v3 met le titre puis une bordure puis les liens : on force le bloc en colonne */
body.lsd-v4 .lsdv4-maillage .P_Droite_Box {
    display: flex !important;
    flex-direction: column !important;
}
body.lsd-v4 .lsdv4-maillage .H_LienModification {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: auto !important;
    float: none !important;
    padding: 13px 16px !important;
    border-radius: 8px !important;
    color: #0F172A !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif !important;
    margin: 2px 0 !important;
    border: none !important;
    border-bottom: 1px solid #F1F5F9 !important;
    transition: background 0.15s;
    background: transparent !important;
}
body.lsd-v4 .lsdv4-maillage .H_LienModification:hover {
    background: #F1F5F9 !important;
    text-decoration: none !important;
}
body.lsd-v4 .lsdv4-maillage .H_LienModification::after {
    content: '→';
    color: #CBD5E1;
    flex-shrink: 0;
    font-size: 15px;
}
/* Cacher les <br /> qui suivent les liens (le maillage les ajoute) */
body.lsd-v4 .lsdv4-maillage .P_Droite_Box_Interne br { display: none; }

/* ============== Cacher les éléments tiers / pub en V4 ============== */
body.lsd-v4 .P_Gauche_Pub,
body.lsd-v4 .P_Droite_Pub,
body.lsd-v4 .g-plusone { display: none !important; }

/* ==============================================================
   Legacy wrap — contenu v3 (plan/contact/devis/photos) rendu
   en cards modernes. On garde le HTML/fonctionnel v3 intact.
   ============================================================== */
body.lsd-v4 .lsdv4-legacy-wrap {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 20px;
    align-items: start;
}
/* Si pas de colonne droite (ex: photos), le contenu prend tout */
body.lsd-v4 .lsdv4-legacy-wrap .P_Gauche {
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    grid-column: 1;
}
body.lsd-v4 .lsdv4-legacy-wrap .P_Droite {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    grid-column: 2;
}

/* Cards (P_Gauche_Box + P_Droite_Box) */
body.lsd-v4 .lsdv4-legacy-wrap .P_Gauche_Box,
body.lsd-v4 .lsdv4-legacy-wrap .P_Droite_Box {
    display: block !important;
    float: none !important;
    width: auto !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    background: #FFFFFF !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 3px rgba(15,23,42,0.05) !important;
    overflow: hidden;
    min-height: 0 !important;
}
body.lsd-v4 .lsdv4-legacy-wrap .P_Gauche_Box_Titre,
body.lsd-v4 .lsdv4-legacy-wrap .P_Droite_Box_Titre {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: auto !important;
    margin: 0 !important;
    padding: 18px 24px 6px !important;
    background: transparent !important;
    border: none !important;
    height: auto !important;
}
body.lsd-v4 .lsdv4-legacy-wrap .P_Gauche_Box_Titre h1,
body.lsd-v4 .lsdv4-legacy-wrap .P_Gauche_Box_Titre h2,
body.lsd-v4 .lsdv4-legacy-wrap .P_Droite_Box_Titre,
body.lsd-v4 .lsdv4-legacy-wrap .P_Droite_Box_Titre h2 {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #0F172A !important;
    margin: 0 !important;
    display: block !important;
    letter-spacing: -0.01em !important;
    line-height: 1.3 !important;
}
body.lsd-v4 .lsdv4-legacy-wrap .P_Gauche_Box_Bordure,
body.lsd-v4 .lsdv4-legacy-wrap .P_Droite_Box_Bordure { display: none !important; }
body.lsd-v4 .lsdv4-legacy-wrap .P_Gauche_Box_Interne,
body.lsd-v4 .lsdv4-legacy-wrap .P_Droite_Box_Interne,
body.lsd-v4 .lsdv4-legacy-wrap .P_Droite_Box_Interne_Contact {
    display: block !important;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 8px 24px 20px !important;
    background: transparent !important;
    color: #334155 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

/* Lignes label/valeur */
body.lsd-v4 .lsdv4-legacy-wrap .P_Gauche_Box_Interne_DemiBlock {
    display: block !important;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}
body.lsd-v4 .lsdv4-legacy-wrap .P_Gauche_Box_Interne_DemiBlock_Titre {
    color: #64748B !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    margin-top: 10px !important;
}
body.lsd-v4 .lsdv4-legacy-wrap .P_Gauche_Box_Interne_DemiBlock_Texte {
    color: #0F172A !important;
    font-size: 14px !important;
    margin-bottom: 6px !important;
}
body.lsd-v4 .lsdv4-legacy-wrap .P_Gauche_Box_Interne_DemiBlock_Separateur {
    border-top: 1px solid #F1F5F9 !important;
    margin: 8px 0 !important;
    height: 0 !important;
    clear: both;
}

/* Formulaires (contact / devis) */
body.lsd-v4 .lsdv4-legacy-wrap input[type=text],
body.lsd-v4 .lsdv4-legacy-wrap input[type=email],
body.lsd-v4 .lsdv4-legacy-wrap input[type=tel],
body.lsd-v4 .lsdv4-legacy-wrap input.text,
body.lsd-v4 .lsdv4-legacy-wrap textarea,
body.lsd-v4 .lsdv4-legacy-wrap textarea.textarea,
body.lsd-v4 .lsdv4-legacy-wrap select {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 10px 12px !important;
    border: 1px solid #CBD5E1 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-family: inherit !important;
    color: #0F172A !important;
    background: #FFFFFF !important;
    margin: 4px 0 12px !important;
}
body.lsd-v4 .lsdv4-legacy-wrap textarea { min-height: 120px !important; resize: vertical; }
body.lsd-v4 .lsdv4-legacy-wrap input[type=submit],
body.lsd-v4 .lsdv4-legacy-wrap button,
body.lsd-v4 .lsdv4-legacy-wrap input[type=button] {
    display: inline-block !important;
    width: auto !important;
    padding: 12px 22px !important;
    background: #2563EB !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    font-family: inherit !important;
}
body.lsd-v4 .lsdv4-legacy-wrap input[type=submit]:hover,
body.lsd-v4 .lsdv4-legacy-wrap button:hover { background: #1D4ED8 !important; }

/* Liens dans le legacy */
body.lsd-v4 .lsdv4-legacy-wrap a { color: #2563EB; }
body.lsd-v4 .lsdv4-legacy-wrap .P_Droite_Box .H_LienModification {
    display: flex !important; align-items: center; justify-content: space-between;
    padding: 12px 16px !important; border-bottom: 1px solid #F1F5F9 !important;
    color: #0F172A !important; text-decoration: none !important; font-size: 14px !important;
    font-weight: 500 !important;
}
body.lsd-v4 .lsdv4-legacy-wrap .P_Droite_Box .H_LienModification:hover { background: #F1F5F9 !important; }
body.lsd-v4 .lsdv4-legacy-wrap .P_Droite_Box_Interne br { display: none; }

/* Carte (plan) */
body.lsd-v4 .lsdv4-legacy-wrap #map,
body.lsd-v4 .lsdv4-legacy-wrap .leaflet-container,
body.lsd-v4 .lsdv4-legacy-wrap [id*="map"] {
    border-radius: 10px !important;
    overflow: hidden;
}

/* Galerie photos */
body.lsd-v4 .lsdv4-legacy-wrap .P_Gauche_Box_InterneImage img,
body.lsd-v4 .lsdv4-legacy-wrap .P_Gauche_Box_Interne img {
    border-radius: 8px;
    max-width: 100%;
    height: auto;
}

body.lsd-v4 .lsdv4-legacy-wrap .P_Gauche_Box_Mention {
    font-size: 11px !important;
    color: #94A3B8 !important;
    padding: 0 24px 16px !important;
}

@media (max-width: 900px) {
    body.lsd-v4 .lsdv4-legacy-wrap { grid-template-columns: 1fr; }
    body.lsd-v4 .lsdv4-legacy-wrap .P_Gauche,
    body.lsd-v4 .lsdv4-legacy-wrap .P_Droite { grid-column: 1; }
}

/* ============== Emplacements pub (placeholder) ============== */
.lsdv4-ad {
    display: block;
    margin: 0 0 24px 0;
    background: #F1F5F9;
    border-radius: 12px;
    overflow: hidden;
    text-align: center;
}
.lsdv4-ad ins { display: block; width: 100%; }
/* hauteurs réservées (anti-CLS pendant le chargement AdSense) */
.lsdv4-ad-banner { min-height: 280px; }
.lsdv4-ad-rectangle { width: 300px; min-height: 250px; max-width: 100%; margin-left: auto; margin-right: auto; }
.lsdv4-ad-row {
    display: flex;
    justify-content: center;
    margin: 0 0 24px 0;
}

/* ============== Responsive ============== */

@media (max-width: 900px) {
    .lsdv4-grid,
    .lsdv4-maillage {
        grid-template-columns: 1fr;
    }
    .lsdv4-apropos { column-count: 1; }
}

@media (max-width: 700px) {
    body.lsd-v4 #Global { padding: 16px 12px !important; }
    body.lsd-v4 #Global::after {
        padding-left: 16px;
        font-size: 16px;
    }

    .lsdv4-hero {
        flex-direction: column;
        align-items: stretch;
        padding: 22px 20px;
    }
    .lsdv4-titre { font-size: 28px; }
    .lsdv4-hero-actions {
        min-width: 0;
        flex-direction: column;
    }
    .lsdv4-tabs { overflow-x: auto; flex-wrap: nowrap; }
    .lsdv4-tab { white-space: nowrap; }
    .lsdv4-info-row,
    .lsdv4-horaire-row {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 8px 0;
    }
}

.lsdv4-closed-banner{background:#FEF2F2 !important;border:1px solid #FECACA !important;color:#B91C1C !important;}
