
:root{--brand:#14b8b6;--brand-dark:#0b3d91}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#f7fbff;color:#0f172a}
.header{position:relative}
.hero{width:100%;height:280px;background:#cfe9ff url('./plane-hero.jpg') center/cover no-repeat;display:flex;align-items:center;justify-content:center;position:relative}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(255,255,255,.75), rgba(255,255,255,.85))}
.brand{position:absolute; z-index:2; text-align:center;}
.brand h1{margin:0;font-weight:800;font-size:44px;letter-spacing:.3px}
.brand .goeco{color:var(--brand)}
.brand .tickets{color:var(--brand-dark)}
.brand p{margin:6px 0 0;color:#334155;font-weight:500}
.container{max-width:900px;margin:-24px auto 40px;padding:0 16px}
.card{background:#fff;border-radius:16px;box-shadow:0 10px 30px rgba(2,6,23,.08);padding:16px}
.tabs{display:flex;gap:12px;margin:4px 0 14px}
.tab{padding:8px 14px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;color:#0f172a;cursor:pointer}
.tab.active{background:#0ea5e9;color:#fff;border-color:#0ea5e9}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row.single{grid-template-columns:1fr}
.input{width:100%;padding:14px;border:1px solid #cbd5e1;border-radius:12px;font-size:16px;outline:none}
.input:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px rgba(14,165,233,.2)}
.btn{padding:14px 16px;border:none;border-radius:12px;background:#14b8b6;color:#fff;font-weight:700;cursor:pointer}
.helper{font-size:12px;color:#64748b;margin-top:8px}
.autocomplete{position:relative}
.list{position:absolute; z-index:30; top:52px; left:0; right:0; background:#fff; border:1px solid #e2e8f0; border-radius:12px; box-shadow:0 12px 24px rgba(2,6,23,.08); max-height:260px; overflow:auto}
.item{padding:10px 12px;cursor:pointer}
.item:hover{background:#f1f5f9}
.paybar{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.paybtn{padding:10px 14px;border-radius:10px;border:none;color:#fff;font-weight:700}
.pay-google{background:#1f2937}
.pay-amex{background:#016fd0}
.pay-maestro{background:#101828}
.pay-ideal{background:#00a1e1}
.footer{font-size:13px;color:#64748b;text-align:center;margin:30px 0}
.small{font-size:12px}
.logo-strip{margin-top:10px;width:100%;max-width:440px}
@media (max-width:640px){.brand h1{font-size:36px}.hero{height:230px}.row{grid-template-columns:1fr}}
