/* W27 · three price states: exactly one amount visible per unit.
   Toggle positions: Sin IVA (base, default) | Particulares | Empresas.
   Unit = one large amount of the chosen state + its caption below.
   All three totals share one grid area; unselected keep their box via
   visibility:hidden, so section height never changes on switch and no
   reserve rows exist. Without JS all three are visible, stacked in
   document order (base, consumer, business). Palette unchanged from W26:
   #1e4850 teal, #383838 text, #4c5554 secondary, #ece8df hairline. */

/* ---------- 1. Block unit: cards, tariff rows, pack rows ---------- */
.tax-breakdown--w26 {
  display: grid; grid-template-areas: "total"; gap: 0;
  min-width: 0; margin: 0; color: #1e4850; text-align: left;
  font-weight: 400; line-height: 1.3; font-variant-numeric: tabular-nums;
}
.tax-breakdown--w26 > p { margin: 0; min-width: 0; }
.tax-breakdown--w26 .tax-breakdown__total { grid-area: total; align-self: end; }
.tax-breakdown--w26 .tax-breakdown__amount {
  display: block; margin-top: .125rem; font-size: 1.75rem; font-weight: 650; line-height: 1.15;
  color: #1e4850; white-space: nowrap;
}
.tax-breakdown--w26 .tax-breakdown__from { margin-right: .1em; font-size: .9375rem; font-weight: 500; color: #4c5554; }
.tax-breakdown--w26 .tax-breakdown__caption { display: block; margin-top: .25rem; font-size: .8125rem; line-height: 1.4; color: #383838; }
.tax-breakdown--w26 .tax-breakdown__num { white-space: nowrap; }

/* State: the two unselected totals keep their box in the shared grid area. */
html[data-price-audience="base"] .tax-breakdown--w26 .tax-breakdown__total:not([data-audience="base"]),
html[data-price-audience="consumer"] .tax-breakdown--w26 .tax-breakdown__total:not([data-audience="consumer"]),
html[data-price-audience="business"] .tax-breakdown--w26 .tax-breakdown__total:not([data-audience="business"]) { visibility: hidden; }

/* No JS (crawlers, readers, copy): all three labelled totals, stacked. */
html:not([data-price-audience]) .tax-breakdown--w26 { grid-template-areas: none; }
html:not([data-price-audience]) .tax-breakdown--w26 > p { grid-area: auto; }
html:not([data-price-audience]) .tax-breakdown--w26 .tax-breakdown__total + .tax-breakdown__total { margin-top: .625rem; }

/* Service card on the dark section: the whole price is a link (W25 markup). */
.s-prices .service-card__price { padding-top: 1rem; border-top: 1px solid #ece8df; }
.s-prices .service-card__price-link:hover .tax-breakdown__amount { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.s-prices .service-card__price-link:focus-visible { outline: 3px solid #1e4850; outline-offset: 4px; border-radius: 2px; }

/* Tariff and pack rows: smaller total, the row stays in tracks 3/5 (W1). */
.w8-pricing .tax-breakdown--w26 .tax-breakdown__amount { font-size: 1.375rem; }
.w8-pricing .tax-breakdown--w26 .tax-breakdown__from { font-size: .875rem; }

/* Advantage tiles: the price sentence is itself a sum, so 16 px, not the tile's 14 px. */
.advantage-tile__tax { font-size: 1rem; }

/* ---------- 2. Prose and FAQ: three values in one sentence, no control ---------- */
.tax-breakdown--inline.tax-breakdown--w26p { display: inline; line-height: inherit; font-variant-numeric: tabular-nums; }
.tax-breakdown--w26p .tax-breakdown__amount { font-size: inherit; font-weight: 700; }
.tax-breakdown--w26p .tax-breakdown__pair--excl { white-space: nowrap; }
.faq__price-list { margin: .25rem 0 0; padding-left: 1.1rem; }
.faq__price-list li { margin: 0 0 .5rem; color: #48545a; font-size: 1rem; line-height: 1.6; }
.faq__price-list li > strong:first-child { color: #1e4850; }
.tax-equations { margin: .5rem 0; padding: 0; list-style: none; }
.tax-equations li { margin: 0 0 .5rem; padding: .625rem .875rem; border-left: 3px solid #1e4850; background: #f8f6f2; color: #383838; font-size: 1rem; line-height: 1.6; font-variant-numeric: tabular-nums; }
.tax-equations__who { display: block; font-weight: 700; color: #1e4850; }
.tax-equations__num { white-space: nowrap; }
.tax-equations__num--total { font-weight: 700; color: #1e4850; }

/* ---------- 3. Toggle: lead + three-segment pill (W27) ---------- */
/* [hidden] until the head initializer runs; W25C's !important rule shows it. */
html[data-price-audience] .price-toggle[hidden] {
  display: flex; flex-wrap: nowrap; align-items: center; justify-content: center;
  gap: .5rem .75rem; width: 100%; max-width: 100%; margin: 1rem 0 0; padding: 0; border: 0;
}
.price-toggle__lead { font-size: .875rem; font-weight: 600; line-height: 1.3; white-space: nowrap; }
.price-toggle__seg { display: inline-flex; padding: 3px; gap: 3px; border: 1px solid currentColor; border-radius: 1.5rem; min-width: 0; }
.price-toggle__btn {
  min-height: 44px; padding: .5rem .625rem; border: 0; border-radius: 1.25rem; background: transparent; color: inherit;
  font: inherit; font-size: .8125rem; font-weight: 600; line-height: 1.2; cursor: pointer; white-space: nowrap;
  transition: background-color .15s, color .15s;
}
.price-toggle__btn:hover { background: rgba(30, 72, 80, .08); }
.background-dark .price-toggle__btn:hover { background: rgba(255, 255, 255, .14); }
.price-toggle__live { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
html[data-price-audience] .s-prices .price-toggle[hidden] { margin: 0 auto 0; }
@media (prefers-reduced-motion: reduce) { .price-toggle__btn { transition: none; } }

/* ---------- 4. City pages, zones 2–3: travel supplement next to the prices ---------- */
.price-scope__travel { max-width: 70ch; margin: 1.25rem auto 0; font-size: 1rem; line-height: 1.55; color: #383838; text-align: center; font-variant-numeric: tabular-nums; }
.background-dark .price-scope__travel { color: #fff; }
.price-scope__travel strong { font-weight: 700; }

/* C01: travel uses the same amount/caption and no-JS stack contract. */
.tax-breakdown--w27s { display: inline-grid; grid-template-areas: "pair"; max-width: 100%; font-variant-numeric: tabular-nums; vertical-align: top; }
.tax-breakdown--w27s .tax-breakdown__pair { display: block; grid-area: pair; min-width: 0; }
.tax-breakdown--w27s .tax-breakdown__amount { display: block; font-weight: 700; white-space: nowrap; }
.tax-breakdown--w27s .tax-breakdown__num { white-space: nowrap; }
.tax-breakdown--w27s .tax-breakdown__caption { display: block; margin-top: .25rem; font-size: .8125rem; line-height: 1.4; color: inherit; }
html:not([data-price-audience]) .tax-breakdown--w27s { grid-template-areas: none; }
html:not([data-price-audience]) .tax-breakdown--w27s .tax-breakdown__pair { grid-area: auto; }
html:not([data-price-audience]) .tax-breakdown--w27s .tax-breakdown__pair + .tax-breakdown__pair { margin-top: .625rem; }
html[data-price-audience="base"] .tax-breakdown--w27s .tax-breakdown__pair:not([data-audience="base"]),
html[data-price-audience="consumer"] .tax-breakdown--w27s .tax-breakdown__pair:not([data-audience="consumer"]),
html[data-price-audience="business"] .tax-breakdown--w27s .tax-breakdown__pair:not([data-audience="business"]) { visibility: hidden; }

/* C02: the additional 360-degree point uses the same single-column H unit. */
.pricing-section__notice .tax-breakdown--w26 { grid-template-columns: 1fr; gap: 0; }
