/* Ogbesa · motor de reservas (prefijo oe-) */
.oe-wrap{max-width:1200px;margin:0 auto;padding:40px 24px 88px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start;font-family:'Figtree','Segoe UI',system-ui,sans-serif;color:#10233f}
.oe-wrap.oe-full{grid-template-columns:minmax(0,1fr);max-width:900px}
.oe-side{position:sticky;top:16px}
.oe-hero h1,.oe-h1{font-family:'Bricolage Grotesque','Segoe UI',sans-serif;font-weight:800;font-size:clamp(30px,3.4vw,42px);line-height:1.1;color:#0f2f57;margin:0 0 10px}
.oe-hero p{margin:0 0 22px;font-size:17px;line-height:1.6;color:#4a5d75;max-width:640px}
.oe-search{background:#fff;border:1px solid #e0e7f0;border-radius:20px;box-shadow:0 14px 40px rgba(15,47,87,.08);overflow:hidden}
.oe-tabs{display:flex;overflow-x:auto;border-bottom:1px solid #e3e9f1;background:#f5f8fc}
.oe-tab{font:inherit;display:flex;align-items:center;gap:8px;padding:16px 18px;border:0;background:transparent;color:#4a5d75;font-weight:700;font-size:15px;cursor:pointer;white-space:nowrap;border-bottom:3px solid transparent;min-height:52px}
.oe-tab.on{color:#0f2f57;background:#fff;border-bottom-color:#1d5ea8}
.oe-form{padding:22px}
.oe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.oe-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:#22374f}
.oe-field.oe-wide{grid-column:1/-1}
.oe-field input,.oe-field select{font:inherit;font-weight:500;font-size:16px;padding:11px 12px;min-height:48px;border:1.5px solid #c9d8ea;border-radius:10px;color:#10233f;background:#fff;width:100%}
.oe-field input:focus,.oe-field select:focus{outline:3px solid #9cc2ec;outline-offset:1px;border-color:#1d5ea8}
.oe-radios{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-bottom:14px;font-size:15px;font-weight:600;color:#22374f}
.oe-radios label{display:flex;gap:6px;align-items:center;min-height:36px;cursor:pointer}
.oe-sep{width:1px;height:22px;background:#d5e0ec}
.oe-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}
.oe-hint{font-size:14px;color:#4a5d75}
.oe-btn{font:inherit;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:700;font-size:15px;padding:12px 18px;min-height:46px;border-radius:10px;cursor:pointer;border:0}
.oe-primary{background:#1d5ea8;color:#fff}.oe-primary:hover{background:#174f8f;color:#fff}
.oe-ghost{background:#fff;color:#0f2f57;border:1.5px solid #c9d8ea}
.oe-big{font-size:17px;padding:16px 28px;min-height:56px}
.oe-block{width:100%;margin-top:14px}
.oe-link{font:inherit;background:none;border:0;color:#1d5ea8;font-weight:700;cursor:pointer;padding:6px 0;text-decoration:underline}
.oe-modify{background:#fff;border:1px solid #e0e7f0;border-radius:16px;margin-bottom:14px}
.oe-modify>summary{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:14px 18px;cursor:pointer;list-style:none;color:#22374f;font-size:15px}
.oe-modify>summary::-webkit-details-marker{display:none}
.oe-modify>summary u{margin-left:auto;color:#1d5ea8;font-weight:700}
.oe-modify .oe-search{border:0;box-shadow:none;border-top:1px solid #e3e9f1;border-radius:0}
.oe-note{background:#eef4fb;border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.5;color:#22374f;margin-bottom:10px}
.oe-toolbar{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin:14px 0;font-size:15px;color:#4a5d75}
.oe-toolbar>div{display:flex;gap:10px;flex-wrap:wrap}
.oe-toolbar select{font:inherit;font-size:15px;padding:9px 12px;min-height:44px;border:1.5px solid #c9d8ea;border-radius:10px;background:#fff;color:#10233f}
.oe-list{display:flex;flex-direction:column;gap:14px}
.oe-card{background:#fff;border:1px solid #e0e7f0;border-radius:18px;display:flex;flex-wrap:wrap;overflow:hidden}
.oe-card.oe-special{border:2px solid #1d5ea8}
.oe-card-body{flex:999 1 380px;min-width:0;padding:20px;display:flex;flex-direction:column;gap:10px}
.oe-card-side{flex:1 1 200px;padding:20px;border-left:1px solid #eef2f7;display:flex;flex-direction:column;gap:12px;justify-content:center;background:#fbfcfe}
.oe-price{display:flex;flex-direction:column;gap:2px}
.oe-price b{font-family:'Bricolage Grotesque','Segoe UI',sans-serif;font-size:28px;color:#0f2f57;line-height:1.1}
.oe-price small,.oe-muted{font-size:14px;color:#4a5d75;line-height:1.5}
.oe-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.oe-provider{font-size:16px;color:#0f2f57}.oe-title{font-size:18px;color:#0f2f57;display:block}
.oe-chip{font-size:12px;font-weight:700;padding:4px 9px;border-radius:999px;background:#f2f5f9;color:#33465f}
.oe-chip-amber{background:#fff4dc;color:#8a5a00}.oe-chip-green{background:#e3f4ea;color:#146c3a}.oe-chip-blue{background:#1d5ea8;color:#fff}
.oe-stars{color:#c47a12;letter-spacing:2px}
.oe-leg{display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center}
.oe-leg>div{display:flex;flex-direction:column;font-size:13px;color:#4a5d75}.oe-leg b{font-size:19px;color:#0f2f57}
.oe-line{align-items:center;text-align:center}.oe-line i{display:block;height:2px;width:100%;background:#c9d8ea;margin:4px 0}
.oe-date{font-size:13px;color:#4a5d75}
.oe-car{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.oe-car img{width:170px;aspect-ratio:16/10;object-fit:contain;background:#fff}
.oe-car>div{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;flex:1 1 220px}
.oe-cabins{display:flex;flex-wrap:wrap;gap:8px}
.oe-cabin{font:inherit;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border:1.5px solid #c9d8ea;border-radius:10px;background:#fff;cursor:pointer;font-weight:700;color:#0f2f57;font-size:14px}
.oe-cabin small{font-weight:500;color:#4a5d75}.oe-cabin.on{border-color:#1d5ea8;background:#eef4fb}
.oe-soldout{font-size:14px;font-weight:700;color:#8a1c1c}
.oe-loading{display:flex;align-items:center;gap:12px;padding:28px;background:#fff;border:1px solid #e0e7f0;border-radius:16px;color:#4a5d75;font-size:16px}
.oe-loading span{width:22px;height:22px;border:3px solid #c9d8ea;border-top-color:#1d5ea8;border-radius:50%;animation:oe-spin 1s linear infinite}
@keyframes oe-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.oe-loading span{animation:none}}
.oe-alert{background:#fff;border:1px solid #e0e7f0;border-radius:14px;padding:18px;font-size:16px;color:#33465f}
.oe-err{background:#fdecec;border-color:#f3b7b7;color:#8a1c1c;margin-top:12px}
.oe-toast{background:#e3f4ea;color:#146c3a;border-radius:12px;padding:12px 16px;font-weight:700;margin-bottom:14px}
.oe-suggest{background:#0f2f57;color:#fff;border-radius:20px;padding:22px;margin-bottom:18px}
.oe-suggest-head{display:flex;flex-wrap:wrap;gap:12px 20px;justify-content:space-between;align-items:center;margin-bottom:16px}
.oe-suggest-head b{font-family:'Bricolage Grotesque','Segoe UI',sans-serif;font-size:24px;display:block}
.oe-eyebrow{font-size:13px;font-weight:700;color:#9fc6ee}
.oe-suggest-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.oe-suggest .oe-link{color:#fff}
.oe-suggest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.oe-sg{background:#fff;color:#10233f;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px}
.oe-sg.hot{box-shadow:inset 0 0 0 2px #f2a33a}
.oe-sg>div{display:flex;flex-direction:column;gap:4px}.oe-sg b{font-size:16px;color:#0f2f57}.oe-sg span{font-size:14px;line-height:1.5;color:#4a5d75}
.oe-sg-ic{width:40px;height:40px;border-radius:10px;background:#eef4fb;display:flex;align-items:center;justify-content:center}
.oe-sg .oe-btn{align-self:flex-start}
.oe-cart{background:#fff;border:1px solid #e0e7f0;border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:12px}
.oe-cart-title{font-size:18px;color:#0f2f57;display:flex;gap:8px;align-items:center}
.oe-cart-title span{background:#1d5ea8;color:#fff;font-size:13px;border-radius:999px;padding:2px 9px}
.oe-ci{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #eef2f7}
.oe-ci>div{display:flex;flex-direction:column;gap:2px;min-width:0}.oe-ci small{font-size:12px;color:#4a5d75}.oe-ci b{font-size:15px;color:#0f2f57}
.oe-ci-r{align-items:flex-end;text-align:right;flex:none}
.oe-total{display:flex;justify-content:space-between;align-items:baseline;border-top:2px solid #0f2f57;padding-top:12px;font-weight:700;color:#0f2f57}
.oe-total b{font-family:'Bricolage Grotesque','Segoe UI',sans-serif;font-size:26px}
.oe-steps{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.oe-steps span{font-size:14px;font-weight:700;padding:8px 14px;border-radius:999px;background:#f2f5f9;color:#4a5d75}
.oe-steps .on{background:#0f2f57;color:#fff}.oe-steps .done{background:#e3f4ea;color:#146c3a}
.oe-box{background:#fff;border:1px solid #e0e7f0;border-radius:18px;padding:22px;margin-bottom:16px}
.oe-box h3{display:flex;gap:10px;align-items:center;margin:0 0 14px;font-size:19px;color:#0f2f57}
.oe-sub{font-size:14px;font-weight:800;color:#1d5ea8;margin:16px 0 10px;letter-spacing:.04em}
.oe-pay{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:12px}
.oe-payopt{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1.5px solid #c9d8ea;border-radius:12px;cursor:pointer}
.oe-payopt.on{border-color:#1d5ea8;background:#eef4fb}
.oe-payopt span{display:flex;flex-direction:column;gap:4px}.oe-payopt small{font-size:14px;color:#4a5d75;line-height:1.45}
.oe-payopt input{width:20px;height:20px;margin-top:2px}
.oe-gateway{border:2px dashed #c9d8ea;border-radius:12px;padding:18px;font-size:14px;line-height:1.5;color:#4a5d75;margin-bottom:12px;background:#fbfcfe}
.oe-check{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.5;color:#22374f;margin-top:6px}
.oe-check input{width:20px;height:20px;margin-top:2px;flex:none}
.oe-confirm{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 22px}
.oe-confirm h2{font-family:'Bricolage Grotesque','Segoe UI',sans-serif;font-size:32px;color:#0f2f57;margin:0}
.oe-confirm p{margin:0;font-size:16px;color:#33465f}
.oe-cartlist{width:100%;max-width:620px;text-align:left;margin-top:8px}
@media (max-width:960px){.oe-wrap{grid-template-columns:minmax(0,1fr)}.oe-side{position:static}.oe-card-side{border-left:0;border-top:1px solid #eef2f7}}
@media (max-width:560px){.oe-leg{grid-template-columns:auto 1fr auto}.oe-date{grid-column:1/-1}.oe-car img{width:100%}}
@media print{header,footer,.oe-side,.oe-actions,.wa-float,.oe-suggest{display:none !important}}
.oe-steps a{font-size:14px;font-weight:700;padding:8px 14px;border-radius:999px;background:#f2f5f9;color:#4a5d75}
.oe-steps a.on{background:#0f2f57;color:#fff}
.oe-login{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
