/* Geo Travel Lux / PWA (24.10.2026) — styles for assets/lux.js: unified tour template, explorer, sticky book bar,
   install sheet, notices, booking progress. Builds on the light theme tokens of index.html (--paper, --gold, --ink …). */

/* ---------- no captions under photos (site rule) ---------- */
.mt-dfig figcaption{display:none}

/* ---------- tour template ---------- */
.lx-hero{min-height:min(82svh,760px)}
@media (max-width:760px){.lx-hero,.mt-hero{min-height:min(74svh,640px)}}
.lx-hero .mt-hmedia img{object-position:center 40%}
.lx-hero .mt-h1{max-width:20ch}
.mt-anch button:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.lx-intro .lead{margin:0}
.lx-legend{list-style:none;counter-reset:lxl;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.lx-legend li{counter-increment:lxl;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line-2);background:#fff;border-radius:999px;padding:4px 12px 4px 4px;font-size:.84rem}
.lx-legend li::before{content:counter(lxl);display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#A97C2F;color:#fff;font-weight:700;font-size:.72rem}
[dir="rtl"] .lx-legend li{padding:4px 4px 4px 12px}
.mt-day.lx-noimg{grid-template-columns:minmax(0,1fr)}
.lx-note{margin:0 0 26px}
.lx-sum{padding:20px}
.lx-sum .d-s{display:block;font-size:1.3rem;line-height:1.2}
.lx-sum-p{margin:14px 0;font-size:.9rem;color:var(--ink-2)}.lx-sum-p b{font-size:1.7rem;color:var(--ink)}
.lx-cat .gt-audio{margin:0 0 18px}
#catDetail .lx-cat .gt-vid{margin:0 0 14px;border-radius:12px;overflow:hidden}
/* guest reviews (rendered only when real reviews exist) */
.lx-revs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.lx-rv{margin:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}
.lx-rv blockquote{margin:6px 0 10px;font-size:.95rem;line-height:1.55;color:var(--ink-2)}
.lx-rv figcaption{font-size:.82rem;color:var(--ink-3)}
.lx-stars{color:#C9A227;letter-spacing:2px}.lx-stars i{font-style:normal;color:var(--line-2)}
/* similar tours rail */
.lx-sim{padding-bottom:50px}

/* ---------- cards + rails ---------- */
.lx-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:14px;overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;scrollbar-width:thin;padding:2px 2px 14px;margin:0 -2px}
.lx-rail>*{scroll-snap-align:start}
@media (max-width:760px){.lx-rail{grid-auto-columns:80%;margin-inline:-20px;padding-inline:20px;scroll-padding-inline:20px;scrollbar-width:none}.lx-rail::-webkit-scrollbar{display:none}}
@media (min-width:1100px){.lx-rail{grid-auto-columns:calc((100% - 42px)/4)}}
.lx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
@media (max-width:620px){.lx-grid{grid-template-columns:1fr}}
.lx-card{min-width:0}
.lx-card-a{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;
  box-shadow:0 1px 2px rgba(60,45,20,.05);transition:transform .2s ease,box-shadow .2s ease;position:relative}
.lx-card-a:hover{transform:translateY(-3px);box-shadow:0 18px 40px -22px rgba(60,45,20,.45)}
.lx-card-img{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;background:var(--paper-2)}
.lx-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.lx-card-a:hover .lx-card-img img{transform:scale(1.05)}
.lx-card-badges{position:absolute;top:10px;inset-inline-start:10px;display:flex;gap:6px;flex-wrap:wrap;z-index:1}
.lx-card-badges .tag{background:rgba(255,255,255,.92);border-color:transparent;color:var(--ink);backdrop-filter:blur(6px)}
.lx-card-badges .mt-tun{background:#1F5FA8;color:#fff}
.lx-card-body{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;flex:1}
.lx-card-t{font-family:var(--f-display);font-size:1.12rem;line-height:1.25;font-weight:700}
.lx-card-s{font-size:.84rem;color:var(--ink-3);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lx-card-p{margin-top:auto;padding-top:8px;font-size:.82rem;color:var(--ink-3)}
.lx-card-p em{font-style:normal}.lx-card-p b{font-size:1.25rem;color:var(--ink);font-weight:700}.lx-card-p i{font-style:normal}

/* ---------- explorer ---------- */
#v-catalog .lx-old{display:none}
.lx-ex{padding-bottom:clamp(40px,6vw,70px)}
.lx-ex .crumbs{padding-top:18px;margin:0 0 10px}
.lx-exh{margin:6px 0 22px}.lx-exh h1{font-size:clamp(2.2rem,5vw,3.6rem)}.lx-exh .lead{margin:12px 0 0;max-width:70ch}
.lx-sec{margin:0 0 22px;padding:0}
.lx-h3{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 12px;font-weight:700}
.lx-h2{font-family:var(--f-display);font-size:clamp(1.4rem,3vw,1.9rem);margin:0;line-height:1.15}
.lx-cos{grid-auto-columns:minmax(170px,1fr)}
@media (max-width:760px){.lx-cos{grid-auto-columns:44%}}
@media (min-width:1100px){.lx-cos{grid-auto-columns:calc((100% - 70px)/6)}}
.lx-co{position:relative;display:block;aspect-ratio:4/3;border-radius:16px;overflow:hidden;text-decoration:none;color:#fff;background:#2A2520;isolation:isolate}
.lx-co img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s ease}
.lx-co::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(10,8,6,.82),rgba(10,8,6,.05) 62%)}
.lx-co:hover img{transform:scale(1.06)}
.lx-co-t{position:absolute;left:12px;right:12px;bottom:10px;display:flex;flex-direction:column;gap:1px}
.lx-co-t b{font-size:1.02rem;line-height:1.2}.lx-co-t small{font-size:.76rem;color:#E9E1D3}
.lx-co.on{outline:3px solid var(--gold);outline-offset:-3px}
.lx-co-all{background:linear-gradient(135deg,#1C1A16,#4B3A16)}
.lx-co-all::after{background:none}
.lx-co-all .lx-co-t{top:0;justify-content:center}
.lx-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;flex-wrap:nowrap}
.lx-chips::-webkit-scrollbar{display:none}
@media (min-width:900px){.lx-chips{flex-wrap:wrap}}
.lx-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line-2);background:#fff;border-radius:999px;padding:9px 15px;font-size:.9rem;text-decoration:none;color:var(--ink);min-height:44px}
.lx-chip small{color:var(--ink-3);font-size:.75rem}
.lx-chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}.lx-chip.on small{color:#D9D0C2}
.lx-filters{display:grid;gap:10px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;margin:0 0 20px}
.lx-search input{width:100%;border:1.5px solid var(--line-2);border-radius:12px;padding:12px 14px;font-size:1rem;background:var(--paper);min-height:46px}
.lx-frow{display:flex;align-items:center;gap:10px;min-width:0}
.lx-flab{flex:0 0 auto;width:150px;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:700}
.lx-pills{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;min-width:0;flex-wrap:nowrap}
.lx-pills::-webkit-scrollbar{display:none}
.lx-pills .pill{flex:0 0 auto;border-radius:999px;min-height:40px;white-space:nowrap}
@media (max-width:760px){.lx-frow{flex-direction:column;align-items:stretch;gap:6px}.lx-flab{width:auto}.lx-pills{margin-inline:-14px;padding-inline:14px}}
.lx-reset{justify-self:start;border:0;background:none;color:var(--gold-deep);font-weight:600;text-decoration:underline;cursor:pointer;padding:6px 0;font:inherit;font-size:.88rem}
.lx-count{font-size:.88rem;color:var(--ink-3);margin:0 0 14px}
.lx-rowsec{margin-top:30px}
.lx-rowh{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:0 0 12px}
.lx-more{font-size:.88rem;font-weight:600;color:var(--gold-deep);text-decoration:none;white-space:nowrap}
[dir="rtl"] .lx-more{direction:rtl}
.lx-morewrap{text-align:center;margin-top:28px}
.lx-homeco{padding-block:clamp(10px,3vw,30px) clamp(30px,5vw,56px)}

/* ---------- sticky book bar (phones) ---------- */
.lx-bar{display:none}
@media (max-width:1000px){
  .lx-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:80;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.97);border-top:1px solid var(--line);
    box-shadow:0 -10px 30px -18px rgba(60,45,20,.45);backdrop-filter:blur(10px);transition:transform .25s ease}
  .lx-bar.lx-hide{transform:translateY(110%)}
  .lx-bar .btn{min-height:50px;padding-inline:26px;font-size:1rem;flex:0 0 auto}
  .lx-bar-p{font-size:.8rem;color:var(--ink-3);line-height:1.2}.lx-bar-p b{font-size:1.35rem;color:var(--ink)}
  html.lx-hasbar body{padding-bottom:80px}
  html.lx-hasbar .mbar{display:none}
  html.lx-hasbar .toast{bottom:84px}
}
@media (prefers-reduced-motion:reduce){.lx-bar{transition:none}}

/* ---------- lightbox ---------- */
.lx-lb{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;background:rgba(8,7,6,.94);padding:56px 12px 24px}
.lx-lb.on{display:flex}
.lx-lb img{max-width:min(1200px,100%);max-height:84vh;object-fit:contain;border-radius:8px}
.lx-lb button{position:absolute;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.45);color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lx-lb-x{top:10px;inset-inline-end:10px}.lx-lb-p{left:8px;top:calc(50% - 23px)}.lx-lb-nx{right:8px;top:calc(50% - 23px)}

/* ---------- booking drawer: progress 1-2-3 ---------- */
.steps.lx-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 4px}
.steps.lx-steps i{height:auto;background:none;border-radius:0;display:flex;flex-direction:column;gap:6px;font-style:normal;position:relative;padding-top:8px;border-top:4px solid var(--line-2)}
.steps.lx-steps i.on{background:none;border-top-color:var(--gold)}
.steps.lx-steps b{display:none}
.steps.lx-steps span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--ink-3)}
.steps.lx-steps i.on span{color:var(--gold-deep)}
@media (max-width:760px){
  .drawer-foot .btn{min-height:52px;font-size:1rem}
  .drawer .field input,.drawer .field select,.drawer .field textarea{font-size:16px;min-height:48px}
  .drawer .pax button{min-width:48px;min-height:48px}
}

/* ---------- install sheet, footer entry, notices ---------- */
.lx-instfoot{display:inline-flex;align-items:center;gap:8px;margin-top:14px;border:1.5px solid var(--line-2);background:transparent;border-radius:999px;padding:9px 16px;font:inherit;font-size:.86rem;cursor:pointer;color:inherit}
.lx-instfoot[hidden],.lx-instnav[hidden]{display:none}
.lx-instnav{border:1.5px solid var(--gold);background:transparent;color:var(--gold-deep);border-radius:999px;padding:10px 16px;font:inherit;font-weight:600;cursor:pointer;margin:12px 0 0}
.lx-instnav{display:none}
@media (max-width:1024px){.lx-instnav:not([hidden]){display:block}}
.lx-a2hs{position:fixed;left:0;right:0;bottom:0;z-index:120;transform:translateY(110%);transition:transform .3s ease;padding:0 10px calc(10px + env(safe-area-inset-bottom,0px))}
.lx-a2hs.on{transform:none}
.lx-a2hs-in{max-width:560px;margin:0 auto;display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 20px 60px -20px rgba(30,20,5,.5)}
.lx-a2hs-in img{border-radius:14px;flex:0 0 auto}
.lx-a2hs-in b{font-family:var(--f-display);font-size:1.15rem}
.lx-a2hs-in p{margin:6px 0 0;font-size:.88rem;color:var(--ink-2);line-height:1.45}
.lx-ios{display:flex;gap:8px;align-items:flex-start;background:var(--paper-2);border-radius:10px;padding:8px 10px}
.lx-ios svg{flex:0 0 auto;margin-top:1px;color:#1F6FD0}
.lx-a2hs-b{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.lx-a2hs-b .btn{min-height:44px}
.lx-notice{position:fixed;top:calc(84px + env(safe-area-inset-top,0px));left:50%;z-index:130;transform:translate(-50%,-160%);transition:transform .3s ease;
  width:min(560px,calc(100% - 24px));display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-inline-start:5px solid var(--gold);border-radius:14px;padding:14px 14px 14px 16px;box-shadow:0 20px 50px -20px rgba(30,20,5,.45)}
.lx-notice.on{transform:translate(-50%,0)}
.lx-notice.lx-ok{border-inline-start-color:#2E7D4F}.lx-notice.lx-test{border-inline-start-color:#B5482F}
.lx-notice p{margin:0;flex:1;font-weight:600;line-height:1.4}.lx-notice small{display:block;font-weight:400;color:var(--ink-3);margin-top:3px}
.lx-notice button{border:0;background:none;font-size:1.3rem;line-height:1;cursor:pointer;padding:2px 4px;color:var(--ink-3)}
@media (prefers-reduced-motion:reduce){.lx-a2hs,.lx-notice{transition:none}}
@media (display-mode:standalone){.lx-instfoot,.lx-instnav{display:none!important}}

/* ---------- hero without an own photo: the route itself is the picture ---------- */
.lx-hero-map{background:#1B1713}
.lx-hero-map .mt-hmedia svg{position:absolute;inset:0;width:100%;height:100%;opacity:.9}
.lx-hero-map .mt-hveil{background:linear-gradient(to top,rgba(12,10,8,.92) 0%,rgba(12,10,8,.5) 45%,rgba(12,10,8,.1) 80%)}
.mt-dn{text-transform:capitalize}

/* home stats: long words (de) must not push past the screen edge */
.stats>.stat{min-width:0}.stats>.stat span{overflow-wrap:anywhere;hyphens:auto}

/* deep links: the home view is not painted before the router has shown the requested page (class set in <head>, removed by lux.js) */
html.lx-deep #v-home{display:none}
html.lx-deep #main{min-height:150vh}

/* ---------- web fonts: metric-matched fallbacks, so text does not jump when Bodoni Moda / Archivo arrive (CLS) ---------- */
/* Latin only: other scripts keep their system fonts exactly as before */
@font-face{font-family:"Bodoni Fallback";src:local("Times New Roman"),local("Times"),local("Liberation Serif");size-adjust:100%;ascent-override:112.5%;descent-override:40%;line-gap-override:0%;unicode-range:U+0000-00FF,U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+1E00-1EFF,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bodoni Fallback";font-style:italic;src:local("Times New Roman Italic"),local("TimesNewRomanPS-ItalicMT"),local("Times Italic"),local("Liberation Serif Italic");size-adjust:100%;ascent-override:112.5%;descent-override:40%;line-gap-override:0%;unicode-range:U+0000-00FF,U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+1E00-1EFF,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo Fallback";src:local("Arial"),local("Helvetica"),local("Liberation Sans");size-adjust:96%;ascent-override:91.5%;descent-override:21.9%;line-gap-override:0%;unicode-range:U+0000-00FF,U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+1E00-1EFF,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
html:root{--f-display:"Bodoni Moda","Bodoni Fallback","Didot","Times New Roman",serif;--f-body:"Archivo","Archivo Fallback","Helvetica Neue",Arial,sans-serif;--f-ui:"Archivo","Archivo Fallback","Helvetica Neue",Arial,sans-serif}

/* Azerbaijan Guide booking gift */
.azg-gift-section{padding:clamp(24px,4vw,54px) 0;background:linear-gradient(180deg,#f7f2e8 0%,#fff 100%)}
.azg-gift-card{position:relative;display:grid;grid-template-columns:minmax(250px,38%) 1fr;align-items:stretch;overflow:hidden;border:1px solid rgba(168,130,15,.28);border-radius:30px;background:#fff;box-shadow:0 28px 72px rgba(17,39,72,.16)}
.azg-gift-mark{display:grid;place-items:center;min-height:390px;padding:48px;background:radial-gradient(circle at 32% 28%,#214a7d 0,#17375f 36%,#10284a 100%);border-right:3px solid #c99a3d}.azg-gift-mark img{width:min(220px,85%);height:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.28))}
.azg-gift-copy{padding:clamp(34px,5vw,70px)}.azg-gift-copy .d{max-width:17ch;margin:.25rem 0 1rem;color:#122c50}.azg-gift-copy .lead{max-width:62ch;color:#4b463e}
.azg-gift-features{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.azg-gift-features span{padding:8px 12px;border:1px solid #ddd2bf;border-radius:999px;background:#fbf8f1;color:#594b35;font-size:.82rem;font-weight:700}
@media(max-width:760px){.azg-gift-card{grid-template-columns:1fr}.azg-gift-mark{min-height:230px;padding:30px;border-right:0;border-bottom:3px solid #c99a3d}.azg-gift-mark img{width:150px}.azg-gift-copy{padding:32px 24px 38px}}


/* RTL: keep contact numbers, addresses and date inputs readable. */
[dir="rtl"] a[href^="tel:"], [dir="rtl"] a[href^="mailto:"],
[dir="rtl"] input[type="tel"], [dir="rtl"] input[type="email"],
[dir="rtl"] input[type="date"] { direction:ltr; unicode-bidi:isolate; }

/* Explicit one-step return, above both the explorer and every tour hero. */
.gt-back{display:inline-flex;align-items:center;gap:.5em;min-height:44px;max-width:100%;margin:0 0 12px;padding:8px 14px;border:1px solid currentColor;border-radius:3px;color:inherit;font:500 .92rem/1.35 var(--f-ui);text-decoration:none;overflow-wrap:anywhere}
.gt-back:hover,.gt-back:focus-visible{background:rgba(170,140,75,.16);outline-offset:4px}
.mt-hin .gt-back{color:#fff;background:rgba(0,0,0,.28);border-color:rgba(255,255,255,.65)}
[dir="rtl"] .gt-back-arrow{transform:scaleX(-1)}

/* Unverified route photos are withheld; the tour remains readable and bookable. */
.lx-photo-pending{display:grid;place-items:center;min-height:100%;width:100%;height:100%;background:linear-gradient(135deg,#eee6d8,#d8c9ad);color:#756445;font-family:var(--f-display);font-size:1.8rem;letter-spacing:.08em}
.gt-photo-credits{margin:26px 0 16px;font-size:.8rem;color:#766f64}
.gt-photo-credits summary{cursor:pointer;min-height:44px;padding:10px 0}
.gt-photo-credits ul{list-style:none;padding:0;columns:2;column-gap:30px}
.gt-photo-credits li{break-inside:avoid;margin:0 0 10px;overflow-wrap:anywhere}
.gt-photo-credits a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.gt-photo-credits ul{columns:1}}
