/* Esencia News — estilos complementarios a theme.json */

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
::selection { background: #e50914; color: #fff; }

/* Cabecera fija */
.esencia-header {
	position: relative;
	background: rgba(255, 255, 255, 0.97);
	backdrop-filter: blur(6px);
	border-bottom: 1px solid #E5E7EB;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	transition: box-shadow .25s;
}
/* Cabecera fija en escritorio y tablet horizontal.
   Lo que se "pega" es el <header> de la parte de plantilla: su contenedor
   (.wp-site-blocks) ocupa toda la altura de la página, así que sí puede deslizarse. */
@media (min-width: 783px) {
	header.wp-block-template-part { position: sticky; top: 0; z-index: 100; }
	.admin-bar header.wp-block-template-part { top: 32px; }
}
header.wp-block-template-part.is-scrolled .esencia-header { box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1); }

.esencia-brand-mark {
	display: inline-block;
	width: 0.65rem;
	height: 0.65rem;
	background: #e50914;
	border-radius: 2px;
	margin-right: 0.5rem;
}
.esencia-tagline {
	font-family: var(--wp--preset--font-family--title);
	font-size: 0.625rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #6B7280;
	margin: 0;
}
.esencia-header .wp-block-navigation a:hover,
.esencia-header .wp-block-navigation .current-menu-item > a { color: #e50914; }

/* Etiquetas en versalitas */
.esencia-eyebrow {
	font-family: var(--wp--preset--font-family--title);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #e50914;
	margin: 0;
}
.esencia-pill {
	display: inline-block;
	background: #e50914;
	color: #fff;
	padding: 0.2rem 0.75rem;
	font-family: var(--wp--preset--font-family--title);
	font-size: 0.7rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	border-radius: 2px;
	margin: 0;
}
.esencia-caps {
	font-family: var(--wp--preset--font-family--title);
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #6B7280;
	margin: 0;
}
.esencia-metric {
	font-family: var(--wp--preset--font-family--title);
	font-weight: 900;
	color: #e50914;
	line-height: 1;
	letter-spacing: -0.02em;
	margin: 0;
}

/* Cita destacada con borde rojo */
.esencia-callout { border-left: 4px solid #e50914; padding-left: 1rem; }

/* Tarjetas de servicio / cliente */
.esencia-card {
	border: 1px solid #E5E7EB;
	border-radius: 2px;
	transition: box-shadow .2s, border-color .2s, background-color .2s;
}
.esencia-card:hover {
	border-color: #e50914;
	background: #fff;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}
.esencia-card-featured {
	border: 2px solid #e50914;
	box-shadow: 0 20px 30px rgba(0, 0, 0, 0.1);
}
.esencia-bar {
	height: 4px;
	width: 3rem;
	background: #e50914;
	margin: 0 0 1.5rem;
	transition: width .3s;
}
.esencia-card:hover .esencia-bar,
.esencia-card-featured .esencia-bar { width: 100%; }

.esencia-client {
	background: #fff;
	border: 1px solid #E5E7EB;
	border-radius: 2px;
	text-align: center;
	transition: box-shadow .2s;
}
.esencia-client:hover { box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); }
.esencia-client:hover .esencia-client-name { color: #e50914; }
.esencia-client-name {
	font-family: var(--wp--preset--font-family--title);
	font-weight: 900;
	font-size: 1.1rem;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	margin: 0;
}

/* Lista con viñetas rojas */
ul.esencia-dots { list-style: none; padding: 0; margin: 0; }
ul.esencia-dots li {
	position: relative;
	padding-left: 1.1rem;
	margin-bottom: 0.5rem;
	font-size: 0.85rem;
}
ul.esencia-dots li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #e50914;
}

/* Retrato placeholder (reemplazar por imagen real) */
.esencia-portrait {
	aspect-ratio: 3 / 4;
	background: #F3F4F6;
	border: 1px solid #E5E7EB;
	border-radius: 2px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--wp--preset--font-family--display);
	font-size: 3rem;
	font-weight: 700;
	color: #D1D5DB;
}
.wp-block-image.esencia-portrait-img img {
	aspect-ratio: 3 / 4;
	object-fit: cover;
	object-position: top;
	border: 1px solid #E5E7EB;
	border-radius: 2px;
}

/* Imagen del hero */
.esencia-hero-media {
	background: #F9FAFB;
	border: 1px solid #E5E7EB;
	padding: 0.6rem;
	border-radius: 0.25rem;
	box-shadow: 0 20px 30px rgba(0, 0, 0, 0.12);
	overflow: hidden;
}
.esencia-hero-media .wp-block-image img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
	width: 100%;
}
.esencia-hero-placeholder {
	aspect-ratio: 4 / 5;
	background: linear-gradient(160deg, #1F2937, #111415);
}

/* Indicador pulsante */
.esencia-live::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #e50914;
	margin-right: 0.4rem;
	animation: esencia-ping 1.4s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes esencia-ping {
	0% { box-shadow: 0 0 0 0 rgba(229, 9, 20, .6); }
	100% { box-shadow: 0 0 0 8px rgba(229, 9, 20, 0); }
}

/* Valores: divisores en escritorio */
@media (min-width: 782px) {
	.esencia-value + .esencia-value { border-left: 1px solid #E5E7EB; padding-left: 1.5rem; }
}

/* Formulario de contacto */
.esencia-form label {
	display: block;
	font-family: var(--wp--preset--font-family--title);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #374151;
	margin-bottom: 0.4rem;
}
.esencia-form input[type="text"],
.esencia-form input[type="email"],
.esencia-form input[type="tel"],
.esencia-form select,
.esencia-form textarea {
	width: 100%;
	background: #fff;
	border: 1px solid #D1D5DB;
	border-radius: 2px;
	padding: 0.75rem 1rem;
	font: inherit;
	font-size: 0.9rem;
	color: #111415;
	outline: none;
	transition: border-color .15s, box-shadow .15s;
}
.esencia-form input:focus,
.esencia-form select:focus,
.esencia-form textarea:focus {
	border-color: #e50914;
	box-shadow: 0 0 0 1px #e50914;
}
.esencia-form .esencia-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	margin-bottom: 1.25rem;
}
@media (min-width: 640px) { .esencia-form .esencia-row.two { grid-template-columns: 1fr 1fr; } }
.esencia-form .esencia-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.esencia-form button {
	background: #e50914;
	color: #fff;
	border: 0;
	border-radius: 2px;
	padding: 0.95rem 2rem;
	font-family: var(--wp--preset--font-family--title);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .15s;
}
.esencia-form button:hover { background: #C0000C; }
.esencia-notice {
	padding: 0.9rem 1rem;
	border-left: 4px solid #e50914;
	background: #F9FAFB;
	border-top: 1px solid #E5E7EB;
	border-right: 1px solid #E5E7EB;
	border-bottom: 1px solid #E5E7EB;
	margin-bottom: 1.25rem;
	font-size: 0.9rem;
}
.esencia-notice.ok { border-left-color: #16a34a; }

/* Listados editoriales */
.esencia-post-card { border-bottom: 1px solid #E5E7EB; padding-bottom: 1.5rem; }
.esencia-post-card .wp-block-post-featured-image img { border-radius: 2px; }
.esencia-post-card .wp-block-post-title a { text-decoration: none; color: inherit; }
.esencia-post-card .wp-block-post-title a:hover { color: #e50914; }

/* ---------- Estructura de secciones y componentes ---------- */
.esencia-header-inner { padding-block: 1rem; }
.esencia-brand { margin: 0; }
.esencia-brand a { text-decoration: none; color: #111415; }
.esencia-brand a::before {
	content: "";
	display: inline-block;
	width: 0.65rem;
	height: 0.65rem;
	background: #e50914;
	border-radius: 2px;
	margin-right: 0.5rem;
}
/* ---------- Logo (admite formatos apaisados) ----------
   El ancho se controla desde el bloque "Logo del sitio" (Ancho de imagen).
   La altura se calcula sola para conservar la proporción. */
.wp-block-site-logo { margin: 0; line-height: 0; flex-shrink: 0; }
.wp-block-site-logo a { display: block; }
.wp-block-site-logo img {
	display: block;
	height: auto;
	max-width: 100%;
	object-fit: contain;
	object-position: left center;
}
.esencia-header .wp-block-site-logo img { max-height: 72px; mix-blend-mode: multiply; }
.esencia-footer .wp-block-site-logo img { max-height: 72px; }

/* Si hay logo cargado, se oculta el título y el lema en texto (el logo ya los incluye) */
.esencia-brand-wrap:has(.wp-block-site-logo img) .esencia-brand-text { display: none; }
.esencia-footer .wp-block-group:has(> .wp-block-site-logo img) > .esencia-brand { display: none; }

/* Cabecera: logo a la izquierda, menú al centro, botón a la derecha */
.esencia-header .esencia-header-inner.is-layout-flex { flex-wrap: nowrap; gap: 1.5rem; align-items: center; }
.esencia-header-inner > * { margin-block: 0; align-self: center; }
.esencia-header .wp-block-navigation { align-items: center; }
.esencia-header .wp-block-navigation__container { align-items: center; }
.esencia-header-inner > .wp-block-navigation { flex: 1 1 auto; justify-content: center; }
.esencia-header .wp-block-buttons { flex-shrink: 0; }
.esencia-header .wp-block-button__link { white-space: nowrap; }
.esencia-brand-wrap { flex-shrink: 0; }

@media (max-width: 1160px) {
	/* Fila 1: logo + botón. Fila 2: menú centrado. */
	.esencia-header .esencia-header-inner.is-layout-flex { flex-wrap: wrap; row-gap: 0.5rem; }
	.esencia-header-inner > .esencia-brand-wrap { order: 1; }
	.esencia-header-inner > .wp-block-buttons { order: 2; margin-left: auto; }
	.esencia-header-inner > .wp-block-navigation { order: 3; flex-basis: 100%; justify-content: center; }
	.esencia-header-inner { padding-block: 0.75rem; }
}
@media (max-width: 599px) {
	/* Móvil: el menú pasa a botón hamburguesa junto al logo */
	.esencia-header-inner > .wp-block-navigation { order: 2; flex-basis: auto; flex: 0 0 auto; }
	.esencia-header-inner > .wp-block-buttons { order: 3; flex-basis: 100%; margin-left: 0; }
	.esencia-header-inner > .wp-block-buttons .wp-block-button,
	.esencia-header-inner > .wp-block-buttons .wp-block-button__link { width: 100%; text-align: center; }
	.esencia-header .wp-block-site-logo img { max-height: 52px; }
}

/* Hero: menos aire arriba */
.esencia-section.esencia-section-hero {
	padding-top: clamp(1.5rem, 3vw, 2.5rem);
	padding-bottom: clamp(2.5rem, 5vw, 4rem);
}
.esencia-footer { padding-block: 3rem; }
.esencia-footer-top { padding-bottom: 1rem; }

.esencia-section {
	padding-top: clamp(3rem, 5.5vw, 5rem);
	padding-bottom: clamp(3rem, 5.5vw, 5rem);
	border-bottom: 1px solid #E5E7EB;
}
.esencia-section-tight {
	padding-top: clamp(3rem, 5vw, 4rem);
	padding-bottom: clamp(3rem, 5vw, 4rem);
}
.esencia-section-head { margin-bottom: 2.5rem; }
.esencia-section-head > * { margin-block-start: 0; }

.esencia-metric { font-size: clamp(1.75rem, 4vw, 3rem); }
.esencia-metric-sm { font-size: 1.9rem; }
.esencia-metrics {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid #E5E7EB;
	gap: 1.5rem;
}
.esencia-metrics > .wp-block-column + .wp-block-column {
	border-left: 1px solid #E5E7EB;
	padding-left: 1.5rem;
}
.esencia-caps-xs { font-size: 0.62rem; margin-top: 0.25rem; }
.esencia-eyebrow-sm { font-size: 0.65rem; margin-top: 0.75rem; }
.esencia-eyebrow-lg { font-size: 1.1rem; }

.esencia-card { padding: 2rem; background: rgba(249, 250, 251, 0.6); }
.esencia-card::before {
	content: "";
	display: block;
	height: 4px;
	width: 3rem;
	background: #e50914;
	margin-bottom: 1.5rem;
	transition: width .3s;
}
.esencia-card:hover::before,
.esencia-card-featured::before { width: 100%; }
.esencia-card-featured { background: #fff; }
.esencia-card ul.esencia-dots { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid #E5E7EB; }
.esencia-card .wp-block-heading { margin-top: 0.75rem; }
.esencia-span-2 { grid-column: span 2; }
.esencia-badge {
	display: inline-block;
	background: #FEF2F2;
	color: #e50914;
	font-family: var(--wp--preset--font-family--title);
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.15rem 0.5rem;
	border-radius: 2px;
	margin: 0.5rem 0 0;
}
@media (max-width: 1024px) {
	.is-layout-grid:has(> .esencia-card) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 700px) {
	.is-layout-grid:has(> .esencia-card) { grid-template-columns: 1fr !important; }
	.esencia-span-2 { grid-column: auto; }
}

.esencia-client { padding: 1rem; }

.esencia-panel {
	background: #fff;
	border: 1px solid #E5E7EB;
	border-radius: 2px;
	padding: 2rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
.esencia-panel-lg { padding: clamp(2rem, 4vw, 3.5rem); box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08); }
.esencia-center { text-align: center; }
.esencia-note {
	background: #F9FAFB;
	border: 1px solid #E5E7EB;
	border-left: 4px solid #e50914;
	padding: 1rem;
}
.esencia-contact-item { margin-block: 1.25rem; }
.esencia-contact-item > * { margin-block: 0.15rem; }
.esencia-email a { color: #e50914; text-decoration: none; font-weight: 700; }
.esencia-person { margin: 0; gap: 2rem; }

.esencia-hero-cover {
	border: 1px solid #E5E7EB;
	border-radius: 4px;
	box-shadow: 0 20px 30px rgba(0, 0, 0, 0.12);
	padding: 1.25rem;
}
.esencia-overlay-card {
	background: #fff;
	border-left: 4px solid #e50914;
	padding: 1.25rem;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
	width: 100%;
	color: #111415;
}
.esencia-overlay-foot { margin-top: 0.75rem; padding-top: 0.5rem; border-top: 1px solid #F3F4F6; }

.wp-block-button.is-style-outline .wp-block-button__link {
	background: #fff;
	color: #111415;
	border: 1px solid #D1D5DB;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: #F9FAFB;
	color: #111415;
	border-color: #6B7280;
}

.esencia-opinion-card .wp-block-post-title a { text-decoration: none; }

/* Sin hueco entre cabecera, contenido y pie */
.wp-site-blocks > * + * { margin-block-start: 0; }

/* Las anclas (#valores, #contacto...) no quedan tapadas por la cabecera fija.
   --esencia-offset lo calcula assets/js/theme.js según la altura real. */
html { scroll-padding-top: var(--esencia-offset, 0px); }

/* Menú: más compacto para que quepa Inicio + 6 ítems + botón en una fila */
.esencia-header .wp-block-navigation {
	--wp--style--block-gap: clamp(0.9rem, 1.5vw, 1.5rem) !important;
	font-size: clamp(0.66rem, 0.9vw, 0.75rem);
}
.esencia-header .wp-block-button__link { padding: 0.8rem 1.25rem; font-size: 0.7rem; }

/* Botón "volver arriba" */
.esencia-top {
	position: fixed;
	right: 1.25rem;
	bottom: 1.25rem;
	z-index: 90;
	width: 3rem;
	height: 3rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #e50914;
	color: #fff;
	border-radius: 4px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
	text-decoration: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .2s, transform .2s, visibility .2s, background-color .15s;
}
.esencia-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.esencia-top:hover { background: #C0000C; color: #fff; }
.esencia-top:focus-visible { outline: 3px solid #111415; outline-offset: 3px; }
@media print { .esencia-top { display: none; } }

@media (prefers-reduced-motion: reduce) {
	.esencia-top { transition: none; transform: none; }
	html { scroll-behavior: auto; }
	.esencia-live::before { animation: none; }
}
