/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggqxSuXd.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggOxSuXd.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggSxSuXd.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggixSuXd.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggmxSuXd.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggexSg.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggqxSuXd.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggOxSuXd.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggSxSuXd.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggixSuXd.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggmxSuXd.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggexSg.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggqxSuXd.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggOxSuXd.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggSxSuXd.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggixSuXd.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggmxSuXd.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggexSg.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggqxSuXd.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggOxSuXd.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggSxSuXd.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggixSuXd.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggmxSuXd.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggexSg.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggqxSuXd.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggOxSuXd.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggSxSuXd.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggixSuXd.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggmxSuXd.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/manrope/v23/xn7gYHE41ni1AdIRggexSg.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;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --navy:  #3C1053; --primary: #5312B8; --primary-dark: #380C7D; --blue: #7B3FAB; --lblue: #F0E8FA;
  --accent:#f59e0b; --bg: #ffffff; --white: #ffffff;
  --g100: #F5F5F5; --g200: #E0E0E0; --g400: #A0A0A0;
  --g600: #505050; --g800: #222222;
  --sh: 0 2px 14px rgba(0,0,0,.07);
  --sh2: 0 10px 36px rgba(0,0,0,.12);
  --r: 13px; --rs: 8px;
}
body { font-family: 'Manrope', system-ui, sans-serif; background: var(--bg); color: var(--g800); min-height: 100vh; }

/* ── NAVBAR ── */
nav {
  background: rgba(255,255,255,.65); 
  backdrop-filter: blur(18px) saturate(180%);
  -webkit-backdrop-filter: blur(18px) saturate(180%);
  border-bottom: 1px solid rgba(255,255,255,.5);
  box-shadow: 0 2px 16px rgba(60,16,83,.08);
  position: sticky; top: 0; z-index: 200;
}
/* Bootstrap's .navbar class sets position:relative, which (being a class
   selector) beats the plain-element "nav" rule above regardless of source
   order — this restores the sticky-on-scroll behavior. */
#main-nav.navbar { position: sticky; top: 0; z-index: 200; }
.nav-inner {
  max-width: 1440px; margin: 0 auto; padding: 0 28px; height: 64px;
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px;
}

#main-nav .nav-inner {display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 16px; }
#main-nav .lang-wrap {grid-column: 3; }
#main-nav .open-search {grid-column: 4; }

.logos { display: flex; align-items: center; gap: 16px; justify-self: center; }
.logo-atb { display: flex; align-items: center; text-decoration: none; }
.logo-atb img { height: 30px; width: auto; display: block; }
.vsep { width: 1px; height: 28px; background: var(--g200); flex-shrink: 0; }
.logo-p2 { display: flex; align-items: center; gap: 10px; }
.logo-p2 .mark {
  width: 36px; height: 36px; background: var(--lblue); border-radius: 9px;
  display: flex; align-items: center; justify-content: center;
  color: var(--blue); font-weight: 800; font-size: 12px; flex-shrink: 0;
}
.logo-p2 .wm { font-size: 15px; font-weight: 600; color: var(--g600); }
.lang-wrap { justify-self: end; position: relative; }
.lang-btn {
  display: flex; align-items: center; gap: 6px;
  background: rgba(255,255,255,.6); border: 1px solid var(--g200);
  border-radius: 10px; padding: 7px 13px;
  font-size: 13px; font-weight: 600; color: #3C1053;
  cursor: pointer; transition: all .2s; white-space: nowrap;
}
.lang-btn:hover { border-color: var(--navy); background: var(--white); }
.lang-btn svg { width: 15px; height: 15px; color: var(--navy); flex-shrink: 0; }
.lang-chevron { width: 10px; height: 10px; color: var(--navy); transition: transform .2s; flex-shrink: 0; }
.lang-btn.dropdown-toggle::after { display: none; }
.lang-wrap.open .lang-chevron { transform: rotate(180deg); }
.lang-wrap.show .lang-chevron { transform: rotate(180deg); }
.lang-dropdown.dropdown-menu {
  display: none; position: absolute; top: calc(100% + 8px); right: 0; left: auto;
  background: var(--white); border: 1px solid var(--g200);
  border-radius: var(--r); box-shadow: var(--sh2); overflow: hidden; min-width: 170px; z-index: 400;
  padding: 0; margin: 0;
}
.lang-dropdown.dropdown-menu.show { display: block; }
.lang-opt {
  text-decoration: none; display: flex; align-items: center; gap: 10px; width: 100%; padding: 11px 16px;
  background: none; border: none; font-size: 13px; cursor: pointer;
  transition: background .15s; text-align: left; color: var(--g800);
}
.lang-opt:hover { background: var(--g100); }
.lang-opt.active { color: var(--navy); font-weight: 700; }
.lang-opt .flag { font-size: 16px; }
.lang-opt .check { margin-left: auto; color: var(--blue); display: none; }
.lang-opt.active .check { display: inline; }


.tab-bar {
  display: flex; gap: 4px; padding: 4px;
  background: var(--g100); border-radius: 999px;
}
.tab-item {
  display: flex; align-items: center; gap: 8px;
  padding: 9px 20px; border: none; border-radius: 999px;
  font-size: 14px; font-weight: 600; color: var(--g600);
  background: transparent; cursor: pointer; white-space: nowrap;
  transition: background .18s, color .18s;
}
.tab-item:hover:not(.active) { color: var(--g800); background: rgba(255,255,255,.7); }
.tab-item.active { background: var(--primary); color: #fff; }
.tab-item svg { width: 16px; height: 16px; flex-shrink: 0; stroke-width: 1.9; }

/* ── PAGE HEADER ── */
.page-header { background: linear-gradient(160deg, #EDE8F5 0%, var(--bg) 70%); padding: 60px 28px 64px; }
.page-header-inner { max-width: 1440px; margin: 0 auto; text-align: center; }
.page-header h1 {
  font-size: clamp(24px, 3vw, 34px); font-weight: 800;
  color: #3C1053; letter-spacing: -.5px; margin-bottom: 8px;
}
.page-header h1 em { font-style: normal; }
.page-header p { font-size: 14.5px; color: var(--g600); line-height: 1.7; max-width: 680px; margin: 10px auto 0; }

/* ── MAIN LAYOUT ──
   Column layout now comes from Bootstrap's row/col-lg-3/col-lg-9 classes
   on the markup (see below) instead of a custom CSS grid — this rule only
   keeps the outer width/padding, sizing the Bootstrap row inside it. */
.main-layout {
  max-width: 1440px; margin: 0 auto; padding: 0 28px 72px;
}
.sidebar { position: sticky; top: calc(64px + 16px); }
.filter-panel {
  background: var(--white); border: 1px solid var(--g200);
  border-radius: var(--r); box-shadow: var(--sh);
  display: flex; flex-direction: column; gap: 16px;
}
.filter-panel .card-body { padding: 20px; display: flex; flex-direction: column; gap: 16px; }
.filter-panel-title {
  font-size: 11px; font-weight: 800; letter-spacing: .8px;
  text-transform: uppercase; color: var(--g400);
  padding-bottom: 12px; border-bottom: 1px solid var(--g100);
}
.filter-group { display: none; flex-direction: column; gap: 16px; }
.filter-group.visible { display: flex; }

.fg { display: flex; flex-direction: column; gap: 6px; }
.fg label {
  display: flex; align-items: center; gap: 6px;
  font-size: 11px; font-weight: 700; letter-spacing: .6px;
  text-transform: uppercase; color: var(--g600);
}
.fg-icon { width: 12px; height: 12px; flex-shrink: 0; color: var(--g600); }
.fg select {
  appearance: none; -webkit-appearance: none;
  border: 1.5px solid var(--g200); border-radius: var(--rs);
  padding: 10px 36px 10px 14px; font-size: 13.5px; color: var(--g800); font-weight: 500;
  background: var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239aa3b8' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center;
  box-shadow: 0 1px 3px rgba(60,16,83,.05);
  outline: none; cursor: pointer; transition: border-color .18s, box-shadow .18s; width: 100%;
}
.fg select:hover { border-color: var(--g400); }
.fg select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(123,63,171,.1); }

.date-btn {
  display: flex; align-items: center; gap: 8px;
  border: 1.5px solid var(--g200); border-radius: var(--rs);
  padding: 10px 14px; font-size: 13.5px; color: var(--g400);
  background: var(--white); cursor: pointer;
  transition: border-color .18s, box-shadow .18s;
  width: 100%; text-align: left; font-weight: 500; line-height: normal;
  box-shadow: 0 1px 3px rgba(60,16,83,.05);
}
.date-btn:hover { border-color: var(--g400); color: var(--g800); }
.date-btn.has-date { border-color: var(--blue); color: var(--navy); font-weight: 600; box-shadow: 0 0 0 3px rgba(123,63,171,.1); }
.date-btn svg.cal-icon { width: 14px; height: 14px; flex-shrink: 0; color: var(--g400); }
.date-btn.has-date svg.cal-icon { color: var(--blue); }
.date-btn .btn-lbl { flex: 1; }

.btn-main {
  border: 1.5px solid var(--primary); background: var(--primary);
  color: #fff; border-radius: var(--rs);
  padding: 10px 16px; font-size: 13px; font-weight: 600; line-height: normal;
  cursor: pointer; transition: all .18s; width: 100%;
}
.btn-main:hover { opacity: .85; background: var(--primary); color: #fff; }

/* ── CALENDAR ── */
.cal-wrap { position: relative; width: 100%; }
.cal-popup {
  display: none; position: absolute; top: calc(100% + 6px); left: 0;
  z-index: 300; background: var(--white); border: 1px solid var(--g200);
  border-radius: var(--r); box-shadow: 0 8px 32px rgba(60,16,83,.14);
  padding: 16px; width: 280px; user-select: none;
}
.cal-popup.open { display: block; }
.cal-step-hint {
  font-size: 11px; font-weight: 600; padding: 5px 10px;
  border-radius: 6px; margin-bottom: 12px; text-align: center;
}
.cal-step-hint.picking-start { background: #F5F5F5; color: #5C1F7A; }
.cal-step-hint.picking-end   { background: #E0E0E0; color: #3C1053; }
.cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.cal-head span { font-size: 14px; font-weight: 700; color: var(--g800); }
.cal-nav {
  background: none; border: none; width: 28px; height: 28px; border-radius: 50%;
  padding: 0; font-size: 17px; line-height: normal; color: var(--g600);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center; transition: background .15s;
}
.cal-nav:hover { background: var(--g100); color: var(--navy); }
.cal-wdays { display: grid; grid-template-columns: repeat(7,1fr); margin-bottom: 4px; }
.cal-wdays span { text-align: center; font-size: 10px; font-weight: 700; color: var(--g400); padding: 3px 0; }
.cal-days { display: grid; grid-template-columns: repeat(7,1fr); gap: 2px; }
.cal-day {
  background: none; border: none; aspect-ratio: 1; border-radius: 50%;
  font-size: 12.5px; font-weight: 500; color: var(--g800);
  cursor: pointer; transition: background .15s;
  display: flex; align-items: center; justify-content: center;
}
.cal-day:hover:not(.empty) { background: var(--g100); }
.cal-day.today { color: var(--blue); font-weight: 700; }
.cal-day.range-start { background: var(--navy) !important; color: #fff !important; font-weight: 700; }
.cal-day.range-end   { background: var(--navy) !important; color: #fff !important; font-weight: 700; }
.cal-day.in-range    { background: #EDE8F5; color: var(--navy); border-radius: 0; }
.cal-day.empty { pointer-events: none; }
.cal-foot {
  margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--g100);
  display: flex; justify-content: space-between; align-items: center;
}
.cal-foot .sel-lbl { font-size: 12px; color: var(--g600); }
.cal-foot .sel-lbl strong { color: var(--navy); }
.cal-foot .clr-btn { background: none; border: none; padding: 0; font-size: 12px; line-height: normal; color: var(--g400); cursor: pointer; }
.cal-foot .clr-btn:hover { color: var(--g800); }

/* ── TOOLBAR ── */
.main-content { min-width: 0; }
.toolbar {
  display: flex; align-items: flex-end; justify-content: space-between;
  border-bottom: 1px solid var(--g200);
  margin-bottom: 24px; gap: 12px;
}
.view-toggle {
  display: flex; gap: 3px; background: var(--g100);
  padding: 4px; border-radius: var(--rs);
}

.view-toggle.btn-group > .vbtn { margin-left: 0 !important; border-radius: 6px !important; }
.vbtn {
  border: none; background: transparent; width: 34px; height: 30px; border-radius: 6px;
  padding: 0; font-size: inherit; line-height: normal;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  color: var(--g400); transition: all .18s;
}
.vbtn.active { background: var(--white); color: var(--navy); box-shadow: 0 1px 4px rgba(0,0,0,.1); }
.vbtn svg { width: 15px; height: 15px; }


.main-grid.list-view .col { flex: 0 0 100%; max-width: 100%; }
.main-grid .col a{text-decoration: none !important; color: transparent !important;}

/* ── TOUR CARD ── */
.tour-card {
  background: var(--white); border: none; border-radius: var(--r); box-shadow: var(--sh);
  overflow: hidden; transition: transform .22s, box-shadow .22s;
  display: flex; flex-direction: column; cursor: pointer;
}
.tour-card:hover { transform: translateY(-4px); box-shadow: var(--sh2); }
.list-view .tour-card { flex-direction: row; }
.list-view .tour-card .card-img { width: 220px; min-width: 220px; height: auto; }
.list-view .tour-card .card-body { padding: 18px 22px; }

.card-img { height: 188px; position: relative; overflow: hidden; flex-shrink: 0; border-radius: 0; }
.card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.tour-card:hover .card-img img { transform: scale(1.04); }
.card-img-ov {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,.04) 0%, rgba(0,0,0,.26) 100%);
  pointer-events: none;
}
.card-img.cat-nature     { background: #d1fae5; }
.card-img.cat-city       { background: #e0e7ff; }
.card-img.cat-historical { background: #EDE0F5; }
.card-img.cat-cultural   { background: #fce7f3; }
.card-img.cat-adventure  { background: #ffedd5; }
.card-img.cat-coastal    { background: #cffafe; }
.card-img.type-hotel     { background: #e0e7ff; }
.card-img.type-hostel    { background: #d1fae5; }
.card-img.type-villa     { background: #fce7f3; }
.card-img.type-guesthouse{ background: #EDE0F5; }
.card-img.type-resort    { background: #cffafe; }
.card-img.type-lodge     { background: #dcfce7; }
.card-img.type-camp      { background: #ffedd5; }

/* Category badge — şəkil üzərində glass */
.badge-cat {
  position: absolute; top: 12px; left: 12px;
  font-size: 10px; font-weight: 700; letter-spacing: .6px;
  text-transform: uppercase; padding: 5px 13px; border-radius: 20px;
  background: rgba(255,255,255,.18);
  backdrop-filter: blur(20px) saturate(220%);
  -webkit-backdrop-filter: blur(20px) saturate(220%);
  border: 1px solid rgba(255,255,255,.55);
  box-shadow: 0 2px 10px rgba(0,0,0,.2),
              inset 0 1px 0 rgba(255,255,255,.65);
  color: #fff;
  text-shadow: 0 1px 5px rgba(0,0,0,.6);
}

/* Price badge — solid, yüksək kontrast, diqqəti çəkir */
.badge-price {
  position: absolute; top: 12px; right: 12px;
  font-size: 11px; font-weight: 700; padding: 5px 13px; border-radius: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,.22);
}
.price-free { background: #FF595A; color: #fff; }
.price-paid { background: #FF595A; color: #fff; }

/* Days badge — dark glass, ikincil məlumat */
.badge-days {
  position: absolute; bottom: 12px; right: 12px;
  background: rgba(10,12,30,.48);
  backdrop-filter: blur(12px) saturate(160%);
  -webkit-backdrop-filter: blur(12px) saturate(160%);
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.92); font-size: 11px; font-weight: 700;
  padding: 5px 11px; border-radius: 20px;
  display: flex; align-items: center; gap: 5px;
}
.badge-days svg { width: 12px; height: 12px; opacity: .8; }

/* Stars badge — dark glass, sarı ulduz rəngi */
.badge-stars {
  position: absolute; bottom: 12px; right: 12px;
  background: rgba(10,12,30,.48);
  backdrop-filter: blur(12px) saturate(160%);
  -webkit-backdrop-filter: blur(12px) saturate(160%);
  border: 1px solid rgba(255,255,255,.18);
  color: #fbbf24; font-size: 12px; font-weight: 700;
  padding: 5px 11px; border-radius: 20px; letter-spacing: 1px;
}

.card-body { padding: 18px 20px 20px; flex: 1; display: flex; flex-direction: column; }
.card-title {
  font-size: 15px; font-weight: 700; color: var(--primary);
  margin-bottom: 12px; line-height: 1.42;
  display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; 
  -webkit-box-orient: vertical; overflow: hidden;
}
.card-meta { display: flex; flex-direction: column; gap: 7px; margin-top: auto; }
.meta-row { display: flex; align-items: center; gap: 7px; font-size: 13px; color: var(--g600); }
.meta-row svg { width: 14px; height: 14px; flex-shrink: 0; color: var(--g600); }

/* ── GUIDE CARD specifics ── */
.guide-rating { display: flex; align-items: center; gap: 5px; margin-bottom: 10px; }
.stars-txt { color: #f59e0b; font-size: 13px; letter-spacing: 1px; }
.rating-num { font-size: 14px; font-weight: 700; color: var(--g800); }
.review-cnt { font-size: 12px; color: var(--g400); }
.guide-langs { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; }
.lang-tag {
  font-size: 10px; font-weight: 700; letter-spacing: .4px;
  padding: 3px 8px; border-radius: 6px;
  background: var(--lblue); color: var(--blue);
  border: 1px solid rgba(123,63,171,.25);
}

/* Certified badge */
.badge-cert {
  position: absolute; bottom: 12px; left: 12px;
  background: rgba(5,150,105,.85);
  backdrop-filter: blur(12px) saturate(160%);
  -webkit-backdrop-filter: blur(12px) saturate(160%);
  border: 1px solid rgba(255,255,255,.35);
  color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .5px;
  padding: 4px 10px 4px 7px; border-radius: 20px;
  display: flex; align-items: center; gap: 5px;
  text-shadow: 0 1px 4px rgba(0,0,0,.3);
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
}
.badge-cert svg { width: 11px; height: 11px; flex-shrink: 0; }

/* Amenity tags */
.amenity-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; }
.amenity-tag {
  font-size: 11px; font-weight: 500;
  padding: 3px 9px; border-radius: 6px;
  background: var(--g100); color: var(--g600);
  border: 1px solid var(--g200);
}

/* List view — boşluq düzəlişi */
.list-view .tour-card .card-body { justify-content: center; gap: 8px; }
.list-view .card-title { -webkit-line-clamp: 1; line-clamp: 1; margin-bottom: 0; }
.list-view .card-meta { margin-top: 0; }
.list-view .guide-rating { margin-bottom: 0; }
.list-view .guide-langs { margin-top: 0; }
.list-view .amenity-tags { margin-top: 0; }

/* ── PAGINATION ── */
.pagination {
  display: flex; align-items: center; justify-content: center;
  gap: 6px; margin-top: 32px; flex-wrap: wrap;
}
.pg-btn {
  border: 1.5px solid var(--g200); background: var(--white);
  color: var(--g600); border-radius: var(--rs); width: 38px; height: 38px;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 500; cursor: pointer; transition: all .18s;
}
.pg-btn:hover:not(:disabled):not(.active) { border-color: var(--navy); color: var(--navy); }
.pg-btn.active { background: var(--navy); border-color: var(--navy); color: #fff; font-weight: 700; }
.pg-btn:disabled { opacity: .35; cursor: default; }
.pg-btn.arrow { font-size: 18px; }
.pg-dots { color: var(--g400); font-size: 14px; display: flex; align-items: flex-end; padding-bottom: 4px; }

/* ── EMPTY ── */
.empty { grid-column: 1/-1; text-align: center; padding: 72px 24px; }
.empty .ico { font-size: 52px; margin-bottom: 18px; }
.empty h3 { font-size: 18px; color: var(--g800); margin-bottom: 8px; }
.empty p  { font-size: 14px; color: var(--g400); }

/* ── FOOTER ── */
footer {
  background: var(--white); border-top: 1px solid var(--g200);
  padding: 24px; text-align: center; font-size: 13px; color: var(--g400);
}
footer strong { color: var(--primary); }

/* ── YOUR LOGO ── */
.logo-yours { display: flex; align-items: center; gap: 9px; text-decoration: none; }
.yl-icon { width: 34px; height: 34px; flex-shrink: 0; border-radius: 9px; overflow: hidden; }
.yl-text { font-size: 11.5px; font-weight: 700; color: var(--g600); letter-spacing: .5px; }

/* ── NAV LINKS ── */
.nav-links { display: flex; align-items: center; gap: 2px; justify-content: center; }
.nav-link {
  font-size: 13.5px; font-weight: 500; color: var(--g600);
  padding: 8px 14px; border-radius: 8px;
  text-decoration: none; transition: color .18s, background .18s; white-space: nowrap;
}
.nav-link:hover { color: var(--navy); background: var(--g100); }
.nav-link.active { color: var(--navy); font-weight: 600; }

/* ── HERO LOGOS ── */
.hero-logos { display: flex; align-items: center; justify-content: center; gap: 28px; margin: 36px auto 0; }
.hero-logos .logo-atb img { height: 35px; }
.hero-logos .logo-p2 img {     height: 35px; width: auto; }
.hero-logos .vsep { width: 1px; height: 42px; background: var(--g200); }
.hero-logos .logo-p2 { display: flex; align-items: center; gap: 12px; }
.hero-logos .logo-p2 .mark {
  width: 46px; height: 46px; background: var(--lblue); border-radius: 11px;
  display: flex; align-items: center; justify-content: center;
  color: var(--blue); font-weight: 800; font-size: 13px; flex-shrink: 0;
}
.hero-logos .logo-p2 .wm { font-size: 17px; font-weight: 600; color: var(--g600); }
.hero-more-btn {
  display: inline-flex; align-items: center; gap: 7px;
  margin-top: 28px;
  background: var(--primary); color: #fff;
  border: none; border-radius: 10px;
  padding: 11px 24px; font-size: 14px; font-weight: 600;
  cursor: pointer; text-decoration: none;
  transition: opacity .18s;
}
.hero-more-btn:hover { opacity: .82; }
.hero-more-btn svg { width: 14px; height: 14px; flex-shrink: 0; }

/* ── HERO FEATURES ── */
.hero-features { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; max-width: 860px; margin: 0 auto; }
.hf-card {
  background: var(--white); border: 1px solid var(--g200);
  border-radius: 14px; padding: 24px 22px 22px;
  cursor: pointer; transition: transform .22s, box-shadow .22s;
  box-shadow: 0 1px 8px rgba(60,16,83,.07);
}
.hf-card:hover { transform: translateY(-3px); box-shadow: var(--sh2); }
.hf-icon-wrap {
  width: 44px; height: 44px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center; margin-bottom: 12px;
}
.hf-icon-wrap.c-blue   { background: #EDE0F5; color: #7B3FAB; }
.hf-icon-wrap.c-green  { background: #d1fae5; color: #059669; }
.hf-icon-wrap.c-purple { background: #ede9fe; color: #7c3aed; }
.hf-icon-wrap svg { width: 22px; height: 22px; }
.hf-num { font-size: 26px; font-weight: 800; color: var(--navy); line-height: 1; margin-bottom: 4px; }
.hf-title { font-size: 14px; font-weight: 700; color: var(--g800); margin-bottom: 7px; }
.hf-desc { font-size: 12.5px; color: var(--g600); line-height: 1.55; }

/* ── RESPONSIVE ── */
@media (max-width: 960px) {
  .sidebar { position: static; }
  .filter-panel .card-body { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 14px; padding: 20px; }
  .filter-panel-title { grid-column: 1/-1; }
  .filter-group { display: none; }
  .filter-group.visible { display: contents; }
  .btn-reset-wrap { grid-column: 1/-1; }
}
@media (max-width: 768px) {
  .nav-links { display: none; }
}
@media (max-width: 600px) {
  .nav-inner { gap: 8px; }
  .yl-text { display: none; }
  .tab-bar { width: 100%; }
  .tab-bar .tab-item { padding: 12px 14px; font-size: 13px; }
  .main-layout { padding: 0 16px 48px; }
  .page-header { padding: 40px 16px 44px; }
  .list-view .tour-card { flex-direction: column; }
  .list-view .tour-card .card-img { width: 100%; height: 190px; }
  .cal-popup { left: auto; right: 0; width: 260px; }
}

.load-more-wrap {
  display: flex; justify-content: center; margin-top: 32px; width: 100%;
}
.btn-load-more {
  display: flex; align-items: center; gap: 8px;
  padding: 12px 28px; font-size: 13.5px; font-weight: 600;
  color: var(--primary); background: var(--white);
  border: 1.5px solid var(--g200); border-radius: 999px;
  box-shadow: var(--sh); cursor: pointer;
  transition: all .18s;
}
.btn-load-more:hover {
  border-color: var(--blue); color: var(--blue);
  box-shadow: var(--sh2); transform: translateY(-1px);
}
.btn-load-more svg { width: 14px; height: 14px; }
.btn-load-more.loading svg { animation: spin .7s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }


.ajaxLoaderSpin {border-radius: 0; width: 400px; text-align: center; background: #3c1053; position: fixed; top: 40%; left: 35%; z-index: 9999; font-weight: 700; border: 2px solid #fff; padding: 20px; box-shadow: 0 5px 15px rgb(0 0 0 / 80%); -webkit-box-shadow: 0 5px 15px rgb(0 0 0 / 80%); } 

@media (max-width: 767px) 
{
  .ajaxLoaderSpin {border-radius: 0; width: 250px; text-align: center; background: #3c1053; position: fixed; top: 20%; left: 15%; z-index: 9999; font-weight: 700; border: 2px solid #fff; padding: 20px; box-shadow: 0 5px 15px rgb(0 0 0 / 80%); -webkit-box-shadow: 0 5px 15px rgb(0 0 0 / 80%); } 
}

.ajaxLoaderSpin p {
    color: #fff !important;
    margin-bottom: 0 !important;
}

.ajaxLoaderSpin i {
    color: #fff !important;
}


.search-btn{background: transparent; color: var(--primary); border: transparent;}
.search-btn:hover{opacity: .82; background: transparent !important; color: var(--primary) !important;}

:root {
  --search-snippet-primary-color: #5312B8;
  --search-snippet-primary-hover: #400d8d;
  --search-snippet-focus-ring: #5312B8;
  --search-snippet-background: #1a1b1e;
  --search-snippet-surface: #22262a;
  --search-snippet-hover-background: #2c2e33;
  --search-snippet-border-color: #373a40;
  --search-snippet-text-color: #f1f1f1;
  --search-snippet-text-secondary: #909296;
  --search-snippet-text-description: #f1f1f1;
  color-scheme: dark;
}

chat-bubble-snippet[theme="dark"],
chat-bubble-snippet:not([theme]) {
  --search-snippet-primary-color: #5312B8;
  --search-snippet-primary-hover: #400d8d;
  --search-snippet-focus-ring: #400d8d;
  --search-snippet-background: #1a1b1e;
  --search-snippet-surface: #22262a;
  --search-snippet-hover-background: #2c2e33;
  --search-snippet-border-color: #373a40;
  --search-snippet-text-color: #f1f1f1;
  --search-snippet-text-secondary: #909296;
  --search-snippet-text-description: #adb5bd;
  --search-snippet-assistant-message-bg: #2c2e33;
  --search-snippet-assistant-message-text: #f1f1f1;
  --search-snippet-user-message-bg: #5312B8;
  --search-snippet-user-message-text: #0f1114;
  color-scheme: dark;
}

search-modal-snippet[theme="dark"],
search-modal-snippet:not([theme]) {
  --search-snippet-primary-color: #5312B8;
  --search-snippet-primary-hover: #400d8d;
  --search-snippet-focus-ring: #400d8d;
  --search-snippet-background: #1a1b1e;
  --search-snippet-surface: #22262a;
  --search-snippet-hover-background: #2c2e33;
   --search-snippet-hover-background: #2c2e33;
  --search-snippet-border-color: #373a40;
  --search-snippet-text-color: #f1f1f1;
  --search-snippet-text-secondary: #909296;
  --search-snippet-text-description: #f1f1f1;
  color-scheme: dark;
}

chat-bubble-snippet[theme="light"] {
  --search-snippet-primary-color: #5312B8;
  --search-snippet-primary-hover: #400d8d;
  --search-snippet-focus-ring: #5312B8;
  --search-snippet-background: #ffffff;
  --search-snippet-surface: #f8f9fa;
  --search-snippet-hover-background: #f1f3f5;
  --search-snippet-border-color: #dee2e6;
  --search-snippet-text-color: #212529;
  --search-snippet-text-secondary: #6c757d;
  --search-snippet-text-description: #495057;
  --search-snippet-assistant-message-bg: #f1f3f5;
  --search-snippet-assistant-message-text: #212529;
  --search-snippet-user-message-bg: #5312B8;
  --search-snippet-user-message-text: #ffffff;
  color-scheme: light;
}

search-modal-snippet[theme="light"] {
  --search-snippet-primary-color: #5312B8;
  --search-snippet-primary-hover: #400d8d;
  --search-snippet-focus-ring: #f1f3f5;
  --search-snippet-background: #ffffff;
  --search-snippet-surface: #f8f9fa;
  --search-snippet-hover-background: #f1f3f5;
  --search-snippet-border-color: #dee2e6;
  --search-snippet-text-color: #212529;
  --search-snippet-text-secondary: #6c757d;
  --search-snippet-text-description: #272727;
  color-scheme: light;
}

.lang-switch {
  justify-self: end; display: flex; gap: 2px;
  background: var(--g100); padding: 3px; border-radius: 999px;
}

.lang-opt {
  border: none; background: transparent; cursor: pointer;
  padding: 6px 14px; border-radius: 999px;
  font-size: 12.5px; font-weight: 700; letter-spacing: .4px; color: var(--g600);
  transition: background .18s, color .18s;
}
.lang-opt:hover:not(.active) { color: var(--g800); }
.lang-opt.active { background: var(--primary); color: #fff; }