* {margin:0;padding:0;box-sizing:border-box;font-family:Arial,sans-serif;}
:root {--azul:#165DFF; --dorado:#FF9500; --gris:#f5f7fa; --oscuro:#1e293b;}
.contenedor {max-width:1200px;margin:0 auto;padding:0 20px;}

/* HEADER */
header {background:var(--azul);color:white;padding:15px 0;position:sticky;top:0;z-index:99;}
header .contenedor {display:flex;justify-content:space-between;align-items:center;}
nav a {color:white;text-decoration:none;margin:0 12px;font-size:14px;}
.btn-comprar {background:var(--dorado);padding:8px 18px;border-radius:20px;color:white;text-decoration:none;font-weight:bold;}

/* HERO */
.hero {position:relative;padding:80px 20px;text-align:center;color:white;}
.hero-fondo {position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1477959858617-67f85cf4f1df?w=1200&h=600&fit=crop') center/cover;z-index:-2;}
.hero-fondo::after {content:'';inset:0;position:absolute;background:rgba(22,93,255,0.8);z-index:-1;}
.hero h1 {font-size:38px;margin-bottom:12px;}
.buscador {background:white;color:#333;padding:30px;border-radius:16px;max-width:850px;margin:30px auto;box-shadow:0 8px 30px rgba(0,0,0,0.15);}
.buscador h3 {color:var(--azul);margin-bottom:20px;}
.fila {display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px;}
.campo {text-align:left;}
.campo label {display:block;margin-bottom:5px;font-size:14px;color:#555;}
.campo input {width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;}
.btn-buscar {background:var(--dorado);color:white;border:none;padding:13px 30px;border-radius:8px;font-weight:bold;width:100%;cursor:pointer;}

/* SERVICIOS */
.servicios {padding:60px 20px;background:var(--gris);}
.servicios h2 {text-align:center;color:var(--azul);margin-bottom:40px;}
.grid-servicios {display:grid;grid-template-columns:repeat(3,1fr);gap:25px;}
.servicio {background:white;border-radius:12px;overflow:hidden;text-align:center;box-shadow:0 5px 15px rgba(0,0,0,0.05);}
.servicio img {width:100%;height:160px;object-fit:cover;}
.servicio h3 {margin:15px 0 8px;color:var(--oscuro);}

/* PAGO */
.fondo-pago {background:linear-gradient(135deg,#0f172a,#1e293b);min-height:100vh;}
.header-pago {background:transparent;position:static;}
.volver {color:white;text-decoration:none;}
.seccion-pago {padding:40px 20px;}
.contenedor-pago {max-width:1000px;margin:0 auto;display:grid;grid-template-columns:400px 1fr;gap:30px;}
.columna-imagen img {width:100%;height:100%;object-fit:cover;border-radius:16px;}
.resumen-viaje {background:white;padding:20px;border-radius:12px;margin-top:-60px;position:relative;box-shadow:0 8px 20px rgba(0,0,0,0.1);}
.resumen-viaje h3 {color:var(--azul);margin-bottom:15px;}
.resumen-viaje p {padding:5px 0;font-size:14px;}
.resumen-viaje .total {color:var(--dorado);font-size:18px;margin-top:10px;}
.columna-form {background:white;padding:30px;border-radius:16px;}
.columna-form h2 {color:var(--azul);margin-bottom:20px;}
.tipos-pago {display:flex;gap:15px;margin-bottom:20px;}
.tipos-pago label {flex:1;padding:10px;border:1px solid #ddd;border-radius:8px;text-align:center;cursor:pointer;}
.tipos-pago .tipo-activo, .tipos-pago input:checked+label {border-color:var(--azul);background:#e8f0ff;color:var(--azul);font-weight:bold;}
.tipos-pago input {display:none;}
.grupo {margin-bottom:15px;}
.grupo label {display:block;margin-bottom:5px;font-size:14px;color:#444;}
.grupo input, .grupo select {width:100%;padding:11px;border:1px solid #ddd;border-radius:8px;}
.fila-doble {display:grid;grid-template-columns:1fr 1fr;gap:15px;}
.btn-pagar {width:100%;background:var(--azul);color:white;border:none;padding:14px;border-radius:8px;font-weight:bold;font-size:16px;margin-top:10px;cursor:pointer;}

/* EXITO */
.fondo-exito {background:linear-gradient(135deg,#065f46,#10b981);min-height:100vh;display:flex;align-items:center;justify-content:center;color:white;text-align:center;}
.caja-exito {background:white;color:#333;padding:40px 30px;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,0.2);}
.icono {font-size:60px;color:#10b981;margin-bottom:15px;}
.btn-exito {display:inline-block;margin-top:20px;background:var(--azul);color:white;padding:10px 25px;border-radius:8px;text-decoration:none;}

footer {background:var(--oscuro);color:white;text-align:center;padding:25px;font-size:14px;}
@media(max-width:850px){.contenedor-pago,.fila,.grid-servicios,.fila-doble{grid-template-columns:1fr;}}
