/* Página independiente de ofertas v2.1.4. No altera la portada ni sus estilos. */
.offers-hero{background:linear-gradient(112deg,#061e35,#103959);color:#fff;padding:76px 0 78px}
.offers-hero .eyebrow{color:#b9d6ed}
.offers-hero h1{font-size:clamp(2.5rem,5.5vw,4.3rem);line-height:1.15;margin:14px 0 20px;color:#fff}
.offers-hero p{font-size:1.1rem;color:#cfdeeb;max-width:730px;line-height:1.8;margin:0}
.offers-page-section{min-height:55vh}
.offers-search-box{padding:27px 30px;border:1px solid #dce7ef;background:#f5f9fd;border-radius:17px;margin-bottom:27px}
.offers-search-box label{display:block;font-size:1.05rem;font-weight:800;color:#163b5a;margin-bottom:13px}
.offers-search-row{display:flex;align-items:center;gap:14px}
.offers-search-field{display:flex;align-items:center;gap:13px;flex:1;border:1px solid #bdd3e2;border-radius:10px;background:white;padding:0 15px;color:#406580}
.offers-search-field:focus-within{outline:3px solid #fcd116;outline-offset:2px}
.offers-search-field input{background:transparent;border:0;outline:none;box-shadow:none;width:100%;padding:15px 0;min-height:54px;color:#152f47;font-size:1rem}
.offers-search-field input:focus-visible{outline:none}
.offers-search-field input::placeholder{color:#72879a}
.offers-clear{border:1px solid #9bbdd1;border-radius:10px;color:#154769;background:#fff;font-weight:750;padding:14px 17px;min-height:54px;cursor:pointer;white-space:nowrap}
.offers-clear:hover{background:#e9f3f9}
.offers-clear:focus-visible{outline:3px solid #fcd116;outline-offset:2px}
.offers-search-hint{margin:11px 0 0;font-size:.86rem;color:#59758d}
.offers-results-count{color:#426780;font-weight:720;margin:0 0 17px}
.offers-cv-link{margin-top:29px;color:#48687f}
.offers-cv-link a{font-weight:750;color:#0874ac;text-decoration:underline;text-underline-offset:3px}
.offers-page-section .job-card p{white-space:pre-line;overflow-wrap:anywhere}
.offers-page-section .job-card .job-requirements{margin-top:15px;white-space:pre-wrap;overflow-wrap:anywhere}
.offers-page-section .jobs-empty{margin-top:4px}
html[data-theme="dark"] .offers-search-box{background:#112b42;border-color:#344e64}
html[data-theme="dark"] .offers-search-box label{color:#edf6ff}
html[data-theme="dark"] .offers-search-field{background:#0c2238;border-color:#58718b;color:#b6d5ed}
html[data-theme="dark"] .offers-search-field input{color:#e8f4fc}
html[data-theme="dark"] .offers-search-field input::placeholder{color:#a5bdcd}
html[data-theme="dark"] .offers-clear{background:#16354e;border-color:#52738a;color:#e2f1fb}
html[data-theme="dark"] .offers-clear:hover{background:#234660}
html[data-theme="dark"] .offers-search-hint,html[data-theme="dark"] .offers-results-count,html[data-theme="dark"] .offers-cv-link{color:#b1c8dd}
html[data-theme="dark"] .offers-cv-link a{color:#80c9f5}
@media(max-width:650px){.offers-hero{padding:53px 0 56px}.offers-search-box{padding:19px}.offers-search-row{flex-direction:column;align-items:stretch}.offers-clear{width:100%}.offers-search-hint{font-size:.8rem}}

/* v2.1.7 — la acción de candidatura va al pie de cada oferta, nunca en un lateral.
   Reglas limitadas a ofertas.html: no alteran la portada ni el panel de gestión. */
.offers-page-section .job-card{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:0;
}
.offers-page-section .job-card>div:first-child{min-width:0;width:100%}
.offers-page-section .job-card-actions{
  display:flex;
  justify-content:center;
  align-items:center;
  margin-top:30px;
  padding-top:26px;
  border-top:1px solid #dce7ef;
}
.offers-page-section .job-card-actions .button{
  flex:0 0 auto;
  min-width:205px;
  min-height:55px;
  padding:16px 34px;
  font-size:1rem;
  font-weight:800;
  box-shadow:0 7px 20px rgba(8,36,65,.13);
}
html[data-theme="dark"] .offers-page-section .job-card-actions{border-top-color:#3d5871}
@media(max-width:600px){
  .offers-page-section .job-card-actions{margin-top:24px;padding-top:22px}
  .offers-page-section .job-card-actions .button{width:100%;max-width:100%}
}


/* v2.1.8 — Encabezado de requisitos separado, con lista debajo y mejor contraste.
   Todo se limita a la pagina publica de ofertas; sin cambios en panel/portada. */
.offers-page-section .job-card .job-requirements-block{
  margin-top:22px;
}
.offers-page-section .job-card .job-requirements-title{
  display:block;
  margin:0 0 9px;
  font-size:1.02rem;
  font-weight:800;
  letter-spacing:0;
  line-height:1.45;
}
.offers-page-section .job-card .job-requirements-block .job-requirements{
  margin:0;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  font-size:1rem;
  line-height:1.72;
}
/* Tonos para modo claro: contraste legible sobre blanco, sin afectar el oscuro. */
html:not([data-theme="dark"]) .offers-page-section .job-card h3,
html:not([data-theme="dark"]) .offers-page-section .job-card .job-requirements-title{
  color:#14334d;
}
html:not([data-theme="dark"]) .offers-page-section .job-card p,
html:not([data-theme="dark"]) .offers-page-section .job-card .job-requirements,
html:not([data-theme="dark"]) .offers-page-section .job-card .job-client{
  color:#29465d;
}
html:not([data-theme="dark"]) .offers-page-section .job-card-meta span{
  color:#1f4764;
}
html:not([data-theme="dark"]) .offers-page-section .jobs-footnote,
html:not([data-theme="dark"]) .offers-page-section .offers-cv-link,
html:not([data-theme="dark"]) .offers-page-section .offers-results-count,
html:not([data-theme="dark"]) .offers-page-section .offers-search-hint{
  color:#36536b;
}
/* El modo oscuro retiene sus colores originales para el cuerpo de la oferta. */
html[data-theme="dark"] .offers-page-section .job-card .job-requirements-title{
  color:#e7f3ff;
}

/* v2.2.4 - Tarjetas compactas y detalle desplegable, accesible por teclado */
.offers-page-section .jobs-list{display:grid;gap:16px}
.offers-page-section .vacancy{margin:0;border:1px solid #d8e3ec;border-radius:15px;background:#fff;box-shadow:0 5px 24px rgba(6,32,53,.055);color:#1b334a;overflow:hidden}
.offers-page-section .vacancy-disclosure{margin:0}
.offers-page-section .vacancy-summary{list-style:none;display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:20px;align-items:start;padding:26px;cursor:pointer}
.offers-page-section .vacancy-summary::-webkit-details-marker{display:none}
.offers-page-section .vacancy-summary::marker{display:none}
.offers-page-section .vacancy-summary:hover{background:#f7fafc}
.offers-page-section .vacancy-summary:focus-visible{outline:3px solid #e2ac15;outline-offset:-4px}
.offers-page-section .vacancy-logo{width:84px;height:84px;display:grid;place-items:center;flex:none;border:1px solid #e2e8ee;border-radius:12px;background:#f5f8fa;padding:8px}
.offers-page-section .vacancy-logo img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
.offers-page-section .vacancy-main{min-width:0}
.offers-page-section .vacancy-title-line{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.offers-page-section .vacancy-title{font-size:clamp(1.13rem,1.45vw,1.36rem);line-height:1.3;margin:0;color:#173550;font-weight:800}
.offers-page-section .vacancy-company{margin:4px 0 11px;color:#17618f!important;font-size:.97rem;font-weight:750}
.offers-page-section .vacancy-meta,.offers-page-section .vacancy-conditions{display:flex;flex-wrap:wrap;gap:0;color:#47637a;font-size:.86rem;line-height:1.5}
.offers-page-section .vacancy-meta span+span::before,.offers-page-section .vacancy-conditions span+span::before{content:'│';padding:0 10px;color:#a2b4c3}
.offers-page-section .vacancy-excerpt{color:#33546c!important;font-size:.94rem;line-height:1.54;margin:13px 0 12px;white-space:normal!important;overflow-wrap:anywhere}
.offers-page-section .vacancy-conditions{color:#36556c;font-weight:610}
.offers-page-section .vacancy-open{color:#14628d;font-size:.86rem;font-weight:800;white-space:nowrap;align-self:center;display:flex;align-items:center;gap:7px}
.offers-page-section .vacancy-chevron{font-size:1.5rem;line-height:1;transition:transform .2s}
.offers-page-section .vacancy-disclosure[open] .vacancy-chevron{transform:rotate(180deg)}
.offers-page-section .vacancy-disclosure[open] .vacancy-summary{background:#f6fafc}
.offers-page-section .vacancy-label{display:inline-block;border-radius:5px;padding:3px 8px;color:#fff;font-size:.7rem;letter-spacing:.01em;font-weight:800}
.offers-page-section .vacancy-label.fresh{background:#196e36}
.offers-page-section .vacancy-label.featured{background:#22599a}
.offers-page-section .vacancy-label.urgent{background:#aa3d22}
.offers-page-section .vacancy-expanded{padding:23px 27px 29px 131px;border-top:1px solid #dce7ed}
.offers-page-section .vacancy-block{margin:0 0 20px}
.offers-page-section .vacancy-block h4{font-size:1rem;color:#143853;margin:0 0 10px;font-weight:800}
.offers-page-section .vacancy-block p{font-size:.94rem;color:#29465d!important;margin:0;line-height:1.75;overflow-wrap:anywhere}
.offers-page-section .vacancy-preserve{white-space:pre-wrap!important}
.offers-page-section .vacancy-apply{border-top:1px solid #dce7ed;margin-top:20px;padding-top:24px;display:flex;flex-direction:column;align-items:center;gap:13px}
.offers-page-section .vacancy-invite{font-size:1rem;font-weight:800;margin:0!important;color:#173550!important}
.offers-page-section .vacancy-apply .button{min-width:215px;text-align:center;padding:16px 30px}
.offers-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:15px;margin:26px 0 8px}
.offers-page-btn{padding:12px 18px;border-radius:9px;border:1px solid #b1c8da;background:#fff;color:#143e5e;font-weight:750;cursor:pointer}
.offers-page-btn:disabled{opacity:.45;cursor:default}
.offers-page-btn:not(:disabled):hover{background:#eaf3f9}
.offers-page-indicator{color:#345775;font-weight:720}
html[data-theme="dark"] .offers-page-section .vacancy{background:#132d46;border-color:#385872;color:#e5f0fa}
html[data-theme="dark"] .offers-page-section .vacancy-summary:hover,html[data-theme="dark"] .offers-page-section .vacancy-disclosure[open] .vacancy-summary{background:#1c3953}
html[data-theme="dark"] .offers-page-section .vacancy-logo{background:#f4f7fa;border-color:#5a7183}
html[data-theme="dark"] .offers-page-section .vacancy-title{color:#f3f8fc}
html[data-theme="dark"] .offers-page-section .vacancy-company{color:#8ed0ff!important}
html[data-theme="dark"] .offers-page-section .vacancy-meta,html[data-theme="dark"] .offers-page-section .vacancy-conditions,html[data-theme="dark"] .offers-page-section .vacancy-excerpt{color:#c4d8e7!important}
html[data-theme="dark"] .offers-page-section .vacancy-open{color:#a5d9f8}
html[data-theme="dark"] .offers-page-section .vacancy-expanded,html[data-theme="dark"] .offers-page-section .vacancy-apply{border-color:#3c5872}
html[data-theme="dark"] .offers-page-section .vacancy-block h4,html[data-theme="dark"] .offers-page-section .vacancy-invite{color:#f2f8fd!important}
html[data-theme="dark"] .offers-page-section .vacancy-block p{color:#d0dfec!important}
html[data-theme="dark"] .offers-page-btn{background:#163951;color:#e4f1fb;border-color:#50758d}
html[data-theme="dark"] .offers-page-btn:not(:disabled):hover{background:#244760}
html[data-theme="dark"] .offers-page-indicator{color:#c8dfef}
@media(max-width:760px){
 .offers-page-section .vacancy-summary{grid-template-columns:62px minmax(0,1fr);gap:13px;padding:17px}
 .offers-page-section .vacancy-logo{width:62px;height:62px;padding:5px}
 .offers-page-section .vacancy-open{grid-column:2;justify-content:flex-start;align-self:start}
 .offers-page-section .vacancy-excerpt{margin:9px 0}
 .offers-page-section .vacancy-expanded{padding:20px 18px}
 .offers-page-section .vacancy-meta span+span::before,.offers-page-section .vacancy-conditions span+span::before{padding:0 5px}
}
@media(max-width:440px){.offers-page-section .vacancy-summary{grid-template-columns:53px minmax(0,1fr);gap:10px}.offers-page-section .vacancy-logo{width:53px;height:53px}}

.offers-page-section .vacancy-main{overflow-wrap:anywhere}

.offers-page-section .vacancy-apply .vacancy-detail-link{background:#fff;color:#163a55;border:1px solid #b5cbda}
.offers-page-section .vacancy-apply .vacancy-detail-link:hover{background:#edf5fa}
html[data-theme="dark"] .offers-page-section .vacancy-apply .vacancy-detail-link{background:#17324a;color:#edf6fd;border-color:#48657b}
html[data-theme="dark"] .offers-page-section .vacancy-apply .vacancy-detail-link:hover{background:#23465f}
