/* =========================================================
   EvaZapico — hoja de estilos del tema hijo
   Paleta: grises cálidos en degradado + acento dorado (foco)
   Tipos: Bodoni Moda (títulos) + Archivo (texto)
   ========================================================= */

:root{
	--bg-base:#171512;
	--bg-alt-a:#201d1a;
	--bg-alt-b:#1a1714;
	--text:#f0ece5;
	--text-dim:rgba(240,236,229,.75);
	--text-faint:rgba(240,236,229,.45);
	--border:rgba(240,236,229,.12);
	--gold:#c9a227;
	--red:#8a2a1f;
	--font-display:'Bodoni Moda',serif;
	--font-body:'Archivo',sans-serif;
}

body{
	background:radial-gradient(ellipse 90% 60% at 50% 0%, var(--bg-alt-a), var(--bg-base) 55%);
	color:var(--text)!important;
	font-family:var(--font-body)!important;
	margin:0;
}
a{ color:var(--gold); }
a:hover{ color:var(--red); }
::selection{ background:var(--gold); color:var(--bg-base); }
img{ max-width:100%; display:block; }

/* ---- Navegación ---- */
.ez-nav{
	position:sticky; top:0; z-index:50;
	display:flex; align-items:center; justify-content:space-between;
	padding:18px 56px;
	background:rgba(23,21,18,.86);
	backdrop-filter:blur(6px);
	border-bottom:1px solid var(--border);
}
.ez-nav__brand{
	font-family:var(--font-display); font-weight:700; font-size:21px;
	letter-spacing:.04em; text-decoration:none; color:var(--text);
}
.ez-nav__links{ display:flex; gap:40px; }
.ez-nav__links a{
	font-size:13px; letter-spacing:.14em; text-transform:uppercase;
	text-decoration:none; color:var(--text); transition:opacity .15s ease;
}
.ez-nav__links a:hover{ opacity:.65; color:var(--text); }

/* ---- Menú móvil / burger ---- */
.ez-burger{
	display:none; background:none; border:none; padding:0; cursor:pointer;
	width:28px; height:20px; flex-direction:column; justify-content:space-between;
}
.ez-burger span{ width:100%; height:2px; background:var(--text); transition:transform .2s ease, opacity .2s ease; }
.ez-burger.is-open span:nth-child(1){ transform:translateY(9px) rotate(45deg); }
.ez-burger.is-open span:nth-child(2){ opacity:0; }
.ez-burger.is-open span:nth-child(3){ transform:translateY(-9px) rotate(-45deg); }

.ez-mobile-menu{
	position:fixed; inset:0; z-index:60; background:var(--bg-base);
	display:flex; flex-direction:column; align-items:center; justify-content:center; gap:32px;
	opacity:0; visibility:hidden; transition:opacity .2s ease;
}
.ez-mobile-menu.is-open{ opacity:1; visibility:visible; }
.ez-nav__links--mobile{ flex-direction:column; align-items:center; gap:32px; }
.ez-nav__links--mobile a{ font-family:var(--font-display); font-size:32px; letter-spacing:0; text-transform:none; }

@media (max-width:900px){
	.ez-nav__links--desktop{ display:none; }
	.ez-burger{ display:flex; }
}

/* ---- Héroe / cabecera de página ---- */
.ez-hero{ padding:100px 56px 60px; position:relative; }
.ez-hero--home{ min-height:88vh; display:flex; flex-direction:column; justify-content:center; }
.ez-hero__eyebrow{
	font-size:13px; letter-spacing:.3em; text-transform:uppercase; color:var(--gold);
	margin-bottom:20px;
}
.ez-hero__title{
	font-family:var(--font-display); font-weight:700; margin:0 0 24px;
	font-size:clamp(38px,6vw,84px); line-height:1;
}
.ez-hero__lead{ max-width:560px; font-size:17px; line-height:1.6; color:var(--text-dim); }

/* ---- Botones ---- */
.ez-btn{
	display:inline-block; padding:16px 32px; font-size:13px; letter-spacing:.14em;
	text-transform:uppercase; text-decoration:none; font-weight:600; border:1px solid var(--border);
	color:var(--text); transition:background .15s ease,color .15s ease;
}
.ez-btn--primary{ background:var(--gold); color:var(--bg-base); border-color:var(--gold); }
.ez-btn--primary:hover{ background:transparent; color:var(--gold); }

/* ---- Secciones ---- */
.ez-section{ padding:80px 56px; border-top:1px solid var(--border); position:relative; z-index:1; }
.ez-section--alt{ background:linear-gradient(180deg,var(--bg-alt-a),var(--bg-alt-b)); }
.ez-section__head{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:48px; flex-wrap:wrap; gap:16px; }
.ez-section__eyebrow{ font-size:13px; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); margin-bottom:14px; }
.ez-section__title{ font-family:var(--font-display); font-weight:700; margin:0; font-size:clamp(34px,4.5vw,58px); }

/* ---- Grids ---- */
.ez-container{ max-width:1240px; margin:0 auto; }
.ez-grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:42px; }
.ez-grid-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:42px; }
.ez-grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:42px; }
@media (max-width:900px){
	.ez-grid-3,.ez-grid-2,.ez-grid-4{ grid-template-columns:1fr; }
	.ez-nav{ padding:16px 24px; } .ez-nav__links{ gap:20px; flex-wrap:wrap; }
	.ez-hero,.ez-section{ padding-left:24px; padding-right:24px; }
}

a.ez-poster:hover, a.ez-poster:active{
	color: var(--red)!important;
}

/* ---- Tarjetas: Montajes (cartelera) ---- */
.ez-poster{ text-decoration:none; color:inherit; display:block; }
.ez-poster__image{
	aspect-ratio:3/4; overflow:hidden; border:1px solid var(--border); max-width:100%; margin:0 auto;
	background:linear-gradient(160deg,#2a221a,#171310);
}
.ez-poster__image img{ width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.ez-poster:hover .ez-poster__image img{ transform:scale(1.04); }
.ez-poster__title{ font-family:var(--font-display); font-size:22px; margin-top:14px; font-weight:700; }

/* ---- Tarjetas: Talleres ---- */
.ez-taller-card{ border:1px solid var(--border); padding:40px; position:relative; }
.ez-taller-card__image{ aspect-ratio:16/9; overflow:hidden; margin-bottom:20px; border:1px solid var(--border); }
.ez-taller-card__image img{ width:100%; height:100%; object-fit:cover; }
.ez-taller-card__meta{ font-size:13px; color:var(--text-faint); margin-bottom:16px; }
.ez-taller-card__title{ font-family:var(--font-display); font-size:28px; margin:0 0 14px; font-weight:700; }
.ez-taller-card__title a{ color:var(--text); text-decoration:none; }
.ez-taller-card__excerpt{ color:var(--text-dim); line-height:1.6; font-size:15px; margin-bottom:20px; }
.ez-link-arrow{ font-size:13px; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; }
.ez-badge{ position:absolute; top:0; right:0; background:var(--red); color:var(--text); font-size:11px; letter-spacing:.1em; padding:6px 14px; text-transform:uppercase; }

/* ---- Tarjetas: Reflexiones ---- */
.ez-reflexion-card{ background:var(--bg-alt-b); padding:36px; border:1px solid var(--border); }
.ez-reflexion-card__date{ font-size:12px; color:var(--text-faint); margin-bottom:14px; }
.ez-reflexion-card__title{ font-family:var(--font-display); font-size:22px; margin:0 0 12px; font-weight:700; }
.ez-reflexion-card__title a{ color:var(--text); text-decoration:none; }
.ez-reflexion-card__excerpt{ color:var(--text-dim); font-size:14px; line-height:1.6; }

/* ---- Fichas individuales (single) ---- */
.ez-single{ padding:80px 56px; }
.ez-single__eyebrow{ font-size:13px; letter-spacing:.2em; text-transform:uppercase; color:var(--text-faint); margin-bottom:18px; }
.ez-single__meta{ font-size:13px; color:var(--gold); letter-spacing:.1em; margin-bottom:10px; }
.ez-single__title{ font-family:var(--font-display); font-weight:700; font-size:clamp(36px,4vw,56px); margin:0 0 24px; line-height:1.05; }
.ez-single__figure{ aspect-ratio:16/10; overflow:hidden; border:1px solid var(--border); margin-bottom:32px; }
.ez-single__figure img{ width:100%; height:100%; object-fit:cover; }
.ez-single-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:72px; align-items:start; }
@media (max-width:900px){ .ez-single-grid{ grid-template-columns:1fr; } }
.ez-taller-meta-row{ display:flex; gap:24px; flex-wrap:wrap; margin-bottom:28px; font-size:14px; color:var(--text-dim); }
.ez-taller-meta-row strong{ color:var(--text); }

/* Ficha individual de Montajes: imagen destacada como fondo + contenido */
.ez-montaje-grid{ display:grid; grid-template-columns:45% 1fr; gap:45px; align-items:start; }
.ez-montaje-grid__media{
	background-color:var(--bg-alt-a); background-size:cover; background-position:center center;
	border:1px solid var(--border); min-height:520px; max-height:calc(100vh - 140px);
	position:sticky; top:110px;
}
.ez-montaje-grid__content{ min-width:0; }
@media (max-width:900px){
	.ez-montaje-grid{ grid-template-columns:1fr; gap:28px; }
	.ez-montaje-grid__media{ min-height:320px; max-height:none; position:static; }
}

/* Galería de la ficha de Montaje: cuadrícula propia (no reutiliza el
   marcado del bloque nativo, cuyo CSS de columnas pisaba el nuestro) */
.ez-gallery{ margin-top:36px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.ez-gallery__item{ display:block; aspect-ratio:1/1; overflow:hidden; border:1px solid var(--border); }
.ez-gallery__item img{ width:100%; height:100%; object-fit:cover; display:block; }
@media (max-width:900px){ .ez-gallery{ grid-template-columns:repeat(2,1fr); } }
/* Ficha de créditos (Montajes) */
.ez-credits{ display:grid; gap:12px; font-size:14px; margin-top:36px; border-top:1px solid var(--border); padding-top:28px; }
.ez-credits__row{ display:grid; grid-template-columns:180px 1fr; color:var(--text-dim); }
.ez-credits__row span:first-child{ color:var(--text-faint); }
@media (max-width:600px){ .ez-credits__row{ grid-template-columns:1fr; } }

/* Contenido del editor (galería, embeds de vídeo, listas de créditos…) */
.ez-article{ line-height:1.8; font-size:16px; color:var(--text-dim); }
.ez-article p{ margin:0 0 24px; }
.ez-article h2,.ez-article h3{ font-family:var(--font-display); color:var(--text); }
.ez-article ul,.ez-article ol{ padding-left:20px; }
.ez-article .wp-block-gallery{ margin:32px 0; }
.ez-article figure{ margin:32px 0 0; }
.ez-article .wp-block-embed{ margin:32px 0; border:1px solid var(--border); }
.ez-article iframe{ width:100%; }

/* ---- Información / Contacto ---- */
.ez-info-grid,.ez-contact-grid{ display:grid; gap:72px; }
.ez-info-grid{ grid-template-columns:.8fr 1.2fr; }
.ez-contact-grid{ grid-template-columns:.9fr 1.1fr; }
@media (max-width:900px){ .ez-info-grid,.ez-contact-grid{ grid-template-columns:1fr; } }
.ez-portrait{ margin-top:40px; aspect-ratio:3/4; max-width:320px; overflow:hidden; border:1px solid var(--border); }
.ez-portrait img{ width:100%; height:100%; object-fit:cover; }

.ez-form{ display:grid; gap:18px; }
.ez-form input, .ez-form textarea{
	background:transparent; border:none; border-bottom:1px solid rgba(240,236,229,.3);
	padding:14px 0; color:var(--text); font-size:15px; font-family:inherit; resize:none;
}
.ez-form button{
	justify-self:start; background:var(--gold); color:var(--bg-base); border:none;
	padding:16px 40px; font-size:13px; letter-spacing:.14em; text-transform:uppercase;
	font-weight:600; cursor:pointer; margin-top:10px;
}

/* ---- Pie ---- */
.ez-footer{
	padding:40px 56px; border-top:1px solid var(--border);
	display:flex; justify-content:space-between; align-items:center;
	font-size:13px; color:var(--text-faint);
}
.ez-footer__mark{ font-family:var(--font-display); font-style:italic; }

/* ---- Lightbox (galerías del contenido) ---- */
.ez-lightbox{
	position:fixed; inset:0; z-index:200; background:rgba(10,9,8,.94);
	display:flex; align-items:center; justify-content:center;
	opacity:0; visibility:hidden; transition:opacity .2s ease;
}
.ez-lightbox.is-open{ opacity:1; visibility:visible; }
.ez-lightbox__img{ max-width:88vw; max-height:86vh; object-fit:contain; border:1px solid var(--border); }
.ez-lightbox__close{
	position:absolute; top:24px; right:32px; background:none; border:none; color:var(--text);
	font-size:36px; line-height:1; cursor:pointer;
}
.ez-lightbox__nav{
	position:absolute; top:50%; transform:translateY(-50%); background:none; border:none; color:var(--text);
	font-size:48px; line-height:1; cursor:pointer; padding:0 20px; display:flex;
}
.ez-lightbox__prev{ left:8px; } .ez-lightbox__next{ right:8px; }

/* Paginación WP por defecto */
.pagination, .navigation.pagination{ margin-top:56px; display:flex; gap:12px; font-size:14px; }
.pagination .page-numbers{ color:var(--text-dim); text-decoration:none; padding:8px 14px; border:1px solid var(--border); }
.pagination .page-numbers.current{ color:var(--bg-base); background:var(--gold); border-color:var(--gold); }
