/* AMBITECT — тема ES для «Calculadoras España» (хаб /es/calculadoras/ и 4 калькулятора покупки жилья). 10-11-2026, бот-дизайнер.
   Подключается только при theme='es-amb' (build.py) и вся под body.es-amb — RU/PL/PT-BR и остальные страницы не затронуты.
   Нейтральная основа дизайн-системы Амбитект (бумага / чернила, без цвета сервиса и без терракоты v2).
   Шрифты: Exo 2 (заголовки, надпись) и IBM Plex Sans (текст), WOFF2 latin + latin-ext, font-display:swap, SIL OFL 1.1. */
@font-face{font-family:"Exo 2 Amb";src:url("/assets/fonts/es/exo2-300.woff2") format("woff2");font-weight:200 300;font-display:swap}
@font-face{font-family:"Exo 2 Amb";src:url("/assets/fonts/es/exo2-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Exo 2 Amb";src:url("/assets/fonts/es/exo2-500.woff2") format("woff2");font-weight:500 700;font-display:swap}
@font-face{font-family:"Plex Sans Amb";src:url("/assets/fonts/es/plex-sans-var.woff2") format("woff2");font-weight:300 700;font-display:swap}
.es-amb{
 --paper:#F8F6F1;--paper-2:#EFEBE3;--surface:#FFFFFF;--ink:#1C1B1A;--ink-2:#45423D;--muted-a:#615D56;--line-a:#DDD7CC;--line-strong:#8C867C;
 --on-dark:#F2EFE8;--on-dark-2:#D8D3CA;--on-dark-3:#A8A39A;
 --font-display:"Exo 2 Amb","Exo 2",system-ui,sans-serif;--font-text:"Plex Sans Amb","IBM Plex Sans",system-ui,sans-serif;
 /* переменные site.css, переопределённые для темы */
 --bg:var(--paper);--card:var(--surface);--text:var(--ink);--muted:var(--muted-a);--line:var(--line-a);--accent:var(--ink);--accent-ink:var(--paper);--accent-soft:var(--paper-2);
 --ok:#2E6B3A;--ok-soft:#E2EEDD;--warn:#7E5300;--warn-soft:#FBEBC4;--radius:10px;--shadow:0 1px 2px rgba(28,27,26,.06),0 2px 8px rgba(28,27,26,.05);
 --font:var(--font-text);
 background:var(--paper);color:var(--ink);font:400 16px/1.55 var(--font-text)}
.es-amb a{color:var(--ink);text-decoration-color:var(--line-strong);text-underline-offset:2px}
.es-amb a:hover{text-decoration-color:var(--ink)}
/* шапка и надпись AMBITECT.Calculadoras */
.es-amb .hdr{background:var(--surface);border-bottom:1px solid var(--line)}
.es-amb .hdr .wrap{min-height:64px;gap:20px}
.es-amb .logo--amb{display:inline-flex;align-items:center;gap:0;font-weight:400;color:var(--ink);text-decoration:none;white-space:nowrap}
.es-amb .logo--amb .mk{height:32px;width:auto;display:block;margin-right:10px}
.es-amb .logo--amb .wm{font-family:var(--font-display);font-size:18px;letter-spacing:.02em;line-height:1}
.es-amb .logo--amb .wm b{font-weight:500}
.es-amb .logo--amb .wm i{font-style:normal;font-weight:300;display:inline;width:auto;height:auto;background:none;border-radius:0;position:static}
.es-amb .logo--amb .wm i:after{content:none}
.es-amb .logo--amb .sv{font-family:var(--font-display);font-weight:400;font-size:18px;line-height:1;margin-left:1px}
.es-amb .logo--amb .dot{font-weight:600;margin-right:1px}
.es-amb .nav a{color:var(--ink-2);font-size:14.5px;border-radius:6px}
.es-amb .nav a:hover{background:var(--paper-2);color:var(--ink)}
.es-amb .nav a[aria-current]{background:none;color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink);border-radius:0}
/* типографика */
.es-amb h1,.es-amb h2,.es-amb h3{font-family:var(--font-display);color:var(--ink);letter-spacing:-.005em}
.es-amb h1{font-weight:300;font-size:32px;line-height:1.12;margin:6px 0 10px}
.es-amb h2{font-weight:400;font-size:24px;line-height:1.2;margin:32px 0 12px}
.es-amb h3{font-weight:500;font-size:18px}
.es-amb .lead{color:var(--ink-2);font-size:17px;max-width:60ch}
.es-amb .crumbs{font-size:13px;letter-spacing:.02em}.es-amb .crumbs a{color:var(--muted)}
.es-amb .region{color:var(--muted)}
/* карточка калькулятора и поля */
.es-amb .card{border-radius:10px;border-color:var(--line);box-shadow:var(--shadow)}
.es-amb .tool{gap:18px}
.es-amb .row{gap:14px 16px}
.es-amb .f{gap:6px;align-content:start}
.es-amb .f label,.es-amb .f .lbl{font-size:14px;font-weight:600;color:var(--ink)}
.es-amb .f small{color:var(--muted);font-size:13px;line-height:1.4}
.es-amb input[type=text],.es-amb input[type=number],.es-amb input[type=date],.es-amb select{min-height:48px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink);font-family:var(--font-text);font-variant-numeric:tabular-nums}
.es-amb input:focus,.es-amb select:focus{outline:2px solid var(--ink);outline-offset:1px;border-color:var(--ink)}
.es-amb .inp span{color:var(--muted)}
.es-amb .seg{background:var(--paper-2);border-radius:8px;padding:4px;gap:4px}
.es-amb .seg label{border-radius:6px;min-height:40px;display:flex;align-items:center;justify-content:center;color:var(--ink-2)}
.es-amb .seg label:has(input:checked){background:var(--ink);color:var(--paper);box-shadow:none}
.es-amb .seg input:checked+span{color:var(--paper)}
.es-amb .seg label:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}
/* результат: тёмная панель «чернила», крупная цифра Exo 2 с табличными цифрами */
.es-amb .res{background:var(--ink);color:var(--on-dark);border-radius:10px;padding:18px 18px 16px;gap:12px}
.es-amb .res .cap{color:var(--on-dark-2);font-size:13px}
.es-amb .res>.cap:first-child{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-3)}
.es-amb .res .big{font-family:var(--font-display);font-weight:500;font-size:40px;letter-spacing:-.01em;color:var(--on-dark);font-feature-settings:"tnum" 1}
.es-amb .res .kv div{background:rgba(242,239,232,.07);border:1px solid rgba(242,239,232,.12);border-radius:8px;padding:10px 12px}
.es-amb .res .kv b{color:var(--on-dark);font-weight:600}
.es-amb .res .kv .cap{display:block;margin-bottom:2px}
.es-amb .res p.cap{margin:0;line-height:1.45}
/* место под результат — без сдвига вёрстки при первом расчёте */
.es-amb [data-tool=hipoteca] .res{min-height:330px}.es-amb [data-tool=gastos] .res{min-height:420px}
.es-amb [data-tool=impuestos] .res{min-height:230px}.es-amb [data-tool=plusvalia] .res{min-height:330px}
@media (min-width:640px){.es-amb [data-tool=hipoteca] .res{min-height:255px}.es-amb [data-tool=gastos] .res{min-height:300px}.es-amb [data-tool=impuestos] .res{min-height:200px}.es-amb [data-tool=plusvalia] .res{min-height:250px}}
/* ипотека: поля «Otro porcentaje», «Interés fijo», «Euríbor/Diferencial» — только когда нужны (CSS :has, логика расчёта не меняется;
   без поддержки :has все поля видны, как раньше) */
.es-amb [data-tool=hipoteca]:has(#f-ltv option[value=otro]:not(:checked)) .f:has(#f-ltvc){display:none}
.es-amb [data-tool=hipoteca]:has(input[name=tipo][value=fijo]:checked) .f:has(#f-euribor),
.es-amb [data-tool=hipoteca]:has(input[name=tipo][value=fijo]:checked) .f:has(#f-dif){display:none}
.es-amb [data-tool=hipoteca]:has(input[name=tipo][value=variable]:checked) .f:has(#f-interes){display:none}
/* статья, FAQ, таблица */
.es-amb .article{border-radius:10px;border-color:var(--line);padding:6px 18px 18px}
.es-amb .article p,.es-amb .article li{color:var(--ink-2)}
.es-amb .article b{color:var(--ink)}
.es-amb .faq{margin-top:24px}
.es-amb .faq details{border-color:var(--line);padding:14px 0}
.es-amb .faq summary{font-weight:600;color:var(--ink)}
.es-amb .tbl-wrap{border-color:var(--line);border-radius:8px;background:var(--surface)}
.es-amb th{background:var(--paper-2);color:var(--ink);font-weight:600}
.es-amb th,.es-amb td{border-color:var(--line)}
.es-amb .tbl-ccaa td{white-space:normal;text-align:left;vertical-align:top}.es-amb .tbl-ccaa th{text-align:left}
.es-amb .tbl-ccaa td:first-child{font-weight:600;color:var(--ink)}
.es-amb .tbl-ccaa tbody tr:nth-child(even) td{background:#FBFAF7}
@media (max-width:639px){
 /* 15 строк CCAA на телефоне — карточками, без горизонтальной прокрутки */
 .es-amb .tbl-ccaa{max-height:none;border:0;background:none;overflow:visible}
 .es-amb .tbl-ccaa table,.es-amb .tbl-ccaa tbody,.es-amb .tbl-ccaa tr,.es-amb .tbl-ccaa td{display:block;width:100%}
 .es-amb .tbl-ccaa thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .es-amb .tbl-ccaa tr{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:0 0 8px}
 .es-amb .tbl-ccaa tbody tr:nth-child(even) td{background:none}
 .es-amb .tbl-ccaa td{border:0;padding:3px 0;display:grid;grid-template-columns:42% 1fr;gap:10px}
 .es-amb .tbl-ccaa td::before{content:attr(data-label);color:var(--muted);font-size:12.5px;font-weight:400}
 .es-amb .tbl-ccaa td:first-child{display:block;font-family:var(--font-display);font-weight:500;font-size:16px;padding-bottom:6px;margin-bottom:4px;border-bottom:1px solid var(--line)}
 .es-amb .tbl-ccaa td:first-child::before{content:none}
}
/* плитки и хаб */
.es-amb .tiles{gap:12px}
.es-amb .tiles a{border-radius:10px;border-color:var(--line);padding:14px 40px 14px 16px;position:relative;transition:border-color .16s,box-shadow .16s}
.es-amb .tiles a::after{content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;border-top:1.6px solid var(--ink-2);border-right:1.6px solid var(--ink-2);transform:translateY(-50%) rotate(45deg)}
.es-amb .tiles a:hover{border-color:var(--ink);box-shadow:var(--shadow)}
.es-amb .tiles b{font-family:var(--font-display);font-weight:500;font-size:16.5px;color:var(--ink)}
.es-amb .tiles span{color:var(--muted)}
.es-amb .hub-group h2{margin-top:20px}
.es-amb .hub-group--feat h2{margin-top:8px}
.es-amb .tiles--feat a{background:var(--ink);border-color:var(--ink);color:var(--on-dark);min-height:96px}
.es-amb .tiles--feat b{color:var(--on-dark);font-size:18px;font-weight:400}
.es-amb .tiles--feat span{color:var(--on-dark-2)}
.es-amb .tiles--feat a::after{border-color:var(--on-dark)}
.es-amb .tiles--feat a:hover{background:#2A2826;border-color:#2A2826}
@media (min-width:1024px){.es-amb .tiles--feat{grid-template-columns:1fr 1fr}}
/* реклама: плейсхолдер в тонах бумаги, размеры из site.css не меняются */
.es-amb .ad{background:repeating-linear-gradient(45deg,#F1EEE7,#F1EEE7 10px,#ECE8E0 10px,#ECE8E0 20px);border-color:var(--line);color:var(--muted)}
.es-amb .ad:before{color:var(--muted)}
/* подвал — тёмный, как у AMBITECT.Guías */
.es-amb .ftr{background:var(--ink);border-top:0;color:var(--on-dark-2)}
.es-amb .ftr a,.es-amb .ftr .legal-links button{color:var(--on-dark)}
.es-amb .ftr .disclaimer{color:var(--on-dark-2);border-left-color:rgba(242,239,232,.25)}
.es-amb .cmp{background:var(--surface);border-top-color:var(--line)}
.es-amb .btn{border-radius:6px;font-family:var(--font-text);font-weight:600;background:var(--ink);color:var(--paper)}
.es-amb .btn.sec{background:var(--paper-2);color:var(--ink)}.es-amb .btn.ghost{color:var(--ink);border-color:var(--line-strong)}
.es-amb :focus-visible{outline:2px solid var(--ink);outline-offset:2px}
@media (min-width:640px){.es-amb h1{font-size:44px}.es-amb h2{font-size:26px}.es-amb .card{padding:24px}.es-amb .article{padding:8px 26px 22px}}
@media (max-width:639px){.es-amb .logo--amb .mk{height:28px}.es-amb .logo--amb .wm,.es-amb .logo--amb .sv{font-size:16px}.es-amb .res .big{font-size:34px}}
