
.ez-feriado-page {
  --ez-base: #f7fafc;
  --ez-mist: #eaf1f6;
  --ez-deep: #dce7f1;
  --ez-hair: #dbe4ee;
  --ez-rule: #cdd5e0;
  --ez-gold-ink: #6b4f16;   /* el dorado da 2,17:1 sobre claro: no es tinta */

  --max-w: clamp(1200px, 78vw, 1440px);
}

.ez-feriado-page .ez-page-hero__inner {
  width: min(1120px, calc(100% - var(--side) * 2));
  max-width: none;
  text-align: left;
}

.ez-feriado-page .ez-page-hero .ez-eyebrow {
  text-align: left;
  margin-bottom: var(--sp-5);
}

.ez-feriado-page .ez-page-hero .ez-eyebrow::after { margin: var(--sp-3) 0 0; }

.ez-feriado-page .ez-page-hero h1 {
  margin-inline: 0;
  margin-bottom: 0;
  max-width: 20ch;
  font-size: clamp(2rem, 4.2vw, 3rem);
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1.12;
}

.ez-feriado-page .ez-hero-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--sp-8) var(--sp-10);
  margin-top: var(--sp-8);
  padding-top: var(--sp-7);
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.ez-feriado-page .ez-page-hero__sub {
  margin: 0;
  max-width: 54ch;
  text-align: left;
}

.ez-feriado-page .ez-page-hero__actions {
  margin: 0;
  justify-content: flex-start;
}

.ez-feriado-page .ez-page-hero .ez-btn--primary,
.ez-feriado-page .ez-ff-cierre .ez-btn--primary {
  background: var(--gold);
  border-color: var(--gold);
  color: #061d36;
  box-shadow: none;
}

.ez-feriado-page .ez-page-hero .ez-btn--primary:hover,
.ez-feriado-page .ez-ff-cierre .ez-btn--primary:hover {
  background: #d6ba78;
  border-color: #d6ba78;
  color: #061d36;
}

/* EL HEROE APILA A 900px, NO A 1024. Se probo 1024 el 14/08/2026 como margen
   preventivo y salio peor: entre 901 y 1024 el heroe quedaba con el contenido
   pegado a la izquierda y medio ancho vacio. Medido a 1000px:
     con dos columnas   la fila llena los 961px utiles, heroe de 323px
     apilado            los botones terminan a los 436px y dejan 525px de aire
                        a su derecha, y el heroe crece a 399px
   El miedo era que el bloque de botones se partiera al angostarse su columna.
   Ya estaba resuelto: `.ez-page-hero__actions` es flex con `flex-wrap: wrap`,
   asi que los botones se acomodan solos en dos renglones dentro de su columna
   sin arrastrar al heroe entero. Los dos suman 436px justos y la columna mide
   435,7px a 1000px, de ahi la sensacion de que estaba al limite. */
@media (max-width: 900px) {
  .ez-feriado-page .ez-page-hero { padding-block: var(--sp-12); }
  .ez-feriado-page .ez-hero-row {
    grid-template-columns: 1fr;
    align-items: start;
    gap: var(--sp-6);
  }
}

.ez-feriado-page .ez-pricing-trust { background: var(--white); }

.ez-feriado-page .ez-pricing-trust__list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ez-feriado-page .ez-pricing-trust__list > li { min-height: 88px; }

.ez-feriado-page .ez-pricing-trust__list strong {
  font: 800 1.35rem/1.15 var(--font-heading);
}

@media (max-width: 768px) {
  .ez-feriado-page .ez-pricing-trust { padding: var(--sp-4) 0; }
  .ez-feriado-page .ez-pricing-trust__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    text-align: left;
  }
  .ez-feriado-page .ez-pricing-trust__list > li {
    min-height: 0;
    padding: 12px 0;
    border-left: 0;
    border-top: 1px solid var(--gray-100);
  }
  .ez-feriado-page .ez-pricing-trust__list > li:first-child {
    padding-top: 0;
    border-top: 0;
  }
  .ez-feriado-page .ez-pricing-trust__list > li:last-child { padding-bottom: 0; }
  .ez-feriado-page .ez-pricing-trust__list strong {
    margin-bottom: 2px;
    font-size: 0.78rem;
    line-height: 1.3;
  }
  .ez-feriado-page .ez-pricing-trust__list strong::after {
    width: 18px;
    height: 2px;
    margin: 3px 0 0;
  }
  .ez-feriado-page .ez-pricing-trust__list span {
    font-size: 0.9rem;
    line-height: 1.5;
  }
}

.ez-feriado-page .ez-ed {
  padding: var(--sp-8) 0;
  background: var(--ez-base);
}

.ez-feriado-page .ez-ed--mist {
  padding: var(--sp-10) 0;
  background: var(--ez-mist);
}

.ez-feriado-page #fundamento { padding-top: 0; }

.ez-feriado-page .ez-ed--tras-capitulo { padding-top: var(--sp-10); }

.ez-feriado-page .ez-ed__inner {
  width: min(var(--max-w), calc(100% - var(--side) * 2));
  margin-inline: auto;
}

.ez-feriado-page .ez-ed-eyebrow {
  display: block;
  margin-bottom: var(--sp-3);
  color: var(--gray-600);
  font: 600 0.72rem/1 var(--font-body);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ez-feriado-page .ez-ed__head {
  max-width: 60ch;
  margin-bottom: var(--sp-6);
}

.ez-feriado-page .ez-ed__head h2 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(1.95rem, 2.6vw, 2.35rem);
  line-height: 1.16;
}

.ez-feriado-page .ez-ed__head h2::after { content: none; }

.ez-feriado-page .ez-ed__head p {
  margin: var(--sp-4) 0 0;
  max-width: 68ch;
  color: var(--gray-600);
  font-size: 1rem;
  line-height: 1.6;
}

.ez-feriado-page .ez-ed__foot {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-4) var(--sp-10);
  margin: var(--sp-5) 0 0;
  max-width: none;
  color: var(--gray-400);
  font-size: 0.88rem;
  line-height: 1.65;
}

.ez-feriado-page .ez-ed__foot p { margin: 0; max-width: none; }
.ez-feriado-page .ez-ed__foot strong { color: var(--gray-600); }

@media (max-width: 900px) {
  .ez-feriado-page .ez-ed__foot { grid-template-columns: minmax(0, 1fr); }
}

.ez-ff-mapa {
  margin: 0;
  padding: var(--sp-1) var(--sp-8) var(--sp-6);
  background: var(--white);
  border: 1px solid var(--ez-hair);
  border-radius: 3px;
  list-style: none;
}

.ez-ff-mapa__fila {
  display: grid;
  gap: var(--sp-3) var(--sp-8);
  padding: var(--sp-5) 0 0;
}

.ez-ff-mapa__fila + .ez-ff-mapa__fila {
  margin-top: var(--sp-5);
  border-top: 1px solid var(--ez-hair);
}

.ez-ff-mapa__rot {
  position: relative;
  display: block;
  margin-bottom: var(--sp-2);
  padding-left: var(--sp-5);
  color: var(--navy);
  font: 600 0.78rem/1.4 var(--font-body);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ez-ff-mapa__rot::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1px;
  width: 3px;
  height: 16px;
  background: var(--gold);
}

.ez-ff-mapa__llave h3,
.ez-ff-alt h3,
.ez-ff-linea h3,
.ez-ff-check h3,
.ez-ff-caso h3 {
  color: var(--navy);
  font-family: var(--font-heading);
  font-weight: 600;
  line-height: 1.3;
}

.ez-ff-mapa__llave h3 {
  margin: 0;
  padding-left: var(--sp-5);
  font-size: 1.15rem;
}

.ez-ff-mapa__txt p {
  margin: 0;
  max-width: 74ch;
  color: var(--gray-600);
  font-size: 1rem;
  line-height: 1.6;
}

@media (max-width: 900px) {
  .ez-ff-mapa { padding: var(--sp-2) var(--sp-5) var(--sp-5); }
  .ez-ff-mapa__fila {
    gap: var(--sp-3);
    padding-top: var(--sp-5);
  }
  .ez-ff-mapa__fila + .ez-ff-mapa__fila { margin-top: var(--sp-5); }
}

.ez-ff-vias {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-8);
  margin: var(--sp-1) 0 0;
  padding: var(--sp-5) 0 0;
  border-top: 1px solid var(--ez-hair);
  list-style: none;
}

.ez-ff-via__n {
  display: block;
  margin-bottom: var(--sp-2);
  color: var(--navy);
  font-family: var(--font-heading);
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1.3;
}

.ez-ff-via__estado {
  display: inline-block;
  margin-bottom: var(--sp-2);
  padding: 3px var(--sp-3);
  background: var(--ez-mist);
  border-radius: 2px;
  color: var(--gray-600);
  font-size: 0.76rem;
  font-weight: 600;
  line-height: 1.4;
}

.ez-ff-via__estado--ok {
  background: rgba(200, 169, 104, 0.16);
  color: var(--ez-gold-ink);
}

.ez-ff-via__d {
  display: block;
  color: var(--gray-600);
  font-size: 0.92rem;
  line-height: 1.55;
}

@media (min-width: 901px) {
  .ez-ff-mapa__fila,
  .ez-ff-alerta,
  .ez-ff-alt {
    grid-template-columns: minmax(0, 40fr) minmax(0, 60fr);
  }
  .ez-ff-mapa__txt,
  .ez-ff-alerta__t + p,
  .ez-ff-alt p,
  .ez-ff-vias > li {
    border-left: 1px solid var(--ez-hair);
    padding-left: var(--sp-8);
  }
  .ez-ff-vias { grid-template-rows: auto auto auto; }
  .ez-ff-vias > li {
    display: grid;
    grid-row: span 3;
    grid-template-rows: subgrid;
  }
  .ez-ff-vias > li:first-child { border-left-color: transparent; }
  .ez-ff-via__estado { justify-self: start; }
}

@media (max-width: 900px) {
  .ez-ff-vias {
    grid-template-columns: 1fr;
    gap: var(--sp-5);
  }
  .ez-ff-vias > li + li {
    padding-top: var(--sp-5);
    border-top: 1px solid var(--ez-hair);
  }
}

/* 30 y 33px igualan la sangria util del mapa: mismo eje de filete. */
.ez-ff-alerta,
.ez-ff-alt {
  display: grid;
  padding: var(--sp-5) 33px var(--sp-5) 30px;
  border-radius: 2px;
}

.ez-ff-alerta {
  margin: var(--sp-5) 0 0;
  max-width: none;
  gap: var(--sp-8);
  background: var(--ez-mist);
  border-left: 3px solid var(--navy);
  color: var(--gray-600);
  font-size: 1rem;
  line-height: 1.65;
}

.ez-ff-alerta p { margin: 0; max-width: none; }

.ez-ff-alerta__t {
  margin-bottom: var(--sp-2) !important;
  color: var(--navy);
  font-family: var(--font-heading);
  font-size: 1.12rem;
  font-weight: 600;
  line-height: 1.35;
}

.ez-ff-linea-cuerpo {
  display: grid;
  gap: var(--sp-6);
}

.ez-ff-linea {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: var(--sp-8);
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--ez-rule);
  list-style: none;
}

.ez-ff-linea__hito {
  position: relative;
  padding-top: var(--sp-6);
}

.ez-ff-linea__hito::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 0;
  width: 7px;
  height: 7px;
  background: var(--gold);
  border-radius: 50%;
}

.ez-ff-linea__cuando {
  margin: 0 0 var(--sp-3);
  color: var(--gray-400);
  font: 600 0.72rem/1.4 var(--font-body);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.ez-ff-linea__tasa {
  margin: 0 0 var(--sp-2);
  color: var(--navy);
  font: 600 clamp(1.9rem, 3vw, 2.3rem)/1 var(--font-heading);
  letter-spacing: -0.02em;
}

.ez-ff-linea__tasa span {
  display: block;
  margin-top: 6px;
  color: var(--gray-400);
  font-size: 0.86rem;
  font-weight: 500;
  letter-spacing: 0;
}

.ez-ff-linea h3 {
  margin: 0 0 var(--sp-2);
  font-size: 1.08rem;
}

.ez-ff-linea__txt {
  margin: 0;
  color: var(--gray-600);
  font-size: 0.96rem;
  line-height: 1.6;
}

.ez-ff-alt {
  gap: var(--sp-3) var(--sp-8);
  background: var(--white);
  border-left: 3px solid var(--gold);
}

.ez-ff-alt .ez-ed-eyebrow { margin-bottom: var(--sp-2); }

.ez-ff-alt h3 {
  margin: 0;
  font-size: 1.08rem;
}

.ez-ff-alt p {
  margin: 0;
  max-width: none;
  color: var(--gray-600);
  font-size: 0.96rem;
  line-height: 1.6;
}

@media (max-width: 900px) {
  .ez-ff-linea {
    grid-template-columns: 1fr;
    row-gap: var(--sp-6);
    border-top: 0;
    border-left: 1px solid var(--ez-rule);
    padding-left: var(--sp-6);
  }
  .ez-ff-linea__hito { padding-top: 0; }
  .ez-ff-linea__hito::before {
    top: 6px;
    left: calc(var(--sp-6) * -1 - 4px);
  }
}

.ez-ff-hoja {
  padding: var(--sp-6) var(--sp-7);
  background: var(--white);
  border: 1px solid var(--ez-hair);
  border-radius: 3px;
}

.ez-ff-check {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-8);
  margin: 0;
  padding: 0;
  list-style: none;
}

.ez-ff-check > li { padding-inline: var(--sp-6); }
.ez-ff-check > li:first-child { padding-left: 0; }
.ez-ff-check > li:last-child { padding-right: 0; }
.ez-ff-check > li + li { border-left: 1px solid var(--ez-hair); }

.ez-ff-check__rot,
.ez-ff-legal__rot,
.ez-ff-respaldo__ficha dt {
  font: 600 0.72rem/1 var(--font-body);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ez-ff-check__rot {
  display: block;
  margin-bottom: var(--sp-3);
  color: var(--gray-600);
}

.ez-ff-check h3 {
  margin: 0 0 var(--sp-3);
  font-size: 1.05rem;
  line-height: 1.35;
}

.ez-ff-check p {
  margin: 0;
  color: var(--gray-600);
  font-size: 0.96rem;
  line-height: 1.6;
}

@media (max-width: 1100px) {
  .ez-ff-check { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ez-ff-check > li,
  .ez-ff-check > li:first-child,
  .ez-ff-check > li:last-child { padding-inline: 0; }
  .ez-ff-check > li + li { border-left: 0; }
}

@media (max-width: 640px) {
  .ez-ff-hoja { padding: var(--sp-6); }
  .ez-ff-check {
    grid-template-columns: 1fr;
    gap: var(--sp-6);
  }
}

.ez-ff-casos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-8);
}

.ez-ff-caso {
  display: flex;
  flex-direction: column;
  padding: var(--sp-5) var(--sp-6);
  background: var(--white);
  border: 1px solid var(--ez-hair);
  border-radius: 3px;
}

.ez-ff-caso h3 {
  margin: 0 0 var(--sp-3);
  padding-bottom: var(--sp-3);
  border-bottom: 1px solid var(--ez-hair);
  font-size: 1.2rem;
}

.ez-ff-caso dl { margin: 0 0 var(--sp-4); }

.ez-ff-caso dt {
  margin-bottom: 2px;
  color: var(--gray-400);
  font: 600 0.7rem/1.3 var(--font-body);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ez-ff-caso dd {
  margin: 0 0 var(--sp-3);
  color: var(--gray-600);
  font-size: 0.93rem;
  line-height: 1.5;
}

.ez-ff-caso dd:last-child { margin-bottom: 0; }

@media (max-width: 1024px) {
  .ez-ff-casos {
    grid-template-columns: 1fr;
    gap: var(--sp-5);
  }
}

.ez-ff-det > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-5);
  min-height: 44px;
  padding: var(--sp-3) 0;
  color: var(--navy);
  font-family: var(--font-heading);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.35;
  cursor: pointer;
  list-style: none;
}

.ez-ff-det > summary::-webkit-details-marker { display: none; }

.ez-ff-det > summary::after {
  content: "";
  flex: none;
  width: 9px;
  height: 9px;
  margin-right: 4px;
  border-right: 2px solid var(--gold);
  border-bottom: 2px solid var(--gold);
  transform: rotate(45deg) translate(-2px, -2px);
  transition: transform var(--dur) var(--ease);
}

.ez-ff-det[open] > summary::after {
  transform: rotate(-135deg) translate(-2px, -2px);
}

.ez-ff-det > summary:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

.ez-ff-det > summary:hover { color: var(--navy-light); }

.ez-ff-det__cuerpo { padding-bottom: var(--sp-5); }

.ez-ff-det--faq { border-top: 1px solid var(--ez-rule); }

.ez-ff-det--faq > summary h3 {
  margin: 0;
  font: inherit;
  color: inherit;
}

.ez-ff-det--faq > p {
  margin: 0 0 var(--sp-5);
  max-width: 68ch;
  color: var(--gray-600);
  font-size: 0.97rem;
  line-height: 1.7;
}

.ez-ff-det--pie {
  margin-top: var(--sp-5);
  padding-top: var(--sp-2);
  border-top: 1px solid var(--ez-hair);
}

.ez-ff-det--pie > summary {
  font-family: var(--font-body);
  font-size: 0.94rem;
}

.ez-ff-det--guia {
  background: var(--white);
  border: 1px solid var(--ez-hair);
  border-left: 3px solid var(--gold);
  border-radius: 3px;
}

.ez-ff-det--guia > summary {
  align-items: flex-start;
  padding: var(--sp-7);
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 400;
}

.ez-ff-det--guia > summary::after { margin-top: var(--sp-3); }

.ez-ff-det__marco { display: grid; gap: var(--sp-3); }

.ez-ff-det__t {
  margin: 0;
  color: var(--navy);
  font-family: var(--font-heading);
  font-size: clamp(1.4rem, 2.4vw, 1.85rem);
  font-weight: 600;
  line-height: 1.2;
}

.ez-ff-det__r {
  max-width: 74ch;
  color: var(--gray-600);
  font-size: 0.98rem;
  line-height: 1.65;
}

.ez-ff-det__a {
  color: var(--navy);
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--gold);
  text-underline-offset: 3px;
}

.ez-ff-det--guia > .ez-ed-guia { padding: var(--sp-2) var(--sp-7) var(--sp-8); }

.ez-ff-det--caso,
.ez-ff-det--alcance { border-top: 1px solid var(--ez-hair); }

.ez-ff-det--caso { margin-top: auto; }

.ez-ff-det--caso > summary,
.ez-ff-det--alcance > summary {
  font-family: var(--font-body);
  font-size: 0.9rem;
}

.ez-feriado-page .ez-ed-guia {
  display: grid;
  grid-template-columns: 15rem minmax(0, 1fr);
  gap: var(--sp-12);
  align-items: start;
}

.ez-feriado-page .ez-ed-indice {
  position: sticky;
  top: calc(var(--alto-cabecera) + var(--sp-4));
  padding-top: var(--sp-2);
  border-top: 2px solid var(--gold);
}

.ez-feriado-page .ez-ed-indice__title {
  margin: var(--sp-4) 0;
  color: var(--gray-400);
  font: 600 0.74rem/1 var(--font-body);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ez-feriado-page .ez-ed-indice ol {
  counter-reset: cap;
  display: grid;
  gap: var(--sp-1);
}

.ez-feriado-page .ez-ed-indice li { counter-increment: cap; }

.ez-feriado-page .ez-ed-indice li a::before {
  content: counter(cap) ". ";
  color: var(--gray-400);
}

.ez-feriado-page .ez-ed-indice a {
  display: block;
  min-height: 24px;
  padding-block: 4px;
  color: var(--gray-600);
  font-size: 0.9rem;
  line-height: 1.4;
}

.ez-feriado-page .ez-ed-indice a:hover,
.ez-feriado-page .ez-ed-indice a:focus-visible {
  color: var(--navy);
  text-decoration: underline;
  text-decoration-color: var(--gold);
  text-underline-offset: 3px;
}

.ez-feriado-page .ez-ed-indice__extra {
  margin-top: var(--sp-5);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--ez-rule);
  color: var(--gray-400);
  font-size: 0.86rem;
  line-height: 1.9;
}

@media (max-width: 1024px) {
  .ez-feriado-page .ez-ed-guia {
    grid-template-columns: 1fr;
    gap: var(--sp-8);
  }
  .ez-feriado-page .ez-ed-indice { position: static; }
  .ez-feriado-page .ez-ed-indice ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .ez-feriado-page .ez-ed-indice ol { grid-template-columns: 1fr; }
  .ez-ff-det--guia > summary,
  .ez-ff-det--guia > .ez-ed-guia { padding-inline: var(--sp-5); }
}

.ez-feriado-page .ez-ed-cuerpo h3 {
  margin: var(--sp-10) 0 var(--sp-4);
  color: var(--navy);
  font-family: var(--font-heading);
  font-size: 1.45rem;
  font-weight: 600;
  line-height: 1.25;
  scroll-margin-top: calc(var(--alto-cabecera) + var(--sp-4));
}

.ez-feriado-page .ez-ed-cuerpo > h3:first-child { margin-top: 0; }

.ez-feriado-page .ez-ed-cuerpo h4 {
  margin: var(--sp-6) 0 var(--sp-3);
  color: var(--navy);
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.3;
}

.ez-feriado-page .ez-ed-cuerpo p {
  margin: 0 0 var(--sp-4);
  max-width: 570px;
  color: var(--gray-600);
  font-size: 0.98rem;
  line-height: 1.75;
}

.ez-feriado-page .ez-ed-cuerpo strong { color: var(--navy); }

.ez-feriado-page .ez-ed-list {
  display: grid;
  gap: var(--sp-3);
  margin: 0 0 var(--sp-5);
}

.ez-feriado-page .ez-ed-list li {
  position: relative;
  padding-left: var(--sp-6);
  max-width: 570px;
  color: var(--gray-600);
  font-size: 0.96rem;
  line-height: 1.7;
}

.ez-feriado-page .ez-ed-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 12px;
  height: 1px;
  background: var(--gold);
}

.ez-feriado-page .ez-ed-list li:last-child { margin-bottom: 0; }

.ez-feriado-page .ez-ed-faq {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--sp-12);
  align-items: start;
}

@media (max-width: 900px) {
  .ez-feriado-page .ez-ed-faq { grid-template-columns: 1fr; }
}

.ez-ff-respaldo {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.62fr);
  gap: var(--sp-8);
  padding: var(--sp-6) var(--sp-7);
  background: var(--white);
  border: 1px solid var(--ez-hair);
  border-radius: 3px;
  align-items: start;
}

.ez-ff-legal__rot {
  margin: 0 0 var(--sp-2);
  color: var(--gray-400);
}

.ez-ff-respaldo__cuerpo p {
  margin: 0 0 var(--sp-4);
  max-width: 570px;
  color: var(--gray-600);
  font-size: 0.94rem;
  line-height: 1.65;
}

.ez-ff-respaldo__cuerpo p:last-child { margin-bottom: 0; }
.ez-ff-respaldo__cuerpo .ez-ff-legal__rot { margin-bottom: var(--sp-2); }

.ez-ff-respaldo__ficha {
  padding: var(--sp-5);
  background: var(--ez-base);
  border-radius: 2px;
}

.ez-ff-respaldo__ficha dl { margin: 0; }

.ez-ff-respaldo__ficha dt {
  margin-bottom: var(--sp-2);
  color: var(--gray-400);
}

.ez-ff-respaldo__ficha dd {
  margin: 0 0 var(--sp-3);
  color: var(--gray-600);
  font-size: 0.9rem;
  line-height: 1.55;
}

.ez-ff-respaldo__ficha dd:last-child { margin-bottom: 0; }

.ez-feriado-page #fuentes .ez-ff-det--pie > .ez-ff-det__cuerpo p {
  margin: 0 0 var(--sp-4);
  max-width: 570px;
  color: var(--gray-400);
  font-size: 0.88rem;
  line-height: 1.7;
}

.ez-feriado-page #fuentes .ez-ff-det--pie > .ez-ff-det__cuerpo p:last-child {
  margin-bottom: 0;
}

@media (max-width: 900px) {
  .ez-ff-respaldo {
    grid-template-columns: 1fr;
    gap: var(--sp-6);
    padding: var(--sp-6);
  }
}

.ez-ff-cierre {
  padding: var(--sp-8) 0 var(--sp-10);
  background: var(--ez-base);
}

.ez-ff-cierre__panel {
  padding: var(--sp-6) var(--sp-10);
  background: var(--ez-deep);
  border-radius: 3px;
  text-align: center;
}

.ez-ff-cierre__panel::before {
  content: "";
  display: block;
  width: 42px;
  height: 3px;
  margin: 0 auto var(--sp-5);
  background: var(--gold);
}

.ez-ff-cierre .ez-ed-eyebrow { margin-bottom: var(--sp-3); }

.ez-ff-cierre h2 {
  margin: 0 0 var(--sp-4);
  color: var(--navy);
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 2.5vw, 2.3rem);
  font-weight: 600;
  line-height: 1.18;
}

.ez-ff-cierre > .ez-ff-cierre__panel > p {
  margin: 0 auto var(--sp-6);
  max-width: 62ch;
  color: var(--gray-600);
  font-size: 1.0625rem;
  line-height: 1.6;
}

.ez-ff-cierre__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--sp-3);
}

.ez-ff-cierre .ez-btn--outline {
  border-color: var(--navy);
  color: var(--navy);
}

.ez-ff-cierre .ez-btn--outline:hover {
  background: var(--navy);
  color: var(--white);
}

.ez-feriado-page .ez-tax-calc {
  margin: 0;
  padding: 0;
  max-width: none;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  scroll-margin-top: calc(var(--alto-cabecera) + var(--sp-6));
}

.ez-feriado-page .ez-tax-calc__header {
  text-align: left;
  margin-bottom: var(--sp-6);
}

.ez-feriado-page .ez-tax-calc__label {
  width: fit-content;
  margin-bottom: var(--sp-3);
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  color: var(--gray-600);
  font: 600 0.72rem/1 var(--font-body);
  letter-spacing: 0.14em;
}

.ez-feriado-page .ez-tax-calc__header h2 {
  margin: 0;
  max-width: 22ch;
  font-family: var(--font-heading);
  font-size: clamp(1.95rem, 2.6vw, 2.35rem);
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.16;
}

.ez-feriado-page .ez-tax-calc__header h2::after { content: none; }

.ez-feriado-page .ez-tax-calc__intro {
  margin: 0;
  max-width: 74ch;
  font-size: 1rem;
}

.ez-tax-calc__scope {
  margin: var(--sp-4) 0 0;
  max-width: 74ch;
  color: var(--gray-400);
  font-size: 0.9rem;
  line-height: 1.6;
}

@media (min-width: 940px) {
  .ez-feriado-page .ez-tax-calc__header {
    display: grid;
    grid-template-columns: minmax(0, 38fr) minmax(0, 62fr);
    column-gap: clamp(2.5rem, 5vw, 4.5rem);
    align-content: start;
  }
  .ez-feriado-page .ez-tax-calc__label { grid-area: 1 / 1; }
  .ez-feriado-page .ez-tax-calc__header h2 { grid-area: 2 / 1; max-width: none; }
  .ez-feriado-page .ez-tax-calc__intro { grid-area: 1 / 2 / 3 / 3; max-width: none; }
  .ez-feriado-page .ez-tax-calc__scope { grid-area: 3 / 2; max-width: none; }
}

.ez-feriado-page .ez-tax-calc__grid { margin-bottom: var(--sp-4); }

@media (max-width: 768px) {
  .ez-feriado-page .ez-tax-calc__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 769px) {
  .ez-feriado-page .ez-tax-calc__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1.5rem, 3vw, 2.25rem);
  }
  .ez-feriado-page .ez-tax-calc__results {
    display: flex;
    flex-direction: column;
  }
  .ez-feriado-page .ez-tax-calc__detail { margin-top: auto; }
}

/* El compartido le da 1.75rem de margen al panel derecho. */
.ez-feriado-page .ez-tax-calc__inputs,
.ez-feriado-page .ez-tax-calc__results {
  margin-bottom: 0;
  padding: var(--sp-5);
  background: var(--white);
  border: 1px solid var(--ez-hair);
  border-radius: 3px;
}

.ez-feriado-page .ez-tax-calc__col-title {
  border-bottom: 1px solid var(--ez-hair);
  color: var(--gray-600);
  font-weight: 600;
  letter-spacing: 0.14em;
}

.ez-ff-campos {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr);
  gap: var(--sp-5);
  align-items: start;
}

.ez-feriado-page .ez-ff-campo label { margin-top: 0; }

.ez-feriado-page .ez-ff-campo .ez-tax-calc__hint {
  margin: var(--sp-2) 0 0;
  color: var(--gray-400);
  font-size: 0.8rem;
  line-height: 1.5;
}

@media (max-width: 620px) {
  .ez-ff-campos { grid-template-columns: 1fr; }
}

/* El :first-of-type del componente le come el margen a este rotulo. */
.ez-feriado-page .ez-tax-calc__inputs label.ez-tax-calc__group-label {
  margin-top: var(--sp-6);
}

.ez-feriado-page .ez-tax-calc__radio-group {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-3);
}

/* .ez-tax-calc__inputs label (0,2,1) le gana a .ez-tax-calc__radio (0,1,0). */
.ez-feriado-page .ez-tax-calc__inputs label.ez-tax-calc__radio {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-3);
  margin: 0;
  padding: var(--sp-4);
  border-radius: 2px;
}

.ez-feriado-page .ez-tax-calc__radio-content {
  min-width: 0;
  overflow-wrap: break-word;
}

.ez-feriado-page .ez-tax-calc__radio-content strong { font-weight: 600; }
.ez-feriado-page .ez-tax-calc__radio-content span:last-child { line-height: 1.5; }

.ez-feriado-page .ez-tax-calc__radio input[type="radio"] {
  width: 18px;
  height: 18px;
}

.ez-feriado-page .ez-tax-calc__radio:focus-within {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

@media (max-width: 900px) {
  .ez-feriado-page .ez-tax-calc__radio-group { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .ez-feriado-page .ez-tax-calc__grid { gap: var(--sp-5); }
}

.ez-feriado-page .ez-tax-calc__via-note {
  margin-top: var(--sp-5);
  background: var(--ez-base);
  border-radius: 0 2px 2px 0;
}

.ez-feriado-page .ez-tax-calc__big {
  padding: var(--sp-5);
  background: var(--navy);
  border-radius: 2px;
}

.ez-feriado-page .ez-tax-calc__big-amount { font-weight: 700; }

.ez-feriado-page .ez-tax-calc__breakdown,
.ez-feriado-page .ez-tax-calc__detail { border-radius: 2px; }

.ez-feriado-page .ez-tax-calc__breakdown { background: var(--ez-base); }

.ez-feriado-page .ez-tax-calc__option-note {
  margin: var(--sp-3) 0 0;
  padding: var(--sp-3) 0 var(--sp-3) var(--sp-4);
  background: none;
  border-radius: 0;
  color: var(--gray-400);
  font-size: 0.85rem;
  line-height: 1.55;
}

.ez-feriado-page .ez-tax-calc__option-note strong { color: var(--gray-600); }

.ez-feriado-page .ez-tax-calc__detail > summary {
  min-height: 44px;
  font-family: var(--font-body);
  font-size: 0.88rem;
}

.ez-feriado-page .ez-tax-calc__detail > summary::after {
  width: auto;
  height: auto;
  margin: 0;
  border: 0;
  transform: none;
}

.ez-ff-scroll { overflow-x: auto; }

.ez-ff-scroll:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: -2px;
}

.ez-feriado-page .ez-tax-calc__table tbody tr.ez-tax-calc__table-row--zero td:nth-child(2),
.ez-feriado-page .ez-tax-calc__table tbody tr.ez-tax-calc__table-row--zero td:nth-child(3) {
  color: var(--ez-gold-ink);
}

.ez-feriado-page .ez-tax-calc__row--highlight strong,
.ez-feriado-page .ez-tax-calc__row--total strong { color: var(--ez-gold-ink); }

.ez-feriado-page .ez-tax-calc__limitations-title strong { color: var(--ez-gold-ink); }

.ez-feriado-page .ez-tax-calc__limitations {
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
}

.ez-feriado-page .ez-tax-calc__limitations .ez-ff-det--alcance {
  padding: 0 var(--sp-6);
  background: var(--white);
  border: 1px solid var(--ez-hair);
  border-radius: 3px;
}

.ez-feriado-page .ez-tax-calc__limitations-title {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 600;
}

.ez-feriado-page .ez-tax-calc__limitations .ez-ff-det__cuerpo > p {
  margin: 0 0 var(--sp-4);
  max-width: 570px;
  color: var(--gray-600);
  font-size: 0.94rem;
  line-height: 1.7;
}

.ez-feriado-page .ez-tax-calc__limitations-list li { font-size: 0.94rem; }

.ez-feriado-page .ez-tax-calc__disclaimer {
  margin: var(--sp-5) 0 0;
  padding-top: var(--sp-5);
  max-width: 570px;
  border-top: 1px solid var(--ez-hair);
  color: var(--gray-400);
  font-size: 0.86rem;
  line-height: 1.65;
}

.ez-feriado-page .ez-tax-calc__cta-block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-6);
  margin-top: var(--sp-4);
  padding: var(--sp-6);
  border-left: 3px solid var(--gold);
  border-radius: 2px;
  text-align: left;
}

.ez-feriado-page .ez-tax-calc__cta-text {
  margin: 0;
  max-width: 66ch;
  color: var(--gray-600);
  font-size: 0.96rem;
}

/* El compartido repite esta clase como fila contenedora: metia 24px arriba contra 12 abajo. */
.ez-feriado-page .ez-tax-calc__cta {
  display: inline-flex;
  flex: none;
  margin-top: 0;
  padding-block: var(--sp-3);
  background: var(--navy);
  border: 1.5px solid var(--navy);
  color: var(--white);
  box-shadow: none;
}

.ez-feriado-page .ez-tax-calc__cta:hover {
  background: var(--navy-deep);
  border-color: var(--navy-deep);
  color: var(--white);
}

@media (max-width: 900px) {
  .ez-feriado-page .ez-tax-calc__cta-block {
    flex-direction: column;
    align-items: stretch;
  }
  .ez-feriado-page .ez-tax-calc__cta { text-align: center; }
}

.ez-feriado-page .ez-ed a:not(.ez-btn) {
  min-height: 24px;
  padding-block: 3px;
  color: var(--navy);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--gold);
  text-underline-offset: 3px;
}

.ez-feriado-page .ez-ed-cuerpo a:not(.ez-btn) { display: inline-block; }

.ez-feriado-page .ez-ed a:not(.ez-btn):hover,
.ez-feriado-page .ez-ed a:not(.ez-btn):focus-visible {
  text-decoration-color: var(--navy);
}

.ez-feriado-page .ez-ed .ez-ed-indice a {
  font-weight: 500;
  text-decoration: none;
}

.ez-feriado-page .ez-ed .ez-ed-indice__extra a {
  display: inline-block;
  min-height: 24px;
  padding-block: 3px;
  color: var(--gray-600);
}

.ez-feriado-page .ez-ed .ez-ff-det__a { min-height: 0; padding-block: 0; }

@media (max-width: 640px) {
  .ez-feriado-page .ez-ed { padding: var(--sp-7) 0; }
  .ez-feriado-page .ez-ed--mist { padding: var(--sp-10) 0; }
  .ez-feriado-page .ez-ed--tras-capitulo { padding-top: var(--sp-10); }
  .ez-feriado-page .ez-ed__head { margin-bottom: var(--sp-6); }
  .ez-feriado-page .ez-ed__head h2,
  .ez-feriado-page .ez-tax-calc__header h2 { font-size: 1.55rem; }
  .ez-feriado-page .ez-ed__head p { font-size: 0.97rem; }
  .ez-ff-caso dd,
  .ez-ff-respaldo__cuerpo p { line-height: 1.5; }
  .ez-feriado-page .ez-tax-calc__radio { padding: var(--sp-3) var(--sp-4); }
  .ez-feriado-page .ez-tax-calc__header { margin-bottom: var(--sp-4); }
  .ez-ff-caso { padding: var(--sp-5); }
  .ez-ff-check { gap: var(--sp-5); }
  .ez-ff-respaldo { gap: var(--sp-5); }
  .ez-feriado-page .ez-tax-calc__cta-block { padding: var(--sp-5); }
  .ez-ff-mapa__llave h3 { font-size: 1.08rem; }
  .ez-feriado-page .ez-page-hero h1 {
    font-size: clamp(1.75rem, 7vw, 2.25rem);
    max-width: none;
  }
  .ez-feriado-page .ez-page-hero__actions .ez-btn,
  .ez-feriado-page .ez-ff-cierre__actions .ez-btn {
    width: 100%;
    max-width: 340px;
  }
  .ez-feriado-page .ez-ed__head p,
  .ez-ff-mapa__txt p { font-size: 1rem; }
  .ez-feriado-page .ez-ed-cuerpo h3 {
    margin-top: var(--sp-8);
    font-size: 1.28rem;
  }
  .ez-feriado-page .ez-tax-calc__inputs,
  .ez-feriado-page .ez-tax-calc__results { padding: var(--sp-5); }
  .ez-feriado-page .ez-tax-calc__limitations .ez-ff-det--alcance {
    padding-inline: var(--sp-5);
  }
  .ez-ff-alerta { padding: var(--sp-5); }
  .ez-ff-cierre {
    padding: var(--sp-7) 0 var(--sp-10);
  }
  .ez-ff-cierre__panel { padding: var(--sp-6); }
}

@media (prefers-reduced-motion: reduce) {
  .ez-ff-det > summary::after { transition: none; }
}

/* ============================================================
   ANCHO DE LECTURA — 13/08/2026
   Medido en vivo a 1440px sobre esta pagina: los parrafos de los
   desplegables llegaban a 108 caracteres por renglon y las listas del mapa
   y de las limitaciones de la calculadora a 135 y 142. El rango comodo de
   lectura esta entre 65 y 75.
   Se topea solo el texto corrido. Las tablas, la calculadora y las tarjetas
   siguen usando todo el ancho de su contenedor: ahi el ancho es la
   funcion, no un defecto.
   El blog no necesitaba esto: sus articulos ya median 81 como maximo.

   Se cambiaron ademas las cuatro reglas que ya venian topeando texto en esta
   pagina, que usaban 72ch y 90ch: en la practica daban 86, 92 y 108
   caracteres. La regla de la calculadora, que es la mas especifica, es la que
   dejaba los parrafos en 108 aunque el tope nuevo estuviera puesto.

   OJO CON 'ch' EN ESTA PAGINA: 72ch resolvia en 854px, o sea los mismos 108
   caracteres que se querian corregir. La unidad mide el glifo "0" de la fuente
   cargada y aca sale en casi 12px con texto de 15px. Se topea en pixeles, que
   es ademas como esta construido el resto de la pagina.

   NO INCLUIR AQUI `.ez-ff-mapa li`. Se incluyo el 13/08/2026 y rompio el mapa
   del regimen: esos <li> son `.ez-ff-mapa__fila`, filas de una grilla de dos
   columnas, no renglones de texto. Topearlas las apreto de 1200px a 570px y la
   seccion entera quedo corrida a la izquierda.
   El error nacio de la medicion: medir "caracteres por renglon" sobre un
   elemento de maquetado da un numero enorme que no significa nada. Antes de
   topear algo, comprobar que sea texto corrido: `display` block o list-item y
   sin hijos que sean columnas. El texto del mapa ya tiene su propio tope en
   `.ez-ff-mapa__txt p`.
   ============================================================ */
.ez-feriado-page .ez-ff-det__cuerpo p,
.ez-feriado-page .ez-tax-calc__limitations-list li {
  max-width: 570px;
}

/* ------------------------------------------------------------
   CUERPO DE LOS DESPLEGABLES — aire entre parrafos
   ------------------------------------------------------------
   19/08/2026. Los parrafos del cuerpo iban a 0px: en los casos
   orientativos, "Escenario modelizado:" arrancaba pegado al renglon
   anterior y los tres bloques se leian como uno solo. Lo mismo la lista
   que sigue al parrafo.

   Se corrige con margen entre hermanos y no tocando el margen de cada
   parrafo, para no mover el aire del ultimo contra el borde del bloque.
   ------------------------------------------------------------ */
/* Va con el prefijo .ez-feriado-page a proposito: sin el, la regla
   `.ez-feriado-page .ez-ed-list { margin: 0 ... }` le gana por
   especificidad (0,2,0 contra 0,1,2) y la lista sigue pegada al
   parrafo. Se vio: ez-tax-calc__limitations-list si tomaba el margen y
   ez-ed-list no. */
.ez-feriado-page .ez-ff-det__cuerpo > p + p,
.ez-feriado-page .ez-ff-det__cuerpo > p + ul,
.ez-feriado-page .ez-ff-det__cuerpo > p + ol,
.ez-feriado-page .ez-ff-det__cuerpo > ul + p,
.ez-feriado-page .ez-ff-det__cuerpo > ol + p {
  margin-top: var(--sp-4);
}
