
/*
Theme Name: La Grange de la Bastide
Theme URI: https://lagrangedelabastide.fr/
Author: OpenAI
Description: Thème vitrine sur mesure pour les gîtes La Grange de la Bastide en Ariège.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: grange-bastide
*/
:root{--ivory:#F4F0E6;--sage:#78836A;--forest:#394B39;--stone:#B8A58A;--earth:#493B2D;--white:#fff;--ink:#302d28;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fbfaf7;font-family:var(--sans);font-size:16px;line-height:1.65}a{color:var(--forest);text-decoration:none}a:hover{text-decoration:underline}img{display:block;max-width:100%;height:auto}.site-header{position:absolute;z-index:5;top:0;left:0;right:0;padding:24px 5vw;display:flex;align-items:center;justify-content:space-between;color:white}.brand{font:500 29px var(--serif);letter-spacing:.02em;color:inherit}.main-nav{display:flex;gap:28px;align-items:center}.main-nav a{color:inherit;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.nav-cta,.button{display:inline-block;padding:13px 23px;background:var(--forest);color:white;border:1px solid var(--forest);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.nav-cta{background:transparent;border-color:rgba(255,255,255,.75)}.hero{min-height:760px;height:88vh;max-height:940px;position:relative;display:flex;align-items:flex-end;background-color:#394b39;background-position:center 50%;background-size:cover;background-repeat:no-repeat;color:white}.hero:after{content:"";position:absolute;inset:auto 0 0;height:40%;background:linear-gradient(transparent,rgba(0,0,0,.35))}.hero-content{position:relative;z-index:1;width:min(780px,90%);margin:0 0 90px 9vw}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:11px}.hero h1{font:400 clamp(48px,7vw,86px)/.98 var(--serif);margin:20px 0}.hero p{font-size:18px;max-width:590px}.hero .button{margin-top:18px;background:var(--ivory);color:var(--forest);border-color:var(--ivory)}.section{padding:105px 8vw}.section-intro{text-align:center;max-width:760px;margin:0 auto 55px}.section h2{font:400 clamp(38px,5vw,58px)/1.05 var(--serif);color:var(--forest);margin:12px 0 18px}.section-intro p{color:#68645c}.eyebrow-dark{color:var(--sage)}.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:7vw;align-items:center}.intro-grid img{width:100%;height:520px;object-fit:cover}.intro-copy h2{font:400 52px/1.02 var(--serif);color:var(--forest)}.offers{background:var(--ivory)}.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.offer-card{background:#fff}.offer-card img{width:100%;height:270px;object-fit:cover}.offer-body{padding:27px}.offer-body h3{font:400 34px var(--serif);color:var(--forest);margin:0}.meta{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--sage)}.offer-body p{min-height:78px}.text-link{font-size:12px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--stone);padding-bottom:5px}.feature-band{display:grid;grid-template-columns:1fr 1fr;background:var(--forest);color:white}.feature-band img{width:100%;height:540px;object-fit:cover}.feature-copy{padding:80px 9vw;align-self:center}.feature-copy h2{color:white}.feature-copy p{color:#e5e3d9}.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-auto-rows:230px;gap:12px}.gallery-grid img{width:100%;height:100%;object-fit:cover}.gallery-grid img:first-child{grid-row:span 2}.gallery-grid img:last-child{grid-column:span 2}.local{background:#f0ede5}.local-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.local-grid img{height:470px;width:100%;object-fit:cover}.booking{background:var(--ivory)}.booking-wrap{max-width:820px;margin:auto;background:#fff;padding:48px}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-form label{font-size:13px;color:var(--earth)}.booking-form input,.booking-form select,.booking-form textarea{width:100%;padding:13px;border:1px solid #d8d2c7;background:#fff;font:inherit;margin-top:6px}.booking-form .full{grid-column:1/-1}.booking-form button{cursor:pointer}.site-footer{background:#292f27;color:#e9e6dc;padding:55px 8vw;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.site-footer a{color:#e9e6dc}.footer-brand{font:32px var(--serif)}.copyright{font-size:12px;color:#c5c2b8}.notice{padding:12px 16px;background:#e6eee2;color:var(--forest);margin-bottom:20px}.mobile-toggle{display:none}
@media(max-width:800px){.site-header{padding:18px 5vw}.main-nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--forest);padding:24px;flex-direction:column}.main-nav.open{display:flex}.mobile-toggle{display:block;background:transparent;color:white;border:1px solid white;padding:8px 12px}.hero{min-height:650px;height:82vh}.hero-content{margin:0 6vw 70px}.section{padding:75px 6vw}.intro-grid,.local-grid,.feature-band{grid-template-columns:1fr}.intro-grid img{height:350px}.offer-grid{grid-template-columns:1fr}.offer-card img{height:300px}.feature-band img{height:340px}.feature-copy{padding:55px 7vw}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.gallery-grid img:first-child{grid-row:span 1}.gallery-grid img:last-child{grid-column:span 1}.booking-wrap{padding:25px}.booking-form{grid-template-columns:1fr}.booking-form .full{grid-column:auto}.site-footer{flex-direction:column}.brand{font-size:24px}}

/* V3: galleries by accommodation and Instagram */
.instagram-link{color:inherit;font-size:13px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.65);padding-bottom:4px}
.stay-details{padding-top:65px;padding-bottom:65px}
.stay-details:nth-of-type(even){background:#f5f2ea}
.stay-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:1320px;margin:0 auto}
.stay-gallery img{width:100%;height:340px;object-fit:cover}
.detail-cta{text-align:center;margin:32px 0 0}
@media(max-width:800px){.instagram-link{display:none}.stay-gallery{grid-template-columns:1fr}.stay-gallery img{height:280px}}

.host-section{background:#fbfaf7}.host-grid{max-width:1120px;margin:auto;display:grid;grid-template-columns:360px 1fr;gap:7vw;align-items:center}.host-grid>img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:2px}.host-grid h2{font:400 clamp(38px,5vw,58px)/1.05 var(--serif);color:var(--forest)}.host-grid p{max-width:650px}.consent{display:flex;gap:10px;align-items:flex-start}.consent input{width:auto!important;margin-top:4px!important}.gallery-landscapes{grid-template-columns:1.2fr 1fr 1fr;grid-auto-rows:260px}.gallery-landscapes img{object-position:center center}
@media(max-width:800px){.host-grid{grid-template-columns:1fr;gap:28px}.host-grid>img{max-width:300px}.gallery-landscapes{grid-template-columns:1fr 1fr;grid-auto-rows:170px}.gallery-landscapes img:first-child{grid-row:span 1}.gallery-landscapes img:last-child{grid-column:auto}}

/* Language selector */
.language-switch{display:inline-flex;gap:5px;align-items:center;margin-right:12px;font-size:11px;letter-spacing:.08em;color:inherit}.language-switch a{color:inherit;text-decoration:none;opacity:.9}.language-switch a:hover{text-decoration:underline;opacity:1}
@media(max-width:800px){.language-switch{margin:8px 0;justify-content:center}}


/* V7 – visual refresh, host contact and photo galleries */
.site-header{position:absolute;background:rgba(250,248,242,.96);color:#24251f;padding:14px 5vw;min-height:78px;backdrop-filter:blur(8px)}
.brand{display:flex;align-items:center;gap:10px;color:#22251f;font-size:27px;line-height:1.02}.brand-mountain{font:32px Georgia,serif;letter-spacing:-.18em;transform:scaleX(1.25);display:inline-block;color:var(--forest)}.brand small{display:block;font:12px var(--sans);letter-spacing:0;margin-top:4px;color:#5e5a50}
.main-nav a{color:#292a25;font-size:11px;letter-spacing:.045em}.main-nav .nav-cta{background:var(--forest);border-color:var(--forest);color:#fff;padding:11px 18px}.main-nav .instagram-link{font-size:22px;text-transform:none;border:0;padding:0;color:#b34b7a}.language-switch{color:#292a25}.hero{height:72vh;min-height:620px;max-height:820px;background-position:center 54%;align-items:center}.hero:after{height:100%;background:linear-gradient(90deg,rgba(20,31,24,.24),transparent 70%)}.hero-content{margin:70px 0 0 8vw;max-width:650px}.hero h1{font-style:italic;font-size:clamp(48px,6vw,76px)}.hero p{font-size:17px}.section{padding:78px 6vw}.offers{background:#f6f2e9}.section-intro{margin-bottom:34px}.section-intro h2{color:#22251f}.mountain-divider{font-size:22px;color:var(--forest);line-height:1;margin-top:-5px}.offer-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1440px;margin:auto;gap:22px}.offer-card{display:grid;grid-template-columns:42% 1fr;border:1px solid #e8e0d2;border-radius:8px;overflow:hidden;background:rgba(255,255,255,.58)}.offer-card img{height:100%;min-height:260px;object-fit:cover}.offer-body{padding:20px 24px}.offer-body h3{font-size:36px;color:#151813}.offer-body p{min-height:0;margin:12px 0 16px}.offer-facts{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;margin:8px 0 12px;color:#34352f}.offer-body .button{display:block;width:max-content;max-width:100%;padding:10px 14px;font-size:11px;letter-spacing:.02em;border-radius:4px}.airbnb-link{display:block;margin-top:8px;width:max-content;max-width:100%;font-size:12px;color:#343a32;text-decoration:underline;text-underline-offset:3px}.airbnb-link.inline{display:inline-block}.whole-house{text-align:center;margin:35px auto 0;max-width:760px;padding:20px;border-top:1px solid #ded7c9}.whole-house h3{font:26px var(--serif);margin:0 0 5px}.whole-house p{margin:0 0 8px}.separator{padding:0 8px;color:#aaa}
.landscapes{display:grid;grid-template-columns:.8fr 2.2fr;gap:36px;align-items:center}.landscape-intro h2{font:42px/1.05 var(--serif);color:var(--forest)}.landscape-intro p{max-width:380px}.outline-button{display:inline-block;border:1px solid var(--forest);padding:10px 16px;border-radius:4px;color:var(--forest);font-size:13px}.landscape-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:150px;gap:8px}.landscape-grid img{width:100%;height:100%;object-fit:cover;border-radius:5px;object-position:center}.landscape-grid img:first-child{grid-row:span 2}.landscape-grid img:nth-child(4){grid-column:span 2}.stay-details{background:#fbfaf7}.stay-details:nth-of-type(even){background:#f4f0e6}.stay-gallery{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1320px}.stay-gallery img{height:300px;object-fit:cover}.whole-detail .stay-gallery img{height:280px}.local{background:#f0ede5}.local-grid img{object-position:center 55%;height:460px}.host-section{background:var(--forest);color:#f5f1e8}.host-section h2,.host-section h3{color:#fff}.host-grid{max-width:1400px;grid-template-columns:210px 1.1fr .8fr 1fr;gap:34px}.host-grid>img{width:210px;height:250px;aspect-ratio:auto;object-fit:cover;border-radius:4px}.host-grid p{color:#e7e5dc}.host-contact,.host-instagram{border-left:1px solid rgba(255,255,255,.35);padding-left:30px}.host-contact h3,.host-instagram h3{font:22px var(--serif);margin:0 0 12px}.host-contact a,.host-instagram a{color:#fff}.host-contact p{font-size:13px;margin:0 0 12px}.instagram-glyph{font-size:25px;vertical-align:middle;margin-right:8px}.instagram-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.instagram-preview img{height:86px;width:100%;object-fit:cover;border-radius:3px}.instagram-follow{display:inline-block;margin-top:10px;font-size:12px}.booking-wrap{border-radius:4px}.booking-whatsapp{text-align:center;font-size:13px}.booking-whatsapp a{text-decoration:underline}.site-footer{background:#242a23}.mobile-toggle{color:#242a23;border-color:#242a23}
@media(max-width:1050px){.host-grid{grid-template-columns:180px 1fr 1fr}.host-instagram{grid-column:2/4}.offer-card{grid-template-columns:38% 1fr}.main-nav{gap:14px}}
@media(max-width:800px){.site-header{background:rgba(250,248,242,.97);color:#24251f}.brand{font-size:22px}.brand small{font-size:10px}.main-nav{background:#f8f5ed;box-shadow:0 8px 18px rgba(0,0,0,.12)}.main-nav a{color:#24251f}.mobile-toggle{color:#24251f;border-color:#24251f}.hero{min-height:610px;height:78vh;background-position:57% center}.hero-content{margin:80px 6vw 45px}.hero h1{font-size:52px}.offer-grid-two{grid-template-columns:1fr}.offer-card{grid-template-columns:1fr}.offer-card img{height:240px;min-height:0}.landscapes{grid-template-columns:1fr}.landscape-grid{grid-auto-rows:130px}.stay-gallery{grid-template-columns:1fr 1fr}.stay-gallery img{height:220px}.host-grid{grid-template-columns:1fr;gap:20px}.host-grid>img{width:190px;height:220px}.host-contact,.host-instagram{border-left:0;border-top:1px solid rgba(255,255,255,.35);padding:20px 0 0}.host-instagram{grid-column:auto}.instagram-preview img{height:100px}}

/* Direct contact buttons replacing the unreliable email form */
.direct-contact-actions{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin:28px auto 18px}.direct-contact-actions .button,.direct-contact-actions .outline-button{min-width:210px;text-align:center}.booking-whatsapp{max-width:680px;margin:16px auto 0;color:var(--muted)}
