/*
Theme Name: GreenStay Lorient
Theme URI: https://www.greenstaylorient.fr/
Author: GreenStay Lorient
Description: Thème WordPress sur mesure pour GreenStay Lorient, conciergerie premium et éco-responsable. Reproduction fidèle de la maquette HTML avec formulaire d'étude gratuite et intégration Cal.com.
Version: 2.0.1
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 8.0
Text Domain: greenstay-lorient
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: custom-logo, custom-menu, featured-images, responsive-layout, accessibility-ready
*/

:root {
  --green-950:#173521;
  --green-900:#244b2e;
  --green-800:#315f3a;
  --green-700:#48764a;
  --green-500:#7ea277;
  --sage:#a8bea1;
  --sage-light:#dfe9da;
  --cream:#f7f3ea;
  --sand:#c7a57d;
  --sand-light:#eee2d1;
  --white:#fff;
  --ink:#203026;
  --muted:#657269;
  --shadow:0 20px 60px rgba(29,62,37,.13);
  --radius-lg:34px;
  --radius-md:24px;
  --container:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--ink);background:
  radial-gradient(circle at 0 0,rgba(168,190,161,.23),transparent 30rem),var(--cream);
  font-family:"DM Sans",sans-serif;line-height:1.55
}
img,video{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:"Playfair Display",serif;color:var(--green-950);line-height:1.06}
h2{font-size:clamp(2.15rem,4vw,3.8rem)}
h3{color:var(--green-900)}
ul{padding-left:1.2rem}
li::marker{color:var(--green-700)}
.section-shell{width:min(calc(100% - 40px),var(--container));margin:32px auto}
.site-header{
  position:sticky;z-index:30;top:0;display:flex;align-items:center;justify-content:space-between;
  min-height:96px;padding:10px max(20px,calc((100vw - var(--container))/2));
  border-bottom:1px solid rgba(36,75,46,.1);background:rgba(247,243,234,.94);backdrop-filter:blur(16px)
}
.brand img{
  display:block;
  width:190px;
  height:auto;
  max-width:100%;
  object-fit:contain;
  filter:none;
  background:transparent
}
.main-nav{display:flex;align-items:center;gap:24px;font-weight:700}
.main-nav a{transition:.2s ease}
.main-nav a:hover{color:var(--green-700);transform:translateY(-1px)}
.nav-cta{padding:12px 18px;border-radius:999px;color:white;background:var(--green-800)}
.hero{
  display:grid;grid-template-columns:1.08fr .92fr;min-height:750px;overflow:hidden;
  border-radius:var(--radius-lg);background:linear-gradient(135deg,#9fb998,#d0dcc9);box-shadow:var(--shadow)
}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(44px,6vw,84px)}
.eyebrow{margin-bottom:12px;color:var(--green-700);font-size:.82rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.hero-title{max-width:760px;margin:0 0 24px;font-size:clamp(2.8rem, 5vw, 5.4rem);line-height:.95;letter-spacing:-.04em}
.hero-title span{display:block;color:var(--green-800);font-style:italic}
.hero-types{font-size:clamp(1.05rem,1.8vw,1.4rem);font-weight:800}
.hero-text{max-width:660px;color:#31463a;font-size:1.1rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0 20px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 24px;border:0;border-radius:999px;font:inherit;font-weight:800;cursor:pointer}
.button-primary{color:#fff;background:var(--green-800);box-shadow:0 13px 30px rgba(36,75,46,.2)}
.button-secondary{border:1px solid var(--green-900);background:rgba(255,255,255,.68)}
.button-light{color:var(--green-900);background:#fff}
.hero-trust{display:flex;flex-wrap:wrap;gap:10px 18px;color:var(--green-900);font-size:.92rem;font-weight:700}
.media-frame{position:relative;overflow:hidden;background:#dce4d8}
.hero-media{min-height:630px;margin:24px 24px 24px 0;border-radius:160px 28px 28px 160px}
.hero-media video,.price-media video,.eco-media video{background-size:cover}
.hero-floating-card{
  position:absolute;right:28px;bottom:28px;display:grid;gap:5px;width:min(350px,calc(100% - 56px));
  padding:21px 23px;border:1px solid rgba(255,255,255,.28);border-radius:22px;color:#fff;
  background:rgba(36,75,46,.88);box-shadow:0 20px 40px rgba(21,44,27,.24);backdrop-filter:blur(12px)
}
.floating-label{color:#ead4b7;font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.hero-floating-card strong{font-size:1.15rem}.hero-floating-card small{color:rgba(255,255,255,.83)}
.launch-banner{
  display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px 42px;border-radius:28px;
  color:#fff;background:linear-gradient(110deg,var(--green-950),var(--green-700));box-shadow:var(--shadow)
}
.launch-banner h2{margin-bottom:8px;color:#fff;font-size:clamp(1.7rem,3vw,2.7rem)}
.launch-banner p{margin-bottom:0}.launch-banner .eyebrow{color:#d8c3a6}
.offers,.services,.process,.contact{
  padding:clamp(34px,6vw,74px);border-radius:var(--radius-lg);background:rgba(255,255,255,.86);box-shadow:var(--shadow)
}
.section-heading{max-width:850px;margin:0 auto 42px;text-align:center}
.align-left{margin-left:0;text-align:left}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.price-card{
  position:relative;overflow:hidden;border:1px solid rgba(49,95,58,.13);border-radius:28px;background:linear-gradient(180deg,#fff,#f3efe6);
  box-shadow:0 12px 34px rgba(37,72,44,.08)
}
.price-card.featured{transform:translateY(-10px);border:2px solid var(--green-700);box-shadow:0 22px 55px rgba(37,72,44,.16)}
.featured-badge{position:absolute;z-index:3;top:18px;right:18px;padding:8px 12px;border-radius:999px;color:#fff;background:var(--green-800);font-size:.72rem;font-weight:800;text-transform:uppercase}
.price-media{height:225px}
.price-content{padding:25px}
.plan-label{margin-bottom:5px;color:var(--green-700);font-size:.78rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.price-content h3{margin-bottom:18px;font-family:"Playfair Display",serif;font-size:1.65rem}
.price-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:8px}
.old-price{color:#8c938e;text-decoration:line-through;font-weight:700}
.price-line strong{color:var(--green-900);font-size:2rem}
.price-line small{flex-basis:100%;color:var(--muted)}
.commission,.monthly-price{
  display:inline-flex;align-items:baseline;gap:6px;margin:10px 0 18px;padding:10px 14px;border-radius:14px;
  color:var(--green-950);background:var(--sage-light);font-size:1.6rem;font-weight:800
}
.commission span,.monthly-price span{font-size:.9rem;font-weight:700}
.included-title{margin-bottom:8px;font-weight:800}
.split-price{display:grid;gap:8px;margin:10px 0 18px}
.split-price span{padding:10px 12px;border-radius:12px;background:var(--sage-light)}
.price-content li{margin-bottom:8px}
.exception-note{
  display:flex;gap:16px;align-items:flex-start;margin-top:28px;padding:22px 24px;border:1px solid #dcc6a8;border-radius:20px;background:#fbf5eb
}
.note-icon{display:grid;flex:0 0 34px;height:34px;place-items:center;border-radius:50%;color:#fff;background:var(--sand);font-weight:800}
.exception-note p{margin:0}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.service-grid article{min-height:205px;padding:24px;border-radius:22px;background:linear-gradient(145deg,#f7f3ea,#e2eadc);transition:.2s ease}
.service-grid article:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(37,72,44,.1)}
.service-grid article>span{display:grid;width:46px;height:46px;margin-bottom:18px;place-items:center;border-radius:50%;color:#fff;background:var(--green-800);font-size:1.2rem}
.eco{
  display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden;border-radius:var(--radius-lg);
  background:linear-gradient(120deg,#e1eadc,#fff);box-shadow:var(--shadow)
}
.eco-media{min-height:540px}.eco-copy{padding:clamp(38px,6vw,72px)}
.charter-grid{display:grid;gap:12px;margin-top:25px}
.charter-grid article{display:grid;gap:4px;padding:18px 20px;border-radius:18px;background:rgba(255,255,255,.76)}
.charter-grid strong{color:var(--green-900)}
.process-list{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;padding:0;list-style:none}
.process-list li{display:grid;gap:8px;align-content:start;padding:22px;border-radius:20px;background:var(--sage-light)}
.process-list span{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;color:#fff;background:var(--green-800);font-weight:800}
.process-list small{color:var(--muted)}
.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:start;background:linear-gradient(135deg,#fefdf9,#e8efe3)}
.contact-details{display:grid;gap:10px;margin-top:28px;color:var(--green-800);font-weight:800}
.contact-form{display:grid;gap:18px;padding:28px;border-radius:26px;background:#fff;box-shadow:0 18px 45px rgba(37,72,44,.1)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:grid;gap:7px;color:var(--green-950);font-weight:700}
input,select,textarea{width:100%;padding:13px 14px;border:1px solid #cfd9cc;border-radius:12px;background:#fbfcfa;font:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(72,118,74,.25);border-color:var(--green-700)}
.consent{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;font-size:.88rem;font-weight:500}
.consent input{width:auto;margin-top:4px}.form-note{color:var(--muted)}
.site-footer{padding:45px 20px;color:#fff;background:var(--green-950)}
.footer-inner{display:grid;justify-items:center;gap:14px;max-width:var(--container);margin:auto;text-align:center}
.footer-logo{
  display:block;
  width:210px;
  height:auto;
  max-width:100%;
  object-fit:contain;
  filter:none;
  background:transparent
}
.site-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}
@media(max-width:1050px){
  .main-nav a:not(.nav-cta){display:none}
  .hero,.eco,.contact{grid-template-columns:1fr}
  .hero-media{order:-1;min-height:430px;margin:18px 18px 0;border-radius:30px 90px 30px 90px}
  .pricing-grid{grid-template-columns:1fr}.price-card.featured{transform:none}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .process-list{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .section-shell{width:min(calc(100% - 20px),var(--container));margin:18px auto}
  .site-header{min-height:78px}
  .brand img{
    width:150px;
    height:auto;
    max-width:100%;
    object-fit:contain
  }
  .nav-cta{padding:10px 13px;font-size:.84rem}
  .hero-title{font-size:clamp(2.75rem,13vw,4.15rem)}
  .hero-copy{padding:34px 24px 42px}.hero-media{min-height:330px}
  .hero-floating-card{right:15px;bottom:15px;width:calc(100% - 30px);padding:16px}
  .launch-banner{align-items:flex-start;flex-direction:column;padding:28px}
  .offers,.services,.process,.contact{padding:30px 22px}
  .service-grid,.process-list,.field-row{grid-template-columns:1fr}
  .price-media{height:210px}.eco-media{min-height:320px}.eco-copy{padding:34px 24px}
}


/* =========================================================
   DÉCOR VÉGÉTAL GREENSTAY
   Feuilles discrètes en arrière-plan, sans gêner la lecture
   ========================================================= */

body{
  position:relative;
  isolation:isolate;
  overflow-x:hidden;
}

/* Les deux branches restent derrière tout le contenu */
body::before,
body::after{
  content:"";
  position:fixed;
  z-index:-1;
  width:290px;
  height:520px;
  pointer-events:none;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  opacity:.12;
  filter:blur(.15px);
}

/* Branche supérieure gauche */
body::before{
  top:78px;
  left:-72px;
  transform:rotate(-8deg);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 520'%3E%3Cg fill='none' stroke='%2348764a' stroke-width='4' stroke-linecap='round'%3E%3Cpath d='M44 505C62 402 91 295 151 202C186 148 218 101 242 20'/%3E%3C/g%3E%3Cg fill='%237ea277'%3E%3Cellipse cx='70' cy='424' rx='29' ry='13' transform='rotate(-41 70 424)'/%3E%3Cellipse cx='95' cy='381' rx='31' ry='14' transform='rotate(33 95 381)'/%3E%3Cellipse cx='105' cy='332' rx='33' ry='15' transform='rotate(-40 105 332)'/%3E%3Cellipse cx='135' cy='286' rx='34' ry='15' transform='rotate(35 135 286)'/%3E%3Cellipse cx='151' cy='238' rx='35' ry='16' transform='rotate(-38 151 238)'/%3E%3Cellipse cx='181' cy='191' rx='34' ry='15' transform='rotate(35 181 191)'/%3E%3Cellipse cx='199' cy='145' rx='32' ry='14' transform='rotate(-38 199 145)'/%3E%3Cellipse cx='225' cy='99' rx='29' ry='13' transform='rotate(35 225 99)'/%3E%3Cellipse cx='235' cy='54' rx='27' ry='12' transform='rotate(-35 235 54)'/%3E%3C/g%3E%3C/svg%3E");
}

/* Branche inférieure droite */
body::after{
  right:-82px;
  bottom:-54px;
  transform:rotate(173deg);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 520'%3E%3Cg fill='none' stroke='%2348764a' stroke-width='4' stroke-linecap='round'%3E%3Cpath d='M44 505C62 402 91 295 151 202C186 148 218 101 242 20'/%3E%3C/g%3E%3Cg fill='%23a8bea1'%3E%3Cellipse cx='70' cy='424' rx='29' ry='13' transform='rotate(-41 70 424)'/%3E%3Cellipse cx='95' cy='381' rx='31' ry='14' transform='rotate(33 95 381)'/%3E%3Cellipse cx='105' cy='332' rx='33' ry='15' transform='rotate(-40 105 332)'/%3E%3Cellipse cx='135' cy='286' rx='34' ry='15' transform='rotate(35 135 286)'/%3E%3Cellipse cx='151' cy='238' rx='35' ry='16' transform='rotate(-38 151 238)'/%3E%3Cellipse cx='181' cy='191' rx='34' ry='15' transform='rotate(35 181 191)'/%3E%3Cellipse cx='199' cy='145' rx='32' ry='14' transform='rotate(-38 199 145)'/%3E%3Cellipse cx='225' cy='99' rx='29' ry='13' transform='rotate(35 225 99)'/%3E%3Cellipse cx='235' cy='54' rx='27' ry='12' transform='rotate(-35 235 54)'/%3E%3C/g%3E%3C/svg%3E");
}

/* Petits rappels végétaux autour de certaines grandes sections */
.hero,
.offers,
.services,
.process,
.contact,
.partners-section{
  position:relative;
  isolation:isolate;
}

.hero::before,
.offers::after,
.contact::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:150px;
  height:150px;
  pointer-events:none;
  opacity:.055;
  background:
    radial-gradient(ellipse at 32% 55%, var(--green-700) 0 16%, transparent 17%),
    radial-gradient(ellipse at 59% 31%, var(--green-500) 0 15%, transparent 16%),
    radial-gradient(ellipse at 73% 68%, var(--sage) 0 17%, transparent 18%);
  filter:blur(1px);
}

.hero::before{
  left:-45px;
  bottom:38px;
  transform:rotate(-18deg);
}

.offers::after{
  right:-42px;
  top:80px;
  transform:rotate(20deg);
}

.contact::before{
  left:-48px;
  top:38px;
  transform:rotate(-24deg);
}

/* Les cartes gardent une excellente lisibilité */
.price-card,
.service-grid article,
.contact-form,
.hero-floating-card,
.launch-banner{
  position:relative;
  z-index:1;
}

/* Animation très légère, coupée si l'utilisateur la désactive */
@media (prefers-reduced-motion:no-preference){
  body::before{
    animation:greenstay-leaf-float-left 14s ease-in-out infinite alternate;
  }
  body::after{
    animation:greenstay-leaf-float-right 17s ease-in-out infinite alternate;
  }
}

@keyframes greenstay-leaf-float-left{
  from{transform:rotate(-8deg) translate3d(0,0,0)}
  to{transform:rotate(-5deg) translate3d(5px,8px,0)}
}

@keyframes greenstay-leaf-float-right{
  from{transform:rotate(173deg) translate3d(0,0,0)}
  to{transform:rotate(176deg) translate3d(-5px,-7px,0)}
}

@media(max-width:900px){
  body::before,
  body::after{
    width:210px;
    height:390px;
    opacity:.09;
  }

  body::before{
    left:-95px;
    top:95px;
  }

  body::after{
    right:-105px;
    bottom:-35px;
  }
}

@media(max-width:600px){
  body::before,
  body::after{
    width:165px;
    height:305px;
    opacity:.07;
  }

  .hero::before,
  .offers::after,
  .contact::before{
    width:105px;
    height:105px;
    opacity:.04;
  }
}


/* =========================================================
   PARCOURS PREMIUM — ÉTUDE GRATUITE + CAL.COM
   ========================================================= */

button.nav-cta{
  border:0;
  font:inherit;
  cursor:pointer;
}
.study-trigger{font-family:inherit}

body.study-modal-open{overflow:hidden}

.study-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:24px;
  visibility:hidden;
  opacity:0;
  transition:opacity .28s ease,visibility .28s ease;
}
.study-modal.is-open{
  visibility:visible;
  opacity:1;
}
.study-backdrop{
  position:absolute;
  inset:0;
  background:rgba(14,31,20,.70);
  backdrop-filter:blur(12px);
}
.study-dialog{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(560px,1.28fr);
  width:min(1120px,100%);
  max-height:min(900px,calc(100vh - 48px));
  overflow:hidden;
  border:1px solid rgba(255,255,255,.35);
  border-radius:32px;
  background:#fff;
  box-shadow:0 38px 100px rgba(5,22,11,.38);
  transform:translateY(22px) scale(.98);
  transition:transform .34s cubic-bezier(.2,.8,.2,1);
}
.study-modal.is-open .study-dialog{transform:none}

.study-close{
  position:absolute;
  z-index:12;
  top:18px;
  right:18px;
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  border:1px solid rgba(23,53,33,.13);
  border-radius:50%;
  color:var(--green-950);
  background:rgba(255,255,255,.92);
  box-shadow:0 8px 24px rgba(23,53,33,.13);
  font:400 1.7rem/1 "DM Sans",sans-serif;
  cursor:pointer;
  transition:.2s ease;
}
.study-close:hover{transform:rotate(5deg) scale(1.06);background:#fff}

.study-visual{
  position:relative;
  min-height:680px;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(155deg,rgba(17,51,29,.22),rgba(17,51,29,.84)),
    url("assets/hero-property-exact.jpg") center/cover no-repeat;
}
.study-visual::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 15% 15%,rgba(214,231,207,.28),transparent 20rem),
    linear-gradient(180deg,transparent 35%,rgba(12,37,21,.5));
}
.study-visual-overlay{
  position:absolute;
  inset:0;
  opacity:.4;
  background-image:
    radial-gradient(circle at 18% 20%,rgba(255,255,255,.38) 0 2px,transparent 3px),
    radial-gradient(circle at 78% 28%,rgba(255,255,255,.28) 0 2px,transparent 3px);
  background-size:90px 90px,120px 120px;
}
.study-visual-content{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:100%;
  padding:58px 42px;
}
.study-visual-content img{
  position:absolute;
  top:34px;
  left:34px;
  width:210px;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.12));
}
.study-visual-kicker{
  margin:0 0 12px;
  color:#dfcfb7;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.study-visual-content h3{
  margin:0 0 16px;
  color:#fff;
  font-family:"Playfair Display",serif;
  font-size:clamp(2rem,3vw,3rem);
  line-height:1.05;
}
.study-visual-content>p:not(.study-visual-kicker){
  max-width:450px;
  color:rgba(255,255,255,.88);
}
.study-reassurance{
  display:grid;
  gap:9px;
  margin-top:18px;
  font-size:.92rem;
  font-weight:700;
}

.study-main{
  overflow:auto;
  padding:45px clamp(30px,4.5vw,64px) 32px;
}
.study-header{padding-right:35px}
.study-header h2{
  margin-bottom:11px;
  font-size:clamp(2rem,3.2vw,3.15rem);
}
.study-header>p:not(.eyebrow){color:var(--muted)}

.study-progress{margin:25px 0 30px}
.study-progress-bar{
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:#e6ede2;
}
.study-progress-bar span{
  display:block;
  width:25%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--green-700),#86aa7d);
  transition:width .4s cubic-bezier(.2,.8,.2,1);
}
.study-progress-meta{
  display:flex;
  justify-content:space-between;
  margin-top:9px;
  color:var(--muted);
  font-size:.8rem;
}

.study-step{display:none;animation:studyStepIn .38s ease}
.study-step.is-active{display:block}
@keyframes studyStepIn{
  from{opacity:0;transform:translateX(16px)}
  to{opacity:1;transform:none}
}

.step-heading{
  display:flex;
  gap:15px;
  align-items:center;
  margin-bottom:24px;
}
.step-heading h3{
  margin:0 0 3px;
  font-family:"Playfair Display",serif;
  font-size:1.55rem;
}
.step-heading p{margin:0;color:var(--muted);font-size:.92rem}
.step-icon{
  display:grid;
  flex:0 0 46px;
  height:46px;
  place-items:center;
  border-radius:15px;
  color:#fff;
  background:linear-gradient(145deg,var(--green-800),var(--green-700));
  box-shadow:0 10px 22px rgba(49,95,58,.18);
  font-size:1.25rem;
}

.study-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:17px;
}
.study-field{
  display:grid;
  gap:7px;
  align-content:start;
  font-weight:700;
}
.study-field-wide{grid-column:1/-1}
.study-field>span,
.choice-group legend{color:var(--green-950);font-size:.9rem}
.study-field input,
.study-field select,
.study-field textarea{
  min-height:49px;
  border:1px solid #ced8cb;
  border-radius:13px;
  background:#fbfcfa;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.study-field textarea{resize:vertical}
.study-field input:hover,
.study-field select:hover,
.study-field textarea:hover{border-color:#9fb59a}
.study-field input:focus,
.study-field select:focus,
.study-field textarea:focus{
  outline:0;
  border-color:var(--green-700);
  background:#fff;
  box-shadow:0 0 0 4px rgba(72,118,74,.12);
}
.study-field.has-error input,
.study-field.has-error select,
.study-field.has-error textarea{border-color:#b64a45;background:#fffafa}
.field-error,.group-error,.consent-error{
  min-height:1em;
  color:#a63f3a;
  font-size:.76rem;
  font-weight:700;
}

.choice-group{
  min-width:0;
  margin:0 0 22px;
  padding:0;
  border:0;
}
.choice-group legend{margin-bottom:10px;font-weight:800}
.choice-cards{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:11px;
}
.choice-cards-3{grid-template-columns:repeat(3,1fr)}
.choice-card{position:relative;cursor:pointer}
.choice-card input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.choice-card>span{
  display:grid;
  min-height:88px;
  align-content:center;
  gap:3px;
  padding:15px;
  border:1px solid #d1dbce;
  border-radius:15px;
  background:#fbfcfa;
  transition:.2s ease;
}
.choice-card small{
  color:var(--muted);
  font-size:.75rem;
  font-weight:500;
}
.choice-card:hover>span{transform:translateY(-2px);border-color:#8ca786}
.choice-card input:checked+span{
  border-color:var(--green-700);
  background:var(--sage-light);
  box-shadow:0 0 0 3px rgba(72,118,74,.10);
}
.choice-card input:focus-visible+span{
  outline:3px solid rgba(72,118,74,.25);
  outline-offset:2px;
}

.study-consent{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:start;
  margin-top:18px;
  color:var(--muted);
  font-size:.82rem;
  font-weight:500;
}
.study-consent input{
  width:18px;
  height:18px;
  margin-top:2px;
  accent-color:var(--green-800);
}

.study-actions{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:28px;
  padding-top:20px;
  border-top:1px solid #e7ece5;
}
.study-back{
  min-height:50px;
  padding:12px 18px;
  border:0;
  color:var(--green-800);
  background:transparent;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.study-next{margin-left:auto}

.study-summary{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:15px;
}
.study-summary span{
  padding:7px 11px;
  border-radius:999px;
  color:var(--green-900);
  background:var(--sage-light);
  font-size:.76rem;
  font-weight:700;
}
.calendar-shell{
  overflow:hidden;
  min-height:430px;
  border:1px solid #d5dfd2;
  border-radius:20px;
  background:#f8faf7;
}
.calendar-placeholder{
  display:grid;
  justify-items:center;
  align-content:center;
  min-height:430px;
  padding:32px;
  text-align:center;
}
.calendar-placeholder-icon{
  display:grid;
  width:64px;
  height:64px;
  place-items:center;
  margin-bottom:15px;
  border-radius:20px;
  color:#fff;
  background:var(--green-800);
  font-size:1.7rem;
}
.calendar-placeholder h4{
  margin:0 0 8px;
  color:var(--green-950);
  font-family:"Playfair Display",serif;
  font-size:1.45rem;
}
.calendar-placeholder p{max-width:470px;color:var(--muted)}
.calendar-placeholder code{
  max-width:100%;
  margin:2px 0 18px;
  padding:9px 12px;
  overflow-wrap:anywhere;
  border-radius:9px;
  color:var(--green-900);
  background:#e6ede2;
  font-size:.78rem;
}
.calcom-frame{
  width:100%;
  min-height:650px;
  border:0;
  background:#fff;
}
.calendar-note{
  margin:12px 0 0;
  color:var(--muted);
  font-size:.76rem;
}
.study-calendar-step+.study-actions .study-next{display:none}

@media(max-width:920px){
  .study-modal{padding:12px}
  .study-dialog{
    grid-template-columns:1fr;
    max-height:calc(100vh - 24px);
  }
  .study-visual{display:none}
  .study-main{padding:42px 28px 28px}
}
@media(max-width:620px){
  .study-modal{padding:0}
  .study-dialog{
    width:100%;
    height:100%;
    max-height:none;
    border-radius:0;
  }
  .study-main{padding:64px 18px 24px}
  .study-header{padding-right:20px}
  .study-header h2{font-size:2rem}
  .study-fields,
  .choice-cards,
  .choice-cards-3{grid-template-columns:1fr}
  .choice-card>span{min-height:74px}
  .study-close{top:12px;right:12px}
  .calendar-shell,
  .calendar-placeholder{min-height:390px}
}

@media(prefers-reduced-motion:reduce){
  .study-modal,
  .study-dialog,
  .study-step,
  .study-progress-bar span,
  .study-close,
  .choice-card>span{transition:none;animation:none}
}


/* WordPress integration */
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}

.custom-logo-link{display:block}
.custom-logo-link img{
  width:auto;
  height:auto;
  max-width:100%;
  object-fit:contain;
}

.site-content-standard{
  width:min(1180px,calc(100% - 40px));
  margin:130px auto 70px;
}
.content-card{
  padding:clamp(28px,5vw,60px);
  border-radius:30px;
  background:#fff;
  box-shadow:0 20px 60px rgba(29,62,37,.12);
}
.entry-title{
  margin-bottom:24px;
  color:var(--green-950);
  font-family:"Playfair Display",serif;
}
.entry-content{line-height:1.75}
.entry-content h2,.entry-content h3{margin-top:1.7em}
.entry-content img{height:auto}
.posts-list{display:grid;gap:24px}
.post-card{
  padding:26px;
  border:1px solid rgba(49,95,58,.12);
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 34px rgba(29,62,37,.08);
}
.post-card h2{margin-top:0}
.pagination{margin-top:30px}
.screen-reader-text{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}

/* Partner section styles from original maquette */

    .partners-section{
      display:grid;
      grid-template-columns:1fr 1.25fr;
      gap:70px;
      align-items:start;
      padding:56px clamp(28px,6vw,72px);
      border-radius:34px;
      background:rgba(255,255,255,.92);
      box-shadow:0 20px 60px rgba(29,62,37,.13);
    }
    .partners-column h2{
      margin:0 0 22px;
      color:#315f3a;
      font-family:"DM Sans",sans-serif;
      font-size:clamp(1rem,1.6vw,1.35rem);
      font-weight:800;
      letter-spacing:.12em;
      text-transform:uppercase;
    }
    .platform-logos{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:26px;
      padding:20px 22px;
      border-radius:18px;
      background:#fbfbfa;
    }
    .platform-logo{
      display:flex;
      align-items:center;
      justify-content:center;
      min-height:46px;
      color:#173521;
      font-weight:800;
      font-size:1.15rem;
      white-space:nowrap;
    }
    .platform-logo img{
      width:auto;
      height:38px;
      max-width:150px;
      object-fit:contain;
    }
    .platform-logo.airbnb{color:#ff385c;font-size:1.4rem}
    .platform-logo.booking{color:#003b95;font-size:1.35rem}
    .platform-logo.abritel{color:#0b3d91;font-size:1.35rem}
    .platform-logo.greengo{
      padding:5px 12px;
      border-radius:8px;
      color:#fff;
      background:#2f9f57;
      font-size:1.25rem;
    }
    .local-tags{
      display:flex;
      flex-wrap:wrap;
      gap:18px 26px;
    }
    .local-tags span{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:66px;
      padding:14px 24px;
      border-radius:999px;
      color:#173521;
      background:#dfe9da;
      font-size:clamp(1rem,1.45vw,1.25rem);
      font-weight:800;
      text-align:center;
    }
    @media(max-width:900px){
      .partners-section{grid-template-columns:1fr;gap:38px}
    }
    @media(max-width:700px){
      .partners-section{padding:32px 22px}
      .platform-logos{gap:18px}
      .local-tags{gap:12px}
      .local-tags span{min-height:54px;padding:12px 18px}
    }
  

/* Mise à jour 1.1 — tarifs normaux et offre spéciale lancement */
.price-line-normal{align-items:flex-start}
.price-line-normal strong{display:block;margin-bottom:4px}
.price-line-normal small{display:block;width:100%}

.launch-offer-card{
  position:relative;
  overflow:hidden;
  margin-top:34px;
  border:1px solid rgba(188,139,52,.62);
  border-radius:30px;
  background:
    radial-gradient(circle at 92% 12%,rgba(216,178,102,.18),transparent 22rem),
    linear-gradient(135deg,#fffdf8 0%,#f8f4e9 100%);
  box-shadow:0 24px 65px rgba(60,54,32,.13);
}
.launch-offer-card::before{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.68)
}
.launch-offer-head{
  position:relative;display:flex;justify-content:space-between;gap:28px;align-items:flex-start;
  padding:32px 34px;color:#fff;background:linear-gradient(115deg,var(--green-950),var(--green-800))
}
.launch-offer-head h3{
  max-width:720px;margin:5px 0 10px;color:#fff;font-family:"Playfair Display",serif;
  font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.08
}
.launch-offer-head p{max-width:760px;margin:0;color:rgba(255,255,255,.82)}
.launch-offer-kicker{
  color:#e7c67d!important;font-size:.78rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase
}
.launch-offer-pill{
  flex:0 0 auto;padding:10px 15px;border:1px solid rgba(255,255,255,.28);border-radius:999px;
  color:var(--green-950);background:#e7c67d;box-shadow:0 8px 20px rgba(0,0,0,.13);
  font-size:.76rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase
}
.launch-offer-body{
  display:grid;grid-template-columns:minmax(290px,.72fr) minmax(420px,1.28fr);gap:34px;padding:34px
}
.launch-prices{
  padding:27px;border:1px solid rgba(49,95,58,.12);border-radius:22px;background:rgba(255,255,255,.76)
}
.launch-main-price{
  display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;padding-bottom:22px;border-bottom:1px solid #e5e1d5
}
.launch-main-price .old-price{color:#7a807a;font-size:1.05rem}
.launch-main-price strong{
  color:#9b6819;font-family:"Playfair Display",serif;font-size:3.25rem;line-height:1
}
.launch-main-price small{flex-basis:100%;color:var(--muted)}
.launch-rate-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.launch-rate-grid>div{display:grid;gap:3px;padding:17px;border-radius:16px;background:var(--sage-light)}
.launch-rate-grid span{
  color:var(--green-800);font-size:.76rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase
}
.launch-rate-grid strong{color:var(--green-950);font-size:1.75rem}
.launch-rate-grid small{color:var(--muted)}
.launch-renewal{
  display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:start;margin-top:20px;padding:16px;
  border-radius:16px;color:var(--green-950);background:#fff4d8
}
.launch-renewal>span{
  display:grid;width:30px;height:30px;place-items:center;border-radius:50%;color:#fff;background:#a56d18;font-weight:900
}
.launch-renewal p{margin:2px 0 0;font-size:.88rem;font-weight:700}
.launch-services{padding:7px 0}
.launch-services>.included-title{margin:0 0 17px;font-size:1rem}
.launch-services-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.launch-services-grid ul{display:grid;gap:11px;margin:0;padding:0;list-style:none}
.launch-services-grid li{position:relative;padding-left:25px;line-height:1.45}
.launch-services-grid li::before{
  content:"✓";position:absolute;left:0;top:0;color:var(--green-700);font-weight:900
}
.launch-offer-footer{
  display:flex;justify-content:space-between;gap:22px;align-items:center;padding:22px 34px;
  border-top:1px solid rgba(49,95,58,.12);background:rgba(255,255,255,.58)
}
.launch-offer-footer p{max-width:680px;margin:0;color:var(--muted);font-size:.82rem}

@media(max-width:900px){
  .launch-offer-head,.launch-offer-footer{align-items:flex-start;flex-direction:column}
  .launch-offer-body{grid-template-columns:1fr}
}
@media(max-width:620px){
  .launch-offer-head,.launch-offer-body,.launch-offer-footer{padding:24px 20px}
  .launch-offer-pill{white-space:normal;text-align:center}
  .launch-rate-grid,.launch-services-grid{grid-template-columns:1fr}
  .launch-main-price strong{font-size:2.75rem}
  .launch-offer-footer .button{width:100%}
}


/* ===== GreenStay v2 : comparaison 4 colonnes ===== */
.offers-comparison{max-width:1700px;padding:clamp(28px,4vw,58px)}
.offers-heading{max-width:none;margin-bottom:38px}
.offers-heading h2{font-size:clamp(2.35rem,4.2vw,4.35rem);line-height:1.02}
.offers-heading p{font-size:clamp(1rem,1.35vw,1.3rem)}
.pricing-grid-four{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;align-items:stretch}
.premium-offer-card{display:flex;min-width:0;flex-direction:column;transform:translateZ(0);transition:transform .35s cubic-bezier(.2,.75,.25,1),box-shadow .35s ease,border-color .35s ease;will-change:transform}
.premium-offer-card.featured{transform:none;border:1px solid rgba(49,95,58,.18)}
.premium-offer-card .price-content{display:flex;flex:1;flex-direction:column;padding:28px 27px}
.premium-offer-card .price-content ul{margin-top:18px;padding-left:0;list-style:none}
.premium-offer-card .price-content li{position:relative;padding-left:26px;line-height:1.48}
.premium-offer-card .price-content li::before{content:"✓";position:absolute;left:0;color:var(--green-800);font-weight:900}
.premium-offer-card .price-media{height:235px;overflow:hidden}
.premium-offer-card .price-media video,.premium-offer-card .price-media img{transition:transform .65s cubic-bezier(.2,.75,.25,1)}
.premium-offer-card::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;opacity:0;background:radial-gradient(380px circle at var(--mx,50%) var(--my,30%),rgba(255,255,255,.34),transparent 45%);transition:opacity .3s ease}
.premium-offer-card:hover,.premium-offer-card:focus-within{z-index:7;transform:translateY(-13px) scale(1.012);border-color:rgba(35,99,55,.55);box-shadow:0 30px 72px rgba(24,66,38,.22),0 0 0 4px rgba(81,145,91,.08)}
.premium-offer-card:hover::after,.premium-offer-card:focus-within::after{opacity:1}
.premium-offer-card:hover .price-media video,.premium-offer-card:focus-within .price-media video{transform:scale(1.075)}
.premium-offer-card:hover .featured-badge{transform:translateY(-2px) scale(1.04)}
.featured-badge{transition:transform .3s ease}
.launch-column{border-color:#d2a24a;background:linear-gradient(180deg,#fffdf8,#fbf7ef)}
.launch-column-head{padding:24px 22px;text-align:center;color:#fff;background:linear-gradient(135deg,#0c5134,#08452e)}
.launch-column-head p{margin:0 0 14px;font-size:1.05rem;font-weight:900;text-transform:uppercase}
.launch-column-head span{display:inline-block;padding:8px 16px;border-radius:7px;color:#173b2b;background:#d9a84d;font-size:.76rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.launch-column-content{text-align:left}
.launch-intro{text-align:center;line-height:1.55}
.launch-column-price{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 17px;align-items:baseline;margin:20px 0 8px;text-align:center}
.launch-column-price span{color:#6d716e;font-size:1.25rem;text-decoration:line-through}
.launch-column-price strong{color:#9a6815;font-size:2.85rem}
.launch-column-price small{flex-basis:100%;color:var(--muted)}
.launch-column .commission{align-self:center;margin:14px auto 18px;font-size:1.3rem}
.launch-divider{display:flex;align-items:center;gap:10px;margin:5px 0 20px;color:#b88836}
.launch-divider::before,.launch-divider::after{content:"";height:1px;flex:1;background:#d8b36f}.launch-divider span{display:grid;width:42px;height:42px;place-items:center;border:1px solid #d8b36f;border-radius:50%;background:#fff}
.launch-smallprint{margin-top:auto;padding-top:24px;color:#4f5752;font-size:.77rem;line-height:1.55}
.launch-card-button{width:100%;margin-top:16px}
.launch-column:hover,.launch-column:focus-within{border-color:#c68e27;box-shadow:0 30px 72px rgba(130,91,20,.2),0 0 0 4px rgba(218,170,78,.12)}
@media(max-width:1280px){.pricing-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.pricing-grid-four{grid-template-columns:1fr}.premium-offer-card:hover,.premium-offer-card:focus-within{transform:translateY(-7px)}.offers-heading{text-align:center}.offers-heading h2{font-size:2.35rem}}
@media(prefers-reduced-motion:reduce){.premium-offer-card,.premium-offer-card *{transition:none!important}.premium-offer-card:hover{transform:none}}
