/* Анкета на консультацию /anketa/ — вид «как Google Форма» (24.09.2026).
   Разметка — site/build_anketa.py, поведение — site/js/anketa.js. */
.aq-page .float-chat{display:none}
.aq-wrap{max-width:720px;margin:0 auto;padding:24px 16px 150px}
.aq-wrap h1{font-size:clamp(26px,5vw,36px);margin:8px 0 12px}
.aq-wrap h2{font-size:clamp(21px,4vw,27px);margin:18px 0 12px}
.aq-lead{font-size:17px;line-height:1.55;margin:0 0 10px}
.aq-more{margin:14px 0;background:#fff;border-radius:12px;padding:12px 16px}
.aq-more summary{cursor:pointer;font-weight:600;color:var(--accent,#1F3D2B)}
.aq-consent{background:#fff;border-radius:14px;padding:18px 18px 8px;margin:18px 0;
  border:1px solid rgb(0 0 0 / .08)}
.aq-consent h2{font-size:19px;margin:0 0 8px}
.aq-consent p{font-size:15px;line-height:1.5;margin:0 0 10px}
.aq-check{display:flex;gap:12px;align-items:flex-start;margin:12px 0;font-size:16px;line-height:1.45;cursor:pointer}
.aq-check input{width:24px;height:24px;flex:0 0 24px;margin:1px 0 0;accent-color:var(--accent,#1F3D2B)}

/* карточка вопроса. 24.09 владелец: «вопрос и ответ сливаются, больше пробелов между
   блоками» — ответы на бежевой подложке (.aq-part), кнопки и поля на ней белые,
   между карточками 24px */
.aq-q{background:#fff;border-radius:14px;padding:20px 18px 18px;margin:24px 0;
  border:1px solid rgb(0 0 0 / .08);border-left:4px solid transparent;scroll-margin-top:90px}
.aq-q.aq-bad{border-left-color:#B5443C}
.aq-q h3{font-size:18px;line-height:1.35;margin:0 0 10px}
.aq-req{color:#B5443C;font-weight:700}
.aq-hint{font-size:14px;color:var(--ink-mute,#5D6D5F);margin:-4px 0 10px}
.aq-part{background:#F4EEE2;border-radius:12px;padding:12px 12px 14px}
.aq-part+.aq-part{margin-top:10px}
.aq-row-label{font-size:15px;font-weight:700;margin:0 0 10px;color:var(--accent,#1F3D2B)}
.aq-in{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:12px 14px;border-radius:10px;
  border:1.5px solid rgb(0 0 0 / .18);background:#fff;min-height:48px}
.aq-in:focus{outline:none;border-color:var(--accent,#1F3D2B);box-shadow:0 0 0 3px rgb(31 61 43 / .15)}
textarea.aq-in{min-height:96px;resize:vertical;line-height:1.45}
.aq-unit{display:flex;align-items:center;gap:8px;max-width:220px}
.aq-unit em{font-style:normal;color:var(--ink-mute,#5D6D5F)}
.aq-other,.aq-detail{margin-top:10px}
/* вопрос «Цвета»: кружок цвета в кнопке */
.aq-sw{display:inline-block;width:18px;height:18px;border-radius:50%;margin-right:8px;
  border:1.5px solid rgb(0 0 0 / .15);flex:0 0 18px}

select.aq-in{appearance:none;-webkit-appearance:none;padding-right:34px;cursor:pointer;
  background:#FCFBF8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231F3D2B' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center}
.aq-dob{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1.2fr);gap:8px}
/* узкие списки даты: меньше отступ под стрелку, иначе на телефоне «День» режется до «Ден» */
.aq-dob select.aq-in{padding:12px 24px 12px 10px;background-position:right 8px center}
/* кнопка помощника «Спросить Анну» (линия wydoff-anna) — над нижней панелью счётчика,
   иначе на телефоне закрывает «Осталось N из M» */
.aq-page #anna-launch{bottom:calc(64px + env(safe-area-inset-bottom,0px)) !important}
.aq-phone{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr);gap:8px}
.aq-ex{margin:6px 0 0}
.aq-fix{margin:8px 0 0;color:var(--ink,#22271F)}
.aq-warn{background:#FFF1EF;border-radius:10px;padding:10px 14px;font-size:15px;font-weight:600;color:#8E2F28}
/* телефон: код страны и номер — друг под другом, иначе «Франция +33» режется до «Францис» */
@media (max-width:480px){.aq-phone{grid-template-columns:1fr}}
/* ссылки «Изменить» / «Добавить фото» в сводке — высотой под палец (≥44px) */
.aq-sum h3 .aq-link,.aq-nudge .aq-link{display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
/* телефон: главные кнопки не уходят под круглую кнопку помощника (52px справа внизу) */
@media (max-width:600px){.aq-page .aq-nav{padding-right:60px}}

/* кнопки-варианты */
.aq-chips{display:flex;flex-wrap:wrap;gap:8px}
.aq-chip{position:relative;display:inline-flex}
.aq-chip input{position:absolute;opacity:0;width:1px;height:1px}
.aq-chip span{display:inline-flex;align-items:center;min-height:44px;padding:9px 16px;border-radius:999px;
  border:1.5px solid rgb(0 0 0 / .2);background:#fff;font-size:16px;line-height:1.25;cursor:pointer;
  transition:background .15s,border-color .15s,color .15s;user-select:none}
.aq-chip span:hover{border-color:var(--accent,#1F3D2B)}
.aq-chip input:checked+span{background:var(--accent,#1F3D2B);border-color:var(--accent,#1F3D2B);color:#fff}
.aq-chip input[type=checkbox]:checked+span::before{content:"✓";margin-right:6px;font-weight:700}
.aq-chip input:focus-visible+span{outline:3px solid var(--trim,#B98A44);outline-offset:2px}
.aq-scale{gap:6px}
.aq-scale .aq-chip span{min-width:44px;justify-content:center;padding:9px 0}

.aq-err{color:#B5443C;font-size:15px;font-weight:600;margin:10px 0 0}
.aq-link{background:none;border:0;padding:0;font:inherit;color:var(--accent,#1F3D2B);
  text-decoration:underline;cursor:pointer}
.aq-draft{background:#FFF8E6;border-radius:10px;padding:10px 14px;font-size:15px}
.aq-nav{display:flex;justify-content:space-between;gap:12px;margin:22px 0 8px}
.aq-nav .btn{min-height:48px;min-width:120px;font-size:16px;cursor:pointer}

/* фото */
.aq-shots{margin:6px 0 16px;padding-left:20px;line-height:1.7;font-size:16px}
.aq-add{cursor:pointer;min-height:48px;display:inline-flex;align-items:center}
.aq-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin:14px 0}
.aq-thumb{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:#eee}
.aq-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.aq-thumb button{position:absolute;top:4px;right:4px;width:32px;height:32px;border-radius:50%;border:0;
  background:rgb(0 0 0 / .6);color:#fff;font-size:18px;line-height:1;cursor:pointer}

/* сводка */
.aq-sum{background:#fff;border-radius:14px;padding:14px 18px;margin:12px 0;border:1px solid rgb(0 0 0 / .08)}
.aq-sum h3{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:18px;margin:0 0 8px}
.aq-sum dl{margin:0}
/* сводка: вопрос — мелкий серый, ответ — на подложке, как в самой анкете */
.aq-sum dt{font-size:14px;font-weight:600;color:var(--ink-mute,#5D6D5F);margin-top:14px}
.aq-sum dt:first-child{margin-top:4px}
.aq-sum dd{margin:5px 0 0;font-size:16px;white-space:pre-wrap;overflow-wrap:anywhere;
  background:#F4EEE2;border-radius:8px;padding:8px 12px;color:var(--ink,#22271F)}
.aq-sum dd.aq-empty{background:transparent;padding:2px 0;color:var(--ink-mute,#5D6D5F);font-style:italic}
.aq-nudge{background:#FFF8E6;border-radius:10px;padding:10px 14px;font-size:15px}

/* нижняя панель: блок, счётчик, полоса */
.aq-panel{position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgb(255 255 255 / .96);
  backdrop-filter:blur(6px);border-top:1px solid rgb(0 0 0 / .08);
  padding:0 16px calc(10px + env(safe-area-inset-bottom,0px))}
.aq-track{height:5px;background:rgb(0 0 0 / .08);margin:0 -16px 8px}
.aq-track i{display:block;height:100%;width:0;background:var(--trim,#B98A44);transition:width .3s}
.aq-panel-row{max-width:720px;margin:0 auto;display:flex;justify-content:space-between;gap:12px;
  font-size:15px;font-weight:600;color:var(--ink,#22271F)}
#aq-left{color:var(--accent,#1F3D2B)}
@media (max-width:600px){
  .aq-q{padding:18px 14px 14px}
  .aq-part{padding:10px 10px 12px}
  .aq-nav .btn{flex:1;min-width:0}
  .aq-panel-row{font-size:14px}
}
