/* =========================================================
   /vybor-dat/style.css — ВАРИАНТ A “Чистая бумага”
   Mobile (<992): 1 колонка (один день на строку) + скрываем Пн–Вс
   Desktop (>=992): 7 колонок (полный календарь)
   ========================================================= */

:root{
	--bd:#e5e7eb;
	--muted:#6b7280;
	--bg:#ffffff;
	--bg2:#f9fafb;
}

body{
	margin:0;
	font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;
	background:#eef2f7;
	color:#111827;
}

.wrap{
	max-width:1100px;
	margin:0 auto;
	padding:12px;
}

.topbar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	margin-bottom:10px;
}

.title{
	font-weight:900;
	font-size:16px;
	line-height:1.2;
}

.sub{
	color:var(--muted);
	font-size:9px;
}

.lunarline--tight{
	margin:0;
}

.navbtns{
	display:flex;
	gap:8px;
	flex-wrap:wrap;
	justify-content:flex-end;
}
.navbtns .btnx{white-space:nowrap;}

@media (min-width: 992px){
	.navbtns{flex-wrap:nowrap;}
}

@media (max-width: 991.98px){
	.topbar{
		flex-direction:column;
		align-items:flex-start;
	}
	.navbtns{
		width:100%;
		justify-content:flex-start;
	}
	.gz-pillars--hour{
		justify-content:center;
	}
}

.btnx{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:8px 10px;
	border-radius:10px;
	border:1px solid var(--bd);
	background:var(--bg);
	color:#111827;
	text-decoration:none;
	font-weight:800;
	font-size:13px;
}

.btnx:hover{ background:#f8fafc; }

.btnx--today{ display:none; }
@media (max-width: 991.98px){
	.btnx--today{ display:inline-flex; }
}

.btnx.disabled{
	opacity:.45;
	pointer-events:none;
}

/* ===== calendar shell ===== */
.calendar{
	background:var(--bg);
	border:1px solid #dbe3ee;
	border-radius:14px;
	overflow:hidden;
	box-shadow:0 10px 30px rgba(15,23,42,.06);
}

.filterbar{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	align-items:center;
	margin:10px 0 6px;
}
.filterbar__row{
	display:flex;
	align-items:center;
	gap:8px;
	width:100%;
}
.filterbar__row--filters{
	flex-wrap:wrap;
}
.filterbar__mode{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:4px 6px;
	border:1px solid #e5e7eb;
	border-radius:10px;
	background:#fff;
	box-shadow:0 1px 0 rgba(0,0,0,.03);
}
.filterbar__mode-item{
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-weight:800;
	font-size:14px;
	color:#111827;
	padding:2px 6px;
	border-radius:8px;
	cursor:pointer;
	user-select:none;
}
.filterbar__mode-item:hover{
	background:#f3f4f6;
}
.filterbar__mode-item:active{
	transform:translateY(1px);
}
.filterbar__title{
	font-weight:900;
	font-size:12px;
	color:#111827;
	margin-right:4px;
}
.filterbar__search{
	min-width:220px;
	flex:1 1 auto;
	padding:6px 10px;
	border-radius:10px;
	border:1px solid #e5e7eb;
	font-size:14px;
	font-weight:700;
	color:#111827;
}
.filterbar__group{
	display:block;
	border:1px solid #e5e7eb;
	border-radius:10px;
	padding:0;
	background:#fff;
	box-shadow:0 1px 0 rgba(0,0,0,.03);
	overflow:hidden;
}
.filterbar__group-title{
	font-weight:900;
	font-size:14px;
	color:#374151;
	cursor:pointer;
	list-style:none;
	padding:6px 8px;
	border-radius:8px;
	display:flex;
	align-items:center;
	width:100%;
	box-sizing:border-box;
}
.filterbar__group-title:hover{
	background:#f3f4f6;
}
.filterbar__group-title:active{
	transform:translateY(1px);
}
.filterbar__group-title::-webkit-details-marker{display:none;}
.filterbar__items{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	margin-top:0;
	padding:6px 6px 6px;
}
.filterbar label{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:4px 8px;
	border-radius:10px;
	border:1px solid #e5e7eb;
	background:#fff;
	font-size:14px;
	font-weight:700;
	color:#374151;
	cursor:pointer;
	box-shadow:0 1px 0 rgba(0,0,0,.03);
}
.filterbar label:hover{
	background:#f9fafb;
}
.filterbar label:active{
	transform:translateY(1px);
}
.filterbar label mark{
	background:#fde68a;
	padding:0 2px;
	border-radius:4px;
}
.popover-body mark{
	background:#fde68a;
	padding:0 2px;
	border-radius:4px;
}
.search-hit{
	box-shadow:0 0 0 2px #fde68a inset;
	background:#fff7d6;
	border-color:#f59e0b !important;
}
.mark.search-hit{border:2px solid #ff9900 !important;}
.of-badge.search-hit{
	box-shadow:0 0 0 2px #f59e0b inset;
	border-color:#f59e0b !important;
	border-radius:6px;
	padding:4px;
}
/* Особое выделение: Благородный Небесного помилования */
.mark[data-tip="good_compassion"]{
	background:#ecfdf3;
	border-color:#16a34a;
	box-shadow:0 0 0 2px rgba(22,163,74,.15) inset;
}
.mark[data-tip="good_compassion"] i{
	color:#15803d;
}
.filterbar__clear{
	padding:4px 10px;
	border-radius:10px;
	border:1px solid #e5e7eb;
	background:#f9fafb;
	font-weight:900;
	font-size:14px;
	color:#374151;
	cursor:pointer;
	box-shadow:0 1px 0 rgba(0,0,0,.04);
}
.filterbar__clear:hover{
	background:#f3f4f6;
}
.filterbar__clear:active{
	transform:translateY(1px);
}
.filterbar__toggle{
	padding:4px 10px;
	border-radius:10px;
	border:1px solid #e5e7eb;
	background:#fff;
	font-weight:900;
	font-size:14px;
	color:#111827;
	cursor:pointer;
	box-shadow:0 1px 0 rgba(0,0,0,.04);
	display:inline-flex;
	align-items:center;
	justify-content:center;
}
.filterbar__toggle:hover{
	background:#f9fafb;
}
.filterbar__toggle:active{
	transform:translateY(1px);
}
.filterbar__toggle.is-on{
	background:#16a34a;
	border-color:#16a34a;
	color:#fff;
}
.filterbar__toggle.is-on:hover{
	background:#15803d;
	border-color:#15803d;
	color:#fff;
}
/* only-good-days фильтруется скриптом по списку меток */
.day.is-hidden{display:none;}

/* ===== DOW header ===== */
.dow{
	display:grid;
	grid-template-columns:repeat(7,1fr);
	background:#f3f6fb;
	border-bottom:1px solid #dbe3ee;
	border-left:1px solid #dbe3ee;
	border-top:1px solid #dbe3ee;
}

.dow div{
	padding:8px 6px;
	text-align:center;
	font-weight:900;
	font-size:12px;
	color:#111827;
	border-right:1px solid #dbe3ee;
}
.dow div:last-child{ border-right:none; }

/* ===== GRID (default: mobile = 1 column) ===== */
.grid{
	display:grid;
	grid-template-columns:1fr;      /* ✅ mobile: один день на строку */
	gap:0;
	align-items:stretch;
	border-left:1px solid #dbe3ee;
	border-top:1px solid #dbe3ee;
	border-right:1px solid #dbe3ee;
	border-bottom:1px solid #dbe3ee;
	background:#ffffff;
}

/* mobile: скрываем “Пн..Вс”, чтобы не путало */
@media (max-width: 991.98px){
	.dow{ display:none; }
	.grid{
		grid-template-columns:1fr;
		gap:8px;
		border:none;
		background:transparent;
	}
	.day{
		border:1px solid #e5e7eb;
		border-radius:14px;
		box-shadow:0 8px 20px rgba(15,23,42,.05);
	}
	
	.list .gz-pillars .gz-col{width:20%!important;}
}

/* desktop: 7 колонок */
@media (min-width: 992px){
	.grid{ grid-template-columns:repeat(7, 1fr); }
	.dow{ display:grid; }
}

/* ===== day cell ===== */
a.day{
	display:flex;              /* важно для равной высоты */
	height:100%;
	color:inherit;
	text-decoration:none;
}
a.day:visited{ color:inherit; }
a.day:active{ color:inherit; }

.day{
	min-height:86px;
	border-right:1px solid #dbe3ee;
	border-bottom:1px solid #dbe3ee;
	padding:6px;
	position:relative;
	background:#ffffff;
}

/* на мобиле 1 колонка — правую линию можно не дублировать */
@media (max-width: 991.98px){
	.day{ border-right:none; }
}

/* воскресенье: на десктопе правая линия есть */
@media (min-width: 992px){
	.day:nth-child(7n){
		border-right:1px solid #dbe3ee;
	}
}

.day.out{
	background:#f8fafc;
	color:#9ca3af!important;
}

.day.bad{ background:#ffffff; }

.day.bad .daybox{ opacity:.55; }

.daybox{
	position:relative;
	display:flex;
	flex-direction:column;
	height:100%;
}

/* Заголовок "☀️ ..." */
.daytitle{
	font-size: 15px;
	margin: 0 0 6px 0 !important;
	line-height:1.15;
	white-space:normal;
	word-break:break-word;
}

/* Интерактивные элементы поверх ссылки */
.mark, .officer, .lm-badge{
	position:relative;
	z-index:2;
}

.dayhdr{
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:8px;
	margin-bottom:6px;
}

.dnum{
	font-size:24px;
}

.ymd{
	color:var(--muted);
	font-size:11px;
	white-space:nowrap;
}

.gzline{
	font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
	font-size:12px;
	letter-spacing:.5px;
	margin-bottom:6px;
}

.marks{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
}

.mark{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:28px;
	height:24px;
	border-radius:10px;
	border:1px solid #e2e8f0;
	background:#f1f5f9;
	color:#111827;
	cursor:pointer;
	box-shadow:0 1px 2px rgba(15,23,42,.12);
	transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.mark:hover,
.officers:hover,
.lm-badge:hover {cursor: pointer}

.mark-bad{ background:#fee2e2; border-color:#fecaca; color:#7f1d1d; }
.mark-bad:hover {border-color:#7f1d1d;}
.mark-good{ background:#dcfce7; border-color:#bbf7d0; color:#166534; }
.mark-good:hover {border-color:#166534;}
.mark-ghost{ background:#fff !important; }

.mark i{ font-size:14px; line-height:1; }

.mark:active{
	transform:translateY(1px);
	box-shadow:0 0 0 rgba(15,23,42,0);
}

@media (hover:hover) and (pointer:fine){
	.mark:hover{
		transform:translateY(-1px);
		box-shadow:0 4px 10px rgba(15,23,42,.18);
	}
}

/* Hover — включаем только на десктопе (на мобиле “залипает” ощущение) */
@media (hover:hover) and (pointer:fine){
	.day:hover{
		box-shadow:0 0 0 2px rgba(37, 99, 235, .18) inset;
		background:#f8fafc;
	}
}

/* Текущий день */
.day.today{
	background:#e0f2fe;
}

/* Офицеры */
.officers{
	display:flex;
	flex-wrap:wrap;
	gap:2px;
	align-items:center;
}

.officer-slot{
	min-height:26px;
	display:flex;
	align-items:center;
	padding: 6px 0 12px 0;
}




.officer{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:22px;
	height:22px;
	padding:0 8px;
	border-radius:999px;
	font-size:12px;
	font-weight:900;
	background:#e0e7ff;
	color:#3730a3;
	cursor:pointer;
	border:1px solid #c7d2fe;
}

.of-dual-arrow{
	font-weight:900;
	font-size:12px;
	color:#64748b;
	margin:0 2px;
}

/* низ прижимаем */
.mutedline{
	margin-top:auto;
	color:var(--muted);
	font-size:11px;
}
.mutedline--season{
	margin-top:6px !important;
	display:block;
}

/* Лунная строка */
.lunarline{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:6px;
	font-size:12px;
}

.officer-slot{
	display:flex;
	flex-direction:column;
	gap:6px;
	width:100%;
	align-items:flex-start;
}

/* gz */
.gz-col.muted{ opacity:.6; }

.gz-ns{
	font-size:24px;
	line-height:1;
}

.gz-zv{
	font-size:24px;
	line-height:1;
	margin-top:2px;
}

.gz-lbl{
	font-size:10px;
	color:#6b7280;
	margin-top:2px;
}

.gz-pillars{
	display:flex;
	margin:6px 0;
}

.gz-pillars .gz-col{
	margin-right:10px;
	width:33%;
	text-align:center;
}

.list .gz-pillars .gz-col{width:30%;}

.gz-pillars .gz-col:last-child{ margin-right:0; }

.green {color:#93bc39}
.blue {color:#009fd8}
.orange {color:#DD262E}
.brown {color:#b08050}
.gray {color:#4e4e4e}

/* Бейдж офицера (иконка/цифра) */
.of-badge{
	display:inline-flex;
	align-items:center;
	gap:3px;
	padding:4px 8px;
	border-radius:10px;
	border:1px solid #e5e7eb;
	background:#fff;
	box-shadow:0 1px 0 rgba(0,0,0,0.05);
	cursor:pointer;
	transition:background .15s ease, box-shadow .15s ease, transform .15s ease;
}

.of-badge .of-ico{
	width:20px;
	height:20px;
	border-radius:999px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	background:#f0f0f0;
	color:#000;
	font-size:12px;
	line-height:1;
	border:1px solid #111827;
}

.of-badge:hover{
	background:#f8fafc;
	box-shadow:0 2px 0 rgba(0,0,0,0.08);
}
.of-badge:active{
	transform:translateY(1px);
}

/* Day officer colors (by number) */
.of-badge.of-n-1  .of-ico{background:#16a34a;color:#fff;border-color:#166534;} /* Установление */
.of-badge.of-n-2  .of-ico{background:#64748b;color:#fff;border-color:#475569;} /* Устранение */
.of-badge.of-n-3  .of-ico{background:#14b8a6;color:#fff;border-color:#0f766e;} /* Наполнение */
.of-badge.of-n-4  .of-ico{background:#60a5fa;color:#fff;border-color:#1d4ed8;} /* Равновесие */
.of-badge.of-n-5  .of-ico{background:#65a30d;color:#fff;border-color:#3f6212;} /* Стабильность */
.of-badge.of-n-6  .of-ico{background:#94a3b8;color:#fff;border-color:#64748b;} /* Удержание */
.of-badge.of-n-7  .of-ico{background:#ef4444;color:#fff;border-color:#b91c1c;} /* Разрушение */
.of-badge.of-n-8  .of-ico{background:#f97316;color:#fff;border-color:#c2410c;} /* Опасность */
.of-badge.of-n-9  .of-ico{background:#22c55e;color:#fff;border-color:#15803d;} /* Успех */
.of-badge.of-n-10 .of-ico{background:#0ea5e9;color:#fff;border-color:#0369a1;} /* Принятие */
.of-badge.of-n-11 .of-ico{background:#3b82f6;color:#fff;border-color:#1d4ed8;} /* Открытие */
.of-badge.of-n-12 .of-ico{background:#6b7280;color:#fff;border-color:#374151;} /* Закрытие */

/* Personal marks */
.pmarks{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	margin-top:6px;
	padding-top:6px;
	border-top:1px dashed #e2e8f0;
}

.pmarks .mark{ opacity:.95; }

.debug-pmarks{
	margin:6px 0 0;
	padding:6px 8px;
	background:#fff8db;
	border:1px dashed #f59e0b;
	border-radius:8px;
	font-size:11px;
	line-height:1.3;
	white-space:pre-wrap;
}
.day.debug-five{ height:auto !important; }
.day.debug-five .daybox{ height:auto !important; }

/* Desktop tweaks */
@media (min-width: 992px){
	.title{ font-size:18px; }
	.day{ min-height:110px; padding:6px; }
	.gzline{ font-size:13px; }
	.mark{ width:30px; height:26px; }
	.gz-ns{ font-size:20px; }
	.gz-zv{ font-size:20px; }
	
}

/* ===== Popover (Bootstrap 5) ===== */
.popover{
  max-width:420px;
  pointer-events:auto;
}

.popover .popover-body{
  font-size:12px;
  line-height:1.35;
  padding:10px 12px;
  max-height:60vh;
  overflow:auto;
}

.popover .popover-header{
  font-size:13px;
  font-weight:900;
  padding:8px 12px;
}

@media (max-width: 480px){
  .popover{ max-width:92vw; }
  .popover .popover-body{ font-size:11.5px; }
}

.popover-body strong{ font-weight:600; }


/* ===== РАСТЯГИВАЕМ КОНТЕНТ НА ВСЮ ШИРИНУ ЯЧЕЙКИ ===== */
.daybox,
.daybox > div,
.daybox .sub,
.daybox .lunarline,
.daybox .marks,
.daybox .pmarks,
.daybox .gz-pillars{
  width:100%;
}

/* лунные бейджи/офицеры — тоже на всю ширину, чтобы текст не "висел" */
.lunarline{ justify-content:flex-start; }
.lm-badge, .of-badge{
  display:flex;
  align-items:center;
  width:100%;
  padding:4px 6px;
  border-radius:10px;
  border:1px solid #e5e7eb;
  background:#fff;
  box-shadow:0 1px 0 rgba(0,0,0,0.05);
  cursor:pointer;
  transition:background .15s ease, box-shadow .15s ease, transform .15s ease;
}

/* hours.php: лунные сутки не растягиваем на всю ширину */
.daybox--hours .lm-badge{
  width:auto;
  display:inline-flex;
}

/* чтобы текст в бейдже не сжимал ширину и нормально переносился */
.lm-badge span:last-child,
.of-badge span:last-child{
  flex:1;
  min-width:0;
}

.lm-badge:hover{
  background:#f8fafc;
  box-shadow:0 2px 0 rgba(0,0,0,0.08);
}
.lm-badge:active{
  transform:translateY(1px);
}

/* ===== КРУПНЕЕ НА МОБИЛЕ (когда 1 колонка) ===== */
@media (max-width: 991.98px){
  .day{ padding:12px; font-size:16px; }
  .dayhdr{ align-items:center; }

  .dnum{ font-size:22px; }
  .ymd{ font-size:15px; }

  .daytitle{
	font-size:17px;
	font-weight:900;
	line-height:1.2;
	min-height:0;
  }

  .gz-ns{ font-size:26px; }
  .gz-zv{ font-size:24px; }
  .gz-lbl{ font-size:14px; }

  .lunarline{padding-bottom: 8px !important;}
  .marks .mark, .pmarks .mark{ width:46px; height:46px; }
  .mark i{ font-size:18px; }

  .officer{ height:30px; font-size:15px; }
  .of-badge .of-ico{ width:24px; height:24px; font-size:14px; }

  .mutedline{ font-size:14px; }
  .marks{ gap:8px; }
  .pmarks{ gap:8px; }

  /* фильтры/кнопки на мобиле */
  .filterbar, .filterbar__title, .filterbar label, .filterbar__search,
  .filterbar__clear, .filterbar__toggle, .filterbar__group-title{
	font-size:16px;
  }

  /* подсказки (popover) крупнее на мобиле */
  .popover-body{ font-size:16px !important; line-height:1.4; }
  .popover-header{ font-size:16px !important; }
}






.mutedline {
	margin-top: auto;
	display: inline-block;

	font-size: 12px;
	font-weight: 600;
	color: #333;

	background: rgba(255, 193, 7, 0.18); /* мягкий янтарный акцент */
	padding: 4px 8px;
	border-radius: 6px;

	line-height: 1.2;
	white-space: nowrap;
}

/* hours.php: заголовки "До/После смены сезона" отдельной строкой */
.daybox--hours .mutedline--title{
	display:block;
	width:100%;
	padding:0;
	background:none;
	border-radius:0;
}
.daybox--hours .mutedline--title .mutedline__txt{
	display:inline-block;
	background:rgba(255, 193, 7, 0.18);
	padding:4px 8px;
	border-radius:6px;
	font-size:12px;
	font-weight:600;
	color:#333;
	line-height:1.2;
	white-space:normal;
}








.navbar .container, footer {max-width: 1100px;margin: 0 auto;}


/* ===== NAVBAR GLASS ===== */
 .navbar-glass{
  background: rgba(255,255,255,.58);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(230, 230, 230, 0.65);
  z-index: 1030;
  font-size: 1rem;
 }
 
 .navbar-glass .navbar-brand,
 .navbar-glass .nav-link{
  color: var(--text-main) !important;
 }
 
 /* бургер-иконка (в BS5 для navbar-light иногда нужна подсветка) */
 .navbar-glass .navbar-toggler{
  border-color: rgba(41,50,65,.18);
 }
 .navbar-glass.navbar-light .navbar-toggler-icon{
  filter: none;
 }
 
 .brand-mark{
  width: 40px; height: 40px; border-radius: 999px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, #ffffff, #f0f4ff);
  border: 1px solid rgba(0,0,0,.05);
  box-shadow: inset 0 0 0 4px #fff, 0 6px 20px rgba(0,0,0,.06);
  flex: 0 0 auto;
 }
 
 .btn-accent-mini{
  color: #20304a;
  background: #ffffff;
  border: 1px solid #e7ecff;
 }
 .btn-accent-mini:hover{
  background: #f8faff;
  border-color: #dfe7ff;
  color: #18263d;
 }
 
 /* ===== DROPDOWN LOOK ===== */
 .navbar-glass .dropdown-menu{
  border: 1px solid rgba(255,255,255,.65);
  box-shadow: 0 18px 50px rgba(31,38,135,.10);
  border-radius: 14px;
  padding: .5rem;
  min-width: 240px;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
 }
 
 .navbar-glass .dropdown-item{
  border-radius: 10px;
  padding: .55rem .75rem;
  white-space: nowrap;
 }
 .navbar-glass .dropdown-item:hover{
  background: rgba(163,191,250,.18);
 }
 
 .navbar-glass .dropdown-item.toactive {
	background: rgba(255, 221, 139, 0.18);
   }
 
 
 .navbar-glass .nav-item.dropdown > .dropdown-menu{ display:none; }
 .navbar-glass .nav-item.dropdown.is-open > .dropdown-menu{ display:block; }
 
 /* ===== SUBMENU (2+ уровень) ===== */
 .navbar-glass .dropdown-menu .submenu{
  display:none;
  position:absolute;
  top: 0;
  left: 100%;
  margin-left: .25rem;
  min-width: 220px;
  padding: .5rem;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.65);
  box-shadow: 0 18px 50px rgba(31,38,135,.10);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
 }
 .navbar-glass .dropdown-menu li.is-open > .submenu{
  display:block;
 }
 
 /* пункты с подменю */
 .submenu-toggle{
  display:flex;
  justify-content: space-between;
  align-items:center;
  gap: .75rem;
 }
 .submenu-arrow{
  opacity: .65;
  font-size: .95em;
  line-height: 1;
  transform: translateY(-.5px);
 }
 
 /* чтобы вложенное меню не вылезало за экран справа */
 @media (min-width: 992px){
  .navbar-glass .dropdown-menu .submenu{
	right: auto;
  }
  /* если очень узкий экран/окно — можно дать возможность переносить вправо/вниз вручную */
  .navbar-glass .dropdown-menu{
	overflow: visible;
  }
 }
 
 /* ===== MOBILE/TABLET (<992px) ===== */
 @media (max-width: 991.98px){
  /* выпадашки внутри collapse должны быть "обычным блоком" */
  .navbar-glass .dropdown-menu{
	position: static;
	float:none;
	width: 100%;
	min-width: 0;
	margin-top: .25rem;
  }
 
  .navbar-glass .dropdown-menu .submenu{
	position: static;
	width: 100%;
	min-width: 0;
	margin-left: 0;
	margin-top: .25rem;
	padding-left: .25rem;
	border-left: 1px dashed rgba(41,50,65,.18);
	box-shadow: none;
	border: 1px solid rgba(255,255,255,.55);
  }
 
  .navbar-glass .dropdown-item{
	white-space: normal; /* на мобиле можно перенос */
  }
 
  /* визуальный отступ для уровней */
  .navbar-glass .dropdown-menu .submenu .dropdown-item{
	padding-left: 1rem;
  }
  .navbar-glass .dropdown-menu .submenu .submenu .dropdown-item{
	padding-left: 1.25rem;
  }
 }
 
 /* ===== STICKY только на мобиле/планшете (<992px) ===== */
 .navbar-sticky-mobile{
  position: static;
  top: auto;
 }
 @media (max-width: 991.98px){
  .navbar-sticky-mobile{
	position: sticky;
	top: 0;
  }
 }
 
 
  .navbar-glass { position: relative; }
  .navbar-glass * { pointer-events: auto; }
 
  .navbar-glass .navbar-collapse,
  .navbar-glass .navbar-nav,
  .navbar-glass .nav-item,
  .navbar-glass .nav-link{
	position: relative;
	z-index: 2;
  }
 
  
  .navbar-glass::before{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	z-index:1;
  }
 
  
  .navbar-glass a.nav-link{ cursor: pointer; }
  
  /* убираем bootstrap active */
  .navbar-glass .dropdown-item:active,
  .navbar-glass .dropdown-item.active {
	background-color: rgba(163,191,250,.22) !important;
	color: var(--text-main) !important;
  }
  
  /* убираем серый фон и белый текст при клике */
  .navbar-glass .dropdown-item:focus,
  .navbar-glass .dropdown-item:focus-visible {
	background-color: rgba(163,191,250,.22) !important;
	color: var(--text-main) !important;
	outline: none;
  }
  
  /* iOS / Android — убираем серую подсветку тапа */
  .navbar-glass .dropdown-item {
	-webkit-tap-highlight-color: transparent;
  }
  
  /* если вдруг bootstrap навесил .show или .active */
  .navbar-glass .dropdown-menu .dropdown-item.show {
	background-color: rgba(163,191,250,.22) !important;
	color: var(--text-main) !important;
  }
  
  .brand-title{
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--text-main);
	line-height: 1.1;
	white-space: nowrap;
  }
  
  /* если экран совсем узкий — чуть уменьшаем */
  @media (max-width: 360px){
	.brand-title{
	 font-size: 0.85rem;
	}
  }
  
  @media (max-width: 991.98px){
	.calc_zag{
	 display: none;
	}
  }
  
  /* ===== NAV FIRST LEVEL HOVER ===== */
  .navbar-glass .nav-link{
	position: relative;
	border-radius: 10px;
	transition:
	 background-color .18s ease,
	 box-shadow .18s ease;
  }
  
  /* hover / focus */
  .navbar-glass .nav-link:hover,
  .navbar-glass .nav-link:focus{
	border-bottom: 1px solid #d4d4d4; 
	cursor: pointer!important;
	border-radius: 0
  }
  
  #cookies-policy {position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 14px;
  padding: 10px 20px;
  z-index: 9999;
  display: flex;
  justify-content: space-between;
  align-items: center;
  backdrop-filter: blur(3px);}
  
  .unpersonal-badge {
	  display: inline-flex;
	  align-items: center;
	  gap: 6px;
	  background: #fef9c3;      /* светло-жёлтый фон */
	  color: #854d0e;           /* тёмно-жёлтый текст */
	  border: 1px solid #fde047;/* жёлтая рамка */
	  border-radius: 999px;
	  padding: 4px 10px;
	  font-weight: 800;
	  font-size: 12px;
	  margin: 6px 0 6px;
  }
