.roud-settings-toggle, .cky-btn-revisit-wrapper { position: fixed; left: 20px !important; right: auto !important; width: 52px !important; height: 52px !important; border: 1px solid #a5b5c1 !important; border-radius: 50% !important; background: #e5eaee !important; color: #13354d !important; box-shadow: 0 3px 12px rgb(19 53 77 / 14%); box-sizing: border-box; }
.roud-settings-toggle { bottom: 84px; z-index: 9000; padding: 0; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.cky-btn-revisit-wrapper { bottom: 20px !important; }
.cky-btn-revisit-wrapper .cky-btn-revisit { width: 100% !important; height: 100% !important; padding: 0 !important; display: flex; align-items: center; justify-content: center; }
.cky-btn-revisit-wrapper .cky-btn-revisit img { width: 28px !important; height: 28px !important; filter: brightness(0) saturate(100%); }
.cky-btn-revisit-wrapper::before { left: 64px !important; right: auto !important; max-width: calc(100vw - 100px); }
.cky-btn-revisit-wrapper::after { left: 52px !important; right: auto !important; }
.roud-settings-toggle:hover, .roud-settings-toggle[aria-expanded="true"], .cky-btn-revisit-wrapper:hover { background: #d7e3eb !important; }
.roud-settings-toggle:focus-visible, .cky-btn-revisit:focus-visible { outline: 3px solid #13354d !important; outline-offset: 4px; }
#roud-accessibility-panel[hidden] { display: none !important; }
#roud-accessibility-panel { position: fixed; z-index: 9100; left: 20px; bottom: 148px; width: min(360px,calc(100vw - 40px)); max-height: calc(100dvh - 170px); overflow-y: auto; overscroll-behavior: contain; box-sizing: border-box; padding: 20px; border: 1px solid #a5b5c1; border-radius: 12px; background: #fff; color: #13354d; box-shadow: 0 6px 26px rgb(19 53 77 / 18%); font: 16px/1.6 Arial,Helvetica,sans-serif; }
#roud-accessibility-panel .roud-display-settings-inner { display: flex; flex-direction: column; align-items: stretch; gap: 16px; padding: 0; }
.roud-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
#roud-accessibility-panel h2 { font: 700 22px/1.4 Arial,Helvetica,sans-serif; color: #13354d; margin: 0; }
.roud-panel-close { flex: 0 0 44px; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid #a5b5c1; border-radius: 6px; background: #fff; color: #13354d; cursor: pointer; }
#roud-accessibility-toolbar .a11y-toolbar-list { flex-direction: column; align-items: stretch; }
#roud-accessibility-toolbar .a11y-toggle { width: 100% !important; justify-content: flex-end; text-align: left; }
#roud-accessibility-panel a { min-height: 44px; display: inline-flex; align-items: center; padding: 0; color: #075983; }
.roud-contact-actions { bottom: 20px; }
#sub-footer > .mk-grid { padding: 8px 0 !important; }
#sub-footer > .mk-grid::before, #sub-footer > .mk-grid::after { display: none !important; }
#mk-footer-navigation { margin-left: auto !important; }
#mk-footer-navigation ul { justify-content: flex-end; }
.roud-contact-page { overflow-wrap: anywhere; max-width: 1100px; margin: 0 auto; padding: 32px 0 28px; color: #13354d; font: 16px/1.6 Arial,Helvetica,sans-serif; }
.roud-contact-page h1 { font-size: clamp(28px,4vw,36px); line-height: 1.3; margin: 0 0 28px; }
.roud-contact-page h2 { font-size: 23px; line-height: 1.4; margin: 0 0 20px; }
.roud-contact-page h3 { font-size: 19px; line-height: 1.4; margin: 24px 0 12px; }
.roud-contact-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 40px; align-items: start; }
.roud-contact-details { background: #f3f6f8; border: 1px solid #cbd6df; border-radius: 8px; padding: 24px; min-width: 0; }
.roud-contact-page p { margin: 0 0 16px; }
.roud-contact-page a { color: #075983; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.roud-contact-page .roud-contact-person { margin-bottom: 24px; }
.roud-contact-images { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px; margin-top: 24px; }
.roud-contact-images figure { margin: 0; min-width: 0; }
.roud-contact-images img { width: 100%; height: auto; display: block; border-radius: 6px; }
.roud-contact-images figcaption { font-size: 14px; line-height: 1.5; margin-top: 8px; }
.roud-contact-page .wpcf7 input:not([type="checkbox"]):not([type="radio"]), .roud-contact-page .wpcf7 textarea { width: 100%; border: 1px solid #526b7d; border-radius: 5px; padding: 12px; min-height: 48px; background: #fff; color: #13354d; }
.roud-contact-page .wpcf7 textarea { min-height: 150px; }
.roud-contact-page .wpcf7 .wpcf7-submit { background: #075983 !important; color: #fff !important; width: auto !important; min-width: 140px; font-size: 16px; text-transform: none; }
.roud-contact-page .wpcf7 .roud-field-hint { font-size: 14px; color: #344f62; }
.roud-contact-page .wpcf7 label { display: block; font-weight: 600; color: #13354d; }
.roud-contact-page .wpcf7 ::placeholder { color: #526b7d; opacity: 1; }
.roud-form-error-summary { border: 2px solid #9d1717; border-radius: 6px; background: #fff5f5; color: #721414; padding: 16px; margin: 0 0 24px; }
.roud-form-error-summary h2 { color: #721414; font-size: 20px; margin: 0 0 12px; }
.roud-form-error-summary ul { margin: 0; padding-left: 20px; }
.roud-form-error-summary a { color: #721414; text-decoration: underline; display: inline-flex; align-items: center; min-height: 44px; }
.wpcf7 [aria-invalid="true"] { border: 2px solid #9d1717 !important; }
.wpcf7 .wpcf7-response-output { font-size: 16px; line-height: 1.6; color: #13354d; background: #f3f6f8; }
#submit_compare, .compare_clear_button { background: #075983 !important; color: #fff !important; min-height: 44px; }
body.contrast #roud-accessibility-panel, body.contrast .roud-contact-details, body.contrast .roud-form-error-summary { background: #000 !important; color: #fff !important; }
@media (max-width: 767px) {
 .roud-settings-toggle { left: 16px !important; bottom: calc(138px + env(safe-area-inset-bottom)); }
 .cky-btn-revisit-wrapper { left: 16px !important; bottom: calc(74px + env(safe-area-inset-bottom)) !important; }
 #roud-accessibility-panel { left: 16px; bottom: calc(202px + env(safe-area-inset-bottom)); width: calc(100vw - 32px); max-height: calc(100dvh - 220px - env(safe-area-inset-bottom)); padding: 16px; }
 #sub-footer > .mk-grid { padding: 12px 20px 12px 84px !important; }
 #mk-footer-navigation { margin-left: 0 !important; }
 #mk-footer-navigation ul { justify-content: flex-start; }
 .roud-contact-actions { bottom: 0; }
 .roud-contact-page { padding: 24px 8px 28px; }
 .roud-contact-grid { grid-template-columns: minmax(0,1fr); gap: 28px; }
 .roud-contact-details { padding: 20px; }
 .roud-contact-images { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
}
@media (max-height: 480px) {
 #roud-accessibility-panel { bottom: 84px; max-height: calc(100dvh - 100px); }
}

/* Body has a viewport height in Jupiter: its padding does not reserve space after overflowing page content. */
.roud-mobile-contact-spacer { display: none; }
@media (max-width:767px) { html:not(.fontsize) .roud-mobile-contact-spacer { display: block; height: calc(58px + env(safe-area-inset-bottom)); pointer-events: none; } }

/* Keep the user's main-menu labels unchanged; only submenu typography is normalized. */
body .mk-header .mk-main-navigation .sub-menu a,
body .mk-header .mk-responsive-nav .sub-menu a { text-transform: none !important; letter-spacing: normal !important; white-space: normal !important; overflow-wrap: anywhere; hyphens: auto; }
body .mk-header .mk-main-navigation > ul > li > ul.sub-menu { width: 320px !important; max-width: calc(100vw - 40px); }
html:not(.fontsize) body .mk-header .mk-main-navigation .sub-menu a { font-size: 15px !important; }
html:not(.fontsize) body .mk-header .mk-responsive-nav .sub-menu a { font-size: 16px !important; }
.roud-reference-overview { max-width: 1100px; margin: 0 auto; padding: 40px 0 48px; color: #13354d; font: 16px/1.6 Arial,Helvetica,sans-serif; overflow-wrap: anywhere; }
.roud-reference-overview h2 { margin: 0 0 12px; color: #13354d; font-size: clamp(24px,3vw,30px); line-height: 1.35; text-transform: none; }
.roud-reference-intro { margin: 0 0 28px; }
.roud-reference-grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 28px; align-items: start; }
.roud-reference-map { margin: 0; min-width: 0; }
.roud-reference-map img { display: block; width: 100%; height: auto; border: 1px solid #cbd6df; border-radius: 8px; box-sizing: border-box; }
.roud-reference-map figcaption { padding-top: 12px; font-size: 14px; line-height: 1.5; color: #344f62; }
.roud-reference-overview a { color: #075983; text-decoration: underline; text-underline-offset: 3px; }
.roud-reference-regions { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: 10px; }
.roud-reference-regions li { display: flex; align-items: center; gap: 14px; margin: 0 !important; padding: 12px 16px; min-width: 0; border: 1px solid #cbd6df; border-radius: 6px; background: #f6f8fa; }
.roud-reference-number { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 32px; height: 32px; border-radius: 50%; background: #075983; color: #fff; font-weight: 700; }
.roud-reference-regions h3 { font-size: 18px; line-height: 1.4; margin: 0 0 2px; color: #13354d; text-transform: none; }
.roud-reference-regions p { margin: 0; line-height: 1.4; }
.roud-reference-regions strong { font-weight: 700; }
.roud-reference-links { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 28px; }
.roud-reference-links a { display: inline-flex; align-items: center; min-height: 44px; }
body.contrast .roud-reference-overview, body.contrast .roud-reference-regions li { background: #000 !important; color: #fff !important; }
@media (max-width: 767px) {
 .roud-reference-overview { padding: 28px 8px 32px; }
 .roud-reference-grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
 .roud-reference-regions li { padding: 12px 14px; }
}

/* Override Jupiter current-link opacity and yellow text in normal display mode. */
body:not(.contrast) #mk-theme-container .mk-header .mk-main-navigation .sub-menu li > a.menu-item-link { background-color: #fff !important; color: #13354d !important; }
body:not(.contrast) #mk-theme-container .mk-header .mk-main-navigation .sub-menu li.current-menu-item > a.menu-item-link,
body:not(.contrast) #mk-theme-container .mk-header .mk-main-navigation .sub-menu li > a.menu-item-link:hover,
body:not(.contrast) #mk-theme-container .mk-header .mk-main-navigation .sub-menu li > a.menu-item-link:focus-visible { background-color: #e8f2f7 !important; color: #073f67 !important; }

/* Jupiter has a separate full-width background behind the fixed classic navigation. */
body:not(.contrast) .mk-header .mk-classic-nav-bg { background-color: #0672a5 !important; }
body.contrast .mk-header .mk-classic-nav-bg { background-color: #000 !important; }
