/* ---------- country page ---------- */
.dst-hero{position:relative;isolation:isolate;min-height:clamp(380px,56vh,560px);display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.dst-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.dst-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,18,40,.15) 0%,rgba(6,18,40,.2) 45%,rgba(6,18,40,.72) 100%)}
.dst-hero-in{padding-bottom:clamp(28px,4vw,56px);width:100%}
.dst-hero .crumbs ol,.dst-hero .crumbs a{color:rgba(255,255,255,.85)}
.dst-word{font-family:var(--hand);font-weight:700;font-size:clamp(56px,10vw,150px);line-height:.85;text-transform:uppercase;letter-spacing:.03em;margin-top:12px}
.dst-hero h1{color:#fff;font-size:clamp(24px,3vw,40px);margin-top:6px}
.dst-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);padding-top:clamp(32px,4vw,56px)}
.dst-facts h2{font-size:24px;margin-bottom:14px}
.dst-facts .tp-facts{grid-template-columns:1fr}
.dst-tours .sec-head h2{max-width:none}
@media (max-width:900px){ .dst-body{grid-template-columns:minmax(0,1fr)} }

/* ---------- journal article ---------- */
.blog-list{padding-top:8px}
.post-head{padding-top:clamp(24px,3vw,40px);max-width:900px}
.post-head h1{font-size:clamp(30px,4vw,54px);margin:10px 0 24px}
.post-meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px;color:var(--muted);margin-top:16px}
.post-meta b{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.post-cover{width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:var(--r-lg)}
.post-body{max-width:760px;margin:clamp(28px,4vw,48px) auto 0}
.post-lead{font-size:clamp(18px,1.5vw,21px);color:var(--ink-deep)}
.post-body blockquote{margin:24px 0;padding:6px 0 6px 20px;border-left:3px solid var(--accent);font-family:var(--head);font-style:italic;font-size:20px;color:var(--ink-deep)}
.post-body figure{margin:28px 0}
.post-body figure img{border-radius:var(--r)}
.post-body figcaption{font-size:13px;color:var(--muted);margin-top:8px}
.post-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:36px;padding:22px 24px;border-radius:var(--r);background:var(--tint)}
.post-cta b{font-family:var(--head);font-size:20px;color:var(--ink-deep)}
.post-rel-t{margin-bottom:22px}

/* ---------- sign in ---------- */
.auth{display:grid;place-items:center;padding:clamp(40px,8vw,96px) 16px}
.auth-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(24px,4vw,40px);box-shadow:var(--shadow);display:grid;gap:14px}
.auth-logo{height:48px;width:auto;margin-bottom:6px}
.auth-card h1{font-size:clamp(26px,3vw,34px)}
.auth-step{display:grid;gap:12px}
.auth-step .btn{width:100%}
.auth-row{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.code-input{font:700 24px var(--body)!important;letter-spacing:.4em;text-align:center}
.auth-or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px}
.auth-or::before,.auth-or::after{content:"";flex:1;height:1px;background:var(--line)}
.auth-google{width:100%;gap:10px}
.auth-hint{font-size:13px;padding:10px 12px;border-radius:12px;background:var(--glacier);color:var(--ink-deep)}
.auth-terms{font-size:12px;color:var(--muted)}
.auth-terms a,.auth-card .link-btn{color:var(--accent)}

/* ---------- checkout ---------- */
.co{padding-top:clamp(20px,3vw,36px)}
.co-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin-bottom:22px}
.co-top h1{font-size:clamp(26px,3vw,38px);flex-basis:100%}
.co-steps{list-style:none;display:flex;gap:6px;flex-wrap:wrap}
.co-steps li{display:flex;align-items:center;gap:8px;padding:8px 14px 8px 8px;border-radius:999px;background:var(--tint);color:var(--muted);font-weight:600;font-size:14px}
.co-steps span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;font-weight:700}
.co-steps li.on{background:var(--accent);color:#fff}.co-steps li.on span{color:var(--accent)}
.co-steps li.done span{background:var(--accent);color:#fff}
.co-hold{font-size:14px;padding:8px 14px;border-radius:999px;background:var(--glacier);color:var(--ink-deep)}
.co-hold.low{background:var(--danger-bg);color:var(--danger-ink)}
.co-alert{padding:12px 16px;border-radius:12px;background:var(--danger-bg);color:var(--danger-ink);margin-bottom:16px}
.co-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(24px,3vw,40px);align-items:start}
.co-main form{display:grid;gap:16px}
.co-box{border:1px solid var(--line);border-radius:var(--r);padding:20px;display:grid;gap:12px;min-width:0}
.co-box legend{font-family:var(--head);font-size:20px;font-weight:700;color:var(--ink-deep);padding:0 6px}
.co-nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.co-extras,.co-plans{display:grid;gap:10px}
.co-extra,.co-plan{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 14px;align-items:center;padding:14px 16px;border:1.5px solid var(--line);border-radius:14px;cursor:pointer}
.co-plan{grid-template-columns:auto minmax(0,1fr)}
.co-extra:has(input:checked),.co-plan:has(input:checked){border-color:var(--accent);background:#EEF4FD}
.co-extra input,.co-plan input,.co-consent input{width:18px;height:18px;accent-color:var(--accent)}
.co-extra-t b,.co-plan b{display:block;color:var(--ink-deep)}
.co-extra-t small,.co-plan small{color:var(--muted);font-size:13px}
.co-extra-p{text-align:right;font-weight:700;font-family:var(--head)}
.co-extra-p small{display:block;font:500 12px var(--body);color:var(--muted)}
.co-promo{display:flex;gap:8px}
.co-promo input{flex:1;min-width:0;font:600 15px var(--body);padding:10px 14px;border:1px solid var(--line);border-radius:12px;text-transform:uppercase}
.co-promo-ok{color:var(--accent);font-weight:700}
.co-consent{display:flex;gap:12px;align-items:flex-start;font-size:14px}
.co-consent a{color:var(--accent);text-decoration:underline}
.co-pay:disabled{opacity:.5;cursor:not-allowed}
.co-sum{position:sticky;top:100px}
.co-sum-card{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.co-sum-card>img{width:100%;aspect-ratio:16/8;object-fit:cover}
.co-sum-body{padding:18px 20px;display:grid;gap:8px}
.co-sum-title{font-family:var(--head);font-size:18px;color:var(--ink-deep)}
.co-line{display:flex;justify-content:space-between;gap:10px;font-size:14px}
.co-disc{color:var(--accent)}
.co-msg{padding:clamp(60px,10vw,120px) 0}
@media (max-width:1000px){ .co-layout{grid-template-columns:minmax(0,1fr)} .co-sum{position:static;order:-1} }
@media (max-width:720px){ .co-nav .btn{flex:1} .co-extra{grid-template-columns:auto minmax(0,1fr)} .co-extra-p{grid-column:2;text-align:left} }

/* ---------- payment status ---------- */
.pay-status{text-align:center;padding:clamp(70px,12vw,140px) 0;max-width:620px}
.pay-status h1{font-size:clamp(28px,3.6vw,44px);margin:18px 0 10px}
.pay-status p{color:var(--muted)}
.spinner{display:inline-block;width:56px;height:56px;border-radius:50%;border:4px solid var(--glacier);border-top-color:var(--accent);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.pay-ic{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;font-size:30px;font-weight:700;color:#fff}
.pay-ic.ok{background:var(--ok)}.pay-ic.fail{background:var(--danger)}

/* ---------- account ---------- */
.acc{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(24px,4vw,56px);padding-top:clamp(24px,4vw,48px)}
.acc-side nav{display:grid;gap:4px;margin-top:16px}
.acc-tabs{display:grid;gap:4px}
.acc-side nav a{padding:10px 14px;border-radius:12px;font-weight:600;color:var(--ink-deep)}
.acc-side nav a.on{background:var(--glacier);color:var(--accent)}
.acc-logout{justify-self:start;padding:10px 14px}
.acc-user b{display:block;font-family:var(--head);font-size:20px;color:var(--ink-deep);overflow-wrap:anywhere}
.acc-user span{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.acc-main h1{font-size:clamp(26px,3vw,38px);margin-bottom:16px}
.acc-phase{font-family:var(--head);font-size:20px;color:var(--accent);margin-bottom:14px}
.acc-list{display:grid;gap:14px}
.acc-bk{display:grid;grid-template-columns:200px minmax(0,1fr);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.acc-bk.big{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);box-shadow:var(--shadow)}
.acc-bk>img{width:100%;height:100%;object-fit:cover;min-height:150px}
.acc-bk-b{padding:18px 20px;display:grid;gap:6px;align-content:start}
.acc-bk h3{font-size:20px}
.acc-st{justify-self:start;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--tint);color:var(--muted)}
.acc-st.st-paid{background:var(--ok-bg);color:var(--ok-ink)}.acc-st.st-hold{background:var(--warn-bg);color:var(--warn-ink)}
.acc-days{font-weight:700;color:var(--accent)}
.acc-bk-f{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:8px}
.acc-bk-f b{font-family:var(--head);font-size:20px}
.acc-form{max-width:520px}
@media (max-width:900px){ .acc{grid-template-columns:minmax(0,1fr)} .acc-side{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px} .acc-side nav{display:contents} .acc-tabs{order:3;flex:0 0 calc(100% + 32px);display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:12px -16px 0;padding:0 16px 4px;scroll-snap-type:x proximity;scroll-padding-inline:16px} .acc-tabs::-webkit-scrollbar{display:none} .acc-tabs a{white-space:nowrap;flex:0 0 auto;scroll-snap-align:start;border:1px solid var(--line)} .acc-tabs a.on{border-color:transparent} .acc-logout{order:2;padding:6px 0} .acc-bk,.acc-bk.big{grid-template-columns:minmax(0,1fr)} .acc-bk>img{aspect-ratio:16/8} }

/* ---------- My Trip ---------- */
.trip{padding-top:clamp(20px,3vw,36px)}
.trip-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin:14px 0 18px}
.trip-head h1{font-size:clamp(26px,3.4vw,44px);margin-top:8px}
.trip-sync{font-size:13px;padding:6px 12px;border-radius:999px;background:var(--glacier);color:var(--ink-deep)}
.trip-sync.off{background:var(--warn-bg);color:var(--warn-ink)}
.trip-now{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:18px 20px;border-radius:var(--r);background:var(--deep);color:#fff;margin-bottom:24px}
.trip-now span{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark)}
.trip-now b{font-family:var(--head);font-size:18px}
.trip-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(24px,3vw,40px);align-items:start}
.trip-main h2{font-size:24px;margin-bottom:10px}
.trip-days .today .tp-dot{background:var(--sun);border-color:var(--sun)}
.trip-days .past summary b{color:var(--muted)}
.trip-evs{list-style:none;display:grid;gap:8px;padding:4px 0 14px}
.ev{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 12px;border-radius:12px;background:var(--tint)}
.ev time{font-weight:700;font-family:var(--head)}
.ev small{display:block;color:var(--muted);font-size:13px}
.ev-st{font-size:12px;font-weight:700;color:var(--muted)}
.ev-done{opacity:.7}.ev-in_progress{background:#EEF4FD;outline:1.5px solid var(--accent)}.ev-in_progress .ev-st{color:var(--accent)}
.chg{font-size:11px;font-weight:700;color:var(--warn-ink);background:var(--warn-bg);border-radius:4px;padding:1px 6px}
.trip-side{display:grid;gap:14px;position:sticky;top:100px}
.trip-card{border:1px solid var(--line);border-radius:var(--r);padding:18px;background:#fff;display:grid;gap:12px}
.trip-card p{color:var(--ink-deep)}
.trip-person{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center}
.trip-person img{width:48px;height:48px;border-radius:12px;object-fit:cover}
.trip-person span{display:block;font-size:12px;color:var(--muted)}
.trip-person small{display:block;font-size:12px;color:var(--muted)}
.trip-sos{font-weight:700;color:var(--danger)}
.trip-chat h2{font-size:20px}
.chat-list{list-style:none;display:grid;gap:8px;max-height:320px;overflow:auto;padding-right:4px}
.msg{max-width:88%;padding:10px 12px;border-radius:14px;background:var(--tint)}
.msg.me{justify-self:end;background:#EEF4FD}
.msg b{font-size:12px;color:var(--muted)}.msg p{font-size:14px}.msg small{font-size:11px;color:var(--muted)}
.chat-form{display:flex;gap:8px}
.chat-form input{flex:1;min-width:0;font:500 15px var(--body);padding:10px 14px;border:1px solid var(--line);border-radius:999px}
@media (max-width:1000px){ .trip-grid{grid-template-columns:minmax(0,1fr)} .trip-side{position:static} }
@media (max-width:720px){ .ev{grid-template-columns:44px minmax(0,1fr)} .ev-st{grid-column:2} }
.post-rel,.blog-list,.dst-tours{padding-bottom:clamp(56px,7vw,96px)}
.co,.acc,.trip{padding-bottom:clamp(56px,7vw,96px)}
.co-box legend:focus{outline:none}
.trip-side,.trip-card,.trip-main,.co-main,.acc-main{min-width:0}
.trip-side,.trip-card{grid-template-columns:minmax(0,1fr)}
.trip-sos{overflow-wrap:anywhere}

/* ---------- landing ---------- */
.lp-title{color:#fff;font-size:clamp(32px,4.6vw,64px);line-height:1.05;margin-top:14px;max-width:18ch}
.lp-sub{color:rgba(255,255,255,.9);font-size:clamp(16px,1.4vw,20px);margin:12px 0 22px;max-width:46ch}
.lp-hl{grid-template-columns:1fr}
.lp-lead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(24px,4vw,56px);align-items:start;padding-bottom:clamp(56px,7vw,96px)}
.lp-lead h2{font-size:clamp(26px,3vw,38px);margin-bottom:10px}
@media (max-width:900px){ .lp-lead{grid-template-columns:minmax(0,1fr)} }

/* ---------- account: chats & saved travellers ---------- */
.acc-chats,.acc-trv{list-style:none;display:grid;gap:10px}
.acc-chat{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.acc-chat:hover{border-color:var(--accent)}
.acc-chat img{width:64px;height:64px;border-radius:12px;object-fit:cover}
.acc-chat-b{min-width:0;display:grid;gap:2px}
.acc-chat-b b{color:var(--ink-deep);font-family:var(--head)}
.acc-chat-b .muted{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}
.acc-chat-m{display:grid;justify-items:end;gap:6px;font-size:12px;color:var(--muted)}
.acc-unread{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--danger);color:#fff;font-style:normal;font-weight:700;font-size:12px}
.acc-trv li{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r)}
.acc-trv li>span:first-child{display:grid;gap:2px;min-width:0}
.acc-trv-a{display:flex;gap:16px}
.acc-trv-a .link-btn:last-child{color:var(--danger)}
#trvSlot{margin-top:16px}
.acc-trv-form{border:1px solid var(--line);border-radius:var(--r);padding:20px}
.lf-foot .btn-line{margin-left:0}
.co-fill{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.co-fill select{font:600 14px var(--body);color:var(--ink-deep);border:1px solid var(--line);border-radius:999px;padding:8px 14px;background:var(--surface);max-width:100%}
