/* Tierra de Comedia · bloques de la web
   Versión clara, cercana a la web original: fondos blanco y gris suave, títulos ciruela en Barlow,
   botones ciruela con texto amarillo. La cabecera y el pie son los originales (sin estilos de aquí).
   La versión oscura anterior está en backup/tdc-web-estilo-oscuro.css */
:root {
  --tdc-ciruela: #4D023D; --tdc-ciruela-2: #63104F; --tdc-oro: #FCE27D; --tdc-naranja: #F48723;
  --tdc-fondo: #FFFFFF; --tdc-gris: #F3F3F3; --tdc-lila: #F7F1F6; --tdc-chip: #F1E6EE; --tdc-linea: #E6DAE3;
  --tdc-tinta: #333333; --tdc-suave: #6E5868; --tdc-tenue: #9A8794;
  --tdc-sombra: 0 10px 30px -18px rgba(77, 2, 61, .35);
  --tdc-titulo: "Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;
  --tdc-texto: "Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;
}
.tdc, .tdc * { box-sizing: border-box; }
.tdc { font-family: var(--tdc-texto); color: var(--tdc-tinta); background: var(--tdc-fondo); line-height: 1.6; font-size: 17px; }
.tdc a { color: inherit; }
.tdc img { max-width: 100%; height: auto; display: block; }
.tdc-wrap { max-width: 1180px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.tdc-seccion { padding-block: 56px; }
.tdc-seccion--clara { background: var(--tdc-gris); }
.tdc-seccion--clara a { color: var(--tdc-ciruela); }

/* Tipografía (con prioridad sobre el kit de Elementor) */
.tdc .tdc-h2 { font: 800 clamp(1.7rem, 3.6vw, 2.4rem)/1.1 var(--tdc-titulo); text-transform: uppercase; margin: 0 0 22px; color: var(--tdc-ciruela); letter-spacing: .01em; }
.tdc .tdc-h3 { font: 700 1.2rem/1.2 var(--tdc-titulo); text-transform: uppercase; margin: 28px 0 14px; color: var(--tdc-ciruela); }
.tdc-eyebrow { display: inline-block; font: 700 .78rem/1 var(--tdc-texto); letter-spacing: .14em; text-transform: uppercase; color: var(--tdc-naranja); margin-bottom: 10px; }
.tdc-dato { font: 600 .85rem/1.4 var(--tdc-texto); color: var(--tdc-naranja); letter-spacing: .04em; text-transform: uppercase; }
.tdc-cabecera { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 20px; margin-bottom: 22px; }
.tdc .tdc-cabecera .tdc-h2 { margin: 0; }
.tdc-mas { font-weight: 700; color: var(--tdc-ciruela) !important; text-decoration: none; }
.tdc-mas:hover { text-decoration: underline; }
.tdc-vacio { color: var(--tdc-suave); }
.tdc-texto p { margin: 0 0 1em; max-width: 70ch; }
.tdc-texto strong { color: var(--tdc-ciruela); }
.tdc-texto--oscuro { color: var(--tdc-suave); }
.tdc-texto--ancho { max-width: 1180px; }
.tdc-texto--ancho p { font-size: 1.08rem; }

/* Botones (como «¡Entradas Vigo!» de la web original) */
.tdc .tdc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: var(--tdc-ciruela); color: var(--tdc-oro) !important; font: 700 1rem/1 var(--tdc-texto); text-transform: uppercase; letter-spacing: .03em; padding: 15px 24px; border-radius: 10px; text-decoration: none !important; border: 0; cursor: pointer; box-shadow: 0 8px 20px -10px rgba(77, 2, 61, .6); transition: transform .15s, background .15s; white-space: nowrap; }
.tdc .tdc-btn:hover { background: var(--tdc-ciruela-2); transform: translateY(-1px); }
.tdc .tdc-btn:focus-visible { outline: 3px solid var(--tdc-naranja); outline-offset: 2px; }
.tdc .tdc-btn--grande { font-size: 1.05rem; padding: 18px 30px; }
.tdc .tdc-btn--linea { background: transparent; color: var(--tdc-ciruela) !important; box-shadow: inset 0 0 0 2px var(--tdc-ciruela); }
.tdc .tdc-btn--linea:hover { background: var(--tdc-lila); }
.tdc .tdc-btn--off { background: var(--tdc-chip); color: var(--tdc-suave) !important; box-shadow: none; cursor: default; }
.tdc-acciones { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }

/* Cartel (Elementor pone radio 0 a las imágenes: reforzamos) */
.tdc .tdc-cartel, .elementor .tdc .tdc-cartel { width: 100%; border-radius: 12px; aspect-ratio: 1200 / 650; object-fit: cover; background: var(--tdc-chip); }
.tdc-cartel--vacio { background: linear-gradient(135deg, #f1e6ee, #e6dae3); }

/* Ficha de evento */
.tdc-ficha__hero { padding-block: 40px 52px; background: linear-gradient(180deg, var(--tdc-lila) 0%, #fff 100%); }
.tdc-ficha__grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 44px; align-items: center; }
.tdc-ficha__cartel { margin: 0; }
.tdc-ficha__cartel .tdc-cartel { box-shadow: 0 24px 50px -28px rgba(77, 2, 61, .55); }
.tdc .tdc-ficha__titulo { font: 800 clamp(2.2rem, 5vw, 3.6rem)/1 var(--tdc-titulo); text-transform: uppercase; margin: 0 0 18px; color: var(--tdc-ciruela); text-wrap: balance; }
.tdc-chips { list-style: none; margin: 0 0 22px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tdc-chips li { font: 600 .9rem/1 var(--tdc-texto); background: var(--tdc-chip); color: var(--tdc-ciruela); padding: 10px 13px; border-radius: 8px; margin: 0; }
.tdc-ficha__compra { display: grid; justify-items: start; gap: 10px; }
.tdc-precio { margin: 0; color: var(--tdc-suave); }
.tdc-precio b { color: var(--tdc-ciruela); font: 800 1.6rem/1 var(--tdc-titulo); }
.tdc-nota { margin: 0; font-size: .85rem; color: var(--tdc-tenue); }
.tdc-aviso { background: var(--tdc-chip); color: var(--tdc-ciruela); padding: 14px 16px; border-radius: 10px; }
.tdc-aviso a { color: var(--tdc-ciruela); font-weight: 700; }
.tdc-ficha__cuenta { margin-top: 22px; }
.tdc-ficha__detalle { display: grid; grid-template-columns: 1.6fr 1fr; gap: 40px; align-items: start; }
.tdc-ficha__detalle > * { min-width: 0; }
.tdc-datos { background: #fff; border-radius: 14px; padding: 24px; box-shadow: var(--tdc-sombra); }
.tdc .tdc-datos .tdc-h3 { margin-top: 0; }
.tdc-datos dl { display: grid; grid-template-columns: auto 1fr; gap: 8px 16px; margin: 0 0 20px; }
.tdc-datos dt { font: 700 .75rem/1.7 var(--tdc-texto); letter-spacing: .1em; text-transform: uppercase; color: var(--tdc-tenue); }
.tdc-datos dd { margin: 0; }
.tdc .tdc-mapa { width: 100%; height: 320px; border: 0; border-radius: 14px; margin-top: 28px; display: block; }

/* Caras de cómicos */
.tdc-caras { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 18px; }
.tdc-caras--peq { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); }
.tdc-caras--grandes { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 24px; }
.tdc-cara { display: grid; justify-items: center; text-align: center; gap: 4px; text-decoration: none !important; }
.tdc .tdc-cara__img, .elementor .tdc .tdc-cara__img, .tdc-cara__ini { width: 100%; max-width: 150px; aspect-ratio: 1; border-radius: 50%; object-fit: cover; background: var(--tdc-chip); box-shadow: 0 10px 24px -14px rgba(77, 2, 61, .6); transition: transform .2s; }
.tdc-caras--grandes .tdc-cara__img, .tdc-caras--grandes .tdc-cara__ini { max-width: 190px; }
.tdc-cara__ini { display: grid; place-items: center; font: 800 2rem var(--tdc-titulo); color: var(--tdc-ciruela); }
.tdc-cara:hover .tdc-cara__img { transform: scale(1.04); }
.tdc-cara__nombre { font: 800 1rem/1.2 var(--tdc-titulo); text-transform: uppercase; color: var(--tdc-ciruela); margin-top: 10px; }
.tdc-cara__rol { font-size: .85rem; color: var(--tdc-suave); }

/* Fechas como entradas */
.tdc-stubs { display: grid; gap: 12px; }
.tdc-stub { display: grid; grid-template-columns: 90px 1fr auto; align-items: center; gap: 18px; background: #fff; border-radius: 12px; padding: 14px 18px; border-left: 4px dashed #D9B9CF; box-shadow: var(--tdc-sombra); transition: transform .15s; }
.tdc-stub:hover { transform: translateY(-1px); }
.tdc-stub[hidden] { display: none; }
.tdc-stub a { text-decoration: none !important; }
.tdc-stub__fecha { display: grid; justify-items: center; }
.tdc-stub__dia { font: 800 2.3rem/1 var(--tdc-titulo); color: var(--tdc-ciruela); font-variant-numeric: tabular-nums; }
.tdc-stub__mes { font: 700 .75rem/1.3 var(--tdc-texto); letter-spacing: .14em; text-transform: uppercase; color: var(--tdc-naranja); }
.tdc-stub__info { min-width: 0; display: grid; gap: 2px; }
.tdc-stub__info b { font: 700 1.12rem/1.25 var(--tdc-texto); color: var(--tdc-tinta); }
.tdc-stub__info span { font-size: .9rem; color: var(--tdc-suave); }

/* Portada: destacado */
.tdc-destacado { padding-block: 48px 56px; background: linear-gradient(180deg, var(--tdc-lila) 0%, #fff 100%); }
.tdc-destacado__grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 44px; align-items: center; }
.tdc .tdc-destacado__titulo { font: 800 clamp(2.4rem, 6vw, 4.2rem)/1 var(--tdc-titulo); text-transform: uppercase; margin: 12px 0 16px; text-wrap: balance; color: var(--tdc-ciruela); }
.tdc-destacado__titulo em { font-style: normal; color: var(--tdc-naranja); }
.tdc-destacado p { color: var(--tdc-suave); max-width: 46ch; }
.tdc-destacado__cartel .tdc-cartel { box-shadow: 0 24px 50px -28px rgba(77, 2, 61, .55); }

/* Cabecera de página */
.tdc-cab { padding-block: 52px 34px; background: linear-gradient(180deg, var(--tdc-lila) 0%, #fff 100%); }
.tdc .tdc-cab__titulo { font: 800 clamp(2.4rem, 6vw, 4rem)/1 var(--tdc-titulo); text-transform: uppercase; margin: 0; color: var(--tdc-ciruela); text-wrap: balance; }
.tdc-cab__texto { color: var(--tdc-suave); max-width: 60ch; margin: 14px 0 0; font-size: 1.08rem; }
.elementor-widget-shortcode:has(.tdc-cab) + .elementor-widget-shortcode .tdc-seccion { padding-top: 16px; }

/* Cartelera */
.tdc-filtros { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 6px; margin-bottom: 26px; }
.tdc .tdc-filtros button { flex: none; font: 700 .9rem/1 var(--tdc-texto) !important; padding: 10px 16px !important; border-radius: 99px !important; border: 0 !important; box-shadow: none !important; background: var(--tdc-chip) !important; color: var(--tdc-ciruela) !important; cursor: pointer; }
.tdc .tdc-filtros button:hover { background: #E8D6E3 !important; }
.tdc .tdc-filtros button.is-on { background: var(--tdc-ciruela) !important; color: var(--tdc-oro) !important; }
.tdc-mes + .tdc-mes { margin-top: 30px; }
.tdc .tdc-mes__titulo { font: 700 .85rem/1 var(--tdc-texto); letter-spacing: .14em; text-transform: uppercase; color: var(--tdc-suave); margin: 0 0 14px; }
.tdc-mes__titulo small { font-size: inherit; color: var(--tdc-tenue); margin-left: 8px; letter-spacing: .06em; }
.tdc-mes[hidden] { display: none; }

/* Archivo */
.tdc-archivo { background: var(--tdc-gris); }
.tdc-archivo .tdc-mes__titulo { margin-top: 30px; }
.tdc-archivo__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 18px; }
.tdc-archivo__item { display: grid; gap: 4px; text-decoration: none !important; background: #fff; border-radius: 12px; padding: 10px 10px 14px; box-shadow: var(--tdc-sombra); }
.tdc .tdc-archivo__item .tdc-cartel { border-radius: 8px; margin-bottom: 6px; }
.tdc-archivo__item b { color: var(--tdc-ciruela); }
.tdc-archivo__item span:last-child { font-size: .85rem; color: var(--tdc-suave); }

/* Cifras */
.tdc-cifras { background: var(--tdc-gris); }
.tdc-cifras__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 20px; }
.tdc-cifras b { display: block; font: 800 2.3rem/1 var(--tdc-titulo); color: var(--tdc-ciruela); }
.tdc-cifras span { color: var(--tdc-suave); font-size: .95rem; }

/* Ficha de cómico */
.tdc-comico__grid { display: grid; grid-template-columns: 320px 1fr; gap: 44px; align-items: center; }
.tdc .tdc-comico__foto img, .elementor .tdc .tdc-comico__foto img, .tdc-comico__foto .tdc-cara__ini { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 50%; box-shadow: 0 24px 50px -28px rgba(77, 2, 61, .6); }
.tdc-comico__rol { font: 700 1.1rem var(--tdc-texto); color: var(--tdc-naranja); margin: -6px 0 16px; }

/* Bloques editoriales */
.tdc-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px; background: var(--tdc-ciruela); border-radius: 18px; padding: 34px; color: #fff; }
.tdc .tdc-cta .tdc-h2 { margin: 0 0 6px; color: #fff; }
.tdc-cta p { margin: 0; color: #EBD9E4; max-width: 56ch; }
.tdc .tdc-cta .tdc-btn { background: var(--tdc-oro); color: var(--tdc-ciruela) !important; }
.tdc .tdc-cta .tdc-btn:hover { background: #ffe999; }
.tdc-tarjetas { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }
.tdc-tarjeta { background: #fff; border-radius: 14px; padding: 24px; display: grid; gap: 8px; align-content: start; box-shadow: var(--tdc-sombra); border-top: 4px solid var(--tdc-oro); }
.tdc .tdc-tarjeta .tdc-h3 { margin: 0; }
.tdc-tarjeta p { margin: 0; color: var(--tdc-suave); }

/* Vídeo con carga al pulsar (el tema da estilos a todos los <button>: los anulamos) */
.tdc .tdc-video, .tdc button.tdc-video[type="button"] { position: relative; display: block !important; width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; padding: 0 !important; border: 0 !important; border-radius: 14px !important; background-color: #000 !important; background-size: cover !important; background-position: center !important; cursor: pointer; overflow: hidden; box-shadow: 0 24px 50px -28px rgba(77, 2, 61, .6); }
.tdc .tdc-video:hover, .tdc .tdc-video:focus { background-color: #000 !important; }
.tdc-video__play { position: absolute; z-index: 1; left: 50%; top: 50%; width: 84px; height: 84px; margin: -42px 0 0 -42px; border-radius: 50%; background: var(--tdc-ciruela); box-shadow: 0 12px 30px -10px #000; transition: transform .2s; }
.tdc-video__play::before { content: ""; position: absolute; left: 34px; top: 26px; border-style: solid; border-width: 16px 0 16px 26px; border-color: transparent transparent transparent var(--tdc-oro); }
.tdc-video:hover .tdc-video__play { transform: scale(1.08); }
.tdc-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; z-index: 2; }
.tdc .tdc-video:focus-visible { outline: 3px solid var(--tdc-naranja); outline-offset: 3px; }

/* Instagram */
.tdc-insta { background: var(--tdc-gris); }
.tdc-insta #sb_instagram { background: transparent !important; }

/* Formulario de contacto */
.tdc-form-wrap { background: var(--tdc-gris); }

/* Barra de compra fija en móvil */
.tdc-barra { display: none; }
@media (max-width: 760px) {
  .tdc { font-size: 16px; }
  .tdc-ficha__grid, .tdc-destacado__grid, .tdc-ficha__detalle, .tdc-comico__grid { grid-template-columns: 1fr; gap: 24px; }
  .tdc-ficha__hero { padding-block: 20px 32px; }
  .tdc-destacado__cartel { order: -1; }
  .tdc-comico__foto { max-width: 240px; }
  .tdc-seccion { padding-block: 40px; }
  .tdc-stub { grid-template-columns: 64px 1fr; gap: 12px; padding: 12px 14px; }
  .tdc-stub__dia { font-size: 2rem; }
  .tdc-stub__cta { grid-column: 1 / -1; }
  .tdc .tdc-stub__cta .tdc-btn { width: 100%; }
  .tdc-caras { grid-template-columns: repeat(3, 1fr); gap: 12px; }
  .tdc-caras--grandes { grid-template-columns: repeat(2, 1fr); }
  .tdc .tdc-mapa { height: 240px; }
  .tdc-ficha { padding-bottom: 76px; }
  .tdc-barra { display: flex; position: fixed; z-index: 999; left: 0; right: 0; bottom: 0; align-items: center; justify-content: space-between; gap: 12px;
    background: #fff; box-shadow: 0 -8px 24px -12px rgba(77, 2, 61, .35);
    padding: 10px max(16px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px)); }
  .tdc-barra small { display: block; font-size: .78rem; color: var(--tdc-suave); }
  .tdc-barra b { font: 700 1rem var(--tdc-texto); color: var(--tdc-ciruela); }
  .tdc .tdc-barra .tdc-btn { padding: 12px 20px; }
  /* El botón de WhatsApp (Joinchat) sube para no tapar la barra de compra */
  body:has(.tdc-barra) .joinchat { --bottom: 86px; bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important; }
}
@media (prefers-reduced-motion: reduce) { .tdc * { transition: none !important; } }

/* Tarjetas de evento (como las de la web original) */
.tdc-tarjetas-ev { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.tdc-tarjeta-ev { display: flex; flex-direction: column; background: #fff; border-radius: 16px; padding: 22px; box-shadow: 0 12px 34px -18px rgba(0, 0, 0, .35); }
.tdc-tarjeta-ev[hidden] { display: none; }
.tdc .tdc-tarjeta-ev__cartel .tdc-cartel { border-radius: 4px; margin-bottom: 18px; }
.tdc-tarjeta-ev .tdc-eyebrow { margin-bottom: 4px; }
.tdc .tdc-tarjeta-ev__titulo { font: 800 clamp(1.7rem, 3vw, 2.3rem)/1.1 var(--tdc-titulo); text-transform: uppercase; color: var(--tdc-tinta); margin: 0 0 12px; }
.tdc .tdc-tarjeta-ev__titulo a { text-decoration: none; color: inherit; }
.tdc-tarjeta-ev__datos { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 14px; color: var(--tdc-tinta); font-size: 1rem; line-height: 1.45; }
.tdc-tarjeta-ev__datos i { font-style: normal; font-weight: 700; }
.tdc-tarjeta-ev__icono { width: 20px; height: 20px; flex: none; margin-top: 2px; color: var(--tdc-tinta); }
.tdc-tarjeta-ev__texto { margin: 0 0 22px; color: #555; }
.tdc .tdc-tarjeta-ev__btn { margin-top: auto; width: 100%; font-size: 1.15rem; padding: 18px 20px; box-shadow: 0 0 0 3px #f6c9e3, 0 10px 24px -12px rgba(77, 2, 61, .7); }
.tdc-seccion--clara .tdc-tarjeta-ev, .tdc-archivo .tdc-tarjeta-ev { box-shadow: 0 12px 34px -20px rgba(0, 0, 0, .3); }
@media (max-width: 760px) {
  .tdc-tarjetas-ev { grid-template-columns: 1fr; gap: 20px; }
  .tdc-tarjeta-ev { padding: 16px; }
}

/* Cuenta atrás (fragmento «Cuenta atrás eventos»): el enlace heredaba el gris del texto y no se leía sobre el ciruela */
.tdc .tc-countdown a.tc-countdown-enlace, .tdc .tc-countdown a.tc-countdown-enlace:visited { color: #FFF6E0 !important; text-decoration-color: #FCE27D; }
.tdc .tc-countdown a.tc-countdown-enlace:hover { color: #FCE27D !important; }
.tdc .tc-countdown .tc-ticket-icon { color: #FCE27D; stroke: currentColor; }
.tdc .tdc-mapa--sola { margin-top: 0; }
/* El bloque «Sobre el espectáculo» va justo bajo la cabecera: sin hueco extra */
.tdc-ficha__hero + .tdc-seccion--clara { padding-top: 44px; }

/* Ficha con cartel vertical (1080×1350) */
.tdc-ficha--vertical .tdc-ficha__grid { grid-template-columns: minmax(260px, 420px) 1fr; gap: 56px; }
.tdc .tdc-cartel--vertical, .elementor .tdc .tdc-cartel--vertical { aspect-ratio: 4 / 5; object-fit: cover; border-radius: 12px; }
@media (max-width: 760px) {
  .tdc-ficha--vertical .tdc-ficha__grid { grid-template-columns: 1fr; gap: 22px; }
  .tdc-ficha--vertical .tdc-ficha__cartel { max-width: 420px; margin: 0 auto; width: 100%; }
}
@media (max-width: 760px) {
  /* En móvil el cartel vertical no ocupa toda la pantalla: así se ven antes el título y el botón de compra */
  .tdc-ficha--vertical .tdc-ficha__cartel { max-width: 260px; }
}

/* Sello de la gira y distinción de tipos */
.tdc-sello { display: inline-block; align-self: flex-start; background: var(--tdc-ciruela); color: var(--tdc-oro); font: 800 .72rem/1 var(--tdc-texto); letter-spacing: .12em; text-transform: uppercase; padding: 7px 10px; border-radius: 6px; margin-bottom: 10px; }
.tdc-tarjeta-ev .tdc-sello { margin-bottom: 8px; }
.tdc-tarjeta-ev:not(.tdc-tarjeta-ev--gira) { border-top: 4px solid var(--tdc-naranja); }
.tdc-tarjeta-ev:not(.tdc-tarjeta-ev--gira) .tdc-tarjeta-ev__titulo { font-size: clamp(1.5rem, 2.6vw, 2rem); }
.tdc-filtros--tipo { margin-bottom: 12px; }

/* Tarjetas que no son de la gira: botón y borde con el color predominante del cartel */
.tdc-tarjeta-ev[style*="--tdc-btn-bg"] { border-top-color: var(--tdc-btn-bg); }
.tdc .tdc-tarjeta-ev[style*="--tdc-btn-bg"] .tdc-tarjeta-ev__btn { background: var(--tdc-btn-bg); color: var(--tdc-btn-fg) !important; box-shadow: 0 0 0 3px var(--tdc-btn-halo), 0 10px 24px -12px var(--tdc-btn-bg); }
.tdc .tdc-tarjeta-ev[style*="--tdc-btn-bg"] .tdc-tarjeta-ev__btn:hover { filter: brightness(1.08); background: var(--tdc-btn-bg); }

/* Menú de la cabecera original: con 7 apartados, un poco menos de espacio entre ellos para que quepan en una línea */
@media (min-width: 1025px) {
  .elementor-location-header .elementor-nav-menu--main .elementor-nav-menu > li > .elementor-item { padding-left: 11px; padding-right: 11px; }
  .elementor-location-header .elementor-nav-menu--main .elementor-nav-menu { flex-wrap: nowrap; }
}
/* Sin línea de color arriba en las tarjetas que no son de la gira */
.tdc-tarjeta-ev:not(.tdc-tarjeta-ev--gira), .tdc-tarjeta-ev[style*="--tdc-btn-bg"] { border-top: 0; }

/* Tarjeta: fecha tipo entrada y aviso de cuenta atrás sobre el cartel */
.tdc-tarjeta-ev__cartel { position: relative; display: block; }
.tdc-ticket { position: absolute; top: 12px; left: 12px; display: grid; justify-items: center; min-width: 62px; padding: 7px 10px 8px; background: #fff; border-radius: 8px; box-shadow: 0 8px 20px -8px rgba(0,0,0,.55); line-height: 1; text-transform: uppercase; }
.tdc-ticket::after { content: ""; position: absolute; left: 6px; right: 6px; bottom: 22px; border-top: 1px dashed #D9B9CF; }
.tdc-ticket span { font: 700 .66rem/1 var(--tdc-texto); letter-spacing: .12em; color: var(--tdc-suave); }
.tdc-ticket b { font: 800 1.9rem/1.05 var(--tdc-titulo); color: var(--tdc-ciruela); margin: 2px 0 9px; }
.tdc-ticket span:last-child { color: var(--tdc-naranja); }
.tdc-aviso-dias { position: absolute; top: 12px; right: 12px; background: rgba(255,255,255,.94); color: var(--tdc-ciruela); font: 700 .8rem/1 var(--tdc-texto); padding: 8px 11px; border-radius: 99px; box-shadow: 0 6px 16px -8px rgba(0,0,0,.5); }
.tdc-aviso-dias--urgente { background: #D7263D; color: #fff; }
/* Datos en etiquetas */
.tdc-tarjeta-ev__chips { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tdc-tarjeta-ev__chips li { display: inline-flex; align-items: center; gap: 6px; margin: 0; background: var(--tdc-chip); color: var(--tdc-ciruela); font: 600 .9rem/1.2 var(--tdc-texto); padding: 8px 11px; border-radius: 8px; }
.tdc-tarjeta-ev__chips svg { width: 16px; height: 16px; flex: none; }
@media (max-width: 760px) {
  .tdc-ticket { top: 8px; left: 8px; min-width: 50px; padding: 5px 8px 6px; }
  .tdc-ticket b { font-size: 1.45rem; margin-bottom: 7px; }
  .tdc-ticket::after { bottom: 18px; }
  .tdc-aviso-dias { top: 8px; right: 8px; font-size: .74rem; padding: 6px 9px; }
}

/* Fecha y días que faltan FUERA del cartel */
.tdc-tarjeta-ev__cab { display: flex; gap: 16px; align-items: center; margin-bottom: 14px; }
.tdc-tarjeta-ev__nombre { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.tdc .tdc-tarjeta-ev__nombre .tdc-tarjeta-ev__titulo { margin: 0; }
.tdc-tarjeta-ev__nombre .tdc-sello, .tdc-tarjeta-ev__nombre .tdc-eyebrow { margin-bottom: 6px; }
.tdc .tdc-tarjeta-ev .tdc-ticket { position: static; flex: none; box-shadow: none; border: 1.5px solid #E6DAE3; background: #fff; min-width: 66px; padding: 7px 10px 8px; }
.tdc .tdc-tarjeta-ev .tdc-ticket::after { bottom: 22px; }
.tdc-tarjeta-ev__chips .tdc-aviso-dias { position: static; box-shadow: none; background: #FFF4D6; color: #8A5A00; border-radius: 8px; padding: 8px 11px; font: 700 .9rem/1.2 var(--tdc-texto); }
.tdc-tarjeta-ev__chips .tdc-aviso-dias--urgente { background: #D7263D; color: #fff; }
@media (max-width: 760px) {
  .tdc .tdc-tarjeta-ev .tdc-ticket { min-width: 56px; padding: 6px 8px 7px; }
  .tdc .tdc-tarjeta-ev .tdc-ticket b { font-size: 1.6rem; }
  .tdc-tarjeta-ev__cab { gap: 12px; }
  .tdc-tarjeta-ev__chips .tdc-aviso-dias { font-size: .85rem; padding: 7px 10px; }
}

/* Tarjetas que se distinguen del fondo: la sección que las contiene pasa a gris lila suave
   y cada tarjeta lleva borde fino, sombra más marcada y un leve levantamiento al pasar el ratón */
.tdc-seccion:has(.tdc-tarjetas-ev) { background: #F4EFF3; }
.tdc-tarjeta-ev { border: 1px solid #E3D6E0; box-shadow: 0 1px 2px rgba(77, 2, 61, .06), 0 16px 34px -18px rgba(77, 2, 61, .45); transition: transform .2s, box-shadow .2s; }
.tdc-tarjeta-ev:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(77, 2, 61, .08), 0 22px 40px -18px rgba(77, 2, 61, .55); }
@media (prefers-reduced-motion: reduce) { .tdc-tarjeta-ev:hover { transform: none; } }

/* Fondo de las tarjetas en tono butaca (rojizo cálido) en lugar de lila */
.tdc-seccion:has(.tdc-tarjetas-ev) { background: #F6E6E3; }
.tdc-tarjeta-ev { border-color: #EBCFCA; box-shadow: 0 1px 2px rgba(122, 20, 36, .07), 0 16px 34px -18px rgba(122, 20, 36, .5); }
.tdc-tarjeta-ev:hover { box-shadow: 0 2px 4px rgba(122, 20, 36, .09), 0 22px 40px -18px rgba(122, 20, 36, .6); }

/* «Ver cartelera completa», «Ver todos», «@tierradecomedia»: botón píldora con la flecha en círculo dorado */
.tdc .tdc-mas--boton { display: inline-flex; align-items: center; gap: 10px; background: #fff; color: var(--tdc-ciruela) !important; border: 2px solid var(--tdc-ciruela); border-radius: 99px; padding: 7px 8px 7px 18px; font: 700 .95rem/1 var(--tdc-texto); text-transform: uppercase; letter-spacing: .04em; text-decoration: none !important; box-shadow: 0 6px 16px -10px rgba(77, 2, 61, .6); transition: background .2s, color .2s, transform .2s; }
.tdc-mas__flecha { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--tdc-oro); color: var(--tdc-ciruela); font-size: 1rem; transition: transform .2s; }
.tdc .tdc-mas--boton:hover { background: var(--tdc-ciruela); color: var(--tdc-oro) !important; text-decoration: none !important; transform: translateY(-1px); }
.tdc .tdc-mas--boton:hover .tdc-mas__flecha { transform: translateX(3px); }
.tdc .tdc-mas--boton:focus-visible { outline: 3px solid var(--tdc-naranja); outline-offset: 2px; }
.tdc-cabecera { align-items: center; }
@media (max-width: 760px) { .tdc .tdc-mas--boton { font-size: .85rem; padding: 6px 6px 6px 14px; } .tdc-mas__flecha { width: 26px; height: 26px; } }
@media (prefers-reduced-motion: reduce) { .tdc .tdc-mas--boton, .tdc-mas__flecha { transition: none; } }

/* ---------- Tarjeta compacta (cartelera, 3 columnas) ---------- */
.tdc-tarjetas-ev--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 1024px) { .tdc-tarjetas-ev--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .tdc-tarjetas-ev--3 { grid-template-columns: 1fr; } }
.tdc-tarjeta-ev--compacta { padding: 16px; }
.tdc .tdc-tarjeta-ev--compacta .tdc-tarjeta-ev__cartel .tdc-cartel { margin-bottom: 14px; }
.tdc-tarjeta-ev--compacta .tdc-tarjeta-ev__cab { gap: 12px; margin-bottom: 10px; }
.tdc .tdc-tarjeta-ev--compacta .tdc-ticket { min-width: 52px; padding: 5px 8px 6px; }
.tdc .tdc-tarjeta-ev--compacta .tdc-ticket b { font-size: 1.45rem; margin-bottom: 7px; }
.tdc .tdc-tarjeta-ev--compacta .tdc-ticket span { font-size: .58rem; }
.tdc .tdc-tarjeta-ev--compacta .tdc-ticket::after { bottom: 17px; }
.tdc-tarjeta-ev--compacta .tdc-sello { font-size: .6rem; padding: 5px 7px; letter-spacing: .1em; margin-bottom: 5px; }
.tdc-tarjeta-ev--compacta .tdc-eyebrow { font-size: .66rem; margin-bottom: 4px; }
.tdc .tdc-tarjeta-ev--compacta .tdc-tarjeta-ev__titulo { font-size: clamp(1.1rem, 1.5vw, 1.35rem); line-height: 1.15; }
.tdc-tarjeta-ev--compacta .tdc-tarjeta-ev__chips { gap: 6px; margin-bottom: 10px; }
.tdc-tarjeta-ev--compacta .tdc-tarjeta-ev__chips li, .tdc-tarjeta-ev--compacta .tdc-tarjeta-ev__chips .tdc-aviso-dias { font-size: .76rem; padding: 6px 8px; }
.tdc-tarjeta-ev--compacta .tdc-tarjeta-ev__chips svg { width: 13px; height: 13px; }
.tdc-tarjeta-ev--compacta .tdc-tarjeta-ev__texto { font-size: .9rem; line-height: 1.5; margin-bottom: 16px; }
.tdc .tdc-leer-mas { color: var(--tdc-ciruela) !important; font-weight: 700; text-decoration: underline; text-decoration-color: var(--tdc-oro); text-decoration-thickness: 2px; text-underline-offset: 3px; white-space: nowrap; }
.tdc .tdc-leer-mas:hover { color: var(--tdc-naranja) !important; }
.tdc .tdc-tarjeta-ev--compacta .tdc-tarjeta-ev__btn { font-size: .92rem; padding: 14px; }
@media (max-width: 760px) {
  .tdc .tdc-tarjeta-ev--compacta .tdc-tarjeta-ev__titulo { font-size: 1.45rem; }
  .tdc .tdc-tarjeta-ev--compacta .tdc-tarjeta-ev__btn { font-size: 1rem; padding: 16px; }
}

/* ---------- Botón de WhatsApp (Joinchat) con los colores de la web ---------- */
.joinchat { --s: 58px; }
.joinchat__button { background-color: #4D023D !important; box-shadow: 0 0 0 3px #FCE27D, 0 10px 24px -8px rgba(77, 2, 61, .7) !important; }
.joinchat__button:hover { background-color: #63104F !important; }
.joinchat__button__open svg, .joinchat__button__open path { fill: #FCE27D !important; }
.joinchat__tooltip { background: #4D023D !important; color: #FCE27D !important; font-family: "Barlow", system-ui, sans-serif; font-weight: 700; filter: drop-shadow(0 4px 10px rgba(77, 2, 61, .35)) !important; }
.joinchat__tooltip::after { border-left-color: #4D023D !important; }
.joinchat__tooltip div { background: transparent !important; color: inherit !important; }
.joinchat__header { background: #4D023D !important; color: #fff !important; font-family: "Barlow", system-ui, sans-serif; }
.joinchat__header__text { font-weight: 700; letter-spacing: .02em; }
.joinchat__box { border-radius: 16px !important; }
.joinchat__bubble { font-family: "Barlow", system-ui, sans-serif; font-size: 15px !important; line-height: 1.45; }
.joinchat__open { background: #4D023D !important; color: #FCE27D !important; font-family: "Barlow", system-ui, sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.joinchat__open:hover { background: #63104F !important; }
.joinchat__open svg, .joinchat__open path { fill: #FCE27D !important; stroke: #FCE27D !important; }

/* ---------- Ficha con la paleta de su cartel (espectáculos que no son de la gira) ---------- */
.tdc-ficha--paleta .tdc-ficha__hero { background: linear-gradient(180deg, var(--fx-fondo) 0%, #fff 100%); }
.tdc-ficha--paleta .tdc-seccion--clara { background: var(--fx-fondo); }
.tdc.tdc-ficha--paleta .tdc-ficha__titulo,
.tdc.tdc-ficha--paleta .tdc-h2, .tdc.tdc-ficha--paleta .tdc-h3,
.tdc-ficha--paleta .tdc-cara__nombre, .tdc-ficha--paleta .tdc-texto strong,
.tdc-ficha--paleta .tdc-seccion--clara a, .tdc-ficha--paleta .tdc-precio b { color: var(--fx-principal); }
.tdc-ficha--paleta .tdc-eyebrow { color: var(--fx-antetitulo); }
.tdc-ficha--paleta .tdc-chips li { background: var(--fx-chip); color: var(--fx-principal); }
.tdc.tdc-ficha--paleta .tdc-btn { background: var(--fx-principal); color: var(--fx-btn-texto) !important; box-shadow: 0 8px 20px -10px var(--fx-principal); }
.tdc.tdc-ficha--paleta .tdc-btn:hover { background: var(--fx-principal); filter: brightness(1.15); }
.tdc-ficha--paleta .tdc-ficha__cartel .tdc-cartel { box-shadow: 0 24px 50px -28px var(--fx-principal); }
.tdc-ficha--paleta .tdc-cara__img { box-shadow: 0 10px 24px -14px var(--fx-principal); }
/* Cuenta atrás */
.tdc-ficha--paleta .tc-countdown { background: var(--fx-principal) !important; }
.tdc-ficha--paleta .tc-countdown-item { background: rgba(255, 255, 255, .12) !important; }
.tdc-ficha--paleta .tc-countdown-titulo, .tdc-ficha--paleta .tc-countdown-item * { color: var(--fx-btn-texto) !important; }
.tdc.tdc-ficha--paleta .tc-countdown a.tc-countdown-enlace { color: #fff !important; text-decoration-color: var(--fx-btn-texto); }
.tdc.tdc-ficha--paleta .tc-countdown .tc-ticket-icon { color: var(--fx-btn-texto); }
/* Barra de compra en móvil */
.tdc-ficha--paleta .tdc-barra b { color: var(--fx-principal); }

/* ===== Variantes de «Próximas fechas» (en prueba) ===== */
.tdc-etiqueta-prueba { display: inline-block; background: #111; color: #fff; font: 700 .8rem/1 var(--tdc-texto); letter-spacing: .08em; text-transform: uppercase; padding: 8px 12px; border-radius: 6px; margin: 0 0 18px; }

/* A · Escenario oscuro */
.tdc-seccion.tdc-prox--escenario { background: radial-gradient(70% 55% at 50% -5%, rgba(252, 226, 125, .22) 0%, rgba(252, 226, 125, 0) 60%), linear-gradient(180deg, #2A0722 0%, #1A0615 100%) !important; }
.tdc-prox--escenario .tdc .tdc-h2, .tdc.tdc-prox--escenario .tdc-h2 { color: #fff; position: relative; padding-bottom: 10px; }
.tdc.tdc-prox--escenario .tdc-h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 64px; height: 4px; border-radius: 4px; background: var(--tdc-oro); }
.tdc.tdc-prox--escenario .tdc-tarjeta-ev { border: 0; box-shadow: 0 30px 60px -30px #000, 0 0 0 1px rgba(255,255,255,.06); }
.tdc.tdc-prox--escenario .tdc-mas--boton { background: transparent; color: #fff !important; border-color: rgba(255,255,255,.6); box-shadow: none; }
.tdc.tdc-prox--escenario .tdc-mas--boton:hover { background: var(--tdc-oro); color: var(--tdc-ciruela) !important; border-color: var(--tdc-oro); }
.tdc.tdc-prox--escenario .tdc-etiqueta-prueba { background: #fff; color: #111; }

/* B · Neutro + tarjeta con franja de color */
.tdc-seccion.tdc-prox--marco { background: #F4F2F1 !important; }
.tdc.tdc-prox--marco .tdc-tarjeta-ev { border: 0; border-top: 6px solid var(--tdc-ciruela); box-shadow: 0 2px 4px rgba(0,0,0,.05), 0 24px 44px -24px rgba(0,0,0,.35); }
.tdc.tdc-prox--marco .tdc-tarjeta-ev[style*="--tdc-btn-bg"] { border-top-color: var(--tdc-btn-bg); }

/* C · Cartel a sangre con pie tintado */
.tdc-seccion.tdc-prox--sangre { background: #fff !important; }
.tdc.tdc-prox--sangre .tdc-tarjeta-ev { padding: 0; overflow: hidden; border: 0; background: #F7F1F6; box-shadow: 0 20px 40px -24px rgba(77, 2, 61, .5); }
.tdc.tdc-prox--sangre .tdc-tarjeta-ev[style*="--tdc-btn-bg"] { background: color-mix(in srgb, var(--tdc-btn-bg) 9%, #fff); }
.tdc.tdc-prox--sangre .tdc-tarjeta-ev__cartel .tdc-cartel { border-radius: 0; margin-bottom: 0; }
.tdc.tdc-prox--sangre .tdc-tarjeta-ev > :not(.tdc-tarjeta-ev__cartel) { margin-left: 22px; margin-right: 22px; }
.tdc.tdc-prox--sangre .tdc-tarjeta-ev__cab { margin-top: 18px; }
.tdc.tdc-prox--sangre .tdc-tarjeta-ev__btn { margin-bottom: 22px; width: auto; }

/* Fondo general de las secciones con tarjetas: neutro (el rojizo pasa a ser solo de prueba) */
.tdc-seccion:has(.tdc-tarjetas-ev) { background: #F4F2F1; }
.tdc-tarjeta-ev { border-color: #E7E2DF; box-shadow: 0 1px 2px rgba(0, 0, 0, .05), 0 18px 36px -20px rgba(0, 0, 0, .35); }
.tdc-tarjeta-ev:hover { box-shadow: 0 2px 4px rgba(0, 0, 0, .06), 0 24px 44px -20px rgba(0, 0, 0, .45); }
/* En el escenario oscuro, el levantamiento al pasar el ratón con sombra más intensa */
.tdc.tdc-prox--escenario .tdc-tarjeta-ev:hover { box-shadow: 0 36px 70px -30px #000, 0 0 0 1px rgba(252, 226, 125, .35); }

/* Filtros de la cartelera sobre el escenario oscuro */
.tdc.tdc-prox--escenario .tdc-filtros button { background: rgba(255, 255, 255, .1) !important; color: #F3E6EE !important; }
.tdc.tdc-prox--escenario .tdc-filtros button:hover { background: rgba(255, 255, 255, .18) !important; color: #fff !important; }
.tdc.tdc-prox--escenario .tdc-filtros button.is-on { background: var(--tdc-oro) !important; color: var(--tdc-ciruela) !important; }
.tdc.tdc-prox--escenario .tdc-vacio { color: #E6D3DF; }
/* La cabecera clara de la página enlaza con el escenario sin corte brusco */
.elementor-widget-shortcode:has(.tdc-cab) + .elementor-widget-shortcode .tdc-prox--escenario { padding-top: 40px; }

/* ===================== CABECERA (menú) ===================== */
.elementor-location-header { position: sticky; top: 0; z-index: 1000; }
.admin-bar .elementor-location-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .elementor-location-header { top: 46px; } }
.elementor-location-header .e-con, .elementor-location-header .elementor-widget-shortcode { padding: 0 !important; margin: 0 !important; }
.tdc-menu { font-family: var(--tdc-texto); background: rgba(255, 255, 255, .96); backdrop-filter: saturate(1.2) blur(10px); -webkit-backdrop-filter: saturate(1.2) blur(10px); border-bottom: 1px solid #EEE7EC; transition: box-shadow .2s; }
.tdc-menu.is-scrolled { box-shadow: 0 8px 24px -16px rgba(77, 2, 61, .45); }
.tdc-menu__barra { max-width: 1240px; margin: 0 auto; display: flex; align-items: center; gap: 24px; padding: 12px max(16px, env(safe-area-inset-right, 0px)) 12px max(16px, env(safe-area-inset-left, 0px)); transition: padding .2s; }
.tdc-menu.is-scrolled .tdc-menu__barra { padding-top: 6px; padding-bottom: 6px; }
.tdc-menu__marca { flex: none; display: block; }
.tdc-menu .tdc-menu__logo { height: 52px; width: auto; display: block; transition: height .2s; }
.tdc-menu.is-scrolled .tdc-menu__logo { height: 42px; }
.tdc-ico { width: 20px; height: 20px; flex: none; display: block; }

/* Escritorio */
.tdc-menu__nav { margin-left: auto; }
.tdc-menu__nav > ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 4px; }
.tdc-menu__nav > ul > li { position: relative; margin: 0; }
.tdc-menu__nav > ul > li > a { display: flex; align-items: center; gap: 4px; padding: 10px 11px; color: var(--tdc-ciruela); text-decoration: none; font: 700 .86rem/1 var(--tdc-texto); text-transform: uppercase; letter-spacing: .04em; border-radius: 8px; position: relative; white-space: nowrap; }
.tdc-menu__nav > ul > li > a .tdc-ico { width: 15px; height: 15px; transition: transform .2s; }
.tdc-menu__nav > ul > li > a::after { content: ""; position: absolute; left: 11px; right: 11px; bottom: 3px; height: 3px; border-radius: 3px; background: var(--tdc-oro); transform: scaleX(0); transform-origin: left; transition: transform .2s; }
.tdc-menu__nav > ul > li > a:hover::after, .tdc-menu__nav > ul > li.es-actual > a::after { transform: scaleX(1); }
.tdc-menu__nav > ul > li > a:hover { background: #F7F1F6; }
.tdc-menu__nav > ul > li.tiene-sub:hover > a .tdc-ico, .tdc-menu__nav > ul > li.tiene-sub:focus-within > a .tdc-ico { transform: rotate(180deg); }
.tdc-menu__sub { position: absolute; top: 100%; left: 50%; transform: translate(-50%, 8px); min-width: 280px; padding-top: 10px; opacity: 0; visibility: hidden; transition: opacity .18s, transform .18s, visibility .18s; }
.tdc-menu__nav li.tiene-sub:hover .tdc-menu__sub, .tdc-menu__nav li.tiene-sub:focus-within .tdc-menu__sub { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.tdc-menu__sub ul { list-style: none; margin: 0; padding: 8px; background: #fff; border: 1px solid #EEE7EC; border-radius: 14px; box-shadow: 0 20px 40px -20px rgba(77, 2, 61, .45); }
.tdc-menu__sub li { margin: 0; }
.tdc-menu__sub a { display: flex; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 10px; text-decoration: none; color: var(--tdc-tinta); }
.tdc-menu__sub a:hover { background: #F7F1F6; }
.tdc-menu__sub b { display: block; color: var(--tdc-ciruela); font-size: .95rem; }
.tdc-menu__sub small { display: block; color: var(--tdc-suave); font-size: .8rem; }
.tdc-menu__dia { flex: none; display: grid; justify-items: center; width: 44px; padding: 5px 0; border-radius: 8px; background: var(--tdc-ciruela); color: var(--tdc-oro); font: 700 .62rem/1.1 var(--tdc-texto); text-transform: uppercase; letter-spacing: .08em; }
.tdc-menu__dia b { font: 800 1.15rem/1 var(--tdc-titulo); color: #fff !important; letter-spacing: 0; }
.tdc-menu__sub-todo a { justify-content: center; font-weight: 700; color: var(--tdc-ciruela); font-size: .85rem; border-top: 1px solid #F0EAEE; border-radius: 0 0 8px 8px; margin-top: 4px; }
.tdc-menu__sub-todo .tdc-ico { width: 16px; height: 16px; }
.tdc-menu__cta { flex: none; display: inline-flex; align-items: center; gap: 8px; background: var(--tdc-ciruela); color: var(--tdc-oro) !important; text-decoration: none !important; font: 700 .9rem/1 var(--tdc-texto); text-transform: uppercase; letter-spacing: .04em; padding: 12px 16px; border-radius: 99px; box-shadow: 0 0 0 3px #F6C9E3; transition: background .2s, transform .2s; }
.tdc-menu__cta:hover { background: #63104F; transform: translateY(-1px); }
.tdc-menu__cta .tdc-ico { width: 18px; height: 18px; }

/* Botón hamburguesa propio (3 trazos de distinto largo que se convierten en X) */
.tdc-menu .tdc-menu__boton { display: none; flex: none; width: 48px; height: 48px; padding: 0 !important; border: 0 !important; border-radius: 14px !important; background: var(--tdc-ciruela) !important; cursor: pointer; place-items: center; box-shadow: none !important; }
.tdc-menu__hamburguesa { position: relative; width: 22px; height: 16px; display: block; }
.tdc-menu__hamburguesa i { position: absolute; left: 0; height: 2.5px; border-radius: 3px; background: var(--tdc-oro); transition: transform .25s, opacity .2s, width .25s, top .25s; }
.tdc-menu__hamburguesa i:nth-child(1) { top: 0; width: 22px; }
.tdc-menu__hamburguesa i:nth-child(2) { top: 7px; width: 15px; }
.tdc-menu__hamburguesa i:nth-child(3) { top: 14px; width: 19px; }
.tdc-menu__boton:hover .tdc-menu__hamburguesa i { width: 22px; }
.tdc-menu.is-open .tdc-menu__hamburguesa i:nth-child(1) { top: 7px; width: 22px; transform: rotate(45deg); }
.tdc-menu.is-open .tdc-menu__hamburguesa i:nth-child(2) { opacity: 0; }
.tdc-menu.is-open .tdc-menu__hamburguesa i:nth-child(3) { top: 7px; width: 22px; transform: rotate(-45deg); }
.tdc-menu .tdc-menu__boton:focus-visible { outline: 3px solid var(--tdc-naranja); outline-offset: 2px; }

/* Menú móvil a pantalla completa (estilo escenario) */
.tdc-menu__movil { position: fixed; inset: 0; z-index: -1; overflow-y: auto; padding: calc(96px + env(safe-area-inset-top, 0px)) max(20px, env(safe-area-inset-right, 0px)) calc(28px + env(safe-area-inset-bottom, 0px)) max(20px, env(safe-area-inset-left, 0px));
  background: radial-gradient(80% 45% at 50% 0%, rgba(252, 226, 125, .18) 0%, rgba(252, 226, 125, 0) 60%), linear-gradient(180deg, #2A0722 0%, #1A0615 100%); color: #fff; display: flex; flex-direction: column; gap: 26px; }
.tdc-menu__movil[hidden] { display: none; }
.tdc-menu.is-open .tdc-menu__barra { position: relative; z-index: 2; }
.tdc-menu.is-open { background: transparent; border-color: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; }
.tdc-menu.is-open .tdc-menu__logo { filter: brightness(0) invert(1); }
.tdc-menu__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.tdc-menu__lista li { margin: 0; opacity: 0; transform: translateY(8px); animation: tdc-entra .35s ease forwards; animation-delay: calc(var(--i) * 45ms); }
@keyframes tdc-entra { to { opacity: 1; transform: none; } }
.tdc-menu__lista a { display: flex; align-items: center; gap: 14px; padding: 12px 12px; border-radius: 14px; color: #fff !important; text-decoration: none !important; font: 800 1.45rem/1.1 var(--tdc-titulo); text-transform: uppercase; letter-spacing: .01em; }
.tdc-menu__lista a:hover, .tdc-menu__lista a[aria-current] { background: rgba(255, 255, 255, .08); }
.tdc-menu__lista a > .tdc-ico { margin-left: auto; width: 20px; height: 20px; color: rgba(255, 255, 255, .45); }
.tdc-menu__icono { width: 44px; height: 44px; flex: none; display: grid; place-items: center; border-radius: 12px; background: rgba(252, 226, 125, .12); color: var(--tdc-oro); box-shadow: inset 0 0 0 1px rgba(252, 226, 125, .25); }
.tdc-menu__icono .tdc-ico { width: 24px; height: 24px; }
.tdc-menu__lista a[aria-current] .tdc-menu__icono { background: var(--tdc-oro); color: var(--tdc-ciruela); }
.tdc-menu__prox { display: grid; gap: 8px; }
.tdc-menu__titulo { display: flex; align-items: center; gap: 8px; margin: 0 0 4px; color: var(--tdc-oro); font: 700 .8rem/1 var(--tdc-texto); text-transform: uppercase; letter-spacing: .14em; }
.tdc-menu__titulo .tdc-ico { width: 16px; height: 16px; }
.tdc-menu__prox a { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 12px; background: rgba(255, 255, 255, .06); color: #fff !important; text-decoration: none !important; }
.tdc-menu__prox b { display: block; font-size: .98rem; color: #fff; }
.tdc-menu__prox small { display: block; color: #CDB8C6; font-size: .82rem; }
.tdc-menu__prox .tdc-menu__dia { background: var(--tdc-oro); color: var(--tdc-ciruela); }
.tdc-menu__prox .tdc-menu__dia b { color: var(--tdc-ciruela) !important; }
.tdc-menu__pie { margin-top: auto; display: grid; gap: 16px; }
.tdc-menu__pie .tdc-btn { width: 100%; background: var(--tdc-oro); color: var(--tdc-ciruela) !important; display: inline-flex; align-items: center; justify-content: center; padding: 18px; border-radius: 12px; font: 700 1.05rem/1 var(--tdc-texto); text-transform: uppercase; text-decoration: none !important; letter-spacing: .03em; }
.tdc-menu__redes { display: flex; justify-content: center; gap: 12px; }
.tdc-menu__redes a { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; color: #fff !important; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .3); }
.tdc-menu__redes a:hover { color: var(--tdc-oro) !important; box-shadow: inset 0 0 0 1.5px var(--tdc-oro); }
body.tdc-menu-abierto { overflow: hidden; }
body.tdc-menu-abierto .joinchat, body.tdc-menu-abierto .tdc-barra { display: none !important; }

/* Cambio a móvil */
@media (max-width: 1080px) {
  .tdc-menu__nav { display: none; }
  .tdc-menu .tdc-menu__boton { display: grid; }
  .tdc-menu__cta { margin-left: auto; padding: 11px 14px; }
}
@media (max-width: 420px) {
  .tdc-menu__cta span { display: none; }
  .tdc-menu__cta { padding: 11px; }
  .tdc-menu .tdc-menu__logo { height: 44px; }
}
@media (min-width: 1081px) { .tdc-menu__movil { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .tdc-menu *, .tdc-menu__lista li { transition: none !important; animation: none !important; opacity: 1; transform: none; } }
/* Ajustes del menú móvil */
.tdc-menu__movil { padding-top: calc(104px + env(safe-area-inset-top, 0px)); }
.admin-bar .tdc-menu__movil { padding-top: calc(150px + env(safe-area-inset-top, 0px)); }
.tdc-menu__lista a { font-size: 1.22rem; padding: 10px 12px; }
.tdc-menu__icono { width: 42px; height: 42px; }

/* ---------- Logo animado ---------- */
.tdc-menu .tdc-logo { height: 52px; width: auto; aspect-ratio: 1072 / 575; display: block; color: #000; overflow: visible; transition: height .2s; }
.tdc-menu.is-scrolled .tdc-logo { height: 42px; }
.tdc-menu.is-open .tdc-logo { color: #fff; }
.tdc-menu.is-open .tdc-logo image { filter: brightness(0) invert(1); }
.tdc-logo__barra { transform-box: fill-box; transform-origin: 0 0; }
.tdc-logo__a-izq { transform-box: view-box; }
/* Estado de reposo = logo original: barra visible, mitad izquierda de la A fuera */
.tdc-logo__a-izq { opacity: 0; }
/* Al cargar (y al pasar el ratón por el logo) se reproduce la secuencia:
   A completa a su distancia natural de la O → entra la barra → cae la mitad izquierda → lo que queda se acerca a la O */
.tdc-logo__corte { transform-box: view-box; }
.tdc-logo.anima .tdc-logo__corte { animation: tdc-acerca 2.4s cubic-bezier(.65, 0, .35, 1) both; }
.tdc-logo.anima .tdc-logo__barra { animation: tdc-barra 2.4s cubic-bezier(.65, 0, .35, 1) both; }
.tdc-logo.anima .tdc-logo__a-izq { animation: tdc-a-cae 2.4s cubic-bezier(.55, 0, .45, 1) both; }
@keyframes tdc-acerca {
  0%, 62% { transform: translateX(34px); }
  86%, 100% { transform: translateX(0); }
}
@keyframes tdc-barra {
  0%, 24% { clip-path: inset(0 0 100% 0); }
  42%, 100% { clip-path: inset(0 0 0 0); }
}
@keyframes tdc-a-cae {
  0%, 42% { opacity: 1; transform: translate(0, 0) rotate(0); }
  50% { opacity: 1; transform: translate(-6px, 12px) rotate(-1deg); }
  74%, 100% { opacity: 0; transform: translate(-46px, 90px) rotate(-6deg); }
}
@media (prefers-reduced-motion: reduce) { .tdc-logo.anima .tdc-logo__barra, .tdc-logo.anima .tdc-logo__a-izq, .tdc-logo.anima .tdc-logo__corte { animation: none; } }

/* ===== Variantes del destacado (en prueba) ===== */
.tdc .tdc-btn--oro { background: var(--tdc-oro); color: var(--tdc-ciruela) !important; box-shadow: 0 10px 26px -10px rgba(252, 226, 125, .7); }
.tdc .tdc-btn--oro:hover { background: #ffe999; }
.tdc .tdc-btn--linea-clara { background: transparent; color: #fff !important; box-shadow: inset 0 0 0 2px rgba(255,255,255,.7); }
.tdc .tdc-btn--linea-clara:hover { background: rgba(255,255,255,.1); }
.tdc-sello--claro { background: var(--tdc-oro); color: var(--tdc-ciruela); }
/* Cuenta atrás en vivo */
.tdc-cuenta { display: flex; gap: 8px; margin: 18px 0 4px; }
.tdc-cuenta span { display: grid; justify-items: center; min-width: 64px; padding: 8px 6px; border-radius: 10px; background: var(--tdc-chip); color: var(--tdc-suave); font: 600 .68rem/1.2 var(--tdc-texto); text-transform: uppercase; letter-spacing: .1em; }
.tdc-cuenta b { font: 800 1.7rem/1 var(--tdc-titulo); color: var(--tdc-ciruela); font-variant-numeric: tabular-nums; letter-spacing: 0; }

/* A · Cartel de fondo */
.tdc-dest-fondo { position: relative; overflow: hidden; color: #fff; padding-block: 64px 72px; background: #1A0615; isolation: isolate; }
.tdc-dest-fondo::before { content: ""; position: absolute; inset: -40px; z-index: -2; background: var(--fondo) center / cover no-repeat; filter: blur(28px) saturate(1.3); transform: scale(1.1); }
.tdc-dest-fondo::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(26, 6, 21, .94) 0%, rgba(26, 6, 21, .78) 45%, rgba(26, 6, 21, .35) 100%); }
.tdc-dest-fondo__grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 48px; align-items: center; }
.tdc-dest-fondo__fecha { margin: 12px 0 4px; color: var(--tdc-oro); font: 700 .95rem/1.3 var(--tdc-texto); text-transform: uppercase; letter-spacing: .08em; }
.tdc .tdc-dest-fondo__titulo { font: 800 clamp(2.6rem, 6.5vw, 5rem)/.95 var(--tdc-titulo); text-transform: uppercase; color: #fff; margin: 4px 0 10px; text-wrap: balance; }
.tdc-dest-fondo__lugar { margin: 0; font-weight: 700; font-size: 1.1rem; }
.tdc-dest-fondo__elenco { margin: 6px 0 0; color: #E6D3DF; max-width: 46ch; }
.tdc-dest-fondo .tdc-cuenta span { background: rgba(255,255,255,.1); color: #E6D3DF; }
.tdc-dest-fondo .tdc-cuenta b { color: #fff; }
.tdc .tdc-dest-fondo__cartel .tdc-cartel { box-shadow: 0 40px 80px -30px #000; transform: rotate(-1.5deg); }

/* B · Carrusel */
.tdc-dest-car { padding-block: 44px 36px; background: linear-gradient(180deg, var(--tdc-lila) 0%, #fff 100%); }
.tdc-dest-car__pista { display: grid; }
.tdc-dest-car__slide { grid-area: 1 / 1; display: grid; grid-template-columns: 1fr 1.1fr; gap: 44px; align-items: center; opacity: 0; visibility: hidden; transform: translateX(20px); transition: opacity .5s, transform .5s, visibility .5s; }
.tdc-dest-car__slide.is-on { opacity: 1; visibility: visible; transform: none; }
.tdc .tdc-dest-car__titulo { font: 800 clamp(2.3rem, 5.5vw, 4rem)/1 var(--tdc-titulo); text-transform: uppercase; color: var(--tdc-ciruela); margin: 10px 0 12px; text-wrap: balance; }
.tdc-dest-car__titulo em { font-style: normal; color: var(--tdc-naranja); }
.tdc-dest-car__texto p { color: var(--tdc-suave); }
.tdc .tdc-dest-car__cartel .tdc-cartel { box-shadow: 0 24px 50px -28px rgba(77, 2, 61, .55); }
.tdc-dest-car__nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 30px; }
.tdc .tdc-dest-car__nav button { position: relative; display: flex; align-items: center; gap: 10px; padding: 8px !important; border: 1px solid var(--tdc-linea) !important; border-radius: 12px !important; background: #fff !important; color: var(--tdc-tinta) !important; cursor: pointer; text-align: left; overflow: hidden; box-shadow: none !important; }
.tdc-dest-car__nav img { width: 64px; height: 40px; object-fit: cover; border-radius: 6px; flex: none; }
.tdc-dest-car__nav span { font: 500 .85rem/1.25 var(--tdc-texto); color: var(--tdc-suave); }
.tdc-dest-car__nav b { display: block; color: var(--tdc-ciruela); font-size: .95rem; text-transform: uppercase; }
.tdc .tdc-dest-car__nav button.is-on { border-color: var(--tdc-ciruela) !important; box-shadow: 0 8px 20px -12px rgba(77,2,61,.6) !important; }
.tdc-dest-car__nav i { position: absolute; left: 0; bottom: 0; height: 3px; width: 0; background: var(--tdc-oro); }
.tdc-dest-car__nav button.is-on i { animation: tdc-progreso 6s linear forwards; }
.tdc-dest-car__nav:hover button.is-on i { animation-play-state: paused; }
@keyframes tdc-progreso { to { width: 100%; } }

/* C · Taquilla */
.tdc-dest-taq { padding-block: 48px 56px; background: radial-gradient(60% 80% at 80% 20%, #F6E6F0 0%, rgba(246,230,240,0) 60%), #FBF8FA; }
.tdc-dest-taq__grid { display: grid; grid-template-columns: minmax(240px, 380px) 1fr; gap: 36px; align-items: center; }
.tdc .tdc-dest-taq__cartel img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 14px; box-shadow: 0 30px 60px -30px rgba(77, 2, 61, .7); transform: rotate(-2deg); }
.tdc-dest-taq__entrada { position: relative; background: #fff; border-radius: 18px; box-shadow: 0 24px 50px -26px rgba(77, 2, 61, .5);
  -webkit-mask: radial-gradient(circle 16px at 0 64%, transparent 98%, #000) , radial-gradient(circle 16px at 100% 64%, transparent 98%, #000); -webkit-mask-composite: source-in; mask: radial-gradient(circle 16px at 0 64%, transparent 98%, #000) intersect, radial-gradient(circle 16px at 100% 64%, transparent 98%, #000); }
.tdc-dest-taq__cab { display: flex; justify-content: space-between; gap: 10px; padding: 14px 24px; background: var(--tdc-ciruela); color: var(--tdc-oro); border-radius: 18px 18px 0 0; font: 700 .78rem/1 var(--tdc-texto); text-transform: uppercase; letter-spacing: .14em; }
.tdc-dest-taq__cuerpo { display: grid; grid-template-columns: auto 1fr; gap: 24px; padding: 26px 24px 22px; align-items: center; }
.tdc-dest-taq__fecha { display: grid; justify-items: center; padding: 12px 16px; border: 2px solid var(--tdc-linea); border-radius: 14px; text-transform: uppercase; }
.tdc-dest-taq__fecha span { font: 700 .75rem/1 var(--tdc-texto); letter-spacing: .14em; color: var(--tdc-suave); }
.tdc-dest-taq__fecha span:nth-of-type(2) { color: var(--tdc-naranja); }
.tdc-dest-taq__fecha b { font: 800 3.4rem/1 var(--tdc-titulo); color: var(--tdc-ciruela); margin: 2px 0; }
.tdc-dest-taq__fecha small { margin-top: 8px; padding-top: 8px; border-top: 1px dashed #D9B9CF; font: 700 .9rem/1 var(--tdc-texto); color: var(--tdc-ciruela); }
.tdc .tdc-dest-taq__titulo { font: 800 clamp(2rem, 4.2vw, 3.2rem)/1 var(--tdc-titulo); text-transform: uppercase; color: var(--tdc-ciruela); margin: 0 0 8px; text-wrap: balance; }
.tdc-dest-taq__titulo em { font-style: normal; color: var(--tdc-naranja); }
.tdc-dest-taq__lugar { margin: 0 0 14px; font-weight: 700; color: var(--tdc-tinta); }
.tdc-dest-taq__caras { display: flex; align-items: center; flex-wrap: wrap; }
.tdc-dest-taq__caras span { width: 44px; height: 44px; border-radius: 50%; overflow: hidden; border: 3px solid #fff; margin-left: -10px; background: var(--tdc-chip); display: grid; place-items: center; font: 800 .8rem var(--tdc-titulo); color: var(--tdc-ciruela); box-shadow: 0 4px 10px -4px rgba(0,0,0,.3); }
.tdc-dest-taq__caras span:first-child { margin-left: 0; }
.tdc .tdc-dest-taq__caras img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.tdc-dest-taq__caras small { margin-left: 12px; color: var(--tdc-suave); font-size: .85rem; flex: 1; min-width: 160px; }
.tdc-dest-taq__pie { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 24px 24px; border-top: 2px dashed #E6DAE3; }
.tdc-dest-taq__pie .tdc-cuenta { margin: 0; }

@media (max-width: 860px) {
  .tdc-dest-fondo__grid, .tdc-dest-car__slide, .tdc-dest-taq__grid { grid-template-columns: 1fr; gap: 24px; }
  .tdc-dest-fondo__cartel, .tdc-dest-car__cartel { order: -1; }
  .tdc-dest-fondo::after { background: linear-gradient(180deg, rgba(26,6,21,.55) 0%, rgba(26,6,21,.92) 45%); }
  .tdc-dest-car__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tdc-dest-taq__cartel { max-width: 260px; margin: 0 auto; }
  .tdc-dest-taq__cuerpo { grid-template-columns: 1fr; justify-items: start; }
  .tdc-dest-taq__fecha { grid-auto-flow: column; gap: 10px; align-items: baseline; }
  .tdc-dest-taq__fecha small { margin: 0 0 0 6px; padding: 0 0 0 10px; border-top: 0; border-left: 1px dashed #D9B9CF; }
  .tdc-cuenta span { min-width: 56px; }
}
@media (prefers-reduced-motion: reduce) { .tdc-dest-car__slide { transition: none; } .tdc-dest-car__nav button.is-on i { animation-duration: 6s; } }
@media (max-width: 860px) { .tdc-dest-taq__cab { padding: 12px 18px; font-size: .68rem; letter-spacing: .1em; } .tdc-dest-taq__cab span { white-space: nowrap; } }

/* A + B · Cartel de fondo en carrusel */
.tdc-dest-fondo--car { padding-block: 56px 32px; }
.tdc-dest-fondo--car::before { content: none; }
.tdc-dest-fondo__capas { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.tdc-dest-fondo__capa { position: absolute; inset: -40px; background: var(--fondo) center / cover no-repeat; filter: blur(28px) saturate(1.3); transform: scale(1.1); opacity: 0; transition: opacity .9s ease; }
.tdc-dest-fondo__capa.is-on { opacity: 1; }
.tdc-dest-fondo--car .tdc-dest-car__slide { transform: translateY(12px); }
.tdc-dest-fondo--car .tdc-dest-car__slide.is-on { transform: none; }
.tdc-dest-fondo--car .tdc-dest-car__nav { margin-top: 36px; }
.tdc.tdc-dest-fondo--car .tdc-dest-car__nav button { background: rgba(255,255,255,.08) !important; border-color: rgba(255,255,255,.16) !important; color: #fff !important; backdrop-filter: blur(6px); transition: background .2s, border-color .2s; }
.tdc.tdc-dest-fondo--car .tdc-dest-car__nav button:hover { background: rgba(255,255,255,.14) !important; }
.tdc.tdc-dest-fondo--car .tdc-dest-car__nav button.is-on { background: rgba(255,255,255,.18) !important; border-color: var(--tdc-oro) !important; box-shadow: none !important; }
.tdc-dest-fondo--car .tdc-dest-car__nav span { color: #E6D3DF; }
.tdc-dest-fondo--car .tdc-dest-car__nav b { color: #fff; }
@media (max-width: 860px) {
  .tdc-dest-fondo--car { padding-block: 32px 24px; }
  .tdc-dest-fondo--car .tdc-dest-car__nav { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: -16px; padding: 0 16px 4px; scrollbar-width: none; }
  .tdc-dest-fondo--car .tdc-dest-car__nav button { flex: 0 0 46%; scroll-snap-align: start; }
}
@media (prefers-reduced-motion: reduce) { .tdc-dest-fondo__capa { transition: none; } }

/* Escenario claro («luz»): luz blanca suave sobre fondo cálido claro; contrasta con el carrusel oscuro de portada */
.tdc-seccion.tdc-prox--luz { background: radial-gradient(60% 50% at 50% 0%, rgba(255, 255, 255, .9) 0%, rgba(255, 255, 255, 0) 70%), linear-gradient(180deg, #F6F1F3 0%, #ECE3E8 100%) !important; }
.tdc.tdc-prox--luz .tdc-h2 { position: relative; padding-bottom: 10px; }
.tdc.tdc-prox--luz .tdc-h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 64px; height: 4px; border-radius: 4px; background: var(--tdc-ciruela); }
.tdc.tdc-prox--luz .tdc-tarjeta-ev { border: 0; box-shadow: 0 24px 50px -28px rgba(77, 2, 61, .45), 0 0 0 1px rgba(77, 2, 61, .06); }
.tdc.tdc-prox--luz .tdc-tarjeta-ev:hover { box-shadow: 0 30px 60px -28px rgba(77, 2, 61, .55), 0 0 0 1px rgba(77, 2, 61, .25); }

/* Tarjetas de «otros espectáculos»: etiquetas, antetítulo, fecha y título con la paleta del cartel */
.tdc .tdc-tarjeta-ev[style*="--tc-chip"] .tdc-tarjeta-ev__chips li { background: var(--tc-chip); color: var(--tc-chip-fg); }
.tdc .tdc-tarjeta-ev[style*="--tc-chip"] .tdc-tarjeta-ev__chips .tdc-aviso-dias:not(.tdc-aviso-dias--urgente) { background: var(--tc-aviso); color: var(--tc-aviso-fg); }
.tdc .tdc-tarjeta-ev[style*="--tc-chip"] .tdc-eyebrow { color: var(--tc-ante); }
.tdc .tdc-tarjeta-ev[style*="--tc-chip"] .tdc-ticket { border-color: var(--tc-chip); }
.tdc .tdc-tarjeta-ev[style*="--tc-chip"] .tdc-ticket b { color: var(--tc-titulo); }
.tdc .tdc-tarjeta-ev[style*="--tc-chip"] .tdc-ticket span:last-child { color: var(--tc-ante); }
.tdc .tdc-tarjeta-ev[style*="--tc-chip"] .tdc-tarjeta-ev__titulo { color: var(--tc-titulo); }

/* Vídeo de portada como «sala de cine»: banda ciruela oscura (enlaza con el carrusel), texto + botón y la pantalla */
.tdc-seccion.tdc-cine { position: relative; overflow: hidden; color: #fff; background: radial-gradient(55% 70% at 78% 50%, rgba(160, 40, 120, .45) 0%, rgba(160, 40, 120, 0) 70%), linear-gradient(135deg, #2A0722 0%, #1A0615 100%) !important; }
.tdc-cine__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: 56px; align-items: center; }
.tdc.tdc-cine .tdc-h2 { color: #fff; margin-bottom: 14px; }
.tdc.tdc-cine .tdc-eyebrow { color: #F2B8DA; }
.tdc-cine__texto p { color: #E6D3DF; font-size: 1.08rem; line-height: 1.6; margin: 0 0 26px; max-width: 42ch; }
.tdc .tdc-cine .tdc-video, .tdc.tdc-cine button.tdc-video[type="button"] { border-radius: 16px !important; box-shadow: 0 40px 80px -30px #000, 0 0 0 1px rgba(255,255,255,.08); }
.tdc-cine .tdc-video::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(26,6,21,0) 50%, rgba(26,6,21,.45) 100%); pointer-events: none; }
.tdc-cine .tdc-video__play { background: var(--tdc-oro); box-shadow: 0 0 0 10px rgba(252, 226, 125, .22), 0 14px 34px -10px #000; }
.tdc-cine .tdc-video__play::before { border-color: transparent transparent transparent var(--tdc-ciruela); }
@media (max-width: 860px) {
  .tdc-cine__grid { grid-template-columns: 1fr; gap: 28px; }
  .tdc-cine__pantalla { order: -1; }
  .tdc-cine .tdc-video__play { width: 68px; height: 68px; margin: -34px 0 0 -34px; }
  .tdc-cine .tdc-video__play::before { left: 27px; top: 21px; border-width: 13px 0 13px 21px; }
}

/* Instagram (Smash Balloon) adaptado al diseño de la web */
.tdc-insta__texto { margin: 8px 0 0; color: var(--tdc-suave); max-width: 56ch; }
.tdc-insta .tdc-mas--boton .tdc-ico { width: 18px; height: 18px; margin-right: 2px; }
.tdc-insta #sb_instagram .sb_instagram_header, .tdc-insta #sb_instagram .sbi_follow_btn { display: none !important; }
.tdc-insta #sb_instagram { padding: 0 !important; margin-top: 28px; }
.tdc-insta #sb_instagram #sbi_images { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px !important; padding: 0 !important; width: 100% !important; }
.tdc-insta #sb_instagram .sbi_item { width: auto !important; padding: 0 !important; margin: 0 !important; }
.tdc-insta #sb_instagram .sbi_photo_wrap { border-radius: 14px; overflow: hidden; box-shadow: 0 18px 40px -26px rgba(77, 2, 61, .55); background: #fff; }
.tdc-insta #sb_instagram .sbi_photo { position: relative; display: block; border-radius: 14px; overflow: hidden; }
.tdc-insta #sb_instagram .sbi_photo img { transition: transform .5s ease; border-radius: 0 !important; }
.tdc-insta #sb_instagram .sbi_photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(77, 2, 61, 0) 40%, rgba(77, 2, 61, .55) 100%); opacity: 0; transition: opacity .3s; }
.tdc-insta #sb_instagram .sbi_photo:hover img { transform: scale(1.05); }
.tdc-insta #sb_instagram .sbi_photo:hover::after { opacity: 1; }
.tdc-insta #sb_instagram #sbi_load { display: flex; justify-content: center; margin-top: 28px; padding: 0 !important; }
.tdc .tdc-insta #sb_instagram .sbi_load_btn, .tdc.tdc-insta #sb_instagram .sbi_load_btn { display: inline-flex !important; align-items: center; padding: 12px 26px !important; border-radius: 99px !important; border: 2px solid var(--tdc-ciruela) !important; background: transparent !important; color: var(--tdc-ciruela) !important; font: 700 .9rem/1 var(--tdc-titulo) !important; text-transform: uppercase; letter-spacing: .08em; box-shadow: none !important; transition: background .2s, color .2s; }
.tdc .tdc-insta #sb_instagram .sbi_load_btn:hover, .tdc.tdc-insta #sb_instagram .sbi_load_btn:hover { background: var(--tdc-ciruela) !important; color: #fff !important; }
@media (max-width: 860px) {
  .tdc-insta #sb_instagram #sbi_images { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px !important; }
  .tdc-insta #sb_instagram .sbi_photo_wrap, .tdc-insta #sb_instagram .sbi_photo { border-radius: 10px; }
}
/* El plugin oculta en móvil las publicaciones que pasan de 2: mostramos las 4 (rejilla 2×2) */
.tdc-insta #sb_instagram #sbi_images .sbi_item.sbi_num_diff_hide { display: block !important; }

/* ===== Pie de página (sobre el fondo original: foto + degradado ciruela-rosa de la plantilla) ===== */
.tdc.tdc-pie { background: transparent !important; }
.tdc-pie { color: #fff; max-width: 1240px; margin: 0 auto; padding: 56px 24px 0; font-family: var(--tdc-texto); }
.tdc-pie a { color: #fff; text-decoration: none; }
.tdc-pie__grid { display: grid; grid-template-columns: 1.5fr 1fr 1.15fr 1.15fr; gap: 48px; }
.tdc .tdc-pie__marca img { width: 220px; height: auto; border-radius: 0; margin-bottom: 18px; }
.tdc-pie__marca p { margin: 0 0 20px; font-size: .98rem; line-height: 1.6; color: rgba(255,255,255,.88); max-width: 36ch; }
.tdc-pie__redes { display: flex; gap: 10px; }
.tdc-pie__redes a { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.55); transition: background .2s, color .2s, border-color .2s; }
.tdc-pie__redes a:hover { background: #fff; color: var(--tdc-ciruela); border-color: #fff; }
.tdc-pie__redes .tdc-ico { width: 20px; height: 20px; }
.tdc-pie__titulo { margin: 6px 0 16px; font: 700 .8rem/1 var(--tdc-titulo); letter-spacing: .16em; text-transform: uppercase; color: #fff; opacity: .7; }
.tdc-pie__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; }
.tdc-pie__col li { margin: 0; }
.tdc-pie__col > ul a, .tdc-pie nav a { font-size: .98rem; color: rgba(255,255,255,.9); transition: color .2s, padding .2s; }
.tdc-pie__col > ul a:hover { color: #fff; padding-left: 4px; }
.tdc-pie__fechas a { display: flex; align-items: center; gap: 12px; }
.tdc-pie__dia { display: grid; justify-items: center; min-width: 46px; padding: 6px 4px; border-radius: 8px; background: rgba(255,255,255,.14); font: 700 .66rem/1 var(--tdc-texto); text-transform: uppercase; letter-spacing: .1em; }
.tdc-pie__dia b { font: 800 1.25rem/1.05 var(--tdc-titulo); letter-spacing: 0; }
.tdc-pie__fechas span b { display: block; font-weight: 700; }
.tdc-pie__fechas small { color: rgba(255,255,255,.75); font-size: .82rem; }
.tdc-pie__fechas a:hover .tdc-pie__dia { background: #fff; color: var(--tdc-ciruela); }
.tdc-pie__mas { display: inline-flex; align-items: center; gap: 4px; margin-top: 16px; font: 700 .82rem/1 var(--tdc-titulo); text-transform: uppercase; letter-spacing: .1em; }
.tdc-pie__mas .tdc-ico { width: 16px; height: 16px; transition: transform .2s; }
.tdc-pie__mas:hover .tdc-ico { transform: translateX(3px); }
.tdc .tdc-pie__btn { margin-top: 22px; color: var(--tdc-ciruela) !important; gap: 8px; }
.tdc-pie__btn .tdc-ico { width: 18px; height: 18px; }
.tdc-pie__base { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px; margin-top: 52px; padding: 22px 0 26px; border-top: 1px solid rgba(255,255,255,.25); font-size: .85rem; color: rgba(255,255,255,.8); }
.tdc-pie__base p { margin: 0; }
.tdc-pie__base ul { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 20px; margin: 0; padding: 0; }
.tdc-pie__base a { color: rgba(255,255,255,.85); }
.tdc-pie__base a:hover { color: #fff; text-decoration: underline; }
@media (max-width: 1024px) { .tdc-pie__grid { grid-template-columns: 1fr 1fr; gap: 40px 32px; } }
@media (max-width: 600px) {
  .tdc-pie { padding: 40px 4px 0; }
  .tdc-pie__grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
  .tdc-pie__marca { grid-column: 1 / -1; text-align: center; }
  .tdc-pie__marca p { margin-inline: auto; }
  .tdc-pie__redes { justify-content: center; }
  .tdc .tdc-pie__marca img { width: 190px; }
  .tdc-pie__col:last-child { grid-column: 1 / -1; }
  .tdc-pie__base { flex-direction: column; text-align: center; margin-top: 36px; }
  .tdc-pie__base ul { justify-content: center; }
}
/* Crédito de diseño web */
.tdc-pie__credito { display: inline-flex; align-items: center; gap: 8px; color: rgba(255,255,255,.8) !important; font-size: .85rem; }
/* Logo TUACTE animado: primero el bocadillo y luego las letras salen de dentro hacia la derecha.
   Dos capas de la misma imagen: el bocadillo (recortado, delante) y las letras (detrás, en una ventana que empieza en mitad del bocadillo). */
.tdc-tuacte { --w: 92px; position: relative; display: inline-block; width: var(--w); height: calc(var(--w) * 86 / 300); flex: none; }
.tdc .tdc-tuacte img { position: absolute; top: 0; left: 0; width: var(--w); max-width: none; height: auto; border-radius: 0; }
.tdc .tdc-tuacte__boca { z-index: 2; clip-path: inset(0 69% 0 0); transform-origin: 15% 95%; }
.tdc-tuacte__letras { position: absolute; z-index: 1; top: 0; bottom: 0; left: calc(var(--w) * .19); right: 0; overflow: hidden; }
.tdc .tdc-tuacte__letras img { left: calc(var(--w) * -.19); clip-path: inset(0 0 0 33%); }
.tdc-tuacte--listo .tdc-tuacte__boca { transform: scale(0); opacity: 0; }
.tdc-tuacte--listo .tdc-tuacte__letras img { transform: translateX(calc(var(--w) * -.64)); opacity: 0; }
.tdc-tuacte--listo.is-on .tdc-tuacte__boca { animation: tdc-tu-boca .55s cubic-bezier(.34, 1.56, .64, 1) forwards; }
.tdc-tuacte--listo.is-on .tdc-tuacte__letras img { animation: tdc-tu-letras .9s cubic-bezier(.22, 1, .36, 1) .45s forwards; }
@keyframes tdc-tu-boca { 0% { transform: scale(0) rotate(-8deg); opacity: 0; } 60% { opacity: 1; } 100% { transform: none; opacity: 1; } }
@keyframes tdc-tu-letras { 0% { transform: translateX(calc(var(--w) * -.64)); opacity: 0; } 30% { opacity: 1; } 100% { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .tdc-tuacte--listo .tdc-tuacte__boca, .tdc-tuacte--listo .tdc-tuacte__letras img { transform: none; opacity: 1; animation: none !important; } }
.tdc-pie__base > ul { margin-left: auto !important; }
@media (max-width: 600px) { .tdc-pie__base > ul { margin-left: 0 !important; } }
.tdc-pie__firma { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; }
.tdc-pie__firma .tdc-pie__credito { padding-left: 22px; border-left: 1px solid rgba(255,255,255,.3); }
@media (max-width: 600px) { .tdc-pie__firma { flex-direction: column; } .tdc-pie__firma .tdc-pie__credito { padding-left: 0; border-left: 0; } }
/* El tema pone los enlaces en azul oscuro al pasar el ratón: en el pie siempre blancos */
.tdc.tdc-pie a:not(.tdc-btn):hover, .tdc.tdc-pie a:not(.tdc-btn):focus-visible { color: #fff !important; }
.tdc.tdc-pie .tdc-pie__redes a:hover { color: var(--tdc-ciruela) !important; }
.tdc-pie__mas:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1024px) { .tdc-pie__firma .tdc-pie__credito { padding-left: 0; border-left: 0; } }

/* Título del carrusel: cada palabra sube desde abajo, una tras otra, y se asienta con un pequeño rebote */
.tdc-palabra { display: inline-block; overflow: hidden; vertical-align: top; padding: .06em .02em .1em; margin: -.06em -.02em -.1em; }
.tdc-palabra > span { display: inline-block; }
.tdc-dest-car__slide.is-on .tdc-palabra > span { animation: tdc-palabra .8s cubic-bezier(.2, 1.25, .4, 1) both; animation-delay: calc(.15s + var(--i) * .12s); }
@keyframes tdc-palabra { from { transform: translateY(110%) rotate(4deg); opacity: 0; } 40% { opacity: 1; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .tdc-dest-car__slide.is-on .tdc-palabra > span { animation: none; } }
/* Miniaturas del carrusel: ocupan todo el ancho tengan las fechas que tengan (2, 3 o 4) */
@media (min-width: 861px) { .tdc-dest-car__nav { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); } }

/* ===== Quiénes somos ===== */
.tdc-nos-hero { position: relative; isolation: isolate; overflow: hidden; color: #fff; padding-block: 110px 96px; background: #2A0722; }
.tdc-nos-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: var(--foto) center 40% / cover no-repeat; }
.tdc-nos-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(42, 7, 34, .94) 0%, rgba(77, 2, 61, .78) 50%, rgba(245, 121, 146, .45) 100%); }
.tdc.tdc-nos-hero .tdc-eyebrow { color: #F2B8DA; }
.tdc .tdc-nos-hero__titulo { font: 800 clamp(2.8rem, 7vw, 5.2rem)/.95 var(--tdc-titulo); text-transform: uppercase; color: #fff; margin: 6px 0 16px; }
.tdc-nos-hero p { margin: 0; max-width: 46ch; font-size: 1.18rem; line-height: 1.55; color: #F1E3EC; }
.tdc-historia__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.tdc-historia__texto p { font-size: 1.06rem; line-height: 1.75; color: var(--tdc-tinta); margin: 0 0 16px; }
.tdc-historia__texto strong { color: var(--tdc-ciruela); }
.tdc-historia__pilares { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; position: sticky; top: 110px; }
.tdc-historia__pilares li { margin: 0; display: grid; gap: 6px; align-content: start; padding: 22px; border-radius: 16px; background: #fff; box-shadow: 0 18px 40px -28px rgba(77, 2, 61, .5), 0 0 0 1px rgba(77, 2, 61, .06); }
.tdc-historia__pilares b { font: 800 1.15rem/1.1 var(--tdc-titulo); text-transform: uppercase; color: var(--tdc-ciruela); }
.tdc-historia__pilares li > span:last-child { color: var(--tdc-suave); font-size: .92rem; line-height: 1.5; }
.tdc-historia__ico { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; background: var(--tdc-lila); color: var(--tdc-ciruela); margin-bottom: 6px; }
.tdc-historia__ico .tdc-ico { width: 24px; height: 24px; }
.tdc-historia__pilares .tdc-historia__mapa { grid-column: 1 / -1; grid-template-columns: auto 1fr; column-gap: 16px; align-items: center; background: var(--tdc-ciruela); box-shadow: none; }
.tdc-historia__mapa .tdc-historia__ico { grid-row: span 2; margin: 0; background: rgba(255,255,255,.12); color: #fff; }
.tdc-historia__pilares .tdc-historia__mapa b { color: #fff; }
.tdc-historia__pilares .tdc-historia__mapa > span:last-child { color: #EBD9E4; }
.tdc-seccion.tdc-frase { background: #fff; padding-block: 64px; }
.tdc-frase blockquote { position: relative; margin: 0 auto; max-width: 900px; padding: 10px 0 10px 0; text-align: center; font: 800 clamp(1.7rem, 3.6vw, 2.7rem)/1.15 var(--tdc-titulo); text-transform: uppercase; color: var(--tdc-ciruela); border: 0; text-wrap: balance; }
.tdc-frase blockquote span { display: block; font-size: 4.5rem; line-height: .6; color: var(--tdc-naranja); margin-bottom: 10px; }
.tdc-cta--claro { background: var(--tdc-lila); color: var(--tdc-tinta); }
.tdc .tdc-cta--claro .tdc-h2 { color: var(--tdc-ciruela); }
.tdc-cta--claro p { color: var(--tdc-suave); }
.tdc .tdc-cta--claro .tdc-btn { background: var(--tdc-ciruela); color: var(--tdc-oro) !important; }
@media (max-width: 860px) {
  .tdc-nos-hero { padding-block: 72px 60px; }
  .tdc-nos-hero::after { background: linear-gradient(180deg, rgba(42, 7, 34, .8) 0%, rgba(77, 2, 61, .9) 100%); }
  .tdc-historia__grid { grid-template-columns: 1fr; gap: 32px; }
  .tdc-historia__pilares { position: static; gap: 12px; }
  .tdc-historia__pilares li { padding: 16px; }
}

/* ===== Programadores ===== */
.tdc-nos-hero .tdc-acciones { margin-top: 28px; }
.tdc-tray__resumen { margin: 8px 0 0; color: var(--tdc-suave); }
.tdc-tray__anio { display: grid; grid-template-columns: 140px 1fr; gap: 24px; padding: 26px 0; border-top: 1px solid var(--tdc-linea); }
.tdc-tray__anio:first-of-type { margin-top: 24px; }
.tdc-tray__num { margin: 0; display: grid; align-content: start; }
.tdc-tray__num b { font: 800 2.4rem/1 var(--tdc-titulo); color: var(--tdc-ciruela); }
.tdc-tray__num span { color: var(--tdc-suave); font-size: .85rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }
.tdc-tray__anio ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; }
.tdc-tray__anio li { margin: 0; }
.tdc-tray__anio a { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; padding: 12px 14px; border-radius: 12px; background: #fff; box-shadow: 0 0 0 1px var(--tdc-linea); text-decoration: none; transition: box-shadow .2s, transform .2s; }
.tdc-tray__anio a:hover { box-shadow: 0 0 0 1.5px var(--tdc-ciruela), 0 12px 24px -16px rgba(77,2,61,.5); transform: translateY(-2px); }
.tdc-tray__dia { grid-row: span 2; display: grid; place-items: center; min-width: 52px; padding: 8px 4px; border-radius: 8px; background: var(--tdc-lila); color: var(--tdc-ciruela); font: 800 .8rem/1.1 var(--tdc-titulo); text-transform: uppercase; text-align: center; }
.tdc-tray__anio a b { color: var(--tdc-ciruela); font-weight: 700; }
.tdc-tray__anio a small { color: var(--tdc-suave); font-size: .82rem; line-height: 1.3; }
.tdc-form-intro { text-align: left; margin-bottom: 8px; }
.tdc-form-intro p { color: var(--tdc-suave); margin: 6px 0 0; }
@media (max-width: 700px) { .tdc-tray__anio { grid-template-columns: 1fr; gap: 12px; } .tdc-tray__num { grid-auto-flow: column; justify-content: start; align-items: baseline; gap: 12px; } }
@media (max-width: 700px) {
  .tdc-tray__anio ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .tdc-tray__anio a { grid-template-columns: 1fr; padding: 10px 12px; row-gap: 2px; }
  .tdc-tray__dia { grid-row: auto; justify-self: start; min-width: 0; padding: 4px 8px; margin-bottom: 4px; font-size: .72rem; }
}

/* ===== Contacto: datos directos junto al formulario ===== */
.tdc-contacto-datos .tdc-h2 { font-size: clamp(1.6rem, 2.6vw, 2.1rem); margin-bottom: 18px; }
.tdc-contacto-datos ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.tdc-contacto-datos li { margin: 0; }
.tdc-contacto-datos a { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border-radius: 14px; background: #fff; box-shadow: 0 0 0 1px var(--tdc-linea); text-decoration: none; transition: box-shadow .2s, transform .2s; }
.tdc-contacto-datos a:hover { box-shadow: 0 0 0 1.5px var(--tdc-ciruela), 0 12px 24px -16px rgba(77,2,61,.5); transform: translateY(-2px); }
.tdc-contacto-datos__ico { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 12px; background: var(--tdc-lila); color: var(--tdc-ciruela); }
.tdc-contacto-datos__ico--wa { background: #E3F7EA; color: #128C4A; }
.tdc-contacto-datos__ico .tdc-ico { width: 22px; height: 22px; }
.tdc-contacto-datos a b { display: block; color: var(--tdc-ciruela); font-weight: 700; }
.tdc-contacto-datos a small { color: var(--tdc-suave); font-size: .88rem; word-break: break-word; }
.tdc-contacto-datos__nota { margin: 18px 0 0; padding: 14px 16px; border-radius: 12px; background: #FFF4D6; color: #6B4A00; font-size: .9rem; line-height: 1.5; }

/* ===== Eventos pasados (archivo en lista) ===== */
.tdc-arch__resumen { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.tdc-arch__resumen li { margin: 0; display: flex; align-items: baseline; gap: 8px; padding: 12px 18px; border-radius: 12px; background: var(--tdc-lila); color: var(--tdc-suave); font-weight: 600; }
.tdc-arch__resumen b { font: 800 1.7rem/1 var(--tdc-titulo); color: var(--tdc-ciruela); }
.tdc-arch__anio { padding-top: 30px; }
.tdc .tdc-arch__titulo { display: flex; align-items: baseline; gap: 12px; margin: 0 0 16px; padding-bottom: 10px; border-bottom: 2px solid var(--tdc-linea); font: 800 2.4rem/1 var(--tdc-titulo); color: var(--tdc-ciruela); }
.tdc-arch__titulo small { font: 700 .82rem/1 var(--tdc-texto); text-transform: uppercase; letter-spacing: .12em; color: var(--tdc-suave); }
.tdc-arch__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; }
.tdc-arch__lista li { margin: 0; }
.tdc-arch__lista a { display: grid; grid-template-columns: 96px auto 1fr auto; align-items: center; gap: 14px; padding: 10px 14px 10px 10px; border-radius: 14px; background: #fff; box-shadow: 0 0 0 1px var(--tdc-linea); text-decoration: none; transition: box-shadow .2s, transform .2s; }
.tdc-arch__lista a:hover { box-shadow: 0 0 0 1.5px var(--tdc-ciruela), 0 12px 24px -16px rgba(77,2,61,.5); transform: translateY(-2px); }
.tdc .tdc-arch__mini { width: 96px; height: 54px; object-fit: cover; border-radius: 8px; }
.tdc-arch__fecha { display: grid; justify-items: center; min-width: 48px; font: 700 .7rem/1.1 var(--tdc-texto); text-transform: uppercase; letter-spacing: .1em; color: var(--tdc-naranja); }
.tdc-arch__fecha b { font: 800 1.6rem/1 var(--tdc-titulo); color: var(--tdc-ciruela); letter-spacing: 0; }
.tdc-arch__info { display: grid; min-width: 0; }
.tdc-arch__info b { color: var(--tdc-ciruela); font-size: 1.05rem; }
.tdc-arch__info small { color: var(--tdc-suave); font-size: .85rem; }
.tdc-arch__info em { font-style: normal; color: var(--tdc-suave); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; margin-top: 2px; }
.tdc-arch__lista .tdc-ico { width: 18px; height: 18px; color: var(--tdc-ciruela); opacity: .5; transition: opacity .2s, transform .2s; }
.tdc-arch__lista a:hover .tdc-ico { opacity: 1; transform: translateX(3px); }
@media (max-width: 860px) {
  .tdc-arch__lista { grid-template-columns: 1fr; }
  .tdc-arch__lista a { grid-template-columns: 72px auto 1fr; gap: 10px; }
  .tdc .tdc-arch__mini { width: 72px; height: 44px; }
  .tdc-arch__lista .tdc-ico { display: none; }
  .tdc-arch__resumen li { padding: 10px 14px; }
}
.tdc-historia__mapa a { display: grid; grid-template-columns: auto 1fr; column-gap: 16px; align-items: center; text-decoration: none; color: inherit; }
.tdc-historia__mapa a > span:last-child { color: #EBD9E4; font-size: .92rem; line-height: 1.5; }
.tdc-historia__mapa u { text-decoration: none; color: #fff; font-weight: 700; white-space: nowrap; }
.tdc-historia__mapa a:hover u { text-decoration: underline; text-underline-offset: 3px; }

/* ===== Ficha de evento: bocetos (A · fondo, B · claro compacto) ===== */
.tdc-ficha__cuenta--viva { margin-top: 18px; }
.tdc-ficha__cuenta--viva p { margin: 0 0 6px; font: 700 .78rem/1 var(--tdc-texto); text-transform: uppercase; letter-spacing: .14em; color: var(--tdc-naranja); }
.tdc-ficha__cuenta--viva .tdc-cuenta { margin: 0; }
/* A · cartel de fondo */
.tdc-ficha--fondo .tdc-ficha__hero { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: #1A0615; padding-block: 56px 64px; }
.tdc-ficha--fondo .tdc-ficha__hero::before { content: ""; position: absolute; inset: -40px; z-index: -2; background: var(--fondo) center / cover no-repeat; filter: blur(30px) saturate(1.3); transform: scale(1.1); }
.tdc-ficha--fondo .tdc-ficha__hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(26,6,21,.55) 0%, rgba(26,6,21,.88) 45%, rgba(26,6,21,.92) 100%); }
.tdc.tdc-ficha--fondo .tdc-ficha__titulo { color: #fff; }
.tdc.tdc-ficha--fondo .tdc-ficha__hero .tdc-eyebrow { color: #F2B8DA; }
.tdc.tdc-ficha--fondo .tdc-ficha__hero .tdc-sello { background: var(--tdc-oro); color: var(--tdc-ciruela); }
.tdc.tdc-ficha--fondo .tdc-ficha__hero .tdc-chips li { background: rgba(255,255,255,.12); color: #fff; }
.tdc.tdc-ficha--fondo .tdc-ficha__hero .tdc-nota { color: #E6D3DF; }
.tdc.tdc-ficha--fondo .tdc-ficha__hero .tdc-btn { background: var(--tdc-oro) !important; color: var(--tdc-ciruela) !important; }
.tdc-ficha--fondo .tdc-ficha__cuenta--viva p { color: var(--tdc-oro); }
.tdc-ficha--fondo .tdc-cuenta span { background: rgba(255,255,255,.1); color: #E6D3DF; }
.tdc-ficha--fondo .tdc-cuenta b { color: #fff; }
.tdc.tdc-ficha--fondo .tdc-ficha__cartel img { box-shadow: 0 40px 80px -30px #000; }
/* Mapa al pulsar */
.tdc-mapa-fachada { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; padding: 22px 24px; border-radius: 18px; background: #fff; box-shadow: 0 18px 40px -28px rgba(77,2,61,.5), 0 0 0 1px var(--tdc-linea);
  background-image: radial-gradient(circle at 1px 1px, rgba(77,2,61,.08) 1px, transparent 0); background-size: 18px 18px; }
.tdc-mapa-fachada__pin { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--tdc-ciruela); color: #fff; }
.tdc-mapa-fachada__pin .tdc-ico { width: 26px; height: 26px; }
.tdc-mapa-fachada b { display: block; font: 800 1.25rem/1.1 var(--tdc-titulo); text-transform: uppercase; color: var(--tdc-ciruela); }
.tdc-mapa-fachada span { color: var(--tdc-suave); }
.tdc-mapa-fachada__acciones { display: flex; flex-wrap: wrap; gap: 10px; }
.tdc-mapa-fachada.is-cargado { display: block; padding: 0; background: none; box-shadow: none; }
@media (max-width: 860px) {
  .tdc-mapa-fachada { grid-template-columns: auto 1fr; }
  .tdc-mapa-fachada__acciones { grid-column: 1 / -1; }
  /* Compra antes en móvil: cartel pequeño al lado del título, botón en la primera pantalla */
  .tdc-ficha--nueva .tdc-ficha__hero { padding-block: 22px 28px; }
  .tdc-ficha--nueva .tdc-ficha__grid { display: grid; grid-template-columns: 112px 1fr; gap: 6px 16px; align-items: start; }
  .tdc-ficha--nueva .tdc-ficha__cartel { grid-row: 1; margin: 0; }
  .tdc-ficha--nueva .tdc-ficha__info { display: contents; }
  .tdc-ficha--nueva .tdc-ficha__info > .tdc-sello, .tdc-ficha--nueva .tdc-ficha__info > .tdc-eyebrow { grid-column: 2; grid-row: 1; align-self: start; justify-self: start; }
  .tdc-ficha--nueva .tdc-ficha__titulo { grid-column: 2; grid-row: 1; align-self: end; margin: 0; font-size: 1.7rem; }
  .tdc-ficha--nueva .tdc-chips, .tdc-ficha--nueva .tdc-ficha__compra, .tdc-ficha--nueva .tdc-ficha__cuenta { grid-column: 1 / -1; }
  .tdc-ficha--nueva .tdc-ficha__compra .tdc-btn { width: 100%; justify-content: center; }
  .tdc-ficha--nueva .tdc-ficha__cuenta--viva { margin-top: 6px; }
}
.tdc-ficha--paleta:not(.tdc-ficha--fondo) .tdc-cuenta span { background: var(--fx-chip); }
.tdc-ficha--paleta:not(.tdc-ficha--fondo) .tdc-cuenta b { color: var(--fx-principal); }
.tdc-ficha--paleta:not(.tdc-ficha--fondo) .tdc-ficha__cuenta--viva p { color: var(--fx-antetitulo); }
/* Barra de compra móvil: el nombre del espectáculo en una sola línea */
.tdc-barra > div { min-width: 0; flex: 1; }
.tdc-barra b { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Datos prácticos reordenados: Cuándo · Dónde · extras · compra */
.tdc-datos--nueva { display: grid; gap: 0; }
.tdc-datos--nueva .tdc-h3 { margin-bottom: 8px; }
.tdc-datos__fila { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: start; padding: 16px 0; border-bottom: 1px solid var(--tdc-linea); }
.tdc-datos__ico { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--tdc-lila); color: var(--tdc-ciruela); }
.tdc-datos__ico .tdc-ico { width: 22px; height: 22px; }
.tdc-datos__fila small, .tdc-datos__extra small { display: block; font: 700 .7rem/1 var(--tdc-texto); text-transform: uppercase; letter-spacing: .14em; color: var(--tdc-suave); margin-bottom: 5px; }
.tdc-datos__fila b { display: block; font: 800 1.2rem/1.2 var(--tdc-titulo); color: var(--tdc-ciruela); }
.tdc-datos__fila span { display: block; color: var(--tdc-tinta); font-size: .95rem; margin-top: 2px; }
.tdc .tdc-datos__enlace { display: inline-block; margin-top: 6px; font-weight: 700; font-size: .9rem; color: var(--tdc-ciruela); text-decoration: underline; text-underline-offset: 3px; }
.tdc-datos__extra { list-style: none; margin: 0; padding: 16px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tdc-datos__extra li { margin: 0; padding: 10px 14px; border-radius: 10px; background: var(--tdc-chip); color: var(--tdc-ciruela); font-weight: 700; }
.tdc-datos__compra { padding-top: 20px; }
.tdc-datos__compra .tdc-btn { width: 100%; justify-content: center; }
.tdc-datos__compra .tdc-nota { margin: 8px 0 0; text-align: center; }
/* Con la paleta del cartel (otros espectáculos) */
.tdc-ficha--paleta .tdc-datos__ico { background: var(--fx-chip); color: var(--fx-principal); }
.tdc-ficha--paleta .tdc-datos__fila b, .tdc.tdc-ficha--paleta .tdc-datos__enlace { color: var(--fx-principal); }
.tdc-ficha--paleta .tdc-datos__extra li { background: var(--fx-chip); color: var(--fx-principal); }

/* Cartel de la ficha enlazado a la compra: al pasar el ratón aparece «Comprar entradas» */
.tdc-ficha__cartel-enlace { position: relative; display: block; border-radius: 16px; overflow: hidden; }
.tdc-ficha__cartel-enlace img { display: block; transition: transform .4s ease; }
.tdc-ficha__cartel-cta { position: absolute; left: 50%; bottom: 18px; transform: translate(-50%, 10px); display: inline-flex; align-items: center; gap: 8px; padding: 12px 20px; border-radius: 99px; background: var(--tdc-ciruela); color: var(--tdc-oro); font: 800 .9rem/1 var(--tdc-titulo); text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; box-shadow: 0 12px 26px -10px rgba(0,0,0,.6); opacity: 0; transition: opacity .25s, transform .25s; }
.tdc-ficha__cartel-cta .tdc-ico { width: 18px; height: 18px; }
.tdc-ficha--paleta .tdc-ficha__cartel-cta { background: var(--fx-principal); color: var(--fx-btn-texto); }
.tdc-ficha__cartel-enlace:hover img, .tdc-ficha__cartel-enlace:focus-visible img { transform: scale(1.03); }
.tdc-ficha__cartel-enlace:hover .tdc-ficha__cartel-cta, .tdc-ficha__cartel-enlace:focus-visible .tdc-ficha__cartel-cta { opacity: 1; transform: translate(-50%, 0); }
@media (max-width: 860px) { .tdc-ficha__cartel-cta { display: none; } .tdc-ficha__cartel-enlace { border-radius: 10px; } }

/* ===== Ficha en móvil: repaso ===== */
@media (max-width: 860px) {
  /* La barra fija de compra no tapa el final del pie */
  body:has(.tdc-barra) { padding-bottom: 76px; }
  /* WhatsApp más pequeño y algo separado de la barra para no tapar el contenido */
  body:has(.tdc-barra) .joinchat { --s: 50px; transform: scale(.82); transform-origin: 100% 100%; }
  /* Otras fechas: tarjetas que se deslizan en horizontal en lugar de apilarse */
  .tdc-ficha--nueva .tdc-tarjetas-ev--3 { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: -16px; padding: 4px 16px 14px; scrollbar-width: none; }
  .tdc-ficha--nueva .tdc-tarjetas-ev--3::-webkit-scrollbar { display: none; }
  .tdc-ficha--nueva .tdc-tarjetas-ev--3 > .tdc-tarjeta-ev { flex: 0 0 84%; scroll-snap-align: start; }
}
/* Cartel más grande en móvil: ocupa casi la mitad del ancho y el título se coloca a su lado */
@media (max-width: 860px) {
  .tdc-ficha--nueva .tdc-ficha__grid { grid-template-columns: minmax(0, 46%) 1fr; column-gap: 14px; }
  .tdc-ficha--nueva .tdc-ficha__info > .tdc-sello, .tdc-ficha--nueva .tdc-ficha__info > .tdc-eyebrow { margin-top: 2px; }
  .tdc-ficha--nueva .tdc-ficha__titulo { font-size: clamp(1.45rem, 6.4vw, 1.9rem); line-height: 1.02; }
}
/* Sello y título centrados verticalmente junto al cartel en móvil */
@media (max-width: 860px) {
  .tdc-ficha--nueva .tdc-ficha__cab { grid-column: 2; grid-row: 1; align-self: center; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
  .tdc-ficha--nueva .tdc-ficha__cab > .tdc-sello, .tdc-ficha--nueva .tdc-ficha__cab > .tdc-eyebrow { margin: 0; }
  .tdc-ficha--nueva .tdc-ficha__cab .tdc-ficha__titulo { margin: 0; }
  .tdc-ficha--nueva .tdc-chips { margin-top: 14px; }
}
/* Junto al cartel en móvil: fecha, lugar y días que faltan (sustituyen a las etiquetas) */
.tdc-ficha__meta { display: none; }
@media (max-width: 860px) {
  .tdc-ficha--nueva .tdc-ficha__meta { display: grid; gap: 7px; list-style: none; margin: 4px 0 0; padding: 0; }
  .tdc-ficha__meta li { display: flex; align-items: flex-start; gap: 7px; margin: 0; font-size: .86rem; line-height: 1.3; color: var(--tdc-tinta); font-weight: 600; }
  .tdc-ficha__meta .tdc-ico { width: 16px; height: 16px; flex: none; margin-top: 1px; color: var(--tdc-ciruela); }
  .tdc-ficha__meta-dias span { color: var(--tdc-naranja); font-weight: 700; }
  .tdc-ficha--paleta .tdc-ficha__meta .tdc-ico { color: var(--fx-principal); }
  .tdc-ficha--paleta .tdc-ficha__meta-dias span { color: var(--fx-antetitulo); }
  .tdc-ficha--nueva .tdc-chips { display: none; }
  .tdc-ficha--nueva .tdc-ficha__cab { gap: 8px; }
  .tdc-ficha--nueva .tdc-ficha__compra { margin-top: 16px; }
}

/* ===== Otros espectáculos: una tarjeta por espectáculo ===== */
.tdc-espects__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 22px; margin-top: 8px; }
.tdc-espect { display: grid; grid-template-columns: 130px 1fr; gap: 18px; align-items: center; padding: 16px; border-radius: 18px; background: #fff; box-shadow: 0 18px 40px -28px rgba(77,2,61,.5), 0 0 0 1px var(--tdc-linea); }
.tdc .tdc-espect__cartel img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 12px; display: block; }
.tdc-espect__info { display: grid; gap: 8px; align-content: center; }
.tdc-espect .tdc-eyebrow { margin: 0; color: var(--tc-ante, var(--tdc-naranja)); }
.tdc .tdc-espect__titulo { margin: 0; font: 800 1.45rem/1.05 var(--tdc-titulo); text-transform: uppercase; }
.tdc .tdc-espect__titulo a { color: var(--tc-titulo, var(--tdc-ciruela)); text-decoration: none; }
.tdc-espect__prox { display: flex; gap: 8px; margin: 0; font-size: .9rem; color: var(--tdc-suave); line-height: 1.35; }
.tdc-espect__prox .tdc-ico { width: 16px; height: 16px; flex: none; margin-top: 2px; color: var(--tc-titulo, var(--tdc-ciruela)); }
.tdc-espect__prox b { color: var(--tc-titulo, var(--tdc-ciruela)); }
.tdc-espect__prox small { display: block; }
.tdc-espect .tdc-btn { justify-self: start; padding: 10px 16px; font-size: .85rem; }

/* ===== La gira: así es una noche de comedia ===== */
.tdc-formato__grid { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.tdc-formato__grid li { margin: 0; display: grid; gap: 6px; align-content: start; padding: 22px; border-radius: 16px; background: #fff; box-shadow: 0 18px 40px -28px rgba(77,2,61,.5), 0 0 0 1px rgba(77,2,61,.06); }
.tdc-formato__grid b { font: 800 1.15rem/1.1 var(--tdc-titulo); text-transform: uppercase; color: var(--tdc-ciruela); }
.tdc-formato__grid li > span:last-child { color: var(--tdc-suave); font-size: .92rem; line-height: 1.5; }
.tdc-formato { background: var(--tdc-gris); }
@media (max-width: 900px) { .tdc-formato__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .tdc-formato__grid li { padding: 16px; } }
@media (max-width: 600px) { .tdc-espect { grid-template-columns: 104px 1fr; gap: 14px; padding: 12px; } .tdc .tdc-espect__titulo { font-size: 1.25rem; } }
/* Tarjeta de espectáculo: cartel horizontal entero arriba, datos debajo */
.tdc-espect { grid-template-columns: 1fr; align-items: stretch; padding: 14px; gap: 14px; }
.tdc .tdc-espect__cartel img { aspect-ratio: auto; height: auto; object-fit: initial; }
.tdc-espect__info { padding: 0 4px 4px; }
.tdc .tdc-espect .tdc-btn { background: var(--tdc-btn-bg, var(--tdc-ciruela)) !important; color: var(--tdc-btn-fg, var(--tdc-oro)) !important; }
@media (max-width: 600px) { .tdc-espect { grid-template-columns: 1fr; } }
.tdc .tdc-espect .tdc-espect__cartel img { height: auto !important; aspect-ratio: 1200 / 650 !important; object-fit: cover !important; }

/* ===== Cómicos ===== */
.tdc-cara__prox { display: inline-block; margin-top: 6px; padding: 4px 9px; border-radius: 99px; background: #FFF4D6; color: #8A5A00; font: 700 .72rem/1.2 var(--tdc-texto); }
.tdc-comico__hero { background: linear-gradient(180deg, var(--tdc-lila) 0%, #fff 100%); padding-block: 48px 40px; }
.tdc-comico--nueva .tdc-comico__grid { display: grid; grid-template-columns: 300px 1fr; gap: 48px; align-items: center; }
.tdc .tdc-comico--nueva .tdc-comico__foto img, .tdc-comico--nueva .tdc-comico__foto .tdc-cara__ini { width: 100%; aspect-ratio: 1; border-radius: 50%; object-fit: cover; box-shadow: 0 30px 60px -30px rgba(77,2,61,.6), 0 0 0 8px #fff; }
.tdc-comico--nueva .tdc-comico__foto .tdc-cara__ini { display: grid; place-items: center; background: var(--tdc-chip); font: 800 5rem/1 var(--tdc-titulo); color: var(--tdc-ciruela); }
.tdc-comico--nueva .tdc-ficha__titulo { margin: 4px 0 18px; }
.tdc-comico__prox { display: inline-grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; padding: 12px 18px 12px 12px; border-radius: 16px; background: #fff; box-shadow: 0 18px 40px -26px rgba(77,2,61,.55), 0 0 0 1px var(--tdc-linea); text-decoration: none; max-width: 100%; transition: box-shadow .2s, transform .2s; }
.tdc-comico__prox:hover { transform: translateY(-2px); box-shadow: 0 0 0 1.5px var(--tdc-ciruela), 0 18px 40px -26px rgba(77,2,61,.6); }
.tdc-comico__prox-dia { display: grid; justify-items: center; min-width: 56px; padding: 8px; border-radius: 12px; background: var(--tdc-ciruela); color: var(--tdc-oro); font: 700 .72rem/1 var(--tdc-texto); text-transform: uppercase; letter-spacing: .1em; }
.tdc-comico__prox-dia b { font: 800 1.7rem/1 var(--tdc-titulo); color: #fff; letter-spacing: 0; }
.tdc-comico__prox small { display: block; font: 700 .7rem/1 var(--tdc-texto); text-transform: uppercase; letter-spacing: .14em; color: var(--tdc-naranja); margin-bottom: 4px; }
.tdc-comico__prox b { display: block; color: var(--tdc-ciruela); font-weight: 800; }
.tdc-comico__prox span span { color: var(--tdc-suave); font-size: .9rem; }
.tdc-comico__prox > .tdc-ico { width: 20px; height: 20px; color: var(--tdc-ciruela); }
.tdc-comico__bio { margin-top: 22px; max-width: 62ch; }
.tdc-comico--nueva .tdc-acciones { margin-top: 20px; }
.tdc-comico--nueva .tdc-acciones .tdc-ico { width: 18px; height: 18px; }
@media (max-width: 760px) {
  .tdc-comico--nueva .tdc-comico__grid { grid-template-columns: 1fr; gap: 22px; justify-items: center; text-align: center; }
  .tdc-comico--nueva .tdc-comico__foto { width: 200px; }
  .tdc-comico__prox { text-align: left; }
  .tdc-comico__bio { text-align: left; }
  .tdc-comico--nueva .tdc-acciones { justify-content: center; }
}
.tdc-comico__prox .tdc-comico__prox-dia b { color: #fff; font: 800 1.7rem/1 var(--tdc-titulo); }
/* Menú móvil abierto: la barra superior tiene fondo propio para que la lista no pase por detrás del logo al desplazarse */
.tdc-menu.is-open .tdc-menu__barra { background: #24061D; max-width: none; box-shadow: 0 10px 24px -14px rgba(0,0,0,.8); }
/* Datos prácticos: el icono es un <span> y la regla de textos «.tdc-datos__fila span» lo descolocaba (quedaba arriba a la izquierda y gris) */
.tdc-datos__fila .tdc-datos__ico { display: grid; place-items: center; margin-top: 0; color: var(--tdc-ciruela); }
.tdc-ficha--paleta .tdc-datos__fila .tdc-datos__ico { color: var(--fx-principal); }
