
:root{
  --cream:#f5f1ea; --paper:#ffffff; --ink:#1c1a17; --ink-soft:#6b6258; --line:#e6e0d4;
  --dest:#a8532f; --dest-dark:#7c3d21;
  --biz:#14181f; --biz-2:#262c38; --gold:#b68a3e; --gold-dark:#8f6b2d;
  --tips:#4a5a3f; --tips-dark:#374430;
  --shadow: 0 20px 40px -28px rgba(20,18,15,0.4);
  --shadow-lg: 0 30px 70px -28px rgba(10,9,7,0.5);
  color-scheme:light;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.15;margin:0 0 .4em;color:var(--ink);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
img.ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;}
.wrap{max-width:1140px;margin:0 auto;padding:0 28px;}
.tag-dest{color:var(--dest-dark);} .tag-biz{color:var(--gold-dark);} .tag-tips{color:var(--tips-dark);}
.bg-dest{background:var(--dest);} .bg-biz{background:var(--biz);} .bg-tips{background:var(--tips);}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(245,241,234,0.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;gap:16px;}
.logo{font-family:'Fraunces',serif;font-size:1.3rem;font-weight:600;display:flex;align-items:center;gap:10px;flex:none;}
.logo .mark{width:26px;height:26px;display:flex;align-items:center;justify-content:center;flex:none;}
.logo .mark svg{width:24px;height:24px;stroke:var(--dest-dark);}
.logo .word{letter-spacing:.01em;}
.logo .word em{font-style:italic;color:var(--dest-dark);}
nav.main-nav{display:flex;gap:20px;align-items:center;flex-wrap:nowrap;}
nav.main-nav a{font-size:.9rem;font-weight:500;color:var(--ink-soft);padding:6px 1px;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease;}
nav.main-nav a:hover,nav.main-nav a.active{color:var(--ink);border-color:var(--dest);}
.header-socials{display:none;gap:12px;flex:none;}
.header-socials a{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;}
.header-socials svg{width:15px;height:15px;stroke:var(--ink-soft);}
.header-socials a:hover svg{stroke:var(--dest-dark);}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;width:38px;height:38px;align-items:center;justify-content:center;flex:none;}
.nav-toggle svg{width:18px;height:18px;stroke:var(--ink);}
@media (max-width:860px){
  .site-header .wrap{padding:12px 18px;}
  nav.main-nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);flex-direction:column;align-items:flex-start;gap:2px;padding:10px 18px 18px;border-bottom:1px solid var(--line);display:none;}
  nav.main-nav.open{display:flex;}
  nav.main-nav a{padding:10px 0;width:100%;}
  .nav-toggle{display:flex;}
  .header-socials{display:none;}
  nav.main-nav.open .nav-socials{display:flex;gap:12px;padding-top:12px;margin-top:6px;border-top:1px solid var(--line);width:100%;}
  nav.main-nav .nav-socials a{width:34px;height:34px;padding:0;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;}
  nav.main-nav .nav-socials svg{width:16px;height:16px;stroke:var(--ink-soft);}
}
.nav-socials{display:none;}

/* recherche dans l'en-tête */
.hsearch{position:relative;flex:none;display:flex;align-items:center;}
.hsearch-ico{position:absolute;left:10px;width:15px;height:15px;stroke:var(--ink-soft);pointer-events:none;}
.hsearch input{width:200px;font:inherit;font-size:.85rem;color:var(--ink);background:var(--paper);
  border:1px solid var(--line);border-radius:999px;padding:7px 12px 7px 31px;transition:width .18s ease,border-color .15s ease;}
.hsearch input::placeholder{color:var(--ink-soft);}
.hsearch input:focus{outline:none;width:250px;border-color:var(--dest);}
.hsearch input::-webkit-search-cancel-button{-webkit-appearance:none;}
.hsearch-panel{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-width:calc(100vw - 36px);
  max-height:min(60vh,420px);overflow-y:auto;background:var(--paper);border:1px solid var(--line);
  border-radius:12px;box-shadow:0 14px 40px rgba(12,11,10,.14);z-index:60;padding:6px;}
.hsearch-panel[hidden]{display:none;}
.hsearch-hit{display:block;padding:9px 11px;border-radius:8px;}
.hsearch-hit:hover,.hsearch-hit.on{background:var(--paper-2,rgba(12,11,10,.05));}
.hsearch-hit .ht{font-weight:600;font-size:.88rem;color:var(--ink);line-height:1.35;display:block;}
.hsearch-hit .hm{font-size:.74rem;color:var(--ink-soft);margin-top:3px;display:block;
  text-transform:uppercase;letter-spacing:.06em;}
.hsearch-empty{padding:12px 11px;font-size:.85rem;color:var(--ink-soft);line-height:1.5;}
.hsearch-empty a{color:var(--dest-dark);text-decoration:underline;}
@media (max-width:860px){
  .hsearch{width:100%;order:-1;padding-bottom:10px;margin-bottom:4px;border-bottom:1px solid var(--line);}
  .hsearch input{width:100%;font-size:16px;padding:10px 14px 10px 34px;}
  .hsearch input:focus{width:100%;}
  .hsearch-ico{left:12px;}
  .hsearch-panel{width:100%;right:auto;left:0;top:calc(100% - 4px);}
}

/* breadcrumb */
.crumb{font-size:.8rem;color:var(--ink-soft);margin-bottom:14px;}
.crumb a:hover{color:var(--dest-dark);}

/* hero carousel (home) */
.carousel{position:relative;overflow:hidden;}
.slide{position:relative;min-height:560px;display:flex;align-items:flex-end;overflow:hidden;background:var(--biz);}
.slide::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(0deg,rgba(12,10,8,.8),rgba(12,10,8,.15) 60%);}
.slide .slide-inner{position:relative;z-index:1;padding:56px 0 46px;color:#fff8ef;max-width:640px;}
.slide .eyebrow-pill{display:inline-block;background:rgba(255,248,239,.14);border:1px solid rgba(255,248,239,.4);padding:5px 14px;border-radius:999px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin-bottom:16px;}
.slide h1{font-size:clamp(1.9rem,4vw,3rem);color:#fff8ef;max-width:16ch;}
.slide p{color:#f3ece0;max-width:52ch;margin:14px 0 20px;font-size:1.02rem;}
.slide .btn-light{display:inline-flex;align-items:center;gap:8px;background:#fff8ef;color:var(--ink);padding:11px 22px;border-radius:999px;font-weight:600;font-size:.88rem;}
/* Les pastilles font visuellement 8px, mais le bouton lui-même mesure 28x28 : Lighthouse mesure
   la boîte de l'élément, pas celle d'un pseudo-élément, et exige 24px minimum au doigt. */
.carousel-dots{position:absolute;z-index:2;right:18px;bottom:12px;display:flex;gap:0;}
.carousel-dots .dot{position:relative;width:28px;height:28px;border-radius:50%;background:none;border:none;padding:0;cursor:pointer;}
.carousel-dots .dot::after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background-color:rgba(255,248,239,.45);transition:background-color .15s ease;}
.carousel-dots .dot.active::after{background-color:#fff8ef;}
.carousel-dots .dot:hover::after{background-color:rgba(255,248,239,.8);}
.carousel-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:rgba(20,18,15,.35);border:1px solid rgba(255,248,239,.4);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s ease;}
.carousel-arrow:hover{background:rgba(20,18,15,.6);}
.carousel-arrow svg{width:20px;height:20px;stroke:#fff8ef;}
.carousel-arrow.prev{left:16px;}
.carousel-arrow.next{right:16px;}
@media (max-width:719px){.carousel-arrow{display:none;}.carousel-dots{left:0;right:0;bottom:14px;justify-content:center;}}
@media (max-width:640px){.carousel-arrow{width:34px;height:34px;} .carousel-arrow svg{width:16px;height:16px;}}

/* theme cards */
.themes{padding:64px 0 20px;}
.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media (max-width:820px){.theme-grid{grid-template-columns:1fr;}}
.theme-card{border-radius:18px;padding:32px;color:#fff8ef;position:relative;overflow:hidden;min-height:230px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow-lg);background:var(--biz);transition:transform .2s ease;}
.theme-card:hover{transform:translateY(-5px);}
.theme-card::before{content:"";position:absolute;inset:0;z-index:1;}
.theme-card.dest::before{background:linear-gradient(165deg,rgba(15,10,7,.6),rgba(10,7,5,.8));}
.theme-card.biz::before{background:linear-gradient(165deg,rgba(3,4,6,.62),rgba(2,3,4,.82));}
.theme-card.tips::before{background:linear-gradient(165deg,rgba(7,10,7,.6),rgba(5,7,5,.8));}
.theme-card > *{position:relative;z-index:2;}
.theme-card .ticon{width:36px;height:36px;stroke:#fff8ef;opacity:.95;margin-bottom:14px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5));}
.theme-card h3{color:#fff8ef;font-size:1.35rem;text-shadow:0 1px 4px rgba(0,0,0,.55);}
.theme-card p{color:rgba(255,248,239,.92);font-size:.9rem;margin:6px 0 16px;text-shadow:0 1px 3px rgba(0,0,0,.55);}
.theme-card .go{font-size:.82rem;font-weight:600;display:inline-flex;align-items:center;gap:6px;text-shadow:0 1px 3px rgba(0,0,0,.55);}
.theme-card.biz .go{color:var(--gold);}

/* section head */
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 28px;gap:16px;flex-wrap:wrap;}
.section-head h2{font-size:1.7rem;}
.section-head .sub{color:var(--ink-soft);font-size:.92rem;}
.section-head a.see-all{font-size:.85rem;font-weight:600;color:var(--dest-dark);}

/* article grid + card */
.archive{padding:20px 0 80px;}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
@media (max-width:900px){.grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.grid{grid-template-columns:1fr;}}
.card{background:var(--paper);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .18s ease;}
.card:hover{transform:translateY(-4px);}
.card .cover{height:190px;position:relative;overflow:hidden;background:var(--line);}
.card .cover .badge{position:absolute;z-index:1;left:12px;top:12px;background:rgba(20,17,13,.6);color:#fff8ef;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;font-weight:600;padding:5px 10px;border-radius:999px;}
.card .body{padding:20px 20px 22px;flex:1;display:flex;flex-direction:column;}
.card .meta{font-size:.76rem;color:var(--ink-soft);margin-bottom:8px;display:flex;gap:8px;align-items:center;}
.card h3{font-size:1.1rem;margin-bottom:8px;}
.card p{font-size:.89rem;color:var(--ink-soft);margin:0;flex:1;}
.card .read{margin-top:14px;font-size:.8rem;font-weight:600;}

/* category hero banner */
.cat-hero{position:relative;min-height:320px;display:flex;align-items:center;overflow:hidden;background:var(--biz);}
.cat-hero::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(100deg,rgba(10,9,7,.75),rgba(10,9,7,.35));}
.cat-hero .wrap{position:relative;z-index:1;color:#fff8ef;padding:50px 28px;}
.cat-hero .eyebrow-pill{display:inline-block;background:rgba(255,248,239,.14);border:1px solid rgba(255,248,239,.4);padding:5px 14px;border-radius:999px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin-bottom:14px;}
.cat-hero h1{color:#fff8ef;font-size:clamp(1.9rem,4vw,2.6rem);max-width:20ch;}
.cat-hero p{color:#f3ece0;max-width:60ch;margin-top:12px;}

/* article page */
.article-page{padding:44px 0 90px;}
.a-meta-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:.82rem;color:var(--ink-soft);margin-bottom:16px;}
.a-meta-row .pill{text-transform:uppercase;letter-spacing:.07em;font-weight:600;font-size:.74rem;}
.article-page h1{font-size:clamp(2rem,4vw,2.9rem);max-width:22ch;}
.byline{display:flex;align-items:center;gap:10px;margin:20px 0 30px;font-size:.88rem;color:var(--ink-soft);}
.byline .av{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:none;background:linear-gradient(135deg,#e7a26b,#9c5030);}
.cover-banner{margin:0 0 40px;position:relative;overflow:hidden;aspect-ratio:16/8;border-radius:16px;box-shadow:var(--shadow-lg);background:var(--line);}
.prose{max-width:66ch;font-size:1.05rem;}
.prose p{margin:0 0 20px;}
.prose p:first-of-type:first-letter{font-family:'Fraunces',serif;font-size:3.4em;float:left;line-height:.8;padding:6px 10px 0 0;color:var(--dest-dark);font-weight:600;}
.prose h2{font-size:1.45rem;margin:42px 0 16px;}
.prose h3{font-size:1.15rem;margin:28px 0 12px;color:var(--dest-dark);}
.prose ul{margin:0 0 22px;padding-left:1.3em;}
.prose li{margin-bottom:10px;}
.prose li::marker{color:var(--dest);}
.prose-fig{margin:28px 0;}
.prose-fig img{width:100%;height:auto;border-radius:14px;display:block;object-fit:cover;aspect-ratio:2/1;}
.prose-fig figcaption{margin-top:10px;font-size:.85rem;color:var(--ink-soft);text-align:center;}
.prose-pair .pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.prose-pair .pair img{aspect-ratio:3/4;}
.prose-portrait img{aspect-ratio:3/4;max-width:380px;margin:0 auto;}
@media (max-width:560px){.prose-pair .pair{gap:8px;}}
.itinerary-map{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);}
.itinerary-map svg{width:100%;height:auto;display:block;border-radius:10px;}
.s22-map{margin:28px 0;}
.s22-frame{position:relative;width:100%;aspect-ratio:4/3;min-height:380px;max-width:100%;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--paper);}
@media (min-width:700px){.s22-frame{aspect-ratio:16/10;}}
.s22-embed{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}
.s22-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px;margin:0;}
.s22-fb-t{margin:0;font-weight:600;color:var(--ink);font-size:1rem;max-width:32ch;}
.s22-fb-n{margin:0;color:var(--ink-soft);font-size:.8rem;max-width:40ch;line-height:1.4;}
.s22-load{cursor:pointer;border:0;}
.cookie-title{margin:0 0 8px !important;font-weight:700;font-size:1rem !important;opacity:1 !important;}
.cookie-detail{font-size:.79rem !important;opacity:.68 !important;margin-top:10px !important;}
.s22-frame.s22-ready .s22-fallback{display:none;}
blockquote{margin:34px 0;padding:6px 0 6px 22px;border-left:3px solid var(--dest);font-family:'Fraunces',serif;font-style:italic;font-size:1.25rem;color:var(--ink);max-width:58ch;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.tip-box{max-width:66ch;display:flex;gap:14px;background:#faf6ec;border:1px solid var(--line);border-left:4px solid var(--gold-dark);border-radius:12px;padding:20px 22px;margin:8px 0 30px;}
.tip-box .tip-ic{flex:none;width:26px;height:26px;stroke:var(--gold-dark);margin-top:2px;}
.tip-box h4{font-size:.98rem;margin-bottom:6px;font-family:'Inter',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--gold-dark);}
.tip-box p{margin:0;font-size:.95rem;color:var(--ink-soft);}
.verify-box{max-width:66ch;display:flex;gap:12px;align-items:flex-start;background:var(--paper-soft,#f4f2ec);border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin:0 0 30px;}
.verify-box .verify-ic{flex:none;width:20px;height:20px;stroke:var(--ink-soft);margin-top:2px;}
.verify-box p{margin:0;font-size:.85rem;color:var(--ink-soft);line-height:1.5;}
.aff-note{max-width:66ch;font-size:.8rem;color:var(--ink-soft);font-style:italic;margin:-6px 0 22px;line-height:1.5;}
.inline-cta{max-width:66ch;}
.inline-cta a{font-weight:600;}
.cta-box{max-width:66ch;display:flex;gap:14px;align-items:center;background:#eaf7f4;border:1px solid #bfe6dd;border-radius:12px;padding:16px 20px;margin:0 0 30px;flex-wrap:wrap;}
.cta-box .cta-ic{flex:none;width:26px;height:26px;stroke:#0f8a72;}
.cta-box .cta-btn{background:#0f8a72;color:#fff;}
.cta-box .cta-btn:hover{background:#0b6d5a;}
.aff-link{max-width:66ch;display:flex;align-items:center;gap:12px;background:#fbf1ec;border:1px solid #eed7c9;border-left:3px solid var(--dest);border-radius:10px;padding:13px 18px;margin:0 0 12px;transition:background .15s ease,border-color .15s ease;}
.aff-link:hover{background:#f6e6db;border-color:#e2b99a;}
.aff-link .aff-ic{flex:none;width:20px;height:20px;stroke:var(--dest-dark);}
.aff-link .aff-label{flex:1;font-weight:600;font-size:.93rem;color:var(--ink);line-height:1.3;}
.aff-link .aff-arrow{flex:none;font-weight:700;color:var(--dest-dark);}
.share-row{display:flex;gap:10px;align-items:center;margin:38px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.share-row .lbl{font-size:.82rem;color:var(--ink-soft);font-weight:600;}
.author-box{display:flex;gap:16px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:22px;margin-top:44px;align-items:flex-start;}
.author-box .av-lg{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none;background:linear-gradient(135deg,#e7a26b,#9c5030);}
.author-box h4{font-size:1rem;margin-bottom:4px;}
.author-box p{font-size:.88rem;color:var(--ink-soft);margin:0;}
.more-carnets{margin-top:56px;}
.more-carnets .grid{grid-template-columns:repeat(2,1fr);}
@media (max-width:620px){.more-carnets .grid{grid-template-columns:1fr;}}

/* about page */
.about-page{padding:52px 0 90px;}
.about-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center;margin-bottom:56px;}
@media (max-width:820px){.about-hero{grid-template-columns:1fr;}}
.about-hero .photo{border-radius:18px;height:380px;position:relative;overflow:hidden;box-shadow:var(--shadow-lg);background:var(--line);}
.about-hero .txt .eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--tips-dark);font-weight:600;margin-bottom:14px;display:block;}
.about-hero h1{font-size:clamp(2rem,4vw,2.6rem);}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:44px 0;}
@media (max-width:620px){.stats{grid-template-columns:1fr 1fr;}}
.stat{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:20px;text-align:center;}
.stat .num{font-family:'Fraunces',serif;font-size:1.9rem;color:var(--dest-dark);font-weight:600;}
.stat .label{font-size:.8rem;color:var(--ink-soft);margin-top:4px;}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:40px 0;}
@media (max-width:820px){.values{grid-template-columns:1fr;}}
.value-card{padding:4px;}
.value-card h4{font-size:1.05rem;}
.value-card p{color:var(--ink-soft);font-size:.92rem;}
.socials-row{display:flex;gap:14px;margin-top:20px;flex-wrap:wrap;}
.social-pill{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:9px 18px;font-size:.85rem;font-weight:500;display:inline-flex;gap:8px;align-items:center;}
.social-pill svg{width:15px;height:15px;stroke:var(--ink-soft);}
.social-pill:hover{border-color:var(--dest);color:var(--dest-dark);}

/* newsletter */
.newsletter{background:var(--biz);color:#fff8ef;padding:60px 0;margin-top:20px;}
.newsletter .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;}
.newsletter h2{color:#fff8ef;font-size:1.6rem;max-width:20ch;}
.newsletter p{color:#cfd3da;max-width:44ch;margin:8px 0 0;font-size:.94rem;}
.newsletter form{display:flex;gap:10px;flex-wrap:wrap;}
.newsletter input[type=email]{padding:13px 16px;border-radius:999px;border:none;min-width:240px;font-family:inherit;font-size:.92rem;}
.newsletter button{background:var(--gold);color:#241d06;border:none;padding:13px 26px;border-radius:999px;font-weight:700;font-size:.9rem;cursor:pointer;}
.newsletter button:hover{background:var(--gold-dark);}
/* pop-up newsletter discret (pages article) */
.nl-popup{position:fixed;right:18px;bottom:18px;z-index:998;width:min(360px,calc(100vw - 36px));background:var(--biz);color:#fff8ef;border-radius:16px;padding:22px 22px 18px;box-shadow:0 18px 44px rgba(0,0,0,.32);transform:translateY(24px);opacity:0;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .35s;pointer-events:none;}
.nl-popup.is-visible{transform:none;opacity:1;pointer-events:auto;}
.nl-popup[hidden]{display:none !important;}
.nl-popup .nl-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border:none;border-radius:50%;background:rgba(255,255,255,.08);color:#fff8ef;font-size:1.15rem;line-height:1;cursor:pointer;}
.nl-popup .nl-close:hover,.nl-popup .nl-close:focus-visible{background:rgba(255,255,255,.18);outline:none;}
.nl-popup .nl-kicker{display:inline-block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;}
.nl-popup h2{font-size:1.18rem;line-height:1.25;margin:0 0 6px;color:#fff8ef;max-width:22ch;}
.nl-popup p{margin:0 0 12px;font-size:.88rem;color:#cfd3da;line-height:1.5;}
.nl-popup form{display:flex;gap:8px;flex-wrap:wrap;}
.nl-popup input[type=email]{flex:1 1 150px;padding:11px 14px;border-radius:999px;border:none;font-family:inherit;font-size:.9rem;min-width:0;}
.nl-popup button[type=submit]{background:var(--gold);color:#241d06;border:none;padding:11px 18px;border-radius:999px;font-weight:700;font-size:.86rem;cursor:pointer;white-space:nowrap;}
.nl-popup button[type=submit]:hover{background:var(--gold-dark);}
.nl-popup .form-feedback{width:100%;font-size:.8rem;}
.nl-popup .form-feedback:empty{display:none;}
.nl-popup .nl-fine{font-size:.72rem;color:#8e949f;margin:10px 0 0;}
@media (max-width:600px){
  .nl-popup{right:12px;left:12px;bottom:12px;width:auto;padding:18px 18px 14px;}
  .nl-popup h2{font-size:1.05rem;margin-bottom:10px;}
  .nl-popup p:not(.nl-fine){display:none;}
}
@media (prefers-reduced-motion:reduce){.nl-popup{transition:none;}}
.newsletter .note{width:100%;font-size:.78rem;color:#aeb3bd;margin-top:8px;}

/* instagram strip */
.social-cta{padding:56px 40px;margin:20px auto 60px;max-width:820px;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);}
.social-cta .ic{width:34px;height:34px;stroke:var(--dest-dark);margin-bottom:14px;}
.social-cta h2{margin-bottom:8px;}
.social-cta p{color:var(--ink-soft);max-width:44ch;margin:0 auto 22px;}
.social-cta .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* padding-block uniquement : la raccourci `padding` remettrait les côtés à 0 et écraserait
   les 28px latéraux de .wrap (sélecteur #id plus spécifique) — la section collait aux bords
   de l'écran sur mobile. */
#world-map-section{padding-block:44px 10px;}
.popular-dest{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 22px;}
.popular-dest-label{font-size:.85rem;color:var(--ink-soft);font-weight:600;}
.popular-pill{display:inline-block;background:var(--paper);border:1.5px solid var(--line);color:var(--ink);font-size:.85rem;font-weight:600;padding:7px 16px;border-radius:999px;transition:border-color .15s ease,color .15s ease,background .15s ease;}
.popular-pill:hover{border-color:var(--dest);color:var(--dest-dark);background:var(--paper-soft,#f4f2ec);}
.world-map-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:30px 26px 18px;box-shadow:var(--shadow);}
.world-map-card svg{width:100%;height:auto;display:block;}
.world-map-card svg path{fill:var(--line);stroke:#fff;stroke-width:0.6;transition:fill .15s ease;}
.map-credit{font-size:.72rem;color:var(--ink-soft);text-align:right;margin:10px 0 0;}
.map-hint{text-align:center;color:var(--ink-soft);font-size:.92rem;margin:16px 0 4px;}
.map-results{margin-top:10px;}
.map-results h3{margin-bottom:14px;}

/* contact */
.contact-page{padding:52px 0 90px;}
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start;}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr;}}
.contact-grid > *{min-width:0;}
.field select{max-width:100%;}
form.contact-form{display:flex;flex-direction:column;gap:16px;}
.field label{display:block;font-size:.82rem;font-weight:600;margin-bottom:6px;color:var(--ink-soft);}
.field input,.field textarea,.field select{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--paper);font-family:inherit;font-size:.95rem;color:var(--ink);}
.field textarea{min-height:130px;resize:vertical;}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--dest);outline-offset:1px;}
.btn{align-self:flex-start;display:inline-block;background:var(--dest);color:#fff8ef;border:none;padding:12px 26px;border-radius:999px;font-weight:600;font-size:.92rem;cursor:pointer;transition:background .15s ease;text-decoration:none;}
.btn:hover{background:var(--dest-dark);}
.btn-outline{align-self:flex-start;display:inline-block;background:transparent;color:var(--ink);border:1.5px solid var(--line);padding:11px 24px;border-radius:999px;font-weight:600;font-size:.92rem;cursor:pointer;transition:border-color .15s ease,color .15s ease;text-decoration:none;}
.btn-outline:hover{border-color:var(--dest);color:var(--dest-dark);}
.form-note{font-size:.82rem;color:var(--ink-soft);margin-top:14px;}
.form-success{background:#eef3e8;border:1px solid var(--tips);color:#4a5a3d;padding:14px 16px;border-radius:10px;font-size:.9rem;}
.contact-side .card-info{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:26px;}
.contact-side h3{font-size:1.1rem;}
.contact-side p{color:var(--ink-soft);font-size:.92rem;}

/* footer */
footer.site-footer{border-top:1px solid var(--line);padding:44px 0 30px;margin-top:0;background:var(--paper);}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;margin-bottom:30px;}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr 1fr;}}
.footer-grid .foot-h{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:12px;}
.footer-grid a{display:block;font-size:.88rem;color:var(--ink-soft);margin-bottom:8px;}
.footer-grid a:hover{color:var(--dest-dark);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;border-top:1px solid var(--line);padding-top:20px;}
.footer-bottom .fine{font-size:.8rem;color:var(--ink-soft);}
.footer-legal a{text-decoration:underline;text-underline-offset:2px;}
.footer-legal a:hover{color:var(--ink);}
.cookie-banner{position:fixed;inset:0;z-index:1000;background:rgba(12,11,10,.55);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;}
.cookie-card{background:var(--ink);color:#fff;border-radius:16px;padding:26px 28px;max-width:520px;width:100%;box-shadow:0 24px 60px rgba(0,0,0,.45);animation:cookiePop .28s ease-out;}
@keyframes cookiePop{from{opacity:0;transform:translateY(12px) scale(.98);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){.cookie-card{animation:none;}}
.cookie-copy{min-width:0;}
.cookie-skip{display:block;margin:0 0 14px;padding:0;background:none;border:0;color:rgba(255,255,255,.62);font:inherit;font-size:.78rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.cookie-skip:hover{color:#fff;}
#cookie-prefs{margin-top:18px;display:grid;gap:12px;border-top:1px solid rgba(255,255,255,.16);padding-top:16px;}
#cookie-prefs[hidden]{display:none;}
.cookie-pref{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;line-height:1.4;color:rgba(255,255,255,.82);cursor:pointer;}
.cookie-pref input{margin-top:2px;width:16px;height:16px;accent-color:var(--dest);flex:0 0 auto;}
.cookie-pref strong{color:#fff;font-weight:600;}
.cookie-actions{margin-top:20px;}
.cookie-actions button{flex:1;justify-content:center;}
.cookie-banner[hidden]{display:none !important;}
.cookie-banner p{margin:0;font-size:.88rem;color:#fff;opacity:.92;max-width:68ch;line-height:1.5;}
.cookie-actions{display:flex;gap:10px;}
.cookie-actions button{border:none;border-radius:999px;padding:9px 18px;font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit;}
.cookie-actions .btn-solid{background:var(--dest);color:#fff;}
.cookie-actions .btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);}

.pll-box ul.pll{margin:0;padding-left:1.15em;}
.pll-box ul.pll li{font-size:.95rem;color:var(--ink-soft);margin-bottom:5px;line-height:1.45;}
.pll-box ul.pll li:last-child{margin-bottom:0;}
.pll-box ul.pll a{color:var(--dest-dark);text-decoration:none;border-bottom:1px solid rgba(124,61,33,.3);}
.pll-box ul.pll a:hover{border-bottom-color:var(--dest-dark);}

.toc{max-width:66ch;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:18px 22px 16px;margin:6px 0 30px;}
.toc .toc-h{font-family:'Inter',sans-serif;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:0 0 10px;padding:0;border:0;}
.toc ol{margin:0;padding-left:1.25em;}
.toc li{font-size:.95rem;line-height:1.45;margin-bottom:6px;}
.toc li:last-child{margin-bottom:0;}
.toc a{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent;}
.toc a:hover{border-bottom-color:var(--ink-soft);}
.prose h2[id]{scroll-margin-top:84px;}
