/* Page-scoped French destination guide. No shared navigation or branding rules. */
.nfv{--nfv-ink:#002654;--nfv-text:#334b63;--nfv-muted:#536981;--nfv-line:#dce5ed;--nfv-red:#b5263e;--nfv-soft:#f1f6fa;color:var(--nfv-text);font-size:16px;line-height:1.65;padding-bottom:40px}
.nfv *{box-sizing:border-box}
.nfv h1,.nfv h2,.nfv h3{font-family:Georgia,'Times New Roman',serif;color:var(--nfv-ink);font-weight:700;letter-spacing:-.025em}
.nfv p{margin:0 0 16px}
.nfv a,.nfv summary{ -webkit-tap-highlight-color:transparent}
.nfv a:focus-visible,.nfv summary:focus-visible,.nfv input:focus-visible,.nfv button:focus-visible{outline:3px solid var(--nfv-red);outline-offset:4px}
.nfv [id]{scroll-margin-top:108px}
.nfv-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-height:68px;font-size:13px;color:var(--nfv-muted)}
.nfv-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px}
.nfv-breadcrumb [aria-current]{color:var(--nfv-ink)}
.nfv-hero{display:grid;grid-template-columns:1fr 1.08fr;min-height:380px;border-radius:18px;overflow:hidden;background:#f0f5f9;border:1px solid var(--nfv-line)}
.nfv-hero-copy{padding:42px 42px 44px;align-self:center}
.nfv .nfv-kicker{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:11px;line-height:1.6;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--nfv-red);margin:0 0 14px}
.nfv h1{font-size:clamp(40px,4.1vw,59px);line-height:1.08;margin:0 0 22px}
.nfv h1 em{display:block;font-style:normal;color:var(--nfv-ink)}
.nfv .nfv-intro{font-size:17px;line-height:1.75;max-width:470px;margin-bottom:25px}
.nfv-button{display:inline-flex;align-items:center;gap:22px;justify-content:space-between;min-height:48px;padding:12px 20px;background:var(--nfv-ink);color:white;border-radius:7px;font-size:14px;font-weight:750}
.nfv-button:hover{background:#164375}
.nfv-hero-photo{position:relative;display:block;min-height:340px;overflow:hidden;background:#cdded9}
.nfv-hero-photo>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 54%}
.nfv-photo-caption{position:absolute;left:20px;right:20px;bottom:20px;display:flex;gap:15px;justify-content:space-between;align-items:center;padding:14px 18px;background:rgba(0,29,58,.93);border:1px solid rgba(255,255,255,.25);border-radius:8px;color:white}
.nfv-photo-caption small{display:block;font-size:11px;letter-spacing:.03em;color:#e0eaf3}
.nfv-photo-caption strong{display:block;font-family:Georgia,serif;font-size:22px;line-height:1.4;font-weight:500}
.nfv-photo-caption>span:last-child{font-size:25px}
.nfv-jumps{display:flex;align-items:center;flex-wrap:wrap;gap:8px 30px;border-bottom:1px solid var(--nfv-line);padding:16px 0;margin-bottom:28px;font-size:13px}
.nfv-jumps>span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--nfv-muted);font-weight:800;margin-right:auto}
.nfv-jumps a{display:flex;align-items:center;min-height:44px;font-weight:700;color:var(--nfv-ink);border-bottom:2px solid transparent}
.nfv-jumps a:hover{border-bottom-color:var(--nfv-red)}
.nfv .nf-destination-search{display:grid;grid-template-columns:.95fr 1.1fr;gap:2px 42px;border:1px solid var(--nfv-line);background:#fff;border-radius:12px;padding:24px 28px;margin:0 0 48px;box-shadow:0 5px 25px rgba(0,38,84,.035)}
.nfv .nf-destination-search h2{font-size:25px;line-height:1.25;margin:0 0 6px;align-self:end}
.nfv .nf-destination-search>p{font-size:13px;margin:0;color:var(--nfv-muted);max-width:400px}
.nfv .nf-destination-search>form{grid-column:2;grid-row:1 / span 2;align-self:center}
.nfv .nf-destination-search label{font-size:12px;line-height:1.5;font-weight:750;color:var(--nfv-ink);margin-bottom:6px}
.nfv .nf-search-controls{gap:8px}
.nfv .nf-search-controls input{height:48px;font-size:16px;border-color:#a6b7c8;border-radius:6px;padding:10px 12px}
.nfv .nf-search-controls button{min-height:48px;font-size:14px;border-radius:6px;padding:10px 18px}
.nfv .nf-search-results{grid-column:1 / -1;border-top:1px solid var(--nfv-line);font-size:15px;margin-top:20px;padding-top:18px}
.nfv .nf-search-results h3{font-size:23px;margin:0 0 8px}
.nfv .nf-search-results ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 20px;list-style:none;margin:12px 0;padding:0}
.nfv .nf-search-results a{display:inline-flex;align-items:center;min-height:44px;padding:6px 2px}
.nfv-layout{display:grid;grid-template-columns:minmax(0,1fr) 252px;gap:38px;align-items:start}
.nfv-content{min-width:0}
.nfv-section{margin-bottom:56px}
.nfv-heading{margin-bottom:24px}
.nfv-heading .nfv-kicker{margin-bottom:8px}
.nfv-heading h2{font-size:clamp(29px,2.6vw,38px);line-height:1.2;margin:0 0 12px}
.nfv-heading>p:last-child{font-size:15px;line-height:1.75;max-width:720px;margin:0;color:var(--nfv-muted)}
.nfv-destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.nfv-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--nfv-line);border-radius:12px;overflow:hidden;background:white;box-shadow:0 4px 12px rgba(0,38,84,.025);transition:border-color .18s,box-shadow .18s}
.nfv-card:hover{border-color:#a5bacf;box-shadow:0 7px 22px rgba(0,38,84,.09)}
.nfv-card-image{overflow:hidden;aspect-ratio:1.55;background:var(--nfv-soft)}
.nfv-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}
.nfv-card:hover img{transform:scale(1.025)}
.nfv-card-copy{display:flex;flex-direction:column;flex:1;padding:19px 19px 14px}
.nfv-card-tag{font-size:10px;font-weight:800;line-height:1.5;letter-spacing:.075em;text-transform:uppercase;color:var(--nfv-red);margin-bottom:7px}
.nfv-card h3{font-size:29px;line-height:1.15;margin:0 0 10px}
.nfv-card p{font-size:13px;line-height:1.75;margin:0 0 14px}
.nfv-highlights{font-size:11px;line-height:1.7;color:var(--nfv-muted);margin-top:auto;margin-bottom:14px}
.nfv-card-cta{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;border-top:1px solid var(--nfv-line);padding-top:7px;font-size:12px;font-weight:800;color:var(--nfv-ink)}
.nfv-card-cta>span{font-size:18px}
.nfv-all-cities{border:1px solid var(--nfv-line);border-radius:10px;margin-top:20px;background:#f8fafc}
.nfv summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:76px;padding:17px 22px;color:var(--nfv-ink)}
.nfv summary::-webkit-details-marker{display:none}
.nfv summary::marker{content:''}
.nfv summary small{display:block;font-size:12px;line-height:1.6;font-weight:400;color:var(--nfv-muted);margin-top:3px}
.nfv-all-cities summary{font-size:16px;font-weight:750}
.nfv-plus{position:relative;display:block;width:26px;height:26px;border:1px solid #bbcbd9;border-radius:50%;flex-shrink:0}
.nfv-plus:before,.nfv-plus:after{content:'';position:absolute;top:11px;left:7px;width:10px;height:2px;background:var(--nfv-ink)}
.nfv-plus:after{transform:rotate(90deg)}
.nfv details[open]>summary .nfv-plus:after{transform:rotate(0)}
.nfv details[open]>summary{border-bottom:1px solid var(--nfv-line)}
.nfv-city-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;gap:2px 24px;margin:0;padding:16px 22px}
.nfv-city-list a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:8px 0;border-bottom:1px solid #e4ebf1;font-size:14px;color:var(--nfv-ink)}
.nfv-city-list a:hover,.nfv-regional-guide a:hover{text-decoration:underline;text-underline-offset:3px}
.nfv-note{font-size:13px;padding:0 22px 10px;color:var(--nfv-muted)}
.nfv-note a{text-decoration:underline;text-underline-offset:3px}
.nfv-trip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.nfv-trip{border-radius:12px;padding:24px 22px;background:#f2f5f9;border:1px solid #e0e6ee;display:flex;flex-direction:column}
.nfv-trip-sea{background:#eef7f9;border-color:#dcebee}
.nfv-trip-mountain{background:#f1f6f1;border-color:#dfe8dd}
.nfv-trip-icon{display:flex;align-items:center;width:42px;height:42px;color:var(--nfv-ink);margin-bottom:17px}
.nfv-trip h3{font-size:23px;line-height:1.25;margin:0 0 12px}
.nfv-trip p{font-size:13px;line-height:1.8;margin:0 0 15px}
.nfv-trip ul{list-style:none;margin:auto 0 0;padding:0}
.nfv-trip li+li{border-top:1px solid rgba(0,38,84,.1)}
.nfv-trip li a{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:44px;padding:8px 0;font-size:13px;font-weight:700;color:var(--nfv-ink)}
.nfv-trip li a:hover{text-decoration:underline;text-underline-offset:3px}
.nfv .nfv-region-help{font-size:12px;line-height:1.7;color:var(--nfv-muted);padding:14px 18px;border-left:3px solid #a6bed2;background:#f4f7fa;margin:-3px 0 22px}
.nfv-region-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.nfv-region{border:1px solid var(--nfv-line);background:#fff;border-radius:9px;overflow:hidden}
.nfv-region summary{padding:17px 18px;min-height:95px}
.nfv-region summary:hover{background:#f7fafc}
.nfv-region summary strong{font-size:15px;line-height:1.5;font-weight:750;display:block}
.nfv-region summary small{font-size:11px}
.nfv-region-content{padding:12px 18px 18px;background:#f8fafc}
.nfv-regional-guide+.nfv-regional-guide{border-top:1px solid var(--nfv-line);padding-top:8px;margin-top:12px}
.nfv-regional-guide h3{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:14px;margin:0;letter-spacing:0}
.nfv-regional-guide h3 a{display:flex;align-items:center;justify-content:space-between;min-height:44px;gap:12px}
.nfv-regional-guide ul{list-style:none;display:flex;flex-wrap:wrap;gap:5px;margin:4px 0 0;padding:0}
.nfv-regional-guide li a{display:flex;align-items:center;min-height:44px;padding:8px 11px;font-size:12px;line-height:1.5;border:1px solid #d8e3ed;background:#fff;color:var(--nfv-ink);border-radius:5px;overflow-wrap:anywhere}
.nfv-aside{align-self:stretch;min-width:0}
.nfv-aside-inner{position:sticky;top:100px;border-top:3px solid var(--nfv-ink);background:#f3f6f9;border-radius:0 0 10px 10px;padding:26px 24px}
.nfv-aside h2{font-size:27px;line-height:1.25;margin:0 0 17px}
.nfv-aside p{font-size:13px;line-height:1.8}
.nfv-time{border-top:1px solid #d5e0ea;padding-top:16px;margin-top:18px}
.nfv-time strong{color:var(--nfv-ink);font-size:13px}
.nfv-time p{font-size:12px;line-height:1.8;margin:5px 0 0}
.nfv .nfv-aside-note{font-size:11px;color:var(--nfv-muted);margin:20px 0 8px}
.nfv-aside-link{display:flex;align-items:center;min-height:44px;gap:10px;color:var(--nfv-ink);font-size:12px;font-weight:750;text-decoration:underline;text-underline-offset:3px}
.nfv-planning{padding:34px 38px;border:1px solid #d8e5ed;background:#eff5f9;border-radius:14px;margin-bottom:12px}
.nfv-planning-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.nfv-step{font-family:Georgia,serif;font-size:26px;color:#557390}
.nfv-planning h3{font-size:21px;line-height:1.35;margin:8px 0 12px}
.nfv-planning article p{font-size:13px;line-height:1.85;margin:0}
.nfv-planning-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 24px;border-top:1px solid #cedde9;margin-top:28px;padding-top:16px}
.nfv-planning-bottom p{font-size:13px;margin:0}
.nfv-planning-bottom nav{display:flex;flex-wrap:wrap;gap:5px 22px}
.nfv-planning-bottom a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:12px;font-weight:750;color:var(--nfv-ink);text-decoration:underline;text-underline-offset:4px}
.nfv-back-top{display:flex;align-items:center;justify-content:center;min-height:48px;font-size:12px;gap:12px;color:var(--nfv-muted);padding:14px}
@media(min-width:1600px){.nfv-hero{min-height:400px}}
@media(max-width:1150px){.nfv-layout{grid-template-columns:minmax(0,1fr) 225px;gap:26px}.nfv-destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nfv-trip-grid{grid-template-columns:1fr}.nfv-trip{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:16px;padding:20px}.nfv-trip-icon{grid-column:1;grid-row:1 / span 2}.nfv-trip h3,.nfv-trip p{grid-column:2}.nfv-trip ul{grid-column:2;display:flex;flex-wrap:wrap;gap:2px 18px}.nfv-trip li+li{border:0}.nfv-trip li a{gap:12px}.nfv-aside-inner{padding:22px 18px}.nfv-hero-copy{padding:32px}.nfv-region-grid{grid-template-columns:1fr}.nfv-jumps{gap:6px 24px}}
@media(max-width:850px){.nfv-hero{grid-template-columns:1fr 1fr;min-height:355px}.nfv-hero-copy{padding:28px}.nfv h1{font-size:40px}.nfv .nfv-intro{font-size:15px}.nfv-photo-caption{left:12px;right:12px;bottom:12px;padding:12px}.nfv-photo-caption strong{font-size:19px}.nfv-layout{grid-template-columns:1fr}.nfv-aside{display:none}.nfv-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nfv-trip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nfv-trip{display:flex;flex-direction:column;padding:20px}.nfv-trip ul{display:block;margin-top:auto}.nfv-trip li+li{border-top:1px solid rgba(0,38,84,.1)}.nfv-jumps>span{display:none}.nfv-jumps{justify-content:space-between;gap:2px 15px}.nfv .nf-destination-search{gap:2px 24px;padding:23px}.nfv .nf-destination-search h2{font-size:23px}.nfv .nf-search-controls{flex-direction:row}.nfv-planning-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.nfv-planning{padding:30px}.nfv-destination-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nfv-card-copy{padding:17px 15px 12px}.nfv-card h3{font-size:26px}}
@media(max-width:700px){.nfv-hero{grid-template-columns:1fr}.nfv-hero-copy{padding:28px}.nfv h1{font-size:44px}.nfv h1 em{display:inline}.nfv h1 em:before{content:' '}.nfv-hero-photo{min-height:240px}.nfv-breadcrumb{min-height:58px;font-size:12px}.nfv .nf-destination-search{display:block;padding:22px;margin-bottom:36px}.nfv .nf-destination-search>p{margin-bottom:17px;max-width:none}.nfv .nf-destination-search h2{font-size:25px}.nfv-jumps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 20px;font-size:12px;padding:12px 0;margin-bottom:22px}.nfv-jumps a{padding:5px 0}.nfv-destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.nfv-trip-grid{grid-template-columns:1fr;gap:14px}.nfv-trip{display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:14px}.nfv-trip h3,.nfv-trip p{grid-column:2}.nfv-trip-icon{grid-column:1;grid-row:1 / span 2}.nfv-trip ul{grid-column:2;display:flex;gap:0 20px;flex-wrap:wrap}.nfv-trip li+li{border:0}.nfv-region-grid{grid-template-columns:1fr}.nfv-city-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 18px}.nfv-section{margin-bottom:42px}.nfv-heading{margin-bottom:22px}.nfv .nf-search-results ul{grid-template-columns:repeat(2,minmax(0,1fr))}.nfv [id]{scroll-margin-top:86px}}
@media(max-width:450px){.nfv-hero-copy{padding:26px 22px}.nfv h1{font-size:39px;line-height:1.1}.nfv .nfv-intro{font-size:15px}.nfv .nfv-kicker{font-size:10px}.nfv-hero-photo{min-height:215px}.nfv-photo-caption small{font-size:10px}.nfv-photo-caption strong{font-size:18px}.nfv-destination-grid{grid-template-columns:1fr;gap:20px}.nfv-card-image{aspect-ratio:1.75}.nfv-card-copy{padding:20px 22px 14px}.nfv-card h3{font-size:30px}.nfv-card p{font-size:14px}.nfv-card-tag{font-size:10px}.nfv-highlights{font-size:12px}.nfv-card-cta{font-size:13px}.nfv .nf-search-controls{flex-direction:column}.nfv .nf-search-controls input{flex:auto;width:100%}.nfv .nf-search-controls button{width:100%}.nfv .nf-destination-search{padding:21px}.nfv .nf-destination-search h2{font-size:23px}.nfv-city-list{grid-template-columns:1fr}.nfv-all-cities summary{padding:17px;font-size:15px}.nfv-region summary{padding:17px}.nfv-planning{padding:26px 22px}.nfv-planning-grid{grid-template-columns:1fr;gap:24px}.nfv-planning h3{font-size:23px}.nfv-planning article p{font-size:14px}.nfv-planning-bottom nav{gap:3px 18px}.nfv .nf-search-results ul{grid-template-columns:1fr}.nfv-heading h2{font-size:30px}.nfv-heading>p:last-child{font-size:14px}.nfv-trip{padding:21px 17px}.nfv-trip p{font-size:14px}}
/* The older site-wide article rule enlarges every main p with !important.
   Keep this overview readable without inflating labels and compact guidance. */
body.nf-g main.nfv p{font-size:17px!important;line-height:1.72!important}
body.nf-g main.nfv p.nfv-kicker{font-size:11px!important;line-height:1.6!important}
body.nf-g main.nfv p.nfv-intro{font-size:18px!important;line-height:1.75!important}
body.nf-g main.nfv .nf-destination-search>p{font-size:14px!important;line-height:1.7!important}
body.nf-g main.nfv .nfv-heading>p:last-child{font-size:16px!important;line-height:1.75!important}
body.nf-g main.nfv .nfv-trip p{font-size:16px!important;line-height:1.75!important}
body.nf-g main.nfv .nfv-aside p{font-size:15px!important;line-height:1.75!important}
body.nf-g main.nfv .nfv-aside p.nfv-kicker{font-size:11px!important;line-height:1.6!important}
body.nf-g main.nfv .nfv-time p{font-size:14px!important;line-height:1.75!important}
body.nf-g main.nfv p.nfv-aside-note{font-size:12px!important;line-height:1.75!important}
body.nf-g main.nfv p.nfv-region-help,body.nf-g main.nfv p.nfv-note{font-size:14px!important;line-height:1.75!important}
body.nf-g main.nfv .nfv-planning article p{font-size:16px!important;line-height:1.75!important}
body.nf-g main.nfv .nfv-planning-bottom p{font-size:15px!important;line-height:1.7!important}
.nfv .nfv-highlights{font-size:12px}
.nfv .nfv-card-cta{font-size:13px}
.nfv .nfv-region summary small{font-size:12px}
.nfv .nfv-city-list a{font-size:15px}
.nfv .nfv-trip li a{font-size:14px}
@media(max-width:850px){.nfv .nfv-aside{display:block;margin-bottom:38px}.nfv .nfv-aside-inner{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 22px;padding:26px}.nfv .nfv-aside-inner>p,.nfv .nfv-aside-inner>h2,.nfv .nfv-aside-link{grid-column:1 / -1}.nfv .nfv-aside h2 br{display:none}.nfv .nfv-time{margin-top:0;padding-top:14px}.nfv .nfv-aside-note{margin-top:12px}}
@media(max-width:450px){body.nf-g main.nfv p.nfv-intro{font-size:17px!important}.nfv .nfv-aside-inner{display:block;padding:25px 22px}.nfv .nfv-time{margin-top:18px}.nfv .nfv-aside h2{font-size:28px}.nfv .nfv-aside-inner>p{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.nfv-card,.nfv-card-image img{transition:none}.nfv-card:hover img{transform:none}}
@media(max-height:1000px){.nfv-aside-inner{position:static}}
@media print{.nfv-aside-inner{position:static}.nfv-hero{break-inside:avoid}.nfv .nfv-card{break-inside:avoid;box-shadow:none}.nfv summary{break-inside:avoid}}
