/* SwitzerlandVibe v2 - accueil (direction 2). Extrait de la maquette output/switzerlandvibe-home-v2/index.html */
:root{--dark:#1f1f1f;--paper:#f4f3f0;--ink:#1d1d1b;--olive:#6b7353}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px "Inter Tight","Helvetica Neue",Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button,input{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid currentColor;outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3,.logo{font-weight:800;letter-spacing:-.03em}.wrap{width:calc(100% - 88px);max-width:1600px;margin:auto}.dark{background:var(--dark);color:white}.mono{font-family:"IBM Plex Mono",monospace;font-size:11px;line-height:1.5;letter-spacing:.15em;text-transform:uppercase;font-weight:400}.topbar{border-bottom:1px solid #ffffff09}.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:36px}.topbar .mono:first-child{font-size:13px}.topbar .mono:last-child{font-size:10px}.navigation{display:flex;align-items:center;gap:20px;min-height:81px}.logo{font-size:50px;line-height:1;letter-spacing:-.055em}.tagline{font-size:11px;letter-spacing:.12em}.navlinks{display:flex;gap:36px;margin-left:auto;white-space:nowrap;font-size:15px}.navlinks span{margin-left:6px}.search-toggle{border:0;border-left:1px solid #999;background:transparent;color:white;padding:0 0 0 27px}.search-toggle img{width:23px;height:23px;filter:invert(1)}.site-search{padding:8px 0 20px}.site-search form{display:flex;gap:10px}.site-search input{flex:1;min-width:0;padding:12px;background:#262626;color:white;border:1px solid #888}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;background:var(--olive);color:white;border:0;border-radius:2px;padding:14px 18px;font-size:15px}.button:hover{background:#596145;text-decoration:none}.hero{padding-bottom:24px}h1{font-size:clamp(60px,8.25vw,140px);line-height:.99;letter-spacing:-.045em;white-space:nowrap;padding:3px 0 10px}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 208px;gap:28px}.hero-photo{height:clamp(290px,19.4vw,360px);position:relative;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 53%}.photo-label{position:absolute;left:26px;top:20px;font-size:13px;text-shadow:0 1px 8px #000}.photo-location{position:absolute;left:26px;bottom:16px;font-size:10px;text-shadow:0 1px 8px #000}.itinerary{padding-top:9px}.itinerary h2{font-family:"IBM Plex Mono",monospace;font-size:24px;line-height:1.15;letter-spacing:.11em;font-weight:400}.short-rule{width:20px;border-top:1px solid #bbb;margin:16px 0 12px}.stops{list-style-type:square;padding-left:27px;font-size:21px;line-height:1.65;letter-spacing:.02em;margin:0}.trip-note{font-family:"IBM Plex Mono",monospace;font-size:10px;white-space:nowrap;margin:13px 0 11px}.itinerary .button{width:100%;padding:13px 10px}.itinerary .button span{font-size:24px;line-height:1}.rail-line{display:flex;align-items:center;gap:14px;margin-top:12px;font-size:10px;letter-spacing:.1em;white-space:nowrap}.rail-line i{flex:1;border-top:1px solid #aaa}.rail-line i:after{content:"";display:block;float:right;width:8px;height:8px;background:white;margin-top:-4px}.rail-caption{font-size:10px;padding:12px 0 0 54px;line-height:1.35}.booking{border:1px solid #777;background:#262626;padding:15px 18px 10px;margin-top:18px}.booking>p{font-size:10px;color:#d8d8d2;margin-bottom:12px}.search-widget{min-height:110px}.section{padding:58px 0;border-bottom:1px solid #bcbcb5}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.section h2{font-size:48px;line-height:1.04}.section-head>.mono{color:#61625b}.eyebrow{color:#66685e;margin-bottom:12px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.widget-panel{min-width:0;border-top:1px solid #bcbcb5;padding-top:18px}.widget-panel>h3{margin-bottom:20px}.schedule{min-height:280px}.city-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.city-heading h3{font-size:30px}.city-heading .mono{color:#66685e}.city-widget{min-height:270px}.guides-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 28px}.guide{display:flex;flex-direction:column;align-items:start;min-width:0}.guide-image{width:100%;overflow:hidden}.guide-image img{display:block;width:100%;aspect-ratio:3/2;height:auto;object-fit:cover}.category{margin:19px 0 9px;color:#626457}.guide h3{font-size:26px;line-height:1.12;margin-bottom:14px}.guide time{color:#696b63;font-size:10px}.excerpt{margin:12px 0 18px;color:#55564f;font-size:15px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.read-link{font-size:14px;border-bottom:1px solid #8b8e7f;padding-bottom:5px;margin-top:auto}.read-link span{margin-left:18px}.map-section{border:0;padding-bottom:64px}.map-section iframe{display:block;width:100%;height:480px;border:1px solid #bcbcb5}footer{padding:46px 0 22px}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:34px;border-bottom:1px solid #555}.footer-top .logo{font-size:42px}.footer-content{display:grid;grid-template-columns:1.7fr 1fr;gap:65px;padding:35px 0 40px}.footer-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.footer-links h3{font-size:11px;margin-bottom:18px;color:#bdbfb4}.footer-links a{display:block;font-size:14px;margin-top:12px}.newsletter h3{font-size:28px;line-height:1.1}.newsletter p{font-size:14px;color:#c1c2ba;line-height:1.5;margin:10px 0 17px}.newsletter-form{display:flex;gap:8px}.newsletter input{width:100%;min-width:0;background:transparent;border:1px solid #85867e;border-radius:2px;color:white;padding:12px}.newsletter label{display:block;font-size:12px;margin-bottom:8px}.newsletter .form-status{font-size:12px;margin:10px 0 0}.footer-bottom{border-top:1px solid #555;padding-top:20px;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:#c1c2ba}.partner-widget{max-width:100%}.partner-widget iframe{max-width:100%}.skip{position:absolute;top:-100px;left:16px;background:white;color:black;padding:12px;z-index:10}.skip:focus{top:12px}
@media(max-width:1200px){.tagline{display:none}.navlinks{gap:23px}.hero-grid{gap:22px}.rail-line{gap:7px;font-size:8px}.footer-content{gap:30px;grid-template-columns:1.5fr 1fr}}
@media(max-width:799px){.wrap{width:calc(100% - 36px)}.topbar .mono:first-child{font-size:9px}.topbar .mono:last-child{display:none}.navigation{flex-wrap:wrap;padding:17px 0;gap:18px;min-height:0}.logo{font-size:40px}.navlinks{order:2;width:100%;margin:0;justify-content:space-between;gap:10px;font-size:12px}.navlinks span{margin-left:2px}.search-toggle{margin-left:auto;border:0;padding:0}.hero h1{font-size:clamp(51px,10.8vw,85px);white-space:normal;line-height:.98;padding:16px 0 23px}.hero-grid{grid-template-columns:1fr;gap:21px}.hero-photo{height:300px}.photo-label{left:18px;top:18px;font-size:11px}.photo-location{left:18px}.rail-line{font-size:7px;gap:4px;letter-spacing:0}.rail-line i:after{width:5px;height:5px;margin-top:-3px}.itinerary{padding-top:0}.itinerary h2{font-size:23px}.itinerary .button{justify-content:space-between;padding:15px}.rail-caption{padding:17px 0 0}.stops{margin:10px 0;font-size:20px}.booking{margin-top:22px;padding:14px 12px}.search-widget{min-height:320px}.section{padding:38px 0}.section-head{display:block;margin-bottom:25px}.section-head>.mono{margin-top:16px}.section h2{font-size:38px}.two-columns,.guides-grid,.footer-links,.footer-content{grid-template-columns:1fr}.guides-grid{gap:32px}.schedule{min-height:260px}.footer-top{display:block}.footer-top .mono{margin-top:18px}.footer-content{gap:35px}.footer-links{gap:25px}.footer-links h3{margin-bottom:10px}.footer-bottom,.newsletter-form,.site-search form{flex-direction:column}.newsletter .button{width:100%}}
/* Ajouts theme : nav en liens simples (menus WordPress), icone loupe en SVG, pied de page. */
.search-toggle svg{display:block}
.navlinks a{white-space:nowrap}
body.sv2-home{margin:0}
.admin-bar .skip:focus{top:44px}

.logo{display:inline-flex;align-items:center;gap:.28em}.logo .flag{width:1.05em;height:.7em;flex:none;border:1px solid #ffffff40;border-radius:2px}
/* SwitzerlandVibe : marque longue, croix carrée et fiches éditoriales. */

/* EMP-4757: paper masthead and panorama, distinct from France's dark hero. */
body.sv2-home>div.dark,body.sv2-home main>.dark:first-child{background:#f4f3f0;color:#1f1f1f}
body.sv2-home>.dark .topbar{border-color:#bcbcb5}
body.sv2-home>.dark .search-toggle{color:#1f1f1f;min-width:44px;min-height:44px}
body.sv2-home>.dark .site-search input{background:#f4f3f0;color:#1f1f1f}
.hero-grid.no-featured{grid-template-columns:1fr}
.hero-photo{height:clamp(320px,27vw,460px)}
.illustration-caption{padding-top:12px;color:#626b66;font-size:11px;letter-spacing:.03em;text-transform:none;line-height:1.5}
.hero .trip-facts dt{color:#626b66}
.hero .itinerary .button{min-height:44px}
.partner-consent-note{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px;font-size:14px;line-height:1.5}
.partner-consent-note[hidden]{display:none}
.cookie-settings{background:transparent;color:inherit;border:1px solid currentColor;padding:10px 16px;min-height:44px;flex-shrink:0}
.hero .booking{background:transparent;border-color:#bcbcb5}
.hero .booking>p{color:#626b66}
@media(max-width:799px){.hero-photo{height:260px}.partner-consent-note{flex-direction:column;align-items:stretch}.navlinks a{padding:10px 0}}
:root{--olive:#bd3027}.button:hover{background:#99271f}.logo{font-size:clamp(25px,2.7vw,42px);white-space:nowrap}.logo .flag{width:.8em;height:.8em;border:0;border-radius:0}.navigation{flex-wrap:wrap}.tagline{max-width:180px}.navlinks{gap:20px}h1{white-space:normal;overflow-wrap:anywhere;font-size:clamp(54px,7vw,112px)}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(240px,280px)}.itinerary h2{font-size:23px;letter-spacing:0;overflow-wrap:anywhere}.trip-note{white-space:normal;line-height:1.5}.rail-line{flex-wrap:wrap}.rail-line span{overflow-wrap:anywhere}.footer-content{display:block}.footer-top{flex-wrap:wrap;gap:24px}.footer-bottom{flex-wrap:wrap}.footer-bottom p{overflow-wrap:anywhere}.trip-facts{margin:18px 0;font-size:14px;line-height:1.5}.trip-facts div{margin-bottom:10px}.trip-facts dt{font-family:"IBM Plex Mono",monospace;font-size:11px;text-transform:uppercase;color:#626457}.dark .trip-facts dt{color:#d8d8d2}.trip-facts dd{margin:3px 0 0}.route-stops{padding-left:22px;margin:16px 0;line-height:1.7;overflow-wrap:anywhere}.map-link{display:inline-block;text-decoration:underline;text-underline-offset:4px;margin:0 0 16px}.circuit h2{font-size:26px;margin-top:20px;line-height:1.15}.circuit .button{margin-top:auto}.partner-links{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:24px 0}.partner-links p{flex-basis:100%;line-height:1.5}.affiliate-disclosure{font-size:13px;color:#55564f;line-height:1.6;margin-top:18px}.itinerary-page{padding-top:48px}.itinerary-page h1{font-size:clamp(38px,5vw,76px);line-height:1.08}.itinerary-cover{display:block;width:100%;height:auto;max-height:580px;object-fit:cover}.entry-content{max-width:850px;line-height:1.8;margin:40px auto;overflow-wrap:anywhere}.entry-content p,.entry-content h2,.entry-content h3{margin:20px 0}.entry-content a{text-decoration:underline}.entry-content img{max-width:100%;height:auto}.route-map iframe{width:100%;height:440px;border:1px solid #bcbcb5;display:block}.route-map .button{margin-left:16px}.site-search:not([hidden]){display:block}
@media(max-width:1200px){.navlinks{width:100%;order:3;margin:0;flex-wrap:wrap}.search-toggle{margin-left:auto}.hero-grid{grid-template-columns:minmax(0,1fr) 240px}.footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:799px){.logo,.footer-top .logo{font-size:clamp(22px,7vw,34px)}.navigation{gap:14px}.hero-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(44px,10vw,76px)}.navlinks{justify-content:flex-start;gap:12px 20px}.rail-line{font-size:9px}.rail-line i{min-width:8px}.footer-links{grid-template-columns:1fr 1fr}.footer-top .logo{max-width:100%}.footer-bottom{display:block}.footer-bottom p{margin-top:12px}.route-map .button{margin:0 0 16px}.route-map iframe{height:320px}.partner-links{align-items:stretch;flex-direction:column}.section h2{overflow-wrap:anywhere}.itinerary-page{padding-top:28px}.entry-content{margin:28px 0}}

body.sv2-home .hero .trip-facts dt{color:#626b66}
/* EMP-5483 : sans cookies publicitaires acceptés, pas de grands vides ; le message + bouton réglages explique pourquoi. */
.partners-off .search-widget,.partners-off .schedule,.partners-off .city-widget{min-height:0}.partners-off .map-section iframe{display:none}

/* EMP-5627: practical booking cards, using this site's existing palette and type. */
.stay-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}.stay-card{min-width:0;border-top:1px solid #bcbcb5;padding-top:18px}.stay-card figure{margin:0}.stay-card .stay-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.stay-image-hotels{object-position:30% 50%}.stay-image-car{object-position:80% 50%}.stay-card figcaption{font-size:12px;line-height:1.5;margin-top:8px;color:inherit;opacity:.85}.stay-copy h3{font-size:28px;line-height:1.2;margin:22px 0 12px}.stay-copy p{font-size:16px;line-height:1.6;margin:0 0 22px}.stay-copy .button{min-height:48px;max-width:100%;white-space:normal}.stay-section .section-head p{font-size:16px;line-height:1.5;margin-top:16px}.stay-disclosure{font-size:14px;line-height:1.6;margin:24px 0 0}@media(max-width:799px){.stay-grid{grid-template-columns:1fr;gap:32px}}

.map-origin{min-width:0}.map-origin h3{font-size:24px;margin-bottom:16px}.map-swiss-links{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.map-swiss-links a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}.map-section .map-note{font-size:16px;line-height:1.6;margin-bottom:24px}
