/* Páginas propias 1.3: estilo general blanco cálido; cada tipo con su color (--c) */
:root { --tinta: #24190e; --suave: #6b5a46; --fondo: #fbf6ee; }
* { box-sizing: border-box; }
body { margin: 0; font-family: "Segoe UI", "Helvetica Neue", system-ui, sans-serif; color: var(--tinta); background: var(--fondo); line-height: 1.55; }
a { color: color-mix(in srgb, var(--c, #1f3a5f) 85%, #000); }
a:focus-visible { outline: 3px solid var(--c, #a4472a); outline-offset: 2px; }
.pre-aviso { margin: 0; background: #2a1e12; color: #fff8ec; text-align: center; font-size: .78rem; padding: .3rem; }
.pag-cab { max-width: 1080px; margin: 0 auto; padding: .8rem 1rem; display: flex; flex-wrap: wrap; gap: .6rem 1.2rem; align-items: center; justify-content: space-between; }
.pag-marca { display: inline-flex; gap: .45rem; align-items: center; font-weight: 700; color: var(--tinta); text-decoration: none; }
.pag-nav { display: flex; flex-wrap: wrap; gap: .3rem; }
.pag-nav a { text-decoration: none; color: var(--tinta); font-size: .88rem; padding: .3rem .65rem; border-radius: 999px; background: #fff; border: 1px solid #eadfcd; }
.pag-nav a:hover { border-color: var(--c); color: var(--c); }
.pag-migas { max-width: 1080px; margin: 0 auto; padding: 0 1rem .6rem; font-size: .82rem; color: var(--suave); display: flex; flex-wrap: wrap; gap: .35rem; }
.pag-migas a { color: var(--suave); }
.pag-main { max-width: 1080px; margin: 0 auto; padding: 0 1rem 2.5rem; }
.pag-main > .fr { max-width: 860px; margin: 0 auto; }
.sec-cab { padding: 1.4rem 0 .6rem; }
.sec-cab h1 { margin: .4rem 0 .4rem; font-size: clamp(1.7rem, 4.5vw, 2.6rem); line-height: 1.1; letter-spacing: -.02em; }
.sec-cab .fr-tipo { background: var(--c); }
.sec-h2 { margin: 1.6rem 0 .6rem; font-size: 1.25rem; }
.pag-texto { max-width: 72ch; font-size: 1.03rem; }
.rejilla { list-style: none; padding: 0; margin: .8rem 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .8rem; }
.tj a, .tj--sin { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: var(--tinta); background: #fffdf8; border-radius: 1rem; overflow: hidden; border: 1px solid #eadfcd; box-shadow: 0 4px 14px rgba(60,35,10,.08); transition: transform .15s ease, box-shadow .15s ease; }
.tj a:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(60,35,10,.14); }
.tj-media { display: block; aspect-ratio: 3 / 2; background: linear-gradient(135deg, var(--c), color-mix(in srgb, var(--c) 60%, #000)); }
.tj-media picture { display: block; width: 100%; height: 100%; }
.tj-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; display: block; }
.tj-media--vertical { background: #2a211a; }
.tj-media--vertical img { object-fit: contain; object-position: center; }
.tj-cartel { display: flex; align-items: flex-end; height: 100%; padding: .7rem .8rem; color: #fff; font-weight: 700; font-size: 1.05rem; line-height: 1.15; }
.tj-txt { display: flex; flex-direction: column; gap: .15rem; padding: .6rem .8rem .75rem; }
.tj-txt small { color: var(--suave); }
.rejilla--monumentos { --c: #a4472a; } .rejilla--eventos { --c: #c2410c; } .rejilla--cultura { --c: #0b4ea2; } .rejilla--deportes { --c: #0e7a55; } .rejilla--planes { --c: #d2462f; } .rejilla--artistas { --c: #2F5F82; } .rejilla--tradiciones { --c: #9f1d2b; }
.traje-indice ul { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .35rem; }
.traje-indice a { display: inline-block; padding: .3rem .7rem; border-radius: 999px; border: 1.5px solid var(--c); text-decoration: none; font-size: .85rem; font-weight: 600; }
ol.paradas { padding-left: 1.2rem; }
.pag-pie { max-width: 1080px; margin: 0 auto; padding: 1.2rem 1rem 2rem; border-top: 1px solid #eadfcd; font-size: .86rem; color: var(--suave); }
.pag-pie nav { display: flex; flex-wrap: wrap; gap: .3rem; margin-bottom: .5rem; }
.aviso-noficial { margin: .4rem 0; }

/* 1.3.3: lista compacta de ligas */
.tabla-scroll{overflow-x:auto}
.tabla-ligas{width:100%;border-collapse:collapse;font-size:.92rem}
.tabla-ligas th,.tabla-ligas td{padding:.45rem .6rem;border-bottom:1px solid #e8dccb;text-align:left;vertical-align:top}
.tabla-ligas th{background:#f6eee2;font-weight:600}

/* 1.4.2 · Artistas por estado (nunca naranja sobre crema) */
.tj--actual .tj-media { background: #FC6220; } .tj--actual .tj-cartel { color: #1D1917; }
.tj--historico .tj-media { background: #2F5F82; } .tj--historico .tj-cartel { color: #F1EFEC; }
.tj--art small .art-estado { margin-right: .3rem; }
