/* ==========================================================================
   Viajo en Primera — estilos del tema
   Colores, tipografías y espaciados vienen de theme.json (variables --wp--preset--*).
   Aquí solo van los componentes "carnet de voyage": postales, sellos, pestañas, etc.
   ========================================================================== */

:root {
	--vep-radius: var(--wp--custom--radius--card, 18px);
	--vep-radius-s: var(--wp--custom--radius--small, 6px);
	--vep-ease: var(--wp--custom--transition, 180ms ease);
	--vep-line: var(--wp--preset--color--line);
	/* Grano de papel muy sutil (SVG inline, < 1 KB, sin peticiones extra) */
	--vep-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.15 0 0 0 0 0.14 0 0 0 0 0.12 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

::selection { background: var(--wp--preset--color--sun); color: var(--wp--preset--color--ink); }

a { text-decoration-thickness: 1px; text-underline-offset: 0.2em; transition: color var(--vep-ease); }
.entry-content a:not(.wp-element-button) { text-decoration-color: var(--wp--preset--color--terracotta); }

h1 em, h2 em, h3 em, .wp-block-post-title em { font-style: italic; }

/* Saltar al contenido (accesibilidad) */
.skip-link.screen-reader-text:focus { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--base); }

/* ==========================================================================
   Cabecera
   ========================================================================== */
.vep-header { position: sticky; top: 0; z-index: 50; background: color-mix(in srgb, var(--wp--preset--color--base) 92%, transparent); backdrop-filter: saturate(1.2) blur(10px); -webkit-backdrop-filter: saturate(1.2) blur(10px); border-bottom: 1px solid var(--vep-line); }
.admin-bar .vep-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .vep-header { top: 0; } }

.vep-header .wp-block-site-logo { flex-shrink: 0; }
.vep-header .wp-block-site-logo img { width: 38px; height: auto; }
.vep-header .wp-block-site-title { white-space: nowrap; }
.vep-header .wp-block-site-title a { color: var(--wp--preset--color--ink); }
.vep-header .wp-block-navigation-item__content { white-space: nowrap; }
.vep-header .wp-block-navigation { font-size: 0.8125rem; letter-spacing: 0.05em; }
.vep-header .wp-block-navigation a:hover { color: var(--wp--preset--color--terracotta); }
.vep-header .wp-block-navigation .current-menu-item > a,
.vep-header .wp-block-navigation a[aria-current="page"] { text-decoration: underline; text-decoration-color: var(--wp--preset--color--terracotta); text-underline-offset: 0.5em; }
.vep-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--base); padding: 2rem; }
.vep-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.25rem; font-size: 1.1rem; }
/* El menú tiene 6 entradas largas: pasamos a menú hamburguesa por debajo de 1240px (WP lo hace por defecto solo < 600px) */
@media (min-width: 600px) and (max-width: 1239px) {
	.vep-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.vep-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.vep-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { display: flex; }
}

.vep-topbar { font-size: var(--wp--preset--font-size--x-small); letter-spacing: .12em; text-transform: uppercase; }
.vep-topbar p { margin: 0; }

/* ==========================================================================
   Etiquetas, entradillas, manuscrito
   ========================================================================== */
.is-style-etiqueta { font-family: var(--wp--preset--font-family--body) !important; font-size: var(--wp--preset--font-size--x-small) !important; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--olive); line-height: 1.4; }
.is-style-manuscrito { font-family: var(--wp--preset--font-family--hand) !important; font-weight: 500; letter-spacing: 0; line-height: 1.15; }
p.is-style-manuscrito { font-size: 1.5rem; color: var(--wp--preset--color--sea); }
.is-style-entradilla { font-size: var(--wp--preset--font-size--medium); line-height: 1.5; color: var(--wp--preset--color--ink-soft); }

/* ==========================================================================
   Imágenes: Postal, Postal inclinada, Sello, Ventana
   ========================================================================== */
.wp-block-image.is-style-postal img,
.wp-block-image.is-style-postal-dcha img,
.wp-block-post-featured-image.is-style-postal img { background: var(--wp--preset--color--white); padding: clamp(8px, 1.2vw, 14px); box-shadow: var(--wp--preset--shadow--postal); border-radius: 2px; }
.wp-block-image.is-style-postal { transform: rotate(-1.2deg); }
.wp-block-image.is-style-postal-dcha { transform: rotate(1.8deg); }
.wp-block-image.is-style-postal figcaption,
.wp-block-image.is-style-postal-dcha figcaption { text-align: center; margin-top: .6rem; }

/* Sello con borde dentado (máscara CSS, sin imágenes) */
.wp-block-image.is-style-sello { --r: 7px; display: inline-block; width: fit-content; padding: calc(var(--r) * 2); background: var(--wp--preset--color--white); filter: drop-shadow(0 6px 12px rgba(38,36,31,.14));
	-webkit-mask: linear-gradient(#000 0 0) center / calc(100% - var(--r) * 2) calc(100% - var(--r) * 2) no-repeat, radial-gradient(var(--r) at var(--r) var(--r), #0000 97%, #000) calc(var(--r) * -1) calc(var(--r) * -1) / calc(var(--r) * 2) calc(var(--r) * 2) round;
	        mask: linear-gradient(#000 0 0) center / calc(100% - var(--r) * 2) calc(100% - var(--r) * 2) no-repeat, radial-gradient(var(--r) at var(--r) var(--r), #0000 97%, #000) calc(var(--r) * -1) calc(var(--r) * -1) / calc(var(--r) * 2) calc(var(--r) * 2) round;
	transform: rotate(-4deg); }
.wp-block-image.is-style-sello:not(.is-resized) { max-width: 180px; }
.wp-block-image.is-style-sello img { display: block; width: 100%; height: auto; }
.wp-block-image.is-style-sello.is-resized img { width: auto; }
.wp-block-image.is-style-sello figcaption { display: none; }

.wp-block-image.is-style-ventana img,
.wp-block-post-featured-image.is-style-ventana img { border-radius: var(--vep-radius); }

/* ==========================================================================
   Grupos: Hoja de carnet, Tarjeta, Tarjeta con pestaña
   ========================================================================== */
.wp-block-group.is-style-carnet { background-color: var(--wp--preset--color--paper); background-image: var(--vep-grain); border-radius: var(--vep-radius); }
.wp-block-group.is-style-tarjeta { background: var(--wp--preset--color--white); border: 1px solid var(--vep-line); border-radius: var(--vep-radius); box-shadow: var(--wp--preset--shadow--suave); }

/* Tarjeta con pestaña: la etiqueta vertical a la derecha, como los separadores de un cuaderno */
.wp-block-group.is-style-pestanas { position: relative; background: var(--wp--preset--color--white); border-radius: var(--vep-radius); box-shadow: var(--wp--preset--shadow--postal); margin-right: 2.4rem !important; }
.wp-block-group.is-style-pestanas > .vep-pestana,
.vep-pestana { position: absolute; top: 1.25rem; right: -2.4rem; width: 2.4rem; min-height: 7rem; margin: 0 !important; padding: .9rem 0; background: var(--wp--preset--color--paper); border: 1px solid var(--vep-line); border-left: 0; border-radius: 0 12px 12px 0; writing-mode: vertical-rl; text-align: center; font-size: var(--wp--preset--font-size--x-small); font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--wp--preset--color--ink); }

/* ==========================================================================
   Separador "ruta" y listas
   ========================================================================== */
hr.wp-block-separator.is-style-ruta { border: 0 !important; height: 14px; background: radial-gradient(circle, var(--wp--preset--color--terracotta) 2.5px, transparent 3px) left center / 14px 14px no-repeat, radial-gradient(circle, var(--wp--preset--color--terracotta) 2.5px, transparent 3px) right center / 14px 14px no-repeat, linear-gradient(90deg, var(--wp--preset--color--ink-soft) 50%, transparent 0) center / 10px 1px repeat-x; background-clip: content-box; opacity: .7; max-width: none; padding: 0 2px; }

ul.is-style-check { list-style: none; padding-left: 0; }
ul.is-style-check li { position: relative; padding-left: 1.9rem; margin-bottom: .45rem; }
ul.is-style-check li::before { content: ""; position: absolute; left: 0; top: .42em; width: 1.05rem; height: 1.05rem; border-radius: 50%; background: var(--wp--preset--color--sage) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%2326241F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 80% no-repeat; }

ol.is-style-ruta, ul.is-style-ruta { list-style: none; padding-left: 0; counter-reset: ruta; }
.is-style-ruta > li { position: relative; padding: 0 0 1.4rem 2.8rem; counter-increment: ruta; }
.is-style-ruta > li::before { content: counter(ruta); position: absolute; left: 0; top: 0; width: 1.9rem; height: 1.9rem; display: grid; place-items: center; border-radius: 50%; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--base); font-size: .8rem; font-weight: 600; }
.is-style-ruta > li:not(:last-child)::after { content: ""; position: absolute; left: .93rem; top: 2.1rem; bottom: .2rem; border-left: 1px dashed var(--wp--preset--color--ink-soft); }

/* ==========================================================================
   Botones
   ========================================================================== */
.wp-element-button, .wp-block-button__link { transition: background-color var(--vep-ease), color var(--vep-ease), transform var(--vep-ease); }
.wp-block-button.is-style-outline .wp-block-button__link { border: 1px solid currentColor; background: transparent; color: var(--wp--preset--color--ink); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--base); }

.wp-block-button.is-style-afiliado .wp-block-button__link { background: var(--wp--preset--color--terracotta); color: var(--wp--preset--color--white); border-radius: 999px; }
.wp-block-button.is-style-afiliado .wp-block-button__link::after { content: " ↗"; }
.wp-block-button.is-style-afiliado .wp-block-button__link:hover { background: var(--wp--preset--color--ink); transform: translateY(-1px); }

.wp-block-button.is-style-flecha .wp-block-button__link { background: none; color: var(--wp--preset--color--ink); padding: .2em 0; border-radius: 0; border-bottom: 1px solid currentColor; }
.wp-block-button.is-style-flecha .wp-block-button__link::after { content: "  →"; transition: margin var(--vep-ease); }
.wp-block-button.is-style-flecha .wp-block-button__link:hover { color: var(--wp--preset--color--terracotta); }

/* ==========================================================================
   Listados de artículos (Query Loop)
   ========================================================================== */
.vep-card-post .wp-block-post-featured-image { overflow: hidden; border-radius: var(--vep-radius-s); margin-bottom: 1rem; }
.vep-card-post .wp-block-post-featured-image img { aspect-ratio: 4 / 3; object-fit: cover; transition: transform 600ms ease; }
.vep-card-post:hover .wp-block-post-featured-image img { transform: scale(1.03); }
.vep-card-post .wp-block-post-title { margin-top: .4rem; }
.vep-card-post .wp-block-post-title a:hover { color: var(--wp--preset--color--terracotta); }

/* Rejilla con líneas (estilo hemeroteca) */
.wp-block-post-template.is-style-lineas { gap: 0 !important; border-top: 1px solid var(--vep-line); }
.wp-block-post-template.is-style-lineas > li { padding: var(--wp--preset--spacing--30); border-bottom: 1px solid var(--vep-line); }
@media (min-width: 782px) {
	.wp-block-post-template.is-style-lineas.is-layout-grid > li:not(:nth-child(3n)) { border-right: 1px solid var(--vep-line); }
	.wp-block-post-template.is-style-lineas.columns-2 > li:not(:nth-child(3n)) { border-right: 0; }
	.wp-block-post-template.is-style-lineas.columns-2 > li:nth-child(odd) { border-right: 1px solid var(--vep-line); }
}

/* Artículo destacado grande en portada */
.vep-destacado .wp-block-post-featured-image img { aspect-ratio: 16 / 11; object-fit: cover; }

.wp-block-query-pagination { font-size: var(--wp--preset--font-size--small); gap: .5rem; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { text-decoration: none; padding: .4em .8em; border-radius: 999px; }
.wp-block-query-pagination .page-numbers.current { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--base); }

/* ==========================================================================
   Portada: hero, marquesina
   ========================================================================== */
.vep-hero { position: relative; overflow: hidden; }
.vep-hero__postales { position: relative; min-height: 420px; }
.vep-hero__postales .wp-block-image { margin: 0; }
.vep-hero__postales .vep-hero__principal { width: 82%; margin-left: 4% !important; }
.vep-hero__postales .vep-hero__principal img, .vep-hero__postales .vep-hero__secundaria img { aspect-ratio: 4 / 3; width: 100%; height: auto; }
.vep-hero__postales .vep-hero__sello img, .vep-hero__postales .vep-hero__matasellos img { aspect-ratio: 1; width: 100%; height: auto; }
.vep-hero__postales .vep-hero__sello { position: absolute; top: -10px; left: -6px; width: 128px; z-index: 2; }
.vep-hero__postales .vep-hero__matasellos { position: absolute; left: -1%; bottom: 6%; width: 118px; z-index: 3; opacity: .8; transform: rotate(-12deg); mix-blend-mode: multiply; }
.vep-hero__postales .vep-hero__secundaria { position: absolute; right: 0; bottom: -2rem; width: 46%; z-index: 1; }
@media (max-width: 781px) {
	.vep-hero__postales { min-height: 0; }
	.vep-hero__postales .vep-hero__secundaria { display: none; }
	.vep-hero__postales .vep-hero__sello { width: 92px; }
	.vep-hero__postales .vep-hero__matasellos { width: 84px; }
	.vep-ficha .wp-block-image img { aspect-ratio: 16 / 9; }
}

.vep-marquesina { overflow: hidden; white-space: nowrap; border-top: 1px solid var(--vep-line); border-bottom: 1px solid var(--vep-line); }
.vep-marquesina p { display: inline-block; margin: 0; padding: 0; animation: vep-marquee 60s linear infinite; font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--x-large); line-height: 1.4; color: var(--wp--preset--color--olive); }
@keyframes vep-marquee { to { transform: translateX(-50%); } }

/* Categorías como fichas del carnet */
.wp-block-column > .vep-ficha { height: calc(100% - 0px); }
.vep-ficha { transition: transform var(--vep-ease), box-shadow var(--vep-ease); }
.vep-ficha:hover { transform: translateY(-4px) rotate(-.4deg); }
.vep-ficha .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }
.vep-ficha h3 a { text-decoration: none; }
.vep-ficha h3 a::after { content: ""; position: absolute; inset: 0; } /* toda la ficha clicable */

/* ==========================================================================
   Artículo individual
   ========================================================================== */
.vep-migas { font-size: var(--wp--preset--font-size--x-small); letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--ink-soft); }
.vep-migas ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .35rem; }
.vep-migas li:not(:last-child)::after { content: "/"; margin-left: .35rem; opacity: .5; }
.vep-migas a { text-decoration: none; color: inherit; }
.vep-migas a:hover { color: var(--wp--preset--color--terracotta); }
.vep-migas [aria-current] { color: var(--wp--preset--color--ink); display: inline-block; max-width: 36ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
.vep-migas p { margin: 0; }

.vep-meta { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--ink-soft); }
.vep-meta p { margin: 0; }
.vep-lectura::before { content: "· "; }

.vep-single-hero .wp-block-post-featured-image img { aspect-ratio: 3 / 2; object-fit: cover; }

.entry-content > * + h2 { margin-top: var(--wp--preset--spacing--50); }
.entry-content > * + h3 { margin-top: var(--wp--preset--spacing--40); }
.entry-content h2 { scroll-margin-top: 110px; }
.entry-content h3 { scroll-margin-top: 110px; }
.entry-content img { border-radius: var(--vep-radius-s); }
.entry-content .wp-block-image.is-style-sello img,
.entry-content .wp-block-image.is-style-postal img,
.entry-content .wp-block-image.is-style-postal-dcha img { border-radius: 2px; }

/* Primera letra capitular opcional: clase "has-drop-cap" del editor */
.has-drop-cap:not(:focus)::first-letter { float: left; font-family: var(--wp--preset--font-family--display); font-size: 4.6em; line-height: .8; margin: .06em .1em 0 0; color: var(--wp--preset--color--olive); font-weight: 400; }

/* Índice de contenidos */
.vep-indice { background: var(--wp--preset--color--paper); background-image: var(--vep-grain); border-radius: var(--vep-radius); padding: 1.4rem 1.6rem; font-size: var(--wp--preset--font-size--small); }
.vep-indice__titulo { margin: 0 0 .6rem; font-family: var(--wp--preset--font-family--hand); font-size: 1.5rem; color: var(--wp--preset--color--sea); }
.vep-indice ol { margin: 0; padding-left: 1.2rem; display: grid; gap: .35rem; }
.vep-indice li::marker { color: var(--wp--preset--color--terracotta); font-variant-numeric: tabular-nums; }
.vep-indice li.nivel-3 { margin-left: 1rem; list-style: circle; }
.vep-indice a { text-decoration: none; }
.vep-indice a:hover { text-decoration: underline; }
@media (min-width: 782px) { .vep-indice--lateral { position: sticky; top: 110px; } }

/* Tablas comparativas */
.wp-block-table.is-style-comparativa table { border-collapse: separate; border-spacing: 0; border: 1px solid var(--vep-line); border-radius: var(--vep-radius-s); overflow: hidden; }
.wp-block-table.is-style-comparativa th, .wp-block-table.is-style-comparativa td { border: 0; border-bottom: 1px solid var(--vep-line); padding: .8rem 1rem; text-align: left; }
.wp-block-table.is-style-comparativa thead th { background: var(--wp--preset--color--paper); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .12em; text-transform: uppercase; }
.wp-block-table.is-style-comparativa tbody tr:last-child td { border-bottom: 0; }
.wp-block-table { overflow-x: auto; }

/* FAQ con Detalles */
.wp-block-details summary { cursor: pointer; font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--medium); list-style: none; position: relative; padding-right: 2rem; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: 0; top: 0; font-family: var(--wp--preset--font-family--body); font-weight: 300; transition: transform var(--vep-ease); }
.wp-block-details[open] summary::after { transform: rotate(45deg); }

/* Caja de afiliado */
.vep-afiliado { position: relative; }
.vep-afiliado .vep-precio { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--x-large); line-height: 1; margin: 0; }
.vep-afiliado .vep-precio s { font-size: .45em; color: var(--wp--preset--color--ink-soft); margin-left: .4em; font-family: var(--wp--preset--font-family--body); }
.vep-afiliado .vep-insignia { position: absolute; top: -14px; left: 1.5rem; margin: 0; padding: .25rem .8rem; background: var(--wp--preset--color--sun); border-radius: 999px; font-size: var(--wp--preset--font-size--x-small); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }

.vep-aviso { font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--ink-soft); border-left: 2px solid var(--wp--preset--color--sun); padding-left: .9rem; line-height: 1.6; }

/* Artículos relacionados (shortcode) */
.vep-relacionados__titulo { font-size: var(--wp--preset--font-size--large); margin: 0 0 1.5rem; }
.vep-relacionados__grid { display: grid; gap: var(--wp--preset--spacing--40); grid-template-columns: 1fr; }
@media (min-width: 600px) { .vep-relacionados__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.vep-card__img { display: block; overflow: hidden; border-radius: var(--vep-radius-s); margin-bottom: .8rem; }
.vep-card__img img, .vep-card__placeholder { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: var(--wp--preset--color--sand); transition: transform 600ms ease; }
.vep-card:hover .vep-card__img img { transform: scale(1.03); }
.vep-card__cat { margin: 0 0 .3rem; font-size: var(--wp--preset--font-size--x-small); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--olive); }
.vep-card__title { margin: 0; font-size: var(--wp--preset--font-size--medium); line-height: 1.2; }
.vep-card__title a { text-decoration: none; }
.vep-card__title a:hover { color: var(--wp--preset--color--terracotta); }

/* Autora */
.vep-autora .wp-block-avatar img { border-radius: 50%; }

/* ==========================================================================
   Newsletter y pie
   ========================================================================== */
.vep-newsletter input[type="email"] { width: 100%; padding: .9rem 1.2rem; border: 1px solid var(--vep-line); border-radius: 999px; background: var(--wp--preset--color--white); font: inherit; }

.vep-footer { background-image: var(--vep-grain); }
.vep-footer a { text-decoration: none; }
.vep-footer a:hover { text-decoration: underline; }
.vep-footer .wp-block-navigation { text-transform: none; letter-spacing: 0; font-weight: 400; }
.vep-footer__marca { font-size: clamp(3rem, 12.5vw, 11.5rem) !important; line-height: 1 !important; padding-bottom: .12em; letter-spacing: -0.02em; color: var(--wp--preset--color--olive); white-space: nowrap; }

/* Buscador */
.wp-block-search__input { border-radius: 999px; border-color: var(--vep-line); padding: .7rem 1.1rem; background: var(--wp--preset--color--white); }
.wp-block-search__button { margin-left: .5rem; }

/* Archivos de categoría */
.vep-archivo-cabecera .wp-block-term-description { font-size: var(--wp--preset--font-size--medium); color: var(--wp--preset--color--ink-soft); line-height: 1.5; max-width: 60ch; }
.vep-archivo-cabecera .wp-block-term-description p { margin: 0; }

/* 404 */
.vep-404 .vep-404__num { font-size: clamp(6rem, 24vw, 16rem) !important; line-height: .85 !important; color: var(--wp--preset--color--sand); }

/* ==========================================================================
   Fraunces: versión suave y amable
   "SOFT" redondea los remates y "WONK" 0 mantiene las letras rectas.
   Si la fuente instalada no trae esos ejes, el navegador los ignora sin romper nada.
   ========================================================================== */
h1, h2, h3, h4,
.wp-block-site-title,
.wp-block-post-title,
.wp-block-query-title,
.wp-block-quote, .wp-block-pullquote,
.vep-marquesina p, .vep-footer__marca, .vep-precio,
.vep-card__title, .vep-relacionados__titulo,
.wp-block-details summary,
.has-drop-cap:not(:focus)::first-letter {
	font-variation-settings: "SOFT" 100, "WONK" 0;
}

/* ==========================================================================
   Secciones de color (panel Estilos de un bloque Grupo)
   · Sección bosque: verde oscuro con texto claro
   · Sección salvia: verde muy suave con texto oscuro
   Cambian a la vez el fondo, el texto, los enlaces, los botones y las etiquetas.
   ========================================================================== */
.wp-block-group.is-style-seccion-bosque {
	--vep-line: rgba(244, 241, 234, .18);
	background-color: var(--wp--preset--color--forest);
	background-image: var(--vep-grain);
	color: var(--wp--preset--color--paper);
}
.is-style-seccion-bosque :is(h1, h2, h3, h4, h5, h6, .wp-block-post-title, .wp-block-site-title) { color: var(--wp--preset--color--paper); }
.is-style-seccion-bosque a:not(.wp-element-button) { color: var(--wp--preset--color--paper); text-decoration-color: var(--wp--preset--color--sun); }
.is-style-seccion-bosque a:not(.wp-element-button):hover { color: var(--wp--preset--color--sun); }
.is-style-seccion-bosque .is-style-etiqueta,
.is-style-seccion-bosque .wp-block-post-terms a { color: var(--wp--preset--color--sage); }
.is-style-seccion-bosque .is-style-manuscrito,
.is-style-seccion-bosque p.is-style-manuscrito { color: var(--wp--preset--color--sun); }
.is-style-seccion-bosque :is(.has-ink-color, .has-ink-soft-color, .is-style-entradilla, .wp-block-post-excerpt, .wp-block-post-date) { color: var(--wp--preset--color--sage) !important; }
.is-style-seccion-bosque .wp-block-button:not(.is-style-outline):not(.is-style-flecha):not(.is-style-afiliado) .wp-block-button__link { background: var(--wp--preset--color--sun); color: var(--wp--preset--color--ink); }
.is-style-seccion-bosque .wp-block-button:not(.is-style-outline):not(.is-style-flecha):not(.is-style-afiliado) .wp-block-button__link:hover { background: var(--wp--preset--color--paper); }
.is-style-seccion-bosque .wp-block-button.is-style-outline .wp-block-button__link { color: var(--wp--preset--color--paper); }
.is-style-seccion-bosque .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--paper); color: var(--wp--preset--color--forest); }
.is-style-seccion-bosque .wp-block-button.is-style-flecha .wp-block-button__link { color: var(--wp--preset--color--paper); }
.is-style-seccion-bosque .wp-block-button.is-style-flecha .wp-block-button__link:hover { color: var(--wp--preset--color--sun); }
.is-style-seccion-bosque.vep-marquesina,
.is-style-seccion-bosque .vep-marquesina { border-color: transparent; }
.is-style-seccion-bosque.vep-marquesina p,
.is-style-seccion-bosque .vep-marquesina p { color: var(--wp--preset--color--sun); }
.is-style-seccion-bosque .wp-block-image.is-style-ventana img { box-shadow: 0 18px 40px -20px rgba(0,0,0,.55); }
/* Las tarjetas blancas dentro de una sección verde conservan sus colores oscuros */
.is-style-seccion-bosque :is(.is-style-tarjeta, .is-style-pestanas, .is-style-carnet) { color: var(--wp--preset--color--ink); }
.is-style-seccion-bosque :is(.is-style-tarjeta, .is-style-pestanas, .is-style-carnet) :is(h1, h2, h3, h4, a:not(.wp-element-button)) { color: var(--wp--preset--color--ink); }

.wp-block-group.is-style-seccion-salvia {
	--vep-line: rgba(38, 36, 31, .14);
	background-color: var(--wp--preset--color--sage-light);
	background-image: var(--vep-grain);
}
.is-style-seccion-salvia .is-style-etiqueta { color: var(--wp--preset--color--ink); }
.is-style-seccion-salvia p.is-style-manuscrito { color: var(--wp--preset--color--olive); }

/* ==========================================================================
   Página de contacto: formulario con forma de postal
   ========================================================================== */
.vep-contacto { display: grid; gap: 1.2rem; }
.vep-postal { position: relative; display: grid; grid-template-columns: 1fr; background: var(--wp--preset--color--white); background-image: var(--vep-grain); border-radius: 4px; box-shadow: var(--wp--preset--shadow--postal); padding: clamp(1.25rem, 3vw, 2.25rem); gap: 1.5rem; }
@media (min-width: 782px) {
	.vep-postal { grid-template-columns: 1.1fr 1fr; gap: 0; }
	.vep-postal__mensaje { padding-right: 2rem; border-right: 1px solid var(--vep-line); }
	.vep-postal__destino { padding-left: 2rem; }
}
.vep-postal__trampa { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.vep-postal__label { display: block; font-size: var(--wp--preset--font-size--x-small); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--olive); margin-bottom: .35rem; }
.vep-postal textarea { width: 100%; min-height: 15rem; resize: vertical; border: 0; padding: 0; background: repeating-linear-gradient(to bottom, transparent 0, transparent calc(2.2rem - 1px), var(--vep-line) calc(2.2rem - 1px), var(--vep-line) 2.2rem); line-height: 2.2rem; font-family: var(--wp--preset--font-family--hand); font-size: 1.45rem; color: var(--wp--preset--color--sea); }
.vep-postal textarea::placeholder { color: var(--wp--preset--color--ink-soft); opacity: .55; }
.vep-postal__destino { position: relative; display: flex; flex-direction: column; gap: 1.1rem; }
.vep-postal__sellos { position: relative; height: 92px; display: flex; justify-content: flex-end; }
.vep-postal__sello { width: 84px; height: 84px; padding: 6px; background: var(--wp--preset--color--white); transform: rotate(3deg); --r: 4px;
	-webkit-mask: linear-gradient(#000 0 0) center / calc(100% - var(--r) * 2) calc(100% - var(--r) * 2) no-repeat, radial-gradient(var(--r) at var(--r) var(--r), #0000 97%, #000) calc(var(--r) * -1) calc(var(--r) * -1) / calc(var(--r) * 2) calc(var(--r) * 2) round;
	        mask: linear-gradient(#000 0 0) center / calc(100% - var(--r) * 2) calc(100% - var(--r) * 2) no-repeat, radial-gradient(var(--r) at var(--r) var(--r), #0000 97%, #000) calc(var(--r) * -1) calc(var(--r) * -1) / calc(var(--r) * 2) calc(var(--r) * 2) round;
	filter: drop-shadow(0 2px 3px rgba(38,36,31,.15)); }
.vep-postal__matasellos { position: absolute; right: 52px; top: 6px; width: 96px; height: 96px; opacity: .7; transform: rotate(-14deg); mix-blend-mode: multiply; }
.vep-postal__para { margin: 0; font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--medium); }
.vep-postal__campo input, .vep-postal__campo select { width: 100%; border: 0; border-bottom: 1px solid var(--wp--preset--color--ink-soft); background: transparent; padding: .45rem 0; font: inherit; color: var(--wp--preset--color--ink); border-radius: 0; }
.vep-postal__campo select { appearance: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2326241F' stroke-width='1.4'/%3E%3C/svg%3E") right .2rem center / 12px no-repeat; padding-right: 1.5rem; }
.vep-postal input:focus, .vep-postal select:focus, .vep-postal textarea:focus { outline: 2px solid var(--wp--preset--color--sea); outline-offset: 3px; }
.vep-postal__check { display: flex; gap: .6rem; align-items: flex-start; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--ink-soft); line-height: 1.5; }
.vep-postal__check input { margin-top: .25rem; accent-color: var(--wp--preset--color--olive); width: 1rem; height: 1rem; flex: none; }
.vep-postal__enviar { align-self: flex-start; margin-top: .3rem; }
.vep-contacto__rgpd { margin: 0; font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--ink-soft); line-height: 1.6; }
.vep-contacto__aviso { padding: 1rem 1.25rem; border-radius: var(--vep-radius-s); font-size: var(--wp--preset--font-size--small); }
.vep-contacto__aviso p { margin: 0; }
.vep-contacto__aviso.is-ok { background: var(--wp--preset--color--sage-light); }
.vep-contacto__aviso.is-error { background: #F6E3D9; }
.vep-contacto__aviso-titulo { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--medium); }
#contacto { scroll-margin-top: 110px; }

/* Buscador de la cabecera: solo la lupa, sin botón negro */
.vep-header .wp-block-search__button { background: transparent !important; color: var(--wp--preset--color--ink) !important; padding: .45rem !important; border: 0 !important; border-radius: 50% !important; min-width: 0; box-shadow: none; }
.vep-header .wp-block-search__button:hover { background: var(--wp--preset--color--paper) !important; color: var(--wp--preset--color--terracotta) !important; }
.vep-header .wp-block-search__button svg { width: 22px; height: 22px; fill: currentColor; }
.vep-header .wp-block-search__inside-wrapper { border: 0; padding: 0; }
