/* ============ ПОДБОР ТАРИФА ============ */
/* длинное слово Zahnzusatzversicherung — уменьшенный заголовок hero */
.hero-zahn h1{font-size:clamp(32px,6.6vw,84px)}
.hero-zahn h1 em{display:block;font-size:clamp(20px,3vw,40px);margin-top:10px;line-height:1.15}

.picker{background:#fff;border:1px solid var(--line-soft);border-radius:18px;padding:32px;display:grid;gap:26px}
.picker-grid{display:grid;gap:26px;grid-template-columns:1fr}
.pq{display:grid;gap:10px;align-content:start}
.pq-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.pq-hint{font-size:12px;color:var(--mute);line-height:1.45;margin-top:-4px}

/* сегментированные кнопки */
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg button{padding:10px 16px;border-radius:999px;border:1px solid var(--line-soft);background:transparent;font-size:13.5px;color:var(--ink);transition:.15s all;white-space:nowrap}
.seg button:hover{border-color:var(--ink)}
.seg button.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* возраст */
.age-row{display:flex;align-items:center;gap:18px}
.age-num{font-family:"Times New Roman",Times,serif;font-size:52px;line-height:1;letter-spacing:-.02em;min-width:88px;color:var(--ink)}
.age-num .age-unit{font-family:"Inter Tight",sans-serif;font-size:12px;color:var(--mute);letter-spacing:.1em;text-transform:uppercase;display:block;margin-top:4px}
/* возраст можно и вписать вручную — редактируемое число */
.age-input{font:inherit;color:inherit;width:2.2ch;padding:0;margin:0;background:transparent;border:none;border-bottom:2px dashed var(--line-soft);text-align:left;-moz-appearance:textfield;cursor:text}
.age-input:hover{border-bottom-color:var(--mute)}
.age-input:focus{outline:none;border-bottom-style:solid;border-bottom-color:var(--ink)}
.age-input::-webkit-outer-spin-button,.age-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.age-row input[type=range]{flex:1;accent-color:var(--ink);height:4px;cursor:pointer}

/* баннеры-подсказки */
.picker-banners{display:grid;gap:10px}
.pbanner{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:16px 18px;border-radius:12px;font-size:13.5px;line-height:1.5;border:1px solid var(--line-soft);background:var(--paper)}
.pbanner .pb-ico{font-size:20px;line-height:1.2}
.pbanner strong{font-weight:600}
.pbanner.warn{border-color:#E2B93B;background:#FCF6E4;color:#6B5314}
.pbanner.info{border-color:var(--red);background:#EAF6FC;color:#1E4E68}

/* результаты */
.picker-results-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:34px 0 18px}
.picker-results-title{font-family:"Times New Roman",Times,serif;font-size:clamp(26px,3vw,36px);font-weight:400;letter-spacing:-.01em;margin:0}
.picker-results-title em{font-style:italic;color:var(--red);font-family:"Inter Tight",system-ui,sans-serif}
.picker-results-count{font-size:12.5px;color:var(--mute)}
.picker-empty{padding:36px 24px;border:1px dashed var(--line-soft);border-radius:14px;text-align:center;color:var(--mute);font-size:14.5px;line-height:1.6}
.picker-more{margin-top:16px;text-align:center}
.picker-more button{border:1px solid var(--line-soft);border-radius:999px;padding:11px 22px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--ink);transition:.15s all}
.picker-more button:hover{border-color:var(--ink)}

/* словомарка вместо логотипа */
.logo-word{font-family:"Inter Tight",sans-serif;font-weight:700;font-size:19px;letter-spacing:.02em;color:var(--navy);line-height:1;white-space:nowrap}
.cmp-logo-th .logo-word{color:var(--paper);font-size:14px}

/* надбавка за зубы в карточке */
.price-surcharge{font-size:11.5px;color:var(--red-ink);width:100%}

/* блок Nürnberger */
.nb-callout{margin-top:28px;background:var(--navy);color:var(--paper);border-radius:18px;padding:40px 32px;display:grid;gap:28px;grid-template-columns:1fr;position:relative;overflow:hidden}
.nb-callout::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 300px at 100% 0%,rgba(110,193,228,.14),transparent 60%);pointer-events:none}
.nb-callout h3{font-family:"Times New Roman",Times,serif;font-weight:400;font-size:clamp(26px,3vw,38px);line-height:1.05;letter-spacing:-.02em;margin:0}
.nb-callout h3 em{color:var(--gold);font-style:italic;font-family:"Inter Tight",system-ui,sans-serif}
.nb-callout p{color:rgba(244,239,230,.8);line-height:1.6;margin:14px 0 0;font-size:14.5px;position:relative}
.nb-steps{display:grid;gap:0;position:relative}
.nb-step{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(244,239,230,.12);font-size:14px}
.nb-step:last-child{border-bottom:none}
.nb-step .nb-year{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,239,230,.55);min-width:86px}
.nb-step .nb-sum{font-family:"Times New Roman",Times,serif;font-size:22px;letter-spacing:-.01em}
.nb-step.nb-max .nb-sum{color:var(--gold)}

/* KIG */
.kig-list{display:grid;gap:0;background:#fff;border:1px solid var(--line-soft);border-radius:16px;overflow:hidden;margin-top:20px}
.kig-row{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:14px 20px;border-bottom:1px solid var(--line-soft);font-size:14px;align-items:baseline}
.kig-row:last-child{border-bottom:none}
.kig-row .kig-code{font-family:"Times New Roman",Times,serif;font-size:20px;color:var(--red-ink);letter-spacing:-.01em;white-space:nowrap}
.ortho-group-label{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--mute);margin:34px 0 14px}
.ortho-kig{display:grid;gap:6px;font-size:13.5px;padding:12px 0;border-top:1px dashed var(--line-soft)}
.ortho-kig div{display:flex;justify-content:space-between;gap:12px}
.ortho-kig .k{color:var(--mute)}
.ortho-kig .v{font-weight:500;text-align:right}

@media(min-width:900px){
  .picker{padding:40px 44px}
  .picker-grid{grid-template-columns:1fr 1fr}
  .pq-age{grid-column:1 / -1}
  .nb-callout{grid-template-columns:1.2fr 1fr;padding:48px 56px;align-items:center}
}

/* ============ ФИЛЬТРЫ ТАБЛИЦЫ СРАВНЕНИЯ ============ */
.cmp-controls{background:#fff;border:1px solid var(--line-soft);border-radius:18px;padding:22px 24px;margin-bottom:18px;display:grid;gap:20px;grid-template-columns:1fr}
.cmp-ctrl{display:grid;gap:8px;align-content:start}
.cmp-ctrl > label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cmp-ctrl > label b{color:var(--ink);font-weight:600;letter-spacing:0;text-transform:none;font-size:14px}
.cmp-ctrl-age input[type=range]{width:100%;accent-color:var(--ink);height:4px;cursor:pointer}
.cmp-age-input{font:inherit;font-weight:600;color:var(--ink);width:2.6ch;padding:0;margin:0;background:transparent;border:none;border-bottom:1.5px dashed var(--line-soft);text-align:left;-moz-appearance:textfield;cursor:text}
.cmp-age-input:hover{border-bottom-color:var(--mute)}
.cmp-age-input:focus{outline:none;border-bottom-style:solid;border-bottom-color:var(--ink)}
.cmp-age-input::-webkit-outer-spin-button,.cmp-age-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.seg-sm button{padding:7px 13px;font-size:12.5px}
.cmp-co-all{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--red-ink);border-bottom:1px dashed var(--red-ink);padding:0 0 1px}
.cmp-co-all:hover{color:var(--ink);border-color:var(--ink)}
.cmp-companies{display:flex;flex-wrap:wrap;gap:6px}
.cmp-co{padding:6px 11px;border-radius:999px;border:1px solid var(--line-soft);background:transparent;font-size:12px;color:var(--mute);transition:.12s all}
.cmp-co:hover{border-color:var(--ink);color:var(--ink)}
.cmp-co.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.cmp-count{margin-left:auto;font-size:11.5px;color:var(--mute);letter-spacing:.04em}

/* сортировка + сброс (обе секции) */
.sort-ctrl{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--mute);white-space:nowrap}
.sort-ctrl select,.cmp-sort{padding:8px 12px;border:1px solid var(--line-soft);border-radius:9px;font-family:inherit;font-size:13px;background:#fff;color:var(--ink);cursor:pointer}
.reset-btn{padding:7px 14px;border:1px solid var(--line-soft);border-radius:9px;background:transparent;font-family:inherit;font-size:12.5px;color:var(--ink);cursor:pointer;white-space:nowrap;transition:.12s}
.reset-btn:hover{border-color:var(--ink)}

/* «Сбросить фильтры» — отдельной строкой внизу блока фильтров */
.filter-reset{margin-top:20px;padding-top:16px;border-top:1px solid var(--line-soft)}
.cmp-reset-row{grid-column:1 / -1;margin-top:4px;padding-top:16px;border-top:1px solid var(--line-soft)}
.reset-btn-block{display:inline-flex;align-items:center;gap:6px;font-weight:500;font-size:13px;padding:10px 20px}

/* «Перейти к сравнению» — под «Показать все», появляется при выборе тарифов */
.goto-compare{margin-top:18px;text-align:center}
.goto-compare .btn{font-size:13.5px}
#gotoCompareCount{opacity:.75}

/* широкая таблица: все тарифы колонками, горизонтальный свайп */
.cmp--all{table-layout:auto;min-width:0;width:100%}
.cmp--all thead th{min-width:150px}
.cmp--all th.crit{min-width:190px}
.cmp--all thead th.crit{position:sticky;left:0;z-index:3}
.cmp--all tbody th.crit{position:sticky;left:0;z-index:2}
.cmp--all .block-row td{position:sticky;left:0}
.cmp-sub{display:block;font-family:"Inter Tight",sans-serif;font-size:11px;color:var(--red-ink);letter-spacing:0;margin-top:3px}
.cmp--all .pricerow td{font-size:18px}

@media(min-width:760px){
  .cmp-controls{grid-template-columns:repeat(2,1fr);padding:26px 28px}
  .cmp-ctrl-age{grid-column:1 / -1}
  .cmp-ctrl-companies{grid-column:1 / -1}
}
@media(min-width:1100px){
  .cmp-controls{grid-template-columns:1fr 1fr 1fr}
  .cmp-ctrl-companies{grid-column:1 / -1}
}

/* расписание суммы покрытия по годам в ячейке таблицы */
.cmp-sched{display:grid;gap:3px;font-size:12px;line-height:1.35}
.cmp-sched > div{display:flex;justify-content:space-between;gap:12px;white-space:nowrap}
.cmp-sched-p{color:var(--mute)}
.cmp-sched-v{font-weight:500;color:var(--ink)}
.cmp-reduced-note{font-size:10.5px;color:#B26B00;margin-top:4px;line-height:1.3;font-style:italic}

/* белая шапка таблицы сравнения: логотипы в реальных цветах на белом фоне */
.cmp--all thead th{background:#fff;color:var(--ink);border-bottom:1px solid var(--line-soft)}
.cmp--all thead th.crit{background:#fff;color:var(--ink)}
.cmp--all thead th small{color:var(--mute)}
.cmp--all .cmp-logo-th img{filter:none;background:transparent;border-radius:0;padding:0;height:30px;margin:0 auto 8px}
