/* ==========================================================================
   Intérprete USCIS PHX — plantilla legal
   Se carga solo en páginas que usan page-legal.php.
   ========================================================================== */

.iupx-legal-body {
  background:#f6f6f8;
  color:#34343a;
  font-size:18px;
  line-height:1.72;
}
.iupx-legal-body .legal-site-shell { min-height:100vh; }

/* Header negro exclusivo de páginas legales. */
.iupx-legal-body .site-header,
.iupx-legal-body .site-header--legal {
  background:rgba(8,8,12,.98);
  box-shadow:0 10px 30px rgba(0,0,0,.16);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.iupx-legal-body .site-header__inner { min-height:78px; }
.iupx-legal-body .main-nav .menu > li > a { color:#fff; }
.iupx-legal-body .main-nav .menu > .current-menu-item > a,
.iupx-legal-body .main-nav .menu > .current_page_item > a,
.iupx-legal-body .main-nav .menu > li > a:hover { color:#fff; }
.iupx-legal-body .icon-btn { color:#fff; }
.iupx-legal-body .icon-btn:hover { background:rgba(249,0,107,.12); color:#fff; }
.iupx-legal-body .header-search { background:#0b0b10; border-top-color:rgba(255,255,255,.08); }
.iupx-legal-body .header-search .search-form__input { border-color:rgba(255,255,255,.16); }

/* Hero oscuro. */
.legal-hero {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 84% 18%, rgba(249,0,107,.18), transparent 25%),
    linear-gradient(135deg,#08080c 0%,#111116 62%,#09090d 100%);
  color:#fff;
  padding:clamp(64px,8vw,112px) 0 clamp(58px,7vw,92px);
}
.legal-hero::after {
  content:"";
  position:absolute;
  right:-70px;
  bottom:-100px;
  width:320px;
  height:320px;
  border-radius:50%;
  border:1px solid rgba(249,0,107,.22);
  box-shadow:0 0 0 55px rgba(249,0,107,.025),0 0 0 110px rgba(249,0,107,.02);
}
.legal-hero__inner {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  align-items:center;
  gap:48px;
}
.legal-hero__copy { max-width:900px; }
.legal-kicker {
  margin:0 0 16px;
  color:#ff4b98;
  font-size:13px;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.legal-kicker::before {
  content:"";
  display:inline-block;
  width:34px;
  height:3px;
  margin:0 10px 3px 0;
  border-radius:999px;
  background:var(--pink);
}
.legal-title {
  margin:0;
  color:#fff;
  font-family:var(--font-body);
  font-stretch:normal;
  font-weight:850;
  font-size:clamp(48px,6.7vw,88px);
  line-height:1.0;
  letter-spacing:-.035em;
  text-wrap:balance;
}
.legal-summary {
  margin:22px 0 0;
  max-width:760px;
  color:rgba(255,255,255,.76);
  font-size:clamp(18px,1.6vw,22px);
  line-height:1.55;
}
.legal-hero__mark { display:grid; place-items:center; }
.legal-shield {
  width:150px;
  height:150px;
  display:grid;
  place-items:center;
  border-radius:34px;
  background:linear-gradient(145deg,rgba(249,0,107,.16),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 26px 70px rgba(0,0,0,.24), inset 0 1px rgba(255,255,255,.04);
  color:var(--pink);
  transform:rotate(3deg);
}
.legal-shield svg { width:78px; height:78px; }

/* Contenido: alto contraste y lectura cómoda. */
.legal-content-section { padding:clamp(38px,6vw,72px) 0 clamp(64px,8vw,110px); }
.legal-layout {
  display:grid;
  grid-template-columns:minmax(0,900px) minmax(240px,320px);
  justify-content:center;
  align-items:start;
  gap:34px;
}
.legal-article {
  min-width:0;
  background:#fff;
  border:1px solid #e7e7ec;
  border-radius:24px;
  box-shadow:0 20px 65px rgba(17,17,20,.07);
  overflow:hidden;
}
.legal-update {
  display:flex;
  align-items:center;
  gap:14px;
  padding:18px 24px;
  background:#fff7fa;
  border-bottom:1px solid #f3dce7;
  color:#4b4147;
}
.legal-update__dot {
  width:12px;
  height:12px;
  flex:0 0 12px;
  border-radius:50%;
  background:var(--pink);
  box-shadow:0 0 0 7px rgba(249,0,107,.09);
}
.legal-update strong,
.legal-update span { display:block; }
.legal-update strong { color:var(--ink); font-size:15px; }
.legal-update div > span { margin-top:1px; color:#69676d; font-size:13px; }

.legal-content { padding:clamp(28px,4vw,54px); }
.legal-content,
.legal-content p,
.legal-content li { font-size:18px; line-height:1.78; }
.legal-content p { margin:0 0 1.25em; }
.legal-content h2 {
  position:relative;
  margin:2.2em 0 .75em;
  padding-left:20px;
  color:var(--ink);
  font-family:var(--font-body);
  font-stretch:normal;
  font-size:clamp(28px,3.2vw,38px);
  font-weight:850;
  line-height:1.12;
  letter-spacing:-.018em;
}
.legal-content h2:first-child { margin-top:0; }
.legal-content h2::before {
  content:"";
  position:absolute;
  left:0;
  top:.08em;
  bottom:.08em;
  width:5px;
  border-radius:999px;
  background:var(--pink);
}
.legal-content h3 {
  margin:1.8em 0 .65em;
  color:var(--ink);
  font-size:22px;
  line-height:1.25;
}
.legal-content ul,
.legal-content ol { margin:0 0 1.45em; padding-left:1.3em; }
.legal-content li { margin:.42em 0; padding-left:.18em; }
.legal-content li::marker { color:var(--pink); font-weight:800; }
.legal-content a { color:#c90057; font-weight:700; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.legal-content strong { color:var(--ink); }
.legal-content blockquote {
  margin:1.6em 0;
  padding:18px 20px;
  background:#fff7fa;
  border-left:5px solid var(--pink);
  border-radius:0 14px 14px 0;
}
.legal-content .wp-block-table { overflow-x:auto; }
.legal-content table { width:100%; border-collapse:collapse; font-size:16px; }
.legal-content th,
.legal-content td { padding:13px 14px; border:1px solid #e7e7ec; text-align:left; vertical-align:top; }
.legal-content th { background:#fafafd; color:var(--ink); }

/* Columna lateral. */
.legal-aside { position:sticky; top:calc(var(--header-h) + 28px); display:grid; gap:16px; }
.legal-aside__card,
.legal-aside__note {
  padding:22px;
  border-radius:20px;
  border:1px solid #e4e4e9;
  background:#fff;
  box-shadow:0 14px 42px rgba(17,17,20,.05);
}
.legal-aside__label {
  display:block;
  margin-bottom:10px;
  color:#88868d;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.legal-aside__card a {
  display:block;
  padding:10px 0;
  border-bottom:1px solid #efeff2;
  color:var(--ink);
  font-size:14px;
  font-weight:750;
  text-decoration:none;
}
.legal-aside__card a:last-child { border-bottom:0; }
.legal-aside__card a:hover { color:var(--pink); }
.legal-aside__note { background:#0d0d12; border-color:#0d0d12; color:#fff; }
.legal-aside__note strong { color:#fff; font-size:18px; }
.legal-aside__note p { margin:8px 0 14px; color:rgba(255,255,255,.70); font-size:14px; line-height:1.55; }
.legal-aside__note a { color:#ff4b98; font-size:14px; font-weight:800; text-decoration:none; }

/* Tablet / móvil. */
@media (max-width:1120px) {
  .iupx-legal-body .site-header { background:#09090d; }
  .iupx-legal-body .site-header__actions .search-toggle,
  .iupx-legal-body .site-header__actions .menu-toggle { color:#fff !important; -webkit-text-fill-color:#fff !important; }
  .iupx-legal-body .site-header__actions .search-toggle::before { border-color:#fff !important; }
  .iupx-legal-body .site-header__actions .search-toggle::after { background:#fff !important; }
  .iupx-legal-body .site-header__actions .menu-toggle::before {
    background:#fff !important;
    box-shadow:0 -6px 0 #fff,0 6px 0 #fff !important;
  }
  .iupx-legal-body.menu-open .site-header__actions .menu-toggle::before { box-shadow:none !important; }
  .iupx-legal-body .main-nav { background:#09090d; }
  .iupx-legal-body .main-nav .menu--cascada > li > a { color:#fff; border-bottom-color:rgba(255,255,255,.11); }
  .iupx-legal-body .main-nav .sub-menu--level-1 a,
  .iupx-legal-body .main-nav .sub-menu--level-2 a { color:#f2f2f4; border-bottom-color:rgba(255,255,255,.09); }
  .iupx-legal-body .main-nav .sub-menu--level-1 a:hover,
  .iupx-legal-body .main-nav .sub-menu--level-2 a:hover { color:#ff5ca1; }
  .legal-layout { grid-template-columns:minmax(0,900px); }
  .legal-aside { position:static; grid-template-columns:1fr 1fr; }
}

@media (max-width:760px) {
  .iupx-legal-body { font-size:17px; }
  .legal-hero { padding:46px 0 52px; }
  .legal-hero__inner { grid-template-columns:1fr; gap:30px; }
  .legal-hero__mark { justify-content:start; order:-1; }
  .legal-shield { width:74px; height:74px; border-radius:20px; transform:none; }
  .legal-shield svg { width:42px; height:42px; }
  .legal-title { font-size:clamp(42px,13vw,62px); }
  .legal-summary { font-size:18px; }
  .legal-content-section { padding-top:24px; }
  .legal-article { border-radius:18px; }
  .legal-update { padding:16px 18px; }
  .legal-content { padding:26px 20px 32px; }
  .legal-content,
  .legal-content p,
  .legal-content li { font-size:17px; line-height:1.78; }
  .legal-content h2 { font-size:30px; padding-left:16px; }
  .legal-content h3 { font-size:21px; }
  .legal-aside { grid-template-columns:1fr; }
}

@media (max-width:420px) {
  .container { padding-left:16px; padding-right:16px; }
  .legal-title { font-size:42px; }
  .legal-content { padding-left:18px; padding-right:18px; }
}
