/* Shared website navigation. Typography and logo follow the existing homepage. */
body { font-family: "Segoe UI", Arial, sans-serif; }
h1,h2,h3 { font-family: "Arial Narrow", "Bahnschrift", sans-serif; }
#idx-site-navigation { box-sizing:border-box; display:block; width:100%; max-width:1440px; margin:0 auto 22px; padding:18px 22px 12px; color:#fff; border:1px solid rgba(255,255,255,.12); border-radius:26px; background:rgba(8,8,8,.96); font-family:"Arial Narrow","Bahnschrift",sans-serif; box-shadow:0 16px 36px rgba(0,0,0,.24); }
#idx-site-navigation * { box-sizing:border-box; }
#idx-site-navigation .idx-brand-row { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; padding-bottom:14px; }
#idx-site-navigation .idx-brand-link { display:block; flex:0 0 auto; width:228px; padding:0; border:0; background:none; }
#idx-site-navigation .idx-brand-link img { display:block; width:100%; height:auto; max-height:82px; object-fit:contain; }
#idx-site-navigation .idx-brand-slogan { margin:0; color:rgba(255,255,255,.72); font-size:12px; font-weight:700; letter-spacing:.1em; line-height:1.6; text-transform:uppercase; }
#idx-site-navigation .idx-brand-slogan span { color:#e30613; }
#idx-site-navigation .idx-language { display:flex; align-items:center; gap:4px; margin-left:auto; }
#idx-site-navigation .idx-language a { min-height:38px; padding:8px 12px; border:1px solid rgba(255,255,255,.15); border-radius:999px; color:#fff; font-size:12px; font-weight:700; text-decoration:none; }
#idx-site-navigation .idx-language a[aria-current] { background:#fff; color:#111; border-color:#fff; }
#idx-site-navigation .idx-menu { display:flex; flex-wrap:wrap; align-items:stretch; gap:4px; padding-top:10px; border-top:1px solid rgba(255,255,255,.1); }
#idx-site-navigation .idx-menu a { display:flex; align-items:center; justify-content:center; flex:1 0 auto; min-height:44px; padding:10px 12px; margin:0; border:1px solid transparent; border-radius:999px; color:rgba(255,255,255,.82); text-decoration:none; font-size:12px; font-weight:700; letter-spacing:.07em; line-height:1.4; text-transform:uppercase; white-space:nowrap; }
#idx-site-navigation .idx-menu a:hover { background:rgba(255,255,255,.08); color:#fff; }
#idx-site-navigation .idx-menu a[aria-current="page"] { color:#fff; background:rgba(227,6,19,.16); border-color:#e30613; }
#idx-site-navigation .idx-menu a.idx-contact { background:#e30613; color:white; }
#idx-site-navigation a:focus-visible { outline:3px solid #fff; outline-offset:3px; }
#idx-site-navigation .idx-language-error { margin:12px 0 0; color:#fff; font:14px/1.5 "Segoe UI",Arial,sans-serif; }
@media (max-width:820px) {
 #idx-site-navigation { padding:14px; border-radius:22px; }
 #idx-site-navigation .idx-brand-row { gap:10px; }
 #idx-site-navigation .idx-brand-link { width:170px; }
 #idx-site-navigation .idx-brand-slogan { order:3; flex-basis:100%; font-size:10px; }
 #idx-site-navigation .idx-menu { gap:4px; }
 #idx-site-navigation .idx-menu a { flex:1 0 calc(33.333% - 4px); white-space:normal; padding:9px 6px; font-size:11px; }
}
@media (max-width:420px) {
 #idx-site-navigation .idx-brand-link { width:150px; }
 #idx-site-navigation .idx-menu a { flex-basis:calc(50% - 4px); }
}

/* Preserve readable line breaks in partner headings on small screens. */
aside h2 br { display:initial; }

/* Shared page frame: exactly the homepage width at every breakpoint.
   Scope to outer wrappers; nested cards/forms keep their own layout. */
body > .shell, body > .wrap {
 box-sizing:border-box;
 width:min(calc(100% - 28px), 1440px);
 max-width:1440px;
 margin:18px auto 56px;
 padding:0;
}
@media (max-width:820px) {
 body > .shell, body > .wrap { width:min(calc(100% - 18px), 1440px); }
}
@media (max-width:480px) {
 body > .shell, body > .wrap {
  width:min(calc(100% - 14px), 1440px);
  margin-top:10px; margin-bottom:34px;
 }
}

/* Wide rate tables scroll within their frame on phones. */
body > .wrap table.tarif-tbl, body > .shell table.tarif-tbl { display:block; max-width:100%; overflow-x:auto; }


body > .shell, body > .wrap { overflow-wrap:anywhere; }

/* Owner request: regular-weight CTA labels, using the homepage button font. */
body .btn, body .btn b, body .btn strong {
 font-family:"Arial Narrow","Bahnschrift",sans-serif;
 font-weight:400;
}
/* Supply readable defaults for otherwise unstyled links on dark content pages.
   Specific component colors (including light calculator panels) retain priority. */
:where(body > .wrap) a { color:#fff; }

/* Owner request: content links without underlines, matching the homepage. */
body > .wrap a { text-decoration:none; }
body > .wrap a:focus-visible { outline:2px solid currentColor; outline-offset:3px; }

/* Owner refinement: italic content links; main navigation stays upright. */
body > .wrap a:not(#idx-site-navigation a) { font-style:italic; }
