/* =========================================================================
   Joaillier Maupas-Sehikyan : feuille de style du site (zone site, MS Admin)
   Sommaire : 1. Polices et variables  2. Base  3. Mise en page
   4. Typographie  5. Boutons et liens  6. En-tête  7. Bandeaux
   8. Sections et cartes  9. Boutique et produit  10. Diaporamas et avis
   11. Formulaires  12. Pied de page  13. Responsive
   ========================================================================= */

/* 1. Polices et variables */
@font-face{font-family:"Champagne";src:url("/site/assets/fonts/champagne-limousines.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Champagne";src:url("/site/assets/fonts/champagne-limousines-bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Champagne";src:url("/site/assets/fonts/champagne-limousines-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}

:root{
  --or:#EECA62;--or-fonce:#B8962E;--or-texte:#765C12;
  --encre:#262626;--anthracite:#383838;--texte:#2B2B2B;--gris-texte:#525252;
  --fond-gris:#F7F7F7;--fond-sombre:#1E1E1E;--trait:#E4E1DA;--trait-doux:#EFECE6;
  --police:"Champagne","Josefin Sans","Century Gothic",Futura,sans-serif;
  --largeur:1200px;--gouttiere:24px;
  --espace:clamp(64px,8vw,112px);
  --ombre:0 30px 70px rgba(0,0,0,.10);
  --entete:230px;
}

/* 2. Base */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--police);font-size:17px;line-height:1.75;color:var(--texte);background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video,iframe{display:block;max-width:100%}
img{height:auto}
a{color:var(--anthracite)}
a:hover{color:var(--or-texte)}
strong{color:var(--encre);font-weight:700}
p{margin:0}
ul,ol{margin:0;padding:0}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--or);color:var(--encre)}
:focus-visible{outline:2px solid var(--or-fonce);outline-offset:3px}
.visuellement-cache{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lien-evitement{position:absolute;left:16px;top:-60px;z-index:100;padding:12px 18px;background:var(--encre);color:#fff;text-decoration:none}
.lien-evitement:focus{top:16px}

/* 3. Mise en page */
.conteneur{width:100%;max-width:calc(var(--largeur) + 2*var(--gouttiere));margin-inline:auto;padding-inline:var(--gouttiere)}
.conteneur--etroit{max-width:calc(920px + 2*var(--gouttiere))}
.conteneur--lecture{max-width:calc(760px + 2*var(--gouttiere))}
.conteneur--large{max-width:calc(1300px + 2*var(--gouttiere))}
.section{padding-block:var(--espace)}
.section--gris{background:var(--fond-gris)}
.section--sombre{background:var(--encre);color:#E6E6E6}
.section--haut{padding-bottom:0}
.section--bas{padding-top:0}
.centre{text-align:center;display:flex;flex-direction:column;align-items:center}
.pile{display:flex;flex-direction:column;gap:18px}
.pile--serree{gap:12px}
.grille{display:grid;gap:48px 36px}
.grille--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grille--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grille--4{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px}
.grille--5{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.grille--galerie{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}

/* 4. Typographie */
h1,h2,h3,h4{margin:0;font-weight:400;color:var(--encre);line-height:1.22;text-wrap:balance}
.titre{font-size:clamp(28px,2.6vw,38px);line-height:1.22;letter-spacing:.02em}
.titre--moyen{font-size:clamp(26px,2.3vw,32px)}
.titre--grand{font-size:clamp(32px,3.4vw,48px);line-height:1.1}
.titre--majuscules{letter-spacing:.1em;text-transform:uppercase}
.sous-titre{font-size:clamp(22px,1.9vw,27px);line-height:1.3}
.titre a,.sous-titre a{color:inherit;text-decoration:none}
.titre a:hover,.sous-titre a:hover{color:var(--or-texte)}
.surtitre{margin:0;font-size:14px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--or-texte)}
.chapo{font-size:22px;line-height:1.4;color:var(--encre)}
.texte-sm{font-size:16px}
.numero{font-size:13px;letter-spacing:.24em;color:var(--or-texte)}
.signature{font-style:italic;font-size:28px;color:var(--anthracite)}
.sur-sombre,.sur-sombre h1,.sur-sombre h2,.sur-sombre h3{color:#fff}
.sur-sombre strong{color:#fff}
.sur-sombre .surtitre{color:var(--or)}
.ornement{display:block;width:88px;height:14px;color:var(--or-fonce)}
.ornement--petit{width:64px;height:12px}
.sur-sombre .ornement{color:var(--or)}
.entete-section{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;margin-bottom:48px}
.contenu-riche{display:flex;flex-direction:column;gap:16px}
.contenu-riche h2{margin-top:24px;font-size:28px;line-height:1.3}
.contenu-riche h3{margin-top:14px;font-size:23px}
.contenu-riche ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.contenu-riche li{position:relative;padding-left:24px}
.contenu-riche li::before{content:"◆";position:absolute;left:0;top:2px;font-size:12px;color:var(--or-fonce)}
.tableau{overflow-x:auto;margin:8px 0}
.tableau table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.55}
.tableau th,.tableau td{padding:12px 14px;border-bottom:1px solid var(--trait);text-align:left;vertical-align:top}
.tableau th{font-size:13px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--encre);background:var(--fond-gris)}
.liste-coches{list-style:none;display:flex;flex-direction:column;gap:10px;font-size:16px}
.liste-coches li{display:flex;gap:12px;align-items:flex-start}
.liste-coches svg{flex:0 0 auto;margin-top:5px;color:var(--or-fonce)}
.sur-sombre .liste-coches svg{color:var(--or)}

/* 5. Boutons et liens */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 32px;border:1px solid transparent;background:none;font-size:14px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;text-align:center;cursor:pointer;transition:background-color .25s,color .25s,border-color .25s}
.btn--or{background:var(--or);color:var(--encre);font-weight:700}
.btn--or:hover{background:#E3B942;color:var(--encre)}
.btn--sombre{background:var(--encre);color:#fff}
.btn--sombre:hover{background:#000;color:var(--or)}
.btn--ligne{border-color:var(--encre);color:var(--encre)}
.btn--ligne:hover{background:var(--encre);color:#fff}
.btn--clair{border-color:rgba(255,255,255,.85);color:#fff}
.btn--clair:hover{background:#fff;color:var(--encre)}
.btn--petit{min-height:44px;padding:0 20px;font-size:13px}
.btn--bloc{width:100%}
.groupe-boutons{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.groupe-boutons--gauche{justify-content:flex-start}
.lien-fleche{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--encre);text-decoration:none}
.lien-fleche::after{content:"";position:absolute;left:0;right:26px;bottom:10px;height:1px;background:var(--or-fonce)}
.lien-fleche svg{transition:transform .3s}
.lien-fleche:hover{color:var(--or-texte)}
.lien-fleche:hover svg{transform:translateX(4px)}
.sur-sombre .lien-fleche{color:#fff}
.sur-sombre .lien-fleche::after{background:var(--or)}
.sur-sombre .lien-fleche:hover{color:var(--or)}

/* 6. En-tête */
.site-header{position:absolute;inset:0 0 auto;z-index:20;color:#fff}
.site-header a{color:#fff;text-decoration:none}
.site-header a:hover{color:var(--or)}
.barre-infos{border-bottom:1px solid rgba(255,255,255,.16);font-size:13px;letter-spacing:.08em}
.barre-infos .conteneur{max-width:1328px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 28px;padding-block:9px}
.barre-infos span,.barre-infos a{display:inline-flex;align-items:center;gap:9px}
.barre-infos svg{color:var(--or)}
.barre-infos .tel{color:var(--or);font-weight:700;letter-spacing:.1em}
.barre-infos__droite{display:flex;flex-wrap:wrap;gap:4px 26px}
.entete-principal{max-width:1328px;margin-inline:auto;padding:18px 32px 8px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px}
.entete-principal__gauche{display:flex;align-items:center;gap:8px}
.entete-principal__droite{display:flex;justify-content:flex-end;gap:2px}
.logo img{height:92px;width:auto}
.site-header--accueil .logo img{height:136px}
.site-header--accueil .entete-principal{padding-top:26px;padding-bottom:14px}
.icone-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:none;color:#fff;cursor:pointer}
.icone-btn:hover{color:var(--or)}
.burger{display:none}
.nav-principale{max-width:1328px;margin-inline:auto;padding:0 32px 8px}
.nav-principale ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:0 24px}
.nav-principale a{position:relative;display:inline-flex;align-items:center;min-height:48px;font-size:14px;letter-spacing:.1em;text-transform:uppercase}
.nav-principale a::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:var(--or);transform:scaleX(0);transition:transform .35s}
.nav-principale a:hover::after,.nav-principale a[aria-current="page"]::after{transform:scaleX(1)}
.nav-principale a[aria-current="page"]{color:var(--or)}

/* 7. Bandeaux */
.bandeau{position:relative;overflow:hidden;background:var(--fond-sombre);color:#fff;padding-top:var(--entete)}
.bandeau__fond{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.bandeau::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,18,18,.82) 0%,rgba(18,18,18,.5) 42%,rgba(18,18,18,.72) 100%)}
.bandeau__contenu{position:relative;z-index:1;max-width:1040px;margin-inline:auto;padding:44px 24px 104px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.bandeau h1{color:#fff;font-size:clamp(36px,4.2vw,62px);line-height:1.1;letter-spacing:.04em}
.bandeau .surtitre{color:var(--or)}
.bandeau .ornement{color:var(--or)}
.bandeau--compact .bandeau__contenu{padding:0 0 30px}
.bandeau--accueil{min-height:880px;display:flex;flex-direction:column;padding-top:290px}
.bandeau--accueil .bandeau__contenu{flex:1 1 auto;justify-content:center;padding-bottom:40px}
.bandeau--accueil h1{font-size:clamp(32px,3.6vw,54px);line-height:1.16;letter-spacing:.06em;text-transform:uppercase;max-width:980px}
.bandeau__accroche{font-size:clamp(19px,1.7vw,25px);line-height:1.4;letter-spacing:.1em;text-transform:uppercase}
.bandeau--video{min-height:660px;display:flex;flex-direction:column}
.bandeau--video .bandeau__contenu{flex:1 1 auto;justify-content:center}
.diapo-fond img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1);transition:opacity 1.4s ease,transform 7s linear}
.diapo-fond img.est-actif{opacity:1;transform:scale(1.06)}
.bandeau .points{position:relative;z-index:1;padding-bottom:36px}
.site-breadcrumb,.ariane{padding-top:22px;font-size:14px;letter-spacing:.06em;color:#5C5C5C}
.site-breadcrumb ol,.ariane ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.site-breadcrumb li+li::before,.ariane li+li::before{content:"/";margin-right:8px;color:#B5B5B5}
.site-breadcrumb a,.ariane a{color:var(--texte);text-decoration:none}
.site-breadcrumb a:hover,.ariane a:hover{color:var(--or-texte)}
.site-breadcrumb [aria-current],.ariane [aria-current]{color:var(--encre)}

/* 8. Sections et cartes */
.media-zoom{display:block;overflow:hidden;position:relative;background:var(--fond-gris)}
.media-zoom img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.media-zoom--contenir img{object-fit:contain}
a:hover .media-zoom img,.media-zoom:hover img{transform:scale(1.05)}
.ratio-1{aspect-ratio:1/1}.ratio-54{aspect-ratio:5/4}.ratio-43{aspect-ratio:4/3}.ratio-45{aspect-ratio:4/5}.ratio-32{aspect-ratio:3/2}
.carte-service{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}
.carte-service .ornement{margin-top:10px}
.carte-service .lien-fleche{margin-top:auto}
.carte{display:flex;flex-direction:column;gap:12px;color:var(--encre);text-decoration:none}
.carte__titre{font-size:17px;line-height:1.35;transition:color .25s}
.carte:hover .carte__titre{color:var(--or-texte)}
.carte__date{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--or-texte)}
.carte--centre{align-items:center;text-align:center}
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.duo__texte{background:var(--fond-gris);padding:clamp(36px,4.4vw,64px);display:flex;flex-direction:column;justify-content:center;gap:16px}
.duo__texte--sombre{background:var(--encre);color:#E6E6E6}
.duo__image{position:relative;min-height:600px;overflow:hidden;background:#EDEDED}
.duo__image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.duo__image--contenir{background:#fff}
.duo__image--contenir img{object-fit:contain}
.duo--ombre{box-shadow:var(--ombre)}
.photo-encart{position:relative;overflow:hidden;background:#3A3A3A;padding-block:var(--espace)}
.photo-encart>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo-encart--voile::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(18,18,18,.82),rgba(18,18,18,.45))}
.photo-encart .conteneur{position:relative;z-index:2;display:flex}
.photo-encart--droite .conteneur{justify-content:flex-end}
.photo-encart--centre .conteneur{justify-content:center}
.encart{max-width:520px;padding:52px 48px;display:flex;flex-direction:column;gap:18px;background:rgba(32,32,32,.84);color:#E6E6E6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.encart--large{max-width:820px}
.encart--centre{align-items:center;text-align:center}
.encart-clair,.sur-sombre .encart-clair h2,.sur-sombre .encart-clair h3,.sur-sombre .encart-clair strong{color:var(--encre)}
.sur-sombre .encart-clair .lien-fleche{color:var(--encre)}
.sur-sombre .encart-clair .lien-fleche::after{background:var(--or-fonce)}
.sur-sombre .encart-clair p{color:var(--texte)}
.encart-clair{background:rgba(255,255,255,.95);box-shadow:0 18px 50px rgba(0,0,0,.12);padding:52px 44px;display:flex;flex-direction:column;gap:16px}
.appel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;align-items:center}
.chevauche{display:flex;flex-wrap:wrap;align-items:center}
.chevauche .encart-clair{position:relative;z-index:1;flex:1 1 380px;max-width:460px}
.chevauche__media{flex:2 1 560px}
.chevauche--gauche .encart-clair{margin-right:-120px}
.chevauche--droite{flex-wrap:wrap-reverse}
.chevauche--droite .encart-clair{margin-left:-120px}
.trio-sombre{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--encre);min-height:460px}
.trio-sombre__media{position:relative;min-height:320px;overflow:hidden}
.trio-sombre__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.trio-sombre__texte{padding:56px 48px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px}
.etapes{list-style:none;display:flex;flex-direction:column}
.etapes li{display:flex;gap:22px;padding:22px 0;border-bottom:1px solid var(--trait)}
.etapes li:last-child{border-bottom:none}
.etapes__num{flex:0 0 auto;font-size:30px;line-height:1;color:var(--or-fonce)}
.etapes h3{font-size:19px;margin-bottom:6px}
.cadre-rdv{width:100%;max-width:680px;margin-top:24px;padding:44px 40px;border:1px solid var(--trait);background:#fff;box-shadow:0 24px 60px rgba(0,0,0,.07);display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
.pastille-icone{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;border:1px solid var(--or-fonce);color:var(--or-texte)}
.video{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--fond-sombre)}
.video--ombre{box-shadow:0 30px 70px rgba(0,0,0,.14)}
.carte-geo{position:relative;display:block;overflow:hidden;width:100%;aspect-ratio:16/6;min-height:320px;background:#ECEAE5;border:0}
.carte-geo iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.35)}
.boutique-avis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));box-shadow:var(--ombre)}
.boutique-avis__vitrine{position:relative;display:flex;min-height:560px;color:var(--encre);text-decoration:none;overflow:hidden;background:#EDEDED}
.boutique-avis__vitrine>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.boutique-avis__vitrine:hover>img{transform:scale(1.04)}
.boutique-avis__texte{position:relative;display:flex;flex-direction:column;justify-content:center;gap:26px;max-width:330px;padding:56px 48px}
.boutique-avis__texte .btn{align-self:flex-start}
.encart-cours{width:100%;aspect-ratio:16/7;min-height:280px;border:1px solid var(--trait);background:#fff;box-shadow:0 24px 60px rgba(0,0,0,.06);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;color:var(--gris-texte);font-size:15px}

/* 9. Boutique et produit */
.boutique{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start}
.filtres{flex:1 1 260px;max-width:300px;display:flex;flex-direction:column;gap:30px}
.filtres--carte{background:#fff;padding:30px 26px}
.boutique__liste{flex:999 1 640px;min-width:0;display:flex;flex-direction:column;gap:32px}
.filtre-titre{display:flex;align-items:center;gap:12px;margin:0 0 12px;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--encre)}
.filtre-titre::after{content:"";flex:1 1 auto;height:1px;background:var(--trait)}
.liste-filtres{list-style:none;display:flex;flex-direction:column}
.liste-filtres a,.liste-filtres button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:0 14px;border:none;border-bottom:1px solid var(--trait-doux);background:none;font-size:16px;color:var(--texte);text-align:left;text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s}
.liste-filtres a:hover,.liste-filtres button:hover{background:#FAF8F3;color:var(--encre)}
.liste-filtres [aria-current="page"],.liste-filtres [aria-pressed="true"]{background:var(--encre);color:#fff}
.compte{font-size:13px;color:#666}
.liste-filtres [aria-current="page"] .compte,.liste-filtres [aria-pressed="true"] .compte{color:var(--or)}
.puces{display:flex;flex-wrap:wrap;gap:8px}
.puce{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid #D9D5CC;border-radius:999px;background:#fff;font-size:13px;letter-spacing:.06em;color:var(--texte);cursor:pointer;text-decoration:none}
.puce:hover{border-color:var(--encre);color:var(--encre)}
.puce[aria-pressed="true"]{background:var(--encre);border-color:var(--encre);color:#fff}
.filtres-repli>summary{cursor:pointer;list-style:none;margin:0}
.filtres-repli>summary::-webkit-details-marker{display:none}
.filtres-repli>summary::before{content:"+";font-size:18px;line-height:1;color:var(--or-fonce)}
.filtres-repli[open]>summary::before{content:"−"}
.filtres-corps{display:flex;flex-direction:column;gap:24px;padding-top:14px}
.facette{margin:0;padding:0;border:none;min-width:0}
.facette legend{width:100%;padding:0}
.puce .compte{margin-left:6px;font-size:12px;color:#6B665C}
.puce:has(input:checked){background:var(--encre);border-color:var(--encre);color:#fff}
.puce:has(input:checked) .compte{color:var(--or)}
.puce:has(input:focus-visible){outline:2px solid var(--or-fonce);outline-offset:2px}
[data-sans-js][hidden]{display:none}
.filtres-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;font-size:14px}
.filtres-actifs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px}
.filtres-actifs>span{letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:var(--encre)}
.puce--active{background:var(--encre);border-color:var(--encre);color:#fff}
.puce--active:hover{background:#000;color:var(--or)}
.barre-outils{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-block:1px solid var(--trait);font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--encre)}
.barre-outils label{display:flex;align-items:center;gap:12px;font-size:13px;letter-spacing:.14em}
.carte-produit{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;color:var(--encre);text-decoration:none}
.carte-produit .media-zoom{width:100%;aspect-ratio:1/1;background:#fff;border:1px solid var(--trait-doux)}
.carte-produit .media-zoom img{object-fit:contain}
.carte-produit__prix{color:var(--or-texte);letter-spacing:.04em}
.carte-produit:hover .carte__titre{color:var(--or-texte)}
.pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding-top:16px}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--trait);color:var(--encre);text-decoration:none}
.pagination a:hover{border-color:var(--encre)}
.pagination [aria-current="page"]{background:var(--encre);border-color:var(--encre);color:#fff}
.vitrine-rdv{position:relative;display:block;overflow:hidden;aspect-ratio:16/5;min-height:200px;background:#DDD;color:var(--encre);text-decoration:none}
.vitrine-rdv>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vitrine-rdv .encart-clair{position:absolute;left:32px;top:50%;transform:translateY(-50%);padding:28px 32px;max-width:320px}
.produit{display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start}
.produit__galerie{flex:1 1 480px;min-width:0;display:flex;flex-direction:column;gap:14px}
.produit__principale{aspect-ratio:1/1;background:#fff;border:1px solid var(--trait-doux);overflow:hidden}
.produit__principale img{width:100%;height:100%;object-fit:contain}
.produit__vignettes{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.produit__vignettes button{display:block;width:100%;padding:0;aspect-ratio:1/1;background:#fff;border:1px solid var(--trait);cursor:pointer;overflow:hidden}
.produit__vignettes button[aria-pressed="true"]{border-color:var(--or-fonce)}
.produit__vignettes img{width:100%;height:100%;object-fit:contain}
.produit__infos{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:18px}
.produit__infos h1{font-size:clamp(28px,2.6vw,36px);line-height:1.2;letter-spacing:.04em;text-transform:uppercase}
.prix{font-size:30px;color:var(--encre);letter-spacing:.02em}
.prix del{margin-left:12px;font-size:18px;color:#6A6A6A}
.stock{display:inline-flex;align-items:center;gap:8px;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.stock::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.stock--oui{color:#3D7A3A}.stock--non{color:var(--or-texte)}
.note-atelier{padding:16px 18px;background:var(--fond-gris);font-style:italic;font-size:15px;line-height:1.6}
.ajout-panier{display:flex;gap:12px}
.quantite{display:inline-flex;align-items:center;border:1px solid #D9D5CC}
.quantite button{width:46px;height:50px;border:none;background:#fff;font-size:18px;cursor:pointer}
.quantite input{width:44px;height:50px;border:none;text-align:center;-moz-appearance:textfield;appearance:textfield}
.quantite input::-webkit-outer-spin-button,.quantite input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ajout-panier .btn{flex:1 1 auto}
.accordeon{border-top:1px solid var(--trait)}
.accordeon details{border-bottom:1px solid var(--trait)}
.accordeon summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:0 4px;cursor:pointer;list-style:none;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--encre)}
.accordeon summary::-webkit-details-marker{display:none}
.accordeon summary::after{content:"+";font-size:22px;color:var(--or-fonce)}
.accordeon details[open] summary::after{content:"−"}
.accordeon details>div{padding:0 4px 20px;font-size:15px;display:flex;flex-direction:column;gap:6px}
.onglets{display:flex;flex-wrap:wrap;gap:4px 34px;border-bottom:1px solid var(--trait)}
.onglet{position:relative;min-height:52px;padding:0;border:none;background:none;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:#5C5C5C;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
.onglet::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--or-fonce);transform:scaleX(0);transition:transform .3s}
.onglet:hover{color:var(--encre)}
.onglet[aria-selected="true"],.onglet[aria-current="page"]{color:var(--encre)}
.onglet[aria-selected="true"]::after,.onglet[aria-current="page"]::after{transform:scaleX(1)}
.panneau{max-width:860px;padding-top:40px}
.tableau-infos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);border-top:1px solid var(--trait);margin:0}
.tableau-infos dt,.tableau-infos dd{margin:0;padding:14px 0;border-bottom:1px solid var(--trait)}
.tableau-infos dt{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--encre)}

/* 10. Diaporamas et avis */
.diaporama{position:relative;overflow:hidden;background:#F2F2F2}
.diaporama__diapo{position:absolute;inset:0}
.diaporama__diapo[hidden]{display:none}
.diaporama__diapo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.diaporama__diapo>img.contenir{object-fit:contain;left:auto;width:64%}
.diaporama .encart-clair{position:absolute;left:40px;top:50%;transform:translateY(-50%);width:40%;min-width:280px;padding:40px}
.diaporama .encart-clair--plein{left:0;top:0;bottom:0;transform:none;box-shadow:none;justify-content:center;width:38%}
.diaporama__nav{position:absolute;right:24px;bottom:24px;z-index:2;display:flex;gap:10px}
.diaporama--16-8{aspect-ratio:16/8;min-height:380px}
.diaporama--16-7{aspect-ratio:16/7;min-height:360px}
.diaporama--4-3{aspect-ratio:4/3}
.diaporama--blanc{background:#fff;border:1px solid var(--trait-doux)}
.fleche{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:1px solid rgba(38,38,38,.15);background:rgba(255,255,255,.92);color:var(--encre);cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.12);transition:background-color .25s,color .25s}
.fleche:hover{background:var(--encre);color:var(--or)}
.fleche--clair{background:transparent;color:#fff;border-color:rgba(255,255,255,.5);box-shadow:none}
.fleche--clair:hover{background:var(--or);border-color:var(--or);color:var(--encre)}
.points{display:flex;justify-content:center;align-items:center;gap:8px;padding-top:20px}
.point{position:relative;display:block;width:26px;height:22px;padding:0;border:0;background:none;cursor:pointer;transition:width .3s}
.point::after{content:"";position:absolute;left:0;right:0;top:10px;height:2px;background:#D2CDC2;transition:background-color .3s}
.point.est-actif{width:44px}
.point.est-actif::after{background:var(--or-fonce)}
.sur-sombre .point::after,.bandeau .point::after{background:rgba(255,255,255,.4)}
.sur-sombre .point.est-actif::after,.bandeau .point.est-actif::after{background:var(--or)}
.avis{background:var(--encre);color:#E6E6E6;display:flex;flex-direction:column;justify-content:center}
.avis__inner{width:100%;max-width:1180px;margin-inline:auto;padding:64px 36px;display:flex;flex-direction:column;gap:36px}
.avis__note{display:flex;align-items:center;gap:12px;font-size:15px;letter-spacing:.08em;color:#fff}
.etoiles{color:var(--or);letter-spacing:4px}
.avis__liste{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:24px}
.avis__carte{display:flex;flex-direction:column;gap:18px;padding:32px 30px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);margin:0}
.avis__carte[hidden]{display:none}
.avis__carte blockquote{margin:0;white-space:pre-line;font-size:16px;line-height:1.75;color:#EDEDED}
.avis__carte blockquote::before{content:"“";display:block;height:30px;font-size:64px;line-height:.6;color:var(--or)}
.avis__auteur{margin-top:auto;display:flex;align-items:center;gap:14px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}
.avis__initiale{flex:0 0 auto;width:46px;height:46px;border-radius:50%;border:1px solid var(--or);color:var(--or);display:inline-flex;align-items:center;justify-content:center;font-size:19px}
.avis__nom{display:block;color:#fff;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:14px;font-style:normal}
.avis__date{font-size:13px;color:#B8B8B8}
.avis__nav{display:flex;align-items:center;justify-content:center;gap:22px}
.avis__nav .points{padding:0;min-width:0;flex:0 1 auto}
.avis__nav .fleche{flex:none}
.avis__nav .point{flex:0 1 26px;min-width:6px}
.avis__nav .point.est-actif{flex-basis:44px;min-width:18px}

/* 11. Formulaires */
.champ{display:flex;flex-direction:column;gap:6px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--anthracite)}
.champ--large{grid-column:1/-1}
.saisie{width:100%;min-height:50px;padding:0 14px;border:1px solid #D9D5CC;border-radius:0;background:#fff;font-size:16px;letter-spacing:0;text-transform:none;color:var(--encre);transition:border-color .2s,box-shadow .2s}
textarea.saisie{min-height:140px;padding:12px 14px;resize:vertical}
.saisie:hover{border-color:#A9A39A}
.saisie:focus{outline:none;border-color:var(--or-fonce);box-shadow:0 0 0 3px rgba(238,202,98,.35)}
.formulaire{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.formulaire__pied{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.mention-form{font-size:13px;color:var(--gris-texte);letter-spacing:0;text-transform:none}
.piege{position:absolute;left:-9999px}
.horaires{display:grid;grid-template-columns:minmax(0,1fr) auto;margin:0;font-size:17px}
.horaires dt,.horaires dd{margin:0;padding:12px 0;border-bottom:1px solid #3C3C3C}
.horaires dd{text-align:right;color:#fff}
.horaires dd.horaires__ferme{color:#707070}
.horaires dt:last-of-type,.horaires dd:last-of-type{border-bottom:none}
.faq details{border-top:1px solid rgba(255,255,255,.22)}
.faq details:last-child{border-bottom:1px solid rgba(255,255,255,.22)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;cursor:pointer;list-style:none;font-size:19px;color:#fff}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:26px;line-height:1;color:var(--or);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details>div{padding-bottom:20px;font-size:16px;color:#E6E6E6}
.panier-ligne{display:grid;grid-template-columns:minmax(0,3fr) repeat(3,minmax(0,1fr));gap:12px;align-items:center;padding:22px 0;border-bottom:1px solid var(--trait)}
.panier-ligne--entete{padding:0 0 12px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#5C5C5C}
.recap{flex:1 1 320px;background:var(--fond-gris);padding:36px 32px;display:flex;flex-direction:column;gap:14px}
.recap__ligne{display:flex;justify-content:space-between;gap:12px}
.recap__total{padding-top:14px;border-top:1px solid #DCD7CC;font-size:20px;color:var(--encre)}

/* 12. Pied de page */
.pied-insta{padding-top:72px;text-align:center}
.pied-insta .entete-section{margin-bottom:36px}
.insta-vignette{display:block;aspect-ratio:1/1;overflow:hidden}
.insta-vignette img{width:100%;height:100%;object-fit:cover;transition:transform 1s,filter .4s}
.insta-vignette:hover img{transform:scale(1.06);filter:brightness(.8)}
.site-footer{background:var(--encre);color:#CFCFCF;font-size:15px;line-height:1.6}
.site-footer a{color:#CFCFCF;text-decoration:none}
.site-footer a:hover{color:var(--or)}
.site-footer strong{color:#fff}
.pied-colonnes{display:flex;flex-wrap:wrap;gap:56px 64px;padding-block:80px 48px}
.pied-colonnes>*{flex:1 1 200px}
.pied-colonnes .pied-apropos{flex:1 1 280px;max-width:340px;display:flex;flex-direction:column;gap:16px}
.pied-colonnes .pied-produits{flex:2 1 380px}
.pied-titre{display:block;margin:0 0 14px;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--or);font-weight:400}
.pied-liste{list-style:none;display:flex;flex-direction:column;gap:10px}
.pied-liste--2col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px;font-size:14px}
.pied-contact{font-style:normal;display:flex;flex-direction:column;gap:12px}
.pied-contact .tel{font-size:20px;color:#fff;letter-spacing:.06em}
.reseau{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #5A5A5A;color:#fff!important;transition:all .25s}
.reseau:hover{border-color:var(--or);background:var(--or);color:var(--encre)!important}
.pied-communes{padding-block:24px 32px;border-top:1px solid #3C3C3C;font-size:14px;color:#9A9A9A}
.pied-legal{background:#1C1C1C;font-size:13px;letter-spacing:.04em}
.pied-legal .conteneur{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 28px;padding-block:18px}
.pied-legal ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px 24px}

.pied-legal .lien-bouton{font-size:13px;letter-spacing:.04em;color:inherit;text-decoration:none}
.pied-legal .lien-bouton:hover{color:var(--or);text-decoration:underline}

/* Bannière de consentement aux cookies (consentement.js) */
.consentement{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;display:flex;justify-content:center;pointer-events:none}
.consentement[hidden],.consentement [hidden]{display:none!important}
.consentement__boite{pointer-events:auto;width:100%;max-width:760px;max-height:calc(100vh - 32px);overflow:auto;padding:24px 26px;background:#fff;color:var(--texte);border:1px solid var(--trait);box-shadow:var(--ombre);font-size:15px;line-height:1.6}
.consentement__titre{margin:0 0 8px;font-size:18px;line-height:1.3;color:var(--encre);letter-spacing:.04em}
.consentement__titre:focus{outline:none}
.consentement__texte a{color:var(--or-texte)}
.consentement__choix{display:grid;gap:10px;margin-top:14px}
.consentement__option{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--trait-doux);background:var(--fond-gris);cursor:pointer}
.consentement__option input{margin-top:6px;width:18px;height:18px;flex:none;accent-color:var(--encre)}
.consentement__boutons{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.consentement__boutons .btn{flex:1 1 160px;padding:0 16px;letter-spacing:.1em}
@media (max-width:600px){.consentement{left:8px;right:8px;bottom:8px}.consentement__boite{padding:18px 16px}.consentement__boutons .btn{flex-basis:100%}}

/* 13. Responsive */
@media (max-width:980px){
  :root{--entete:190px}
  .grille--3,.grille--4,.grille--5,.grille--galerie{grid-template-columns:repeat(2,minmax(0,1fr))}
  .burger{display:inline-flex}
  .masque-mobile{display:none!important}
  .site-header .nav-principale{display:none}
  .site-header.menu-ouvert{background:rgba(24,24,24,.97)}
  .site-header.menu-ouvert .nav-principale{display:block}
  .nav-principale ul{flex-direction:column;gap:0}
  .nav-principale a{justify-content:center;width:100%;border-bottom:1px solid rgba(255,255,255,.12)}
  .logo img,.site-header--accueil .logo img{height:76px}
  .bandeau--accueil{padding-top:170px;min-height:720px}
  .chevauche .encart-clair{margin:0!important;max-width:none}
  .trio-sombre{grid-template-columns:1fr}
  .duo,.boutique-avis,.appel{grid-template-columns:minmax(0,1fr)}
  .duo__image{min-height:380px}
  .duo--inverse .duo__image{order:-1}
}
@media (max-width:700px){
  :root{--entete:165px}
  body{font-size:16px}
  .grille--2,.grille--3{grid-template-columns:1fr}
  .barre-infos .conteneur{justify-content:center;text-align:center}
  .barre-infos__horaires{display:none!important}
  .encart{padding:36px 26px}
  .diaporama{aspect-ratio:auto;min-height:0}
  .diaporama__diapo{position:relative}
  .diaporama__diapo>img,.diaporama__diapo>img.contenir{position:relative;width:100%;aspect-ratio:4/3}
  .diaporama .encart-clair,.diaporama .encart-clair--plein{position:relative;left:auto;top:auto;transform:none;width:auto;min-width:0}
  .diaporama__nav{position:static;justify-content:center;padding:16px}
  .formulaire{grid-template-columns:1fr}
  .panier-ligne{grid-template-columns:repeat(3,minmax(0,1fr))}
  .panier-ligne>:first-child{grid-column:1/-1}
  .panier-ligne--entete>:first-child{display:none}
  .pied-liste--2col{grid-template-columns:1fr}
  .vitrine-rdv .encart-clair{left:16px;right:16px;max-width:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{.site-header,.site-footer,.pied-insta,.diaporama__nav,.avis__nav{display:none}.bandeau{padding-top:0;background:none;color:#000}.bandeau::after,.bandeau__fond{display:none}.bandeau h1{color:#000}}

/* Calendrier de rendez-vous (aperçu) */
.calendrier{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}
.calendrier span{color:#666;font-size:13px}
.calendrier button{height:38px;border:none;border-radius:50%;background:#F4EBCF;color:var(--encre);cursor:pointer;font-size:14px}
.calendrier button:hover{background:var(--or)}
.calendrier button[disabled]{background:transparent;color:#B5B5B5;cursor:default}
.calendrier button[aria-pressed="true"]{background:var(--encre);color:var(--or)}

/* 14. Ajustements de mise en page
   Réglages ponctuels des gabarits (aucun style en ligne dans le HTML).
   Placés en dernier : ils priment sur les règles générales. */
.pleine-largeur{width:100%}
.pt-espace{padding-top:var(--espace)}
.pb-espace{padding-bottom:var(--espace)}
.pt-14{padding-top:14px}.pt-40{padding-top:40px}.pt-44{padding-top:44px}.pt-48{padding-top:48px}.pt-88{padding-top:88px}
.mt-14{margin-top:14px}.mb-28{margin-bottom:28px}
.espaceur{height:var(--espace)}
.ecart-22{gap:22px}.ecart-26{gap:26px}.ecart-28{gap:28px}.ecart-32{gap:32px}.ecart-36{gap:36px}.ecart-48{gap:48px}
.lmax-620{max-width:620px}.lmax-720{max-width:720px}.lmax-760{max-width:760px}.lmax-780{max-width:780px}.lmax-820{max-width:820px}.lmax-860{max-width:860px}.lmax-1148{max-width:1148px}
.hmin-460{min-height:460px}.hmin-520{min-height:520px}.hmin-580{min-height:580px}.hmin-640{min-height:640px}.hmin-660{min-height:660px}
.texte-or{color:var(--or-texte)}.sur-sombre .texte-or,.bandeau .texte-or{color:var(--or)}.texte-or-fonce{color:var(--or-texte)}.texte-encre{color:var(--encre)}.texte-blanc{color:#fff}
.texte-courant{color:var(--texte)}.texte-gris{color:var(--gris-texte)}.texte-gris-clair{color:#5C5C5C}.texte-discret{color:#6E6E6E}
.texte-centre{text-align:center}
.taille-14{font-size:14px}.taille-15{font-size:15px}
.fond-blanc{background:#fff}
.liste-nue{list-style:none}
.adresse{font-style:normal}
.aligne-haut{align-items:start}.aligne-debut{align-items:flex-start}
.titre--moyen{font-size:clamp(24px,2.2vw,30px)}
.sous-titre--carte{font-size:22px;padding-top:8px}
.sous-titre--21{font-size:21px}.sous-titre--20{font-size:20px}
.entete-section--serree{margin:0}
.entete-section--decalee{margin:64px 0 0}
.grille--aeree{gap:64px 36px}
.grille--creations{gap:36px 24px}
.grille--centree{align-items:center;gap:56px}
.cadre-carre{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:40px}
.cadre-carre__image{mix-blend-mode:multiply;max-width:440px;width:100%}
.carte--ligne{flex-direction:row;align-items:center;gap:14px}
.miniature{width:64px;height:64px;flex:0 0 auto}
.article__photo{margin:16px 0 28px;background:var(--fond-gris);padding:24px}
.article__image{mix-blend-mode:multiply;width:100%;aspect-ratio:1/1;object-fit:contain}
.article__rdv{margin-top:40px;padding:40px;background:var(--encre);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.article__rdv-texte{font-size:24px;line-height:1.3;color:#fff}
.article__voisins{justify-content:space-between;padding-top:24px}
.contact__tel{font-size:clamp(36px,3.4vw,50px);line-height:1.1;color:#fff;text-decoration:none;letter-spacing:.04em}
.contact__adresse{font-size:22px;line-height:1.4;color:#fff;text-decoration:none}
.contact__note{font-size:15px;color:#B8B8B8}
.duo--carte{width:100%;max-width:820px;background:#fff;box-shadow:0 24px 60px rgba(0,0,0,.07);text-align:left}
.duo--carte__infos{padding:36px;border-right:1px solid var(--trait-doux);font-size:15px}
.duo--carte__calendrier{padding:32px;font-size:14px}
.pt-36{padding-top:36px}
.ecart-24{gap:24px}
.bandeau__titre{color:#fff;font-size:clamp(36px,4.2vw,62px)}
.grille--categories{gap:40px 28px}
.grille--centree-large{gap:64px;align-items:center}
.grille--produits{gap:48px 28px}
.tuile-categorie__image{width:100%;background:#fff;border:1px solid var(--trait-doux)}
.carte__titre--categorie{font-size:19px}
.chapo--boutique{text-align:center;font-size:19px}
.saisie--tri{width:auto;min-height:44px}
.formulaire__retour{padding:14px 18px;font-size:15px;line-height:1.5;border-left:3px solid}
.formulaire__retour--ok{background:#F2F7EF;border-color:#5C8A3C;color:#2F4A1C}
.formulaire__retour--erreur{background:#FBF0EE;border-color:#B0412E;color:#6E2416}
/* Vente en ligne : panier, commande, espace client */
.icone-btn--panier{position:relative}
.pastille-panier{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--or);color:var(--encre);font-size:11px;line-height:18px;text-align:center;font-weight:700}
.panier-produit{display:flex;align-items:center;gap:18px}
.panier-produit__image{flex:0 0 96px}
.panier-produit__image img{width:96px;height:96px;object-fit:contain;border:1px solid var(--trait-doux);background:#fff}
.lien-bouton{padding:0;border:none;background:none;font:inherit;font-size:14px;color:var(--gris-texte);text-decoration:underline;cursor:pointer;text-align:left}
.lien-bouton:hover{color:var(--or-texte)}
.saisie--quantite{width:84px}
.choix-livraison{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;border:none}
.choix-livraison legend{margin-bottom:12px}
.choix{display:flex;align-items:flex-start;gap:12px;cursor:pointer}
.choix input{margin-top:5px;accent-color:var(--encre)}
.choix-livraison .choix{padding:16px 18px;border:1px solid var(--trait)}
.encart-info{margin-bottom:28px;padding:14px 18px;background:var(--fond-gris);font-size:15px}
.fond-gris-encart{background:var(--fond-gris);padding:32px}
[data-adresse][hidden],[data-mot-de-passe][hidden]{display:none}
.tableau-recap{width:100%;border-collapse:collapse;font-size:15px;margin-bottom:18px}
.tableau-recap td{padding:12px 6px;border-bottom:1px solid #DCD7CC;vertical-align:top}
.tableau-recap small{color:var(--gris-texte);font-size:13px}
.tableau-recap__qte{text-align:center;white-space:nowrap}
.tableau-recap__prix{text-align:right;white-space:nowrap}
.tableau-recap__total td{border-bottom:none;color:var(--encre)}

/* 14. Éditeur de blocs (socle 2.2) : l'enveloppe .msb des blocs du site ne
   change rien à la mise en page (marges, fond et couleurs viennent des sections). */
.msb[class*="msb--maupas-"]{padding-block:0;background:none;color:inherit}
.msb img.bandeau__fond{height:100%}
.msb img.cadre-carre__image{max-width:440px}
/* Espace client : messages avec l'atelier */
.fil-messages{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.fil-message{max-width:88%;padding:14px 18px;border:1px solid var(--trait);background:#fff}
.fil-message--atelier{background:#FAF8F3;border-left:3px solid var(--or-fonce)}
.fil-message--client{margin-left:auto;background:var(--fond-gris)}
.fil-message__tete{margin:0 0 6px;font-size:14px;color:var(--gris-texte)}
.fil-message__tete strong{color:var(--encre)}
.fil-message__texte{font-size:16px;line-height:1.6;overflow-wrap:anywhere}
.fil-message__pieces{margin:8px 0 0;font-size:14px;color:var(--gris-texte)}
.pastille-messages{flex:none;padding:2px 8px;background:var(--or);color:var(--encre);font-size:12px;letter-spacing:.02em}
.messages-commande{margin-top:16px;padding-top:24px;border-top:1px solid var(--trait)}
@media (max-width:700px){.fil-message{max-width:100%}}
.boutique.est-chargement .boutique__liste{opacity:.45;transition:opacity .2s}
.boutique.est-chargement{cursor:progress}
/* En-tête réduit et fixe pendant le défilement */
html{scroll-padding-top:120px}
.site-header.est-fixe{position:fixed;inset:0 0 auto;background:rgba(24,24,24,.97);box-shadow:0 2px 18px rgba(0,0,0,.25);animation:entete-arrivee .3s ease-out}
.site-header.est-fixe .barre-infos{display:none}
.site-header.est-fixe .entete-principal{padding-top:6px;padding-bottom:0}
.site-header.est-fixe .logo img{height:50px}
.site-header.est-fixe .nav-principale{padding-bottom:2px}
.site-header.est-fixe .nav-principale a{min-height:38px}
.site-header.est-fixe .nav-principale a::after{bottom:4px}
@keyframes entete-arrivee{from{transform:translateY(-100%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.site-header.est-fixe{animation:none}}
@media (max-width:980px){
  .site-header.est-fixe .entete-principal{padding:6px 16px}
  .site-header.est-fixe .logo img{height:44px}
  .site-header.est-fixe.menu-ouvert .nav-principale{max-height:calc(100vh - 60px);overflow-y:auto}
}
.site-header.est-fixe .entete-principal .btn--petit{padding:9px 18px;min-height:0;font-size:12px}
/* « Lire la suite » : texte caché qui se déplie (blocs, champ « suite ») */
.lire-suite{margin-top:2px}
.lire-suite>summary{display:inline-block;list-style:none;cursor:pointer}
.lire-suite>summary::-webkit-details-marker{display:none}
.lire-suite>summary .lien-fleche{pointer-events:none}
.lire-suite>summary svg{transition:transform .25s}
.lire-suite__moins{display:none}
.lire-suite[open] .lire-suite__plus{display:none}
.lire-suite[open] .lire-suite__moins{display:inline}
.lire-suite[open]>summary svg{transform:rotate(180deg)}
.lire-suite>summary:focus-visible{outline:2px solid var(--or);outline-offset:4px}
.lire-suite__texte{margin-top:18px;text-align:left}
.lire-suite__texte h3{font-size:20px;margin:18px 0 8px}
.lire-suite__texte p{margin:0 0 12px}
.pied-reseaux{display:flex;flex-wrap:wrap;gap:10px}
/* Bouton « remonter en haut » */
.haut-de-page{position:fixed;right:20px;bottom:20px;z-index:30;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid var(--or-fonce);border-radius:50%;background:rgba(24,24,24,.9);color:var(--or);cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.2);transition:background .25s,color .25s}
.haut-de-page:hover{background:var(--or);color:var(--encre)}
.haut-de-page[hidden]{display:none}
@media print{.haut-de-page{display:none}}
/* Défilement automatique : bouton pause */
.fleche--pause{width:40px;height:40px;align-self:center}
.duo__image>.fleche--pause,.fondu>.fleche--pause{position:absolute;right:16px;bottom:16px;z-index:2}
/* Photos en fondu (bloc « Texte et photo ») */
.fondu img{transition:opacity 1.2s ease}
.fondu img:not(:first-child){opacity:0}
.fondu.est-pret img{opacity:0}
.fondu.est-pret img.est-actif{opacity:1}
/* Diaporama des articles */
.article__photo--galerie{padding:0;background:none}
.diaporama--article{aspect-ratio:1/1;background:var(--fond-gris)}
.diaporama--article .diaporama__diapo>img{object-fit:contain;padding:24px;mix-blend-mode:multiply}
.article__photo .points{padding-top:14px}
/* Visionneuse (agrandissement des photos) */
[data-visionneuse] .produit__principale,[data-visionneuse] .diaporama,.article__photo{position:relative}
[data-visionneuse] img{cursor:zoom-in}
.visionneuse-ouvrir{position:absolute;top:14px;right:14px;z-index:3;width:42px;height:42px}
.visionneuse{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(15,15,15,.94);color:#fff}
.visionneuse::backdrop{background:rgba(0,0,0,.6)}
.visionneuse[open]{display:flex;align-items:center;justify-content:center}
.visionneuse__cadre{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:min(92vw,1400px)}
.visionneuse__cadre img{max-width:100%;max-height:84vh;width:auto;height:auto;object-fit:contain;background:#fff;cursor:default;user-select:none}
.visionneuse__compte{font-size:14px;letter-spacing:.14em;color:#ddd}
.visionneuse__prec,.visionneuse__suiv{position:absolute;top:50%;transform:translateY(-50%)}
.visionneuse__prec{left:20px}.visionneuse__suiv{right:20px}
.visionneuse__fermer{position:absolute;top:20px;right:20px}
html.visionneuse-ouverte{overflow:hidden}
@media (max-width:700px){.visionneuse__prec{left:6px}.visionneuse__suiv{right:6px}}
.media-zoom.fondu img{position:absolute;inset:0}
/* Avis clients, présentation inspirée des avis Google (fond clair, étoiles jaunes) */
.avis.avis-g{background:#F5F5F5;color:#202124}
.avis-g .avis__inner{gap:28px}
.avis-g__entete{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.avis-g__entete .titre{color:var(--encre)}
.avis-g__resume{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 16px;padding:14px 22px;background:#fff;border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.12),0 4px 14px rgba(0,0,0,.06)}
.avis-g__mention{font-size:18px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#202124}
.avis-g__base{font-size:15px;color:#3C4043}
.avis-g__source{font-weight:700;color:#1A73E8;letter-spacing:.02em}
.avis-g__lien{font-size:14px;color:#1A73E8;text-decoration:underline}
.avis-g__etoiles{color:#FBBC04;font-size:18px;letter-spacing:2px;line-height:1}
.avis-g__etoiles--grandes{font-size:24px}
.avis-g__vide{color:#DADCE0}
.avis-g .avis__carte{gap:12px;padding:22px 22px 24px;border:0;border-radius:10px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12),0 4px 14px rgba(0,0,0,.06)}
.avis-g .avis__carte blockquote::before{content:none}
.avis-g__auteur{display:flex;align-items:center;gap:12px}
.avis-g__initiale{flex:none;width:42px;height:42px;border-radius:50%;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}
.avis-g__qui{display:flex;flex-direction:column;min-width:0;flex:1}
.avis-g__nom{font-style:normal;font-weight:700;font-size:15px;color:#202124}
.avis-g__date{font-size:13px;color:#5F6368}
.avis-g__auteur .avis-g__source{font-size:13px;align-self:flex-start}
.avis-g__texte{margin:0;font-size:15px;line-height:1.65;color:#3C4043;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}
.avis-g .avis__nav .point{color:#5F6368}
.boutique-avis .avis.avis-g{background:#F5F5F5}
/* Agenda Calendly intégré (bloc « Prise de rendez-vous ») et fenêtre de rendez-vous */
.calendly-integre{width:100%;min-height:700px;background:#fff;border:1px solid var(--trait)}
.calendly-integre iframe{display:block;width:100%;height:700px;border:0}
.duo--carte__calendrier{display:flex;flex-direction:column;gap:10px}
.fenetre-rdv{width:min(1000px,96vw);height:min(860px,94vh);max-width:none;max-height:none;padding:0;border:0;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.fenetre-rdv[open]{display:flex;flex-direction:column}
.fenetre-rdv::backdrop{background:rgba(15,15,15,.7)}
.fenetre-rdv__tete{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px 10px 22px;border-bottom:1px solid var(--trait)}
.fenetre-rdv iframe{flex:1;width:100%;border:0}
.fenetre-rdv__pied{margin:0;padding:8px 22px;font-size:13px;border-top:1px solid var(--trait)}
@media (min-width:981px){.duo--carte:has(.calendly-integre){max-width:1120px;grid-template-columns:minmax(0,280px) minmax(0,1fr)}}
.duo--carte:has(.calendly-integre) .duo--carte__calendrier{padding:16px}
.avis-g .avis__carte blockquote{color:#3C4043}
/* Cours de l'or */
.cours-or{width:100%;display:flex;flex-direction:column;gap:18px}
.cours-or__table{width:100%;max-width:560px;margin:0 auto;border-collapse:collapse;background:#fff;box-shadow:0 16px 40px rgba(0,0,0,.06);font-size:16px}
.cours-or__table caption{caption-side:top;padding:0 0 10px;font-size:14px;color:var(--gris-texte)}
.cours-or__table th,.cours-or__table td{padding:12px 18px;border-bottom:1px solid var(--trait-doux);text-align:left}
.cours-or__table thead th{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--encre);background:var(--fond-gris)}
.cours-or__table td{text-align:right;font-weight:700;color:var(--encre);font-variant-numeric:tabular-nums}
.cours-or__graphique{width:100%;height:440px;border:1px solid var(--trait);background:#fff}
.cours-or__graphique iframe{width:100%;height:100%;border:0;display:block}
@media (max-width:700px){.cours-or__graphique{height:340px}}
