/* Ts-Immo Conformité légale — bloc honoraires/prix conforme, barème et
   mentions légales. Tout est scopé sous .tsl-* pour ne pas déborder sur le thème. */

/* ── Bloc honoraires / prix conforme ─────────────────────────────────────── */
.tsl-price{margin:1rem 0;color:var(--tsv-color-fg,#1f2933)}
.tsl-price-main{font-size:1.5rem;font-weight:700;line-height:1.2}
.tsl-price-tag{font-size:.8rem;font-weight:600;color:var(--tsv-color-muted,#6b7280);text-transform:uppercase;letter-spacing:.03em}
.tsl-price-detail{list-style:none;margin:.5rem 0 0;padding:0;font-size:.9rem;line-height:1.5;color:var(--tsv-color-fg,#374151)}
.tsl-price-detail li{margin:.15rem 0}
.tsl-price-note{font-size:.78rem;color:var(--tsv-color-muted,#6b7280);font-style:italic}
.tsl-price--na{font-size:1.15rem;font-weight:600;color:var(--tsv-color-muted,#6b7280)}
.tsl-inline{margin:1.5rem 0 0}

/* ── Barème des honoraires ───────────────────────────────────────────────── */
.tsl-bareme{margin:1.5rem 0;color:var(--tsv-color-fg,#1f2933)}
.tsl-bareme-table{width:100%;border-collapse:collapse;margin:0 0 1.25rem}
.tsl-bareme-table caption{
    text-align:left;font-size:1.05rem;font-weight:700;margin:0 0 .5rem;font-family:var(--tsv-font-head,inherit);color:var(--tsv-color-dark,#0f172a);
}
.tsl-bareme-table th,
.tsl-bareme-table td{
    padding:.55rem .75rem;border-bottom:1px solid var(--tsv-color-border,#e5e7eb);font-size:.92rem;text-align:left;vertical-align:top;
}
.tsl-bareme-table th{font-weight:600;color:var(--tsv-color-fg,#374151)}
.tsl-bareme-table td{color:var(--tsv-color-fg,#111827)}
.tsl-bareme-table tr:last-child th,
.tsl-bareme-table tr:last-child td{border-bottom:0}
.tsl-bareme-note{font-size:.78rem;color:var(--tsv-color-muted,#6b7280);font-style:italic;margin:.5rem 0 0}

/* ── Mention Géorisques (risques naturels & technologiques) ──────────────── */
.tsl-georisques{color:var(--tsv-color-fg,#1f2933)}
.tsl-georisques--card{
    display:flex;gap:.9rem;margin:1.5rem 0;padding:1rem 1.1rem;
    background:#f0f9ff;border:1px solid #bae6fd;border-radius:var(--tsv-radius,16px);
}
.tsl-georisques-icon{flex:0 0 auto;color:#0369a1;margin-top:.15rem}
.tsl-georisques-body{flex:1 1 auto;min-width:0}
.tsl-georisques-title{margin:0 0 .35rem;font-size:1.05rem;font-weight:700;font-family:var(--tsv-font-head,inherit);color:#075985}
.tsl-georisques-mention{margin:0 0 .6rem;font-size:.92rem;line-height:1.5}
.tsl-georisques-mention a{color:#0369a1;font-weight:600}
.tsl-georisques-btn{
    display:inline-block;padding:.45rem .9rem;font-size:.86rem;font-weight:600;
    color:#fff;background:#0369a1;border-radius:var(--tsv-radius-sm,10px);text-decoration:none;
}
.tsl-georisques-btn:hover{background:#075985}
.tsl-georisques-legal{margin:.6rem 0 0;font-size:.74rem;color:var(--tsv-color-muted,#64748b);font-style:italic}
.tsl-georisques--inline{
    display:flex;align-items:flex-start;gap:.5rem;margin:1rem 0;font-size:.86rem;
    line-height:1.5;color:#334155;
}
.tsl-georisques--inline .tsl-georisques-ico{flex:0 0 auto;color:#0369a1;margin-top:.1rem}
.tsl-georisques--inline a{color:#0369a1;font-weight:600}

/* ── Copropriété (ALUR L.721-1) & encadrement des loyers ─────────────────── */
.tsl-copro,.tsl-encadrement{
    margin:1.5rem 0;padding:1rem 1.1rem;color:var(--tsv-color-fg,#1f2933);
    background:var(--tsv-color-bg-alt,#f8fafc);border:1px solid var(--tsv-color-border,#e2e8f0);border-left:4px solid #475569;border-radius:var(--tsv-radius-sm,10px);
}
.tsl-encadrement{border-left-color:#7c3aed}
.tsl-copro-title,.tsl-encadrement-title{margin:0 0 .5rem;font-size:1.05rem;font-weight:700;font-family:var(--tsv-font-head,inherit);color:var(--tsv-color-dark,#0f172a)}
.tsl-copro-list,.tsl-encadrement-list{list-style:disc;margin:0 0 .5rem;padding-left:1.2rem;font-size:.92rem;line-height:1.5}
.tsl-copro-list li,.tsl-encadrement-list li{margin:.15rem 0}
.tsl-copro-warn{color:#b91c1c;font-weight:600;list-style:none;margin-left:-1.2rem}
.tsl-copro-warn::before{content:"⚠ ";}
.tsl-copro-legal,.tsl-encadrement-legal{margin:.4rem 0 0;font-size:.74rem;color:var(--tsv-color-muted,#64748b);font-style:italic}

/* ── Mentions légales ────────────────────────────────────────────────────── */
.tsl-legal-mentions{color:var(--tsv-color-fg,#1f2933);line-height:1.6}
.tsl-legal-mentions h2{font-size:1.2rem;font-weight:700;margin:1.6rem 0 .6rem}
.tsl-legal-mentions h2:first-child{margin-top:0}
.tsl-legal-mentions p{margin:.5rem 0}
.tsl-legal-list{list-style:none;margin:.5rem 0;padding:0}
.tsl-legal-list li{margin:.2rem 0}
.tsl-legal-list strong{color:var(--tsv-color-fg,#374151)}

@media (max-width:600px){
    .tsl-price-main{font-size:1.3rem}
    .tsl-bareme-table th,.tsl-bareme-table td{padding:.45rem .5rem;font-size:.86rem}
}

/* ── Étiquettes DPE / GES (arrêté du 08/10/2021) ─────────────────────────── */
.tsl-dpe{margin:1.5rem 0;color:var(--tsv-color-fg,#1f2933)}
.tsl-dpe-title{margin:0 0 .75rem;font-size:1.05rem;font-weight:700;font-family:var(--tsv-font-head,inherit);color:var(--tsv-color-dark,#0f172a)}
.tsl-dpe-svgs{display:flex;gap:1.75rem;flex-wrap:wrap}
.tsl-dpe-svgs--column{flex-direction:column}
.tsl-dpe-label{margin:0;flex:1 1 280px;min-width:260px;max-width:460px}
.tsl-dpe-label-head{display:flex;flex-direction:column;margin-bottom:.35rem;line-height:1.25}
.tsl-dpe-label-head span{font-size:.9rem;font-weight:700}
.tsl-dpe-label-head small{font-size:.74rem;color:var(--tsv-color-muted,#64748b);text-transform:uppercase;letter-spacing:.04em}
.tsl-dpe-svg{display:block;width:100%;height:auto}
.tsl-dpe-cost{margin:1rem 0 0;font-size:.9rem;line-height:1.5}
.tsl-dpe-alert{margin:.6rem 0 0;padding:.55rem .75rem;border-radius:6px;background:#fef2f2;color:#b91c1c;font-size:.86rem;font-weight:600}
.tsl-dpe-date{margin:.4rem 0 0;font-size:.74rem;color:var(--tsv-color-muted,#64748b);font-style:italic}
.tsl-dpe-note{margin:0;font-size:.9rem;color:var(--tsv-color-muted,#64748b)}
.tsl-dpe--na{padding:.75rem 1rem;border:1px dashed var(--tsv-color-border,#e2e8f0);border-radius:8px}

/* Pastilles compactes (cartes / aperçus). */
.tsl-dpe-badges{display:inline-flex;gap:.35rem;vertical-align:middle}
.tsl-dpe-badge{display:inline-block;padding:.12rem .45rem;border-radius:4px;font-size:.74rem;font-weight:700;line-height:1.4}

@media (max-width:600px){
    .tsl-dpe-svgs{gap:1.25rem}
    .tsl-dpe-label{min-width:0}
}
