.bel-reservas,.bel-res-modal{font-family:Inter,Arial,sans-serif;color:#101c2d;font-size:15px;line-height:1.5;text-align:left;--bel-accent:#20ccd0}
.bel-reservas *,.bel-res-modal *{box-sizing:border-box}
.bel-reservas h2{font-size:25px;line-height:1.2;font-weight:750;margin:0 0 20px}
.bel-reservas label,.bel-res-modal label{display:block;font-size:12px;font-weight:600;color:#172331;margin-bottom:14px}
.bel-reservas input,.bel-reservas select,.bel-res-modal input,.bel-res-modal textarea{font:inherit;color:#475468;background:#fff;border:1px solid #dbe1e8;border-radius:6px;padding:11px 12px;width:100%;min-height:44px;margin:6px 0 0;box-shadow:none}
.bel-reservas select{font-size:13px;appearance:auto}
.bel-reservas input[type=date],.bel-reservas input[type=time]{min-width:0;font-size:13px}
.bel-reservas .bel-trip{display:flex;gap:6px;background:#f1f3f6;border:0;padding:4px;border-radius:7px;margin:0 0 18px;min-width:0}
.bel-reservas .bel-trip label{position:relative;flex:1;margin:0;text-align:center;font-weight:500}
.bel-reservas .bel-trip input{position:absolute;width:1px;height:1px;opacity:0;min-height:0}
.bel-reservas .bel-trip span{display:block;padding:10px 4px;border-radius:5px;cursor:pointer}
.bel-reservas .bel-trip input:checked+span{background:#102030;color:white}
.bel-reservas .bel-trip input:focus-visible+span{outline:2px solid #007e88;outline-offset:2px}
.bel-reservas .bel-fields-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.bel-reservas [hidden],.bel-res-modal [hidden]{display:none!important}
.bel-reservas .bel-place{display:block;min-height:46px;margin-top:6px;min-width:0}
.bel-reservas gmp-place-autocomplete{width:100%;font-family:Inter,Arial,sans-serif;color-scheme:light}
.bel-reservas .bel-loading{display:block;padding:12px;border:1px solid #dbe1e8;border-radius:6px;color:#687486}
.bel-reservas button,.bel-res-modal button{font:inherit;text-transform:none;letter-spacing:0;cursor:pointer;box-shadow:none;transition:background .15s;border:0}
.bel-reservas .bel-primary,.bel-res-modal .bel-primary{background:#20ccd0;color:#101c2d;border-radius:7px;padding:13px 20px;font-size:14px;font-weight:650;min-height:44px;text-align:center}
.bel-reservas .bel-primary{width:100%}
.bel-reservas .bel-primary:hover,.bel-res-modal .bel-primary:hover{background:#46dadd;color:#101c2d}
.bel-reservas button:disabled,.bel-res-modal button:disabled{opacity:.55;cursor:wait}
.bel-reservas .bel-small,.bel-res-modal .bel-small{font-size:12px;color:#637084;line-height:1.5;margin:12px 0 0}
.bel-reservas .bel-status,.bel-res-modal .bel-details-status{font-size:13px;line-height:1.5;margin:12px 0 0}
.bel-reservas .bel-error,.bel-res-modal .bel-error{color:#9c2929}
.bel-reservas .bel-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.bel-reservas .bel-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.bel-res-modal{width:min(1120px,calc(100vw - 40px));max-width:none;max-height:92vh;padding:0;border:0;border-radius:14px;margin:auto;background:#fff;box-shadow:0 24px 90px #0005}
.bel-res-modal::backdrop{background:#071622b8}
.bel-res-modal .bel-modal-head{display:flex;align-items:center;justify-content:space-between;background:#102030;color:#fff;padding:16px 26px}
.bel-res-modal .bel-wordmark{font-size:18px;letter-spacing:.3px;font-weight:750}
.bel-res-modal .bel-close{background:transparent;color:white;font-size:20px;min-width:44px;min-height:44px;padding:0}
.bel-res-modal .bel-modal-body{padding:28px;overflow:auto;max-height:calc(92vh - 76px)}
.bel-res-modal .bel-progress{display:flex;gap:20px;font-size:12px;color:#647184;margin-bottom:20px;flex-wrap:wrap}
.bel-res-modal .bel-step-current{color:#007e88;font-weight:700}
.bel-res-modal h2{font-size:32px;font-weight:750;line-height:1.2;margin:0 0 24px}
.bel-res-modal h3{font-size:18px;font-weight:700;line-height:1.35;margin:0 0 10px}
.bel-res-modal p{margin:0 0 14px}
.bel-res-modal .bel-results-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}
.bel-res-modal .bel-main-panel{min-width:0}
.bel-res-modal .bel-map{height:260px;border-radius:10px;background:#eaf0f4;overflow:hidden}
.bel-res-modal .bel-route-caption{font-size:12px;color:#647184;margin:10px 0 20px}
.bel-res-modal .bel-offers{display:flex;flex-direction:column;gap:14px}
.bel-res-modal .bel-offer{display:grid;grid-template-columns:130px minmax(0,1fr) 135px;gap:16px;align-items:center;padding:16px;border:1px solid #e2e7ed;border-radius:10px}
.bel-res-modal .bel-offer img{width:130px;height:90px;object-fit:cover;border-radius:7px}
.bel-res-modal .bel-vehicle-placeholder{display:flex;align-items:center;justify-content:center;text-align:center;background:#eef6f6;border-radius:7px;font-size:10px;letter-spacing:1px;width:130px;height:90px;padding:12px}
.bel-res-modal .bel-offer-copy p{font-size:12px;color:#647184;margin:0}
.bel-res-modal .bel-offer-copy h3{font-size:17px}
.bel-res-modal .bel-offer-fare{display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.bel-res-modal .bel-offer-fare strong{font-size:17px;white-space:nowrap}
.bel-res-modal .bel-offer-fare .bel-primary{width:100%;padding:11px 14px;font-size:13px}
.bel-res-modal .bel-summary{background:#f7fafb;border:1px solid #e4e9ef;border-radius:10px;padding:22px;position:sticky;top:0;min-width:0}
.bel-res-modal .bel-summary dl{margin:0}
.bel-res-modal .bel-summary dt{font-size:11px;color:#647184;margin-top:12px}
.bel-res-modal .bel-summary dd{font-size:13px;font-weight:500;margin:3px 0 0;overflow-wrap:anywhere}
.bel-res-modal .bel-summary-total{border-top:1px solid #dbe4e9;padding-top:16px;margin-top:20px;display:flex;flex-direction:column;gap:7px}
.bel-res-modal .bel-summary-total strong{font-size:25px;color:#007e88}
.bel-res-modal .bel-summary-total span,.bel-res-modal .bel-summary-total small{font-size:12px}
.bel-res-modal .bel-edit-route,.bel-res-modal .bel-back{background:transparent;color:#007e88;padding:12px 0;min-height:44px;font-size:13px;text-align:left}
.bel-res-modal .bel-details-view input,.bel-res-modal .bel-details-view textarea{font-size:15px}
.bel-res-modal .bel-details-view .bel-primary{width:100%;margin-top:8px}
.bel-res-modal .bel-details-view>p{color:#647184;font-size:14px}
.bel-res-modal .bel-details-view .bel-checkout-total{font-size:18px;font-weight:700;color:#007e88;margin-top:20px}
.bel-res-modal .bel-terms{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6;margin-top:20px}
.bel-res-modal .bel-terms input{width:18px;height:18px;min-height:0;flex-shrink:0;margin:3px 0}
.bel-res-modal a{color:#007e88;text-decoration:underline}
.bel-reservas input:focus-visible,.bel-reservas select:focus-visible,.bel-reservas button:focus-visible,.bel-res-modal input:focus-visible,.bel-res-modal textarea:focus-visible,.bel-res-modal button:focus-visible,.bel-res-modal a:focus-visible{outline:2px solid #007e88;outline-offset:3px}
html.bel-modal-open{overflow:hidden}
@media(max-width:950px){.bel-res-modal .bel-results-layout{grid-template-columns:minmax(0,1fr) 250px;gap:20px}.bel-res-modal .bel-offer{grid-template-columns:100px minmax(0,1fr)}.bel-res-modal .bel-offer img,.bel-res-modal .bel-vehicle-placeholder{width:100px;height:80px}.bel-res-modal .bel-offer-fare{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}.bel-res-modal .bel-offer-fare .bel-primary{width:auto;min-width:120px}}
@media(max-width:767px){.bel-res-modal{width:calc(100vw - 20px);max-height:95vh;border-radius:10px}.bel-res-modal .bel-modal-head{padding:10px 16px}.bel-res-modal .bel-modal-body{padding:20px 16px;max-height:calc(95vh - 64px)}.bel-res-modal h2{font-size:26px}.bel-res-modal .bel-results-layout{display:flex;flex-direction:column;gap:24px}.bel-res-modal .bel-main-panel,.bel-res-modal .bel-summary{width:100%}.bel-res-modal .bel-summary{position:static;padding:18px}.bel-res-modal .bel-map{height:210px}.bel-res-modal .bel-progress{gap:12px;font-size:10px}.bel-res-modal .bel-offer{padding:14px;gap:12px}.bel-res-modal .bel-summary dl{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px}.bel-res-modal .bel-summary dt,.bel-res-modal .bel-summary dd{margin:0}.bel-reservas h2{font-size:23px}.bel-reservas .bel-fields-row{gap:10px}}
@media(prefers-reduced-motion:reduce){.bel-reservas *,.bel-res-modal *{transition:none!important;scroll-behavior:auto!important}}
/* Compact transfer card: scoped to the search form, preserving the results layout. */
.bel-reservas .bel-transfer-badge{display:table;margin:0 auto 12px;background:#050505;color:#fff;border:4px solid #fff;border-radius:7px;padding:7px 20px;font-size:12px;font-weight:600;box-shadow:0 2px 12px #0001}
.bel-reservas .bel-search{background:#fff;border:1px solid #eee;border-radius:9px;padding:12px;box-shadow:0 10px 32px #0002;width:100%;min-width:0}
.bel-reservas .bel-search>label,.bel-reservas .bel-search .bel-fields-row>label{background:#f5f5f5;border-radius:6px;padding:8px 10px;margin:0 0 8px;color:#555;font-size:11px;font-weight:500;min-width:0}
.bel-reservas .bel-search input:not([type=radio]),.bel-reservas .bel-search select{border:0;background:transparent;margin:0;padding:5px 0;min-height:34px;font-size:13px;color:#111;border-radius:0;width:100%;max-width:100%;min-width:0}
.bel-reservas .bel-search .bel-fields-row{gap:8px}
.bel-reservas .bel-search .bel-trip{margin:0 0 12px;padding:0;gap:4px;background:#f5f5f5}
.bel-reservas .bel-search .bel-trip span{padding:12px 5px}
.bel-reservas .bel-search .bel-trip input:checked+span{background:#000;color:#fff}
.bel-reservas .bel-search .bel-primary{background:#000;color:#fff;border-radius:8px;margin-top:6px;padding:14px;display:flex;gap:8px;align-items:center;justify-content:center}
.bel-reservas .bel-search .bel-primary:hover{background:#222;color:#fff}
.bel-reservas .bel-search .bel-primary>span{font-size:24px;line-height:16px}
.bel-reservas .bel-search .bel-place{margin:2px 0 0;min-height:38px}
.bel-reservas .bel-search gmp-place-autocomplete{background-color:transparent;border:0;color-scheme:light}
.bel-reservas .bel-search .bel-loading{border:0;padding:8px 0;background:transparent;font-size:12px}
.bel-reservas .bel-search .bel-small{font-size:10px}
.bel-reservas .bel-search .bel-promo-hint{display:block;color:#666;font-size:10px;margin-top:2px}
.bel-reservas .bel-search .bel-status:empty{display:none}
.bel-res-modal .bel-promo-form{margin-top:18px;padding-top:16px;border-top:1px solid #dbe4e9}
.bel-res-modal .bel-promo-form label{margin-bottom:8px}
.bel-res-modal .bel-promo-actions{display:flex;gap:8px;flex-wrap:wrap}
.bel-res-modal .bel-promo-apply,.bel-res-modal .bel-promo-remove{min-height:44px;border-radius:6px;padding:8px 14px;background:#101c2d;color:white;font-size:13px}
.bel-res-modal .bel-promo-remove{background:#e6ecef;color:#172331}
.bel-res-modal .bel-promo-status{font-size:12px;margin-top:10px;overflow-wrap:anywhere}
.bel-res-modal .bel-offer-fare del,.bel-res-modal .bel-offer-fare small{font-size:12px;color:#526171}
@media(max-width:400px){.bel-reservas .bel-search{padding:10px}.bel-reservas .bel-search>label,.bel-reservas .bel-search .bel-fields-row>label{padding:7px}.bel-reservas .bel-search input:not([type=radio]),.bel-reservas .bel-search select{font-size:12px}}
