/* Keep imported logos proportional despite their intrinsic width attributes. */
.uicore-navbar .uicore-branding a .uicore-logo { width: auto; }

/* Use the site's existing footer typography, colors and pill-shaped controls. */
footer .motiv-footer-grid {
  display: grid;
  grid-template-columns: 1fr .55fr .9fr 1.35fr;
  gap: 36px;
  align-items: start;
}
footer .motiv-footer-grid > .e-con {
  width: auto;
  min-width: 0;
  --width: auto;
}
footer .motiv-footer-newsletter { padding: 0; }
footer .motiv-newsletter { width: 100%; text-align: left; }
footer .motiv-newsletter h2 {
  color: var(--e-global-color-uicore_headline);
  font-family: var(--e-global-typography-uicore_primary-font-family), sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.4;
  margin: 0 0 20px;
}
footer .motiv-newsletter p {
  color: var(--e-global-color-uicore_body);
  font-size: 13px;
  line-height: 1.6;
  margin: 0 0 22px;
}
footer .motiv-newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
}
footer .motiv-newsletter-form > label {
  color: var(--e-global-color-uicore_headline);
  font-size: 12px;
  font-weight: 400;
  margin: 0 0 8px;
  line-height: 1.5;
}
footer .motiv-newsletter-form > input:not([type="hidden"]) {
  width: 100%;
  min-width: 0;
  height: 48px;
  padding: 12px 20px;
  margin: 0 0 18px;
  border: 1px solid var(--e-global-color-uicore_headline);
  border-radius: 30px;
  background: transparent;
  color: var(--e-global-color-uicore_headline);
  font-family: inherit;
  font-size: 13px;
  line-height: 1.5;
  box-sizing: border-box;
}
footer .motiv-newsletter-form > input::placeholder { color: var(--e-global-color-uicore_body); }
footer .motiv-newsletter-form > input:focus-visible {
  outline: 2px solid var(--e-global-color-uicore_primary);
  outline-offset: 3px;
}
footer .motiv-newsletter-form > button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  gap: 16px;
  margin: 2px 0 0;
  cursor: pointer;
}
footer .motiv-newsletter-form > button:focus-visible {
  outline: 2px solid var(--e-global-color-uicore_headline);
  outline-offset: 4px;
}
footer .motiv-newsletter-form > button:disabled { opacity: .6; cursor: wait; }
footer .motiv-newsletter-form button svg { flex-shrink: 0; width: 20px; height: 20px; }
footer .motiv-newsletter > small {
  display: block;
  margin-top: 16px;
  color: var(--e-global-color-uicore_body);
  font-size: 11px;
  line-height: 1.6;
}
footer .motiv-newsletter-honeypot { position: absolute; left: -10000px; height: 1px; overflow: hidden; }
footer .motiv-newsletter .motiv-form-feedback { font-size: 12px; }
@media (max-width: 1100px) {
  footer .motiv-footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
}
@media (max-width: 600px) {
  footer .motiv-footer-grid { grid-template-columns: 1fr 1fr; gap: 30px 20px; }
  footer .motiv-footer-contact, footer .motiv-footer-newsletter { grid-column: 1 / -1; }
}

/* Shared conversion routes, using the existing MoTIV design tokens. */
.motiv-flow { max-width:1250px; width:90%; margin:0 auto; padding:160px 0 96px; }
.motiv-flow h1,.motiv-flow h2,.motiv-flow h3,.motiv-flow legend { color:var(--e-global-color-uicore_headline); font-family:var(--e-global-typography-uicore_primary-font-family),sans-serif; text-transform:none; }
.motiv-flow h1 { font-size:clamp(36px,4.5vw,64px); font-weight:400; line-height:1.1; letter-spacing:-.027em; margin:0 0 24px; max-width:900px; }
.motiv-flow h2 { font-size:26px; font-weight:400; letter-spacing:-.027em; line-height:1.3; margin:0 0 24px; }
.motiv-flow h3 { font-size:16px; font-weight:500; margin:0 0 14px; }
.motiv-flow p { color:var(--e-global-color-uicore_body); font-size:15px; line-height:1.8; }
.mf-page-intro { padding-bottom:64px; border-bottom:1px solid #ffffff26; margin-bottom:64px; }
.mf-page-intro > p { margin:0; max-width:700px; }
.mf-layout { display:grid; grid-template-columns:1fr 1.7fr; gap:100px; align-items:start; scroll-margin-top:130px; }
.mf-sidebar p { margin-bottom:28px; }
.mf-sidebar img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--ui-radius,11px); margin:4px 0 20px; }
.mf-contact-lines { display:grid; gap:12px; margin:25px 0 38px; }
.mf-contact-lines a { color:var(--e-global-color-uicore_headline); font-size:15px; overflow-wrap:anywhere; }
.mf-contact-lines p { margin:0; }
.mf-contact-route { border-top:1px solid #ffffff26; padding:26px 0; }
.mf-text-link { display:inline-flex; align-items:center; gap:12px; color:var(--e-global-color-uicore_headline); font-size:13px; line-height:1.6; }
.mf-text-link svg { flex-shrink:0; }
.motiv-flow form { margin:0; }
.mf-fields { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
.mf-field { min-width:0; margin:0 0 25px; }
.mf-field > label { display:block; color:var(--e-global-color-uicore_headline); font-size:13px; line-height:1.6; margin:0 0 9px; }
.mf-field label > span,.mf-choice-group legend > span { color:var(--e-global-color-uicore_body); }
.motiv-flow .mf-field input:not([type=range]),.motiv-flow .mf-field select,.motiv-flow .mf-field textarea { width:100%; min-width:0; padding:13px 16px; margin:0; border:1px solid #ffffff40; border-radius:5px; background:#161616; color:#fcfcfc; font:14px/1.6 Montserrat,sans-serif; box-sizing:border-box; color-scheme:dark; }
.motiv-flow .mf-field textarea { resize:vertical; min-height:130px; }
.motiv-flow .mf-field input::placeholder,.motiv-flow .mf-field textarea::placeholder { color:#ffffff70; }
.motiv-flow .mf-field input:focus-visible,.motiv-flow .mf-field select:focus-visible,.motiv-flow .mf-field textarea:focus-visible { outline:2px solid var(--e-global-color-uicore_primary); outline-offset:3px; }
.mf-wide { grid-column:1/-1; }
.motiv-flow fieldset { min-width:0; border:0; margin:0; padding:0; }
.motiv-flow fieldset > legend { float:none; width:100%; font-size:24px; font-weight:400; margin:6px 0 28px; padding:0; line-height:1.4; }
.motiv-flow .mf-choice-group { margin:3px 0 28px; }
.motiv-flow .mf-choice-group > legend { font-size:13px; font-weight:400; margin:0 0 12px; }
.mf-checks { display:grid; grid-template-columns:1fr 1fr; gap:14px 20px; }
.mf-checks label { display:flex; gap:10px; align-items:flex-start; color:#ffffffb3; font-size:12px; line-height:1.6; cursor:pointer; }
.mf-checks input { margin:3px 0 0; width:16px; height:16px; accent-color:var(--e-global-color-uicore_primary); flex-shrink:0; }
.mf-member-branch { border-top:1px solid #ffffff26!important; padding-top:30px!important; margin-top:18px!important; }
.mf-form-note,.motiv-flow .mf-form-note { display:block; color:var(--e-global-color-uicore_body); font-size:12px; line-height:1.8; margin:0 0 28px; }
.mf-field > small { display:block; font-size:11px; line-height:1.6; color:var(--e-global-color-uicore_body); margin-top:8px; }
.motiv-flow .elementor-button { display:inline-flex; align-items:center; gap:20px; justify-content:center; }
.motiv-flow .elementor-button svg { width:20px; height:20px; flex-shrink:0; }
.motiv-flow .motiv-form-feedback { background:#161616; border:1px solid #ffffff40; color:#fcfcfc; padding:16px; font-size:13px; margin-top:24px; }
.mf-range { display:flex; gap:20px; align-items:center; }
.mf-range input { width:100%; accent-color:var(--e-global-color-uicore_primary); }
.mf-range output { color:white; }
.mf-booking-intro { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; margin-bottom:90px; }
.mf-booking-intro img { width:100%; aspect-ratio:1.3; object-fit:cover; border-radius:var(--ui-radius,11px); }
.mf-booking-intro p { margin:0 0 35px; }
.mf-steps { display:flex; list-style:none; padding:0!important; margin:0 0 38px!important; gap:24px; border-bottom:1px solid #ffffff26; }
.mf-steps li { color:#ffffff70; font-size:12px; padding:0 0 16px; margin:0; }
.mf-steps li[aria-current=step] { color:#fcfcfc; border-bottom:2px solid var(--e-global-color-uicore_primary); }
.mf-step-actions { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:30px; }
.mf-back { padding:10px 0; border:0; background:none; color:#fcfcfc; font:13px Montserrat,sans-serif; cursor:pointer; text-decoration:underline; text-underline-offset:5px; }
[data-booking-review] { margin:0 0 32px; }
[data-booking-review] > div { display:grid; grid-template-columns:150px 1fr; gap:24px; padding:16px 0; border-bottom:1px solid #ffffff26; }
[data-booking-review] dt { color:#ffffff80; font-size:12px; }
[data-booking-review] dd { margin:0; color:#fcfcfc; font-size:13px; white-space:pre-wrap; overflow-wrap:anywhere; }
.mf-success { padding:30px 0; border-top:1px solid #ffffff26; }
.motiv-flow [hidden] { display:none!important; }
.motiv-header-actions { display:flex; align-items:center; gap:22px; margin-left:25px; flex-shrink:0; }
.motiv-header-book { color:#fcfcfc; font:500 13px Montserrat,sans-serif; white-space:nowrap; }
.uicore-navbar .motiv-header-actions .motiv-header-join.elementor-button { font-size:12px; padding:15px 20px; white-space:nowrap; }
.motiv-home-book { margin-left:16px; background:transparent!important; border:1px solid white!important; color:white!important; }
.motiv-footer-book { margin-left:16px; }
@media(min-width:1026px) {
 .uicore-navbar nav .uicore-menu>li>a { padding-left:12px; padding-right:12px; font-size:14px; }
}
@media(min-width:1026px) and (max-width:1350px) {
 .uicore-navbar nav .uicore-menu>li>a { padding-left:8px; padding-right:8px; font-size:12px; }
 .motiv-header-actions { gap:15px; margin-left:15px; }
 .motiv-header-book { font-size:12px; }
}
@media(max-width:1025px) {
 .motiv-header-actions { margin-left:auto; margin-right:22px; }
 .motiv-flow { padding-top:130px; }
 .mf-layout { gap:50px; grid-template-columns:1fr 1.5fr; }
 .mf-booking-intro { gap:35px; }
}
@media(max-width:767px) {
 .motiv-flow { padding:115px 0 60px; }
 .mf-page-intro { padding-bottom:36px; margin-bottom:36px; }
 .mf-layout { grid-template-columns:1fr; gap:35px; }
 .mf-sidebar img { max-height:220px; aspect-ratio:16/9; }
 .mf-sidebar h2 br { display:none; }
 .mf-form-column { border-top:1px solid #ffffff26; padding-top:30px; }
 .mf-booking-intro { grid-template-columns:1fr; gap:35px; margin-bottom:45px; }
 .mf-booking-intro img { aspect-ratio:16/9; }
 .mf-booking .mf-layout { gap:16px; }
 .mf-fields { gap:0 16px; }
 .mf-checks { grid-template-columns:1fr; }
 .mf-steps { gap:18px; }
 .motiv-header-actions { gap:12px; margin-right:12px; }
 .motiv-header-book { font-size:11px; max-width:65px; white-space:normal; line-height:1.4; }
 .uicore-navbar .motiv-header-actions .motiv-header-join.elementor-button { font-size:10px; padding:11px 13px; }
 .motiv-home-book { margin-left:10px; margin-top:12px; }
 .motiv-footer-book { margin-left:0; margin-top:12px; }
}
@media(max-width:420px) {
 .mf-fields { grid-template-columns:1fr; }
 .motiv-header-book { display:none; }
 [data-booking-review]>div { grid-template-columns:90px 1fr; gap:15px; }
}
.motiv-flow .motiv-newsletter-honeypot { position:absolute; left:-10000px; height:1px; overflow:hidden; }
.motiv-header-actions .motiv-header-book { border:1px solid #ffffff80; border-radius:30px; padding:12px 16px; }
@media(max-width:767px) {
 .motiv-header-actions .motiv-header-book { padding:9px 12px; max-width:90px; }
}
@media(max-width:420px) {
 .motiv-header-actions { gap:8px; margin-right:8px; }
 .motiv-header-actions .motiv-header-book { display:block; font-size:10px; max-width:80px; padding:8px 10px; }
}
