/* Identidad oficial — Periódico Policía Local */
:root{--ppl-blue:#0B4AA2;--ppl-blue-dark:#062A5A;--ppl-red:#D71920;--ppl-yellow:#F2C300}

/* El logotipo conserva siempre su proporción y nunca se usa como fondo */
img.ppl-brand-logo{
  display:block!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  opacity:1!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  filter:none!important;
  margin:0!important;
  padding:0!important;
  z-index:auto!important;
}
header a:has(> img.ppl-brand-logo),
.header a:has(> img.ppl-brand-logo){
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:auto!important;
  height:58px!important;
  overflow:visible!important;
  flex:0 0 auto!important;
}
header img.ppl-brand-logo,.header img.ppl-brand-logo{
  width:auto!important;
  height:46px!important;
  max-width:210px!important;
  max-height:46px!important;
}
.box-logo{
  width:100%!important;
  max-width:300px!important;
  height:auto!important;
  min-height:0!important;
  margin:0 auto 22px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  background:transparent!important;
}
.box-logo::before,.box-logo::after{content:none!important;display:none!important}
.box-logo img.ppl-brand-logo{
  width:auto!important;
  height:auto!important;
  max-width:280px!important;
  max-height:108px!important;
  margin:0 auto!important;
}
.admin-logo,.sb-logo,.logo{overflow:visible!important}
.admin-logo img.ppl-brand-logo,.sb-logo img.ppl-brand-logo,.logo img.ppl-brand-logo{
  width:auto!important;
  height:auto!important;
  max-width:230px!important;
  max-height:90px!important;
  margin:0 auto!important;
}
@media(max-width:600px){
  header a:has(> img.ppl-brand-logo),.header a:has(> img.ppl-brand-logo){height:54px!important}
  header img.ppl-brand-logo,.header img.ppl-brand-logo{height:38px!important;max-width:170px!important;max-height:38px!important}
  .box-logo{max-width:245px!important;margin-bottom:18px!important}
  .box-logo img.ppl-brand-logo{max-width:230px!important;max-height:88px!important}
}

body,.hero,.section,.directory-hero,.news-hero,main{background:#fff!important;color:#222!important;} .card,.panel,.box{background:#fff!important;} h1,h2,h3,h4,p,span,label{color:#222;} footer{background:#fff!important;color:#333!important;}

/* FASE 1 — Tema claro con contraste legible */
:root{
  --ink:#FFFFFF;
  --deep:#0F1218;
  --sur:#FFFFFF;
  --pan:#F3F6FA;
  --bor:#D8E0EA;
  --slv:#52657A;
  --lgt:#26384A;
  --wht:#111827;
}
body{background:#FFFFFF!important;color:#26384A!important}
main,.container,.page-head,.news-grid,.section,.content,.directory-hero,.news-hero{background:#FFFFFF!important}
.page-title,.hero-title,.sec-title,.news-title,h1,h2,h3,h4{color:#111827!important}
p,.news-sub,.empty,.news-meta,label{color:#52657A!important}
.news-card,.card,.panel,.box{background:#FFFFFF!important;border-color:#D8E0EA!important}
.news-card-img{background:#F3F6FA!important}
.news-card-img .no-img,.empty i{color:#9AAABD!important}
.cat-btn{color:#52657A!important;border-color:#D8E0EA!important;background:#FFFFFF!important}
.cat-btn:hover,.cat-btn.on{background:#0A3D91!important;color:#111827!important;border-color:#0A3D91!important}
.footer,footer{background:#FFFFFF!important;color:#52657A!important;border-top-color:#0A3D91!important}
.footer span,footer span{color:#0A3D91!important}
/* La cabecera pública continúa oscura y conserva contraste */
header,.header{background:#0F1218!important}
header nav a,.header nav a{color:#9FB0C3}
header nav a[style*="#0A3D91"],.header nav a[style*="rgb(10, 61, 145)"]{color:#0A3D91!important}
#vds-mob{background:#0F1218!important}
#vds-mob a{color:#C8D4E0!important}

/* ==========================================================
   FASE 1 V2 — TEMA PÚBLICO 100 % CLARO Y CONTRASTE CORREGIDO
   ========================================================== */
:root{
  --ink:#FFFFFF!important;
  --deep:#FFFFFF!important;
  --surface:#FFFFFF!important;
  --panel:#F5F8FC!important;
  --border:#D7E0EC!important;
  --gold:#0B56B7!important;
  --gold-lt:#176DD8!important;
  --gold-dk:#073B82!important;
  --silver:#4B5F78!important;
  --light:#26384A!important;
  --white:#111827!important;
  --sur:#FFFFFF!important;
  --pan:#F5F8FC!important;
  --bor:#D7E0EC!important;
  --slv:#4B5F78!important;
  --lgt:#26384A!important;
  --wht:#111827!important;
}

html,body{background:#FFFFFF!important;color:#26384A!important}
body,body *{text-shadow:none}
main,.main,.page,.page-wrap,.content,.section,.news-section,.mixed-section,
.portada-section,.modules-section,.community-band,.hero-stats,.directory-hero,
.news-hero,.page-head,.profile-page,.forum-page,.jobs-page,.training-page,
.legal-page{background:#FFFFFF!important}

/* Cabecera pública completamente blanca */
.site-header,header,.header,.topbar,.nav-wrap,.navbar{
  background:#FFFFFF!important;
  color:#26384A!important;
  border-color:#D7E0EC!important;
  box-shadow:0 1px 0 rgba(15,42,75,.08)!important;
}
.nav-desktop a,header nav a,.header nav a,.site-header a{
  color:#26384A!important;
}
.nav-desktop a:hover,.nav-desktop a.on,
header nav a:hover,header nav a.on,.header nav a:hover,.header nav a.on{
  color:#0B56B7!important;
  background:#EEF4FC!important;
}
.nav-desktop .cta-nav,.cta-nav,.header .btn-primary,.site-header .btn-primary{
  background:#0B56B7!important;color:#FFFFFF!important;border-color:#0B56B7!important;
}
.nav-desktop .cta-nav:hover,.cta-nav:hover{background:#073B82!important;color:#FFFFFF!important}
.hamburger span,.menu-toggle span{background:#26384A!important}
#vds-mob,.nav-mobile,.mobile-menu{background:#FFFFFF!important;border-color:#D7E0EC!important}
#vds-mob a,.nav-mobile a,.mobile-menu a{color:#26384A!important}

/* Hero blanco */
.hero{background:#FFFFFF!important;color:#26384A!important;border-bottom:1px solid #D7E0EC!important}
.hero-bg{
  background:
    radial-gradient(ellipse 65% 65% at 78% 45%,rgba(11,86,183,.08) 0%,transparent 70%),
    linear-gradient(180deg,#FFFFFF 0%,#F8FBFF 100%)!important;
}
.hero-grid{
  background-image:
    linear-gradient(rgba(11,86,183,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(11,86,183,.055) 1px,transparent 1px)!important;
  mask-image:linear-gradient(to bottom,transparent 0,#000 18%,#000 82%,transparent 100%)!important;
}
.hero-content{color:#26384A!important}
.hero h1,.hero-title{color:#111827!important}
.hero h1 .gold,.hero-title .gold,.hero-eyebrow{color:#0B56B7!important}
.hero-lead{color:#4B5F78!important}
.btn-primary,.nl-btn,.primary-btn,.button-primary{
  background:#0B56B7!important;color:#FFFFFF!important;border-color:#0B56B7!important;
}
.btn-primary:hover,.nl-btn:hover,.primary-btn:hover,.button-primary:hover{
  background:#073B82!important;color:#FFFFFF!important;
}
.btn-ghost,.button-outline{
  background:#FFFFFF!important;color:#0B56B7!important;border-color:#0B56B7!important;
}
.btn-ghost:hover,.button-outline:hover{background:#EEF4FC!important;color:#073B82!important}

/* Tipografía legible en todos los bloques públicos */
h1,h2,h3,h4,h5,h6,
.sec-head h2,.art-hero-body h2,.art-side h3,.news-card-body h3,
.news-row-body h4,.sidebar-block-head,.sidebar-item h5,.newsletter-block h4,
.com-card h3,.mod strong,.page-title,.news-title,.directory-title{
  color:#111827!important;
}
p,.hero-lead,.art-hero-body p,.art-side p,.news-card-body p,.news-row-body p,
.sidebar-item p,.newsletter-block p,.com-card p,.mod span,.description,.subtitle,
.meta,.news-meta,.empty,.muted{color:#4B5F78!important}

/* Tarjetas, módulos y paneles blancos */
.card,.panel,.box,.art-hero,.art-side,.mod,.news-card,.news-row,.sidebar-block,
.newsletter-block,.com-card,.job-card,.offer-card,.company-card,.course-card,
.legislation-card,.forum-card,.profile-card,.login-card,.register-card,
.form-card,.content-card,.sidebar-card{
  background:#FFFFFF!important;
  color:#26384A!important;
  border-color:#D7E0EC!important;
  box-shadow:0 8px 24px rgba(15,42,75,.06)!important;
}
.card:hover,.art-hero:hover,.art-side:hover,.news-card:hover,.news-row:hover,
.com-card:hover,.job-card:hover,.company-card:hover,.course-card:hover{
  background:#FFFFFF!important;border-color:#0B56B7!important;
}
.modules-section,.hero-stats,.community-band{
  background:#FFFFFF!important;border-color:#D7E0EC!important;
}
.mod{box-shadow:none!important;border-radius:0!important}
.mod:hover{background:#F5F8FC!important}
.mod-icon-wrap,.com-icon{background:#F5F8FC!important;border-color:#BFD0E5!important}

/* Imágenes vacías y bloques gráficos claros */
.art-hero-img,.news-row-thumb,.news-card-img,.news-card-img-inner,
.nc-ley .news-card-img-inner,.nc-empleo .news-card-img-inner,.nc-form .news-card-img-inner{
  background:linear-gradient(135deg,#F5F8FC,#EAF1FA)!important;
}
.art-hero-img{background:linear-gradient(to bottom,transparent 35%,#FFFFFF 100%),linear-gradient(135deg,#F5F8FC,#EAF1FA)!important}

/* Sidebar, boletín y formularios */
.sidebar-block-head{background:#F5F8FC!important;border-color:#D7E0EC!important}
.sidebar-item:hover{background:#F5F8FC!important}
.newsletter-block{background:#F5F8FC!important}
.nl-input,input,select,textarea{
  background:#FFFFFF!important;color:#26384A!important;border-color:#C9D5E5!important;
}
.nl-input::placeholder,input::placeholder,textarea::placeholder{color:#7A8CA3!important;opacity:1}
.nl-input:focus,input:focus,select:focus,textarea:focus{border-color:#0B56B7!important;outline:none!important}

/* Bolsa de empleo: elimina la franja oscura */
#empleo,.jobs-section,.employment-section{
  background:#FFFFFF!important;color:#26384A!important;border-color:#D7E0EC!important;
}
#empleo [style*="background:var(--surface)"],
#empleo [style*="background: var(--surface)"]{
  background:#FFFFFF!important;
}
#empleo [style*="color:var(--white)"],
#empleo [style*="color: var(--white)"]{color:#111827!important}

/* Comunidad: tarjetas blancas y letras oscuras */
.community-band{background:linear-gradient(135deg,rgba(11,86,183,.035),transparent 60%),#FFFFFF!important}
.com-card{background:#FFFFFF!important}
.com-card .com-link{color:#0B56B7!important}

/* Pie blanco */
footer,.footer,.footer-main,.footer-bottom{
  background:#FFFFFF!important;color:#4B5F78!important;border-color:#D7E0EC!important;
}
footer h4,.footer h4{color:#111827!important}
footer p,footer li,footer a,footer span,.footer p,.footer li,.footer a,.footer span{
  color:#4B5F78!important;
}
footer a:hover,.footer a:hover{color:#0B56B7!important}
.footer-bottom{border-top:1px solid #D7E0EC!important}
.social-btn{background:#FFFFFF!important;color:#26384A!important;border-color:#C9D5E5!important}
.social-btn:hover{color:#0B56B7!important;border-color:#0B56B7!important}

/* Enlaces, etiquetas y estados */
a{color:inherit}
.content a,.article-content a,.com-link,.more-link,.view-all{color:#0B56B7!important}
.cat-pill,.badge,.tag{font-weight:700}

/* Correcciones de contraste para estilos inline heredados */
[style*="color:var(--white)"],[style*="color: var(--white)"]{color:#111827!important}
[style*="color:#F2F6FA"],[style*="color: #F2F6FA"]{color:#111827!important}
[style*="background:var(--deep)"],[style*="background: var(--deep)"]{background:#FFFFFF!important}
[style*="background:#0F1218"],[style*="background: #0F1218"],
[style*="background:#10141C"],[style*="background: #10141C"]{background:#FFFFFF!important}

/* Botones azules siempre con texto blanco, incluso por reglas globales antiguas */
.btn-primary *,.nl-btn *,.cta-nav *,.primary-btn *,.button-primary *{color:#FFFFFF!important}

@media(max-width:800px){
  .site-header,.header,header{background:#FFFFFF!important}
  .hero{min-height:auto!important}
  .hero-content{padding-top:42px!important;padding-bottom:42px!important}
}


/* ==========================================================
   V4.2 — IDENTIDAD VISUAL UNIFICADA
   Azul corporativo en toda la web. Sin acentos amarillos.
   ========================================================== */
:root{
  --ppl-primary:#0A3D91!important;
  --ppl-secondary:#1E63C6!important;
  --ppl-primary-dark:#072F71!important;
  --ppl-soft:#F0F4FA!important;
  --ppl-border:#D6E0ED!important;
  --ppl-text:#1F2937!important;
  --ppl-muted:#627280!important;
  --gold:#0A3D91!important;
  --gold-lt:#1E63C6!important;
  --gold-dk:#072F71!important;
  --gld:#0A3D91!important;
  --glt:#1E63C6!important;
}
body{background:#fff!important;color:var(--ppl-text)!important}
a{accent-color:var(--ppl-primary)}
header,.header,.site-header,.topbar,.navbar,.nav-wrap{
  background:#fff!important;border-color:var(--ppl-border)!important;
}
header nav a,.header nav a,.site-header nav a,.nav-desktop a{
  color:#334155!important;
}
header nav a:hover,header nav a.on,.header nav a:hover,.header nav a.on,
.site-header nav a:hover,.site-header nav a.on,.nav-desktop a:hover,.nav-desktop a.on{
  color:var(--ppl-primary)!important;background:#EEF4FC!important;
}
.cat-btn.on,.cat-btn:hover,.filter-btn.active,.filter-btn:hover,.tab.active,.tab:hover,
.pagination .active,.pagination a:hover{
  background:var(--ppl-primary)!important;color:#fff!important;border-color:var(--ppl-primary)!important;
}
.btn-primary,.button-primary,.primary-btn,.nl-btn,
button[type="submit"],input[type="submit"],.btn.pri{
  background:var(--ppl-primary)!important;color:#fff!important;border-color:var(--ppl-primary)!important;
}
.btn-primary:hover,.button-primary:hover,.primary-btn:hover,.nl-btn:hover,
button[type="submit"]:hover,input[type="submit"]:hover,.btn.pri:hover{
  background:var(--ppl-primary-dark)!important;color:#fff!important;
}
.news-card,.card,.panel,.box,.filter-box,.empty-state{
  border-color:var(--ppl-border)!important;
}
.news-card-img,.no-img,.empty i{background:var(--ppl-soft)!important;color:#8BA0BC!important}
.badge,.category,.news-cat,.eyebrow,.section-kicker,
[style*="color:#0A3D91"]{color:var(--ppl-primary)!important}
footer,.footer{border-top-color:var(--ppl-primary)!important}
footer h3,footer h4,.footer h3,.footer h4{color:var(--ppl-primary)!important}
input:focus,textarea:focus,select:focus{
  border-color:var(--ppl-secondary)!important;
  box-shadow:0 0 0 3px rgba(30,99,198,.12)!important;
}
#vds-mob,.nav-mobile,.mobile-menu{
  background:#fff!important;border-color:var(--ppl-border)!important;
}
#vds-mob a,.nav-mobile a,.mobile-menu a{color:#334155!important}
@media(max-width:768px){
  #vds-mob a:hover,.nav-mobile a:hover,.mobile-menu a:hover{
    color:var(--ppl-primary)!important;background:#EEF4FC!important;
  }
}
