/* coliseoromano.eu — v1.0 — Crimson Pro + Raleway, rojo imperial / marfil */
@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Raleway:wght@300;400;500;600;700&display=swap');

:root {
  --rojo:     #8c1c0e;
  --rojo-dk:  #5e1008;
  --rojo-lt:  #fdf2f0;
  --marfil:   #faf7f3;
  --arena:    #f0ebe2;
  --arena-dk: #e3dcd2;
  --oro:      #c8972a;
  --oro-lt:   #fdf6e8;
  --blanco:   #ffffff;
  --tinta:    #1d1a16;
  --gris:     #5c534a;
  --borde:    #d8d0c5;
  --r:        6px;
  --r-lg:     14px;
  --sombra:   0 2px 16px rgba(140,28,14,.08);
  --sombra-g: 0 6px 28px rgba(140,28,14,.16);
  --ancho:    1100px;
  --fh:       'Crimson Pro', Georgia, serif;
  --ft:       'Raleway', Arial, sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:17px;scroll-behavior:smooth}
body{font-family:var(--ft);font-size:1.0625rem;color:var(--tinta);background:var(--marfil);line-height:1.82}
img{max-width:100%;height:auto;display:block}
a{color:var(--rojo);text-decoration:none}
a:hover{color:var(--rojo-dk);text-decoration:underline}
ul,ol{padding-left:1.4rem}
li{margin-bottom:.38rem}

/* CABECERA */
.franja{background:var(--rojo-dk);position:sticky;top:0;z-index:100;box-shadow:0 2px 12px rgba(0,0,0,.32)}
.franja-in{max-width:var(--ancho);margin:0 auto;padding:.72rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.marca{font-family:var(--fh);font-size:1.1rem;font-weight:700;font-style:italic;color:var(--oro);letter-spacing:.03em;white-space:nowrap}
.marca:hover{color:var(--blanco);text-decoration:none}
.nav-sitio{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.nav-sitio a{font-family:var(--ft);font-size:.82rem;font-weight:600;color:rgba(255,255,255,.75);letter-spacing:.06em;text-transform:uppercase;transition:color .2s}
.nav-sitio a:hover{color:var(--oro);text-decoration:none}
.enlace-cta{background:var(--oro);color:var(--rojo-dk)!important;padding:.5rem 1.1rem;border-radius:var(--r);font-weight:700!important;white-space:nowrap;transition:background .2s}
.enlace-cta:hover{background:#a87a22!important;color:var(--blanco)!important}
.btn-menu{display:none;background:none;border:none;cursor:pointer;padding:.3rem;flex-direction:column;gap:5px}
.btn-menu span{display:block;width:24px;height:2px;background:var(--oro);border-radius:2px}

/* PORTADA HERO */
.portada{position:relative;min-height:540px;display:flex;align-items:flex-end;overflow:hidden}
.portada img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:0}
.portada-velo{position:absolute;inset:0;background:linear-gradient(to top,rgba(94,16,8,.9) 0%,rgba(94,16,8,.28) 55%,transparent 100%);z-index:1}
.portada-copy{position:relative;z-index:2;max-width:var(--ancho);margin:0 auto;padding:3rem 1.4rem 4rem;width:100%}
.portada-copy h1{font-family:var(--fh);font-size:clamp(2rem,5vw,3.4rem);font-weight:700;font-style:italic;color:var(--blanco);line-height:1.12;margin-bottom:1rem;text-shadow:0 2px 20px rgba(0,0,0,.55);letter-spacing:.02em}
.portada-copy p{color:rgba(255,255,255,.88);font-size:1.1rem;max-width:660px;margin-bottom:1.5rem;line-height:1.76}
.btn-oro{display:inline-block;background:var(--oro);color:var(--rojo-dk);font-family:var(--ft);font-size:.86rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.9rem 2.2rem;border-radius:var(--r);transition:background .2s,transform .15s}
.btn-oro:hover{background:#a87a22;color:var(--blanco);text-decoration:none;transform:translateY(-1px)}

/* BLOQUES */
.bloque{padding:3.5rem 1.4rem}
.bloque-marfil{background:var(--marfil)}
.bloque-arena{background:var(--arena)}
.bloque-in{max-width:var(--ancho);margin:0 auto}
.bloque h2{font-family:var(--fh);font-size:clamp(1.35rem,2.8vw,2rem);font-weight:700;font-style:italic;color:var(--tinta);margin-bottom:1.2rem}
.bloque p{font-size:1.0625rem;line-height:1.82;margin-bottom:1rem}
.bloque ul,.bloque ol{margin:.8rem 0 1rem}
.bloque strong{font-weight:600}
.img-bloque{width:100%;height:280px;object-fit:cover;border-radius:var(--r-lg);margin:1.4rem 0;box-shadow:var(--sombra)}

/* MIGAS */
.ruta{background:var(--rojo-lt);padding:.6rem 1.4rem;font-size:.85rem;color:var(--gris);border-bottom:1px solid var(--borde)}
.ruta-in{max-width:var(--ancho);margin:0 auto}
.ruta a{color:var(--gris)}
.ruta a:hover{color:var(--rojo)}
.ruta span{margin:0 .4rem}

/* TABLAS */
.tabla-wrap{overflow-x:auto;margin:1rem 0 1.2rem;-webkit-overflow-scrolling:touch}
.tabla{width:100%;border-collapse:collapse;font-size:1rem}
.tabla thead th{background:var(--rojo);color:var(--blanco);font-family:var(--ft);font-size:.82rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;padding:.72rem 1rem;text-align:left}
.tabla tbody tr:nth-child(even){background:var(--rojo-lt)}
.tabla tbody tr:hover{background:var(--arena)}
.tabla td{padding:.65rem 1rem;border-bottom:1px solid var(--borde);font-size:1rem}

/* PARTNER */
.caja-partner{background:var(--blanco);border:2px solid var(--rojo);border-radius:var(--r-lg);padding:1.8rem;margin:1.5rem 0;box-shadow:var(--sombra)}
.caja-partner h3{font-family:var(--fh);font-size:1.2rem;font-style:italic;color:var(--rojo);margin-bottom:1rem}
.lista-si{list-style:none;padding:0;margin:.8rem 0}
.lista-si li{padding:.35rem 0 .35rem 1.6rem;position:relative;border-bottom:1px solid var(--rojo-lt);font-size:1rem}
.lista-si li::before{content:'✓';color:var(--rojo);font-weight:700;position:absolute;left:0}
.lista-si li:last-child{border-bottom:none}
.btn-tiqets{display:inline-block;background:var(--tinta);color:var(--blanco);font-family:var(--ft);font-size:.86rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:.8rem 1.8rem;border-radius:var(--r);transition:.2s;margin-top:.5rem;margin-left:.6rem}
.btn-tiqets:hover{background:#333;color:var(--blanco);text-decoration:none}

/* WIDGET */
.zona-widget{background:var(--rojo-lt);border:1px solid var(--borde);border-radius:var(--r-lg);padding:1.5rem;margin:1.5rem 0;overflow:hidden}

/* REJILLA */
.rejilla-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1rem 0}
.tarjeta{background:var(--blanco);border:1px solid var(--borde);border-radius:var(--r);padding:1.2rem}
.tarjeta h3{font-family:var(--ft);font-size:.88rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--rojo);margin-bottom:.6rem}
.tarjeta p,.tarjeta li{font-size:.97rem}

/* FAQ */
.faq-grupo{margin-bottom:1.5rem}
.faq-grupo>h2{font-size:1.2rem;font-style:italic;padding-bottom:.5rem;border-bottom:2px solid var(--rojo-lt);margin-bottom:.9rem}
.faq-entrada{background:var(--blanco);border:1px solid var(--borde);border-radius:var(--r);margin-bottom:.6rem;overflow:hidden;transition:box-shadow .2s}
.faq-entrada.desplegado{box-shadow:0 3px 14px rgba(140,28,14,.1);border-color:var(--rojo)}
.faq-titulo{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;cursor:pointer;gap:1rem}
.faq-titulo h3{font-family:var(--ft);font-size:.97rem;font-weight:600;color:var(--tinta);margin:0;line-height:1.4}
.faq-signo{width:28px;height:28px;border-radius:50%;background:var(--rojo-lt);border:1px solid var(--borde);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--rojo);flex-shrink:0;transition:transform .25s,background .2s}
.faq-entrada.desplegado .faq-signo{transform:rotate(45deg);background:var(--rojo);color:var(--blanco);border-color:var(--rojo)}
.faq-contenido{display:none;padding:0 1.2rem 1.2rem;border-top:1px solid var(--borde)}
.faq-entrada.desplegado .faq-contenido{display:block}
.faq-contenido p{margin-top:.9rem;font-size:1rem}

/* PÁGINAS INTERNAS */
.cabecera-int{background:var(--arena);padding:2.5rem 1.4rem 2rem;border-bottom:1px solid var(--borde)}
.cabecera-int h1{font-family:var(--fh);font-size:clamp(1.5rem,4vw,2.3rem);font-style:italic;color:var(--rojo)}
.cabecera-int p{color:var(--gris);margin-top:.5rem}
.cuerpo-int{max-width:820px;margin:0 auto;padding:2.5rem 1.4rem}
.cuerpo-int h2{font-family:var(--fh);font-size:1.3rem;font-style:italic;margin:2rem 0 .7rem;color:var(--tinta)}
.cuerpo-int p,.cuerpo-int li{font-size:1rem;line-height:1.8}
.cuerpo-int ul{margin:.5rem 0 1rem}

/* ERROR */
.error-pag{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.4rem}
.error-num{font-family:var(--fh);font-size:clamp(5rem,15vw,9rem);font-weight:700;font-style:italic;color:var(--rojo-lt);line-height:1;margin-bottom:.5rem}
.error-pag h1{font-family:var(--fh);font-size:1.6rem;font-style:italic;color:var(--rojo);margin-bottom:.8rem}
.error-pag p{color:var(--gris);margin-bottom:1.8rem;max-width:480px}
.btn-err-a{display:inline-block;background:var(--rojo);color:var(--blanco);font-family:var(--ft);font-size:.86rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:.85rem 2rem;border-radius:var(--r);margin:.4rem}
.btn-err-b{display:inline-block;border:2px solid var(--rojo);color:var(--rojo);font-family:var(--ft);font-size:.86rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:.8rem 2rem;border-radius:var(--r);margin:.4rem}
.btn-err-a:hover,.btn-err-b:hover{opacity:.85;text-decoration:none}

/* PIE */
.pie{background:var(--rojo-dk);color:rgba(255,255,255,.65);padding:3rem 1.4rem 1.5rem}
.pie-rejilla{max-width:var(--ancho);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;margin-bottom:2rem}
.pie h4{font-family:var(--fh);color:var(--oro);font-style:italic;font-size:1rem;margin-bottom:.8rem}
.pie p{font-size:.9rem;line-height:1.6;margin-bottom:.5rem}
.pie a{color:rgba(255,255,255,.5);font-size:.9rem}
.pie a:hover{color:var(--oro);text-decoration:none}
.pie-nav{list-style:none;padding:0}
.pie-nav li{margin-bottom:.4rem}
.pie-fondo{max-width:var(--ancho);margin:0 auto;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;align-items:center;font-size:.82rem;color:rgba(255,255,255,.3)}

@media(max-width:768px){
  .nav-sitio{display:none;flex-direction:column;align-items:flex-start;position:absolute;top:100%;left:0;right:0;background:var(--rojo-dk);border-top:1px solid rgba(255,255,255,.1);padding:1rem 1.4rem;box-shadow:var(--sombra-g);gap:.8rem}
  .nav-sitio.visible{display:flex}
  .btn-menu{display:flex}
  .pie-rejilla{grid-template-columns:1fr;gap:1.5rem}
  .rejilla-2{grid-template-columns:1fr}
  .portada{min-height:400px}
  .portada-copy h1{font-size:1.8rem}
  .tabla thead{display:none}
  .tabla tr{display:block;border:1px solid var(--borde);border-radius:var(--r);margin-bottom:.8rem;background:var(--blanco)}
  .tabla td{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;border-bottom:1px solid var(--rojo-lt);font-size:.95rem}
  .tabla td::before{content:attr(data-label);font-weight:700;font-size:.82rem;color:var(--gris);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;margin-right:.8rem}
  .tabla td:last-child{border-bottom:none}
  .btn-tiqets{margin-left:0;margin-top:.6rem}
}
@media(max-width:480px){
  .bloque{padding:2.5rem 1rem}
  .portada-copy{padding:2rem 1rem 2.5rem}
}
