/*
Theme Name: Tándem Impro
Theme URI: https://example.com/
Author: OpenAI
Description: Tema WordPress punk / neo-brutalista para Tándem Impro.
Version: 1.6.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: tandem-impro
*/
:root {
  --ink:#090909; --paper:#f4f1e9; --acid:#ff5a1f; --red:#f02b19;
  --line:3px solid var(--ink); --display:Impact,"Arial Narrow",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.35}
a{color:inherit}
.site-header{width:100%;padding:18px clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:var(--line);background:var(--acid)}
.brand{text-decoration:none;font:900 clamp(1.15rem,2.5vw,2rem)/.9 var(--display);letter-spacing:-.025em;text-transform:uppercase}
.header-note{text-align:right;font-size:.68rem;font-weight:900;line-height:1.15;letter-spacing:.13em;text-transform:uppercase}
.hero{width:min(1440px,100%);margin:auto;min-height:calc(100svh - 76px);padding:clamp(22px,4vw,60px);display:grid;grid-template-columns:minmax(220px,.7fr) 1.3fr;align-items:center;gap:clamp(20px,5vw,80px);position:relative;overflow:hidden}
.hero:before{content:"IMPRO SIN PERMISO";position:absolute;right:-.04em;top:4%;font:900 clamp(3rem,10vw,10rem)/.8 var(--display);color:transparent;-webkit-text-stroke:1px rgba(0,0,0,.13);transform:rotate(-7deg);pointer-events:none}
.hero-logo-wrap{position:relative;z-index:1;background:#fff;border:var(--line);padding:10px;box-shadow:12px 12px 0 var(--red);transform:rotate(-3deg)}
.hero-logo{display:block;width:100%;height:auto;mix-blend-mode:normal}
.hero-copy{position:relative;z-index:1}
.eyebrow{display:inline-block;background:var(--ink);color:var(--acid);padding:7px 10px;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;transform:rotate(-2deg)}
.hero h1{font:900 clamp(4rem,11.5vw,11rem)/.76 var(--display);letter-spacing:-.055em;text-transform:uppercase;margin:24px 0 26px;max-width:900px}
.hero h1 span{display:block}
.hero h1 .accent{color:var(--red);text-shadow:4px 4px 0 var(--ink);transform:rotate(-2deg);transform-origin:left center}
.lead{font-size:clamp(1.05rem,2vw,1.45rem);font-weight:900;max-width:540px;text-transform:uppercase}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:66px;padding:16px 24px;margin-top:14px;background:var(--acid);color:var(--ink);border:var(--line);box-shadow:7px 7px 0 var(--ink);text-decoration:none;font:900 clamp(1.1rem,2vw,1.5rem)/1 var(--display);text-transform:uppercase;letter-spacing:.01em;transition:transform .12s,box-shadow .12s}
.button:hover{transform:translate(5px,5px);box-shadow:2px 2px 0 var(--ink);background:var(--red);color:#fff}
.micro{font-size:.7rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;margin-top:24px}
.ticker{overflow:hidden;white-space:nowrap;background:var(--red);color:#fff;border-top:var(--line);border-bottom:var(--line);padding:16px 0;font:900 clamp(1.1rem,2.5vw,2rem)/1 var(--display);letter-spacing:.04em;transform:rotate(-1deg) scale(1.02)}
.ticker span{display:inline-block;padding-left:1.5rem}
.section{width:min(1200px,calc(100% - 40px));margin:auto;padding:clamp(70px,10vw,140px) 0}
.section .eyebrow{margin-bottom:25px}
.section h2{font:900 clamp(3.4rem,9vw,9rem)/.78 var(--display);letter-spacing:-.045em;text-transform:uppercase;max-width:1000px;margin:0 0 34px}
.section-copy{font-size:clamp(1.15rem,2.3vw,1.7rem);font-weight:800;max-width:760px}
.booking{width:100%;background:var(--acid);border-top:var(--line);border-bottom:var(--line);padding:clamp(45px,8vw,110px) clamp(20px,7vw,110px);display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.booking .eyebrow{background:var(--red);color:#fff}
.booking h2{font:900 clamp(3.5rem,9vw,9rem)/.78 var(--display);letter-spacing:-.05em;text-transform:uppercase;margin:18px 0 0}
.button-dark{background:var(--ink);color:var(--acid);border-color:var(--ink);box-shadow:7px 7px 0 var(--red);white-space:nowrap}
.button-dark:hover{background:var(--red);color:#fff;box-shadow:2px 2px 0 var(--ink)}
.site-footer{background:var(--ink);color:var(--paper);padding:28px clamp(20px,4vw,64px);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.site-footer a{color:var(--acid)}
@media(max-width:760px){
 .site-header{padding:16px 18px}
 .hero{min-height:auto;grid-template-columns:1fr;padding:32px 20px 55px;gap:30px}
 .hero-logo-wrap{width:min(66vw,290px);margin:0 auto;order:2}
 .hero-copy{text-align:left;order:1}
 .hero h1{font-size:clamp(4.1rem,17vw,7rem)}
 .hero h1 .accent{display:inline-block}
 .lead{max-width:500px}
 .ticker{padding:13px 0}
 .section{padding:75px 0}
 .booking{align-items:flex-start}
 .booking h2{font-size:clamp(3.5rem,15vw,6rem)}
}

.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:48px}
.event-card{border:3px solid var(--ink);background:#fff;box-shadow:9px 9px 0 var(--ink);display:flex;flex-direction:column;min-width:0}
.event-image-link{display:block;background:var(--acid);border-bottom:3px solid var(--ink);overflow:hidden}
.event-image{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .2s}
.event-image-link:hover .event-image{transform:scale(1.035)}
.event-image-empty{display:grid;place-items:center;text-align:center;font:900 clamp(2.5rem,6vw,5rem)/.8 var(--display);color:var(--ink);padding:35px}
.event-card-content{padding:22px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.event-date{font-size:.75rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;background:var(--acid);padding:6px 9px}
.event-card h3{font:900 clamp(1.9rem,4vw,3.5rem)/.88 var(--display);text-transform:uppercase;letter-spacing:-.035em;margin:17px 0 8px}
.event-card h3 a{text-decoration:none}
.event-place{font-weight:900;text-transform:uppercase;font-size:.8rem;margin:0 0 12px}
.event-excerpt{font-size:.95rem;max-width:48ch}
.event-button{margin-top:auto}
.no-events{grid-column:1/-1;border:3px dashed var(--ink);padding:35px;font-weight:800}
.no-events h3{font:900 clamp(2rem,5vw,4rem)/.9 var(--display);text-transform:uppercase;margin:0 0 12px}
.single-event{width:min(900px,calc(100% - 40px));margin:0 auto;padding:60px 0 100px}
.single-event h1{font:900 clamp(3rem,9vw,8rem)/.82 var(--display);text-transform:uppercase;letter-spacing:-.05em}
.single-event .event-meta{font-weight:900;text-transform:uppercase;background:var(--acid);display:inline-block;padding:8px 12px;margin-bottom:24px}
.single-event .event-featured img{width:100%;height:auto;border:3px solid var(--ink);box-shadow:10px 10px 0 var(--red);margin:12px 0 35px}
.single-event .entry-content{font-size:1.15rem;max-width:740px}
.single-event .single-booking{margin:35px 0}
@media(max-width:760px){.event-grid{grid-template-columns:1fr;gap:25px}.event-card{box-shadow:6px 6px 0 var(--ink)}.event-card-content{padding:18px}.single-event{padding:40px 0 70px}}


/* Ajustes responsive adicionales: carteles e imágenes en móvil */
img { max-width: 100%; height: auto; }
.hero-logo { width: min(100%, 390px); }
.event-image-link {
  display: block;
  width: 100%;
  height: clamp(150px, 22vw, 260px);
  overflow: hidden;
  background: var(--acid);
}
.event-image {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
}
.single-event .event-featured img {
  display: block;
  width: 100%;
  max-height: 560px;
  object-fit: contain;
  object-position: center;
}
@media (max-width: 760px) {
  .hero {
    padding-top: 24px;
    padding-bottom: 38px;
    gap: 22px;
  }
  .hero-logo-wrap {
    width: min(54vw, 210px);
    padding: 7px;
    box-shadow: 7px 7px 0 var(--red);
  }
  .hero-logo { width: 100%; }
  .hero h1 {
    font-size: clamp(3.3rem, 14vw, 5.6rem);
    margin: 18px 0;
  }
  .lead { font-size: 1rem; line-height: 1.35; }
  .event-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    margin-top: 30px;
  }
  .event-card {
    width: 100%;
    max-width: 540px;
    margin-inline: auto;
  }
  .event-image-link {
    height: clamp(145px, 48vw, 230px);
  }
  .event-card-content { padding: 15px; }
  .event-card h3 { font-size: clamp(1.8rem, 8vw, 2.7rem); }
  .event-excerpt { font-size: .9rem; }
  .event-button {
    min-height: 54px;
    width: 100%;
    font-size: 1.15rem;
    padding: 13px 15px;
  }
  .single-event .event-featured img {
    max-height: 390px;
    width: 100%;
    object-fit: contain;
    box-shadow: 6px 6px 0 var(--red);
  }
  .single-event { padding-top: 32px; }
}
@media (max-width: 420px) {
  .site-header { min-height: 62px; }
  .header-note { font-size: .58rem; }
  .brand { font-size: 1.15rem; }
  .hero-logo-wrap { width: min(48vw, 175px); }
  .hero h1 { font-size: clamp(3rem, 13.5vw, 4.4rem); }
  .event-image-link { height: 165px; }
  .section { width: calc(100% - 32px); }
}


/* FIX FIRME PARA CARTELES DE EVENTOS EN MÓVIL */
@media screen and (max-width: 760px) {
  #proximas-funciones .event-grid .event-card > .event-image-link {
    display: block !important;
    height: 180px !important;
    min-height: 180px !important;
    max-height: 180px !important;
    width: 100% !important;
    overflow: hidden !important;
    position: relative !important;
  }
  #proximas-funciones .event-grid .event-card > .event-image-link img,
  #proximas-funciones .event-grid .event-card img.event-image,
  #proximas-funciones .event-grid .event-card img.wp-post-image {
    display: block !important;
    width: 100% !important;
    height: 180px !important;
    min-height: 0 !important;
    max-height: 180px !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center 35% !important;
  }
  #proximas-funciones .event-grid .event-card {
    overflow: hidden !important;
  }
}
@media screen and (max-width: 420px) {
  #proximas-funciones .event-grid .event-card > .event-image-link {
    height: 155px !important;
    min-height: 155px !important;
    max-height: 155px !important;
  }
  #proximas-funciones .event-grid .event-card > .event-image-link img,
  #proximas-funciones .event-grid .event-card img.event-image,
  #proximas-funciones .event-grid .event-card img.wp-post-image {
    height: 155px !important;
    max-height: 155px !important;
  }
}
