/* Pages /etablissements/ et /etablissements/devis/ — s'ajoute à site.css et presentation.css.
   Aucune police externe. Contrastes de texte ≥ 4,5:1 (AA). */
.a-completer{background:#B42318;color:#fff;font-weight:800;border-radius:3px;padding:1px 6px;letter-spacing:.02em}

/* haut de page */
.hero-simple{padding-block:clamp(32px,6vw,72px) clamp(24px,4vw,44px)}
.hero-simple h1{font-size:clamp(30px,4.6vw,48px);line-height:1.1;font-weight:800;max-width:20em}
.hero-simple .chapo{max-width:42em}
.hero-simple .actions{margin-top:26px}

/* listes de points */
.points{margin:0;padding:0;list-style:none;border-top:1px solid var(--trait-fort)}
.points li{padding:12px 0 12px 28px;border-bottom:1px solid var(--trait-fort);position:relative}
.points li::before{content:"";position:absolute;left:4px;top:1.15em;width:10px;height:10px;background:var(--bouton)}
.points b{font-weight:700}
.trois-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,36px)}
.trois-cols>div{border-top:3px solid var(--encre);padding-top:12px}
@media (max-width:860px){.trois-cols{grid-template-columns:1fr}}

/* tableau des filières */
.tab-filieres{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--trait-fort)}
.tab-filieres caption{text-align:left;font-weight:700;padding:0 0 8px;color:var(--texte-doux)}
.tab-filieres th,.tab-filieres td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--trait);vertical-align:top}
.tab-filieres thead th{background:var(--encre);color:#fff;font-size:14px;letter-spacing:.03em}
.tab-filieres tbody th{font-family:var(--f-titre);font-size:18px}
.tab-filieres .boutons{display:flex;flex-wrap:wrap;gap:8px}
.tab-filieres .btn{font-size:14px;padding:8px 14px}
.tab-filieres .a-venir{color:var(--texte-doux)}
@media (max-width:760px){
  .tab-filieres thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tab-filieres,.tab-filieres tbody,.tab-filieres tr,.tab-filieres th,.tab-filieres td,.tab-filieres caption{display:block}
  .tab-filieres caption{width:100%;font-family:var(--f-titre);font-size:19px;line-height:1.25;color:var(--encre)}
  .tab-filieres tr{border-bottom:2px solid var(--trait-fort);padding:6px 0}
  .tab-filieres th,.tab-filieres td{border:0;padding:6px 14px}
  .tab-filieres td::before{content:attr(data-label) " : ";font-weight:700;color:var(--texte-doux)}
}

/* encart texte */
.encart{background:#fff;border:1px solid var(--trait-fort);border-left:4px solid var(--bouton);padding:14px 18px;max-width:46em}
.encart p+p{margin-top:8px}

/* formulaire */
.form-devis{display:grid;gap:16px;max-width:46em}
.form-devis label,.reglages label{display:block;font-weight:600}
.form-devis input[type=text],.form-devis input[type=number],.form-devis select,.form-devis textarea,
.reglages input[type=text],.reglages input[type=date],.reglages select,.reglages textarea{
  display:block;width:100%;min-height:44px;margin-top:4px;padding:8px 10px;font:inherit;color:var(--encre);background:#fff;border:1.5px solid var(--trait-fort);border-radius:var(--r)}
.form-devis textarea,.reglages textarea{min-height:88px}
.form-devis fieldset,.reglages fieldset{min-width:0;border:1px solid var(--trait-fort);padding:10px 14px;margin:0}
.form-devis legend,.reglages legend{font-weight:700;padding:0 6px}
.cases label,.cases-radio label{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:400}
.cases input,.cases-radio input{width:22px;height:22px;flex:none}
.deux-champs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:640px){.deux-champs{grid-template-columns:1fr}}
.aide{font-size:15px;color:var(--texte-doux)}
.zone-copie textarea{font-family:var(--f-code);font-size:14px;min-height:180px}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--bouton);outline-offset:2px}

/* témoignages (affichés seulement s'il y en a) */
.temoignage{margin:0 0 18px;padding:14px 18px;background:#fff;border:1px solid var(--trait-fort)}
.temoignage footer{margin-top:8px;color:var(--texte-doux);font-size:15px}

/* page de devis */
.devis-page{padding-block:clamp(20px,4vw,40px)}
.devis-grille{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,3vw,40px);align-items:start}
@media (max-width:980px){.devis-grille{grid-template-columns:minmax(0,1fr)}}
.reglages{display:grid;gap:14px;min-width:0}
.conseil{background:var(--teinte);border-left:4px solid var(--bouton);padding:10px 14px}
.feuille{background:#fff;border:1px solid var(--trait-fort);box-shadow:5px 5px 0 var(--trait);padding:clamp(16px,3vw,32px);font-size:15px;line-height:1.5}
.feuille h2{font-size:26px;margin:0 0 4px}
.feuille h3{font-size:17px;margin:18px 0 6px}
.feuille p+p{margin-top:8px}
.feuille .deux{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:640px){.feuille .deux{grid-template-columns:1fr}}
.feuille table{width:100%;border-collapse:collapse;margin-top:8px}
.feuille th,.feuille td{padding:8px 10px;border:1px solid var(--trait-fort);text-align:left;vertical-align:top}
.feuille thead th{background:var(--teinte)}
.feuille .num{text-align:right;white-space:nowrap}
.feuille tfoot th,.feuille tfoot td{font-weight:700}
.feuille .tableau-defilant{overflow-x:auto}
.signature{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}
.signature div{border:1px solid var(--trait-fort);min-height:110px;padding:8px 10px}
.pied-devis{margin-top:16px;font-size:13px;color:var(--texte-doux)}

@media print{
  @page{size:A4;margin:14mm}
  body{background:#fff;font-size:11pt}
  .barre,.pied,.evitement,.no-print,.devis-entete{display:none!important}
  .devis-grille{display:block}
  .feuille{border:0;box-shadow:none;padding:0;font-size:10.5pt}
  .feuille table{break-inside:avoid}
  .signature div{break-inside:avoid}
  .a-completer{background:none;color:#000;border:1px solid #000}
}
