/*
Theme Name: Le Duplex Fondaudège
Theme URI: https://www.fondaudege.senamaud.fr
Author: Fondaudège
Description: Thème indépendant pour le duplex Fondaudège à Bordeaux. Photos incluses, identité bordelaise chic.
Version: 2.3.0
Requires at least: 6.4
Requires PHP: 8.3
Text Domain: fondaudege
*/
:root{--forest:#20372d;--pine:#142920;--gold:#b18a4d;--cream:#f8f6f1;--ink:#26352e;--muted:#72766f;--line:#e7e5dc;--font:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.wrap{max-width:1230px;margin:auto;padding:0 28px}.site-header{height:85px;background:var(--forest);color:white;display:flex;align-items:center;position:sticky;top:0;z-index:100;box-shadow:0 6px 25px #17281f13}.head-inner{display:flex;align-items:center;justify-content:space-between;width:100%;gap:24px}.brand{font-family:var(--font);font-size:29px;line-height:1;letter-spacing:-.7px;white-space:nowrap}.brand small{font-family:Arial,Helvetica,sans-serif;font-size:9px;letter-spacing:3px;display:block;text-align:center;margin-top:7px}.menu{display:flex;align-items:center;gap:28px;font-size:13px}.menu a:not(.nav-cta){opacity:.9}.menu a:hover{color:#dfc38e}.nav-cta,.btn-gold{background:var(--gold);color:white;border:0;border-radius:5px;padding:14px 23px;font-size:13px;font-weight:600;display:inline-block}.nav-cta:hover,.btn-gold:hover{background:#97743c;color:#fff}.menu-toggle{display:none;background:none;border:1px solid #ffffff60;color:#fff;border-radius:5px;padding:9px 12px}.hero{position:relative;min-height:610px;background:#ddd;color:#fff;display:flex;align-items:center}.hero-photo{position:absolute;inset:0;background-position:center 52%;background-size:cover}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,29,22,.75),rgba(11,29,22,.35) 42%,rgba(0,0,0,.03) 78%);z-index:1}.hero-content{position:relative;z-index:2;width:100%;padding-top:55px;padding-bottom:120px}.eyebrow{font-size:11px;letter-spacing:3px;font-weight:700;text-transform:uppercase;color:#d7b97e}.hero h1{font-family:var(--font);font-weight:400;letter-spacing:-1.8px;line-height:1.08;font-size:clamp(43px,5.6vw,76px);max-width:670px;margin:20px 0}.hero p{font-size:17px;line-height:1.65;max-width:450px}.hero-buttons{display:flex;gap:14px;align-items:center;margin-top:28px}.btn-outline{border:1px solid #ffffffb0;padding:13px 24px;color:white;border-radius:5px;font-size:13px}.booking-wrap{position:relative;z-index:3;margin-top:-60px}.booking-bar{background:#fff;box-shadow:0 15px 50px #17281f22;border-radius:9px;display:grid;grid-template-columns:1fr 1fr .8fr auto;gap:0;padding:20px;align-items:end}.field{display:block;border-right:1px solid #ecebe7;padding:5px 20px}.field span{display:block;font-weight:700;font-size:12px;margin-bottom:10px}.field input,.field select{display:block;border:0;background:white;width:100%;color:#333;outline-offset:3px;padding:3px 0;font-size:14px}.booking-action{padding:0 8px 0 18px}.booking-action button{background:var(--forest);color:white;border:0;border-radius:5px;padding:18px 24px;white-space:nowrap;font-size:14px}.booking-note{text-align:center;color:var(--muted);font-size:11px;margin:15px 0 0}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:62px 0 52px;border-bottom:1px solid var(--line)}.feature{text-align:center}.feature .sym{font-size:30px;font-weight:300;color:var(--forest)}.feature strong{display:block;font-size:13px;margin-top:11px}.feature small{display:block;color:var(--muted);margin-top:5px;font-size:11px}.section{padding:95px 0}.cream{background:var(--cream)}.section-label{font-size:11px;letter-spacing:3px;color:var(--gold);font-weight:700}.section h2{font-family:var(--font);font-size:clamp(37px,4vw,55px);line-height:1.15;font-weight:400;letter-spacing:-.9px;margin:18px 0 26px}.section p{line-height:1.9;color:#5b625b;font-size:15px}.split{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:80px}.split img{width:100%;height:460px;object-fit:cover}.frame{position:relative}.frame:before{content:'';position:absolute;inset:25px 25px -25px -25px;background:var(--forest);z-index:0}.frame img{position:relative;display:block}.fine-btn{border:1px solid var(--gold);border-radius:4px;color:#896a37;padding:13px 20px;margin-top:16px;display:inline-block;font-size:13px}.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:210px 210px;gap:12px;margin-top:35px}.gallery-grid a{display:block;overflow:hidden}.gallery-grid a:first-child{grid-row:span 2}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-grid a:hover img{transform:scale(1.04)}.gallery-grid a:first-child img{object-position:center}.gallery-center{text-align:center;margin-top:25px}.dark-section{background:var(--forest);color:white;padding:85px 0}.dark-section h2{font-family:var(--font);font-size:clamp(34px,4vw,52px);font-weight:400;margin:10px 0 18px}.dark-section p{opacity:.8;max-width:690px;line-height:1.8}.dark-section .statline{display:flex;gap:32px;flex-wrap:wrap;margin-top:26px;font-size:13px}.statline span{border-top:1px solid #ffffff50;padding-top:12px}.faq{display:grid;grid-template-columns:1fr 1fr;gap:30px}.faq article{border-bottom:1px solid var(--line);padding:0 0 22px}.faq h3{font-family:var(--font);font-size:22px;font-weight:400}.faq p{font-size:14px}.site-footer{background:var(--pine);color:#fff;padding:55px 0 24px}.footgrid{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-links{display:flex;flex-wrap:wrap;gap:18px;font-size:12px}.copyright{border-top:1px solid #ffffff24;padding-top:20px;margin-top:45px;color:#ffffff90;font-size:11px}.page-body{padding:75px 0;min-height:40vh}.page-body h1{font-family:var(--font);font-size:50px;font-weight:400}.notice{margin:18px auto;max-width:900px;padding:13px 18px;background:#fff7e9;border:1px solid #e0bf88;font-size:13px;color:#70562c}.modal{position:fixed;inset:0;background:rgba(4,15,12,.95);z-index:999;display:none;align-items:center;justify-content:center;padding:60px 25px}.modal.is-open{display:flex}.modal img{max-height:85vh;max-width:min(94vw,1200px);object-fit:contain}.modal button{position:absolute;top:15px;right:20px;border:0;background:transparent;color:white;font-size:30px}.modal .prev,.modal .next{top:50%;font-size:40px;right:auto;left:18px}.modal .next{right:18px;left:auto}.modal .count{position:absolute;bottom:19px;color:white;font-size:13px}.editor-content{max-width:850px;margin:auto;line-height:1.8}.skip-link{position:absolute;top:-50px;left:20px;background:#fff;z-index:9999;padding:12px}.skip-link:focus{top:10px}@media(max-width:900px){.menu{gap:13px}.brand{font-size:23px}.split{gap:40px}.hero{min-height:540px}.booking-bar{grid-template-columns:1fr 1fr}.booking-action{padding:18px 5px 0;grid-column:span 2}.booking-action button{width:100%}.field:nth-child(2){border:0}}@media(max-width:680px){.wrap{padding:0 20px}.site-header{height:70px}.brand{font-size:21px}.menu-toggle{display:block}.menu{display:none;position:absolute;top:70px;left:0;right:0;background:var(--forest);padding:20px;flex-direction:column;align-items:stretch;gap:17px}.menu.is-open{display:flex}.hero{min-height:550px}.hero-content{padding-top:40px;padding-bottom:125px}.hero h1{font-size:44px}.hero p{font-size:14px}.hero-buttons{flex-wrap:wrap}.booking-wrap{margin-top:-75px}.booking-bar{padding:14px;grid-template-columns:1fr 1fr}.field{padding:10px 6px}.field:nth-child(3){grid-column:span 2;border-top:1px solid var(--line)}.features{grid-template-columns:1fr 1fr;gap:28px;padding:42px 0}.section{padding:65px 0}.split{grid-template-columns:1fr;gap:40px}.split img{height:350px}.frame:before{inset:15px 15px -15px -15px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:190px 155px 155px}.gallery-grid a:first-child{grid-column:span 2;grid-row:span 1}.dark-section{padding:58px 0}.faq{grid-template-columns:1fr}.footgrid{flex-direction:column;align-items:start}}

/* VERSION 2 : reprise fidèle de la maquette approuvée */
.site-header{height:104px;background:#fbf9f5;color:#142a22;box-shadow:none;border-bottom:1px solid #eee9e0;position:relative}
.head-inner{max-width:1440px}.brand{font-size:22px;letter-spacing:-.3px;text-align:center;line-height:1.05;white-space:normal;min-width:220px}.brand span,.brand strong,.brand small{display:block}.brand strong{font-weight:400;font-size:30px;letter-spacing:-1px}.brand small{font-size:15px;letter-spacing:0;margin-top:6px;font-family:Georgia,serif}.menu{font-size:13px;gap:25px}.menu a:not(.nav-cta){opacity:1}.menu a:hover{color:#b18a4d}.nav-cta,.btn-primary{background:#163c25;color:#fff;border-radius:8px;border:0;display:inline-block;padding:16px 26px;font-size:14px;font-weight:600;transition:background .2s}.nav-cta:hover,.btn-primary:hover{background:#245b36;color:white}
.hero{color:#173126;min-height:590px;display:grid;grid-template-columns:43% 57%;background:#f7f5f0;align-items:stretch}.hero:before{display:none}.hero-copy{display:flex;align-items:center;justify-content:flex-end;padding:40px 38px 90px 28px;background:#f7f5f0}.hero-copy-inner{width:100%;max-width:530px}.hero h1{font-size:clamp(39px,4.5vw,70px);line-height:1.08;margin:25px 0 18px;letter-spacing:-1.8px;max-width:none}.hero p{color:#303e36;font-size:18px;max-width:520px;line-height:1.55}.hero-photo{position:relative;inset:auto;background-position:center 50%;min-height:590px}.hero-counter{position:absolute;bottom:30px;right:35px;color:white;background:#17291c8c;padding:10px 14px;border-radius:40px;font-size:11px;letter-spacing:1px}.gold-rule{display:block;width:52px;height:3px;background:#b79555}.hero-facts{display:flex;flex-wrap:wrap;gap:19px;margin:30px 0 35px;font-size:13px}.hero-facts span{white-space:nowrap}.booking-wrap{max-width:1240px;margin-top:-48px;z-index:5}.booking-bar{box-shadow:0 10px 28px #17281f14;border-radius:12px;padding:18px 16px}.field span{font-size:14px}.booking-action button{border-radius:9px;min-width:165px}.booking-note{display:none}.first-intro{padding-top:115px}.section{scroll-margin-top:20px}.section h2{font-size:clamp(37px,4vw,53px)}.section-label{letter-spacing:2.6px}.first-intro .split img{height:420px}.first-intro .split{gap:85px}.first-intro .frame:before{inset:-35px auto 25px -35px;width:85px}.first-intro .gold-rule{margin:22px 0}.features{border:0;padding:45px 0 10px}.bordeaux-preview{background:#fff}.bordeaux-grid{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:65px}.proximity{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 32px}.proximity span{border-bottom:1px solid #e3dbce;padding-bottom:11px;font-size:13px;color:#405246}.map-card{background:#f5f2eb;border:1px solid #e5e0d7;padding:14px;border-radius:12px;box-shadow:0 13px 35px #17281f10}.map-caption{font-family:Georgia,serif;font-size:22px;padding:12px 8px 17px}.map-card iframe{width:100%;height:340px;border:0;display:block;border-radius:6px;filter:saturate(.85)}.map-card small{display:block;color:#656f68;font-size:11px;padding:11px 6px 4px}.map-card a{text-decoration:underline}.contact-row{display:flex;align-items:center;justify-content:space-between;gap:35px}.contact-row p{max-width:680px}.site-footer .brand{color:#fff}.bordeaux-page-hero{background:linear-gradient(105deg,#f8f6f0,#eae6dc);padding:90px 0}.bordeaux-page-hero h1{font:400 clamp(42px,6vw,78px)/1.08 Georgia,serif;color:#173126;margin:22px 0}.bordeaux-page-hero p{max-width:650px;line-height:1.7;font-size:18px}.discover-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}.discover-cards article{background:#fff;padding:30px 24px;border:1px solid #eee8df}.discover-cards h3{font:400 25px Georgia,serif}.discover-cards p{font-size:14px}.discover-number{font:400 34px Georgia,serif;color:#b18a4d}.footer-links{align-items:center}
@media(max-width:1050px){.site-header{height:auto;min-height:93px}.menu{gap:13px}.brand{min-width:175px}.brand strong{font-size:24px}.hero{grid-template-columns:48% 52%}.hero-copy{padding-right:24px}.hero h1{font-size:46px}.hero-facts{gap:12px}.bordeaux-grid{gap:30px}.discover-cards{grid-template-columns:1fr 1fr}}
@media(max-width:740px){.site-header{height:78px;min-height:78px}.head-inner{padding:0 18px}.brand{min-width:0;font-size:16px}.brand strong{font-size:23px}.brand small{font-size:12px}.menu-toggle{display:block;color:#173126;border:1px solid #c4c9c1}.menu{top:78px;background:#fbf9f5;color:#173126;box-shadow:0 20px 30px #14281e20}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:52px 23px 78px;justify-content:flex-start}.hero h1{font-size:clamp(40px,9vw,57px)}.hero-photo{min-height:340px;grid-row:1}.hero-facts{gap:15px}.hero-counter{bottom:15px;right:15px}.booking-wrap{margin-top:-30px}.booking-bar{grid-template-columns:1fr 1fr}.first-intro{padding-top:85px}.first-intro .split{gap:40px}.bordeaux-grid{grid-template-columns:1fr}.map-card iframe{height:290px}.proximity{grid-template-columns:1fr 1fr}.contact-row{display:block}.contact-row .btn-primary{margin-top:14px}.discover-cards{grid-template-columns:1fr}.footgrid{align-items:flex-start}.footer-links{flex-wrap:wrap}}

/* 2.1 — Fix du cadre, marges, et de la mise en page initiale */
html,body {overflow-x:clip}
.hero {isolation:isolate}
.hero-copy {min-width:0}
.hero-copy-inner {min-width:0}
.hero-photo {background-size:cover;background-repeat:no-repeat;min-width:0}
.booking-wrap {position:relative}
.first-intro .frame {isolation:isolate;margin-left:0}
.first-intro .frame:before {inset: -24px auto 24px -24px;width:85px;z-index:-1;pointer-events:none}
.first-intro .frame img {position:relative;z-index:1}
@media (max-width:740px) {
 .hero-copy {padding:40px 23px 68px}
 .hero-photo {min-height:320px}
 .first-intro .frame:before {inset:-14px auto 14px -14px;width:54px}
}
@media (min-width:741px) and (max-width:950px) {
 .hero-facts {gap:9px;font-size:11px}
 .hero-copy {padding-left:25px}
}

/* 2.2 — suppression réelle des superpositions sur le premier écran */
@media(min-width:741px){
 .hero{display:grid;grid-template-columns:minmax(0,43%) minmax(0,57%);min-height:590px;overflow:hidden;align-items:stretch}
 .hero-copy{position:relative;z-index:1;padding-bottom:55px;min-width:0}
 .hero-photo{position:relative;z-index:0;inset:auto;min-width:0;min-height:590px;background-size:cover;background-position:center center}
 .booking-wrap{margin-top:0;max-width:1230px;padding-top:24px;padding-bottom:10px;position:relative;z-index:1}
 .first-intro{padding-top:90px}
}
/* Le cadre décoratif ne dépasse plus sur l'image / les sections adjacentes */
.first-intro .frame{overflow:visible;margin:0;isolation:auto}
.first-intro .frame:before{content:none !important;display:none !important}
.first-intro .frame img{position:relative;z-index:auto;display:block;object-fit:cover}
@media(max-width:740px){.hero{overflow:hidden}.hero-photo{position:relative;min-height:320px}.booking-wrap{margin-top:0;padding-top:16px}.first-intro .frame:before{display:none!important}}
.bordeaux-photo-feature{margin:38px auto 12px;max-width:1190px}
.bordeaux-photo-feature img{display:block;width:100%;height:390px;object-fit:cover;border-radius:7px;background:#ede7da}
.bordeaux-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px}
.bordeaux-photo-card{background:white;overflow:hidden;border:1px solid var(--line);border-radius:7px}
.bordeaux-photo-card img{display:block;width:100%;height:220px;object-fit:cover;background:#eee7de}
.bordeaux-photo-card .photo-info{padding:21px}
.bordeaux-photo-card h3{margin:0 0 8px;font-family:Georgia,serif;font-weight:400;font-size:24px}
.bordeaux-photo-card p{margin:0 0 12px;font-size:13px;line-height:1.6}
.photo-credit{font-size:11px!important;color:#6b7067!important;line-height:1.5!important}
.photo-credit a{text-decoration:underline}
@media(max-width:740px){.bordeaux-photo-grid{grid-template-columns:1fr}.bordeaux-photo-feature img{height:240px}}

/* v2.3 — suppression définitive du cartouche sur la photographie */
.hero-counter{display:none!important}
