/* Small additions for real routes and keyboard/mobile navigation; reference design remains in style.css. */
:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.skip-link{position:absolute;left:12px;top:-80px;padding:12px;background:var(--paper);z-index:30}.skip-link:focus{top:12px}.header{position:relative}.mobile-menu{display:none}.page-title{font-size:clamp(44px,6vw,82px);line-height:1.05;margin:35px 0;overflow-wrap:anywhere}.reading{max-width:980px}.article-image{max-height:540px;margin:30px 0;object-fit:contain}.rich-text{overflow-wrap:anywhere}.rich-text img,.rich-text video,.rich-text iframe{max-width:100%;height:auto}.rich-text a{text-decoration:underline}.rich-text table{display:block;max-width:100%;overflow-x:auto}.partner-row{flex-wrap:wrap}.partner{flex:1;min-width:130px;max-width:280px}.partner img{height:85px;object-fit:contain;margin:0 auto 18px}.image-placeholder{height:240px;background:#e5dfcf;margin-bottom:23px}.social-links{display:flex;flex-wrap:wrap;gap:20px;margin:25px 0}.footer{flex-wrap:wrap}.pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:20px;margin-top:45px}.travel-fields{border:0;padding:0;margin:0;min-width:0}.form-grid>*{min-width:0}.newsletter>*{min-width:0}.newsletter input{min-width:0}.form-errors{border-left:3px solid var(--gold);padding-left:15px}.chat-panel{max-height:calc(100dvh - 180px);overflow:auto}address{font-style:normal}
@media(max-width:1000px){.mobile-menu{display:block;position:absolute;right:0;bottom:-18px;z-index:15}.mobile-menu>summary{font-size:12px;padding:5px 12px;border:1px solid var(--line);border-radius:20px;background:var(--paper)}.mobile-menu nav{position:absolute;right:0;top:32px;width:min(290px,85vw);padding:20px;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 30px #0002}.mobile-menu nav a{display:block;padding:10px 0}.hero-classic{padding-top:32px}.header-right .btn{gap:8px}.hero-classic>*{min-width:0}}
@media(max-width:650px){.header{column-gap:8px}.brand{gap:7px}.brand small{letter-spacing:1px}.header-right .btn{padding:10px;font-size:11px;gap:4px}.header-right{gap:0}.founder-mark span{text-align:center}.image-placeholder{height:270px}.partner{min-width:0}.contact .form-grid{column-gap:15px}.intro-row .btn{gap:6px}.social-links{gap:16px}}

/* Compatibility tokens for the existing shared error screens. */
:root{--color-principale:var(--ink);--color-secondaire:var(--gold)}

/* Keep legal links clear of both fixed contact tools at the end of the page. */
.footer{padding-bottom:160px}

/* Administrable editorial content: keep images inside the reference layout. */
.brand img{object-fit:contain;border-radius:0}.editorial-image{max-height:380px;object-fit:contain;margin:25px 0}.hero-classic h1{overflow-wrap:break-word}.intro-row .rich-text{font-size:14px;line-height:1.8}.method-editorial>ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px;margin:40px 0;padding-left:25px}.method-editorial li{padding:16px 5px;border-top:1px solid #697064}.method-editorial li strong{display:block;font-family:var(--serif);font-size:26px;font-weight:400}.method-editorial li p{font-size:14px}.method-editorial{margin-bottom:30px}
@media(max-width:1000px){.method-editorial>ol{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.method-editorial>ol{grid-template-columns:1fr 1fr}.intro-row .rich-text{font-size:13px}}

/* Editorial destinations: content determines card height, including long names. */
.destination-editorial-grid{align-items:stretch}
.destination-editorial{display:flex;align-items:flex-end;background:#293b32;min-width:0;height:auto}
.destination-editorial:after{background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.72))}
.destination-editorial .caption{position:relative;inset:auto;width:100%;padding:38px;z-index:2;overflow-wrap:anywhere}
.destination-editorial h3{font-size:clamp(34px,3.4vw,56px);line-height:1.07;overflow-wrap:anywhere}
.destination-editorial .caption p{max-width:none;overflow-wrap:anywhere}
.destination-discover{display:inline-flex;align-items:center;gap:16px;margin-top:18px;font-size:14px}
.destination-editorial:focus-visible{outline:3px solid var(--rust,#ad5d3f);outline-offset:5px}
.destination-list .destination-grid{margin-top:40px}
.destination-detail .page-title,.destination-lead,.destination-description{overflow-wrap:anywhere}
.destination-lead{font-size:clamp(20px,2.2vw,28px);line-height:1.55}
.destination-description{white-space:pre-line;line-height:1.8}
.destination-experiences{margin:64px 0}
.destination-experiences h2{margin-bottom:30px}
.destination-detail .rich-text img{max-width:100%;height:auto}
.destination-detail .rich-text table{display:block;max-width:100%;overflow:auto}
.destination-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin-top:36px}
@media(max-width:650px){.destination-editorial .caption{padding:26px}.destination-editorial h3{font-size:40px}.destination-experiences{margin:44px 0}}

/* Native travel request form; optional JS only hides irrelevant destination fields. */
.voyage-field{min-width:0;display:flex;flex-direction:column;gap:8px}
.voyage-field[hidden]{display:none}
.voyage-field label{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.voyage-field input,.voyage-field select,.voyage-field textarea{width:100%;min-width:0;max-width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);padding:10px 0;font:inherit}
.voyage-field textarea{resize:vertical}
.voyage-field small{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.voyage-field-error{color:#923b2b}
.voyage-field-error:empty{display:none}
.voyage-errors,.voyage-success{padding:18px;border:1px solid var(--line);overflow-wrap:anywhere;font-size:14px}
.voyage-errors{border-color:#923b2b;color:#923b2b}
.voyage-errors a{text-decoration:underline}
.voyage-errors ul{padding-left:20px}
.voyage-success{border-color:#476347;color:#365236}
.voyage-captcha{min-width:0;max-width:100%}
#voyage-submit{white-space:normal;line-height:1.5;min-width:0}
@media(max-width:900px){#travel-form[data-voyage]{grid-template-columns:1fr}}
@media(max-width:650px){.voyage-field input,.voyage-field select,.voyage-field textarea{font-size:16px}}

.newsletter-fields{display:grid;grid-template-columns:1fr 1.2fr;gap:18px}.newsletter-fields>div{min-width:0}.newsletter-consent{display:flex;align-items:flex-start;gap:10px;margin-top:14px;font-size:14px}.newsletter-consent input{width:auto!important;flex:0 0 auto;margin-top:4px}.newsletter form{min-width:0}.newsletter .feedback{overflow-wrap:anywhere}
@media(max-width:900px){.newsletter-fields{grid-template-columns:1fr;gap:16px}}

.vd-legal-page{max-width:820px}.vd-legal-page .rich-text{line-height:1.7}.vd-legal-page .rich-text h2{margin:2.25rem 0 .8rem;line-height:1.25;overflow-wrap:anywhere}.vd-legal-page .rich-text p{margin:0 0 1rem;overflow-wrap:anywhere}.vd-legal-page .rich-text strong{font-weight:650}
@media(max-width:650px){.vd-legal-page .rich-text h2{margin-top:1.8rem}.vd-legal-page .rich-text{line-height:1.65}}
