/* Ticket Market SL — hoja de estilos del sitio público (ticketmarkets.info) */
:root{
  --navy:#0b1730;--navy-2:#13234a;--ink:#101828;--texto:#3b4559;--suave:#667085;
  --papel:#f5f7fb;--blanco:#fff;--linea:#e4e7ee;
  --azul:#2f6bff;--azul-osc:#1d4fd8;--ambar:#f6b21b;--ambar-osc:#dd9c0c;
  --radio:16px;--sombra:0 12px 32px rgba(16,24,40,.08);
  --fuente-titulo:"Sora",system-ui,sans-serif;--fuente:"Inter",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font-family:var(--fuente);color:var(--texto);background:var(--blanco);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--azul-osc)}
h1,h2,h3{font-family:var(--fuente-titulo);color:var(--ink);line-height:1.15;margin:0 0 .5em;letter-spacing:-.015em}
h1{font-size:clamp(2.2rem,5vw,3.9rem);font-weight:700}
h2{font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:600}
h3{font-size:1.2rem;font-weight:600}
p{margin:0 0 1em}
ul{margin:0 0 1em;padding-left:1.2em}
.contenedor{width:min(1160px,calc(100% - 2rem));margin-inline:auto}
.etiqueta{display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--azul-osc);margin-bottom:.7rem}
.bloque{padding:clamp(3.5rem,8vw,6.5rem) 0}
.bloque__cabecera{max-width:700px;margin-bottom:2.6rem}
.bloque__cabecera p:last-child{font-size:1.08rem}
.bloque--oscuro{background:var(--navy);color:#c3cce0}
.bloque--oscuro h2,.bloque--oscuro h3{color:#fff}
.bloque--oscuro .etiqueta{color:var(--ambar)}
.bloque--papel{background:var(--papel)}

/* Botones */
.boton{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.45rem;border-radius:999px;background:var(--ambar);color:var(--ink);font:inherit;font-weight:600;text-decoration:none;border:0;cursor:pointer;transition:transform .15s,background .15s,border-color .15s}
.boton:hover{background:var(--ambar-osc);transform:translateY(-1px)}
.boton:disabled{opacity:.6;cursor:wait;transform:none}
.boton--azul{background:var(--azul);color:#fff}.boton--azul:hover{background:var(--azul-osc)}
.boton--fantasma{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55)}.boton--fantasma:hover{background:rgba(255,255,255,.12);border-color:#fff}
.boton--borde{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}.boton--borde:hover{background:var(--ink);color:#fff}

/* Cabecera */
.cabecera{position:fixed;inset:0 0 auto;z-index:50;padding:.7rem 0;transition:background .25s,box-shadow .25s}
.cabecera__fila{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.cabecera--solida,.cabecera--menu{background:rgba(11,23,48,.94);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.marca{display:inline-flex;align-items:center;gap:.55rem;color:#fff;text-decoration:none;font-family:var(--fuente-titulo);font-weight:600;font-size:1.15rem;letter-spacing:-.01em}
.marca svg{color:var(--ambar);flex:none}
.marca b{color:var(--ambar);font-weight:600}
.nav{display:flex;align-items:center;gap:1.6rem}
.nav a{color:rgba(255,255,255,.85);text-decoration:none;font-weight:500;font-size:.95rem;transition:color .15s}
.nav a:hover{color:#fff}
.nav__cta{padding:.5rem 1.05rem;border-radius:999px;background:var(--ambar);color:var(--ink)!important}
.nav__cta:hover{background:var(--ambar-osc)}
.nav__idioma{border:1px solid rgba(255,255,255,.35);border-radius:8px;padding:.3rem .6rem;font-size:.78rem!important;letter-spacing:.1em}
.burger{display:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer;position:relative}
.burger span,.burger span::before,.burger span::after{content:"";position:absolute;left:10px;width:24px;height:2px;background:#fff;border-radius:2px;transition:transform .2s,opacity .2s}
.burger span{top:21px}.burger span::before{left:0;top:-7px}.burger span::after{left:0;top:7px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span::after{transform:translateY(-7px) rotate(-45deg)}

/* Portada: cabecera con vídeo */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;color:#fff;overflow:hidden;background:var(--navy)}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__velo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,23,48,.9) 0%,rgba(11,23,48,.6) 50%,rgba(11,23,48,.25) 100%),linear-gradient(0deg,rgba(11,23,48,.95) 0%,rgba(11,23,48,0) 45%)}
.hero__contenido{position:relative;padding:8rem 0 5rem;max-width:780px}
.hero__antetitulo{color:var(--ambar);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;margin-bottom:1rem}
.hero h1{color:#fff;margin-bottom:.6em}
.rotador{color:var(--ambar);display:inline-block;transition:opacity .3s,transform .3s}
.rotador--fuera{opacity:0;transform:translateY(.35em)}
.hero__texto{font-size:1.15rem;max-width:560px;color:rgba(255,255,255,.85)}
.hero__acciones{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.8rem 0 2.2rem}
.hero__claves{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.6rem 1.8rem;color:rgba(255,255,255,.8);font-size:.92rem}
.hero__claves li::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ambar);margin-right:.55rem;vertical-align:middle}
.hero__flecha{position:absolute;left:50%;bottom:1.5rem;transform:translateX(-50%);color:rgba(255,255,255,.7);text-decoration:none;font-size:1.4rem;animation:flota 2.2s ease-in-out infinite}
@keyframes flota{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}

/* Tarjetas de categorías */
.tarjetas{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.6rem}
.tarjeta{background:#fff;border-radius:var(--radio);overflow:hidden;box-shadow:var(--sombra);border:1px solid var(--linea);display:flex;flex-direction:column;transition:transform .2s}
.tarjeta:hover{transform:translateY(-4px)}
.tarjeta img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto}
.tarjeta__cuerpo{padding:1.4rem 1.5rem 1.7rem}
.tarjeta__cuerpo p:last-child{margin:0}

/* Pasos */
.pasos{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.4rem}
.pasos li{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radio);padding:1.7rem 1.6rem}
.pasos li p:last-child{margin:0}
.pasos__num{font-family:var(--fuente-titulo);font-size:2rem;color:var(--ambar);font-weight:700;display:block;line-height:1;margin-bottom:.8rem}

/* Bloque de viajes con mosaico */
.viaja{display:grid;grid-template-columns:1fr 1.15fr;gap:3.5rem;align-items:center}
.mosaico{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.mosaico img{border-radius:12px;aspect-ratio:4/3;object-fit:cover;width:100%}
.mosaico img:first-child{grid-column:1/-1;aspect-ratio:16/9}

/* Contacto */
.contacto{display:grid;grid-template-columns:1fr 1.2fr;gap:3.5rem;align-items:start}
.formulario{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:1.9rem;box-shadow:var(--sombra)}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.formulario label{display:block;font-weight:500;font-size:.9rem;color:var(--ink);margin-bottom:1rem}
.formulario input,.formulario textarea{width:100%;margin-top:.35rem;padding:.78rem .95rem;border:1px solid var(--linea);border-radius:10px;font:inherit;background:var(--papel);color:var(--ink);resize:vertical}
.formulario input:focus,.formulario textarea:focus{outline:2px solid var(--azul);border-color:transparent;background:#fff}
.oculto{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.formulario__pie{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.formulario__aviso{margin:0;font-size:.92rem;font-weight:500}
.formulario__aviso--ok{color:var(--azul-osc)}
.formulario__aviso--error{color:#b42318}

/* Páginas interiores */
.banda{position:relative;min-height:56vh;display:flex;align-items:flex-end;color:#fff;background:var(--navy);overflow:hidden}
.banda img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banda::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,23,48,.96) 0%,rgba(11,23,48,.35) 55%,rgba(11,23,48,.55) 100%)}
.banda .contenedor{position:relative;z-index:1;padding:9rem 0 3.5rem}
.banda .etiqueta{color:var(--ambar)}
.banda h1{color:#fff;font-size:clamp(2rem,4.5vw,3.4rem);max-width:760px}
.banda p{max-width:620px;font-size:1.12rem;color:rgba(255,255,255,.85)}
.dos{display:grid;grid-template-columns:1.1fr .9fr;gap:3.5rem;align-items:center}
.dos img{border-radius:var(--radio);box-shadow:var(--sombra);width:100%;height:auto}
.dos--invertido>*:first-child{order:2}
.valores{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}
.valor{padding:1.7rem;border-radius:var(--radio);background:#fff;border:1px solid var(--linea)}
.valor p:last-child{margin:0}
.valor__icono{width:46px;height:46px;border-radius:12px;background:rgba(47,107,255,.1);color:var(--azul-osc);display:grid;place-items:center;margin-bottom:1rem}
.oferta{border:1px solid var(--linea);border-radius:var(--radio);padding:2rem;background:#fff;box-shadow:var(--sombra);max-width:760px}
.oferta__meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.1rem}
.chip{padding:.3rem .75rem;border-radius:999px;background:var(--papel);font-size:.8rem;font-weight:500;color:var(--ink);border:1px solid var(--linea)}
.chip--ambar{background:#fff6dc;border-color:#f3dd9b}
.lista-marcada{list-style:none;padding:0;margin:0 0 1.2em}
.lista-marcada li{padding-left:1.7rem;position:relative;margin-bottom:.5rem}
.lista-marcada li::before{content:"";position:absolute;left:0;top:.55em;width:.9rem;height:.9rem;border-radius:50%;background:var(--ambar)}

/* Pie */
.pie{background:var(--navy);color:#9aa7c2;padding:3.2rem 0 1.6rem}
.pie__fila{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.08)}
.pie__fila p{max-width:380px;margin-top:.8rem}
.pie nav{display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center}
.pie nav a{color:#c9d2e6;text-decoration:none}.pie nav a:hover{color:#fff}
.pie__legal{padding-top:1.2rem;font-size:.85rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}

/* Animación de aparición */
.aparece{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.aparece--visto{opacity:1;transform:none}

@media (max-width:900px){
  .viaja,.contacto,.dos{grid-template-columns:1fr;gap:2.2rem}
  .dos--invertido>*:first-child{order:0}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:rgba(11,23,48,.98);padding:.6rem 1rem 1.2rem}
  .nav--abierto{display:flex}
  .nav a{padding:.85rem .5rem;border-bottom:1px solid rgba(255,255,255,.06)}
  .nav__cta{margin-top:.6rem;text-align:center}
  .nav__idioma{align-self:flex-start;margin-top:.8rem;border-bottom:1px solid rgba(255,255,255,.35)!important}
  .burger{display:block}
  .campos{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .aparece{opacity:1;transform:none;transition:none}
  .hero__video{display:none}
  .hero__flecha{animation:none}
}
