/* Página principal del directorio | extensión de la identidad LEGASIST */
.directory-page{overflow-x:hidden}
.directory-hero{padding:clamp(42px,7vw,84px) 0 54px}
.directory-hero__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.78fr);gap:34px;align-items:center}
.directory-hero__copy h1{max-width:680px;margin:18px 0 16px;color:var(--navy);font-size:clamp(2.4rem,4.9vw,3.8rem);line-height:1.08;letter-spacing:-.065em}
.directory-hero__copy h1 span{color:var(--primary-2)}
.directory-hero__copy .lead{max-width:630px;margin-bottom:28px;font-size:1.04rem;line-height:1.7}
.search-panel{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:26px;box-shadow:var(--shadow-md);margin:0 0 18px}
.search-grid{display:grid;grid-template-columns:1.15fr .82fr .95fr;gap:10px;align-items:end}
.search-field{display:grid;gap:7px}
.search-field span{font-size:.73rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.search-field input,.search-field select{height:51px;padding:0 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface-soft);color:var(--text);width:100%;outline:none;font:inherit}
.search-field select{cursor:pointer}
.search-field input:focus,.search-field select:focus{border-color:var(--primary-3);box-shadow:0 0 0 3px rgba(29,116,216,.13);background:#fff}
.search-submit{grid-column:1/-1;width:100%;height:51px;border-radius:14px;padding-inline:20px}
.directory-chips{display:flex;flex-wrap:wrap;gap:8px}
.directory-chips a{border:1px solid var(--border);background:var(--surface);color:var(--primary);font-size:.82rem;font-weight:800;padding:9px 14px;border-radius:999px;transition:.18s ease}
.directory-chips a:hover{border-color:var(--primary-2);background:var(--surface-blue)}
.trust-panel{display:grid;gap:14px}
.trust-card{padding:32px;background:linear-gradient(145deg,#fff 15%,var(--surface-blue));border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}
.trust-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;color:#fff;font-size:1.65rem;background:linear-gradient(135deg,var(--primary),var(--primary-3));margin-bottom:20px}
.trust-label{font-weight:900;text-transform:uppercase;font-size:.72rem;letter-spacing:.11em;color:var(--primary-3);margin-bottom:10px}
.trust-card h2{font-size:1.62rem;line-height:1.15;letter-spacing:-.04em;color:var(--navy);margin-bottom:24px}
.trust-features{display:grid;gap:12px}
.trust-features div{display:grid;gap:2px;padding:12px 14px;background:rgba(255,255,255,.74);border:1px solid var(--border);border-radius:15px}
.trust-features strong{font-size:.93rem;color:var(--navy)}
.trust-features span{font-size:.82rem;color:var(--muted)}
.hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.hero-metrics div{display:grid;gap:4px;text-align:center;padding:15px 8px;border:1px solid var(--border);background:var(--surface);border-radius:16px}
.hero-metrics strong{font-weight:950;color:var(--primary);font-size:1rem}
.hero-metrics span{font-size:.69rem;color:var(--muted);font-weight:700}
.directory-section{padding:clamp(48px,6vw,68px) 0}
.directory-section--soft{background:rgba(238,246,255,.62);border-block:1px solid rgba(215,229,245,.8)}
.section-heading{margin-bottom:27px}
.section-heading.centered{text-align:center;max-width:650px;margin-inline:auto}
.section-heading.row{display:flex;align-items:end;justify-content:space-between;gap:18px}
.section-heading h2{margin-top:12px;color:var(--navy);font-size:clamp(1.55rem,2.7vw,2.08rem);letter-spacing:-.045em;line-height:1.16}
.section-heading p{color:var(--muted);line-height:1.65;margin-top:10px}
.text-link{font-size:.9rem;color:var(--primary-2);font-weight:850}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.step-card,.lawyer-card,.review-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:24px}
.step-card{padding:24px}
.step-card span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:15px;background:var(--surface-blue);color:var(--primary);font-weight:950;margin-bottom:17px}
.step-card h3{font-size:1.08rem;color:var(--navy);margin-bottom:8px}
.step-card p{font-size:.9rem;color:var(--muted);line-height:1.6}
.lawyer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.lawyer-card{display:grid;gap:17px;padding:20px;transition:.18s ease}
.lawyer-card:hover{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}
.lawyer-head{display:flex;gap:12px;align-items:start}
.lawyer-avatar{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:16px;color:var(--primary);background:var(--surface-blue);border:1px solid var(--border);font-weight:950}
.lawyer-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.lawyer-avatar.desk{border-radius:12px}
.lawyer-head h3{font-size:.93rem;color:var(--navy);line-height:1.35}
.lawyer-head p{font-size:.78rem;color:var(--primary-2);font-weight:700;margin-top:3px}
.badges{display:flex;gap:7px;flex-wrap:wrap}
.badges span{padding:6px 9px;border-radius:999px;background:var(--surface-blue);color:var(--primary-2);font-size:.71rem;font-weight:900}
.badges span.verified{color:var(--success);background:var(--success-soft)}
.lawyer-meta{display:flex;justify-content:space-between;gap:8px;padding-top:13px;border-top:1px solid var(--border);font-size:.77rem;color:var(--muted);font-weight:750}
.lawyer-meta span:first-child{color:var(--warning)}
.button.small{min-height:39px;justify-self:start;padding-inline:17px;font-size:.82rem}
.lawyer-empty{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-sm)}
.lawyer-empty p{color:var(--muted);font-weight:750}
.specialty-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.specialty-grid a{display:grid;gap:9px;min-height:132px;padding:20px;border-radius:20px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);transition:.18s ease}
.specialty-grid a:hover{transform:translateY(-2px);border-color:var(--primary-3)}
.specialty-grid span{display:grid;place-items:center;width:40px;height:40px;background:var(--surface-blue);color:var(--primary);border-radius:13px;font-size:1.12rem;font-weight:950}
.specialty-grid strong{color:var(--navy);font-size:.94rem}
.specialty-grid small{color:var(--muted);font-weight:700}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.review-card{padding:21px}
.review-top{display:flex;gap:11px;align-items:center;margin-bottom:13px}
.review-avatar{display:grid;place-items:center;width:44px;height:44px;background:var(--surface-blue);color:var(--primary);border-radius:15px;font-weight:950}
.review-top strong{display:block;color:var(--navy);font-size:.9rem}
.review-top small{display:block;color:var(--muted);margin-top:3px}
.stars{color:var(--warning);letter-spacing:.1em;font-size:.88rem;margin-bottom:10px}
.review-card p{color:var(--muted);font-size:.89rem;line-height:1.65;min-height:88px}
.review-footer{border-top:1px solid var(--border);padding-top:13px;margin-top:13px;color:var(--primary-2);font-size:.78rem;font-weight:850}
.cities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cities-grid a{padding:17px 16px;border-radius:17px;border:1px solid var(--border);background:var(--surface);color:var(--navy);font-weight:850;text-align:center;transition:.18s ease}
.cities-grid a:hover{color:var(--primary-2);border-color:var(--primary-3);background:var(--surface-blue)}
.professional-cta{padding:16px 0 clamp(52px,8vw,84px)}
.professional-cta__inner{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:38px 42px;border-radius:var(--radius-xl);color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:var(--shadow-lg)}
.professional-cta h2{font-size:clamp(1.4rem,2.4vw,2.05rem);letter-spacing:-.04em;margin:14px 0 10px;max-width:660px}
.professional-cta p{max-width:650px;color:rgba(255,255,255,.82);line-height:1.65}
.professional-cta .sec-tag{background:rgba(255,255,255,.16);color:#eaf3ff;border-color:rgba(255,255,255,.24)}
.cta-actions{display:flex;gap:10px;flex-wrap:wrap;flex:none}
.professional-cta .button.primary{background:#fff;color:var(--primary);border-color:#fff}
.professional-cta .button.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.48);box-shadow:none}
.directory-footer{gap:20px}

/* Modo oscuro azul rey: página principal */
html[data-theme="royal-dark"] .directory-hero__copy h1,
html[data-theme="royal-dark"] .trust-card h2,
html[data-theme="royal-dark"] .section-heading h2,
html[data-theme="royal-dark"] .step-card h3,
html[data-theme="royal-dark"] .lawyer-head h3,
html[data-theme="royal-dark"] .specialty-grid strong,
html[data-theme="royal-dark"] .review-top strong,
html[data-theme="royal-dark"] .cities-grid a{color:#f4f8ff}
html[data-theme="royal-dark"] .search-panel,
html[data-theme="royal-dark"] .trust-card,
html[data-theme="royal-dark"] .hero-metrics div,
html[data-theme="royal-dark"] .step-card,
html[data-theme="royal-dark"] .lawyer-card,
html[data-theme="royal-dark"] .specialty-grid a,
html[data-theme="royal-dark"] .review-card,
html[data-theme="royal-dark"] .cities-grid a{background:#0e2545;border-color:rgba(139,181,255,.2)}
html[data-theme="royal-dark"] .directory-section--soft{background:rgba(7,23,48,.56);border-color:rgba(139,181,255,.16)}
html[data-theme="royal-dark"] .search-field input,
html[data-theme="royal-dark"] .search-field select,
html[data-theme="royal-dark"] .trust-features div{background:#0a1d38;border-color:rgba(139,181,255,.2);color:#eaf3ff}
html[data-theme="royal-dark"] .directory-chips a,
html[data-theme="royal-dark"] .badges span,
html[data-theme="royal-dark"] .lawyer-avatar,
html[data-theme="royal-dark"] .specialty-grid span,
html[data-theme="royal-dark"] .review-avatar,
html[data-theme="royal-dark"] .step-card span{background:rgba(53,113,235,.16);border-color:rgba(139,181,255,.2);color:#7eb0ff}
html[data-theme="royal-dark"] .badges span.verified{color:#53e0b7;background:rgba(15,118,110,.18)}
html[data-theme="royal-dark"] .lawyer-meta,
html[data-theme="royal-dark"] .review-footer{border-color:rgba(139,181,255,.18)}
html[data-theme="royal-dark"] .professional-cta__inner{background:linear-gradient(135deg,#0d347d,#1154d9)}

@media (max-width:1030px){
  .directory-hero__grid{grid-template-columns:1fr}
  .trust-panel{max-width:720px}
  .lawyer-grid,.reviews-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:790px){
  .search-grid{grid-template-columns:1fr}
  .steps-grid,.lawyer-grid,.reviews-grid,.specialty-grid,.cities-grid{grid-template-columns:1fr 1fr}
  .professional-cta__inner{display:grid;padding:30px 24px}
}
@media (max-width:600px){
  .directory-hero{padding-top:34px}
  .directory-hero__copy h1{letter-spacing:-.05em}
  .steps-grid,.lawyer-grid,.reviews-grid,.specialty-grid,.cities-grid{grid-template-columns:1fr}
  .section-heading.row{display:grid}
  .hero-metrics{grid-template-columns:1fr}
  .cta-actions{display:grid;width:100%}
  .lawyer-empty{display:grid}
}
