/* Atelier Fidèle — feuille de style unique.
   Reprend la charte du thème Horizon : crème, encre, terracotta. */
:root{
  --fond:#FFFFFF; --fond-doux:#FAF6F1; --encre:#0D2723; --encre-doux:#4A5E59;
  --accent:#C9603A; --accent-fonce:#A84C2C; --bord:rgba(13,39,35,.14);
  --largeur:68rem; --rayon:10px;
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fond);color:var(--encre);font-family:var(--sans);
  font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent-fonce)}
.enveloppe{max-width:var(--largeur);margin:0 auto;padding:0 16px}

/* bandeau de réassurance */
.bandeau{background:var(--encre);color:#FAF6F1;font-size:.8rem;text-align:center;
  padding:.5rem 16px;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem .9rem}
.bandeau span{white-space:nowrap}
/* le separateur ne doit pas survivre a un retour a la ligne : on le retire
   sous 560 px, ou les mentions s'empilent sur deux lignes */
@media(min-width:560px){.bandeau span+span::before{content:"·";margin-right:.9rem;opacity:.55}}

header{border-bottom:1px solid var(--bord);background:var(--fond)}
.tete{display:flex;align-items:center;justify-content:space-between;gap:.6rem 1rem;
  padding:.9rem 0;flex-wrap:wrap}
.marque{font-family:var(--serif);font-size:1.3rem;text-decoration:none;color:var(--encre);font-weight:600}
nav ul{list-style:none;display:flex;gap:.5rem 1.1rem;margin:0;padding:0;flex-wrap:wrap}
@media(max-width:560px){
  .tete{justify-content:center;text-align:center}
  nav ul{justify-content:center}
}
nav a{text-decoration:none;color:var(--encre-doux);font-size:.95rem}
nav a:hover,nav a:focus{color:var(--accent-fonce)}

h1{font-family:var(--serif);font-size:clamp(1.8rem,4.6vw,2.6rem);line-height:1.15;margin:0 0 .6rem}
h2{font-family:var(--serif);font-size:clamp(1.35rem,3.2vw,1.8rem);line-height:1.2;margin:2.4rem 0 .7rem}
h3{font-size:1.08rem;margin:1.8rem 0 .4rem}
p{margin:0 0 1rem}

main{padding:2rem 0 3rem}
.chapeau{font-size:1.1rem;color:var(--encre-doux);max-width:42rem}

/* fiche produit */
.produit{display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:860px){.produit{grid-template-columns:1.05fr .95fr;align-items:start}}
.prix{font-size:1.6rem;font-weight:600;margin:.2rem 0 1rem}
.prix small{font-size:.86rem;font-weight:400;color:var(--encre-doux);display:block;margin-top:.15rem}

.bouton{display:inline-block;width:100%;text-align:center;background:var(--accent);color:#fff;
  text-decoration:none;font-size:1.05rem;font-weight:600;padding:1rem 1.4rem;border:0;
  border-radius:var(--rayon);cursor:pointer;transition:background .15s}
.bouton:hover,.bouton:focus{background:var(--accent-fonce);color:#fff}
.bouton--sobre{background:transparent;color:var(--encre);border:1px solid var(--bord)}
.bouton--sobre:hover{background:var(--fond-doux);color:var(--encre)}

.garanties{list-style:none;margin:1.2rem 0 0;padding:0;font-size:.95rem}
.garanties li{padding-left:1.5rem;position:relative;margin-bottom:.4rem}
.garanties li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}

.encadre{background:var(--fond-doux);border:1px solid var(--bord);border-radius:var(--rayon);
  padding:1.1rem 1.2rem;margin:1.6rem 0}
.encadre p:last-child{margin-bottom:0}

.cartes{display:grid;gap:1.2rem;grid-template-columns:1fr;margin:1.5rem 0}
@media(min-width:680px){.cartes{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.cartes{grid-template-columns:repeat(3,1fr)}}
.carte{border:1px solid var(--bord);border-radius:var(--rayon);overflow:hidden;background:var(--fond)}
.carte .texte{padding:.9rem 1rem 1.1rem}
.carte h3{margin:.1rem 0 .3rem;font-size:1rem}
.carte .prix{font-size:1.05rem;margin:.4rem 0 .8rem}
.carte a.bouton{font-size:.95rem;padding:.7rem 1rem}

details{border-top:1px solid var(--bord);padding:.9rem 0}
details summary{cursor:pointer;font-weight:600;list-style:none}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";float:right;color:var(--accent);font-weight:700}
details[open] summary::after{content:"–"}
details p{margin:.7rem 0 0;color:var(--encre-doux)}

footer{border-top:1px solid var(--bord);background:var(--fond-doux);padding:2rem 0;
  font-size:.9rem;color:var(--encre-doux)}
footer a{color:var(--encre-doux)}
footer nav ul{gap:1rem;margin-bottom:.8rem}

/* galerie produit */
.galerie{display:grid;gap:.6rem;grid-template-columns:repeat(2,1fr);margin:0 0 1.4rem}
.galerie img{width:100%;border-radius:var(--rayon);border:1px solid var(--bord);background:var(--fond-doux)}
.galerie .principale{grid-column:1 / -1}
@media(min-width:860px){.galerie{grid-template-columns:repeat(3,1fr)}}
figure{margin:0 0 1.4rem}
figure img{width:100%;border-radius:var(--rayon);border:1px solid var(--bord)}
figcaption{margin-top:.5rem;font-size:.88rem;color:var(--encre-doux)}
.carte img{aspect-ratio:4/5;object-fit:cover;width:100%}

/* tableaux (politiques) — lisibles jusqu'en 320 px */
table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.95rem}
th,td{text-align:left;padding:.6rem .7rem;border-bottom:1px solid var(--bord);vertical-align:top}
th{font-weight:600;background:var(--fond-doux)}
@media(max-width:620px){
  table,thead,tbody,tr,th,td{display:block;width:100%}
  thead{position:absolute;left:-9999px}
  tr{border:1px solid var(--bord);border-radius:var(--rayon);margin-bottom:.8rem;padding:.3rem .2rem}
  td{border:0;padding:.35rem .7rem}
  td:first-child{font-weight:600}
  td+td::before{content:"— ";color:var(--encre-doux)}
}
