/* css/site-canvas.css */
/* СТИЛІ ТІЛЬКИ ДЛЯ САЙТА (всередині .site-root) */

.site-root {
  position: relative;
  --site-gap: 16px;
  --site-block-bg: #0f172a;
  --site-block-brd: rgba(148,163,184,0.45);
  --site-block-radius: 14px;

  /* Підсвітка активного блока (яскрава блакить) */
  --site-active-outline: rgba(56,189,248,0.95);

  /* Підсвітка активної секції (бірюзовий, відрізняється по відтінку) */
  --site-section-active-outline: rgba(94,234,212,0.95);

  --site-drop-outline: rgba(129,140,248,0.95);
  --site-insert-line: rgba(56,189,248,0.95);
}

/* 00946 — semantic interaction states for explicitly applied template profiles.
   Custom properties change paint only; no layout or geometry rules live here. */
[data-st-semantic-style="00946"][data-st-semantic-role^="button-"]:hover {
  --st-sem-button-state-bg: var(--st-sem-button-hover-bg);
  --st-sem-button-state-text: var(--st-sem-button-hover-text);
  --st-sem-button-state-border-color: var(--st-sem-button-hover-border-color);
  --st-sem-button-state-shadow: var(--st-sem-button-hover-shadow);
}
[data-st-semantic-style="00946"][data-st-semantic-role^="button-"]:active {
  --st-sem-button-state-bg: var(--st-sem-button-active-bg);
  --st-sem-button-state-text: var(--st-sem-button-active-text);
  --st-sem-button-state-border-color: var(--st-sem-button-active-border-color, var(--st-sem-button-hover-border-color));
  --st-sem-button-state-shadow: var(--st-sem-button-active-shadow);
}
[data-st-semantic-style="00946"][data-st-semantic-role^="button-"]:is(:disabled,[aria-disabled="true"]) {
  --st-sem-button-state-bg: var(--st-sem-button-disabled-bg);
  --st-sem-button-state-text: var(--st-sem-button-disabled-text);
  opacity: var(--st-sem-button-disabled-opacity, .55);
}
[data-st-semantic-style="00946"][data-st-semantic-role^="button-"]:focus-visible,
[data-st-semantic-style="00946"][data-st-semantic-role="navigation"]:focus-visible,
[data-st-semantic-style="00946"][data-st-semantic-role="link"]:focus-visible,
[data-st-semantic-style="00946"][data-st-semantic-role="icon"]:focus-visible {
  outline: var(--st-sem-focus-width, 2px) solid var(--st-sem-focus-color, #2563eb);
  outline-offset: var(--st-sem-focus-offset, 2px);
}
[data-st-semantic-style="00946"][data-st-semantic-role="navigation"]:hover {
  --st-sem-menu-state-bg: var(--st-sem-menu-hover-bg);
  --st-sem-menu-state-text: var(--st-sem-menu-hover-text);
  --st-sem-menu-state-border-color: var(--st-sem-menu-hover-border-color);
}
[data-st-semantic-style="00946"][data-st-semantic-role="navigation"]:is(:active,.is-active,[aria-current="page"],[data-active="true"]) {
  --st-sem-menu-state-bg: var(--st-sem-menu-active-bg);
  --st-sem-menu-state-text: var(--st-sem-menu-active-text);
  --st-sem-menu-state-border-color: var(--st-sem-menu-active-border-color);
}
[data-st-semantic-style="00946"][data-st-semantic-role="link"]:hover {
  --st-sem-link-state-color: var(--st-sem-link-hover-color);
  --st-sem-link-state-decoration: var(--st-sem-link-hover-decoration);
}
[data-st-semantic-style="00946"][data-st-semantic-role="link"]:active {
  --st-sem-link-state-color: var(--st-sem-link-active-color);
  --st-sem-link-state-decoration: var(--st-sem-link-active-decoration);
}
[data-st-semantic-style="00946"][data-st-semantic-role="link"]:visited {
  --st-sem-link-state-color: var(--st-sem-link-visited-color);
}
[data-st-semantic-style="00946"][data-st-semantic-role="icon"]:hover {
  --st-sem-icon-state-bg: var(--st-sem-icon-hover-bg);
  --st-sem-icon-state-color: var(--st-sem-icon-hover-color);
}
[data-st-semantic-style="00946"][data-st-semantic-role="icon"]:active {
  --st-sem-icon-state-bg: var(--st-sem-icon-active-bg);
  --st-sem-icon-state-color: var(--st-sem-icon-active-color);
}
[data-st-semantic-style="00946"][data-st-semantic-role="media-overlay"]:hover {
  --st-sem-media-state-overlay: var(--st-sem-media-hover-overlay);
}

.site-root .st-section:not([data-sf-authored-template="00961"]) {
  padding: 16px;
  /*
    Раніше тут було width:100% / max-width:100%.
    Для зовнішніх відступів (margin-left/right) це дає небажаний ефект: 100% + margin,
    і секція "виїжджає" вбік/переповнює контейнер.
    Залишаємо ширину auto, щоб margin стискав секцію всередину.
  */
  width: auto;
  max-width: 100%;
  box-sizing: border-box;
}

/* --- Header section: no extra gaps vs following section --- */
.site-root .st-section[data-sec-role="header"]{
  margin-bottom: 0 !important;
}
.site-root .st-section[data-sec-role="header"] + .st-section{
  margin-top: 0 !important;
}

/* === Header section: без зайвих відступів як у звичайних секцій === */
.site-root .st-section[data-sec-role="header"]{
  margin-bottom: 0;
}
.site-root .st-section[data-sec-role="header"] + .st-section{
  margin-top: 0;
}

.site-root .st-row:not([data-sf-authored-template="00961"]):not([data-hf-authored-template]) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  /* Gap: uniform fallback first, then axis-specific values override it.
     00454: the old order had gap after column/row-gap, so X/Y sliders
     could be visually overridden in Header/Footer builder modes. */
  gap: var(--site-gap);
  column-gap: var(--site-gap-x, var(--site-gap));
  row-gap:    var(--site-gap-y, var(--site-gap));
  width: 100%;
  max-width: 100%;
  align-items: stretch;
  position: relative;
  min-height: 40px;
}

/* Підсвітка РЯДУ при можливій вставці */
.site-root .st-row.is-drop-target {
  outline: 1px dashed rgba(129,140,248,0.6);
  outline-offset: 5px;
  border-radius: 10px;
}


/* 00182: чітка підсвітка цілі під час переносу каруселі */
.site-root .st-section.is-drop-target {
  position: relative;
  outline: 2px solid rgba(34, 211, 238, 0.95);
  outline-offset: -4px;
  border-radius: 14px;
  box-shadow: inset 0 0 0 2px rgba(34, 211, 238, 0.22), 0 0 0 4px rgba(34, 211, 238, 0.10);
}

.site-root .st-section.is-carousel-drop-target-section,
.site-root .st-block.is-carousel-drop-target-container,
.site-root .st-row.is-carousel-drop-target-row {
  position: relative;
}

.site-root .st-block.is-carousel-drop-target-container {
  outline: 2px solid rgba(34, 211, 238, 0.95);
  outline-offset: -4px;
  box-shadow: inset 0 0 0 2px rgba(34, 211, 238, 0.20), 0 0 0 4px rgba(34, 211, 238, 0.10);
}

.site-root .st-row.is-carousel-drop-target-row {
  outline: 1px dashed rgba(34, 211, 238, 0.75);
  outline-offset: 4px;
}

/* [00455] Gap-managed Header/Footer rows: gap slider must be the only horizontal spacing source. */
#st-site-header-slot .st-row[data-st-gap-managed="1"]:not([data-st-layout-children-align-x]),
#st-site-footer-slot .st-row[data-st-gap-managed="1"]:not([data-st-layout-children-align-x]),
.site-root #st-site-header-slot .st-row[data-st-gap-managed="1"]:not([data-st-layout-children-align-x]),
.site-root #st-site-footer-slot .st-row[data-st-gap-managed="1"]:not([data-st-layout-children-align-x]){
  justify-content: flex-start !important;
}
#st-site-header-slot .st-row[data-st-gap-managed="1"] > .st-block,
#st-site-footer-slot .st-row[data-st-gap-managed="1"] > .st-block,
.site-root #st-site-header-slot .st-row[data-st-gap-managed="1"] > .st-block,
.site-root #st-site-footer-slot .st-row[data-st-gap-managed="1"] > .st-block{
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.site-root .is-carousel-drop-target[data-st-drop-label]::after {
  content: attr(data-st-drop-label);
  position: absolute;
  top: 8px;
  right: 10px;
  z-index: 80;
  pointer-events: none;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(2, 6, 23, 0.92);
  color: #e0f2fe;
  border: 1px solid rgba(34, 211, 238, 0.75);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.35);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* Блок */
.site-root .st-block:not([data-sf-authored-template="00961"]):not([data-hf-authored-template]) {
  position: relative;
  min-height: var(--st-block-min-h, 140px);
  background: var(--site-block-bg);
  border: 1px solid var(--site-block-brd);
  border-radius: var(--site-block-radius);
  overflow: hidden;
  touch-action: none;
  user-select: none;

  /* ✅ критично для grid щоб не вилазив */
  min-width: 0;
  width: 100%;
  max-width: 100%;
}


/* ✅ Custom size: allow vertical shrink below default min-height */
.site-root .st-block[data-st-size-mode="custom"] {
  --st-block-min-h: 0px;
  /* also unlock header/footer hard minimums when user switches to Custom */
  --st-header-block-min-h: 0px;
  --st-footer-block-min-h: 0px;
}
/* ✅ Header containers should be low by default, but must not block manual shrink in Custom.
   Use a variable so Custom mode can set it to 0px.
*/
.site-root .st-section[data-sec-role="header"] .st-block {
  min-height: var(--st-header-block-min-h, var(--st-header-container-default-h, 35px));
}

/* ✅ Footer containers should also be low/editable by default (like header). */
.site-root .st-section[data-sec-role="footer"]{
  margin-top: 0;
  margin-bottom: 0;
}
.site-root .st-section[data-sec-role="footer"] .st-block:not([data-hf-authored-template]) {
  min-height: var(--st-footer-block-min-h, 56px);
}
.site-root #st-site-footer-slot > .st-section[data-sec-role="footer"]{
  margin: 0 !important;
}
.site-root #st-site-footer-slot > .st-section[data-sec-role="footer"] + .st-section{
  margin-top: 0 !important;
}


.site-root .st-block.is-active {
  outline: 2px solid var(--site-active-outline);
  outline-offset: -2px;
  box-shadow: 0 0 0 3px rgba(56,189,248,0.15);
}

.site-root .st-block.is-dragging { opacity: 0.55; }
.site-root .st-block.is-drop-target {
  outline: 2px dashed var(--site-drop-outline);
  outline-offset: -4px;
}

/* Внутрішній ряд (для вкладених блоків) */
.site-root .st-block > .st-row {
  margin-top: 0;
  padding: 10px;
  background: transparent;
  border-top: none;
}

/* ===== ЛІНІЯ ВСТАВКИ МІЖ БЛОКАМИ ===== */
.site-root .st-insert-line {
  position: absolute;
  top: 6px;
  bottom: 6px;
  width: 2px;
  background: var(--site-insert-line);
  border-radius: 999px;
  box-shadow: 0 0 0 2px rgba(56,189,248,0.12);
  pointer-events: none;
  z-index: 10;
  opacity: 0;
  transform: translateX(-1px);
  transition: opacity 80ms linear;
}
.site-root .st-insert-line.is-visible { opacity: 1; }

/* Лінія вставки між секціями */
.site-root.st-section-dnd-active {
  outline: 1px dashed rgba(56, 189, 248, 0.2);
  outline-offset: 8px;
}

.site-root .st-section[data-st-section-dnd="1"] {
  cursor: grab;
}

.site-root .st-section[data-st-section-dnd="1"]:active {
  cursor: grabbing;
}

.site-root .st-section.is-dragging-sec,
.site-root .st-section.is-dragging {
  opacity: 0.55;
  filter: saturate(0.8);
}

.site-root .st-sec-insert-line {
  position: absolute;
  left: 10px;
  right: 10px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(14, 165, 233, 0.15), rgba(34, 211, 238, 0.98), rgba(14, 165, 233, 0.15));
  box-shadow: 0 0 0 3px rgba(34, 211, 238, 0.18), 0 0 22px rgba(34, 211, 238, 0.65);
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-2px);
  transition: opacity 0.12s ease, box-shadow 0.12s ease, visibility 0.12s ease;
  z-index: 999;
}

.site-root .st-sec-insert-line::before {
  content: attr(data-label);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(2, 6, 23, 0.92);
  color: #e0f2fe;
  border: 1px solid rgba(34, 211, 238, 0.75);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.35);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-root .st-sec-insert-line.is-visible {
  opacity: 1;
  visibility: visible;
}

/* 00464: safety net for orphan insert hints restored from old DOM snapshots. */
.site-root .st-sec-insert-line:not(.is-visible)::before,
.site-root .st-insert-line:not(.is-visible)::before {
  content: none !important;
}











/* ===== RESIZE HANDLES ===== */
.site-root .st-resize {
  position: absolute;
  background: transparent;
  z-index: 6;
}
.site-root .st-resize--n { top:0; left:0; right:0; height:10px; cursor:ns-resize; }
.site-root .st-resize--s { bottom:0; left:0; right:0; height:10px; cursor:ns-resize; }
.site-root .st-resize--w { left:0; top:0; bottom:0; width:10px; cursor:ew-resize; }
.site-root .st-resize--e { right:0; top:0; bottom:0; width:10px; cursor:ew-resize; }

.site-root .st-resize--nw { left:0; top:0; width:14px; height:14px; cursor:nwse-resize; }
.site-root .st-resize--ne { right:0; top:0; width:14px; height:14px; cursor:nesw-resize; }
.site-root .st-resize--sw { left:0; bottom:0; width:14px; height:14px; cursor:nesw-resize; }
.site-root .st-resize--se { right:0; bottom:0; width:14px; height:14px; cursor:nwse-resize; }

/* Адаптив */
@media (max-width: 900px) {
  .site-root .st-row:not([data-sf-authored-template="00961"]):not([data-hf-authored-template]) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .site-root .st-row:not([data-sf-authored-template="00961"]):not([data-hf-authored-template]) { grid-template-columns: 1fr; }
}


/* --- Видимі секції (карточки навколо рядів) --- */

/* --- Видимі секції (карточки навколо рядів) --- */

.site-root .st-section:not([data-sf-authored-template="00961"]) {
  margin-bottom: var(--site-gap);
  padding: 16px;
  border-radius: 18px;

  /* фон секції трохи відрізняється від фону блоків, але в тій самій палітрі */
  background: radial-gradient(circle at 0 0, rgba(15,23,42,0.96), rgba(15,23,42,0.98));

  /* ✅ замість box-shadow використовуємо звичайний бордер як у блоків */
  border: 1px solid var(--site-block-brd);
}

/* Легка підсвітка секції при наведенні (інший відтінок, ніж у блоку) */
.site-root .st-section:hover:not(.is-active):not(.is-dragging) {
  outline: 1px solid rgba(120, 153, 132, 0.7);   /* мʼякий зелений контур */
  outline-offset: -2px;
  box-shadow: 0 0 0 1px rgba(22, 163, 74, 0.15); /* легке "свічення" */
  background-color: rgba(22, 163, 74, 0.04);      /* дуже легкий зелений фон */
}

/* Легка підсвітка РЯДУ (LEVEL) при наведенні */
.site-root .st-row:hover:not(.is-active):not(.is-dragging) {
  outline: 1px solid rgba(147, 197, 253, 0.70);
  outline-offset: -2px;
  box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.15);
}

/* Активний ряд (LEVEL) */
.site-root .st-row.is-active,
.site-root .st-row.is-selected {
  outline: 2px solid rgba(59, 130, 246, 0.95);
  outline-offset: -2px;
}






/* невеликий відступ між секціями */
.site-root .st-section + .st-section {
  margin-top: var(--site-gap);
}

/* активна секція — своя рамка, інший колір */
.site-root .st-section.is-active {
  box-shadow: 0 0 0 2px var(--site-section-active-outline);
}


/* === ВНУТРІШНІ СКРОЛИ ДЛЯ КОНСТРУКТОРА (ОСТАТОЧНИЙ OVERRIDE) === */

/* Конструктор займає весь екран */
#builder-root.builder {
  height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Верхня шапка та футер фіксовані по висоті */
.builder__header,
.builder__footer {
  flex: 0 0 auto;
}

/* Центральна частина (сайдбар + правий сайтбар + канвас) */
.builder__main {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: auto auto 4px 1fr;
  /* 1 — головний сайтбар, 2 — додатковий, 3 — ресайзер, 4 — канвас */
}

/* Головний сайтбар зліва */
.builder__sidebar {
  grid-column: 1;
}

/* Додатковий сайтбар справа */
.builder__settings {
  grid-column: 2;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

/* Ресайзер */
#builder-settings-resizer {
  grid-column: 3;
}

/* CANVAS (центральний блок) */
.builder__canvas {
  grid-column: 4;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

/* Шапка канвасу не скролиться */
.canvas__header {
  flex: 0 0 auto;
}

/* Прокручується тільки ця область */
.canvas__scroll {
  --st-canvas-scroll-y: 0px;
  --st-canvas-scroll-x: 0px;

  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
}

/* Щоб фон канвасу тягнувся на всю видиму висоту */
.builder__canvas-site {
  min-height: 100%;
}

/* --- ДОДАТКОВИЙ САЙТБАР: внутрішній скрол --- */

.builder__settings-header,
.builder__settings-tabs {
  flex: 0 0 auto;
}

.builder__settings-panels {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
}

/* === Scrollbars керовані з віджета "Налаштування → Скролбар" === */

/* --- ГОЛОВНИЙ БЛОК (canvas) --- */
.canvas__scroll {
  --st-canvas-scroll-y: 0px;
  --st-canvas-scroll-x: 0px;

  /* дефолтні значення, які потім перезапише JS через style.setProperty */
  --scroll-main-width-normal: 8px;
  --scroll-main-width-hover: 8px;
  --scroll-main-thumb: #38bdf8;
  --scroll-main-thumb-hover: #4fd1ff;
  --scroll-main-track: #020617;
  --scroll-main-radius: 999px;

  scrollbar-color: var(--scroll-main-thumb) var(--scroll-main-track);
  scrollbar-width: thin;
}

.canvas__scroll::-webkit-scrollbar {
  width: var(--scroll-main-width-normal);
  height: var(--scroll-main-width-normal);
}

.canvas__scroll:hover::-webkit-scrollbar {
  width: var(--scroll-main-width-hover);
  height: var(--scroll-main-width-hover);
}

.canvas__scroll::-webkit-scrollbar-track {
  background: var(--scroll-main-track);
}

.canvas__scroll::-webkit-scrollbar-thumb {
  background: var(--scroll-main-thumb);
  border-radius: var(--scroll-main-radius);
}

.canvas__scroll::-webkit-scrollbar-thumb:hover {
  background: var(--scroll-main-thumb-hover);
}

/* --- ДОДАТКОВИЙ САЙТБАР (панелі праворуч) --- */
.builder__settings-panels {
  --scroll-side-width-normal: 8px;
  --scroll-side-width-hover: 8px;
  --scroll-side-thumb: #38bdf8;
  --scroll-side-thumb-hover: #4fd1ff;
  --scroll-side-track: #020617;
  --scroll-side-radius: 999px;

  scrollbar-color: var(--scroll-side-thumb) var(--scroll-side-track);
  scrollbar-width: thin;
}

.builder__settings-panels::-webkit-scrollbar {
  width: var(--scroll-side-width-normal);
  height: var(--scroll-side-width-normal);
}

.builder__settings-panels:hover::-webkit-scrollbar {
  width: var(--scroll-side-width-hover);
  height: var(--scroll-side-width-hover);
}

.builder__settings-panels::-webkit-scrollbar-track {
  background: var(--scroll-side-track);
}

.builder__settings-panels::-webkit-scrollbar-thumb {
  background: var(--scroll-side-thumb);
  border-radius: var(--scroll-side-radius);
}

.builder__settings-panels::-webkit-scrollbar-thumb:hover {
  background: var(--scroll-side-thumb-hover);
}

/* При вимкненому бордері забираємо тільки саму рамку (border),
   але не активну підсвітку */
/* При вимкненому бордері забираємо тільки сам бордер (ширина + колір),
   але не підсвітку активної секції чи блока */
.st-block.st-border-off,
.st-section.st-border-off {
  border-width: 0 !important;
  border-color: transparent !important;
}




/* Якщо секція активна — завжди показуємо м'ятну рамку
   навіть якщо бордер вимкнений */
.site-root .st-section.st-border-off.is-active {
  box-shadow: 0 0 0 2px var(--site-section-active-outline) !important;
}

/* === ЛІНІЯ ЯК БЛОК =================================================== */

/* === ЛІНІЯ ЯК БЛОК (оновлено) ======================================= */

/* Базовий вигляд лінії */
.st-block--line {
  position: relative;
  display: block;
  box-sizing: border-box;

  /* Головне: прибираємо “блоковість” */
  min-height: 0 !important;
  height: 0 !important;
  padding: 0 !important;

  margin: 12px 0;

  background: transparent !important;

  /* Керовані змінні для товщини та довжини */
  --st-line-thickness: 2px;
  --st-line-length: 100%;

  /* Малюємо лінію через border */
  border-style: solid;
  border-color: var(--site-block-brd, #38bdf8);
  border-width: 0;
  border-top-width: var(--st-line-thickness);

  border-radius: 999px;
}

/* Орієнтація: горизонтальна (за замовчуванням) */
.st-block--line[data-line-orientation="horizontal"],
.st-block--line:not([data-line-orientation]) {
  width: var(--st-line-length);
  height: 0 !important;
}

/* Орієнтація: вертикальна */
.st-block--line[data-line-orientation="vertical"] {
  width: 0 !important;
  height: var(--st-line-length);
  border-top-width: 0;
  border-left-width: var(--st-line-thickness);
}

/* Щоб інші сторони не перетворювали її знов на “рамку навколо блока” */
.st-block--line {
  border-right-width: 0;
  border-bottom-width: 0;
  border-left-width: 0;
}
.st-block--line[data-line-orientation="vertical"] {
  border-top-width: 0;
  border-bottom-width: 0;
  border-right-width: 0;
}

/* Ховер – щоб було видно, що це окремий елемент */
.site-root:not(.st-no-hover-outline) .st-block--line:hover {
  cursor: pointer;
  box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.35);
}

/* Легка підсвітка при наведенні — щоб було видно, що елемент "береться" мишкою */
.site-root .st-block:hover:not(.is-active):not(.is-dragging) {
  outline: 1px solid rgba(148,163,184,0.70); /* мʼякша, ніж активний стан */
  outline-offset: -2px;
}

/* Menu Builder SOLO: показуємо тільки меню, без зайвих hover-обводок */
body.st-mb-solo-menu .site-root .st-block:hover:not(.is-active):not(.is-dragging) {
  outline: none !important;
  box-shadow: none !important;
}

/* Menu Builder SOLO: прибираємо hover-підсвітку батьківських контейнерів (секцій/рядів),
   щоб не було "додаткових" обводок при наведенні на меню. */
body.st-mb-solo-menu .site-root .st-section:hover:not(.is-active):not(.is-dragging) {
  outline: none !important;
  box-shadow: none !important;
  background-color: transparent !important;
}

body.st-mb-solo-menu .site-root .st-row:hover:not(.is-active):not(.is-dragging) {
  outline: none !important;
  box-shadow: none !important;
  background-color: transparent !important;
}


/* =========================================================
   [КРОК 5] CANVAS: СЛОТ ДЛЯ ШАПКИ
   - Порожній слот не займає місця
   - Активний слот — нормальна шапка зверху
   ========================================================= */

/* =========================================================
   [КРОК 5] CANVAS: СЛОТ ДЛЯ ШАПКИ
   - Порожній слот не займає місця
   - ✅ is-present = шапка має контент (було is-active)
   - ✅ is-active  = шапка ВИБРАНА (selection)
   ========================================================= */

#st-site-header-slot.st-site-header-slot {
  width: 100%;
  /* Без зайвих відступів — щоб не було "пустої зони" */
  margin: 0;
  padding: 0;

  /* ✅ Слот — ТІЛЬКИ контейнер.
     Всі візуальні стилі (фон/радіус/бордер) повинні застосовуватись до реальної header-секції,
     інакше з'являється "каша" з двох шарів (slot + section) з різними радіусами.
  */
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

/* ✅ Раніше тут був .is-active — переносимо як є в .is-present */
/* ✅ is-present означає "шапка існує". Не додаємо візуальних шарів на сам слот. */
#st-site-header-slot.st-site-header-slot.is-present {
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

/* IMPORTANT:
   #st-site-header-slot is a technical container.
   It must never be visually highlighted or styled via selection.
   Selection/highlight must live on the real header section inside the slot.
*/
#st-site-header-slot.st-site-header-slot.is-active,
#st-site-header-slot.st-site-header-slot.is-selected {
  outline: none !important;
  box-shadow: none !important;
}

/* Menu dropdown must be able to rise above neighbouring sections/rows.
   We only lift ancestors that already contain a menu block. */
.site-root .st-section:has(.st-block--menu),
.site-root .st-row:has(.st-block--menu),
.site-root .st-block:has(.st-block--menu){
  position: relative;
  overflow: visible;
}

.site-root .st-section:has(.st-block--menu){ z-index: 120; }
.site-root .st-row:has(.st-block--menu){ z-index: 130; }
.site-root .st-block:has(.st-block--menu){ z-index: 140; }

.site-root .st-block:has(.st-block--menu) > .st-row{
  overflow: visible;
}


/* ============================
   ShiftTime BG FX (for image opacity)
   ============================ */
.st-bgfx{position:relative;}
.st-bgfx::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius: inherit;
  background: var(--st-bgfx-bg, none);
background-position: var(--st-bgfx-bg-pos, center center);
  background-size: var(--st-bgfx-bg-size, cover);
  background-repeat:no-repeat;
  opacity: var(--st-bgfx-bg-opacity, 1);
  filter: grayscale(var(--st-bgfx-gray, 0));
  pointer-events:none;
  z-index:0;
}

.st-bgfx.st-bgfx--canvasfixed::before{
  /* "fixed" відносно canvas__scroll: компенсуємо scroll */
  background-position:
    calc(var(--st-bgfx-bg-pos-x, 50%) + var(--st-canvas-scroll-x, 0px))
    calc(var(--st-bgfx-bg-pos-y, 50%) + var(--st-canvas-scroll-y, 0px));
}
.st-bgfx::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius: inherit;
  background: var(--st-bgfx-filter, none);
  opacity: var(--st-bgfx-filter-opacity, 0);
  pointer-events:none;
  z-index:0;
}
.st-bgfx > *{position:relative; z-index:1;}

/* ============================================================
   Фон сторінки (через псевдо-елементи, щоб не фільтрувати контент)
   Керується CSS-змінними, які ставить віджет "Фон сторінки".
   ============================================================ */

#site-canvas{
  position: relative;
  background-color: var(--st-page-bg-color, transparent);
}

/* ШАР 1: КАРТИНКА ФОНУ (з прозорістю та ч/б) */
#site-canvas::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;

  background-image: var(--st-page-bg-image, none);
  background-repeat: no-repeat;
  background-size: var(--st-page-bg-size, cover);
  background-position: var(--st-page-bg-position, center);

  opacity: var(--st-page-bg-img-opacity, 1);
  filter: grayscale(var(--st-page-bg-img-gray, 0%));
}

/* ШАР 2: ОВЕРЛЕЇ + ФІЛЬТР (поверх кольору + картинки) */
#site-canvas::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;

  background-image:
    linear-gradient(to bottom, rgba(0,0,0,var(--st-page-dim-top,0)), rgba(0,0,0,0)),
    linear-gradient(to top, rgba(0,0,0,var(--st-page-dim-bottom,0)), rgba(0,0,0,0)),
    var(--st-page-filter, none);
  background-repeat: no-repeat;
  background-size: var(--st-page-bg-size, cover);
  background-position: var(--st-page-bg-position, center);
}

/* контент поверх фону */
#site-canvas > #site-root{
  position: relative;
  z-index: 1;
}



/* FORCE-HEADER-NO-MARGINS: прибрати оранжеву "margin" смугу під шапкою */
.site-root #st-site-header-slot > .st-section[data-sec-role="header"]{
  margin: 0 !important;
}
.site-root #st-site-header-slot > .st-section[data-sec-role="header"] + .st-section{
  margin-top: 0 !important;
}



/* ============================================================
   [00496] HEADER ↔ FIRST SECTION: zero outer gap
   The header slot is a technical wrapper. It must not create any
   vertical distance before the first content section.
   ============================================================ */
.site-root > #st-site-header-slot.st-site-header-slot{
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  flex: 0 0 auto !important;
}
.site-root > #st-site-header-slot.st-site-header-slot > .st-section{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.site-root > #st-site-header-slot.st-site-header-slot + .st-section{
  margin-top: 0 !important;
}
.site-root > #st-site-header-slot.st-site-header-slot + section.st-section{
  margin-top: 0 !important;
}

/* === Layout Guides Overlay (margin/padding visualizer) === */
.st-layout-guides-overlay{
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 99999;
}
.st-layout-guide{
  position: fixed;
  box-sizing: border-box;
  border: 1px dashed rgba(255,255,255,0.85);
  border-radius: 0;
  pointer-events: none;
}
.st-layout-guide--padding{ border-color: rgba(250, 204, 21, 0.95); }
.st-layout-guide--margin{ border-color: rgba(56, 189, 248, 0.95); }
.st-layout-guide--white{ border-color: rgba(255,255,255,0.92) !important; }
.st-layout-guide--black{ border-color: rgba(0,0,0,0.92) !important; }
/* Layout modes for rows/containers (used by Layout widget) */
.st-row[data-layout-mode="flex"],
.st-block[data-layout-mode="flex"]{
  display: flex;
  flex-wrap: var(--st-flex-wrap, nowrap);
  align-items: stretch;
}

/* ✅ FLEX ROW: дочірні блоки не повинні бути width:100% (інакше вони стають вертикально).
   Вмикаємо "hug" поведінку тільки для горизонтального flex.
   Для STACK (column) лишається стандартна 100% ширина. */
.st-row[data-layout-mode="flex"][data-layout-orient="row"] > .st-block,
.st-block[data-layout-mode="flex"][data-layout-orient="row"] > .st-block{
  width: auto;
  max-width: none;
  flex: 0 0 auto;
  min-width: 0;
}

.st-row[data-layout-mode="flex"][data-layout-orient="column"] > .st-block,
.st-block[data-layout-mode="flex"][data-layout-orient="column"] > .st-block{
  width: 100%;
  max-width: 100%;
  flex: 0 0 auto;
  min-width: 0;
}

.st-row[data-layout-mode="grid"],
.st-block[data-layout-mode="grid"]{
  display: grid;
  grid-template-columns: repeat(var(--st-grid-cols, 3), minmax(0, 1fr));
}

/* FR mode uses JS to set grid-template-columns; default (no data-layout-mode) is FR */
.st-row[data-layout-mode="fr"]{
  display: grid;
}

/* =========================================================
   Footer slot (аналог Header slot)
   ========================================================= */
#st-site-footer-slot,
.st-site-footer-slot{
  width: 100%;
  display: block; /* показуємо тільки якщо є контент (ховаємо інлайном) */
  position: relative;
  z-index: 1;
  pointer-events: auto;
}

/* виділення при selection (поки що тільки класами) */
.st-site-footer-slot.is-active,
#st-site-footer-slot.is-active{
  outline: 2px solid rgba(56, 189, 248, 0.65);
  outline-offset: -2px;
}


/* ===========================
   Text Block (kind="text")
   =========================== */
.st-block--text {
  /* ✅ Text blocks default to compact height.
     IMPORTANT: must NOT block manual shrink in Custom mode. */
  min-height: var(--st-text-block-min-h, 45px);
  /* Щоб вертикальне вирівнювання в .st-text-edit мало “простір” —
     editable має розтягуватись на висоту блока */
  display: flex;
}

.st-block--text > .st-text-edit {
  width: 100%;
  min-height: var(--st-text-edit-min-h, 44px);
  height: 100%;
  flex: 1 1 auto;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 10px 12px;
  border-radius: 12px;
  outline: none;
  color: inherit;
  background: transparent;
  border: 1px dashed transparent;

  /* Реальний бордер текстового блока (не залежить від active). */
  --st-text-bw: 0px;
  --st-text-bc: transparent;
  box-shadow: inset 0 0 0 var(--st-text-bw) var(--st-text-bc);

  /* Обводка (stroke) самого тексту */
  --st-text-sw: 0px;
  --st-text-sc: transparent;
  -webkit-text-stroke-width: var(--st-text-sw);
  -webkit-text-stroke-color: var(--st-text-sc);

  /* Тінь (shadow) самого тексту */
  --st-text-shadow: none;
  text-shadow: var(--st-text-shadow);
}

/* ✅ Allow vertical shrink in Custom for text blocks (no artificial min-height). */
.st-block--text[data-st-size-mode="custom"]{
  --st-text-block-min-h: 0px;
}
.st-block--text[data-st-size-mode="custom"] > .st-text-edit{
  min-height: 0px;
}

/* ✅ Allow true shrink-to-content in Custom size mode (Text blocks).
   Without this, fixed min-heights (45/44) prevent shrinking to text/buttons.
*/
.st-block--text[data-st-size-mode="custom"]{
  --st-text-block-min-h: 0px;
  --st-text-edit-min-h: 0px;
}

/* =========================================================
   Text block UX (Design mode): easy drag like in legacy ZIP
   ---------------------------------------------------------
   We toggle contenteditable via JS:
   - default (not editing): contenteditable="false" + grab cursor
   - editing: .st-text-editing + contenteditable="true" + text cursor
   This avoids fighting the caret/selection when you just want to drag.
   ========================================================= */
.st-block--text:not(.st-text-editing) > .st-text-edit[contenteditable="false"]{
  cursor: grab;
  user-select: none;
  caret-color: transparent;
}
.st-block--text.st-text-editing > .st-text-edit[contenteditable="true"]{
  cursor: text;
  user-select: text;
  caret-color: auto;
}

/* =========================================================
   Interaction modes (Figma-like)
   ---------------------------------------------------------
   - Move mode: everything is draggable/resizable => grab cursor
   - Edit mode: only the active text editor is editable; DnD/resize disabled
   ========================================================= */
html.st-mode-move #st-site-header-slot .st-block--icon,
html.st-mode-move #st-site-header-slot .st-block--menu,
html.st-mode-move #st-site-header-slot .st-block--text:not(.st-text-editing){
  cursor: grab;
}
html.st-mode-move #st-site-header-slot .st-block--icon *,
html.st-mode-move #st-site-header-slot .st-block--menu *,
html.st-mode-move #st-site-header-slot .st-block--text:not(.st-text-editing) *{
  cursor: inherit;
}

/* In move mode we set `cursor: inherit` for block descendants.
   Ensure resize handles still show proper resize cursors so it's clear
   where resizing starts. */
html.st-mode-move #st-site-header-slot .st-resize--n { cursor: ns-resize !important; }
html.st-mode-move #st-site-header-slot .st-resize--s { cursor: ns-resize !important; }
html.st-mode-move #st-site-header-slot .st-resize--w { cursor: ew-resize !important; }
html.st-mode-move #st-site-header-slot .st-resize--e { cursor: ew-resize !important; }
html.st-mode-move #st-site-header-slot .st-resize--nw { cursor: nwse-resize !important; }
html.st-mode-move #st-site-header-slot .st-resize--ne { cursor: nesw-resize !important; }
html.st-mode-move #st-site-header-slot .st-resize--sw { cursor: nesw-resize !important; }
html.st-mode-move #st-site-header-slot .st-resize--se { cursor: nwse-resize !important; }

/* ✅ Hug mode: the block height should follow the actual text content.
   We remove the artificial inner min-height so a single line doesn't look "too tall". */
.st-block--text[data-st-size-mode="hug"] > .st-text-edit,
.st-block--text[data-size-mode="hug"] > .st-text-edit{
  min-height: 0px;
  height: auto;
}

/* =============================
   ICON BLOCK (MVP)
   ============================= */
.st-block--icon {
  display: flex;
  align-items: center;
  justify-content: center;
  /* IMPORTANT: must not block manual shrink in Custom mode */
  min-height: var(--st-icon-block-min-h, 44px);

  /* Icon Style Contract (shared)
     Controlled by the Design → Icons → Styles widget.
  */
  --st-icon-size: 32px;
  --st-icon-pad-y: 0px;
  --st-icon-pad-x: 0px;
  --st-icon-bg: transparent;
  --st-icon-bw: 0px;
  --st-icon-bc: transparent;
  --st-icon-radius: 0px;
  --st-icon-shadow: none;

  /* Hover variants */
  --st-icon-color-h: unset;
  --st-icon-bg-h: unset;
  --st-icon-bc-h: unset;
  --st-icon-shadow-h: unset;
}

/* ✅ Allow vertical shrink in Custom for icon blocks */
.st-block--icon[data-st-size-mode="custom"]{
  --st-icon-block-min-h: 0px;
}

.st-block--icon > .st-icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;

  /* icon capsule */
  padding: var(--st-icon-pad-y) var(--st-icon-pad-x);
  background: var(--st-icon-bg);
  border: var(--st-icon-bw) solid var(--st-icon-bc);
  border-radius: var(--st-icon-radius);
  box-shadow: var(--st-icon-shadow);
  box-sizing: border-box;
}

/* Hover: canvas icons */
.st-block--icon:hover{ color: var(--st-icon-color-h, currentColor); }
.st-block--icon:hover > .st-icon-wrap{
  background: var(--st-icon-bg-h, var(--st-icon-bg));
  border-color: var(--st-icon-bc-h, var(--st-icon-bc));
  box-shadow: var(--st-icon-shadow-h, var(--st-icon-shadow));
}

.st-block--icon > .st-icon-wrap svg {
  width: var(--st-icon-size);
  height: var(--st-icon-size);
  display: block;
  /* для lucide: stroke="currentColor" */
  color: inherit;
}

/* ---------------------------------------------------------
   MENU BLOCK (Big Menu / Burger Menu)
   --------------------------------------------------------- */

.st-block--menu{
  --st-menu-gap: 14px;
  --st-menu-pad-y: 8px;
  --st-menu-pad-x: 10px;
  --st-menu-radius: 12px;
  --st-menu-link-color: rgba(226,232,240,0.95);
  --st-menu-caret-color: #ffffff;
  --st-menu-link-color-h: rgba(255,255,255,0.98);
  --st-menu-bg-h: rgba(255,255,255,0.06);
  --st-menu-border-h: rgba(148,163,184,0.25);
  --st-menu-icon-size: 16px;

  /*
    MENU style cascade:
    - Menu block sets vars for ALL items
    - Each item can override the same vars locally (stronger)
  */
  --st-menu-item-bg: transparent;
  --st-menu-item-bc: transparent;
  --st-menu-item-bc-h: var(--st-menu-border-h);
  --st-menu-item-bw: 1px;
  --st-menu-item-bs: solid;
  --st-menu-item-shadow: none;
  --st-menu-item-shadow-h: var(--st-menu-item-shadow);
  --st-menu-item-rtl: var(--st-menu-radius);
  --st-menu-item-rtr: var(--st-menu-radius);
  --st-menu-item-rbr: var(--st-menu-radius);
  --st-menu-item-rbl: var(--st-menu-radius);
  --st-menu-item-bg-h: var(--st-menu-bg-h);
}

.st-block--menu{ overflow:visible; z-index:40; }
.st-block--menu .st-menu{ display:block; width:100%; height:auto; min-height:0; max-height:none; }
.st-block--menu .st-menu__list{ list-style:none; padding:0; margin:0; display:flex; gap:var(--st-menu-gap); background:var(--st-menu-lc-bg, transparent); border-color:var(--st-menu-lc-bc, transparent); border-style:var(--st-menu-lc-bs, solid); border-width:var(--st-menu-lc-bw, 0px); border-radius:var(--st-menu-lc-br, 0px); box-shadow:var(--st-menu-lc-shadow, none); }
.st-block--menu .st-menu--big > .st-menu__list,
.st-block--menu .st-menu--burger > .st-menu__panel > .st-menu__list,
.st-block--menu .st-menu > .st-menu__list{
  justify-content:var(--st-menu-root-justify, flex-start);
  align-items:var(--st-menu-root-align, center);
  gap:var(--st-menu-root-gap, var(--st-menu-gap, 14px));
  padding:var(--st-menu-root-pad-y, 0px) var(--st-menu-root-pad-x, 0px);
  width:100%;
  min-height:0;
  box-sizing:border-box;
}
.st-block--menu .st-menu__item:hover > .st-menu__list{ background:var(--st-menu-lc-h-bg, var(--st-menu-lc-bg, transparent)); border-color:var(--st-menu-lc-h-bc, var(--st-menu-lc-bc, transparent)); border-style:var(--st-menu-lc-h-bs, var(--st-menu-lc-bs, solid)); border-width:var(--st-menu-lc-h-bw, var(--st-menu-lc-bw, 0px)); border-radius:var(--st-menu-lc-h-br, var(--st-menu-lc-br, 0px)); box-shadow:var(--st-menu-lc-h-shadow, var(--st-menu-lc-shadow, none)); }
.st-block--menu .st-menu__item.is-open > .st-menu__list,
.st-block--menu .st-menu__sublist.st-menu__sublist--owner-open{ background:var(--st-menu-lc-o-bg, var(--st-menu-lc-bg, transparent)); border-color:var(--st-menu-lc-o-bc, var(--st-menu-lc-bc, transparent)); border-style:var(--st-menu-lc-o-bs, var(--st-menu-lc-bs, solid)); border-width:var(--st-menu-lc-o-bw, var(--st-menu-lc-bw, 0px)); border-radius:var(--st-menu-lc-o-br, var(--st-menu-lc-br, 0px)); box-shadow:var(--st-menu-lc-o-shadow, var(--st-menu-lc-shadow, none)); }
.st-block--menu .st-menu__item.st-menu__item--current > .st-menu__list,
.st-block--menu .st-menu__sublist.st-menu__sublist--owner-current{ background:var(--st-menu-lc-c-bg, var(--st-menu-lc-bg, transparent)); border-color:var(--st-menu-lc-c-bc, var(--st-menu-lc-bc, transparent)); border-style:var(--st-menu-lc-c-bs, var(--st-menu-lc-bs, solid)); border-width:var(--st-menu-lc-c-bw, var(--st-menu-lc-bw, 0px)); border-radius:var(--st-menu-lc-c-br, var(--st-menu-lc-br, 0px)); box-shadow:var(--st-menu-lc-c-shadow, var(--st-menu-lc-shadow, none)); }
.st-block--menu[data-menu-level1-direction="row"] .st-menu--big > .st-menu__list,
.st-block--menu[data-menu-level1-direction="row"] .st-menu--burger > .st-menu__panel > .st-menu__list,
.st-block--menu[data-menu-level1-direction="row"] .st-menu > .st-menu__list{ flex-direction:row; flex-wrap:wrap; align-items:var(--st-menu-root-align, center); }
.st-block--menu[data-menu-level1-direction="column"] .st-menu--big > .st-menu__list,
.st-block--menu[data-menu-level1-direction="column"] .st-menu--burger > .st-menu__panel > .st-menu__list,
.st-block--menu[data-menu-level1-direction="column"] .st-menu > .st-menu__list{ flex-direction:column; flex-wrap:nowrap; align-items:var(--st-menu-root-align, stretch); }
.st-block--menu .st-menu__item{ display:block; position:relative; }
.st-block--menu .st-menu__sublist{ list-style:none; margin:0; padding:0; }
.st-block--menu .st-menu--big{ position:relative; overflow:visible; z-index:1; }

.st-block--menu .st-menu__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  color:inherit;
  line-height:0;
}
.st-block--menu .st-menu__icon svg{
  display:block;
  width:var(--st-menu-icon-size, 16px);
  height:var(--st-menu-icon-size, 16px);
  color:inherit;
  stroke:currentColor;
  fill:none;
  vector-effect:non-scaling-stroke;
}

.st-block--menu .st-menu__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:var(--st-menu-link-minh, auto);
  gap:8px;
  padding:var(--st-menu-pad-y, 8px) var(--st-menu-pad-x, 12px);
  border-top-left-radius:var(--st-menu-item-rtl, var(--st-menu-radius));
  border-top-right-radius:var(--st-menu-item-rtr, var(--st-menu-radius));
  border-bottom-right-radius:var(--st-menu-item-rbr, var(--st-menu-radius));
  border-bottom-left-radius:var(--st-menu-item-rbl, var(--st-menu-radius));
  color:var(--st-menu-link-color);
  text-decoration:none;
  border-style:var(--st-menu-item-bs, solid);
  border-color:var(--st-menu-item-bc, transparent);
  border-top-width:var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px));
  border-right-width:var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px));
  border-bottom-width:var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px));
  border-left-width:var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px));
  background:var(--st-menu-item-bg, transparent);
  box-shadow:var(--st-menu-item-shadow, none);

  /* Text style cascade (menu block -> all items, item overrides locally)
     We store these as CSS vars so menu-level styles can be applied without
     touching every item; item-level overrides win automatically.
  */
  font-size: var(--st-menu-link-fs, 16px);
  font-weight: var(--st-menu-link-fw, 400);
  font-style: var(--st-menu-link-fst, normal);
  text-shadow: var(--st-menu-link-ts, none);
  -webkit-text-stroke-width: var(--st-menu-link-sw, 0px);
  -webkit-text-stroke-color: var(--st-menu-link-sc, transparent);
  letter-spacing: var(--st-menu-link-ls, .1px);
  line-height: var(--st-menu-link-lh, 1);
}


.st-block--menu .st-menu__item[data-menu-depth="1"] > .st-menu__link{ background:var(--st-menu-l1-bg, var(--st-menu-item-bg, transparent)); color:var(--st-menu-l1-color, var(--st-menu-link-color)); font-size:var(--st-menu-l1-fs, var(--st-menu-link-fs, 16px)); border-color:var(--st-menu-l1-bc, var(--st-menu-item-bc, transparent)); border-style:var(--st-menu-l1-bs, var(--st-menu-item-bs, solid)); border-top-width:var(--st-menu-l1-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px))); border-right-width:var(--st-menu-l1-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px))); border-bottom-width:var(--st-menu-l1-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px))); border-left-width:var(--st-menu-l1-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px))); border-radius:var(--st-menu-l1-br, var(--st-menu-radius, 12px)); box-shadow:var(--st-menu-l1-shadow, var(--st-menu-item-shadow, none)); }
.st-block--menu .st-menu__item[data-menu-depth="2"] > .st-menu__link{ background:var(--st-menu-l2-bg, var(--st-menu-item-bg, transparent)); color:var(--st-menu-l2-color, var(--st-menu-link-color)); font-size:var(--st-menu-l2-fs, var(--st-menu-link-fs, 16px)); border-color:var(--st-menu-l2-bc, var(--st-menu-item-bc, transparent)); border-style:var(--st-menu-l2-bs, var(--st-menu-item-bs, solid)); border-top-width:var(--st-menu-l2-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px))); border-right-width:var(--st-menu-l2-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px))); border-bottom-width:var(--st-menu-l2-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px))); border-left-width:var(--st-menu-l2-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px))); border-radius:var(--st-menu-l2-br, var(--st-menu-radius, 12px)); box-shadow:var(--st-menu-l2-shadow, var(--st-menu-item-shadow, none)); }
.st-block--menu .st-menu__item[data-menu-depth="3"] > .st-menu__link{ background:var(--st-menu-l3-bg, var(--st-menu-item-bg, transparent)); color:var(--st-menu-l3-color, var(--st-menu-link-color)); font-size:var(--st-menu-l3-fs, var(--st-menu-link-fs, 16px)); border-color:var(--st-menu-l3-bc, var(--st-menu-item-bc, transparent)); border-style:var(--st-menu-l3-bs, var(--st-menu-item-bs, solid)); border-top-width:var(--st-menu-l3-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px))); border-right-width:var(--st-menu-l3-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px))); border-bottom-width:var(--st-menu-l3-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px))); border-left-width:var(--st-menu-l3-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px))); border-radius:var(--st-menu-l3-br, var(--st-menu-radius, 12px)); box-shadow:var(--st-menu-l3-shadow, var(--st-menu-item-shadow, none)); }
.st-block--menu .st-menu__item[data-menu-depth="4"] > .st-menu__link{ background:var(--st-menu-l4-bg, var(--st-menu-item-bg, transparent)); color:var(--st-menu-l4-color, var(--st-menu-link-color)); font-size:var(--st-menu-l4-fs, var(--st-menu-link-fs, 16px)); border-color:var(--st-menu-l4-bc, var(--st-menu-item-bc, transparent)); border-style:var(--st-menu-l4-bs, var(--st-menu-item-bs, solid)); border-top-width:var(--st-menu-l4-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px))); border-right-width:var(--st-menu-l4-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px))); border-bottom-width:var(--st-menu-l4-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px))); border-left-width:var(--st-menu-l4-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px))); border-radius:var(--st-menu-l4-br, var(--st-menu-radius, 12px)); box-shadow:var(--st-menu-l4-shadow, var(--st-menu-item-shadow, none)); }
.st-block--menu .st-menu__item[data-menu-depth="5"] > .st-menu__link{ background:var(--st-menu-l5-bg, var(--st-menu-item-bg, transparent)); color:var(--st-menu-l5-color, var(--st-menu-link-color)); font-size:var(--st-menu-l5-fs, var(--st-menu-link-fs, 16px)); border-color:var(--st-menu-l5-bc, var(--st-menu-item-bc, transparent)); border-style:var(--st-menu-l5-bs, var(--st-menu-item-bs, solid)); border-top-width:var(--st-menu-l5-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px))); border-right-width:var(--st-menu-l5-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px))); border-bottom-width:var(--st-menu-l5-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px))); border-left-width:var(--st-menu-l5-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px))); border-radius:var(--st-menu-l5-br, var(--st-menu-radius, 12px)); box-shadow:var(--st-menu-l5-shadow, var(--st-menu-item-shadow, none)); }
.st-block--menu .st-menu__item[data-menu-depth="6"] > .st-menu__link{ background:var(--st-menu-l6-bg, var(--st-menu-item-bg, transparent)); color:var(--st-menu-l6-color, var(--st-menu-link-color)); font-size:var(--st-menu-l6-fs, var(--st-menu-link-fs, 16px)); border-color:var(--st-menu-l6-bc, var(--st-menu-item-bc, transparent)); border-style:var(--st-menu-l6-bs, var(--st-menu-item-bs, solid)); border-top-width:var(--st-menu-l6-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px))); border-right-width:var(--st-menu-l6-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px))); border-bottom-width:var(--st-menu-l6-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px))); border-left-width:var(--st-menu-l6-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px))); border-radius:var(--st-menu-l6-br, var(--st-menu-radius, 12px)); box-shadow:var(--st-menu-l6-shadow, var(--st-menu-item-shadow, none)); }
.st-block--menu .st-menu__item[data-menu-depth="7"] > .st-menu__link{ background:var(--st-menu-l7-bg, var(--st-menu-item-bg, transparent)); color:var(--st-menu-l7-color, var(--st-menu-link-color)); font-size:var(--st-menu-l7-fs, var(--st-menu-link-fs, 16px)); border-color:var(--st-menu-l7-bc, var(--st-menu-item-bc, transparent)); border-style:var(--st-menu-l7-bs, var(--st-menu-item-bs, solid)); border-top-width:var(--st-menu-l7-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px))); border-right-width:var(--st-menu-l7-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px))); border-bottom-width:var(--st-menu-l7-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px))); border-left-width:var(--st-menu-l7-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px))); border-radius:var(--st-menu-l7-br, var(--st-menu-radius, 12px)); box-shadow:var(--st-menu-l7-shadow, var(--st-menu-item-shadow, none)); }
.st-block--menu .st-menu__item[data-menu-depth="8"] > .st-menu__link{ background:var(--st-menu-l8-bg, var(--st-menu-item-bg, transparent)); color:var(--st-menu-l8-color, var(--st-menu-link-color)); font-size:var(--st-menu-l8-fs, var(--st-menu-link-fs, 16px)); border-color:var(--st-menu-l8-bc, var(--st-menu-item-bc, transparent)); border-style:var(--st-menu-l8-bs, var(--st-menu-item-bs, solid)); border-top-width:var(--st-menu-l8-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px))); border-right-width:var(--st-menu-l8-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px))); border-bottom-width:var(--st-menu-l8-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px))); border-left-width:var(--st-menu-l8-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px))); border-radius:var(--st-menu-l8-br, var(--st-menu-radius, 12px)); box-shadow:var(--st-menu-l8-shadow, var(--st-menu-item-shadow, none)); }
.st-block--menu .st-menu__item[data-menu-depth="9"] > .st-menu__link{ background:var(--st-menu-l9-bg, var(--st-menu-item-bg, transparent)); color:var(--st-menu-l9-color, var(--st-menu-link-color)); font-size:var(--st-menu-l9-fs, var(--st-menu-link-fs, 16px)); border-color:var(--st-menu-l9-bc, var(--st-menu-item-bc, transparent)); border-style:var(--st-menu-l9-bs, var(--st-menu-item-bs, solid)); border-top-width:var(--st-menu-l9-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px))); border-right-width:var(--st-menu-l9-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px))); border-bottom-width:var(--st-menu-l9-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px))); border-left-width:var(--st-menu-l9-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px))); border-radius:var(--st-menu-l9-br, var(--st-menu-radius, 12px)); box-shadow:var(--st-menu-l9-shadow, var(--st-menu-item-shadow, none)); }
.st-block--menu .st-menu__item[data-menu-depth="10"] > .st-menu__link{ background:var(--st-menu-l10-bg, var(--st-menu-item-bg, transparent)); color:var(--st-menu-l10-color, var(--st-menu-link-color)); font-size:var(--st-menu-l10-fs, var(--st-menu-link-fs, 16px)); border-color:var(--st-menu-l10-bc, var(--st-menu-item-bc, transparent)); border-style:var(--st-menu-l10-bs, var(--st-menu-item-bs, solid)); border-top-width:var(--st-menu-l10-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px))); border-right-width:var(--st-menu-l10-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px))); border-bottom-width:var(--st-menu-l10-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px))); border-left-width:var(--st-menu-l10-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px))); border-radius:var(--st-menu-l10-br, var(--st-menu-radius, 12px)); box-shadow:var(--st-menu-l10-shadow, var(--st-menu-item-shadow, none)); }
.st-block--menu .st-menu__item[data-menu-depth="1"] > .st-menu__link:hover{ background:var(--st-menu-l1-h-bg, var(--st-menu-l1-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l1-h-color, var(--st-menu-l1-color, var(--st-menu-link-color-h, var(--st-menu-link-color)))); font-size:var(--st-menu-l1-h-fs, var(--st-menu-l1-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l1-h-bc, var(--st-menu-l1-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l1-h-bs, var(--st-menu-l1-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l1-h-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l1-h-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l1-h-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l1-h-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l1-h-br, var(--st-menu-l1-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l1-h-shadow, var(--st-menu-l1-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item[data-menu-depth="2"] > .st-menu__link:hover{ background:var(--st-menu-l2-h-bg, var(--st-menu-l2-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l2-h-color, var(--st-menu-l2-color, var(--st-menu-link-color-h, var(--st-menu-link-color)))); font-size:var(--st-menu-l2-h-fs, var(--st-menu-l2-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l2-h-bc, var(--st-menu-l2-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l2-h-bs, var(--st-menu-l2-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l2-h-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l2-h-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l2-h-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l2-h-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l2-h-br, var(--st-menu-l2-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l2-h-shadow, var(--st-menu-l2-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item[data-menu-depth="3"] > .st-menu__link:hover{ background:var(--st-menu-l3-h-bg, var(--st-menu-l3-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l3-h-color, var(--st-menu-l3-color, var(--st-menu-link-color-h, var(--st-menu-link-color)))); font-size:var(--st-menu-l3-h-fs, var(--st-menu-l3-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l3-h-bc, var(--st-menu-l3-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l3-h-bs, var(--st-menu-l3-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l3-h-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l3-h-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l3-h-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l3-h-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l3-h-br, var(--st-menu-l3-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l3-h-shadow, var(--st-menu-l3-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item[data-menu-depth="4"] > .st-menu__link:hover{ background:var(--st-menu-l4-h-bg, var(--st-menu-l4-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l4-h-color, var(--st-menu-l4-color, var(--st-menu-link-color-h, var(--st-menu-link-color)))); font-size:var(--st-menu-l4-h-fs, var(--st-menu-l4-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l4-h-bc, var(--st-menu-l4-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l4-h-bs, var(--st-menu-l4-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l4-h-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l4-h-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l4-h-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l4-h-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l4-h-br, var(--st-menu-l4-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l4-h-shadow, var(--st-menu-l4-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item[data-menu-depth="5"] > .st-menu__link:hover{ background:var(--st-menu-l5-h-bg, var(--st-menu-l5-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l5-h-color, var(--st-menu-l5-color, var(--st-menu-link-color-h, var(--st-menu-link-color)))); font-size:var(--st-menu-l5-h-fs, var(--st-menu-l5-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l5-h-bc, var(--st-menu-l5-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l5-h-bs, var(--st-menu-l5-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l5-h-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l5-h-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l5-h-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l5-h-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l5-h-br, var(--st-menu-l5-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l5-h-shadow, var(--st-menu-l5-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item[data-menu-depth="6"] > .st-menu__link:hover{ background:var(--st-menu-l6-h-bg, var(--st-menu-l6-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l6-h-color, var(--st-menu-l6-color, var(--st-menu-link-color-h, var(--st-menu-link-color)))); font-size:var(--st-menu-l6-h-fs, var(--st-menu-l6-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l6-h-bc, var(--st-menu-l6-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l6-h-bs, var(--st-menu-l6-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l6-h-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l6-h-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l6-h-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l6-h-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l6-h-br, var(--st-menu-l6-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l6-h-shadow, var(--st-menu-l6-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item[data-menu-depth="7"] > .st-menu__link:hover{ background:var(--st-menu-l7-h-bg, var(--st-menu-l7-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l7-h-color, var(--st-menu-l7-color, var(--st-menu-link-color-h, var(--st-menu-link-color)))); font-size:var(--st-menu-l7-h-fs, var(--st-menu-l7-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l7-h-bc, var(--st-menu-l7-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l7-h-bs, var(--st-menu-l7-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l7-h-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l7-h-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l7-h-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l7-h-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l7-h-br, var(--st-menu-l7-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l7-h-shadow, var(--st-menu-l7-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item[data-menu-depth="8"] > .st-menu__link:hover{ background:var(--st-menu-l8-h-bg, var(--st-menu-l8-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l8-h-color, var(--st-menu-l8-color, var(--st-menu-link-color-h, var(--st-menu-link-color)))); font-size:var(--st-menu-l8-h-fs, var(--st-menu-l8-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l8-h-bc, var(--st-menu-l8-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l8-h-bs, var(--st-menu-l8-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l8-h-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l8-h-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l8-h-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l8-h-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l8-h-br, var(--st-menu-l8-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l8-h-shadow, var(--st-menu-l8-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item[data-menu-depth="9"] > .st-menu__link:hover{ background:var(--st-menu-l9-h-bg, var(--st-menu-l9-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l9-h-color, var(--st-menu-l9-color, var(--st-menu-link-color-h, var(--st-menu-link-color)))); font-size:var(--st-menu-l9-h-fs, var(--st-menu-l9-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l9-h-bc, var(--st-menu-l9-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l9-h-bs, var(--st-menu-l9-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l9-h-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l9-h-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l9-h-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l9-h-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l9-h-br, var(--st-menu-l9-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l9-h-shadow, var(--st-menu-l9-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item[data-menu-depth="10"] > .st-menu__link:hover{ background:var(--st-menu-l10-h-bg, var(--st-menu-l10-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l10-h-color, var(--st-menu-l10-color, var(--st-menu-link-color-h, var(--st-menu-link-color)))); font-size:var(--st-menu-l10-h-fs, var(--st-menu-l10-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l10-h-bc, var(--st-menu-l10-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l10-h-bs, var(--st-menu-l10-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l10-h-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l10-h-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l10-h-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l10-h-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l10-h-br, var(--st-menu-l10-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l10-h-shadow, var(--st-menu-l10-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item.is-open[data-menu-depth="1"] > .st-menu__link, .st-block--menu .st-menu__item.is-open[data-menu-depth="1"] > .st-menu__link:hover{ background:var(--st-menu-l1-o-bg, var(--st-menu-l1-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l1-o-color, var(--st-menu-l1-color, var(--st-menu-link-color))); font-size:var(--st-menu-l1-o-fs, var(--st-menu-l1-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l1-o-bc, var(--st-menu-l1-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l1-o-bs, var(--st-menu-l1-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l1-o-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l1-o-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l1-o-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l1-o-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l1-o-br, var(--st-menu-l1-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l1-o-shadow, var(--st-menu-l1-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item.is-open[data-menu-depth="2"] > .st-menu__link, .st-block--menu .st-menu__item.is-open[data-menu-depth="2"] > .st-menu__link:hover{ background:var(--st-menu-l2-o-bg, var(--st-menu-l2-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l2-o-color, var(--st-menu-l2-color, var(--st-menu-link-color))); font-size:var(--st-menu-l2-o-fs, var(--st-menu-l2-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l2-o-bc, var(--st-menu-l2-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l2-o-bs, var(--st-menu-l2-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l2-o-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l2-o-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l2-o-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l2-o-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l2-o-br, var(--st-menu-l2-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l2-o-shadow, var(--st-menu-l2-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item.is-open[data-menu-depth="3"] > .st-menu__link, .st-block--menu .st-menu__item.is-open[data-menu-depth="3"] > .st-menu__link:hover{ background:var(--st-menu-l3-o-bg, var(--st-menu-l3-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l3-o-color, var(--st-menu-l3-color, var(--st-menu-link-color))); font-size:var(--st-menu-l3-o-fs, var(--st-menu-l3-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l3-o-bc, var(--st-menu-l3-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l3-o-bs, var(--st-menu-l3-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l3-o-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l3-o-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l3-o-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l3-o-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l3-o-br, var(--st-menu-l3-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l3-o-shadow, var(--st-menu-l3-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item.is-open[data-menu-depth="4"] > .st-menu__link, .st-block--menu .st-menu__item.is-open[data-menu-depth="4"] > .st-menu__link:hover{ background:var(--st-menu-l4-o-bg, var(--st-menu-l4-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l4-o-color, var(--st-menu-l4-color, var(--st-menu-link-color))); font-size:var(--st-menu-l4-o-fs, var(--st-menu-l4-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l4-o-bc, var(--st-menu-l4-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l4-o-bs, var(--st-menu-l4-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l4-o-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l4-o-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l4-o-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l4-o-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l4-o-br, var(--st-menu-l4-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l4-o-shadow, var(--st-menu-l4-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item.is-open[data-menu-depth="5"] > .st-menu__link, .st-block--menu .st-menu__item.is-open[data-menu-depth="5"] > .st-menu__link:hover{ background:var(--st-menu-l5-o-bg, var(--st-menu-l5-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l5-o-color, var(--st-menu-l5-color, var(--st-menu-link-color))); font-size:var(--st-menu-l5-o-fs, var(--st-menu-l5-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l5-o-bc, var(--st-menu-l5-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l5-o-bs, var(--st-menu-l5-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l5-o-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l5-o-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l5-o-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l5-o-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l5-o-br, var(--st-menu-l5-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l5-o-shadow, var(--st-menu-l5-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item.is-open[data-menu-depth="6"] > .st-menu__link, .st-block--menu .st-menu__item.is-open[data-menu-depth="6"] > .st-menu__link:hover{ background:var(--st-menu-l6-o-bg, var(--st-menu-l6-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l6-o-color, var(--st-menu-l6-color, var(--st-menu-link-color))); font-size:var(--st-menu-l6-o-fs, var(--st-menu-l6-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l6-o-bc, var(--st-menu-l6-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l6-o-bs, var(--st-menu-l6-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l6-o-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l6-o-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l6-o-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l6-o-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l6-o-br, var(--st-menu-l6-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l6-o-shadow, var(--st-menu-l6-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item.is-open[data-menu-depth="7"] > .st-menu__link, .st-block--menu .st-menu__item.is-open[data-menu-depth="7"] > .st-menu__link:hover{ background:var(--st-menu-l7-o-bg, var(--st-menu-l7-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l7-o-color, var(--st-menu-l7-color, var(--st-menu-link-color))); font-size:var(--st-menu-l7-o-fs, var(--st-menu-l7-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l7-o-bc, var(--st-menu-l7-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l7-o-bs, var(--st-menu-l7-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l7-o-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l7-o-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l7-o-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l7-o-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l7-o-br, var(--st-menu-l7-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l7-o-shadow, var(--st-menu-l7-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item.is-open[data-menu-depth="8"] > .st-menu__link, .st-block--menu .st-menu__item.is-open[data-menu-depth="8"] > .st-menu__link:hover{ background:var(--st-menu-l8-o-bg, var(--st-menu-l8-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l8-o-color, var(--st-menu-l8-color, var(--st-menu-link-color))); font-size:var(--st-menu-l8-o-fs, var(--st-menu-l8-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l8-o-bc, var(--st-menu-l8-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l8-o-bs, var(--st-menu-l8-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l8-o-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l8-o-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l8-o-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l8-o-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l8-o-br, var(--st-menu-l8-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l8-o-shadow, var(--st-menu-l8-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item.is-open[data-menu-depth="9"] > .st-menu__link, .st-block--menu .st-menu__item.is-open[data-menu-depth="9"] > .st-menu__link:hover{ background:var(--st-menu-l9-o-bg, var(--st-menu-l9-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l9-o-color, var(--st-menu-l9-color, var(--st-menu-link-color))); font-size:var(--st-menu-l9-o-fs, var(--st-menu-l9-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l9-o-bc, var(--st-menu-l9-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l9-o-bs, var(--st-menu-l9-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l9-o-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l9-o-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l9-o-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l9-o-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l9-o-br, var(--st-menu-l9-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l9-o-shadow, var(--st-menu-l9-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item.is-open[data-menu-depth="10"] > .st-menu__link, .st-block--menu .st-menu__item.is-open[data-menu-depth="10"] > .st-menu__link:hover{ background:var(--st-menu-l10-o-bg, var(--st-menu-l10-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l10-o-color, var(--st-menu-l10-color, var(--st-menu-link-color))); font-size:var(--st-menu-l10-o-fs, var(--st-menu-l10-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l10-o-bc, var(--st-menu-l10-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l10-o-bs, var(--st-menu-l10-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l10-o-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l10-o-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l10-o-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l10-o-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l10-o-br, var(--st-menu-l10-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l10-o-shadow, var(--st-menu-l10-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="1"] > .st-menu__link, .st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="1"] > .st-menu__link:hover{ background:var(--st-menu-l1-c-bg, var(--st-menu-l1-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l1-c-color, var(--st-menu-l1-color, var(--st-menu-link-color))); font-size:var(--st-menu-l1-c-fs, var(--st-menu-l1-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l1-c-bc, var(--st-menu-l1-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l1-c-bs, var(--st-menu-l1-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l1-c-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l1-c-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l1-c-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l1-c-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l1-c-br, var(--st-menu-l1-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l1-c-shadow, var(--st-menu-l1-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="2"] > .st-menu__link, .st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="2"] > .st-menu__link:hover{ background:var(--st-menu-l2-c-bg, var(--st-menu-l2-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l2-c-color, var(--st-menu-l2-color, var(--st-menu-link-color))); font-size:var(--st-menu-l2-c-fs, var(--st-menu-l2-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l2-c-bc, var(--st-menu-l2-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l2-c-bs, var(--st-menu-l2-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l2-c-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l2-c-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l2-c-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l2-c-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l2-c-br, var(--st-menu-l2-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l2-c-shadow, var(--st-menu-l2-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="3"] > .st-menu__link, .st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="3"] > .st-menu__link:hover{ background:var(--st-menu-l3-c-bg, var(--st-menu-l3-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l3-c-color, var(--st-menu-l3-color, var(--st-menu-link-color))); font-size:var(--st-menu-l3-c-fs, var(--st-menu-l3-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l3-c-bc, var(--st-menu-l3-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l3-c-bs, var(--st-menu-l3-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l3-c-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l3-c-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l3-c-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l3-c-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l3-c-br, var(--st-menu-l3-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l3-c-shadow, var(--st-menu-l3-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="4"] > .st-menu__link, .st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="4"] > .st-menu__link:hover{ background:var(--st-menu-l4-c-bg, var(--st-menu-l4-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l4-c-color, var(--st-menu-l4-color, var(--st-menu-link-color))); font-size:var(--st-menu-l4-c-fs, var(--st-menu-l4-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l4-c-bc, var(--st-menu-l4-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l4-c-bs, var(--st-menu-l4-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l4-c-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l4-c-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l4-c-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l4-c-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l4-c-br, var(--st-menu-l4-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l4-c-shadow, var(--st-menu-l4-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="5"] > .st-menu__link, .st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="5"] > .st-menu__link:hover{ background:var(--st-menu-l5-c-bg, var(--st-menu-l5-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l5-c-color, var(--st-menu-l5-color, var(--st-menu-link-color))); font-size:var(--st-menu-l5-c-fs, var(--st-menu-l5-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l5-c-bc, var(--st-menu-l5-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l5-c-bs, var(--st-menu-l5-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l5-c-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l5-c-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l5-c-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l5-c-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l5-c-br, var(--st-menu-l5-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l5-c-shadow, var(--st-menu-l5-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="6"] > .st-menu__link, .st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="6"] > .st-menu__link:hover{ background:var(--st-menu-l6-c-bg, var(--st-menu-l6-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l6-c-color, var(--st-menu-l6-color, var(--st-menu-link-color))); font-size:var(--st-menu-l6-c-fs, var(--st-menu-l6-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l6-c-bc, var(--st-menu-l6-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l6-c-bs, var(--st-menu-l6-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l6-c-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l6-c-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l6-c-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l6-c-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l6-c-br, var(--st-menu-l6-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l6-c-shadow, var(--st-menu-l6-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="7"] > .st-menu__link, .st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="7"] > .st-menu__link:hover{ background:var(--st-menu-l7-c-bg, var(--st-menu-l7-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l7-c-color, var(--st-menu-l7-color, var(--st-menu-link-color))); font-size:var(--st-menu-l7-c-fs, var(--st-menu-l7-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l7-c-bc, var(--st-menu-l7-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l7-c-bs, var(--st-menu-l7-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l7-c-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l7-c-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l7-c-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l7-c-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l7-c-br, var(--st-menu-l7-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l7-c-shadow, var(--st-menu-l7-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="8"] > .st-menu__link, .st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="8"] > .st-menu__link:hover{ background:var(--st-menu-l8-c-bg, var(--st-menu-l8-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l8-c-color, var(--st-menu-l8-color, var(--st-menu-link-color))); font-size:var(--st-menu-l8-c-fs, var(--st-menu-l8-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l8-c-bc, var(--st-menu-l8-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l8-c-bs, var(--st-menu-l8-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l8-c-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l8-c-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l8-c-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l8-c-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l8-c-br, var(--st-menu-l8-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l8-c-shadow, var(--st-menu-l8-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="9"] > .st-menu__link, .st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="9"] > .st-menu__link:hover{ background:var(--st-menu-l9-c-bg, var(--st-menu-l9-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l9-c-color, var(--st-menu-l9-color, var(--st-menu-link-color))); font-size:var(--st-menu-l9-c-fs, var(--st-menu-l9-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l9-c-bc, var(--st-menu-l9-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l9-c-bs, var(--st-menu-l9-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l9-c-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l9-c-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l9-c-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l9-c-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l9-c-br, var(--st-menu-l9-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l9-c-shadow, var(--st-menu-l9-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="10"] > .st-menu__link, .st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="10"] > .st-menu__link:hover{ background:var(--st-menu-l10-c-bg, var(--st-menu-l10-bg, var(--st-menu-item-bg, transparent))); color:var(--st-menu-l10-c-color, var(--st-menu-l10-color, var(--st-menu-link-color))); font-size:var(--st-menu-l10-c-fs, var(--st-menu-l10-fs, var(--st-menu-link-fs, 16px))); border-color:var(--st-menu-l10-c-bc, var(--st-menu-l10-bc, var(--st-menu-item-bc, transparent))); border-style:var(--st-menu-l10-c-bs, var(--st-menu-l10-bs, var(--st-menu-item-bs, solid))); border-top-width:var(--st-menu-l10-c-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))); border-right-width:var(--st-menu-l10-c-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))); border-bottom-width:var(--st-menu-l10-c-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))); border-left-width:var(--st-menu-l10-c-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))); border-radius:var(--st-menu-l10-c-br, var(--st-menu-l10-br, var(--st-menu-radius, 12px))); box-shadow:var(--st-menu-l10-c-shadow, var(--st-menu-l10-shadow, var(--st-menu-item-shadow, none))); }
.st-block--menu[data-menu-submenu-view="dropdown"] .st-menu--big .st-menu__sublist{
  position:absolute;
  top:calc(100% + var(--st-menu-submenu-offset-y, 0px));
  left:0;
  right:auto;
  transform:none;
  min-width:var(--st-menu-submenu-minw, 220px);
  width:auto;
  display:none;
  flex-direction:column;
  align-items:stretch;
  gap:6px;
  padding:10px;
  border-radius:16px;
  border:1px solid rgba(148,163,184,0.22);
  background:rgba(2,6,23,0.96);
  backdrop-filter:blur(10px);
  box-shadow:0 18px 40px rgba(0,0,0,0.40);
  transform:none;
  z-index:9999;
}

.st-block--menu[data-menu-submenu-view="dropdown"][data-menu-submenu-align="center"] .st-menu--big .st-menu__item--has-children > .st-menu__sublist{
  left:50%;
  right:auto;
  transform:translateX(-50%);
}
.st-block--menu[data-menu-submenu-view="dropdown"][data-menu-submenu-align="right"] .st-menu--big .st-menu__item--has-children > .st-menu__sublist{
  left:auto;
  right:0;
  transform:none;
}
.st-block--menu[data-menu-submenu-view="dropdown"][data-menu-submenu-align="auto"] .st-menu--big .st-menu__item--has-children > .st-menu__sublist{
  left:0;
  right:auto;
  transform:none;
}

.st-block--menu[data-menu-submenu-view="dropdown"][data-menu-submenu-width-mode="parent"] .st-menu--big .st-menu__item--has-children > .st-menu__sublist{
  width:max(100%, var(--st-menu-submenu-minw, 220px));
}
.st-block--menu[data-menu-submenu-view="dropdown"][data-menu-submenu-width-mode="custom"] .st-menu--big .st-menu__item--has-children > .st-menu__sublist{
  width:max(var(--st-menu-submenu-customw, 320px), var(--st-menu-submenu-minw, 220px));
}

.st-block--menu[data-menu-submenu-view="dropdown"][data-menu-submenu-width-mode="content"] .st-menu--big > .st-menu__list > .st-menu__item--has-children > .st-menu__sublist{
  width:max-content;
  max-width:none;
}
.st-block--menu[data-menu-submenu-view="dropdown"][data-menu-level2-direction="row"] .st-menu--big > .st-menu__list > .st-menu__item--has-children > .st-menu__sublist,
.st-block--menu[data-menu-submenu-view="dropdown"][data-menu-level3-direction="row"] .st-menu--big .st-menu__sublist .st-menu__sublist{
  width:max-content;
  max-width:none;
}
.st-block--menu[data-menu-submenu-view="dropdown"] .st-menu--big .st-menu__sublist .st-menu__item--has-children > .st-menu__sublist{
  top:var(--st-menu-level3-offset-y, 0px);
  left:calc(100% + var(--st-menu-level3-offset-x, 0px));
  right:auto;
  min-width:var(--st-menu-level3-minw, 220px);
  z-index:10000;
}
.st-block--menu[data-menu-submenu-view="dropdown"] .st-menu--big .st-menu__sublist .st-menu__item--has-children.st-menu__item--flyout-left > .st-menu__sublist{
  left:auto;
  right:calc(100% + var(--st-menu-level3-offset-x, 0px));
}
.st-block--menu[data-menu-submenu-view="dropdown"] .st-menu--big .st-menu__sublist .st-menu__item--has-children.st-menu__item--flyout-right > .st-menu__sublist{
  left:calc(100% + var(--st-menu-level3-offset-x, 0px));
  right:auto;
}
.st-block--menu[data-menu-submenu-view="dropdown"] .st-menu--big .st-menu__sublist .st-menu__item--has-children > .st-menu__sublist{
  width:auto;
}
.st-block--menu[data-menu-submenu-view="dropdown"][data-menu-level3-width-mode="parent"] .st-menu--big .st-menu__sublist .st-menu__item--has-children > .st-menu__sublist{
  width:max(100%, var(--st-menu-level3-minw, 220px));
}
.st-block--menu[data-menu-submenu-view="dropdown"][data-menu-level3-width-mode="custom"] .st-menu--big .st-menu__sublist .st-menu__item--has-children > .st-menu__sublist{
  width:max(var(--st-menu-level3-customw, 320px), var(--st-menu-level3-minw, 220px));
}
.st-block--menu[data-menu-submenu-view="dropdown"][data-menu-level3-width-mode="content"] .st-menu--big .st-menu__sublist .st-menu__item--has-children > .st-menu__sublist{
  width:max-content;
  max-width:none;
}
.st-block--menu[data-menu-submenu-view="inline"] .st-menu--big .st-menu__sublist{
  position:static;
  display:none;
  flex-direction:column;
  align-items:stretch;
  gap:6px;
  padding:8px 0 0 16px;
  margin-top:6px;
}

.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big{ position:relative; overflow:visible; }
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big > .st-menu__list > .st-menu__item{ position:static; }
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big > .st-menu__list > .st-menu__item > .st-menu__sublist.st-menu__mega{
  position:absolute;
  top:calc(100% + var(--st-menu-submenu-offset-y, 0px));
  left:0;
  right:auto;
  transform:none;
  min-width:max(640px, var(--st-menu-submenu-minw, 220px));
  width:max-content;
  max-width:min(1100px, calc(100vw - 32px));
  display:none;
  grid-template-columns:var(--st-menu-mega-grid-cols, repeat(auto-fit, minmax(160px, 1fr)));
  gap:var(--st-menu-mega-gap, 24px);
  padding:24px 28px;
  border:none;
  border-radius:var(--st-menu-mega-panel-blur-radius-shape, var(--st-menu-mega-panel-blur-radius, var(--st-menu-mega-panel-border-radius, var(--st-menu-mega-panel-radius, 18px))));
  background:transparent;
  box-shadow:var(--st-menu-mega-panel-shadow, 0 22px 48px rgba(0,0,0,0.42));
  box-sizing:border-box;
  z-index:9999;
  list-style:none;
  margin:0;
  overflow:hidden;
  isolation:isolate;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big > .st-menu__list > .st-menu__item > .st-menu__sublist.st-menu__mega::after,
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big > .st-menu__list > .st-menu__item > .st-menu__sublist.st-menu__mega::before{
  content:"";
  position:absolute;
  pointer-events:none;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big > .st-menu__list > .st-menu__item > .st-menu__sublist.st-menu__mega::after{
  inset:0;
  z-index:0;
  box-sizing:border-box;
  border:var(--st-menu-mega-panel-border-width, 1px) solid var(--st-menu-mega-panel-border-color, rgba(148,163,184,0.22));
  border-radius:var(--st-menu-mega-panel-border-radius-shape, var(--st-menu-mega-panel-border-radius, var(--st-menu-mega-panel-radius, 18px)));
  background:var(--st-menu-mega-panel-bg, transparent);
  background-clip:padding-box;
  opacity:var(--st-menu-mega-panel-surface-opacity, 1);
  -webkit-backdrop-filter:blur(var(--st-menu-mega-panel-blur, 0px));
  backdrop-filter:blur(var(--st-menu-mega-panel-blur, 0px));
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big > .st-menu__list > .st-menu__item > .st-menu__sublist.st-menu__mega::before{
  inset:var(--st-menu-mega-panel-border-width, 1px);
  z-index:1;
  border-radius:var(--st-menu-mega-panel-inner-radius-shape, max(0px, calc(var(--st-menu-mega-panel-radius, 18px) - var(--st-menu-mega-panel-border-width, 1px))));
  background:var(--st-menu-mega-bg-layer, none);
  background-repeat:var(--st-menu-mega-bg-repeat, no-repeat);
  background-position:var(--st-menu-mega-bg-position, center center);
  background-size:var(--st-menu-mega-bg-size, cover);
  opacity:var(--st-menu-mega-bg-layer-effective-opacity, var(--st-menu-mega-bg-layer-opacity, 1));
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big > .st-menu__list > .st-menu__item > .st-menu__sublist.st-menu__mega > *{
  position:relative;
  z-index:2;
}
.st-block--menu[data-menu-submenu-view="mega"][data-menu-submenu-width-mode="content"] .st-menu--big > .st-menu__list > .st-menu__item > .st-menu__sublist.st-menu__mega{
  width:max-content;
  max-width:min(1100px, calc(100vw - 32px));
}
.st-block--menu[data-menu-submenu-view="mega"][data-menu-submenu-width-mode="parent"] .st-menu--big > .st-menu__list > .st-menu__item > .st-menu__sublist.st-menu__mega{
  width:max(100%, var(--st-menu-submenu-minw, 220px));
  max-width:calc(100vw - 32px);
}
.st-block--menu[data-menu-submenu-view="mega"][data-menu-submenu-width-mode="custom"] .st-menu--big > .st-menu__list > .st-menu__item > .st-menu__sublist.st-menu__mega{
  width:min(max(var(--st-menu-submenu-customw, 320px), var(--st-menu-submenu-minw, 220px)), calc(100vw - 32px));
  max-width:calc(100vw - 32px);
}

.st-block--menu[data-menu-submenu-view="mega"][data-menu-mega-position="left"] .st-menu--big > .st-menu__list > .st-menu__item > .st-menu__sublist.st-menu__mega{
  left:calc(-1 * var(--st-menu-mega-offset-left, 0px));
  right:auto;
  transform:none;
}
.st-block--menu[data-menu-submenu-view="mega"][data-menu-mega-position="center"] .st-menu--big > .st-menu__list > .st-menu__item > .st-menu__sublist.st-menu__mega{
  left:50%;
  right:auto;
  transform:translateX(-50%);
}
.st-block--menu[data-menu-submenu-view="mega"][data-menu-mega-position="right"] .st-menu--big > .st-menu__list > .st-menu__item > .st-menu__sublist.st-menu__mega{
  left:auto;
  right:calc(-1 * var(--st-menu-mega-offset-right, 0px));
  transform:none;
}
.st-block--menu[data-menu-submenu-view="mega"][data-menu-mega-position="auto"] .st-menu--big > .st-menu__list > .st-menu__item > .st-menu__sublist.st-menu__mega{
  left:calc(-1 * var(--st-menu-mega-offset-left, 0px));
  right:auto;
  transform:none;
}
@media (max-width: 1200px){
  .st-block--menu[data-menu-submenu-view="mega"][data-menu-mega-position="auto"] .st-menu--big > .st-menu__list > .st-menu__item > .st-menu__sublist.st-menu__mega{
    left:auto;
    right:calc(-1 * var(--st-menu-mega-offset-right, 0px));
  }
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big > .st-menu__list > .st-menu__item > .st-menu__sublist.st-menu__mega > .st-menu__item{
  min-width:var(--st-menu-mega-col-minw, 160px);
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:var(--st-menu-mega-title-gap, 12px);
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega > .st-menu__item > .st-menu__link{
  width:100%;
  min-height:0;
  justify-content:flex-start;
  font-weight:800;
  line-height:1.3;
  letter-spacing:.01em;
  transition:background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease, opacity .18s ease;
  position:relative;
  overflow:visible;
  isolation:isolate;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega > .st-menu__item--mega-col > .st-menu__link::before,
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega > .st-menu__item--mega-col > .st-menu__link::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  pointer-events:none;
  display:none;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega > .st-menu__item--mega-col[data-mega-divider-mode="joined"] > .st-menu__link::before{
  display:block;
  bottom:0;
  height:var(--st-menu-mega-divider-width, 0px);
  border-radius:var(--st-menu-mega-divider-radius, 0px);
  background:var(--st-menu-mega-divider-color, transparent);
  border-radius:0 0 inherit inherit;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega > .st-menu__item--mega-col[data-mega-divider-mode="separate"] > .st-menu__link::after,
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega > .st-menu__item--mega-col[data-mega-divider-mode="split-separate"] > .st-menu__link::after{
  display:block;
  bottom:calc((var(--st-menu-mega-divider-gap, 12px) / -2) + (var(--st-menu-mega-divider-width, 0px) / -2));
  height:var(--st-menu-mega-divider-width, 0px);
  border-radius:var(--st-menu-mega-divider-radius, 0px);
  background:var(--st-menu-mega-divider-color, transparent);
  border-radius:999px;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega > .st-menu__item--mega-col[data-mega-divider-mode="split-separate"] > .st-menu__link::before{
  display:block;
  left:12px;
  right:12px;
  bottom:0;
  height:var(--st-menu-mega-divider-width, 0px);
  border-radius:var(--st-menu-mega-divider-radius, 0px);
  background:linear-gradient(to right,
    var(--st-menu-mega-divider-color, transparent) 0 calc(50% - 18px),
    transparent calc(50% - 18px) calc(50% + 18px),
    var(--st-menu-mega-divider-color, transparent) calc(50% + 18px) 100%
  );
  border-radius:999px;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega > .st-menu__item > .st-menu__link .st-menu__caret{ display:none; }
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega-links,
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega-links .st-menu__sublist{
  position:static;
  left:auto;
  right:auto;
  top:auto;
  min-width:0;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:var(--st-menu-mega-link-gap, 8px);
  padding:0;
  margin:0;
  list-style:none;
  border-color:var(--st-menu-lc-bc, transparent);
  border-style:var(--st-menu-lc-bs, solid);
  border-width:var(--st-menu-lc-bw, 0px);
  border-radius:var(--st-menu-lc-br, 0px);
  background:var(--st-menu-lc-bg, transparent);
  box-shadow:var(--st-menu-lc-shadow, none);
  transform:none;
}

.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__item--mega-shared-area,
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__item--mega-branch-shared-area{
  border-color:var(--st-menu-lc-bc, transparent);
  border-style:var(--st-menu-lc-bs, solid);
  border-width:var(--st-menu-lc-bw, 0px);
  border-radius:var(--st-menu-lc-br, 0px);
  background:var(--st-menu-lc-bg, transparent);
  box-shadow:var(--st-menu-lc-shadow, none);
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__item--mega-shared-area.st-menu__sublist--owner-open,
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__item--mega-branch-shared-area.st-menu__sublist--owner-open{
  border-color:var(--st-menu-lc-o-bc, var(--st-menu-lc-bc, transparent));
  border-style:var(--st-menu-lc-o-bs, var(--st-menu-lc-bs, solid));
  border-width:var(--st-menu-lc-o-bw, var(--st-menu-lc-bw, 0px));
  border-radius:var(--st-menu-lc-o-br, var(--st-menu-lc-br, 0px));
  background:var(--st-menu-lc-o-bg, var(--st-menu-lc-bg, transparent));
  box-shadow:var(--st-menu-lc-o-shadow, var(--st-menu-lc-shadow, none));
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__item--mega-shared-area.st-menu__sublist--owner-current,
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__item--mega-branch-shared-area.st-menu__sublist--owner-current{
  border-color:var(--st-menu-lc-c-bc, var(--st-menu-lc-bc, transparent));
  border-style:var(--st-menu-lc-c-bs, var(--st-menu-lc-bs, solid));
  border-width:var(--st-menu-lc-c-bw, var(--st-menu-lc-bw, 0px));
  border-radius:var(--st-menu-lc-c-br, var(--st-menu-lc-br, 0px));
  background:var(--st-menu-lc-c-bg, var(--st-menu-lc-bg, transparent));
  box-shadow:var(--st-menu-lc-c-shadow, var(--st-menu-lc-shadow, none));
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega-links .st-menu__item{ position:static; }
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega-links .st-menu__item > .st-menu__link{
  width:100%;
  min-height:0;
  justify-content:flex-start;
  transition:background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega-links .st-menu__item > .st-menu__link:hover,
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega-links .st-menu__item--current > .st-menu__link,
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega-links .st-menu__item.is-open > .st-menu__link{
  transform:translateX(2px);
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega-links .st-menu__item--has-children > .st-menu__link .st-menu__caret{ display:none; }
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega-links .st-menu__item > .st-menu__sublist.st-menu__mega-branch{
  margin-top:var(--st-menu-mega-nested-gap, 8px);
  padding-left:var(--st-menu-mega-nested-indent, 14px);
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega-links.st-menu__mega-links--with-branch{
  display:grid !important;
  grid-template-columns:minmax(var(--st-menu-level3-minw, 220px), 1fr) minmax(var(--st-menu-level3-minw, 220px), 1fr);
  column-gap:var(--st-menu-mega-gap, 24px);
  row-gap:var(--st-menu-mega-link-gap, 8px);
  align-items:start;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega-links.st-menu__mega-links--with-branch > .st-menu__item--mega-link{
  grid-column:1;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega-links > .st-menu__item--mega-branch-shared-area{
  display:none;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega-links.st-menu__mega-links--with-branch > .st-menu__item--mega-branch-shared-area{
  grid-column:2;
  grid-row:1 / span 999;
  display:block;
  min-width:0;
  align-self:stretch;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega-links.st-menu__mega-links--with-branch > .st-menu__item--mega-branch-shared-area > .st-menu__mega-branch{
  width:100%;
  min-width:0;
  margin-top:0;
  padding-left:0;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega-links.st-menu__mega-links--with-external-branch{
  display:flex !important;
  flex-direction:column;
  align-items:stretch;
}

/* Level-2 content mode: keep one shared content area under the first header zone */
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega > .st-menu__item--mega-col[data-menu-display-mode="content"]{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  min-width:var(--st-menu-mega-col-minw, 160px);
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega > .st-menu__item--mega-col[data-menu-display-mode="content"] > .st-menu__mega-title{
  min-width:0;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega > .st-menu__item--mega-col[data-menu-display-mode="content"] > .st-menu__mega-links{
  display:none !important;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega > .st-menu__item--mega-shared-area{
  grid-column:1 / -1;
  min-width:0;
  display:block;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega > .st-menu__item--mega-shared-area.st-menu__item--mega-shared-area-level3{
  grid-column:1;
  grid-row:2;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega > .st-menu__item--mega-shared-area.st-menu__item--mega-shared-area-level4{
  grid-column:2;
  grid-row:2;
  align-self:stretch;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega > .st-menu__item--mega-shared-area.st-menu__item--mega-shared-area-level5{
  grid-column:3;
  grid-row:2;
  align-self:stretch;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega > .st-menu__item--mega-shared-area > .st-menu__mega-links,
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega > .st-menu__item--mega-shared-area > .st-menu__mega-branch,
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega > .st-menu__item--mega-shared-area > .st-menu__sublist{
  width:100%;
  min-width:0;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega > .st-menu__item--mega-shared-area.st-menu__item--mega-shared-area-level4 > .st-menu__mega-branch,
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega > .st-menu__item--mega-shared-area.st-menu__item--mega-shared-area-level5 > .st-menu__mega-branch,
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega > .st-menu__item--mega-shared-area.st-menu__item--mega-shared-area-level5 > .st-menu__sublist{
  margin-top:0;
  padding-left:0;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__item--has-children[data-menu-display-mode="content"] > .st-menu__sublist{
  display:none;
}

.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__item[data-menu-display-mode="all"] > .st-menu__sublist{
  display:flex;
}
.st-block--menu[data-menu-submenu-view="mega"][data-menu-settings-mode="1"] .st-menu--big .st-menu__item[data-menu-display-mode="all"] > .st-menu__sublist{
  display:flex !important;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__item--has-children[data-menu-display-mode="content"].is-open > .st-menu__sublist{
  display:flex;
}
.st-block--menu[data-menu-submenu-mode="hover"][data-menu-submenu-view="dropdown"] .st-menu--big .st-menu__item--has-children.is-open > .st-menu__sublist,
.st-block--menu[data-menu-submenu-mode="hover"][data-menu-submenu-view="inline"] .st-menu--big .st-menu__item--has-children.is-open > .st-menu__sublist,
.st-block--menu[data-menu-submenu-mode="hover"][data-menu-submenu-view="mega"] .st-menu--big .st-menu__item--has-children.is-open > .st-menu__sublist,
.st-block--menu[data-menu-submenu-mode="hover"][data-menu-submenu-view="dropdown"] .st-menu--big .st-menu__item--has-children:hover > .st-menu__sublist,
.st-block--menu[data-menu-submenu-mode="hover"][data-menu-submenu-view="inline"] .st-menu--big .st-menu__item--has-children:hover > .st-menu__sublist,
.st-block--menu[data-menu-submenu-mode="hover"][data-menu-submenu-view="mega"] .st-menu--big .st-menu__item--has-children:hover > .st-menu__sublist,
.st-block--menu[data-menu-submenu-mode="click"][data-menu-submenu-view="mega"] .st-menu--big .st-menu__item--has-children.is-open > .st-menu__sublist,
.st-block--menu[data-menu-submenu-mode="click"] .st-menu--big .st-menu__item--has-children.is-open > .st-menu__sublist,
.st-block--menu[data-menu-submenu-mode="always"][data-menu-submenu-view="mega"] .st-menu--big .st-menu__item--has-children > .st-menu__sublist,
.st-block--menu[data-menu-submenu-mode="always"] .st-menu--big .st-menu__item--has-children > .st-menu__sublist{
  display:flex;
}
.st-block--menu[data-menu-submenu-mode][data-menu-submenu-view="mega"] .st-menu--big .st-menu__item--has-children.is-open > .st-menu__sublist,
.st-block--menu[data-menu-submenu-mode="hover"][data-menu-submenu-view="mega"] .st-menu--big .st-menu__item--has-children:hover > .st-menu__sublist,
.st-block--menu[data-menu-submenu-mode="always"][data-menu-submenu-view="mega"] .st-menu--big .st-menu__item--has-children > .st-menu__sublist{
  display:grid;
}
.st-block--menu[data-menu-submenu-mode="click"] .st-menu--big .st-menu__item--has-children.is-open > .st-menu__link .st-menu__caret,
.st-block--menu[data-menu-submenu-mode="hover"] .st-menu--big .st-menu__item--has-children.is-open > .st-menu__link .st-menu__caret,
.st-block--menu[data-menu-submenu-mode="hover"] .st-menu--big .st-menu__item--has-children:hover > .st-menu__link .st-menu__caret{
  transform:rotate(180deg);
}

/* Level directions: final layout override after submenu base rules */
.st-block--menu[data-menu-level1-direction="column"] .st-menu--big > .st-menu__list > .st-menu__item > .st-menu__link,
.st-block--menu[data-menu-level1-direction="column"] .st-menu--burger .st-menu__list > .st-menu__item > .st-menu__link{ width:100%; }
.st-block--menu[data-menu-level1-direction="row"] .st-menu--big > .st-menu__list > .st-menu__item > .st-menu__link,
.st-block--menu[data-menu-level1-direction="row"] .st-menu--burger .st-menu__list > .st-menu__item > .st-menu__link{ width:auto; }
.st-block--menu[data-menu-level2-direction="column"] .st-menu--big > .st-menu__list > .st-menu__item--has-children > .st-menu__sublist,
.st-block--menu[data-menu-level2-direction="column"] .st-menu--burger > .st-menu__panel > .st-menu__list > .st-menu__item--has-children > .st-menu__sublist{ flex-direction:column; flex-wrap:nowrap; align-items:stretch; }
.st-block--menu[data-menu-level2-direction="row"] .st-menu--big > .st-menu__list > .st-menu__item--has-children > .st-menu__sublist,
.st-block--menu[data-menu-level2-direction="row"] .st-menu--burger > .st-menu__panel > .st-menu__list > .st-menu__item--has-children > .st-menu__sublist{ flex-direction:row; flex-wrap:nowrap; align-items:flex-start; }
.st-block--menu[data-menu-level3-direction="column"] .st-menu--big .st-menu__sublist .st-menu__sublist,
.st-block--menu[data-menu-level3-direction="column"] .st-menu--burger .st-menu__sublist .st-menu__sublist{ flex-direction:column; flex-wrap:nowrap; align-items:stretch; }
.st-block--menu[data-menu-level3-direction="row"] .st-menu--big .st-menu__sublist .st-menu__sublist,
.st-block--menu[data-menu-level3-direction="row"] .st-menu--burger .st-menu__sublist .st-menu__sublist{ flex-direction:row; flex-wrap:nowrap; align-items:flex-start; }
.st-block--menu[data-menu-submenu-mode="hidden"] .st-menu__sublist{ display:none !important; }

.st-block--menu[data-menu-settings-mode="1"] .st-menu--big .st-menu__sublist{ display:none !important; }
.st-block--menu[data-menu-settings-mode="1"] .st-menu--big .st-menu__item--has-children.is-open > .st-menu__sublist{ display:flex !important; }
.st-block--menu[data-menu-settings-mode="1"][data-menu-submenu-view="mega"] .st-menu--big .st-menu__item--has-children.is-open > .st-menu__sublist{ display:grid !important; }
.st-block--menu[data-menu-settings-mode="1"] .st-menu--big .st-menu__item--has-children.is-open > .st-menu__link .st-menu__caret{ transform:rotate(180deg); }
.st-block--menu[data-menu-settings-mode="1"][data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega-links,
.st-block--menu[data-menu-settings-mode="1"][data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega-links .st-menu__sublist{
  display:flex !important;
  flex-direction:column;
}

/* Mega per-level show modes must override generic settings-mode reveal rules */
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__item[data-menu-display-mode="content"] > .st-menu__sublist{
  display:none !important;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__item[data-menu-display-mode="content"].is-open > .st-menu__sublist{
  display:flex !important;
  flex-direction:column;
}
.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__item[data-menu-display-mode="all"] > .st-menu__sublist{
  display:flex !important;
  flex-direction:column;
}

/* Burger: keep nested levels stacked inside panel */
.st-block--menu .st-menu--burger .st-menu__sublist{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:6px;
  margin:6px 0 0;
  padding-left:16px;
}

.st-block--menu[data-menu-level2-direction="row"] .st-menu--burger > .st-menu__panel > .st-menu__list > .st-menu__item--has-children > .st-menu__sublist{ flex-direction:row; flex-wrap:nowrap; align-items:flex-start; }
.st-block--menu[data-menu-level2-direction="column"] .st-menu--burger > .st-menu__panel > .st-menu__list > .st-menu__item--has-children > .st-menu__sublist{ flex-direction:column; flex-wrap:nowrap; align-items:stretch; }
.st-block--menu[data-menu-level3-direction="row"] .st-menu--burger .st-menu__sublist .st-menu__sublist{ flex-direction:row; flex-wrap:nowrap; align-items:flex-start; }
.st-block--menu[data-menu-level3-direction="column"] .st-menu--burger .st-menu__sublist .st-menu__sublist{ flex-direction:column; flex-wrap:nowrap; align-items:stretch; }

/* Burger */
.st-block--menu .st-menu--burger{ position:relative; }
.st-block--menu .st-menu__toggle{ position:absolute; inset:0 auto auto 0; width:1px; height:1px; opacity:0; pointer-events:none; }
.st-block--menu .st-menu__burger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(148,163,184,0.22);
  background:rgba(15,23,42,0.40);
  color:var(--st-menu-link-color);
  cursor:pointer;
  user-select:none;
}
.st-block--menu .st-menu__burger:hover{ border-color:rgba(56,189,248,.35); background:rgba(15,23,42,0.55); }
.st-block--menu .st-menu__burger svg{ width:20px; height:20px; }

.st-block--menu .st-menu__panel{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  min-width:220px;
  border-radius:16px;
  border:1px solid rgba(148,163,184,0.22);
  background:rgba(2,6,23,0.92);
  backdrop-filter: blur(10px);
  padding:10px;
  box-shadow:0 18px 40px rgba(0,0,0,0.40);
  display:none;
  z-index:999;
}

.st-block--menu .st-menu--burger .st-menu__sublist{ gap:6px; }
.st-block--menu[data-menu-level1-direction="column"] .st-menu--burger .st-menu__link{ width:100%; justify-content:flex-start; }
.st-block--menu[data-menu-level1-direction="row"] .st-menu--burger .st-menu__link{ width:auto; justify-content:flex-start; }

.st-block--menu .st-menu__toggle:checked ~ .st-menu__panel{ display:block; }

/* =========================================================
   але без дефолтного min-height:80px, щоб шапка не роздувалась.
   Впливає ТІЛЬКИ всередині header-slot.
   ========================================================= */
#st-site-header-slot .st-block--text{
  min-height: 0;
}
#st-site-header-slot .st-block--text > .st-text-edit{
  min-height: 0;
}
#st-site-header-slot .st-block--heading{
  width: auto;
  max-width: 100%;
  flex: 0 0 auto;
}
#st-site-header-slot .st-block--heading > .st-text-edit--heading{
  margin: 0;
  white-space: nowrap;
}

#st-site-header-slot .st-block--icon{
  /* allow mouse-resize (width/height) for icon blocks inside header */
  min-height: 0;
  width: auto;
  max-width: none;
  height: auto;
  max-height: none;
  flex: 0 0 auto;
  /* IMPORTANT: icons must line up horizontally even if parent container isn't flex */
  display:inline-flex;
  vertical-align: top;
  align-items:center;
  /* Icon rendering contract (do not couple icon size to parent height) */
  --st-icon-size: 22px;
  --st-icon-pad-y: 6px;
  --st-icon-pad-x: 8px;
  /* Не фіксуємо align-self/justify-self: вирівнювання керується віджетом "Розмітка".
     Розтягування SVG обмежується правилами нижче. */
}

/* =========================================================
   Header leaf blocks: show "grab" cursor for DnD
   ---------------------------------------------------------
   In Design mode we drag blocks directly (icons/menu/text).
   Some inner elements (buttons/svg/text nodes) can steal the cursor.
   Make the whole block feel draggable like in the legacy ZIP.
   ========================================================= */
#st-site-header-slot .st-block--icon,
#st-site-header-slot .st-block--menu{
  cursor: grab;
}
#st-site-header-slot .st-block--icon:active,
#st-site-header-slot .st-block--menu:active{
  cursor: grabbing;
}
/* Let inner elements inherit the grab cursor (except real form fields) */
#st-site-header-slot .st-block--icon *,
#st-site-header-slot .st-block--menu *{
  cursor: inherit;
}
#st-site-header-slot .st-block--menu input,
#st-site-header-slot .st-block--menu textarea,
#st-site-header-slot .st-block--menu select{
  cursor: text;
}

/* Menu block must stay content-height in header/footer so dropdowns open OUTSIDE the block,
   not inside a stretched grid cell. Width still follows the grid track. */
#st-site-header-slot .st-block--menu,
#st-site-footer-slot .st-block--menu{
  min-height: 0;
  height: auto;
  align-self: start;
  overflow: visible;
  z-index: 40;
}

#st-site-header-slot .st-block:has(.st-block--menu),
#st-site-footer-slot .st-block:has(.st-block--menu){
  overflow: visible;
  z-index: 50;
}

#st-site-header-slot .st-block--icon .st-icon-btn{
  /* Never stretch with parent; size is driven by svg + padding vars */
  height: auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  box-sizing: border-box;
  max-width: 100%;
  max-height: 100%;
  overflow: hidden;
  padding: var(--st-icon-pad-y) var(--st-icon-pad-x);
  border-radius: var(--st-icon-radius, 999px);
  background: var(--st-icon-bg, transparent);
  border: var(--st-icon-bw, 1px) solid var(--st-icon-bc, rgba(148,163,184,0.0));
  box-shadow: var(--st-icon-shadow, none);
  /* In Design mode we drag the whole icon block, not click the button */
  cursor: inherit;
}
#st-site-header-slot .st-block--icon .st-icon-btn:hover{
  background: var(--st-icon-bg-h, var(--st-icon-bg, rgba(15,23,42,0.25)));
  border-color: var(--st-icon-bc-h, var(--st-icon-bc, rgba(148,163,184,0.18)));
  box-shadow: var(--st-icon-shadow-h, var(--st-icon-shadow, none));
}

/* Hover icon color (header icons)
   IMPORTANT: .st-icon-btn may have inline `color`, so we need !important here.
*/
#st-site-header-slot .st-block--icon:hover .st-icon-btn{
  color: var(--st-icon-color-h, currentColor) !important;
}
#st-site-header-slot .st-block--icon .st-icon-btn:hover{
  color: var(--st-icon-color-h, currentColor) !important;
}

/* Hover icon color (header/footer icons) */
#st-site-header-slot .st-block--icon:hover{ color: var(--st-icon-color-h, currentColor); }
#st-site-header-slot .st-block--icon .st-icon-svg{
  /* IMPORTANT:
     The SVGs we insert from the gallery typically have intrinsic width/height="24".
     If we cap them with width:min(--size,100%), the 100% becomes that intrinsic 24px,
     so the icon never grows above ~24. Instead we explicitly size the wrapper and
     the SVG by --st-icon-size.
  */
  display: inline-flex;
  width: var(--st-icon-size);
  height: var(--st-icon-size);
}

#st-site-header-slot .st-block--icon .st-icon-svg svg{
  width: var(--st-icon-size);
  height: var(--st-icon-size);
  display:block;
}

/* Footer slot: same icon behavior as header (horizontal flow + resizable blocks) */
#st-site-footer-slot .st-block--icon{
  min-height: 0;
  width: auto;
  max-width: none;
  height: auto;
  max-height: none;
  flex: 0 0 auto;
  display: inline-flex;
  vertical-align: top;
  align-items:center;
  /* Keep same contract as header */
  --st-icon-size: 22px;
  --st-icon-pad-y: 6px;
  --st-icon-pad-x: 8px;
  /* Не фіксуємо align-self/justify-self: вирівнювання керується віджетом "Розмітка".
     Розтягування SVG обмежується правилами нижче. */
}

#st-site-footer-slot .st-block--icon .st-icon-btn{
  width:auto;
  height:auto;
  box-sizing: border-box;
  max-width: 100%;
  max-height: 100%;
  overflow: hidden;
  padding: var(--st-icon-pad-y) var(--st-icon-pad-x);
  border-radius: var(--st-icon-radius, 999px);
  background: var(--st-icon-bg, transparent);
  border: var(--st-icon-bw, 1px) solid var(--st-icon-bc, rgba(148,163,184,0.0));
  box-shadow: var(--st-icon-shadow, none);
}

#st-site-footer-slot .st-block--icon .st-icon-btn:hover{
  background: var(--st-icon-bg-h, var(--st-icon-bg, rgba(15,23,42,0.25)));
  border-color: var(--st-icon-bc-h, var(--st-icon-bc, rgba(148,163,184,0.18)));
  box-shadow: var(--st-icon-shadow-h, var(--st-icon-shadow, none));
}

/* Hover icon color (footer icons)
   IMPORTANT: .st-icon-btn may have inline `color`, so we need !important here.
*/
#st-site-footer-slot .st-block--icon:hover .st-icon-btn{
  color: var(--st-icon-color-h, currentColor) !important;
}
#st-site-footer-slot .st-block--icon .st-icon-btn:hover{
  color: var(--st-icon-color-h, currentColor) !important;
}

#st-site-footer-slot .st-block--icon:hover{ color: var(--st-icon-color-h, currentColor); }

#st-site-footer-slot .st-block--icon .st-icon-svg{
  display: inline-flex;
  width: var(--st-icon-size);
  height: var(--st-icon-size);
}

#st-site-footer-slot .st-block--icon .st-icon-svg svg{
  width: var(--st-icon-size);
  height: var(--st-icon-size);
  display:block;
}

/* ===========================
   Article Block (kind="article")
   =========================== */
.st-block--article {
  min-height: 80px;
  /* Щоб вертикальне вирівнювання в .st-text-edit мало “простір” —
     editable має розтягуватись на висоту блока */
  display: flex;
}

.st-block--article > .st-article-edit {
  width: 100%;
  min-height: 44px;
  height: 100%;
  flex: 1 1 auto;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 10px 12px;
  border-radius: 12px;
  outline: none;
  color: inherit;
  background: transparent;
  border: 1px dashed transparent;

  /* Реальний бордер текстового блока (не залежить від active). */
  --st-text-bw: 0px;
  --st-text-bc: transparent;
  box-shadow: inset 0 0 0 var(--st-text-bw) var(--st-text-bc);

  /* Обводка (stroke) самого тексту */
  --st-text-sw: 0px;
  --st-text-sc: transparent;
  -webkit-text-stroke-width: var(--st-text-sw);
  -webkit-text-stroke-color: var(--st-text-sc);

  /* Тінь (shadow) самого тексту */
  --st-text-shadow: none;
  text-shadow: var(--st-text-shadow);
}

/* ===========================
   Hover highlights (only hover; active/selected unchanged)
   =========================== */
.st-block--text:not(.is-active):not(.is-selected):hover > .st-text-edit {
  background: rgba(255, 215, 0, 0.10);
  border-color: rgba(255, 215, 0, 0.35);
}

.st-block--article:not(.is-active):not(.is-selected):hover > .st-article-edit {
  background: rgba(255, 0, 0, 0.10);
  border-color: rgba(255, 0, 0, 0.30);
}


/* Підсвітка текстового блоку — тільки коли активний/вибраний */
.st-block--text.is-active > .st-text-edit,
.st-block--text.is-selected > .st-text-edit {
  background: rgba(255,255,255,0.02);
  border-color: rgba(123, 155, 255, 0.18);
}

.st-block--text > .st-text-edit:focus {
  background: rgba(255,255,255,0.02);
  border-style: solid;
  border-color: rgba(123, 155, 255, 0.18);
}

.st-block--text > .st-text-edit:focus {
  border-style: solid;
}




/* =========================================================
   HOTFIX: HEADER SLOT CHILD SHOULD STRETCH 100%
   (для Page Templates/Header 1v1 — щоб шапка не стискалась до контенту)
   Безпечно: впливає ЛИШЕ на елементи всередині #st-site-header-slot
   ========================================================= */
#st-site-header-slot > * {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}





/* Menu level styles UI (local in menu widget) */
.st-hfmenu-levelstyles__levels{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.st-hfmenu-levelstyles__level{ min-width:0; }
.st-hfmenu-levelstyles__level.is-active{ background:rgba(59,130,246,.18); border-color:rgba(96,165,250,.55); color:#dbeafe; }
.st-hfmenu-levelstyles__level-actions,
.st-hfmenu-levelstyles__apply{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:8px; }
.st-hfmenu-levelstyles__statebar{ display:grid; gap:8px; margin-top:8px; }
.st-hfmenu-levelstyles__target-toggle{ display:flex; align-items:center; gap:8px; justify-content:flex-start; }
.st-hfmenu-levelstyles__states{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.st-hfmenu-levelstyles__state.is-active{ background:rgba(59,130,246,.18); border-color:rgba(96,165,250,.55); color:#dbeafe; }
.st-hfmenu-levelstyles__form{ display:grid; gap:10px; margin-top:8px; }
.st-hfmenu-levelstyles__field{ display:grid; gap:6px; }
.st-hfmenu-row--stacked-inline{ align-items:start; }
.st-hfmenu-row--stacked-inline .st-hfmenu-row__ctrl{ width:100%; }
.st-hfmenu-color-input--wide{ min-height:42px; }
.st-hfmenu-levelstyles__split4{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.st-hfmenu-levelstyles__split5{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.st-hfmenu-levelstyles__groups{ display:grid; gap:10px; margin-top:8px; }
.st-hfmenu-levelstyles__accordion-body{ display:grid; gap:10px; }
.st-hfmenu-levelstyles__accordion-body > .st-hfmenu-levelstyles__field{ padding:0; }
.st-hfmenu-levelstyles__accordion-body > .st-hfmenu-stylegroup{ margin:0; }


/* Arrow styles by levels 1-10 */
.st-block--menu .st-menu__caret{ color:var(--st-menu-caret-color, #ffffff);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:12px;
  height:12px;
  margin-left:0;
  color:currentColor;
  transition:transform .16s ease,color .16s ease, margin-left .16s ease, width .16s ease, height .16s ease;
}
.st-block--menu .st-menu__caret svg{
  width:100%;
  height:100%;
  display:block;
  stroke-width:var(--st-menu-caret-stroke, 1.8);
}

.st-block--menu .st-menu__item[data-menu-depth="1"] > .st-menu__link .st-menu__caret{
  color:var(--st-menu-a1-color, currentColor);
  width:var(--st-menu-a1-size, 12px);
  height:var(--st-menu-a1-size, 12px);
  margin-left:var(--st-menu-a1-gap, 0px);
  --st-menu-caret-stroke: var(--st-menu-a1-stroke, 1);
  transform:rotate(var(--st-menu-a1-rot, 0deg));
}
.st-block--menu .st-menu__item[data-menu-depth="1"] > .st-menu__link:hover .st-menu__caret{
  color:var(--st-menu-a1-h-color, var(--st-menu-a1-color, currentColor));
  width:var(--st-menu-a1-h-size, var(--st-menu-a1-size, 12px));
  height:var(--st-menu-a1-h-size, var(--st-menu-a1-size, 12px));
  margin-left:var(--st-menu-a1-h-gap, var(--st-menu-a1-gap, 0px));
  --st-menu-caret-stroke: var(--st-menu-a1-h-stroke, var(--st-menu-a1-stroke, 1));
  transform:rotate(var(--st-menu-a1-h-rot, var(--st-menu-a1-rot, 0deg)));
}
.st-block--menu .st-menu__item--has-children.is-open[data-menu-depth="1"] > .st-menu__link .st-menu__caret{
  color:var(--st-menu-a1-o-color, var(--st-menu-a1-color, currentColor));
  width:var(--st-menu-a1-o-size, var(--st-menu-a1-size, 12px));
  height:var(--st-menu-a1-o-size, var(--st-menu-a1-size, 12px));
  margin-left:var(--st-menu-a1-o-gap, var(--st-menu-a1-gap, 0px));
  --st-menu-caret-stroke: var(--st-menu-a1-o-stroke, var(--st-menu-a1-stroke, 1));
  transform:rotate(var(--st-menu-a1-o-rot, 180deg));
}

.st-block--menu .st-menu__item[data-menu-depth="2"] > .st-menu__link .st-menu__caret{
  color:var(--st-menu-a2-color, currentColor);
  width:var(--st-menu-a2-size, 12px);
  height:var(--st-menu-a2-size, 12px);
  margin-left:var(--st-menu-a2-gap, 0px);
  --st-menu-caret-stroke: var(--st-menu-a2-stroke, 1);
  transform:rotate(var(--st-menu-a2-rot, 0deg));
}
.st-block--menu .st-menu__item[data-menu-depth="2"] > .st-menu__link:hover .st-menu__caret{
  color:var(--st-menu-a2-h-color, var(--st-menu-a2-color, currentColor));
  width:var(--st-menu-a2-h-size, var(--st-menu-a2-size, 12px));
  height:var(--st-menu-a2-h-size, var(--st-menu-a2-size, 12px));
  margin-left:var(--st-menu-a2-h-gap, var(--st-menu-a2-gap, 0px));
  --st-menu-caret-stroke: var(--st-menu-a2-h-stroke, var(--st-menu-a2-stroke, 1));
  transform:rotate(var(--st-menu-a2-h-rot, var(--st-menu-a2-rot, 0deg)));
}
.st-block--menu .st-menu__item--has-children.is-open[data-menu-depth="2"] > .st-menu__link .st-menu__caret{
  color:var(--st-menu-a2-o-color, var(--st-menu-a2-color, currentColor));
  width:var(--st-menu-a2-o-size, var(--st-menu-a2-size, 12px));
  height:var(--st-menu-a2-o-size, var(--st-menu-a2-size, 12px));
  margin-left:var(--st-menu-a2-o-gap, var(--st-menu-a2-gap, 0px));
  --st-menu-caret-stroke: var(--st-menu-a2-o-stroke, var(--st-menu-a2-stroke, 1));
  transform:rotate(var(--st-menu-a2-o-rot, 180deg));
}

.st-block--menu .st-menu__item[data-menu-depth="3"] > .st-menu__link .st-menu__caret{
  color:var(--st-menu-a3-color, currentColor);
  width:var(--st-menu-a3-size, 12px);
  height:var(--st-menu-a3-size, 12px);
  margin-left:var(--st-menu-a3-gap, 0px);
  --st-menu-caret-stroke: var(--st-menu-a3-stroke, 1);
  transform:rotate(var(--st-menu-a3-rot, 0deg));
}
.st-block--menu .st-menu__item[data-menu-depth="3"] > .st-menu__link:hover .st-menu__caret{
  color:var(--st-menu-a3-h-color, var(--st-menu-a3-color, currentColor));
  width:var(--st-menu-a3-h-size, var(--st-menu-a3-size, 12px));
  height:var(--st-menu-a3-h-size, var(--st-menu-a3-size, 12px));
  margin-left:var(--st-menu-a3-h-gap, var(--st-menu-a3-gap, 0px));
  --st-menu-caret-stroke: var(--st-menu-a3-h-stroke, var(--st-menu-a3-stroke, 1));
  transform:rotate(var(--st-menu-a3-h-rot, var(--st-menu-a3-rot, 0deg)));
}
.st-block--menu .st-menu__item--has-children.is-open[data-menu-depth="3"] > .st-menu__link .st-menu__caret{
  color:var(--st-menu-a3-o-color, var(--st-menu-a3-color, currentColor));
  width:var(--st-menu-a3-o-size, var(--st-menu-a3-size, 12px));
  height:var(--st-menu-a3-o-size, var(--st-menu-a3-size, 12px));
  margin-left:var(--st-menu-a3-o-gap, var(--st-menu-a3-gap, 0px));
  --st-menu-caret-stroke: var(--st-menu-a3-o-stroke, var(--st-menu-a3-stroke, 1));
  transform:rotate(var(--st-menu-a3-o-rot, 180deg));
}

.st-block--menu .st-menu__item[data-menu-depth="4"] > .st-menu__link .st-menu__caret{
  color:var(--st-menu-a4-color, currentColor);
  width:var(--st-menu-a4-size, 12px);
  height:var(--st-menu-a4-size, 12px);
  margin-left:var(--st-menu-a4-gap, 0px);
  --st-menu-caret-stroke: var(--st-menu-a4-stroke, 1);
  transform:rotate(var(--st-menu-a4-rot, 0deg));
}
.st-block--menu .st-menu__item[data-menu-depth="4"] > .st-menu__link:hover .st-menu__caret{
  color:var(--st-menu-a4-h-color, var(--st-menu-a4-color, currentColor));
  width:var(--st-menu-a4-h-size, var(--st-menu-a4-size, 12px));
  height:var(--st-menu-a4-h-size, var(--st-menu-a4-size, 12px));
  margin-left:var(--st-menu-a4-h-gap, var(--st-menu-a4-gap, 0px));
  --st-menu-caret-stroke: var(--st-menu-a4-h-stroke, var(--st-menu-a4-stroke, 1));
  transform:rotate(var(--st-menu-a4-h-rot, var(--st-menu-a4-rot, 0deg)));
}
.st-block--menu .st-menu__item--has-children.is-open[data-menu-depth="4"] > .st-menu__link .st-menu__caret{
  color:var(--st-menu-a4-o-color, var(--st-menu-a4-color, currentColor));
  width:var(--st-menu-a4-o-size, var(--st-menu-a4-size, 12px));
  height:var(--st-menu-a4-o-size, var(--st-menu-a4-size, 12px));
  margin-left:var(--st-menu-a4-o-gap, var(--st-menu-a4-gap, 0px));
  --st-menu-caret-stroke: var(--st-menu-a4-o-stroke, var(--st-menu-a4-stroke, 1));
  transform:rotate(var(--st-menu-a4-o-rot, 180deg));
}

.st-block--menu .st-menu__item[data-menu-depth="5"] > .st-menu__link .st-menu__caret{
  color:var(--st-menu-a5-color, currentColor);
  width:var(--st-menu-a5-size, 12px);
  height:var(--st-menu-a5-size, 12px);
  margin-left:var(--st-menu-a5-gap, 0px);
  --st-menu-caret-stroke: var(--st-menu-a5-stroke, 1);
  transform:rotate(var(--st-menu-a5-rot, 0deg));
}
.st-block--menu .st-menu__item[data-menu-depth="5"] > .st-menu__link:hover .st-menu__caret{
  color:var(--st-menu-a5-h-color, var(--st-menu-a5-color, currentColor));
  width:var(--st-menu-a5-h-size, var(--st-menu-a5-size, 12px));
  height:var(--st-menu-a5-h-size, var(--st-menu-a5-size, 12px));
  margin-left:var(--st-menu-a5-h-gap, var(--st-menu-a5-gap, 0px));
  --st-menu-caret-stroke: var(--st-menu-a5-h-stroke, var(--st-menu-a5-stroke, 1));
  transform:rotate(var(--st-menu-a5-h-rot, var(--st-menu-a5-rot, 0deg)));
}
.st-block--menu .st-menu__item--has-children.is-open[data-menu-depth="5"] > .st-menu__link .st-menu__caret{
  color:var(--st-menu-a5-o-color, var(--st-menu-a5-color, currentColor));
  width:var(--st-menu-a5-o-size, var(--st-menu-a5-size, 12px));
  height:var(--st-menu-a5-o-size, var(--st-menu-a5-size, 12px));
  margin-left:var(--st-menu-a5-o-gap, var(--st-menu-a5-gap, 0px));
  --st-menu-caret-stroke: var(--st-menu-a5-o-stroke, var(--st-menu-a5-stroke, 1));
  transform:rotate(var(--st-menu-a5-o-rot, 180deg));
}

.st-block--menu .st-menu__item[data-menu-depth="6"] > .st-menu__link .st-menu__caret{
  color:var(--st-menu-a6-color, currentColor);
  width:var(--st-menu-a6-size, 12px);
  height:var(--st-menu-a6-size, 12px);
  margin-left:var(--st-menu-a6-gap, 0px);
  --st-menu-caret-stroke: var(--st-menu-a6-stroke, 1);
  transform:rotate(var(--st-menu-a6-rot, 0deg));
}
.st-block--menu .st-menu__item[data-menu-depth="6"] > .st-menu__link:hover .st-menu__caret{
  color:var(--st-menu-a6-h-color, var(--st-menu-a6-color, currentColor));
  width:var(--st-menu-a6-h-size, var(--st-menu-a6-size, 12px));
  height:var(--st-menu-a6-h-size, var(--st-menu-a6-size, 12px));
  margin-left:var(--st-menu-a6-h-gap, var(--st-menu-a6-gap, 0px));
  --st-menu-caret-stroke: var(--st-menu-a6-h-stroke, var(--st-menu-a6-stroke, 1));
  transform:rotate(var(--st-menu-a6-h-rot, var(--st-menu-a6-rot, 0deg)));
}
.st-block--menu .st-menu__item--has-children.is-open[data-menu-depth="6"] > .st-menu__link .st-menu__caret{
  color:var(--st-menu-a6-o-color, var(--st-menu-a6-color, currentColor));
  width:var(--st-menu-a6-o-size, var(--st-menu-a6-size, 12px));
  height:var(--st-menu-a6-o-size, var(--st-menu-a6-size, 12px));
  margin-left:var(--st-menu-a6-o-gap, var(--st-menu-a6-gap, 0px));
  --st-menu-caret-stroke: var(--st-menu-a6-o-stroke, var(--st-menu-a6-stroke, 1));
  transform:rotate(var(--st-menu-a6-o-rot, 180deg));
}

.st-block--menu .st-menu__item[data-menu-depth="7"] > .st-menu__link .st-menu__caret{
  color:var(--st-menu-a7-color, currentColor);
  width:var(--st-menu-a7-size, 12px);
  height:var(--st-menu-a7-size, 12px);
  margin-left:var(--st-menu-a7-gap, 0px);
  --st-menu-caret-stroke: var(--st-menu-a7-stroke, 1);
  transform:rotate(var(--st-menu-a7-rot, 0deg));
}
.st-block--menu .st-menu__item[data-menu-depth="7"] > .st-menu__link:hover .st-menu__caret{
  color:var(--st-menu-a7-h-color, var(--st-menu-a7-color, currentColor));
  width:var(--st-menu-a7-h-size, var(--st-menu-a7-size, 12px));
  height:var(--st-menu-a7-h-size, var(--st-menu-a7-size, 12px));
  margin-left:var(--st-menu-a7-h-gap, var(--st-menu-a7-gap, 0px));
  --st-menu-caret-stroke: var(--st-menu-a7-h-stroke, var(--st-menu-a7-stroke, 1));
  transform:rotate(var(--st-menu-a7-h-rot, var(--st-menu-a7-rot, 0deg)));
}
.st-block--menu .st-menu__item--has-children.is-open[data-menu-depth="7"] > .st-menu__link .st-menu__caret{
  color:var(--st-menu-a7-o-color, var(--st-menu-a7-color, currentColor));
  width:var(--st-menu-a7-o-size, var(--st-menu-a7-size, 12px));
  height:var(--st-menu-a7-o-size, var(--st-menu-a7-size, 12px));
  margin-left:var(--st-menu-a7-o-gap, var(--st-menu-a7-gap, 0px));
  --st-menu-caret-stroke: var(--st-menu-a7-o-stroke, var(--st-menu-a7-stroke, 1));
  transform:rotate(var(--st-menu-a7-o-rot, 180deg));
}

.st-block--menu .st-menu__item[data-menu-depth="8"] > .st-menu__link .st-menu__caret{
  color:var(--st-menu-a8-color, currentColor);
  width:var(--st-menu-a8-size, 12px);
  height:var(--st-menu-a8-size, 12px);
  margin-left:var(--st-menu-a8-gap, 0px);
  --st-menu-caret-stroke: var(--st-menu-a8-stroke, 1);
  transform:rotate(var(--st-menu-a8-rot, 0deg));
}
.st-block--menu .st-menu__item[data-menu-depth="8"] > .st-menu__link:hover .st-menu__caret{
  color:var(--st-menu-a8-h-color, var(--st-menu-a8-color, currentColor));
  width:var(--st-menu-a8-h-size, var(--st-menu-a8-size, 12px));
  height:var(--st-menu-a8-h-size, var(--st-menu-a8-size, 12px));
  margin-left:var(--st-menu-a8-h-gap, var(--st-menu-a8-gap, 0px));
  --st-menu-caret-stroke: var(--st-menu-a8-h-stroke, var(--st-menu-a8-stroke, 1));
  transform:rotate(var(--st-menu-a8-h-rot, var(--st-menu-a8-rot, 0deg)));
}
.st-block--menu .st-menu__item--has-children.is-open[data-menu-depth="8"] > .st-menu__link .st-menu__caret{
  color:var(--st-menu-a8-o-color, var(--st-menu-a8-color, currentColor));
  width:var(--st-menu-a8-o-size, var(--st-menu-a8-size, 12px));
  height:var(--st-menu-a8-o-size, var(--st-menu-a8-size, 12px));
  margin-left:var(--st-menu-a8-o-gap, var(--st-menu-a8-gap, 0px));
  --st-menu-caret-stroke: var(--st-menu-a8-o-stroke, var(--st-menu-a8-stroke, 1));
  transform:rotate(var(--st-menu-a8-o-rot, 180deg));
}

.st-block--menu .st-menu__item[data-menu-depth="9"] > .st-menu__link .st-menu__caret{
  color:var(--st-menu-a9-color, currentColor);
  width:var(--st-menu-a9-size, 12px);
  height:var(--st-menu-a9-size, 12px);
  margin-left:var(--st-menu-a9-gap, 0px);
  --st-menu-caret-stroke: var(--st-menu-a9-stroke, 1);
  transform:rotate(var(--st-menu-a9-rot, 0deg));
}
.st-block--menu .st-menu__item[data-menu-depth="9"] > .st-menu__link:hover .st-menu__caret{
  color:var(--st-menu-a9-h-color, var(--st-menu-a9-color, currentColor));
  width:var(--st-menu-a9-h-size, var(--st-menu-a9-size, 12px));
  height:var(--st-menu-a9-h-size, var(--st-menu-a9-size, 12px));
  margin-left:var(--st-menu-a9-h-gap, var(--st-menu-a9-gap, 0px));
  --st-menu-caret-stroke: var(--st-menu-a9-h-stroke, var(--st-menu-a9-stroke, 1));
  transform:rotate(var(--st-menu-a9-h-rot, var(--st-menu-a9-rot, 0deg)));
}
.st-block--menu .st-menu__item--has-children.is-open[data-menu-depth="9"] > .st-menu__link .st-menu__caret{
  color:var(--st-menu-a9-o-color, var(--st-menu-a9-color, currentColor));
  width:var(--st-menu-a9-o-size, var(--st-menu-a9-size, 12px));
  height:var(--st-menu-a9-o-size, var(--st-menu-a9-size, 12px));
  margin-left:var(--st-menu-a9-o-gap, var(--st-menu-a9-gap, 0px));
  --st-menu-caret-stroke: var(--st-menu-a9-o-stroke, var(--st-menu-a9-stroke, 1));
  transform:rotate(var(--st-menu-a9-o-rot, 180deg));
}

.st-block--menu .st-menu__item[data-menu-depth="10"] > .st-menu__link .st-menu__caret{
  color:var(--st-menu-a10-color, currentColor);
  width:var(--st-menu-a10-size, 12px);
  height:var(--st-menu-a10-size, 12px);
  margin-left:var(--st-menu-a10-gap, 0px);
  --st-menu-caret-stroke: var(--st-menu-a10-stroke, 1);
  transform:rotate(var(--st-menu-a10-rot, 0deg));
}
.st-block--menu .st-menu__item[data-menu-depth="10"] > .st-menu__link:hover .st-menu__caret{
  color:var(--st-menu-a10-h-color, var(--st-menu-a10-color, currentColor));
  width:var(--st-menu-a10-h-size, var(--st-menu-a10-size, 12px));
  height:var(--st-menu-a10-h-size, var(--st-menu-a10-size, 12px));
  margin-left:var(--st-menu-a10-h-gap, var(--st-menu-a10-gap, 0px));
  --st-menu-caret-stroke: var(--st-menu-a10-h-stroke, var(--st-menu-a10-stroke, 1));
  transform:rotate(var(--st-menu-a10-h-rot, var(--st-menu-a10-rot, 0deg)));
}
.st-block--menu .st-menu__item--has-children.is-open[data-menu-depth="10"] > .st-menu__link .st-menu__caret{
  color:var(--st-menu-a10-o-color, var(--st-menu-a10-color, currentColor));
  width:var(--st-menu-a10-o-size, var(--st-menu-a10-size, 12px));
  height:var(--st-menu-a10-o-size, var(--st-menu-a10-size, 12px));
  margin-left:var(--st-menu-a10-o-gap, var(--st-menu-a10-gap, 0px));
  --st-menu-caret-stroke: var(--st-menu-a10-o-stroke, var(--st-menu-a10-stroke, 1));
  transform:rotate(var(--st-menu-a10-o-rot, 180deg));
}

.st-block--menu[data-menu-submenu-view="mega"] .st-menu--big .st-menu__mega-link > .st-menu__link{
  width:100%;
  justify-content:flex-start;
}
.st-hfmenu-gallery-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:8px;}
.st-hfmenu-range{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;}
.st-hfmenu-range__val{min-width:54px;text-align:right;font-size:12px;color:#cbd5e1;}
.st-hfmenu-angle-control{display:grid;gap:10px;}
.st-hfmenu-angle-stepper{display:grid;grid-template-columns:auto minmax(96px,116px) auto auto;gap:14px;align-items:center;justify-content:flex-start;}
.st-hfmenu-angle-stepper__btn{min-width:38px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:14px;}
.st-hfmenu-angle-stepper__input{text-align:center;margin-inline:2px 6px;}
.st-hfmenu-angle-stepper__unit{font-size:12px;color:#cbd5e1;margin-right:6px;}


.st-hfmenu-levelstyles[data-target-mode="off"] .st-hfmenu-levelstyles__accordion-body,
.st-hfmenu-levelstyles[data-target-mode="off"] .st-hfmenu-levelstyles__states,
.st-hfmenu-levelstyles[data-target-mode="off"] .st-hfmenu-levelstyles__apply{
  opacity:.55;
}



#st-site-header-slot .st-block--logo,
#st-site-footer-slot .st-block--logo{
  display:grid;
  align-items:var(--st-logo-align-items, center);
  column-gap:var(--st-logo-gap, 12px);
  row-gap:2px;
  width:auto;
  min-width:0;
  max-width:100%;
  color:inherit;
  --st-logo-mark-size: 44px;
  transition:transform .18s ease, opacity .18s ease, filter .18s ease, box-shadow .18s ease;
  transform-origin:center center;
}
#st-site-header-slot .st-block--logo[data-logo-pos="left"],
#st-site-footer-slot .st-block--logo[data-logo-pos="left"]{
  grid-template-columns:auto auto;
  grid-template-rows:auto auto;
}
#st-site-header-slot .st-block--logo[data-logo-pos="left"] > .st-logo__mark,
#st-site-header-slot .st-block--logo[data-logo-pos="left"] > .st-logo__iconbtn,
#st-site-footer-slot .st-block--logo[data-logo-pos="left"] > .st-logo__mark,
#st-site-footer-slot .st-block--logo[data-logo-pos="left"] > .st-logo__iconbtn{
  grid-column:1;
  grid-row:1 / span 2;
}
#st-site-header-slot .st-block--logo[data-logo-pos="right"],
#st-site-footer-slot .st-block--logo[data-logo-pos="right"]{
  grid-template-columns:auto auto;
  grid-template-rows:auto auto;
}
#st-site-header-slot .st-block--logo[data-logo-pos="right"] > .st-logo__mark,
#st-site-header-slot .st-block--logo[data-logo-pos="right"] > .st-logo__iconbtn,
#st-site-footer-slot .st-block--logo[data-logo-pos="right"] > .st-logo__mark,
#st-site-footer-slot .st-block--logo[data-logo-pos="right"] > .st-logo__iconbtn{
  grid-column:2;
  grid-row:1 / span 2;
}
#st-site-header-slot .st-block--logo[data-logo-pos="top"],
#st-site-footer-slot .st-block--logo[data-logo-pos="top"],
#st-site-header-slot .st-block--logo[data-logo-pos="bottom"],
#st-site-footer-slot .st-block--logo[data-logo-pos="bottom"]{
  grid-template-columns:1fr;
  grid-template-rows:auto auto auto;
}
#st-site-header-slot .st-block--logo[data-logo-pos="bottom"] > .st-logo__mark,
#st-site-header-slot .st-block--logo[data-logo-pos="bottom"] > .st-logo__iconbtn,
#st-site-footer-slot .st-block--logo[data-logo-pos="bottom"] > .st-logo__mark,
#st-site-footer-slot .st-block--logo[data-logo-pos="bottom"] > .st-logo__iconbtn{
  order:3;
}
#st-site-header-slot .st-block--logo > .st-logo__mark,
#st-site-footer-slot .st-block--logo > .st-logo__mark{
  width:var(--st-logo-mark-w, var(--st-logo-mark-size));
  height:var(--st-logo-mark-h, var(--st-logo-mark-size));
  display:grid;
  place-items:center;
  overflow:hidden;
  position:relative;
  border-radius:12px;
  border:1px solid rgba(148,163,184,0.24);
  background:rgba(15,23,42,0.22);
  color:rgba(226,232,240,0.92);
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1;
}
#st-site-header-slot .st-block--logo > .st-logo__mark > .st-logo__markimg,
#st-site-footer-slot .st-block--logo > .st-logo__mark > .st-logo__markimg{
  position:absolute;
  inset:0;
  border-radius:inherit;
  background-size:var(--st-logo-mark-fit, contain);
  background-position:center;
  background-repeat:no-repeat;
  pointer-events:none;
}
#st-site-header-slot .st-block--logo > .st-logo__mark.is-placeholder::after,
#st-site-footer-slot .st-block--logo > .st-logo__mark.is-placeholder::after{
  content:attr(data-placeholder-label);
  position:relative;
  z-index:1;
}
#st-site-header-slot .st-block--logo > .st-logo__iconbtn,
#st-site-footer-slot .st-block--logo > .st-logo__iconbtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-width:var(--st-logo-mark-w, auto);
  min-height:var(--st-logo-mark-h, auto);
  appearance:none;
  border:var(--st-icon-bw,0px) solid var(--st-icon-bc,transparent);
  border-radius:var(--st-icon-radius,12px);
  background:var(--st-icon-bg,transparent);
  box-shadow:var(--st-icon-shadow,none);
  padding:var(--st-icon-pad-y,6px) var(--st-icon-pad-x,8px);
  color:inherit;
  cursor:pointer;
}
#st-site-header-slot .st-block--logo:hover > .st-logo__iconbtn,
#st-site-footer-slot .st-block--logo:hover > .st-logo__iconbtn{
  color:var(--st-icon-color-h, currentColor) !important;
  background:var(--st-icon-bg-h, var(--st-icon-bg,transparent));
  border-color:var(--st-icon-bc-h, var(--st-icon-bc,transparent));
  box-shadow:var(--st-icon-shadow-h, var(--st-icon-shadow,none));
}
#st-site-header-slot .st-block--logo > .st-logo__iconsvg,
#st-site-footer-slot .st-block--logo > .st-logo__iconsvg{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:var(--st-logo-icon-size-local, var(--st-icon-size,22px));
  height:var(--st-logo-icon-size-local, var(--st-icon-size,22px));
}
#st-site-header-slot .st-block--logo > .st-logo__iconsvg svg,
#st-site-footer-slot .st-block--logo > .st-logo__iconsvg svg{
  width:100%;
  height:100%;
  display:block;
}
#st-site-header-slot .st-block--logo > .st-logo__title,
#st-site-footer-slot .st-block--logo > .st-logo__title{
  min-width:0;
  font-size:24px;
  font-weight:800;
  line-height:1.1;
  white-space:nowrap;
}
#st-site-header-slot .st-block--logo > .st-logo__subtitle,
#st-site-footer-slot .st-block--logo > .st-logo__subtitle{
  min-width:0;
  font-size:12px;
  font-weight:600;
  line-height:1.15;
  color:rgba(148,163,184,0.95);
  white-space:nowrap;
}
#st-site-header-slot .st-block--logo > .st-logo__mark,
#st-site-header-slot .st-block--logo > .st-logo__iconbtn,
#st-site-header-slot .st-block--logo > .st-logo__title,
#st-site-header-slot .st-block--logo > .st-logo__subtitle,
#st-site-footer-slot .st-block--logo > .st-logo__mark,
#st-site-footer-slot .st-block--logo > .st-logo__iconbtn,
#st-site-footer-slot .st-block--logo > .st-logo__title,
#st-site-footer-slot .st-block--logo > .st-logo__subtitle{
  transition:transform .18s ease, opacity .18s ease, filter .18s ease, box-shadow .18s ease, color .18s ease, background .18s ease, border-color .18s ease;
  transform-origin:center center;
}
#st-site-header-slot .st-block--logo:hover,
#st-site-footer-slot .st-block--logo:hover{
  opacity:var(--st-logo-hover-block-opacity, 1);
  transform:translateY(var(--st-logo-hover-block-y, 0px)) scale(var(--st-logo-hover-block-scale, 1));
}
#st-site-header-slot .st-block--logo > .st-logo__mark:hover,
#st-site-header-slot .st-block--logo > .st-logo__iconbtn:hover,
#st-site-footer-slot .st-block--logo > .st-logo__mark:hover,
#st-site-footer-slot .st-block--logo > .st-logo__iconbtn:hover{
  opacity:var(--st-logo-hover-mark-opacity, 1);
  transform:translateY(var(--st-logo-hover-mark-y, 0px)) scale(var(--st-logo-hover-mark-scale, 1));
}
#st-site-header-slot .st-block--logo > .st-logo__title:hover,
#st-site-footer-slot .st-block--logo > .st-logo__title:hover{
  opacity:var(--st-logo-hover-title-opacity, 1);
  transform:translateY(var(--st-logo-hover-title-y, 0px)) scale(var(--st-logo-hover-title-scale, 1));
}
#st-site-header-slot .st-block--logo > .st-logo__subtitle:hover,
#st-site-footer-slot .st-block--logo > .st-logo__subtitle:hover{
  opacity:var(--st-logo-hover-subtitle-opacity, 1);
  transform:translateY(var(--st-logo-hover-subtitle-y, 0px)) scale(var(--st-logo-hover-subtitle-scale, 1));
}
.site-root .st-block--logo > .st-logo__mark,
.site-root .st-block--logo > .st-logo__iconbtn,
.site-root .st-block--logo > .st-logo__title,
.site-root .st-block--logo > .st-logo__subtitle{
  cursor:pointer;
  position:relative;
}
.site-root .st-block--logo > .st-logo__mark:hover:not(.is-active):not(.is-selected),
.site-root .st-block--logo > .st-logo__iconbtn:hover:not(.is-active):not(.is-selected),
.site-root .st-block--logo > .st-logo__title:hover:not(.is-active):not(.is-selected),
.site-root .st-block--logo > .st-logo__subtitle:hover:not(.is-active):not(.is-selected){
  box-shadow:0 0 0 1px rgba(148,163,184,0.70);
}
.site-root .st-block--logo > .st-logo__mark.is-active,
.site-root .st-block--logo > .st-logo__mark.is-selected,
.site-root .st-block--logo > .st-logo__iconbtn.is-active,
.site-root .st-block--logo > .st-logo__iconbtn.is-selected,
.site-root .st-block--logo > .st-logo__title.is-active,
.site-root .st-block--logo > .st-logo__title.is-selected,
.site-root .st-block--logo > .st-logo__subtitle.is-active,
.site-root .st-block--logo > .st-logo__subtitle.is-selected{
  outline:2px solid var(--site-active-outline);
  outline-offset:2px;
}

#st-site-header-slot .st-block--png,
#st-site-footer-slot .st-block--png{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  min-height:48px;
  overflow:visible;
}
#st-site-header-slot .st-block--png::before,
#st-site-footer-slot .st-block--png::before{
  content:'';
  position:absolute;
  inset:calc(var(--st-png-block-glow-spread, 0px) * -1);
  border-radius:inherit;
  background:var(--st-png-block-glow-color, rgba(96,165,250,0));
  filter:blur(var(--st-png-block-glow-blur, 0px));
  pointer-events:none;
  z-index:0;
}
#st-site-header-slot .st-block--png > .st-png__media,
#st-site-footer-slot .st-block--png > .st-png__media{
  width:100%;
  height:100%;
  display:block;
  position:relative;
  overflow:visible;
  pointer-events:auto;
  cursor:pointer;
  transition: box-shadow .18s ease, transform .18s ease, outline-color .18s ease, opacity .18s ease;
  transform-origin:center center;
  z-index:1;
}
#st-site-header-slot .st-block--png > .st-png__media::before,
#st-site-footer-slot .st-block--png > .st-png__media::before{
  content:'';
  position:absolute;
  inset:calc(var(--st-png-media-glow-spread, 0px) * -1);
  background:var(--st-png-media-glow-color, rgba(96,165,250,0));
  -webkit-mask-image:var(--st-png-image-url, none);
  mask-image:var(--st-png-image-url, none);
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  mask-size:contain;
  filter:blur(var(--st-png-media-glow-blur, 0px));
  pointer-events:none;
  z-index:0;
}
#st-site-header-slot .st-block--png > .st-png__media > .st-png__img,
#st-site-footer-slot .st-block--png > .st-png__media > .st-png__img{
  position:absolute;
  inset:0;
  display:block;
  background-image:var(--st-png-image-url, none);
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  pointer-events:none;
  z-index:1;
  filter:none;
  -webkit-filter:none;
  transition: transform .18s ease, opacity .18s ease;
  transform-origin:center center;
}
#st-site-header-slot .st-block--png,
#st-site-footer-slot .st-block--png{
  transition: transform .18s ease, opacity .18s ease;
  transform-origin:center center;
}
#st-site-header-slot .st-block--png:hover,
#st-site-footer-slot .st-block--png:hover{
  opacity:var(--st-png-hover-block-opacity, 1);
  transform:translateY(var(--st-png-hover-block-y, 0px)) scale(var(--st-png-hover-block-scale, 1));
}
#st-site-header-slot .st-block--png > .st-png__media:hover,
#st-site-footer-slot .st-block--png > .st-png__media:hover{
  opacity:var(--st-png-hover-media-opacity, 1);
  transform:translateY(var(--st-png-hover-media-y, 0px)) scale(var(--st-png-hover-media-scale, 1));
}
#st-site-header-slot .st-block--png > .st-png__media:hover > .st-png__img,
#st-site-footer-slot .st-block--png > .st-png__media:hover > .st-png__img{
  opacity:var(--st-png-hover-media-opacity, 1);
  transform:translateY(var(--st-png-hover-media-y, 0px)) scale(var(--st-png-hover-media-scale, 1));
}
#st-site-header-slot .st-block--png > .st-png__media:hover:not(.is-active):not(.is-selected),
#st-site-footer-slot .st-block--png > .st-png__media:hover:not(.is-active):not(.is-selected){
  outline:1px solid rgba(56,189,248,.55);
  outline-offset:2px;
}
#st-site-header-slot .st-block--png > .st-png__media.is-active,
#st-site-header-slot .st-block--png > .st-png__media.is-selected,
#st-site-footer-slot .st-block--png > .st-png__media.is-active,
#st-site-footer-slot .st-block--png > .st-png__media.is-selected{
  outline:2px solid var(--site-active-outline);
  outline-offset:2px;
}
#st-site-header-slot .st-block--png > .st-png__media.is-placeholder,
#st-site-footer-slot .st-block--png > .st-png__media.is-placeholder{
  border:1px dashed rgba(148,163,184,0.28);
  border-radius:12px;
  background-color:rgba(15,23,42,0.28);
}
#st-site-header-slot .st-block--png > .st-png__media.is-placeholder::after,
#st-site-footer-slot .st-block--png > .st-png__media.is-placeholder::after{
  content:'PNG';
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  color:rgba(226,232,240,0.72);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}

.site-root .st-block--logo > .st-logo__title.st-bgfx,
.site-root .st-block--logo > .st-logo__subtitle.st-bgfx{
  isolation:isolate;
  z-index:0;
}
.site-root .st-block--logo > .st-logo__title.st-bgfx::before,
.site-root .st-block--logo > .st-logo__title.st-bgfx::after,
.site-root .st-block--logo > .st-logo__subtitle.st-bgfx::before,
.site-root .st-block--logo > .st-logo__subtitle.st-bgfx::after{
  z-index:-1;
}
#st-site-header-slot .st-block--logo[data-logo-mode="logo"] > .st-logo__title,
#st-site-header-slot .st-block--logo[data-logo-mode="logo"] > .st-logo__subtitle,
#st-site-footer-slot .st-block--logo[data-logo-mode="logo"] > .st-logo__title,
#st-site-footer-slot .st-block--logo[data-logo-mode="logo"] > .st-logo__subtitle{
  display:none !important;
}
#st-site-header-slot .st-block--logo[data-logo-mode="logo-text"] > .st-logo__subtitle,
#st-site-footer-slot .st-block--logo[data-logo-mode="logo-text"] > .st-logo__subtitle,
#st-site-header-slot .st-block--logo[data-logo-mode="text-only"] > .st-logo__subtitle,
#st-site-footer-slot .st-block--logo[data-logo-mode="text-only"] > .st-logo__subtitle{
  display:none !important;
}
#st-site-header-slot .st-block--logo[data-logo-mode="text-only"] > .st-logo__mark,
#st-site-header-slot .st-block--logo[data-logo-mode="text-only"] > .st-logo__iconbtn,
#st-site-header-slot .st-block--logo[data-logo-pos="none"] > .st-logo__mark,
#st-site-header-slot .st-block--logo[data-logo-pos="none"] > .st-logo__iconbtn,
#st-site-footer-slot .st-block--logo[data-logo-mode="text-only"] > .st-logo__mark,
#st-site-footer-slot .st-block--logo[data-logo-mode="text-only"] > .st-logo__iconbtn,
#st-site-footer-slot .st-block--logo[data-logo-pos="none"] > .st-logo__mark,
#st-site-footer-slot .st-block--logo[data-logo-pos="none"] > .st-logo__iconbtn{
  display:none !important;
}
#st-site-header-slot .st-block--logo[data-logo-source="image"] > .st-logo__iconbtn,
#st-site-footer-slot .st-block--logo[data-logo-source="image"] > .st-logo__iconbtn,
#st-site-header-slot .st-block--logo[data-logo-source="icon"] > .st-logo__mark,
#st-site-footer-slot .st-block--logo[data-logo-source="icon"] > .st-logo__mark{
  display:none !important;
}

#st-site-header-slot .st-block--phone{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:auto;
  min-width:0;
  max-width:100%;
  color:inherit;
}
#st-site-header-slot .st-block--phone[data-phone-icon-pos="right"]{
  flex-direction:row-reverse;
}
#st-site-header-slot .st-block--phone[data-phone-icon-pos="none"] .st-phone__iconbtn{
  display:none !important;
}
#st-site-header-slot .st-block--phone .st-phone__text{
  min-width:0;
  white-space:nowrap;
  line-height:1.2;
}
#st-site-header-slot .st-block--phone .st-phone__iconbtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  appearance:none;
  border:var(--st-icon-bw,0px) solid var(--st-icon-bc,transparent);
  border-radius:var(--st-icon-radius,0px);
  background:var(--st-icon-bg,transparent);
  box-shadow:var(--st-icon-shadow,none);
  padding:var(--st-icon-pad-y,6px) var(--st-icon-pad-x,8px);
  color:inherit;
  cursor:pointer;
}
#st-site-header-slot .st-block--phone:hover .st-phone__iconbtn{
  color:var(--st-icon-color-h, currentColor) !important;
  background:var(--st-icon-bg-h, var(--st-icon-bg,transparent));
  border-color:var(--st-icon-bc-h, var(--st-icon-bc,transparent));
  box-shadow:var(--st-icon-shadow-h, var(--st-icon-shadow,none));
}
#st-site-header-slot .st-block--phone .st-phone__iconsvg{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:var(--st-icon-size,22px);
  height:var(--st-icon-size,22px);
}
#st-site-header-slot .st-block--phone .st-phone__iconsvg svg{
  width:100%;
  height:100%;
  display:block;
}

#st-site-footer-slot .st-block--phone{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:auto;
  min-width:0;
  max-width:100%;
  color:inherit;
}
#st-site-footer-slot .st-block--phone[data-phone-icon-pos="right"]{
  flex-direction:row-reverse;
}
#st-site-footer-slot .st-block--phone[data-phone-icon-pos="none"] .st-phone__iconbtn{
  display:none !important;
}
#st-site-footer-slot .st-block--phone .st-phone__text{
  min-width:0;
  white-space:nowrap;
  line-height:1.2;
}
#st-site-footer-slot .st-block--phone .st-phone__iconbtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  appearance:none;
  border:var(--st-icon-bw,0px) solid var(--st-icon-bc,transparent);
  border-radius:var(--st-icon-radius,0px);
  background:var(--st-icon-bg,transparent);
  box-shadow:var(--st-icon-shadow,none);
  padding:var(--st-icon-pad-y,6px) var(--st-icon-pad-x,8px);
  color:inherit;
  cursor:pointer;
}
#st-site-footer-slot .st-block--phone:hover .st-phone__iconbtn{
  color:var(--st-icon-color-h, currentColor) !important;
  background:var(--st-icon-bg-h, var(--st-icon-bg,transparent));
  border-color:var(--st-icon-bc-h, var(--st-icon-bc,transparent));
  box-shadow:var(--st-icon-shadow-h, var(--st-icon-shadow,none));
}
#st-site-footer-slot .st-block--phone .st-phone__iconsvg{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:var(--st-icon-size,22px);
  height:var(--st-icon-size,22px);
}
#st-site-footer-slot .st-block--phone .st-phone__iconsvg svg{
  width:100%;
  height:100%;
  display:block;
}


@media (max-width: 767px){
  #st-site-header-slot .st-block--png[data-png-mobile-mode="hide"],
  #st-site-footer-slot .st-block--png[data-png-mobile-mode="hide"]{
    display:none !important;
  }
  #st-site-header-slot .st-block--png > .st-png__media,
  #st-site-footer-slot .st-block--png > .st-png__media{
    width:var(--st-png-mobile-width, 100%);
    height:var(--st-png-mobile-height, 100%);
  }
  #st-site-header-slot .st-block--png > .st-png__media > .st-png__img,
  #st-site-footer-slot .st-block--png > .st-png__media > .st-png__img{
    background-image:var(--st-png-mobile-image-url, var(--st-png-image-url, none));
  }
  #st-site-header-slot .st-block--logo,
  #st-site-footer-slot .st-block--logo{
    column-gap:var(--st-logo-mobile-gap, var(--st-logo-gap, 12px));
  }
  #st-site-header-slot .st-block--logo > .st-logo__mark,
  #st-site-footer-slot .st-block--logo > .st-logo__mark{
    width:var(--st-logo-mobile-mark-w, var(--st-logo-mark-w, var(--st-logo-mark-size)));
    height:var(--st-logo-mobile-mark-w, var(--st-logo-mark-h, var(--st-logo-mark-size)));
  }
  #st-site-header-slot .st-block--logo > .st-logo__iconbtn,
  #st-site-footer-slot .st-block--logo > .st-logo__iconbtn{
    min-width:var(--st-logo-mobile-mark-w, var(--st-logo-mark-w, auto));
    min-height:var(--st-logo-mobile-mark-w, var(--st-logo-mark-h, auto));
  }
  #st-site-header-slot .st-block--logo > .st-logo__title,
  #st-site-footer-slot .st-block--logo > .st-logo__title{
    font-size:var(--st-logo-mobile-title-size, 18px);
  }
  #st-site-header-slot .st-block--logo > .st-logo__subtitle,
  #st-site-footer-slot .st-block--logo > .st-logo__subtitle{
    font-size:var(--st-logo-mobile-subtitle-size, 11px);
  }
  #st-site-header-slot .st-block--logo[data-logo-mobile-mode="hide-subtitle"] > .st-logo__subtitle,
  #st-site-footer-slot .st-block--logo[data-logo-mobile-mode="hide-subtitle"] > .st-logo__subtitle{
    display:none !important;
  }
  #st-site-header-slot .st-block--logo[data-logo-mobile-mode="icon-only"] > .st-logo__title,
  #st-site-header-slot .st-block--logo[data-logo-mobile-mode="icon-only"] > .st-logo__subtitle,
  #st-site-footer-slot .st-block--logo[data-logo-mobile-mode="icon-only"] > .st-logo__title,
  #st-site-footer-slot .st-block--logo[data-logo-mobile-mode="icon-only"] > .st-logo__subtitle{
    display:none !important;
  }
  #st-site-header-slot .st-block--button[data-button-mobile-mode="hide"],
  #st-site-footer-slot .st-block--button[data-button-mobile-mode="hide"]{
    display:none !important;
  }
  #st-site-header-slot .st-block--button,
  #st-site-footer-slot .st-block--button{
    gap:var(--st-button-mobile-gap, 8px);
    width:var(--st-button-mobile-width, auto);
    min-width:var(--st-button-mobile-width, auto);
  }
  #st-site-header-slot .st-block--button > .st-button__label,
  #st-site-footer-slot .st-block--button > .st-button__label{
    font-size:var(--st-button-mobile-label-size, 14px);
  }
  #st-site-header-slot .st-block--button > .st-button__iconbtn .st-icon-btn__glyph,
  #st-site-header-slot .st-block--button > .st-button__iconbtn .st-button__iconsvg,
  #st-site-footer-slot .st-block--button > .st-button__iconbtn .st-icon-btn__glyph,
  #st-site-footer-slot .st-block--button > .st-button__iconbtn .st-button__iconsvg{
    width:var(--st-button-mobile-icon-size, var(--st-icon-size, 18px));
    height:var(--st-button-mobile-icon-size, var(--st-icon-size, 18px));
  }
  #st-site-header-slot .st-block--button[data-button-mobile-mode="icon-only"] > .st-button__label,
  #st-site-footer-slot .st-block--button[data-button-mobile-mode="icon-only"] > .st-button__label{
    display:none !important;
  }
  #st-site-header-slot .st-block--button[data-button-mobile-label]:not([data-button-mobile-label=""]) > .st-button__label:not([hidden]),
  #st-site-footer-slot .st-block--button[data-button-mobile-label]:not([data-button-mobile-label=""]) > .st-button__label:not([hidden]){
    font-size:0 !important;
    line-height:1;
  }
  #st-site-header-slot .st-block--button[data-button-mobile-label]:not([data-button-mobile-label=""]) > .st-button__label:not([hidden])::after,
  #st-site-footer-slot .st-block--button[data-button-mobile-label]:not([data-button-mobile-label=""]) > .st-button__label:not([hidden])::after{
    content:attr(data-button-mobile-label);
    font-size:var(--st-button-mobile-label-size, 14px);
    line-height:1.1;
    color:inherit;
  }
}


#st-site-header-slot .st-block--button,
#st-site-footer-slot .st-block--button{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:42px;
  padding:10px 16px;
  border-radius:var(--st-button-radius, 999px);
  background:var(--st-button-fill, #2563eb);
  color:var(--st-button-fg, #ffffff);
  border:var(--st-button-border, 1px solid transparent);
  box-shadow:var(--st-button-shadow, 0 14px 28px rgba(37,99,235,.22));
}

/* =========================================================
   00957 · SCHOOL 01 HEADER
   Template-scoped interaction and responsive rules. The JSON
   model remains the geometry/content authority.
   ========================================================= */
[data-hf-template-id="school-01-header"]{
  font-family:Manrope,Inter,Arial,sans-serif;
}
[data-hf-template-id="school-01-header"] .school01-top-link__anchor,
[data-hf-template-id="school-01-header"] .school01-menu__link,
[data-hf-template-id="school-01-header"] .school01-icon-action__button,
[data-hf-template-id="school-01-header"] .school01-accessibility__button,
[data-hf-template-id="school-01-header"] .school01-action-button{
  transition:color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
[data-hf-template-id="school-01-header"] .school01-top-link__anchor:hover,
[data-hf-template-id="school-01-header"] .school01-top-link__anchor:focus-visible{
  color:#102a43 !important;
  background:#fef3c7;
  text-decoration:underline;
  text-underline-offset:3px;
}
[data-hf-template-id="school-01-header"] .school01-menu__link:hover,
[data-hf-template-id="school-01-header"] .school01-menu__link:focus-visible{
  color:#fff !important;
  background:#102a43 !important;
  border-color:#102a43 !important;
  transform:translateY(-1px);
}
/* 00958: active is a semantic menu state. The late level-1 menu rule uses
   !important, therefore the active token must be owned at that same cascade
   level instead of relying on the template's inline color. */
[data-hf-template-id="school-01-header"] .school01-menu__link:is(.is-active,[aria-current="page"],[data-active="true"]){
  --st-menu-l1-color:#ffffff;
  --st-menu-link-color:#ffffff;
  color:#ffffff !important;
  background:#102a43 !important;
  border-color:#102a43 !important;
}
[data-hf-template-id="school-01-header"] .school01-menu__link:is(.is-active,[aria-current="page"],[data-active="true"]) .st-menu__text{
  color:inherit !important;
}
[data-hf-template-id="school-01-header"] .school01-menu__link.is-active:hover,
[data-hf-template-id="school-01-header"] .school01-menu__link.is-active:focus-visible{
  background:#b45309 !important;
  border-color:#b45309 !important;
}
[data-hf-template-id="school-01-header"] .school01-icon-action__button:hover,
[data-hf-template-id="school-01-header"] .school01-icon-action__button:focus-visible{
  color:#fff !important;
  background:#b45309 !important;
  border-color:#b45309 !important;
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(180,83,9,.20);
}
[data-hf-template-id="school-01-header"] .school01-accessibility__button:hover,
[data-hf-template-id="school-01-header"] .school01-accessibility__button:focus-visible{
  color:#102a43 !important;
  background:#fef3c7 !important;
  border-color:#fcd34d !important;
}
[data-hf-template-id="school-01-header"] .school01-action-button:hover,
[data-hf-template-id="school-01-header"] .school01-action-button:focus-within{
  border-color:#b45309 !important;
  transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(16,42,67,.20) !important;
}
[data-hf-template-id="school-01-header"] :is(a,button,[contenteditable="true"]):focus-visible{
  outline:3px solid #fbbf24 !important;
  outline-offset:2px !important;
}

@media (max-width:1100px){
  [data-hf-template-id="school-01-header"] [data-school01-priority="optional"]{
    display:none !important;
  }
  [data-hf-template-id="school-01-header"] .school01-utility-row,
  [data-hf-template-id="school-01-header"] .school01-identity-row,
  [data-hf-template-id="school-01-header"] .school01-nav-row{
    padding-left:18px !important;
    padding-right:18px !important;
  }
  [data-hf-template-id="school-01-header"] .school01-menu__link{
    padding-left:10px !important;
    padding-right:10px !important;
    font-size:13px !important;
  }
}

@media (max-width:900px){
  [data-hf-template-id="school-01-header"] .school01-nav-row{
    display:none !important;
  }
  [data-hf-template-id="school-01-header"] [data-school01-mobile-burger="1"]{
    display:flex !important;
  }
  [data-hf-template-id="school-01-header"] .school01-account-button > .st-button__label{
    display:none !important;
  }
  [data-hf-template-id="school-01-header"] .school01-account-button{
    width:46px !important;
    min-width:46px !important;
    padding-left:13px !important;
    padding-right:13px !important;
  }
}

@media (max-width:767px){
  [data-hf-template-id="school-01-header"] .school01-utility-row{
    grid-template-columns:minmax(0,1fr) max-content !important;
    gap:8px !important;
    min-height:44px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
  [data-hf-template-id="school-01-header"] .school01-utility-group{
    gap:8px !important;
  }
  [data-hf-template-id="school-01-header"] .school01-identity-row{
    grid-template-columns:minmax(0,1fr) max-content !important;
    gap:8px !important;
    min-height:70px !important;
    padding:8px 12px !important;
  }
  [data-hf-template-id="school-01-header"] .school01-header-actions{
    gap:6px !important;
  }
  [data-hf-template-id="school-01-header"] .school01-primary-cta{
    padding-left:13px !important;
    padding-right:13px !important;
  }
  [data-hf-template-id="school-01-header"] .school01-primary-cta > .st-button__label{
    font-size:0 !important;
  }
  [data-hf-template-id="school-01-header"] .school01-primary-cta > .st-button__label::after{
    content:"Вступ";
    font-size:13px;
    line-height:1.2;
  }
}

@media (max-width:560px){
  [data-hf-template-id="school-01-header"] .school01-top-link--secondary,
  [data-hf-template-id="school-01-header"] .school01-account-button{
    display:none !important;
  }
  [data-hf-template-id="school-01-header"] .school01-contact__text{
    font-size:12px !important;
  }
  [data-hf-template-id="school-01-header"] .school01-logo{
    min-width:0 !important;
  }
  [data-hf-template-id="school-01-header"] .school01-logo .st-logo__title{
    font-size:17px !important;
    white-space:nowrap !important;
  }
  [data-hf-template-id="school-01-header"] .school01-header-actions{
    gap:4px !important;
  }
  [data-hf-template-id="school-01-header"] .school01-icon-action,
  [data-hf-template-id="school-01-header"] .school01-icon-action__button{
    width:42px !important;
    min-width:42px !important;
    height:42px !important;
    min-height:42px !important;
  }
}

@media (max-width:420px){
  [data-hf-template-id="school-01-header"] .school01-primary-cta{
    display:none !important;
  }
  [data-hf-template-id="school-01-header"] .school01-logo .st-logo__iconbtn{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    padding:10px !important;
  }
  [data-hf-template-id="school-01-header"] .school01-logo .st-logo__title{
    font-size:15px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  [data-hf-template-id="school-01-header"] *{
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
}
#st-site-header-slot .st-block--button[data-button-mode="icon"],
#st-site-footer-slot .st-block--button[data-button-mode="icon"]{
  min-width:42px;
  padding-inline:12px;
}
#st-site-header-slot .st-block--button > .st-button__label,
#st-site-footer-slot .st-block--button > .st-button__label{
  position:relative;
  z-index:1;
  min-width:0;
  font-size:16px;
  font-weight:700;
  line-height:1.1;
  color:inherit;
  background:transparent;
}
#st-site-header-slot .st-block--button > .st-button__iconbtn,
#st-site-footer-slot .st-block--button > .st-button__iconbtn{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  height:auto;
  min-width:20px;
  min-height:20px;
  padding:var(--st-icon-pad-y, 0px) var(--st-icon-pad-x, 0px);
  border:var(--st-icon-bw, 0px) solid var(--st-icon-bc, transparent);
  border-radius:var(--st-icon-radius, 999px);
  background:var(--st-icon-bg, transparent);
  color:inherit;
  box-shadow:var(--st-icon-shadow, none);
  overflow:hidden;
}
#st-site-header-slot .st-block--button > .st-button__iconbtn:hover,
#st-site-footer-slot .st-block--button > .st-button__iconbtn:hover{
  background:var(--st-icon-bg-h, var(--st-icon-bg, transparent));
  border-color:var(--st-icon-bc-h, var(--st-icon-bc, transparent));
  box-shadow:var(--st-icon-shadow-h, var(--st-icon-shadow, none));
  color:var(--st-icon-color-h, currentColor) !important;
}
#st-site-header-slot .st-block--button:hover > .st-button__iconbtn,
#st-site-footer-slot .st-block--button:hover > .st-button__iconbtn{
  color:var(--st-icon-color-h, currentColor) !important;
}
#st-site-header-slot .st-block--button > .st-button__iconbtn .st-icon-btn__glyph,
#st-site-header-slot .st-block--button > .st-button__iconbtn .st-button__iconsvg,
#st-site-footer-slot .st-block--button > .st-button__iconbtn .st-icon-btn__glyph,
#st-site-footer-slot .st-block--button > .st-button__iconbtn .st-button__iconsvg{
  width:var(--st-icon-size, 18px);
  height:var(--st-icon-size, 18px);
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
#st-site-header-slot .st-block--button > .st-button__iconbtn svg,
#st-site-footer-slot .st-block--button > .st-button__iconbtn svg{
  width:100%;
  height:100%;
  display:block;
}
#st-site-header-slot .st-block--button[data-button-icon-pos="right"] > .st-button__iconbtn,
#st-site-footer-slot .st-block--button[data-button-icon-pos="right"] > .st-button__iconbtn{
  order:2;
}
#st-site-header-slot .st-block--button[data-button-icon-pos="right"] > .st-button__label,
#st-site-footer-slot .st-block--button[data-button-icon-pos="right"] > .st-button__label{
  order:1;
}
#st-site-header-slot .st-block--button[data-button-mode="text"] > .st-button__iconbtn,
#st-site-header-slot .st-block--button[data-button-mode]:not([data-button-mode="icon"])[data-button-icon-pos="none"] > .st-button__iconbtn,
#st-site-footer-slot .st-block--button[data-button-mode="text"] > .st-button__iconbtn,
#st-site-footer-slot .st-block--button[data-button-mode]:not([data-button-mode="icon"])[data-button-icon-pos="none"] > .st-button__iconbtn{
  display:none !important;
}
#st-site-header-slot .st-block--button[data-button-mode="icon"] > .st-button__label,
#st-site-footer-slot .st-block--button[data-button-mode="icon"] > .st-button__label{
  display:none !important;
}

#st-site-header-slot .st-block--button,
#st-site-footer-slot .st-block--button,
#st-site-header-slot .st-block--button > .st-button__label,
#st-site-footer-slot .st-block--button > .st-button__label,
#st-site-header-slot .st-block--button > .st-button__iconbtn,
#st-site-footer-slot .st-block--button > .st-button__iconbtn{
  transition:transform .18s ease, opacity .18s ease, filter .18s ease, box-shadow .18s ease, color .18s ease, background .18s ease, border-color .18s ease;
  transform-origin:center center;
}
#st-site-header-slot .st-block--button:hover,
#st-site-footer-slot .st-block--button:hover{
  opacity:var(--st-button-hover-block-opacity, 1);
  transform:translateY(var(--st-button-hover-block-y, 0px)) scale(var(--st-button-hover-block-scale, 1));
}
#st-site-header-slot .st-block--button > .st-button__label:hover,
#st-site-footer-slot .st-block--button > .st-button__label:hover{
  opacity:var(--st-button-hover-label-opacity, 1);
  transform:translateY(var(--st-button-hover-label-y, 0px)) scale(var(--st-button-hover-label-scale, 1));
}
#st-site-header-slot .st-block--button:hover > .st-button__label,
#st-site-footer-slot .st-block--button:hover > .st-button__label,
#st-site-header-slot .st-block--button > .st-button__label:hover,
#st-site-footer-slot .st-block--button > .st-button__label:hover{
  opacity:var(--st-button-hover-label-opacity, 1);
  transform:translateY(var(--st-button-hover-label-y, 0px)) scale(var(--st-button-hover-label-scale, 1));
}
#st-site-header-slot .st-block--button:hover > .st-button__iconbtn,
#st-site-footer-slot .st-block--button:hover > .st-button__iconbtn,
#st-site-header-slot .st-block--button > .st-button__iconbtn:hover,
#st-site-footer-slot .st-block--button > .st-button__iconbtn:hover{
  opacity:var(--st-button-hover-icon-opacity, var(--st-button-hover-label-opacity, 1));
  transform:translateY(var(--st-button-hover-icon-y, 0px)) scale(var(--st-button-hover-icon-scale, 1));
}
#st-site-header-slot .st-block--button > .st-button__label.st-bgfx,
#st-site-footer-slot .st-block--button > .st-button__label.st-bgfx,
.site-root .st-block--button > .st-button__label.st-bgfx{
  isolation:isolate;
  z-index:0;
}
#st-site-header-slot .st-block--button > .st-button__label.st-bgfx::before,
#st-site-header-slot .st-block--button > .st-button__label.st-bgfx::after,
#st-site-footer-slot .st-block--button > .st-button__label.st-bgfx::before,
#st-site-footer-slot .st-block--button > .st-button__label.st-bgfx::after,
.site-root .st-block--button > .st-button__label.st-bgfx::before,
.site-root .st-block--button > .st-button__label.st-bgfx::after{
  z-index:-1;
}

.site-root .st-block--button > .st-button__label,
.site-root .st-block--button > .st-button__iconbtn{
  cursor:pointer;
  position:relative;
}
.site-root .st-block--button > .st-button__label:hover:not(.is-active):not(.is-selected),
.site-root .st-block--button > .st-button__iconbtn:hover:not(.is-active):not(.is-selected){
  box-shadow:0 0 0 1px rgba(148,163,184,.7);
}
.site-root .st-block--button > .st-button__label.is-active,
.site-root .st-block--button > .st-button__label.is-selected,
.site-root .st-block--button > .st-button__iconbtn.is-active,
.site-root .st-block--button > .st-button__iconbtn.is-selected{
  outline:2px solid var(--site-active-outline);
  outline-offset:2px;
}


/* AI selection multi-select visibility: show every selected item, not only the active one. */
.site-root .st-block.is-selected:not(.is-active),
.site-root .st-section.is-selected:not(.is-active),
.site-root .st-row.is-selected:not(.is-active),
#st-site-header-slot .is-selected:not(.is-active),
#st-site-footer-slot .is-selected:not(.is-active),
#st-site-header-slot .hb-dom-selected:not(.hb-dom-active),
#st-site-footer-slot .hb-dom-selected:not(.hb-dom-active) {
  outline: 2px solid rgba(34, 197, 94, 0.75);
  outline-offset: 3px;
  box-shadow: 0 0 0 5px rgba(34, 197, 94, 0.10);
}

/* [00783] Unified visual selection contract. */
.site-root .is-active:not(.hb-panel):not(.fb-panel),
.site-root .hb-dom-active:not(.hb-panel):not(.fb-panel),
#st-site-header-slot .is-active,
#st-site-footer-slot .is-active,
#st-site-header-slot .hb-dom-active,
#st-site-footer-slot .hb-dom-active {
  outline: 2px solid rgba(56, 189, 248, 0.90);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px rgba(56, 189, 248, 0.14);
}

/* 00150 / 00339: section width/height resize visual feedback.
   Keep this lightweight during live drag; heavy paint shadows made section resize
   feel delayed on large template pages. */
.site-root .st-section.is-section-resizing {
  outline: 2px solid rgba(34, 211, 238, 0.95) !important;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(34, 211, 238, 0.13) !important;
  transition: none !important;
  will-change: width, height, min-height;
}
body.st-section-resize-active .site-root .st-section:hover:not(.is-active):not(.is-dragging):not(.is-section-resizing),
body.st-section-resize-active .site-root .st-row:hover:not(.is-active):not(.is-dragging) {
  outline-color: transparent !important;
  box-shadow: none !important;
}

/* 00156/00157: порожні секції/контейнери лишаються, але підказка не світиться постійно */
.site-root .st-section > .st-row:empty,
.site-root .st-section > .st-row.st-row--empty {
  min-height: 128px;
  border: 2px dashed transparent;
  border-radius: 18px;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-sizing: border-box;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.site-root .st-section > .st-row:empty::before,
.site-root .st-section > .st-row.st-row--empty::before {
  content: "Порожня секція — додайте блок, текст або шаблон";
  display: none;
  align-items: center;
  justify-content: center;
  max-width: calc(100% - 32px);
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.86);
  color: #e0f2fe;
  border: 1px solid rgba(125, 211, 252, 0.42);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .02em;
  text-align: center;
  pointer-events: none;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .22);
}
body.st-show-empty-section-hints .site-root .st-section:hover > .st-row:empty,
body.st-show-empty-section-hints .site-root .st-section:hover > .st-row.st-row--empty,
body.st-show-empty-section-hints .site-root .st-section > .st-row:empty:hover,
body.st-show-empty-section-hints .site-root .st-section > .st-row.st-row--empty:hover {
  border-color: rgba(56, 189, 248, 0.55);
  background: linear-gradient(135deg, rgba(14,165,233,0.10), rgba(34,197,94,0.065));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 14px 36px rgba(14,165,233,.08);
}
body.st-show-empty-section-hints .site-root .st-section:hover > .st-row:empty::before,
body.st-show-empty-section-hints .site-root .st-section:hover > .st-row.st-row--empty::before,
body.st-show-empty-section-hints .site-root .st-section > .st-row:empty:hover::before,
body.st-show-empty-section-hints .site-root .st-section > .st-row.st-row--empty:hover::before {
  display: inline-flex;
}
.site-root .st-block > .st-row:empty,
.site-root .st-block > .st-row.st-row--empty {
  min-height: 86px;
  border: 1.5px dashed transparent;
  border-radius: 14px;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-sizing: border-box;
  transition: border-color .16s ease, background .16s ease;
}
.site-root .st-block > .st-row:empty::before,
.site-root .st-block > .st-row.st-row--empty::before {
  content: "Порожній контейнер";
  display: none;
  padding: 8px 11px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.72);
  color: #f3e8ff;
  border: 1px solid rgba(216, 180, 254, 0.28);
  font-size: 11px;
  font-weight: 900;
  pointer-events: none;
}
body.st-show-empty-section-hints .site-root .st-block:hover > .st-row:empty,
body.st-show-empty-section-hints .site-root .st-block:hover > .st-row.st-row--empty,
body.st-show-empty-section-hints .site-root .st-block > .st-row:empty:hover,
body.st-show-empty-section-hints .site-root .st-block > .st-row.st-row--empty:hover {
  border-color: rgba(168, 85, 247, 0.42);
  background: rgba(168, 85, 247, 0.06);
}
body.st-show-empty-section-hints .site-root .st-block:hover > .st-row:empty::before,
body.st-show-empty-section-hints .site-root .st-block:hover > .st-row.st-row--empty::before,
body.st-show-empty-section-hints .site-root .st-block > .st-row:empty:hover::before,
body.st-show-empty-section-hints .site-root .st-block > .st-row.st-row--empty:hover::before {
  display: inline-flex;
}

/* 00210 — Menu text states: Level 1 text widget bridge.
   The Text widget writes only to menuLevelStyles / Hover / Open / Current [1].
   These rules make font-weight, italic, text-shadow and stroke follow the same level-1 source. */
.st-block--menu .st-menu__item[data-menu-depth="1"] > .st-menu__link{
  font-weight:var(--st-menu-l1-fw, var(--st-menu-link-fw, 400));
  font-style:var(--st-menu-l1-fst, var(--st-menu-link-fst, normal));
  text-shadow:var(--st-menu-l1-ts, var(--st-menu-link-ts, none));
  -webkit-text-stroke-width:var(--st-menu-l1-sw, var(--st-menu-link-sw, 0px));
  -webkit-text-stroke-color:var(--st-menu-l1-sc, var(--st-menu-link-sc, transparent));
}
.st-block--menu .st-menu__item[data-menu-depth="1"] > .st-menu__link:hover{
  font-weight:var(--st-menu-l1-h-fw, var(--st-menu-l1-fw, var(--st-menu-link-fw, 400)));
  font-style:var(--st-menu-l1-h-fst, var(--st-menu-l1-fst, var(--st-menu-link-fst, normal)));
  text-shadow:var(--st-menu-l1-h-ts, var(--st-menu-l1-ts, var(--st-menu-link-ts, none)));
  -webkit-text-stroke-width:var(--st-menu-l1-h-sw, var(--st-menu-l1-sw, var(--st-menu-link-sw, 0px)));
  -webkit-text-stroke-color:var(--st-menu-l1-h-sc, var(--st-menu-l1-sc, var(--st-menu-link-sc, transparent)));
}
.st-block--menu .st-menu__item.is-open[data-menu-depth="1"] > .st-menu__link,
.st-block--menu .st-menu__item.is-open[data-menu-depth="1"] > .st-menu__link:hover{
  font-weight:var(--st-menu-l1-o-fw, var(--st-menu-l1-fw, var(--st-menu-link-fw, 400)));
  font-style:var(--st-menu-l1-o-fst, var(--st-menu-l1-fst, var(--st-menu-link-fst, normal)));
  text-shadow:var(--st-menu-l1-o-ts, var(--st-menu-l1-ts, var(--st-menu-link-ts, none)));
  -webkit-text-stroke-width:var(--st-menu-l1-o-sw, var(--st-menu-l1-sw, var(--st-menu-link-sw, 0px)));
  -webkit-text-stroke-color:var(--st-menu-l1-o-sc, var(--st-menu-l1-sc, var(--st-menu-link-sc, transparent)));
}
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="1"] > .st-menu__link,
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="1"] > .st-menu__link:hover{
  font-weight:var(--st-menu-l1-c-fw, var(--st-menu-l1-fw, var(--st-menu-link-fw, 400)));
  font-style:var(--st-menu-l1-c-fst, var(--st-menu-l1-fst, var(--st-menu-link-fst, normal)));
  text-shadow:var(--st-menu-l1-c-ts, var(--st-menu-l1-ts, var(--st-menu-link-ts, none)));
  -webkit-text-stroke-width:var(--st-menu-l1-c-sw, var(--st-menu-l1-sw, var(--st-menu-link-sw, 0px)));
  -webkit-text-stroke-color:var(--st-menu-l1-c-sc, var(--st-menu-l1-sc, var(--st-menu-link-sc, transparent)));
}

/* 00220: menu item links are styling targets, not separate canvas blocks.
   Keep the real menu block selectable/resizable, but do not show extra square
   builder outlines on every internal menu item after menu resize/hover. */
.site-root .st-block--menu .st-block--menu-item:hover:not(.is-active):not(.is-dragging),
#st-site-header-slot .st-block--menu .st-block--menu-item:hover:not(.is-active):not(.is-dragging),
#st-site-footer-slot .st-block--menu .st-block--menu-item:hover:not(.is-active):not(.is-dragging){
  outline: none !important;
  box-shadow: inherit;
}
.site-root .st-block--menu .st-block--menu-item.is-active,
.site-root .st-block--menu .st-block--menu-item.is-selected,
#st-site-header-slot .st-block--menu .st-block--menu-item.is-active,
#st-site-header-slot .st-block--menu .st-block--menu-item.is-selected,
#st-site-footer-slot .st-block--menu .st-block--menu-item.is-active,
#st-site-footer-slot .st-block--menu .st-block--menu-item.is-selected{
  outline: none !important;
  box-shadow: inherit;
}
.site-root .st-block--menu .st-block--menu-item > .st-resize,
#st-site-header-slot .st-block--menu .st-block--menu-item > .st-resize,
#st-site-footer-slot .st-block--menu .st-block--menu-item > .st-resize{
  display: none !important;
}

/* =========================================================
   00239 Header Safe Layout
   Рівень шапки і внутрішні контейнери працюють як FR/grid,
   але без hard max-content, який виштовхував CTA за екран.
   ========================================================= */
#st-site-header-slot[data-st-header-layout-safe00239="1"]{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  overflow:visible;
}
#st-site-header-slot .st-row[data-st-header039-safe-row="1"]{
  display:grid !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
#st-site-header-slot .st-block[data-st-header039-container="1"]{
  width:100% !important;
  max-width:100% !important;
  min-width:var(--st-header-039-min-w, 0px) !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
#st-site-header-slot .st-block[data-st-header039-inner-fr="1"]{
  /* 00245: legacy only. New header containers do not create inner FR/grid level. */
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  width:100% !important;
  max-width:100% !important;
  min-width:var(--st-header-039-min-w, 0px) !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
#st-site-header-slot .st-block[data-st-header039-inner-fr="1"] > .st-block,
#st-site-header-slot .st-block[data-st-header039-container="1"] > .st-block{
  min-width:0 !important;
  max-width:none !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

/* 00245 Header chain guard: top containers are grid cells; they must not overlap via old transforms/margins. */
#st-site-header-slot .st-row[data-st-header039-safe-row="1"] > .st-block[data-st-header039-container="1"]{
  margin-left:0 !important;
  margin-right:0 !important;
}

#st-site-header-slot .st-block--menu,
#st-site-header-slot .st-block--menu .st-menu,
#st-site-header-slot .st-block--menu .st-menu__list{
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
#st-site-header-slot .st-block--menu .st-menu__list{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center;
}

/* 00240: Header menu leaf is a real resizable block, not a 100%-wide filler.
   This overrides older min-width:0 !important rules for direct children of header containers. */
#st-site-header-slot .st-block--menu[data-st-header039-menu-leaf="1"]{
  flex:0 0 auto !important;
  min-width:var(--st-header-039-menu-min-w, 96px) !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
#st-site-header-slot .st-block--menu[data-st-header039-menu-leaf="1"] > .st-menu,
#st-site-header-slot .st-block--menu[data-st-header039-menu-leaf="1"] > nav.st-menu{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}
#st-site-header-slot .st-block--menu .st-menu__link,
#st-site-header-slot .st-block--button,
#st-site-header-slot .st-block--phone,
#st-site-header-slot .st-block--logo{
  max-width:100% !important;
  box-sizing:border-box !important;
}


/* 00243: Header menu inside a selected container must be vertically movable by parent align-items.
   Do not force the menu wrapper/list to occupy full container height unless the menu block itself has custom height. */
#st-site-header-slot .st-block--menu:not([data-st-size-mode="custom"]):not([data-size-mode="custom"]) > .st-menu,
#st-site-header-slot .st-block--menu:not([data-st-size-mode="custom"]):not([data-size-mode="custom"]) > nav.st-menu,
#st-site-header-slot .st-block--menu:not([data-st-size-mode="custom"]):not([data-size-mode="custom"]) .st-menu--big{
  height: auto;
  min-height: 0;
}
#st-site-header-slot .st-block--menu:not([data-st-size-mode="custom"]):not([data-size-mode="custom"]) .st-menu__list{
  min-height: 0;
}

/* =========================================================
   00244 Header align/hover guard
   ---------------------------------------------------------
   - When user hovers a header container, do not show a second
     nested child frame unless global selection mode "Блоки" is on.
   - Menu block children alignment uses the menu root list as the
     child host; keep that list fillable for vertical alignment.
   ========================================================= */
html:not(.st-design-select-blocks) #st-site-header-slot .st-block[data-st-header039-container="1"] > .st-block:hover:not(.is-active):not(.is-selected):not(.hb-dom-active):not(.hb-dom-selected),
html:not(.st-design-select-blocks) #st-site-footer-slot .st-block[data-st-header039-container="1"] > .st-block:hover:not(.is-active):not(.is-selected):not(.hb-dom-active):not(.hb-dom-selected){
  outline: none !important;
  box-shadow: none !important;
}

#st-site-header-slot .st-block--menu[data-st-menu="1"] > .st-menu,
#st-site-header-slot .st-block--menu[data-st-menu="1"] > nav.st-menu,
#st-site-footer-slot .st-block--menu[data-st-menu="1"] > .st-menu,
#st-site-footer-slot .st-block--menu[data-st-menu="1"] > nav.st-menu{
  box-sizing: border-box;
}

#st-site-header-slot .st-block--menu[data-st-menu="1"] .st-menu__list[data-st-layout-proxy="menu-root-list"],
#st-site-footer-slot .st-block--menu[data-st-menu="1"] .st-menu__list[data-st-layout-proxy="menu-root-list"]{
  width: 100%;
  box-sizing: border-box;
}

/* =========================================================
   00246 HEADER SAFETY PATCH
   ---------------------------------------------------------
   - Root menu block must never paint wider than its direct header container.
   - Menu may wrap its level-1 items inside itself; dropdown/mega may still overflow.
   - Leaf controls in CTA container must be real resizable flex items.
   ========================================================= */
#st-site-header-slot .st-block[data-st-header039-container="1"]{
  box-sizing: border-box;
  min-width: var(--st-header-039-min-w, 0px);
}
#st-site-header-slot .st-block[data-st-header039-container="1"] > .st-block{
  box-sizing: border-box;
  max-width: 100%;
}
#st-site-header-slot .st-block[data-st-header039-container="1"] > .st-block--menu{
  max-width: 100% !important;
  min-width: var(--st-header-039-menu-min-w, 80px);
  flex-shrink: 1 !important;
  box-sizing: border-box;
}
#st-site-header-slot .st-block--menu > .st-menu,
#st-site-header-slot .st-block--menu > nav.st-menu{
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box;
}
#st-site-header-slot .st-block--menu .st-menu__list[data-menu-list-depth="1"],
#st-site-header-slot .st-block--menu .st-menu > .st-menu__list{
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box;
  flex-wrap: wrap;
}
#st-site-header-slot .st-block--menu .st-menu__item[data-menu-depth="1"]{
  max-width: 100%;
}
#st-site-header-slot .st-block--menu .st-menu__item[data-menu-depth="1"] > .st-menu__link{
  max-width: 100%;
  box-sizing: border-box;
}

/* 00247 HEADER STRICT BOUNDS
   Direct children of header containers must stay inside the container border.
   JS computes px widths; this CSS prevents text/content from re-expanding the box. */
.site-root #st-site-header-slot .st-section[data-sec-role="header"] > .st-row > .st-block {
  box-sizing: border-box;
  min-width: 0 !important;
  max-width: 100% !important;
}
.site-root #st-site-header-slot .st-section[data-sec-role="header"] > .st-row > .st-block > .st-block {
  box-sizing: border-box;
  min-width: 0 !important;
}
.site-root #st-site-header-slot .st-block--logo,
.site-root #st-site-header-slot .st-block--phone,
.site-root #st-site-header-slot .st-block--button,
.site-root #st-site-header-slot .st-block--icon,
.site-root #st-site-header-slot .st-block--menu {
  min-width: 0 !important;
  box-sizing: border-box;
}
.site-root #st-site-header-slot .st-logo__title,
.site-root #st-site-header-slot .st-logo__subtitle,
.site-root #st-site-header-slot .st-button__label,
.site-root #st-site-header-slot .st-phone__text,
.site-root #st-site-header-slot .st-phone__label,
.site-root #st-site-header-slot .st-menu__link {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* =========================================================
   TEXT FLOW MODE — 00249 SAFE MERGE
   data-st-text-flow="nowrap|wrap|clip" on .st-text-edit.
   Safe merge note: do NOT override header/container layout widths here.
   Resize math provides the hard minimum; CSS only controls text behavior.
   ========================================================= */
.st-text-edit[data-st-text-flow="nowrap"]{
  white-space: nowrap !important;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.st-text-edit[data-st-text-flow="wrap"]{
  white-space: normal !important;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: break-word;
  word-break: normal;
}

.st-text-edit[data-st-text-flow="clip"]{
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis;
  min-width: 5px !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.st-block--button > .st-text-edit:not([data-st-text-flow]),
.st-block--phone > .st-text-edit:not([data-st-text-flow]){
  white-space: nowrap;
}

.st-block--button > .st-text-edit[data-st-text-flow="clip"],
.st-block--phone > .st-text-edit[data-st-text-flow="clip"],
.st-block--logo > .st-text-edit[data-st-text-flow="clip"]{
  flex: 1 1 5px;
}

/* =========================================================
   TEXT FLOW HARD MIN — 00250
   Виправляє обрізання тексту всередині кнопки/телефону при resize.
   Старі header-правила мали вищу специфічність і ставили label min-width:0 + overflow:hidden.
   Тут nowrap знову стає жорстким контрактом: текст + 2px, без обрізання.
   ========================================================= */
.site-root #st-site-header-slot .st-block--button[data-st-text-flow="nowrap"],
.site-root #st-site-header-slot .st-block--phone[data-st-text-flow="nowrap"],
.site-root #st-site-header-slot .st-block--logo[data-st-text-flow="nowrap"],
.site-root #st-site-footer-slot .st-block--button[data-st-text-flow="nowrap"],
.site-root #st-site-footer-slot .st-block--phone[data-st-text-flow="nowrap"],
.site-root #st-site-footer-slot .st-block--logo[data-st-text-flow="nowrap"]{
  min-width: var(--st-text-flow-min-w, 44px) !important;
}

.site-root #st-site-header-slot .st-block--button > .st-button__label[data-st-text-flow="nowrap"],
.site-root #st-site-header-slot .st-block--phone > .st-phone__text[data-st-text-flow="nowrap"],
.site-root #st-site-header-slot .st-block--phone > .st-phone__label[data-st-text-flow="nowrap"],
.site-root #st-site-header-slot .st-block--logo > .st-logo__title[data-st-text-flow="nowrap"],
.site-root #st-site-header-slot .st-block--logo > .st-logo__subtitle[data-st-text-flow="nowrap"],
.site-root #st-site-footer-slot .st-block--button > .st-button__label[data-st-text-flow="nowrap"],
.site-root #st-site-footer-slot .st-block--phone > .st-phone__text[data-st-text-flow="nowrap"],
.site-root #st-site-footer-slot .st-block--phone > .st-phone__label[data-st-text-flow="nowrap"],
.site-root #st-site-footer-slot .st-block--logo > .st-logo__title[data-st-text-flow="nowrap"],
.site-root #st-site-footer-slot .st-block--logo > .st-logo__subtitle[data-st-text-flow="nowrap"]{
  flex: 0 0 auto !important;
  min-width: var(--st-text-flow-min-w, max-content) !important;
  max-width: none !important;
  width: max-content;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.site-root #st-site-header-slot .st-block--button > .st-button__label[data-st-text-flow="clip"],
.site-root #st-site-header-slot .st-block--phone > .st-phone__text[data-st-text-flow="clip"],
.site-root #st-site-header-slot .st-block--phone > .st-phone__label[data-st-text-flow="clip"],
.site-root #st-site-footer-slot .st-block--button > .st-button__label[data-st-text-flow="clip"],
.site-root #st-site-footer-slot .st-block--phone > .st-phone__text[data-st-text-flow="clip"],
.site-root #st-site-footer-slot .st-block--phone > .st-phone__label[data-st-text-flow="clip"]{
  flex: 1 1 5px !important;
  min-width: 5px !important;
  max-width: 100% !important;
  width: auto;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}


/* =========================================================
   00254 Header as Section
   Шапка має стабільну DOM-модель:
   section[data-sec-role="header"] > .st-row[data-layout-mode="fr"] > .st-block(container)
   ========================================================= */
.site-root #st-site-header-slot > .st-section[data-sec-role="header"]{
  width:auto;
  max-width:100%;
  box-sizing:border-box;
  overflow:visible;
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.site-root #st-site-header-slot > .st-section[data-sec-role="header"] > .st-row[data-layout-mode="fr"]{
  display:grid;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:visible;
  box-sizing:border-box;
}
.site-root #st-site-header-slot > .st-section[data-sec-role="header"] > .st-row > .st-block[data-st-node="container"]{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  overflow:visible;
}
.site-root #st-site-header-slot .st-block[data-st-area="header"][data-layout-mode="flex"]{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  gap:10px;
}
.site-root #st-site-header-slot .st-block[data-st-area="header"][data-layout-mode="flex"] > .st-block{
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.site-root #st-site-header-slot .st-block[data-st-area="header"] > .st-block--menu,
.site-root #st-site-header-slot .st-block--menu[data-st-area="header"]{
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.site-root #st-site-header-slot .st-block--menu[data-st-area="header"] .st-menu__list[data-menu-list-depth="1"]{
  max-width:100%;
  min-width:0;
  flex-wrap:wrap;
}

/* =========================================================
   00255 HEADER STRICT CONTAINMENT
   ---------------------------------------------------------
   Header is now a section, but every direct child must stay inside its
   direct container. CSS only supports JS math: min sizes are exposed via vars.
   ========================================================= */
#st-site-header-slot[data-st-header-containment="255"]{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
#st-site-header-slot .st-row[data-st-header255-row="1"]{
  display:grid !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
#st-site-header-slot .st-block[data-st-header255-container="1"]{
  box-sizing:border-box !important;
  min-width:var(--st-header-255-min-w, 24px) !important;
  min-height:var(--st-header-255-min-h, 24px) !important;
  max-width:100% !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  overflow:visible !important;
}
#st-site-header-slot .st-block[data-st-header255-container="1"] > .st-block{
  box-sizing:border-box !important;
  min-width:var(--st-header-255-leaf-min-w, auto);
  max-width:100% !important;
  flex-shrink:1 !important;
}
#st-site-header-slot .st-block[data-st-header255-container="1"] > .st-block--menu,
#st-site-header-slot .st-block[data-st-header255-container="1"] .st-block--menu > .st-menu,
#st-site-header-slot .st-block[data-st-header255-container="1"] .st-block--menu > nav.st-menu,
#st-site-header-slot .st-block[data-st-header255-container="1"] .st-block--menu .st-menu__list[data-menu-list-depth="1"]{
  max-width:100% !important;
  box-sizing:border-box !important;
}
#st-site-header-slot .st-block--menu .st-menu__list[data-menu-list-depth="1"],
#st-site-header-slot .st-block--menu .st-menu > .st-menu__list{
  flex-wrap:wrap !important;
}
#st-site-header-slot .st-text-edit[data-st-text-flow="nowrap"],
#st-site-header-slot .st-logo__title[data-st-text-flow="nowrap"],
#st-site-header-slot .st-logo__subtitle[data-st-text-flow="nowrap"],
#st-site-header-slot .st-button__label[data-st-text-flow="nowrap"],
#st-site-header-slot .st-phone__text[data-st-text-flow="nowrap"],
#st-site-header-slot .st-phone__label[data-st-text-flow="nowrap"]{
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
#st-site-header-slot .st-text-edit[data-st-text-flow="clip"],
#st-site-header-slot .st-logo__title[data-st-text-flow="clip"],
#st-site-header-slot .st-logo__subtitle[data-st-text-flow="clip"],
#st-site-header-slot .st-button__label[data-st-text-flow="clip"],
#st-site-header-slot .st-phone__text[data-st-text-flow="clip"],
#st-site-header-slot .st-phone__label[data-st-text-flow="clip"]{
  min-width:5px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}


/* =========================================================
   00320 HEADER FREE-SIZE DEFAULTS + DESIGN SELECTION COLORS
   ---------------------------------------------------------
   Header runtime no longer stretches levels/containers by default.
   A level/container may still stop at real child min-size, but it should not
   pull child heights unless the layout widget explicitly enables stretch.
   ========================================================= */
.site-root #st-site-header-slot > .st-section[data-sec-role="header"] > .st-row,
.site-root #st-site-header-slot .st-section[data-sec-role="header"] > .st-row[data-st-node="level"],
.site-root #st-site-header-slot .st-section[data-st-section-kind="header"] > .st-row[data-st-node="level"]{
  align-items: center;
  align-content: center;
  --st-header-container-default-h: 35px;
}

.site-root #st-site-header-slot > .st-section[data-sec-role="header"] > .st-row > .st-block[data-st-node="container"]:not([data-st-size-mode="custom"]):not([data-size-mode="custom"]),
.site-root #st-site-header-slot .st-section[data-sec-role="header"] > .st-row > .st-block[data-st-area="header"][data-st-node="container"]:not([data-st-size-mode="custom"]):not([data-size-mode="custom"]),
.site-root #st-site-header-slot .st-block[data-st-header255-container="1"]:not([data-st-size-mode="custom"]):not([data-size-mode="custom"]){
  align-self: center;
  height: auto;
  min-height: var(--st-header-320-hard-min-h, var(--st-header-container-default-h, 35px));
}

.site-root .is-selected[data-st-design-select-kind="sections"],
.site-root .is-active[data-st-design-select-kind="sections"]{
  outline: 2px solid rgba(59, 130, 246, 0.98) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px rgba(59, 130, 246, 0.14) !important;
}

.site-root .is-selected[data-st-design-select-kind="levels"],
.site-root .is-active[data-st-design-select-kind="levels"]{
  outline: 2px solid rgba(234, 179, 8, 0.98) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px rgba(234, 179, 8, 0.16) !important;
}

.site-root .is-selected[data-st-design-select-kind="containers"],
.site-root .is-active[data-st-design-select-kind="containers"]{
  outline: 2px solid rgba(34, 197, 94, 0.98) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px rgba(34, 197, 94, 0.14) !important;
}

.site-root .is-selected[data-st-design-select-kind="blocks"],
.site-root .is-active[data-st-design-select-kind="blocks"]{
  outline: 2px solid rgba(56, 189, 248, 0.98) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px rgba(56, 189, 248, 0.14) !important;
}

/* =========================================================
   00273 HEADER VERTICAL ALIGN OVERRIDES
   ---------------------------------------------------------
   Default header layout stretches top containers to the full level height.
   When the user explicitly uses Layout → Align Y in mode “Блок” or “Діти”,
   only the marked row/container is released from that default stretch.
   This keeps resize math unchanged and prevents vertical align from being
   ignored by earlier !important header safety rules.
   ========================================================= */
.site-root #st-site-header-slot > .st-section[data-sec-role="header"] > .st-row[data-st-layout-row-y-align="1"],
.site-root #st-site-header-slot .st-section[data-sec-role="header"] > .st-row[data-st-node="level"][data-st-layout-row-y-align="1"],
.site-root #st-site-header-slot .st-section[data-st-section-kind="header"] > .st-row[data-st-node="level"][data-st-layout-row-y-align="1"]{
  align-items: var(--st-layout-row-y-align, center) !important;
  align-content: var(--st-layout-row-y-align, center) !important;
}

.site-root #st-site-header-slot > .st-section[data-sec-role="header"] > .st-row > .st-block[data-st-layout-y-align="1"],
.site-root #st-site-header-slot .st-section[data-sec-role="header"] > .st-row > .st-block[data-st-area="header"][data-st-layout-y-align="1"],
.site-root #st-site-header-slot .st-block[data-st-header255-container="1"][data-st-layout-y-align="1"]{
  align-self: var(--st-layout-y-align, center) !important;
  height: auto !important;
  min-height: auto !important;
}

.site-root #st-site-header-slot .st-block[data-st-header255-container="1"] > .st-block[data-st-layout-child-y-align="1"]{
  height: auto;
  max-height: 100%;
}

/* =========================================================
   00275 HEADER ALIGN/RESIZE SYNC GUARD
   ---------------------------------------------------------
   00274 used !important height/max-height rules for “Діти” alignment.
   That made vertical alignment visible, but it also overrode manual resize of
   the Menu block. 00275 keeps only the non-geometric markers in CSS: alignment
   may change flex/grid alignment, but CSS must never freeze width/height.
   ========================================================= */
.site-root #st-site-header-slot .st-block[data-st-header039-container="1"][data-st-layout-children-align-host="1"],
.site-root #st-site-header-slot .st-block[data-st-header255-container="1"][data-st-layout-children-align-host="1"]{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
}

.site-root #st-site-header-slot .st-block[data-st-header039-container="1"] > .st-block[data-st-layout-child-y-align="1"],
.site-root #st-site-header-slot .st-block[data-st-header255-container="1"] > .st-block[data-st-layout-child-y-align="1"],
.site-root #st-site-header-slot .st-block[data-st-area="header"] > .st-block[data-st-layout-child-y-align="1"]{
  align-self:auto !important;
  box-sizing:border-box !important;
}

.site-root #st-site-header-slot .st-block[data-st-layout-child-y-align="1"].st-block--menu > .st-menu,
.site-root #st-site-header-slot .st-block[data-st-layout-child-y-align="1"].st-block--menu > nav.st-menu,
.site-root #st-site-header-slot .st-block[data-st-layout-child-y-align="1"].st-block--menu .st-menu__list[data-menu-list-depth="1"]{
  min-height:0 !important;
}

.site-root #st-site-header-slot .st-block[data-st-layout-leaf-children-align="1"] > .st-text-edit,
.site-root #st-site-header-slot .st-block[data-st-layout-leaf-children-align="1"] > .st-button__label,
.site-root #st-site-header-slot .st-block[data-st-layout-leaf-children-align="1"] > .st-button__iconbtn,
.site-root #st-site-header-slot .st-block[data-st-layout-leaf-children-align="1"] > .st-phone__text,
.site-root #st-site-header-slot .st-block[data-st-layout-leaf-children-align="1"] > .st-phone__iconbtn,
.site-root #st-site-header-slot .st-block[data-st-layout-leaf-children-align="1"] > .st-logo__title,
.site-root #st-site-header-slot .st-block[data-st-layout-leaf-children-align="1"] > .st-logo__subtitle,
.site-root #st-site-header-slot .st-block[data-st-layout-leaf-children-align="1"] > .st-logo__mark,
.site-root #st-site-header-slot .st-block[data-st-layout-leaf-children-align="1"] > .st-logo__iconbtn,
.site-root #st-site-header-slot .st-block[data-st-layout-leaf-children-align="1"] > .st-icon-btn{
  box-sizing:border-box !important;
}

/* =========================================================
   00279 HEADER DEFAULT VERTICAL CENTER / HUG GUARD
   ---------------------------------------------------------
   Default safety only. JS still owns explicit resize/alignment.
   Protected header controls (logo / phone / CTA button) should not stretch
   vertically just because their parent container/level was resized.
   ========================================================= */
#st-site-header-slot .st-block[data-st-header279-default-y="center"]{
  align-self:center;
  justify-self:center;
}
#st-site-header-slot .st-block[data-st-header039-container="1"]:not([data-st-layout-children-align-host="1"]),
#st-site-header-slot .st-block[data-st-header255-container="1"]:not([data-st-layout-children-align-host="1"]){
  align-items:center;
  align-content:center;
}


/* =========================================================
   00280 Header protected Hug controls
   ---------------------------------------------------------
   Parent/container/level vertical resize must not stretch
   Logo / Phone / CTA button to 100% height after pointerup.
   Manual vertical resize is preserved through data-st-header279-user-h="1";
   explicit Custom mode is also excluded by the hug selector.
   ========================================================= */
#st-site-header-slot .st-block--logo[data-st-size-mode="hug"]:not([data-st-header279-user-h="1"]),
#st-site-header-slot .st-block--phone[data-st-size-mode="hug"]:not([data-st-header279-user-h="1"]),
#st-site-header-slot .st-block--button[data-st-size-mode="hug"]:not([data-st-header279-user-h="1"]){
  height: auto !important;
  max-height: none !important;
  align-self: center;
}
#st-site-header-slot .st-block--logo[data-st-size-mode="hug"]:not([data-st-header279-user-h="1"]) > .st-text-edit,
#st-site-header-slot .st-block--phone[data-st-size-mode="hug"]:not([data-st-header279-user-h="1"]) > .st-text-edit,
#st-site-header-slot .st-block--button[data-st-size-mode="hug"]:not([data-st-header279-user-h="1"]) > .st-text-edit,
#st-site-header-slot .st-block--button[data-st-size-mode="hug"]:not([data-st-header279-user-h="1"]) > .st-button__label,
#st-site-header-slot .st-block--phone[data-st-size-mode="hug"]:not([data-st-header279-user-h="1"]) > .st-phone__text{
  height: auto !important;
  max-height: none !important;
}

/* 00281: Page tree -> canvas visual bridge. */
.site-root .st-tree-selected-container,
#st-site-header-slot .st-tree-selected-container,
#st-site-footer-slot .st-tree-selected-container{
  outline: 2px solid rgba(34,197,94,.95) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px rgba(34,197,94,.14) !important;
}
.site-root .st-tree-selected-block,
#st-site-header-slot .st-tree-selected-block,
#st-site-footer-slot .st-tree-selected-block{
  outline: 2px solid rgba(56,189,248,.95) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px rgba(56,189,248,.14) !important;
}
.site-root .st-tree-selected-icon,
#st-site-header-slot .st-tree-selected-icon,
#st-site-footer-slot .st-tree-selected-icon{
  outline: 2px solid rgba(125,211,252,.98) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px rgba(125,211,252,.14) !important;
}
.site-root .st-tree-selected-text,
#st-site-header-slot .st-tree-selected-text,
#st-site-footer-slot .st-tree-selected-text{
  outline: 1.5px dashed rgba(250,204,21,.98) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px rgba(250,204,21,.10) !important;
}

/* 00282: Page tree / design mode extra visual roles. */
.site-root .st-tree-selected-heading,
#st-site-header-slot .st-tree-selected-heading,
#st-site-footer-slot .st-tree-selected-heading{
  outline: 1.5px dashed rgba(249,115,22,.98) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px rgba(249,115,22,.10) !important;
}
.site-root .st-tree-selected-icon.st-icon-svg,
#st-site-header-slot .st-tree-selected-icon.st-icon-svg,
#st-site-footer-slot .st-tree-selected-icon.st-icon-svg{
  display: inline-flex !important;
}
.site-root .is-selected[data-st-design-select-kind="headings"],
.site-root .is-active[data-st-design-select-kind="headings"]{
  outline: 1.5px dashed rgba(249,115,22,.98) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px rgba(249,115,22,.10) !important;
}
.site-root .is-selected[data-st-design-select-kind="texts"],
.site-root .is-active[data-st-design-select-kind="texts"]{
  outline: 1.5px dashed rgba(250,204,21,.98) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px rgba(250,204,21,.10) !important;
}
.site-root .is-selected[data-st-design-select-kind="icons"],
.site-root .is-active[data-st-design-select-kind="icons"]{
  outline: 1.5px solid rgba(125,211,252,.98) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px rgba(125,211,252,.12) !important;
}

/* 00283/00285: Real icon/glyph selection is separate from the blue icon-block selection.
   00285 adds a soft white glow so dark-blue dashed icon selection remains visible
   on dark/black header backgrounds. */
.site-root .st-tree-selected-icon-inner,
#st-site-header-slot .st-tree-selected-icon-inner,
#st-site-footer-slot .st-tree-selected-icon-inner{
  outline: 1.5px dashed rgba(30,64,175,.98) !important;
  outline-offset: 3px !important;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.74),
    0 0 0 6px rgba(30,64,175,.18),
    0 0 14px rgba(255,255,255,.45) !important;
}
.site-root svg.st-tree-selected-icon-inner,
#st-site-header-slot svg.st-tree-selected-icon-inner,
#st-site-footer-slot svg.st-tree-selected-icon-inner{
  display: inline-block !important;
}

/* =========================================================
   00285 Header menu wrap regression guard
   ---------------------------------------------------------
   Menu block itself is resizable. When its width becomes smaller than the
   preferred row width, menu buttons must wrap to the next line instead of
   being clipped. Keep menu links nowrap individually, but allow the root list
   to wrap and remain visible.
   ========================================================= */
#st-site-header-slot .st-block--menu .st-menu__list[data-menu-list-depth="1"],
#st-site-header-slot .st-block--menu > .st-menu > .st-menu__list,
#st-site-header-slot .st-block--menu > nav.st-menu > .st-menu__list{
  flex-wrap: wrap !important;
  align-items: center !important;
  align-content: center !important;
  max-height: none !important;
  overflow: visible !important;
}
#st-site-header-slot .st-block--menu .st-menu,
#st-site-header-slot .st-block--menu > nav.st-menu{
  overflow: visible !important;
}
#st-site-header-slot .st-block--menu .st-menu__link,
#st-site-header-slot .st-block--menu .st-block--menu-item{
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

/* 00285: Global inspector “Іконка” mode targets the real glyph, not the owner block. */
.site-root .is-selected[data-st-design-select-kind="icons"],
.site-root .is-active[data-st-design-select-kind="icons"]{
  outline: 1.5px dashed rgba(30,64,175,.98) !important;
  outline-offset: 3px !important;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.74),
    0 0 0 6px rgba(30,64,175,.18),
    0 0 14px rgba(255,255,255,.45) !important;
}
.site-root .st-icon-svg.is-selected,
.site-root .st-icon-btn__glyph.is-selected,
.site-root .st-phone__iconsvg.is-selected,
.site-root .st-button__iconsvg.is-selected,
.site-root .st-logo__iconsvg.is-selected{
  display:inline-flex !important;
}

/* =========================================================
   00286 Icon face selection normalization
   ---------------------------------------------------------
   Icon selection must outline the icon contour/wrapper only.
   The inner SVG/path drawing must not get its own tiny outline/dot.
   Dark-blue dashed line is visible on light backgrounds; a soft white halo
   keeps it visible on dark/black headers.
   ========================================================= */
.site-root .st-tree-selected-icon-inner,
#st-site-header-slot .st-tree-selected-icon-inner,
#st-site-footer-slot .st-tree-selected-icon-inner,
.site-root .is-selected[data-st-design-select-kind="icons"],
.site-root .is-active[data-st-design-select-kind="icons"]{
  outline: 1.5px dashed rgba(30,64,175,.98) !important;
  outline-offset: 4px !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.58),
    0 0 0 4px rgba(30,64,175,.18),
    0 2px 12px rgba(15,23,42,.34) !important;
}

/* If an old tree node still puts the icon-inner class on an inner SVG/span,
   suppress the tiny inner outline.  The JS now highlights the face wrapper. */
.site-root svg.st-tree-selected-icon-inner,
.site-root .st-icon-svg.st-tree-selected-icon-inner,
.site-root .st-icon-btn__glyph.st-tree-selected-icon-inner,
.site-root .st-phone__iconsvg.st-tree-selected-icon-inner,
.site-root .st-button__iconsvg.st-tree-selected-icon-inner,
.site-root .st-logo__iconsvg.st-tree-selected-icon-inner{
  outline: none !important;
  box-shadow: none !important;
}

/* Manual click on an icon face in header/footer uses the same contour style. */
#st-site-header-slot .st-icon-btn.is-selected[data-st-design-select-kind="icons"],
#st-site-header-slot .st-button__iconbtn.is-selected[data-st-design-select-kind="icons"],
#st-site-header-slot .st-phone__iconbtn.is-selected[data-st-design-select-kind="icons"],
#st-site-header-slot .st-logo__iconbtn.is-selected[data-st-design-select-kind="icons"],
#st-site-header-slot .st-logo__mark.is-selected[data-st-design-select-kind="icons"],
#st-site-footer-slot .st-icon-btn.is-selected[data-st-design-select-kind="icons"],
#st-site-footer-slot .st-button__iconbtn.is-selected[data-st-design-select-kind="icons"],
#st-site-footer-slot .st-phone__iconbtn.is-selected[data-st-design-select-kind="icons"],
#st-site-footer-slot .st-logo__iconbtn.is-selected[data-st-design-select-kind="icons"],
#st-site-footer-slot .st-logo__mark.is-selected[data-st-design-select-kind="icons"]{
  outline: 1.5px dashed rgba(30,64,175,.98) !important;
  outline-offset: 4px !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.58),
    0 0 0 4px rgba(30,64,175,.18),
    0 2px 12px rgba(15,23,42,.34) !important;
}


/* 00301: Layout widget right margin for levels/rows.
   Header CSS has width:100% !important for safe rows, so rows edited from the
   Layout widget need a higher-priority boundary width. Positive right margin
   shrinks the row and therefore its internal grid containers; negative expands. */
.site-root .st-row[data-st-layout-widget-margin-right-width="1"]{
  width: var(--st-layout-widget-row-width, 100%) !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* 00311: Compact header navigation row inserted from Menu Builder.
   This is a real editable menu block, but the wrapper is allowed to be as thin
   as a classic category/navigation bar. */
.site-root #st-site-header-slot > .st-section.st-header-nav-row{
  padding:0 !important;
  margin:0 !important;
  min-height:28px !important;
  background:#050505;
  border-radius:0 !important;
  overflow:visible;
  box-sizing:border-box;
  z-index:160;
}
.site-root #st-site-header-slot > .st-section.st-header-nav-row > .st-row.st-header-nav-row__level{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:0 !important;
  min-height:32px !important;
  align-items:stretch !important;
}
.site-root #st-site-header-slot .st-header-nav-row__container,
.site-root #st-site-header-slot .st-header-nav-row__menu{
  min-height:32px !important;
  height:32px;
  width:100%;
  max-width:100%;
  border:0 !important;
  border-radius:0 !important;
  background:transparent;
  box-shadow:none !important;
  overflow:visible !important;
  box-sizing:border-box;
}
.site-root #st-site-header-slot .st-header-nav-row__container{
  display:flex !important;
  align-items:stretch !important;
  justify-content:center !important;
  gap:0 !important;
}
.site-root #st-site-header-slot .st-header-nav-row__menu{
  flex:1 1 auto !important;
  --st-header-block-min-h:0px;
  --st-block-min-h:0px;
  --st-menu-root-gap:0px;
  --st-menu-gap:0px;
  --st-menu-root-pad-y:0px;
  --st-menu-root-pad-x:0px;
  --st-menu-root-align:stretch;
  --st-menu-root-justify:center;
  --st-menu-pad-y:0px;
  --st-menu-pad-x:24px;
  --st-menu-link-minh:32px;
  --st-menu-link-lh:1;
  --st-menu-radius:0px;
  --st-menu-item-rtl:0px;
  --st-menu-item-rtr:0px;
  --st-menu-item-rbr:0px;
  --st-menu-item-rbl:0px;
}
.site-root #st-site-header-slot .st-header-nav-row__menu .st-menu,
.site-root #st-site-header-slot .st-header-nav-row__menu .st-menu--big,
.site-root #st-site-header-slot .st-header-nav-row__menu .st-menu__list{
  height:100%;
  min-height:32px;
}
.site-root #st-site-header-slot .st-header-nav-row__menu .st-menu__item,
.site-root #st-site-header-slot .st-header-nav-row__menu .st-menu__link{
  min-height:32px;
  height:100%;
  display:flex;
  align-items:center;
}

/* =========================================================
   00328 Menu level border mode hard override
   ---------------------------------------------------------
   Some saved/header/footer menu templates keep an inline shorthand like:
   border: var(--st-menu-item-bw, 1px) solid var(--st-menu-item-bc, ...)
   directly on .st-menu__link. That inline shorthand can visually override the
   level map variables (--st-menu-l1-bw, --st-menu-l1-h-bw, ...), so the menu
   widget radio "Немає рамки" may save bw=0 but the old inline border remains.

   Keep this patch narrow: only border WIDTH is forced from the existing menu
   level variables. Background, text, font size, padding, radius, shadow and
   color remain controlled by the existing widgets and saved styles.
   ========================================================= */
.st-block--menu .st-menu__item[data-menu-depth="1"] > .st-menu__link{ border-top-width:var(--st-menu-l1-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px))) !important; border-right-width:var(--st-menu-l1-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px))) !important; border-bottom-width:var(--st-menu-l1-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px))) !important; border-left-width:var(--st-menu-l1-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px))) !important; }
.st-block--menu .st-menu__item[data-menu-depth="2"] > .st-menu__link{ border-top-width:var(--st-menu-l2-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px))) !important; border-right-width:var(--st-menu-l2-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px))) !important; border-bottom-width:var(--st-menu-l2-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px))) !important; border-left-width:var(--st-menu-l2-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px))) !important; }
.st-block--menu .st-menu__item[data-menu-depth="3"] > .st-menu__link{ border-top-width:var(--st-menu-l3-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px))) !important; border-right-width:var(--st-menu-l3-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px))) !important; border-bottom-width:var(--st-menu-l3-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px))) !important; border-left-width:var(--st-menu-l3-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px))) !important; }
.st-block--menu .st-menu__item[data-menu-depth="4"] > .st-menu__link{ border-top-width:var(--st-menu-l4-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px))) !important; border-right-width:var(--st-menu-l4-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px))) !important; border-bottom-width:var(--st-menu-l4-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px))) !important; border-left-width:var(--st-menu-l4-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px))) !important; }
.st-block--menu .st-menu__item[data-menu-depth="5"] > .st-menu__link{ border-top-width:var(--st-menu-l5-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px))) !important; border-right-width:var(--st-menu-l5-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px))) !important; border-bottom-width:var(--st-menu-l5-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px))) !important; border-left-width:var(--st-menu-l5-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px))) !important; }
.st-block--menu .st-menu__item[data-menu-depth="6"] > .st-menu__link{ border-top-width:var(--st-menu-l6-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px))) !important; border-right-width:var(--st-menu-l6-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px))) !important; border-bottom-width:var(--st-menu-l6-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px))) !important; border-left-width:var(--st-menu-l6-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px))) !important; }
.st-block--menu .st-menu__item[data-menu-depth="7"] > .st-menu__link{ border-top-width:var(--st-menu-l7-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px))) !important; border-right-width:var(--st-menu-l7-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px))) !important; border-bottom-width:var(--st-menu-l7-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px))) !important; border-left-width:var(--st-menu-l7-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px))) !important; }
.st-block--menu .st-menu__item[data-menu-depth="8"] > .st-menu__link{ border-top-width:var(--st-menu-l8-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px))) !important; border-right-width:var(--st-menu-l8-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px))) !important; border-bottom-width:var(--st-menu-l8-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px))) !important; border-left-width:var(--st-menu-l8-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px))) !important; }
.st-block--menu .st-menu__item[data-menu-depth="9"] > .st-menu__link{ border-top-width:var(--st-menu-l9-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px))) !important; border-right-width:var(--st-menu-l9-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px))) !important; border-bottom-width:var(--st-menu-l9-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px))) !important; border-left-width:var(--st-menu-l9-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px))) !important; }
.st-block--menu .st-menu__item[data-menu-depth="10"] > .st-menu__link{ border-top-width:var(--st-menu-l10-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px))) !important; border-right-width:var(--st-menu-l10-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px))) !important; border-bottom-width:var(--st-menu-l10-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px))) !important; border-left-width:var(--st-menu-l10-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px))) !important; }

.st-block--menu .st-menu__item[data-menu-depth="1"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l1-h-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l1-h-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l1-h-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l1-h-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item[data-menu-depth="2"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l2-h-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l2-h-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l2-h-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l2-h-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item[data-menu-depth="3"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l3-h-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l3-h-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l3-h-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l3-h-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item[data-menu-depth="4"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l4-h-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l4-h-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l4-h-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l4-h-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item[data-menu-depth="5"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l5-h-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l5-h-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l5-h-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l5-h-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item[data-menu-depth="6"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l6-h-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l6-h-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l6-h-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l6-h-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item[data-menu-depth="7"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l7-h-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l7-h-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l7-h-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l7-h-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item[data-menu-depth="8"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l8-h-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l8-h-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l8-h-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l8-h-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item[data-menu-depth="9"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l9-h-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l9-h-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l9-h-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l9-h-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item[data-menu-depth="10"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l10-h-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l10-h-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l10-h-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l10-h-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }

.st-block--menu .st-menu__item.is-open[data-menu-depth="1"] > .st-menu__link, .st-block--menu .st-menu__item.is-open[data-menu-depth="1"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l1-o-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l1-o-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l1-o-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l1-o-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item.is-open[data-menu-depth="2"] > .st-menu__link, .st-block--menu .st-menu__item.is-open[data-menu-depth="2"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l2-o-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l2-o-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l2-o-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l2-o-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item.is-open[data-menu-depth="3"] > .st-menu__link, .st-block--menu .st-menu__item.is-open[data-menu-depth="3"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l3-o-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l3-o-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l3-o-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l3-o-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item.is-open[data-menu-depth="4"] > .st-menu__link, .st-block--menu .st-menu__item.is-open[data-menu-depth="4"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l4-o-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l4-o-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l4-o-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l4-o-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item.is-open[data-menu-depth="5"] > .st-menu__link, .st-block--menu .st-menu__item.is-open[data-menu-depth="5"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l5-o-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l5-o-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l5-o-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l5-o-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item.is-open[data-menu-depth="6"] > .st-menu__link, .st-block--menu .st-menu__item.is-open[data-menu-depth="6"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l6-o-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l6-o-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l6-o-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l6-o-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item.is-open[data-menu-depth="7"] > .st-menu__link, .st-block--menu .st-menu__item.is-open[data-menu-depth="7"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l7-o-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l7-o-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l7-o-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l7-o-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item.is-open[data-menu-depth="8"] > .st-menu__link, .st-block--menu .st-menu__item.is-open[data-menu-depth="8"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l8-o-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l8-o-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l8-o-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l8-o-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item.is-open[data-menu-depth="9"] > .st-menu__link, .st-block--menu .st-menu__item.is-open[data-menu-depth="9"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l9-o-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l9-o-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l9-o-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l9-o-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item.is-open[data-menu-depth="10"] > .st-menu__link, .st-block--menu .st-menu__item.is-open[data-menu-depth="10"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l10-o-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l10-o-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l10-o-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l10-o-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }

.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="1"] > .st-menu__link, .st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="1"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l1-c-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l1-c-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l1-c-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l1-c-bw, var(--st-menu-l1-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="2"] > .st-menu__link, .st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="2"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l2-c-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l2-c-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l2-c-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l2-c-bw, var(--st-menu-l2-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="3"] > .st-menu__link, .st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="3"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l3-c-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l3-c-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l3-c-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l3-c-bw, var(--st-menu-l3-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="4"] > .st-menu__link, .st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="4"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l4-c-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l4-c-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l4-c-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l4-c-bw, var(--st-menu-l4-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="5"] > .st-menu__link, .st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="5"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l5-c-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l5-c-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l5-c-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l5-c-bw, var(--st-menu-l5-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="6"] > .st-menu__link, .st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="6"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l6-c-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l6-c-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l6-c-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l6-c-bw, var(--st-menu-l6-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="7"] > .st-menu__link, .st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="7"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l7-c-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l7-c-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l7-c-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l7-c-bw, var(--st-menu-l7-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="8"] > .st-menu__link, .st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="8"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l8-c-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l8-c-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l8-c-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l8-c-bw, var(--st-menu-l8-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="9"] > .st-menu__link, .st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="9"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l9-c-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l9-c-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l9-c-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l9-c-bw, var(--st-menu-l9-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="10"] > .st-menu__link, .st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="10"] > .st-menu__link:hover{ border-top-width:var(--st-menu-l10-c-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwt, var(--st-menu-item-bw, 1px)))) !important; border-right-width:var(--st-menu-l10-c-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwr, var(--st-menu-item-bw, 1px)))) !important; border-bottom-width:var(--st-menu-l10-c-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwb, var(--st-menu-item-bw, 1px)))) !important; border-left-width:var(--st-menu-l10-c-bw, var(--st-menu-l10-bw, var(--st-menu-item-bwl, var(--st-menu-item-bw, 1px)))) !important; }

/* =========================================================
   [00369][HEADER/FOOTER TEMPLATE LAYOUT SAFETY]
   Prevent system header/footer template controls from collapsing into
   vertical one-letter text, overlapping buttons or clipping rows in preview/canvas.
   Scoped to header/footer sections only, so normal page text blocks are untouched.
   ========================================================= */
.site-root .st-section[data-sec-role="header"],
.site-root .st-section[data-sec-role="footer"],
#st-site-header-slot > .st-section[data-sec-role="header"],
#st-site-footer-slot > .st-section[data-sec-role="footer"]{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: visible;
}

.site-root .st-section[data-sec-role="header"] .st-row,
.site-root .st-section[data-sec-role="footer"] .st-row,
#st-site-header-slot .st-row,
#st-site-footer-slot .st-row{
  box-sizing: border-box;
  overflow: visible;
}

.site-root .st-section[data-sec-role="header"] .st-block,
.site-root .st-section[data-sec-role="footer"] .st-block,
#st-site-header-slot .st-block,
#st-site-footer-slot .st-block{
  box-sizing: border-box;
}

.site-root .st-section[data-sec-role="header"] .st-block--logo,
.site-root .st-section[data-sec-role="header"] .st-block--phone,
.site-root .st-section[data-sec-role="header"] .st-block--button,
.site-root .st-section[data-sec-role="header"] .st-block--icon,
.site-root .st-section[data-sec-role="header"] .st-block--png,
#st-site-header-slot .st-block--logo,
#st-site-header-slot .st-block--phone,
#st-site-header-slot .st-block--button,
#st-site-header-slot .st-block--icon,
#st-site-header-slot .st-block--png{
  flex-shrink: 0;
}

.site-root .st-section[data-sec-role="header"] .st-logo__title,
.site-root .st-section[data-sec-role="header"] .st-logo__subtitle,
.site-root .st-section[data-sec-role="header"] .st-phone__text,
.site-root .st-section[data-sec-role="header"] .st-button__label,
.site-root .st-section[data-sec-role="header"] .st-menu__text,
.site-root .st-section[data-sec-role="header"] .st-menu__link,
.site-root .st-section[data-sec-role="header"] .st-block--heading > .st-text-edit,
#st-site-header-slot .st-logo__title,
#st-site-header-slot .st-logo__subtitle,
#st-site-header-slot .st-phone__text,
#st-site-header-slot .st-button__label,
#st-site-header-slot .st-menu__text,
#st-site-header-slot .st-menu__link,
#st-site-header-slot .st-block--heading > .st-text-edit{
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* [00964] Authored footer typography must not inherit the legacy 00370
   max-content/nowrap title safety. That rule made the long School-01 CTA
   title overflow its grid track and paint underneath CTA buttons. */
.site-root .st-section[data-sec-role="footer"] .st-logo__title,
.site-root .st-section[data-sec-role="footer"] .st-logo__subtitle,
.site-root .st-section[data-sec-role="footer"] .st-phone__text,
.site-root .st-section[data-sec-role="footer"] .st-button__label,
.site-root .st-section[data-sec-role="footer"] .st-menu__text,
.site-root .st-section[data-sec-role="footer"] .st-menu__link,
.site-root .st-section[data-sec-role="footer"] .st-block--heading:not([data-hf-authored-template]) > .st-text-edit,
#st-site-footer-slot .st-logo__title,
#st-site-footer-slot .st-logo__subtitle,
#st-site-footer-slot .st-phone__text,
#st-site-footer-slot .st-button__label,
#st-site-footer-slot .st-menu__text,
#st-site-footer-slot .st-menu__link,
#st-site-footer-slot .st-block--heading:not([data-hf-authored-template]) > .st-text-edit{
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.site-root .st-section[data-sec-role="header"] .st-block--menu .st-menu__list,
#st-site-header-slot .st-block--menu .st-menu__list{
  align-items: center;
}

.site-root .st-section[data-sec-role="header"] .st-block--menu .st-menu__link,
#st-site-header-slot .st-block--menu .st-menu__link{
  min-width: max-content;
}

.site-root .st-section[data-sec-role="footer"] .st-block--menu .st-menu__link,
#st-site-footer-slot .st-block--menu .st-menu__link{
  min-width: max-content;
}


/* =========================================================
   [00370][HEADER/FOOTER TITLE + NARROW MENU SAFETY]
   Extra protection for header/footer system templates after insertion:
   - headings/top labels must not collapse into one-letter vertical columns;
   - narrow navigation menu items may wrap by item, but each label stays one line;
   - rows may grow vertically instead of clipping lower menu levels.
   ========================================================= */
.site-root .st-section[data-sec-role="header"] .st-block--heading,
.site-root .st-section[data-sec-role="footer"] .st-block--heading:not([data-hf-authored-template]),
#st-site-header-slot .st-block--heading,
#st-site-footer-slot .st-block--heading:not([data-hf-authored-template]){
  width:auto !important;
  min-width:max-content !important;
  max-width:none !important;
  flex:0 0 auto !important;
  overflow:visible !important;
}

.site-root .st-section[data-sec-role="header"] .st-block--heading > .st-text-edit,
.site-root .st-section[data-sec-role="footer"] .st-block--heading:not([data-hf-authored-template]) > .st-text-edit,
#st-site-header-slot .st-block--heading > .st-text-edit,
#st-site-footer-slot .st-block--heading:not([data-hf-authored-template]) > .st-text-edit{
  display:inline-block !important;
  width:max-content !important;
  min-width:max-content !important;
  max-width:none !important;
  overflow:visible !important;
  text-overflow:clip !important;
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.site-root .st-section[data-sec-role="header"] .st-block--text > .st-text-edit,
#st-site-header-slot .st-block--text > .st-text-edit{
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.site-root .st-section[data-sec-role="header"] .st-block--menu-narrow,
#st-site-header-slot .st-block--menu-narrow{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:visible !important;
}

.site-root .st-section[data-sec-role="header"] .st-block--menu-narrow .st-menu,
.site-root .st-section[data-sec-role="header"] .st-block--menu-narrow .st-menu__list,
#st-site-header-slot .st-block--menu-narrow .st-menu,
#st-site-header-slot .st-block--menu-narrow .st-menu__list{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  align-content:center !important;
  overflow:visible !important;
}

.site-root .st-section[data-sec-role="header"] .st-block--menu-narrow .st-menu__link,
#st-site-header-slot .st-block--menu-narrow .st-menu__link{
  min-width:max-content !important;
  white-space:nowrap !important;
  line-height:1.1 !important;
}

.site-root .st-section[data-sec-role="header"] .st-block--menu-narrow .st-menu__text,
#st-site-header-slot .st-block--menu-narrow .st-menu__text{
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  writing-mode:horizontal-tb !important;
}

/* =========================================================
   [00371][HEADER NARROW TEMPLATE CENTER SAFETY]
   Fixes narrow-menu header templates after insertion:
   - top/center blocks must not collapse into vertical one-letter text;
   - compact labels keep horizontal writing and nowrap behavior;
   - search blocks may clip inside their own field, but the center column stays usable;
   - rules are scoped to header templates created with data-st-template-family="narrow-menu".
   ========================================================= */
.site-root #st-site-header-slot .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"],
.site-root .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"]{
  width:100% !important;
  max-width:100% !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}

.site-root #st-site-header-slot .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] > .st-row[data-st-header-row-kind="top-menu"],
.site-root .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] > .st-row[data-st-header-row-kind="top-menu"]{
  display:grid !important;
  grid-auto-flow:unset !important;
  grid-template-columns:max-content minmax(max-content,1fr) max-content !important;
  align-items:center !important;
  column-gap:14px !important;
  row-gap:6px !important;
  overflow:visible !important;
}

.site-root #st-site-header-slot .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] > .st-row[data-st-header-row-kind="main"],
.site-root .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] > .st-row[data-st-header-row-kind="main"]{
  display:grid !important;
  grid-auto-flow:unset !important;
  grid-template-columns:max-content minmax(360px,1fr) max-content !important;
  align-items:center !important;
  column-gap:14px !important;
  row-gap:8px !important;
  overflow:visible !important;
}

.site-root #st-site-header-slot .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] > .st-row[data-st-header-row-kind="narrow-nav"],
.site-root .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] > .st-row[data-st-header-row-kind="narrow-nav"]{
  display:grid !important;
  grid-auto-flow:unset !important;
  grid-template-columns:minmax(0,1fr) !important;
  overflow:visible !important;
}

.site-root #st-site-header-slot .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] [data-st-header-narrow-center="top"],
.site-root .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] [data-st-header-narrow-center="top"]{
  justify-self:center !important;
  align-self:center !important;
  width:auto !important;
  min-width:max-content !important;
  max-width:none !important;
  overflow:visible !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
}

.site-root #st-site-header-slot .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] [data-st-header-narrow-center="main"],
.site-root .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] [data-st-header-narrow-center="main"]{
  justify-self:stretch !important;
  align-self:center !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:visible !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
}

.site-root #st-site-header-slot .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] [data-st-header-narrow-side],
.site-root .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] [data-st-header-narrow-side]{
  width:auto !important;
  min-width:max-content !important;
  max-width:none !important;
  overflow:visible !important;
}

.site-root #st-site-header-slot .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] .st-block--text:not([data-name="Пошук"]),
.site-root .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] .st-block--text:not([data-name="Пошук"]){
  width:auto !important;
  min-width:max-content !important;
  max-width:none !important;
  flex:0 0 auto !important;
  overflow:visible !important;
}

.site-root #st-site-header-slot .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] .st-block--text:not([data-name="Пошук"]) > .st-text-edit,
.site-root .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] .st-block--text:not([data-name="Пошук"]) > .st-text-edit,
.site-root #st-site-header-slot .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] .st-logo__title,
.site-root #st-site-header-slot .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] .st-logo__subtitle,
.site-root #st-site-header-slot .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] .st-menu__text,
.site-root #st-site-header-slot .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] .st-menu__link,
.site-root #st-site-header-slot .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] .st-button__label,
.site-root #st-site-header-slot .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] .st-phone__text{
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  line-height:1.15 !important;
}

.site-root #st-site-header-slot .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] .st-block--text[data-name="Пошук"],
.site-root .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] .st-block--text[data-name="Пошук"]{
  width:100% !important;
  min-width:220px !important;
  max-width:100% !important;
  overflow:hidden !important;
  flex:1 1 auto !important;
}

.site-root #st-site-header-slot .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] .st-block--text[data-name="Пошук"] > .st-text-edit,
.site-root .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] .st-block--text[data-name="Пошук"] > .st-text-edit{
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

@media (max-width: 920px){
  .site-root #st-site-header-slot .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] > .st-row[data-st-header-row-kind="top-menu"],
  .site-root .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] > .st-row[data-st-header-row-kind="top-menu"],
  .site-root #st-site-header-slot .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] > .st-row[data-st-header-row-kind="main"],
  .site-root .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] > .st-row[data-st-header-row-kind="main"]{
    grid-template-columns:minmax(0,1fr) !important;
    justify-items:center !important;
  }
  .site-root #st-site-header-slot .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] [data-st-header-narrow-side],
  .site-root .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] [data-st-header-narrow-side],
  .site-root #st-site-header-slot .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] [data-st-header-narrow-center="top"],
  .site-root .st-section[data-sec-role="header"][data-st-template-family="narrow-menu"] [data-st-header-narrow-center="top"]{
    min-width:0 !important;
    max-width:100% !important;
  }
}


/* =========================================================
   [00377] Photo Gallery layout safety
   Фотогалерея має власні CSS-grid шаблони: Bento/Masonry/Random.
   Глобальний min-height у .st-block не повинен збільшувати grid-cells,
   інакше блоки візуально налазять один на один.
   ========================================================= */
.site-root .st-photo-gallery-section,
.site-root .st-section[data-gallery-section="photo-gallery"]{
  width: auto;
  max-width: 100%;
  box-sizing: border-box;
  overflow: visible;
}

.site-root .st-photo-gallery-section .st-photo-gallery-menu-row,
.site-root .st-section[data-gallery-section="photo-gallery"] .st-row[data-gallery-row="menu"]{
  display: grid;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-rows: auto !important;
  align-items: stretch;
}

.site-root .st-photo-gallery-section .st-photo-gallery-grid-row,
.site-root .st-section[data-gallery-section="photo-gallery"] .st-row[data-gallery-row="grid"]{
  display: grid !important;
  grid-auto-flow: dense;
  align-items: stretch;
  overflow: visible;
}

.site-root .st-photo-gallery-section .st-photo-gallery-image-block,
.site-root .st-section[data-gallery-section="photo-gallery"] .st-block[data-gallery-block="image"]{
  min-height: 0 !important;
  height: 100%;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  align-self: stretch;
  justify-self: stretch;
}

.site-root .st-photo-gallery-section .st-photo-gallery-photo,
.site-root .st-section[data-gallery-section="photo-gallery"] .st-photo-gallery-photo{
  width: 100%;
  height: 100%;
  min-height: 0;
  box-sizing: border-box;
}

.site-root .st-photo-gallery-section .st-photo-gallery-caption,
.site-root .st-photo-gallery-section .st-photo-gallery-preview-caption,
.site-root .st-section[data-gallery-section="photo-gallery"] .st-photo-gallery-caption,
.site-root .st-section[data-gallery-section="photo-gallery"] .st-photo-gallery-preview-caption{
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
}

.site-root .st-photo-gallery-section .st-photo-gallery-preview-block,
.site-root .st-section[data-gallery-section="photo-gallery"] .st-block[data-gallery-block="preview"]{
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 900px){
  .site-root .st-photo-gallery-section .st-photo-gallery-grid-row,
  .site-root .st-section[data-gallery-section="photo-gallery"] .st-row[data-gallery-row="grid"]{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .site-root .st-photo-gallery-section .st-photo-gallery-left-menu-layout,
  .site-root .st-section[data-gallery-section="photo-gallery"] .st-row[data-gallery-row="layout"]{
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 560px){
  .site-root .st-photo-gallery-section .st-photo-gallery-grid-row,
  .site-root .st-section[data-gallery-section="photo-gallery"] .st-row[data-gallery-row="grid"]{
    grid-template-columns: minmax(0, 1fr) !important;
  }
}


/* =========================================================
   [00390] Photo Gallery anti-FR-collapse guard
   Gallery grid rows are not standard FR rows. If any legacy reflow wrote
   12/16 tiny FR columns, these rules keep image cells stretched and safe.
   ========================================================= */
.site-root .st-section[data-gallery-section="photo-gallery"] .st-row[data-gallery-row="grid"],
.site-root .st-photo-gallery-section .st-photo-gallery-grid-row{
  display:grid!important;
  grid-auto-flow:dense!important;
  align-items:stretch!important;
}
.site-root .st-section[data-gallery-section="photo-gallery"] .st-row[data-gallery-row="grid"] > .st-block[data-gallery-block="image"],
.site-root .st-photo-gallery-section .st-photo-gallery-grid-row > .st-photo-gallery-image-block{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:100%!important;
  overflow:hidden!important;
  align-self:stretch!important;
  justify-self:stretch!important;
}
.site-root .st-section[data-gallery-section="photo-gallery"] .st-photo-gallery-photo,
.site-root .st-photo-gallery-section .st-photo-gallery-photo{
  height:100%!important;
  min-height:0!important;
}

/* =========================================================
   [00391] Photo Gallery flow guard vs sticky footer
   У sticky-bottom режимі site-root стає flex-column. Важка фотогалерея не має
   shrink-итись, інакше футер піднімається поверх grid-контенту.
   ========================================================= */
.site-root .st-photo-gallery-section,
.site-root .st-section[data-gallery-section="photo-gallery"]{
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  height: auto !important;
  align-self: stretch !important;
  position: relative !important;
  z-index: 125;
  isolation: isolate;
}
.site-root .st-photo-gallery-section .st-photo-gallery-grid-row,
.site-root .st-section[data-gallery-section="photo-gallery"] .st-row[data-gallery-row="grid"]{
  position: relative !important;
  height: auto !important;
  min-height: fit-content;
  contain: none !important;
}
.site-root .st-photo-gallery-section + #st-site-footer-slot,
.site-root .st-section[data-gallery-section="photo-gallery"] + #st-site-footer-slot{
  flex: 0 0 auto !important;
  position: relative;
  z-index: 1;
}


/* =========================================================
   [00392] Photo Gallery caption controls + persistent asset hydration
   Caption can be always visible, hidden, or shown on hover. The caption block
   remains a standard editable DOM element so fill/shadow/text/border widgets
   can style it while the photo-gallery widget mirrors that style to all titles.
   ========================================================= */
.site-root .st-photo-gallery-section .st-photo-gallery-caption,
.site-root .st-section[data-gallery-section="photo-gallery"] .st-photo-gallery-caption{
  box-sizing:border-box;
  max-width:100%;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  transition:opacity .18s ease, transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.site-root .st-photo-gallery-section[data-gallery-caption-mode="hover"] .st-photo-gallery-caption,
.site-root .st-section[data-gallery-section="photo-gallery"][data-gallery-caption-mode="hover"] .st-photo-gallery-caption{
  opacity:0;
  transform:translateY(6px);
  pointer-events:none;
}
.site-root .st-photo-gallery-section[data-gallery-caption-mode="hover"] .st-photo-gallery-image-block:hover .st-photo-gallery-caption,
.site-root .st-section[data-gallery-section="photo-gallery"][data-gallery-caption-mode="hover"] .st-photo-gallery-image-block:hover .st-photo-gallery-caption,
.site-root .st-photo-gallery-section[data-gallery-caption-mode="hover"].st-photo-gallery-caption-edit-mode .st-photo-gallery-caption,
.site-root .st-section[data-gallery-section="photo-gallery"][data-gallery-caption-mode="hover"].st-photo-gallery-caption-edit-mode .st-photo-gallery-caption{
  opacity:1;
  transform:none;
  pointer-events:auto;
}
.site-root .st-photo-gallery-section[data-gallery-caption-mode="off"]:not(.st-photo-gallery-caption-edit-mode) .st-photo-gallery-caption,
.site-root .st-section[data-gallery-section="photo-gallery"][data-gallery-caption-mode="off"]:not(.st-photo-gallery-caption-edit-mode) .st-photo-gallery-caption{
  display:none!important;
}
.site-root .st-photo-gallery-section.st-photo-gallery-caption-edit-mode .st-photo-gallery-caption,
.site-root .st-section[data-gallery-section="photo-gallery"].st-photo-gallery-caption-edit-mode .st-photo-gallery-caption{
  display:block!important;
  outline:2px dashed rgba(56,189,248,.82)!important;
  outline-offset:3px;
  pointer-events:auto!important;
}
.site-root .st-photo-gallery-section[data-gallery-caption-mode="off"].st-photo-gallery-caption-edit-mode .st-photo-gallery-caption,
.site-root .st-section[data-gallery-section="photo-gallery"][data-gallery-caption-mode="off"].st-photo-gallery-caption-edit-mode .st-photo-gallery-caption{
  opacity:.42!important;
}
.site-root .st-photo-gallery-section .st-photo-gallery-caption[data-gallery-caption-box="0"],
.site-root .st-section[data-gallery-section="photo-gallery"] .st-photo-gallery-caption[data-gallery-caption-box="0"]{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* =========================================================
   00432: Sticky footer inside generated site canvas
   ---------------------------------------------------------
   Footer slot must behave like a real page footer:
   - if the page content is short, it is pushed to the bottom of the canvas;
   - builder UI / sidebars keep their own scrolling and are not affected.
   ========================================================= */
.canvas__scroll--full{
  display: flex;
  flex-direction: column;
}

.canvas__scroll--full > #canvasView{
  flex: 1 0 auto;
  min-height: 100%;
  display: flex;
  flex-direction: column;
}

#canvasView > #site-canvas.builder__canvas-site{
  flex: 1 0 auto;
  min-height: 100%;
  display: flex;
  flex-direction: column;
}

#canvasView > #site-canvas.builder__canvas-site > #site-root.site-root{
  flex: 1 0 auto;
  min-height: 100%;
  display: flex;
  flex-direction: column;
}

#canvasView > #site-canvas.builder__canvas-site > #site-root.site-root > #st-site-footer-slot{
  margin-top: auto;
}

/* Do not let the auto footer push create an editable margin inside the footer itself. */
#canvasView > #site-canvas.builder__canvas-site > #site-root.site-root > #st-site-footer-slot > .st-section[data-sec-role="footer"]{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* =========================================================
   [00715] Footer natural flow hard override
   ---------------------------------------------------------
   Старий блок 00432 використовував flex-column + margin-top:auto
   для sticky-bottom футера. У конструкторі це створює величезну
   має бути звичайним наступним елементом після контентної зони: без spacer,
   без розтягування останньої секції, без auto-margin.
   ========================================================= */
body:not(.st-footer-force-sticky-bottom) #canvasView > #site-canvas.builder__canvas-site > #site-root.site-root{
  display:block !important;
  min-height:0 !important;
  flex:0 0 auto !important;
}

body:not(.st-footer-force-sticky-bottom) #canvasView > #site-canvas.builder__canvas-site > #site-root.site-root > #st-site-footer-slot{
  margin-top:0 !important;
  flex:0 0 auto !important;
}

/* 00437 — Menu level-1 text styles must update live even when old templates
   contain inline color/font-size/font-weight declarations on .st-menu__link. */
.st-block--menu .st-menu__item[data-menu-depth="1"] > .st-menu__link{
  color:var(--st-menu-l1-color, var(--st-menu-link-color)) !important;
  font-size:var(--st-menu-l1-fs, var(--st-menu-link-fs, 16px)) !important;
  font-weight:var(--st-menu-l1-fw, var(--st-menu-link-fw, 400)) !important;
  font-style:var(--st-menu-l1-fst, var(--st-menu-link-fst, normal)) !important;
  text-shadow:var(--st-menu-l1-ts, var(--st-menu-link-ts, none)) !important;
  -webkit-text-stroke-width:var(--st-menu-l1-sw, var(--st-menu-link-sw, 0px)) !important;
  -webkit-text-stroke-color:var(--st-menu-l1-sc, var(--st-menu-link-sc, transparent)) !important;
}
.st-block--menu .st-menu__item[data-menu-depth="1"] > .st-menu__link:hover{
  color:var(--st-menu-l1-h-color, var(--st-menu-l1-color, var(--st-menu-link-color-h, var(--st-menu-link-color)))) !important;
  font-size:var(--st-menu-l1-h-fs, var(--st-menu-l1-fs, var(--st-menu-link-fs, 16px))) !important;
  font-weight:var(--st-menu-l1-h-fw, var(--st-menu-l1-fw, var(--st-menu-link-fw, 400))) !important;
  font-style:var(--st-menu-l1-h-fst, var(--st-menu-l1-fst, var(--st-menu-link-fst, normal))) !important;
  text-shadow:var(--st-menu-l1-h-ts, var(--st-menu-l1-ts, var(--st-menu-link-ts, none))) !important;
  -webkit-text-stroke-width:var(--st-menu-l1-h-sw, var(--st-menu-l1-sw, var(--st-menu-link-sw, 0px))) !important;
  -webkit-text-stroke-color:var(--st-menu-l1-h-sc, var(--st-menu-l1-sc, var(--st-menu-link-sc, transparent))) !important;
}
.st-block--menu .st-menu__item.is-open[data-menu-depth="1"] > .st-menu__link,
.st-block--menu .st-menu__item.is-open[data-menu-depth="1"] > .st-menu__link:hover{
  color:var(--st-menu-l1-o-color, var(--st-menu-l1-color, var(--st-menu-link-color))) !important;
  font-size:var(--st-menu-l1-o-fs, var(--st-menu-l1-fs, var(--st-menu-link-fs, 16px))) !important;
  font-weight:var(--st-menu-l1-o-fw, var(--st-menu-l1-fw, var(--st-menu-link-fw, 400))) !important;
  font-style:var(--st-menu-l1-o-fst, var(--st-menu-l1-fst, var(--st-menu-link-fst, normal))) !important;
  text-shadow:var(--st-menu-l1-o-ts, var(--st-menu-l1-ts, var(--st-menu-link-ts, none))) !important;
  -webkit-text-stroke-width:var(--st-menu-l1-o-sw, var(--st-menu-l1-sw, var(--st-menu-link-sw, 0px))) !important;
  -webkit-text-stroke-color:var(--st-menu-l1-o-sc, var(--st-menu-l1-sc, var(--st-menu-link-sc, transparent))) !important;
}
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="1"] > .st-menu__link,
.st-block--menu .st-menu__item.st-menu__item--current[data-menu-depth="1"] > .st-menu__link:hover{
  color:var(--st-menu-l1-c-color, var(--st-menu-l1-color, var(--st-menu-link-color))) !important;
  font-size:var(--st-menu-l1-c-fs, var(--st-menu-l1-fs, var(--st-menu-link-fs, 16px))) !important;
  font-weight:var(--st-menu-l1-c-fw, var(--st-menu-l1-fw, var(--st-menu-link-fw, 400))) !important;
  font-style:var(--st-menu-l1-c-fst, var(--st-menu-l1-fst, var(--st-menu-link-fst, normal))) !important;
  text-shadow:var(--st-menu-l1-c-ts, var(--st-menu-l1-ts, var(--st-menu-link-ts, none))) !important;
  -webkit-text-stroke-width:var(--st-menu-l1-c-sw, var(--st-menu-l1-sw, var(--st-menu-link-sw, 0px))) !important;
  -webkit-text-stroke-color:var(--st-menu-l1-c-sc, var(--st-menu-l1-sc, var(--st-menu-link-sc, transparent))) !important;
}


/* =========================================================
   00441 Header menu resize usability
   ---------------------------------------------------------
   The menu block is often full of links/submenus, so the old 10px transparent
   resize strip was too hard to hit and could be visually lost under menu items.
   When the root menu block is selected, expose large high-z-index hit zones.
   ========================================================= */
#st-site-header-slot .st-block--menu.is-active,
#st-site-header-slot .st-block--menu.is-selected,
#st-site-footer-slot .st-block--menu.is-active,
#st-site-footer-slot .st-block--menu.is-selected{
  overflow: visible !important;
}
#st-site-header-slot .st-block--menu.is-active > .st-resize,
#st-site-header-slot .st-block--menu.is-selected > .st-resize,
#st-site-footer-slot .st-block--menu.is-active > .st-resize,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize{
  display:block !important;
  pointer-events:auto !important;
  z-index:99999 !important;
  opacity:.72;
  background:rgba(14,165,233,.10);
  border:1px solid rgba(56,189,248,.42);
  box-sizing:border-box;
}
#st-site-header-slot .st-block--menu.is-active > .st-resize:hover,
#st-site-header-slot .st-block--menu.is-selected > .st-resize:hover,
#st-site-footer-slot .st-block--menu.is-active > .st-resize:hover,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize:hover{
  opacity:1;
  background:rgba(14,165,233,.24);
  border-color:rgba(56,189,248,.95);
}
#st-site-header-slot .st-block--menu.is-active > .st-resize--e,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--e,
#st-site-footer-slot .st-block--menu.is-active > .st-resize--e,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize--e{
  right:-12px !important;
  top:-8px !important;
  bottom:-8px !important;
  width:24px !important;
  cursor:ew-resize !important;
}
#st-site-header-slot .st-block--menu.is-active > .st-resize--w,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--w,
#st-site-footer-slot .st-block--menu.is-active > .st-resize--w,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize--w{
  left:-12px !important;
  top:-8px !important;
  bottom:-8px !important;
  width:24px !important;
  cursor:ew-resize !important;
}
#st-site-header-slot .st-block--menu.is-active > .st-resize--n,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--n,
#st-site-footer-slot .st-block--menu.is-active > .st-resize--n,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize--n{
  top:-12px !important;
  left:-8px !important;
  right:-8px !important;
  height:24px !important;
  cursor:ns-resize !important;
}
#st-site-header-slot .st-block--menu.is-active > .st-resize--s,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--s,
#st-site-footer-slot .st-block--menu.is-active > .st-resize--s,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize--s{
  bottom:-12px !important;
  left:-8px !important;
  right:-8px !important;
  height:24px !important;
  cursor:ns-resize !important;
}
#st-site-header-slot .st-block--menu.is-active > .st-resize--nw,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--nw,
#st-site-footer-slot .st-block--menu.is-active > .st-resize--nw,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize--nw,
#st-site-header-slot .st-block--menu.is-active > .st-resize--ne,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--ne,
#st-site-footer-slot .st-block--menu.is-active > .st-resize--ne,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize--ne,
#st-site-header-slot .st-block--menu.is-active > .st-resize--sw,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--sw,
#st-site-footer-slot .st-block--menu.is-active > .st-resize--sw,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize--sw,
#st-site-header-slot .st-block--menu.is-active > .st-resize--se,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--se,
#st-site-footer-slot .st-block--menu.is-active > .st-resize--se,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize--se{
  width:28px !important;
  height:28px !important;
}
#st-site-header-slot .st-block--menu.is-active > .st-resize--nw,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--nw,
#st-site-footer-slot .st-block--menu.is-active > .st-resize--nw,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize--nw{ left:-14px !important; top:-14px !important; }
#st-site-header-slot .st-block--menu.is-active > .st-resize--ne,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--ne,
#st-site-footer-slot .st-block--menu.is-active > .st-resize--ne,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize--ne{ right:-14px !important; top:-14px !important; }
#st-site-header-slot .st-block--menu.is-active > .st-resize--sw,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--sw,
#st-site-footer-slot .st-block--menu.is-active > .st-resize--sw,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize--sw{ left:-14px !important; bottom:-14px !important; }
#st-site-header-slot .st-block--menu.is-active > .st-resize--se,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--se,
#st-site-footer-slot .st-block--menu.is-active > .st-resize--se,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize--se{ right:-14px !important; bottom:-14px !important; }


/* =========================================================
   00446 Header Builder menu resize hitbox
   ---------------------------------------------------------
   In Header Builder the live ORIGINAL element can be marked as hb-dom-active
   before/without the generic is-selected class. Treat it exactly as selected
   so newly inserted menu blocks expose the same resize hitboxes as template menus.
   ========================================================= */
#st-site-header-slot .st-block--menu.hb-dom-active,
#st-site-header-slot .st-block--menu.hb-dom-selected,
#st-site-footer-slot .st-block--menu.hb-dom-active,
#st-site-footer-slot .st-block--menu.hb-dom-selected{
  overflow:visible !important;
}
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize{
  display:block !important;
  pointer-events:auto !important;
  z-index:99999 !important;
  opacity:.72;
  background:rgba(14,165,233,.10);
  border:1px solid rgba(56,189,248,.42);
  box-sizing:border-box;
}
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize:hover,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize:hover,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize:hover,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize:hover{
  opacity:1;
  background:rgba(14,165,233,.24);
  border-color:rgba(56,189,248,.95);
}
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--e,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--e,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize--e,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize--e{
  right:-12px !important; top:-8px !important; bottom:-8px !important; width:24px !important; cursor:ew-resize !important;
}
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--w,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--w,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize--w,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize--w{
  left:-12px !important; top:-8px !important; bottom:-8px !important; width:24px !important; cursor:ew-resize !important;
}
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--n,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--n,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize--n,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize--n{
  top:-12px !important; left:-8px !important; right:-8px !important; height:24px !important; cursor:ns-resize !important;
}
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--s,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--s,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize--s,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize--s{
  bottom:-12px !important; left:-8px !important; right:-8px !important; height:24px !important; cursor:ns-resize !important;
}
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--nw,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--nw,
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--ne,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--ne,
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--sw,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--sw,
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--se,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--se,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize--nw,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize--nw,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize--ne,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize--ne,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize--sw,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize--sw,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize--se,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize--se{
  width:28px !important; height:28px !important;
}
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--nw,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--nw,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize--nw,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize--nw{ left:-14px !important; top:-14px !important; }
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--ne,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--ne,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize--ne,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize--ne{ right:-14px !important; top:-14px !important; }
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--sw,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--sw,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize--sw,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize--sw{ left:-14px !important; bottom:-14px !important; }
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--se,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--se,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize--se,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize--se{ right:-14px !important; bottom:-14px !important; }


/* =========================================================
   [00467][HEADER/FOOTER LAYOUT CONTAINMENT + SOCIAL ALIGN]
   Layout widget must control Header/Footer hosts without letting children
   escape. Social icon groups keep their icon layout but obey row/column and
   X/Y align values written by the widget.
   ========================================================= */
#st-site-footer-slot .st-block[data-st-social-group="1"],
.site-root .st-section[data-sec-role="footer"] .st-block[data-st-social-group="1"]{
  display:inline-flex !important;
  flex-direction:var(--st-social-layout-orient, row) !important;
  flex-wrap:nowrap !important;
  align-items:var(--st-social-align-items, center) !important;
  justify-content:var(--st-social-justify-content, flex-start) !important;
  gap:var(--st-social-gap, 8px) !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
#st-site-footer-slot .st-block[data-st-social-group="1"][data-layout-orient="column"],
.site-root .st-section[data-sec-role="footer"] .st-block[data-st-social-group="1"][data-layout-orient="column"]{
  --st-social-layout-orient:column;
}
#st-site-footer-slot .st-block[data-st-social-group="1"][data-layout-orient="row"],
.site-root .st-section[data-sec-role="footer"] .st-block[data-st-social-group="1"][data-layout-orient="row"]{
  --st-social-layout-orient:row;
}
#st-site-header-slot [data-st-layout-contained-00467="1"],
#st-site-footer-slot [data-st-layout-contained-00467="1"],
.site-root .st-section[data-sec-role="header"] [data-st-layout-contained-00467="1"],
.site-root .st-section[data-sec-role="footer"] [data-st-layout-contained-00467="1"]{
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
#st-site-header-slot [data-st-layout-contained-00467="1"] > .st-block,
#st-site-footer-slot [data-st-layout-contained-00467="1"] > .st-block,
.site-root .st-section[data-sec-role="header"] [data-st-layout-contained-00467="1"] > .st-block,
.site-root .st-section[data-sec-role="footer"] [data-st-layout-contained-00467="1"] > .st-block{
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  flex-shrink:1 !important;
  aspect-ratio:auto !important;
}
/* [00592] Removed old data-st-footer-leaf-manual-h CSS path. */

/* =========================================================
   [00469] Header/Footer orientation must NOT resize children
   ---------------------------------------------------------
   Generic flex-column rules make children width:100%. In Header/Footer the
   Horizontal/Vertical buttons must only change direction; direct children keep
   the size they had before the click.
   ========================================================= */
#st-site-header-slot [data-layout-mode="flex"][data-layout-orient="column"] > .st-block,
#st-site-footer-slot [data-layout-mode="flex"][data-layout-orient="column"] > .st-block,
.site-root .st-section[data-sec-role="header"] [data-layout-mode="flex"][data-layout-orient="column"] > .st-block,
.site-root .st-section[data-sec-role="footer"] [data-layout-mode="flex"][data-layout-orient="column"] > .st-block{
  width: var(--st-layout-child-w-00469, auto) !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  flex-grow: 0 !important;
  flex-shrink: 1 !important;
  flex-basis: auto !important;
  align-self: flex-start;
  aspect-ratio: auto !important;
  box-sizing: border-box !important;
}

#st-site-header-slot [data-st-layout-size-locked-00469="1"],
#st-site-footer-slot [data-st-layout-size-locked-00469="1"],
.site-root .st-section[data-sec-role="header"] [data-st-layout-size-locked-00469="1"],
.site-root .st-section[data-sec-role="footer"] [data-st-layout-size-locked-00469="1"]{
  width: var(--st-layout-child-w-00469, auto) !important;
  height: var(--st-layout-child-h-00469, auto) !important;
  min-height: var(--st-layout-child-h-00469, auto) !important;
  max-width: 100% !important;
  max-height: none !important;
  flex: 0 0 auto !important;
  flex-grow: 0 !important;
  flex-shrink: 1 !important;
  flex-basis: auto !important;
  aspect-ratio: auto !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}


/* =========================================================
   00498 Header phone click no-layout-shift
   ---------------------------------------------------------
   Phone/logo/button controls in Header are content leaves. A click/selection
   must not make the phone text block stretch to full row height or make the
   right container recalculate its width.
   ========================================================= */
#st-site-header-slot .st-block--phone:not([data-st-header279-user-h="1"]):not([data-st-size-mode="custom"]),
#st-site-header-slot .st-block--button:not([data-st-header279-user-h="1"]):not([data-st-size-mode="custom"]),
#st-site-header-slot .st-block--logo:not([data-st-header279-user-h="1"]):not([data-st-size-mode="custom"]){
  height:auto !important;
  max-height:none !important;
  align-self:center;
}
#st-site-header-slot .st-block--phone:not([data-st-header279-user-h="1"]):not([data-st-size-mode="custom"]) > .st-phone__text,
#st-site-header-slot .st-block--phone:not([data-st-header279-user-h="1"]):not([data-st-size-mode="custom"]) > .st-text-edit{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  flex:0 1 auto !important;
}

/* =========================================================
   00499 Header/Footer special text labels: single-click select, dblclick edit
   ---------------------------------------------------------
   Phone/button/logo labels are not .st-block--text, but they must look and
   behave like selectable text targets in the inspector.
   ========================================================= */
#st-site-header-slot .st-phone__text,
#st-site-header-slot .st-button__label,
#st-site-header-slot .st-logo__title,
#st-site-header-slot .st-logo__subtitle,
#st-site-footer-slot .st-phone__text,
#st-site-footer-slot .st-button__label,
#st-site-footer-slot .st-logo__title,
#st-site-footer-slot .st-logo__subtitle{
  -webkit-user-select: none;
  user-select: none;
  cursor: pointer !important;
  outline: none;
  pointer-events: auto !important;
  position: relative;
  z-index: 2;
}

#st-site-header-slot .st-phone__text.is-active,
#st-site-header-slot .st-phone__text.is-selected,
#st-site-header-slot .st-button__label.is-active,
#st-site-header-slot .st-button__label.is-selected,
#st-site-header-slot .st-logo__title.is-active,
#st-site-header-slot .st-logo__title.is-selected,
#st-site-header-slot .st-logo__subtitle.is-active,
#st-site-header-slot .st-logo__subtitle.is-selected,
#st-site-footer-slot .st-phone__text.is-active,
#st-site-footer-slot .st-phone__text.is-selected,
#st-site-footer-slot .st-button__label.is-active,
#st-site-footer-slot .st-button__label.is-selected,
#st-site-footer-slot .st-logo__title.is-active,
#st-site-footer-slot .st-logo__title.is-selected,
#st-site-footer-slot .st-logo__subtitle.is-active,
#st-site-footer-slot .st-logo__subtitle.is-selected{
  outline: 2px solid rgba(250,204,21,.98) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 1px rgba(250,204,21,.85), 0 0 0 5px rgba(250,204,21,.18) !important;
  background: rgba(250,204,21,.10);
  border-radius: 7px;
}

#st-site-header-slot .st-special-text-editing-00499,
#st-site-footer-slot .st-special-text-editing-00499{
  -webkit-user-select: text !important;
  user-select: text !important;
  cursor: text !important;
  caret-color: auto !important;
  outline: 2px solid rgba(34,197,94,.95) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 1px rgba(34,197,94,.90), 0 0 0 5px rgba(34,197,94,.18) !important;
  background: rgba(34,197,94,.08);
  border-radius: 7px;
}

/* =========================================================
   00502 Header/Footer phone text fill layer fix
   ---------------------------------------------------------
   When the inner phone text field receives Fill (.st-bgfx), the generated
   background layer must sit BEHIND the phone number text, not on top of it.
   The whole .st-block--phone remains a separate lower/background layer.
   ========================================================= */
#st-site-header-slot .st-block--phone > .st-phone__text.st-bgfx,
#st-site-footer-slot .st-block--phone > .st-phone__text.st-bgfx,
.site-root .st-block--phone > .st-phone__text.st-bgfx{
  isolation: isolate !important;
  z-index: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
}

#st-site-header-slot .st-block--phone > .st-phone__text.st-bgfx::before,
#st-site-header-slot .st-block--phone > .st-phone__text.st-bgfx::after,
#st-site-footer-slot .st-block--phone > .st-phone__text.st-bgfx::before,
#st-site-footer-slot .st-block--phone > .st-phone__text.st-bgfx::after,
.site-root .st-block--phone > .st-phone__text.st-bgfx::before,
.site-root .st-block--phone > .st-phone__text.st-bgfx::after{
  z-index: -1 !important;
}

#st-site-header-slot .st-block--phone > .st-phone__iconbtn,
#st-site-footer-slot .st-block--phone > .st-phone__iconbtn,
.site-root .st-block--phone > .st-phone__iconbtn{
  position: relative;
  z-index: 1;
}

/* [00835] Old footer direct-resize CSS removed. SiteFrame edit-layer owns geometry. */

/* 00594: Footer exact child selection — text/icon parts must be clickable/focusable in Design. */
#st-site-footer-slot .st-text-edit,
#st-site-footer-slot [data-st-text-target="1"],
#st-site-footer-slot .st-button__label,
#st-site-footer-slot .st-phone__text,
#st-site-footer-slot .st-logo__title,
#st-site-footer-slot .st-logo__subtitle,
#st-site-footer-slot .st-menu__text,
#st-site-footer-slot .st-icon-btn,
#st-site-footer-slot .st-icon-wrap,
#st-site-footer-slot .st-icon-svg,
#st-site-footer-slot .st-icon-btn__glyph,
#st-site-footer-slot .st-button__iconbtn,
#st-site-footer-slot .st-button__iconsvg,
#st-site-footer-slot .st-phone__icon,
#st-site-footer-slot .st-phone__iconbtn,
#st-site-footer-slot .st-phone__iconsvg,
#st-site-footer-slot .st-logo__mark,
#st-site-footer-slot .st-logo__markimg,
#st-site-footer-slot .st-logo__iconbtn,
#st-site-footer-slot .st-logo__iconsvg,
#st-site-footer-slot .st-png__media{
  pointer-events: auto;
}

/* =========================================================
   [00598] Footer border hit-selection + front section overlay
   ---------------------------------------------------------
   No new palette: selected footer sections reuse the existing
   data-st-design-select-kind="sections" outline/box-shadow colors from shared section selection.
   This layer only brings that existing visual selection above inner blocks.
   ========================================================= */
#st-site-footer-slot .st-section.is-active[data-st-design-select-kind="sections"],
#st-site-footer-slot .st-section.is-selected[data-st-design-select-kind="sections"],
#st-site-footer-slot .st-section.hb-dom-active[data-st-design-select-kind="sections"],
#st-site-footer-slot .st-section.hb-dom-selected[data-st-design-select-kind="sections"]{
  position: relative !important;
  z-index: 1000 !important;
  isolation: isolate !important;
  overflow: visible !important;
}
#st-site-footer-slot .st-section.is-active[data-st-design-select-kind="sections"]::after,
#st-site-footer-slot .st-section.is-selected[data-st-design-select-kind="sections"]::after,
#st-site-footer-slot .st-section.hb-dom-active[data-st-design-select-kind="sections"]::after,
#st-site-footer-slot .st-section.hb-dom-selected[data-st-design-select-kind="sections"]::after{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 2147483647;
  outline: inherit;
  outline-offset: inherit;
  box-shadow: inherit;
}


/* =========================================================
   [00634] Header menu resize handles use the standard inspector size
   ---------------------------------------------------------
   Old 00441/00446 header menu rules made huge blue hit zones around menu
   blocks. The menu strip must now use the same thin handles as normal
   sections/levels/containers/blocks. Footer menu rules are left untouched.
   ========================================================= */
#st-site-header-slot .st-block--menu.is-active > .st-resize,
#st-site-header-slot .st-block--menu.is-selected > .st-resize,
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize,
.site-root .st-section[data-sec-role="header"] .st-block--menu.is-active > .st-resize,
.site-root .st-section[data-sec-role="header"] .st-block--menu.is-selected > .st-resize,
.site-root .st-section[data-sec-role="header"] .st-block--menu.hb-dom-active > .st-resize,
.site-root .st-section[data-sec-role="header"] .st-block--menu.hb-dom-selected > .st-resize{
  background:transparent !important;
  border:0 !important;
  opacity:1 !important;
  z-index:6 !important;
  box-shadow:none !important;
}
#st-site-header-slot .st-block--menu.is-active > .st-resize--e,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--e,
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--e,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--e,
.site-root .st-section[data-sec-role="header"] .st-block--menu.is-active > .st-resize--e,
.site-root .st-section[data-sec-role="header"] .st-block--menu.is-selected > .st-resize--e,
.site-root .st-section[data-sec-role="header"] .st-block--menu.hb-dom-active > .st-resize--e,
.site-root .st-section[data-sec-role="header"] .st-block--menu.hb-dom-selected > .st-resize--e{
  right:0 !important; top:0 !important; bottom:0 !important; width:10px !important;
}
#st-site-header-slot .st-block--menu.is-active > .st-resize--w,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--w,
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--w,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--w,
.site-root .st-section[data-sec-role="header"] .st-block--menu.is-active > .st-resize--w,
.site-root .st-section[data-sec-role="header"] .st-block--menu.is-selected > .st-resize--w,
.site-root .st-section[data-sec-role="header"] .st-block--menu.hb-dom-active > .st-resize--w,
.site-root .st-section[data-sec-role="header"] .st-block--menu.hb-dom-selected > .st-resize--w{
  left:0 !important; top:0 !important; bottom:0 !important; width:10px !important;
}
#st-site-header-slot .st-block--menu.is-active > .st-resize--n,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--n,
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--n,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--n,
.site-root .st-section[data-sec-role="header"] .st-block--menu.is-active > .st-resize--n,
.site-root .st-section[data-sec-role="header"] .st-block--menu.is-selected > .st-resize--n,
.site-root .st-section[data-sec-role="header"] .st-block--menu.hb-dom-active > .st-resize--n,
.site-root .st-section[data-sec-role="header"] .st-block--menu.hb-dom-selected > .st-resize--n{
  top:0 !important; left:0 !important; right:0 !important; height:10px !important;
}
#st-site-header-slot .st-block--menu.is-active > .st-resize--s,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--s,
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--s,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--s,
.site-root .st-section[data-sec-role="header"] .st-block--menu.is-active > .st-resize--s,
.site-root .st-section[data-sec-role="header"] .st-block--menu.is-selected > .st-resize--s,
.site-root .st-section[data-sec-role="header"] .st-block--menu.hb-dom-active > .st-resize--s,
.site-root .st-section[data-sec-role="header"] .st-block--menu.hb-dom-selected > .st-resize--s{
  bottom:0 !important; left:0 !important; right:0 !important; height:10px !important;
}
#st-site-header-slot .st-block--menu.is-active > .st-resize--nw,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--nw,
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--nw,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--nw,
.site-root .st-section[data-sec-role="header"] .st-block--menu.is-active > .st-resize--nw,
.site-root .st-section[data-sec-role="header"] .st-block--menu.is-selected > .st-resize--nw,
.site-root .st-section[data-sec-role="header"] .st-block--menu.hb-dom-active > .st-resize--nw,
.site-root .st-section[data-sec-role="header"] .st-block--menu.hb-dom-selected > .st-resize--nw{ left:0 !important; top:0 !important; width:14px !important; height:14px !important; }
#st-site-header-slot .st-block--menu.is-active > .st-resize--ne,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--ne,
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--ne,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--ne,
.site-root .st-section[data-sec-role="header"] .st-block--menu.is-active > .st-resize--ne,
.site-root .st-section[data-sec-role="header"] .st-block--menu.is-selected > .st-resize--ne,
.site-root .st-section[data-sec-role="header"] .st-block--menu.hb-dom-active > .st-resize--ne,
.site-root .st-section[data-sec-role="header"] .st-block--menu.hb-dom-selected > .st-resize--ne{ right:0 !important; top:0 !important; width:14px !important; height:14px !important; }
#st-site-header-slot .st-block--menu.is-active > .st-resize--sw,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--sw,
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--sw,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--sw,
.site-root .st-section[data-sec-role="header"] .st-block--menu.is-active > .st-resize--sw,
.site-root .st-section[data-sec-role="header"] .st-block--menu.is-selected > .st-resize--sw,
.site-root .st-section[data-sec-role="header"] .st-block--menu.hb-dom-active > .st-resize--sw,
.site-root .st-section[data-sec-role="header"] .st-block--menu.hb-dom-selected > .st-resize--sw{ left:0 !important; bottom:0 !important; width:14px !important; height:14px !important; }
#st-site-header-slot .st-block--menu.is-active > .st-resize--se,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--se,
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--se,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--se,
.site-root .st-section[data-sec-role="header"] .st-block--menu.is-active > .st-resize--se,
.site-root .st-section[data-sec-role="header"] .st-block--menu.is-selected > .st-resize--se,
.site-root .st-section[data-sec-role="header"] .st-block--menu.hb-dom-active > .st-resize--se,
.site-root .st-section[data-sec-role="header"] .st-block--menu.hb-dom-selected > .st-resize--se{ right:0 !important; bottom:0 !important; width:14px !important; height:14px !important; }

/* =========================================================
   00638 Header resize hard cutover
   Header menu uses standard thin resize handles. The old 00441/00446 wide
   menu hitboxes remain only for Footer; Header must not show the thick blue
   overlay or let menu content escape its parent container.
   ========================================================= */
#st-site-header-slot .st-block--menu.is-active,
#st-site-header-slot .st-block--menu.is-selected,
#st-site-header-slot .st-block--menu.hb-dom-active,
#st-site-header-slot .st-block--menu.hb-dom-selected{
  overflow:hidden !important;
}
#st-site-header-slot .st-block--menu.is-active > .st-resize,
#st-site-header-slot .st-block--menu.is-selected > .st-resize,
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize{
  display:block !important;
  pointer-events:auto !important;
  z-index:80 !important;
  opacity:.55 !important;
  background:transparent !important;
  border:0 !important;
  box-sizing:border-box !important;
}
#st-site-header-slot .st-block--menu.is-active > .st-resize:hover,
#st-site-header-slot .st-block--menu.is-selected > .st-resize:hover,
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize:hover,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize:hover{
  opacity:.85 !important;
  background:rgba(14,165,233,.08) !important;
  border:0 !important;
}
#st-site-header-slot .st-block--menu.is-active > .st-resize--e,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--e,
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--e,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--e{
  right:0 !important; top:0 !important; bottom:0 !important; width:10px !important;
}
#st-site-header-slot .st-block--menu.is-active > .st-resize--w,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--w,
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--w,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--w{
  left:0 !important; top:0 !important; bottom:0 !important; width:10px !important;
}
#st-site-header-slot .st-block--menu.is-active > .st-resize--n,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--n,
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--n,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--n{
  top:0 !important; left:0 !important; right:0 !important; height:10px !important;
}
#st-site-header-slot .st-block--menu.is-active > .st-resize--s,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--s,
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--s,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--s{
  bottom:0 !important; left:0 !important; right:0 !important; height:10px !important;
}
#st-site-header-slot .st-block--menu.is-active > .st-resize--nw,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--nw,
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--nw,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--nw{ left:0 !important; top:0 !important; width:14px !important; height:14px !important; }
#st-site-header-slot .st-block--menu.is-active > .st-resize--ne,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--ne,
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--ne,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--ne{ right:0 !important; top:0 !important; width:14px !important; height:14px !important; }
#st-site-header-slot .st-block--menu.is-active > .st-resize--sw,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--sw,
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--sw,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--sw{ left:0 !important; bottom:0 !important; width:14px !important; height:14px !important; }
#st-site-header-slot .st-block--menu.is-active > .st-resize--se,
#st-site-header-slot .st-block--menu.is-selected > .st-resize--se,
#st-site-header-slot .st-block--menu.hb-dom-active > .st-resize--se,
#st-site-header-slot .st-block--menu.hb-dom-selected > .st-resize--se{ right:0 !important; bottom:0 !important; width:14px !important; height:14px !important; }
#st-site-header-slot .st-block[data-st-header-clean-resize00638="1"]{
  overflow:hidden !important;
}
#st-site-header-slot .st-block[data-st-header-clean-resize00638="1"] .st-block--menu,
#st-site-header-slot .st-block[data-st-header-clean-resize00638="1"] [data-st-menu="1"],
#st-site-header-slot .st-block[data-st-header-clean-resize00638="1"] .st-menu,
#st-site-header-slot .st-block[data-st-header-clean-resize00638="1"] .st-menu__list{
  max-width:100% !important;
  overflow:hidden !important;
}

/* =========================================================
   00642 Header clean pair resize
   00640 used persistent grid-template-columns. That could save 0px/1px
   tracks after align/resize and make containers disappear. Header rows touched
   by the clean engine are now flex rows; exact widths are written to children.
   ========================================================= */
#st-site-header-slot .st-row[data-st-header-clean-row00639="1"],
#st-site-header-slot .st-row[data-st-header-clean-row00640="1"],
#st-site-header-slot .st-row[data-st-header-clean-row00641="1"],
#st-site-header-slot .st-row[data-st-header-clean-flex-row00642="1"]{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  justify-content:flex-start !important;
  align-items:center !important;
  align-content:center !important;
  gap:var(--st-header-clean-gap-00642, 0px) !important;
  column-gap:var(--st-header-clean-gap-00642, 0px) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
#st-site-header-slot .st-row[data-st-header-clean-row00639="1"] > .st-block,
#st-site-header-slot .st-row[data-st-header-clean-row00640="1"] > .st-block,
#st-site-header-slot .st-row[data-st-header-clean-row00641="1"] > .st-block,
#st-site-header-slot .st-row[data-st-header-clean-flex-row00642="1"] > .st-block,
#st-site-header-slot .st-row[data-st-header-clean-flex-row00642="1"] > [data-st-header-clean-flex-item00642="1"]{
  box-sizing:border-box !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
  align-self:center !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
#st-site-header-slot .st-row[data-st-header-clean-row00639="1"] > .st-block > .st-block,
#st-site-header-slot .st-row[data-st-header-clean-row00640="1"] > .st-block > .st-block,
#st-site-header-slot .st-row[data-st-header-clean-row00641="1"] > .st-block > .st-block,
#st-site-header-slot .st-row[data-st-header-clean-flex-row00642="1"] > .st-block > .st-block,
#st-site-header-slot .st-row[data-st-header-clean-row00639="1"] .st-block--menu,
#st-site-header-slot .st-row[data-st-header-clean-row00640="1"] .st-block--menu,
#st-site-header-slot .st-row[data-st-header-clean-row00641="1"] .st-block--menu,
#st-site-header-slot .st-row[data-st-header-clean-flex-row00642="1"] .st-block--menu,
#st-site-header-slot .st-row[data-st-header-clean-row00639="1"] [data-st-menu="1"],
#st-site-header-slot .st-row[data-st-header-clean-row00640="1"] [data-st-menu="1"],
#st-site-header-slot .st-row[data-st-header-clean-row00641="1"] [data-st-menu="1"],
#st-site-header-slot .st-row[data-st-header-clean-flex-row00642="1"] [data-st-menu="1"]{
  max-width:100% !important;
  overflow:hidden !important;
}

/* [00646] Header levels must stay visibly selectable even when containers fill the whole row. */
#st-site-header-slot .st-row {
  position: relative !important;
  min-height: 28px;
  overflow: visible !important;
}

#st-site-header-slot .st-row::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border: 1px dashed rgba(56, 189, 248, 0.22);
  border-radius: inherit;
  z-index: 4;
}

#st-site-header-slot .st-row:hover::after,
#st-site-header-slot .st-row.is-selected::after,
#st-site-header-slot .st-row.is-active::after,
#st-site-header-slot .st-row.hb-dom-selected::after,
#st-site-header-slot .st-row.hb-dom-active::after {
  border-color: rgba(56, 189, 248, 0.95);
  box-shadow: 0 0 0 2px rgba(56, 189, 248, 0.16);
}

#st-site-header-slot .st-row[data-st-header-level-visible00646="1"] {
  overflow: visible !important;
  max-height: none !important;
}

/* =========================================================
   00648 Header levels: butt-stacked rows + invisible easy hit edges
   ---------------------------------------------------------
   Header rows must behave like real levels: one after another, no visual
   gap/overlap. The hit zones are wider, but transparent, so the user can
   select/resize the level by the top/bottom edge without thick lines.
   ========================================================= */
body.st-header-builder-on #st-site-header-slot > .st-section[data-sec-role="header"],
body.st-header-builder-on #st-site-header-slot .st-section[data-sec-role="header"]{
  display:flex !important;
  flex-direction:column !important;
  flex-wrap:nowrap !important;
  gap:0 !important;
  row-gap:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  align-items:stretch !important;
  align-content:stretch !important;
  overflow:visible !important;
}
body.st-header-builder-on #st-site-header-slot .st-section[data-sec-role="header"] > .st-row{
  margin-top:0 !important;
  margin-bottom:0 !important;
  flex:0 0 auto !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  position:relative !important;
  isolation:isolate;
  outline-offset:-1px !important;
}
body.st-header-builder-on #st-site-header-slot .st-section[data-sec-role="header"] > .st-row + .st-row{
  margin-top:0 !important;
}
body.st-header-builder-on #st-site-header-slot .st-section[data-sec-role="header"] > .st-row:hover:not(.is-active):not(.is-selected):not(.hb-dom-active):not(.hb-dom-selected){
  outline:1px solid rgba(56,189,248,.30) !important;
  outline-offset:-1px !important;
  box-shadow:inset 0 1px 0 rgba(56,189,248,.16), inset 0 -1px 0 rgba(56,189,248,.16) !important;
}
body.st-header-builder-on #st-site-header-slot .st-section[data-sec-role="header"] > .st-row.is-active,
body.st-header-builder-on #st-site-header-slot .st-section[data-sec-role="header"] > .st-row.is-selected,
body.st-header-builder-on #st-site-header-slot .st-section[data-sec-role="header"] > .st-row.hb-dom-active,
body.st-header-builder-on #st-site-header-slot .st-section[data-sec-role="header"] > .st-row.hb-dom-selected{
  outline:1px solid rgba(56,189,248,.78) !important;
  outline-offset:-1px !important;
  box-shadow:inset 0 1px 0 rgba(56,189,248,.65), inset 0 -1px 0 rgba(56,189,248,.65) !important;
  z-index:30 !important;
}
body.st-header-builder-on #st-site-header-slot .st-section[data-sec-role="header"] > .st-row > .st-resize{
  display:block !important;
  pointer-events:auto !important;
  z-index:99998 !important;
  background:transparent !important;
  border:0 !important;
  opacity:0 !important;
}
body.st-header-builder-on #st-site-header-slot .st-section[data-sec-role="header"] > .st-row > .st-resize--n{
  top:-7px !important; left:0 !important; right:0 !important; height:14px !important; cursor:ns-resize !important;
}
body.st-header-builder-on #st-site-header-slot .st-section[data-sec-role="header"] > .st-row > .st-resize--s{
  bottom:-7px !important; left:0 !important; right:0 !important; height:14px !important; cursor:ns-resize !important;
}
body.st-header-builder-on #st-site-header-slot .st-section[data-sec-role="header"] > .st-row > .st-resize--w{
  left:-5px !important; top:0 !important; bottom:0 !important; width:10px !important; cursor:ew-resize !important;
}
body.st-header-builder-on #st-site-header-slot .st-section[data-sec-role="header"] > .st-row > .st-resize--e{
  right:-5px !important; top:0 !important; bottom:0 !important; width:10px !important; cursor:ew-resize !important;
}


/* =========================================================
   [00651] Footer menu selection/handles use standard inspector overlay
   ---------------------------------------------------------
   Old 00441/00446 rules made Footer menu handles visibly blue and wide. Keep
   the hit area usable, but make it visually match the standard thin inspector
   selection used by other footer/header elements.
   ========================================================= */
#st-site-footer-slot .st-block--menu.is-active > .st-resize,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize,
.site-root .st-section[data-sec-role="footer"] .st-block--menu.is-active > .st-resize,
.site-root .st-section[data-sec-role="footer"] .st-block--menu.is-selected > .st-resize,
.site-root .st-section[data-sec-role="footer"] .st-block--menu.hb-dom-active > .st-resize,
.site-root .st-section[data-sec-role="footer"] .st-block--menu.hb-dom-selected > .st-resize{
  display:block !important;
  pointer-events:auto !important;
  z-index:80 !important;
  opacity:.55 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
}
#st-site-footer-slot .st-block--menu.is-active > .st-resize:hover,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize:hover,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize:hover,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize:hover,
.site-root .st-section[data-sec-role="footer"] .st-block--menu.is-active > .st-resize:hover,
.site-root .st-section[data-sec-role="footer"] .st-block--menu.is-selected > .st-resize:hover,
.site-root .st-section[data-sec-role="footer"] .st-block--menu.hb-dom-active > .st-resize:hover,
.site-root .st-section[data-sec-role="footer"] .st-block--menu.hb-dom-selected > .st-resize:hover{
  opacity:.9 !important;
  background:rgba(14,165,233,.08) !important;
  border:0 !important;
}
#st-site-footer-slot .st-block--menu.is-active > .st-resize--e,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize--e,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize--e,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize--e{ right:0 !important; top:0 !important; bottom:0 !important; width:12px !important; cursor:ew-resize !important; }
#st-site-footer-slot .st-block--menu.is-active > .st-resize--w,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize--w,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize--w,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize--w{ left:0 !important; top:0 !important; bottom:0 !important; width:12px !important; cursor:ew-resize !important; }
#st-site-footer-slot .st-block--menu.is-active > .st-resize--n,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize--n,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize--n,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize--n{ top:0 !important; left:0 !important; right:0 !important; height:12px !important; cursor:ns-resize !important; }
#st-site-footer-slot .st-block--menu.is-active > .st-resize--s,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize--s,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize--s,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize--s{ bottom:0 !important; left:0 !important; right:0 !important; height:12px !important; cursor:ns-resize !important; }
#st-site-footer-slot .st-block--menu.is-active > .st-resize--nw,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize--nw,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize--nw,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize--nw{ left:0 !important; top:0 !important; width:16px !important; height:16px !important; }
#st-site-footer-slot .st-block--menu.is-active > .st-resize--ne,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize--ne,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize--ne,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize--ne{ right:0 !important; top:0 !important; width:16px !important; height:16px !important; }
#st-site-footer-slot .st-block--menu.is-active > .st-resize--sw,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize--sw,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize--sw,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize--sw{ left:0 !important; bottom:0 !important; width:16px !important; height:16px !important; }
#st-site-footer-slot .st-block--menu.is-active > .st-resize--se,
#st-site-footer-slot .st-block--menu.is-selected > .st-resize--se,
#st-site-footer-slot .st-block--menu.hb-dom-active > .st-resize--se,
#st-site-footer-slot .st-block--menu.hb-dom-selected > .st-resize--se{ right:0 !important; bottom:0 !important; width:16px !important; height:16px !important; }

/* =========================================================
   00654 HF menu children align containment
   Children align must never wrap a horizontal Header/Footer menu into a
   narrow vertical column. JS sets data-st-layout-menu-no-wrap00654 after the
   user aligns menu children; these CSS guards keep the state after persist.
   ========================================================= */
#st-site-header-slot .st-block--menu[data-st-layout-menu-no-wrap00654="1"][data-menu-level1-direction="row"] .st-menu--big > .st-menu__list,
#st-site-header-slot .st-block--menu[data-st-layout-menu-no-wrap00654="1"][data-menu-level1-direction="row"] .st-menu > .st-menu__list,
#st-site-footer-slot .st-block--menu[data-st-layout-menu-no-wrap00654="1"][data-menu-level1-direction="row"] .st-menu--big > .st-menu__list,
#st-site-footer-slot .st-block--menu[data-st-layout-menu-no-wrap00654="1"][data-menu-level1-direction="row"] .st-menu > .st-menu__list{
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  width:max-content !important;
  max-width:100% !important;
  min-width:0 !important;
}
#st-site-header-slot .st-block--menu[data-st-layout-menu-no-wrap00654="1"][data-menu-level1-direction="row"] .st-menu__list > .st-menu__item,
#st-site-footer-slot .st-block--menu[data-st-layout-menu-no-wrap00654="1"][data-menu-level1-direction="row"] .st-menu__list > .st-menu__item{
  flex:0 0 auto !important;
  width:auto !important;
  max-width:none !important;
}
#st-site-header-slot .st-block--menu[data-st-layout-menu-no-wrap00654="1"][data-menu-level1-direction="row"] .st-menu__list > .st-menu__item > .st-menu__link,
#st-site-footer-slot .st-block--menu[data-st-layout-menu-no-wrap00654="1"][data-menu-level1-direction="row"] .st-menu__list > .st-menu__item > .st-menu__link{
  display:inline-flex !important;
  width:auto !important;
  min-width:max-content !important;
  max-width:none !important;
  white-space:nowrap !important;
}

/* =========================================================
   00655 HF menu children-align: hard compact height
   Old menu/flex rules used height:100% / min-height:100% and after children-align
   a footer menu could grow taller than its parent. Menus touched by the Layout
   widget now stay natural-height; only width/justify is changed.
   ========================================================= */
#st-site-header-slot .st-block--menu[data-st-layout-menu-compact-h00655="1"],
#st-site-footer-slot .st-block--menu[data-st-layout-menu-compact-h00655="1"]{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}
#st-site-header-slot .st-block--menu[data-st-layout-menu-compact-h00655="1"] > .st-menu,
#st-site-header-slot .st-block--menu[data-st-layout-menu-compact-h00655="1"] > nav.st-menu,
#st-site-header-slot .st-block--menu[data-st-layout-menu-compact-h00655="1"] .st-menu--big,
#st-site-footer-slot .st-block--menu[data-st-layout-menu-compact-h00655="1"] > .st-menu,
#st-site-footer-slot .st-block--menu[data-st-layout-menu-compact-h00655="1"] > nav.st-menu,
#st-site-footer-slot .st-block--menu[data-st-layout-menu-compact-h00655="1"] .st-menu--big,
#st-site-header-slot .st-menu[data-st-layout-menu-compact-h00655="1"],
#st-site-footer-slot .st-menu[data-st-layout-menu-compact-h00655="1"]{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
}
#st-site-header-slot .st-block--menu[data-st-layout-menu-compact-h00655="1"] .st-menu__list[data-st-layout-menu-compact-h00655="1"],
#st-site-footer-slot .st-block--menu[data-st-layout-menu-compact-h00655="1"] .st-menu__list[data-st-layout-menu-compact-h00655="1"]{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  align-content:center !important;
}
#st-site-header-slot .st-block--menu[data-st-layout-menu-no-wrap00654="1"][data-menu-level1-direction="row"] .st-menu__list[data-menu-list-depth="1"],
#st-site-footer-slot .st-block--menu[data-st-layout-menu-no-wrap00654="1"][data-menu-level1-direction="row"] .st-menu__list[data-menu-list-depth="1"]{
  flex-direction:row !important;
  flex-wrap:nowrap !important;
}

/* =========================================================
   00656 HF level children align — direct containers only
   Old footer align branches could leave a single container (often the menu
   container) pinned with stale align-self/translate. A selected level aligns
   only its direct containers and all of them obey the same row axis.
   ========================================================= */
.site-root #st-site-header-slot .st-row[data-st-layout-hf-row-children-align00656="1"],
.site-root #st-site-footer-slot .st-row[data-st-layout-hf-row-children-align00656="1"]{
  display:flex !important;
  flex-wrap:nowrap !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
.site-root #st-site-header-slot .st-row[data-st-layout-hf-row-children-align00656="1"] > .st-block[data-st-layout-hf-child-align00656="1"],
.site-root #st-site-footer-slot .st-row[data-st-layout-hf-row-children-align00656="1"] > .st-block[data-st-layout-hf-child-align00656="1"]{
  box-sizing:border-box !important;
  min-width:0 !important;
  max-width:100% !important;
}
.site-root #st-site-header-slot .st-row[data-st-layout-row-y-align="1"] > .st-block[data-st-layout-y-align="1"],
.site-root #st-site-footer-slot .st-row[data-st-layout-row-y-align="1"] > .st-block[data-st-layout-y-align="1"]{
  align-self:var(--st-layout-y-align, center) !important;
}


/* =========================================================
   00657 HF children-align must not change height
   Old footer/menu alignment left height:100% / min-height:100% / manual-height
   artifacts on menu containers. A pure align click may move children on the
   cross-axis, but must not stretch a container or menu vertically.
   ========================================================= */
.site-root #st-site-header-slot [data-st-layout-no-height-stretch00657="1"],
.site-root #st-site-footer-slot [data-st-layout-no-height-stretch00657="1"]{
  box-sizing:border-box !important;
  max-height:none !important;
}
.site-root #st-site-header-slot .st-row[data-st-layout-hf-row-children-align00656="1"] > .st-block[data-st-layout-no-height-stretch00657="1"],
.site-root #st-site-footer-slot .st-row[data-st-layout-hf-row-children-align00656="1"] > .st-block[data-st-layout-no-height-stretch00657="1"]{
  align-self:var(--st-layout-y-align, center) !important;
  max-height:none !important;
}
.site-root #st-site-header-slot .st-block--menu[data-st-layout-menu-compact-h00655="1"] .st-menu,
.site-root #st-site-footer-slot .st-block--menu[data-st-layout-menu-compact-h00655="1"] .st-menu,
.site-root #st-site-header-slot .st-block--menu[data-st-layout-menu-compact-h00655="1"] .st-menu__list,
.site-root #st-site-footer-slot .st-block--menu[data-st-layout-menu-compact-h00655="1"] .st-menu__list{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
}

/* =========================================================
   00658 HF align invariant — align never changes height
   Header/Footer menu wrappers must not inherit the old global menu height:100%
   while the user only aligns rows/containers/children.
   ========================================================= */
.site-root #st-site-header-slot .st-block--menu > .st-menu,
.site-root #st-site-header-slot .st-block--menu > nav.st-menu,
.site-root #st-site-footer-slot .st-block--menu > .st-menu,
.site-root #st-site-footer-slot .st-block--menu > nav.st-menu{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
}
.site-root #st-site-header-slot .st-block--menu[data-menu-level1-direction="row"] .st-menu--big > .st-menu__list,
.site-root #st-site-header-slot .st-block--menu[data-menu-level1-direction="row"] .st-menu > .st-menu__list,
.site-root #st-site-footer-slot .st-block--menu[data-menu-level1-direction="row"] .st-menu--big > .st-menu__list,
.site-root #st-site-footer-slot .st-block--menu[data-menu-level1-direction="row"] .st-menu > .st-menu__list{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  flex-wrap:nowrap !important;
  align-content:center !important;
}
.site-root #st-site-header-slot [data-st-layout-align-height-invariant00658="1"],
.site-root #st-site-footer-slot [data-st-layout-align-height-invariant00658="1"]{
  max-height:none !important;
  box-sizing:border-box !important;
}
.site-root #st-site-header-slot [data-st-layout-no-height-change-align00658="1"],
.site-root #st-site-footer-slot [data-st-layout-no-height-change-align00658="1"]{
  box-sizing:border-box !important;
  overflow:visible !important;
}


/* =========================================================
   00659 HF align size invariant — align never changes width/height
   Left/center/right and top/center/bottom are position operations only. These
   guards keep direct children/menu wrappers from growing after Layout align.
   ========================================================= */
.site-root #st-site-header-slot [data-st-layout-align-size-invariant00659="1"],
.site-root #st-site-footer-slot [data-st-layout-align-size-invariant00659="1"]{
  box-sizing:border-box !important;
  max-width:100% !important;
  max-height:none !important;
}
/* [00660] Old transform based position-only align is disabled. */
.site-root #st-site-header-slot [data-st-layout-position-only-align00659="1"],
.site-root #st-site-footer-slot [data-st-layout-position-only-align00659="1"]{
  will-change:auto !important;
  box-sizing:border-box !important;
}
.site-root #st-site-header-slot [data-st-layout-no-transform-align00660],
.site-root #st-site-footer-slot [data-st-layout-no-transform-align00660]{
  box-sizing:border-box !important;
  max-width:100% !important;
}
.site-root #st-site-header-slot [data-st-layout-hf-children-align00660="1"],
.site-root #st-site-footer-slot [data-st-layout-hf-children-align00660="1"],
.site-root #st-site-header-slot [data-st-layout-hf-row-children-align00660="1"],
.site-root #st-site-footer-slot [data-st-layout-hf-row-children-align00660="1"]{
  overflow:visible !important;
  box-sizing:border-box !important;
}
.site-root #st-site-header-slot .st-block--menu[data-st-layout-menu-no-width-grow00659="1"],
.site-root #st-site-footer-slot .st-block--menu[data-st-layout-menu-no-width-grow00659="1"]{
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
.site-root #st-site-header-slot .st-block--menu[data-st-layout-menu-no-width-grow00659="1"] > .st-menu,
.site-root #st-site-footer-slot .st-block--menu[data-st-layout-menu-no-width-grow00659="1"] > .st-menu,
.site-root #st-site-header-slot .st-block--menu[data-st-layout-menu-no-width-grow00659="1"] .st-menu__list,
.site-root #st-site-footer-slot .st-block--menu[data-st-layout-menu-no-width-grow00659="1"] .st-menu__list{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
}

/* =========================================================
   00662 HF clean align contract
   No interceptors, no transform based align, no forced child px-locks.
   Alignment writes only normal flex/grid properties from the Layout widget.
   ========================================================= */
.site-root #st-site-header-slot [data-st-layout-hf-block-fill-flex00662="1"],
.site-root #st-site-footer-slot [data-st-layout-hf-block-fill-flex00662="1"],
.site-root #st-site-header-slot [data-st-layout-hf-block-filled00662],
.site-root #st-site-footer-slot [data-st-layout-hf-block-filled00662],
.site-root #st-site-header-slot [data-st-layout-hf-no-child-size-lock00662="1"],
.site-root #st-site-footer-slot [data-st-layout-hf-no-child-size-lock00662="1"]{
  box-sizing:border-box !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:visible !important;
  transform:none !important;
}
.site-root #st-site-header-slot [data-st-layout-menu-align-only00661="1"] > .st-menu,
.site-root #st-site-footer-slot [data-st-layout-menu-align-only00661="1"] > .st-menu,
.site-root #st-site-header-slot [data-st-layout-menu-align-only00661="1"] .st-menu__list,
.site-root #st-site-footer-slot [data-st-layout-menu-align-only00661="1"] .st-menu__list{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}

/* =========================================================
   [00798] H/M/F visual order contract
   ========================================================= */
#canvasView > #site-canvas.builder__canvas-site > #site-root.site-root > #st-site-header-slot{
  order:0 !important;
}
#canvasView > #site-canvas.builder__canvas-site > #site-root.site-root > .st-section:not([data-sec-role="header"]):not([data-sec-role="footer"]){
  order:10 !important;
}
#canvasView > #site-canvas.builder__canvas-site > #site-root.site-root > #st-site-footer-slot,
#canvasView > #site-canvas.builder__canvas-site > #site-root.site-root > .st-section[data-sec-role="footer"]{
  order:20 !important;
}


/* =========================================================
   00846: BUILDER CHROME HEIGHT LOCK FOR SITE RESIZE
   ---------------------------------------------------------
   Root cause: site resize ancestor-grow climbed into builder chrome because
   .builder__canvas is a <section>. That allowed inline height/clientHeight
   growth and reset .canvas__scroll.scrollTop. These rules are the final CSS
   boundary loaded after builder-shell.css.
   ========================================================= */
#builder-root.builder{
  height:100vh !important;
  max-height:100vh !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
@supports (height: 100dvh){
  #builder-root.builder{
    height:100dvh !important;
    max-height:100dvh !important;
  }
}
#builder-root.builder > .builder__header,
#builder-root.builder > .builder__footer{
  flex:0 0 auto !important;
}
#builder-root.builder > .builder__main{
  flex:1 1 0 !important;
  min-height:0 !important;
  max-height:100% !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-rows:minmax(0,1fr) !important;
  align-items:stretch !important;
}
#builder-root.builder .builder__canvas{
  min-height:0 !important;
  height:100% !important;
  max-height:100% !important;
  overflow:hidden !important;
  align-self:stretch !important;
  display:flex !important;
  flex-direction:column !important;
}
#builder-root.builder .canvas__inner{
  flex:1 1 0 !important;
  min-height:0 !important;
  height:100% !important;
  max-height:100% !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
#builder-root.builder .canvas__header{
  flex:0 0 auto !important;
}
#builder-root.builder .canvas__scroll{
  flex:1 1 0 !important;
  min-height:0 !important;
  max-height:100% !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  padding-bottom:0 !important;
  scroll-padding-bottom:0 !important;
}
#builder-root.builder #canvasView,
#builder-root.builder #site-canvas,
#builder-root.builder #site-root{
  overflow:visible !important;
}

/* =========================================================
   [00849] Footer natural-flow hard cut
   ---------------------------------------------------------
   Footer must scroll together with Header/Main. Old runtime
   modes sticky/fixed/reveal are not allowed to pin footer over canvas.
   ========================================================= */
#site-root > #st-site-footer-slot,
#site-root > .st-site-footer-slot{
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  will-change: auto !important;
  z-index: auto !important;
  width: 100% !important;
  flex: 0 0 auto !important;
}

/* 00857 — HEADER MENU STRIP STABLE EDITING
   The category menu is a separate black header section. Its row/container/content
   must not stretch or recenter while the row is being resized. */
#st-site-header-slot .st-section--header-menu-strip{
  background:#0b0b0c !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  overflow:hidden !important;
}
#st-site-header-slot .st-section--header-menu-strip > .st-row{
  align-items:start !important;
  align-content:start !important;
  justify-items:stretch !important;
  grid-auto-rows:auto !important;
  row-gap:0 !important;
  overflow:hidden !important;
  background:transparent !important;
}
#st-site-header-slot .st-section--header-menu-strip > .st-row > .st-block{
  align-self:start !important;
  flex-shrink:0 !important;
  overflow:hidden !important;
  max-height:none !important;
}
#st-site-header-slot .st-section--header-menu-strip [data-st-header-category-menu="1"],
#st-site-header-slot .st-section--header-menu-strip .st-block--menu{
  align-self:flex-start !important;
  flex-shrink:0 !important;
  overflow:hidden !important;
  max-height:none !important;
}

/* [00966] Any explicitly authored Header/Footer node is geometry-authoritative.
   Legacy canvas containment/min-size/nowrap rules must not clip or restyle authored templates. */
/* [00860] Clean child-boundary containment: parent frames clip; menu internals keep natural size. */
#site-root .st-section:not([data-sf-authored-template="00961"]):not([data-hf-authored-template]),
#site-root .st-row:not([data-sf-authored-template="00961"]):not([data-hf-authored-template]),
#site-root .st-block:not([data-sf-authored-template="00961"]):not([data-hf-authored-template]),
#st-site-header-slot .st-section,
#st-site-header-slot .st-row,
#st-site-header-slot .st-block,
#st-site-footer-slot .st-section:not([data-hf-authored-template]),
#st-site-footer-slot .st-row:not([data-hf-authored-template]),
#st-site-footer-slot .st-block:not([data-hf-authored-template]){
  box-sizing:border-box !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
  overflow-x:hidden !important;
  overflow-y:hidden !important;
  contain:paint !important;
  isolation:isolate !important;
}
#site-root .st-block--menu:not([data-hf-authored-template]),
#st-site-header-slot .st-block--menu,
#st-site-footer-slot .st-block--menu:not([data-hf-authored-template]){
  box-sizing:border-box !important;
  max-width:100% !important;
  max-height:none !important;
  min-width:0 !important;
  overflow:hidden !important;
  overflow-x:hidden !important;
  overflow-y:hidden !important;
}
#site-root .st-block--menu .st-menu,
#site-root .st-block--menu .st-menu__panel,
#site-root .st-block--menu .st-menu__list,
#site-root .st-block--menu .st-menu__sublist,
#site-root .st-block--menu .st-menu__item,
#site-root .st-block--menu .st-menu__link,
#st-site-header-slot .st-block--menu .st-menu,
#st-site-header-slot .st-block--menu .st-menu__panel,
#st-site-header-slot .st-block--menu .st-menu__list,
#st-site-header-slot .st-block--menu .st-menu__sublist,
#st-site-header-slot .st-block--menu .st-menu__item,
#st-site-header-slot .st-block--menu .st-menu__link,
#st-site-footer-slot .st-block--menu .st-menu,
#st-site-footer-slot .st-block--menu .st-menu__panel,
#st-site-footer-slot .st-block--menu .st-menu__list,
#st-site-footer-slot .st-block--menu .st-menu__sublist,
#st-site-footer-slot .st-block--menu .st-menu__item,
#st-site-footer-slot .st-block--menu .st-menu__link{
  box-sizing:border-box !important;
  max-width:100% !important;
  max-height:none !important;
  min-width:0 !important;
  overflow:visible !important;
  overflow-x:visible !important;
  overflow-y:visible !important;
}

/* ============================================================
   [00892] MAIN EDGE PARITY
   Main is an area slot exactly like Header/Footer, not a visual wrapper.
   The slot contributes no background, padding, minimum height or side gutter.
   Every authored Main section owns its own visual style and spans the area edge.
   ============================================================ */
.site-root > #st-site-main-slot.st-site-main-slot {
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: visible;
  box-sizing: border-box;
  pointer-events: auto;
  background: transparent;
}

/* ============================================================
   [00960] MAIN TEMPLATE PREVIEW/APPLY PARITY
   ------------------------------------------------------------
   sf-main-selection-* is an EDITOR interaction layer only. 00959 still
   imposed layout geometry here (flex:1, min-height:150px, forced flex rows,
   forced widths, padding:0, height:auto...). Those declarations do not exist
   in the gallery/fullscreen preview, therefore the very same authored Main
   HTML changed shape after it was imported into SiteFrameStore.

   Contract from 00960:
   - template/authored layout owns display/grid/flex/width/height/min-height;
   - SiteFrame selection classes own only selection/drag/resize mechanics;
   - manual resize remains Store-owned and is written inline by
     SiteFrameDomRenderer, so removing these editor defaults does not weaken
     resize persistence.
   ============================================================ */
#st-site-main-slot .sf-main-selection-section {
  position: relative;
  box-sizing: border-box;
}

#st-site-main-slot .sf-main-selection-section + .sf-main-selection-section {
  /* No visual geometry here. Authored section spacing is authoritative. */
}

#st-site-main-slot .sf-main-selection-level {
  position: relative;
  box-sizing: border-box;
}

#st-site-main-slot .sf-main-selection-container {
  position: relative;
  min-width: 0;
  touch-action: auto !important;
  user-select: none;
  box-sizing: border-box;
}

#st-site-main-slot .sf-main-selection-block {
  position: relative;
  min-width: 0;
  touch-action: auto !important;
  user-select: none;
  box-sizing: border-box;
}

#st-site-main-slot [data-main-selection-stage="00887"] {
  cursor: default;
}



/* =========================================================
   00898: CANVAS WIDTH INVARIANT DURING VERTICAL SCROLL
   ---------------------------------------------------------
   The SiteFrame adjacent-pair equation is measured in pixels. When text
   wrapping makes Main taller, a classic vertical scrollbar must not reduce
   the canvas client width mid-gesture, otherwise the already-valid pair can
   extend past the newly narrowed right boundary. Reserve the scrollbar
   gutter from the start so Header/Main/Footer keep one stable inline size.
   This is a layout boundary contract, not a post-resize normalizer.
   ========================================================= */
#builder-root.builder .canvas__scroll {
  scrollbar-gutter: stable !important;
}

/* 00901 Main text blocks: real editable field inside Store-rendered Main block. */
#st-site-main-slot .st-block--text > .st-text-edit[contenteditable="true"],
#st-site-main-slot .st-block--heading > .st-text-edit[contenteditable="true"],
#st-site-main-slot [data-main-text-editable="00901"] > .st-text-edit[contenteditable="true"]{
  -webkit-user-select: text !important;
  user-select: text !important;
  cursor: text !important;
  caret-color: auto !important;
  pointer-events: auto !important;
  outline: none;
  min-width: 0;
}

/* 00930: The outer Store block keeps its authored box height, while its
   editable surface fills that box and remains a column flex container.
   This preserves manual resize and restores real top/center/bottom text
   alignment without letting the editable override the owner's geometry. */
#st-site-main-slot .sf-main-selection-block.st-block--text[data-sf-manual-h],
#st-site-main-slot .sf-main-selection-block.st-block--heading[data-sf-manual-h]{
  min-height: 0 !important;
  overflow: visible !important;
  contain: none !important;
}
#st-site-main-slot .sf-main-selection-block.st-block--text[data-sf-manual-h] > .st-text-edit,
#st-site-main-slot .sf-main-selection-block.st-block--heading[data-sf-manual-h] > .st-text-edit{
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

#st-site-main-slot .st-text-edit[data-st-text-local-history="00901"]:focus,
#st-site-main-slot .st-text-edit[data-st-text-local-history="00902"]:focus,
#st-site-main-slot .st-text-edit[data-st-text-local-history="00903"]:focus,
#st-site-main-slot .st-text-edit[data-st-text-local-history="00904"]:focus{
  outline: 2px solid rgba(34,197,94,.95) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 1px rgba(34,197,94,.90), 0 0 0 5px rgba(34,197,94,.18) !important;
  border-radius: 7px;
}
/* 00904: Main text block drag restore. The real contenteditable still receives
   click/caret, while this grip gives an explicit safe place to move the block. */
#st-site-main-slot [data-main-text-block-drag-restore="00904"]{
  position: relative;
}
#st-site-main-slot [data-main-text-block-drag-restore="00904"] > .st-text-drag-grip{
  position: absolute;
  left: 6px;
  top: 6px;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  box-sizing: border-box;
  border: 2px solid rgba(56,189,248,.95);
  background: rgba(15,23,42,.72);
  box-shadow: 0 0 0 2px rgba(15,23,42,.38), 0 8px 18px rgba(15,23,42,.22);
  cursor: grab;
  z-index: 2147483001;
  opacity: 0;
  pointer-events: auto;
  transition: opacity .12s ease;
}
#st-site-main-slot [data-main-text-block-drag-restore="00904"].is-active > .st-text-drag-grip,
#st-site-main-slot [data-main-text-block-drag-restore="00904"].is-selected > .st-text-drag-grip,
#st-site-main-slot [data-main-text-block-drag-restore="00904"]:hover > .st-text-drag-grip{
  opacity: 1;
}
#st-site-main-slot [data-main-text-block-drag-restore="00904"][data-main-text-block-dragging="00904"] > .st-text-drag-grip{
  cursor: grabbing;
}
/* 00905: Main text drag grip stays functional but 100% invisible.
   It must not appear on hover/active/selected, and must not show a tooltip. */
#st-site-main-slot [data-main-text-block-drag-restore="00904"] > .st-text-drag-grip,
#st-site-main-slot [data-main-text-block-drag-restore="00904"].is-active > .st-text-drag-grip,
#st-site-main-slot [data-main-text-block-drag-restore="00904"].is-selected > .st-text-drag-grip,
#st-site-main-slot [data-main-text-block-drag-restore="00904"]:hover > .st-text-drag-grip,
#st-site-main-slot [data-main-text-block-drag-restore="00904"][data-main-text-block-dragging="00904"] > .st-text-drag-grip{
  opacity: 0 !important;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}


/* [00961] MAIN authored-template parity.
   Imported template nodes opt out of legacy .site-root layout/containment defaults above.
   Natural text/heading blocks keep the same compact intrinsic sizing as preview; only a
   user-owned manual height switches to the 00930 fill-box contract. */
#st-site-main-slot [data-sf-authored-template="00961"].sf-main-selection-block.st-block--text:not([data-sf-manual-h]){
  min-height: var(--st-text-block-min-h, 45px);
}
#st-site-main-slot [data-sf-authored-template="00961"].sf-main-selection-block.st-block--heading:not([data-sf-manual-h]){
  min-height: 0;
}


/* =========================================================
   01020 PAGE TREE ↔ CANVAS COLOR PARITY
   Uses the same Design-mode palette already defined above.
   ========================================================= */
.site-root .st-tree-selected-section,
#st-site-header-slot .st-tree-selected-section,
#st-site-main-slot .st-tree-selected-section,
#st-site-footer-slot .st-tree-selected-section{
  outline: 2px solid rgba(59,130,246,.98) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px rgba(59,130,246,.14) !important;
}
.site-root .st-tree-selected-level,
#st-site-header-slot .st-tree-selected-level,
#st-site-main-slot .st-tree-selected-level,
#st-site-footer-slot .st-tree-selected-level{
  outline: 2px solid rgba(234,179,8,.98) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px rgba(234,179,8,.16) !important;
}

/* 01039 · Product Card image hover contract */
[data-commerce-component="product-card"][data-commerce-hover-second="1"] [data-commerce-role="media"] > [data-commerce-role="image-secondary"]{opacity:0;}
[data-commerce-component="product-card"][data-commerce-hover-second="1"]:hover [data-commerce-role="media"] > [data-commerce-role="image"]{opacity:0;}
[data-commerce-component="product-card"][data-commerce-hover-second="1"]:hover [data-commerce-role="media"] > [data-commerce-role="image-secondary"]{opacity:1;}

/* 01163 — authored Header/Footer template menus remain visually intact until
   the Menu widget explicitly sets a level-1 value. The template keeps its own
   inline appearance; these declarations become valid only when the matching
   widget CSS variable exists on the canonical menu block. */
.st-block--menu[data-st-menu-runtime-flat="1"] [data-st-menu-item="1"][data-menu-depth="1"]{
  background:var(--st-menu-l1-bg) !important;
  color:var(--st-menu-l1-color) !important;
  font-size:var(--st-menu-l1-fs) !important;
  font-weight:var(--st-menu-l1-fw) !important;
  font-style:var(--st-menu-l1-fst) !important;
  text-shadow:var(--st-menu-l1-ts) !important;
  -webkit-text-stroke-width:var(--st-menu-l1-sw) !important;
  -webkit-text-stroke-color:var(--st-menu-l1-sc) !important;
  border-color:var(--st-menu-l1-bc) !important;
  border-style:var(--st-menu-l1-bs) !important;
  border-width:var(--st-menu-l1-bw) !important;
  border-radius:var(--st-menu-l1-br) !important;
  box-shadow:var(--st-menu-l1-shadow) !important;
}
.st-block--menu[data-st-menu-runtime-flat="1"] [data-st-menu-item="1"][data-menu-depth="1"]:hover{
  background:var(--st-menu-l1-h-bg, var(--st-menu-l1-bg)) !important;
  color:var(--st-menu-l1-h-color, var(--st-menu-l1-color)) !important;
  font-size:var(--st-menu-l1-h-fs, var(--st-menu-l1-fs)) !important;
  font-weight:var(--st-menu-l1-h-fw, var(--st-menu-l1-fw)) !important;
  font-style:var(--st-menu-l1-h-fst, var(--st-menu-l1-fst)) !important;
  text-shadow:var(--st-menu-l1-h-ts, var(--st-menu-l1-ts)) !important;
  -webkit-text-stroke-width:var(--st-menu-l1-h-sw, var(--st-menu-l1-sw)) !important;
  -webkit-text-stroke-color:var(--st-menu-l1-h-sc, var(--st-menu-l1-sc)) !important;
  border-color:var(--st-menu-l1-h-bc, var(--st-menu-l1-bc)) !important;
  border-style:var(--st-menu-l1-h-bs, var(--st-menu-l1-bs)) !important;
  border-width:var(--st-menu-l1-h-bw, var(--st-menu-l1-bw)) !important;
  border-radius:var(--st-menu-l1-h-br, var(--st-menu-l1-br)) !important;
  box-shadow:var(--st-menu-l1-h-shadow, var(--st-menu-l1-shadow)) !important;
}
