/* Luxline Drive standalone booking form – scoped styles, compatible with Elementor/Astra */
.llb,.llb * {box-sizing:border-box}
.llb{--navy:#142033;--navy2:#1f2d43;--gold:#c99e53;--goldlight:#efd19a;--ink:#182237;--muted:#657185;--border:#dbe0e8;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.5;color:var(--ink)}
.llb :where(button,input,select,textarea){font:inherit}
.llb :where(button){cursor:pointer}
.llb .llb-hidden,.llb-modal .llb-hidden,.llb-modal.llb-hidden{display:none!important}
.llb .llb-eyebrow{letter-spacing:2px;font-size:11px;font-weight:700;color:var(--goldlight)}
.llb:not(.llb-thankyou){background:linear-gradient(130deg,#101928,#24324a);border:1px solid #425067;border-radius:21px;padding:27px;color:#fff;box-shadow:0 16px 40px rgba(7,15,27,.16);max-width:1250px;margin:24px auto}
.llb-intro h2{color:#fff!important;font-size:clamp(25px,3.2vw,35px)!important;line-height:1.14;font-weight:700;letter-spacing:-.5px;margin:9px 0 7px!important}
.llb-intro h2 span{color:var(--goldlight);font-size:.8em}
.llb-intro p{color:#e6eaf0;font-size:15px;margin:0 0 11px}
.llb-perks{display:flex;flex-wrap:wrap;gap:10px 20px;color:#f7e2b4;font-size:12px;font-weight:600;margin:0 0 24px}
.llb-root-form{border:1px solid #ffffff2e;border-radius:15px;background:#ffffff08;padding:15px}
.llb-tabs{display:inline-flex;gap:5px;background:#ffffff10;border:1px solid #ffffff38;border-radius:100px;padding:4px;margin-bottom:16px}
.llb-tabs button{color:#e5eaf5!important;background:transparent!important;border:0!important;border-radius:50px!important;box-shadow:none!important;font-size:14px;font-weight:600;padding:9px 20px;line-height:1.3}
.llb-tabs button.is-active{background:#fff!important;color:#142033!important}
.llb-field-grid{display:grid;gap:11px}
.llb-main-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1.5fr) minmax(0,1fr) minmax(0,.9fr)}
.llb-two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
.llb-field{display:flex;flex-direction:column;min-width:0;gap:5px;margin:0 0 12px;font-weight:400;color:inherit}
.llb-field>span{font-size:12px;font-weight:650;letter-spacing:.1px}
.llb-field input,.llb-field select,.llb-field textarea{width:100%;min-height:48px;padding:11px 13px!important;border-radius:10px!important;border:1px solid var(--border)!important;background:#fff!important;color:#1d2c3e!important;box-shadow:none!important;outline:0;font-size:14px!important;line-height:1.4!important;margin:0!important}
.llb-field input::placeholder,.llb-field textarea::placeholder{color:#8993a1}
.llb-field input:focus,.llb-field select:focus,.llb-field textarea:focus{border-color:var(--gold)!important;box-shadow:0 0 0 3px #d9ac5d2b!important}
.llb-field textarea{resize:vertical;min-height:112px}
.llb-root-form .llb-field input,.llb-root-form .llb-field select{background:#fff!important}
.llb-return-block{margin:4px 0 0}
.llb-toggle-line,.llb-option-switch{display:flex;align-items:center;gap:10px;cursor:pointer}
.llb-toggle-line{font-size:14px;font-weight:550;color:#edf0f5}
.llb-switch-input{opacity:0;position:absolute;pointer-events:none;width:1px;height:1px}
.llb-switch{flex:0 0 43px;height:25px;border-radius:22px;background:#abb2bf;position:relative;transition:background .2s;box-shadow:inset 0 1px 3px #0002}
.llb-switch:after{content:"";width:19px;height:19px;position:absolute;top:3px;left:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0003;transition:transform .2s}
.llb-switch-input:checked+.llb-switch{background:#279c4a}
.llb-switch-input:checked+.llb-switch:after{transform:translateX(18px)}
.llb-switch-input:focus-visible+.llb-switch{outline:3px solid var(--gold)}
.llb-return-fields{border-top:1px solid #ffffff2d;margin-top:15px;padding-top:14px}
.llb-return-heading{font-size:15px;font-weight:700;margin:0 0 13px}
.llb-return-heading small{display:block;color:#cad3df;font-size:11px;font-weight:400}
.llb-main-footer{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-top:10px}
.llb-main-footer small{color:#d5dbe4;font-size:12px}
.llb-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 24px!important;border-radius:12px!important;text-decoration:none!important;border:1px solid transparent!important;box-shadow:none!important;font-size:14px!important;font-weight:700!important;line-height:1.3!important;transition:transform .18s,filter .18s}
.llb-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.llb-btn:disabled{opacity:.6;cursor:wait;transform:none}
.llb-btn-gold{background:linear-gradient(115deg,#bd8d3c,#f1d696,#c79a4d)!important;color:#151d2b!important;box-shadow:0 5px 14px #af8a4633!important}
.llb-main-footer .llb-btn{min-width:240px}
body.llb-modal-open{overflow:hidden!important}
.llb-modal{--navy:#142033;--navy2:#1f2d43;--gold:#c99e53;--goldlight:#efd19a;--ink:#182237;--muted:#657185;--border:#dbe0e8;z-index:2147483000;position:fixed;inset:0;display:flex;justify-content:center;align-items:center;padding:20px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#192437;font-size:14px}
.llb-modal *{box-sizing:border-box}
.llb-modal-scrim{position:absolute;inset:0;background:rgba(5,12,25,.76);backdrop-filter:blur(5px)}
.llb-modal-panel{position:relative;background:#fff;border-radius:21px;max-width:680px;width:100%;max-height:min(92vh,950px);max-height:min(92dvh,950px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 80px #0008;outline:0}
.llb-modal-header{background:#142033;color:#fff;padding:15px 24px;display:flex;justify-content:space-between;align-items:center;min-height:77px;gap:15px}
.llb-modal-header>div{display:flex;flex-direction:column;gap:2px}
.llb-modal-header .llb-mini-brand{letter-spacing:2px;font-size:9px;color:#e1be7d}
.llb-modal-header strong{font-size:19px}
.llb-modal-header button.llb-close{background:transparent!important;border:1px solid #ffffff40!important;box-shadow:none!important;color:#fff!important;font-size:27px;line-height:28px;padding:2px 11px;border-radius:50%!important}
.llb-stepper{padding:12px 24px 10px;background:#f9fafc;display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #eef0f5}
.llb-stepper span{font-size:11px;font-weight:600;color:#8b95a2;white-space:nowrap}
.llb-stepper span.is-current{color:#ad7b31}
.llb-stepper span.is-done{color:#2c9d59}
.llb-modal-content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px 26px 18px;scrollbar-width:thin}
.llb-step h3{font-size:21px;font-weight:750;color:#202a3b;line-height:1.3;margin:0 0 5px}
.llb-muted{color:#697587;font-size:13px;line-height:1.6;margin:0 0 18px}
.llb-small{font-size:11px;margin:7px 0 12px}
.llb-vehicles{display:grid;gap:9px}
.llb-vehicle{display:flex;gap:10px;align-items:center;border:1px solid #d6dce5;border-radius:11px;padding:10px 11px;min-height:102px;cursor:pointer;transition:border-color .15s,background .15s;position:relative}
.llb-vehicle input,.llb-pay input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.llb-radio-icon{width:17px;height:17px;border-radius:50%;flex:0 0 17px;border:2px solid #9aa3b3;position:relative}
.llb-vehicle:has(input:checked),.llb-pay:has(input:checked){border-color:#d0a04e;background:#fcf5e9;box-shadow:0 0 0 1px #d0a04e29}
.llb-vehicle input:checked+.llb-radio-icon,.llb-pay input:checked+.llb-radio-icon{border-color:#ba883b;background:#ba883b}
.llb-vehicle input:checked+.llb-radio-icon:after,.llb-pay input:checked+.llb-radio-icon:after{content:"";width:7px;height:7px;border-radius:50%;position:absolute;inset:3px;background:white}
.llb-vehicle input:focus-visible+.llb-radio-icon,.llb-pay input:focus-visible+.llb-radio-icon{outline:3px solid #ddb875}
.llb-vehicle-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.llb-vehicle-text strong{font-size:14px;color:#1c283a}
.llb-vehicle-text small{font-size:11px;color:#647085;line-height:1.4;margin:2px 0 5px}
.llb-vehicle-spec{color:#28364d;font-size:11px;font-weight:650}
.llb-vehicle-included{color:#54775e;font-size:10px;margin-top:4px;white-space:normal}
.llb-vehicle img{width:122px;height:75px;object-fit:contain;flex:0 0 122px;border-radius:7px;mix-blend-mode:multiply}
.llb-compact-fields{margin-top:18px}
.llb-modal .llb-field{color:#2b3647;margin-bottom:14px}
.llb-modal .llb-field>span{font-size:12px}
.llb-capacity-warning{color:#a33122;background:#fff1ed;border:1px solid #ffcdc3;padding:10px;border-radius:8px;font-size:12px}
.llb-separator{height:1px;background:#e9edf2;margin:19px 0}
.llb-option-switch{border:1px solid #dfe4eb;border-radius:11px;justify-content:space-between;padding:14px;margin-bottom:10px;background:#fafbfd}
.llb-option-switch>span:first-child{display:flex;flex-direction:column;gap:2px;max-width:calc(100% - 64px)}
.llb-option-switch strong{color:#263143;font-size:13px}
.llb-option-switch small{font-size:11px;color:#6d798a;line-height:1.45}
.llb-child-options,.llb-airport-fields{border:1px solid #edf0f5;background:#fdfdfd;padding:13px;border-radius:11px;margin:0 0 14px}
.llb-airport-fields>.llb-option-switch{margin:0}
.llb-counter-row{display:flex;gap:9px;align-items:center;justify-content:space-between;padding:10px 0}
.llb-counter-row+.llb-counter-row{border-top:1px solid #e8edf2}
.llb-counter-row>span{display:flex;flex-direction:column;min-width:0}
.llb-counter-row strong{font-size:12px}
.llb-counter-row small{color:#6f7a88;font-size:11px}
.llb-counter{display:flex;align-items:center;gap:5px;border:1px solid #dbe0e8;border-radius:8px;padding:2px;flex:0 0 auto}
.llb-counter button{width:31px;height:31px;border:0!important;border-radius:6px!important;background:#f0f2f6!important;color:#19283d!important;padding:0!important;box-shadow:none!important;font-size:18px!important;line-height:1!important}
.llb-counter output{min-width:23px;text-align:center;font-size:13px;font-weight:700}
.llb-payments{display:grid;gap:8px}
.llb-pay{position:relative;display:flex;align-items:center;gap:10px;padding:12px 13px;border:1px solid #dce1e9;border-radius:10px;cursor:pointer}
.llb-pay>span:last-child{display:flex;flex-direction:column;gap:2px}
.llb-pay strong{font-size:13px;color:#1b2638}
.llb-pay small{font-size:11px;color:#647082}
.llb-modal-footer{padding:13px 24px 20px;background:#fff;display:flex;justify-content:space-between;gap:10px;border-top:1px solid #eef0f5}
.llb-modal-footer .llb-btn-back{background:#fff!important;color:#29364c!important;border:1px solid #d8dee8!important}
.llb-modal-footer .llb-btn-gold{min-width:180px}
.llb-consent{margin:16px 0 15px;display:flex;gap:10px;align-items:flex-start;font-size:12px;color:#2b3648;line-height:1.6;cursor:pointer}
.llb-consent input{width:18px!important;height:18px!important;flex:0 0 18px;accent-color:#bb8c43;margin:3px 0 0!important}
.llb-consent a{color:#986b2c;text-decoration:underline}
.llb-review-summary{display:flex;flex-direction:column;gap:13px}
.llb-summary-section{border:1px solid #dfe4eb;border-radius:11px;padding:15px;background:#fcfcfd}
.llb-summary-head{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #e6eaf0;padding-bottom:8px;margin-bottom:8px}
.llb-summary-head strong{font-size:13px;color:#1c293a}
.llb-summary-head button{border:0!important;color:#a77936!important;background:none!important;padding:0!important;box-shadow:none!important;font-size:11px!important}
.llb-summary-line{display:grid;grid-template-columns:38% minmax(0,1fr);gap:10px;padding:5px 0;font-size:12px}
.llb-summary-line span{color:#718095}
.llb-summary-line b{font-weight:650;color:#26334b;overflow-wrap:anywhere}
.llb-error{background:#fff2f0;border:1px solid #e69c91;color:#973a2c;padding:12px;border-radius:9px;margin-top:14px;font-size:13px}
.llb-thankyou{padding:35px 20px;margin:25px auto;max-width:1080px;background:linear-gradient(120deg,#142033,#283a52);border-radius:21px}
.llb-thanks-card{max-width:850px;margin:auto;border-radius:20px;background:#fff;text-align:center;padding:38px 30px;box-shadow:0 10px 35px #0002}
.llb-thanks-card .llb-eyebrow{color:#b18a49}
.llb-thanks-check{margin:0 auto 16px;border:3px solid #c99f55;width:65px;height:65px;display:grid;place-items:center;border-radius:50%;color:#16853b;font-size:39px;font-weight:700}
.llb-thanks-card h1{font-size:clamp(26px,4vw,37px)!important;color:#172034!important;line-height:1.2;margin:12px 0!important}
.llb-thanks-card p{font-size:15px;color:#3a4658;max-width:650px;margin:12px auto}
.llb-help{border-top:1px solid #e2e6eb;margin-top:28px;padding-top:23px}
.llb-help h2{font-size:20px!important;line-height:1.3;color:#202b3d!important;margin:0 0 5px!important}
.llb-contact-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:23px 0 14px}
.llb-contact-cards a{text-decoration:none!important;border:1px solid #d9dee7;padding:15px 8px;border-radius:12px;color:#223048!important;display:flex;flex-direction:column;gap:3px;align-items:center;overflow-wrap:anywhere;transition:border-color .15s,background .15s}
.llb-contact-cards a:hover{border-color:#c99e53;background:#fff9ef}
.llb-contact-cards a>span{font-size:29px;color:#b98b42}
.llb-contact-cards a strong{font-size:14px}
.llb-contact-cards a small{font-size:12px;color:#536173;overflow-wrap:anywhere}
.llb-help .llb-help-note{background:#f7f1e6;border-radius:10px;padding:12px;color:#5b503a;font-size:12px}
.llb-home-link{margin:23px auto 0;min-width:250px}
@media(max-width:880px){.llb-main-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.llb:not(.llb-thankyou){padding:23px}.llb-vehicle img{width:110px;flex-basis:110px}}
@media(max-width:600px){
  .llb:not(.llb-thankyou){margin:18px auto;border-radius:17px;padding:18px 14px}
  .llb-intro h2{font-size:25px!important}.llb-intro h2 span{display:block;font-size:18px;margin-top:5px}
  .llb-intro p{font-size:13px}
  .llb-perks{gap:5px 12px;font-size:11px;margin-bottom:18px}
  .llb-root-form{padding:12px;border-radius:13px}
  .llb-tabs{display:flex;width:100%;gap:3px}.llb-tabs button{flex:1;padding:11px 9px;font-size:12px}
  .llb-main-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .llb-main-grid>.llb-field:nth-child(-n+2),.llb-main-grid>[data-hourly-only]:not(.llb-hidden){grid-column:1/-1}
  .llb-field input,.llb-field select{min-height:45px;font-size:13px!important;padding:9px!important}
  .llb-main-footer{flex-direction:column;gap:11px;align-items:stretch;margin-top:15px}
  .llb-main-footer small{font-size:11px;text-align:center}
  .llb-main-footer .llb-btn{width:100%}
  .llb-modal{padding:0}
  .llb-modal-panel{max-height:100dvh;min-height:100dvh;width:100%;border-radius:0}
  .llb-modal-header{min-height:65px;padding:12px 16px}
  .llb-modal-header strong{font-size:17px}
  .llb-stepper{padding:11px 13px}
  .llb-stepper span{font-size:10px}
  .llb-modal-content{padding:19px 15px 15px}
  .llb-step h3{font-size:20px}
  .llb-vehicle{gap:8px;padding:8px;min-height:91px}
  .llb-vehicle img{width:100px;height:65px;flex-basis:100px}
  .llb-vehicle-text strong{font-size:13px}
  .llb-vehicle-text small{font-size:10px}
  .llb-vehicle-spec,.llb-vehicle-included{font-size:9px}
  .llb-modal-footer{padding:10px 15px max(14px,env(safe-area-inset-bottom));box-shadow:0 -8px 17px #17223908}
  .llb-modal-footer .llb-btn{padding:10px 12px!important;font-size:13px!important}
  .llb-modal-footer .llb-btn-gold{min-width:155px}
  .llb-summary-line{font-size:11px}
  .llb-thankyou{padding:18px 10px;margin:12px auto;border-radius:16px}
  .llb-thanks-card{padding:27px 15px;border-radius:15px}
  .llb-thanks-card p{font-size:13px}
  .llb-contact-cards{grid-template-columns:1fr;gap:9px}
  .llb-contact-cards a{display:grid;grid-template-columns:39px 1fr;grid-template-rows:auto auto;text-align:left;column-gap:12px;padding:10px 14px}
  .llb-contact-cards a>span{grid-row:1/3;align-self:center}
  .llb-contact-cards a strong{grid-column:2}
  .llb-contact-cards a small{grid-column:2}
  .llb-home-link{min-width:0;width:100%}
}
@media(prefers-reduced-motion:reduce){.llb :where(*),.llb-modal :where(*){transition:none!important;scroll-behavior:auto!important}}

/* Luxline 1.1: kompakter Einbau unter den Google-Bewertungen */
.llb:not(.llb-thankyou){margin:0 auto!important;max-width:none;width:100%;padding:20px 22px}
.llb-intro h2{margin:0 0 13px!important}
.llb-perks{margin:0 0 17px;gap:7px 17px}
.llb-stops-block{margin:0 0 8px}
.llb-add-stop{font-size:13px!important;font-weight:650!important;border:1px dashed #d8b875!important;color:#f6d696!important;background:transparent!important;padding:8px 12px!important;border-radius:10px!important;box-shadow:none!important}
.llb-add-stop:hover{background:#ffffff12!important}
.llb-stops-list{margin-top:8px}
.llb-stop-row{display:flex;align-items:flex-end;gap:10px;margin-bottom:8px}
.llb-stop-row .llb-field{flex:1;margin:0!important}
.llb-remove-stop{font-size:12px!important;white-space:nowrap!important;color:#f4d6af!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:10px 4px!important;min-height:47px}
.llb-stops-help{font-size:11px;color:#c9d0da;margin:4px 0 10px}
/* Separate photo frames, aspect preserved, no clipping or blend-mode. */
.llb-vehicle-photo{display:flex;align-items:center;justify-content:center;width:168px;flex:0 0 168px;max-width:40%;height:88px;background:#262b33;border-radius:9px;overflow:hidden;padding:2px}
.llb-vehicle-photo img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important;object-position:center!important;mix-blend-mode:normal!important;border-radius:6px!important;flex:auto!important;overflow:visible!important}
.llb-vehicle{min-height:115px}
.llb-vehicle-text{min-width:0}
.llb-payment-group-title{margin:6px 0 0!important;color:#8a6d36!important;font-size:12px!important;font-weight:750!important}
.llb-places-results{position:absolute;z-index:90;left:0;right:0;top:calc(100% + 3px);max-height:270px;overflow:auto;background:#fff;border:1px solid #dce1e8;border-radius:9px;box-shadow:0 9px 25px #07162930;color:#253247;padding:4px 0}
.llb-places-results .llb-place-result{display:block;width:100%;text-align:left;background:#fff!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:11px 12px!important;color:#263448!important;line-height:1.4!important;font-size:13px!important;white-space:normal}
.llb-places-results .llb-place-result:hover,.llb-places-results .llb-place-result:focus{background:#eef3fa!important}
.llb-google-attribution{font-family:Roboto,Arial,sans-serif!important;display:block;text-align:right;padding:7px 12px 5px;font-size:12px!important;line-height:1!important;font-weight:400!important;color:#5e5e5e!important;letter-spacing:normal!important;white-space:nowrap;border-top:1px solid #edf0f4}
.llb-field{position:relative}
/* Date/time native inputs must not force the grid wider than the viewport (especially iOS Safari). */
.llb-main-grid,.llb-field-grid,.llb-main-grid>*{min-width:0;max-width:100%}
.llb input[type="date"],.llb input[type="time"]{display:block;min-width:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important;-webkit-appearance:none;appearance:auto}
@media(max-width:880px){.llb-vehicle-photo{width:150px;flex-basis:150px;height:83px}}
@media(max-width:600px){
 .llb:not(.llb-thankyou){padding:14px 12px!important;margin:0 auto!important;width:100%}
 .llb-root-form{padding:11px}
 .llb-main-grid{grid-template-columns:minmax(0,1fr)!important}
 .llb-main-grid>.llb-field{grid-column:auto!important}
 /* iOS zoom guard: all focusable text fields at least 16px */
 .llb :is(input,select,textarea),.llb-modal :is(input,select,textarea){font-size:16px!important}
 .llb-main-grid input[type="date"],.llb-main-grid input[type="time"]{font-size:16px!important;min-width:0!important;overflow:hidden!important}
 .llb-vehicle{min-height:104px;gap:7px;padding:8px}
 .llb-vehicle-photo{width:138px;flex:0 0 138px;max-width:41%;height:78px;padding:2px}
 .llb-vehicle-spec,.llb-vehicle-included{font-size:10px}
 .llb-vehicle-text small{font-size:10px}
 .llb-stops-block{margin:0 0 12px}
 .llb-stop-row{gap:5px}
 .llb-remove-stop{font-size:11px!important}
}
@media(max-width:360px){.llb-vehicle-photo{width:116px;flex-basis:116px;height:67px}.llb-vehicle{gap:5px}}

/* Luxline 1.2 – iPhone/Safari field overflow adjustment and anchor positioning.
   Only booking date/time inputs are narrowed; other fields are unaffected. */
.llb[data-llb-root]{scroll-margin-top:90px}
@media (max-width:600px) {
  .llb .llb-root-form,
  .llb .llb-main-grid,
  .llb .llb-main-grid > .llb-field {
    min-width:0!important;max-width:100%!important;
    box-sizing:border-box!important;
  }
  .llb .llb-main-grid input[type="date"],
  .llb .llb-main-grid input[type="time"] {
    display:block!important;
    box-sizing:border-box!important;
    min-width:0!important;
    width:calc(100% - 18px)!important;
    max-width:calc(100% - 18px)!important;
    padding-right:8px!important;
    font-size:16px!important;
  }
}
