/*
Theme Name: Problemas Judiciales
Theme URI: https://problemasjudiciales.cl/
Author: Problemas Judiciales
Description: Tema institucional propio, ligero y sin Elementor para ProblemasJudiciales.cl.
Version: 2.2.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: problemas-judiciales
*/

/* ===== Variables ===== */
:root{
  --pj-blue:#0b82c6;
  --pj-blue-dark:#08689f;
  --pj-blue-soft:#eaf6fc;
  --pj-navy:#132337;
  --pj-ink:#1f2b3a;
  --pj-muted:#657487;
  --pj-line:#dce5eb;
  --pj-paper:#f6f9fb;
  --pj-white:#ffffff;
  --pj-green:#d9f99d;
  --pj-shadow:0 22px 60px rgba(18,42,63,.10);
  --pj-radius:24px;
}

html{scroll-behavior:smooth}
body{overflow-x:hidden}
a{text-underline-offset:.18em}
.pj-main{min-height:60vh}
.pj-shell{width:min(1180px,calc(100% - 36px));margin-inline:auto}
.pj-eyebrow{
  margin:0 0 12px;
  color:var(--pj-blue-dark);
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.pj-section{padding:88px 0}
.pj-section--soft{background:var(--pj-paper)}
.pj-section--blue{background:var(--pj-blue);color:#fff}
.pj-section-title{
  margin:0;
  font-size:clamp(36px,4.3vw,58px);
  line-height:1.02;
  letter-spacing:-.045em;
}
.pj-section-lead{
  max-width:720px;
  color:var(--pj-muted);
  font-size:18px;
  line-height:1.65;
}

/* ===== Header ===== */
.pj-site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(220,229,235,.9);
}
body.admin-bar .pj-site-header{top:32px}
.pj-header-inner{
  min-height:78px;
  display:flex;
  align-items:center;
  gap:24px;
}





.pj-brand-logo{
  flex:0 0 auto;
  display:block;
  width:250px;
  height:60px;
  text-decoration:none;
}
.pj-brand-logo-img{
  display:block;
  width:100%;
  height:100%;
  background-image:url('assets/images/logo-problemas-judiciales.png');
  background-repeat:no-repeat;
  background-position:left center;
  background-size:contain;
}
.pj-site-header .wp-block-navigation{margin-left:auto}
.pj-site-header .wp-block-navigation-item__content{
  font-size:14px;
  font-weight:700;
  color:#344357;
}
.pj-header-cta .wp-block-button__link{
  border-radius:12px!important;
  padding:13px 18px!important;
  font-size:14px;
  font-weight:800;
}

/* ===== Hero ===== */
.pj-hero{
  position:relative;
  overflow:hidden;
  padding:64px 0 68px;
  background:
    radial-gradient(circle at 92% 8%, rgba(11,130,198,.13), transparent 30%),
    linear-gradient(135deg,#f7fbfd 0%,#eef8fc 50%,#ffffff 100%);
}
.pj-hero:after{
  content:"";
  position:absolute;
  width:360px;height:360px;
  border:1px solid rgba(11,130,198,.11);
  border-radius:50%;
  right:-160px;bottom:-220px;
}
.pj-hero-grid{
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(460px,.78fr)!important;
  gap:64px!important;
  align-items:center!important;
}
.pj-hero-copy{
  max-width:650px;
}
.pj-hero-copy h1{
  margin:0 0 22px;
  max-width:640px;
  color:var(--pj-navy);
  font-size:clamp(44px,4.6vw,66px);
  line-height:.98;
  letter-spacing:-.055em;
}
.pj-hero-copy h1 strong{
  display:block;
  margin-top:7px;
  color:var(--pj-blue);
  font-weight:850;
}
.pj-hero-copy .pj-hero-lead{
  max-width:610px;
  margin:0;
  color:#536579;
  font-size:18px;
  line-height:1.65;
}
.pj-hero-copy .pj-hero-promise{
  margin:18px 0 0;
  color:var(--pj-navy);
  font-size:15px;
  line-height:1.6;
  font-weight:750;
}
.pj-proof-row{
  margin-top:25px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.pj-proof-row span{
  padding:8px 11px;
  border:1px solid #d7e6ee;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:#40536a;
  font-size:11px;
  font-weight:750;
}
.pj-hero-form{
  position:relative;
  z-index:2;
}
.pj-hero-form .pj-buzon-wrap{
  max-width:none;
  margin:0;
  padding:0;
}
.pj-hero-form .pj-buzon-card{
  border:1px solid rgba(11,130,198,.11);
  border-radius:24px!important;
  box-shadow:0 26px 70px rgba(18,42,63,.13);
}
.pj-hero-form .pj-buzon-card h2{
  font-size:clamp(28px,2.5vw,36px)!important;
  letter-spacing:-.035em!important;
}
.pj-hero-form .pj-buzon-intro{
  margin:9px 0 22px!important;
  font-size:13px!important;
  line-height:1.5!important;
}
.pj-hero-form .pj-field textarea{
  min-height:122px!important;
}
.pj-hero-form .pj-upload-box{
  min-height:86px!important;
}
.pj-hero-form .pj-buzon-form{
  gap:14px!important;
}
.pj-hero-form .pj-buzon-card{
  padding:30px!important;
}

/* ===== Steps ===== */
.pj-steps{background:var(--pj-navy);color:#fff}
.pj-steps-grid{gap:0}
.pj-step{
  min-height:120px;
  padding:24px 22px;
  border-right:1px solid rgba(255,255,255,.12);
}
.pj-step:last-child{border-right:0}
.pj-step-number{
  margin:0 0 9px;
  color:var(--pj-green);
  font-size:12px;
  font-weight:850;
  letter-spacing:.08em;
}
.pj-step p:last-child{margin:0;font-weight:750;line-height:1.35}

/* ===== Urgencies ===== */
.pj-urgency-grid,.pj-area-grid{gap:14px}
.pj-urgency-card,.pj-area-card{
  height:100%;
  padding:22px;
  border:1px solid var(--pj-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 28px rgba(18,42,63,.035);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.pj-urgency-card:hover,.pj-area-card:hover{
  transform:translateY(-3px);
  border-color:#b8dbea;
  box-shadow:0 16px 38px rgba(18,42,63,.08);
}
.pj-urgency-card h3,.pj-area-card h3{
  margin:10px 0 8px;
  color:var(--pj-navy);
  font-size:21px;
  line-height:1.15;
  letter-spacing:-.025em;
}
.pj-urgency-card p,.pj-area-card p{
  color:var(--pj-muted);
  font-size:14px;
  line-height:1.55;
}
.pj-card-link{
  display:inline-block;
  margin-top:8px;
  color:var(--pj-blue-dark);
  font-size:13px;
  font-weight:800;
  text-decoration:none;
}

/* ===== Documents ===== */
.pj-doc-grid{align-items:center;gap:52px}
.pj-doc-list{display:grid;gap:0}
.pj-doc-row{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:14px;
  align-items:center;
  padding:17px 0;
  border-bottom:1px solid var(--pj-line);
}
.pj-doc-row strong{
  color:var(--pj-blue-dark);
  font-size:12px;
  letter-spacing:.08em;
}
.pj-doc-row span{font-weight:750}

/* ===== About ===== */
.pj-about-shell{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:70px;
  align-items:start;
}
.pj-about-shell h2{
  margin:0;
  color:var(--pj-navy);
  font-size:clamp(38px,4.5vw,60px);
  line-height:1;
  letter-spacing:-.05em;
}
.pj-about-copy p{
  margin:0 0 20px;
  color:#536579;
  font-size:18px;
  line-height:1.72;
}
.pj-about-copy strong{color:var(--pj-navy)}

/* ===== Guides ===== */
.pj-guide-query .wp-block-post-template{gap:14px}
.pj-guide-card{
  height:100%;
  padding:22px!important;
  border:1px solid var(--pj-line);
  border-radius:18px;
  background:#fff;
}
.pj-guide-card .wp-block-post-title{
  margin:10px 0;
  font-size:21px;
  line-height:1.18;
  letter-spacing:-.025em;
}
.pj-guide-card .wp-block-post-title a{text-decoration:none}
.pj-guide-card .wp-block-post-excerpt__excerpt{
  color:var(--pj-muted);
  font-size:14px;
  line-height:1.55;
}

/* ===== CTA ===== */
.pj-final-cta{padding:62px 0;background:var(--pj-blue);color:#fff}
.pj-final-cta h2{
  margin:0;
  font-size:clamp(38px,4.6vw,60px);
  line-height:1;
  letter-spacing:-.05em;
}
.pj-final-cta .wp-block-button__link{
  background:#fff!important;
  color:var(--pj-navy)!important;
  border-radius:13px!important;
  font-weight:850;
}
.pj-final-cta .wp-block-button__link:hover{background:var(--pj-green)!important}

/* ===== Page / Single ===== */
.pj-page-hero{
  padding:72px 0 54px;
  background:linear-gradient(135deg,#f6fbfe,#fff);
  border-bottom:1px solid var(--pj-line);
}
.pj-page-hero h1,.pj-post-hero h1{
  margin:0;
  color:var(--pj-navy);
  font-size:clamp(44px,5.6vw,72px);
  line-height:.98;
  letter-spacing:-.055em;
}
.pj-content-wrap{
  width:min(840px,calc(100% - 36px));
  margin:0 auto;
  padding:66px 0 90px;
}
.pj-content-wrap p,.pj-content-wrap li{
  color:#46586d;
  font-size:17px;
  line-height:1.72;
}
.pj-content-wrap h2{
  margin-top:46px;
  color:var(--pj-navy);
  font-size:32px;
  letter-spacing:-.035em;
}
.pj-content-wrap h3{color:var(--pj-navy)}
.pj-content-wrap .wp-block-button__link{border-radius:12px}

/* ===== Footer ===== */
.pj-site-footer{
  padding:58px 0 24px;
  background:#0f1d2b;
  color:#c7d5df;
}
.pj-footer-grid{gap:50px}
.pj-site-footer .wp-block-site-title a{color:#fff;text-decoration:none}
.pj-site-footer p{color:#94a7b7;line-height:1.6}
.pj-site-footer a{color:#c7d5df}
.pj-footer-links{display:grid;gap:8px}
.pj-footer-links a{text-decoration:none;font-size:14px}
.pj-footer-bottom{
  margin-top:38px!important;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.1);
  color:#7e93a4;
  font-size:12px;
}

/* ===== Core plugin visual integration ===== */
.pj-buzon-wrap{
  --pj-text:var(--pj-navy)!important;
  --pj-muted:#647589!important;
  --pj-line:#dbe6ed!important;
  --pj-bg:#fff!important;
  --pj-soft:#f6fafc!important;
  --pj-accent:var(--pj-blue)!important;
}
.pj-buzon-card{border-radius:22px!important}
.pj-buzon-kicker{color:var(--pj-blue-dark)!important}
.pj-submit{background:var(--pj-blue)!important}
.pj-submit:hover{background:var(--pj-blue-dark)!important;opacity:1!important}
.pj-field input:focus,.pj-field textarea:focus{
  border-color:var(--pj-blue)!important;
  box-shadow:0 0 0 4px rgba(11,130,198,.10)!important;
}

/* ===== Responsive ===== */
@media(max-width:960px){
  .pj-site-header .wp-block-navigation{margin-left:auto}
  .pj-header-cta{display:none}
  .pj-hero-grid,.pj-doc-grid,.pj-about-shell{grid-template-columns:1fr!important}
  .pj-hero{padding:48px 0 58px}
  .pj-hero-copy{max-width:760px}.pj-hero-copy h1{max-width:760px}.pj-hero-form{max-width:680px;width:100%;margin-inline:auto}
  .pj-step{border-bottom:1px solid rgba(255,255,255,.1)}
}
@media(max-width:782px){
  body.admin-bar .pj-site-header{top:46px}
}
@media(max-width:640px){
  .pj-shell{width:min(100% - 24px,1180px)}
  .pj-section{padding:64px 0}
  .pj-hero{padding:46px 0 60px}
  .pj-hero-copy h1{font-size:clamp(42px,12vw,56px)}
  .pj-hero-copy .pj-hero-lead{font-size:18px}
  .pj-site-header{position:relative;top:auto}
  .pj-header-inner{min-height:68px}
  
  .pj-about-shell{gap:30px}
}

@media(max-width:900px){
  .pj-brand-logo{width:215px;height:52px}
}
@media(max-width:640px){
  .pj-brand-logo{width:185px;height:46px}
}
