.ecfr{--yellow:#ffcb16;max-width:930px;margin:24px auto;padding:clamp(18px,3vw,38px);background:#fff;color:#20242a;border:1px solid #eee;border-radius:22px;box-shadow:0 15px 45px #0001;font-family:system-ui,-apple-system,Arial,sans-serif}.ecfr *{box-sizing:border-box}.ecfr-top{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:3px solid var(--yellow);padding-bottom:14px}.ecfr-top strong{font-size:20px}.ecfr-top span{color:#666;font-size:13px}.ecfr h2{font-size:30px;margin:25px 0 6px}.ecfr p{line-height:1.5}.ecfr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:15px 0}.ecfr-three{grid-template-columns:repeat(3,minmax(0,1fr))}.ecfr label{display:block;font-size:13px;font-weight:650;margin:12px 0}.ecfr input:not([type=checkbox]),.ecfr select,.ecfr textarea{display:block;width:100%;min-height:47px;margin-top:6px;border:1px solid #cbd2d8;border-radius:10px;background:white;color:#222;padding:11px 12px;font-size:15px}.ecfr input:focus,.ecfr select:focus{outline:2px solid #e3ae00}.ecfr button{cursor:pointer;border:0;border-radius:10px;padding:13px 18px;font-weight:750;font-size:15px}.ecfr-primary{display:block;background:#ffca16;color:#111;width:100%;margin:17px 0}.ecfr-primary:hover{background:#f1b900}.ecfr button:disabled{opacity:.6;cursor:wait}.ecfr-quiet{background:#f3f4f5;color:#30343a}.ecfr-stop{display:flex;align-items:end;gap:12px}.ecfr-stop label{flex:1}.ecfr-stop button{margin-bottom:12px}.ecfr #ecfr-message:not(:empty){padding:12px 14px;margin:12px 0;border-radius:9px;background:#fff2d6}.ecfr #ecfr-results{border-top:1px solid #eee;margin-top:22px;padding-top:18px}.ecfr #ecfr-map{height:280px;background:#f0f2f3;border-radius:13px;overflow:hidden}.ecfr-price{padding:22px 20px;margin:16px 0;background:#fffaf0;border:1px solid #f2e4c1;border-radius:13px}.ecfr #ecfr-regular{color:#777;text-decoration:line-through;font-size:19px;margin-top:12px}.ecfr #ecfr-final{font-size:36px;font-weight:850;margin:5px 0}.ecfr #ecfr-saving{font-weight:700;color:#1b6c43}.ecfr #ecfr-disclaimer{font-size:12px;color:#666}.ecfr-check{display:flex!important;align-items:flex-start;gap:9px;line-height:1.5}.ecfr-check input{margin-top:3px}.ecfr #ecfr-form{border-top:1px solid #eee;padding-top:12px}.ecfr #ecfr-form h3{margin:8px 0}.ecfr #ecfr-form[hidden],.ecfr #ecfr-results[hidden]{display:none}@media(max-width:650px){.ecfr-grid,.ecfr-three{grid-template-columns:1fr}.ecfr h2{font-size:24px}.ecfr #ecfr-final{font-size:29px}}

/* Places API (New) address widget */
.ecfr-autocomplete{display:block;width:100%;min-width:0;box-sizing:border-box;color-scheme:light;--gmpx-color-primary:#fbc514;--gmpx-font-family:inherit;}
.ecfr label .ecfr-autocomplete{margin-top:6px;}

.ecfr-airport{margin-top:18px;padding:20px;border:1px solid #f2c347;background:#fff9e8;border-radius:12px}.ecfr-airport h3{margin:0 0 10px}.ecfr-airport .ecfr-primary{display:block;text-align:center;text-decoration:none;padding:14px;border-radius:9px;background:#ffcb17;color:#191919;font-weight:700}.ecfr-airport [hidden]{display:none!important}

.ecfr-lead-warning{padding:20px;margin:18px 0;background:#fff8e6;border:1px solid #efc968;border-radius:13px}.ecfr-lead-heading{font-weight:800;font-size:19px}.ecfr-lead-warning p{margin:10px 0}.ecfr-lead-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.ecfr .ecfr-call{display:inline-block;background:#ffcb16;color:#171717;border-radius:9px;padding:13px 18px;font-weight:750;text-decoration:none}.ecfr #ecfr-lead-warning[hidden]{display:none!important}.ecfr #ecfr-form[hidden]{display:none!important}

.ecfr-options{padding:16px;margin:16px 0;background:#fff9e9;border:1px solid #f3dfa6;border-radius:9px}.ecfr-options .ecfr-grid{margin-top:12px}.ecfr-payment{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:14px}.ecfr-payment label{display:inline-flex;align-items:center;gap:5px}#ecfr-vehicle{text-align:center;padding:12px 8px 0}#ecfr-vehicle img{display:block;max-width:320px;width:100%;height:auto;max-height:205px;object-fit:contain;margin:0 auto}#ecfr-vehicle strong{display:block;margin:6px 0}#ecfr-vehicle small{display:block;font-size:11px;color:#666;max-width:420px;margin:auto}
/* Beta 13: kompakte, bedarfsabhängige Zusatzoptionen */
.ecfr-four{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ecfr-four label{min-width:0}.ecfr-option-details{margin:-2px 0 14px;padding:10px 13px;border:1px solid #f0dfa9;background:#fffaf0;border-radius:9px;font-size:13px}.ecfr-option-details[hidden],.ecfr-option-details [hidden]{display:none!important}.ecfr-extra-row{display:flex;align-items:center;gap:10px;margin:5px 0}.ecfr-extra-row span{flex:1}.ecfr .ecfr-extra-row select{width:110px;min-height:36px;margin:0;padding:6px}.ecfr .ecfr-remove-extra{background:transparent;color:#8c3c1d;font-size:12px;padding:7px}.ecfr #ecfr-extra-add{padding:7px 12px;font-size:12px;margin-top:5px}@media(max-width:760px){.ecfr-four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.ecfr-extra-row{flex-wrap:wrap}.ecfr-extra-row span{flex-basis:100%}}

/* Beta 14: fare and vehicle share a horizontal row on desktop */
.ecfr-price-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,42%);align-items:center;gap:20px}.ecfr-price-values{min-width:0}#ecfr-vehicle{padding:0;text-align:center}#ecfr-vehicle img{max-width:100%;max-height:195px}#ecfr-vehicle small{margin-top:12px;line-height:1.6}#ecfr-online-notice{font-size:12px;line-height:1.7;color:#555;border-top:1px solid #e9dfc6;margin:22px 0 0;padding-top:17px}#ecfr-disclaimer{margin-top:17px!important;line-height:1.65!important}@media(max-width:600px){.ecfr-price-row{grid-template-columns:1fr}#ecfr-vehicle{margin-top:12px}}
