/*==================================================================
  FERIA DE CAZORLA · Frontend
  Variables de color/fuente inyectadas por el plugin en :root:
  --feria-primario --feria-secundario --feria-acento --feria-pasado
  --feria-fuente-titulos --feria-fuente-texto
==================================================================*/

/*---------- ENTRADILLA DE PÁGINA ------------*/
body .feria-intro { max-width:800px; margin:6px auto 0; padding:0 20px; text-align:center; font-family:var(--feria-fuente-titulos); font-size:23px; line-height:1.55; color:#4a3f45; }
body .feria-intro::before { content:""; display:block; width:56px; height:3px; margin:0 auto 20px; background:var(--feria-acento); border-radius:2px; }
body .feria-intro::after { content:""; display:block; width:9px; height:9px; margin:22px auto 0; background:var(--feria-secundario); opacity:.45; transform:rotate(45deg); }
body .feria-intro strong { color:var(--feria-secundario); font-weight:700; }
body .feria-intro__sub { display:block; margin:16px auto 0; max-width:640px; font-family:var(--feria-fuente-texto); font-size:16px; line-height:1.6; font-weight:400; color:#6b6169; }
/*-- variante con panel crema --*/
body .feria-intro--panel { background:#fbf6ec; border-radius:14px; padding:30px 34px 26px; box-shadow:0 1px 0 rgba(0,0,0,.04); }

/*---------- AGENDA (cabecera + calendario) ------------*/
body .feria-agenda { margin:30px 0 46px; border:1px solid #ece4e8; border-radius:16px; overflow:hidden; background:#fff; }
body .feria-agenda__cabecera { display:flex; gap:24px; align-items:center; padding:22px 24px; background:#fbf6ec; }
body .feria-agenda__foto { flex:0 0 40%; margin:0; }
body .feria-agenda__foto img { width:100%; border-radius:12px; display:block; }
body .feria-agenda__titulo { font-family:var(--feria-fuente-titulos); font-size:26px; line-height:1.2; color:var(--feria-secundario); margin:0 0 8px; }
body .feria-agenda__intro { margin:0 0 12px; font-size:16px; line-height:1.55; color:#5a5058; }
body .feria-agenda__mapa { display:inline-flex; align-items:center; gap:7px; padding:7px 16px; border:2px solid var(--feria-secundario); border-radius:30px; font-size:14px; font-weight:600; color:var(--feria-secundario); text-decoration:none; }
body .feria-agenda__mapa:hover { background:var(--feria-secundario); color:#fff; }
body .feria-agenda__pin { font-size:11px; }
body .feria-agenda__lista { list-style:none; margin:0; padding:8px 10px; }
body .feria-agenda__item { display:flex; align-items:center; gap:16px; padding:11px 16px; margin:0; border-radius:9px; }
body .feria-agenda__item::before { display:none; }
body .feria-agenda__item:nth-child(odd) { background:#faf7f8; }
body .feria-agenda__fecha { flex:0 0 172px; font-weight:700; color:var(--feria-primario); font-size:15px; text-transform:capitalize; white-space:nowrap; }
body .feria-agenda__detalle { flex:1 1 auto; font-size:16px; color:#3a3138; }
body .feria-agenda__ronda { flex:0 0 auto; margin-left:auto; font-size:13px; font-weight:600; color:#fff; background:var(--feria-secundario); padding:3px 11px; border-radius:20px; white-space:nowrap; }
body .feria-agenda.evento-pasado .feria-agenda__titulo,
body .feria-agenda__item.evento-pasado .feria-agenda__detalle { color:var(--feria-pasado); }
body .feria-agenda__item.evento-pasado .feria-agenda__fecha { color:var(--feria-pasado); text-decoration:line-through; }
body .feria-agenda__item.evento-pasado .feria-agenda__ronda { background:var(--feria-pasado); }

/*---------- BUSCADOR DE EVENTOS ------------*/
body .feria-buscador { position:relative; max-width:640px; margin:0 auto 34px; }
body .feria-buscador__titulo { font-family:var(--feria-fuente-titulos); font-size:20px; text-align:center; color:var(--feria-secundario); margin:0 0 12px; }
body .feria-buscador__campo { position:relative; }
body .feria-buscador__input { width:100%; box-sizing:border-box; padding:14px 44px 14px 18px; font-size:17px; font-family:var(--feria-fuente-texto); color:#3a3138; background:#fff; border:2px solid var(--feria-secundario); border-radius:30px; outline:none; }
body .feria-buscador__input::placeholder { color:#9b929a; }
body .feria-buscador__input:focus { box-shadow:0 0 0 3px rgba(0,0,0,.06); }
body .feria-buscador__limpiar { display:none; position:absolute; right:9px; top:50%; transform:translateY(-50%); width:30px !important; height:30px !important; min-width:0 !important; min-height:0 !important; padding:0 !important; margin:0 !important; box-sizing:border-box !important; align-items:center; justify-content:center; line-height:1 !important; font-size:20px !important; color:#fff; background:var(--feria-secundario); border:0 !important; border-radius:50% !important; cursor:pointer; }
body .feria-buscador.tiene-texto .feria-buscador__limpiar { display:flex !important; }
body .feria-buscador__resultados { display:none; list-style:none; margin:8px 0 0; padding:6px; max-height:360px; overflow-y:auto; background:#fff; border:1px solid #e3dcdf; border-radius:14px; box-shadow:0 10px 26px rgba(0,0,0,.12); position:absolute; left:0; right:0; z-index:20; }
body .feria-buscador.is-abierto .feria-buscador__resultados { display:block; }
body .feria-buscador__item { margin:0; padding:0; }
body .feria-buscador__item::before { display:none; }
body .feria-buscador__item a { display:block; padding:10px 12px; border-radius:9px; text-decoration:none; color:#3a3138; }
body .feria-buscador__item a:hover,
body .feria-buscador__item.is-activo a { background:#fbf1e2; }
body .feria-buscador__nombre { display:block; font-family:var(--feria-fuente-titulos); font-size:17px; line-height:1.3; color:var(--feria-primario); }
body .feria-buscador__meta { display:block; font-size:14px; color:#7d747b; margin-top:2px; }
body .feria-buscador__item .feria-tipo { margin-top:6px; }
body .feria-buscador__vacio { padding:14px 12px; text-align:center; color:#7d747b; font-size:15px; }

/*---------- EVENTO DESTACADO (llegada desde el buscador) ------------*/
body .feria-evento--destacado { animation:feria-destello 2.6s ease-out 1; }
@keyframes feria-destello {
	0%   { background:rgba(251,241,226,0); }
	12%  { background:rgba(251,241,226,1); }
	70%  { background:rgba(251,241,226,1); }
	100% { background:rgba(251,241,226,0); }
}

/*---------- COMÚN ------------*/
body .feria-timeline, body .feria-grid { margin:40px 0; }
body .feria-vacio { text-align:center; color:#888; padding:40px 0; }

body .feria-evento { position:relative; }
body .feria-evento a:hover { color:#fff; }
body .feria-evento__desc a:hover { color:var(--feria-secundario); }
body .feria-evento__cuerpo { }
body .feria-evento__cabecera { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:6px; }
body .feria-evento__fecha { color:var(--feria-secundario); font-weight:600; font-size:1.05em; }
body .feria-evento__tipos { display:inline-flex; flex-wrap:wrap; gap:5px; }
body .feria-tipo { display:inline-block; background:var(--feria-secundario); color:#fff; font-size:.68em; font-weight:600; letter-spacing:.04em; text-transform:uppercase; padding:3px 11px; border-radius:11px; line-height:1.5; white-space:nowrap; }
body .feria-tipo--actos { background:#5d6f9e; }
body .feria-tipo--religioso { background:#6b1f2a; }
body .feria-tipo--deportes { background:#2e7d5b; }
body .feria-tipo--teatro-de-la-merced { background:#7a3b8f; }
body .feria-tipo--caseta-municipal { background:#b3541e; }
body .feria-tipo--caseta-joven { background:#c2185b; }
body .feria-tipo--feria-infantil { background:#d9961a; }
body .feria-tipo--mayores { background:#5e7d3e; }
body .feria-tipo--taurino { background:#8a1c1c; }
body .feria-tipo--concierto { background:#3d4f8c; }
body .feria-evento.evento-pasado .feria-tipo { background:var(--feria-pasado); }
body a.feria-tipo { text-decoration:none; transition:filter .15s ease; }
body a.feria-tipo:hover { filter:brightness(1.12); }
body .feria-evento__titulo { font-family:var(--feria-fuente-titulos); font-size:1.7em; margin:6px 0 12px; line-height:1.15em; }
body .feria-evento__imagen { margin:0 0 14px; text-align:center; }
body .feria-evento__imagen img { border-radius:10px; max-width:100%; height:auto; }
body .feria-evento__desc { font-family:var(--feria-fuente-texto); font-size:18px; line-height:29px; }
body .feria-evento__desc p { margin:0 0 8px; }
body .feria-evento__desc p:last-child { margin-bottom:0; }
body .feria-evento__desc ul { list-style:none; margin:6px 0 0; padding:0; }
body .feria-evento__desc li { position:relative; padding-left:20px; margin:5px 0; line-height:1.45; }
body .feria-evento__desc li::before { content:""; position:absolute; left:3px; top:.62em; width:7px; height:7px; border-radius:50%; background:var(--feria-secundario); }
body .feria-evento--grid .feria-evento__desc ul,
body .feria-evento--grid .feria-evento__desc li { text-align:left; }
body .feria-evento.evento-pasado .feria-evento__desc li::before { background:var(--feria-pasado); }
body .feria-evento__desc strong { color:var(--feria-secundario); font-weight:700; }
body .feria-evento.evento-pasado .feria-evento__desc strong { color:#9a9a9a; }
body .feria-evento__desc a { text-decoration:underline; }
body .feria-evento__nota { font-size:.75em; font-style:italic; line-height:1.2em; color:#777; }

/*---------- BOTÓN CÓMO LLEGAR ------------*/
body .feria-evento__como-llegar { margin:14px 0; }
body .feria-evento__como-llegar a { border:solid 2px currentColor; border-radius:5px; padding:4px 20px; display:inline-block; text-decoration:none; }

/*---------- ENTRADAS ------------*/
body .feria-evento__entradas { margin-top:18px; }
body .feria-entradas { margin-top:14px; }
body .feria-entradas h3 { border-style:solid; border-width:1px 1px 0; border-color:#d7d7d7; padding-top:10px; font-size:19px; margin:0 0 12px; text-align:center; color:var(--feria-secundario); text-transform:uppercase; }
body .feria-botones { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }
body .feria-botones a, body .feria-botones span { flex:1 1 auto; min-width:150px; background-color:var(--feria-primario); color:#fff; font-size:14px; line-height:20px; padding:8px 13px; border-radius:5px; text-align:center; text-decoration:none; }
body .feria-botones a:hover { filter:brightness(.9); }

/*==================================================================
  LAYOUT TIMELINE (páginas de día / pórtico)
==================================================================*/
body .feria-timeline { border-left:none; }
body .feria-evento--timeline { padding-left:50px; margin-bottom:64px; }
body .feria-evento--timeline .feria-evento__punto { position:absolute; left:8px; top:4px; width:16px; height:16px; border-radius:50%; border:3px solid var(--feria-acento); background:#fff; }
body .feria-evento--timeline::before { content:""; position:absolute; left:15px; top:22px; bottom:-64px; width:2px; background:var(--feria-acento); opacity:.5; }
body .feria-evento--timeline:last-child::before { display:none; }
body .feria-evento--timeline:not(:last-child)::after { content:""; position:absolute; left:50px; right:0; bottom:-32px; height:1px; background:linear-gradient(90deg, var(--feria-secundario) 0%, rgba(0,0,0,0) 58%); opacity:.3; }

/*==================================================================
  LAYOUT GRID (Conciertos, Teatro, etc.)
==================================================================*/
body .feria-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:40px; }
body .feria-grid--1col { grid-template-columns:1fr; }
body .feria-evento--grid { border:dashed 1px #a2a2a2; padding:15px; background-color:#f7f7f7; text-align:center; }
body .feria-evento--grid .feria-evento__cabecera { justify-content:center; gap:14px; }
body .feria-evento--grid .feria-evento__titulo { font-size:2em; }

/*==================================================================
  EVENTO PASADO (atenuado + tachado, calculado en tiempo real)
==================================================================*/
body .feria-evento.evento-pasado .feria-evento__titulo { text-decoration:line-through; color:var(--feria-pasado); }
/*-- cancelado --*/
body .feria-evento.evento-cancelado .feria-evento__cuerpo { opacity:.6; }
body .feria-evento.evento-cancelado .feria-evento__titulo { text-decoration:none; color:var(--feria-pasado); }
body .feria-evento.evento-cancelado .feria-evento__imagen { position:relative; }
body .feria-evento.evento-cancelado .feria-evento__imagen img { filter:grayscale(1); opacity:.55; }
body .feria-evento__cancelado-wrap { position:relative; height:70px; margin:6px 0 10px; }
body .feria-evento__cancelado { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) rotate(-16deg); z-index:2; padding:6px 28px; border:4px solid #c62828; border-radius:10px; color:#c62828; font-family:var(--feria-fuente-titulos); font-size:46px; line-height:1.1; font-weight:700; letter-spacing:.14em; text-transform:uppercase; background:rgba(255,255,255,.78); box-shadow:0 10px 28px rgba(0,0,0,.18); pointer-events:none; white-space:nowrap; opacity:1; }
body .feria-evento.evento-pasado .feria-evento__fecha,
body .feria-evento.evento-pasado .feria-evento__tipos,
body .feria-evento.evento-pasado .feria-evento__desc,
body .feria-evento.evento-pasado .feria-evento__nota { color:var(--feria-pasado); }
body #Content .feria-evento.evento-pasado .feria-evento__desc a { color:#9a9a9a; }
body .feria-evento.evento-pasado .feria-evento__imagen img { filter:grayscale(1); opacity:.55; }
body .feria-evento.evento-pasado .feria-botones a,
body .feria-evento.evento-pasado .feria-botones span { background-color:var(--feria-pasado); }
body .feria-evento.evento-pasado .feria-evento__como-llegar a { color:var(--feria-pasado); }
body .feria-evento--timeline.evento-pasado .feria-evento__punto { border-color:var(--feria-pasado); }

/*==================================================================
  SALUDA
==================================================================*/
body .feria-saludas { margin:0 auto; max-width:1100px; }
body .feria-saludas__tabs { display:flex; justify-content:center; gap:14px; margin:0 0 30px; padding:0; }
body .feria-saludas__tab { display:flex; align-items:center; gap:14px; flex:0 1 380px; padding:12px 22px 12px 12px; border:2px solid transparent; border-radius:70px; background:#fff; box-shadow:0 4px 16px rgba(0,0,0,.08); cursor:pointer; text-align:left; font-family:var(--feria-fuente-texto); color:#3a3138; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
body .feria-saludas__tab:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.12); }
body .feria-saludas__tab.is-active { border-color:var(--feria-primario); background:var(--feria-primario); color:#fff; box-shadow:0 10px 26px rgba(155,45,42,.28); }
body .feria-saludas__avatar { flex:0 0 58px; width:58px; height:58px; border-radius:50%; overflow:hidden; border:3px solid #fff; box-shadow:0 2px 6px rgba(0,0,0,.18); }
body .feria-saludas__avatar img { width:100%; height:100%; object-fit:cover; object-position:top; display:block; }
body .feria-saludas__tab-txt { display:flex; flex-direction:column; line-height:1.15; }
body .feria-saludas__tab-nombre { font-family:var(--feria-fuente-titulos); font-size:18px; font-weight:700; }
body .feria-saludas__tab-cargo { font-size:13px; text-transform:uppercase; letter-spacing:.08em; opacity:.8; margin-top:4px; }
body .feria-saludas__tab.is-active .feria-saludas__tab-cargo { opacity:.9; }
body .feria-saluda { display:flex; gap:44px; align-items:flex-start; padding:36px 40px; background:#fff; border-radius:20px; box-shadow:0 10px 34px rgba(107,31,42,.10); position:relative; overflow:hidden; }
body .feria-saluda::before { content:""; position:absolute; left:0; right:0; top:0; height:8px; background:repeating-linear-gradient(90deg, var(--feria-primario) 0 22px, #fff 22px 44px); }
body .feria-saluda[hidden] { display:none; }
body .feria-saluda.is-active { animation:feriaSaludaIn .35s ease; }
@keyframes feriaSaludaIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
body .feria-saluda__ficha { flex:0 0 260px; text-align:center; position:sticky; top:110px; }
body .feria-saluda__foto { margin:0 0 16px; }
body .feria-saluda__foto img { width:100%; max-width:260px; aspect-ratio:4/5; object-fit:cover; object-position:top; border-radius:16px; box-shadow:0 12px 28px rgba(0,0,0,.18); display:block; margin:0 auto; }
body .feria-saluda__nombre { font-family:var(--feria-fuente-titulos); color:var(--feria-secundario); font-size:24px; line-height:1.15; margin:0 0 6px; }
body .feria-saluda__cargo { font-size:13px; text-transform:uppercase; letter-spacing:.14em; color:var(--feria-primario); font-weight:700; margin:0; }
body .feria-saluda__cargo::after { content:""; display:block; width:48px; height:3px; margin:14px auto 0; background:var(--feria-primario); border-radius:2px; opacity:.5; }
body .feria-saluda__texto { flex:1; min-width:0; color:#3a3138; text-align:justify; hyphens:auto; }
body .feria-saluda__texto p { font-size:17px; line-height:1.72; margin:0 0 16px; }
body .feria-saluda__texto p:first-child::first-letter { float:left; padding:6px 12px 0 0; font-family:var(--feria-fuente-titulos); font-size:60px; line-height:48px; font-weight:700; color:var(--feria-primario); }
body .feria-saluda__texto p:last-child { margin-top:26px; text-align:right; font-family:var(--feria-fuente-titulos); font-size:19px; }
body .feria-saluda__texto strong { color:var(--feria-secundario); font-weight:700; }
/*-- entradilla --*/
body .feria-saluda__lead { font-family:var(--feria-fuente-titulos); font-size:25px; line-height:1.25; color:var(--feria-secundario); text-align:left; margin:4px 0 2px; }
body .feria-saluda__lead::after { content:""; display:block; width:66px; height:3px; margin:12px 0 20px; background:var(--feria-secundario); border-radius:2px; }
/*-- letra capital --*/
body .feria-saluda__intro::first-letter { float:left; padding:6px 12px 0 0; font-family:var(--feria-fuente-titulos); font-size:60px; line-height:48px; font-weight:700; color:var(--feria-secundario); }
/*-- frase destacada --*/
body .feria-saluda__frase { font-family:var(--feria-fuente-titulos); font-size:23px; line-height:1.4; font-style:italic; color:var(--feria-secundario); text-align:center; margin:24px auto; }
/*-- cierre --*/
body .feria-saluda__cierre { font-family:var(--feria-fuente-titulos); font-size:24px; line-height:1.3; font-weight:700; color:var(--feria-secundario); text-align:center; margin:28px 0 4px; }
body .feria-saluda__cierre::before { content:""; display:block; width:120px; height:2px; margin:0 auto 20px; background:var(--feria-secundario); opacity:.35; }

/*==================================================================
  RESPONSIVE
==================================================================*/

/*-- Tablet horizontal (959px) --*/
@media only screen and (max-width:959px){
	body .feria-grid { grid-template-columns:1fr; }
	body .feria-saluda__lead { font-size:23px; }
	body .feria-saluda__frase { font-size:21px; }
	body .feria-intro { font-size:21px; }
}

/*-- Móvil (767px) --*/
@media only screen and (max-width:767px){
	body .feria-evento--timeline { padding-left:5%; padding-right:5%; text-align:center; margin-bottom:44px; }
	body .feria-evento--timeline .feria-evento__punto,
	body .feria-evento--timeline::before { display:none; }
	body .feria-evento--timeline:not(:last-child)::after { left:20%; right:20%; bottom:-22px; background:var(--feria-secundario); opacity:.28; }
	/*-- listas: sin viñeta, separadas por línea corta centrada --*/
	body .feria-evento--timeline .feria-evento__desc li { padding-left:0; text-align:center; }
	body .feria-evento--timeline .feria-evento__desc li::before { display:none; }
	body .feria-evento--timeline .feria-evento__desc li:not(:last-child)::after { content:""; display:block; width:56px; height:1px; margin:9px auto 0; background:var(--feria-secundario); opacity:.35; }
	body .feria-evento--timeline.evento-pasado .feria-evento__desc li:not(:last-child)::after { background:var(--feria-pasado); }
	body .feria-evento__cabecera { justify-content:center; }
	body .feria-saludas__tabs { flex-direction:column; align-items:stretch; gap:10px; }
	body .feria-saludas__tab { flex:1 1 auto; }
	body .feria-saluda { display:block; padding:28px 18px 22px; }
	body .feria-saluda__ficha { position:static; margin:0 auto 22px; }
	body .feria-saluda__foto img { max-width:200px; }
	body .feria-saluda__texto { text-align:left; }
	body .feria-saluda__texto p:first-child::first-letter { font-size:50px; line-height:40px; }
	body .feria-evento__cancelado { font-size:28px; padding:4px 16px; border-width:3px; }
	body .feria-saluda__lead { text-align:center; font-size:22px; }
	body .feria-saluda__lead::after { margin-left:auto; margin-right:auto; }
	body .feria-saluda__frase { font-size:20px; }
	body .feria-saluda__cierre { font-size:21px; }
	body .feria-intro { font-size:18px; padding:0 6px; }
	body .feria-intro__sub { font-size:15px; margin-top:14px; }
	body .feria-intro--panel { padding:24px 20px 20px; }
	body .feria-buscador { margin-bottom:26px; }
	body .feria-buscador__input { font-size:16px; padding:12px 42px 12px 16px; }
	body .feria-buscador__resultados { max-height:300px; }
	body .feria-agenda__cabecera { display:block; text-align:center; }
	body .feria-agenda__foto { max-width:280px; margin:0 auto 16px; }
	body .feria-agenda__item { flex-wrap:wrap; gap:4px 12px; }
	body .feria-agenda__fecha { flex-basis:auto; }
	body .feria-agenda__detalle { flex-basis:100%; order:3; }
	body .feria-botones a, body .feria-botones span { flex:1 1 100%; }
}

/*==================================================================
  PÁGINA EVENTOS TAURINOS
==================================================================*/
body .feria-taurino { max-width:1000px; margin:0 auto; font-family:var(--feria-fuente-texto); color:#3a3138; }
body .feria-taurino__intro { text-align:center; margin:0 0 34px; }
body .feria-taurino__cartel { margin:0 auto 24px; max-width:520px; }
body .feria-taurino__cartel img { width:100%; border-radius:14px; display:block; }
body .feria-festejo__foto { margin:0; }
body .feria-festejo__foto img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
body .feria-taurino__intro h2 { font-family:var(--feria-fuente-titulos); font-size:34px; line-height:1.15; color:var(--feria-secundario); margin:0 0 8px; }
body .feria-taurino__intro p { font-size:17px; line-height:1.6; margin:6px 0 0; color:#5a5058; }
body .feria-taurino__nota { display:inline-block; margin-top:14px; padding:8px 18px; background:#fbf1e2; border-radius:30px; font-size:15px; color:var(--feria-primario); }

/*---------- Festejos ----------*/
body .feria-taurino__festejos { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin:0 0 44px; }
body .feria-festejo { border:1px solid #ece4e8; border-radius:14px; overflow:hidden; background:#fff; }
body .feria-festejo__dia { background:var(--feria-secundario); color:#fff; padding:12px 18px; font-family:var(--feria-fuente-titulos); font-size:20px; display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
body .feria-festejo__dia small { font-size:14px; font-weight:400; opacity:.85; }
body .feria-festejo__cuerpo { padding:18px 20px; }
body .feria-festejo__tipo { font-family:var(--feria-fuente-titulos); font-size:22px; color:var(--feria-primario); margin:0 0 4px; }
body .feria-festejo__gan { font-size:15px; color:#6b6169; margin:0 0 12px; }
body .feria-festejo__toreros { list-style:none; margin:0; padding:0; }
body .feria-festejo__toreros li { list-style:none !important; padding:7px 0 7px 22px; position:relative; font-size:17px; border-bottom:1px solid #f2ecef; }
body .feria-festejo__toreros li::marker { content:none; }
body .feria-festejo__toreros li:last-child { border-bottom:0; }
body .feria-festejo__toreros li::before { content:""; position:absolute; left:2px; top:14px; width:8px; height:8px; background:var(--feria-acento); border-radius:50%; }
body .feria-festejo__toreros small { display:block; font-size:13px; color:#8a808a; }

/*---------- Precios ----------*/
body .feria-taurino__precios { margin:0 0 44px; }
body .feria-taurino__precios h3, body .feria-taurino__venta h3, body .feria-taurino__contacto h3 { font-family:var(--feria-fuente-titulos); font-size:25px; color:var(--feria-secundario); text-align:center; margin:0 0 18px; }
body .feria-tabla-wrap { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
body .feria-tabla { width:100%; border-collapse:collapse; font-size:14px; background:#fff; border:1px solid #ece4e8; border-radius:12px; overflow:hidden; }
body .feria-tabla caption { caption-side:top; font-family:var(--feria-fuente-titulos); font-size:18px; color:var(--feria-primario); padding:12px; background:#fbf6ec; }
body .feria-tabla th, body .feria-tabla td { padding:8px 10px; text-align:center; border-bottom:1px solid #f2ecef; }
body .feria-tabla thead th { background:var(--feria-secundario); color:#fff; font-weight:600; }
body .feria-tabla th[scope=row] { text-align:left; font-weight:600; color:#4a3f45; }
body .feria-tabla tbody tr:nth-child(even) { background:#faf7f8; }
body .feria-tabla .feria-tabla__destacada th, body .feria-tabla .feria-tabla__destacada td { background:#fbf1e2; }

/*---------- Venta y contacto ----------*/
body .feria-taurino__venta { background:#fbf6ec; border-radius:14px; padding:26px 30px; margin:0 0 44px; }
body .feria-taurino__venta ul { margin:0; padding-left:20px; line-height:1.7; }
body .feria-taurino__venta a { color:var(--feria-secundario); font-weight:600; }
body .feria-taurino__contacto { text-align:center; margin:0 0 40px; }
body .feria-taurino__contacto-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin:0 0 22px; }
body .feria-contacto-item { display:inline-flex; align-items:center; gap:9px; padding:12px 22px; border:2px solid var(--feria-secundario); border-radius:30px; font-size:16px; font-weight:600; color:var(--feria-secundario); text-decoration:none; }
body .feria-contacto-item:hover { background:var(--feria-secundario); color:#fff; }
body .feria-taurino__mapa { display:inline-flex; align-items:center; gap:9px; padding:13px 30px; background:var(--feria-secundario); color:#fff; border-radius:30px; font-size:17px; font-weight:600; text-decoration:none; }
body .feria-taurino__mapa:hover { background:var(--feria-primario); color:#fff; }
body .feria-taurino__horario { font-size:15px; color:#6b6169; line-height:1.6; margin:18px 0 0; }

@media only screen and (max-width:767px){
	body .feria-taurino__intro h2 { font-size:27px; }
	body .feria-taurino__festejos { grid-template-columns:1fr; }
	body .feria-tabla-wrap { grid-template-columns:1fr; }
	body .feria-taurino__venta { padding:22px 18px; }
}

/* Ticker "Hoy" */
:root { --feria-ticker-h:36px; }
body .feria-ticker { position:fixed; top:0; left:0; right:0; z-index:9999; height:var(--feria-ticker-h); display:flex; align-items:stretch; background:var(--feria-secundario,#6b1f2a); color:#fff; font-family:var(--feria-fuente-texto); font-size:14px; line-height:var(--feria-ticker-h); box-shadow:0 2px 10px rgba(0,0,0,.25); overflow:hidden; }
body.admin-bar .feria-ticker { top:32px; }
body .feria-ticker__hoy { flex:0 0 auto; padding:0 16px 0 18px; background:var(--feria-primario,#9b2d2a); font-family:var(--feria-fuente-titulos); font-weight:700; font-size:15px; letter-spacing:.12em; text-transform:uppercase; position:relative; z-index:2; box-shadow:4px 0 10px rgba(0,0,0,.25); }
body .feria-ticker__pista { flex:1; display:flex; overflow:hidden; --dur:40s; --vis:100vw; -webkit-mask:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent); mask:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent); }
body .feria-ticker__cinta { flex:0 0 auto; display:flex; white-space:nowrap; animation:feria-ticker var(--dur) linear infinite; }
body .feria-ticker:hover .feria-ticker__cinta { animation-play-state:paused; }
body .feria-ticker__item { display:inline-flex; align-items:center; gap:7px; margin:0 26px 0 22px; color:#fff; text-decoration:none; font-weight:500; }
body .feria-ticker__item::before { content:""; width:7px; height:7px; border-radius:50%; background:#c9a56b; flex:0 0 7px; }
body .feria-ticker__item b { font-weight:800; color:#f0c987; }
body .feria-ticker__item i { font-style:normal; opacity:.75; }
body .feria-ticker__item i::before { content:"· "; }
body a.feria-ticker__item:hover { text-decoration:underline; color:#fff; }
body.feria-ticker-on { padding-top:var(--feria-ticker-h); }
body.feria-ticker-on #Top_bar.is-sticky { top:var(--feria-ticker-h)!important; }
body.feria-ticker-on.admin-bar #Top_bar.is-sticky { top:calc(var(--feria-ticker-h) + 32px)!important; }
body.feria-ticker-on .feria-lupa { top:calc(26px + var(--feria-ticker-h)); }
body.feria-ticker-on .feria-lupa-globo { top:calc(32px + var(--feria-ticker-h)); }
@keyframes feria-ticker { from { transform:translateX(var(--vis)); } to { transform:translateX(-100%); } }
@media only screen and (max-width:767px) {
	body .feria-ticker { font-size:13px; }
	body .feria-ticker__hoy { padding:0 10px 0 12px; font-size:13px; letter-spacing:.08em; }
	body .feria-ticker__item { margin:0 18px 0 14px; }
	body.admin-bar .feria-ticker { top:46px; }
	body.feria-ticker-on .feria-lupa { top:calc(12px + var(--feria-ticker-h)); }
	body.feria-ticker-on .feria-lupa-globo { top:calc(17px + var(--feria-ticker-h)); }
}
