/* Pages juridiques du site vitrine : conditions generales de vente (cgv.php), politique de confidentialite (confidentialite.php), mentions legales (mentions-legales.php). */
:root { --fond: #ffffff; --carte: #f2f8f8; --texte: #1d2a30; --doux: #55656d; --bord: #d9e5e8; --marque: #14788b; --marque-fonce: #0e5d6c; --note: #fff7e0; --note-bord: #e0b84a; }
@media (prefers-color-scheme: dark) {
  :root { --fond: #0d1719; --carte: #121f22; --texte: #e7f0f2; --doux: #9db2b8; --bord: #284045; --marque: #45b9cf; --marque-fonce: #6fcde0; --note: #2a2410; --note-bord: #9a7d22; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--fond); color: var(--texte); font: 17px/1.65 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
a { color: var(--marque-fonce); }
:focus-visible { outline: 3px solid var(--marque); outline-offset: 3px; border-radius: 4px; }
.page { width: min(50rem, 100% - 2rem); margin: 0 auto; padding: 1.2rem 0 3rem; }
.entete { display: flex; align-items: center; justify-content: space-between; gap: .8rem; flex-wrap: wrap; margin-bottom: 1.4rem; }
.entete a.marque { display: flex; align-items: center; gap: .6rem; text-decoration: none; color: inherit; font-size: 1.2rem; font-weight: 700; }
h1 { font-size: clamp(1.7rem, 4.4vw, 2.4rem); line-height: 1.2; margin: 0 0 .4rem; }
h2 { font-size: 1.25rem; line-height: 1.3; margin: 2.2rem 0 .6rem; padding-top: .4rem; border-top: 1px solid var(--bord); scroll-margin-top: 1rem; }
h3 { font-size: 1.02rem; margin: 1.1rem 0 .3rem; }
p, ul, ol { margin: 0 0 .9rem; }
li { margin-bottom: .35rem; }
.doux { color: var(--doux); }
.sommaire { background: var(--carte); border: 1px solid var(--bord); border-radius: 10px; padding: .9rem 1.2rem; margin: 1.2rem 0 1.6rem; }
.sommaire ol { columns: 2 17rem; margin: 0; padding-left: 1.4rem; }
.sommaire li { margin-bottom: .15rem; break-inside: avoid; }
.encart { background: var(--note); border: 1px solid var(--note-bord); border-left-width: 5px; border-radius: 8px; padding: .8rem 1rem; margin: 0 0 1rem; }
.tableau { overflow-x: auto; margin: 0 0 1rem; }
table { border-collapse: collapse; width: 100%; font-size: .95rem; }
th, td { border: 1px solid var(--bord); padding: .5rem .65rem; text-align: left; vertical-align: top; }
th { background: var(--carte); }
td.prix { white-space: nowrap; }
.pied { margin-top: 2.4rem; padding-top: 1rem; border-top: 1px solid var(--bord); color: var(--doux); font-size: .95rem; }
.liens-legaux { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; margin: 0 0 .6rem; }
.liens-legaux a { font-weight: 600; }
.liens-legaux a[aria-current="page"] { color: var(--texte); text-decoration: none; }
@media print { .entete a.retour, .sommaire, .liens-legaux { display: none; } body { font-size: 11pt; } h2 { break-after: avoid; } }
