
:root{
  --primary:#1664f0;
  --primary-dark:#0b2f78;
  --primary-soft:#dfeafe;
  --ink:#0f172a;
  --muted:#5a6880;
  --line:#d8e2f0;
  --bg:#f5f8fd;
  --card:#ffffff;
  --shadow:0 16px 40px rgba(15,23,42,.08);
  --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',system-ui,sans-serif;background:linear-gradient(180deg,#fdfefe,#f4f8fe);color:var(--ink)}
a{text-decoration:none;color:inherit}
main{min-height:75vh}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(18px,4vw,44px);background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(216,226,240,.8)}
.brand{display:flex;align-items:center;gap:12px;font-weight:800}
.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#1e72ff,#0a49c4);color:#fff;font-size:24px;box-shadow:0 12px 24px rgba(22,100,240,.25)}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-text strong{font-size:25px;color:#1562ee}.brand-text small{font-size:14px;letter-spacing:.15em;color:#0d3d9d}
.main-nav,.top-actions{display:flex;align-items:center;gap:18px}.main-nav a{font-weight:600;color:#34445d}.main-nav a:hover{color:var(--primary)}
.button{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:14px;padding:13px 22px;background:linear-gradient(135deg,#1e72ff,#1158df);color:#fff;font-weight:700;box-shadow:0 12px 24px rgba(17,88,223,.18);cursor:pointer}
.button.secondary{background:#fff;color:var(--primary);border:1px solid #b9cffd;box-shadow:none}.button.small{padding:11px 18px;border-radius:12px}.button.on-dark{background:#fff;color:#0d3d9d}
.flash{max-width:1180px;margin:16px auto 0;padding:14px 18px;border-radius:14px}.flash.success{background:#daf5e6;color:#10603c}.flash.danger{background:#ffe0e5;color:#a52d45}.flash.warning{background:#fff2c9;color:#845c00}
.hero-section{max-width:1240px;margin:24px auto 0;padding:28px;display:grid;grid-template-columns:1.05fr .95fr;gap:24px;background:linear-gradient(135deg,#ffffff,#edf5ff 42%,#dcecff);border:1px solid #e0e8f5;border-radius:34px;overflow:hidden;box-shadow:var(--shadow)}
.location-pill{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #d9e6fc;padding:11px 16px;border-radius:999px;color:#35547d;font-weight:600}
.hero-copy h1{font-size:clamp(42px,4.8vw,78px);line-height:1.03;margin:18px 0 16px;max-width:720px}.hero-copy h1 span{color:var(--primary)}
.hero-copy p{font-size:19px;line-height:1.7;color:var(--muted);max-width:690px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0}
.trust-badges{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.trust-item{background:rgba(255,255,255,.8);border:1px solid #deebff;border-radius:18px;padding:16px}.trust-item strong{display:block;font-size:14px}.trust-item span{display:block;margin-top:7px;font-size:13px;color:var(--muted)}
.hero-visual{position:relative;min-height:620px;background:radial-gradient(circle at 50% 80%,rgba(30,114,255,.35),transparent 32%),linear-gradient(145deg,#ddebff 10%,#7bb1ff 45%,#0b2f78 100%);border-radius:30px;overflow:hidden}
.hero-sky{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.25),transparent 30%),linear-gradient(180deg,rgba(255,255,255,.12),transparent 35%)}
.hologram-stack{position:absolute;inset:0;padding:36px}
.holo-card,.holo-side-panel,.talent-panel,.avatar-card{position:absolute;background:rgba(11,47,120,.18);border:1px solid rgba(151,202,255,.7);backdrop-filter:blur(10px);box-shadow:0 0 0 1px rgba(169,216,255,.2) inset, 0 0 22px rgba(0,180,255,.18);color:#fff}
.holo-card{left:42px;width:240px;border-radius:24px;padding:18px 20px;animation:floatY 6s ease-in-out infinite}.holo-card span{display:block;font-size:17px;opacity:.9}.holo-card strong{display:block;margin-top:4px;font-size:34px;line-height:1.05}
.float-a{top:92px}.float-b{top:214px;animation-delay:1.5s}.float-c{top:336px;animation-delay:3s}
.holo-side-panel{right:30px;top:266px;width:170px;height:220px;border-radius:26px;padding:18px;text-align:center}.holo-side-panel small{font-size:14px}.holo-side-panel strong{display:block;font-size:46px;margin:8px 0 12px}.ring{width:92px;height:92px;margin:0 auto;border-radius:50%;border:10px solid rgba(255,255,255,.18);border-top-color:#87e7ff;animation:spin 8s linear infinite;box-shadow:0 0 35px rgba(135,231,255,.45)}
.talent-panel{right:26px;top:84px;width:190px;border-radius:24px;padding:16px 18px;animation:floatY 7s ease-in-out infinite 1.2s}.talent-panel small{display:block;font-size:14px;margin-bottom:8px}.talent-panel ul{margin:0;padding-left:18px;line-height:1.9}
.hero-avatar{position:absolute;right:132px;top:86px;width:270px;height:390px}.avatar-card{inset:0;border-radius:34px;padding:22px;display:flex;align-items:flex-end;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(8,29,76,.18));overflow:hidden}
.avatar-card::before{content:'';position:absolute;left:50%;top:48px;transform:translateX(-50%);width:140px;height:140px;border-radius:50%;background:radial-gradient(circle at 50% 30%,#ffe9d7,#cfab86 58%,#9f7758 59%,#9f7758 61%,transparent 61%),linear-gradient(180deg,#34231d 0 40%,transparent 40%),radial-gradient(circle at 50% 52%,#f3d7c2 0 44%,transparent 45%),linear-gradient(180deg,transparent 0 50%,#e5e7eb 50% 62%,#c8a487 62% 100%);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.avatar-card::after{content:'';position:absolute;left:50%;top:160px;transform:translateX(-50%);width:180px;height:190px;border-radius:40px 40px 26px 26px;background:linear-gradient(180deg,#f7f7f8 0 26%,#caa37d 26% 100%);box-shadow:0 16px 32px rgba(0,0,0,.16)}
.avatar-glow{position:absolute;inset:0;background:radial-gradient(circle at 50% 70%,rgba(42,208,255,.28),transparent 34%)}
.avatar-text{position:relative;z-index:2;padding-top:260px}.avatar-text h3{margin:0 0 8px;font-size:26px;line-height:1.15}.avatar-text p{margin:0;color:#ddebff;font-size:14px;line-height:1.55}
.holo-base{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);width:270px;height:110px;border-radius:50%;border:3px solid rgba(116,232,255,.75);box-shadow:0 0 35px rgba(116,232,255,.4), inset 0 0 35px rgba(116,232,255,.18);animation:pulse 3.6s ease-in-out infinite}
.holo-base::before,.holo-base::after{content:'';position:absolute;inset:14px;border-radius:50%;border:2px solid rgba(116,232,255,.4)}.holo-base::after{inset:28px}
.search-panel{max-width:1240px;margin:18px auto 0;padding:30px;border-radius:28px;background:linear-gradient(180deg,#0b2f78,#06255e);color:#fff;box-shadow:var(--shadow)}
.search-head{display:flex;justify-content:space-between;gap:24px;align-items:end}.search-head h2{margin:0;font-size:40px}.search-head p{margin:0;color:#cbddff}
.search-grid{display:grid;grid-template-columns:2.1fr 1.15fr 1.15fr auto;gap:14px;margin-top:22px}.search-grid input,.search-grid select{padding:17px 16px;border:none;border-radius:14px;background:#fff;font:inherit}
.feature-strip{max-width:1240px;margin:18px auto;display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.feature-chip{display:flex;justify-content:center;align-items:center;text-align:center;min-height:78px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:20px;font-weight:600;color:#294369;box-shadow:var(--shadow)}
.promo-row{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:18px}.promo-card{min-height:210px;border-radius:26px;padding:28px;color:#fff;position:relative;overflow:hidden;box-shadow:var(--shadow)}.promo-card h3{font-size:34px;line-height:1.1;max-width:500px;margin:8px 0 12px}.promo-card p{max-width:480px;color:#ddebff;font-size:16px}.promo-card.blue{background:linear-gradient(130deg,#1f76ff,#164cc4 60%,#0a2d77)}.promo-card.dark{background:linear-gradient(130deg,#072a67,#0a3d9d 60%,#081e45)}
.section{max-width:1240px;margin:0 auto;padding:28px 0}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.section-head h2{font-size:42px;margin:0}.section-head a{color:var(--primary);font-weight:700}
.categories-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:14px}.category-card,.card,.job-card,.mini-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow)}.category-card strong{display:block;font-size:18px}.category-card span{display:block;margin-top:10px;color:var(--muted)}
.cards{display:grid;gap:18px}.cards-2{grid-template-columns:1fr 1fr}.cards-3{grid-template-columns:repeat(3,1fr)}
.job-card h3{font-size:28px;line-height:1.1;margin:12px 0 10px}.job-card p,.job-card small{color:var(--muted)}.job-top{display:flex;justify-content:space-between;align-items:center}.job-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#e8f0ff;color:var(--primary)}.bookmark{font-size:24px;color:#6d7c96}.job-tags{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 16px}.job-tags span{padding:8px 12px;border-radius:999px;background:#eef4ff;color:#335284;font-size:13px;font-weight:600}
.stats-strip{max-width:1240px;margin:18px auto;padding:24px 28px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;background:#eaf2ff;border-radius:24px;border:1px solid #dbe8ff}.stats-strip div{padding:8px 12px}.stats-strip strong{display:block;font-size:46px;color:var(--primary)}.stats-strip span{color:#456083}
.cta-panel{max-width:1240px;margin:18px auto 28px;padding:28px;display:grid;grid-template-columns:1.1fr .9fr;gap:18px;background:linear-gradient(180deg,#eff5ff,#fafdff);border-radius:28px;border:1px solid #dce7fa}.cta-panel h2{font-size:46px;margin:0 0 12px}.cta-panel p{font-size:19px;color:var(--muted);max-width:620px}.cta-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mini-card strong{display:block;font-size:18px}.mini-card span{display:block;margin-top:8px;color:var(--muted)}
.super-admin-preview .card h3{margin-top:0}
.contact-strip{max-width:1240px;margin:0 auto 36px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.contact-strip>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 22px;box-shadow:var(--shadow)}.contact-strip strong{display:block}.contact-strip span{color:var(--muted)}
.eyebrow{display:inline-block;text-transform:uppercase;font-size:12px;letter-spacing:.12em;font-weight:800;color:var(--primary)}
.dashboard-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.dashboard-head.compact{padding:0}.dashboard-head h1{font-size:46px;margin:6px 0 8px}.dashboard-head p{max-width:780px;color:var(--muted);font-size:18px}
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.stats>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.stats strong{display:block;font-size:34px;color:var(--primary)}.stats span{color:var(--muted)}
.admin-panels{margin-top:20px}.admin-list{padding-left:20px;line-height:2;color:#42536c}
.auth-card,.detail,.match-panel{max-width:980px;margin:40px auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.auth-card.wide{max-width:1140px}
form label{display:flex;flex-direction:column;gap:7px;font-weight:650}input,select,textarea{width:100%;padding:13px 14px;border:1px solid #cbd8ed;border-radius:12px;background:#fff;font:inherit}textarea{min-height:120px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.span-2{grid-column:1/-1}.inline{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;font-weight:500!important}.inline input{width:auto}fieldset{border:1px solid var(--line);border-radius:12px;padding:14px}.skill-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:14px}th{background:#eef4ff;color:#234372}
.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.detail-grid>div{background:#fff;border:1px solid var(--line);padding:16px;border-radius:14px;box-shadow:var(--shadow)}.detail-grid span,.detail-grid strong{display:block}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:8px 12px;background:#e8eef5;border-radius:99px}.chip.required{background:#dfeafe;color:#0e49be}.match-panel{display:flex;gap:22px;align-items:center}.score{font-size:34px;font-weight:900;color:var(--primary)}
.site-footer{padding:34px clamp(18px,4vw,44px) 54px;border-top:1px solid #e4ebf6;background:#fff}.footer-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px}.footer-grid h4{margin-top:0}.footer-grid a,.footer-grid p{display:block;color:var(--muted);margin-bottom:8px}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes pulse{0%,100%{transform:translateX(-50%) scale(1);opacity:1}50%{transform:translateX(-50%) scale(1.06);opacity:.92}}
@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:1180px){.hero-section,.cta-panel,.promo-row{grid-template-columns:1fr}.hero-visual{min-height:520px}.categories-grid{grid-template-columns:repeat(4,1fr)}.feature-strip{grid-template-columns:repeat(3,1fr)}.cards-3,.cta-mini-grid,.stats-strip,.stats{grid-template-columns:repeat(2,1fr)}.hero-avatar{right:80px}}
@media (max-width:860px){.topbar{flex-wrap:wrap;gap:14px}.main-nav{order:3;width:100%;overflow:auto;padding-bottom:8px}.hero-section{padding:18px}.hero-copy h1,.section-head h2,.dashboard-head h1,.search-head h2,.cta-panel h2{font-size:34px}.trust-badges,.search-head,.footer-grid{grid-template-columns:1fr;display:grid}.search-grid{grid-template-columns:1fr}.feature-strip,.categories-grid,.cards-3,.cards-2,.stats-strip,.cta-mini-grid,.stats,.contact-strip{grid-template-columns:1fr}.hero-avatar{position:relative;right:auto;top:auto;width:auto;height:auto;margin-top:70px}.avatar-card{position:relative;min-height:340px}.holo-card{left:20px;width:190px}.holo-side-panel,.talent-panel{right:18px}.detail-grid,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}}

.footer-banner-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:12px 0;padding:24px 28px;border-radius:24px;background:linear-gradient(135deg,#0b2f78,#1664f0);color:#fff;box-shadow:var(--shadow)}
.footer-banner-card h3{font-size:30px;margin:6px 0}.footer-banner-card p{color:#dbe9ff;margin:0}.footer-banner-card small{letter-spacing:.12em;font-weight:800}.admin-form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.table-scroll{overflow-x:auto;border-radius:18px;box-shadow:var(--shadow)}.admin-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-actions form{margin:0}.link-button{border:0;background:none;color:var(--primary);font:inherit;font-weight:700;cursor:pointer;padding:0}.danger-link{color:#b4233e}.inline-form{display:flex;gap:8px;align-items:center}.inline-form select{min-width:150px}.admin-metrics{grid-template-columns:repeat(6,1fr)}
@media(max-width:1180px){.admin-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.footer-banner-card{align-items:flex-start;flex-direction:column}.admin-metrics{grid-template-columns:1fr}.inline-form{align-items:stretch;flex-direction:column}}


/* Contacto funcional y pie legal */
.contact-section{max-width:1240px;margin:24px auto 34px;padding:34px;display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;background:linear-gradient(145deg,#eef5ff,#ffffff);border:1px solid #d9e6f8;border-radius:28px;box-shadow:var(--shadow)}
.contact-copy h2{font-size:44px;line-height:1.08;margin:10px 0 16px}.contact-copy>p{font-size:17px;line-height:1.65;color:var(--muted)}
.contact-details{display:grid;gap:12px;margin-top:24px}.contact-details>div{padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:16px}.contact-details strong{display:block;margin-bottom:5px}.contact-details a,.contact-details span{color:var(--muted)}
.contact-form{position:relative;background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 16px 34px rgba(15,23,42,.07)}
.contact-form textarea{min-height:150px;resize:vertical}.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-submit-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.contact-submit-row small{max-width:560px;color:var(--muted);line-height:1.5}
.site-footer{padding:0;background:#fff;border-top:1px solid #e4ebf6}.footer-grid{max-width:1240px;margin:0 auto;padding:42px 24px;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:30px}.footer-grid h4{margin:0 0 14px}.footer-grid a,.footer-grid p,.footer-grid span{display:block;color:var(--muted);margin-bottom:9px;line-height:1.55}.footer-brand{font-size:24px;font-weight:850;color:var(--ink);margin-bottom:10px}.footer-contact-link{color:var(--primary)!important;font-weight:700}
.legal-footer{margin:0 8px 8px;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#072946;color:#fff;border-radius:28px}.legal-footer strong{color:#fff}.legal-links{display:flex;gap:18px}.legal-links a{color:#bdd5ee!important;font-size:12px;margin:0!important}.legal-links a:hover{color:#fff!important}
@media(max-width:980px){.contact-section{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.contact-submit-row{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.contact-section{margin-left:12px;margin-right:12px;padding:22px}.contact-copy h2{font-size:32px}.footer-grid{grid-template-columns:1fr}.legal-footer{align-items:flex-start;flex-direction:column;border-radius:22px}.legal-links{flex-wrap:wrap}}

/* ==============================================================
   v3.5 · Navegación, ancho responsive y pie legal institucional
   ============================================================== */
html,body{width:100%;max-width:100%;overflow-x:clip}
body{background:linear-gradient(180deg,#fdfefe 0%,#f4f8fe 52%,#eef5ff 100%)}
img,svg,video,canvas{max-width:100%;height:auto}
main,.topbar,.site-footer,.hero-section,.search-panel,.feature-strip,.promo-row,.section,.stats-strip,.cta-panel,.contact-section,.contact-strip{min-width:0}
.hero-section>*,.search-grid>*,.promo-row>*,.categories-grid>*,.cards>*,.stats-strip>*,.cta-panel>*,.footer-grid>*,.topbar>*{min-width:0}
.hero-section,.search-panel,.feature-strip,.promo-row,.section,.stats-strip,.cta-panel,.contact-section,.contact-strip{width:min(1240px,calc(100% - 32px))}
.flash{width:min(1180px,calc(100% - 32px))}

/* Encabezado sin desbordamientos horizontales */
.topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(14px,2vw,28px);padding-left:clamp(16px,3.2vw,44px);padding-right:clamp(16px,3.2vw,44px)}
.brand-wrap,.brand,.brand-text,.top-actions{min-width:0}
.brand-text strong,.brand-text small,.top-actions .button{white-space:nowrap}
.main-nav{min-width:0;justify-content:center;gap:clamp(10px,1.3vw,18px);flex-wrap:wrap}
.main-nav a{white-space:nowrap;font-size:clamp(14px,1.15vw,16px)}
.top-actions{justify-content:flex-end;gap:12px}

/* Contenido fluido: las tarjetas se reacomodan, no ensanchan la página */
.section-head{gap:18px;min-width:0}
.section-head h2{min-width:0;overflow-wrap:anywhere}
.categories-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.category-card{min-width:0}
.category-card strong,.category-card span,.footer-grid a,.footer-grid p,.footer-grid span{overflow-wrap:anywhere;word-break:normal}
.search-grid input,.search-grid select,.search-grid button{min-width:0}
.contact-honeypot{left:0!important;top:0!important;margin:-1px!important;padding:0!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.contact-section{scroll-margin-top:118px}
#vacantes,#categorias,#banners,#cta-empresas,#recursos,#super-admin{scroll-margin-top:118px}

/* Pie de página integrado con la línea gráfica clara del sitio */
.site-footer{background:linear-gradient(180deg,#f9fbff 0%,#edf5ff 100%);border-top:1px solid #d9e6f8}
.footer-grid{width:min(1240px,100%);padding:42px 24px 34px}
.legal-footer{width:calc(100% - 16px);margin:0 8px 8px;padding:20px clamp(18px,3vw,34px);display:grid;grid-template-columns:minmax(120px,1fr) minmax(280px,auto) minmax(120px,1fr);grid-template-areas:"left center right";align-items:center;gap:20px;background:linear-gradient(135deg,#e7f0ff,#d9e9ff 55%,#edf5ff);color:#153761;border:1px solid #c7daf7;border-radius:26px;box-shadow:0 12px 30px rgba(31,72,128,.10)}
.legal-center{grid-area:center;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;line-height:1.35}
.legal-center strong{color:#0d3d9d;font-size:16px}
.legal-center span{color:#405b7d;font-size:13px}
.legal-side{font-size:13px;font-weight:700;color:#1555bd!important;margin:0!important;padding:10px 12px;border-radius:12px;transition:background .2s ease,color .2s ease}
.legal-side:hover{background:rgba(255,255,255,.72);color:#0b2f78!important}
.legal-side-left{grid-area:left;justify-self:start}
.legal-side-right{grid-area:right;justify-self:end}

@media(max-width:1120px){
  .topbar{grid-template-columns:auto minmax(0,1fr);align-items:center}
  .top-actions{grid-column:2;grid-row:1}
  .main-nav{grid-column:1/-1;grid-row:2;width:100%;overflow:visible;padding:2px 0 0;justify-content:center}
  .categories-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
}

@media(max-width:860px){
  .topbar{gap:12px}
  .main-nav{order:initial;width:100%;overflow:visible;padding-bottom:0}
  .hero-section,.search-panel,.feature-strip,.promo-row,.section,.stats-strip,.cta-panel,.contact-section,.contact-strip{width:min(1240px,calc(100% - 24px))}
  .hero-visual{min-height:500px}
  .categories-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:680px){
  .topbar{grid-template-columns:1fr;justify-items:stretch;padding:12px 14px}
  .brand-wrap{justify-self:center}
  .top-actions{grid-column:1;grid-row:2;justify-content:center;flex-wrap:wrap}
  .main-nav{grid-column:1;grid-row:3;gap:8px 14px}
  .main-nav a{font-size:14px}
  .top-actions .button{flex:1 1 150px;max-width:210px}
  .section-head{align-items:flex-start;flex-direction:column}
  .categories-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;text-align:center}
  .legal-footer{grid-template-columns:1fr 1fr;grid-template-areas:"center center" "left right";gap:12px 8px;padding:18px 14px;border-radius:20px}
  .legal-side-left{justify-self:start}
  .legal-side-right{justify-self:end}
  .contact-section{scroll-margin-top:210px}
  #vacantes,#categorias,#banners,#cta-empresas,#recursos,#super-admin{scroll-margin-top:210px}
}

@media(max-width:420px){
  .brand-text strong{font-size:22px}
  .brand-mark{width:40px;height:40px}
  .button.small{padding:10px 13px}
}


/* ==============================================================
   v3.6 · Términos, favicon y holograma animado
   ============================================================== */
.hologram-visual{
  position:relative;
  min-height:620px;
  isolation:isolate;
  background:linear-gradient(145deg,#eaf4ff 0%,#a9d1ff 42%,#0a3b8e 100%);
  box-shadow:inset 0 0 0 1px rgba(185,220,255,.56),0 18px 42px rgba(9,58,133,.16);
}
.hologram-stage{position:absolute;inset:0;overflow:hidden;border-radius:inherit;background:#dcebff}
.hologram-stage picture{display:block;width:100%;height:100%}
.hero-hologram-image{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
  transform:translate3d(0,0,0) scale(1.035);
  filter:saturate(1.05) contrast(1.025) brightness(1.015);
  will-change:transform,filter;
  animation:hologram-float 7s ease-in-out infinite,hologram-luminosity 4.6s ease-in-out infinite;
}
.hologram-stage::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:.12;
  mix-blend-mode:screen;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.22) 0 1px,rgba(31,182,255,.05) 1px 4px);
}
.hologram-scan{
  position:absolute;
  z-index:3;
  left:0;
  right:0;
  top:-28%;
  height:24%;
  pointer-events:none;
  opacity:.45;
  background:linear-gradient(180deg,transparent,rgba(120,230,255,.12),rgba(215,251,255,.72),rgba(67,205,255,.12),transparent);
  filter:blur(1px);
  animation:hologram-scan 6.8s linear infinite;
}
.hologram-pulse{
  position:absolute;
  z-index:3;
  left:50%;
  bottom:5%;
  width:44%;
  aspect-ratio:2/1;
  transform:translateX(-50%);
  pointer-events:none;
  border:2px solid rgba(122,231,255,.48);
  border-radius:50%;
  box-shadow:0 0 24px rgba(59,206,255,.5),inset 0 0 22px rgba(92,225,255,.32);
  animation:hologram-pulse 3.2s ease-out infinite;
}
@keyframes hologram-float{
  0%,100%{transform:translate3d(0,0,0) scale(1.035)}
  50%{transform:translate3d(0,-9px,0) scale(1.052)}
}
@keyframes hologram-luminosity{
  0%,100%{filter:saturate(1.05) contrast(1.025) brightness(1.015)}
  50%{filter:saturate(1.12) contrast(1.04) brightness(1.07)}
}
@keyframes hologram-scan{
  0%{transform:translateY(-10%);opacity:0}
  12%{opacity:.45}
  88%{opacity:.45}
  100%{transform:translateY(560%);opacity:0}
}
@keyframes hologram-pulse{
  0%{transform:translateX(-50%) scale(.78);opacity:.8}
  70%{opacity:.26}
  100%{transform:translateX(-50%) scale(1.28);opacity:0}
}
.consent-label{align-items:flex-start!important;line-height:1.5}
.consent-label input{flex:0 0 auto;margin-top:.25em}
.consent-label span{min-width:0}
.terms-link{color:var(--primary)!important;font-weight:800;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.terms-link:hover{color:var(--primary-dark)!important}
.terms-page{width:min(1040px,calc(100% - 32px));margin:34px auto 46px}
.terms-header,.terms-toc,.terms-content{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.terms-header{padding:clamp(26px,4vw,48px);border-radius:28px;background:linear-gradient(145deg,#fff,#edf5ff)}
.terms-header h1{font-size:clamp(34px,5vw,58px);line-height:1.08;margin:10px 0 14px;letter-spacing:-.035em}
.terms-header p{margin:0;color:var(--muted);font-size:17px;line-height:1.65}
.terms-toc{margin:20px 0;padding:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border-radius:22px}
.terms-toc a{padding:11px 13px;border-radius:12px;background:#f3f7fe;color:#174d9d;font-weight:700;line-height:1.35}
.terms-toc a:hover{background:#e4efff;color:#0b2f78}
.terms-content{padding:clamp(24px,4vw,48px);border-radius:28px}
.terms-content section{scroll-margin-top:120px;padding:4px 0 24px;border-bottom:1px solid #e5edf8}
.terms-content section:last-child{border-bottom:0;padding-bottom:0}
.terms-content h2{font-size:clamp(23px,3vw,32px);margin:22px 0 12px;color:#123d82}
.terms-content p,.terms-content li{color:#42536d;line-height:1.78;font-size:16px}
.terms-content ol{padding-left:24px}
.terms-content a{color:var(--primary);font-weight:700}
@media(max-width:860px){
  .hologram-visual{min-height:500px}
  .hero-hologram-image{object-position:55% center}
}
@media(max-width:620px){
  .hologram-visual{min-height:390px}
  .hero-hologram-image{object-position:58% center}
  .terms-page{width:min(1040px,calc(100% - 24px));margin-top:22px}
  .terms-toc{grid-template-columns:1fr}
  .terms-content section{scroll-margin-top:210px}
}
@media(prefers-reduced-motion:reduce){
  .hero-hologram-image,.hologram-scan,.hologram-pulse{animation:none!important}
  .hero-hologram-image{transform:scale(1.035)}
}

/* ==============================================================
   V44 · Carrusel tipo marquesina para Explora por categorías
   ============================================================== */
.categories-section{overflow:hidden}
.categories-instruction{
  margin:-6px 0 16px;
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
}
.categories-marquee{
  --category-gap:16px;
  position:relative;
  width:100%;
  overflow:hidden;
  padding:4px 0 14px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);
}
.categories-track{
  display:flex;
  width:max-content;
  transform:translate3d(0,0,0);
  will-change:transform;
  animation:categories-marquee 46s linear infinite;
}
.categories-group{
  display:flex;
  flex:0 0 auto;
  gap:var(--category-gap);
  padding-right:var(--category-gap);
}
.categories-marquee:hover .categories-track,
.categories-marquee:focus-within .categories-track{
  animation-play-state:paused;
}
.category-card{
  position:relative;
  flex:0 0 clamp(250px,23vw,292px);
  width:clamp(250px,23vw,292px);
  height:218px;
  min-width:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  padding:19px 20px 18px;
  border-radius:22px;
  background:linear-gradient(155deg,#ffffff 0%,#f8fbff 76%,#eef5ff 100%);
  border:1px solid var(--line);
  box-shadow:0 14px 34px rgba(15,23,42,.08);
  cursor:default;
  outline:none;
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease,background .28s ease;
}
.category-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,#1e72ff,#0b2f78);
  opacity:.56;
  transition:width .28s ease,opacity .28s ease;
}
.category-card:hover,
.category-card:focus-visible{
  transform:translateY(-4px);
  border-color:#a9c7fb;
  background:linear-gradient(155deg,#ffffff 0%,#f1f7ff 100%);
  box-shadow:0 22px 46px rgba(18,75,165,.16);
}
.category-card:hover::before,
.category-card:focus-visible::before{
  width:6px;
  opacity:1;
}
.category-card:focus-visible{box-shadow:0 0 0 4px rgba(22,100,240,.16),0 22px 46px rgba(18,75,165,.16)}
.category-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.category-code{
  display:grid!important;
  place-items:center;
  width:34px;
  height:34px;
  margin:0!important;
  border-radius:11px;
  background:#e7f0ff;
  color:#1556c7!important;
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
}
.category-count{
  display:inline-flex!important;
  align-items:center;
  margin:0!important;
  padding:7px 10px;
  border-radius:999px;
  background:#f0f5fc;
  color:#536784!important;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.category-card strong{
  display:block;
  min-height:54px;
  color:#0f172a;
  font-size:18px;
  line-height:1.24;
  overflow-wrap:anywhere;
}
.category-detail{
  margin:9px 0 0;
  color:#415674;
  font-size:13px;
  line-height:1.43;
  opacity:0;
  max-height:0;
  overflow:hidden;
  transform:translateY(8px);
  transition:opacity .24s ease,transform .24s ease,max-height .32s ease;
}
.category-card:hover .category-detail,
.category-card:focus-visible .category-detail,
.category-card:focus-within .category-detail{
  opacity:1;
  max-height:78px;
  transform:translateY(0);
}
.category-hint{
  position:absolute;
  left:20px;
  bottom:18px;
  display:block!important;
  margin:0!important;
  color:#71819a!important;
  font-size:12px;
  font-weight:700;
  transition:opacity .2s ease,transform .2s ease;
}
.category-card:hover .category-hint,
.category-card:focus-visible .category-hint,
.category-card:focus-within .category-hint{
  opacity:0;
  transform:translateY(5px);
}
@keyframes categories-marquee{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
@media(max-width:680px){
  .categories-instruction{font-size:13px}
  .categories-marquee{
    --category-gap:12px;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 2%,#000 98%,transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 2%,#000 98%,transparent 100%);
  }
  .categories-track{animation-duration:54s}
  .category-card{flex-basis:260px;width:260px;height:224px}
}
@media(prefers-reduced-motion:reduce){
  .categories-marquee{
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:inline mandatory;
    -webkit-mask-image:none;
    mask-image:none;
  }
  .categories-track{animation:none!important;transform:none!important}
  .categories-group[aria-hidden="true"]{display:none}
  .category-card{scroll-snap-align:start}
}

