/* ==========================================================================
   Main CSS - Faes Enfermeria
   Variables, reset, tipografia, layout global, componentes compartidos.
   ========================================================================== */

/* --------------------------------------------------------------------------
   @font-face: Fuentes self-hosted (RGPD compliant, no Google CDN)
   -------------------------------------------------------------------------- */

@font-face {
	font-family: 'Cairo';
	src: url('../fonts/cairo-600.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Cairo';
	src: url('../fonts/cairo-700.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Red Hat Display';
	src: url('../fonts/red-hat-display-400.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Red Hat Display';
	src: url('../fonts/red-hat-display-500.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

/* --------------------------------------------------------------------------
   Custom properties (design tokens)
   -------------------------------------------------------------------------- */

:root {
	/* Colores */
	--color-primary: #0073e5;
	--color-primary-dark: #0046ad;
	--color-primary-light: #e8f4fd;
	--color-border: #e2e2e2;
	--color-text: #030044;
	--color-text-light: #030044;
	--color-bg: #ffffff;
	--color-bg-alt: #F7F7F2;
	--color-white: #ffffff;
	--color-overlay: rgba(0, 30, 70, 0.6);

	/* Variables requeridas por el plugin Faes */
	--color-blue-dark: #0046ad;
	--color-blue-darker: #030044;
	--wp--preset--color--accent: #0046ad;
	--wp--preset--color--base: #ffffff;
	--wp--preset--color--base-2: #F7F7F2;
	--wp--preset--color--base-3: #e8f4fd;
	--wp--preset--color--contrast: #030044;
	--wp--preset--color--contrast-2: #0046ad;
	--wp--preset--color--contrast-3: #0073e5;

	/* Tipografia */
	--font-heading: 'Cairo', sans-serif;
	--font-body: 'Red Hat Display', sans-serif;

	/* Espaciado */
	--spacing-xs: 0.5rem;
	--spacing-sm: 1rem;
	--spacing-md: 1.5rem;
	--spacing-lg: 2rem;
	--spacing-xl: 3rem;
	--spacing-xxl: 4rem;

	/* Bordes */
	--radius-sm: 8px;
	--radius-md: 12px;
	--radius-pill: 9999px;

	/* Sombras */
	--shadow-card: 0 2px 8px rgba(0, 0, 0, 0.06);
	--shadow-card-hover: 0 8px 24px rgba(0, 0, 0, 0.12);

	/* Anchos */
	--max-width: 1200px;
	--max-width-narrow: 800px;

	/* Transiciones */
	--transition-fast: 150ms ease;
	--transition-normal: 250ms ease;
}

/* --------------------------------------------------------------------------
   Reset y base
   -------------------------------------------------------------------------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.6;
	color: var(--color-text);
	background-color: var(--color-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

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

a {
	color: var(--color-primary);
	text-decoration: none;
	transition: color var(--transition-fast);
}

a:hover,
a:focus {
	color: var(--color-primary-dark);
}

a:focus-visible {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   Tipografia
   -------------------------------------------------------------------------- */

h1, h2, h3, h4 {
	font-family: var(--font-heading);
	font-weight: 700;
	line-height: 1.2;
	margin-top: 0;
	color: var(--color-text);
}

h1 {
	font-size: 2.5rem;
}

h2 {
	font-size: 2rem;
}

h3 {
	font-size: 1.25rem;
}

h4 {
	font-size: 1.125rem;
}

p {
	margin-top: 0;
	margin-bottom: var(--spacing-sm);
}

/* --------------------------------------------------------------------------
   Layout: Genesis overrides
   -------------------------------------------------------------------------- */

/* La barra del plugin Faes (.before-header) es position:fixed top:0.
   Usamos la misma variable para margin-top y sticky top. */
:root {
	--plugin-bar-height: 51px;
}

/* Barra del plugin: responsive móvil */
@media (max-width: 767px) {
	/* Ocultar "Web Faes Farma" en móvil */
	.before-header .navbar > .right:first-child {
		display: none !important;
	}

	/* Reorganizar: atención cliente izquierda, login derecha */
	.before-header .navbar {
		justify-content: space-between !important;
	}

	/* Botón cerrar sesión: solo icono en móvil */
	.before-header .header__logout {
		font-size: 0 !important;
		color: transparent !important;
		padding: 0 !important;
		border: none !important;
		background: transparent !important;
		width: 20px;
		height: 20px;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		overflow: visible;
	}

	.before-header .header__logout::before {
		content: '';
		display: block;
		width: 15px;
		height: 15px;
		min-width: 15px;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E");
		background-repeat: no-repeat;
		background-size: 15px 15px;
	}
}

/* Barra del plugin: botón cerrar sesión compacto */
.before-header .cerrar-sesion,
.before-header .header__logout {
	padding: 4px 14px !important;
	font-size: 12px !important;
	line-height: 1 !important;
	text-align: center !important;
	display: inline-block !important;
	vertical-align: middle !important;
}

/* Barra del plugin: altura fija siempre */
.before-header {
	height: var(--plugin-bar-height) !important;
	display: flex !important;
	align-items: center !important;
}

/* Barra del plugin: contenido centrado al ancho de la web */
.before-header > .wrap,
.before-header > .container {
	max-width: var(--max-width);
	margin: 0 auto;
	padding-left: var(--spacing-md);
	padding-right: var(--spacing-md);
	width: 100%;
}

.site-container {
	overflow-x: unset;
	margin-top: var(--plugin-bar-height);
}

.site-inner {
	max-width: var(--max-width);
	margin: 0 auto;
	padding: 0 var(--spacing-md);
}

.content-sidebar-wrap {
	max-width: none;
	padding: 0;
}

.content {
	max-width: none;
	padding: 0;
	max-height: none !important;
	overflow: visible !important;
}

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */

.site-header,
.custom-header {
	background-color: var(--color-white);
	border-bottom: 1px solid var(--color-border);
	position: sticky;
	top: var(--plugin-bar-height);
	z-index: 100;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.faes-header {
	padding: var(--spacing-sm) var(--spacing-md);
}

.faes-header__container {
	max-width: var(--max-width);
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.faes-header__logo-link {
	display: inline-flex;
	align-items: center;
}

.faes-header__logo {
	height: 50px;
	width: auto;
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

.site-footer {
	background-color: var(--color-primary-dark);
	color: var(--color-white);
}

.faes-footer {
	padding: var(--spacing-xl) var(--spacing-md);
}

.faes-footer__container {
	max-width: var(--max-width);
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--spacing-md);
}

.faes-footer__logo {
	height: 40px;
	width: auto;
	filter: brightness(0) invert(1);
}

.faes-footer__copyright p {
	margin: 0;
	font-size: 0.875rem;
	opacity: 0.8;
}

.faes-footer__legal-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-md);
}

.faes-footer__legal-list a {
	color: var(--color-white);
	font-size: 0.875rem;
	opacity: 0.8;
	transition: opacity var(--transition-fast);
}

.faes-footer__legal-list a:hover,
.faes-footer__legal-list a:focus {
	opacity: 1;
	color: var(--color-white);
}

/* --------------------------------------------------------------------------
   Botones
   -------------------------------------------------------------------------- */

.faes-btn {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-xs);
	padding: 12px 32px;
	border: 2px solid transparent;
	border-radius: var(--radius-pill);
	font-family: var(--font-body);
	font-weight: 500;
	font-size: 1rem;
	line-height: 1.4;
	cursor: pointer;
	transition: all var(--transition-normal);
	text-decoration: none;
}

.faes-btn--primary {
	background-color: var(--color-primary);
	color: var(--color-white);
	border-color: var(--color-primary);
}

.faes-btn--primary:hover,
.faes-btn--primary:focus {
	background-color: var(--color-primary-dark);
	border-color: var(--color-primary-dark);
	color: var(--color-white);
}

.faes-btn--outline {
	background-color: transparent;
	color: var(--color-primary);
	border-color: var(--color-primary);
}

.faes-btn--outline:hover,
.faes-btn--outline:focus {
	background-color: var(--color-primary);
	color: var(--color-white);
}

/* --------------------------------------------------------------------------
   Botones del plugin Faes: mismo estilo que el resto de la web
   -------------------------------------------------------------------------- */

.faes-contact__input.submit,
.faes-link__button,
.formulario button,
.formulario input[type="submit"],
.registro-acceso .button,
.registro-acceso button,
.modal-prov button,
.before-header .header_button,
.wp-block-button__link,
.button-fake span {
	background-color: var(--color-primary) !important;
	color: var(--color-white) !important;
	border: none !important;
	border-radius: var(--radius-pill) !important;
	font-family: var(--font-body) !important;
	font-weight: 500 !important;
	font-size: 1rem !important;
	padding: 12px 32px !important;
	cursor: pointer;
	transition: all var(--transition-normal);
	text-decoration: none !important;
	display: inline-block;
	text-align: center;
	line-height: 1.4;
}

.faes-contact__input.submit:hover,
.faes-link__button:hover,
.formulario button:hover,
.formulario input[type="submit"]:hover,
.registro-acceso .button:hover,
.registro-acceso button:hover,
.modal-prov button:hover,
.before-header .header_button:hover,
.wp-block-button__link:hover,
.button-fake span:hover {
	background-color: var(--color-primary-dark) !important;
	color: var(--color-white) !important;
}

/* Outline variant for plugin buttons */
.wp-block-button.is-style-outline .wp-block-button__link {
	background-color: transparent !important;
	color: var(--color-primary) !important;
	border: 2px solid var(--color-primary) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: var(--color-primary) !important;
	color: var(--color-white) !important;
}

/* --------------------------------------------------------------------------
   Badge de categoria
   -------------------------------------------------------------------------- */

.faes-card__badge,
.faes-single__badge {
	display: inline-block;
	padding: 4px 16px;
	background-color: #6EE5FF;
	color: var(--color-text);
	border-radius: var(--radius-pill);
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.4;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

/* --------------------------------------------------------------------------
   Iconos
   -------------------------------------------------------------------------- */

.faes-icon {
	flex-shrink: 0;
}

/* --------------------------------------------------------------------------
   Estado vacio
   -------------------------------------------------------------------------- */

.faes-empty-state {
	text-align: center;
	padding: var(--spacing-xxl) var(--spacing-md);
	color: var(--color-text-light);
	font-size: 1.125rem;
}

/* --------------------------------------------------------------------------
   Responsive: tipografia
   -------------------------------------------------------------------------- */

@media (max-width: 1023px) {
	h1 {
		font-size: 2rem;
	}

	h2 {
		font-size: 1.75rem;
	}
}

@media (max-width: 767px) {
	h1 {
		font-size: 1.75rem;
	}

	h2 {
		font-size: 1.5rem;
	}

	.faes-footer__container {
		flex-direction: column;
		text-align: center;
	}

	.faes-footer__legal-list {
		justify-content: center;
	}
}
