*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',sans-serif;color:#111827;background:#fff;font-size:14px;line-height:1.5}

/* ── NAV ── */
.nav{background:linear-gradient(90deg,#0c1524 0%,#111830 100%);height:56px;display:flex;align-items:center;padding:0 28px;padding-left:max(28px,env(safe-area-inset-left));padding-right:max(28px,env(safe-area-inset-right));gap:20px;position:fixed;top:0;left:0;right:0;z-index:100;border-bottom:1px solid rgba(255,255,255,.06);backdrop-filter:blur(8px)}
.brand{color:#fff;font-size:17px;font-weight:800;cursor:pointer;letter-spacing:-.3px;text-decoration:none;display:flex;align-items:center;gap:8px}
.brand em{color:#818cf8;font-style:normal}
.brand-logo{height:24px;width:auto;display:block}
.brand-dot{width:6px;height:6px;border-radius:50%;background:#818cf8;animation:brandPulse 2s ease-in-out infinite}
@keyframes brandPulse{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}
.nav-links{display:flex;gap:2px;margin-left:6px}
.nav-link{color:#9ca3af;font-size:13px;font-weight:500;padding:7px 14px;border-radius:8px;cursor:pointer;text-decoration:none;transition:all .15s}
.nav-link:hover{color:#fff;background:rgba(255,255,255,.08)}
.nav-link.active{color:#fff;background:rgba(129,140,248,.15);box-shadow:0 0 0 1px rgba(129,140,248,.2)}
.nav-spacer{flex:1}
.nav-sim-count{font-size:11px;color:#64748b;background:rgba(255,255,255,.06);padding:4px 10px;border-radius:6px;white-space:nowrap}
.nav-sim-count strong{color:#818cf8}
.nav-cta{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;font-size:13px;font-weight:600;padding:8px 18px;border-radius:8px;text-decoration:none;white-space:nowrap;transition:all .2s;box-shadow:0 2px 8px rgba(79,70,229,.25)}
.nav-cta:hover{background:linear-gradient(135deg,#4338ca,#4f46e5);transform:translateY(-1px);box-shadow:0 4px 12px rgba(79,70,229,.35)}

.page{display:none;margin-top:56px}
.page.active{display:block}

/* ── HERO ── */
.sim-hero{background:linear-gradient(160deg,#0c1524 0%,#14103a 40%,#0c1524 100%);padding:56px 40px 52px;text-align:center;position:relative;overflow:visible}
.sim-hero::before{content:'';position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(99,102,241,.07) 0%,transparent 65%);pointer-events:none;clip-path:inset(0)}
.sim-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(129,140,248,.2),transparent)}
.sim-hero-sup{font-size:11px;font-weight:700;letter-spacing:.14em;color:#818cf8;text-transform:uppercase;margin-bottom:14px;position:relative}
.sim-hero-title{font-size:38px;font-weight:800;color:#fff;letter-spacing:-.8px;margin-bottom:10px;line-height:1.1;position:relative}
.sim-hero-sub{font-size:15px;color:#94a3b8;margin-bottom:28px;position:relative}
.hero-trust{display:flex;justify-content:center;gap:24px;margin-bottom:28px;position:relative}
.hero-trust-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b}
.hero-trust-item .dot{width:6px;height:6px;border-radius:50%;background:#4ade80}
.hero-trust-item strong{color:#94a3b8;font-weight:600}
.hero-search-wrap{max-width:580px;margin:0 auto 24px;position:relative}
.hero-search{width:100%;padding:15px 52px 15px 20px;font-size:15px;border-radius:12px;border:2px solid rgba(255,255,255,.08);outline:none;font-family:inherit;color:#111827;background:#fff;box-shadow:0 8px 32px rgba(0,0,0,.3);transition:all .2s}
.hero-search:focus{border-color:rgba(129,140,248,.5);box-shadow:0 8px 32px rgba(0,0,0,.3),0 0 0 4px rgba(129,140,248,.15)}
.hero-search-ico{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:18px;pointer-events:none}
.hero-dd{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.18);z-index:300;max-height:300px;overflow-y:auto;display:none;text-align:left}
.hero-dd.open{display:block}
.hero-dd-item{padding:11px 16px;cursor:pointer;border-bottom:1px solid #f3f4f6}
.hero-dd-item:last-child{border-bottom:none}
.hero-dd-item:hover,.hero-dd-item.hi{background:#f5f3ff}
.hero-dd-code{font-size:12px;font-weight:700;color:#4f46e5;font-family:monospace}
.hero-dd-desc{font-size:12px;color:#6b7280;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:680px;margin:0 auto}
.chip{background:rgba(255,255,255,.05);color:#94a3b8;font-size:12px;font-weight:500;padding:7px 16px;border-radius:100px;cursor:pointer;border:1px solid rgba(255,255,255,.08);transition:all .2s;backdrop-filter:blur(4px)}
.chip:hover{background:rgba(129,140,248,.12);color:#c7d2fe;border-color:rgba(129,140,248,.25);transform:translateY(-1px)}

/* ── UPDATES BAR ── */
.updates-bar{display:none}
.upd-item{display:flex;align-items:center;gap:12px;padding:12px 24px 12px 0;border-right:1px solid #1f2937;min-width:0;flex-shrink:0}
.upd-item:last-child{border-right:none}
.upd-dot{width:7px;height:7px;border-radius:50%;background:#4f46e5;flex-shrink:0}
.upd-label{font-size:11px;font-weight:700;letter-spacing:.08em;color:#4f46e5;text-transform:uppercase;white-space:nowrap}
.upd-text{font-size:12px;color:#9ca3af;white-space:nowrap}
.upd-date{font-size:11px;color:#4b5563;margin-left:auto;padding-left:12px;white-space:nowrap}

/* ── SIM BODY ── */
.sim-body{max-width:1100px;margin:0 auto;padding:36px 40px 0}
.frac-bar{display:none;background:linear-gradient(135deg,#f5f3ff,#eef2ff);border:1px solid #ddd6fe;border-radius:12px;padding:14px 20px;margin-bottom:12px;align-items:center;gap:12px;animation:slideDown .3s ease}
@keyframes slideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.frac-bar.show{display:flex}
.frac-bar-code{font-family:monospace;font-size:15px;font-weight:800;color:#4f46e5}
.frac-bar-sep{color:#c4b5fd;font-size:18px}
.frac-bar-desc{font-size:13px;color:#374151;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.frac-bar-x{cursor:pointer;color:#7c3aed;font-size:18px;line-height:1;padding:2px 4px;border-radius:6px;transition:all .15s}
.frac-bar-x:hover{background:#ddd6fe;transform:scale(1.1)}
.frac-bc{margin-bottom:20px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;animation:slideDown .3s ease;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.frac-bc-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#9ca3af;padding:12px 18px 8px;border-bottom:1px solid #f3f4f6}
.frac-bc-row{display:flex;align-items:center;padding:0;border-bottom:1px solid #f3f4f6;transition:background .1s}
.frac-bc-row:last-child{border-bottom:none}
.frac-bc-row:hover{background:#fafafe}
.frac-bc-row.bc-active{background:linear-gradient(135deg,#f5f3ff,#eef2ff)}
.frac-bc-lvl{width:100px;flex-shrink:0;padding:10px 14px;font-size:11px;font-weight:600;color:#6b7280;display:flex;align-items:center;gap:6px}
.frac-bc-lvl .bc-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.frac-bc-code{width:90px;flex-shrink:0;font-family:monospace;font-size:13px;font-weight:700;color:#4f46e5;padding:10px 4px}
.frac-bc-desc{flex:1;font-size:12px;color:#374151;padding:10px 14px 10px 8px;line-height:1.4;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.frac-bc-link{cursor:pointer;text-decoration:none;transition:color .12s}
.frac-bc-link:hover{color:#3730a3!important;text-decoration:underline}

.sim-grid{display:grid;grid-template-columns:380px 1fr;gap:28px;align-items:start}
.sim-form-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:28px;box-shadow:0 1px 3px rgba(0,0,0,.04);position:relative}
.sim-form-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4f46e5,#818cf8,#c084fc);opacity:.8;border-radius:16px 16px 0 0}
.sim-form-title{font-size:14px;font-weight:700;color:#374151;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between}
.btn-reset{border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:12px;padding:8px 14px;min-height:38px;border-radius:8px;cursor:pointer;font-family:inherit;transition:all .15s}
.btn-reset:hover{background:#f9fafb;color:#374151;border-color:#d1d5db}
.field{margin-bottom:16px}
.field-lbl{font-size:12px;font-weight:600;color:#6b7280;margin-bottom:6px;display:block;text-transform:uppercase;letter-spacing:.05em}
.field-ctrl{width:100%;border:1.5px solid #e5e7eb;border-radius:10px;padding:10px 14px;font-size:14px;color:#111827;font-family:inherit;background:#fafbfc;outline:none;transition:all .2s;box-sizing:border-box}
.field-ctrl:focus{border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px rgba(99,102,241,.1)}
.valor-prefix{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:15px;font-weight:600;color:#9ca3af;pointer-events:none;z-index:1}
.valor-fmt{padding-left:28px;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tc-box{border:1.5px solid #e5e7eb;border-radius:10px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;background:#fafbfc;transition:all .2s;gap:10px;width:100%;box-sizing:border-box}
.tc-box:focus-within{border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px rgba(99,102,241,.1)}
.tc-box.live{border-color:#bbf7d0;background:linear-gradient(135deg,#f0fdf4 0%,#fafbfc 100%)}
.tc-box.fallback{border-color:#fde68a;background:linear-gradient(135deg,#fffbeb 0%,#fafbfc 100%)}
.tc-left{display:flex;flex-direction:column;gap:2px;min-width:0}
.tc-label{font-size:11px;font-weight:700;color:#374151;letter-spacing:.03em}
.tc-status{font-size:10px;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tc-box.live .tc-status{color:#16a34a}
.tc-box.fallback .tc-status{color:#d97706}
.tc-right{display:flex;align-items:center;gap:6px;flex-shrink:0}
.tc-input{width:62px;border:1.5px solid #e5e7eb;border-radius:8px;padding:6px 8px;font-size:14px;font-weight:700;color:#111827;font-family:inherit;background:#fff;outline:none;text-align:center;transition:all .15s;-moz-appearance:textfield}
.tc-input::-webkit-inner-spin-button,.tc-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;display:none}
.tc-input:focus{border-color:#818cf8;box-shadow:0 0 0 2px rgba(129,140,248,.15)}
.tc-refresh{width:40px;height:40px;border-radius:8px;border:1.5px solid #e5e7eb;background:#fff;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}
.tc-refresh:hover{border-color:#818cf8;color:#6366f1;background:#f5f3ff}
.tc-refresh:active{transform:scale(.92)}
.tc-refresh.spinning svg{animation:tcSpin .6s ease}
@keyframes tcSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* ── NICO SELECTOR ── */
.nico-selector{margin-top:4px;border:1px solid #ddd6fe;border-radius:12px;background:#faf5ff;overflow:hidden}
.nico-selector-hdr{font-size:11px;font-weight:700;color:#7c3aed;padding:8px 12px 6px;text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid #ede9fe}
.nico-option{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;cursor:pointer;border-bottom:1px solid #f3f0ff;transition:background .1s}
.nico-option:last-child{border-bottom:none}
.nico-option:hover{background:#ede9fe}
.nico-option.selected{background:#ede9fe}
.nico-radio{width:15px;height:15px;border-radius:50%;border:2px solid #c4b5fd;flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;transition:all .1s}
.nico-option.selected .nico-radio{border-color:#7c3aed;background:#7c3aed}
.nico-option.selected .nico-radio::after{content:'';width:5px;height:5px;border-radius:50%;background:#fff}
.nico-code{font-size:11px;font-weight:700;color:#7c3aed;font-family:monospace;flex-shrink:0;padding-top:1px}
.nico-desc{font-size:12px;color:#374151;line-height:1.4}

/* ── TLC BANNER ── */
.tlc-banner{display:none;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #bbf7d0;border-radius:12px;padding:12px 16px;margin-bottom:14px;font-size:12px;color:#15803d;font-weight:500;align-items:center;gap:10px;animation:fadeUp .3s ease}
.tlc-banner.show{display:flex}
.tlc-banner-icon{font-size:16px;flex-shrink:0}
.tlc-banner-txt{flex:1;line-height:1.4}
.tlc-banner-rate{font-weight:800;font-size:14px;color:#15803d;margin-left:auto;white-space:nowrap;background:#dcfce7;padding:3px 10px;border-radius:6px}
.cert-toggle-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:11px 14px;margin-bottom:14px;animation:fadeUp .3s ease}
.cert-toggle-label{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:#334155;cursor:pointer}
.cert-toggle-label input{width:16px;height:16px;accent-color:#4f46e5;cursor:pointer;flex-shrink:0}
.cert-toggle-note{font-size:11px;line-height:1.45;color:#64748b;margin-top:6px;padding-left:25px}
.cert-toggle-note strong{color:#4f46e5;font-weight:700}

/* ── RESULTS ── */
.sim-results{display:flex;flex-direction:column;gap:16px}
.res-empty-card{background:linear-gradient(135deg,#fafbfc,#f5f3ff);border:1px solid #ede9fe;border-radius:16px;padding:60px 40px;text-align:center;color:#9ca3af}
.res-empty-ico{font-size:32px;margin-bottom:10px}
.res-empty-txt{font-size:13px;line-height:1.6}
.res-spinner{display:inline-block;width:30px;height:30px;border:3px solid #ede9fe;border-top-color:#6d28d9;border-radius:50%;animation:tcSpin .7s linear infinite;vertical-align:middle}
.res-cards-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;animation:fadeUp .4s ease}
.res-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:22px;transition:all .25s;box-shadow:0 1px 3px rgba(0,0,0,.03);position:relative;overflow:hidden}
.res-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4f46e5,#818cf8);opacity:0;transition:opacity .3s}
.res-card:hover{border-color:#c7d2fe;box-shadow:0 4px 16px rgba(79,70,229,.06)}
.res-card:hover::before{opacity:.7}
.res-card-lbl{font-size:10px;font-weight:700;letter-spacing:.1em;color:#9ca3af;text-transform:uppercase;margin-bottom:10px}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes fieldPulse{0%{box-shadow:0 0 0 0 rgba(79,70,229,.35)}60%{box-shadow:0 0 0 8px rgba(79,70,229,0)}100%{box-shadow:0 0 0 0 rgba(79,70,229,0)}}
@keyframes fieldGlow{0%,100%{border-color:#e5e7eb}50%{border-color:#818cf8;box-shadow:0 0 0 3px rgba(129,140,248,.2)}}
.field-next .field-ctrl,.field-next .pais-selected,.field-next .tc-box{animation:fieldGlow 1.2s ease 3;border-color:#6366f1 !important;box-shadow:0 0 0 3px rgba(99,102,241,.15) !important}
.field-next-pulse .field-ctrl{animation:fieldPulse .6s ease}
.res-rate-big{font-size:46px;font-weight:800;color:#4f46e5;line-height:1;margin-bottom:6px;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.res-rate-big.free{color:#16a34a;font-size:28px;padding-top:8px;margin-bottom:4px}
.res-rate-big.prohib{color:#dc2626;font-size:22px;padding-top:10px}
.res-rate-big.special{color:#d97706;font-size:18px;padding-top:10px;letter-spacing:0;line-height:1.3}
.res-rate-big.tlc{color:#15803d}
.res-rate-note{font-size:11px;color:#9ca3af;margin-bottom:12px;line-height:1.4}
.res-rate-note.iva-warn{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:5px;padding:4px 8px;display:inline-block}
.res-card-sep{height:1px;background:#f3f4f6;margin-bottom:12px}
.res-card-foot{display:flex;justify-content:space-between;align-items:center}
.res-card-foot-lbl{font-size:12px;font-weight:600;color:#374151}
.res-card-foot-val{font-size:14px;font-weight:800;color:#111827}
.res-bd-row{display:flex;justify-content:space-between;font-size:13px;margin-bottom:8px}
.res-bd-row .lbl{color:#9ca3af}
.res-bd-row .val{font-weight:500;color:#374151}
.res-bd-sep{height:1px;background:#e5e7eb;margin:12px 0}
.res-bd-total{display:flex;justify-content:space-between;font-size:15px;font-weight:800;color:#4f46e5;background:linear-gradient(135deg,#f5f3ff,#eef2ff);margin:-2px -22px -22px;padding:14px 22px;border-radius:0 0 14px 14px}
.btn-toggle-bd{width:100%;background:#fff;color:#4f46e5;border:1.5px solid #ddd6fe;border-radius:10px;padding:12px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;display:flex;justify-content:center;align-items:center;gap:6px;transition:all .2s;margin-top:10px}
.btn-toggle-bd:hover{background:#f5f3ff;border-color:#c7d2fe;transform:translateY(-1px);box-shadow:0 2px 8px rgba(79,70,229,.08)}

/* ── ROUTE MAP ── */
.route-map-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;position:relative;margin-bottom:10px;box-shadow:0 2px 12px rgba(0,0,0,.05);animation:fadeUp .4s ease}
.route-map-svg{width:100%;display:block}
.route-map-info{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:6px;padding:10px 16px;background:linear-gradient(transparent,rgba(255,255,255,.98) 35%);backdrop-filter:blur(3px);flex-wrap:wrap}
.route-map-tag{display:flex;align-items:center;gap:4px;font-size:11px;color:#6b7280;font-weight:500;background:#f8fafc;border:1px solid #f0f1f3;border-radius:100px;padding:4px 10px}
.route-map-tag .val{color:#111827;font-weight:700}
.route-map-tag.tag-tlc{background:#f0fdf4;border-color:#bbf7d0;color:#16a34a}
.route-map-tag.tag-tlc .val{color:#16a34a}
.route-map-tag.tag-notlc{background:#fef2f2;border-color:#fecaca;color:#ef4444}
.route-map-tag.tag-notlc .val{color:#ef4444}
@keyframes routeDash{to{stroke-dashoffset:-36}}
.route-line-anim{animation:routeDash 1.2s linear infinite}

/* ── DESGLOSE COMPLETO ── */
#full-bd{margin-top:12px;animation:fadeUp .25s ease}
/* Params summary */
.bd-params{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}
.bd-param{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f9fafb;border:1px solid #f0f1f3;border-radius:10px}
.bd-param-ico{font-size:18px;flex-shrink:0}
.bd-param-body{display:flex;flex-direction:column;gap:1px;min-width:0}
.bd-param .lbl{color:#9ca3af;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.bd-param .val{color:#111827;font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Section label */
.bd-section-label{font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.bd-section-label::after{content:'';flex:1;height:1px;background:#f0f1f3}
/* Tax cards */
.bd-tax-cards{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.bd-tax-card{background:#fff;border:1.5px solid #f0f1f3;border-radius:12px;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.bd-tax-card:hover{border-color:#e0e7ff;box-shadow:0 2px 10px rgba(99,102,241,.07)}
.bd-tax-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 8px}
.bd-tax-card-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#1f2937}
.bd-tax-card-amount{font-size:16px;font-weight:900;color:#111827;letter-spacing:-.3px}
.bd-tax-card-amount.zero{color:#16a34a}
.bd-tax-card-footer{background:#fafbff;border-top:1px solid #f3f4f6;padding:8px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.bd-tax-card-formula{font-size:11px;color:#9ca3af;flex:1;line-height:1.5}
.bd-tax-card-formula strong{color:#6b7280;font-weight:600}
.bd-tax-card-rate-pill{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:3px 10px;border-radius:100px;background:#f3f4f6;color:#6b7280;white-space:nowrap;flex-shrink:0}
.bd-tax-card-rate-pill.zero{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}
.bd-tax-card-rate-pill.tlc{background:#dcfce7;color:#15803d;border:1px solid #86efac}
.bd-tax-card-rate-pill.amber{background:#fffbeb;color:#d97706;border:1px solid #fde68a}
.bd-tax-card-rate-pill.blue{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}
.bd-tax-card-rate-pill.green{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}
/* Totals */
.bd-totals{border:1.5px solid #e0e7ff;border-radius:14px;overflow:hidden;margin-top:4px}
.bd-total-row{display:flex;justify-content:space-between;align-items:center;padding:11px 16px;border-bottom:1px solid #e9d5ff;background:#fff}
.bd-total-row:last-child{border-bottom:none;background:linear-gradient(135deg,#f5f3ff,#eef2ff)}
.bd-total-row .lbl{font-size:11.5px;color:#6b7280;font-weight:500}
.bd-total-row .val{font-size:13px;font-weight:700;color:#374151}
.bd-total-row.taxes .lbl{font-weight:600;color:#374151}
.bd-total-row.taxes .val{font-size:15px;font-weight:800;color:#4f46e5}
.bd-total-row.grand .lbl{font-size:13px;font-weight:700;color:#4f46e5}
.bd-total-row.grand .val{font-size:17px;font-weight:900;color:#4f46e5}
/* badges */
.bd-badge{display:inline-flex;align-items:center;font-size:10px;padding:2px 7px;border-radius:100px;background:#ede9fe;color:#4f46e5;font-weight:700;vertical-align:middle}
.bd-badge.iva{background:#dcfce7;color:#16a34a}
.bd-badge.dta{background:#e0f2fe;color:#0369a1}
.bd-badge.tlc{background:#dcfce7;color:#15803d}
.bd-badge.ieps{background:#fef3c7;color:#92400e}
.bd-table{display:none}

.sim-disclaimer-outer{border-top:1px solid #e5e7eb;margin-top:32px}
.sim-disclaimer{font-size:11px;color:#9ca3af;padding:14px 40px;line-height:1.6;background:#fff;max-width:1100px;margin:0 auto}
.disc-full{display:none}
.disc-full.open{display:inline}
.disc-toggle{background:none;border:none;color:#4f46e5;font-size:11px;font-weight:600;cursor:pointer;padding:0;margin-top:6px;font-family:inherit;transition:color .15s}
.disc-toggle:hover{color:#3730a3}
/* EN translation notice — fixed just below nav */
#lang-notice-bar{position:fixed;top:56px;left:0;right:0;z-index:99;background:#eef2ff;border-bottom:1px solid #c7d2fe}
.lang-notice-inner{max-width:960px;margin:0 auto;padding:8px 40px;display:flex;align-items:center;gap:10px}
.lang-notice-icon{font-size:13px;flex-shrink:0}
.lang-notice-text{font-size:12px;color:#3730a3;line-height:1.5;flex:1}
.lang-notice-text strong{color:#312e81}
.lang-notice-close{background:none;border:none;color:#6366f1;cursor:pointer;font-size:15px;padding:0 0 0 8px;flex-shrink:0;line-height:1;opacity:.6;transition:opacity .15s}
.lang-notice-close:hover{opacity:1}
/* Push page content down when banner is visible */
body.lang-notice-on .page{margin-top:93px}
body.lang-notice-on .cat-sidebar2{top:93px;height:calc(100vh - 93px)}
body.lang-notice-on .privacy-wrap{min-height:calc(100vh - 93px)}
@media(max-width:868px){
  #lang-notice-bar{top:56px}
  body.lang-notice-on .page{margin-top:100px}
  body.lang-notice-on .cat-sidebar2{top:100px;height:calc(100vh - 100px)}
  body.lang-notice-on .privacy-wrap{min-height:calc(100vh - 100px)}
  .lang-notice-inner{padding:8px 16px}
}
@media(max-width:600px){
  #lang-notice-bar{top:50px}
  body.lang-notice-on .page{margin-top:98px}
  body.lang-notice-on .cat-sidebar2{top:98px;height:calc(100vh - 98px)}
}
footer{border-top:1px solid #e5e7eb;padding:20px 40px;background:#fafbfc}
.footer-inner{display:flex;justify-content:space-between;font-size:12px;color:#9ca3af}
.footer-inner a{color:#9ca3af;text-decoration:none}
.footer-inner a:hover{color:#374151}

/* ── TEASER / GATING ── */
.teaser-wrap{position:relative}
.teaser-blur{filter:blur(6px);-webkit-filter:blur(6px);pointer-events:none;user-select:none;opacity:.7}
.teaser-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;background:radial-gradient(ellipse at center,rgba(255,255,255,.92) 0%,rgba(255,255,255,.75) 100%);border-radius:14px;padding:28px 24px;text-align:center}
.teaser-overlay-icon{font-size:28px;margin-bottom:8px}
.teaser-overlay-title{font-size:16px;font-weight:800;color:#111827;margin-bottom:4px;letter-spacing:-.2px}
.teaser-overlay-sub{font-size:12px;color:#6b7280;line-height:1.5;margin-bottom:16px;max-width:320px}
.teaser-overlay-benefits{display:flex;flex-direction:column;gap:5px;margin-bottom:16px;text-align:left}
.teaser-overlay-benefit{font-size:11px;color:#374151;display:flex;align-items:center;gap:6px}
.teaser-overlay-benefit::before{content:'✓';font-weight:800;color:#16a34a;font-size:12px;flex-shrink:0}
.teaser-btn{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;border:none;border-radius:9px;padding:12px 28px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .2s;box-shadow:0 4px 14px rgba(79,70,229,.3)}
.teaser-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(79,70,229,.4)}
.teaser-overlay-note{font-size:10px;color:#9ca3af;margin-top:10px}

.tlc-teaser-row{display:none}

/* ── SPECIAL RATE QUANTITY FIELD ── */
.qty-field-banner{display:flex;align-items:flex-start;gap:10px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:10px 12px;margin-bottom:10px}
.qty-field-ico{font-size:18px;flex-shrink:0;margin-top:1px}
.qty-field-title{font-size:12px;font-weight:700;color:#92400e;margin-bottom:3px}
.qty-field-note{font-size:11px;color:#a16207;line-height:1.45}
.rate-badge.rate-amx{background:#fef3c7;color:#92400e;border:1px solid #fde68a}
.rate-badge.rate-ae{background:#ede9fe;color:#6d28d9;border:1px solid #ddd6fe}
.rate-row-amx td:first-child{border-left:4px solid #f59e0b}
.rate-row-ae  td:first-child{border-left:4px solid #8b5cf6}

/* ── CONTACT MODAL ── */
.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:500;align-items:center;justify-content:center;padding:20px}
.modal-backdrop.open{display:flex;animation:fadeIn .18s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.modal{background:#fff;border-radius:20px;width:100%;max-width:460px;box-shadow:0 24px 64px rgba(0,0,0,.3);overflow:hidden;animation:slideUp .22s ease;position:relative}
@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
.modal-close{position:absolute;top:14px;right:14px;background:none;border:none;color:#9ca3af;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .15s;z-index:2}
.modal-close:hover{background:#f3f4f6;color:#374151}
.modal-top{text-align:center;padding:32px 32px 0}
.modal-avatar{width:64px;height:64px;border-radius:50%;background:#eef2ff;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.modal-avatar svg{width:32px;height:32px;color:#4f46e5}
.modal-top-title{font-size:22px;font-weight:800;color:#111827;letter-spacing:-.3px;margin-bottom:6px}
.modal-top-sub{font-size:13px;color:#6b7280;line-height:1.5}
.modal-frac-badge{display:none;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:100px;padding:8px 18px;margin:16px auto 0;font-size:12px;color:#4f46e5;font-weight:600;width:fit-content}
.modal-frac-badge.show{display:block}
.modal-frac-badge code{font-family:monospace;font-weight:800;color:#4f46e5}
.modal-body{padding:24px 32px 0}
.modal-field{margin-bottom:16px}
.modal-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.modal-lbl{font-size:12px;font-weight:600;color:#374151;margin-bottom:6px;display:block}
.modal-req{color:#ef4444;margin-left:2px}
.modal-ctrl{width:100%;border:1.5px solid #e5e7eb;border-radius:10px;padding:11px 14px;font-size:14px;font-family:inherit;color:#111827;background:#fff;outline:none;transition:all .15s;box-sizing:border-box}
.modal-ctrl:focus{border-color:#4f46e5;box-shadow:0 0 0 3px rgba(79,70,229,.08)}
.modal-ctrl::placeholder{color:#c0c4cc}
.modal-ctrl.error{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.08)}
.modal-email-error{display:none;font-size:11px;color:#ef4444;margin-top:4px}
.modal-email-error.show{display:block}
.modal-phone-wrap{display:flex;gap:0;border:1.5px solid #e5e7eb;border-radius:10px;overflow:hidden;transition:all .15s}
.modal-phone-wrap:focus-within{border-color:#4f46e5;box-shadow:0 0 0 3px rgba(79,70,229,.08)}
.modal-phone-prefix{display:flex;align-items:center;gap:6px;padding:0 12px;background:#f9fafb;border-right:1.5px solid #e5e7eb;font-size:13px;color:#374151;font-weight:500;flex-shrink:0;white-space:nowrap}
.modal-phone-input{flex:1;border:none;padding:11px 14px;font-size:14px;font-family:inherit;color:#111827;outline:none;background:transparent}
.modal-phone-input::placeholder{color:#c0c4cc}
.modal-check{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px}
.modal-check input[type=checkbox]{width:18px;height:18px;accent-color:#4f46e5;flex-shrink:0;margin-top:2px;cursor:pointer}
.modal-check label{font-size:12px;color:#6b7280;line-height:1.5;cursor:pointer}
.modal-legal{font-size:11px;color:#9ca3af;text-align:center;line-height:1.5;margin-bottom:8px}
.modal-legal a{color:#4f46e5;text-decoration:underline;cursor:pointer}
.modal-footer{padding:0 32px 32px;display:flex;flex-direction:column;gap:16px}
.modal-btn-send{width:100%;background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;border:none;border-radius:10px;padding:14px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s;box-shadow:0 2px 8px rgba(79,70,229,.25)}
.modal-btn-send:hover{background:linear-gradient(135deg,#4338ca,#4f46e5);transform:translateY(-1px);box-shadow:0 4px 12px rgba(79,70,229,.35)}
.modal-btn-send:disabled{background:#a5b4fc;cursor:not-allowed;transform:none;box-shadow:none}
/* Success state */
.modal-success{display:none;padding:48px 32px;text-align:center}
.modal-success.show{display:block}
.modal-success-ico{font-size:48px;margin-bottom:14px}
.modal-success-title{font-size:20px;font-weight:800;color:#111827;margin-bottom:6px}
.modal-success-sub{font-size:14px;color:#6b7280;margin-bottom:24px;line-height:1.5}
.modal-btn-close{background:#f3f4f6;border:none;border-radius:10px;padding:12px 24px;font-size:14px;font-weight:600;color:#374151;cursor:pointer;font-family:inherit;transition:background .15s}
.modal-btn-close:hover{background:#e5e7eb}

/* ── CATALOG v2 ── */
.cat-layout{min-height:calc(100vh - 54px);background:#fff}
.cat-sidebar{display:none}
.cat-wrapper{display:flex;min-height:calc(100vh - 250px);background:#f9fafb}
.cat-sidebar2{width:260px;flex-shrink:0;background:#fff;border-right:1px solid #f0f1f3;overflow-y:auto;position:sticky;top:56px;height:calc(100vh - 56px);padding:14px 0}
.cat-sidebar2::-webkit-scrollbar{width:3px}
.cat-sidebar2::-webkit-scrollbar-track{background:transparent}
.cat-sidebar2::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}
.cat-sb2-sec{margin:0 10px 1px}
.cat-sb2-btn{width:100%;text-align:left;background:none;border:none;padding:8px 10px;font-size:12px;font-weight:500;color:#6b7280;cursor:pointer;display:flex;align-items:center;gap:9px;font-family:inherit;transition:all .15s;line-height:1.35;border-radius:8px}
.cat-sb2-btn:hover{background:#f5f3ff;color:#4f46e5}
.cat-sb2-btn.active,.cat-sb2-btn.open{background:#f5f3ff;color:#4f46e5;font-weight:600}
.cat-sb2-btn .sb-ico{font-size:13px;flex-shrink:0;width:20px;text-align:center}
.cat-sb2-btn .sb-rom{display:none}
.cat-sb2-btn .sb-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cat-sb2-btn .sb-arr{color:#d1d5db;transition:transform .2s;font-size:8px;flex-shrink:0}
.cat-sb2-btn:hover .sb-arr{color:#4f46e5}
.cat-sb2-btn.open .sb-arr{transform:rotate(90deg);color:#4f46e5}
.cat-sb2-caps{display:none;padding:2px 0 4px}
.cat-sb2-caps.open{display:block}
.cat-sb2-cap{width:calc(100% - 12px);margin-left:6px;text-align:left;background:none;border:none;padding:5px 10px 5px 32px;font-size:11px;color:#9ca3af;cursor:pointer;font-family:inherit;transition:all .12s;display:flex;align-items:center;gap:6px;line-height:1.35;border-radius:6px;border-left:2px solid transparent}
.cat-sb2-cap:hover{background:#faf5ff;color:#6b7280}
.cat-sb2-cap.active{color:#4f46e5;font-weight:600;background:#eef2ff;border-left-color:#4f46e5}
.cat-sb2-cap .cap-num{font-family:monospace;font-weight:700;font-size:10px;min-width:20px;color:#c4b5fd}
.cat-sb2-cap.active .cap-num{color:#4f46e5}
.cat-sb2-cap .cap-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:768px){.cat-sidebar2{display:none}.cat-wrapper{display:block}}

/* Catalog hero */
.cat-hero{background:linear-gradient(160deg,#0c1524 0%,#14103a 40%,#0c1524 100%);padding:48px 40px 40px;text-align:center;position:relative;overflow:visible}
.cat-hero::before{content:'';position:absolute;top:-160px;left:50%;transform:translateX(-50%);width:700px;height:700px;background:radial-gradient(circle,rgba(99,102,241,.06) 0%,transparent 65%);pointer-events:none}
.cat-hero-title{font-size:28px;font-weight:800;color:#fff;letter-spacing:-.6px;margin-bottom:6px}
.cat-hero-sub{font-size:14px;color:#94a3b8;margin-bottom:24px}
.cat-search-wrap{max-width:560px;margin:0 auto;position:relative}
.cat-search-input{width:100%;padding:15px 52px 15px 20px;font-size:15px;border-radius:12px;border:2px solid rgba(255,255,255,.08);outline:none;font-family:inherit;color:#111827;background:#fff;box-shadow:0 8px 32px rgba(0,0,0,.3);transition:all .2s}
.cat-search-input:focus{border-color:rgba(129,140,248,.5);box-shadow:0 8px 32px rgba(0,0,0,.3),0 0 0 4px rgba(129,140,248,.15)}
.cat-search-ico{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:18px;pointer-events:none}

/* Catalog body */
.cat-body{flex:1;padding:32px 40px 60px;max-width:960px;width:100%}

/* Breadcrumbs v2 */
.cat-bc{display:flex;align-items:center;gap:6px;font-size:12px;color:#9ca3af;margin-bottom:24px;flex-wrap:wrap;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 14px;width:fit-content}
.cat-bc a{cursor:pointer;text-decoration:none;color:#4f46e5;font-weight:500;transition:color .1s}
.cat-bc a:hover{color:#3730a3}
.cat-bc .sep{color:#d1d5db}

/* Section grid v2 */
.cat-sec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:12px}
.cat-sec-card2{border:1px solid #e5e7eb;border-radius:14px;padding:20px 22px;cursor:pointer;transition:all .2s;background:#fff;display:flex;align-items:center;gap:16px;box-shadow:0 1px 3px rgba(0,0,0,.02)}
.cat-sec-card2:hover{border-color:#c7d2fe;box-shadow:0 6px 20px rgba(79,70,229,.1);transform:translateY(-2px)}
.cat-sec-card2 .ico{width:44px;height:44px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:21px;flex-shrink:0}
.cat-sec-card2 .info{flex:1;min-width:0}
.cat-sec-card2 .sec-label{font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.cat-sec-card2 .sec-name{font-size:14px;font-weight:600;color:#111827;line-height:1.4}
.cat-sec-card2 .arrow{color:#c4b5fd;font-size:16px;flex-shrink:0;transition:all .15s}
.cat-sec-card2:hover .arrow{transform:translateX(3px);color:#4f46e5}

/* Chapter cards v2 */
.cat-chap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:12px}
.cat-chap-card{border:1px solid #e5e7eb;border-radius:12px;padding:20px 22px;cursor:pointer;transition:all .2s;background:#fff;position:relative;overflow:hidden}
.cat-chap-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:#4f46e5;opacity:0;transition:opacity .2s}
.cat-chap-card:hover{border-color:#c7d2fe;box-shadow:0 4px 16px rgba(79,70,229,.1);transform:translateY(-2px)}
.cat-chap-card:hover::before{opacity:1}
.cat-chap-card .chap-num{font-size:11px;font-weight:700;color:#4f46e5;font-family:monospace;margin-bottom:5px;background:#eef2ff;display:inline-block;padding:2px 8px;border-radius:4px}
.cat-chap-card .chap-name{font-size:13px;font-weight:600;color:#374151;line-height:1.45;margin-bottom:10px}
.cat-chap-card .chap-count{font-size:11px;color:#9ca3af;font-weight:500}

/* Fraction table v2 */
.cat-table2{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:24px;table-layout:fixed;overflow:hidden}
.cat-table2 th{padding:10px 14px;font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.07em;background:#f9fafb;border-bottom:2px solid #e5e7eb;text-align:left;white-space:nowrap}
.cat-table2 td{padding:11px 10px;font-size:13px;color:#374151;border-bottom:1px solid #f3f4f6;vertical-align:middle}
.cat-table2 tbody tr:last-child td{border-bottom:none}
.cat-table2 tbody tr:hover td{background:#fafbff}
.cat-table2 tbody tr td:first-child{border-left:3px solid transparent}
.cat-table2 tbody tr.rate-row-free td:first-child{border-left-color:#22c55e}
.cat-table2 tbody tr.rate-row-low td:first-child{border-left-color:#84cc16}
.cat-table2 tbody tr.rate-row-mid td:first-child{border-left-color:#f59e0b}
.cat-table2 tbody tr.rate-row-high td:first-child{border-left-color:#ef4444}
.cat-table2 tbody tr.rate-row-prohib td:first-child{border-left-color:#7f1d1d}
.cat-table2 tbody tr.rate-row-special td:first-child{border-left-color:#d97706}
.cat-table2 tbody tr.rate-row-amx td:first-child{border-left-color:#d97706}
.cat-table2 tbody tr.rate-row-ae td:first-child{border-left-color:#d97706}
.cat-table2 .td-code{font-family:monospace;font-weight:700;color:#4f46e5;font-size:12px;white-space:nowrap}
.cat-table2 .td-desc{line-height:1.45;color:#374151;cursor:pointer;position:relative;padding-right:10px}
.td-desc .desc-inner{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5;transition:none}
.td-desc.expanded .desc-inner{display:block;overflow:visible;-webkit-line-clamp:unset}
.td-desc .desc-toggle{display:inline-block;font-size:10px;font-weight:600;color:#818cf8;margin-top:2px;cursor:pointer;white-space:nowrap;user-select:none}
.td-desc.expanded .desc-toggle{color:#6366f1}
.cat-table2 .td-unit{text-align:center;white-space:nowrap;font-size:11px;font-weight:600;color:#6b7280}
.cat-table2 .td-rate{text-align:center;vertical-align:middle}
.cat-table2 .td-action{text-align:center;white-space:nowrap;padding:10px 8px;overflow:visible}

/* Partida header v2 */
.partida2{margin-bottom:28px}
.partida2-hdr{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:8px;border-bottom:2px solid #f3f4f6}
.partida2-num{font-size:12px;font-weight:800;background:#ede9fe;color:#4f46e5;padding:4px 10px;border-radius:6px;font-family:monospace}
.partida2-desc{font-size:13px;font-weight:600;color:#374151;line-height:1.4}

/* NICO sub-rows v2 */
.nico-row2 td{background:#faf5ff!important;padding:7px 14px 7px 28px!important;border-bottom:1px solid #f3f0ff!important}
.nico-row2 td:first-child{border-left:3px solid #ddd6fe!important}
.nico-row2:hover td{background:#f3f0ff!important}
.nico-row2 .nico-code2{font-family:monospace;font-size:10px;font-weight:700;color:#7c3aed;background:#ede9fe;padding:1px 6px;border-radius:4px}
.nico-row2 .nico-desc2{color:#6b7280;font-size:12px;line-height:1.4}

/* Empty + search info */
.cat-sb-search-wrap{position:relative}
.cat-sb-search{width:100%;border:1px solid #e5e7eb;border-radius:7px;padding:8px 10px 8px 32px;font-size:13px;font-family:inherit;outline:none;background:#f9fafb;transition:all .15s}
.cat-sb-search:focus{border-color:#4f46e5;background:#fff;box-shadow:0 0 0 3px rgba(79,70,229,.07)}
.cat-sb-search-ico{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:13px;pointer-events:none}
.cat-sb-body{flex:1;overflow-y:auto;padding-bottom:12px}
.cat-sec-group{border-bottom:1px solid #e5e7eb}
.cat-sec-btn{width:100%;text-align:left;background:none;border:none;padding:9px 14px;font-size:12px;font-weight:600;color:#374151;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:inherit;transition:background .1s;gap:6px}
.cat-sec-btn:hover{background:#f3f4f6}
.cat-sec-btn .sec-roman{font-size:10px;font-weight:700;color:#9ca3af;min-width:24px;flex-shrink:0}
.cat-sec-btn .sec-name{flex:1;line-height:1.3}
.cat-sec-btn .arr{color:#c4c9d4;transition:transform .2s;font-size:10px;flex-shrink:0}
.cat-sec-btn.open{background:#f0f0ff}
.cat-sec-btn.open .sec-roman{color:#4f46e5}
.cat-sec-btn.open .arr{transform:rotate(90deg);color:#4f46e5}
.cat-sec-children{display:none;background:#fff;border-top:1px solid #f3f4f6}
.cat-sec-children.open{display:block}
.cat-cap-btn{width:100%;text-align:left;background:none;border:none;padding:7px 14px 7px 38px;font-size:12px;color:#6b7280;cursor:pointer;font-family:inherit;border-bottom:1px solid #f9fafb;display:flex;align-items:center;gap:8px;transition:all .1s}
.cat-cap-btn:hover{background:#f5f5ff;color:#374151}
.cat-cap-btn.active{color:#4f46e5;font-weight:600;background:#eef2ff;border-left:3px solid #4f46e5;padding-left:35px}
.cap-badge{font-size:10px;font-weight:600;background:#f3f4f6;color:#9ca3af;padding:1px 5px;border-radius:4px;margin-left:auto;flex-shrink:0}

/* Main content */
.cat-main{flex:1;min-width:0;background:#fff}
.cat-main-inner{padding:32px 44px;max-width:1100px}
.cat-breadcrumb{font-size:12px;color:#9ca3af;margin-bottom:10px;display:flex;align-items:center;gap:5px}
.cat-breadcrumb a{cursor:pointer;text-decoration:none;color:#9ca3af;transition:color .1s}
.cat-breadcrumb a:hover{color:#4f46e5}
.cat-breadcrumb .sep{color:#d1d5db}
.cat-main-title{font-size:24px;font-weight:800;letter-spacing:-.5px;margin-bottom:4px;color:#111827}
.cat-main-sub{font-size:13px;color:#9ca3af;margin-bottom:28px}

/* Home grid — section cards */
.cat-home-header{margin-bottom:24px}
.cat-stats-row{display:flex;gap:20px;margin-bottom:28px}
.cat-stat{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:12px 18px;display:flex;flex-direction:column;gap:2px;min-width:130px}
.cat-stat-val{font-size:20px;font-weight:800;color:#111827;letter-spacing:-.5px}
.cat-stat-lbl{font-size:11px;color:#9ca3af;font-weight:500}
.cat-home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.cat-sec-card{border:1px solid #e5e7eb;border-radius:10px;padding:0;cursor:pointer;transition:all .18s;overflow:hidden;background:#fff}
.cat-sec-card:hover{border-color:#818cf8;box-shadow:0 4px 16px rgba(79,70,229,.1);transform:translateY(-1px)}
.cat-sec-card-top{padding:16px 18px 12px;display:flex;align-items:flex-start;gap:12px}
.cat-sec-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.cat-sec-card-info{flex:1;min-width:0}
.cat-sec-num{font-size:10px;font-weight:700;color:#9ca3af;letter-spacing:.1em;margin-bottom:2px;text-transform:uppercase}
.cat-sec-name{font-size:13px;font-weight:600;color:#111827;line-height:1.35}
.cat-sec-card-foot{padding:10px 18px;background:#f9fafb;border-top:1px solid #f3f4f6;display:flex;justify-content:space-between;align-items:center}
.cat-sec-foot-caps{font-size:11px;color:#9ca3af}
.cat-sec-foot-fracs{font-size:11px;font-weight:700;color:#6b7280}

/* Chapter view — partida blocks */
.partida-block{margin-bottom:28px;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}
.partida-header{padding:12px 18px;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:12px}
.partida-num{font-size:11px;font-weight:700;background:#e5e7eb;color:#6b7280;padding:3px 9px;border-radius:5px;font-family:monospace;flex-shrink:0}
.partida-desc{font-size:13px;font-weight:600;color:#374151;line-height:1.4}

/* Fraction table */
.cat-table-wrap{overflow-x:auto}
.cat-table{width:100%;border-collapse:collapse}
.cat-table th{padding:9px 14px;font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.07em;background:#f9fafb;border-bottom:2px solid #e5e7eb;text-align:left;white-space:nowrap}
.cat-table td{padding:10px 14px;font-size:13px;color:#374151;border-bottom:1px solid #f3f4f6;vertical-align:middle}
.cat-table tbody tr:last-child td{border-bottom:none}
.cat-table tbody tr:hover td{background:#fafbff}

/* Rate indicator strip on left edge */
.cat-table tbody tr td:first-child{border-left:3px solid transparent}
.cat-table tbody tr.rate-row-free td:first-child{border-left-color:#22c55e}
.cat-table tbody tr.rate-row-low td:first-child{border-left-color:#84cc16}
.cat-table tbody tr.rate-row-mid td:first-child{border-left-color:#f59e0b}
.cat-table tbody tr.rate-row-high td:first-child{border-left-color:#ef4444}
.cat-table tbody tr.rate-row-prohib td:first-child{border-left-color:#7f1d1d}
.cat-table tbody tr.rate-row-special td:first-child{border-left-color:#d97706}

.cat-td-code{font-family:monospace;font-weight:700;color:#4f46e5;font-size:12px;white-space:nowrap}
.nico-count-pill{display:inline-block;background:#f3f0ff;color:#7c3aed;font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;margin-top:3px;font-family:inherit}
.ieps-pill{display:inline-block;background:#fef3c7;color:#92400e;font-size:9px;font-weight:700;padding:2px 7px;border-radius:4px;margin-top:4px;vertical-align:middle;letter-spacing:.03em}
.cat-td-desc{line-height:1.45;color:#374151}
.cat-td-rate{white-space:nowrap;text-align:center}
.cat-td-tlc{white-space:nowrap;text-align:center}
.cat-td-unit{text-align:center;font-size:11px;color:#9ca3af;white-space:nowrap}
.cat-td-action{white-space:nowrap;text-align:right}

.rate-badge{display:inline-block;padding:2px 9px;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:.01em}
.rate-free{background:#dcfce7;color:#16a34a}
.rate-prohib{background:#fee2e2;color:#dc2626}
.rate-low{background:#ecfccb;color:#4d7c0f}
.rate-num{background:#ede9fe;color:#4f46e5}
.rate-high{background:#fff7ed;color:#c2410c}
.rate-special{background:#fef3c7;color:#d97706}
.rate-tlc{background:#dcfce7;color:#15803d;font-size:10px}

.tlc-pills{display:flex;flex-wrap:wrap;gap:3px;justify-content:center}
.tlc-pill{font-size:10px;font-weight:600;background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0;padding:1px 5px;border-radius:4px;white-space:nowrap}
.tlc-pill.partial{background:#fffbeb;color:#b45309;border-color:#fde68a}
.tlc-more{font-size:10px;color:#9ca3af;padding:1px 4px}

.cat-calc-btn{background:linear-gradient(135deg,#4f46e5,#6366f1);border:none;color:#fff;font-size:11px;font-weight:700;cursor:pointer;padding:7px 14px;border-radius:8px;font-family:inherit;white-space:nowrap;transition:all .15s;box-shadow:0 2px 6px rgba(79,70,229,.25)}
.cat-calc-btn:hover{background:linear-gradient(135deg,#4338ca,#4f46e5);box-shadow:0 4px 12px rgba(79,70,229,.3);transform:translateY(-1px)}

/* NICO sub-rows */
.nico-row td{background:#faf5ff!important;padding:7px 14px 7px 32px!important;border-bottom:1px solid #f3f0ff!important}
.nico-row td:first-child{border-left:3px solid #ddd6fe!important}
.nico-row-code{font-family:monospace;font-size:11px;font-weight:700;color:#7c3aed}
.nico-row-desc{color:#6b7280;font-size:12px}

.search-info{font-size:13px;color:#6b7280;margin-bottom:20px}
.cat-empty{color:#9ca3af;font-size:13px;padding:24px 0}
.tlc-ind{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:100px;cursor:default}
.tlc-ind.has{background:#dcfce7;color:#16a34a}
.tlc-ind.has.clickable{cursor:pointer;transition:all .15s}
.tlc-ind.has.clickable:hover{background:#bbf7d0;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.tlc-ind.none{background:#f3f4f6;color:#9ca3af}
.tlc-ind .lock-ico{font-size:10px}
/* TLC inline accordion row */
.tlc-expand-row td{padding:0!important;border-top:2px solid #818cf8!important;border-bottom:2px solid #818cf8!important;border-left:4px solid #818cf8!important;border-right:4px solid #818cf8!important;background:#eef2ff!important}
.tlc-expand-inner{background:#eef2ff;padding:16px 20px 20px;animation:slideDown .2s ease}
.tlc-expand-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #c7d2fe}
.tlc-expand-title{font-size:12px;font-weight:700;color:#4f46e5;text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:8px}
.tlc-expand-title::before{content:'🤝';font-size:15px}
.tlc-expand-close{background:none;border:1px solid #c7d2fe;cursor:pointer;color:#6366f1;font-size:11px;font-weight:600;line-height:1;padding:5px 12px;border-radius:6px;transition:all .15s;font-family:inherit}
.tlc-expand-close:hover{background:#ede9fe;border-color:#818cf8;color:#4f46e5}
.tlc-expand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:8px}
.tlc-expand-item{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1.5px solid #e0e7ff;border-radius:10px;padding:9px 12px;font-size:12.5px;color:#374151;transition:border-color .15s,box-shadow .15s,background .15s}
.tlc-expand-item:hover{border-color:#a5b4fc;background:#f5f3ff;box-shadow:0 2px 6px rgba(99,102,241,.08)}
.tlc-ei-left{display:flex;align-items:center;gap:8px}
.tlc-ei-flag{font-size:18px;line-height:1;flex-shrink:0}
.tlc-ei-name{font-weight:500;color:#1f2937}
.tlc-ei-rate{font-weight:700;color:#16a34a;white-space:nowrap;background:#f0fdf4;padding:2px 8px;border-radius:5px;font-size:11.5px;border:1px solid #bbf7d0}
.tlc-ei-rate.partial{color:#d97706;background:#fffbeb;border-color:#fde68a}
/* keep old popup CSS in case teaser still uses it */
.tlc-detail-popup{display:none}
.tlc-gate-msg{text-align:center;padding:12px;font-size:12px;color:#6b7280;line-height:1.5}
.tlc-gate-msg a{color:#4f46e5;font-weight:600;cursor:pointer;text-decoration:none}
/* Search result section link */
.search-sec-link{display:inline-block;font-size:11px;color:#4f46e5;font-weight:500;text-decoration:none;cursor:pointer;margin-top:3px;transition:color .1s}
.search-sec-link:hover{color:#3730a3;text-decoration:underline}

/* ── COUNTRY PICKER ── */
.pais-picker{position:relative}
.pais-selected{width:100%;border:1.5px solid #e5e7eb;border-radius:10px;padding:10px 14px;font-size:14px;color:#111827;background:#fafbfc;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all .2s;user-select:none}
.pais-selected:hover:not(.disabled){border-color:#c7d2fe}
.pais-selected.disabled{cursor:not-allowed;opacity:.45;background:#f9fafb;border-color:#e5e7eb}
.pais-locked-hint{font-size:11px;color:#9ca3af;margin-top:4px;display:none}
.pais-locked-hint.show{display:block}
.pais-selected.open{border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px rgba(99,102,241,.1);border-radius:10px 10px 0 0}
.pais-selected-txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.pais-sel-tlc-tag{font-size:10px;font-weight:700;padding:2px 7px;border-radius:5px;flex-shrink:0;margin-left:6px}
.pais-sel-tlc-tag.tlc{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}
.pais-sel-tlc-tag.notlc{color:#9ca3af;background:#f3f4f6;border:1px solid #e5e7eb}
.pais-arrow{color:#9ca3af;font-size:12px;transition:transform .2s}
.pais-selected.open .pais-arrow{transform:rotate(180deg)}
.pais-dropdown{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border:1.5px solid #6366f1;border-top:none;border-radius:0 0 10px 10px;box-shadow:0 12px 32px rgba(0,0,0,.15);z-index:250;max-height:320px;overflow:hidden}
.pais-dropdown.open{display:block;animation:fadeUp .15s ease}
.pais-search-wrap{padding:8px 10px;border-bottom:1px solid #f3f4f6;position:sticky;top:0;background:#fff;z-index:1}
.pais-search{width:100%;border:1.5px solid #e5e7eb;border-radius:8px;padding:8px 12px;font-size:13px;font-family:inherit;outline:none;background:#f9fafb;transition:all .15s}
.pais-search:focus{border-color:#818cf8;background:#fff;box-shadow:0 0 0 2px rgba(129,140,248,.1)}
.pais-list{overflow-y:auto;max-height:260px}
.pais-group-label{padding:6px 14px;font-size:10px;font-weight:700;color:#6366f1;text-transform:uppercase;letter-spacing:.08em;background:#f8f7ff;border-bottom:1px solid #f3f4f6;position:sticky;top:0}
.pais-item{padding:9px 14px;font-size:13px;color:#374151;cursor:pointer;border-bottom:1px solid #fafafa;transition:background .1s;display:flex;align-items:center;gap:8px}
.pais-item:hover,.pais-item.hi{background:#f5f3ff}
.pais-item.selected{background:#ede9fe;font-weight:600;color:#4f46e5}
.pais-item .pais-tlc-badge{font-size:9px;font-weight:700;background:#dcfce7;color:#16a34a;padding:1px 5px;border-radius:4px;margin-left:auto;flex-shrink:0}
.pais-item .pais-no-tlc{font-size:9px;color:#d1d5db;margin-left:auto;flex-shrink:0}
/* Country picker modal */
.pais-modal-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:4000;backdrop-filter:blur(2px);animation:fadeIn .18s ease}
.pais-modal{display:none;position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4001;background:#fff;border-radius:20px;width:min(560px,94vw);max-height:80vh;box-shadow:0 24px 60px rgba(0,0,0,.22);overflow:hidden;flex-direction:column;animation:modalPop .22s cubic-bezier(.34,1.56,.64,1)}
.pais-modal.open,.pais-modal-backdrop.open{display:flex}
@keyframes modalPop{from{opacity:0;transform:translate(-50%,-48%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.pais-modal-header{padding:18px 20px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f3f4f6;flex-shrink:0}
.pais-modal-title{font-size:16px;font-weight:700;color:#111827}
.pais-modal-close{background:none;border:none;font-size:18px;color:#9ca3af;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:color .15s,background .15s;line-height:1;flex-shrink:0}
.pais-modal-close:hover{color:#374151;background:#f3f4f6}
.pais-modal-search-wrap{padding:12px 16px 8px;position:relative;flex-shrink:0}
.pais-modal-search-ico{position:absolute;left:28px;top:50%;transform:translateY(-50%);font-size:14px;pointer-events:none}
.pais-modal-search-input{width:100%;box-sizing:border-box;padding:10px 12px 10px 36px;border:1.5px solid #e5e7eb;border-radius:10px;font-size:14px;color:#111827;outline:none;transition:border-color .15s,box-shadow .15s;background:#fafbfc}
.pais-modal-search-input:focus{border-color:#818cf8;box-shadow:0 0 0 3px rgba(129,140,248,.15);background:#fff}
.pais-modal-body{overflow-y:auto;flex:1;padding:4px 0 8px}
/* Quick-select chips */
.pais-quick-section{padding:8px 16px 4px}
.pais-quick-label{font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.pais-quick-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;padding:0 16px 8px}
.pais-quick-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 6px;border:1.5px solid #e5e7eb;border-radius:12px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s,transform .1s;text-align:center}
.pais-quick-btn:hover{border-color:#818cf8;background:#f5f3ff;transform:translateY(-1px)}
.pais-quick-btn.selected{border-color:#4f46e5;background:#ede9fe}
.pais-quick-flag{font-size:22px;line-height:1}
.pais-quick-name{font-size:10px;font-weight:600;color:#374151;line-height:1.2;max-width:60px;word-break:break-word}
.pais-quick-tlc{font-size:8px;font-weight:700;color:#16a34a;background:#dcfce7;padding:1px 4px;border-radius:3px;margin-top:1px}
/* Modal divider + group labels */
.pais-modal-divider{height:1px;background:#f3f4f6;margin:8px 16px}
.pais-modal-group-lbl{padding:10px 16px 6px;font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.06em}
.pais-modal-items-wrap{padding:0 12px 4px;display:flex;flex-direction:column;gap:4px}
.pais-modal-item{padding:10px 14px;font-size:13px;color:#374151;cursor:pointer;display:flex;align-items:center;gap:10px;transition:background .12s,border-color .12s,box-shadow .12s;border:1.5px solid #f0f0f2;border-radius:10px;background:#fff}
.pais-modal-item:hover{background:#f5f3ff;border-color:#c4b5fd;box-shadow:0 1px 4px rgba(129,140,248,.12)}
.pais-modal-item:active{transform:scale(.99)}
.pais-modal-item.selected{background:#ede9fe;border-color:#818cf8;font-weight:600;color:#4f46e5;box-shadow:0 0 0 3px rgba(129,140,248,.15)}
.pais-modal-item .tlc-dot{font-size:10px;font-weight:700;color:#15803d;background:#dcfce7;border:1px solid #bbf7d0;padding:2px 7px;border-radius:5px;flex-shrink:0;margin-left:auto;white-space:nowrap}
.pais-modal-item .notlc-dot{font-size:10px;font-weight:600;color:#9ca3af;background:#f3f4f6;border:1px solid #e5e7eb;padding:2px 7px;border-radius:5px;flex-shrink:0;margin-left:auto;white-space:nowrap}
.pais-modal-group-header{display:flex;align-items:center;gap:8px;padding:10px 16px 6px;position:sticky;top:0;background:#fff;z-index:1;border-top:1px solid #f3f4f6;margin-top:2px}
.pais-modal-group-header:first-child{border-top:none;margin-top:0}
.pais-group-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.pais-group-name{font-size:11px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.05em}
.pais-group-tag{font-size:10px;font-weight:600;padding:1px 7px;border-radius:5px;flex-shrink:0}
@media(max-width:480px){
  .pais-quick-grid{grid-template-columns:repeat(4,1fr)}
  .pais-modal{top:auto;bottom:0;left:0;right:0;transform:none;width:100%;max-height:88vh;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}
  .pais-modal-body{padding-bottom:max(8px,env(safe-area-inset-bottom,8px))}
  @keyframes modalPop{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
}
.pais-no-results{padding:16px;text-align:center;font-size:13px;color:#9ca3af}
.hidden{display:none!important}

/* ── PRIVACY PAGE ── */
.privacy-wrap{min-height:calc(100vh - 56px);background:#f9fafb;padding:48px 40px 80px}
.privacy-card{max-width:760px;margin:0 auto;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:48px 52px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.privacy-badge{display:inline-block;font-size:11px;font-weight:700;color:#4f46e5;background:#eef2ff;padding:5px 14px;border-radius:100px;margin-bottom:20px;letter-spacing:.04em}
.privacy-title{font-size:30px;font-weight:800;color:#111827;letter-spacing:-.5px;margin-bottom:6px}
.privacy-updated{font-size:13px;color:#9ca3af;margin-bottom:36px;padding-bottom:24px;border-bottom:1px solid #f3f4f6}
.privacy-section{margin-bottom:28px}
.privacy-section h2{font-size:16px;font-weight:700;color:#1f2937;margin-bottom:10px}
.privacy-section p{font-size:14px;color:#4b5563;line-height:1.7;margin-bottom:10px}
.privacy-section ul{margin:10px 0 0 20px;font-size:14px;color:#4b5563;line-height:1.9}
.privacy-section li{margin-bottom:4px}
.privacy-section strong{color:#374151}
.privacy-back{margin-top:36px;padding-top:24px;border-top:1px solid #f3f4f6}
.privacy-back a{color:#4f46e5;font-size:13px;font-weight:600;text-decoration:none;transition:color .15s}
.privacy-back a:hover{color:#3730a3}

/* ── HAMBURGER MENU TOGGLE ── */
.nav-hamburger{display:none;background:none;border:none;color:#fff;cursor:pointer;padding:4px;width:44px;height:44px;align-items:center;justify-content:center;border-radius:8px;transition:background .15s;flex-shrink:0}
.nav-hamburger:hover{background:rgba(255,255,255,.1)}
.nav-hamburger svg{width:22px;height:22px}
.nav-mobile-overlay{display:none;position:fixed;inset:0;top:56px;background:rgba(0,0,0,.5);z-index:99;animation:fadeIn .18s ease}
.nav-mobile-menu{display:none;position:fixed;top:56px;left:0;right:0;background:linear-gradient(180deg,#0c1524,#111830);z-index:100;padding:16px 20px 24px;border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 12px 32px rgba(0,0,0,.4);animation:slideDown .22s ease}
.nav-mobile-menu .nav-link{display:block;padding:12px 16px;font-size:15px;border-radius:10px;margin-bottom:4px}
.nav-mobile-menu .nav-sim-count{display:block;text-align:center;margin:8px 0 12px;font-size:12px}
.nav-mobile-menu .nav-cta{display:block;text-align:center;padding:12px 20px;font-size:14px;border-radius:10px}

/* ── RESPONSIVE: TABLET (max 1024px) ── */
@media(max-width:1024px){
  .sim-grid{grid-template-columns:1fr;gap:20px}
  .sim-body{padding:24px 20px 0}
  .res-cards-row{grid-template-columns:1fr 1fr;gap:12px}
  .bd-params{grid-template-columns:1fr 1fr}
  .cat-body{padding:24px 20px 48px}
  .cat-main-inner{padding:24px 20px}
  .privacy-wrap{padding:32px 20px 60px}
  .privacy-card{padding:32px 28px}
}

/* ── RESPONSIVE: MOBILE (max 768px) ── */
@media(max-width:768px){
  /* Nav */
  .nav{padding:0 16px;gap:10px}
  .nav-links{display:none}
  .nav-sim-count{display:none}
  .nav-cta{display:none}
  .nav-hamburger{display:flex}
  .nav-mobile-overlay.open{display:block}
  .nav-mobile-menu.open{display:block}

  /* Hero */
  .sim-hero{padding:36px 20px 32px}
  .sim-hero-title{font-size:26px;letter-spacing:-.5px}
  .sim-hero-sub{font-size:13px;margin-bottom:20px}
  .sim-hero-sup{font-size:10px;margin-bottom:10px}
  .hero-trust{flex-wrap:wrap;gap:8px 16px;margin-bottom:20px;justify-content:center}
  .hero-trust-item{font-size:11px}
  .hero-search-wrap{margin-bottom:16px}
  .hero-search{font-size:14px;padding:13px 44px 13px 16px}
  .hero-chips{gap:6px}
  .chip{font-size:11px;padding:6px 12px}

  /* Sim body */
  .sim-body{padding:16px 14px 0}
  .sim-grid{grid-template-columns:1fr;gap:16px}
  .sim-form-card{padding:20px 16px;border-radius:14px}
  .frac-bar{flex-wrap:wrap;padding:12px 14px;gap:8px}
  .frac-bar-code{font-size:13px}
  .frac-bar-desc{font-size:12px;white-space:normal}

  /* Breadcrumb table */
  .frac-bc-row{flex-wrap:wrap}
  .frac-bc-lvl{width:auto;font-size:10px;padding:6px 10px}
  .frac-bc-code{width:auto;font-size:12px;padding:6px 4px}
  .frac-bc-desc{font-size:11px;padding:6px 10px;white-space:normal}

  /* Results */
  .res-cards-row{grid-template-columns:1fr;gap:12px}
  .res-card{padding:18px 16px}
  .res-rate-big{font-size:36px}
  .res-rate-big.free{font-size:24px}
  .res-rate-big.prohib{font-size:19px}
  .res-rate-big.special{font-size:16px}
  .bd-params{grid-template-columns:1fr}
  .bd-table{font-size:12px}
  .bd-table th{padding:6px 10px;font-size:11px}
  .bd-table td{padding:8px 10px;font-size:12px}
  .bd-table tfoot td{padding:10px;font-size:13px}
  .res-bd-total{margin:-2px -16px -18px;padding:12px 16px}
  .route-map-info{flex-wrap:wrap;gap:4px;padding:8px 12px}
  .route-map-tag{font-size:10px;padding:3px 8px}

  /* Field layout */
  .field-row{grid-template-columns:1fr}
  .field-ctrl{font-size:16px}
  .tc-box{flex-wrap:wrap;gap:8px}

  /* Teaser / gate */
  .teaser-overlay{padding:20px 16px}
  .teaser-overlay-title{font-size:14px}
  .teaser-overlay-sub{font-size:11px}
  .teaser-btn{padding:10px 20px;font-size:13px}

  /* Country picker */
  .pais-dropdown{max-height:280px}
  .pais-item{padding:10px 14px;font-size:14px}

  /* Disclaimer / footer */
  .sim-disclaimer{padding:12px 16px;font-size:10px}
  footer{padding:16px 20px}
  .footer-inner{flex-direction:column;gap:8px;text-align:center;font-size:11px}

  /* Modal */
  .modal-backdrop{padding:10px}
  .modal{border-radius:16px;max-width:100%}
  .modal-top{padding:24px 20px 0}
  .modal-top-title{font-size:18px}
  .modal-body{padding:18px 20px 0}
  .modal-field-row{grid-template-columns:1fr;gap:12px}
  .modal-footer{padding:0 20px 24px}
  .modal-ctrl{font-size:16px}

  /* Catalog hero */
  .cat-hero{padding:32px 20px 28px}
  .cat-hero-title{font-size:22px}
  .cat-hero-sub{font-size:13px;margin-bottom:18px}
  .cat-search-input{font-size:14px;padding:13px 44px 13px 16px}
  .cat-sidebar2{display:none}
  .cat-wrapper{display:block}

  /* Catalog body */
  .cat-body{padding:20px 14px 48px}
  .cat-main-inner{padding:20px 14px}
  .cat-bc{font-size:11px;padding:6px 10px;flex-wrap:wrap}
  .cat-main-title{font-size:20px}
  .cat-stats-row{flex-wrap:wrap;gap:10px}
  .cat-stat{min-width:100px;padding:10px 14px}
  .cat-stat-val{font-size:18px}

  /* Catalog section/chapter header cards (inline styles override) */
  .cat-sec-hdr-card{flex-direction:column!important;gap:12px!important;padding:18px 16px!important;align-items:flex-start!important}
  .cat-sec-hdr-card .cat-hdr-icon{width:44px!important;height:44px!important;font-size:20px!important}
  .cat-sec-hdr-card .cat-hdr-title{font-size:16px!important;letter-spacing:-.2px!important}
  .cat-sec-hdr-card .cat-hdr-stats{display:flex!important;gap:16px!important;flex-shrink:0!important;align-self:flex-start!important}
  .cat-sec-hdr-card .cat-hdr-stats>div{text-align:left!important}
  .cat-sec-hdr-card .cat-hdr-stats>div>div:first-child{font-size:18px!important}

  /* Catalog grids */
  .cat-sec-grid,.cat-home-grid{grid-template-columns:1fr}
  .cat-chap-grid{grid-template-columns:1fr}
  .cat-sec-card2{padding:16px 14px;gap:12px}
  .cat-sec-card2 .ico{width:40px;height:40px;border-radius:10px;font-size:18px}
  .cat-sec-card2 .sec-label{font-size:11px}
  .cat-sec-card2 .sec-name{font-size:13px}
  .cat-chap-card{padding:16px 14px}
  .cat-chap-card .chap-name{font-size:12px}

  /* Partida headers */
  .partida2-hdr{flex-direction:column;gap:6px;align-items:flex-start}
  .partida2-num{font-size:11px}
  .partida2-desc{font-size:12px;line-height:1.4}

  /* Catalog table — mobile card layout */
  .cat-table2{table-layout:auto;border:none;border-radius:0;min-width:0!important}
  .cat-table2 colgroup{display:none}
  .cat-table2 thead{display:none}
  .cat-table2 tbody{display:flex;flex-direction:column;gap:10px}
  .cat-table2 tbody tr{display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:12px;padding:14px 14px 14px;background:#fff;gap:6px;box-shadow:0 1px 3px rgba(0,0,0,.03)}
  .cat-table2 tbody tr td{display:block;border:none;padding:0!important;border-left:none!important}
  .cat-table2 tbody tr td:first-child{border-left:none!important}
  .cat-table2 .td-code{font-size:14px;color:#4f46e5;font-weight:800}
  .cat-table2 .td-desc{font-size:13px;line-height:1.5;color:#374151;margin-top:2px;cursor:default}
  .cat-table2 .td-desc .desc-inner{display:block!important;overflow:visible!important;-webkit-line-clamp:unset!important}
  .cat-table2 .td-desc .desc-toggle{display:none!important}
  .cat-table2 .td-unit{text-align:left;font-size:11px;color:#9ca3af;margin-top:4px}
  .cat-table2 .td-unit::before{content:'Unidad: ';font-weight:600;color:#9ca3af}
  body.lang-en .cat-table2 .td-unit::before{content:'Unit: '}
  .cat-table2 .td-rate{text-align:left;margin-top:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .cat-table2 .td-rate::before{content:'Arancel: ';font-size:11px;font-weight:600;color:#9ca3af}
  .cat-table2 td[style*="text-align:center;position:relative"]{text-align:left!important;margin-top:4px}
  .cat-table2 .td-action{margin-top:10px;padding:0 4px 4px}
  .cat-table2 .td-action .cat-calc-btn{width:100%;text-align:center;padding:10px 14px;font-size:13px;border-radius:10px}

  /* NICO sub-rows in card layout */
  .nico-row2{border:1px solid #ede9fe!important;background:#faf5ff!important;border-radius:10px!important;padding:10px 12px!important}
  .nico-row2 td{padding:0!important;background:transparent!important}
  .nico-row2 td:first-child{border-left:none!important}
  .nico-row2 .nico-code2{font-size:11px}
  .nico-row2 .nico-desc2{font-size:11px;line-height:1.4}

  /* Also handle old .cat-table */
  .cat-table{table-layout:auto;min-width:0!important}

  /* TLC popup */
  .tlc-detail-popup{left:8px!important;right:8px!important;width:auto!important;max-width:none!important;border-radius:14px}
  .tlc-teaser-popup{position:fixed;left:10px;right:10px;top:auto;bottom:10px;width:auto;z-index:9999;border-radius:14px}
  .tlc-teaser-popup::after{display:none}

  /* Privacy */
  .privacy-wrap{padding:24px 16px 60px}
  .privacy-card{padding:24px 20px;border-radius:14px}
  .privacy-title{font-size:22px}

  /* Full breakdown button */
  .btn-toggle-bd{font-size:12px;padding:10px}

  /* Search info */
  .search-info{font-size:12px}

  /* Rate badges mobile */
  .rate-badge{font-size:12px;padding:3px 10px}
  .ieps-pill{font-size:10px;margin-top:2px;margin-left:0}
}

/* ── RESPONSIVE: SMALL PHONE (max 420px) ── */
@media(max-width:420px){
  .nav{height:50px;padding:0 12px}
  .brand{font-size:15px;gap:6px}
  .brand-logo{height:20px}
  .page{margin-top:50px}
  .sim-hero{padding:28px 16px 24px}
  .sim-hero-title{font-size:22px}
  .hero-trust{gap:6px 12px}
  .hero-trust-item{font-size:10px}
  .sim-body{padding:12px 10px 0}
  .sim-form-card{padding:16px 12px}
  .res-card{padding:14px 12px}
  .res-rate-big{font-size:30px}
  .bd-table td{padding:6px 8px;font-size:11px}
  .cat-hero{padding:24px 16px 22px}
  .cat-hero-title{font-size:20px}
  .cat-body{padding:16px 10px 40px}
  .cat-sec-card2{padding:12px 10px;gap:8px}
  .cat-sec-card2 .ico{width:36px;height:36px;font-size:16px;border-radius:9px}
  .cat-sec-card2 .sec-label{font-size:11px}
  .cat-sec-card2 .sec-name{font-size:12px}
  .cat-chap-card{padding:14px 12px}
  .cat-chap-card .chap-num{font-size:10px}
  .cat-chap-card .chap-name{font-size:12px;margin-bottom:6px}
  .cat-chap-card .chap-count{font-size:10px}
  .cat-table2 tbody tr{padding:12px 10px 12px;gap:4px}
  .cat-table2 .td-code{font-size:13px}
  .cat-table2 .td-desc{font-size:12px}
  .cat-table2 .td-action .cat-calc-btn{padding:9px 12px;font-size:12px}
  .partida2-hdr{padding-bottom:6px}
  .cat-sec-hdr-card{padding:14px 12px!important}
  .cat-sec-hdr-card .cat-hdr-title{font-size:14px!important}
  .modal-top{padding:20px 16px 0}
  .modal-body{padding:14px 16px 0}
  .modal-footer{padding:0 16px 20px}
}

/* ══════════════════════════════════════════════
   MOBILE CORE FIXES
   ══════════════════════════════════════════════ */
html,body{overflow-x:hidden}
.page{overflow-x:hidden}

@media(max-width:768px){
  /* Prevent anything from bleeding outside viewport */
  .sim-body,.cat-body,.cat-main-inner{overflow-x:hidden}

  /* Hero search full-width, 16px to prevent iOS zoom */
  .hero-search-wrap{max-width:100%;padding:0}
  .hero-search{font-size:16px;padding:14px 48px 14px 16px}

  /* Chips: horizontal scroll instead of ugly wrap */
  .hero-chips{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .hero-chips::-webkit-scrollbar{display:none}
  .chip{flex-shrink:0;font-size:11px;padding:6px 14px}

  /* Inputs: 16px prevents iOS auto-zoom */
  .field-ctrl{font-size:16px!important;min-height:46px}
  .tc-input{font-size:16px!important;width:68px}

  /* Country picker dropdown: pinned to bottom so it never clips */
  .pais-dropdown{
    position:fixed!important;left:10px!important;right:10px!important;
    top:auto!important;bottom:10px!important;
    max-height:55vh!important;border-radius:16px!important;
    z-index:9000!important;box-shadow:0 -8px 32px rgba(0,0,0,.25)!important
  }

  /* Teaser blur: override inline 1fr 1fr grid that media queries can't touch */
  .teaser-blur>div[style*="grid"]{display:flex!important;flex-direction:column!important;gap:10px!important}

  /* Teaser overlay button: full width */
  .teaser-btn{width:100%;text-align:center;padding:14px;font-size:14px;box-sizing:border-box}

  /* Results breakdown: horizontal scroll on narrow screens */
  .bd-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -2px}
  .bd-table{min-width:380px}

  /* Breadcrumb: allow text wrap */
  .frac-bc-desc{white-space:normal!important;overflow:visible!important;text-overflow:unset!important}

  /* TLC popups: bottom sheet on mobile */
  .tlc-teaser-popup,.tlc-detail-popup{
    position:fixed!important;
    left:8px!important;right:8px!important;
    top:auto!important;bottom:8px!important;
    width:auto!important;max-width:none!important;
    border-radius:18px!important;
    z-index:9999!important;
    box-shadow:0 -4px 32px rgba(0,0,0,.2)!important;
    max-height:72vh;overflow-y:auto
  }
  .tlc-teaser-popup::after{display:none!important}

  /* Modal: slides up from bottom on mobile */
  .modal-backdrop{padding:0!important;align-items:flex-end!important}
  .modal{border-radius:20px 20px 0 0!important;max-height:92vh;overflow-y:auto}

  /* Modal inputs: 16px to prevent iOS zoom */
  .modal-ctrl,.modal-phone-input{font-size:16px!important;min-height:46px!important}

  /* Nav hamburger touch target */
  .nav-hamburger{width:40px;height:40px}

  /* Catalog TLC badge: easier to tap */
  .tlc-ind{min-height:36px;display:inline-flex;align-items:center;padding:4px 10px}

  /* Calc buttons in catalog: full width & tap-friendly */
  .cat-calc-btn{min-height:44px;width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center}

  /* Results total: wraps instead of overflowing */
  .res-bd-total{flex-wrap:wrap;gap:6px}
}

@media(max-width:380px){
  .sim-hero-title{font-size:20px}
  .sim-hero-sub{font-size:12px}
  .hero-trust{display:none}
  .res-rate-big{font-size:26px}
  .modal-top-title{font-size:16px}
  .cat-hero-title{font-size:18px}
  .sim-form-card{padding:14px 12px}
  .res-card{padding:12px 10px}
}

/* ── LANG TOGGLE ── */
.lang-toggle{display:flex;align-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:8px;overflow:hidden;flex-shrink:0}
.lang-btn{color:#9ca3af;font-size:12px;font-weight:700;padding:5px 10px;cursor:pointer;border:none;background:none;font-family:inherit;transition:all .15s;letter-spacing:.04em}
.lang-btn:hover{color:#fff}
.lang-btn.active{background:rgba(129,140,248,.25);color:#c7d2fe}

/* ── Páginas SEO (fracción/capítulo/sección) — tema oscuro, contenido en blanco ── */
main.container{max-width:920px;margin:0 auto;padding:76px 20px 40px}
main.container h1{font-size:24px;font-weight:800;letter-spacing:-.4px;color:#0c1524;margin:6px 0 14px}
main.container h2{font-size:16px;font-weight:700;color:#111827;margin:18px 0 8px}
.breadcrumb{font-size:12px;color:#6b7280;margin:4px 0 10px}
.breadcrumb a{color:#4f46e5;text-decoration:none;font-weight:600}
.breadcrumb a:hover{text-decoration:underline}
.answer-block{background:linear-gradient(135deg,#f5f3ff,#eef2ff);border:1px solid #e0e7ff;border-radius:14px;padding:18px 20px;margin:14px 0}
.answer-block__heading{font-size:15px;font-weight:800;color:#312e81;margin:0 0 6px}
.answer-block__summary{font-size:13.5px;color:#374151;line-height:1.6;margin:0}
.answer-block__summary strong{color:#4f46e5}
table.tariff{width:100%;border-collapse:collapse;margin:14px 0;font-size:13.5px;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}
table.tariff th{text-align:left;background:#f8fafc;color:#374151;font-weight:700;padding:10px 14px;border-bottom:1px solid #e5e7eb}
table.tariff td{padding:10px 14px;border-bottom:1px solid #f1f5f9;color:#111827}
table.tariff tr:last-child td{border-bottom:none}
table.tariff a{color:#4f46e5;text-decoration:none;font-weight:600}
table.tariff a:hover{text-decoration:underline}
.grid-cap{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin:14px 0}
.grid-cap a{display:block;padding:14px 16px;border:1px solid #e5e7eb;border-radius:12px;text-decoration:none;color:#111827;font-size:13.5px;font-weight:500;transition:border-color .15s,box-shadow .15s}
.grid-cap a:hover{border-color:#818cf8;box-shadow:0 2px 10px rgba(129,140,248,.15)}
a.cta{display:inline-block;background:linear-gradient(90deg,#4f46e5,#6366f1);color:#fff;padding:11px 22px;border-radius:10px;text-decoration:none;font-weight:700;font-size:14px;margin-top:8px}
a.cta:hover{filter:brightness(1.06)}
footer.site{border-top:1px solid #e5e7eb;margin-top:32px;background:#0c1524;color:#9aa6bf}
footer.site .container{max-width:920px;margin:0 auto;padding:22px 20px;font-size:12.5px}
footer.site .container p{margin:2px 0}
/* La nav fija de las páginas SEO no necesita los tabs SPA del home */
.nav .nav-cta{margin-left:0}

/* ── Nav (refuerzo de especificidad sobre .nav, compartido con el home) ── */
.nav .nav-links{display:flex;gap:4px}
.nav .nav-link{color:#cbd5e1;text-decoration:none;font-size:13px;font-weight:600;padding:7px 12px;border-radius:8px}
.nav .nav-link:hover{background:rgba(255,255,255,.08);color:#fff}
.nav .nav-link.active{background:rgba(129,140,248,.22);color:#fff}

/* ── Catálogo estático (páginas SEO): paridad con el catálogo aprobado ──
   Reusa el juego del SPA (.cat-hero/.cat-wrapper/.cat-sidebar2/.cat-body/
   .cat-table2/.partida2). Aquí solo: offset del nav fijo, links del sidebar/
   cards como <a>, la tarjeta-encabezado y los textos de búsqueda in-place. */
.cat-static-page{margin-top:56px}
.cat-sidebar2 .cat-sb2-btn,.cat-sidebar2 .cat-sb2-cap{text-decoration:none}
a.cat-chap-card{text-decoration:none;display:block}
.td-code a{color:inherit;text-decoration:none}
.td-code a:hover{text-decoration:underline}
a.cat-calc-btn{text-decoration:none;display:inline-block}
a.tlc-ind{text-decoration:none}
.cat-sec-hdr-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:22px 28px;margin-bottom:24px;display:flex;align-items:center;gap:18px}
.cat-hdr-icon{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:24px;background:#eef2ff}
.cat-hdr-icon.code{font-size:16px;font-weight:800;color:#4f46e5;font-family:monospace}
.cat-hdr-main{flex:1;min-width:0}
.cat-hdr-eyebrow{font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.cat-hdr-title{font-size:20px;font-weight:800;color:#111827;letter-spacing:-.4px}
.cat-hdr-stats{display:flex;gap:16px;flex-shrink:0}
.cat-hdr-stat{text-align:center}
.cat-hdr-stat .n{font-size:22px;font-weight:800;color:#4f46e5}
.cat-hdr-stat .l{font-size:10px;color:#9ca3af;font-weight:600}
.cat-search-h{font-size:18px;font-weight:700;color:#111827;margin-bottom:4px}
.cat-search-h em{font-style:normal;color:#4f46e5}
.cat-search-sub{font-size:13px;color:#6b7280;margin-bottom:16px}
.cat-search-best{font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.cat-search-empty{text-align:center;padding:48px 0}
.cat-search-empty .ico{font-size:40px;margin-bottom:12px}
.cat-search-empty .t{font-size:16px;font-weight:700;color:#111827;margin-bottom:8px}
.cat-search-empty .h{font-size:13px;color:#6b7280}
.cat-body .frac-title{font-size:24px;font-weight:800;letter-spacing:-.4px;color:#0c1524;margin:0 0 6px}
.modal-turnstile{margin:14px 0 2px;display:flex;justify-content:center;min-height:65px}
@media (max-width:560px){.cat-static-page{margin-top:50px}}
