@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

/* =====================================================
   DESIGN SYSTEM
   Shared by every page on the site (all pages link this
   file). Variables + base element styling live here so
   visual changes apply site-wide without editing PHP.
   ===================================================== */
:root{
	--color-primary:#4f46e5;
	--color-primary-dark:#4338ca;
	--color-primary-light:#eef2ff;
	--color-navy:#1e293b;
	--color-navy-light:#f1f5f9;
	--color-accent:#f59e0b;
	--color-accent-dark:#d97706;
	--color-accent-light:#fffbeb;
	--color-danger:#dc2626;
	--color-danger-light:#fef2f2;
	--color-text:#111827;
	--color-text-muted:#6b7280;
	--color-border:#e5e7eb;
	--color-bg:#ffffff;
	--color-surface:#ffffff;
	--radius:10px;
	--radius-sm:8px;
	--shadow-sm:0 1px 2px rgba(17,24,39,.05), 0 1px 3px rgba(17,24,39,.08);
	--shadow-md:0 8px 20px rgba(17,24,39,.10);
	--font-sans:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Calibri,Arial,sans-serif;
}

html,body{font-family:var(--font-sans);background-color:var(--color-bg);background:var(--color-bg);color:var(--color-text);font-size:16px;line-height:1.5}
html{overflow-x:hidden}
h1{font-size:34px}h2{font-size:26px}h3{font-size:21px}h4{font-size:18px}h5{font-size:16px}h6{font-size:14px}.w3-serif{font-family:serif}
h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:700;letter-spacing:-.01em;margin:10px 0}
hr{border:0;border-top:1px solid var(--color-border);margin:20px 0}
a{color:var(--color-primary)}
a:hover{color:var(--color-primary-dark)}

::selection{background:var(--color-primary-light);color:var(--color-primary-dark)}

*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}

/* -----------------------------------------------------
   Buttons � every raw <input type=submit/button/reset>
   and <button> across the site picks this up automatically.
   ----------------------------------------------------- */
input[type="submit"],
input[type="button"],
input[type="reset"],
button{
	font-family:var(--font-sans);
	font-size:15px;
	font-weight:600;
	color:#fff;
	background-color:var(--color-primary);
	border:1px solid var(--color-primary);
	border-radius:var(--radius-sm);
	padding:9px 18px;
	cursor:pointer;
	transition:background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .05s ease;
	box-shadow:var(--shadow-sm);
}
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
button:hover{
	background-color:var(--color-primary-dark);
	border-color:var(--color-primary-dark);
}
input[type="submit"]:active,
input[type="button"]:active,
input[type="reset"]:active,
button:active{
	transform:translateY(1px);
	box-shadow:none;
}
input[type="reset"]{
	background-color:var(--color-surface);
	color:var(--color-text-muted);
	border-color:var(--color-border);
}
input[type="reset"]:hover{
	background-color:#f0f2f1;
	color:var(--color-text);
	border-color:var(--color-border);
}

/* w3.css buttons keep their own colour modifiers (w3-black, w3-red, ...)
   � just make them feel modern and consistent */
.w3-button{
	border-radius:var(--radius-sm);
	transition:background-color .15s ease, opacity .15s ease, box-shadow .15s ease;
}
.w3-bar .w3-button, .w3-bar-item.w3-button{
	border-radius:var(--radius-sm);
}

.w3-tag{
	border-radius:999px;
	font-weight:600;
	letter-spacing:.2px;
	padding:6px 14px;
	transition:opacity .15s ease, box-shadow .15s ease;
}
.w3-tag:hover{opacity:.9;box-shadow:var(--shadow-sm)}

/* -----------------------------------------------------
   Form fields
   ----------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="date"],
input[type="search"],
select,
textarea{
	font-family:var(--font-sans);
	font-size:15px;
	color:var(--color-text);
	background-color:var(--color-surface);
	border:1px solid var(--color-border);
	border-radius:var(--radius-sm);
	padding:8px 10px;
	transition:border-color .15s ease, box-shadow .15s ease;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="date"]:focus,
input[type="search"]:focus,
select:focus,
textarea:focus{
	outline:none;
	border-color:var(--color-primary);
	box-shadow:0 0 0 3px var(--color-primary-light);
}
label{font-weight:600;color:var(--color-text)}
input[type="checkbox"],input[type="radio"]{
	accent-color:var(--color-primary);
	width:15px;height:15px;
	vertical-align:middle;
	margin-right:4px;
}

/* -----------------------------------------------------
   Header / top bar
   ----------------------------------------------------- */
#cabecera {
	font-family:var(--font-sans);
	font-size:28px;
	height:90%;
	margin-top:0px;
	min-width:100%;
	margin-left: 0px;
	background-color: var(--color-surface);
	left:0px;
	border-bottom:1px solid var(--color-border);
	box-shadow:var(--shadow-sm);
}
.fijado2{
top:0;
left:0;
z-index:99;
	background-color: var(--color-surface);
}
#menu1 {
	background-color:var(--color-surface);
	top:0;
	font-family: var(--font-sans);
	font-size:15px;
	width: 100%;
	padding:6px 0;
	}
#menu2 {
	top:0;
	right:0;
	font-family: var(--font-sans);
	font-size:18px;
	width: 15%;
	}

#sidenav2 a {
	font-family:var(--font-sans);
	text-decoration:none;
	display:block;
	padding:6px 1px 6px 16px;
	border-radius:var(--radius-sm);
}
#sidenav2 a:hover,#sidenav2 a:focus {
	color:#000000;
	background-color:#eef2f0;
}
.fondo {background-color:var(--color-surface);}

.w3-sidebar {
    height: 100%;
    width: 220px;
    background-color: var(--color-surface);
    position: fixed!important;
    z-index: 1;
    overflow: auto;
    border-right:1px solid var(--color-border);
}
@media (max-width:992px){.w3-sidebar.w3-collapse{display:none}.w3-main{margin-left:0!important;margin-right:0!important}}

#leftmenuinner {
position:fixed;
top:100px;
padding-top:0px;
padding-bottom:0;
height:100%;
width:200px;
background-color:transparent;
}
#leftmenuinnerinner {
height:100%;
width:100%;
overflow-y:scroll;
overflow-x:hidden;
padding-top:20px;
}
.w3-light-grey,.w3-hover-light-grey:hover,.w3-light-gray,.w3-hover-light-gray:hover{color:#000!important;background-color:#f1f1f1!important}

/* Sidebar filter panel (id="mySidebar" on index.php) */
.w3-sidebar h2{font-size:16px;margin:16px 0 8px;line-height:1.3}
.w3-sidebar strong{font-size:14px;letter-spacing:.4px;color:var(--color-text-muted);text-transform:uppercase}
.w3-sidebar label,.w3-sidebar{font-size:15px}

#title {
	    font-family: var(--font-sans);
			font-size:30px;
	}
#abuelo {
	background: var(--color-surface);
	position: relative;
	height:100%;
	width:100%;
}
#padre {
	position: relative;
	font-family:var(--font-sans);
	font-size:16px;
	height:90%;
	background: var(--color-surface);
	width:60%;
	margin-left: auto;
    margin-right: auto;
}
#father {
	position: relative;
	font-family:var(--font-sans);
	font-size:16px;
	height:90%;
	background: var(--color-surface);
	width:50%;
	margin-left: auto;
    margin-right: auto;
}
#hijo {
	position: relative;
    width:80%;
    margin-left: auto;
    margin-right: auto;
}
.sangria5 {
	padding-left: 5px;
}
.arribadch {
	font-family: var(--font-sans);
	font-size:16px;
	font-weight: bold;
	float: right;
}
.cuadro-input{padding:8px;display:block;border:none;border-bottom:1px solid var(--color-border);width:70%;background:transparent}
.cuadro-border{border:1px solid var(--color-border);border-radius:var(--radius-sm)}


* {
    box-sizing: border-box;
}

/* Create two equal columns that floats next to each other */
.columna {
    float: left;
    width: 50%;
    padding: 10px;
	height: 900px;
}

/* Clear floats after the columns */
.rowa:after {
    content: "";
    display: table;
    clear: both;
}

.menunormal {
	font-family: var(--font-sans);
	font-size:24px;
	font-weight: bold;
}
.menuvolver {
	font-family: var(--font-sans);
	font-size:20px;
	font-weight: bold;
	color: var(--color-text);
}
.menudatos {
	font-family: var(--font-sans);
	font-size:20px;
	font-weight: bold;
	color: var(--color-primary);
}

.menucillo{border-radius:var(--radius-sm);padding:2px 6px}
.menucillo:hover {
	text-decoration: underline;
	cursor: pointer;
	background:var(--color-primary-light);
}

/* -----------------------------------------------------
   Job / listing cards � targets the existing `.cambiar`
   wrapper used to render every offer on index.php.
   ----------------------------------------------------- */
.cambiar{
	background:var(--color-surface);
	border:1px solid var(--color-border);
	border-left:3px solid transparent;
	border-radius:var(--radius);
	padding:16px 20px;
	margin-bottom:14px;
	box-shadow:var(--shadow-sm);
	transition:box-shadow .15s ease, transform .1s ease, border-color .15s ease;
}
.cambiar:hover{
	box-shadow:var(--shadow-md);
	transform:translateY(-2px);
	border-color:var(--color-border);
	border-left-color:var(--color-primary);
}
.cambiar hr{margin:12px 0 0;display:none}

.job-title{color:var(--color-navy);font-size:17px;letter-spacing:-.005em}
.cambiar:hover .job-title{color:var(--color-primary)}
.job-badge{
	display:inline-block;
	font-size:12px;
	font-weight:700;
	letter-spacing:.02em;
	padding:2px 10px;
	border-radius:999px;
}
.job-badge-new{background:var(--color-accent-light);color:var(--color-accent-dark)}
.job-badge-age{background:var(--color-navy-light);color:var(--color-text-muted);font-weight:500}

.site-alert-error{
	background:var(--color-danger-light);
	color:var(--color-danger);
	border:1px solid #fca5a5;
	border-radius:var(--radius-sm);
	padding:10px 14px;
	font-weight:600;
	margin:10px 0;
	display:inline-block;
}

.field-error{
	background:var(--color-danger-light)!important;
	border:1px solid var(--color-danger)!important;
	color:var(--color-danger)!important;
}
.field-error::placeholder{
	color:var(--color-danger);
	opacity:0.7;
}

.button {
  background-color: var(--color-primary);
  border: none;
  border-radius: var(--radius-sm);
  color: white;
  padding: 8px 16px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 15px;
  font-weight:600;
  margin: 2px 2px;
  transition: background-color .15s ease, box-shadow .15s ease, transform .05s ease;
  cursor: pointer;
  box-shadow:var(--shadow-sm);
}
.button:hover{
	background-color: var(--color-primary-dark);
}
.button:active{transform:translateY(1px)}

.button2:hover {
  border-radius: var(--radius-sm);
  background-color: var(--color-primary-light);
  color: var(--color-primary-dark);
  border: 2px solid var(--color-primary);
}

.button2 {
	border-radius: var(--radius-sm);
  background-color: var(--color-primary);
  color: white;
}
.button4 {border-radius: var(--radius-sm);}
.button3 {border-radius: 8px;}

/* -----------------------------------------------------
   Site header (index.php) � logo, session/login, employer CTA
   ----------------------------------------------------- */
.site-header{
	background:var(--color-surface);
	border-bottom:1px solid var(--color-border);
	padding:14px 24px;
}
.site-header-row{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:16px 24px;
}
.site-logo{display:inline-flex;flex:0 0 auto}
.site-logo img{display:block;height:auto}
.site-tagline{
	width:100%;
	margin:2px 0 0;
	font-size:13px;
	font-weight:400;
	line-height:1.4;
	color:var(--color-text-muted);
}

.site-session{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:6px 16px;
	font-size:15px;
	color:var(--color-text);
	margin-right:auto;
}
.site-logout{
	color:var(--color-text-muted);
	text-decoration:underline;
}

.site-login-form{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:8px;
	margin-right:auto;
}
.site-login-field{
	display:flex;
	align-items:center;
	gap:6px;
	flex:0 0 auto;
}
.company-login-field{
	display:flex;
	align-items:center;
	gap:10px;
	margin-bottom:14px;
	clear:both;
}
.company-login-field label{
	flex:0 0 100px;
	font-weight:600;
	color:var(--color-text);
	white-space:nowrap;
}
.company-login-field input[type="text"],
.company-login-field input[type="password"]{
	flex:1 1 auto;
	min-width:0;
	max-width:260px;
	padding:7px 10px;
}
.site-login-form label{
	font-weight:600;
	font-size:14px;
	color:var(--color-text-muted);
	white-space:nowrap;
}
.site-login-form input[type="text"],
.site-login-form input[type="password"]{
	padding:7px 10px;
	width:170px;
}
.site-login-form input[type="submit"]{
	padding:8px 16px;
}

.site-employer-btn{
	display:inline-block;
	flex:0 0 auto;
	padding:9px 16px;
	border:1.5px solid var(--color-navy);
	border-radius:var(--radius-sm);
	color:var(--color-navy);
	font-weight:600;
	font-size:14px;
	text-decoration:none;
	white-space:nowrap;
	transition:background-color .15s ease,color .15s ease;
}
.site-employer-btn:hover{
	background:var(--color-navy);
	color:#fff;
}

.site-header-links{
	margin-top:10px;
	padding-left:2px;
	font-size:14px;
	display:flex;
	gap:20px;
}
.site-header-links a{color:var(--color-text-muted);text-decoration:underline}
.site-header-links .site-register-link{
	color:var(--color-primary);
	font-weight:600;
	text-decoration:none;
}
.site-header-links .site-register-link:hover{text-decoration:underline}

/* -----------------------------------------------------
   Site body layout � sidebar + main content, side by side.
   Sidebar is `position:sticky`, so by construction it can
   never overlap the header above it (unlike the old
   fixed + hardcoded top:200px sidebar it replaces).
   ----------------------------------------------------- */
.site-body{
	display:flex;
	align-items:flex-start;
}
.site-sidebar{
	flex:0 0 280px;
	width:280px;
	max-width:280px;
	position:sticky;
	top:0;
	max-height:100vh;
	overflow-y:auto;
	background:var(--color-surface);
	border-right:1px solid var(--color-border);
	box-sizing:border-box;
}
.site-sidebar-inner{
	background:var(--color-navy-light);
	padding:16px 18px 32px;
	min-height:100%;
	box-sizing:border-box;
}
.site-sidebar-link{text-decoration:none;color:var(--color-primary)}
.site-sidebar-link:hover{text-decoration:underline;color:var(--color-primary-dark)}
.site-sidebar-link-accent{color:var(--color-accent)}
.site-sidebar-link-accent:hover{color:var(--color-accent-dark)}
.site-sidebar h2{font-size:15px;margin:16px 0 8px;line-height:1.3}
.site-sidebar strong{font-size:13px;letter-spacing:.4px;color:var(--color-text-muted);text-transform:uppercase}
.site-sidebar label{font-size:15px;font-weight:400}

.site-sidebar-panel{position:relative;padding-top:2px}
.site-sidebar-close{position:absolute;top:-2px;right:-4px;font-size:18px!important;padding:6px!important}
.site-sidebar-title{
	margin:0 0 16px;
	padding-bottom:10px;
	border-bottom:2px solid var(--color-primary);
	font-size:14px;
	font-weight:700;
	letter-spacing:.6px;
	text-transform:uppercase;
	color:var(--color-text);
}
.site-filter-actions{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}
.site-filter-actions input[type="submit"],
.site-filter-actions input[type="reset"]{
	flex:0 0 auto;
	padding:4px 10px;
	font-size:12px;
	font-weight:500;
	border-radius:6px;
	box-shadow:none;
	white-space:nowrap;
	text-align:center;
}

.site-main{
	flex:1 1 auto;
	min-width:0;
	padding:20px 24px;
}
.site-order-bar{border-bottom:2px solid var(--color-primary)!important}

@media (max-width:992px){
	.site-sidebar{display:none;position:fixed;top:0;left:0;height:100%;max-height:none;z-index:3;box-shadow:var(--shadow-md)}
	.site-body{display:block}
	.site-main{padding:16px}
}
@media (max-width:600px){
	.site-header{padding:12px 16px}
	.site-login-form input[type="text"],
	.site-login-form input[type="password"]{width:140px}
}

/* -----------------------------------------------------
   Footer
   ----------------------------------------------------- */
footer h3{font-size:16px;letter-spacing:.4px}
footer a{color:#fff;text-decoration:none}
footer a:hover{text-decoration:underline}

/* -----------------------------------------------------
   Small screens
   ----------------------------------------------------- */
@media (max-width:600px){
	#padre,#father{width:94%}
	.w3-sidebar{width:85%!important}
}

/* -----------------------------------------------------
   Admin panel (admin/*.php)
   ----------------------------------------------------- */
.admin-shell{max-width:1100px;margin:0 auto;padding:0 20px 40px}
.admin-nav{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:18px;
	padding:14px 18px;
	margin-bottom:24px;
	background:var(--color-navy);
	border-radius:var(--radius);
}
.admin-nav-link{color:#fff;text-decoration:none;font-weight:600;font-size:14px}
.admin-nav-link:hover{color:var(--color-accent-light);text-decoration:underline}
.admin-nav-spacer{flex:1 1 auto}
.admin-nav-user{color:#cbd5e1;font-size:13px}

.admin-dash-grid{display:flex;flex-wrap:wrap;gap:16px}
.admin-dash-card{
	flex:1 1 160px;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:6px;
	padding:28px 16px;
	background:var(--color-surface);
	border:1px solid var(--color-border);
	border-radius:var(--radius);
	box-shadow:var(--shadow-sm);
	text-decoration:none;
	transition:box-shadow .15s ease, transform .1s ease;
}
.admin-dash-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.admin-dash-count{font-size:36px;font-weight:800;color:var(--color-primary)}
.admin-dash-label{font-size:14px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--color-text-muted)}

.admin-table-wrap{overflow-x:auto}
.admin-table-wrap table{font-size:14px}
.admin-row-actions{display:flex;gap:6px;flex-wrap:wrap}
.admin-row-actions input[type="submit"]{padding:5px 10px;font-size:12px;box-shadow:none}
.admin-btn-secondary{background:var(--color-surface)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}
.admin-btn-secondary:hover{background:var(--color-navy-light)!important}
.admin-btn-danger{background:var(--color-danger)!important;border-color:var(--color-danger)!important}
.admin-btn-danger:hover{background:#b91c1c!important;border-color:#b91c1c!important}
.admin-btn-edit{
	display:inline-flex;
	align-items:center;
	padding:5px 10px;
	font-size:12px;
	font-weight:600;
	color:var(--color-primary);
	background:var(--color-primary-light);
	border:1px solid var(--color-primary-light);
	border-radius:6px;
	text-decoration:none;
}
.admin-btn-edit:hover{background:#e0e7ff;color:var(--color-primary-dark);text-decoration:none}

.admin-login-form{max-width:320px;margin:40px auto;padding:28px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.admin-login-form label{display:block;font-size:13px;font-weight:600;color:var(--color-text-muted);margin-bottom:4px}
.admin-login-form input[type="text"],
.admin-login-form input[type="password"]{width:100%}
.admin-login-form input[type="submit"]{width:100%;margin-top:4px}

/* -----------------------------------------------------
   Admin edit forms (usuario_editar.php, empresa_editar.php,
   oferta_editar.php)
   ----------------------------------------------------- */
.admin-edit-form{max-width:640px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:24px}
.admin-field{margin-bottom:16px}
.admin-field label{display:block;font-size:13px;font-weight:600;color:var(--color-text-muted);margin-bottom:4px}
.admin-field input[type="text"],
.admin-field input[type="password"],
.admin-field select,
.admin-field textarea{width:100%;font-family:var(--font-sans)}
.admin-field textarea{resize:vertical;min-height:80px;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent}
.admin-field-hint{font-size:12px;color:var(--color-text-muted);margin-top:4px}
.admin-field-row{display:flex;gap:16px;flex-wrap:wrap}
.admin-field-row .admin-field{flex:1 1 200px}
.admin-form-actions{margin-top:20px;display:flex;gap:10px;align-items:center}
.admin-back-link{display:inline-block;margin-bottom:16px;font-size:13px;color:var(--color-text-muted);text-decoration:none}
.admin-back-link:hover{color:var(--color-primary)}

/* -----------------------------------------------------
   Company session bar ("Sesi�n de ... / Salir" strip
   shown at the top of every company/*.php page once
   logged in).
   ----------------------------------------------------- */
.company-session-bar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:10px;
	padding:10px 20px;
	margin-bottom:16px;
	background:var(--color-navy);
	font-family:var(--font-sans);
}
.company-session-user{color:#cbd5e1;font-size:13px}
.company-session-user strong{color:#fff;font-weight:600}
.company-session-logout{
	color:#fff;
	background:rgba(255,255,255,.12);
	padding:6px 16px;
	border-radius:var(--radius-sm);
	text-decoration:none;
	font-weight:600;
	font-size:13px;
	letter-spacing:.3px;
	transition:background-color .15s ease;
}
.company-session-logout:hover{background:rgba(255,255,255,.24);color:#fff;text-decoration:none}

/* -----------------------------------------------------
   Candidate session bar ("Sesi�n de ... / Mis Ofertas /
   Mis Datos / Buscar Ofertas / Salir" strip shown at the
   top of misofertas.php, perfiluser.php, verdetalles.php).
   ----------------------------------------------------- */
.candidate-session-bar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:10px 16px;
	padding:10px 20px;
	margin-bottom:16px;
	background:var(--color-navy);
	font-family:var(--font-sans);
}
.candidate-session-user{color:#cbd5e1;font-size:13px}
.candidate-session-user strong{color:#fff;font-weight:600}
.candidate-session-links{display:flex;flex-wrap:wrap;gap:4px 18px}
.candidate-session-links a{
	color:#cbd5e1;
	text-decoration:none;
	font-size:13px;
	font-weight:500;
	cursor:pointer;
}
.candidate-session-links a:hover{color:#fff;text-decoration:underline}
.candidate-session-logout{
	color:#fff;
	background:rgba(255,255,255,.12);
	padding:6px 16px;
	border-radius:var(--radius-sm);
	text-decoration:none;
	font-weight:600;
	font-size:13px;
	letter-spacing:.3px;
	transition:background-color .15s ease;
}
.candidate-session-logout:hover{background:rgba(255,255,255,.24);color:#fff;text-decoration:none}


.admin-view-heading{margin:24px 0 10px;padding-top:16px;border-top:1px solid var(--color-border);font-size:15px;font-weight:700;color:var(--color-text)}
.admin-view-value{font-size:14px;color:var(--color-text);word-break:break-word}
.admin-photo-preview{margin-bottom:8px}
.admin-photo-preview img{max-width:160px;max-height:160px;border-radius:var(--radius-sm);border:1px solid var(--color-border);object-fit:cover}

.cambiar-empresa{background-color:var(--color-primary-light);border:2px solid var(--color-primary)}
.cambiar-empresa:hover{border-color:var(--color-primary-dark)}
a.job-title{text-decoration:none;color:inherit;cursor:pointer}
.job-badge-empresa{background:var(--color-primary);color:#fff}

/* -----------------------------------------------------
   Site footer - dark, minimal, shared across every page
   via footer.php (site-wide include, root-relative links).
   ----------------------------------------------------- */
.site-footer{background:var(--color-navy);color:#cbd5e1;margin-top:40px}
.site-footer-inner{max-width:1600px;margin:0 auto;padding:40px 24px 28px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px 24px}
.site-footer-title{color:#fff;font-size:18px;margin:0 0 10px}
.site-footer-tagline{font-size:14px;line-height:1.6;color:#94a3b8;margin:0 0 16px;max-width:320px}
.site-footer-social{display:inline-flex;align-items:center;gap:8px;color:#e2e8f0;text-decoration:none;font-size:14px;font-weight:600}
.site-footer-social svg{color:var(--color-accent);flex:0 0 auto}
.site-footer-social:hover{color:#fff;text-decoration:none}
.site-footer-col h4{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 14px;font-weight:700}
.site-footer-col ul{list-style:none;margin:0;padding:0}
.site-footer-col li{margin:0 0 10px;font-size:14px}
.site-footer-col a{color:#cbd5e1;text-decoration:none}
.site-footer-col a:hover{color:#fff;text-decoration:underline}
.site-footer-bottom{border-top:1px solid rgba(255,255,255,.08)}
.site-footer-bottom span{display:block;max-width:1600px;margin:0 auto;padding:16px 24px;font-size:13px;color:#94a3b8;text-align:center}
@media (max-width:768px){.site-footer-inner{grid-template-columns:1fr 1fr;gap:24px 20px}.site-footer-tagline{max-width:none}}
@media (max-width:480px){.site-footer-inner{grid-template-columns:1fr}}
