/* CMS adapters only: the original mockup styles own the visual design. */
.footer-copyright,.footer-credit{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35em}
.footer-credit a{text-decoration:underline;text-underline-offset:3px}
.section-anchor{display:block;position:relative;scroll-margin-top:110px}
.cms-icon{display:inline-flex;flex:none;width:20px;height:20px;vertical-align:middle}
.cms-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cms-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:13px}
.hero .cms-buttons .btn{height:59px;padding:0 29px;font-size:14px}
.hero-subtitle p{margin:0}.hero-ctas .cms-buttons{margin:0}.hero-review-link .cms-icon{width:12px;height:12px}
.hero-facts .cms-icon{width:24px;height:24px;color:var(--gold)}
.hero-facts .cms-icon svg{flex:none}.hero-facts>div>span:last-child{gap:6px}
.hero-scroll .cms-icon{color:var(--gold)}
.menu-toggle{align-items:center;justify-content:center;flex-direction:column;gap:5px}
.menu-toggle>span{display:block;width:23px;height:2px;background:currentColor}
.header-phone .cms-icon{width:16px;height:16px}
.site-header .header-phone>.cms-icon{display:inline-flex}
.hero-scroll:before{content:'WEITER'}
.hero-review-link svg{fill:currentColor}
.cms-section{padding:64px 0;background:#fff;color:#172020}
.cms-theme-cream{background:var(--cream)}.cms-theme-dark{background:#121b1e;color:#fff}
.cms-theme-dark .editorial-copy,.cms-theme-dark .editorial-copy p,.cms-theme-dark .editorial-copy h3{color:#d4ded8}
.cms-section h2{font-family:'DM Sans',sans-serif;font-size:clamp(30px,3.5vw,52px);line-height:1.14;letter-spacing:-.055em;margin:0 0 22px;font-weight:700}
.cms-section h2 em{font-family:Georgia,serif;color:#a27d36;font-weight:400}
.cms-section p{line-height:1.85}.cms-theme-dark .editorial-copy,.cms-theme-dark p,.cms-theme-dark .section-label{color:#d4ded8}
.cms-section .cms-buttons{margin-top:25px}.cms-theme-light .btn-outline,.cms-theme-cream .btn-outline{color:#172020;border-color:#9d895d;background:transparent}
.cms-section-heading{max-width:800px;margin-bottom:36px}
.cms-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.cms-card{border:1px solid #d9d7cb;border-radius:10px;overflow:hidden;background:#faf9f5;color:#172020;display:flex;flex-direction:column}
.cms-card>img{width:100%;aspect-ratio:1.6;object-fit:cover}
.cms-card-copy{padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;flex:1}
.cms-card-copy h3{font-size:23px;letter-spacing:-.035em;line-height:1.2}.cms-card-copy p{font-size:14px;margin:0;color:#4b5751}.cms-card-copy .text-link{margin-top:auto;color:#7e5e26}
.cms-card-copy>.cms-icon{width:28px;height:28px;color:#967133}
.inquiry-panel .btn-outline{background:transparent;color:#4a3e22;border-color:#b6a67e}
.inquiry-panel .btn-outline:hover{background:#e6ddc8;color:#25302f}
.cms-benefit{display:flex;align-items:flex-start;gap:18px;padding:22px 0;border-bottom:1px solid #d7d8cd}.cms-benefit h3{font-size:20px;margin:0 0 8px}.cms-benefit p{font-size:14px;margin:0}
.cms-editorial-image{width:100%;border-radius:10px;margin-bottom:25px}
.cms-text{max-width:1050px}.cms-text .editorial-copy{max-width:none}.cms-text a{overflow-wrap:anywhere}
.services-intro>.editorial-copy,.rastatt-intro>.editorial-copy{max-width:325px}.services-intro .section-label{color:#d3cbbd}
.service-card-top>.cms-icon{color:var(--gold)}.service-card-content .cms-icon{width:25px;height:25px}
.service-card-main{display:contents}.service-card-main:after{content:'';position:absolute;inset:0}.service-card>.rastatt-credit{position:relative;z-index:2;font-size:10px;color:#eee;margin:5px 0 0}
.cms-benefits-section{padding-bottom:45px}.benefits-left .editorial-copy p{margin:0 0 28px}.benefit-item p{margin:0}
.cms-vehicle-section{padding-top:0;background:var(--cream)}.cms-vehicle-section .vehicle-options{margin-top:0}
.vehicle-options-photos figure{margin:0;min-width:0}
.vehicle-options-photos figcaption{font-size:12px;line-height:1.5;padding:8px 0 0;color:#6a746b;overflow-wrap:anywhere}
.vehicle-options-photos figcaption strong{display:block}
.vehicle-options-photos figcaption p{margin:2px 0 0}
.vehicle-options-photos .vehicle-image-note{grid-column:1/-1;justify-self:end;margin:0;color:#6a746b;font-size:.625rem;font-weight:400;line-height:1.4}
.vehicle-options-copy h2{font-family:'DM Sans',sans-serif;font-size:28px;line-height:1.25;letter-spacing:-.04em;font-weight:700;margin:0 0 15px}
.steps-lead p{margin:0}.steps-disclaimer .cms-icon{color:#a1803b}.step-body p{margin:0}
.faq-left .editorial-copy p{margin:0 0 25px}.cms-faq-answer p{margin:0;padding-bottom:28px;font-size:14px;line-height:1.85;color:#606b69}
.contact-layout .editorial-copy p{margin:0}.contact-number>.cms-icon{width:29px;height:29px}.contact-number>span .cms-icon{width:24px;height:24px}
.google-reviews-intro .editorial-copy{padding:0;font-size:14px;line-height:1.9;color:#58645c}.google-reviews-intro .editorial-copy p{margin:0}.review-stars .cms-icon{width:16px;height:16px}.review-stars svg{fill:currentColor}
.reviews-source-label{text-transform:uppercase}.google-review-card blockquote p:before{content:'\201E'}.google-review-card blockquote p:after{content:'\201C'}
.value-row p{margin:0}.editorial-section .editorial-copy h3{font-size:26px;font-weight:700;line-height:1.3;color:#172020;margin:0 0 18px}
.service-detail-copy>.section-label{margin-bottom:30px}.service-detail-copy h2{font-size:clamp(24px,2.2vw,32px);font-weight:800;margin:30px 0 18px}.service-detail-copy .editorial-copy h3{font-size:clamp(24px,2.2vw,32px);font-weight:800;color:#172020;margin:32px 0 18px}.service-detail-copy p{margin-bottom:28px}.inquiry-panel .cms-buttons{flex-direction:column;align-items:stretch}
.airport-hero-facts .cms-icon{width:16px;height:16px}
.airport-route-points:before{content:none}
.airport-route-points>p{position:relative;margin:0;padding:0 0 0 27px;border:0;font-size:11px;line-height:1.8;color:#adbcb5}
.airport-route-points>p:before{content:'';position:absolute;left:0;top:6px;width:11px;height:11px;border:2px solid #c7ae74;background:#262922;border-radius:50%;z-index:1}
.airport-route-points>p:last-child:before{background:var(--gold);border-color:var(--gold)}
.airport-route-points>p:not(:last-child):after{content:'';position:absolute;left:5px;top:17px;bottom:-32px;border-left:1px dashed #a88d54}
.airport-route-points p strong{display:block}
.airport-direction-links a>.cms-icon:last-child{margin-left:auto}
@media(max-width:760px){.airport-direction-links a>.cms-icon:last-child{display:none}}
.airport-price-layout .editorial-copy p,.airport-family-layout .editorial-copy p,.airport-local-layout .editorial-copy p{font-size:16px;line-height:1.9;color:#485557}.airport-price-layout h2,.airport-family-layout h2,.airport-local-layout h2,.airport-section-heading h2{font-size:clamp(35px,4vw,58px);line-height:1.1;font-weight:700;letter-spacing:-.055em;margin:0 0 25px}.airport-price-layout h2 em,.airport-family-layout h2 em,.airport-local-layout h2 em,.airport-section-heading h2 em{font-family:Georgia,serif;color:#99702d;font-weight:400}
.cms-form form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 24px;padding:24px 36px}
.cms-form form>div:first-child{display:none}.cms-form .form-element{grid-column:span 2;min-width:0;margin:0}
.cms-form .form-element-check{grid-column:1/-1}.cms-form .form-check-wrapping-label{display:flex;align-items:flex-start;gap:12px}.cms-form .form-check-wrapping-label label{font-weight:400;font-size:12px;line-height:1.8;margin:0}.cms-form .form-element-statictext{font-size:11px;color:#6e7774}.cms-form .form-element-statictext a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.cms-form label>.cms-icon{width:15px;height:15px;color:#9b8b63;margin-right:8px}.cms-form-section .booking-card-top h2 em:before{content:' '}.cms-form-section .booking-card-top h2 em{display:inline-block;margin-left:.2em}
.service-highlights>.container-wide{display:block}.service-highlights ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;list-style:none;margin:0;padding:0}.service-highlights li{font-size:13px;line-height:1.65;font-weight:700;color:#443f32}.service-highlights li:before{content:'✓';color:#957127;margin-right:10px}
@media(min-width:761px){
  .cms-form .form-element:has([name$="[name]"]){grid-column:1/3;grid-row:1}.cms-form .form-element:has([name$="[phone]"]){grid-column:1/3;grid-row:2}.cms-form .form-element:has([name$="[email]"]){grid-column:1/3;grid-row:3}
  .cms-form .form-element:has([name$="[pickup]"]){grid-column:3/5;grid-row:1}.cms-form .form-element:has([name$="[destination]"]){grid-column:3/5;grid-row:2}.cms-form .form-element:has([name$="[date]"]){grid-column:3;grid-row:3}.cms-form .form-element:has([name$="[time]"]){grid-column:4;grid-row:3}
}
.cms-form .form-element:has([name$="[passengers]"]){grid-column:1/-1}
.cms-form select[name$="[passengers]"]{
  -webkit-appearance:none;appearance:none;width:min(100%,420px);height:48px;
  padding:0 52px 0 15px;border-radius:6px;border-color:#d9d8cf;
  background-color:#fcfbf7;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23806327' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E"),linear-gradient(#f3eee2,#f3eee2);
  background-repeat:no-repeat;background-position:right 15px center,right center;background-size:16px 16px,44px 100%;
  font-weight:500;cursor:pointer;transition:border-color .2s,box-shadow .2s;
}
.cms-form select[name$="[passengers]"]:has(option[value=""]:checked){color:#69716d}
.cms-form select[name$="[passengers]"] option{background:#fff;color:#172020}
.cms-form select[name$="[passengers]"]:hover{border-color:#b4a47b}
.cms-form select[name$="[passengers]"]:focus-visible{outline:2px solid #967133;outline-offset:3px;box-shadow:0 0 0 4px #f8ebc8}
@media(forced-colors:active){.cms-form select[name$="[passengers]"]{-webkit-appearance:auto;appearance:auto;background-image:none}}
.cms-form .form-element-textarea,.cms-form .form-element-checkbox,.cms-form .form-element-statictext,.cms-form .actions{grid-column:1/-1}
.cms-form label{font-size:12px;font-weight:800;display:block;margin-bottom:6px;color:#253033}.cms-form input:not([type=checkbox]):not([type=hidden]),.cms-form textarea,.cms-form select{box-sizing:border-box;width:100%;border:1px solid #dfe2e0;border-radius:3px;padding:0 13px;height:46px;background:#fbfbf9;color:#172020;font:inherit;font-size:14px}.cms-form textarea{height:auto;min-height:9em;padding-block:12px;line-height:1.5;resize:vertical}.cms-form input:focus,.cms-form textarea:focus{border-color:#b49345;box-shadow:0 0 0 3px #f8ebc8}
.cms-form .form-check{display:flex;align-items:flex-start;gap:10px}.cms-form .form-check label{font-weight:400;font-size:12px;line-height:1.8;margin:0}.cms-form input[type=checkbox]{accent-color:#ae852e;width:17px;height:17px;flex:none;margin-top:3px}.cms-form .actions{display:flex;justify-content:flex-end}.cms-form .actions button{background:var(--gold);color:#172020;border:0;border-radius:3px;padding:14px 24px;font-weight:800;cursor:pointer}.cms-form-note{font-size:11px;color:#58645a;line-height:1.7;margin:0;padding:0 36px 20px}.cms-form .help-block,.cms-form .error{color:#a02e24;font-size:13px}.cms-form .alert{padding:25px;background:#e9f0e3;border:1px solid #84966c}
.cms-form-section .booking-card-top h2 br{display:none}.cms-form-section .booking-card-top h2 em{font-family:Georgia,serif;color:#ad7c22;font-weight:400}.booking-side-note p{margin:0}.cms-form-section .section-label{font-size:10px;margin-bottom:10px}.cms-form-section .booking-afterline{flex-wrap:wrap}.cms-form-section .booking-afterline span{font-size:11px}
main:has(>.cms-contact-priority){display:grid;grid-template-columns:minmax(270px,.65fr) minmax(0,1.5fr);column-gap:30px;padding-bottom:55px;background:var(--cream)}
main:has(>.cms-contact-priority)>:not(.cms-contact-priority):not(.cms-form-section):not(.section-anchor){grid-column:1/-1}
main:has(>.cms-contact-priority)>.cms-contact-secondary{grid-row:3;margin-top:30px}
.cms-form-airport{padding:58px 0 70px}.cms-form-airport .booking-container{display:grid;grid-template-columns:minmax(270px,.65fr) minmax(0,1.5fr);gap:30px;transform:none;margin-bottom:0;align-items:start}.cms-form-airport .booking-side-note{display:none}.cms-form-airport .airport-preparation h2{font-family:'DM Sans',sans-serif;font-size:40px;font-weight:700;letter-spacing:-.055em;line-height:1.1;margin:0 0 25px}.cms-form-airport .airport-preparation div{margin-bottom:20px}.cms-form-airport .airport-preparation li{list-style:none;padding:12px 0;border-bottom:1px solid #d9d6ca;font-size:14px;line-height:1.8}
main:has(>.cms-contact-priority)>.cms-contact-priority{grid-column:1;grid-row:2;margin:40px 0 0 max(28px,calc((100vw - min(1450px,100vw - 112px))/2))}
main:has(>.cms-contact-priority)>.cms-form-section{grid-column:2;grid-row:2;margin:40px max(28px,calc((100vw - min(1450px,100vw - 112px))/2)) 0 0;padding:0;background:none}
main:has(>.cms-contact-priority)>.cms-form-section .booking-container{width:100%;transform:none;margin:0}.cms-contact-priority+.section-anchor{height:0;grid-column:1/-1;scroll-margin-top:100px}
main:has(>.cms-contact-priority) .booking-side-note{display:none}.cms-contact-priority .contact-secondary{display:block}.cms-contact-priority .contact-secondary-links{display:grid;gap:15px}.cms-contact-priority .contact-address{margin-top:22px}
@media(max-width:1100px){.cms-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){main:has(>.cms-contact-priority){display:flex;flex-direction:column;padding-bottom:40px}main:has(>.cms-contact-priority)>.contact-page-heading{order:0}main:has(>.cms-contact-priority)>.cms-contact-priority{order:1}main:has(>.cms-contact-priority)>.cms-form-section{order:2}main:has(>.cms-contact-priority)>.cms-contact-secondary{order:3}main:has(>.cms-contact-priority)>.cms-contact-priority,main:has(>.cms-contact-priority)>.cms-form-section{width:calc(100% - 56px);margin:30px auto 0}.cms-form form{padding:24px}.cms-form-note{padding:0 24px 20px}.cms-form-airport .booking-container{grid-template-columns:1fr}}
@media(max-width:760px){.cms-section{padding:38px 0}.cms-card-grid{grid-template-columns:1fr}.cms-form form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px}.cms-form .form-element{grid-row:auto;grid-column:1/-1}.cms-form .form-element:has([name$="[date]"]){grid-column:1}.cms-form .form-element:has([name$="[time]"]){grid-column:2}.cms-form label{font-size:12px}.cms-form input:not([type=checkbox]):not([type=hidden]),.cms-form textarea,.cms-form select{min-width:0;max-width:100%;font-size:16px}.cms-form-note{padding:0 20px 20px}.cms-form .actions button{width:100%}.cms-form .booking-afterline{gap:14px}.hero .cms-buttons .btn{height:53px;padding:0 20px;font-size:13px}.cms-benefits-section{padding-bottom:30px}.cms-buttons .btn{white-space:normal;gap:9px}.hero-facts .cms-icon{width:22px;height:22px}.footer-column>.cms-icon{width:17px;height:17px}}
@media(max-width:760px){.cms-form .form-navigation{width:100%}.service-highlights ul{grid-template-columns:1fr;gap:10px}}
@media(max-width:380px){.cms-form .form-element:has([name$="[date]"]),.cms-form .form-element:has([name$="[time]"]){grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media (min-width: 981px) {
  .cms-form-section .booking-card-top {
    padding-block: 18px 16px;
  }

  .cms-form-section .cms-form form {
    row-gap: 10px;
    padding-block: 16px 12px;
  }

  .cms-form-section .cms-form .form-element:has([name$="[passengers]"]) {
    grid-column: 1 / 2;
  }

  .cms-form-section .cms-form .form-element:has([name$="[notes]"]) {
    grid-column: 2 / -1;
  }

  .cms-form-section .cms-form select[name$="[passengers]"] {
    max-width: none;
  }

  .cms-form-section .cms-form textarea[name$="[notes]"] {
    height: 66px;
    min-height: 66px;
    padding-block: 9px;
  }

  .cms-form-section .cms-form .actions button {
    padding-block: 11px;
  }

  .cms-form-section .cms-form-note {
    padding-bottom: 14px;
  }
}

.booking-card { --confirmation-inset: 36px; }
.cms-form > div[id^="adler-inquiry-"] {
  padding: 20px var(--confirmation-inset) 12px;
  font-size: 15px;
  line-height: 1.7;
  color: #253033;
  overflow-wrap: anywhere;
}
.cms-form > div[id^="adler-inquiry-"] > :first-child { margin-top: 0; }
.cms-form > div[id^="adler-inquiry-"] > :last-child { margin-bottom: 0; }
.booking-card:has(.cms-form > div[id^="adler-inquiry-"]) .cms-form-note {
  padding-inline: var(--confirmation-inset);
}
@media (max-width: 980px) { .booking-card { --confirmation-inset: 30px; } }
@media (max-width: 760px) { .booking-card { --confirmation-inset: 22px; } }

.cms-form .invalid-feedback {
  display: block;
  margin-top: 5px;
  color: #a0221a;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
}

.cms-form [aria-invalid="true"]:not([type="checkbox"]) {
  border-color: #a0221a;
}
