/*
Theme Name: APTASCH
Theme URI: https://aptasch.org/
Description: Tema a medida para APTASCH – Asociación de Profesionales, Técnicos y Auxiliares de Salud Pública del Chaco.
Version: 1.0.2
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: aptasch
License: GPL-2.0-or-later
*/

:root {
	--naranja: #E5640A;
	--naranja-texto: #B34700;
	--tinta: #231B16;
	--tinta-suave: #5C5049;
	--fondo: #F6F4EF;
	--blanco: #FFFFFF;
	--durazno: #FBE1CF;
	--pie: #231B16;
	--pie-texto: #EFE6DF;
	--pie-tenue: #C4B5AA;
	--borde: #E2DED5;
	--radio: 16px;
	--ancho: 1240px;
	--titulos: 'Archivo', system-ui, sans-serif;
	--cuerpo: 'Source Sans 3', system-ui, sans-serif;
	--contorno-2: -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff, 0 -2px 0 #fff, 0 2px 0 #fff, -2px 0 0 #fff, 2px 0 0 #fff;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--fondo); color: var(--tinta); font-family: var(--cuerpo); font-size: 17px; line-height: 1.6; }
img { max-width: 100%; height: auto; }
a { color: #9A3A0A; }
a:hover { color: var(--tinta); }
h1, h2, h3, h4 { font-family: var(--titulos); line-height: 1.15; margin: 0 0 .5em; }
.contenedor { max-width: var(--ancho); margin: 0 auto; padding: 0 24px; }
.screen-reader-text, .sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
.saltar { position: absolute; left: -9999px; top: 0; }
.saltar:focus { left: 16px; top: 16px; z-index: 1000; background: var(--blanco); padding: 10px 16px; border-radius: 8px; }
:focus-visible { outline: 3px solid var(--tinta); outline-offset: 2px; }

/* Botones */
.boton { display: inline-block; text-decoration: none; padding: 15px 28px; border-radius: 999px; font-weight: 700; font-size: 17px; line-height: 1.2; border: 2px solid transparent; transition: transform .15s ease, opacity .15s ease; }
.boton:hover { transform: translateY(-1px); opacity: .92; }
.boton--oscuro { background: var(--tinta); color: var(--blanco); }
.boton--oscuro:hover { color: var(--blanco); }
.boton--contorno { border-color: var(--blanco); color: var(--blanco); }
.boton--contorno:hover { color: var(--blanco); }
.boton--naranja { background: var(--naranja); color: var(--blanco); padding: 12px 22px; font-size: 16px; }
.boton--naranja:hover { color: var(--blanco); }

/* Encabezado */
.encabezado { background: var(--blanco); border-bottom: 1px solid var(--borde); position: relative; z-index: 50; }
.encabezado__fila { display: flex; align-items: center; justify-content: space-between; gap: 16px 32px; padding-top: 16px; padding-bottom: 16px; flex-wrap: wrap; }
.marca { display: flex; align-items: center; gap: 14px; text-decoration: none; color: var(--tinta); }
.marca img, .marca .custom-logo { width: 68px; height: 68px; display: block; }
.marca__nombre { font-family: var(--titulos); font-weight: 900; font-size: 26px; line-height: 1.1; letter-spacing: .5px; display: block; }
.marca__bajada { font-size: 13px; color: var(--tinta-suave); display: block; }
.marca .custom-logo-link { display: block; }

.menu-toggle { display: none; background: none; border: 2px solid var(--tinta); border-radius: 10px; padding: 10px 14px; font: 700 15px var(--cuerpo); color: var(--tinta); cursor: pointer; min-height: 44px; }
.navegacion { display: flex; align-items: center; gap: 8px 26px; flex-wrap: wrap; }
.navegacion ul { list-style: none; margin: 0; padding: 0; }
.menu-principal { display: flex; gap: 6px 26px; flex-wrap: wrap; align-items: center; }
.menu-principal > li { position: relative; }
.menu-principal a { text-decoration: none; color: var(--tinta); font-weight: 600; font-size: 16px; display: inline-block; padding: 8px 0; }
.menu-principal a:hover, .menu-principal .current-menu-item > a { color: var(--naranja-texto); }
.menu-principal .sub-menu { position: absolute; top: 100%; left: -16px; min-width: 260px; background: var(--blanco); border-radius: 12px; box-shadow: 0 10px 30px rgba(35,27,22,.14); padding: 8px; opacity: 0; visibility: hidden; transform: translateY(6px); transition: all .15s ease; }
.menu-principal li:hover > .sub-menu, .menu-principal li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.menu-principal .sub-menu a { display: block; padding: 9px 12px; border-radius: 8px; font-weight: 500; }
.menu-principal .sub-menu a:hover { background: var(--fondo); }

/* Portada */
.portada { background: var(--naranja); }
.portada__interior { padding-top: 104px; padding-bottom: 112px; max-width: var(--ancho); }
.portada__texto { max-width: 760px; display: flex; flex-direction: column; gap: 24px; }
.antetitulo { font-size: 14px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--naranja-texto); }
.portada .antetitulo { color: var(--blanco); }
.portada__titulo { margin: 0; font-weight: 900; font-size: clamp(42px, 6.5vw, 72px); line-height: .98; letter-spacing: -1px; color: var(--tinta); text-shadow: var(--contorno-2); }
.portada__bajada { margin: 0; font-size: 21px; line-height: 1.5; max-width: 600px; color: var(--blanco); }
.portada__acciones { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 8px; }

/* Accesos rápidos */
.accesos { margin-top: -44px; position: relative; z-index: 2; }
.accesos__grilla { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; }
.acceso { text-decoration: none; color: var(--tinta); background: var(--blanco); border-radius: var(--radio); padding: 26px; display: flex; flex-direction: column; gap: 10px; box-shadow: 0 6px 24px rgba(35,27,22,.10); transition: transform .15s ease; }
.acceso:hover { transform: translateY(-3px); color: var(--tinta); }
.acceso svg { width: 30px; height: 30px; stroke: var(--naranja); }
.acceso__titulo { font-family: var(--titulos); font-weight: 800; font-size: 21px; }
.acceso__texto { font-size: 15px; color: var(--tinta-suave); }

/* Secciones */
.seccion { padding-top: 104px; padding-bottom: 112px; }
.seccion__cabecera { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: flex-end; justify-content: space-between; margin-bottom: 36px; }
.seccion__titulo { margin: 0; font-weight: 900; font-size: clamp(34px, 4.5vw, 48px); line-height: 1; }
.enlace-fuerte { font-weight: 700; }

/* Tarjetas de noticias */
.grilla-noticias { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 28px; }
.tarjeta { background: var(--blanco); border-radius: var(--radio); overflow: hidden; display: flex; flex-direction: column; }
.tarjeta__imagen { aspect-ratio: 16 / 9; background: var(--durazno); display: block; overflow: hidden; }
.tarjeta__imagen img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.tarjeta:hover .tarjeta__imagen img { transform: scale(1.03); }
.tarjeta__cuerpo { padding: 24px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.tarjeta__meta { font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #8A4A0B; }
.tarjeta__titulo { margin: 0; font-weight: 800; font-size: 23px; line-height: 1.2; }
.tarjeta__titulo a { color: var(--tinta); text-decoration: none; }
.tarjeta__titulo a:hover { color: var(--naranja-texto); }
.tarjeta__mas { margin-top: auto; font-weight: 700; font-size: 16px; }

/* Franja de afiliación */
.franja { background: var(--naranja); }
.franja__interior { padding-top: 72px; padding-bottom: 72px; display: flex; flex-wrap: wrap; gap: 28px; align-items: center; justify-content: space-between; }
.franja__texto { flex: 999 1 520px; min-width: 0; }
.franja__titulo { margin: 0 0 12px; font-weight: 900; font-size: clamp(32px, 4vw, 46px); line-height: 1.02; color: var(--tinta); text-shadow: var(--contorno-2); }
.franja__bajada { margin: 0; font-size: 19px; color: var(--blanco); }
.franja .boton--oscuro { padding: 18px 34px; font-size: 18px; }

/* Páginas y entradas */
.cabecera-pagina { background: var(--blanco); border-bottom: 1px solid var(--borde); }
.cabecera-pagina__interior { padding-top: 64px; padding-bottom: 48px; }
.cabecera-pagina__titulo { margin: 0; font-weight: 900; font-size: clamp(34px, 5vw, 56px); line-height: 1.02; max-width: 900px; }
.cabecera-pagina .tarjeta__meta { display: block; margin-bottom: 14px; }
.contenido { padding-top: 56px; padding-bottom: 96px; }
.contenido__cuerpo { max-width: 800px; }
.contenido__cuerpo--ancho { max-width: none; }
.contenido__cuerpo > * + * { margin-top: 1.1em; }
.contenido__cuerpo h2 { font-size: 32px; margin-top: 1.6em; }
.contenido__cuerpo h3 { font-size: 24px; margin-top: 1.4em; }
.contenido__cuerpo img { border-radius: 12px; }
.contenido__cuerpo figure { margin-left: 0; margin-right: 0; }
.contenido__cuerpo blockquote { margin: 1.5em 0; padding: 4px 0 4px 24px; border-left: 4px solid var(--naranja); font-size: 20px; }
.contenido__cuerpo table { width: 100%; border-collapse: collapse; }
.contenido__cuerpo th, .contenido__cuerpo td { border: 1px solid var(--borde); padding: 10px; text-align: left; }
.imagen-destacada { margin: 0 0 32px; border-radius: var(--radio); overflow: hidden; }
.imagen-destacada img { width: 100%; display: block; }
.alignwide { max-width: 1100px; }
.alignfull { width: 100%; }
.aligncenter { margin-left: auto; margin-right: auto; display: block; }
.alignleft { float: left; margin: 0 24px 16px 0; }
.alignright { float: right; margin: 0 0 16px 24px; }
.wp-caption-text, figcaption { font-size: 14px; color: var(--tinta-suave); }

/* Formularios (Contact Form 7 y comentarios) */
input[type=text], input[type=email], input[type=tel], input[type=search], textarea, select { width: 100%; max-width: 560px; padding: 12px 14px; border: 1px solid #CFC8BC; border-radius: 10px; font: inherit; background: var(--blanco); }
input[type=submit], button[type=submit], .wpcf7-submit { background: var(--tinta); color: var(--blanco); border: 0; border-radius: 999px; padding: 14px 28px; font: 700 16px var(--cuerpo); cursor: pointer; min-height: 44px; }

/* Paginación */
.paginacion { margin-top: 48px; display: flex; gap: 8px; flex-wrap: wrap; }
.paginacion .page-numbers { display: inline-flex; min-width: 44px; height: 44px; align-items: center; justify-content: center; padding: 0 14px; border-radius: 999px; background: var(--blanco); text-decoration: none; color: var(--tinta); font-weight: 700; }
.paginacion .current { background: var(--naranja); color: var(--blanco); }
.navegacion-entradas { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--borde); font-weight: 700; }

/* Búsqueda */
.buscador { display: flex; gap: 8px; max-width: 560px; }
.buscador input[type=search] { flex: 1; }

/* Pie */
.pie { background: var(--pie); color: var(--pie-texto); font-size: 15px; }
.pie a { color: var(--pie-texto); text-decoration: none; }
.pie a:hover { color: var(--blanco); text-decoration: underline; }
.pie__grilla { padding-top: 64px; padding-bottom: 32px; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 40px; }
.pie__columna { display: flex; flex-direction: column; gap: 8px; }
.pie__columna ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.pie__titulo { font-weight: 700; color: var(--blanco); margin-bottom: 4px; }
.pie__marca { display: flex; align-items: center; gap: 12px; font-family: var(--titulos); font-weight: 900; font-size: 26px; color: var(--blanco); }
.pie__marca img { width: 56px; height: 56px; }
.pie__tenue { color: var(--pie-tenue); }
.pie__legal { padding-top: 20px; padding-bottom: 32px; border-top: 1px solid #3D322B; color: var(--pie-tenue); font-size: 14px; }

/* Celular */
@media (max-width: 860px) {
	.menu-toggle { display: inline-block; }
	.navegacion { display: none; width: 100%; flex-direction: column; align-items: stretch; padding: 8px 0 12px; }
	.navegacion.esta-abierta { display: flex; }
	.menu-principal { flex-direction: column; align-items: stretch; gap: 0; }
	.menu-principal > li { border-top: 1px solid var(--borde); }
	.menu-principal a { padding: 12px 0; width: 100%; }
	.menu-principal .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; padding: 0 0 8px 16px; min-width: 0; }
	.navegacion .boton--naranja { text-align: center; margin-top: 8px; }
	.portada__interior { padding-top: 64px; padding-bottom: 88px; }
	.portada__bajada { font-size: 18px; }
	.seccion { padding-top: 72px; padding-bottom: 72px; }
	.alignleft, .alignright { float: none; margin: 0 0 16px; }
}

/* Unificación con contenido de Elementor y textos pegados desde Word (v1.0.1) */
.contenido__cuerpo :where(.elementor, .elementor-widget-text-editor, .elementor-widget-text-editor *, [style*="font-family"], .MsoNormal, p, li) {
	font-family: var(--cuerpo) !important;
}
.contenido__cuerpo .elementor-widget-text-editor,
.contenido__cuerpo .elementor-widget-text-editor p,
.contenido__cuerpo .elementor-widget-text-editor li {
	color: var(--tinta) !important;
	line-height: 1.6;
}
.contenido__cuerpo h1,
.contenido__cuerpo h2,
.contenido__cuerpo h3,
.contenido__cuerpo h4,
.contenido__cuerpo h5,
.contenido__cuerpo h6,
.contenido__cuerpo h1 *,
.contenido__cuerpo h2 *,
.contenido__cuerpo h3 *,
.contenido__cuerpo h4 *,
.contenido__cuerpo .elementor-heading-title,
.contenido__cuerpo .elementor-heading-title * {
	font-family: var(--titulos) !important;
	color: var(--tinta) !important;
	letter-spacing: 0 !important;
}
.contenido__cuerpo .elementor-heading-title {
	font-weight: 800 !important;
	font-size: clamp(22px, 2.6vw, 30px) !important;
	line-height: 1.2 !important;
	padding-top: 12px;
	border-top: 4px solid var(--naranja);
	display: inline-block;
}
.contenido__cuerpo .elementor-widget-text-editor h1,
.contenido__cuerpo .elementor-widget-text-editor h2,
.contenido__cuerpo .elementor-widget-text-editor h3 {
	font-weight: 800 !important;
}
.contenido__cuerpo .elementor-widget-divider .elementor-divider-separator {
	border-color: var(--borde) !important;
}
.contenido__cuerpo a,
.contenido__cuerpo a * {
	color: #9A3A0A;
}

/* Buscador por localidad en Beneficios (v1.0.2) */
.buscador-localidad { background: var(--blanco); border-radius: var(--radio); padding: 28px; margin: 8px 0 40px; box-shadow: 0 6px 24px rgba(35,27,22,.08); scroll-margin-top: 24px; }
.admin-bar .buscador-localidad { scroll-margin-top: 56px; }
.buscador-localidad__cabecera { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.buscador-localidad__titulo { font-family: var(--titulos); font-weight: 800; font-size: 24px; line-height: 1.2; }
.buscador-localidad__select { width: auto; min-width: 260px; max-width: 100%; min-height: 44px; font-weight: 600; }
.buscador-localidad__chips { display: flex; flex-wrap: wrap; gap: 10px; }
.buscador-localidad__chip { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 18px; border-radius: 999px; border: 2px solid var(--naranja); background: var(--blanco); color: var(--tinta); font: 700 15px var(--cuerpo); cursor: pointer; transition: background .15s ease; }
.buscador-localidad__chip:hover { background: var(--durazno); }
.buscador-localidad__chip[aria-pressed="true"] { background: var(--naranja); color: var(--blanco); }
.buscador-localidad__cantidad { font-size: 13px; font-weight: 700; background: rgba(35,27,22,.08); border-radius: 999px; padding: 2px 8px; }
.buscador-localidad__chip[aria-pressed="true"] .buscador-localidad__cantidad { background: rgba(255,255,255,.25); }
.buscador-localidad__estado { margin: 16px 0 0; font-size: 15px; color: var(--tinta-suave); }
.buscador-localidad__select { display: none; }
@media (max-width: 860px) {
	.buscador-localidad { padding: 20px; }
	.buscador-localidad__titulo { font-size: 20px; }
	.buscador-localidad__select { display: block; width: 100%; }
	.buscador-localidad__chips { display: none; }
}
