/* Inter — SIL Open Font License 1.1 (rsms.me/inter), hébergée sur le site */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/inter-400.woff") format("woff")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/inter-500.woff") format("woff")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/inter-600.woff") format("woff")}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/inter-700.woff") format("woff")}
/* Maurel Menuiserie — feuille de style v3 (grandes tuiles, esprit vitrine produit) */
:root{
  --noir:#1F2633;        /* texte : gris bleuté foncé, pas de noir */
  --gris:#6E6E73;
  --gris-clair:#86868B;
  --fond:#F5F5F7;
  --trait:#D2D2D7;
  --bleu:#002E79;        /* bleu du logo Maurel */
  --bleu-2:#0A47A8;
  --lien:#0A4FBF;
  --or:#C79A3B;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  --marge:clamp(1rem,4vw,2.75rem);
  --large:1180px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--noir);font:400 1.0625rem/1.5 var(--sans);letter-spacing:-.011em;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
strong{font-weight:600}
:focus-visible{outline:3px solid var(--lien);outline-offset:3px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saut{position:absolute;left:1rem;top:-4rem;background:var(--bleu);color:#fff;padding:.6rem 1rem;z-index:100;border-radius:8px}
.saut:focus{top:1rem}

h1,h2,h3{font-weight:600;line-height:1.07;margin:0 0 .3em;letter-spacing:-.025em;color:var(--bleu)}
h1{font-size:clamp(2.6rem,6vw,4.75rem)}
h2{font-size:clamp(2.1rem,4.6vw,3.5rem)}
h3{font-size:clamp(1.5rem,2.4vw,2rem)}
p{margin:0 0 1em;max-width:62ch}
.chapo,.sous-titre{font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.25;font-weight:400;color:var(--noir);letter-spacing:-.015em}
.centre{text-align:center}
.centre p,.centre .chapo{margin-inline:auto}

/* Navigation globale : fine, translucide */
.entete{position:sticky;top:0;z-index:50;background:rgba(251,251,253,.82);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.08)}
.entete-in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;max-width:var(--large);margin:0 auto;padding:0 var(--marge);height:56px}
.marque{display:block;flex:none}
.marque img{height:38px;width:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.2rem)}
.nav a{text-decoration:none;font-size:.82rem;color:#3A4250}
.nav a:hover,.nav a[aria-current="page"]{color:var(--bleu)}
.nav a[aria-current="page"]{font-weight:600}
.outils{display:flex;align-items:center;gap:1rem}
.outils a{display:inline-flex;text-decoration:none;color:#3A4250}
.outils svg{width:17px;height:17px;fill:currentColor}
.outils .tel{font-size:.82rem}
.outils .btn-nav{font-size:.8rem;background:var(--bleu);color:#fff;padding:.32rem .8rem;border-radius:999px}
.outils .btn-nav:hover{background:var(--bleu-2)}
.burger{display:none;background:none;border:0;font:500 .9rem var(--sans);color:var(--noir);cursor:pointer;padding:.4rem}
@media (max-width:980px){
  .outils .tel,.outils a[aria-label]{display:none}
  .burger{display:block;order:3}
  .nav{position:fixed;inset:56px 0 0;background:#fff;display:none;padding:2rem var(--marge);overflow:auto}
  .nav.ouverte{display:block}
  .nav ul{flex-direction:column;align-items:flex-start;gap:1.2rem}
  .nav a{font-size:1.75rem;font-weight:600;color:var(--noir)}
}

/* Bandeau d'information */
.bandeau-info{max-width:none;margin:0;background:var(--fond);text-align:center;font-size:.9rem;padding:.8rem var(--marge);color:var(--noir)}
.bandeau-info a{color:var(--lien);text-decoration:none}
.bandeau-info a:hover{text-decoration:underline}

/* Boutons « pilule » */
.btn{display:inline-flex;align-items:center;justify-content:center;font:400 1.0625rem var(--sans);letter-spacing:-.01em;text-decoration:none;padding:.72rem 1.4rem;border-radius:999px;background:var(--bleu);color:#fff;border:1px solid var(--bleu);cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:var(--bleu-2);border-color:var(--bleu-2)}
.btn.contour{background:transparent;color:var(--bleu);border-color:var(--bleu)}
.btn.contour:hover{background:var(--bleu);color:#fff}
.bleue .btn.contour{color:#fff;border-color:#fff}
.bleue .btn.contour:hover{background:#fff;color:var(--bleu)}
.btn.clair{background:#fff;color:var(--bleu);border-color:#fff}
.btn.clair:hover{background:#E8EEF8}
.btn.petit{padding:.5rem 1rem;font-size:.92rem}
.actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.4rem}
.centre .actions{justify-content:center}
.lien{color:var(--lien);text-decoration:none;font-size:1.0625rem}
.lien::after{content:" ›"}
.lien:hover{text-decoration:underline}

/* Grandes tuiles héros (pleine largeur) */
.tuile{position:relative;overflow:hidden;text-align:center;padding-top:clamp(3rem,6vw,3.6rem);background:#fff}
.tuile+.tuile{margin-top:12px}
.tuile.grise{background:var(--fond)}
.tuile.bleue{background:var(--bleu);color:#fff}
.tuile.bleue h1,.tuile.bleue h2{color:#fff}
.tuile.bleue .chapo,.tuile.bleue .sous-titre{color:#E3EAF7}
.tuile .surtitre{font-size:1.05rem;font-weight:600;color:var(--gris);margin:0 auto .4rem}
.tuile.bleue .surtitre{color:#B9CBEA}
.tuile.bleue .lien{color:#fff}
.tuile .sous-titre{margin:0 auto}
.tuile .actions{justify-content:center;margin-top:1.3rem}
.tuile-visuel{margin-top:clamp(1.5rem,3vw,2.5rem)}
.tuile-visuel img{width:100%;height:clamp(320px,52vw,640px);object-fit:cover}
.tuile-visuel.contenu img{width:min(1100px,92%);height:auto;margin:0 auto}

/* Porte 3D, présentée comme un produit */
.porte3d{position:relative;height:clamp(420px,62vh,660px);width:100%;margin-top:.5rem}
.porte3d canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}
.porte3d canvas:active{cursor:grabbing}
/* plus d'image de secours */ .porte3d .secours-inutile{position:absolute;inset:0;margin:auto;height:100%;width:auto;object-fit:contain;transition:opacity .6s}
.porte3d.pret .secours{opacity:0;pointer-events:none}
.porte3d-barre{position:absolute;left:0;right:0;bottom:1.2rem;display:flex;justify-content:center;align-items:center;gap:1rem;pointer-events:none}
.porte3d-barre>*{pointer-events:auto}
.porte3d-aide{font-size:.85rem;color:var(--gris)}
.porte3d:not(.pret) .porte3d-barre,.porte3d:not(.pret) .porte3d-etiquettes{display:none}
.porte3d{height:clamp(440px,64vh,680px)}
.porte3d-barre{bottom:.6rem}

/* Bande de portes anciennes dans une tuile */
.rangee-portes{display:flex;justify-content:center;align-items:flex-end;gap:clamp(.5rem,1.5vw,1.2rem);padding:0 var(--marge) clamp(2.5rem,5vw,3.5rem);margin-top:2.2rem}
.rangee-portes img{width:clamp(70px,13vw,170px);aspect-ratio:3/4.4;object-fit:cover;border-radius:6px;box-shadow:0 18px 30px -18px rgba(0,0,0,.45)}
.rangee-portes img:nth-child(odd){transform:translateY(-14px)}
@media (max-width:640px){.rangee-portes img:nth-child(n+5){display:none}}

/* Grille de tuiles 2 colonnes */
.grille-tuiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px}
.grille-tuiles .tuile,.grille-tuiles .tuile.grise,.grille-tuiles .tuile.bleue{background:#fff;color:var(--noir)}
.grille-tuiles .tuile.bleue h2{color:var(--bleu)}
.grille-tuiles .tuile.bleue .sous-titre{color:var(--noir)}
.grille-tuiles .tuile.bleue .lien{color:var(--lien)}
.grille-tuiles .tuile{margin:0;min-height:clamp(520px,48vw,640px);display:flex;flex-direction:column;padding-inline:var(--marge)}
.grille-tuiles h2{font-size:clamp(2rem,3.4vw,2.6rem)}
.grille-tuiles .sous-titre{font-size:clamp(1.1rem,1.6vw,1.3rem);max-width:30ch}
.grille-tuiles .tuile-visuel{margin-top:auto;margin-inline:calc(var(--marge)*-1);padding-top:1.8rem}
.grille-tuiles .tuile-visuel img{height:clamp(260px,25vw,340px)}
.note-geante{font-size:clamp(4.5rem,9vw,7rem);font-weight:600;letter-spacing:-.04em;line-height:1;margin:auto 0 .2rem;color:var(--bleu)}
.note-geante+.etoiles{font-size:1.6rem;margin-bottom:auto}
@media (max-width:820px){.grille-tuiles{grid-template-columns:1fr}}

/* Carrousel des réalisations */
.carrousel-section{padding:clamp(3.5rem,7vw,5.5rem) 0 clamp(3rem,6vw,5rem)}
.carrousel-section h2{padding:0 var(--marge);max-width:var(--large);margin:0 auto .9em}
.carrousel{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(260px,34vw,440px);gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(var(--marge),calc((100vw - var(--large))/2)) 1.4rem;scrollbar-width:none}
.carrousel::-webkit-scrollbar{display:none}
.carrousel figure{margin:0;scroll-snap-align:start;scroll-margin-left:max(var(--marge),calc((100vw - var(--large))/2))}
.carrousel button{all:unset;cursor:zoom-in;display:block;border-radius:18px;overflow:hidden;width:100%}
.carrousel button:focus-visible{outline:3px solid var(--lien);outline-offset:2px}
.carrousel img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .5s}
.carrousel button:hover img{transform:scale(1.03)}
.carrousel figcaption{font-size:.95rem;color:var(--gris);margin-top:.7rem;padding-inline:.2rem}
.carrousel figcaption b{display:block;color:var(--bleu);font-weight:600;font-size:1.05rem}
.carrousel-nav{display:flex;justify-content:flex-end;gap:.6rem;max-width:var(--large);margin:0 auto;padding:0 var(--marge)}
.carrousel-nav button{width:36px;height:36px;border-radius:50%;border:0;background:#E8E8ED;color:var(--noir);font-size:1.2rem;cursor:pointer}
.carrousel-nav button:hover{background:#DCDCE1}

/* Avis (cartes) */
.avis-section{background:var(--fond);padding:clamp(3.5rem,7vw,5.5rem) var(--marge)}
.avis-tete{max-width:var(--large);margin:0 auto 2rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem}
.avis-tete h2{margin:0}
.note-globale{display:flex;align-items:center;gap:.7rem}
.note-globale .chiffre{font-size:2.4rem;font-weight:600;letter-spacing:-.03em;line-height:1}
.etoiles{color:var(--or);letter-spacing:.08em}
.liste-avis{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;max-width:var(--large);margin:0 auto}
.un-avis{margin:0;background:#fff;border-radius:18px;padding:1.6rem}
.un-avis p{font-size:1rem;margin:.6rem 0 1rem;color:#3A4250}
.un-avis footer{font-size:.92rem;font-weight:600}
.avis-bas{max-width:var(--large);margin:1.8rem auto 0}

/* Appel final */
.section{padding:clamp(4rem,8vw,7rem) var(--marge)}
.section.grise{background:var(--fond)}
.section.bleue{background:var(--bleu);color:#fff}
.section.bleue h2{color:#fff}
.section.bleue p{color:#DDE6F6}
.appel{max-width:var(--large);margin:0 auto;text-align:center}
.appel .chapo{color:#DDE6F6;margin-inline:auto}
.coord{list-style:none;padding:0;margin:2.2rem auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2.5rem}
.coord b{display:block;font-size:.8rem;font-weight:500;opacity:.75}
.coord a{text-decoration:none}
.coord a:hover{text-decoration:underline}
.section:not(.bleue) .coord{display:grid;gap:1.1rem;margin:0;justify-content:start}

/* Pages intérieures */
.page-tete{text-align:center;padding:clamp(3.5rem,8vw,6rem) var(--marge) clamp(2rem,4vw,3rem)}
.page-tete h1{font-size:clamp(2.8rem,7vw,5.2rem)}
.page-tete .chapo{margin:0 auto;max-width:34ch}
.photo-large{margin:0 auto;max-width:1440px;padding:0 12px}
.photo-large img{width:100%;max-height:78vh;object-fit:cover;border-radius:18px}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;max-width:var(--large);margin:0 auto}
.duo+.duo{margin-top:clamp(4rem,8vw,6.5rem)}
.duo.inverse .duo-img{order:2}
.duo-img{margin:0}
.duo-img img{width:100%;border-radius:18px}
.duo-img figcaption{font-size:.88rem;color:var(--gris);margin-top:.6rem}
.duo h2{font-size:clamp(1.9rem,3.6vw,2.8rem)}
.duo p{color:#3A4250}
@media (max-width:860px){.duo{grid-template-columns:1fr}.duo.inverse .duo-img{order:0}}
.etapes{list-style:none;padding:0;margin:1.4rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem}
.etapes li{background:var(--fond);border-radius:999px;padding:.35rem .95rem;font-size:.92rem}
.titre-section{text-align:center;margin-bottom:clamp(2rem,5vw,3rem)}

/* Page prestations */
.presta{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;max-width:var(--large);margin:0 auto;padding-block:clamp(2.5rem,5vw,4rem)}
.presta:nth-child(even) .p-img{order:2}
.presta .p-img img{aspect-ratio:4/5;object-fit:cover;width:100%;border-radius:18px}
.presta p{color:#3A4250}
@media (max-width:860px){.presta{grid-template-columns:1fr}.presta:nth-child(even) .p-img{order:0}}

/* Réalisations */
.categorie{max-width:var(--large);margin:0 auto;padding-block:clamp(2.5rem,6vw,4.5rem)}
.categorie:first-child{padding-top:0}
.categorie-tete{text-align:center;margin-bottom:2.2rem}
.categorie-tete p{margin-inline:auto;color:#3A4250}
.galerie{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.galerie button{all:unset;cursor:zoom-in;display:block;flex:0 1 calc((100% - 25px) / 3);min-width:240px;border-radius:14px;overflow:hidden}
@media (max-width:560px){.galerie button{flex-basis:100%}}
.galerie button:focus-visible{outline:3px solid var(--lien);outline-offset:2px}
.galerie img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .5s}
.galerie button:hover img{transform:scale(1.03)}

/* Catalogue */
.filtres{position:sticky;top:56px;z-index:20;background:rgba(251,251,253,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:.9rem var(--marge);border-bottom:1px solid rgba(0,0,0,.08);display:flex;flex-wrap:wrap;gap:.7rem 1.1rem;align-items:center;justify-content:center}
.puces{display:flex;flex-wrap:wrap;gap:.4rem}
.puce{font:400 .9rem var(--sans);border:0;background:#E8E8ED;border-radius:999px;padding:.45rem 1rem;cursor:pointer;color:var(--noir)}
.puce[aria-pressed="true"]{background:var(--bleu);color:#fff}
.filtres label{font-size:.9rem;display:flex;align-items:center;gap:.4rem;color:var(--gris)}
.filtres select,.filtres input{font:inherit;font-size:.9rem;padding:.42rem .7rem;border:1px solid var(--trait);border-radius:10px;background:#fff;color:var(--noir)}
.compte{font-size:.9rem;color:var(--gris)}
.catalogue{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:2.4rem 1.2rem;padding:2.5rem var(--marge) 5rem;max-width:1360px;margin:0 auto}
.piece{display:flex;flex-direction:column;text-align:center}
.piece .vignette{all:unset;cursor:zoom-in;display:block;background:var(--fond);aspect-ratio:3/4;overflow:hidden;border-radius:18px}
.piece .vignette:focus-visible{outline:3px solid var(--lien);outline-offset:2px}
.piece img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.piece .vignette:hover img{transform:scale(1.03)}
.piece h3{font-size:1.1rem;margin:1rem 0 .2rem;letter-spacing:-.01em}
.piece dl{margin:0;font-size:.9rem;color:var(--gris)}
.piece dt{display:none}
.piece dd{margin:0}
.piece .demander{margin-top:.7rem;font-size:.95rem;color:var(--lien);text-decoration:none}
.piece .demander::after{content:" ›"}
.piece .demander:hover{text-decoration:underline}
.vide{padding:3rem var(--marge);text-align:center}

/* Visionneuse */
dialog.visio{border:0;padding:0;background:transparent;max-width:min(92vw,1100px);max-height:92vh}
dialog.visio::backdrop{background:rgba(0,26,70,.9)}
dialog.visio img{max-height:84vh;width:auto;margin:auto;border-radius:12px}
dialog.visio .visio-bas{display:flex;justify-content:space-between;align-items:center;gap:1rem;color:#fff;padding-top:.7rem;font-size:.95rem}
dialog.visio button{font:400 .95rem var(--sans);background:#fff;color:var(--noir);border:0;border-radius:999px;padding:.5rem 1.1rem;cursor:pointer}

/* Formulaire */
.formulaire{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.2rem}
.formulaire .plein{grid-column:1 / -1}
.formulaire label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.35rem}
.formulaire input,.formulaire select,.formulaire textarea{width:100%;font:inherit;font-size:1rem;padding:.85rem 1rem;border:1px solid var(--trait);border-radius:12px;background:#fff;color:var(--noir)}
.formulaire textarea{min-height:9rem;resize:vertical}
.formulaire input:focus,.formulaire select:focus,.formulaire textarea:focus{border-color:var(--lien);outline:3px solid rgba(10,79,191,.15)}
.formulaire .case{display:flex;gap:.6rem;align-items:flex-start;font-weight:400;color:#3A4250}
.formulaire .case input{width:auto;margin-top:.3rem}
.formulaire .case a{color:var(--lien)}
.cache{display:none}
.message-form{padding:1rem 1.2rem;border-radius:12px;background:var(--fond)}
@media (max-width:640px){.formulaire{grid-template-columns:1fr}}
.contact-grille{display:grid;grid-template-columns:3fr 2fr;gap:clamp(2rem,5vw,4rem);max-width:var(--large);margin:0 auto}
@media (max-width:860px){.contact-grille{grid-template-columns:1fr}}
.contact-grille .i{background:var(--fond);border-radius:18px;padding:1.8rem;align-self:start}
.contact-grille .coord a{color:var(--lien)}
.horaires{border-collapse:collapse;font-size:.95rem}
.horaires td{padding:.2rem 1.2rem .2rem 0}

/* Texte légal */
.legal{max-width:46rem;margin:0 auto}
.legal h2{font-size:1.5rem;margin-top:2.2rem}
.legal p{color:#3A4250}
.a-confirmer{background:#FFF1C9;padding:0 .3rem;border-radius:4px}

/* Pied de page discret, gris clair */
.pied{background:var(--fond);color:var(--gris);padding:2.5rem var(--marge) 1.6rem;font-size:.8rem;line-height:1.6}
.pied-grille{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;max-width:var(--large);margin:0 auto;padding-top:1.5rem;border-top:1px solid var(--trait)}
@media (max-width:860px){.pied-grille{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.pied-grille{grid-template-columns:1fr}}
.pied h2{font-size:.8rem;font-weight:600;color:var(--noir);margin-bottom:.6rem;letter-spacing:0}
.pied ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.pied a{text-decoration:none;color:#424245}
.pied a:hover{text-decoration:underline}
.pied p{max-width:34ch}
.pied .logo-pied{width:120px;margin-bottom:.8rem}
.pied-bas{max-width:var(--large);margin:1.6rem auto 0;padding-top:1rem;border-top:1px solid var(--trait);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Retouches du 9 novembre */
.trio-photos{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:clamp(1.5rem,3vw,2.5rem) var(--marge) clamp(2.5rem,5vw,3.5rem)}
.trio-photos img{width:min(380px,90vw);aspect-ratio:4/5;object-fit:cover;border-radius:18px}
.grille-real{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;max-width:var(--large);margin:0 auto;padding:0 var(--marge)}
.grille-real figure{margin:0}
.grille-real button{all:unset;cursor:zoom-in;display:block;border-radius:18px;overflow:hidden;width:100%}
.grille-real button:focus-visible{outline:3px solid var(--lien);outline-offset:2px}
.grille-real img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .5s}
.grille-real button:hover img{transform:scale(1.03)}
.grille-real figcaption{font-size:.92rem;color:var(--gris);margin-top:.6rem}
.grille-real figcaption b{display:block;color:var(--bleu);font-weight:600;font-size:1rem}
@media (max-width:900px){.grille-real{grid-template-columns:repeat(2,minmax(0,1fr))}}
.carrousel-section h2{text-align:center}
.nav-contact-mobile{display:none}
@media (max-width:980px){.nav-contact-mobile{display:list-item}}
.carte{max-width:var(--large);margin:clamp(2.5rem,5vw,3.5rem) auto 0;border-radius:18px;overflow:hidden;background:var(--fond);min-height:380px;display:grid;place-items:center;text-align:center}
.carte-avant{padding:2rem}
.carte-avant p{margin-inline:auto}
.carte-note{font-size:.82rem;color:var(--gris);margin-top:1rem}
.carte.chargee{display:block}
.carte iframe{display:block;width:100%;height:420px;border:0}
.porte3d.sans-3d{display:none}

/* ---- 10 novembre : téléphone, tablette et 3D séparée ---- */
/* Étiquettes sous chaque ouvrage, avec leur propre bouton Ouvrir */
.porte3d-etiquettes{position:absolute;inset:0;pointer-events:none}
.porte3d-etiquette{position:absolute;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.45rem;pointer-events:none;background:none;border:0;padding:0}
.porte3d-etiquette span{font:600 .98rem var(--sans);color:var(--bleu);white-space:nowrap}
.porte3d-ouvrir{pointer-events:auto;font:500 .88rem var(--sans);color:var(--bleu);background:#fff;border:1px solid var(--bleu);border-radius:999px;padding:.35rem .95rem;cursor:pointer}
.porte3d-ouvrir:hover,.porte3d-ouvrir[aria-pressed="true"]{background:var(--bleu);color:#fff}
.porte3d-aide{position:absolute;left:0;right:0;bottom:.7rem;margin:0;max-width:none;text-align:center;font-size:.85rem;color:var(--gris);pointer-events:none}
.porte3d canvas{cursor:grab;touch-action:pan-y}
.porte3d.glisse canvas{cursor:grabbing}
.porte3d-fleche{display:none}
.porte3d:not(.pret) .porte3d-etiquettes,.porte3d:not(.pret) .porte3d-aide{display:none}
/* Petit écran : un ouvrage à la fois, flèches de part et d'autre */
.porte3d.etroit .porte3d-etiquettes{inset:auto 0 2.6rem 0;display:flex;justify-content:center}
.porte3d.etroit .porte3d-etiquette{position:static;transform:none}
.porte3d.etroit .porte3d-etiquette:not(.actif){display:none}
.porte3d.etroit .porte3d-fleche{display:grid;place-items:center;position:absolute;top:45%;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.92);box-shadow:0 2px 10px rgba(0,30,80,.12);color:var(--bleu);font-size:1.6rem;line-height:1;cursor:pointer;z-index:2}
.porte3d.etroit .porte3d-fleche.prec{left:.6rem}
.porte3d.etroit .porte3d-fleche.suiv{right:.6rem}

/* En-tête sur téléphone et tablette : logo à gauche, Menu à droite, menu plein écran qui fonctionne */
@media (max-width:980px){
  .entete{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}
  .entete-in{height:60px}
  .outils{display:none}
  .burger{display:block;margin-left:auto;font-size:1rem;color:var(--bleu);padding:.6rem .2rem}
  .nav{position:fixed;top:60px;left:0;right:0;bottom:0;z-index:60;background:#fff;display:none;padding:1.5rem var(--marge) 2rem;overflow-y:auto;border-top:1px solid var(--trait)}
  .nav.ouverte{display:block}
  .nav ul{flex-direction:column;align-items:stretch;gap:0}
  .nav li{border-bottom:1px solid var(--trait)}
  .nav a{display:block;font-size:1.35rem;font-weight:600;color:var(--bleu);padding:1rem 0}
  .nav .nav-contact-mobile{display:block;border:0;margin-top:1.4rem}
  .nav .nav-contact-mobile a{text-align:center;background:var(--bleu);color:#fff;border-radius:999px;padding:.9rem}
  .nav .nav-tel{display:block;border:0;text-align:center;margin-top:.6rem}
  .nav .nav-tel a{font-size:1.05rem;font-weight:500}
}
/* Téléphone : tailles de texte, boutons et espacements */
@media (max-width:600px){
  h1{font-size:2.3rem}
  h2,.grille-tuiles h2{font-size:1.85rem}
  .chapo,.sous-titre{font-size:1.1rem}
  .tuile{padding-top:2.4rem}
  .tuile .actions{flex-direction:column;align-items:stretch;padding:0 1.2rem}
  .tuile .actions .btn{width:100%}
  .porte3d{height:min(520px,72vh)}
  .grille-tuiles{padding:8px;gap:8px}
  .grille-tuiles .tuile{min-height:0}
  .grille-tuiles .tuile-visuel img{height:240px}
  .trio-photos{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scroll-snap-type:x mandatory}
  .trio-photos img{width:72vw;flex:none;scroll-snap-align:center}
  .grille-real{gap:.8rem}
  .rangee-portes img:nth-child(odd){transform:none}
  .page-tete{padding-top:2.2rem}
  .page-tete h1{font-size:2.5rem}
  .filtres{position:static;justify-content:flex-start}
  .filtres label{flex:1 1 45%}
  .filtres select,.filtres input{width:100%}
  .catalogue{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem .8rem}
  .piece h3{font-size:.95rem}
  .piece dl{font-size:.82rem}
  .coord{flex-direction:column;align-items:center;gap:.9rem}
  .carte iframe{height:320px}
  .pied-grille{gap:1.6rem}
}
/* Tablette */
@media (min-width:601px) and (max-width:980px){
  .grille-tuiles .tuile{min-height:520px}
  .catalogue{grid-template-columns:repeat(3,minmax(0,1fr))}
  .filtres{top:60px}
}
.nav-tel{display:none}
.porte3d:not(.etroit) .porte3d-aide{top:.3rem;bottom:auto}

/* ---- 10 novembre (2) ---- */
/* Téléphone et tablette : le titre de l'ouvrage au-dessus, le bouton Ouvrir en dessous, séparés comme sur ordinateur */
.porte3d.etroit .porte3d-etiquette{flex-direction:column;align-items:center;gap:.5rem;background:none;border-radius:0;padding:0;pointer-events:none}
/* Téléphone et tablette : logo au centre de l'en-tête, Menu à droite */
@media (max-width:980px){
  .entete-in{position:relative;justify-content:flex-end}
  .marque{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
}
