/*
 * Gayarre PatronBase Sync — Kadence compat
 * ─────────────────────────────────────────
 * Configura en Kadence → Global Colors:
 *   Paleta 1  →  #c8102e   rojo Gayarre
 *   Paleta 3  →  #ffffff   títulos
 *   Paleta 4  →  #c8c8c8   texto body
 *   Paleta 5  →  #888888   texto secundario
 *   Paleta 6  →  #2a2a2a   bordes / separadores
 *   Paleta 7  →  #1a1a1a   superficie media
 *   Paleta 8  →  #111111   superficie oscura
 *   Paleta 9  →  #0a0a0a   fondo negro
 */

/* ── Variables: conecta gpb-* con la paleta de Kadence ─────── */
:root {
    --gpb-primary:       var(--global-palette1,  #c8102e);
    --gpb-primary-dark:  #a00d25;
    --gpb-text:          var(--global-palette4,  #c8c8c8);
    --gpb-text-light:    var(--global-palette5,  #888888);
    --gpb-bg:            var(--global-palette7,  #1a1a1a);
    --gpb-white:         var(--global-palette8,  #111111);
    --gpb-border:        var(--global-palette6,  #2a2a2a);
    --gpb-secondary:     var(--global-palette9,  #0a0a0a);
    --gpb-heading:       var(--global-palette3,  #ffffff);
    --gpb-font:          var(--global-body-font-family,    inherit);
    --gpb-font-heading:  var(--global-heading-font-family, inherit);
    --gpb-radius:        4px;
    --gpb-shadow:        0 2px 16px rgba(0,0,0,.5);
    --gpb-shadow-hover:  0 8px 32px rgba(0,0,0,.7);
    --gpb-hero-max:      1200px;
    --gpb-body-max:      860px;
}

/* ════════════════════════════════════════════════════════════
   HERO — full-bleed sobre el fondo oscuro
   ════════════════════════════════════════════════════════════ */

/* Rompe el max-width del .entry-content de Kadence */
.gayarre-ficha__hero-bg {
    width:  100vw;
    margin-left:  calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: var(--global-palette9, #0a0a0a);
    padding: clamp(2.5rem, 6vw, 5rem) clamp(1rem, 4vw, 2rem);
    margin-bottom: clamp(2rem, 5vw, 4rem);
    overflow: hidden;
    position: relative;
}

/* Imagen de fondo desenfocada opcional (si hay thumbnail) */
.gayarre-ficha__hero-bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 70% 50%, rgba(200,16,46,.08) 0%, transparent 70%);
    pointer-events: none;
}

.gayarre-ficha__hero-inner {
    max-width: var(--gpb-hero-max);
    margin: 0 auto;
    display: grid;
    grid-template-columns: clamp(220px, 28vw, 360px) 1fr;
    gap: clamp(2rem, 5vw, 4rem);
    align-items: start;
    position: relative;
    z-index: 1;
}

@media (max-width: 768px) {
    .gayarre-ficha__hero-inner {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

/* ── Póster ─────────────────────────────────────────────────── */
.gayarre-ficha__poster {
    aspect-ratio: 2 / 3;
    border-radius: var(--gpb-radius);
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(0,0,0,.7);
    background: var(--global-palette7, #1a1a1a);
    flex-shrink: 0;
}
.gayarre-ficha__poster-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.gayarre-ficha__poster-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4rem;
    color: var(--global-palette6, #333);
}

/* ── Info (lado derecho del hero) ───────────────────────────── */
.gayarre-ficha__info {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-top: .5rem;
}

.gayarre-ficha__cat {
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--global-palette1, #c8102e);
    margin: 0;
}

.gayarre-ficha__title {
    font-family: var(--global-heading-font-family, inherit);
    font-size: clamp(1.8rem, 4vw, 3rem);
    font-weight: 800;
    line-height: 1.1;
    color: var(--global-palette3, #fff);
    margin: 0;
    letter-spacing: -.02em;
}

.gayarre-ficha__playwright {
    font-size: 1rem;
    color: var(--global-palette5, #888);
    margin: 0;
}
.gayarre-ficha__playwright-label {
    text-transform: uppercase;
    font-size: .75rem;
    letter-spacing: .08em;
    margin-right: .4em;
    color: var(--global-palette6, #555);
}

/* ── Metadatos ──────────────────────────────────────────────── */
.gayarre-ficha__meta {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: .75rem 1.25rem;
    margin: .5rem 0;
    padding: 1.25rem;
    background: rgba(255,255,255,.04);
    border: 1px solid var(--global-palette6, #2a2a2a);
    border-radius: var(--gpb-radius);
}
.gayarre-ficha__meta-item {
    display: flex;
    flex-direction: column;
    gap: .15rem;
}
.gayarre-ficha__meta-item dt {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .09em;
    color: var(--global-palette5, #888);
    font-weight: 600;
}
.gayarre-ficha__meta-item dd {
    font-size: .95rem;
    font-weight: 600;
    color: var(--global-palette3, #fff);
    margin: 0;
}
.gayarre-ficha__price {
    color: var(--global-palette1, #c8102e) !important;
    font-size: 1.05rem !important;
}

/* ── CTAs ───────────────────────────────────────────────────── */
.gayarre-ficha__ctas {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: .25rem;
}

/* ── Tags ───────────────────────────────────────────────────── */
.gayarre-ficha__tags {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}
.gayarre-ficha__tag {
    background: rgba(255,255,255,.05);
    border: 1px solid var(--global-palette6, #2a2a2a);
    border-radius: 20px;
    padding: .2em .8em;
    font-size: .75rem;
    color: var(--global-palette5, #888);
}

/* ════════════════════════════════════════════════════════════
   BODY — secciones bajo el hero
   ════════════════════════════════════════════════════════════ */

.gayarre-ficha__body {
    max-width: var(--gpb-body-max);
    margin: 0 auto;
}

.gayarre-ficha__section {
    margin-bottom: clamp(2.5rem, 6vw, 4rem);
}

.gayarre-ficha__section-title {
    font-family: var(--global-heading-font-family, inherit);
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--global-palette3, #fff);
    padding-bottom: .6rem;
    border-bottom: 2px solid var(--global-palette1, #c8102e);
    margin-bottom: 1.5rem;
}

.gayarre-ficha__content {
    color: var(--global-palette4, #c8c8c8);
    font-size: 1rem;
    line-height: 1.8;
}
.gayarre-ficha__content p {
    margin-bottom: 1em;
}

/* ── Lista de funciones ─────────────────────────────────────── */
.gayarre-performances-list {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.gayarre-performance {
    display: grid;
    grid-template-columns: 68px 1fr auto auto;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background: rgba(255,255,255,.03);
    border: 1px solid var(--global-palette6, #2a2a2a);
    border-left: 3px solid var(--global-palette6, #2a2a2a);
    border-radius: var(--gpb-radius);
    transition: background .2s;
}
.gayarre-performance:hover {
    background: rgba(255,255,255,.06);
}
.gayarre-performance--a  { border-left-color: #2ecc71; }
.gayarre-performance--nf { border-left-color: #f5a623; }
.gayarre-performance--f  { border-left-color: #e74c3c; opacity: .6; }

@media (max-width: 600px) {
    .gayarre-performance {
        grid-template-columns: 56px 1fr;
        grid-template-rows: auto auto;
    }
    .gayarre-performance__time,
    .gayarre-performance__action { grid-column: 2; }
}

.gayarre-performance__date {
    text-align: center;
    line-height: 1;
}
.gayarre-performance__day {
    display: block;
    font-size: 1.8rem;
    font-weight: 800;
    color: var(--global-palette3, #fff);
    line-height: 1;
}
.gayarre-performance__month {
    display: block;
    font-size: .65rem;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--global-palette5, #888);
    margin-top: .15rem;
}
.gayarre-performance__year {
    display: block;
    font-size: .65rem;
    color: var(--global-palette5, #888);
}

.gayarre-performance__details {
    display: flex;
    flex-direction: column;
    gap: .15rem;
}
.gayarre-performance__weekday {
    font-size: .8rem;
    color: var(--global-palette5, #888);
    text-transform: capitalize;
}
.gayarre-performance__venue {
    font-size: .95rem;
    font-weight: 600;
    color: var(--global-palette3, #fff);
}

.gayarre-performance__time {
    font-size: 1rem;
    font-weight: 700;
    color: var(--global-palette1, #c8102e);
    white-space: nowrap;
}

.gayarre-performance__status {
    font-size: .78rem;
    font-weight: 600;
    text-align: right;
    white-space: nowrap;
}
.gayarre-performance__status--a  { color: #2ecc71; }
.gayarre-performance__status--nf { color: #f5a623; }
.gayarre-performance__status--f  { color: #e74c3c; }
.gayarre-performance__seats {
    font-weight: 400;
    font-size: .72rem;
    display: block;
    color: var(--global-palette5, #888);
}

/* ── Tabla de precios ───────────────────────────────────────── */
.gayarre-prices-wrap {
    overflow-x: auto;
    border-radius: var(--gpb-radius);
    border: 1px solid var(--global-palette6, #2a2a2a);
}
.gayarre-prices-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .9rem;
    font-family: var(--global-body-font-family, inherit);
}
.gayarre-prices-table th {
    background: rgba(255,255,255,.06);
    color: var(--global-palette5, #888);
    padding: .75rem 1rem;
    text-align: left;
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    border-bottom: 1px solid var(--global-palette6, #2a2a2a);
}
.gayarre-prices-table td {
    padding: .75rem 1rem;
    border-bottom: 1px solid var(--global-palette6, #2a2a2a);
    color: var(--global-palette4, #ccc);
}
.gayarre-prices-table tr:last-child td { border-bottom: none; }
.gayarre-prices-table tr:hover td {
    background: rgba(255,255,255,.03);
}
.gayarre-prices-table__member td {
    background: rgba(200, 16, 46, .06);
}

/* ── Relacionados ───────────────────────────────────────────── */
.gayarre-ficha__section--related { max-width: 100%; }
.gayarre-ficha__section--related .gayarre-grid--cols-4 {
    grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 900px) {
    .gayarre-ficha__section--related .gayarre-grid--cols-4 { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 480px) {
    .gayarre-ficha__section--related .gayarre-grid--cols-4 { grid-template-columns: 1fr; }
}

/* ════════════════════════════════════════════════════════════
   CARDS (carrusel / grid)
   ════════════════════════════════════════════════════════════ */
.gayarre-card {
    background: var(--global-palette8, #111);
    border: 1px solid var(--global-palette6, #2a2a2a);
    color: var(--global-palette4, #ccc);
}
.gayarre-card__title a {
    color: var(--global-palette3, #fff);
}
.gayarre-card__title a:hover {
    color: var(--global-palette1, #c8102e);
}
.gayarre-card__img--placeholder {
    background: var(--global-palette7, #1a1a1a);
    color: var(--global-palette6, #333);
}

/* ── Carrusel flechas ───────────────────────────────────────── */
.gayarre-carrusel__prev,
.gayarre-carrusel__next {
    background: var(--global-palette8, #111);
    color: var(--global-palette3, #fff);
    border: 1px solid var(--global-palette6, #2a2a2a);
}
.gayarre-carrusel__prev:hover,
.gayarre-carrusel__next:hover {
    background: var(--global-palette1, #c8102e);
    border-color: var(--global-palette1, #c8102e);
    color: #fff;
}

/* ════════════════════════════════════════════════════════════
   BOTONES
   ════════════════════════════════════════════════════════════ */
.gayarre-btn--secondary {
    color: var(--global-palette3, #fff);
    border-color: var(--global-palette6, #555);
}
.gayarre-btn--secondary:hover {
    background: var(--global-palette1, #c8102e);
    border-color: var(--global-palette1, #c8102e);
    color: #fff;
}
/* Botón fantasma: borde rojo, sin fondo */
.gayarre-btn--ghost {
    background: transparent;
    color: var(--global-palette3, #fff);
    border: 2px solid rgba(255,255,255,.25);
    font-size: .9rem;
    font-weight: 600;
    padding: .6em 1.4em;
    border-radius: var(--gpb-radius);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: border-color .2s, color .2s;
    white-space: nowrap;
    cursor: pointer;
}
.gayarre-btn--ghost:hover {
    border-color: var(--global-palette1, #c8102e);
    color: var(--global-palette1, #c8102e);
}

/* ── Slider: full-bleed dentro de Kadence ───────────────────── */
.entry-content .gayarre-slider-wrapper,
.kadence-inner-column-inner .gayarre-slider-wrapper {
    width:  100vw;
    margin-left:  calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* ── Misc ───────────────────────────────────────────────────── */
.gayarre-empty {
    color: var(--global-palette5, #888);
}
