/* шрифт Inter (OFL, бренд-бук)  — лежить поруч у fonts/, без Google Fonts */
@font-face {font-family: 'Inter';font-style: normal;font-display: swap;font-weight: 400;src:url(fonts/inter-cyrillic-400-normal.woff2) format('woff2');unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face {font-family: 'Inter';font-style: normal;font-display: swap;font-weight: 400;src:url(fonts/inter-latin-ext-400-normal.woff2) format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face {font-family: 'Inter';font-style: normal;font-display: swap;font-weight: 400;src:url(fonts/inter-latin-400-normal.woff2) format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'Inter';font-style: normal;font-display: swap;font-weight: 500;src:url(fonts/inter-cyrillic-500-normal.woff2) format('woff2');unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face {font-family: 'Inter';font-style: normal;font-display: swap;font-weight: 500;src:url(fonts/inter-latin-ext-500-normal.woff2) format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face {font-family: 'Inter';font-style: normal;font-display: swap;font-weight: 500;src:url(fonts/inter-latin-500-normal.woff2) format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'Inter';font-style: normal;font-display: swap;font-weight: 600;src:url(fonts/inter-cyrillic-600-normal.woff2) format('woff2');unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face {font-family: 'Inter';font-style: normal;font-display: swap;font-weight: 600;src:url(fonts/inter-latin-ext-600-normal.woff2) format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face {font-family: 'Inter';font-style: normal;font-display: swap;font-weight: 600;src:url(fonts/inter-latin-600-normal.woff2) format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'Inter';font-style: normal;font-display: swap;font-weight: 700;src:url(fonts/inter-cyrillic-700-normal.woff2) format('woff2');unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face {font-family: 'Inter';font-style: normal;font-display: swap;font-weight: 700;src:url(fonts/inter-latin-ext-700-normal.woff2) format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face {font-family: 'Inter';font-style: normal;font-display: swap;font-weight: 700;src:url(fonts/inter-latin-700-normal.woff2) format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'Inter';font-style: normal;font-display: swap;font-weight: 800;src:url(fonts/inter-cyrillic-800-normal.woff2) format('woff2');unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face {font-family: 'Inter';font-style: normal;font-display: swap;font-weight: 800;src:url(fonts/inter-latin-ext-800-normal.woff2) format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face {font-family: 'Inter';font-style: normal;font-display: swap;font-weight: 800;src:url(fonts/inter-latin-800-normal.woff2) format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* ---------- tokens (ті самі, що у формі підбору туру) ---------- */
:root{
  --red:#F20D18;
  --red-soft:#FDECEC;
  --red-dark:#C20A13;
  --ink:#111111;
  --ink-2:#111111;
  --ink-3:#686868;
  --muted:#9A9A9A;
  --line:#E7E7E7;
  --line-2:#EFEFEF;
  --bg:#F7F7F7;
  --field:#F7F7F7;
  --white:#fff;
  --ok:#25D366;
  --okc:#1F8A4C;
  --ok-bg:#EAF6EE;
  --ok-line:#BFE3CC;
  --warn-bg:#FDF6E7;
  --warn-line:#EBD39A;
  --warn-ink:#6E4E0C;
  --r-card:20px;
  --r-field:10px;
  --r-pill:14px;
  --shadow:0 1px 2px rgba(17,17,17,.05);
  --shadow-cta:0 8px 20px rgba(242,13,24,.25);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  background:var(--bg);color:var(--ink);
  -webkit-font-smoothing:antialiased;
  min-height:100vh;min-height:100dvh;
}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- shell ---------- */
.demo{background:var(--ink);color:#fff;font-size:12px;font-weight:600;text-align:center;padding:7px 12px;letter-spacing:.01em}
.bar{position:sticky;top:0;z-index:20;height:4px;background:#ECECEC}
.bar i{display:block;height:100%;width:0;background:var(--red);transition:width .35s ease}
.wrap{max-width:600px;margin:0 auto;padding:36px 18px 56px}
.card{background:var(--white);border:1px solid var(--line-2);border-radius:var(--r-card);padding:30px 28px;box-shadow:var(--shadow)}
@media(max-width:520px){.wrap{padding:22px 14px 44px}.card{padding:24px 18px}}

/* ---------- brand ---------- */
.brand{display:flex;flex-direction:column;align-items:center;gap:0}
.brand b{font-size:clamp(38px,10vw,54px);font-weight:800;letter-spacing:.3px;line-height:1}
.brand .ya{color:var(--red)}
.brand svg{margin-top:-2px;width:clamp(120px,34vw,164px);height:auto}
.mini{display:flex;justify-content:center;margin:0 0 20px;font-size:20px;font-weight:800;letter-spacing:.3px;line-height:1}
.mini .ya{color:var(--red)}

/* ---------- intro (по центру екрана, пропорційно) ---------- */
.intro{min-height:calc(100vh - 110px);min-height:calc(100dvh - 110px);display:flex;flex-direction:column;justify-content:center;gap:0}
.intro .brand{margin-bottom:clamp(24px,6vh,44px)}
.intro h1{text-align:center}
.intro .lead{text-align:center;max-width:460px;margin-left:auto;margin-right:auto}

/* ---------- type ---------- */
.step-of{font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--red);margin-bottom:8px}
h1{font-size:clamp(25px,6.4vw,31px);font-weight:800;line-height:1.25;margin:0 0 14px}
h2{font-size:21px;font-weight:700;line-height:1.3;margin:0 0 6px}
.sub{font-size:14px;line-height:1.55;color:var(--ink-3);margin:0 0 18px}
.lead{font-size:15.5px;line-height:1.6;color:var(--ink-3);margin:0 0 26px}
label.lbl,span.lbl{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:8px}
.hint{font-size:12.5px;color:var(--muted);line-height:1.5;margin:8px 0 0}
.center{text-align:center}

/* ---------- fields ---------- */
.f{width:100%;min-width:0;max-width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:var(--r-field);background:var(--field);font-size:16px;min-height:48px}
.f::placeholder{color:#B0B0B0;text-transform:none}
.f:focus{outline:none;border-color:var(--red);background:#fff}
.up{text-transform:uppercase}
select.f{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' stroke='%236B6258' stroke-width='2' fill='none' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 15px center;padding-right:38px}
input[type=date].f{min-height:48px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.row>*{min-width:0}
@media(max-width:520px){.row{grid-template-columns:1fr;gap:0}}
.group{margin-bottom:16px}
.err{border-color:var(--red)!important;background:#FDECEC!important}
.ferr{display:none;font-size:12.5px;font-weight:600;color:var(--red);margin:6px 0 0;line-height:1.4}
.ferr.on{display:block}
.msg{display:none;font-size:13.5px;font-weight:600;color:var(--red);margin-top:14px;line-height:1.45}
.msg.on{display:block}

/* ---------- segmented (стать) ---------- */
.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sg{padding:12px 10px;min-height:48px;border:1.5px solid var(--line);border-radius:var(--r-field);background:var(--field);font-size:15px;font-weight:600;color:var(--ink-2);cursor:pointer}
.sg:hover{border-color:#CCCCCC}
.sg.sel{border-color:var(--red);background:var(--red-soft);color:var(--red)}
.seg.err{border-radius:12px;outline:1.5px solid var(--red);outline-offset:3px;background:none!important}

/* ---------- alerts / info ---------- */
.alert{padding:11px 14px;border-radius:12px;font-size:13px;line-height:1.5;margin:0 0 14px}
.alert.warn{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn-ink)}
.alert.info{background:#F2F2F2;color:var(--ink-2);display:flex;gap:10px;align-items:flex-start}
.alert.info svg{flex:0 0 auto;margin-top:2px}
.ticks{list-style:none;margin:0 0 24px;padding:0;text-align:left;border:1px solid var(--line-2);background:#fff;border-radius:16px}
.ticks li{display:flex;gap:12px;align-items:flex-start;padding:13px 16px;font-size:14.5px;line-height:1.45;color:var(--ink-2);border-bottom:1px solid #EFEFEF}
.ticks li:last-child{border-bottom:none}
.ticks svg{flex:0 0 auto;margin-top:2px}
.tips{font-size:13px;color:var(--ink-3);line-height:1.6;margin:0 0 18px;padding:0;list-style:none}
.tips li{padding-left:16px;position:relative}
.tips li:before{content:'';position:absolute;left:2px;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--red)}

/* ---------- traveller cards ---------- */
.trav{border:1.5px solid var(--line);border-radius:16px;background:#fff;margin-bottom:12px;overflow:hidden}
.trav.open{border-color:#D0D0D0}
.trav-h{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:none;border:0;text-align:left;cursor:pointer;min-height:64px}
.trav-h.static{cursor:default}
.ava{width:36px;height:36px;border-radius:50%;background:var(--red-soft);color:var(--red);font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.ttl{min-width:0;flex:1}
.ttl b{display:block;font-size:15px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.ttl small{display:block;font-size:12.5px;color:var(--muted);margin-top:1px}
.chip-s{font-size:12px;font-weight:700;padding:5px 11px;border-radius:99px;white-space:nowrap;flex:0 0 auto}
.chip-s.ok{background:var(--ok-bg);color:var(--okc)}
.chip-s.todo{background:#F2F2F2;color:var(--ink-3)}
.chip-s.bad{background:var(--red-soft);color:var(--red)}
.chev{flex:0 0 auto;transition:transform .2s ease}
.trav.open .chev{transform:rotate(180deg)}
.trav-b{padding:6px 14px 16px}
.trav.acc .trav-b{display:none}
.trav.acc.open .trav-b{display:block}
.docs-b{padding:2px 14px 14px}

/* ---------- upload ---------- */
.zone{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;padding:20px 16px;border:2px dashed #D0D0D0;border-radius:14px;background:var(--field);text-align:center;cursor:pointer}
.zone:hover{border-color:var(--red);background:#FFF5F5}
.zone.err{border-color:var(--red);background:#FDECEC}
.zone .zi{width:44px;height:44px;border-radius:50%;background:var(--red-soft);display:flex;align-items:center;justify-content:center;margin-bottom:4px}
.zone b{font-size:14.5px;font-weight:700;color:var(--ink)}
.zone small{font-size:12.5px;color:var(--muted)}
.dlabel{font-size:13px;font-weight:600;color:var(--ink-2);margin:0 0 8px}
.dgap{height:14px}
.file{display:flex;gap:12px;align-items:center;padding:12px;border:1.5px solid var(--line);border-radius:14px;background:#fff}
.file.done{border-color:var(--ok-line);background:var(--ok-bg)}
.file.bad{border-color:#F7B3B6;background:#FDECEC}
.th{width:56px;height:56px;border-radius:10px;background:#F2F2F2;flex:0 0 auto;display:flex;align-items:center;justify-content:center;overflow:hidden}
.th img{width:100%;height:100%;object-fit:cover;display:block}
.meta{min-width:0;flex:1;display:block}
.meta b{display:block;font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.meta small{display:block;font-size:12.5px;color:var(--ink-3);margin-top:2px}
.meta small.r{color:var(--red);font-weight:600}
.acts{display:flex;gap:16px;margin-top:6px}
.acts button{background:none;border:0;color:var(--red);font-size:13px;font-weight:600;cursor:pointer;padding:6px 0;min-height:32px}
.acts button.g{color:var(--ink-3)}

/* ---------- consents / review ---------- */
.check{display:flex;align-items:flex-start;gap:12px;padding:10px 0;font-size:14px;line-height:1.5;color:var(--ink);cursor:pointer}
.check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--red);flex:0 0 auto}
.check a{color:var(--red);font-weight:600}
.sum{border:1px solid var(--line-2);border-radius:14px;overflow:hidden;margin-bottom:12px;background:#fff}
.sum-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;background:#F7F7F7;font-size:12.5px;font-weight:700;color:var(--ink-2);letter-spacing:.01em}
.sum-h button{background:none;border:0;color:var(--red);font-size:13px;font-weight:600;cursor:pointer;padding:2px 0}
.sr-row{display:flex;justify-content:space-between;gap:14px;padding:11px 14px;border-top:1px solid #EFEFEF;font-size:14px}
.sr-row span:first-child{color:var(--ink-3);flex:0 0 auto}
.sr-row span:last-child{font-weight:600;text-align:right}
.sr-row .ok{color:var(--okc)}

/* ---------- телефон + підказки міст ---------- */
.phone{position:relative;display:flex}
.dial{flex:0 0 auto;display:flex;align-items:center;gap:7px;padding:0 12px 0 14px;min-height:48px;border:1.5px solid var(--line);border-right:0;border-radius:var(--r-field) 0 0 var(--r-field);background:#F2F2F2;font-size:16px;font-weight:600;color:var(--ink);cursor:pointer;white-space:nowrap}
.dial:hover{background:#EFEFEF}
.dial.err{border-color:var(--red)!important;background:#FDECEC}
.dial .fl{font-size:20px;line-height:1}
.phone .f{border-radius:0 var(--r-field) var(--r-field) 0;flex:1;min-width:0}
.dial-list{display:none;position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 28px rgba(17,17,17,.14);overflow:hidden}
.dial-list.on{display:block}
.dial-q{border-radius:0!important;border:0!important;border-bottom:1px solid var(--line-2)!important;min-height:46px!important}
.dial-items{max-height:250px;overflow:auto}
.dial-item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;background:none;border:0;border-bottom:1px solid #EFEFEF;text-align:left;cursor:pointer;font-size:14.5px}
.dial-item:last-child{border-bottom:0}
.dial-item:hover,.dial-item.on{background:var(--red-soft)}
.dial-item .fl{font-size:19px;line-height:1}
.dial-item b{font-weight:600;flex:1}
.dial-item span:last-child{color:var(--muted);font-size:13.5px}
.ac{position:relative}
.ac-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 28px rgba(17,17,17,.12);max-height:264px;overflow:auto;display:none}
.ac-list.on{display:block}
.ac-item{display:block;width:100%;text-align:left;background:none;border:0;padding:12px 14px;cursor:pointer;border-bottom:1px solid #EFEFEF;font-size:15px;font-weight:600;color:var(--ink)}
.ac-item:last-child{border-bottom:0}
.ac-item:hover,.ac-item.on{background:var(--red-soft)}
.ac-empty{padding:13px 14px;font-size:13.5px;color:var(--ink-3)}
.f:disabled{opacity:.6;cursor:not-allowed}
/* автозаповнення з фото */
.f.sug{background:#FFFBEF;border-color:#E8D59A}
.seg.sug .sg.sel{background:#FFF6DC;border-color:#D9B95A;color:var(--warn-ink)}
.rd{display:block;font-size:12.5px;margin-top:3px;color:var(--ink-3);line-height:1.4}
.rd.ok{color:var(--okc);font-weight:600}
.rd.bad{color:var(--warn-ink);font-weight:600}
.f.sug.weak{background:#FFF1E6;border-color:#F0B98A}
.seg.sug.weak .sg.sel{background:#FFF1E6;border-color:#F0B98A;color:#8A4B12}

/* ---------- nav ---------- */
.nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px}
.back{background:none;border:none;font-size:14px;font-weight:600;color:var(--ink-3);cursor:pointer;padding:14px 4px;min-height:48px}
.back:hover{color:var(--ink)}
.next{background:var(--red);color:#fff;border:none;font-weight:700;font-size:15px;padding:14px 30px;min-height:50px;border-radius:12px;cursor:pointer}
.next:hover{background:var(--red-dark)}
@media(max-width:520px){.next{flex:1}}
.cta{display:block;width:100%;background:var(--red);color:#fff;border:none;font-weight:700;font-size:16px;padding:17px 24px;min-height:54px;border-radius:14px;cursor:pointer;box-shadow:var(--shadow-cta)}
.cta:hover{background:var(--red-dark)}
.cta:disabled{background:#E0E0E0;color:#9A9A9A;box-shadow:none;cursor:not-allowed}
.foot{text-align:center;font-size:12px;color:#9A9A9A;padding-top:30px}
.legal{font-size:12px;color:var(--muted);line-height:1.5;margin:14px 6px 0;text-align:center}
.lnk{background:none;border:0;color:var(--red);font-weight:600;font-size:13px;cursor:pointer;padding:0;text-decoration:underline}

/* ---------- screens ---------- */
.screen{display:none}
.screen.on{display:block}
.spin{display:inline-block;width:15px;height:15px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:sp .7s linear infinite;vertical-align:-2px;margin-right:8px}
.spin.dk{border-color:rgba(17,17,17,.18);border-top-color:var(--red);width:18px;height:18px;margin:0}
@keyframes sp{to{transform:rotate(360deg)}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.boot{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}
.fatal{min-height:calc(100vh - 140px);min-height:calc(100dvh - 140px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.fatal .ico{width:64px;height:64px;border-radius:50%;background:var(--red-soft);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
/* ---------- склад туристів ---------- */
.addrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 6px}
.addrow .lbl-s{font-size:13px;font-weight:600;color:var(--ink-3);margin-right:2px}
.addb{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;min-height:44px;border:1.5px dashed #CCCCCC;border-radius:12px;background:#fff;font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer}
.addb:hover{border-color:var(--red);color:var(--red);background:#FFF5F5}
.addb b{color:var(--red);font-size:17px;line-height:1}
.addb:disabled{opacity:.45;cursor:not-allowed}
.tsel{display:block;margin-top:5px;appearance:none;-webkit-appearance:none;border:1.5px solid var(--line);border-radius:99px;background:#F2F2F2 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='7'><path d='M1 1l4 4 4-4' stroke='%236B6258' stroke-width='1.8' fill='none' stroke-linecap='round'/></svg>") no-repeat right 11px center;padding:7px 28px 7px 12px;font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer;max-width:100%}
.rm{flex:0 0 auto;align-self:flex-start;width:36px;height:36px;border-radius:50%;border:0;background:none;color:var(--muted);font-size:20px;line-height:1;cursor:pointer}
.rm:hover{background:var(--red-soft);color:var(--red)}
.trav-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:4px 0 14px;margin-bottom:14px;border-bottom:1px solid #EFEFEF}
.seg3{display:flex;gap:6px;flex-wrap:wrap}
.seg3 .sg{min-height:38px;padding:7px 12px;font-size:13px}
.lnk-g{background:none;border:0;color:var(--ink-3);font-size:13px;font-weight:600;cursor:pointer;padding:8px 0;text-decoration:underline}
.lnk-g:hover{color:var(--red)}
.check.sm{font-size:13px;padding:10px 0 0;color:var(--ink-2)}
.check.sm input{width:18px;height:18px}
.muted{color:var(--ink-3);font-size:12.5px;line-height:1.45}

/* ---------- два способи завантаження ---------- */
.zone2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:520px){.zone2{grid-template-columns:1fr}}
.zbtn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 12px;border:2px dashed #D0D0D0;border-radius:14px;background:var(--field);text-align:center;cursor:pointer}
.zbtn:hover{border-color:var(--red);background:#FFF5F5}
.zbtn.pri{border-style:solid;border-color:var(--red);background:#FFF5F5}
.zbtn .zi{width:44px;height:44px;border-radius:50%;background:var(--red-soft);display:flex;align-items:center;justify-content:center;margin-bottom:4px}
.zbtn b{font-size:14.5px;font-weight:700;color:var(--ink)}
.zbtn small{font-size:12.5px;color:var(--muted);line-height:1.4}
.zone2.err .zbtn{border-color:var(--red);background:#FDECEC}

/* ---------- деталі поїздки ---------- */
.tour{border:1px solid var(--line-2);border-radius:16px;overflow:hidden;margin-bottom:18px}
.tour-h{padding:14px 16px;background:#F7F7F7}
.tour-h b{display:block;font-size:16px;font-weight:700}
.tour-h small{display:block;font-size:13px;color:var(--ink-3);margin-top:2px}
.sec{margin:22px 0 10px;font-size:15px;font-weight:700}
.sec:first-child{margin-top:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;min-height:44px;border:1.5px solid var(--line);border-radius:99px;background:var(--field);font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer}
.chip:hover{border-color:#CCCCCC}
.chip.sel{border-color:var(--red);background:var(--red-soft);color:var(--red)}
.chips.err .chip{border-color:var(--red)}
.need{border:1.5px solid var(--line);border-radius:14px;margin-bottom:8px;background:#fff}
.need>.check{padding:12px 14px}
.need .need-b{display:none;padding:0 14px 12px}
.need.on{border-color:#D0D0D0}
.need.on .need-b{display:block}
textarea.f{min-height:76px;resize:vertical;line-height:1.45}
.box{border:1px solid var(--line-2);border-radius:14px;padding:4px 14px 6px;margin-top:6px;background:#FAFAFA}
.roomrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #EFEFEF}
.roomrow:last-child{border-bottom:0}
.roomrow span{font-size:14px;font-weight:600;min-width:0;overflow-wrap:anywhere}
.roomrow select{max-width:150px;min-height:42px;padding:8px 34px 8px 12px;font-size:14px}
.ph-ok{color:var(--okc)!important;font-weight:600}
.ph-bad{color:var(--red)!important;font-weight:600}

/* ---------- сканер камерою ---------- */
.cam{position:fixed;inset:0;z-index:100;background:#000;color:#fff;overflow:hidden;touch-action:none}
.cam[hidden]{display:none}
.cam video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cam-frame{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:min(92vw,620px,calc((100dvh - 290px)*1.42));aspect-ratio:125/88;border:3px solid rgba(255,255,255,.95);border-radius:14px;box-shadow:0 0 0 200vmax rgba(0,0,0,.58);transition:border-color .2s ease}
.cam-mrz{position:absolute;left:4%;right:4%;bottom:5%;height:21%;border:2px dashed rgba(255,255,255,.75);border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.cam-mrz span{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:clamp(11px,3vw,16px);letter-spacing:2px;color:rgba(255,255,255,.45);white-space:nowrap}
.cam-frame.near{border-color:#F5C542}
.cam-frame.near .cam-mrz{border-color:#F5C542}
.cam-frame.ok{border-color:#2BD46B}
.cam-frame.ok .cam-mrz{border-color:#2BD46B;background:rgba(43,212,107,.15)}
.cam-top{position:absolute;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) 12px 10px}
.cam-ttl{font-size:15px;font-weight:700}
.cam-ic{width:44px;height:44px;border-radius:50%;border:0;background:rgba(0,0,0,.45);color:#fff;font-size:18px;cursor:pointer}
.cam-ic[aria-pressed="true"]{background:#F5C542}
.cam-bot{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;gap:12px;padding:12px 18px calc(18px + env(safe-area-inset-bottom));text-align:center}
.cam-msg{margin:0;font-size:15px;font-weight:600;line-height:1.4;max-width:460px;min-height:42px}
.cam-bot small{font-size:12.5px;color:rgba(255,255,255,.7);max-width:320px;line-height:1.4}
.cam-shot{width:70px;height:70px;border-radius:50%;border:4px solid #fff;background:rgba(255,255,255,.25);cursor:pointer}
.cam-shot:active{background:#fff}

/* ---------- утиліти замість inline style (CSP: style-src 'self') ---------- */
[hidden]{display:none!important}
.w420{max-width:420px}
.w440{max-width:440px}
.mb22{margin-bottom:22px}
.mb20{margin-bottom:20px}
.mt14{margin-top:14px}
.consents{margin:18px 0 8px}
.og{margin-top:-6px}
.hint.lead-in{margin:-4px 0 10px}
.cnt{display:block;text-align:right;font-size:12px;color:var(--muted);margin-top:4px}
.retry{margin-top:12px}
.dgap-f{margin-top:10px}
