@font-face {
	font-display: swap;
	font-family: 'JYR Helvetica';
	font-style: normal;
	font-weight: 400;
	src: url('assets/jyr-fonts/HelveticaLTStd-Roman.otf') format('opentype');
}

@font-face {
	font-display: swap;
	font-family: 'JYR Helvetica Ultra';
	font-style: normal;
	font-weight: 900;
	src: url('assets/jyr-fonts/HelveticaLTStd-UltraComp.otf') format('opentype');
}

@font-face {
	font-display: swap;
	font-family: 'JYR Courier';
	font-style: normal;
	font-weight: 400;
	src: url('assets/jyr-fonts/CourierStd.otf') format('opentype');
}

@font-face {
	font-display: swap;
	font-family: 'JYR DIN 1451';
	font-style: normal;
	font-weight: 400;
	src: url('assets/jyr-fonts/DINEngschriftStd.otf') format('opentype');
}

@font-face {
	font-display: swap;
	font-family: 'Gandhi Sans';
	font-style: normal;
	font-weight: 400;
	src: url('assets/jyr-fonts/GandhiSans-Regular.otf') format('opentype');
}

@font-face {
	font-display: swap;
	font-family: 'Gandhi Sans';
	font-style: normal;
	font-weight: 700;
	src: url('assets/jyr-fonts/GandhiSans-Bold.otf') format('opentype');
}

:root {
	--jyr-body: 'JYR Helvetica', Helvetica, Arial, sans-serif;
	--jyr-heading: 'JYR Helvetica Ultra', Impact, sans-serif;
	--jyr-mono: 'JYR Courier', 'Courier New', monospace;
}

.jyr-approved-logo {
	display: block;
	width: clamp(145px, 18vw, 260px);
}

.jyr-approved-logo img {
	display: block;
	height: auto;
	max-height: 46px;
	width: 100%;
}

.jyr-approved-hero > .jyr-approved-placeholder {
	height: 100%;
	min-height: 0;
}

.jyr-approved-about-placeholder {
	aspect-ratio: 1 / 1;
	border-radius: 34%;
}

/* Especificación aprobada para el titular de la sección «¿Qué es…?». */
@media (min-width: 781px) {
	.jyr-approved-about h2 {
		color: #000000 !important;
		font-family: 'JYR DIN 1451', 'DIN 1451 Std', sans-serif !important;
		font-size: 96px !important;
		font-style: normal;
		font-weight: 400 !important;
		height: 98px;
		letter-spacing: 0;
		line-height: 98px !important;
		margin: 0 0 2rem !important;
		max-width: 100%;
		width: 898px;
	}
}

@media (max-width: 480px) {
	.jyr-approved-header {
		gap: .5rem;
		padding: 8px .75rem;
	}

	.jyr-approved-logo {
		flex: 0 0 112px;
		width: 112px;
	}

	.jyr-approved-logo img { max-height: none; }
	.jyr-approved-header nav { flex: 1; gap: .35rem; justify-content: flex-end; }
	.jyr-approved-header nav a { font-size: .61rem; line-height: 1.05; text-align: center; }
	.jyr-approved-funds { left: 1.4rem; right: auto; width: calc(100% - 2.8rem); }
	.jyr-approved-funds a { padding: .8rem; }
	.jyr-approved-hero { height: 600px; }
	.jyr-approved-hero-title p { font-size: 1.15rem; max-width: 250px; }
}

/* Anulaciones del contenedor editorial del tema para la portada a ancho completo. */
.home .tainacan-single-post .tainacan-content.margin-two-column {
	margin: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	width: 100% !important;
}

/* Ajustes aprobados de contraste para la portada. */
.jyr-approved-funds p,
.jyr-approved-visit h2 {
	color: #ffffff !important;
}

.jyr-approved-information {
	background-color: #261d1d;
	background-image: radial-gradient(rgba(255, 150, 135, .09) .55px, transparent .7px), linear-gradient(112deg, rgba(255,255,255,.025), transparent 42%);
	background-size: 5px 5px, 100% 100%;
}

.jyr-approved-text-link {
	color: var(--jyr-coral) !important;
	display: inline-block;
	font-family: var(--jyr-mono);
	font-size: .78rem;
	margin-top: 1rem;
	text-transform: uppercase;
}

/* Desplegable compartido de fondos documentales. */
.jyr-approved-header nav .jyr-approved-funds-dropdown{background:#000;border:1px solid var(--jyr-coral);display:none!important;min-width:220px;padding:.45rem;position:absolute;right:0;top:calc(100% + .65rem);z-index:20}.jyr-approved-header nav .jyr-approved-funds-menu[open] .jyr-approved-funds-dropdown{display:grid!important;gap:.2rem}.jyr-approved-header nav .jyr-approved-funds-dropdown>a,.jyr-approved-header nav .jyr-approved-funds-dropdown>span{display:block!important;font-family:var(--jyr-body)!important;font-size:.88rem!important;padding:.55rem .65rem!important;text-align:left;text-transform:none!important}.jyr-approved-header nav .jyr-approved-funds-dropdown>a:hover{background:var(--jyr-coral);color:#000!important;text-decoration:none!important}.jyr-approved-header nav .jyr-approved-funds-dropdown>span{color:#a89090;cursor:default}

.jyr-approved-statement p {
	color: #f79484 !important;
}

.jyr-approved-footer-links,
.jyr-approved-footer-links a {
	color: #f79484 !important;
}

.jyr-approved-footer-links .jyr-approved-footer-heading {
	font-size: clamp(1.1rem, 1.45vw, 1.45rem);
	font-weight: 400;
}

.jyr-approved-footer-links .jyr-approved-footer-primary-link {
	font-size: clamp(1rem, 1.2vw, 1.2rem);
}

.jyr-approved-footer-links a,
.jyr-approved-footer-links .jyr-fund-unavailable {
	text-decoration: underline !important;
	text-decoration-thickness: 1px;
	text-underline-offset: .18em;
}

.jyr-approved-footer-links .jyr-approved-social {
	color: #f79484 !important;
	display: flex;
	gap: 16px;
	justify-content: flex-end;
	margin-top: .35rem;
}

.jyr-approved-footer-links .jyr-approved-social i {
	background: #f79484;
	border-radius: 50%;
	display: block;
	height: 24px;
	width: 24px;
}

/* El pie conserva la misma retícula compacta de la maqueta en portada e internas. */
.jyr-approved-footer {
	padding: clamp(2rem, 3vw, 3rem);
}

.jyr-approved-visit a,
.jyr-approved-visit .jyr-fund-unavailable {
	text-decoration: underline !important;
	text-decoration-thickness: 1px;
	text-underline-offset: .18em;
}

/* Correcciones globales solicitadas para la navegación y el pie. */
.jyr-approved-header { border: 0; }
.jyr-approved-footer-brand img { height: 161px; max-width: 302px; width: 302px; }
.jyr-approved-bracket { align-self: center; height: 170px; max-width: 100%; object-fit: fill; width: 45.221675872802734px; }
.jyr-approved-bracket--close { transform: rotate(-180deg); }

.jyr-approved-info-grid article > p { font-family: Roboto, Arial, sans-serif; font-size: 16px; font-style: normal; font-weight: 400; letter-spacing: .5px; line-height: 24px; }
.jyr-approved-info-grid article:last-child > p { font-style: italic; }
.jyr-approved-visit h2 { background: #f79484; color: #261d1d !important; font-family: 'JYR DIN 1451', 'DIN 1451 Std', sans-serif !important; font-size: 40px !important; font-weight: 400; letter-spacing: 0; line-height: 40px !important; }
.jyr-approved-footer-links .jyr-fund-unavailable,
.jyr-approved-footer-links > a { font-family: 'JYR DIN 1451', 'DIN 1451 Std', sans-serif; font-size: 16px; font-weight: 400; letter-spacing: .5px; line-height: 24px; text-align: center; text-decoration: underline !important; text-transform: uppercase; }

/* Los accesos del hero se ajustan a su texto; no deben ocupar una columna
 * fija ni cruzarse con la marca principal. */
.jyr-approved-funds {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	text-align: left;
	width: auto;
}
.jyr-approved-funds p { align-self: center; }
.jyr-approved-funds a,
.jyr-approved-funds .jyr-fund-unavailable {
	align-self: flex-start;
	display: inline-flex;
	width: fit-content;
}

/* Entre escritorio compacto y tablet, la marca y los fondos usan bandas
 * verticales distintas para conservar una lectura limpia. */
@media (min-width: 781px) and (max-width: 1200px) {
	.jyr-approved-hero { height: 520px; min-height: 520px; }
	.jyr-approved-hero-title { left: 40px; top: 64px; transform: none; }
	.jyr-approved-hero-title h1 { max-width: min(629px, calc(100vw - 80px)); }
	.jyr-approved-funds { bottom: 40px; right: 40px; top: auto; }
}

/* La marca principal de la portada se entrega como arte final SVG. */
.jyr-approved-hero-title h1 {
	line-height: 0 !important;
	max-width: min(48vw, 630px);
}

.jyr-approved-hero-title h1 img {
	display: block;
	height: auto;
	width: 100%;
}

.jyr-approved-hero-title p {
	/* El SVG añade 32 px de caja; −12 px deja 20 px visibles entre marca y lema. */
	margin: -12px 0 0 !important;
}

@media (max-width: 780px) {
	.jyr-approved-hero-title h1 {
		max-width: min(88vw, 480px);
	}
}

.jyr-fund-unavailable {
	cursor: not-allowed;
	opacity: .55;
}

/* La portada ya incluye el footer editorial de JYR; se oculta el footer de
 * widgets que el tema añade después (Archivos y Categorías). */
body:has(.jyr-approved-home) .tainacan-footer { display: none !important; }
body:has(.jyr-approved-home) main.mt-5,
body:has(.jyr-approved-home) .tainacan-single-post,
body:has(.jyr-approved-home) .tainacan-single-post > article {
	background: transparent !important;
	margin: 0 !important;
	max-width: none !important;
	padding: 0 !important;
}
body:has(.jyr-approved-home) .tainacan-single-post > article > header {
	display: none !important;
}

/* Las vistas aprobadas aportan su propia cabecera y pie. Se eliminan los
 * contenedores vacíos del tema que dejaban franjas claras arriba y abajo. */
html:has(.jyr-approved-home),
html:has(.jyr-approved-view),
html:has(.jyr-archive-topbar) {
	margin-top: 0 !important;
}
body:has(.jyr-approved-home),
body:has(.jyr-approved-view),
body:has(.jyr-archive-topbar) {
	background: #000 !important;
	margin: 0 !important;
}
body:has(.jyr-approved-home) #wpadminbar,
body:has(.jyr-approved-view) #wpadminbar,
body:has(.jyr-archive-topbar) #wpadminbar {
	position: static !important;
}
body:has(.jyr-approved-home) .navbar.navbar-light,
body:has(.jyr-approved-view) .navbar.navbar-light,
body:has(.jyr-archive-topbar) .navbar.navbar-light,
body:has(.jyr-approved-home) .breadcrumb-bg,
body:has(.jyr-approved-view) .breadcrumb-bg,
body:has(.jyr-archive-topbar) .breadcrumb-bg,
body:has(.jyr-approved-home) .page-header,
body:has(.jyr-approved-view) .page-header,
body:has(.jyr-archive-topbar) .page-header,
body:has(.jyr-approved-home) .tainacan-breadcrumb,
body:has(.jyr-approved-view) .tainacan-breadcrumb,
body:has(.jyr-archive-topbar) .tainacan-breadcrumb,
body:has(.jyr-approved-home) .tainacan-footer,
body:has(.jyr-approved-view) .tainacan-footer,
body:has(.jyr-archive-topbar) .tainacan-footer {
	display: none !important;
}

.jyr-approved-funds .jyr-fund-unavailable {
	background: #000;
	border-radius: 9px;
	color: var(--jyr-coral) !important;
	display: block;
	font-size: clamp(.82rem,1vw,1.1rem);
	margin: .8rem 0 0;
	padding: .9rem 1rem;
	text-align: left;
}

.jyr-approved-visit .jyr-fund-unavailable {
	color: var(--jyr-coral) !important;
	display: inline-block;
	font-family: var(--jyr-heading);
	font-size: clamp(.9rem,1.25vw,1.25rem);
	font-weight: 800;
	margin: 0 1.2rem;
	text-transform: uppercase;
}

/* Portada de escritorio: medidas de la maqueta JYR Home aprobada en Figma. */
@media (min-width: 781px) {
	.jyr-approved-header { height: 64px; padding: 10px 40px; }
	.jyr-approved-header nav { gap: 24px; }
	.jyr-approved-header nav a,
	.jyr-approved-funds-menu summary { font-family: 'JYR DIN 1451', 'DIN 1451 Std', sans-serif; font-size: 16px; font-weight: 400; letter-spacing: -.176px; }
	.jyr-approved-hero { height: 340px; min-height: 340px; }
	.jyr-approved-hero > img { filter: none; object-position: center; }
	.jyr-approved-hero-title { left: 40px; top: 50%; transform: translateY(-50%); }
	.jyr-approved-hero-title h1 { max-width: 629px; }
	.jyr-approved-hero-title p { font-size: 20px; margin: 20px 0 0 !important; }
	.jyr-approved-funds { right: 40px; top: 48px; width: 280px; }
	.jyr-approved-funds p { font-size: 16px; margin-bottom: 12px; }
	.jyr-approved-funds a,
	.jyr-approved-funds .jyr-fund-unavailable { font-family: var(--jyr-body); font-size: 12px; margin-top: 8px; padding: 12px 16px; }
	.jyr-approved-about { gap: 26px; grid-template-columns: minmax(0, 898px) minmax(0, 436px); min-height: 382px; padding: 40px; }
	.jyr-approved-about h2 { margin: 0 0 16px !important; }
	.jyr-approved-about p { font-size: 16px; line-height: 24px; max-width: 898px; }
	.jyr-approved-about .jyr-approved-button { border-radius: 8px; font-family: var(--jyr-body); font-size: 12px; margin-top: 16px; padding: 16px; }
	.jyr-approved-about figure { align-self: start; height: 302px; width: 436px; }
	.jyr-approved-about figure img { aspect-ratio: auto; border-radius: 0; height: 302px; object-position: center; }
	.jyr-approved-information { padding: 40px; }
	.jyr-approved-statement { margin-bottom: 64px; max-width: 1360px; }
	.jyr-approved-statement h2 { font-family: 'JYR DIN 1451', 'DIN 1451 Std', sans-serif !important; font-size: 48px !important; font-weight: 400 !important; line-height: 40px !important; }
	.jyr-approved-statement p { font-family: 'JYR DIN 1451', 'DIN 1451 Std', sans-serif; font-size: 32px; font-weight: 400; line-height: 32px; }
	.jyr-approved-info-grid { gap: 24px; max-width: 1360px; }
	.jyr-approved-info-grid h2,
	.jyr-approved-visit h2 { font-family: 'JYR DIN 1451', 'DIN 1451 Std', sans-serif !important; font-size: 40px !important; font-weight: 400 !important; line-height: 40px !important; }
	.jyr-approved-info-grid p { font-size: 16px; line-height: 24px; }
	.jyr-approved-info-grid figure { height: 260px; margin: 0; }
	.jyr-approved-info-grid figure img { height: 100%; min-height: 0; object-position: center; }
}

/* Entre tablet y la mesa de trabajo de 1440 px, la portada conserva jerarquía sin desbordar. */
@media (min-width: 781px) and (max-width: 1439px) {
	.jyr-approved-about { grid-template-columns: minmax(0, 1fr) minmax(260px, .45fr); }
	.jyr-approved-about h2 { font-size: clamp(54px, 6.7vw, 89px) !important; height: auto; line-height: .98 !important; max-width: none; width: 100%; }
	.jyr-approved-about figure { height: auto; width: 100%; }
	.jyr-approved-about figure img { height: auto; min-height: 220px; }
}

/* Debe ir al final: las reglas de escritorio anteriores posicionaban ambos
 * grupos sobre la misma área de la fotografía. */
@media (min-width: 781px) and (max-width: 1200px) {
	.jyr-approved-hero { height: 520px !important; min-height: 520px !important; }
	.jyr-approved-hero-title { left: 40px !important; top: 64px !important; transform: none !important; }
	.jyr-approved-hero-title h1 { max-width: min(629px, calc(100vw - 80px)) !important; }
	.jyr-approved-funds { align-items: flex-start; bottom: 40px !important; display: flex; flex-direction: column; right: 40px !important; top: auto !important; width: 250px !important; }
	.jyr-approved-funds a,
	.jyr-approved-funds .jyr-fund-unavailable { align-self: flex-start; display: inline-flex !important; width: fit-content !important; }
}

/* En móvil, el grupo se mide por el botón más largo y queda a 40 px del
 * borde derecho de la portada. Los dos accesos conservan el mismo inicio. */
@media (max-width: 780px) {
	.jyr-approved-funds { right: 40px; width: fit-content !important; }
	.jyr-approved-funds p {
		bottom: calc(100% + 12px);
		left: 50%;
		margin: 0;
		position: absolute;
		transform: translateX(-50%);
		white-space: nowrap;
	}
}

/* Regla final compartida: ninguna variante de escritorio debe reservar una
 * columna más ancha que el botón. El borde derecho del botón largo define el
 * margen exterior de 40 px. */
.jyr-approved-funds { width: fit-content !important; }
.jyr-approved-funds p {
	bottom: calc(100% + 12px);
	left: 50%;
	margin: 0;
	position: absolute;
	transform: translateX(-50%);
	white-space: nowrap;
}

/* El acceso de Fondo Lucian Miranda fija el anclaje vertical del grupo. */
.jyr-approved-funds { bottom: 74px !important; top: auto !important; }

/* Ajustes editoriales de la sección informativa y el pie. */
.jyr-approved-about .jyr-approved-button {
	align-items: center;
	display: inline-flex;
	font-family: 'Gandhi Sans', sans-serif;
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	justify-content: center;
	letter-spacing: 0;
	line-height: 1;
	text-align: center;
}
.jyr-approved-info-grid article:last-child > p > a { color: #fbefef !important; }

/* Se elimina la franja a todo lo ancho: el naranja pertenece únicamente al
 * rótulo, como en la maqueta. */
.jyr-approved-visit h2 {
	display: inline-block;
	width: fit-content;
}
.jyr-approved-visit a,
.jyr-approved-visit .jyr-fund-unavailable {
	font-family: 'JYR DIN 1451', 'DIN 1451 Std', sans-serif;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: .5px;
	line-height: 24px;
	text-align: center;
	text-decoration: underline !important;
	text-transform: uppercase;
}

.jyr-approved-footer,
body:has(.jyr-approved-home),
body:has(.jyr-approved-home) main.mt-5,
body:has(.jyr-approved-home) main.mt-5 > .row,
body:has(.jyr-approved-home) main.mt-5 > .row > .col { background: #000000 !important; }
.jyr-approved-footer { min-height: 430px; }
.jyr-approved-footer-links {
	align-items: flex-end;
	text-align: right;
}
.jyr-approved-footer-links .jyr-fund-unavailable,
.jyr-approved-footer-links > a { text-align: right; }
.jyr-approved-legal a,
.jyr-approved-legal p {
	font-family: Roboto, Arial, sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: .5px;
	line-height: 24px;
	text-align: center;
}
.jyr-approved-legal a { text-decoration: underline !important; }

/* Control provisto por el tema, visible en las pantallas donde corresponde. */
#return-to-top { background: #570209 !important; }

/* Bloque de visita: el título ocupa su propia línea, centrada, sin barra. */
.jyr-approved-visit h2 {
	background: transparent !important;
	color: #f79484 !important;
	display: block;
	margin: 0 0 16px !important;
	text-align: center;
	width: 100%;
}

