/* ============================================================
   BINK FLEX — estilos de la sección (independiente de styles.css)
   Portado de bink-website. Cargar SOLO en páginas Flex.
   ============================================================ */
.taxlist { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; max-width: 780px; margin: 0 auto; }
.taxlist__col { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 1.6rem 1.7rem; box-shadow: var(--shadow-soft); }
.taxlist__col--yes { border-color: rgba(28,166,76,.35); background: rgba(28,166,76,.03); }
.taxlist__head { display: flex; align-items: center; gap: .5rem; font-family: var(--font-display); font-weight: 600; font-size: 1.15rem; }
.taxlist__col--yes .taxlist__head { color: #1ca64c; }
.taxlist__col--no .taxlist__head { color: var(--text-faint); }
.taxlist__head i, .taxlist__head svg { width: 20px; height: 20px; }
.taxlist__sub { font-size: .82rem; color: var(--text-soft); margin: .35rem 0 1.1rem; line-height: 1.35; }
.taxlist__col ul { list-style: none; display: flex; flex-direction: column; gap: .55rem; }
.taxlist__col li { font-size: .95rem; padding-left: 1.4rem; position: relative; }
.taxlist__col--yes li::before { content: ""; position: absolute; left: 0; top: .5em; width: 7px; height: 7px; border-radius: 50%; background: #1ca64c; }
.taxlist__col--no li::before { content: ""; position: absolute; left: 1px; top: .5em; width: 7px; height: 7px; border-radius: 50%; background: var(--text-faint); opacity: .5; }
.taxlist__note { text-align: center; max-width: 720px; margin: 1.4rem auto 0; font-size: .85rem; color: var(--text-soft); line-height: 1.5; }
.taxtable-wrap { max-width: 620px; margin: 0 auto; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); background: #fff; }
.taxtable { width: 100%; border-collapse: collapse; min-width: 580px; }
.taxtable th, .taxtable td { padding: .8rem 1.1rem; text-align: center; border-bottom: 1px solid var(--line); font-size: .92rem; }
.taxtable thead th { font-family: var(--font-display); font-weight: 600; background: var(--paper-2); font-size: .88rem; }
.taxtable tbody th { text-align: left; font-weight: 600; color: var(--text); }
.taxtable tr:last-child td, .taxtable tr:last-child th { border-bottom: none; }
.taxtable td.yes { color: #1ca64c; font-weight: 600; }
.taxtable td.no { color: var(--text-faint); }
.taxtable__ast { color: var(--magenta); font-weight: 700; }
.taxtable td.cond { color: #b07d00; font-weight: 600; }
.taxtable td.cond .req { display: block; font-weight: 400; font-size: .72rem; color: var(--text-faint); margin-top: 2px; }
.dualtable-wrap { max-width: 600px; margin: 1.6rem auto 0; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); background: #fff; }
.dualtable { width: 100%; border-collapse: collapse; min-width: 440px; }
.dualtable th, .dualtable td { padding: .85rem 1.1rem; text-align: center; border-bottom: 1px solid var(--line); font-size: .92rem; }
.dualtable thead th { font-family: var(--font-display); font-weight: 600; background: var(--paper-2); font-size: .88rem; }
.dualtable tbody th { text-align: left; font-weight: 600; color: var(--text); }
.dualtable tbody th span { display: block; font-weight: 400; font-size: .75rem; color: var(--text-faint); }
.dualtable tr:last-child td, .dualtable tr:last-child th { border-bottom: none; }
.dualtable td.fav { color: #1ca64c; font-weight: 600; }
.dualtable td.warn { color: #b07d00; font-weight: 600; }
.bol-flag { display: inline-flex; align-items: center; gap: .4rem; font-size: .72rem; font-weight: 700; padding: .25rem .65rem; border-radius: 999px; }
.bol-flag::before { content: ""; width: 8px; height: 8px; border-radius: 50%; flex: none; }
.bol-flag--ok { background: #e3f4ea; color: #1d8a60; }
.bol-flag--ok::before { background: #1ca64c; }
.bol-flag--pacto { background: #fcefd6; color: #9a6a12; }
.bol-flag--pacto::before { background: #e0a020; }
.vcard .bol-flag { margin-bottom: .8rem; }
.bol-legend { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .4rem; margin-top: 2rem; font-size: .9rem; color: var(--text-soft); }
@media (max-width: 680px) {
  .cards-2, .cards-3, .taxlist { grid-template-columns: 1fr; }
}
.vcard__foot { margin-top: .9rem; padding-top: .8rem; border-top: 1px solid var(--line); font-size: .86rem; color: var(--text-faint); }
.uc-scale { max-width: 820px; margin: 3.2rem auto 0; padding-top: 2.6rem; border-top: 1px dashed var(--line); }
.uc-scale__head { text-align: center; margin-bottom: 1.6rem; }
.uc-scale__head h3 { font-size: 1.5rem; font-weight: 600; margin: .3rem 0 .5rem; }
.uc-scale__head p { color: var(--text-soft); font-size: .96rem; max-width: 42rem; margin: 0 auto; }
.uc-tabswrap { text-align: center; overflow-x: auto; padding: 2rem 1rem .5rem; -webkit-overflow-scrolling: touch; }
.uc-tabswrap .tabs__switch { margin-bottom: 0; }
.fbands__ctrl { max-width: 520px; margin: 0 auto 1.4rem; }
.fbands__totals { max-width: 620px; margin: 1.4rem auto 0; }
.fbands__table td, .fbands__table th { text-align: center; }
.fbands__table tbody th { text-align: left; }
.fbands__table .fb-emp { width: 68px; padding: .4rem .5rem; border: 1px solid var(--line); border-radius: 8px; font-family: inherit; font-size: .95rem; font-weight: 700; text-align: center; color: var(--text); background: var(--paper-2); }
.fbands__table .fb-emp:focus { outline: none; border-color: var(--magenta); background: #fff; box-shadow: 0 0 0 3px rgba(221,3,77,.12); }
.fbands__table .fb-save, .fbands__table .fb-net { font-weight: 600; font-variant-numeric: tabular-nums; }
.fbands__table .fb-net { color: var(--magenta); }
.chat-embed { max-width: 920px; margin: 1.5rem auto 0; }
.chat-embed__frame { width: 100%; height: 72vh; min-height: 560px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-soft); display: block; }
.legal-note { max-width: 640px; margin: 1.4rem auto 0; }
.legal-note > summary { justify-content: center; }
.legal-note .taxlist__note { font-size: .8rem; }
.calc-method { margin-top: 1rem; border-top: 1px solid var(--line); padding-top: .8rem; }
.calc-method > summary { cursor: pointer; font-size: .82rem; font-weight: 600; color: var(--text-soft); list-style: none; display: flex; align-items: center; gap: .4rem; }
.calc-method > summary::before { content: "ⓘ"; color: var(--magenta); }
.calc-method > summary::-webkit-details-marker { display: none; }
.calc-method[open] > summary { margin-bottom: .6rem; }
.calc-method__body { font-size: .8rem; color: var(--text-faint); line-height: 1.5; }
.calc-method__body p { font-size: .8rem; color: var(--text-faint); margin: 0 0 .5rem; }
.calc-method__body ul { margin: 0; padding-left: 1.1rem; }
.calc-method__body li { margin-bottom: .35rem; }
.calc-cta { margin-top: 1.6rem; }
.calc-cta__note { display: block; margin-top: .7rem; font-size: .85rem; color: var(--text-faint); max-width: 34rem; }
.flex-enabler { display: flex; gap: .85rem; align-items: flex-start; background: rgba(221,3,77,.06); border: 1px solid rgba(221,3,77,.18); border-radius: var(--radius); padding: 1rem 1.1rem; margin: .3rem 0 1.2rem; }
.flex-enabler > i, .flex-enabler > svg { width: 22px; height: 22px; flex: none; margin-top: 2px; color: var(--magenta); }
.flex-enabler b { display: block; font-size: .95rem; margin-bottom: .25rem; }
.flex-enabler span { display: block; font-size: .88rem; color: var(--text-soft); line-height: 1.45; margin-bottom: .55rem; }
.need-links { margin-top: 1rem; }
.need-links > span { display: block; font-size: .74rem; text-transform: uppercase; letter-spacing: .05em; color: var(--text-faint); margin-bottom: .5rem; }
.need-links a { display: inline-flex; align-items: center; gap: .25rem; font-size: .82rem; font-weight: 600; color: var(--magenta); background: rgba(221,3,77,.08); border: 1px solid rgba(221,3,77,.18); border-radius: 999px; padding: .32rem .72rem; margin: 0 .35rem .4rem 0; text-decoration: none; transition: background .15s ease; }
.need-links a:hover { background: rgba(221,3,77,.15); }
.need-links a i, .need-links a svg { width: 14px; height: 14px; }
#reconversion, #aumento, #contrataciones { scroll-margin-top: 90px; }
.flex-example { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); padding: 1.5rem 1.6rem; width: 100%; max-width: 380px; }
.flex-example--wide { max-width: 460px; }
.fcalc { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); padding: 1.6rem 1.7rem; width: 100%; max-width: 420px; }
.fcalc__field { margin-bottom: 1.1rem; }
.fcalc__field > label { display: block; font-size: .82rem; font-weight: 600; color: var(--text-soft); margin-bottom: .45rem; }
.fcalc__subnote { font-size: .82rem; color: var(--text-faint); margin-top: .5rem; }
.fcalc__subnote b { color: var(--text-soft); font-weight: 700; }
.fcalc__result { background: var(--crudo); border-radius: 14px; padding: 1.1rem 1.2rem; margin-top: .4rem; }
.fcalc__rlabel { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--text-faint); }
.fcalc__big { display: block; font-family: var(--font-display); font-weight: 700; font-size: 1.7rem; line-height: 1.1; margin: .25rem 0; }
.fcalc__big b { background: var(--grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.fcalc__note { display: block; font-size: .76rem; color: var(--text-faint); line-height: 1.4; }
.flex-example__head { font-size: .74rem; text-transform: uppercase; letter-spacing: .06em; color: var(--text-faint); margin-bottom: 1rem; }
.flex-example__row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid var(--line); font-size: .95rem; }
.flex-example__row span { color: var(--text-soft); }
.flex-example__row b { font-weight: 600; white-space: nowrap; }
.flex-example__row--hl { border-bottom: none; padding-top: .9rem; }
.flex-example__row--hl b { background: var(--grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; font-family: var(--font-display); font-size: 1.2rem; }
.flex-example__foot { margin-top: .85rem; font-size: .82rem; color: var(--text-soft); line-height: 1.45; }
.flex-example__cta { display: inline-flex; align-items: center; gap: .3rem; margin-top: 1rem; font-weight: 600; font-size: .85rem; color: var(--magenta); text-decoration: none; }
.flex-example__cta i, .flex-example__cta svg { width: 15px; height: 15px; }
.flex-scn { width: 100%; border-collapse: collapse; margin-top: .2rem; }
.flex-scn th { text-align: right; font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: var(--text-faint); font-weight: 600; padding: 0 0 .55rem; border-bottom: 1px solid var(--line); }
.flex-scn th:first-child { text-align: left; }
.flex-scn td { text-align: right; font-size: .84rem; padding: .6rem 0 .6rem .4rem; border-bottom: 1px solid var(--line); white-space: nowrap; }
.flex-scn td:first-child { text-align: left; font-weight: 600; }
.flex-scn tr:last-child td { border-bottom: none; }
.flex-scn td b { background: var(--grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; font-weight: 700; }
@media (max-width: 980px) {
  #por-necesidad .cards-3,
  #bolsillos .cards-3 { grid-template-columns: 1fr; max-width: 640px; margin-left: auto; margin-right: auto; }
  #por-necesidad .vcard,
  #bolsillos .vcard { display: grid; grid-template-columns: auto 1fr; column-gap: 1.1rem; align-items: start; }
  #por-necesidad .vcard__icon,
  #bolsillos .vcard__icon { margin-bottom: 0; }
  #por-necesidad .vcard > :not(.vcard__icon) { grid-column: 2; }
  #por-necesidad .vcard h3 { margin-top: .1rem; }
  #bolsillos .vcard .bol-flag { grid-column: 1 / -1; justify-self: start; margin-bottom: .2rem; }
  #bolsillos .vcard > h3,
  #bolsillos .vcard > p,
  #bolsillos .vcard > a { grid-column: 2; }
  #bolsillos .vcard h3 { margin-top: .1rem; }
}
@media (max-width: 640px) {
  .taxtable { min-width: 500px; }
  .taxtable th, .taxtable td { padding: .5rem .55rem; font-size: .8rem; }
  .taxtable thead th { font-size: .74rem; }
  .taxtable td.cond .req { font-size: .66rem; }
  .dualtable { min-width: 400px; }
  .dualtable th, .dualtable td { padding: .55rem .6rem; font-size: .82rem; }
  .dualtable thead th { font-size: .76rem; }
  .dualtable tbody th span { font-size: .68rem; }
  .fbands-wrap { border: none; box-shadow: none; background: transparent; overflow: visible; }
  .fbands__table { min-width: 0; }
  .fbands__table thead { display: none; }
  .fbands__table tbody, .fbands__table tr, .fbands__table th, .fbands__table td { display: block; }
  .fbands__table tr { background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow-soft); padding: .9rem 1.1rem; margin-bottom: .8rem; }
  .fbands__table tbody th { text-align: left; font-size: 1rem; font-weight: 700; padding: 0 0 .55rem; margin-bottom: .55rem; border-bottom: 1px solid var(--line); }
  .fbands__table td { display: flex; justify-content: space-between; align-items: center; gap: 1rem; text-align: right; padding: .34rem 0; border: none; font-size: .92rem; }
  .fbands__table td::before { content: attr(data-label); color: var(--text-faint); font-weight: 600; font-size: .82rem; text-align: left; }
  .fbands__table .fb-emp { width: 80px; padding: .4rem .5rem; font-size: .95rem; }
  .fbands__totals .fcalc__big { font-size: 1.4rem; }
  .uc-tabswrap { padding: 1.4rem .8rem .3rem; }
  .uc-tabswrap .tabs__switch { justify-content: flex-start; margin: 0; }
  .uc-tabswrap .tabs__btn { padding: .5rem .85rem; font-size: .88rem; }
  .uc-scale { margin-top: 2.4rem; padding-top: 2rem; }
  .uc-scale__head h3 { font-size: 1.3rem; }
  .flex-example { padding: 1.3rem 1.25rem; overflow-x: auto; }
  .flex-example__row { gap: .5rem; }
  .flex-example__row--hl { flex-direction: column; align-items: flex-start; gap: .1rem; }
  .flex-example__row--hl b { font-size: 1.05rem; }
  .flex-scn th { font-size: .66rem; }
  .flex-scn td { font-size: .78rem; padding: .5rem 0 .5rem .3rem; }
  .fcalc { padding: 1.3rem 1.35rem; }
  .fcalc__big { font-size: 1.5rem; }
}
#casos-de-uso, #bolsillos, #calculadora { scroll-margin-top: 90px; }
.flex-cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; background: var(--grad-dark); color: #fff; border-radius: var(--radius-lg); padding: clamp(2rem, 4vw, 3rem); box-shadow: var(--shadow-card); }
.flex-cta__text { max-width: 60ch; }
.flex-cta .eyebrow { color: var(--rosado); }
.flex-cta h2 { font-size: clamp(1.4rem, 3vw, 1.9rem); margin: .3rem 0 .5rem; }
.flex-cta p { color: rgba(255, 255, 255, .82); }
.flex-cta .btn { flex: none; }
@media (max-width: 720px) {
  .flex-cta { flex-direction: column; align-items: flex-start; }
}
.taxbadge { display: inline-flex; align-items: center; gap: 8px; margin-top: 1.3rem; padding: .55rem 1.1rem; border-radius: 999px; font-weight: 700; font-size: .95rem; }
.taxbadge i, .taxbadge svg { width: 18px; height: 18px; }
.taxbadge--ok { background: #e3f4ea; color: #1d8a60; }
.taxbadge--pacto { background: #fcefd6; color: #9a6a12; }
.calc-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; max-width: var(--maxw); margin: 0 auto; }
@media (max-width: 900px) {
  .calc-wrap { grid-template-columns: 1fr; gap: 2rem; }
}
.calc-intro h2 { font-size: clamp(1.9rem,3.6vw,2.7rem); font-weight: 700; letter-spacing: -.02em; line-height: 1.1; margin: .5rem 0 1rem; }
.calc-intro p { color: var(--text-soft); font-size: 1.12rem; }
.calc-intro .split__list { margin-top: 1.4rem; }
.calc__field { margin-bottom: 1.1rem; }
.calc__field label { display: block; font-size: .9rem; font-weight: 600; color: var(--text-soft); margin-bottom: .45rem; }
.calc__inwrap { position: relative; }
.calc__inwrap .prefix { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--text-faint); font-size: .95rem; font-weight: 600; pointer-events: none; }
.calc__field input[type=text],
.fcalc__field input[type=text] {
  width: 100%; box-sizing: border-box; padding: .85rem 1rem .85rem 3.4rem;
  border: 1px solid var(--line); border-radius: 14px; font-family: inherit; font-size: 1.1rem; font-weight: 700;
  color: var(--text); font-variant-numeric: tabular-nums; background: var(--paper-2); transition: all .2s;
}
.calc__field input[type=text]:focus,
.fcalc__field input[type=text]:focus { outline: none; border-color: var(--magenta); background: #fff; box-shadow: 0 0 0 3px rgba(221,3,77,.12); }
.calc__hint { font-size: .8rem; color: var(--text-faint); margin-top: .35rem; }
.calc__sliderhead { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: .6rem; }
.calc__sliderhead b { color: var(--magenta); font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.calc input[type=range], .fcalc__field input[type=range] { width: 100%; -webkit-appearance: none; appearance: none; height: 6px; background: var(--paper-2); border-radius: 999px; outline: none; }
.calc input[type=range]::-webkit-slider-thumb, .fcalc__field input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 22px; border-radius: 50%; background: var(--magenta); cursor: pointer; border: 3px solid #fff; box-shadow: var(--shadow-soft); }
.calc input[type=range]::-moz-range-thumb, .fcalc__field input[type=range]::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: var(--magenta); cursor: pointer; border: 3px solid #fff; }
.calc__result {
  margin-top: 1.5rem; padding: 1.6rem; background: var(--grad); color: #fff; border-radius: 20px;
  box-shadow: 0 16px 40px -14px rgba(221,3,77,.5); position: relative; overflow: hidden;
}
.calc__result .lbl { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; opacity: .85; margin-bottom: .4rem; }
.calc__big { font-family: var(--font-display); font-size: clamp(2.2rem,5vw,3rem); font-weight: 800; letter-spacing: -.02em; line-height: 1; font-variant-numeric: tabular-nums; }
.calc__equiv { font-size: .95rem; opacity: .92; margin-top: .8rem; }
.calc__break { margin-top: 1.2rem; padding: 1rem 1.2rem; background: var(--paper-2); border-radius: 14px; }
.calc__break .r { display: flex; justify-content: space-between; padding: .35rem 0; font-size: .9rem; font-variant-numeric: tabular-nums; color: var(--text-soft); }
.calc__break .r b { color: var(--text); font-weight: 600; }
.calc__break .r.delta b { color: #1ca64c; }
.calc__foot { margin-top: 1rem; font-size: .76rem; color: var(--text-faint); text-align: center; line-height: 1.5; }
