:root{
  --navy:#233b73;
  --navy2:#324f89;
  --blue2:#7a90ae;
  --gold:#d3b15f;
  --bg:#eef1f5;
  --paper:#fff;
  --line:#d6dce5;
  --text:#0b1324;
  --muted:#5b667a;
  --max:1240px;
  --shadow:0 8px 18px rgba(19,31,59,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;line-height:1.5}
a{color:var(--navy);text-decoration:none}
a:hover{text-decoration:underline}
img{display:block;max-width:100%;height:auto}
button,input,select{font:inherit}
.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.top-line{height:4px;background:linear-gradient(90deg,#1e3264,var(--navy) 70%,var(--gold))}
.top-inner{max-width:var(--max);min-height:72px;margin:0 auto;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:13px;color:#111;text-decoration:none;min-width:360px}
.brand-logo{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center}
.brand-logo img{width:100%;height:100%;object-fit:contain}
.logo-fallback{font-weight:900}
.brand strong{display:block;font-size:1.22rem;line-height:1;font-weight:900;letter-spacing:-.02em}
.brand small{display:block;margin-top:4px;color:#5b6470;font-size:.67rem;text-transform:uppercase;letter-spacing:.08em}
.nav{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.nav a{color:#111;font-size:.69rem;font-weight:900;text-transform:uppercase}
.nav a:hover{color:var(--navy);text-decoration:none}
.shell{max-width:var(--max);margin:0 auto;padding:18px 16px 42px}
.hero{background:linear-gradient(125deg,#293b70 0%,#213766 52%,#2c477e 100%);color:#fff;min-height:108px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px 28px;position:relative;overflow:hidden;border-radius:2px}
.hero:before{content:"";position:absolute;left:-70px;top:-130px;width:360px;height:300px;border-radius:50%;background:rgba(255,255,255,.055)}
.hero:after{content:"";position:absolute;right:-100px;bottom:-140px;width:340px;height:300px;border-radius:50%;background:rgba(255,255,255,.045)}
.hero>*{position:relative;z-index:1}
.hero p{margin:0 0 5px;color:#dbe4f5;font-weight:700;font-size:.86rem}
.hero h1{margin:0;font-size:1.88rem;line-height:1.05;font-weight:900;letter-spacing:-.035em;text-transform:uppercase}
.hero h1 span{color:var(--gold)}
.hero a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:2px solid var(--gold);border-radius:6px;color:#fff;font-weight:900;background:rgba(255,255,255,.06)}
.hero a:hover{text-decoration:none;background:rgba(255,255,255,.13)}
.dots{display:flex;gap:4px;margin-top:8px}
.dots i{width:7px;height:7px;border-radius:50%;border:2px solid rgba(255,255,255,.9)}
.main-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px;align-items:start}
.section-list{display:block}
.section-row{margin-top:16px;display:grid;grid-template-columns:100px minmax(0,1fr);min-height:102px}
.section-number{display:flex;align-items:flex-start;justify-content:center;font-size:6rem;line-height:.94;font-weight:900;color:#3b5a92;text-shadow:0 4px 8px rgba(0,0,0,.18);padding-top:2px}
.section-card{background:var(--navy);color:#fff;border-radius:3px;box-shadow:var(--shadow);display:grid;grid-template-columns:56px minmax(0,1fr) 126px;gap:12px;align-items:center;padding:15px 16px}
.row-2 .section-card{background:#42629b}
.row-3 .section-card{background:#7a90ae}
.vertical{writing-mode:vertical-rl;transform:rotate(180deg);color:var(--gold);font-weight:900;font-size:.80rem;text-transform:uppercase;text-align:center}
.section-card strong{display:block;color:#fff;font-size:1.22rem;line-height:1.15;font-weight:900}
.section-card p{margin:6px 0 0;color:#eef3fc;font-size:.88rem;line-height:1.42}
.section-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.section-actions a{display:inline-flex;align-items:center;justify-content:center;min-width:100px;min-height:31px;padding:0 12px;border-radius:5px;background:#2a2f36;color:#fff;font-weight:900;font-size:.76rem;box-shadow:0 4px 10px rgba(0,0,0,.20)}
.section-actions a:hover{text-decoration:none;background:#1f242a}
.side{margin-top:16px;background:#fff;border:1px solid #cfd5df}
.side-top{display:flex;border-bottom:1px solid #cfd5df}
.side-top a,.side-top button{flex:1;min-height:34px;display:flex;align-items:center;justify-content:center;border:0;background:#fff;color:#293241;font-size:.92rem;cursor:pointer}
.side-top a:hover,.side-top button:hover{background:#f4f6f9;text-decoration:none}
.side-block{padding:14px 16px;border-bottom:1px solid #cfd5df;text-align:center}
.side-block strong{display:block;font-size:.88rem}
.side-block small{display:block;margin-top:4px;color:var(--muted)}
.side-search{display:flex;margin-top:10px}
.side-search input{flex:1;min-width:0;height:38px;border:1px solid #cfd5df;padding:0 9px;border-right:0}
.side-search button{width:42px;height:38px;border:1px solid #cfd5df;background:#777;color:#fff;font-weight:900;cursor:pointer}
.side-link{display:block;margin-top:10px;background:var(--navy);color:#fff;font-weight:900;padding:9px 10px;text-transform:uppercase;font-size:.73rem}
.side-link:hover{text-decoration:none;background:#1d315e}
.quick{margin-top:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.quick a{background:#fff;border-top:4px solid #111;box-shadow:0 4px 10px rgba(0,0,0,.10);padding:14px 15px;min-height:52px;display:flex;align-items:center;gap:10px;color:#1a2340;font-size:.90rem}
.quick a:hover{text-decoration:none;background:#fafafa}
.panel{margin-top:22px;background:#fff;border:1px solid var(--line);padding:24px 24px 26px}
.panel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px}
.panel-head h2{margin:0;font-size:1.45rem;line-height:1.12;letter-spacing:-.03em}
.panel-head p,.panel-head span{margin:6px 0 0;color:var(--muted)}
.count{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:30px;padding:0 10px;border-radius:999px;background:#eef3fb;border:1px solid #ced9ea;color:#20345e;font-weight:900;font-size:.84rem}
.search{display:grid;grid-template-columns:minmax(230px,1.45fr) 1fr 1fr .85fr 90px auto auto;gap:9px;align-items:end}
.search label span{display:block;margin-bottom:5px;font-size:.68rem;font-weight:900;text-transform:uppercase;color:#374151}
.search input,.search select{width:100%;height:41px;border:1px solid #c6d0da;background:#fff;padding:0 10px}
.search button{height:41px;border:0;background:var(--navy);color:#fff;font-weight:900;cursor:pointer;padding:0 14px}
.search>a{height:41px;display:flex;align-items:center;font-weight:900}
.norm-list{display:flex;flex-direction:column;gap:12px}
.norm{background:#fbfcfe;border:1px solid #d9e1ec;border-left:4px solid var(--navy);padding:16px 16px 16px 18px;display:grid;grid-template-columns:210px minmax(0,1fr) 135px;gap:16px}
.norm-ref{color:#111;font-size:.80rem;line-height:1.42;font-weight:750}
.norm-body a{color:var(--navy);font-size:1.03rem;line-height:1.34;font-weight:900}
.norm-body p{margin:9px 0 0;color:#111827;font-size:.93rem;line-height:1.52}
.norm-body small{display:block;margin-top:10px;color:#4b5563;font-size:.80rem}
.norm-type{justify-self:start;height:max-content;background:#eef3fb;border:1px solid #ced9ea;color:#20345e;padding:5px 10px;font-size:.70rem;font-weight:900;text-transform:uppercase}
.empty,.native{background:#fff;border:1px solid #d9e1ec;padding:18px}
.native table{width:100%;border-collapse:collapse;border-top:3px solid var(--navy)}
.native th{background:#f2f6fa;padding:11px 9px;text-align:left}
.native td{padding:13px 9px;border-bottom:1px solid var(--line)}
.native ul{padding-left:20px;margin:0}
.native li{margin-bottom:12px}
.breadcrumb{background:var(--navy);color:#fff;padding:14px 18px;border-radius:0 0 20px 0}
.breadcrumb a{color:#fff;font-weight:900}
.breadcrumb span{margin:0 6px;color:#dce6f8}
.document{margin-top:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.document-head{padding:22px 24px;border-bottom:2px solid #111;display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:16px;align-items:center}
.document-logo{width:58px;height:58px}
.document-logo img{width:100%;height:100%;object-fit:contain}
.document-head strong{display:block;font-size:1.8rem;font-weight:900}
.document-head small{display:block;margin-top:4px;font-weight:900}
.document-actions{display:flex;gap:8px;flex-wrap:wrap}
.document-actions button,.document-actions a{border:1px solid #b8c2cc;background:#fff;border-radius:999px;color:#111;padding:8px 13px;font-size:.78rem;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.document-body{padding:28px 34px 40px;max-width:920px;margin:0 auto}
.document-body h1{font-size:1.55rem}
.document-body h2{font-size:1.28rem;margin-top:25px}
.document-body h3{font-size:1.08rem;margin-top:22px}
.document-body p,.document-body li{font-size:.96rem;line-height:1.68}
.document-body form{display:none!important}
.footer{max-width:var(--max);margin:0 auto 36px;padding:0 18px;color:#5f6b7a;font-size:.8rem;display:flex;justify-content:space-between;gap:14px}

.republic-laws{
  border-top:4px solid var(--navy);
}
.republic-law-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.republic-law-card{
  background:#fbfcfe;
  border:1px solid #d9e1ec;
  border-left:5px solid #42629b;
  display:grid;
  grid-template-columns:220px minmax(0,1fr) 110px;
  gap:16px;
  align-items:center;
  padding:16px 18px;
}
.republic-law-card__meta span{
  display:block;
  color:#111;
  font-size:.80rem;
  font-weight:850;
  line-height:1.35;
}
.republic-law-card__meta strong{
  display:block;
  margin-top:6px;
  color:#42526b;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.republic-law-card__main a{
  color:var(--navy);
  font-size:1.04rem;
  line-height:1.35;
  font-weight:900;
}
.republic-law-card__main p{
  margin:8px 0 0;
  color:#111827;
  font-size:.93rem;
  line-height:1.52;
}
.republic-law-card__main small{
  display:block;
  margin-top:9px;
  color:#4b5563;
  font-size:.80rem;
}
.republic-law-card__action{
  justify-self:end;
}
.republic-law-card__action a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 12px;
  background:var(--navy);
  color:#fff;
  border-radius:5px;
  font-size:.76rem;
  font-weight:900;
}
.republic-law-card__action a:hover{
  text-decoration:none;
  background:#1d315e;
}
@media(max-width:980px){
  .republic-law-card{
    grid-template-columns:1fr;
  }
  .republic-law-card__action{
    justify-self:start;
  }
}


.republic-side-list{
  margin-top:10px;
  display:flex;
  flex-direction:column;
  gap:6px;
  max-height:260px;
  overflow:auto;
  text-align:left;
}
.republic-side-list a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:34px;
  padding:8px 10px;
  background:#f6f8fb;
  border:1px solid #dbe3ef;
  color:#20345e;
  font-size:.82rem;
  font-weight:850;
}
.republic-side-list a:hover{
  text-decoration:none;
  background:#eef3fb;
  border-color:#c8d5e8;
}
.republic-side-list a.is-active{
  background:var(--navy);
  border-color:var(--navy);
  color:#fff;
}
.law-publication-head{
  margin-top:20px;
  background:#fff;
  border:1px solid var(--line);
  border-left:5px solid var(--navy);
  padding:24px 28px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:start;
  box-shadow:0 6px 14px rgba(19,31,59,.06);
}
.law-publication-head p{
  margin:0 0 8px;
  color:var(--muted);
  font-size:.88rem;
}
.law-publication-head h1{
  margin:0;
  font-size:1.95rem;
  line-height:1.16;
  letter-spacing:-.035em;
}
.document{
  margin-top:18px;
}
.document-head{
  background:linear-gradient(180deg,#fff,#f9fafc);
}
.document-body{
  font-family:Georgia,"Times New Roman",serif;
  color:#111;
}
.document-body h1,
.document-body h2,
.document-body h3{
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
}
.document-body h1:first-child{
  display:none;
}
.document-body table{
  width:100%;
  border-collapse:collapse;
  margin:18px 0;
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
}
.document-body th{
  background:#f2f6fa;
  text-align:left;
  padding:10px;
  border-bottom:1px solid var(--line);
}
.document-body td{
  padding:11px 10px;
  border-bottom:1px solid var(--line);
}
@media(max-width:980px){
  .law-publication-head{
    grid-template-columns:1fr;
  }
}


.back-link-official{display:inline-flex;align-items:center;gap:8px;margin:16px 0 12px;color:var(--navy);font-weight:900;font-size:.9rem}
.back-link-official:hover{text-decoration:none;color:#16284f}
.official-detail-head{border-left:6px solid var(--navy);box-shadow:0 10px 24px rgba(19,31,59,.08)}
.law-id-chip{display:inline-flex;align-items:center;min-height:30px;padding:4px 12px;margin:4px 0 12px;border-radius:999px;background:#eef3fb;border:1px solid #ced9ea;color:#20345e;font-weight:900;font-size:.8rem}
.law-summary{margin-top:14px;max-width:900px;color:#1f2937;font-size:1.03rem;line-height:1.6}
.law-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 0}
.law-meta-item{background:#fff;border:1px solid var(--line);padding:16px 18px;box-shadow:0 4px 10px rgba(19,31,59,.05)}
.law-meta-item span{display:block;color:#6b7280;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900}
.law-meta-item strong{display:block;margin-top:6px;color:#111827;font-size:1rem;line-height:1.35}
.official-paper{margin-top:18px;border:1px solid #d7dde6;box-shadow:0 12px 30px rgba(20,34,61,.08)}
.official-paper-head{background:linear-gradient(180deg,#fff,#f8fafc);border-bottom:1px solid #dfe5ee}
.official-paper-body{padding:34px 42px 46px;max-width:980px}
.official-paper-body .bo-raw-content{font-family:Georgia,"Times New Roman",serif;color:#111827}
/* El título duplicado se limpia en PHP; no ocultar el primer bloque jurídico válido. */
.official-paper-body p,.official-paper-body li{font-size:1rem;line-height:1.72}
.official-paper-body h1,.official-paper-body h2,.official-paper-body h3{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;color:#0f172a;letter-spacing:-.02em}
.official-paper-body h2{margin-top:28px;font-size:1.28rem}
.official-paper-body h3{margin-top:22px;font-size:1.05rem}
.official-paper-body table{width:100%;border-collapse:collapse;margin:18px 0;background:#fff}
.official-paper-body th,.official-paper-body td{padding:12px 10px;border-bottom:1px solid #e1e7ef;vertical-align:top}
.official-paper-body th{background:#f4f7fb;text-align:left;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif}
.official-paper-body dl{display:grid;grid-template-columns:220px 1fr;gap:10px 16px;margin:14px 0 24px}
.official-paper-body dt{font-weight:900;color:#334155}
.official-paper-body dd{margin:0;color:#111827}
.official-paper-body .bo-raw-content > div:first-child{display:none!important}

/* V22: tablas/listados más profesionales */
.norm-list{
  gap:14px;
}
.norm{
  background:#ffffff;
  border:1px solid #d7dfeb;
  border-left:5px solid var(--navy);
  box-shadow:0 5px 12px rgba(19,31,59,.05);
}
.norm:hover{
  border-color:#c3d0e2;
  box-shadow:0 8px 18px rgba(19,31,59,.09);
}
.norm-ref{
  background:#f5f7fb;
  border:1px solid #e0e7f1;
  padding:10px 12px;
  min-height:44px;
}
.norm-type{
  border-radius:999px;
}
.native table,
.document-body table,
.official-paper-body table{
  width:100%;
  border-collapse:separate!important;
  border-spacing:0;
  margin:20px 0;
  overflow:hidden;
  border:1px solid #d8e0eb;
  background:#fff;
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
  font-size:.92rem;
}
.native th,
.document-body th,
.official-paper-body th{
  background:#eef3fb!important;
  color:#21345e;
  text-align:left;
  padding:12px 13px!important;
  border-bottom:1px solid #d8e0eb!important;
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-weight:900;
}
.native td,
.document-body td,
.official-paper-body td{
  padding:12px 13px!important;
  border-bottom:1px solid #e6ebf2!important;
  vertical-align:top;
}
.native tr:last-child td,
.document-body tr:last-child td,
.official-paper-body tr:last-child td{
  border-bottom:0!important;
}
.native tr:hover td,
.document-body tr:hover td,
.official-paper-body tr:hover td{
  background:#fafcff;
}


/* V23: página principal limpia */
body.home-clean .quick,
body.home-clean .republic-laws,
body.home-clean .search-panel{
  display:none!important;
}


/* V24 presentación institucional */
.presentation-panel{
  margin-top:22px;
  background:#fff;
  border:1px solid var(--line);
  border-top:5px solid var(--navy);
  padding:30px 34px;
  box-shadow:0 6px 16px rgba(19,31,59,.06);
}
.presentation-kicker{
  color:var(--navy);
  font-size:.75rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:8px;
}
.presentation-panel h2{
  margin:0 0 14px;
  font-size:1.9rem;
  line-height:1.16;
  letter-spacing:-.035em;
}
.presentation-panel h3{
  margin:24px 0 12px;
  font-size:1.18rem;
}
.presentation-panel p{
  margin:0 0 14px;
  color:#1f2937;
  line-height:1.68;
}
.objectives-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:18px 0 8px;
}
.objectives-grid article{
  background:#f8fafc;
  border:1px solid #dbe3ef;
  padding:16px 18px;
}
.objectives-grid span{
  display:block;
  color:var(--navy);
  font-weight:900;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:8px;
}
.objectives-grid p{
  margin:0;
  font-size:.92rem;
}
.functions-list{
  margin:0;
  padding-left:20px;
  columns:2;
  column-gap:34px;
}
.functions-list li{
  break-inside:avoid;
  margin:0 0 9px;
  color:#1f2937;
  line-height:1.56;
}

/* V24 archivo limpio */
body.archive-only .hero,
body.archive-only .main-layout,
body.archive-only .quick,
body.archive-only .presentation-panel{
  display:none!important;
}
body.archive-only .shell{
  padding-top:18px;
}
body.archive-only .search-panel{
  margin-top:0;
}
body.archive-only .panel{
  box-shadow:0 5px 14px rgba(19,31,59,.06);
}
@media(max-width:980px){
  .objectives-grid{grid-template-columns:1fr;}
  .functions-list{columns:1;}
}
@media(max-width:620px){
  .presentation-panel{padding:22px 18px;}
  .presentation-panel h2{font-size:1.55rem;}
}


/* V25 footer institucional */
.official-footer{
  max-width:var(--max);
  margin:0 auto 34px;
  padding:0 18px;
  color:#5f6b7a;
}
.official-footer__top{
  background:#fff;
  border:1px solid var(--line);
  border-top:5px solid var(--navy);
  padding:22px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.official-footer__brand{
  display:flex;
  align-items:center;
  gap:13px;
  min-width:280px;
}
.official-footer__logo{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
}
.official-footer__logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.official-footer__brand strong{
  display:block;
  color:#111827;
  font-size:1.05rem;
  line-height:1;
  font-weight:900;
}
.official-footer__brand small{
  display:block;
  margin-top:5px;
  color:#5b6470;
  font-size:.66rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.official-footer__nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:14px;
}
.official-footer__nav a{
  color:#111827;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}
.official-footer__nav a:hover{
  color:var(--navy);
  text-decoration:none;
}
.official-footer__grid{
  background:#f8fafc;
  border-left:1px solid var(--line);
  border-right:1px solid var(--line);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
}
.official-footer__grid section{
  padding:18px 22px;
  border-right:1px solid var(--line);
}
.official-footer__grid section:last-child{
  border-right:0;
}
.official-footer__grid h3{
  margin:0 0 7px;
  color:#20345e;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.official-footer__grid p{
  margin:0;
  color:#4b5563;
  font-size:.84rem;
  line-height:1.52;
}
.official-footer__bottom{
  background:#fff;
  border:1px solid var(--line);
  padding:13px 22px;
  display:flex;
  justify-content:space-between;
  gap:14px;
  color:#5f6b7a;
  font-size:.78rem;
}
@media(max-width:900px){
  .official-footer__top{
    align-items:flex-start;
    flex-direction:column;
  }
  .official-footer__nav{
    justify-content:flex-start;
  }
  .official-footer__grid{
    grid-template-columns:1fr;
  }
  .official-footer__grid section{
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .official-footer__grid section:last-child{
    border-bottom:0;
  }
  .official-footer__bottom{
    flex-direction:column;
  }
}
@media print{
  .official-footer{
    display:none!important;
  }
}


/* V26 footer oscuro institucional */
.official-footer{
  display:none!important;
}
.dark-official-footer{
  margin-top:38px;
  background:#062b2e;
  color:#eef6f6;
  border-top:0;
}
.dark-official-footer__line{
  max-width:1140px;
  height:1px;
  margin:0 auto;
  background:rgba(255,255,255,.72);
}
.dark-official-footer__inner{
  max-width:1140px;
  min-height:144px;
  margin:0 auto;
  padding:28px 0 24px;
  display:grid;
  grid-template-columns:1.05fr 1.15fr 1.65fr 2.25fr;
  align-items:center;
  gap:30px;
}
.dark-official-footer__col span,
.dark-official-footer__col strong{
  display:block;
}
.dark-official-footer__col span{
  color:#ffffff;
  font-size:.76rem;
  font-weight:900;
  line-height:1.25;
}
.dark-official-footer__col strong{
  margin-top:3px;
  color:#ffffff;
  font-size:.82rem;
  font-weight:900;
  line-height:1.28;
}
.dark-official-footer__brand{
  display:flex;
  align-items:center;
  justify-content:center;
}
.dark-official-footer__bocal{
  display:flex;
  align-items:center;
  gap:13px;
  color:#fff;
}
.dark-official-footer__logo{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  filter:grayscale(1) brightness(0) invert(1);
  opacity:.88;
}
.dark-official-footer__logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.dark-official-footer__bocal strong{
  display:block;
  color:#fff;
  font-size:1.55rem;
  line-height:1;
  font-weight:950;
  letter-spacing:-.04em;
}
.dark-official-footer__bocal small{
  display:block;
  margin-top:5px;
  color:rgba(255,255,255,.78);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.dark-official-footer__state{
  display:flex;
  align-items:center;
  gap:18px;
  justify-content:flex-start;
}
.dark-official-footer__state img{
  width:74px;
  height:74px;
  object-fit:contain;
  filter:grayscale(1) brightness(0) invert(1);
  opacity:.82;
}
.dark-official-footer__state strong{
  display:block;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.42rem;
  line-height:1.1;
  font-weight:800;
}
.dark-official-footer__state small{
  display:block;
  margin-top:3px;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.05rem;
  line-height:1.15;
}
.dark-official-footer__bottom{
  max-width:1140px;
  margin:0 auto;
  padding:12px 0 18px;
  border-top:1px solid rgba(255,255,255,.13);
  display:flex;
  justify-content:space-between;
  gap:18px;
  color:rgba(255,255,255,.72);
  font-size:.76rem;
}
.dark-official-footer__bottom nav{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.dark-official-footer__bottom a{
  color:rgba(255,255,255,.82);
  font-weight:800;
}
.dark-official-footer__bottom a:hover{
  color:#fff;
  text-decoration:none;
}
@media(max-width:1000px){
  .dark-official-footer__line,
  .dark-official-footer__inner,
  .dark-official-footer__bottom{
    max-width:none;
    margin-left:22px;
    margin-right:22px;
  }
  .dark-official-footer__inner{
    grid-template-columns:1fr 1fr;
    gap:24px;
  }
  .dark-official-footer__brand{
    justify-content:flex-start;
  }
}
@media(max-width:640px){
  .dark-official-footer__inner{
    grid-template-columns:1fr;
    padding:24px 0;
  }
  .dark-official-footer__state img{
    width:58px;
    height:58px;
  }
  .dark-official-footer__state strong{
    font-size:1.18rem;
  }
  .dark-official-footer__state small{
    font-size:.95rem;
  }
  .dark-official-footer__bottom{
    flex-direction:column;
  }
  .dark-official-footer__bottom nav{
    justify-content:flex-start;
  }
}
@media print{
  .dark-official-footer{
    display:none!important;
  }
}


/* V27: títulos de leyes y tarjetas más llamativas */
.norm{
  position:relative;
  overflow:hidden;
  border-left:6px solid var(--navy);
}
.norm::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:6px;
  height:100%;
  background:linear-gradient(180deg,var(--navy),#42629b 60%,var(--gold));
}
.norm-body a{
  display:inline;
  color:#162f68;
  font-size:1.13rem;
  line-height:1.28;
  font-weight:950;
  letter-spacing:-.018em;
  text-decoration-thickness:2px;
  text-underline-offset:4px;
}
.norm-body a:hover{
  color:#0f2451;
}
.norm-ref{
  border-left:3px solid #d3b15f;
}
.norm-type{
  background:#eef3fb;
  border-color:#bfd0e8;
  color:#162f68;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
}
.republic-law-card__main a,
.law-main a{
  color:#162f68!important;
  font-size:1.14rem!important;
  line-height:1.28!important;
  font-weight:950!important;
  letter-spacing:-.018em;
}
.republic-law-card,
.law-card{
  position:relative;
  overflow:hidden;
}
.republic-law-card::before,
.law-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:6px;
  height:100%;
  background:linear-gradient(180deg,var(--navy),#42629b 60%,var(--gold));
}
.republic-law-card__meta,
.law-meta{
  border-left:3px solid var(--gold);
}
.republic-law-card__action a,
.law-action a{
  background:linear-gradient(180deg,#294a86,#1d315e)!important;
  border:1px solid #162f68;
}
.republic-law-card__action a:hover,
.law-action a:hover{
  background:linear-gradient(180deg,#1f3d76,#15284f)!important;
}
.law-publication-head h1,
.official-detail-head h1{
  color:#0f172a;
  font-size:2.15rem;
  line-height:1.08;
  letter-spacing:-.045em;
}
.law-publication-head h1::after,
.official-detail-head h1::after{
  content:"";
  display:block;
  width:92px;
  height:4px;
  margin-top:16px;
  background:linear-gradient(90deg,var(--navy),var(--gold));
}


/* V29: tablas y leyes más oficiales */
.panel{
  border:1px solid #cfd8e6;
  box-shadow:0 8px 20px rgba(19,31,59,.07);
}
.panel-head{
  border-bottom:1px solid #e3e9f2;
  padding-bottom:14px;
}
.panel-head h2{
  font-size:1.68rem;
  letter-spacing:-.045em;
}
.panel-head h2::after{
  content:"";
  display:block;
  width:82px;
  height:3px;
  margin-top:10px;
  background:linear-gradient(90deg,var(--navy),var(--gold));
}
.norm-list{
  gap:14px;
}
.norm{
  grid-template-columns:230px minmax(0,1fr) 124px;
  padding:0;
  background:#fff;
  border:1px solid #d4deeb;
  border-left:0;
  box-shadow:0 6px 16px rgba(19,31,59,.06);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.norm:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(19,31,59,.10);
  border-color:#c2d0e3;
}
.norm-ref{
  align-self:stretch;
  background:linear-gradient(180deg,#f4f7fb,#eef3f9);
  border:0;
  border-right:1px solid #dbe4ef;
  border-left:6px solid var(--navy);
  padding:17px 15px;
  display:flex;
  align-items:flex-start;
  color:#0f172a;
  font-size:.79rem;
  font-weight:900;
}
.norm-body{
  padding:17px 4px 17px 0;
}
.norm-body a{
  display:inline;
  color:#142f66;
  font-size:1.16rem;
  line-height:1.28;
  font-weight:950;
  letter-spacing:-.022em;
  text-decoration:none;
}
.norm-body a:hover{
  color:#0d214c;
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:4px;
}
.norm-body p{
  margin-top:9px;
  color:#263244;
  line-height:1.55;
}
.norm-body small{
  color:#5b667a;
  font-weight:700;
}
.norm-type{
  align-self:start;
  justify-self:end;
  margin:17px 15px 0 0;
  border-radius:999px;
  background:#edf3fb;
  color:#17315f;
  border:1px solid #bdd0eb;
  font-weight:950;
}
.native table,
.document-body table,
.official-paper-body table{
  width:100%;
  border-collapse:separate!important;
  border-spacing:0!important;
  border:1px solid #d5deea!important;
  background:#fff;
  overflow:hidden;
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
  font-size:.92rem;
  box-shadow:0 5px 14px rgba(19,31,59,.05);
}
.native th,
.document-body th,
.official-paper-body th{
  background:linear-gradient(180deg,#eef4fb,#e5edf7)!important;
  color:#17315f!important;
  text-align:left!important;
  padding:12px 14px!important;
  border-bottom:1px solid #cfd9e8!important;
  font-size:.72rem!important;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:950!important;
}
.native td,
.document-body td,
.official-paper-body td{
  padding:12px 14px!important;
  border-bottom:1px solid #e4eaf2!important;
  vertical-align:top;
  color:#1f2937;
}
.native tr:nth-child(even) td,
.document-body tr:nth-child(even) td,
.official-paper-body tr:nth-child(even) td{
  background:#fafcff;
}
.native tr:hover td,
.document-body tr:hover td,
.official-paper-body tr:hover td{
  background:#f3f7fd;
}
.native tr:last-child td,
.document-body tr:last-child td,
.official-paper-body tr:last-child td{
  border-bottom:0!important;
}
.law-publication-head,
.official-detail-head{
  border-left:7px solid var(--navy);
  box-shadow:0 12px 28px rgba(19,31,59,.10);
}
.law-publication-head h1,
.official-detail-head h1{
  color:#0f172a;
  font-size:2.25rem;
  line-height:1.07;
  letter-spacing:-.05em;
}
.law-publication-head h1::after,
.official-detail-head h1::after{
  content:"";
  display:block;
  width:96px;
  height:4px;
  margin-top:15px;
  background:linear-gradient(90deg,var(--navy),var(--gold));
}
@media(max-width:980px){
  .norm{
    grid-template-columns:1fr;
  }
  .norm-ref{
    border-right:0;
    border-bottom:1px solid #dbe4ef;
  }
  .norm-body{
    padding:16px;
  }
  .norm-type{
    justify-self:start;
    margin:0 0 16px 16px;
  }
}


/* V31: títulos de leyes/sentencias en azul y footer con degradado */
:root{
  --title-blue:#005aa0;
  --title-blue-dark:#003f7a;
  --footer-blue-1:#002f6c;
  --footer-blue-2:#005aa0;
  --footer-blue-3:#0b74bd;
}
.norm-body a,
.republic-law-card__main a,
.law-main a,
.sentence-main a,
.sentencia-main a,
.item-main a{
  color:var(--title-blue)!important;
  font-size:1.28rem!important;
  line-height:1.22!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
}
.norm-body a:hover,
.republic-law-card__main a:hover,
.law-main a:hover,
.sentence-main a:hover,
.sentencia-main a:hover,
.item-main a:hover{
  color:var(--title-blue-dark)!important;
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:5px;
}
.law-publication-head h1,
.official-detail-head h1,
.document-head strong{
  color:var(--title-blue)!important;
}
.panel-head h2,
.head h2{
  color:#0b2f60;
}
.dark-official-footer{
  background:linear-gradient(120deg,var(--footer-blue-1) 0%,var(--footer-blue-2) 58%,var(--footer-blue-3) 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
}
.dark-official-footer__line{
  background:rgba(255,255,255,.82)!important;
}
.dark-official-footer__bottom{
  border-top:1px solid rgba(255,255,255,.22)!important;
}
.dark-official-footer__logo,
.dark-official-footer__state img{
  filter:grayscale(1) brightness(0) invert(1) drop-shadow(0 2px 4px rgba(0,0,0,.18))!important;
}
@media(max-width:700px){
  .norm-body a,
  .republic-law-card__main a,
  .law-main a,
  .sentence-main a,
  .sentencia-main a,
  .item-main a{
    font-size:1.16rem!important;
  }
}


/* V32: tablas oficiales premium */
.official-table-wrap,
.native,
.document-body,
.official-paper-body{
  overflow-x:auto;
}
.official-table,
.native table,
.document-body table,
.official-paper-body table{
  width:100%;
  min-width:760px;
  border-collapse:separate!important;
  border-spacing:0!important;
  border:1px solid #c8d4e5!important;
  background:#fff!important;
  overflow:hidden;
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;
  font-size:.92rem!important;
  box-shadow:0 10px 24px rgba(19,31,59,.08)!important;
}
.official-table thead,
.native table thead,
.document-body table thead,
.official-paper-body table thead{
  position:relative;
}
.official-table th,
.native th,
.document-body th,
.official-paper-body th{
  background:linear-gradient(180deg,#173f7a,#0e2f61)!important;
  color:#fff!important;
  text-align:left!important;
  padding:14px 15px!important;
  border:0!important;
  border-right:1px solid rgba(255,255,255,.18)!important;
  font-size:.72rem!important;
  text-transform:uppercase!important;
  letter-spacing:.075em!important;
  font-weight:950!important;
  white-space:nowrap;
}
.official-table th:last-child,
.native th:last-child,
.document-body th:last-child,
.official-paper-body th:last-child{
  border-right:0!important;
}
.official-table td,
.native td,
.document-body td,
.official-paper-body td{
  padding:14px 15px!important;
  border:0!important;
  border-bottom:1px solid #e1e8f1!important;
  border-right:1px solid #edf1f7!important;
  vertical-align:top!important;
  color:#1f2937!important;
  background:#fff!important;
}
.official-table td:last-child,
.native td:last-child,
.document-body td:last-child,
.official-paper-body td:last-child{
  border-right:0!important;
}
.official-table tr:nth-child(even) td,
.native tr:nth-child(even) td,
.document-body tr:nth-child(even) td,
.official-paper-body tr:nth-child(even) td{
  background:#f8fbff!important;
}
.official-table tr:hover td,
.native tr:hover td,
.document-body tr:hover td,
.official-paper-body tr:hover td{
  background:#eef5ff!important;
}
.official-table tr:last-child td,
.native tr:last-child td,
.document-body tr:last-child td,
.official-paper-body tr:last-child td{
  border-bottom:0!important;
}
.official-table td:first-child,
.native td:first-child,
.document-body td:first-child,
.official-paper-body td:first-child{
  font-weight:900;
  color:#0f2d5c!important;
}
.official-table a,
.native table a,
.document-body table a,
.official-paper-body table a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:4px 10px;
  border-radius:999px;
  background:#edf4ff;
  border:1px solid #bad0ee;
  color:#005aa0!important;
  font-weight:950!important;
  font-size:.78rem;
  text-decoration:none!important;
  white-space:nowrap;
}
.official-table a:hover,
.native table a:hover,
.document-body table a:hover,
.official-paper-body table a:hover{
  background:#005aa0;
  border-color:#005aa0;
  color:#fff!important;
}
.official-table caption,
.native table caption,
.document-body table caption,
.official-paper-body table caption{
  caption-side:top;
  text-align:left;
  padding:0 0 10px;
  color:#0f2d5c;
  font-weight:950;
  font-size:1rem;
}
.official-table-wrap{
  margin:0 0 20px;
  padding:0;
  border-radius:3px;
}
.table-note{
  margin:8px 0 0;
  color:#64748b;
  font-size:.82rem;
}
@media(max-width:800px){
  .official-table,
  .native table,
  .document-body table,
  .official-paper-body table{
    min-width:720px;
  }
  .official-table-wrap::after{
    content:"Deslice horizontalmente para ver toda la tabla";
    display:block;
    padding:8px 2px 0;
    color:#64748b;
    font-size:.78rem;
    font-weight:700;
  }
}


/* V33: detalle de ley más limpio */
.detail-toolbar{
  margin:16px 0 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.detail-toolbar .back-link-official{
  margin:0;
}
.detail-toolbar .document-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.law-publication-head.official-detail-head{
  margin-top:12px;
  background:#fff;
  border:1px solid #cfd8e6;
  border-left:0;
  border-top:5px solid var(--navy);
  box-shadow:0 8px 22px rgba(19,31,59,.07);
  padding:26px 30px 24px;
  display:block;
}
.law-publication-head.official-detail-head p{
  margin:0 0 10px;
  color:#40516c;
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.law-publication-head.official-detail-head h1{
  max-width:980px;
  margin:0;
  color:#005aa0!important;
  font-size:2rem;
  line-height:1.08;
  letter-spacing:-.045em;
}
.law-publication-head.official-detail-head h1::after{
  width:82px;
  height:3px;
  margin-top:14px;
  background:linear-gradient(90deg,var(--navy),var(--gold));
}
.law-summary{
  max-width:930px;
  margin-top:14px;
  color:#1f2937;
  font-size:1rem;
  line-height:1.58;
}
.law-meta-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  margin:14px 0 0;
  background:#fff;
  border:1px solid #cfd8e6;
  box-shadow:0 6px 16px rgba(19,31,59,.05);
}
.law-meta-item{
  box-shadow:none!important;
  border:0!important;
  border-right:1px solid #e1e8f1!important;
  padding:14px 16px!important;
  min-height:74px;
}
.law-meta-item:last-child{
  border-right:0!important;
}
.law-meta-item span{
  color:#64748b!important;
  font-size:.68rem!important;
  letter-spacing:.075em!important;
}
.law-meta-item strong{
  color:#0f172a!important;
  font-size:.94rem!important;
}
.official-paper{
  margin-top:16px;
}
.official-paper-head{
  border-bottom:3px solid #0f172a!important;
}
@media(max-width:980px){
  .detail-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .law-meta-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .law-meta-item{
    border-bottom:1px solid #e1e8f1!important;
  }
}
@media(max-width:640px){
  .law-publication-head.official-detail-head{
    padding:20px 18px;
  }
  .law-publication-head.official-detail-head h1{
    font-size:1.48rem;
  }
  .law-meta-grid{
    grid-template-columns:1fr;
  }
  .law-meta-item{
    border-right:0!important;
  }
}


/* V34: home más institucional y profesional */
body.home-clean{
  background:linear-gradient(180deg,#eef3f8 0%,#f6f8fb 48%,#eef1f5 100%);
}
body.home-clean .shell{
  padding-top:20px;
}
.hero{
  min-height:132px!important;
  padding:30px 34px!important;
  border-radius:0!important;
  box-shadow:0 14px 30px rgba(19,31,59,.14)!important;
  background:
    radial-gradient(circle at 12% 0%,rgba(255,255,255,.12) 0,rgba(255,255,255,0) 30%),
    linear-gradient(125deg,#203867 0%,#264986 52%,#1b356f 100%)!important;
  border-bottom:5px solid var(--gold);
}
.hero p{
  font-size:.76rem!important;
  letter-spacing:.08em!important;
  text-transform:uppercase;
  color:#dce8f7!important;
}
.hero h1{
  font-size:2.05rem!important;
  letter-spacing:-.045em!important;
}
.hero h1 span{
  color:#e2c773!important;
}
.hero a{
  min-width:150px;
  border:1px solid rgba(255,255,255,.75)!important;
  background:rgba(255,255,255,.08)!important;
  box-shadow:0 6px 14px rgba(0,0,0,.16);
}
.hero a:hover{
  background:rgba(255,255,255,.16)!important;
}
.main-layout{
  grid-template-columns:minmax(0,1fr) 270px!important;
  gap:20px!important;
  margin-top:18px!important;
}
.section-list{
  display:flex!important;
  flex-direction:column;
  gap:12px;
}
.section-row{
  margin-top:0!important;
  min-height:auto!important;
  grid-template-columns:86px minmax(0,1fr)!important;
}
.section-number{
  font-size:5.35rem!important;
  line-height:.88!important;
  color:#244b8c!important;
  text-shadow:0 6px 12px rgba(19,31,59,.22)!important;
}
.section-card{
  min-height:96px;
  border-radius:3px!important;
  box-shadow:0 8px 18px rgba(19,31,59,.16)!important;
  grid-template-columns:42px minmax(0,1fr) 112px!important;
  gap:14px!important;
  padding:18px 18px!important;
  border:1px solid rgba(255,255,255,.12);
  position:relative;
  overflow:hidden;
}
.section-card::after{
  content:"";
  position:absolute;
  right:-80px;
  top:-110px;
  width:230px;
  height:230px;
  border-radius:50%;
  background:rgba(255,255,255,.055);
}
.section-card > *{
  position:relative;
  z-index:1;
}
.row-1 .section-card{
  background:linear-gradient(120deg,#223b73,#253f7d)!important;
}
.row-2 .section-card{
  background:linear-gradient(120deg,#355d9b,#496fa8)!important;
}
.row-3 .section-card{
  background:linear-gradient(120deg,#748cac,#879db9)!important;
}
.vertical{
  font-size:.72rem!important;
  letter-spacing:.08em;
}
.section-card strong{
  font-size:1.22rem!important;
  letter-spacing:-.02em;
}
.section-card p{
  margin-top:5px!important;
  max-width:760px;
  font-size:.9rem!important;
}
.section-actions{
  gap:8px!important;
}
.section-actions a{
  min-width:92px!important;
  min-height:34px!important;
  border-radius:6px!important;
  background:linear-gradient(180deg,#242b36,#171c24)!important;
  box-shadow:0 6px 14px rgba(0,0,0,.22)!important;
}
.section-actions a:hover{
  transform:translateY(-1px);
}
.side{
  margin-top:0!important;
  border:1px solid #cbd6e5!important;
  box-shadow:0 10px 22px rgba(19,31,59,.08);
  background:#fff!important;
}
.side-top{
  background:#f8fbff;
}
.side-top a,
.side-top button{
  min-height:40px!important;
}
.side-block{
  padding:18px 16px!important;
}
.side-block strong{
  color:#0f172a;
  font-size:1rem!important;
}
.side-block small{
  color:#64748b;
  font-size:.86rem;
}
.republic-side-list{
  max-height:300px!important;
  padding-right:4px;
}
.republic-side-list a,
.rep-list a{
  min-height:38px!important;
  border-radius:0!important;
  background:#f6f9fe!important;
  border:1px solid #d8e3f1!important;
  color:#18396d!important;
  font-weight:900!important;
}
.republic-side-list a:hover,
.rep-list a:hover{
  background:#eaf2fd!important;
  transform:translateX(2px);
}
.side-link{
  border-radius:2px;
  background:linear-gradient(180deg,#294a86,#1d315e)!important;
  box-shadow:0 5px 12px rgba(19,31,59,.16);
}
.presentation-panel{
  margin-top:24px!important;
  border:1px solid #cbd6e5!important;
  border-top:0!important;
  border-left:6px solid var(--navy)!important;
  box-shadow:0 12px 28px rgba(19,31,59,.08)!important;
  padding:34px 38px!important;
  background:
    linear-gradient(90deg,rgba(35,59,115,.035),rgba(255,255,255,0) 42%),
    #fff!important;
}
.presentation-kicker{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  background:#eef4ff;
  border:1px solid #c8d9f1;
  color:#173f7a!important;
  font-size:.68rem!important;
}
.presentation-panel h2{
  margin-top:14px!important;
  color:#0f172a;
  font-size:2rem!important;
}
.presentation-panel h2::after{
  content:"";
  display:block;
  width:84px;
  height:4px;
  margin-top:12px;
  background:linear-gradient(90deg,var(--navy),var(--gold));
}
.presentation-panel > p{
  max-width:1060px;
  font-size:1rem;
}
.objectives-grid{
  gap:16px!important;
}
.objectives-grid article{
  background:linear-gradient(180deg,#f8fbff,#f3f7fc)!important;
  border:1px solid #d4deeb!important;
  border-top:4px solid var(--navy);
  box-shadow:0 5px 12px rgba(19,31,59,.04);
}
.objectives-grid span{
  color:#005aa0!important;
}
.functions-list{
  background:#f8fbff;
  border:1px solid #d8e3f1;
  padding:18px 20px 14px 34px!important;
  margin-top:10px!important;
}
.functions-list li{
  padding-right:16px;
}
@media(max-width:1000px){
  .main-layout{
    grid-template-columns:1fr!important;
  }
  .side{
    margin-top:4px!important;
  }
}
@media(max-width:760px){
  .hero h1{
    font-size:1.45rem!important;
  }
  .section-row{
    grid-template-columns:52px minmax(0,1fr)!important;
  }
  .section-number{
    font-size:3.7rem!important;
  }
  .section-card{
    grid-template-columns:32px minmax(0,1fr)!important;
  }
  .section-actions{
    grid-column:1/-1;
    flex-direction:row!important;
    justify-content:flex-start!important;
  }
  .presentation-panel{
    padding:24px 18px!important;
  }
}


/* V35: títulos más llamativos y PDF con recuadro */
:root{
  --law-title-blue:#005aa0;
  --law-title-blue-dark:#003b73;
  --law-box-blue:#005aa0;
}
.norm-body a,
.republic-law-card__main a,
.law-main a,
.sentence-main a,
.sentencia-main a,
.item-main a{
  display:inline-block!important;
  color:var(--law-title-blue)!important;
  font-size:1.36rem!important;
  line-height:1.15!important;
  font-weight:1000!important;
  letter-spacing:-.045em!important;
  text-decoration:none!important;
  position:relative;
  padding-bottom:5px;
}
.norm-body a::after,
.republic-law-card__main a::after,
.law-main a::after,
.sentence-main a::after,
.sentencia-main a::after,
.item-main a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:74px;
  height:3px;
  background:linear-gradient(90deg,var(--law-title-blue),var(--gold));
  transform-origin:left;
  transform:scaleX(.72);
  transition:transform .18s ease;
}
.norm-body a:hover,
.republic-law-card__main a:hover,
.law-main a:hover,
.sentence-main a:hover,
.sentencia-main a:hover,
.item-main a:hover{
  color:var(--law-title-blue-dark)!important;
}
.norm-body a:hover::after,
.republic-law-card__main a:hover::after,
.law-main a:hover::after,
.sentence-main a:hover::after,
.sentencia-main a:hover::after,
.item-main a:hover::after{
  transform:scaleX(1);
}
.law-publication-head.official-detail-head h1,
.law-publication-head h1,
.official-detail-head h1{
  color:var(--law-title-blue)!important;
  font-size:2.35rem!important;
  line-height:1.04!important;
  letter-spacing:-.06em!important;
  font-weight:1000!important;
}
.law-publication-head.official-detail-head h1::after,
.law-publication-head h1::after,
.official-detail-head h1::after{
  width:112px!important;
  height:5px!important;
  background:linear-gradient(90deg,var(--law-title-blue),var(--gold))!important;
}
@media(max-width:760px){
  .norm-body a,
  .republic-law-card__main a,
  .law-main a,
  .sentence-main a,
  .sentencia-main a,
  .item-main a{
    font-size:1.18rem!important;
  }
  .law-publication-head.official-detail-head h1,
  .law-publication-head h1,
  .official-detail-head h1{
    font-size:1.58rem!important;
  }
}

/* PDF / impresión del detalle: recuadro oficial y logo monocromático */
@media print{
  :root{
    --law-box-blue:#005aa0;
  }
  body{
    background:#fff!important;
  }
  .top,
  .site-header,
  .breadcrumb,
  .detail-toolbar,
  .document-actions,
  .dark-official-footer,
  .official-footer,
  .footer,
  .law-publication-head.official-detail-head,
  .law-meta-grid{
    display:none!important;
  }
  .shell{
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  .official-paper,
  .document{
    display:block!important;
    margin:0 auto!important;
    padding:0!important;
    border:3px solid var(--law-box-blue)!important;
    box-shadow:none!important;
    width:100%!important;
    max-width:none!important;
    min-height:auto!important;
    background:#fff!important;
  }
  .official-paper-head,
  .document-head{
    border:0!important;
    border-bottom:3px solid var(--law-box-blue)!important;
    background:#fff!important;
    padding:12mm 12mm 8mm!important;
    display:grid!important;
    grid-template-columns:24mm 1fr!important;
    gap:8mm!important;
    align-items:center!important;
  }
  .document-logo,
  .official-paper-head .document-logo{
    width:22mm!important;
    height:22mm!important;
    border:2px solid var(--law-box-blue)!important;
    padding:2mm!important;
    display:grid!important;
    place-items:center!important;
  }
  .document-logo img,
  .official-paper-head .document-logo img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    filter:sepia(1) saturate(900%) hue-rotate(175deg) brightness(.62) contrast(1.45)!important;
    opacity:1!important;
  }
  .document-head strong,
  .official-paper-head strong{
    color:var(--law-box-blue)!important;
    font-size:24pt!important;
    line-height:1!important;
    font-weight:900!important;
  }
  .document-head small,
  .official-paper-head small{
    color:#111!important;
    font-size:11pt!important;
    letter-spacing:.03em!important;
  }
  .official-paper-body,
  .document-body{
    max-width:none!important;
    padding:10mm 12mm 14mm!important;
    font-size:10.5pt!important;
    line-height:1.45!important;
  }
  .official-paper-body::before,
  .document-body::before{
    content:"DOCUMENTO PUBLICADO EN LA SEDE ELECTRÓNICA DEL BOCAL";
    display:block;
    color:var(--law-box-blue);
    font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
    font-size:8.5pt;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
    border-bottom:1.5px solid var(--law-box-blue);
    padding-bottom:3mm;
    margin-bottom:6mm;
  }
  .official-paper-body h1,
  .document-body h1{
    color:var(--law-box-blue)!important;
    font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;
    font-size:18pt!important;
    line-height:1.12!important;
    letter-spacing:-.02em!important;
    margin:0 0 6mm!important;
    display:block!important;
  }
  .official-paper-body h2,
  .document-body h2{
    color:var(--law-box-blue)!important;
    border-bottom:1px solid var(--law-box-blue);
    padding-bottom:2mm;
  }
  .official-paper-body table,
  .document-body table{
    border:1.5px solid var(--law-box-blue)!important;
    box-shadow:none!important;
  }
  .official-paper-body th,
  .document-body th{
    background:var(--law-box-blue)!important;
    color:#fff!important;
  }
}


/* V36: ocultar Publicador */
.law-meta-item:has(span),
.document-body dt,
.official-paper-body dt{
  /* fallback rules below handle legacy content */
}
.law-meta-item span{
  text-transform:uppercase;
}
.law-meta-item span:is(:where(*)){
}
/* Hide raw definition list entries named Publicador when browser supports :has */
.official-paper-body dt:has(+ dd),
.document-body dt:has(+ dd){
}
.official-paper-body dt,
.document-body dt{
}
.official-paper-body dt:nth-last-child(n),
.document-body dt:nth-last-child(n){
}
/* Direct class-based cleanup added by JS-free server rendering */
.meta-publicador,
.publicador-field{
  display:none!important;
}


/* V37: tablas ASCII convertidas a tablas reales */
.generated-table-wrap{
  margin:18px 0 22px!important;
  max-width:100%;
  overflow:auto;
  border:1px solid #c8d4e5;
  box-shadow:0 8px 20px rgba(19,31,59,.07);
  background:#fff;
}
.generated-table{
  margin:0!important;
  min-width:680px!important;
  box-shadow:none!important;
  border:0!important;
}
.generated-table th{
  background:linear-gradient(180deg,#173f7a,#0e2f61)!important;
  color:#fff!important;
  font-size:.72rem!important;
  text-transform:uppercase!important;
  letter-spacing:.065em!important;
  white-space:nowrap!important;
}
.generated-table td{
  font-size:.9rem!important;
  line-height:1.42!important;
}
.ascii-table-fallback{
  white-space:pre-wrap;
  background:#f8fbff;
  border:1px solid #c8d4e5;
  padding:14px 16px;
  font-family:"Courier New",monospace;
  font-size:.86rem;
  overflow:auto;
}
@media print{
  .generated-table-wrap{
    box-shadow:none!important;
    border:1.5px solid var(--law-box-blue)!important;
  }
  .generated-table{
    min-width:0!important;
  }
  .generated-table th{
    background:var(--law-box-blue)!important;
    color:#fff!important;
  }
}


/* V38: home blocks solo en inicio */
body:not(.home-clean) .hero,
body:not(.home-clean) .main-layout,
body:not(.home-clean) .presentation-panel{
  display:none!important;
}

/* V38: refuerzo visual para tablas generadas desde texto */
.generated-table-wrap{
  margin:18px 0 22px!important;
  max-width:100%;
  overflow:auto;
  border:1px solid #c8d4e5;
  box-shadow:0 8px 20px rgba(19,31,59,.07);
  background:#fff;
}
.generated-table{
  width:100%!important;
  min-width:680px!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
.generated-table th{
  background:linear-gradient(180deg,#173f7a,#0e2f61)!important;
  color:#fff!important;
  padding:13px 14px!important;
  font-size:.72rem!important;
  text-transform:uppercase!important;
  letter-spacing:.065em!important;
  white-space:nowrap!important;
}
.generated-table td{
  padding:12px 14px!important;
  border-bottom:1px solid #e4eaf2!important;
  border-right:1px solid #edf1f7!important;
  font-size:.9rem!important;
  line-height:1.42!important;
}
.generated-table tr:nth-child(even) td{
  background:#f8fbff!important;
}
.generated-table tr:hover td{
  background:#eef5ff!important;
}

@media(max-width:1100px){.law-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.law-meta-grid{grid-template-columns:1fr}.official-paper-body{padding:22px 18px 32px}}
@media print{.back-link-official,.law-meta-grid,.document-actions{display:none!important}.official-detail-head{border:0;box-shadow:none;padding:0;margin-bottom:8mm}.official-paper{border:0;box-shadow:none}.official-paper-body{padding:14px 0 0}}

@media(max-width:1100px){.main-layout{grid-template-columns:1fr}.quick{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.top-inner{align-items:flex-start;flex-direction:column;padding:14px 16px}.nav{justify-content:flex-start;gap:12px}.brand{min-width:0}.hero{grid-template-columns:1fr}.search{grid-template-columns:1fr 1fr}.norm{grid-template-columns:1fr}.document-head{grid-template-columns:54px 1fr}.document-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:700px){.shell{padding:14px 10px 32px}.hero{padding:18px}.hero h1{font-size:1.52rem}.section-row{grid-template-columns:54px minmax(0,1fr)}.section-number{font-size:4rem}.section-card{grid-template-columns:36px minmax(0,1fr);padding:14px 12px}.section-actions{grid-column:1/-1;flex-direction:row;justify-content:flex-start;margin-top:10px}.quick{grid-template-columns:1fr}.panel{padding:18px 14px}.search{grid-template-columns:1fr}.document-body{padding:22px}.footer{flex-direction:column}}
@media print{@page{size:A4;margin:15mm 13mm}body{background:#fff;color:#000}.top,.hero,.main-layout,.search-panel,.footer,.breadcrumb,.document-actions,.quick{display:none!important}.shell{max-width:none;margin:0;padding:0}.document{border:0;box-shadow:none;margin:0}.document-head{padding:0 0 12px}.document-body{padding:16px 0 0;max-width:none}.document-body p,.document-body li{font-size:10.5pt;line-height:1.45}}

/* === BOCAL: diseño oficial reforzado para cuerpo de leyes === */
.law-publication-head.official-detail-head{background:linear-gradient(135deg,#fff 0%,#f6f8fc 100%);border:1px solid #cfd8e6;border-left:7px solid #1f3d73;box-shadow:0 12px 26px rgba(20,34,61,.10);padding:28px 32px}.law-publication-head.official-detail-head p{margin:0 0 8px;color:#1f3d73;font-size:.74rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.law-publication-head.official-detail-head h1{margin:0;color:#081326;font-size:2rem;line-height:1.1;letter-spacing:-.035em;font-weight:950}.law-summary{margin-top:14px;max-width:860px;color:#334155;font-family:Georgia,"Times New Roman",serif;font-size:1.03rem;line-height:1.62}.law-meta-grid{margin-top:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.law-meta-item{background:#fff;border:1px solid #d8e0ec;border-top:3px solid #1f3d73;padding:11px 13px;box-shadow:0 4px 12px rgba(20,34,61,.05)}.law-meta-item span{display:block;color:#657187;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.law-meta-item strong{display:block;margin-top:5px;color:#0f172a;font-size:.9rem}.official-paper{margin:22px auto 0;max-width:1040px;background:#fff;border:1px solid #cbd5e1;box-shadow:0 22px 48px rgba(15,23,42,.12)}.official-paper-head{padding:18px 28px;background:#102f60;border-bottom:5px solid #d2b35f;color:#fff;grid-template-columns:58px minmax(0,1fr) auto}.official-paper-head .document-logo{background:#fff;border-radius:10px;padding:7px}.official-paper-head strong{color:#fff;font-size:1.45rem;letter-spacing:-.02em}.official-paper-head small{color:#dbe6f7;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.official-paper-body{max-width:none;padding:44px 58px 58px;font-family:Georgia,"Times New Roman",serif;color:#111827;font-size:1.075rem;line-height:1.76}.official-paper-body>h1:first-child,.official-paper-body>h2:first-child,.official-paper-body>h3:first-child,.official-paper-body>.bo-raw-content>h1:first-child,.official-paper-body>.bo-raw-content>h2:first-child,.official-paper-body>.bo-raw-content>h3:first-child{display:none!important}.official-paper-body p{margin:0 0 15px;font-size:1.075rem;line-height:1.76}.official-paper-body p:empty{display:none}.official-paper-body .legal-structure-heading{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif}.official-paper-body .legal-structure-formula{margin:26px 0 8px;color:#102f60;font-size:.82rem;line-height:1.2;font-weight:950;letter-spacing:.08em;text-transform:uppercase;border-bottom:2px solid #d2b35f;padding-bottom:6px;width:max-content;max-width:100%}.official-paper-body .legal-structure-major{margin:30px 0 18px;padding:13px 18px;background:linear-gradient(90deg,#102f60,#254d87);border-left:6px solid #d2b35f;color:#fff;font-size:.95rem;line-height:1.35;font-weight:950;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 8px 18px rgba(16,47,96,.14)}.official-paper-body .legal-structure-article{margin:21px 0 9px;padding:10px 14px;background:#f2f6fb;border-left:5px solid #102f60;color:#071326;font-size:1rem;line-height:1.35;font-weight:950}.official-paper-body table{width:100%;border-collapse:separate;border-spacing:0;margin:26px 0 30px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:.86rem;border:1px solid #cbd5e1;box-shadow:0 10px 24px rgba(15,23,42,.08);overflow:hidden}.official-paper-body th{background:#102f60!important;color:#fff!important;border:0!important;padding:12px 13px!important;text-align:left;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;font-weight:950}.official-paper-body td{background:#fff;border:0!important;border-bottom:1px solid #e2e8f0!important;padding:12px 13px!important;vertical-align:top;color:#111827}.official-paper-body tr:nth-child(even) td{background:#f8fafc}.official-download-btn{background:#102f60!important;color:#fff!important;border:0!important;box-shadow:0 8px 18px rgba(16,47,96,.22)}@media(max-width:760px){.law-meta-grid{grid-template-columns:1fr 1fr}.official-paper-body{padding:30px 24px 38px;font-size:1rem}.law-publication-head.official-detail-head{grid-template-columns:1fr;padding:22px}.law-publication-head.official-detail-head h1{font-size:1.55rem}}


/* V25: estructura jurídica destacada en leyes y PDF/vista web */
.official-paper-body{
  font-family:Georgia,"Times New Roman",serif;
  color:#101827;
  background:#fff;
}
.official-paper-body .bo-raw-content > .legal-structure-heading:first-child,
.official-paper-body .legal-structure-heading:first-child{
  display:block!important;
}
.official-paper-body .legal-structure-heading{
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
  letter-spacing:.01em;
}
.official-paper-body .legal-structure-major{
  display:block;
  margin:30px 0 18px;
  padding:13px 18px 13px 22px;
  background:linear-gradient(90deg,#18366c,#254d8f);
  border-left:6px solid var(--gold);
  color:#fff!important;
  font-size:.98rem!important;
  line-height:1.35!important;
  font-weight:900;
  text-transform:uppercase;
  box-shadow:0 8px 18px rgba(25,48,91,.14);
}
.official-paper-body .legal-structure-article{
  display:block;
  margin:22px 0 8px;
  padding:10px 14px 10px 16px;
  background:#f2f6fc;
  border:1px solid #d7e2f0;
  border-left:5px solid var(--navy);
  color:#0f1f3d!important;
  font-size:.98rem!important;
  line-height:1.45!important;
  font-weight:900;
  border-radius:0 6px 6px 0;
}
.official-paper-body .legal-structure-formula{
  display:block;
  width:max-content;
  max-width:100%;
  margin:22px 0 10px;
  padding:0 0 7px;
  color:#0f1f3d!important;
  font-size:.90rem!important;
  line-height:1.35!important;
  font-weight:900;
  text-transform:uppercase;
  border-bottom:3px solid var(--gold);
}
.official-paper-body .legal-structure-major + p,
.official-paper-body .legal-structure-article + p,
.official-paper-body .legal-structure-formula + p{
  margin-top:8px;
}
.official-paper-body p{
  margin:0 0 13px;
  text-align:justify;
  hyphens:auto;
}
.official-paper-body table{
  margin:24px 0 28px!important;
  border:1px solid #ccd6e3!important;
  box-shadow:0 8px 18px rgba(19,31,59,.08);
}
.official-paper-body th{
  background:#17366d!important;
  color:#fff!important;
  border-bottom:0!important;
  font-size:.76rem!important;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.official-paper-body td{
  background:#fff!important;
  font-size:.88rem!important;
}
.official-paper-body tr:nth-child(even) td{
  background:#f7f9fc!important;
}
@media(max-width:760px){
  .official-paper-body{padding:24px 18px 32px!important}
  .official-paper-body .legal-structure-major{font-size:.9rem!important;padding:12px 14px}
  .official-paper-body .legal-structure-article{font-size:.92rem!important}
}


/* V50 base from V49: página de ley con lateral izquierdo, cuerpo oficial limpio y PDF coherente */
.detail-page-layout{
  margin-top:16px;
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:20px;
  align-items:start;
}
.detail-left-panel{
  position:sticky;
  top:92px;
  background:#fff;
  border:1px solid #cfd8e6;
  border-top:5px solid #102f60;
  box-shadow:0 14px 30px rgba(15,23,42,.08);
  padding:18px;
}
.detail-left-panel__brand{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding-bottom:14px;
  margin-bottom:14px;
  border-bottom:1px solid #dbe3ef;
}
.detail-left-panel__brand span{width:46px;height:46px;display:grid;place-items:center}
.detail-left-panel__brand img{width:100%;height:100%;object-fit:contain}
.detail-left-panel__brand strong{display:block;color:#005aa0;font-size:1.15rem;line-height:1;font-weight:950;letter-spacing:-.025em}
.detail-left-panel__brand small{display:block;margin-top:4px;color:#64748b;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900}
.detail-left-panel a,
.detail-left-panel button{
  width:100%;
  min-height:40px;
  margin-top:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #cbd5e1;
  border-radius:6px;
  background:#fff;
  color:#102f60;
  font-size:.82rem;
  font-weight:900;
  text-decoration:none;
  cursor:pointer;
}
.detail-left-panel .official-download-btn{
  background:#102f60!important;
  color:#fff!important;
  border-color:#102f60!important;
  box-shadow:0 8px 18px rgba(16,47,96,.20);
}
.detail-left-panel p{
  margin:14px 0 0;
  padding-top:12px;
  border-top:1px solid #e2e8f0;
  color:#64748b;
  font-size:.78rem;
  line-height:1.45;
}
.detail-main-panel{min-width:0}
.official-paper{
  margin:0 auto 0!important;
  max-width:1060px!important;
  border:1px solid #cbd5e1!important;
  box-shadow:0 22px 46px rgba(15,23,42,.10)!important;
}
.official-paper-head{
  min-height:82px;
  padding:18px 30px!important;
  background:#fff!important;
  color:#0f172a!important;
  border-bottom:4px solid #102f60!important;
  grid-template-columns:54px minmax(0,1fr)!important;
}
.official-paper-head .document-logo{
  width:48px!important;
  height:48px!important;
  background:#fff!important;
  border:1px solid #d7dfeb!important;
  border-radius:8px!important;
  padding:6px!important;
}
.official-paper-head strong{
  color:#005aa0!important;
  font-size:1.55rem!important;
  font-weight:950!important;
  letter-spacing:-.03em!important;
}
.official-paper-head small{
  color:#64748b!important;
  font-size:.70rem!important;
  font-weight:900!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
.official-paper-body{
  padding:42px 58px 58px!important;
  font-size:1.03rem!important;
  line-height:1.72!important;
}
.official-law-title-block{
  margin:0 0 26px;
  padding:0 0 22px;
  border-bottom:1px solid #d7e0ec;
}
.official-law-title{
  margin:0!important;
  color:#005aa0!important;
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;
  font-size:16pt!important;
  line-height:1.18!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
}
.official-law-title::after{
  content:"";
  display:block;
  width:86px;
  height:3px;
  margin-top:12px;
  background:linear-gradient(90deg,#102f60,#d2b35f);
}
.official-law-summary{
  margin:14px 0 0!important;
  color:#334155!important;
  font-size:1rem!important;
  line-height:1.55!important;
  text-align:left!important;
}
.official-law-title-block .law-meta-grid{
  margin-top:16px!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  border:1px solid #d8e0ec!important;
  box-shadow:none!important;
}
.official-law-title-block .law-meta-item{
  background:#f8fafc!important;
  border:0!important;
  border-right:1px solid #e1e8f1!important;
  border-top:3px solid #102f60!important;
  min-height:68px!important;
}
.official-law-title-block .law-meta-item:last-child{border-right:0!important}
.official-paper-body .bo-raw-content > .legal-structure-heading:first-child,
.official-paper-body .legal-structure-heading:first-child{display:block!important}
.official-paper-body .legal-structure-major{
  background:linear-gradient(90deg,#102f60,#244c87)!important;
  border-left:6px solid #d2b35f!important;
  border-radius:0!important;
}
.official-paper-body .legal-structure-article{
  background:#f3f6fb!important;
  border:1px solid #d7e0ec!important;
  border-left:5px solid #102f60!important;
  border-radius:0!important;
}
.official-paper-body table{
  border-collapse:collapse!important;
  border:1px solid #cbd5e1!important;
  box-shadow:none!important;
}
.official-paper-body th{background:#102f60!important;color:#fff!important}
.official-paper-body td{border-bottom:1px solid #e2e8f0!important}
@media(max-width:980px){
  .detail-page-layout{grid-template-columns:1fr}
  .detail-left-panel{position:static;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .detail-left-panel__brand,.detail-left-panel p{grid-column:1/-1}
  .official-law-title-block .law-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
  .detail-left-panel{display:block}
  .official-paper-body{padding:28px 20px 38px!important}
  .official-law-title{font-size:15pt!important}
  .official-law-title-block .law-meta-grid{grid-template-columns:1fr!important}
}


/* V50: título destacado, panel superior antes de la ley y ajuste institucional */
.law-before-panel{margin:0 0 16px;background:linear-gradient(135deg,#102f60 0%,#173c73 58%,#244f8b 100%);color:#fff;border:1px solid #0d2a57;border-bottom:5px solid #d2b35f;box-shadow:0 14px 30px rgba(15,23,42,.12);padding:20px 24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}
.law-before-panel span{display:block;color:#d7e3f7;font-size:.72rem;line-height:1.1;font-weight:950;letter-spacing:.11em;text-transform:uppercase}
.law-before-panel strong{display:block;margin-top:6px;color:#fff;font-size:1.28rem;line-height:1.15;font-weight:950;letter-spacing:-.025em}
.law-before-panel__chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.law-before-panel__chips b{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:999px;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.04em}
.official-law-title-block{margin:0 0 30px!important;padding:0 0 24px!important;border-bottom:2px solid #d7e0ec!important;position:relative}
.official-law-title-block::before{content:"NORMA PUBLICADA";display:inline-flex;margin:0 0 10px;min-height:26px;align-items:center;padding:0 10px;background:#eef4fb;border-left:4px solid #d2b35f;color:#102f60;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:.68rem;font-weight:950;letter-spacing:.09em;text-transform:uppercase}
.official-law-title{display:block!important;visibility:visible!important;color:#005aa0!important;font-size:16pt!important;line-height:1.18!important;font-weight:950!important;letter-spacing:-.025em!important;margin:0!important;padding:0!important;text-transform:none!important;text-shadow:none!important}
.official-law-title::after{width:112px!important;height:4px!important;margin-top:13px!important;background:linear-gradient(90deg,#005aa0 0%,#102f60 60%,#d2b35f 100%)!important}
.official-law-summary{max-width:860px;padding:12px 14px;background:#f8fafc;border-left:4px solid #102f60;color:#334155!important}
.official-paper{border-top:0!important;box-shadow:0 24px 52px rgba(15,23,42,.13)!important}
.official-paper-head{background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)!important;border-top:1px solid #cbd5e1!important;border-bottom:5px solid #102f60!important}
.official-paper-body{background:linear-gradient(180deg,#ffffff 0%,#ffffff 82%,#fbfcfe 100%)}
.official-law-title-block .law-meta-grid{margin-top:18px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;border:1px solid #d6dfeb!important;border-left:5px solid #102f60!important;background:#f8fafc!important}
.official-law-title-block .law-meta-item{padding:12px 14px!important;min-height:70px!important;background:#fff!important;border-top:0!important;border-right:1px solid #e2e8f0!important}
.official-law-title-block .law-meta-item span{color:#64748b!important;font-size:.66rem!important;letter-spacing:.08em!important}
.official-law-title-block .law-meta-item strong{color:#0f172a!important;font-size:.90rem!important;line-height:1.25!important}
.official-paper-body .legal-structure-major{margin-top:32px!important;box-shadow:0 10px 20px rgba(16,47,96,.15)!important}
.official-paper-body .legal-structure-article{margin-top:22px!important;color:#102f60!important;background:#f5f8fc!important}
@media(max-width:900px){.law-before-panel{grid-template-columns:1fr;padding:18px}.law-before-panel__chips{justify-content:flex-start}.official-law-title-block .law-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.official-law-title{font-size:15pt!important}.official-law-title-block .law-meta-grid{grid-template-columns:1fr!important}}


/* V61: logo más grande en la cabecera de la ley */
.official-paper-head .document-logo,
.document-head .document-logo{
  width:78px!important;
  height:78px!important;
}
.official-paper-head .document-logo img,
.document-head .document-logo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
.official-paper-head.document-head,
.document-head{
  grid-template-columns:88px minmax(0,1fr) auto!important;
  gap:22px!important;
  padding:24px 32px!important;
  align-items:center!important;
}

/* V61: tablas legibles en celular */
.native,
.document-body,
.official-paper-body,
.bo-raw-content{
  max-width:100%;
}
.native table,
.document-body table,
.official-paper-body table,
.bo-raw-content table{
  max-width:100%;
}
@media(max-width:760px){
  .official-paper-head.document-head,
  .document-head{
    grid-template-columns:74px minmax(0,1fr)!important;
    padding:18px 16px!important;
    gap:14px!important;
  }
  .official-paper-head .document-logo,
  .document-head .document-logo{
    width:68px!important;
    height:68px!important;
  }
  .document-head strong{
    font-size:1.45rem!important;
    line-height:1.05!important;
  }
  .document-head small{
    font-size:.72rem!important;
    line-height:1.25!important;
  }
  .document-actions{
    grid-column:1 / -1;
    justify-content:flex-start;
  }
  .official-paper-body,
  .document-body{
    padding:22px 16px 30px!important;
  }

  .native,
  .document-body,
  .official-paper-body,
  .bo-raw-content{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  .native table,
  .document-body table,
  .official-paper-body table,
  .bo-raw-content table{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
    white-space:normal!important;
    font-size:.86rem!important;
    line-height:1.35!important;
  }
  .native th,
  .document-body th,
  .official-paper-body th,
  .bo-raw-content th{
    padding:9px 10px!important;
    font-size:.68rem!important;
    line-height:1.25!important;
    white-space:normal!important;
  }
  .native td,
  .document-body td,
  .official-paper-body td,
  .bo-raw-content td{
    padding:9px 10px!important;
    font-size:.84rem!important;
    line-height:1.35!important;
    white-space:normal!important;
    word-break:break-word;
    min-width:120px;
  }
  .native td:first-child,
  .document-body td:first-child,
  .official-paper-body td:first-child,
  .bo-raw-content td:first-child{
    min-width:160px;
  }
}


/* V62: tablas realmente adaptadas en celular */
@media(max-width:760px){
  .native table.mobile-card-table,
  .document-body table.mobile-card-table,
  .official-paper-body table.mobile-card-table,
  .bo-raw-content table.mobile-card-table,
  table.mobile-card-table{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
    overflow:visible!important;
    margin:16px 0 22px!important;
  }
  table.mobile-card-table thead{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
    white-space:nowrap!important;
  }
  table.mobile-card-table tbody,
  table.mobile-card-table tr,
  table.mobile-card-table td{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  table.mobile-card-table tr{
    margin:0 0 14px!important;
    border:1px solid #cbd5e1!important;
    border-left:5px solid #102f60!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 8px 18px rgba(15,23,42,.08)!important;
    overflow:hidden!important;
  }
  table.mobile-card-table td{
    display:grid!important;
    grid-template-columns:minmax(96px,38%) minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
    padding:10px 12px!important;
    border:0!important;
    border-bottom:1px solid #e2e8f0!important;
    background:#fff!important;
    color:#0f172a!important;
    font-size:.86rem!important;
    line-height:1.35!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  table.mobile-card-table td:last-child{border-bottom:0!important;}
  table.mobile-card-table td::before{
    content:attr(data-label);
    display:block!important;
    color:#102f60!important;
    font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;
    font-size:.67rem!important;
    line-height:1.25!important;
    font-weight:950!important;
    letter-spacing:.045em!important;
    text-transform:uppercase!important;
  }
  table.mobile-card-table td[data-label=""]{
    display:block!important;
  }
  table.mobile-card-table td[data-label=""]::before{
    display:none!important;
    content:""!important;
  }

  .mobile-table-scroll{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    border:1px solid #cbd5e1!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 8px 18px rgba(15,23,42,.06)!important;
    margin:16px 0 22px!important;
  }
  .mobile-table-scroll table:not(.mobile-card-table){
    min-width:720px!important;
    margin:0!important;
    box-shadow:none!important;
  }
  .mobile-table-scroll::after{
    content:"Deslizá la tabla hacia los costados";
    display:block;
    padding:8px 10px;
    background:#f8fafc;
    border-top:1px solid #e2e8f0;
    color:#64748b;
    font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
    font-size:.72rem;
    font-weight:800;
  }
}

.official-paper-body .legal-derogation-box{margin:18px 0 20px!important;padding:13px 16px!important;border:1px solid #b91c1c!important;border-left:6px solid #b91c1c!important;background:#fff1f2!important;color:#991b1b!important;font-weight:800!important;border-radius:10px!important;box-shadow:0 8px 18px rgba(185,28,28,.08)!important}.official-paper-body .legal-derogation-box *{color:#991b1b!important}.official-paper-body .legal-derogation-box strong,.official-paper-body .legal-derogation-box b{color:#7f1d1d!important}


/* v65: aviso jurídico de derogación y estado derogado */
.legal-derogation-box,
.official-paper-body .legal-derogation-box{
  display:block!important;
  margin:18px 0 20px!important;
  padding:14px 16px!important;
  border:1px solid #b91c1c!important;
  border-left:7px solid #b91c1c!important;
  background:#fff1f2!important;
  color:#991b1b!important;
  font-weight:800!important;
  border-radius:10px!important;
  box-shadow:0 8px 18px rgba(185,28,28,.08)!important;
}
.legal-derogation-box *,
.official-paper-body .legal-derogation-box *{color:#991b1b!important}
.bocal-state-badge.is-derogada,
.norm.is-derogada .bocal-state-badge,
.law-card.is-derogada .bocal-state-badge,
.republic-law-card.is-derogada .bocal-state-badge,
.item-card.is-derogada .bocal-state-badge{
  background:#fff1f2!important;
  color:#991b1b!important;
  border:1px solid #ef4444!important;
}
.norm.is-derogada,
.law-card.is-derogada,
.republic-law-card.is-derogada,
.item-card.is-derogada{border-left-color:#b91c1c!important}
.law-before-panel.is-derogada{border-color:#fecaca!important;background:linear-gradient(135deg,#fff1f2,#fff)!important}
.law-before-panel.is-derogada strong{color:#991b1b!important}
