/*
Theme Name:   GetJobnify (GeneratePress child)
Theme URI:    https://getjobnify.com/
Description:  Tema hijo de GeneratePress para GetJobnify: fuentes del sistema, paleta sobria con un acento azul, tarjetas con aire y botones Apply destacados. Sin Google Fonts ni Font Awesome.
Author:       GetJobnify
Template:     generatepress
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  generatepress-child
*/

/* ---------- Tokens ---------- */
:root {
	--gj-text: #1f2933;
	--gj-muted: #52606d;
	--gj-border: #e1e6ec;
	--gj-bg: #f4f6f9;
	--gj-surface: #ffffff;
	--gj-accent: #0b57d0;
	--gj-accent-dark: #0842a0;
	--gj-accent-soft: #e8f0fe;
	--gj-footer: #102a43;
	--gj-radius: 12px;
	--gj-shadow: 0 1px 2px rgba(16, 42, 67, .06), 0 4px 16px rgba(16, 42, 67, .06);
	--gj-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}

/* ---------- Base ---------- */
html { -webkit-text-size-adjust: 100%; }
body {
	font-family: var(--gj-font);
	font-size: 17px;
	line-height: 1.65;
	color: var(--gj-text);
	background-color: var(--gj-bg);
	overflow-wrap: break-word;
}
button, input, select, textarea { font-family: inherit; }
h1, h2, h3, h4, h5, h6 {
	font-family: var(--gj-font);
	color: var(--gj-text);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.01em;
}
h1 { font-size: 2.1rem; }
h2 { font-size: 1.45rem; margin-top: 1.6em; }
h3 { font-size: 1.2rem; }
a { color: var(--gj-accent); }
a:hover, a:focus { color: var(--gj-accent-dark); }
img, iframe, video, table { max-width: 100%; }
.entry-content table { display: block; overflow-x: auto; }
:focus-visible { outline: 3px solid var(--gj-accent); outline-offset: 2px; }

/* ---------- Header ---------- */
.site-header {
	background: var(--gj-surface);
	border-bottom: 1px solid var(--gj-border);
}
.inside-header { padding-top: 14px; padding-bottom: 14px; }
.site-logo img, .site-header .header-image { width: 40px; height: auto; }
.main-title { font-size: 1.45rem; font-weight: 800; letter-spacing: -0.02em; line-height: 1.2; margin: 0; }
.main-title a, .main-title a:hover { color: var(--gj-text); text-decoration: none; }
.site-description { color: var(--gj-muted); font-size: .85rem; }

/* Menú principal */
.main-navigation, .main-navigation ul ul { background: transparent; }
.main-navigation .main-nav ul li a {
	color: var(--gj-text);
	font-weight: 600;
	font-size: .95rem;
	padding-left: 14px;
	padding-right: 14px;
	line-height: 48px;
}
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li:focus > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
	color: var(--gj-accent);
	background: transparent;
}
.main-navigation .menu-toggle {
	color: var(--gj-text);
	font-weight: 600;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid var(--gj-border);
	border-radius: 8px;
	background: var(--gj-surface);
}
.main-navigation .menu-toggle:hover, .main-navigation .menu-toggle:focus { color: var(--gj-accent); background: var(--gj-accent-soft); }
.main-navigation.toggled .main-nav > ul { background: var(--gj-surface); border-top: 1px solid var(--gj-border); }
.main-navigation.toggled .main-nav ul li a { line-height: 48px; border-bottom: 1px solid var(--gj-border); }

/* ---------- Contenido: tarjetas ---------- */
.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.separate-containers .paging-navigation,
.one-container .site-content,
.inside-page-header {
	background: var(--gj-surface);
	border: 1px solid var(--gj-border);
	border-radius: var(--gj-radius);
	box-shadow: var(--gj-shadow);
}
.separate-containers .site-main > *:not(:last-child),
.separate-containers .site-main > .page-header,
.separate-containers .inside-article { margin-bottom: 24px; }
.separate-containers .inside-article { padding: 36px 40px; }
.entry-title { font-size: 2rem; margin-top: 0; margin-bottom: .35em; }
.entry-title a { color: var(--gj-text); text-decoration: none; }
.entry-title a:hover { color: var(--gj-accent); }
.entry-meta, .entry-meta a { color: var(--gj-muted); font-size: .88rem; }
.entry-meta a:hover { color: var(--gj-accent); }
.entry-content > *:first-child { margin-top: 0; }
.entry-content ul, .entry-content ol { margin-left: 1.3em; }
.entry-content li { margin-bottom: .35em; }

/* Listados (portada de blog, categorías, búsqueda): tarjetas compactas */
.blog .inside-article, .archive .inside-article, .search .inside-article { padding: 26px 30px; transition: box-shadow .2s, border-color .2s; }
.blog .inside-article:hover, .archive .inside-article:hover, .search .inside-article:hover { border-color: #c9d3df; box-shadow: 0 6px 24px rgba(16, 42, 67, .10); }
.blog .entry-title, .archive .entry-title, .search .entry-title { font-size: 1.3rem; }
.blog .entry-summary, .archive .entry-summary, .search .entry-summary { color: var(--gj-muted); }
.read-more-container { margin-top: .8em; }
.blog .post-image, .archive .post-image, .search .post-image { margin: .4em 0 1em; }
.blog .post-image img, .archive .post-image img, .search .post-image img {
	display: block; width: 100%; height: 200px; object-fit: cover; border-radius: 8px;
}
.blog footer.entry-meta, .archive footer.entry-meta, .search footer.entry-meta { margin-top: 1em; padding-top: .8em; border-top: 1px solid var(--gj-border); }
.page-header h1, .page-title { font-size: 1.8rem; margin-bottom: 0; }
.taxonomy-description { color: var(--gj-muted); margin-top: .6em; }

/* ---------- Botones ---------- */
button, html input[type="button"], input[type="reset"], input[type="submit"],
a.button, .wp-block-button__link, .read-more {
	border-radius: 8px;
}
button, html input[type="button"], input[type="reset"], input[type="submit"], a.button, .wp-block-button__link:not(.has-background) {
	background: var(--gj-accent);
	color: #fff;
	font-weight: 600;
}
button:hover, input[type="submit"]:hover, a.button:hover, .wp-block-button__link:not(.has-background):hover { background: var(--gj-accent-dark); color: #fff; }

/* Botón "Apply" de las ofertas (estilo en línea antiguo: se sobrescribe con más especificidad) */
.entry-content .button-container { text-align: center; padding: 8px 0 20px; }
.entry-content .button-container a.apply-button,
.entry-content a.apply-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4em;
	width: 100%;
	max-width: 460px;
	min-height: 56px;
	margin: 6px 0;
	padding: 14px 28px;
	background: var(--gj-accent);
	color: #fff !important;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .01em;
	text-decoration: none;
	border-radius: 10px;
	box-shadow: 0 6px 18px rgba(11, 87, 208, .28);
	transition: background-color .2s, transform .15s, box-shadow .2s;
}
.entry-content .button-container a.apply-button:hover,
.entry-content .button-container a.apply-button:focus,
.entry-content a.apply-button:hover {
	background: var(--gj-accent-dark);
	transform: translateY(-1px);
	box-shadow: 0 8px 22px rgba(8, 66, 160, .32);
}

/* Botones del contenido con #007bff en línea (3,98:1 con blanco): acento AA (6,6:1) */
.entry-content a.job-link,
.entry-content [style*="background-color: #007bff"],
.entry-content [style*="background-color:#007bff"],
.entry-content [style*="background-color: rgb(0, 123, 255)"] {
	background-color: var(--gj-accent) !important;
}
.entry-content a.job-link:hover, .entry-content a.job-link:focus,
.entry-content button[style*="background-color: #007bff"]:hover { background-color: var(--gj-accent-dark) !important; }

/* Compartir (Machete) */
.entry-content .mct-social-share ul { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; list-style: none; }
.entry-content .mct-social-share ul li { flex: 1 1 120px; margin: 0; }
.entry-content .mct-social-share ul li a {
	display: block; padding: 10px 12px; text-align: center; border-radius: 8px;
	background: var(--gj-accent-soft); color: var(--gj-accent-dark); font-weight: 600; text-decoration: none;
}
.entry-content .mct-social-share ul li a:hover { background: var(--gj-accent); color: #fff; }

/* ---------- Barra lateral ---------- */
.sidebar .widget, .widget-area .widget {
	background: var(--gj-surface);
	border: 1px solid var(--gj-border);
	border-radius: var(--gj-radius);
	box-shadow: var(--gj-shadow);
	padding: 24px;
}
.sidebar .job-widget { max-width: none; box-shadow: none; background: transparent; padding: 0; font-family: var(--gj-font); }
.sidebar .job-widget-header { border-bottom-color: var(--gj-accent); }
.sidebar .job-widget .job-item { color: var(--gj-text); border-color: var(--gj-border); }
.sidebar .job-widget .job-item:hover { color: var(--gj-accent); border-color: #c9d3df; background: var(--gj-accent-soft); }
.sidebar .job-widget .job-item div { font-size: .92rem; }
.sidebar .job-view-more a { box-sizing: border-box; background: var(--gj-accent); font-size: .95rem; }
.sidebar .job-view-more a:hover { background: var(--gj-accent-dark); transform: none; }

/* ---------- Páginas de Elementor ---------- */
body[class*="elementor-kit-"] {
	--e-global-typography-primary-font-family: var(--gj-font);
	--e-global-typography-secondary-font-family: var(--gj-font);
	--e-global-typography-text-font-family: var(--gj-font);
	--e-global-typography-accent-font-family: var(--gj-font);
}
.elementor-page .site-content { padding: 0; }
.elementor-page .elementor-heading-title { font-family: var(--gj-font); }

/* Contenido heredado de Elementor con márgenes negativos/anchos fijos: sin desbordar en móvil y tableta */
@media (max-width: 1024px) {
	.elementor-page .elementor-widget-container[style*="margin"],
	.elementor-page .elementor-element-47e9105 > .elementor-widget-container { margin-left: 0 !important; margin-right: 0 !important; }
	.elementor-page .elementor-widget-html a.custom-button { box-sizing: border-box; max-width: 100%; white-space: normal; padding-left: 24px; padding-right: 24px; animation: none; }
}

/* ---------- Pie ---------- */
.site-footer, .footer-widgets, .site-info { background: var(--gj-footer); color: #d9e2ec; }
.footer-widgets { border-top: 4px solid var(--gj-accent); }
.footer-widgets .widget { background: transparent; border: 0; box-shadow: none; padding: 0; }
.footer-widgets .widget-title { color: #fff; font-size: 1rem; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 14px; }
.footer-widgets a, .site-info a { color: #d9e2ec; }
.footer-widgets a:hover, .site-info a:hover { color: #fff; }
.footer-widgets .menu { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0; list-style: none; }
.footer-widgets .menu li { margin: 0; padding: 0; }
.footer-widgets .menu a { display: inline-block; padding: 6px 0; text-decoration: none; }
.footer-widgets .menu a:hover { text-decoration: underline; }
.site-info { border-top: 1px solid rgba(255, 255, 255, .12); font-size: .88rem; }
.site-info .inside-site-info { justify-content: center; text-align: center; }

/* ---------- Móvil ---------- */
@media (max-width: 768px) {
	body { font-size: 17px; }
	h1, .entry-title { font-size: 1.65rem; }
	h2 { font-size: 1.3rem; }
	.separate-containers .inside-article,
	.blog .inside-article, .archive .inside-article, .search .inside-article { padding: 22px 18px; }
	body.separate-containers #main, body.separate-containers #right-sidebar .inside-right-sidebar { margin-left: 12px; margin-right: 12px; }
	.inside-header { padding-left: 16px; padding-right: 16px; }
	.main-title { font-size: 1.25rem; }
	.blog .post-image img, .archive .post-image img, .search .post-image img { height: 150px; }
	.entry-content .button-container a.apply-button, .entry-content a.apply-button { max-width: none; }
	.sidebar .widget, .widget-area .widget { padding: 18px; }
	.footer-widgets .menu { flex-direction: column; gap: 0; }
	.footer-widgets .menu a { padding: 10px 0; }
}

/* Caja "See also" (Inline Related Posts): blanco sobre #1F6B9E = 5,7:1 (antes 4,3:1 con #2980B9). */
a:has(> div > .ctaText) { background-color: #1f6b9e !important; }

/* Página 404 */
.gj-404 { padding: 40px; }
.gj-404-main, .gj-404-companies a { display: inline-block; background: #1f6b9e; color: #fff !important; padding: 12px 20px; border-radius: 6px; text-decoration: none; margin: 0 8px 8px 0; }
.gj-404-main:hover, .gj-404-companies a:hover { background: #16527a; }
