/*
 * Refonte editoriale Nuxit - 20 septembre 2026
 * Identite : bleu Kalliste, or chaud, grands espaces et lecture apaisee.
 */
:root{
  --navy:#082f52;
  --navy-deep:#05243f;
  --blue:#0b5f9c;
  --sky:#eaf5fb;
  --gold:#d8ad4f;
  --gold-soft:#f4e8c7;
  --ivory:#fbf8f1;
  --paper:#ffffff;
  --ink:#102f48;
  --muted:#5d7180;
  --line:#dbe5e9;
  --shadow-soft:0 18px 45px rgba(5,36,63,.10);
  --shadow-card:0 10px 30px rgba(5,36,63,.08);
  --radius:18px;
  --radius-lg:30px;
  --max:1180px;
}

html{scroll-behavior:smooth}
body{background:var(--ivory);color:var(--ink);font-size:16px;line-height:1.65}
body:before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--gold),#f1d887,var(--gold))}
.container{max-width:var(--max);padding-left:28px;padding-right:28px}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;color:var(--navy-deep);letter-spacing:-.015em}
h1{font-size:clamp(2.25rem,5vw,4.65rem);line-height:1.02}
h2{font-size:clamp(1.75rem,3.3vw,3rem);line-height:1.12}
h3{line-height:1.25}
p{color:var(--muted)}
a{transition:color .2s ease,background .2s ease,transform .2s ease,border-color .2s ease}

/* En-tete clair, calme et vivant dans l'esprit editorial du site de reference */
.topbar{position:relative;top:auto;background:#fbf8f1;border:0;border-bottom:1px solid rgba(8,47,82,.10);box-shadow:none}
.topbar .container{max-width:1400px;display:flex;align-items:center;gap:30px;min-height:104px}
.navBrand{display:flex;align-items:center;gap:13px;flex:0 0 auto;color:var(--navy);text-decoration:none!important}
.navBrand span{display:block;font-family:'Playfair Display',Georgia,serif;font-size:20px;line-height:1.05;color:var(--navy)}
.navBrand small{display:block;color:#b58125;letter-spacing:.08em;font-family:'Dancing Script',cursive;font-size:16px;margin-top:6px}
.menu{min-height:72px;padding:8px 0;justify-content:flex-end;gap:2px;flex:1}
.menu a{color:var(--navy);font-size:13px;padding:9px 9px;font-weight:700}
.menu a:hover,.menu a.active{background:rgba(8,47,82,.08);text-decoration:none}
.menu .btn.primary{background:var(--gold);color:var(--navy-deep);box-shadow:none}
.shareTop{background:transparent;color:var(--navy);border-color:rgba(8,47,82,.22);font-size:13px;padding:9px 10px}
.languageLinks{border-left:1px solid rgba(8,47,82,.18);margin-left:4px;padding-left:5px}
.languageLinks a{color:var(--navy);padding:8px 7px}
.navToggle{display:none;border:1px solid rgba(8,47,82,.3);background:#fff;color:var(--navy);border-radius:999px;padding:10px 15px;font-weight:800;cursor:pointer}

/* Elements communs des pages */
.section{padding:66px 0}
.section:nth-of-type(even){background:rgba(255,255,255,.48)}
.kicker{background:transparent;border:0;padding:0;color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:900}
.card,.feature,.form{border-color:var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);background:var(--paper)}
.card{padding:26px}
.feature{padding:24px}
.feature h3{font-size:19px}
.btn{min-height:46px;padding:11px 18px;border:1px solid rgba(8,47,82,.22);box-shadow:none;background:#fff;color:var(--navy);text-decoration:none!important}
.btn:hover{transform:translateY(-2px);border-color:var(--gold)}
.btn.primary{background:var(--navy);color:#fff}
.btn.primary:hover{background:var(--blue)}
.lead{color:var(--muted)}
.badge{background:rgba(216,173,79,.13);border-color:rgba(216,173,79,.38);color:var(--navy)}
.cta{background:linear-gradient(135deg,#fff,var(--sky));border-color:#d9eaf2;box-shadow:var(--shadow-card)}
.hero:not(.homeHero),.logementHero{padding:62px 0 40px;background:linear-gradient(180deg,#eef7fb 0%,var(--ivory) 100%)}
.hero:not(.homeHero) h1,.logementHero h1{font-size:clamp(2.25rem,4.5vw,4rem)}
.heroImg,.logementHeroImg{border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}

/* Photo fixe : le contenu clair vient la recouvrir pendant le defilement */
.homeHero{position:relative;min-height:470px;padding:0;display:flex;align-items:center;overflow:hidden;background-image:linear-gradient(90deg,rgba(5,36,63,.42),rgba(5,36,63,.06) 62%,rgba(5,36,63,0)),url('../img/hero-refonte.webp');background-size:cover;background-position:center 54%;background-attachment:fixed;isolation:isolate}
.homeHeroMedia{display:none}
.homeHero .container{position:relative;z-index:3;width:100%}
.heroBrandMedallion{position:absolute;z-index:2;right:max(38px,calc((100vw - 1340px)/2));top:50%;width:275px;height:275px;transform:translateY(-50%);filter:drop-shadow(0 20px 28px rgba(5,36,63,.30))}
.heroBrandMedallion img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}
.homeHeroLayout{display:block;padding:58px 0}
.homeHeroCopy{max-width:590px;padding:0;text-shadow:0 2px 14px rgba(0,0,0,.38)}
.homeHero .eyebrow{display:inline-flex;align-items:center;gap:10px;color:#ffe3a1;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.16em}
.homeHero .eyebrow:before{content:"";width:45px;height:2px;background:var(--gold)}
.homeHero h1{color:#fff;margin:10px 0 11px;font-size:clamp(2rem,3.5vw,3.25rem)}
.homeHeroPromise{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.22rem,2vw,1.65rem);line-height:1.3;color:#fff;margin:0;max-width:560px}
.homeHeroPromise .question{display:block;font-family:'Dancing Script',cursive;color:#ffe09a;font-size:1.4em;line-height:1;margin-bottom:7px}
.homeHeroActions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.homeHero .btn{background:var(--gold);border-color:var(--gold);color:var(--navy-deep);text-shadow:none}
.homeHero .btn.secondary{background:rgba(255,255,255,.92);border-color:#fff;color:var(--navy);text-shadow:none}
.trustRibbon{position:relative;z-index:2;margin:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 -18px 34px rgba(5,36,63,.12)}
.trustRibbonInner{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;overflow:hidden}
.trustItem{padding:17px 18px;text-align:center;color:var(--navy);font-weight:800;border-right:1px solid var(--line);text-decoration:none}
.trustItem:last-child{border:0}
.trustItem:hover{background:var(--ivory);color:var(--blue)}
.trustItem span{display:inline-block;color:var(--gold);font-size:13px;margin-right:8px}
.homePhoneContact{background:#fff;padding:11px 18px 14px;border-bottom:1px solid var(--line);color:var(--navy);font-weight:700}
.homeContactRow{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap}
.homeContactPhone{position:relative;left:-8px;white-space:nowrap}
.homePhoneContact span{font-size:15px}
.homeContactPhone a{display:inline-block;margin-left:7px;color:var(--navy);font-family:'Playfair Display',Georgia,serif;font-size:22px;font-weight:800;letter-spacing:.02em;text-decoration:none}
.homeContactMail{display:inline-block;color:var(--navy);font-size:16px;font-weight:800;text-decoration:none}
.homePhoneContact a:hover{color:var(--blue);text-decoration:underline}
@media (max-width:700px){.homeContactRow{gap:7px;flex-direction:column}.homeContactPhone{left:0}.homeContactMail{font-size:15px;overflow-wrap:anywhere;text-align:center}}

.homeSection{padding:86px 0}
.homeSection.alt{background:#fff}
.sectionHead{max-width:740px;margin:0 auto 42px;text-align:center}
.sectionHead h2{margin:9px 0 12px}
.sectionHead p{font-size:18px;margin:0}
.introSplit{display:grid;grid-template-columns:310px minmax(0,1fr);gap:58px;align-items:center;max-width:1040px;margin:0 auto}
.introPortrait{position:relative}
.introPortrait img{display:block;width:300px;height:300px;object-fit:cover;border-radius:50%;box-shadow:var(--shadow-soft);border:8px solid #fff}
.introPortrait:after{content:attr(data-label);position:absolute;left:50%;top:calc(100% + 10px);transform:translateX(-50%);background:var(--gold);color:var(--navy-deep);font-family:'Dancing Script',cursive;font-size:22px;padding:8px 16px;border-radius:12px;box-shadow:var(--shadow-card);white-space:nowrap}
.introCopy h2{margin:10px 0 20px}
.introCopy p{font-size:18px}
.introChecks{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;margin:26px 0;padding:0;list-style:none}
.introChecks li{position:relative;padding-left:25px;color:var(--navy);font-weight:700}
.introChecks li:before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;border:3px solid var(--gold);border-radius:50%}

.serviceCards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.serviceCard{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px 22px 45px;box-shadow:var(--shadow-card);transition:transform .22s ease,box-shadow .22s ease;text-decoration:none}
.serviceCard:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft)}
.serviceIcon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--navy);color:var(--gold);font-size:23px;margin-bottom:17px}
.serviceCard h3{font-size:19px;margin:0 0 8px}
.serviceCard p{font-size:14px;margin:0;line-height:1.55}
.serviceArrow{position:absolute;right:20px;bottom:15px;color:var(--gold);font-size:24px;line-height:1}
.servicesCta{text-align:center;margin-top:30px}

.commitmentBand{background:var(--navy-deep);color:#fff;padding:82px 0}
.commitmentBand .sectionHead h2,.commitmentBand .sectionHead p{color:#fff}
.commitmentGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.commitment{padding:24px 12px;text-align:center;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.055)}
.commitment strong{display:block;color:#fff;font-size:15px}
.commitment span{display:block;width:9px;height:9px;margin:0 auto 13px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 6px rgba(216,173,79,.13)}

.featuredSplit{display:grid;grid-template-columns:390px minmax(0,1fr);gap:0;align-items:stretch;max-width:980px;margin:0 auto;background:#fff;border-radius:22px;overflow:hidden;box-shadow:var(--shadow-card)}
.featuredImage{position:relative;min-height:255px}
.featuredImage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}
.featuredImage span{position:absolute;left:22px;bottom:22px;background:rgba(5,36,63,.9);color:#fff;padding:9px 14px;border-radius:999px;font-weight:800;font-size:13px}
.featuredCopy{padding:28px 30px;display:flex;flex-direction:column;justify-content:center}
.featuredCopy h2{margin:8px 0 14px}
.featuredFacts{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px}
.featuredFacts span{background:var(--sky);color:var(--navy);padding:7px 11px;border-radius:999px;font-weight:700;font-size:13px}
.featuredActions{display:flex;gap:9px;flex-wrap:wrap}
.featuredNote{font-size:12px;margin-top:14px}

.ratesGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:980px;margin:0 auto}
.rateMain,.rateReferral{border-radius:var(--radius-lg);padding:38px;position:relative;overflow:hidden}
.rateMain{background:var(--navy);color:#fff}
.rateMain h2,.rateMain p{color:#fff}
.rateMain,.rateReferral{padding:27px 30px}
.rateMain .rateNumber{font-family:'Playfair Display',Georgia,serif;font-size:48px;line-height:1;color:var(--gold);margin:12px 0 7px}
.rateMain .rateStrike{font-size:17px;color:rgba(255,255,255,.72)}
.rateMain .rateStrike strong{text-decoration:line-through}
.rateMain .btn{margin-top:17px;background:var(--gold);border-color:var(--gold);color:var(--navy)}
.rateReferral{background:linear-gradient(145deg,#fff,#f8edcf);border:1px solid rgba(216,173,79,.38)}
.rateReferral h2{margin:7px 0 12px}
.rateReferral .referralNumber{font-size:30px;font-family:'Playfair Display',Georgia,serif;color:var(--navy);font-weight:800}
.rateFine{font-size:13px;line-height:1.5}

.adviceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.adviceCard{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-card)}
.adviceCard img{display:block;width:100%;height:175px;object-fit:cover}
.adviceCardBody{padding:22px}
.adviceCard h3{margin:5px 0 9px;font-size:20px}
.adviceCard p{font-size:14px;margin:0 0 14px}
.textLink{color:var(--navy);font-weight:800;text-decoration:none;border-bottom:2px solid var(--gold)}
.finalCta{padding:70px 0;background:linear-gradient(115deg,var(--sky),#fff 55%,var(--gold-soft))}
.finalCtaInner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.finalCta h2{margin:0 0 8px}
.finalCta p{margin:0}

/* Pages interieures : hierarchie et respiration */
main>.section:first-child:not(.homeSection):not(.coeurAccueil){padding-top:70px}
.articleConseil,.logementHero,.conseilsListe{max-width:var(--max);margin-left:auto;margin-right:auto}
.articleConseilGrid{gap:44px}
.conseilCarte{border-radius:22px;padding:26px;background:#fff;box-shadow:var(--shadow-card)}
.conseilCarte img{max-height:370px;object-fit:cover}
.parrainageCard,.coeurCard{border-color:rgba(216,173,79,.38);background:linear-gradient(145deg,#fff,#fbf4e2)}
.logementHeroImg{height:430px}
.logementGallery{gap:18px}
.logementGallery figure{box-shadow:var(--shadow-card)}
.airbnbBox{border:1px solid #ffd5d8;border-radius:22px;box-shadow:var(--shadow-card)}

/* Pied de page */
.footer{margin-top:0;padding:58px 0 24px;background:var(--navy-deep);border-top:5px solid var(--gold);color:#fff}
.footerGrid{grid-template-columns:1.65fr .8fr .9fr;gap:46px}
.footer .badge{background:rgba(216,173,79,.14);border-color:rgba(216,173,79,.35);color:#f8df9f}
.footer p,.footer .small,.footer a{color:rgba(255,255,255,.78)}
.footer a:hover{color:#fff}
.footer strong{color:#fff}
.footerSocial{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
.footerSocial a{border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:7px 11px;text-decoration:none;font-weight:700;font-size:13px}

@media(max-width:1080px){
  .serviceCards{grid-template-columns:repeat(2,1fr)}
  .commitmentGrid{grid-template-columns:repeat(3,1fr)}
  .navBrand span{font-size:18px}.topbar .container{min-height:92px}
  .menu{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:9px}
  .heroBrandMedallion{width:210px;height:210px;right:28px}
}

@media(max-width:820px){
  .container{padding-left:20px;padding-right:20px}
  .topbar{background:var(--navy-deep)}.topbar .container{padding:0 16px;justify-content:space-between;min-height:68px}
  .navBrand span{color:#fff;font-size:17px}.navBrand small{color:#f3d786;font-size:14px}.navToggle{color:#fff;border-color:rgba(255,255,255,.4);background:transparent}
  .navToggle{display:inline-flex;align-items:center;gap:8px;margin:10px 0}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--navy-deep);padding:14px 18px 20px;max-height:72vh;overflow-y:auto;box-shadow:0 18px 28px rgba(5,36,63,.25)}
  .menu.open{display:flex;flex-direction:column;align-items:stretch}
  .menu a,.shareTop{text-align:left;width:100%;color:#fff}
  .languageLinks{border-left:0;border-top:1px solid rgba(255,255,255,.18);margin:8px 0 0;padding:10px 0 0}
  .languageLinks a{width:auto;color:#fff}
  .homeHero{min-height:430px;background-attachment:scroll}.homeHeroLayout{padding:42px 0}.homeHeroCopy{max-width:520px}.heroBrandMedallion{width:155px;height:155px;right:20px;top:29%;opacity:.96}
  .trustRibbonInner{grid-template-columns:1fr 1fr}.trustItem:nth-child(2){border-right:0}.trustItem:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .homeSection{padding:65px 0}
  .introSplit,.featuredSplit,.ratesGrid{grid-template-columns:1fr}
  .introSplit{gap:34px}.introPortrait{max-width:300px;margin:0 auto 62px}.introPortrait img{height:280px;width:280px}.introPortrait:after{left:50%;top:calc(100% + 10px)}
  .featuredSplit{grid-template-columns:330px minmax(0,1fr)}.featuredImage{min-height:245px}.featuredCopy{padding:27px 25px}
  .adviceGrid{grid-template-columns:1fr 1fr}.adviceGrid .adviceCard:last-child{display:none}
  .finalCtaInner{display:block}.finalCtaActions{margin-top:22px}
  .footerGrid{grid-template-columns:1fr 1fr}.footerGrid>div:first-child{grid-column:1/-1}
}

@media(max-width:560px){
  .section{padding:48px 0}.homeSection{padding:54px 0}
  .homeHero{min-height:440px;align-items:flex-end;background-position:58% center;background-image:linear-gradient(90deg,rgba(5,36,63,.55),rgba(5,36,63,.12)),url('../img/hero-refonte.webp')}.homeHeroLayout{padding:0 0 28px}.homeHeroCopy{padding:0 4px}
  .heroBrandMedallion{width:122px;height:122px;right:14px;top:21%}
  .homeHero h1{font-size:2.05rem}.homeHeroPromise{font-size:1.13rem}.homeHero .eyebrow{font-size:9px;letter-spacing:.1em}
  .homeHeroActions{margin-top:18px}
  .homeHeroActions .btn,.featuredActions .btn,.finalCta .btn{width:100%;text-align:center}
  .trustRibbon{margin-top:0}.trustRibbonInner{grid-template-columns:1fr}.trustItem{border-right:0;border-bottom:1px solid var(--line)!important;padding:15px}.trustItem:last-child{border-bottom:0!important}
  .serviceCards,.commitmentGrid,.adviceGrid{grid-template-columns:1fr}
  .adviceGrid .adviceCard:last-child{display:block}
  .serviceCard{padding:21px}
  .introPortrait img{height:230px;width:230px}.introPortrait{max-width:240px;margin-bottom:60px}.introPortrait:after{font-size:19px;padding:7px 12px}.introChecks{grid-template-columns:1fr}
  .featuredSplit{grid-template-columns:1fr}.featuredImage{min-height:225px}.featuredCopy{padding:25px 21px}
  .rateMain,.rateReferral{padding:25px 22px}.rateMain .rateNumber{font-size:44px}
  .footerGrid{grid-template-columns:1fr}.footerGrid>div:first-child{grid-column:auto}
  .logementHeroImg{height:300px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
