/*
Theme Name: Gîte en Famille Modern
Theme URI: https://www.giteenfamille.be/
Author: Gîte en Famille
Description: Prototype local moderne, multilingue FR/NL/EN/DE, avec menu dynamique, galerie filtrable et intégration Gîte Booking Pro.
Version: 0.9.18
Text Domain: gite-en-famille-modern
*/

:root{
  --gf-ink:#18231e;
  --gf-forest:#173e32;
  --gf-forest-2:#235846;
  --gf-sage:#a9b8a5;
  --gf-cream:#f5f1e8;
  --gf-paper:#fffdf8;
  --gf-copper:#b96f43;
  --gf-line:rgba(23,62,50,.15);
  --gf-shadow:0 22px 60px rgba(19,44,35,.14);
  --gf-radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--gf-paper);color:var(--gf-ink);font-family:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}
body,button,input,select,textarea{font-family:"DM Sans",system-ui,sans-serif}
h1,h2,h3,h4,h5,h6,.gf-brand__name{font-family:"Cormorant Garamond",Georgia,serif;letter-spacing:-.025em;color:var(--gf-ink)}
h1{font-size:clamp(3rem,7vw,6.5rem);line-height:.93;margin:0}h2{font-size:clamp(2.2rem,4.2vw,4.2rem);line-height:1.02;margin:0}h3{font-size:clamp(1.45rem,2vw,2rem);margin:0}
a{color:inherit;transition:.25s ease}.gf-shell{width:min(1180px,calc(100% - 48px));margin:auto}.gf-section{padding:105px 0}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Header */
.gf-site-header{position:fixed;inset:0 0 auto 0;z-index:9999;transition:.3s ease;background:rgba(255,253,248,.94);backdrop-filter:blur(18px) saturate(140%);box-shadow:0 1px 0 var(--gf-line),0 12px 35px rgba(23,62,50,.07)}.gf-header-inner{width:min(1450px,94%);min-height:92px;margin:auto;display:flex;align-items:center;gap:22px}.gf-site-header--solid,.gf-scrolled .gf-site-header{background:rgba(255,253,248,.97);backdrop-filter:blur(18px) saturate(140%);box-shadow:0 1px 0 var(--gf-line),0 12px 35px rgba(23,62,50,.07)}.gf-brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto}.gf-brand__mark{width:64px;height:64px;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.12)}.gf-brand__mark img{width:100%;height:100%;object-fit:cover}.gf-brand__name{font-size:1.65rem;font-weight:700;color:var(--gf-forest);text-shadow:none}.gf-site-header--solid .gf-brand__name,.gf-scrolled .gf-brand__name{color:var(--gf-forest);text-shadow:none}.gf-nav{margin-left:auto;display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.55);border:1px solid rgba(23,62,50,.08);box-shadow:0 8px 24px rgba(23,62,50,.06)}.gf-nav a{font-size:1rem;font-weight:800;text-decoration:none;padding:12px 13px;border-radius:999px;color:var(--gf-ink);text-shadow:none}.gf-site-header--solid .gf-nav a,.gf-scrolled .gf-nav a{color:var(--gf-ink);text-shadow:none}.gf-nav a:hover,.gf-nav a.is-current{background:rgba(23,62,50,.08);color:var(--gf-forest)}.gf-site-header--solid .gf-nav a:hover,.gf-site-header--solid .gf-nav a.is-current,.gf-scrolled .gf-nav a:hover,.gf-scrolled .gf-nav a.is-current{background:rgba(23,62,50,.08);color:var(--gf-forest)}.gf-nav .gf-book-link{background:var(--gf-copper)!important;color:#fff!important;padding-inline:21px;box-shadow:0 10px 26px rgba(185,111,67,.3);text-shadow:none!important}.gf-lang{position:relative}.gf-lang>button{border:0;background:rgba(23,62,50,.06);color:var(--gf-forest);border-radius:999px;padding:11px 13px;font-weight:800;cursor:pointer}.gf-site-header--solid .gf-lang>button,.gf-scrolled .gf-lang>button{background:rgba(23,62,50,.07);color:var(--gf-forest)}.gf-lang-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:150px;padding:8px;background:rgba(255,253,248,.98);border:1px solid var(--gf-line);border-radius:16px;box-shadow:var(--gf-shadow);display:none}.gf-lang.is-open .gf-lang-menu{display:block}.gf-lang-menu a{display:block;color:var(--gf-ink)!important;text-shadow:none!important;padding:9px 11px!important}.gf-menu-toggle{display:none;margin-left:auto;border:1px solid var(--gf-line);background:rgba(23,62,50,.05);color:var(--gf-forest);border-radius:999px;padding:11px 15px;font-weight:800;cursor:pointer}.gf-site-header--solid .gf-menu-toggle,.gf-scrolled .gf-menu-toggle{color:var(--gf-forest);border-color:var(--gf-line);background:rgba(23,62,50,.05)}

/* Hero */
.gf-hero{min-height:min(940px,96vh);position:relative;display:flex;align-items:flex-end;overflow:hidden;border-radius:0 0 44px 44px;background:#152a22;isolation:isolate}.gf-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 50%;z-index:-3}.gf-hero:after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(10,25,19,.82) 0%,rgba(10,25,19,.55) 42%,rgba(10,25,19,.08) 78%),linear-gradient(0deg,rgba(10,25,19,.48),transparent 60%)}.gf-hero__content{padding:220px 0 100px;color:#fff}.gf-kicker{display:inline-flex;align-items:center;gap:9px;color:var(--gf-copper);font-size:.75rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}.gf-kicker:before{content:"";width:28px;height:1px;background:currentColor}.gf-kicker--light{color:#f1d5c1}.gf-hero h1{color:#fff;max-width:820px;text-shadow:0 8px 35px rgba(0,0,0,.25)}.gf-hero p{max-width:700px;color:rgba(255,255,255,.9);font-size:clamp(1.05rem,1.7vw,1.3rem);margin:24px 0 30px}.gf-actions{display:flex;flex-wrap:wrap;gap:12px}.gf-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 22px;border-radius:999px;background:var(--gf-forest);color:#fff!important;text-decoration:none;font-weight:850;box-shadow:0 12px 28px rgba(23,62,50,.18)}.gf-btn:hover{transform:translateY(-2px);background:var(--gf-forest-2)}.gf-btn--light{background:#fff;color:var(--gf-forest)!important;box-shadow:0 14px 34px rgba(0,0,0,.16)}.gf-btn--ghost{background:rgba(255,255,255,.1);color:#fff!important;border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(10px);box-shadow:none}.gf-trust{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:24px;color:rgba(255,255,255,.84);font-size:.82rem;font-weight:650}.gf-trust span:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#d7a886;margin-right:8px;vertical-align:middle}

/* Stats */
.gf-statbar{position:relative;z-index:3;margin-top:-36px}.gf-statbar__grid{display:grid;grid-template-columns:repeat(6,1fr);background:rgba(255,253,248,.97);border:1px solid var(--gf-line);border-radius:26px;box-shadow:var(--gf-shadow);overflow:hidden}.gf-stat{min-height:116px;display:grid;place-items:center;text-align:center;padding:18px 12px;border-right:1px solid var(--gf-line)}.gf-stat:last-child{border-right:0}.gf-stat strong{color:var(--gf-forest);font-size:.89rem}

/* General content */
.gf-section-head{max-width:780px;margin-bottom:45px}.gf-section-head p,.gf-copy p{color:#56645e;font-size:1.05rem}.gf-split{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:center}.gf-photo-stack{position:relative;min-height:570px}.gf-photo-stack__main{width:88%;height:525px;object-fit:cover;border-radius:34px;box-shadow:var(--gf-shadow)}.gf-photo-stack__accent{position:absolute;right:0;bottom:0;width:43%;height:235px;object-fit:cover;border:10px solid var(--gf-paper);border-radius:28px;box-shadow:0 22px 48px rgba(23,62,50,.18)}.gf-text-link{display:inline-flex;gap:10px;align-items:center;color:var(--gf-forest);font-weight:850;text-decoration:none;border-bottom:1px solid rgba(23,62,50,.25);padding-bottom:4px}.gf-features{background:radial-gradient(circle at 10% 0%,rgba(169,184,165,.18),transparent 32%),var(--gf-cream)}.gf-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gf-feature-card{background:rgba(255,255,255,.78);border:1px solid rgba(23,62,50,.1);border-radius:26px;padding:30px 26px;box-shadow:0 14px 38px rgba(23,62,50,.06);transition:.3s ease}.gf-feature-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(23,62,50,.12)}.gf-feature-card p{color:#58665f}.gf-feature-card__icon{font-size:1.8rem;margin-bottom:22px}.gf-gallery-home{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:260px 220px;gap:16px}.gf-gallery-home a{overflow:hidden;border-radius:24px}.gf-gallery-home img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.gf-gallery-home a:hover img{transform:scale(1.045)}.gf-gallery-home a:nth-child(1){grid-column:span 6;grid-row:span 2}.gf-gallery-home a:nth-child(2),.gf-gallery-home a:nth-child(3){grid-column:span 3}.gf-gallery-home a:nth-child(n+4){grid-column:span 2}.gf-location{margin:0 24px;border-radius:38px;background:radial-gradient(circle at 90% 10%,rgba(215,168,134,.16),transparent 32%),var(--gf-forest);color:#fff;overflow:hidden}.gf-location__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:center}.gf-location h2{color:#fff}.gf-location p{color:rgba(255,255,255,.8)}.gf-location img{width:100%;height:430px;object-fit:cover;border-radius:30px;box-shadow:0 28px 60px rgba(0,0,0,.24)}.gf-booking{background:linear-gradient(180deg,#f4efe5,#fffdf8)}.gf-booking__intro{text-align:center;max-width:820px;margin:0 auto 42px}.gf-booking__module{max-width:1200px;margin:auto}.gf-booking__module .gbp-reservation{background:#fff!important;border:1px solid var(--gf-line)!important;border-radius:30px!important;padding:24px!important;box-shadow:0 30px 70px rgba(23,62,50,.12)!important}.gf-final{padding:0 24px 90px}.gf-final__inner{min-height:300px;padding:55px 62px;border-radius:36px;background:linear-gradient(110deg,rgba(15,40,31,.96),rgba(33,77,61,.9)),url('assets/images/exterieur.jpg') center/cover;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}.gf-final h2{color:#fff}.gf-final p{color:rgba(255,255,255,.82);max-width:650px}

/* Interior page header */
.gf-page-hero{padding:170px 0 70px;background:linear-gradient(180deg,#f3eee4 0%,#fffdf8 100%);border-bottom:1px solid var(--gf-line)}.gf-page-hero h1{font-size:clamp(3.2rem,6vw,5.8rem);color:var(--gf-forest)}.gf-page-hero p{max-width:760px;color:#5b675f;font-size:1.08rem}.gf-prose{max-width:980px;margin:auto}.gf-prose h2{font-size:clamp(2rem,3.5vw,3.5rem);margin-top:55px}.gf-prose p,.gf-prose li{font-size:1.05rem}.gf-prose img{max-width:100%;height:auto;border-radius:26px;box-shadow:var(--gf-shadow)}

/* Photos filters */
.gf-photo-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px}.gf-filter-btn{border:1px solid var(--gf-line);background:#fff;color:var(--gf-forest);padding:10px 15px;border-radius:999px;font-weight:800;cursor:pointer;transition:.22s ease}.gf-filter-btn:hover,.gf-filter-btn.is-active{background:var(--gf-forest);color:#fff;border-color:var(--gf-forest)}.gf-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gf-photo-card{position:relative;overflow:hidden;border-radius:24px;min-height:280px;background:#ddd;cursor:pointer}.gf-photo-card[hidden]{display:none!important}.gf-photo-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .5s ease}.gf-photo-card:hover img{transform:scale(1.04)}.gf-photo-card__label{position:absolute;left:14px;bottom:14px;background:rgba(15,40,31,.86);color:#fff;padding:7px 11px;border-radius:999px;font-size:.78rem;font-weight:800;backdrop-filter:blur(8px)}.gf-photo-note{padding:16px 18px;border-radius:18px;background:#f4efe5;color:#56645e;margin-bottom:28px}.gf-lightbox{position:fixed;inset:0;z-index:10050;background:rgba(8,18,14,.94);display:none;align-items:center;justify-content:center;padding:24px}.gf-lightbox.is-open{display:flex}.gf-lightbox img{max-width:min(1300px,94vw);max-height:90vh;border-radius:18px}.gf-lightbox button{position:absolute;right:22px;top:18px;border:0;background:#fff;color:var(--gf-forest);width:44px;height:44px;border-radius:50%;font-size:1.6rem;cursor:pointer}

/* Footer */
.gf-site-footer{margin-top:90px;background:var(--gf-forest);color:rgba(255,255,255,.8);border-radius:44px 44px 0 0}.gf-footer-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:50px;padding:65px 0}.gf-site-footer h3{color:#fff}.gf-site-footer a{color:#fff}.gf-footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 0;font-size:.84rem;color:rgba(255,255,255,.65)}

@media(max-width:1100px){.gf-statbar__grid{grid-template-columns:repeat(3,1fr)}.gf-feature-grid{grid-template-columns:repeat(2,1fr)}.gf-nav{position:fixed;left:4%;right:4%;top:78px;background:rgba(255,253,248,.98);border:1px solid var(--gf-line);border-radius:24px;box-shadow:var(--gf-shadow);padding:14px;display:none;flex-direction:column;align-items:stretch}.gf-nav.is-open{display:flex}.gf-nav a{color:var(--gf-ink)!important;text-shadow:none!important;font-size:1rem;padding:12px 14px}.gf-menu-toggle{display:inline-flex}.gf-lang{margin-left:0}.gf-lang>button{width:100%;text-align:left;color:var(--gf-ink)!important;background:rgba(23,62,50,.05)!important}.gf-lang-menu{position:static;box-shadow:none;margin-top:7px}.gf-split{gap:50px}.gf-photo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.gf-shell{width:min(100% - 34px,1180px)}.gf-section{padding:76px 0}.gf-brand__name{display:none}.gf-header-inner{min-height:76px}.gf-brand__mark{width:54px;height:54px;border-radius:17px}.gf-hero{min-height:810px;border-radius:0 0 30px 30px}.gf-hero__content{padding:160px 0 95px}.gf-hero:after{background:linear-gradient(0deg,rgba(10,25,19,.82),rgba(10,25,19,.25) 75%)}.gf-statbar__grid{grid-template-columns:repeat(2,1fr)}.gf-split,.gf-location__grid{grid-template-columns:1fr;gap:36px}.gf-photo-stack{min-height:470px}.gf-photo-stack__main{height:420px}.gf-feature-grid{grid-template-columns:1fr 1fr}.gf-gallery-home{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,220px)}.gf-gallery-home a:nth-child(n){grid-column:span 1;grid-row:span 1}.gf-location{margin:0 12px}.gf-location img{height:340px}.gf-final{padding-inline:12px}.gf-final__inner{padding:42px 32px;flex-direction:column;align-items:flex-start}.gf-footer-grid{grid-template-columns:1fr}.gf-photo-grid{grid-template-columns:1fr 1fr}.gf-page-hero{padding-top:140px}}
@media(max-width:560px){.gf-shell{width:min(100% - 26px,1180px)}.gf-section{padding:60px 0}.gf-hero{min-height:750px}.gf-hero h1{font-size:clamp(3rem,15vw,4.8rem)}.gf-actions{display:grid}.gf-btn{width:100%}.gf-stat{min-height:92px}.gf-feature-grid{grid-template-columns:1fr}.gf-gallery-home{grid-template-columns:1fr;grid-template-rows:repeat(6,230px)}.gf-photo-stack{min-height:380px}.gf-photo-stack__main{height:340px}.gf-photo-stack__accent{height:135px;border-width:7px}.gf-photo-grid{grid-template-columns:1fr}.gf-photo-card{min-height:250px}.gf-final__inner{padding:34px 23px}.gf-site-footer{border-radius:28px 28px 0 0}}


/* 0.9.1 — header: menu + espaces client/propriétaire sans chevauchement */
.gf-header-inner{width:min(1580px,96%);gap:16px;padding-inline:4px}
.gf-nav{flex:1 1 auto;min-width:0;justify-content:flex-end;gap:2px}
.gf-nav a{font-size:1rem;padding:12px 10px}
.gf-nav .gf-book-link{padding-inline:17px}
.gf-access-zone{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto;margin-left:4px;min-width:0;position:relative;z-index:10025}
.gf-access-zone .gca-header-access-slot.is-placed{display:flex!important;position:static!important;top:auto!important;right:auto!important;line-height:1;margin:0!important}
.gf-access-zone #gca-header-client-access.gbp-owner-access-cluster{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-direction:row!important;flex-wrap:nowrap!important;position:static!important;top:auto!important;right:auto!important}
.gf-access-zone #gca-header-client-access.gbp-owner-access-cluster>.gbp-owner-access-slot{display:block!important;position:static!important;top:auto!important;right:auto!important;margin:0!important}
.gf-access-zone .gca-access-button,.gf-access-zone .gbp-owner-access-button{white-space:nowrap;margin:0!important}

@media(max-width:1540px){
  .gf-brand__name{display:none}
  .gf-brand__mark{width:58px;height:58px;border-radius:18px}
  .gf-nav a{font-size:.96rem;padding-inline:9px}
}

/* Le menu bascule plus tôt : aucun écrasement possible avec les boutons d'accès. */
@media(max-width:1380px){
  .gf-menu-toggle{display:inline-flex;order:2;margin-left:auto}
  .gf-access-zone{order:3;margin-left:0}
  .gf-nav{position:fixed;left:3%;right:3%;top:82px;background:rgba(255,253,248,.99);border:1px solid var(--gf-line);border-radius:24px;box-shadow:var(--gf-shadow);padding:14px;display:none;flex-direction:column;align-items:stretch;z-index:10010}
  .gf-nav.is-open{display:flex}
  .gf-nav a{color:var(--gf-ink)!important;text-shadow:none!important;font-size:1.04rem;padding:12px 14px}
  .gf-nav .gf-book-link{text-align:center;margin-top:4px}
  .gf-lang{margin-left:0}
  .gf-lang>button{width:100%;text-align:left;color:var(--gf-ink)!important;background:rgba(23,62,50,.05)!important}
  .gf-lang-menu{position:static;box-shadow:none;margin-top:7px}
}

@media(max-width:980px){
  .gf-access-zone .gca-access-copy small,.gf-access-zone .gbp-owner-access-copy small{display:none!important}
  .gf-access-zone .gca-access-button,.gf-access-zone .gbp-owner-access-button{min-height:40px!important;padding:7px 10px!important;gap:7px!important}
  .gf-access-zone .gca-access-copy strong,.gf-access-zone .gbp-owner-access-copy strong{font-size:12px!important}
}

@media(max-width:720px){
  .gf-header-inner{width:94%;gap:8px}
  .gf-brand__mark{width:48px;height:48px;border-radius:15px}
  .gf-menu-toggle{padding:9px 12px;font-size:.88rem}
  .gf-access-zone{gap:5px}
  .gf-access-zone .gca-access-button,.gf-access-zone .gbp-owner-access-button{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;padding:0!important;display:grid!important;place-items:center!important;border-radius:50%!important}
  .gf-access-zone .gca-access-copy,.gf-access-zone .gbp-owner-access-copy{display:none!important}
  .gf-access-zone .gca-access-icon,.gf-access-zone .gbp-owner-access-icon{width:19px!important;height:19px!important;flex-basis:19px!important}
  .gf-nav{top:70px}
}


/* 0.9.2 header visibility + spacing refinements */
@media (max-width:1380px){.gf-nav a{font-size:.94rem;padding:11px 10px}.gf-nav{gap:4px}.gf-brand__name{font-size:1.45rem}}
@media (max-width:1240px){.gf-brand__name{display:none}.gf-header-inner{gap:14px}.gf-nav{padding:6px 8px}}
@media (max-width:1120px){.gf-nav{display:none;position:absolute;left:16px;right:16px;top:86px;border-radius:24px;padding:14px;flex-direction:column;align-items:stretch;background:rgba(255,253,248,.98);box-shadow:var(--gf-shadow)}.gf-nav.is-open{display:flex}.gf-nav a,.gf-nav .gf-book-link{width:100%;text-align:center}.gf-menu-toggle{display:inline-flex}.gf-lang{width:100%}.gf-lang>button{width:100%}.gf-lang-menu{left:0;right:0}.gf-access-zone{margin-left:auto}}


/* 0.9.4 - page title spacing + centering */
.gf-page-hero{padding:130px 0 34px;text-align:center}.gf-page-hero .gf-shell{display:flex;flex-direction:column;align-items:center}.gf-page-hero .gf-kicker{justify-content:center;margin-bottom:12px}.gf-page-hero h1{margin:0 auto;max-width:920px}.gf-page-hero p{margin:14px auto 0}.gf-page-hero + .gf-section{padding-top:46px}.gf-page-hero + .gf-section .gf-prose > *:first-child{margin-top:0}.gf-page-hero + .gf-section .gf-prose h2:first-child{margin-top:0}.gf-page-hero + .gf-section .gf-prose h2{margin-top:34px}.gf-page-hero + .gf-section .gf-prose p:first-of-type{margin-top:0}@media(max-width:820px){.gf-page-hero{padding:118px 0 26px}.gf-page-hero + .gf-section{padding-top:34px}}@media(max-width:560px){.gf-page-hero{padding:106px 0 22px}.gf-page-hero + .gf-section{padding-top:26px}}


/* 0.9.5 - centrage forcé des titres + suppression du grand vide */
.gf-page-hero{
    padding:112px 0 24px !important;
    min-height:0 !important;
    height:auto !important;
    text-align:center !important;
}
.gf-page-hero .gf-shell{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
}
.gf-page-hero .gf-kicker{
    justify-content:center !important;
    margin:0 0 10px !important;
}
.gf-page-hero h1{
    width:100% !important;
    max-width:980px !important;
    margin:0 auto !important;
    text-align:center !important;
}
.gf-page-hero + .gf-section{
    padding-top:30px !important;
}
.gf-page-hero + .gf-section .gf-prose{
    padding-top:0 !important;
}
.gf-page-hero + .gf-section .gf-prose > *:first-child{
    margin-top:0 !important;
}
.gf-page-hero + .gf-section .gf-prose h2:first-of-type{
    margin-top:0 !important;
}
.gf-prose h2{
    margin-top:30px !important;
}

@media(max-width:820px){
    .gf-page-hero{
        padding:96px 0 20px !important;
    }
    .gf-page-hero + .gf-section{
        padding-top:24px !important;
    }
}
@media(max-width:560px){
    .gf-page-hero{
        padding:88px 0 18px !important;
    }
    .gf-page-hero + .gf-section{
        padding-top:20px !important;
    }
}


/* 0.9.6 - zone titre encore plus compacte */
.gf-page-hero{
    padding:100px 0 12px !important;
}
.gf-page-hero .gf-kicker{
    margin-bottom:7px !important;
}
.gf-page-hero + .gf-section{
    padding-top:18px !important;
}
.gf-page-hero + .gf-section .gf-prose h2:first-of-type{
    margin-top:0 !important;
}

@media(max-width:820px){
    .gf-page-hero{
        padding:88px 0 10px !important;
    }
    .gf-page-hero + .gf-section{
        padding-top:16px !important;
    }
}
@media(max-width:560px){
    .gf-page-hero{
        padding:82px 0 9px !important;
    }
    .gf-page-hero + .gf-section{
        padding-top:14px !important;
    }
}


/* 0.9.7 - zone de titre plus compacte + footer légal/RGPD */
.gf-page-hero{
    margin-top:92px !important;
    padding:42px 0 8px !important;
}
.gf-page-hero .gf-kicker{
    margin-bottom:5px !important;
}
.gf-page-hero + .gf-section{
    padding-top:12px !important;
}
.gf-page-hero + .gf-section .gf-prose h2:first-of-type{
    margin-top:0 !important;
}

.gf-footer-grid{
    grid-template-columns:1.1fr .85fr .9fr 1.15fr;
    gap:38px;
}
.gf-site-footer h3{
    margin:0 0 14px;
}
.gf-site-footer p{
    margin:0;
}
.gf-footer-links{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:8px;
}
.gf-footer-links a{
    text-decoration:none;
    opacity:.9;
}
.gf-footer-links a:hover{
    opacity:1;
    text-decoration:underline;
}
.gf-footer-legal-note{
    display:flex;
    flex-wrap:wrap;
    gap:8px 18px;
    align-items:center;
    justify-content:space-between;
}
.gf-footer-registration{
    font-weight:700;
    color:rgba(255,255,255,.86);
}
.gf-footer-company{
    color:rgba(255,255,255,.68);
}

@media(max-width:1100px){
    .gf-footer-grid{
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:820px){
    .gf-page-hero{
        margin-top:76px !important;
        padding:32px 0 7px !important;
    }
    .gf-page-hero + .gf-section{
        padding-top:10px !important;
    }
    .gf-footer-grid{
        grid-template-columns:1fr;
        gap:28px;
    }
    .gf-footer-legal-note{
        align-items:flex-start;
        flex-direction:column;
    }
}
@media(max-width:560px){
    .gf-page-hero{
        margin-top:72px !important;
        padding:26px 0 6px !important;
    }
    .gf-page-hero + .gf-section{
        padding-top:8px !important;
    }
}


/* 0.9.8 - suppression de la bande vide sous le menu */
.gf-page-hero{
    margin-top:0 !important;
    padding:104px 0 8px !important;
}
.gf-page-hero .gf-kicker{
    margin-bottom:5px !important;
}
.gf-page-hero + .gf-section{
    padding-top:10px !important;
}

@media(max-width:820px){
    .gf-page-hero{
        margin-top:0 !important;
        padding:88px 0 7px !important;
    }
    .gf-page-hero + .gf-section{
        padding-top:9px !important;
    }
}
@media(max-width:560px){
    .gf-page-hero{
        margin-top:0 !important;
        padding:82px 0 6px !important;
    }
    .gf-page-hero + .gf-section{
        padding-top:8px !important;
    }
}


/* 0.9.10 - page Photos par dossiers/catégories */
.gf-photo-folders{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.gf-photo-folder{
    position:relative;
    min-height:250px;
    border:0;
    padding:0;
    border-radius:24px;
    overflow:hidden;
    cursor:pointer;
    background:#173e32;
    box-shadow:0 16px 38px rgba(23,62,50,.10);
    text-align:left;
}
.gf-photo-folder img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s ease;
}
.gf-photo-folder:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,rgba(10,25,19,.78),rgba(10,25,19,.08) 68%);
}
.gf-photo-folder:hover img{
    transform:scale(1.045);
}
.gf-photo-folder__content{
    position:absolute;
    z-index:2;
    left:20px;
    right:20px;
    bottom:18px;
    color:#fff;
}
.gf-photo-folder__content strong{
    display:block;
    font-family:"Cormorant Garamond",Georgia,serif;
    font-size:1.7rem;
    line-height:1.05;
    margin-bottom:4px;
}
.gf-photo-folder__content small{
    font-size:.84rem;
    opacity:.88;
}
.gf-photo-gallery-view[hidden],
.gf-photo-folders-view[hidden]{
    display:none !important;
}
.gf-photo-gallery-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:24px;
}
.gf-photo-gallery-title{
    margin:0;
    font-size:clamp(2rem,3.6vw,3.4rem);
}
.gf-photo-back{
    border:1px solid rgba(23,62,50,.16);
    background:#fff;
    color:#173e32;
    border-radius:999px;
    padding:11px 16px;
    font-weight:800;
    cursor:pointer;
}
.gf-photo-back:hover{
    background:#f5f1e8;
}
.gf-photo-card[hidden]{
    display:none !important;
}

@media(max-width:900px){
    .gf-photo-folders{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
    .gf-photo-folders{grid-template-columns:1fr}
    .gf-photo-folder{min-height:220px}
    .gf-photo-gallery-head{align-items:flex-start;flex-direction:column}
    .gf-photo-back{width:100%}
}


/* 0.9.13 - bloc intro : revenir à une grande photo + une vraie petite vignette */
.gf-photo-stack{
    position:relative;
    min-height:560px;
}
.gf-photo-stack__main{
    width:88%;
    height:520px;
    object-fit:cover;
    border-radius:34px;
}
.gf-photo-stack__accent{
    position:absolute;
    right:-6px;
    bottom:-18px;
    width:34%;
    max-width:280px;
    height:190px;
    object-fit:cover;
    border:10px solid var(--gf-paper);
    border-radius:28px;
    box-shadow:0 22px 48px rgba(23,62,50,.18);
}

@media(max-width:820px){
    .gf-photo-stack{
        min-height:455px;
    }
    .gf-photo-stack__main{
        width:90%;
        height:405px;
    }
    .gf-photo-stack__accent{
        width:38%;
        max-width:220px;
        height:150px;
        right:0;
        bottom:-10px;
        border-width:8px;
    }
}
@media(max-width:560px){
    .gf-photo-stack{
        min-height:360px;
    }
    .gf-photo-stack__main{
        width:100%;
        height:315px;
    }
    .gf-photo-stack__accent{
        width:41%;
        max-width:160px;
        height:112px;
        right:6px;
        bottom:-6px;
        border-width:6px;
        border-radius:20px;
    }
}


/* 0.9.15 - bloc intro : vraie grande photo + petite vignette plus basse */
.gf-photo-stack{
    position:relative !important;
    min-height:585px !important;
    overflow:visible !important;
}
.gf-photo-stack__main{
    display:block !important;
    width:88% !important;
    max-width:none !important;
    height:540px !important;
    object-fit:cover !important;
    border-radius:34px !important;
}
.gf-photo-stack__accent{
    position:absolute !important;
    z-index:5 !important;
    right:-4px !important;
    bottom:-34px !important;
    width:250px !important;
    max-width:250px !important;
    min-width:250px !important;
    height:185px !important;
    object-fit:cover !important;
    border:10px solid var(--gf-paper) !important;
    border-radius:28px !important;
    box-shadow:0 22px 48px rgba(23,62,50,.18) !important;
}

@media(max-width:1000px){
    .gf-photo-stack{
        min-height:515px !important;
    }
    .gf-photo-stack__main{
        width:90% !important;
        height:465px !important;
    }
    .gf-photo-stack__accent{
        right:0 !important;
        bottom:-28px !important;
        width:220px !important;
        max-width:220px !important;
        min-width:220px !important;
        height:160px !important;
        border-width:8px !important;
    }
}
@media(max-width:820px){
    .gf-photo-stack{
        min-height:465px !important;
    }
    .gf-photo-stack__main{
        width:92% !important;
        height:420px !important;
    }
    .gf-photo-stack__accent{
        width:190px !important;
        max-width:190px !important;
        min-width:190px !important;
        height:142px !important;
        bottom:-24px !important;
    }
}
@media(max-width:560px){
    .gf-photo-stack{
        min-height:365px !important;
    }
    .gf-photo-stack__main{
        width:100% !important;
        height:320px !important;
    }
    .gf-photo-stack__accent{
        width:145px !important;
        max-width:145px !important;
        min-width:145px !important;
        height:105px !important;
        right:8px !important;
        bottom:-18px !important;
        border-width:6px !important;
        border-radius:20px !important;
    }
}


/* 0.9.16 - vignette intro réellement indépendante */
.gf-photo-stack{
    position:relative !important;
    min-height:585px !important;
    overflow:visible !important;
}
.gf-photo-stack__main{
    display:block !important;
    width:88% !important;
    height:540px !important;
    max-width:none !important;
    object-fit:cover !important;
    border-radius:34px !important;
}
.gf-photo-stack__accent-wrap{
    position:absolute !important;
    z-index:8 !important;
    right:-4px !important;
    bottom:-28px !important;
    width:250px !important;
    height:185px !important;
    max-width:250px !important;
    max-height:185px !important;
    overflow:hidden !important;
    border:10px solid var(--gf-paper) !important;
    border-radius:28px !important;
    box-shadow:0 22px 48px rgba(23,62,50,.18) !important;
    background:var(--gf-paper) !important;
}
.gf-photo-stack__accent-wrap img{
    display:block !important;
    position:static !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:cover !important;
    border:0 !important;
    border-radius:18px !important;
    margin:0 !important;
    padding:0 !important;
}

@media(max-width:1000px){
    .gf-photo-stack{min-height:515px !important}
    .gf-photo-stack__main{width:90% !important;height:465px !important}
    .gf-photo-stack__accent-wrap{
        width:220px !important;
        height:160px !important;
        max-width:220px !important;
        max-height:160px !important;
        right:0 !important;
        bottom:-22px !important;
        border-width:8px !important;
    }
}
@media(max-width:820px){
    .gf-photo-stack{min-height:465px !important}
    .gf-photo-stack__main{width:92% !important;height:420px !important}
    .gf-photo-stack__accent-wrap{
        width:190px !important;
        height:140px !important;
        max-width:190px !important;
        max-height:140px !important;
        bottom:-18px !important;
    }
}
@media(max-width:560px){
    .gf-photo-stack{min-height:365px !important}
    .gf-photo-stack__main{width:100% !important;height:320px !important}
    .gf-photo-stack__accent-wrap{
        width:145px !important;
        height:105px !important;
        max-width:145px !important;
        max-height:105px !important;
        right:8px !important;
        bottom:-12px !important;
        border-width:6px !important;
        border-radius:20px !important;
    }
}


/* 0.9.17 - accès admin discret via la photo du header */
.gf-brand{
    display:flex;
    align-items:center;
    gap:12px;
    flex:0 0 auto;
}
.gf-brand__mark{
    display:block;
    text-decoration:none;
    cursor:pointer;
}
.gf-brand__name{
    text-decoration:none;
}
#gbp-header-owner-access,
.gf-access-zone .gbp-owner-access-slot,
.gf-access-zone .gbp-owner-access-button{
    display:none !important;
}
