/*
 * Capa común no destructiva: tema persistente, accesibilidad y protección
 * responsive para las páginas históricas con CSS inline.
 */
:root{
  color-scheme:dark;
}

html[data-theme="light"]{
  color-scheme:light;
  --bg:#f4f8fc;
  --bg2:#eaf2f8;
  --surface:#ffffff;
  --surface2:#edf4f9;
  --card:rgba(255,255,255,.94);
  --card2:rgba(241,247,252,.96);
  --stroke:rgba(15,42,67,.17);
  --stroke2:rgba(2,132,199,.25);
  --text:#10283d;
  --muted:rgba(25,53,75,.82);
  --muted2:rgba(25,53,75,.68);
  --shadow:0 24px 70px rgba(15,42,67,.13);
  --shadow2:0 18px 40px rgba(15,42,67,.10);
}

html[data-theme="light"] body{
  color:var(--text) !important;
  background:
    radial-gradient(760px 460px at 10% 8%,rgba(56,189,248,.14),transparent 60%),
    radial-gradient(700px 440px at 86% 2%,rgba(34,197,94,.11),transparent 60%),
    linear-gradient(180deg,#f7fbfe 0%,#f4f8fc 48%,#eaf2f8 100%) !important;
}

html[data-theme="light"] body::before{
  opacity:.18 !important;
  background-image:
    linear-gradient(rgba(15,42,67,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(15,42,67,.055) 1px,transparent 1px) !important;
}

html[data-theme="light"] :is(.header,.siteHeader,.topbar,.mobileNav,footer,.footer){
  color:var(--text) !important;
  background:rgba(247,251,254,.94) !important;
  border-color:var(--stroke) !important;
}

html[data-theme="light"] :is(.nav,.nav a,.mobileNav a,.back,.topbar__link,.footer a,.footerInner a){
  color:#163c57 !important;
}

html[data-theme="light"] :is(
  .card,.priceCard,.sideCard,.glass,.faqItem,.panel,.productPanel,.feature,
  .moduleCard,.step,.entityBox,.notice,.resourceIntro,.proShowcase,.dashboard,
  .calculatorCard,.patenteCard,.resultCard,.taxCard,.taxPanel,.taxSource,
  .taxTimeline__item,.taxHero__panel,.taxCta,.infoModalBox
){
  color:var(--text) !important;
  border-color:var(--stroke) !important;
  background:
    radial-gradient(320px 180px at 100% 0%,rgba(56,189,248,.09),transparent 68%),
    linear-gradient(145deg,#fff,#f2f7fb) !important;
  box-shadow:var(--shadow2) !important;
}

html[data-theme="light"] :is(
  .card,.priceCard,.sideCard,.glass,.faqItem,.panel,.productPanel,.feature,
  .moduleCard,.step,.entityBox,.notice,.resourceIntro,.proShowcase,.dashboard,
  .calculatorCard,.patenteCard,.resultCard,.taxCard,.taxPanel,.taxSource,
  .taxTimeline__item,.taxHero__panel,.taxCta,.infoModalBox
) :is(p,li,span:not(.btn):not(.pill):not(.badge):not(.tag)){
  color:var(--muted);
}

html[data-theme="light"] :is(
  .card,.feature,.moduleCard,.miniItem,.taxSource,.taxPanel,.taxCard,
  .infoModalBox,.resultCard
) :is(h2,h3,h4,strong){
  color:var(--text) !important;
}

html[data-theme="light"] :is(
  .pill,.badge,.eyebrow,.kicker,.taxEyebrow,.taxCount,.taxCard__date,
  .miniItem,.entityBox,.taxChecklist__item,.taxNav a,.taxFilter,.mobileNav a
){
  color:#075985 !important;
  background:rgba(14,165,233,.08) !important;
  border-color:rgba(2,132,199,.20) !important;
}

html[data-theme="light"] :is(input,select,textarea){
  color:var(--text) !important;
  background:#fff !important;
  border-color:var(--stroke) !important;
}

html[data-theme="light"] :is(input,textarea)::placeholder{
  color:rgba(25,53,75,.60) !important;
  opacity:1;
}

html[data-theme="light"] :is(.btn.primary,.navBtn,.btn--primary,.btnDownloadMain),
html[data-theme="light"] .btn:not(.btn--ghost):not(.blue){
  color:#fff !important;
}

html[data-theme="light"] :is(.btn.primary,.navBtn,.btn--primary,.btnDownloadMain,.waFloat) *{
  color:inherit !important;
}

html[data-theme="light"] :is(.btn--ghost,.btn.blue,.btn.secondary,.taxLink){
  color:#075985 !important;
  background:rgba(14,165,233,.08) !important;
  border-color:rgba(2,132,199,.24) !important;
}

html[data-theme="light"] :is(.waFloat,.btn.primary,.navBtn){
  color:#fff !important;
}

.themeToggle{
  display:inline-grid;
  place-items:center;
  flex:0 0 44px;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid var(--stroke);
  border-radius:14px;
  color:var(--text);
  background:rgba(255,255,255,.07);
  font:inherit;
  font-size:19px;
  cursor:pointer;
  touch-action:manipulation;
}

.enhancedMobileNav{
  display:none;
  width:100%;
  gap:8px;
  padding:12px 16px 18px;
  background:rgba(7,17,31,.97);
  border-top:1px solid var(--stroke);
  border-bottom:1px solid var(--stroke);
}

.enhancedMobileNav a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 14px;
  border:1px solid var(--stroke);
  border-radius:14px;
  color:var(--text);
  background:rgba(255,255,255,.055);
  text-align:center;
  text-decoration:none;
  font-weight:800;
}

.enhancedMenuBtn{
  display:none;
}

.enhancedMobileNav.is-open{
  display:grid;
}

html[data-theme="light"] .themeToggle{
  color:#163c57;
  background:#fff;
  border-color:rgba(15,42,67,.17);
}

:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid #38bdf8 !important;
  outline-offset:3px !important;
}

:where(button,.btn,.nav a,.mobileNav a,.chip,.taxFilter,.taxLink){
  min-height:44px;
}

:where(img,svg,video,iframe,canvas){
  max-width:100%;
  height:auto;
}

:where(main,section,header,footer,.container,.wrap,.grid,.split){
  min-width:0;
}

@media(max-width:1050px){
  .enhancedMenuBtn{
    display:inline-grid !important;
    place-items:center;
    flex:0 0 42px;
    width:42px;
    height:42px;
    padding:0;
    border:1px solid var(--stroke);
    border-radius:14px;
    color:var(--text);
    background:rgba(255,255,255,.07);
    font:inherit;
    font-size:20px;
    cursor:pointer;
  }
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .reveal{
    opacity:1 !important;
    transform:none !important;
  }
}

@media(max-width:720px){
  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  .container,
  .wrap{
    width:100%;
    max-width:100%;
    padding-left:16px;
    padding-right:16px;
  }

  :is(.headerInner,.header__inner){
    gap:9px;
  }

  :is(.brandText,.brand__text){
    min-width:0;
  }

  .themeToggle{
    flex-basis:42px;
    width:42px;
    height:42px;
  }

  :is(.grid,.cards,.featureList,.moduleGrid,.stepGrid,.entityStrip,.taxGrid,.taxSplit,.taxSourceGrid){
    grid-template-columns:minmax(0,1fr) !important;
  }

  :is(.card,.feature,.moduleCard,.taxCard,.taxPanel,.entityBox,.step){
    min-width:0;
    max-width:100%;
  }

  :is(h1,h2,h3,p,li,a,button){
    overflow-wrap:anywhere;
  }

  :is(.tableWrap,.taxTableWrap,[class*="table-wrap"],[class*="tableWrap"]){
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
  }

  :is(footer,.footer) a{
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }
}

@media(max-width:390px){
  .container,
  .wrap{
    padding-left:14px;
    padding-right:14px;
  }
}
