FACE1D/*!
Theme Name: ThomasInstruments
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: thomasinstruments
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

ThomasInstruments is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLA DE CONTENIDOS:
----------------------------------------------------------------
# Genérico
	- Normalización
	- Tamaño de caja
# Base
	- Tipografía
	- Elementos
	- Enlaces
	- Formularios
## Diseño
# Componentes
	- Navegación
	- Entradas y páginas
	- Comentarios
	- Widgets
	- Medios
	- Leyendas
	- Galerías
# Plugins
	- Desplazamiento infinito de Jetpack
# Utilidades
	- Accesibilidad
	- Alineaciones

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Variables del tema
--------------------------------------------------------------*/
:root {
	--brand-green: #006935;
	--brand-lime: #71b942;
	--brand-gold: #FACE1D;
	--brand-blue: #0099cf;
	--brand-navy: #19357d;
	--brand-gray: #616362;
	--text-color: #616362;
	--surface: #ffffff;
	--surface-muted: #f6f7f8;
	--border-color: #d9d9d9;
	--body-bg: #ffffff;
	--link-color: #0099cf;
	--link-visited: #19357d;
	--link-hover: #006935;
	--button-bg: #e6e6e6;
	--button-border: #ccc;
	--button-border-hover: #bbb;
	--button-border-active: #aaa;
	--button-text: rgba(0, 0, 0, 0.8);
	--hr-color: #ccc;
	--hero-overlay-start: rgba(25, 53, 125, 0.78);
	--hero-overlay-end: rgba(0, 105, 53, 0.90);
	--hero-overlay-dark: rgba(25, 53, 125, 0.18);
	--hero-overlay-light: rgba(0, 105, 53, 0.72);
	--hero-image: none;
	--card-bg: rgba(0, 105, 53, 0.08);
	--card-border: rgba(113, 185, 66, 0.26);
	--card-shadow: 0 24px 50px rgba(3, 9, 17, 0.35);
	--button-secondary-hover: #f2d23d;
	--header-bg-start: #ffffff;
	--header-bg-end: #ffffff;
	--header-text: #19357d;
	--header-shadow: 0 6px 18px rgba(25, 53, 125, 0.10);
	--header-hover-bg: rgba(0, 153, 207, 0.10);
}

/*--------------------------------------------------------------
# ESTILOS DEL HEADER - EDITABLES
Edita estos estilos para cambiar la apariencia del header
--------------------------------------------------------------*/

/* Header principal - visible sobre el contenido */
.site-header {
	position: sticky !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	z-index: 2147483647 !important;
	background-color: var(--surface) !important;
	background-image: none !important;
	color: var(--header-text) !important;
	box-shadow: var(--header-shadow) !important;
	padding: 0 !important;
	margin: 0 !important;
	isolation: isolate;
	overflow: visible;
}

.site-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: var(--surface);
	pointer-events: none;
}

/* Ajuste para cuando hay admin bar */
body.admin-bar .site-header {
	top: 32px !important;
}

/* Contenedor interno del header */
.site-header-inner {
	position: relative;
	z-index: 1;
	max-width: 1200px;
	margin: 0 auto;
	padding: 25px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

/* Logo y branding */
.site-branding {
	display: flex;
	align-items: center;
	gap: 14.4px;
}

.custom-logo-link img {
	display: block;
	max-height: 60px;
	width: auto;
}

.site-title,
.site-description {
	margin: 0;
}

.site-title a,
.site-description {
	color: var(--header-text);
	text-decoration: none;
}

.site-title a {
	font-size: 16.8px;
	font-weight: 700;
	letter-spacing: 0.32px;
}

.site-description {
	font-size: 14.72px;
	opacity: 0.9;
}

/* Enlaces del header */
.header-link {
	color: var(--header-text);
	text-decoration: none;
	padding: 7.2px 12px;
	border-radius: 999px;
	font-weight: 600;
	transition: background-color 0.18s ease;
}

.header-link:hover,
.header-link:focus-visible {
	background: var(--header-hover-bg);
}

/* Navegación principal */
.main-navigation {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	flex-wrap: wrap;
	width: auto;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -15984px;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -15984px;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
	color: var(--header-text);
	padding: 7.2px 12px;
	border-radius: 999px;
	transition: background-color 0.18s ease;
}

.main-navigation a:hover,
.main-navigation a:focus {
	background: var(--header-hover-bg);
}

/* Botón de menú (dispositivos móviles) */
.menu-toggle {
	background: var(--header-hover-bg);
	border: 1px solid var(--border-color);
	color: var(--header-text);
	padding: 7.2px 12px;
	border-radius: 6px;
	cursor: pointer;
	font-weight: 600;
	display: block;
}

/* CTA del header */
.header-cta {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

/* Contenido principal debajo del header */
.site-main {
	padding-top: 0 !important;
	margin-top: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-bottom: 0 !important;
}

body.admin-bar .site-main {
	padding-top: 0 !important;
}

html {
	scroll-padding-top: 88px !important;
}

/* Elementos de contenido principal sin z-index para no cubrir header */
.privacy-page-main,
.privacy-card,
.privacy-page-main .privacy-content,
.hero-banner,
.hero-content,
.front-page-main {
	position: relative !important;
	z-index: 0 !important;
}

/* Responsive - Tablet y mayores */
@media screen and (min-width: 600px) {
	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
		align-items: center;
		gap: 5.6px;
	}

	.header-cta {
		display: flex;
		align-items: center;
		gap: 8px;
	}

	.header-btn {
		margin-top: 0;
		padding: 8px 12px;
		font-size: 14px;
	}
}

/* Responsive - Móvil */
@media screen and (max-width: 600px) {
	.site-header-inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.main-navigation {
		justify-content: flex-start;
	}

	.main-navigation.toggled ul {
		display: flex;
		flex-direction: column;
		width: 100%;
	}

	.header-cta {
		width: 100%;
	}

	.header-btn {
		width: 100%;
	}

	.site-branding {
		flex-wrap: wrap;
	}
}

/*--------------------------------------------------------------
# Genérico
--------------------------------------------------------------*/

/* Normalización
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Documento
	 ========================================================================== */

/**
 * 1. Corrige la altura de línea en todos los navegadores.
 * 2. Evita ajustes del tamaño de fuente tras cambios de orientación en iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Secciones
	 ========================================================================== */

/**
 * Elimina el margen en todos los navegadores.
 */
body {
	margin: 0;
}

/**
 * Renderiza el elemento `main` de forma consistente en IE.
 */
main {
	display: block;
}

/**
 * Corrige el tamaño de fuente y el margen de los elementos `h1` dentro de `section` y
 * `article` en Chrome, Firefox y Safari.
 */
h1 {
	font-size: 32px;
	margin: 10.72px 0;
}

/* Contenido agrupado
	 ========================================================================== */

/**
 * 1. Agrega el tamaño de caja correcto en Firefox.
 * 2. Muestra el desbordamiento en Edge e IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Corrige la herencia y la escala del tamaño de fuente en todos los navegadores.
 * 2. Corrige el tamaño irregular de `em` en todos los navegadores.
 */
pre {
	font-family: monospace, monospace;
	font-size: 16px;
}

/* Semántica de texto
	 ========================================================================== */

/**
 * Elimina el fondo gris de los enlaces activos en IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Elimina el borde inferior en Chrome 57-
 * 2. Agrega la decoración de texto correcta en Chrome, Edge, IE, Opera y Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Agrega el peso de fuente correcto en Chrome, Edge y Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Corrige la herencia y la escala del tamaño de fuente en todos los navegadores.
 * 2. Corrige el tamaño irregular de `em` en todos los navegadores.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 16px;
}

/**
 * Agrega el tamaño de fuente correcto en todos los navegadores.
 */
small {
	font-size: 80%;
}

/**
 * Evita que los elementos `sub` y `sup` afecten la altura de línea en
 * todos los navegadores.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -4px;
}

sup {
	top: -8px;
}

/* Contenido incrustado
	 ========================================================================== */

/**
 * Elimina el borde en las imágenes dentro de enlaces en IE 10.
 */
img {
	border-style: none;
}

/* Formularios
	 ========================================================================== */

/**
 * 1. Change the font styles in todos los navegadores.
 * 2. Elimina el margen en Firefox y Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Muestra el desbordamiento en IE.
 * 1. Muestra el desbordamiento en Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Elimina la herencia de la transformación de texto en Edge, Firefox e IE.
 * 1. Elimina la herencia de la transformación de texto en Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Corrige la incapacidad de estilizar tipos clicables en iOS y Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	appearance: button;
	-webkit-appearance: button;
}

/**
 * Elimina el borde interno y el relleno en Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restaura los estilos de foco anulados por la regla anterior.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Corrige el relleno en Firefox.
 */
fieldset {
	padding: 5.6px 12px 10px;
}

/**
 * 1. Corrige el ajuste de texto en Edge e IE.
 * 2. Corrige la herencia de color de los elementos `fieldset` en IE.
 * 3. Elimina el relleno para que los desarrolladores no se vean afectados al establecer a cero
 *		`fieldset` elements in todos los navegadores.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Agrega la alineación vertical correcta en Chrome, Firefox y Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Elimina la barra de desplazamiento vertical predeterminada en IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Agrega el tamaño de caja correcto en IE 10.
 * 2. Elimina el relleno en IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Corrige el estilo del cursor de los botones de incremento y decremento en Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Corrige la apariencia extraña en Chrome y Safari.
 * 2. Corrige el estilo del contorno en Safari.
 */
[type="search"] {
	appearance: textfield;
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Elimina el relleno interno en Chrome y Safari en macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Corrige la incapacidad de estilizar tipos clicables en iOS y Safari.
 * 2. Cambia las propiedades de fuente a `inherit` en Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactivo
	 ========================================================================== */

/*
 * Agrega la visualización correcta en Edge, IE 10+ y Firefox.
 */
details {
	display: block;
}

/*
 * Agrega la visualización correcta en todos los navegadores.
 */
summary {
	display: list-item;
}

/* Misceláneo
	 ========================================================================== */

/**
 * Agrega la visualización correcta en IE 10+.
 */
template {
	display: none;
}

/**
 * Agrega la visualización correcta en IE 10.
 */
[hidden] {
	display: none;
}

/* Tamaño de caja
--------------------------------------------- */

/* Hereda box-sizing para cambiar su valor más fácilmente a nivel de componente.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Tipografía
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: var(--text-color);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 16px;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 24px;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 24px;
}

address {
	margin: 0 0 24px;
}

pre {
	background: var(--surface-muted);
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 25.6px;
	max-width: 100%;
	overflow: auto;
	padding: 25.6px;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted var(--text-color);
	cursor: help;
}

mark,
ins {
	background: var(--brand-gold);
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elementos
--------------------------------------------- */
body {
	background: var(--body-bg);
}

hr {
	background-color: var(--hr-color);
	border: 0;
	height: 1px;
	margin-bottom: 24px;
}

ul,
ol {
	margin: 0 0 24px 48px;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 24px;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 24px 24px;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 16px 0;
}

table {
	margin: 0 0 24px;
	width: 100%;
}

/* Enlaces
--------------------------------------------- */
a {
	color: var(--link-color);
}

a:visited {
	color: var(--link-visited);
}

a:hover,
a:focus,
a:active {
	color: var(--link-hover);
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Formularios
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: var(--button-border) var(--button-border) var(--button-border-hover);
	border-radius: 3px;
	background: var(--button-bg);
	color: var(--button-text);
	line-height: 1;
	padding: 9.6px 16px 6.4px;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: var(--button-border) var(--button-border-hover) var(--button-border-active);
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: var(--button-border-active) var(--button-border-hover) var(--button-border-hover);
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: var(--text-color);
	border: 1px solid var(--border-color);
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: var(--brand-navy);
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Diseño
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Componentes
--------------------------------------------------------------*/

/* Navegación
--------------------------------------------- */
.site-header {
	position: sticky !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	z-index: 2147483647 !important;
	background-color: var(--surface) !important;
	background-image: none !important;
	color: var(--header-text) !important;
	box-shadow: var(--header-shadow) !important;
}

body.admin-bar .site-header {
	top: 32px;
}

.site-main {
	padding-top: 0;
}

body.admin-bar .site-main {
	padding-top: 0 !important;
}

html {
	scroll-padding-top: 88px !important;
}

.privacy-page-main,
.privacy-card,
.privacy-page-main .privacy-content,
.hero-banner,
.hero-content,
.front-page-main {
	position: relative !important;
	z-index: 0 !important;
}

.site-header-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 25px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.site-branding {
	display: flex;
	align-items: center;
	gap: 14.4px;
}

.custom-logo-link img {
	display: block;
	max-height: 60px;
	width: auto;
}

.site-title,
.site-description {
	margin: 0;
}

.site-title a,
.site-description {
	color: var(--header-text);
	text-decoration: none;
}

.site-title a {
	font-size: 16.8px;
	font-weight: 700;
	letter-spacing: 0.32px;
}

.site-description {
	font-size: 14.72px;
	opacity: 0.9;
}

.main-navigation {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	flex-wrap: wrap;
	width: auto;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -15984px;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -15984px;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

.header-cta {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.header-link {
	color: var(--header-text);
	text-decoration: none;
	padding: 7.2px 12px;
	border-radius: 999px;
	font-weight: 600;
}

.header-link:hover,
.header-link:focus-visible {
	background: var(--header-hover-bg);
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 600px) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
		align-items: center;
		gap: 5.6px;
	}

	.main-navigation a {
		padding: 7.2px 12px;
		border-radius: 999px;
		color: var(--header-text);
	}

	.main-navigation a:hover,
	.main-navigation a:focus {
		background: var(--header-hover-bg);
	}

	.header-cta {
		display: flex;
		align-items: center;
		gap: 8px;
	}

	.header-btn {
		margin-top: 0;
		padding: 8px 12px;
		font-size: 14px;
	}
}

@media screen and (max-width: 600px) {
	.site-header-inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.main-navigation {
		justify-content: flex-start;
	}

	.header-cta {
		width: 100%;
	}

	.header-btn {
		width: 100%;
	}

	.site-branding {
		flex-wrap: wrap;
	}

	.menu-toggle {
		background: var(--header-hover-bg);
		border: 1px solid var(--border-color);
		color: var(--header-text);
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 24px;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Entradas y páginas
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 24px;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 24px 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 24px;
}

/* Comentarios
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 24px;
}

.widget select {
	max-width: 100%;
}

/* Medios
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Leyendas
--------------------------------------------- */
.wp-caption {
	margin-bottom: 24px;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 12.92px 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galerías
--------------------------------------------- */
.gallery {
	margin-bottom: 24px;
	display: grid;
	grid-gap: 24px;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

/* Estilos personalizados de portada y política de privacidad
--------------------------------------------- */
.site-main {
	padding: 0;
}

.front-page-main,
.privacy-page-main {
	background: linear-gradient(135deg, var(--brand-navy), var(--brand-green));
}

.hero-banner {
	color: #ffffff !important;
}

.hero-banner .hero-content,
.hero-banner .hero-content * {
	color: #ffffff !important;
}

.hero-banner .eyebrow,
.hero-banner h1,
.hero-banner .hero-copy,
.hero-banner p,
.hero-banner li,
.hero-banner a,
.hero-banner a:visited,
.hero-banner a:hover,
.hero-banner a:focus,
.hero-banner a:active {
	color: #ffffff !important;
}

.hero-banner {
	position: relative;
	/* min-height: 1080px; */
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 48px 24px;
	background-image:
		linear-gradient(135deg, var(--hero-overlay-start), var(--hero-overlay-end)),
		var(--hero-image, url("assets/hero-banner.svg"));
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, var(--hero-overlay-dark), var(--hero-overlay-light));
}

.hero-content,
.privacy-card {
	position: relative;
	z-index: 1;
	max-width: 1100px;
	margin: 0 auto;
}

.privacy-page-main .privacy-card {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 64px 40px 80px;
}

.privacy-page-main .privacy-card .privacy-content,
.privacy-page-main .privacy-card p,
.privacy-page-main .privacy-card h2,
.privacy-page-main .privacy-card ul,
.privacy-page-main .privacy-card ol {
	max-width: none;
	width: 100%;
}

@media (max-width: 768px) {
	.privacy-page-main .privacy-card {
		padding: 32px 20px 48px;
	}
}

.eyebrow {
	text-transform: uppercase;
	letter-spacing: 4.48px;
	font-size: 13.6px;
	font-weight: 700;
	color: var(--brand-gold);
}

.hero-content h1,
.privacy-card h1,
.services-section h2 {
	font-size: clamp(41.6px, 6vw, 72px);
	line-height: 1.05;
	margin-bottom: 16px;
	color: var(--surface);
}

.hero-copy,
.privacy-card p,
.service-card p {
	max-width: 640px;
	font-size: 17.28px;
	color: var(--surface);
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 16px;
	padding: 13.6px 22.4px;
	border-radius: 999px;
	border: 1px solid transparent;
	text-decoration: none;
	font-weight: 700;
	line-height: 1.1;
	box-shadow: 0 10px 20px rgba(3, 9, 17, 0.25);
	transition: transform 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
}

.button:hover,
.button:focus-visible {
	transform: translateY(-2px);
	opacity: 1;
	box-shadow: 0 14px 24px rgba(3, 9, 17, 0.35);
}

.button-primary {
	background: #71b942 !important;
	color: #19357d !important;
	opacity: 1 !important;
	filter: none !important;
}

.button-primary:hover,
.button-primary:focus-visible {
	background: #8bc24d !important;
	color: #19357d !important;
	opacity: 1 !important;
}

.button-secondary {
	background: #FACE1D !important;
	border-color: #FACE1D !important;
	color: #19357d !important;
	opacity: 1 !important;
	filter: none !important;
	box-shadow: 0 10px 20px rgba(3, 9, 17, 0.25);
}

.button-secondary:hover,
.button-secondary:focus-visible {
	background: #f2d23d !important;
	color: #19357d !important;
	opacity: 1 !important;
}

.services-section,
.services-section h2,
.service-card,
.service-card h3,
.service-card p,
.privacy-card h2,
.privacy-card p {
	color: var(--text-color) !important;
}

.services-section {
	padding: 64px 24px 80px;
}

.section-heading {
	max-width: 1100px;
	margin: 0 auto 32px;
}

.services-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 24px;
	max-width: 1100px;
	margin: 0 auto;
}

.service-card {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(246, 247, 248, 0.98));
	border: 1px solid rgba(25, 53, 125, 0.18);
	border-radius: 18px;
	padding: 22.4px;
	box-shadow: 0 18px 35px rgba(3, 9, 17, 0.18);
}

.service-card h3 {
	font-size: 19.2px;
	margin-bottom: 9.6px;
	color: var(--text-color);
}

.privacy-card {
	padding: 64px 24px 80px;
}

.privacy-card h2 {
	font-size: 21.6px;
	margin-top: 25.6px;
	color: var(--surface);
}

@media (max-width: 768px) {
	.hero-banner {
		min-height: 900px;
	}

	.hero-content h1,
	.privacy-card h1,
	.services-section h2 {
		font-size: clamp(32px, 9vw, 44.8px);
	}
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Desplazamiento infinito de Jetpack
--------------------------------------------- */

/* Hide the Posts Navegación and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Vuelve a mostrar el pie de página del tema cuando Infinite Scroll ha llegado al final. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilidades
--------------------------------------------------------------*/

/* Accesibilidad
--------------------------------------------- */

/* Texto destinado únicamente a lectores de pantalla. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* No mostrar el contorno en el destino del enlace de salto. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alineaciones
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 24px;
	margin-bottom: 24px;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 24px;
	margin-bottom: 24px;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 24px;
}

/* Override final del header para asegurar fondo blanco sobre el banner. */
.site-header,
#masthead.site-header {
	position: sticky !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	z-index: 2147483647 !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	background-image: none !important;
	color: #19357d !important;
	box-shadow: 0 6px 18px rgba(25, 53, 125, 0.10) !important;
	isolation: isolate;
}

body.admin-bar .site-header,
body.admin-bar #masthead.site-header {
	top: 32px !important;
}

.site-header::before,
#masthead.site-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: #ffffff !important;
	pointer-events: none;
}

.site-header-inner {
	position: relative;
	z-index: 1;
	background: #ffffff !important;
}

.site-main {
	padding-top: 0 !important;
}

.header-menu-panel {
	display: flex;
	align-items: center;
	gap: 12px;
}

/* Mobile: menu hamburguesa compacto. */
@media screen and (max-width: 600px) {
	body.admin-bar .site-header,
	body.admin-bar #masthead.site-header {
		top: 0 !important;
	}

	.site-header-inner {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 12px !important;
		padding: 12px 18px !important;
		background: #ffffff !important;
	}

	.site-branding {
		min-width: 0;
		flex: 1 1 auto;
		flex-wrap: nowrap !important;
	}

	.site-title {
		font-size: 0;
	}

	.site-title a {
		display: block;
		font-size: 18px !important;
		line-height: 1.2;
		white-space: normal;
	}

	.site-description {
		display: none;
	}

	.main-navigation {
		position: static;
		width: auto !important;
		flex: 0 0 auto;
		justify-content: flex-end !important;
	}

	.menu-toggle {
		position: relative;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0 !important;
		border: 1px solid #d9d9d9 !important;
		border-radius: 6px;
		background: #ffffff !important;
		color: #19357d !important;
		cursor: pointer;
	}

	.menu-toggle-icon,
	.menu-toggle-icon::before,
	.menu-toggle-icon::after {
		display: block;
		width: 22px;
		height: 2px;
		border-radius: 999px;
		background: currentColor;
		transition: transform 0.18s ease, opacity 0.18s ease;
	}

	.menu-toggle-icon {
		position: relative;
	}

	.menu-toggle-icon::before,
	.menu-toggle-icon::after {
		content: "";
		position: absolute;
		left: 0;
	}

	.menu-toggle-icon::before {
		top: -7px;
	}

	.menu-toggle-icon::after {
		top: 7px;
	}

	.main-navigation.toggled .menu-toggle-icon {
		background: transparent;
	}

	.main-navigation.toggled .menu-toggle-icon::before {
		top: 0;
		transform: rotate(45deg);
	}

	.main-navigation.toggled .menu-toggle-icon::after {
		top: 0;
		transform: rotate(-45deg);
	}

	.header-menu-panel {
		display: none !important;
	}

	.main-navigation.toggled .header-menu-panel {
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		z-index: 2;
		display: flex !important;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		width: 100%;
		margin: 0;
		padding: 8px 18px 16px !important;
		background: #ffffff !important;
		box-shadow: 0 12px 24px rgba(25, 53, 125, 0.12);
	}

	.main-navigation.toggled ul,
	.main-navigation.toggled .header-cta {
		display: flex !important;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		width: 100%;
		margin: 0;
		padding: 0 !important;
		background: #ffffff !important;
	}

	.main-navigation.toggled ul:empty {
		display: none !important;
	}

	.main-navigation a,
	.header-link {
		width: 100%;
		padding: 12px 0 !important;
		border-radius: 0 !important;
		color: #19357d !important;
		font-size: 16px;
		font-weight: 700;
		line-height: 1.25;
	}
}
