/* UX-правки страниц калькуляторов (09.10.2026): тап-цели от 44 px, компактный
   заголовок на телефоне, подсказка прокрутки у широких таблиц. */
.kzt-page input:not([type=radio]):not([type=checkbox]):not([type=hidden]),
.kzt-page select{min-height:48px}
.kzt-page label:has(>input[type=radio]),
.kzt-page label:has(>input[type=checkbox]){display:flex;align-items:center;gap:.6em;min-height:44px}
.kzt-page input[type=radio],.kzt-page input[type=checkbox]{width:22px;height:22px;flex:none}
.kzt-page button,.kzt-page .kzt-btn{min-height:44px}
.kzt-page .kzb-tab,.kzt-page .kzb-btn,.kzt-page .kzc-chip{min-height:44px}
.kzt-page .kzc-del{min-width:44px;min-height:44px}
/* Подсказка прокрутки: тени у краёв, пока есть что листать (без JS). */
.kzt-page .kzc-wrap,.kzt-page .kzo-tw,.kzt-page .kzv-wrap,.kzt-page .kzp-tw,.kzt-page .kzg-tw{
 background:linear-gradient(90deg,#fff 30%,rgba(255,255,255,0)),linear-gradient(90deg,rgba(255,255,255,0),#fff 70%) 100% 0,
 radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.28),rgba(0,0,0,0)),radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.28),rgba(0,0,0,0)) 100% 0;
 background-repeat:no-repeat;background-color:#fff;background-size:40px 100%,40px 100%,14px 100%,14px 100%;
 background-attachment:local,local,scroll,scroll}
.kzt-page .kzc-t th:first-child,.kzt-page .kzc-t td:first-child{position:sticky;left:0;z-index:1;background:#fff}
@media (max-width:600px){
 body.kzt-page .entry-header .entry-title{font-size:1.5rem!important;line-height:1.25!important;margin-bottom:.4em!important}
}
/* Десктоп: калькулятор не растягивается на всю ширину колонки. */
@media (min-width:900px){
 .kzt-page .kzp,.kzt-page .kzb,.kzt-page .kzk,.kzt-page .kzv,.kzt-page .kzo,.kzt-page .kzg{max-width:860px}
}
.kzt-page .kzk-out,.kzt-page .kzg-out,.kzt-page .kzp-out,.kzt-page .kzv-out,.kzt-page .kzb-res,.kzt-page #kzo-res{scroll-margin-top:90px}
/* Сворачиваемые подробности результата (общий вид для всех калькуляторов). */
.kzt-page .kzt-more{margin:.8em 0;border:1px solid #cfdde4;border-radius:10px;padding:0 .8em;background:#fff}
.kzt-page .kzt-more>summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center;list-style-position:inside}
.kzt-page .kzt-more[open]>summary{border-bottom:1px solid #cfdde4;margin-bottom:.4em}
@media print{.kzt-page .kzt-more>summary{display:none}}
/* Атрибут hidden должен побеждать display:flex у подписей (иначе скрытые поля занимают место). */
.kzt-page [hidden]{display:none!important}
/* Стрелка у сворачиваемых блоков. */
.kzt-page .kzt-more>summary::-webkit-details-marker,.kzt-page .kzk-more>summary::-webkit-details-marker{display:none}
.kzt-page .kzt-more>summary::after,.kzt-page .kzk-more>summary::after{content:"+";margin-left:auto;padding-left:.6em;font-size:1.4em;line-height:1;color:#0f6f8c}
.kzt-page .kzt-more[open]>summary::after,.kzt-page .kzk-more[open]>summary::after{content:"\2212"}
/* wpautop оборачивает подписи радио в <p> и добавляет <br>: убираем лишние отступы. */
.kzt-page fieldset>p{display:contents;margin:0}
.kzt-page fieldset>p>br,.kzt-page fieldset>br{display:none}
/* Календарь прививок на телефоне: строки таблицы стопкой, чтобы «Срок» и «Статус» не уезжали за край. */
@media (max-width:600px){
 .kzt-page .kzv-wrap{overflow-x:visible}
 .kzt-page .kzv-t,.kzt-page .kzv-t tbody,.kzt-page .kzv-t tr,.kzt-page .kzv-t th,.kzt-page .kzv-t td{display:block;width:auto}
 .kzt-page .kzv-t caption{display:block;width:100%;box-sizing:border-box}
 .kzt-page .kzv-t thead{position:absolute;left:-9999px}
 .kzt-page .kzv-t tbody tr{border-bottom:2px solid #cfdde4;padding:.5em .8em}
 .kzt-page .kzv-t th.kzv-age{border:0;padding:.2em 0;font-size:1.05em}
 .kzt-page .kzv-t td{border:0;padding:.25em 0}
 .kzt-page .kzv-t td:nth-of-type(1)::before{content:"Прививка против: ";font-weight:600;color:#46606f}
 .kzt-page .kzv-t td:nth-of-type(2)::before{content:"Срок: ";font-weight:600;color:#46606f}
 .kzt-page .kzv-t td:nth-of-type(3)::before{content:"Статус: ";font-weight:600;color:#46606f}
}
/* Календарь месячных на телефоне: прогноз карточками вместо широкой таблицы. */
@media (max-width:600px){
 .kzt-page .kzo-tw{overflow-x:visible}
 .kzt-page .kzo-t,.kzt-page .kzo-t tbody,.kzt-page .kzo-t tr,.kzt-page .kzo-t th,.kzt-page .kzo-t td{display:block;width:auto}
 .kzt-page .kzo-t caption{display:block;width:100%;box-sizing:border-box}
 .kzt-page .kzo-t thead{position:absolute;left:-9999px}
 .kzt-page .kzo-t tbody tr{border-bottom:2px solid #cfdde4;padding:.5em .8em}
 .kzt-page .kzo-t th[scope=row]{border:0;padding:.2em 0;font-size:1.05em}
 .kzt-page .kzo-t td{border:0;padding:.25em 0}
 .kzt-page .kzo-t td:nth-of-type(1)::before{content:"Месячные: ";font-weight:600;color:#46606f}
 .kzt-page .kzo-t td:nth-of-type(2)::before{content:"Окно фертильности: ";font-weight:600;color:#46606f}
 .kzt-page .kzo-t td:nth-of-type(3)::before{content:"Овуляция (ориентир): ";font-weight:600;color:#46606f}
 .kzt-page .kzo-t td:nth-of-type(4)::before{content:"Следующие месячные: ";font-weight:600;color:#46606f}
}
/* Перцентили на телефоне: показатели карточками, чтобы «Перцентиль» и «Зона» были видны. */
@media (max-width:600px){
 .kzt-page .kzg-tw{overflow-x:visible}
 .kzt-page .kzg-table,.kzt-page .kzg-table tbody,.kzt-page .kzg-table tr,.kzt-page .kzg-table th,.kzt-page .kzg-table td{display:block;width:auto}
 .kzt-page .kzg-table thead{position:absolute;left:-9999px}
 .kzt-page .kzg-table tbody tr{border-bottom:2px solid #cfdde4;padding:.5em .8em}
 .kzt-page .kzg-table th[scope=row]{border:0;padding:.2em 0;font-size:1.05em;background:transparent}
 .kzt-page .kzg-table td{border:0;padding:.2em 0}
 .kzt-page .kzg-table td:nth-of-type(1)::before{content:"Значение: ";font-weight:600;color:#46606f}
 .kzt-page .kzg-table td:nth-of-type(2)::before{content:"Z-оценка: ";font-weight:600;color:#46606f}
 .kzt-page .kzg-table td:nth-of-type(3)::before{content:"Перцентиль: ";font-weight:600;color:#46606f}
 .kzt-page .kzg-table td:nth-of-type(4)::before{content:"Зона по ВОЗ: ";font-weight:600;color:#46606f}
}
