/* polices locales */
@font-face{font-family:'Bebas Neue';font-style:normal;font-weight:400;font-display:swap;src:url(/wp-content/uploads/2026/07/bebas-neue-400.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:italic;font-weight:400;font-display:swap;src:url(/wp-content/uploads/2026/07/montserrat-400-italic.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url(/wp-content/uploads/2026/07/montserrat-400.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(/wp-content/uploads/2026/07/montserrat-500.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(/wp-content/uploads/2026/07/montserrat-600.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(/wp-content/uploads/2026/07/montserrat-700.woff2) format('woff2')}

/*
Theme Name: Globe-Truiteur
Theme URI: https://www.globe-truiteur.com
Author: Baptiste Conquet
Description: Thème sur mesure « Le fil de l'eau » — design validé 07/2026. Hero vidéo (16:9 + verticale mobile), motion GSAP, palette 60/20/10/10. Compatible Yoast, CF7, Smash Balloon.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: Propriétaire
Text Domain: globetruiteur
*/

/* ===== 60% blanc · 20% noir · 10% bleu #009ABB · 10% jaune #E9A811 ===== */
:root{--paper:#FFFFFF;--paper2:#F6F5F2;--noir:#0D0D0D;--noir2:#161616;--blue:#009ABB;--yellow:#E9A811;
--ink:#171717;--mist:#8A8A85;--d:"Bebas Neue",sans-serif;--lit:"Montserrat",sans-serif;--s:"Montserrat",sans-serif}
*{box-sizing:border-box;margin:0}
body{background:var(--paper);color:var(--ink);font-family:var(--s);line-height:1.7;overflow-x:hidden}
h1,h2,h3{font-family:var(--d);font-weight:400;text-transform:uppercase;letter-spacing:.02em}
img{display:block}
.wide{max-width:1140px;margin:0 auto;padding:0 5vw}
/* ===== NAV identique V3/maquette ===== */
nav#mainnav{position:fixed;top:0;left:0;right:0;z-index:50;color:#fff;
background:linear-gradient(180deg,rgba(0,0,0,.38) 0%,rgba(0,0,0,0) 100%);border-bottom:1px solid transparent;
transition:background .35s ease,padding .25s ease,box-shadow .25s ease,border-color .35s ease,color .35s ease}
nav#mainnav.shrink{color:var(--ink);background:rgba(255,255,255,.96);backdrop-filter:blur(4px);
border-bottom:1px solid #e2e2df;box-shadow:0 4px 18px rgba(0,0,0,.06)}
nav#mainnav .wide{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;max-width:1120px;transition:padding .25s ease}
nav#mainnav.shrink .wide{padding:4px 24px}
.logo-img{height:46px;width:auto;display:block;transition:height .25s ease;
filter:drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff)}
nav#mainnav.shrink .logo-img{height:34px;filter:none}
.navlinks{display:flex;gap:22px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;align-items:center}
.navlinks a{text-decoration:none;color:inherit;opacity:.9}
.navlinks a:hover{opacity:1;color:var(--blue)}
/* sous-menus */
.navlinks > div{position:relative}
.dropdown{position:absolute;top:100%;left:0;background:#fff;border:1px solid #e2e2df;box-shadow:0 12px 24px rgba(0,0,0,.08);
padding:10px 0;min-width:210px;opacity:0;pointer-events:none;transform:translateY(6px);transition:.18s ease;z-index:60}
.navlinks > div:hover .dropdown,.navlinks > div:focus-within .dropdown{opacity:1;pointer-events:auto;transform:translateY(0)}
.dropdown a{display:block;padding:9px 18px;opacity:.8;font-weight:500;color:var(--ink)}
.dropdown a:hover{background:#f4f4f2;opacity:1}
.navlinks .soon{font-size:10px;opacity:.5;text-transform:none;letter-spacing:0;margin-left:4px;font-weight:400}
body.admin-bar nav#mainnav{top:32px}
@media(max-width:782px){body.admin-bar nav#mainnav{top:46px}}
/* burger mobile */
.burger{display:none;background:none;border:none;cursor:pointer;padding:8px;z-index:60}
.burger span{display:block;width:24px;height:2px;background:currentColor;margin:5px 0;transition:.3s}
@media(max-width:860px){
  .burger{display:block}
  .navlinks{position:fixed;inset:0;background:rgba(13,13,13,.97);flex-direction:column;justify-content:center;
    gap:20px;font-size:17px;color:#fff;opacity:0;pointer-events:none;transition:opacity .3s ease}
  .navlinks.open{opacity:1;pointer-events:auto}
  .burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .burger.open span:nth-child(2){opacity:0}
  .burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  body.nav-open{overflow:hidden}
}
/* boutons hero (maquette) */
.cta-row{margin-top:26px;display:flex;gap:26px;flex-wrap:wrap}
.cta-row a{font-size:13px;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;font-weight:600;
border-bottom:2px solid var(--yellow);padding-bottom:3px;color:#fff;transition:letter-spacing .3s ease,color .3s ease}
.cta-row a:hover{letter-spacing:.14em;color:var(--yellow)}
/* section guide (maquette) — photo agrandie, fondu sur les bords */
.grid-2{display:grid;grid-template-columns:1.25fr 1fr;gap:44px;align-items:center}
.plate.fade{aspect-ratio:4/4.6;transform:scale(1.06);overflow:visible}
/* fondu par voile blanc sur les bords : zéro liseré possible */
.plate.fade::after{content:"";position:absolute;inset:-1px;pointer-events:none;
background:
 linear-gradient(to right,#fff 0,rgba(255,255,255,0) 9%),
 linear-gradient(to left,#fff 0,rgba(255,255,255,0) 9%),
 linear-gradient(to bottom,#fff 0,rgba(255,255,255,0) 9%),
 linear-gradient(to top,#fff 0,rgba(255,255,255,0) 9%)}
@media(max-width:760px){.grid-2{grid-template-columns:1fr}}
.gsec{padding:90px 0}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--blue);margin-bottom:14px;font-weight:700}
.lede{font-size:19px;font-weight:500}
.plate{aspect-ratio:4/5;position:relative;overflow:hidden;border-radius:2px}
.plate img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.plate span{position:absolute;bottom:10px;left:10px;font-size:10px;color:#fff;z-index:2;background:rgba(0,0,0,.55);padding:3px 8px;letter-spacing:.05em}
.softlink{display:inline-block;hyphens:none;-webkit-hyphens:none;font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;text-decoration:none;border-bottom:2px solid var(--yellow);color:var(--ink);transition:letter-spacing .3s,color .3s}
.softlink:hover{letter-spacing:.14em;color:var(--blue)}
.grain{position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.05;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
/* fil de l'eau : BLEU, une rivière qui coule (tracé au scroll + courant animé) */
#thread{position:absolute;top:0;left:0;width:100%;z-index:5;pointer-events:none}
#thread path{stroke:var(--blue);stroke-width:2;fill:none;opacity:.75}
#thread path.flow{stroke:rgba(255,255,255,.9);stroke-width:.8;opacity:.9;filter:none;
  stroke-dasharray:2 26;animation:flow 1.6s linear infinite}
@keyframes flow{to{stroke-dashoffset:-28}}
/* ===== HERO vidéo ===== */
.hero{height:100vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;color:#fff}
.hero-media{position:absolute;inset:0}
.hero-media img,.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.72) 100%)}
.hero .wide{position:relative;z-index:3;padding-bottom:9vh}
.kicker{font-size:12px;letter-spacing:.18em;text-transform:uppercase;opacity:.9;margin-bottom:14px;font-weight:600}
.kicker .dot{color:var(--yellow)}
.hero h1{font-size:52px;line-height:1.05;max-width:720px;margin-bottom:18px}
@media(max-width:760px){.hero h1{font-size:36px}}
.hero h1 .w{display:inline-block;overflow:hidden;vertical-align:top}
.hero h1 .w i{font-style:normal;display:inline-block;transform:translateY(112%)}
.hero .lit{font-size:16px;color:#E8F2F5;max-width:480px;margin-top:4px;opacity:0}
/* ===== MARQUEE fin (comme la maquette V3) ===== */
.marquee{overflow:hidden;background:var(--noir);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.marquee-track{display:flex;width:max-content;animation:marquee 28s linear infinite}
.marquee-track span{display:flex;align-items:center;white-space:nowrap;font-family:var(--d);font-size:10px;letter-spacing:.06em;color:#fff;padding:7px 0}
.marquee-track span::after{content:"//";margin:0 14px;color:var(--yellow)}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* ===== INTRO littéraire claire ===== */
.intro{padding:14vh 0 10vh}
.intro .lit{font-family:var(--lit);font-style:italic;font-weight:300;font-size:clamp(23px,3vw,36px);line-height:1.45;max-width:27ch}
.intro .lit .hl{color:var(--blue)}
.intro .who{margin-top:30px;display:flex;gap:16px;align-items:center;font-size:13px;color:var(--mist);letter-spacing:.06em}
.intro .who::before{content:"";width:44px;height:1px;background:var(--yellow)}
/* ===== CHIFFRES : identiques à V3_maquette_motion ===== */
.stats{display:flex;gap:0;flex-wrap:wrap;border-top:1px solid #e2e2df;border-bottom:1px solid #e2e2df;background:var(--paper)}
.stats .stat{flex:1;min-width:160px;text-align:center;padding:34px 12px;border-left:1px solid #e2e2df}
.stats .stat:first-child{border-left:none}
.stats .num{font-family:var(--d);font-size:44px;color:var(--yellow);display:block;line-height:1;font-weight:400}
.stats .lbl{font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:.65;margin-top:8px;display:block;color:var(--ink)}
/* ===== CHAPITRE ÉPINGLÉ noir avec photos ===== */
.pinwrap{position:relative}
.scene{height:100vh;display:grid;grid-template-columns:1.15fr 1fr;overflow:hidden;background:var(--noir2);color:#fff}
.scene .art{position:relative;overflow:hidden}
.layer{position:absolute;inset:0;clip-path:inset(0 0 100% 0)}
.layer.l1{clip-path:inset(0)}
.layer img{width:100%;height:100%;object-fit:cover}
.layer .cap{position:absolute;bottom:22px;left:22px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#fff;opacity:.85;background:rgba(0,0,0,.45);padding:4px 10px}
.scene .copy{display:flex;flex-direction:column;justify-content:center;padding:0 6vw;position:relative}
.step{position:absolute;max-width:400px;opacity:0;transform:translateY(36px)}
.step .no{font-family:var(--d);color:var(--yellow);letter-spacing:.3em;font-size:13px}
.step h2{font-size:clamp(32px,3.8vw,50px);margin:10px 0 14px;line-height:1;color:#fff}
.step p{color:#B5B5B0;font-size:15.5px}
.step .lit{font-family:var(--d);color:#E8F2F5;font-size:19px;margin-top:12px;display:block;text-transform:none}
/* ===== GALERIE HORIZONTALE claire ===== */
.hgal{overflow:hidden;background:var(--paper)}
.track{display:flex;gap:3.5vw;padding:0 8vw;align-items:center;height:100vh;width:max-content}
.slide{flex:0 0 58vw;max-width:780px;aspect-ratio:16/9;position:relative;overflow:hidden}
.slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide h3{position:absolute;bottom:18px;left:22px;font-size:clamp(24px,2.8vw,36px);color:#fff;z-index:2;text-shadow:0 4px 20px rgba(0,0,0,.55)}
.slide .idx{position:absolute;top:14px;right:18px;font-family:var(--d);color:var(--yellow);font-size:14px;letter-spacing:.2em;z-index:2}
/* ===== CITATION + rivière générative bleue ===== */
.quote{min-height:44vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:7vh 6vw 11vh;position:relative;overflow:hidden}
.quote canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.quote p{font-family:var(--d);font-size:clamp(30px,4.4vw,52px);line-height:1.35;max-width:820px;position:relative;z-index:2;text-transform:none}
.quote p .hl{color:var(--blue)}
.quote small{position:absolute;bottom:4.5vh;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--mist);z-index:2}
/* ===== CARNET clair ===== */
.carnet{padding:6vh 0 16vh}
.carnet .head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6vh;flex-wrap:wrap;gap:12px}
.carnet h2{font-size:clamp(38px,5.4vw,64px)}
.carnet a.all{color:var(--blue);text-decoration:none;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;border-bottom:2px solid var(--yellow);padding-bottom:4px}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:4vw}
.rcard{text-decoration:none;color:inherit;display:block;transform:translateY(50px);opacity:0}
.rcard .ph{aspect-ratio:4/3;position:relative;overflow:hidden}
.rcard .ph img{width:100%;height:100%;object-fit:cover}
.rcard .ph::after{content:"";position:absolute;inset:0;background:var(--paper);transform:scaleY(1);transform-origin:top;transition:transform .9s cubic-bezier(.76,0,.24,1)}
.rcard.in .ph::after{transform:scaleY(0)}
.rcard .meta{color:var(--blue);font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin:18px 0 8px}
.rcard h3{font-size:clamp(22px,2.4vw,32px);transition:color .3s}
.rcard:hover h3{color:var(--blue)}
.rcard p{color:#6A6A65;font-size:14.5px;max-width:46ch;margin-top:8px}
/* footer noir */
.foot{background:var(--noir);color:#fff;padding:8vh 0;text-align:center;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.foot .y{color:var(--yellow)}.foot .b{color:var(--blue)}
/* ===== MOBILE 100% (règle : tout doit être parfait sur smartphone) ===== */
@media(max-width:860px){
  .wide{padding:0 20px}
  .hero{min-height:100svh;height:auto;padding:120px 0 56px}
  .hero .lit{font-size:15px}
  .cta-row{gap:16px}
  .gsec{padding:56px 0}
  .grid-2{grid-template-columns:1fr;gap:30px}
  .plate.fade{transform:none;aspect-ratio:4/4.2}
  .stats{flex-direction:column}
  .stats .stat{border-left:none;border-top:1px solid #e2e2df;padding:24px 12px}
  .stats .stat:first-child{border-top:none}
  .scene{grid-template-columns:1fr;grid-template-rows:52vh 1fr}
  .scene .art{display:block}
  .scene .copy{padding:34px 24px}
  .step{max-width:100%}
  .step h2{font-size:30px}
  .slide{flex:0 0 84vw}
  .slide h3{font-size:22px}
  .quote{min-height:34vh;padding:56px 24px 80px}
  .quote p{font-size:26px}
  .cards{grid-template-columns:1fr;gap:36px}
  .carnet{padding:20px 0 80px}
  .foot{padding:40px 0;font-size:10px;letter-spacing:.08em}
}
@media(prefers-reduced-motion:reduce){.hero h1 .w i{transform:none}.hero .lit,.step,.rcard{opacity:1;transform:none}}

/* ===== sections Home supplémentaires (territoires + instagram) ===== */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media(max-width:760px){.grid-3{grid-template-columns:1fr}}
.card{display:block;text-decoration:none;color:var(--ink);position:relative;isolation:isolate}
.card .plate{margin-bottom:16px}
.card h3{font-size:22px;margin-bottom:6px}
.card p{font-size:14px;opacity:.8;margin-bottom:8px}
.card .go{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--blue)}
.plate.wide-img{aspect-ratio:16/9}
section.alt{background:var(--paper2)}
.section-title-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:36px;flex-wrap:wrap;gap:10px}
#sb_instagram{padding-bottom:0 !important}

footer.gt-footer{background:#111; color:#fff; padding:56px 0 30px; font-size:13px; border-top:3px solid var(--yellow);}
footer.gt-footer .wide{display:flex; justify-content:space-between; flex-wrap:wrap; gap:24px;}
footer.gt-footer a{color:#fff; text-decoration:none; font-weight:600; opacity:.85;}
footer.gt-footer a:hover{opacity:1; color:var(--blue);}
footer.gt-footer .legal{opacity:.55; max-width:420px; font-size:11px; margin-top:18px;}
.footer-logo{height:52px; width:auto; margin-bottom:10px;
  filter:drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff);}
footer.gt-footer .navlinks{flex-direction:column; align-items:flex-start; gap:8px; position:static; background:none; opacity:1; pointer-events:auto; color:#fff;}
.footer-social{display:flex; gap:14px; margin-top:14px;}
.footer-social a{opacity:.7;}
.footer-social a:hover{opacity:1;}


/* ====== CONTENU ÉDITÉ DANS WP-ADMIN (pages intérieures, articles) ====== */
.entry{max-width:820px; margin:0 auto; padding:70px 24px;}
.entry h2{font-size:30px; margin-top:1.6em;}
.entry h3{font-size:22px; margin-top:1.3em;}
.entry img{border-radius:2px;}
.entry figure{margin:2em 0;}
.entry figcaption{font-size:12px; opacity:.6; margin-top:8px;}
.entry blockquote{font-family:var(--display); font-size:24px; line-height:1.4; border:none; margin:2em auto; text-align:center; max-width:560px;}
.entry blockquote cite{font-size:14px; opacity:.6; font-family:var(--sans); font-weight:600; font-style:normal;}
.entry .wp-block-columns{gap:28px;}
.entry a{color:var(--blue);}
.entry ul, .entry ol{padding-left:1.2em;}
.entry .button, .entry .wp-block-button__link{display:inline-block; background:none; color:var(--ink); font-size:13px; text-transform:uppercase;
  letter-spacing:.08em; font-weight:600; text-decoration:none; border:none; border-bottom:2px solid var(--yellow); border-radius:0; padding:0 0 3px;}

/* Cartes tarifs (classe posée sur des groupes Gutenberg) */
.tarif-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:24px; margin:2em 0;}
.tarif-card{border:1px solid var(--line); padding:28px; background:#fff;}
.tarif-card h3{font-size:24px;}
.tarif-card .prix{font-family:var(--display); font-size:38px; color:var(--blue); display:block; margin:10px 0 2px; line-height:1;}
.tarif-card ul{list-style:none; padding:0; margin:12px 0 0; font-size:14px;}
.tarif-card li{padding:7px 0; border-top:1px solid var(--line);}

/* Rivières (grille avec liens vigicrues) */
.rivieres{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:24px; margin:2em 0;}
.riviere .plate{aspect-ratio:16/10; margin-bottom:10px;}
.riviere .nom{font-family:var(--display); font-size:20px; letter-spacing:.02em;}
.riviere .niveau{font-size:11px; text-transform:uppercase; letter-spacing:.06em;}

/* Contact Form 7 */
.wpcf7 label{display:block; font-size:13px; text-transform:uppercase; letter-spacing:.06em; font-weight:600; margin-bottom:6px;}
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 textarea{width:100%; border:1px solid var(--line); background:var(--paper-alt);
  padding:13px 14px; font-family:var(--sans); font-size:15px; margin-bottom:18px;}
.wpcf7 input:focus, .wpcf7 textarea:focus{outline:2px solid var(--blue); background:#fff;}
.wpcf7 input[type=submit]{background:var(--ink); color:#fff; border:none; padding:14px 34px; font-size:13px; text-transform:uppercase;
  letter-spacing:.08em; font-weight:600; cursor:pointer; transition:background .3s;}
.wpcf7 input[type=submit]:hover{background:var(--blue);}
.contact-canaux{display:flex; gap:16px; flex-wrap:wrap; margin:1.5em 0;}
.contact-canaux a{display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line); padding:12px 20px;
  text-decoration:none; color:var(--ink); font-weight:600; font-size:14px; transition:border-color .3s;}
.contact-canaux a:hover{border-color:var(--blue); color:var(--blue);}
.wa-btn{background:#25D366; color:#fff !important; border-color:#25D366 !important;}
.wa-btn:hover{opacity:.9; color:#fff !important;}

/* Smash Balloon : neutraliser les marges par défaut dans nos sections */
#sb_instagram{padding-bottom:0 !important;}

/* Pagination blog */
.gt-pagination{display:flex; gap:10px; justify-content:center; padding:40px 0;}
.gt-pagination a, .gt-pagination span{padding:8px 14px; border:1px solid var(--line); text-decoration:none; color:var(--ink); font-size:13px;}
.gt-pagination .current{background:var(--ink); color:#fff;}

/* Divers WP */
.screen-reader-text{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0);}
.aligncenter{display:block; margin:0 auto;}
.alignwide{max-width:1120px; margin-left:auto; margin-right:auto;}

/* ===== hero réduit pages intérieures ===== */
.hero.small{min-height:56vh;height:auto;padding:120px 0 48px}
.hero-media img.kb{opacity:0;transition:opacity 1.6s ease}
.hero-media img.kb.active{opacity:1}
.hero .tag{font-size:12px;text-transform:uppercase;letter-spacing:.18em;opacity:.9;margin-bottom:14px;font-weight:600}

/* ===== filet de sécurité sans GSAP : tout reste visible ===== */
html.no-gsap .hero h1 .w i{transform:none}
html.no-gsap #litIntro,html.no-gsap .step,html.no-gsap .rcard,html.no-gsap #quoteTxt,html.no-gsap .reveal-lit{opacity:1 !important;transform:none !important}
html.no-gsap .step{position:relative}
html.no-gsap .reveal{opacity:1;transform:none}

/* ===== AVIS GOOGLE ===== */
.avis{padding:90px 0;background:var(--paper)}
.avis .stars{color:var(--yellow);letter-spacing:3px;font-size:15px}
.avis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:40px}
@media(max-width:860px){.avis-grid{grid-template-columns:1fr}}
.avis-card{border:1px solid #e2e2df;padding:26px;background:#fff;position:relative}
.avis-card::before{content:"“";font-family:var(--d);font-size:60px;color:var(--blue);opacity:.25;position:absolute;top:6px;right:16px;line-height:1}
.avis-card p{font-size:14.5px;color:#4a4a46;margin:12px 0 14px}
.avis-card .qui{font-weight:600;font-size:13px}
.avis-card .quand{font-size:11px;color:var(--mist);text-transform:uppercase;letter-spacing:.08em}
.avis-cta{margin-top:30px;text-align:center}
.avis-grid.deux{grid-template-columns:repeat(2,1fr);max-width:900px;margin-left:auto;margin-right:auto}
@media(max-width:860px){.avis-grid.deux{grid-template-columns:1fr}}


/* ===== RÈGLE BAPTISTE : tous les textes justifiés (titres et citations exclus par spécificité) ===== */
p, .lede, .entry li{text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.quote p, .avis-cta, .stats .lbl{text-align:center}


/* ===== Instagram (Smash Balloon) : photos seules, GRAND, en carrousel horizontal ===== */
#sb_instagram .sbi_header, #sb_instagram .sb_instagram_header, .sbi_header{display:none !important}
#sb_instagram #sbi_load, #sb_instagram .sbi_load_btn, #sb_instagram .sbi_follow_btn, #sb_instagram .sbi_btn_wrap{display:none !important}
#sb_instagram{padding:0 !important}
#sb_instagram #sbi_images{display:flex !important;flex-wrap:nowrap !important;overflow-x:auto !important;gap:10px !important;
padding:0 0 14px !important;width:100% !important;float:none !important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
#sb_instagram .sbi_item{flex:0 0 340px !important;width:340px !important;padding:0 !important;margin:0 !important;scroll-snap-align:start}
#sb_instagram .sbi_photo{height:340px !important}
#sb_instagram #sbi_images::-webkit-scrollbar{height:8px}
#sb_instagram #sbi_images::-webkit-scrollbar-thumb{background:#E9A811;border-radius:4px}
#sb_instagram #sbi_images::-webkit-scrollbar-track{background:#f0efec}
@media(max-width:860px){#sb_instagram .sbi_item{flex:0 0 78vw !important;width:78vw !important}#sb_instagram .sbi_photo{height:78vw !important}}


/* carrousel Instagram : pleine largeur (96vw) et photos plus grandes */
.ig-wide{width:96vw;margin-left:calc(50% - 48vw);padding:10px 0 0}
.ig-wide #sb_instagram .sbi_item{flex:0 0 400px !important;width:400px !important}
.ig-wide #sb_instagram .sbi_photo{height:400px !important}
@media(max-width:860px){.ig-wide #sb_instagram .sbi_item{flex:0 0 80vw !important;width:80vw !important}.ig-wide #sb_instagram .sbi_photo{height:80vw !important}}


/* ===== pages intérieures : citations centrées + rivière, déco fil de l'eau ===== */
.entry blockquote{position:relative;text-align:center !important;font-family:var(--d);font-size:26px;line-height:1.45;max-width:660px;margin:2.2em auto;padding:38px 12px;border:none}
.entry blockquote p{text-align:center !important}
.entry blockquote cite{display:block;margin-top:10px;font-size:12px;color:var(--mist);font-family:var(--s);font-style:normal;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.bq-water{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}
.entry h2::before{content:"";display:block;width:52px;height:2px;background:var(--yellow);margin-bottom:12px}
.entry .lede{border-left:3px solid var(--blue);padding-left:18px}
.entry .rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.entry .rv.in{opacity:1;transform:none}
.entry .faq dt{color:var(--blue)}
.entry .faq dt::before{content:"— ";color:var(--yellow)}


/* ===== ALLÈGEMENT MOBILE : fluidité avant tout ===== */
@media(max-width:860px){
  .grain{display:none}
  #thread{display:none}
  /* chapitre : statique, empilé, tout visible */
  .pinwrap .scene{height:auto;grid-template-rows:auto}
  .scene .art{display:block;position:relative;height:52vh}
  .scene .layer{position:absolute;clip-path:none !important}
  .scene .layer:nth-child(2),.scene .layer:nth-child(3){display:none}
  .scene .copy{position:relative;padding:36px 24px 44px}
  .scene .step{position:relative;opacity:1 !important;transform:none !important;margin-bottom:30px}
  /* galerie : défilement natif au doigt */
  .hgal{overflow:visible}
  .hgal .track{height:auto;overflow-x:auto;padding:20px 20px 26px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;width:auto;transform:none !important}
  .hgal .slide{scroll-snap-align:center}
  /* icônes sociales flottantes : plus petites */
  .fuse_social_icons_links i.awesome-social, i.awesome-social{font-size:15px !important;width:30px !important;height:30px !important;line-height:30px !important;padding:0 !important}
  .fuse_social_icons_links{width:30px !important;height:30px !important;display:block !important}
}


/* mobile : photo au-dessus de chaque texte du chapitre + icônes sociales 24px */
@media(max-width:860px){
  .scene .step-img{width:calc(100% + 48px);margin:0 -24px 18px;height:44vh;object-fit:cover;display:block}
  #icon_wrapper .fuse_social_icons_links, .fuse_social_icons_links{width:24px !important;height:24px !important;min-width:0 !important}
  #icon_wrapper i.awesome-social, i.awesome-social{font-size:12px !important;width:24px !important;height:24px !important;line-height:24px !important;padding:0 !important}
}


/* grilles photos des pages intérieures */
.photo-duo{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:2em 0}
.photo-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:2em 0}
.photo-duo img,.photo-trio img{width:100%;height:100%;object-fit:cover;border-radius:2px;aspect-ratio:4/3}
.photo-duo.vertical img{aspect-ratio:4/5}
@media(max-width:760px){.photo-duo,.photo-trio{grid-template-columns:1fr}.photo-trio img{aspect-ratio:16/10}}


/* ===== gabarit pages intérieures : splits photo/texte + bande sombre (proportions Home) ===== */
.entry figure img{width:100%;max-height:520px;object-fit:cover;border-radius:2px}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;margin:2.5em 0}
.split.rev{grid-template-columns:.85fr 1.15fr}
.split img{width:100%;height:440px;object-fit:cover;border-radius:2px}
.split.rev img{height:540px}
.full-photo{width:100%;margin:2.5em 0 0;padding:0}
.full-photo img{width:100%;height:auto;display:block;border-radius:2px}
@media(max-width:760px){.split,.split.rev{grid-template-columns:1fr}.split img{height:320px}.split.rev img{height:340px}}
.band-dark{width:96vw;margin:3em calc(50% - 48vw);background:var(--noir2);color:#EDEDEA;padding:44px 5vw}
.band-dark .inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
@media(max-width:760px){.band-dark .inner{grid-template-columns:1fr}}
.band-dark h2{color:#fff}
.band-dark h2::before{background:var(--yellow)}
.band-dark p{color:#B5C2C7}
.band-dark img{width:100%;height:340px;object-fit:cover;border-radius:2px}
.page-id-2144 .hero-media img{object-position:50% 30%}
.split>p:empty,.band-dark .inner>p:empty{display:none}
.band-dark .eyebrow{color:var(--yellow)}

/* Formulaire contact : champs visibles */
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea{
  width:100%;background:#F5F7F8;border:1px solid #C9D4D8;border-radius:2px;padding:14px 16px;
  font:inherit;color:var(--ink);margin:6px 0 4px;transition:border-color .25s, background .25s}
.wpcf7 input:focus, .wpcf7 textarea:focus{outline:none;border-color:var(--blue);background:#fff}
.wpcf7 textarea{min-height:180px;resize:vertical}
.wpcf7 input[type="submit"]{background:var(--noir2);color:#fff;border:none;padding:14px 34px;border-radius:2px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .25s}
.wpcf7 input[type="submit"]:hover{background:var(--blue)}
.entry figure img{width:100%;height:auto;border-radius:2px;display:block}

/* Carnet : cartes d'articles */
.article-card{display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:center;margin:0 0 30px;padding-bottom:30px;border-bottom:1px solid #E3E9EB}
.article-card:last-of-type{border-bottom:none}
.article-card:first-of-type{margin-top:48px}
.article-card .plate{aspect-ratio:16/11;display:block}
.article-card .meta{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);font-weight:600;margin-bottom:4px}
.article-card h3{font-size:clamp(22px,2.6vw,30px);margin:2px 0 8px;line-height:1.1}
.article-card p{margin:0 0 12px}
@media(max-width:760px){.article-card{grid-template-columns:1fr;gap:14px;align-items:start}}

/* citations : taille intermédiaire, sobre sur mobile */
.entry blockquote{font-size:clamp(24px,3vw,36px) !important;line-height:1.4 !important;max-width:760px !important}
@media(max-width:760px){.entry blockquote{font-size:20px !important;padding:24px 8px !important;margin:1.6em auto !important}}

/* pack mobile v2 */
@media(max-width:760px){
  .entry{padding-left:20px;padding-right:20px}
  .lede{font-size:17px;line-height:1.65}
  .band-dark{padding:32px 20px;margin:2em calc(50% - 50vw);width:100vw}
  .band-dark .inner{gap:24px}
  .band-dark img{height:240px}
  .split,.split.rev{gap:18px;margin:1.8em 0}
  .full-photo{margin:1.8em auto 0}
  .photo-duo,.photo-trio{gap:10px;margin:1.4em 0}
  .entry h2{margin-top:1.6em}
  dl.faq dt{font-size:16px}
  dl.faq dd{margin:6px 0 18px;font-size:15px}
  .hero.small{min-height:44vh;padding:96px 0 36px}
  .article-card{margin-bottom:22px;padding-bottom:22px}
  .softlink{font-size:12px}
  footer.gt-footer .wide{gap:16px}
}

/* Partenaires : grille de logos normalisés */
.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:2.2em 0}
.partner-card{background:#fff;border:1px solid #E3E9EB;border-radius:2px;padding:24px 22px;display:flex;flex-direction:column;transition:border-color .25s, transform .25s}
.partner-card:hover{border-color:var(--blue);transform:translateY(-3px)}
.partner-logo{height:110px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;border-bottom:none}
.partner-logo img{max-height:88px;max-width:82%;width:auto;height:auto;object-fit:contain;filter:none}
.partner-card h3{font-size:22px;margin:0 0 8px;text-align:center}
.partner-card p{font-size:13.5px;line-height:1.6;margin:0 0 14px;flex:1;text-align:left}
.partner-card .softlink{align-self:center;font-size:11px}
@media(max-width:980px){.partner-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.partner-grid{grid-template-columns:1fr;gap:14px}.partner-logo{height:88px}.partner-logo img{max-height:70px}}

.lang-switch{border:1px solid var(--blue);border-radius:2px;padding:3px 9px;font-size:11px;letter-spacing:.12em;color:var(--blue) !important;font-weight:700}
.lang-switch:hover{background:var(--blue);color:#fff !important}
