.ec-app{--ec-a:#ffc414;--ec-b:#ffdc4a;--ec-ink:#171717;max-width:820px;margin:28px auto;background:#fff;border:1px solid #e8e8e8;border-radius:22px;overflow:hidden;box-shadow:0 18px 65px rgba(0,0,0,.10);font:inherit;color:var(--ec-ink)}.ec-app *{box-sizing:border-box}.ec-hero{padding:35px 35px 28px;background:linear-gradient(115deg,#ffe34a 0%,#ffc414 65%,#ffb900 100%);color:#171717}.ec-eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;opacity:.9}.ec-hero h2{color:#171717!important;font-size:clamp(26px,4vw,38px);margin:10px 0}.ec-hero p{margin:0;opacity:.95}.ec-body{padding:28px 35px}.ec-steps{display:flex;gap:8px;margin-bottom:25px}.ec-steps span{flex:1;padding:10px 6px;text-align:center;border-radius:10px;background:#f4f4f4;font-size:13px;font-weight:700;color:#555555}.ec-steps span.active{background:linear-gradient(110deg,#ffdd54,#ffc414);color:#171717}.ec-panel h3{font-size:21px;margin:0 0 22px;color:#171717}.ec-app label:not(.ec-check){display:block;font-weight:700;font-size:14px;margin:0 0 16px}.ec-app input:not([type=checkbox]),.ec-app select{display:block;width:100%;margin-top:7px;min-height:46px;border:1px solid #d4d4d4;border-radius:10px;background:white;color:#171717;padding:10px 12px;font-size:15px}.ec-app input:focus,.ec-app select:focus{outline:2px solid #f4bd00;outline-offset:1px}.ec-app small{display:block;color:#666666;font-weight:400;margin-top:6px;line-height:1.5}.ec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}.ec-app button{cursor:pointer;border:0;border-radius:10px;padding:12px 17px;font-weight:700;font-size:14px}.ec-app button:disabled{opacity:.5;cursor:not-allowed}.ec-primary{background:linear-gradient(110deg,#ffe04b,#ffc414);color:#171717;width:100%;margin-top:16px}.ec-secondary{background:#f4f4f4;color:#171717;margin:0 0 16px}.ec-check{display:flex;align-items:flex-start;gap:9px;margin:13px 0;font-size:14px;font-weight:500}.ec-check input{margin-top:4px}.ec-note{font-size:13px;line-height:1.6;color:#666666}.ec-actions{display:flex;gap:10px}.ec-actions .ec-secondary{margin-top:16px;margin-bottom:0;white-space:nowrap}.ec-summary{background:#fff8e4;border:1px solid #f1df9d;padding:20px;border-radius:15px;margin-top:24px}.ec-summary>span{display:block;color:#64552b;font-size:13px;font-weight:700}.ec-summary strong{display:block;font-size:34px;color:#171717;margin:5px 0}.ec-summary small{display:block;color:#64552b;line-height:1.6}.ec-error{color:#a32323;font-size:14px;font-weight:700}.ec-stop{display:flex;align-items:end;gap:8px}.ec-stop label{flex:1}.ec-stop button{margin-bottom:16px}.ec-app a{color:#8b6500}@media(max-width:600px){.ec-hero{padding:27px 21px}.ec-body{padding:20px 17px}.ec-grid{gap:0 10px}.ec-steps span{font-size:11px}.ec-actions{flex-direction:column}.ec-actions .ec-secondary{margin-bottom:0}.ec-summary{position:sticky;bottom:6px;z-index:3;box-shadow:0 6px 25px #e3d7ae}.ec-summary strong{font-size:27px}}

.ec-app textarea{display:block;width:100%;margin-top:7px;border:1px solid #d4d4d4;border-radius:10px;padding:12px;font:inherit;resize:vertical;min-height:100px}.ec-information{background:#fff8e4;border:1px solid #f1df9d;padding:14px;border-radius:10px;margin:10px 0 18px;font-size:14px;line-height:1.6}.ec-information p{margin:8px 0}.ec-app .ec-information .ec-check{font-weight:500}.ec-app input[type="date"],.ec-app input[type="time"]{min-width:0}

/* Version 0.4: inbound airport precedes destination fields */
.ec-trip-fields{display:flex;flex-direction:column}
.ec-trip-fields[hidden]{display:none}
.ec-trip-fields > h3{order:0}.ec-trip-fields > label:has(#ec-type){order:1}.ec-trip-fields > #ec-airport-block{order:3}.ec-trip-fields > #ec-first-block{order:2}.ec-inbound .ec-trip-fields > #ec-airport-block{order:2}.ec-inbound .ec-trip-fields > #ec-first-block{order:3}.ec-trip-fields > label:has(#ec-zone){order:4}.ec-trip-fields > .ec-grid{order:5}.ec-trip-fields > .ec-check{order:6}.ec-trip-fields > .ec-note{order:7}.ec-trip-fields > #ec-next1{order:8}
.ec-inbound #ec-first-block{order:0}

/* Google Places API (New): responsive address widget */
.ec-app input.ec-address-hidden{display:none!important}
.ec-app gmp-place-autocomplete.ec-places-widget{display:block;width:100%;margin-top:7px;min-height:46px;--gmpx-color-surface:#fff;--gmpx-color-on-surface:#171717;--gmpx-font-family:inherit;--gmpx-font-size-base:15px;--gmpx-border-radius:10px}
.ec-app .ec-stop gmp-place-autocomplete.ec-places-widget{min-width:0}

/* Beta 4: read-only tariff labels and inbound field order */
.ec-zone-result{font-size:13px;color:#343434;background:#fff8dc;border-left:3px solid #ffc414;padding:7px 10px;margin:5px 0 12px;border-radius:3px;}
.ec-trip-fields{display:flex;flex-direction:column;}
.ec-trip-fields > *{order:5;}
.ec-trip-fields > h3{order:0;}
.ec-trip-fields > label:has(#ec-type){order:1;}
.ec-trip-fields #ec-first-block{order:2;}
.ec-trip-fields #ec-airport-block{order:3;}
.ec-trip-fields.ec-inbound #ec-airport-block,.ec-inbound #ec-airport-block{order:2;}
.ec-inbound #ec-first-block{order:3;}
.ec-places-widget{display:block;width:100%;}

/* Beta 7 – visual refresh only. All booking selectors and business logic remain unchanged. */
.ec-app{--ec-a:#ffd21a;--ec-b:#ffe86c;--ec-ink:#17191d;--ec-muted:#626977;--ec-line:#e5e8ee;max-width:900px;margin:32px auto;background:#fff;border:1px solid #e9e9eb;border-radius:24px;box-shadow:0 22px 70px rgba(21,25,31,.10);color:var(--ec-ink);font-family:inherit;line-height:1.5}
.ec-hero{position:relative;padding:38px 42px 36px;background:linear-gradient(115deg,#181b21 0%,#272b33 100%);color:#fff;overflow:hidden}
.ec-hero:after{content:"";position:absolute;right:-68px;top:-115px;width:310px;height:310px;border:65px solid rgba(255,210,26,.11);border-radius:50%;pointer-events:none}
.ec-eyebrow{display:inline-block;color:#ffd21a;font-size:11px;letter-spacing:.15em;font-weight:800}
.ec-hero h2{color:#fff!important;font-size:clamp(28px,4vw,42px);line-height:1.15;letter-spacing:-.035em;margin:12px 0 13px;font-weight:800}
.ec-hero p{color:#e2e3e7;max-width:580px;font-size:15px;line-height:1.65}
.ec-body{padding:34px 42px 38px}
.ec-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:34px}
.ec-steps span{position:relative;padding:13px 10px;border:1px solid var(--ec-line);border-radius:12px;background:#f8f9fb;color:#626977;font-size:13px;letter-spacing:.01em;transition:background .2s,border-color .2s}
.ec-steps span.active{background:#fff8d8;border:1px solid #f2cb3a;color:#17191d;box-shadow:inset 0 -3px 0 #f4c400}
.ec-panel h3{font-size:23px;letter-spacing:-.025em;margin:0 0 23px;font-weight:800;color:#191b20}
.ec-app label:not(.ec-check){font-size:13px;font-weight:750;letter-spacing:.005em;color:#30343c;margin-bottom:19px}
.ec-app input:not([type=checkbox]),.ec-app select,.ec-app textarea{border:1px solid #dce0e6;border-radius:12px;background:#fff;min-height:49px;padding:12px 14px;font-size:15px;box-shadow:0 1px 2px rgba(0,0,0,.025);transition:border-color .15s,box-shadow .15s}
.ec-app input:not([type=checkbox]):hover,.ec-app select:hover,.ec-app textarea:hover{border-color:#aeb4be}
.ec-app input:focus,.ec-app select:focus,.ec-app textarea:focus{outline:none;border-color:#dfb600;box-shadow:0 0 0 3px rgba(255,210,26,.23)}
.ec-app input[type=checkbox]{accent-color:#e9b900;width:17px;height:17px;flex:none}
.ec-app .ec-check{font-weight:500;color:#353b44;line-height:1.5;margin:15px 0}
.ec-grid{gap:0 18px}
.ec-zone-result{display:flex;align-items:center;gap:8px;background:#f5f8f5;border:1px solid #e0ebe0;border-left:3px solid #57a96d;border-radius:9px;color:#2f563a;padding:9px 12px;margin:-6px 0 19px;font-size:12px;line-height:1.45;font-weight:650}
.ec-zone-result:before{content:"✓";display:inline-grid;place-items:center;background:#e0f0e3;color:#28733c;border-radius:50%;height:20px;width:20px;min-width:20px;font-size:12px;font-weight:800}
.ec-app button{min-height:44px;border-radius:11px;font-size:14px;transition:filter .15s,transform .15s,box-shadow .15s}
.ec-app button:not(:disabled):hover{filter:brightness(.97);transform:translateY(-1px)}
.ec-app button:focus-visible{outline:3px solid #d8ac00;outline-offset:3px}
.ec-primary{background:#ffd21a;color:#141414;border:1px solid #e7b900;box-shadow:0 5px 12px rgba(236,185,0,.14);font-weight:800;padding:14px 20px}
.ec-secondary{background:#f1f3f6;color:#2b3038;border:1px solid #e2e5e9}
.ec-actions{align-items:stretch;gap:12px}
.ec-actions .ec-primary{flex:1}
.ec-summary{background:linear-gradient(135deg,#fff8db,#fffdf4);border:1px solid #f0d881;border-radius:18px;padding:23px 25px;margin-top:32px;box-shadow:0 6px 20px rgba(152,122,0,.045)}
.ec-summary>span{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:#756021}
.ec-summary strong{font-size:clamp(30px,5vw,41px);font-weight:850;letter-spacing:-.035em;margin:6px 0 8px}
.ec-summary small{color:#5f5a4c;font-size:12px}
.ec-summary .ec-note{margin-bottom:0;padding-top:8px;border-top:1px solid rgba(176,146,48,.22)}
.ec-error:not(:empty){padding:11px 13px;background:#fff1f0;border:1px solid #f4cbc7;border-radius:9px;font-size:13px}
.ec-information{background:#fff9e9;border:1px solid #f0e2b6;border-radius:12px}
.ec-stop{align-items:flex-start;flex-wrap:wrap;padding:13px 15px 0;margin:0 0 14px;border:1px solid var(--ec-line);border-radius:13px;background:#fafbfc}
.ec-stop label{flex:1 1 65%;margin-bottom:7px!important}
.ec-stop .ec-zone-result{order:3;flex:1 1 100%;margin:0 0 12px}
.ec-stop button{margin:27px 0 8px;flex:none}
.ec-app gmp-place-autocomplete.ec-places-widget{min-height:49px;--gmpx-border-radius:12px;--gmpx-color-surface:#fff;--gmpx-color-on-surface:#17191d}
.ec-app .ec-note{color:#68707d;line-height:1.6}
.ec-app a{color:#6d5300;text-decoration:underline;text-underline-offset:2px}
@media(max-width:600px){.ec-app{margin:12px auto;border-radius:17px}.ec-hero{padding:28px 22px 30px}.ec-hero h2{font-size:30px}.ec-hero p{font-size:13px}.ec-body{padding:24px 18px 26px}.ec-steps{gap:6px;margin-bottom:26px}.ec-steps span{font-size:11px;padding:11px 4px}.ec-panel h3{font-size:20px}.ec-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}.ec-app input:not([type=checkbox]),.ec-app select{font-size:16px}.ec-actions{flex-direction:column-reverse}.ec-actions .ec-secondary{margin-top:0}.ec-summary{position:static;margin-top:26px;padding:20px 17px;box-shadow:none}.ec-summary strong{font-size:32px}.ec-stop{padding:10px}.ec-stop label{flex-basis:100%}.ec-stop button{margin:0 0 9px}.ec-stop .ec-zone-result{order:4}}
@media(max-width:390px){.ec-grid{grid-template-columns:1fr}.ec-steps span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.ec-app *{transition:none!important;scroll-behavior:auto!important}}


/* Beta 8 – easyCab branded experience; no booking logic changed */
.ec-experience{--ec-yellow:#ffcb05;--ec-sun:#ffe461;--ec-dark:#171717;position:relative;isolation:isolate;max-width:1600px;margin:0 auto;padding:22px clamp(14px,2.6vw,42px) 28px;color:#191919;background:linear-gradient(130deg,#ffe79c 0%,#fff9e7 24%,#ffffff 53%,#fff0b6 100%);font-family:inherit;overflow:hidden}
.ec-experience:before{content:"";position:absolute;inset:98px 0 0;z-index:-1;background:linear-gradient(115deg,rgba(255,198,0,.28),rgba(255,255,255,.85) 46%,rgba(255,204,0,.14))}
.ec-brandbar{display:flex;align-items:center;justify-content:space-between;gap:22px;max-width:1450px;margin:0 auto 24px;background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.9);border-radius:18px;padding:12px 22px;box-shadow:0 12px 35px rgba(71,50,0,.06)}
.ec-brand-logo{display:block;width:clamp(155px,18vw,255px);height:80px;object-fit:contain;object-position:left center;mix-blend-mode:multiply}
.ec-brand-contact{display:flex;flex-direction:column;line-height:1.35}.ec-brand-contact span{font-size:12px;color:#626262}.ec-brand-contact a{font-size:clamp(18px,2vw,25px);font-weight:850;color:#171717;text-decoration:none}.ec-brand-points{display:flex;gap:16px;font-size:13px;font-weight:750}.ec-brand-points span{white-space:nowrap}
.ec-showcase{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(0,1.75fr) minmax(220px,.88fr);gap:15px;align-items:stretch;max-width:1450px;margin:auto}
.ec-showcase .ec-app{width:100%;max-width:none;margin:0;border:1px solid #f0e5c9;box-shadow:0 14px 45px rgba(67,47,0,.12);border-radius:22px;background:#fff}
.ec-showcase .ec-hero{padding:25px 29px 20px;background:linear-gradient(105deg,#fff9e6 0%,#ffe071 54%,#ffc400 100%)}
.ec-showcase .ec-hero h2{font-size:clamp(24px,2.4vw,34px)}.ec-showcase .ec-hero p{font-size:13px}.ec-showcase .ec-body{padding:24px 28px 28px}
.ec-showcase .ec-steps span.active{background:linear-gradient(110deg,#ffe66a,#ffca05)}
.ec-showcase .ec-primary{background:linear-gradient(110deg,#ffe35d,#ffca00);border-color:#f6c000;color:#171717}
.ec-showcase .ec-zone-result{background:#fff7d9;border-color:#f2cf4b;color:#443400}
.ec-showcase .ec-zone-result:before{background:#ffe88c;color:#503a00;content:"✓"}
.ec-showcase .ec-summary{background:linear-gradient(110deg,#fff8d8,#ffe8a0);border-color:#efcf62}
.ec-visual-left,.ec-visual-right{overflow:hidden;border-radius:21px;box-shadow:0 12px 40px rgba(68,47,0,.1);background:#fff;min-width:0}
.ec-visual-left{display:flex;flex-direction:column;background:linear-gradient(155deg,#ffbd00,#ffdf53 70%,#fff4bb)}
.ec-left-photo{min-height:350px;flex:1;background-image:linear-gradient(180deg,transparent 65%,rgba(28,22,0,.12)),url('easycab-moers.png');background-size:cover;background-position:57% center}
.ec-left-copy{padding:22px 20px 28px;background:linear-gradient(130deg,#ffe36a,#ffca00)}.ec-left-copy strong{display:block;font-size:clamp(22px,2.2vw,32px);font-weight:900;line-height:1.08}.ec-left-copy span{display:block;margin-top:11px;font-size:14px;line-height:1.5}
.ec-visual-right{display:flex;flex-direction:column}.ec-visual-right>img{display:block;width:100%;height:clamp(185px,20vw,315px);object-fit:cover;object-position:62% center}.ec-benefits{padding:20px 18px 22px;flex:1;background:linear-gradient(160deg,#fff,#fffaf0)}.ec-benefits h3{font-size:19px;margin:0 0 14px;font-weight:850}.ec-benefits p{margin:0;padding:13px 0;border-bottom:1px solid #eee4c9}.ec-benefits b,.ec-benefits span{display:block}.ec-benefits b{font-size:14px}.ec-benefits span{font-size:12px;color:#616161;margin-top:4px;line-height:1.5}.ec-benefits .ec-benefit-slogan{border:0;text-align:center;font-size:18px;font-weight:800;font-style:italic;margin-top:16px}
.ec-trustline{display:flex;justify-content:center;flex-wrap:wrap;gap:15px 35px;max-width:1200px;margin:26px auto 0;font-size:13px;color:#414141}
@media(max-width:1190px){.ec-showcase{grid-template-columns:minmax(0,1.7fr) minmax(240px,.8fr)}.ec-visual-left{display:none}.ec-brand-points{display:none}}
@media(max-width:800px){.ec-showcase{grid-template-columns:minmax(0,1fr)}.ec-visual-right{display:grid;grid-template-columns:40% 60%}.ec-visual-right>img{height:100%;min-height:230px}.ec-brandbar{padding:10px 14px}.ec-brand-logo{height:68px}}
@media(max-width:540px){.ec-experience{padding:10px 9px 20px}.ec-brandbar{gap:9px;margin-bottom:12px;padding:9px}.ec-brand-logo{width:145px;height:57px}.ec-brand-contact span{font-size:10px}.ec-brand-contact a{font-size:15px}.ec-showcase .ec-hero{padding:22px 18px}.ec-showcase .ec-body{padding:21px 16px}.ec-visual-right{display:block}.ec-visual-right>img{height:175px;min-height:0}.ec-benefits{padding:16px}.ec-trustline{gap:10px 17px;font-size:11px}}

/* Beta 9: two-column layout. Preserve the left vehicle image; remove the right service panel. */
.ec-experience{max-width:1320px;padding:18px clamp(10px,2vw,26px) 28px}
.ec-showcase{grid-template-columns:minmax(180px,0.42fr) minmax(0,1.58fr);max-width:1200px;gap:16px}
.ec-showcase .ec-app{min-width:0}
.ec-showcase .ec-hero{background:linear-gradient(112deg,#fff7dc 0%,#ffe17a 48%,#ffca05 100%);color:#171717}
.ec-showcase .ec-hero h2{color:#171717!important;text-shadow:none}
.ec-showcase .ec-hero p{color:#343434;opacity:1}
.ec-showcase .ec-eyebrow{color:#765000}
.ec-left-photo{background-position:58% center}
@media(max-width:1190px){.ec-showcase{grid-template-columns:minmax(170px,.37fr) minmax(0,1.63fr)}.ec-visual-left{display:flex}}
@media(max-width:900px){.ec-showcase{grid-template-columns:minmax(0,1fr)}.ec-visual-left{display:none}.ec-showcase .ec-app{width:100%}}
@media(max-width:540px){.ec-showcase .ec-hero h2{font-size:clamp(24px,7vw,32px)}.ec-brandbar{flex-wrap:wrap}.ec-brand-contact a{font-size:15px}}

/* Beta 12: transparenter Hinweis zur tarifbedingten Fahrtreihenfolge */
.ec-route-notice:not([hidden]){display:block;margin:12px 0;padding:12px 15px;border-left:4px solid #e7b000;background:#fff7d9;color:#302700;border-radius:6px;font-size:14px;line-height:1.55;overflow-wrap:anywhere}

/* Beta 22: kompakte Gepäck- und Zusatzoptionen */
.ec-trip-fields>.ec-choice-section{order:5}.ec-trip-fields>.ec-choice-section~.ec-choice-section{order:6}.ec-choice-section{padding:17px 18px;margin:14px 0;background:#fafbfc;border:1px solid #e6e8ed;border-radius:13px}.ec-choice-section label{margin-bottom:12px!important}.ec-choice-section small{font-size:12px;color:#646a75}.ec-choice-section [hidden],.ec-app [hidden]{display:none!important}.ec-price-vehicle{display:flex;align-items:center;justify-content:space-between;gap:16px}.ec-price-text{flex:1;min-width:0}.ec-vehicle-display{width:42%;max-width:230px;text-align:center}.ec-vehicle-display img{display:block;width:100%;height:auto;object-fit:contain}.ec-vehicle-display small{font-size:10px;line-height:1.4}.ec-summary .ec-price-text>span{font-size:12px;font-weight:700;color:#756021}@media(max-width:560px){.ec-price-vehicle{align-items:center;gap:8px}.ec-vehicle-display{width:40%}.ec-choice-section{padding:12px}}
