/* =========================================================
   Applies global-tokens.css variables to real theme selectors.

   Loaded AFTER style.css, so these declarations win the cascade
   without needing !important. Each rule only sets the properties
   that should be governed by a global token - everything else about
   these components (spacing, layout, etc.) stays exactly as defined
   in style.css.

   This is the "consumer" half of the dynamic global-styles system:
   inc/dynamic-css/global-tokens.css.php writes the variable VALUES,
   this file decides WHERE those variables get used. Add a selector
   here any time another component should follow a global token.
   ========================================================= */

/* Site-wide semantic colors. Component rules can still specialize their
   own states while these tokens provide the global defaults. */
body {
  color: var(--ostn-color-text);
  background-color: var(--ostn-color-background);
  font-family: var(--ostn-font-body-family);
  font-size: var(--ostn-font-body-size);
  font-weight: var(--ostn-font-body-weight);
  line-height: var(--ostn-font-body-line-height);
  font-style: var(--ostn-font-body-style);
  text-transform: var(--ostn-font-body-transform);
  letter-spacing: var(--ostn-font-body-letter-spacing);
  word-spacing: var(--ostn-font-body-word-spacing);
}

/* ---------------------------------------------------------
   Dynamic menu typography
   ---------------------------------------------------------
   Default Header has its own typography contract.
   Do not let the generic menu typography selector override it.
   --------------------------------------------------------- */

#cd_site_header_new:not(.cd-default-header) ul.menu li ul.sub-menu {
  background-color: var(--ostn-menu-background);
}

#cd_site_header_new:not(.cd-default-header)
.cd-site-header-navigation-menu ul.menu > li > a,
.cd-site-header-navigation-menu:not(.cd-default-header) ul li a {
  color: var(--ostn-menu-text);
  font-family: var(--ostn-menu-font-family);
  font-size: var(--ostn-menu-font-size);
  font-weight: var(--ostn-menu-font-weight);
  line-height: var(--ostn-menu-line-height);
  letter-spacing: var(--ostn-menu-letter-spacing);
  word-spacing: var(--ostn-menu-word-spacing);
  font-style: var(--ostn-menu-font-style);
  text-transform: var(--ostn-menu-text-transform);
}

.cd-ostn-theme-settings-footer {
  background-color: var(--ostn-footer-background);
  color: var(--ostn-footer-text);
  font-family: var(--ostn-footer-font-family);
  font-size: var(--ostn-footer-font-size);
  font-weight: var(--ostn-footer-font-weight);
  line-height: var(--ostn-footer-line-height);
  letter-spacing: var(--ostn-footer-letter-spacing);
  word-spacing: var(--ostn-footer-word-spacing);
  font-style: var(--ostn-footer-font-style);
  text-transform: var(--ostn-footer-text-transform);
  border-top-color: var(--ostn-footer-border-top-color);
  border-top-width: var(--ostn-footer-border-top-width);
}
.cd-ostn-theme-settings-footer ul.menu li ul.sub-menu {
  background-color: var(--ostn-footer-background);
}
.cd-site-footer .cd-footer-widget-wrapper,
.cd-site-footer .cd-footer-widget-wrapper p,
.cd-site-footer .cd-footer-widget-wrapper h1,
.cd-site-footer .cd-footer-widget-wrapper h2,
.cd-site-footer .cd-footer-widget-wrapper h3,
.cd-site-footer .cd-footer-widget-wrapper h4,
.cd-site-footer .cd-footer-widget-wrapper h5,
.cd-site-footer .cd-footer-widget-wrapper h6,
.cd-site-footer .cd-footer-widget-wrapper li,
.cd-site-footer .cd-footer-widget-wrapper span,
.cd-site-footer .cd-footer-widget-wrapper svg {
  color: var(--ostn-footer-text);
}

h1:not(:where(.ostnica-mega-menu-panel h1)) {
  font-family: var(--ostn-font-h1-family);
  color: var(--ostn-font-h1-color);
  font-size: var(--ostn-font-h1-size);
  font-weight: var(--ostn-font-h1-weight);
  line-height: var(--ostn-font-h1-line-height);
  letter-spacing: var(--ostn-font-h1-letter-spacing);
  word-spacing: var(--ostn-font-h1-word-spacing);
  font-style: var(--ostn-font-h1-style);
  text-transform: var(--ostn-font-h1-transform);
}
h2:not(:where(.ostnica-mega-menu-panel h2)) {
  font-family: var(--ostn-font-h2-family);
  color: var(--ostn-font-h2-color);
  font-size: var(--ostn-font-h2-size);
  font-weight: var(--ostn-font-h2-weight);
  line-height: var(--ostn-font-h2-line-height);
  letter-spacing: var(--ostn-font-h2-letter-spacing);
  word-spacing: var(--ostn-font-h2-word-spacing);
  font-style: var(--ostn-font-h2-style);
  text-transform: var(--ostn-font-h2-transform);
}
h3:not(:where(.ostnica-mega-menu-panel h3)) {
  font-family: var(--ostn-font-h3-family);
  color: var(--ostn-font-h3-color);
  font-size: var(--ostn-font-h3-size);
  font-weight: var(--ostn-font-h3-weight);
  line-height: var(--ostn-font-h3-line-height);
  letter-spacing: var(--ostn-font-h3-letter-spacing);
  word-spacing: var(--ostn-font-h3-word-spacing);
  font-style: var(--ostn-font-h3-style);
  text-transform: var(--ostn-font-h3-transform);
}
h4:not(:where(.ostnica-mega-menu-panel h4)) {
  font-family: var(--ostn-font-h4-family);
  color: var(--ostn-font-h4-color);
  font-size: var(--ostn-font-h4-size);
  font-weight: var(--ostn-font-h4-weight);
  line-height: var(--ostn-font-h4-line-height);
  letter-spacing: var(--ostn-font-h4-letter-spacing);
  word-spacing: var(--ostn-font-h4-word-spacing);
  font-style: var(--ostn-font-h4-style);
  text-transform: var(--ostn-font-h4-transform);
}
h5:not(:where(.ostnica-mega-menu-panel h5)) {
  font-family: var(--ostn-font-h5-family);
  color: var(--ostn-font-h5-color);
  font-size: var(--ostn-font-h5-size);
  font-weight: var(--ostn-font-h5-weight);
  line-height: var(--ostn-font-h5-line-height);
  letter-spacing: var(--ostn-font-h5-letter-spacing);
  word-spacing: var(--ostn-font-h5-word-spacing);
  font-style: var(--ostn-font-h5-style);
  text-transform: var(--ostn-font-h5-transform);
}
h6:not(:where(.ostnica-mega-menu-panel h6)) {
  font-family: var(--ostn-font-h6-family);
  color: var(--ostn-font-h6-color);
  font-size: var(--ostn-font-h6-size);
  font-weight: var(--ostn-font-h6-weight);
  line-height: var(--ostn-font-h6-line-height);
  letter-spacing: var(--ostn-font-h6-letter-spacing);
  word-spacing: var(--ostn-font-h6-word-spacing);
  font-style: var(--ostn-font-h6-style);
  text-transform: var(--ostn-font-h6-transform);
}

:root {
  --ostn-header-container: var(--ostn-container-width);
}

.cd-ostn-section-container {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--ostn-container-active-width);
  margin-inline: auto;
  background-color: var(--ostn-container-surface);
  padding: var(--ostn-container-padding);
}

a:not(.button):not([class*="btn"]):not(.wp-block-button__link):not(:where(.ostnica-mega-menu-panel a)) {
  color: var(--ostn-color-link);
  text-decoration: var(--ostn-link-decoration, none);
}

a:not(.button):not([class*="btn"]):not(.wp-block-button__link):not(:where(.ostnica-mega-menu-panel a)):hover {
  color: var(--ostn-color-accent);
}

.cd-ostn-grid-multicolumn-bloglist-card,
.cd-ostn-layout-classic-bloglist-card,
.cd-ostn-layout-fullwidth-bloglist-card,
.cd-ostn-masonry-bloglist-card,
.cd-ostn-masonry-bloglist-card-reverse {
  background-color: var(--ostn-color-content-background);
}

/* Sitewide content buttons use Global -> Buttons. Header CTA buttons keep
   their independent Header settings and are intentionally excluded. */
:where(body) :is(.ostn-button-primary, .wp-block-button__link, .wp-block-search__button, button[type="submit"], input[type="submit"], .button, .cd-ostn-grid-bloglist-card-readmore, .cd-ostn-masonry-bloglist-card-readmore, .cd-ostn-layout-fullwidth-bloglist-card-readmore, .cd-ostn-layout-classic-bloglist-card-readmore, .cd-post-readmore):not(#cd_site_header_new *):not(.cd-header-btn-1):not(.cd-header-btn-2) {
  box-sizing: border-box;
  color: var(--ostn-button-primary-text, #fff);
  background-color: var(--ostn-button-primary-background, var(--ostn-color-accent, #0d6efd));
  border-style: solid;
  border-color: var(--ostn-button-primary-border-color, var(--ostn-color-accent, #0d6efd));
  border-width: var(--ostn-button-primary-border-width-top, 1px) var(--ostn-button-primary-border-width-right, 1px) var(--ostn-button-primary-border-width-bottom, 1px) var(--ostn-button-primary-border-width-left, 1px);
  border-radius: var(--ostn-button-primary-border-radius-top, 7px) var(--ostn-button-primary-border-radius-right, 7px) var(--ostn-button-primary-border-radius-bottom, 7px) var(--ostn-button-primary-border-radius-left, 7px);
  padding: var(--ostn-button-primary-padding-top, 10px) var(--ostn-button-primary-padding-right, 20px) var(--ostn-button-primary-padding-bottom, 10px) var(--ostn-button-primary-padding-left, 20px);
  font-family: var(--ostn-button-primary-font-family, inherit);
  font-size: var(--ostn-button-primary-font-size, 16px);
  font-weight: var(--ostn-button-primary-font-weight, 500);
  text-decoration: none;
}

:where(body) :is(.ostn-button-secondary, .wp-block-button.is-style-outline .wp-block-button__link):not(#cd_site_header_new *):not(.cd-header-btn-1):not(.cd-header-btn-2) {
  box-sizing: border-box;
  color: var(--ostn-button-secondary-text, #1f2937);
  background-color: var(--ostn-button-secondary-background, #fff);
  border-style: solid;
  border-color: var(--ostn-button-secondary-border-color, var(--ostn-color-border, #d1d5db));
  border-width: var(--ostn-button-secondary-border-width-top, 1px) var(--ostn-button-secondary-border-width-right, 1px) var(--ostn-button-secondary-border-width-bottom, 1px) var(--ostn-button-secondary-border-width-left, 1px);
  border-radius: var(--ostn-button-secondary-border-radius-top, 7px) var(--ostn-button-secondary-border-radius-right, 7px) var(--ostn-button-secondary-border-radius-bottom, 7px) var(--ostn-button-secondary-border-radius-left, 7px);
  padding: var(--ostn-button-secondary-padding-top, 10px) var(--ostn-button-secondary-padding-right, 20px) var(--ostn-button-secondary-padding-bottom, 10px) var(--ostn-button-secondary-padding-left, 20px);
  font-family: var(--ostn-button-secondary-font-family, inherit);
  font-size: var(--ostn-button-secondary-font-size, 16px);
  font-weight: var(--ostn-button-secondary-font-weight, 500);
  text-decoration: none;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  :where(body) :is(.ostn-button-primary, .wp-block-button__link, .wp-block-search__button, button[type="submit"], input[type="submit"], .button, .cd-ostn-grid-bloglist-card-readmore, .cd-ostn-masonry-bloglist-card-readmore, .cd-ostn-layout-fullwidth-bloglist-card-readmore, .cd-ostn-layout-classic-bloglist-card-readmore, .cd-post-readmore):not(#cd_site_header_new *):not(.cd-header-btn-1):not(.cd-header-btn-2) {
    font-size: var(--ostn-button-primary-font-size-tablet, var(--ostn-button-primary-font-size, 16px));
    font-weight: var(--ostn-button-primary-font-weight-tablet, var(--ostn-button-primary-font-weight, 500));
    padding: var(--ostn-button-primary-padding-top-tablet, var(--ostn-button-primary-padding-top, 10px)) var(--ostn-button-primary-padding-right-tablet, var(--ostn-button-primary-padding-right, 20px)) var(--ostn-button-primary-padding-bottom-tablet, var(--ostn-button-primary-padding-bottom, 10px)) var(--ostn-button-primary-padding-left-tablet, var(--ostn-button-primary-padding-left, 20px));
  }
  :where(body) :is(.ostn-button-secondary, .wp-block-button.is-style-outline .wp-block-button__link):not(#cd_site_header_new *):not(.cd-header-btn-1):not(.cd-header-btn-2) {
    font-size: var(--ostn-button-secondary-font-size-tablet, var(--ostn-button-secondary-font-size, 16px));
    font-weight: var(--ostn-button-secondary-font-weight-tablet, var(--ostn-button-secondary-font-weight, 500));
  }
}

@media screen and (max-width: 767px) {
  :where(body) :is(.ostn-button-primary, .wp-block-button__link, .wp-block-search__button, button[type="submit"], input[type="submit"], .button, .cd-ostn-grid-bloglist-card-readmore, .cd-ostn-masonry-bloglist-card-readmore, .cd-ostn-layout-fullwidth-bloglist-card-readmore, .cd-ostn-layout-classic-bloglist-card-readmore, .cd-post-readmore):not(#cd_site_header_new *):not(.cd-header-btn-1):not(.cd-header-btn-2) {
    font-size: var(--ostn-button-primary-font-size-mobile, var(--ostn-button-primary-font-size, 16px));
    font-weight: var(--ostn-button-primary-font-weight-mobile, var(--ostn-button-primary-font-weight, 500));
    padding: var(--ostn-button-primary-padding-top-mobile, var(--ostn-button-primary-padding-top, 10px)) var(--ostn-button-primary-padding-right-mobile, var(--ostn-button-primary-padding-right, 20px)) var(--ostn-button-primary-padding-bottom-mobile, var(--ostn-button-primary-padding-bottom, 10px)) var(--ostn-button-primary-padding-left-mobile, var(--ostn-button-primary-padding-left, 20px));
  }
  :where(body) :is(.ostn-button-secondary, .wp-block-button.is-style-outline .wp-block-button__link):not(#cd_site_header_new *):not(.cd-header-btn-1):not(.cd-header-btn-2) {
    font-size: var(--ostn-button-secondary-font-size-mobile, var(--ostn-button-secondary-font-size, 16px));
    font-weight: var(--ostn-button-secondary-font-weight-mobile, var(--ostn-button-secondary-font-weight, 500));
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .cd-ostn-section-container {
    padding: var(--ostn-container-padding) 40px;
  }
  body {
    font-size: var(--ostn-font-body-size-tablet);
    font-weight: var(--ostn-font-body-weight-tablet);
    line-height: var(--ostn-font-body-line-height-tablet);
    letter-spacing: var(--ostn-font-body-letter-spacing-tablet);
    word-spacing: var(--ostn-font-body-word-spacing-tablet);
  }
  h1:not(:where(.ostnica-mega-menu-panel h1)) {
    font-size: var(--ostn-font-h1-size-tablet);
    font-weight: var(--ostn-font-h1-weight-tablet);
    line-height: var(--ostn-font-h1-line-height-tablet);
    letter-spacing: var(--ostn-font-h1-letter-spacing-tablet);
  }
  h2:not(:where(.ostnica-mega-menu-panel h2)) {
    font-size: var(--ostn-font-h2-size-tablet);
    font-weight: var(--ostn-font-h2-weight-tablet);
    line-height: var(--ostn-font-h2-line-height-tablet);
    letter-spacing: var(--ostn-font-h2-letter-spacing-tablet);
  }
  h3:not(:where(.ostnica-mega-menu-panel h3)) {
    font-size: var(--ostn-font-h3-size-tablet);
    font-weight: var(--ostn-font-h3-weight-tablet);
    line-height: var(--ostn-font-h3-line-height-tablet);
    letter-spacing: var(--ostn-font-h3-letter-spacing-tablet);
  }
  h4:not(:where(.ostnica-mega-menu-panel h4)) {
    font-size: var(--ostn-font-h4-size-tablet);
    font-weight: var(--ostn-font-h4-weight-tablet);
    line-height: var(--ostn-font-h4-line-height-tablet);
    letter-spacing: var(--ostn-font-h4-letter-spacing-tablet);
  }
  h5:not(:where(.ostnica-mega-menu-panel h5)) {
    font-size: var(--ostn-font-h5-size-tablet);
    font-weight: var(--ostn-font-h5-weight-tablet);
    line-height: var(--ostn-font-h5-line-height-tablet);
    letter-spacing: var(--ostn-font-h5-letter-spacing-tablet);
  }
  h6:not(:where(.ostnica-mega-menu-panel h6)) {
    font-size: var(--ostn-font-h6-size-tablet);
    font-weight: var(--ostn-font-h6-weight-tablet);
    line-height: var(--ostn-font-h6-line-height-tablet);
    letter-spacing: var(--ostn-font-h6-letter-spacing-tablet);
  }
}

@media screen and (max-width: 767px) {
  .cd-ostn-section-container {
    padding: var(--ostn-container-padding) 10px;
  }
  body {
    font-size: var(--ostn-font-body-size-mobile);
    font-weight: var(--ostn-font-body-weight-mobile);
    line-height: var(--ostn-font-body-line-height-mobile);
    letter-spacing: var(--ostn-font-body-letter-spacing-mobile);
    word-spacing: var(--ostn-font-body-word-spacing-mobile);
  }
  h1:not(:where(.ostnica-mega-menu-panel h1)) {
    font-size: var(--ostn-font-h1-size-mobile);
    font-weight: var(--ostn-font-h1-weight-mobile);
    line-height: var(--ostn-font-h1-line-height-mobile);
    letter-spacing: var(--ostn-font-h1-letter-spacing-mobile);
  }
  h2:not(:where(.ostnica-mega-menu-panel h2)) {
    font-size: var(--ostn-font-h2-size-mobile);
    font-weight: var(--ostn-font-h2-weight-mobile);
    line-height: var(--ostn-font-h2-line-height-mobile);
    letter-spacing: var(--ostn-font-h2-letter-spacing-mobile);
  }
  h3:not(:where(.ostnica-mega-menu-panel h3)) {
    font-size: var(--ostn-font-h3-size-mobile);
    font-weight: var(--ostn-font-h3-weight-mobile);
    line-height: var(--ostn-font-h3-line-height-mobile);
    letter-spacing: var(--ostn-font-h3-letter-spacing-mobile);
  }
  h4:not(:where(.ostnica-mega-menu-panel h4)) {
    font-size: var(--ostn-font-h4-size-mobile);
    font-weight: var(--ostn-font-h4-weight-mobile);
    line-height: var(--ostn-font-h4-line-height-mobile);
    letter-spacing: var(--ostn-font-h4-letter-spacing-mobile);
  }
  h5:not(:where(.ostnica-mega-menu-panel h5)) {
    font-size: var(--ostn-font-h5-size-mobile);
    font-weight: var(--ostn-font-h5-weight-mobile);
    line-height: var(--ostn-font-h5-line-height-mobile);
    letter-spacing: var(--ostn-font-h5-letter-spacing-mobile);
  }
  h6:not(:where(.ostnica-mega-menu-panel h6)) {
    font-size: var(--ostn-font-h6-size-mobile);
    font-weight: var(--ostn-font-h6-weight-mobile);
    line-height: var(--ostn-font-h6-line-height-mobile);
    letter-spacing: var(--ostn-font-h6-letter-spacing-mobile);
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  #cd_site_header_new .cd-site-header-navigation-menu ul.menu > li > a,
  .cd-site-header-navigation-menu ul li a {
    font-size: var(--ostn-menu-font-size-tablet);
    font-weight: var(--ostn-menu-font-weight-tablet);
    line-height: var(--ostn-menu-line-height-tablet);
    letter-spacing: var(--ostn-menu-letter-spacing-tablet, var(--ostn-menu-letter-spacing));
    word-spacing: var(--ostn-menu-word-spacing-tablet, var(--ostn-menu-word-spacing));
    font-style: var(--ostn-menu-font-style-tablet);
    text-transform: var(--ostn-menu-text-transform-tablet);
  }
  .cd-ostn-theme-settings-footer {
    font-size: var(--ostn-footer-font-size-tablet);
    font-weight: var(--ostn-footer-font-weight-tablet);
    line-height: var(--ostn-footer-line-height-tablet);
    letter-spacing: var(--ostn-footer-letter-spacing-tablet, var(--ostn-footer-letter-spacing));
    word-spacing: var(--ostn-footer-word-spacing-tablet, var(--ostn-footer-word-spacing));
    font-style: var(--ostn-footer-font-style-tablet);
    text-transform: var(--ostn-footer-text-transform-tablet);
    border-top-width: var(--ostn-footer-border-top-width-tablet, var(--ostn-footer-border-top-width));
  }
}

@media screen and (max-width: 767px) {
  #cd_site_header_new .cd-site-header-navigation-menu ul.menu > li > a,
  .cd-site-header-navigation-menu ul li a {
    font-size: var(--ostn-menu-font-size-mobile);
    font-weight: var(--ostn-menu-font-weight-mobile);
    line-height: var(--ostn-menu-line-height-mobile);
    letter-spacing: var(--ostn-menu-letter-spacing-mobile, var(--ostn-menu-letter-spacing));
    word-spacing: var(--ostn-menu-word-spacing-mobile, var(--ostn-menu-word-spacing));
    font-style: var(--ostn-menu-font-style-mobile);
    text-transform: var(--ostn-menu-text-transform-mobile);
  }
  .cd-ostn-theme-settings-footer {
    font-size: var(--ostn-footer-font-size-mobile);
    font-weight: var(--ostn-footer-font-weight-mobile);
    line-height: var(--ostn-footer-line-height-mobile);
    letter-spacing: var(--ostn-footer-letter-spacing-mobile, var(--ostn-footer-letter-spacing));
    word-spacing: var(--ostn-footer-word-spacing-mobile, var(--ostn-footer-word-spacing));
    font-style: var(--ostn-footer-font-style-mobile);
    text-transform: var(--ostn-footer-text-transform-mobile);
    border-top-width: var(--ostn-footer-border-top-width-mobile, var(--ostn-footer-border-top-width));
  }
}

/* -----------------------------------------------------
   HEADER
   ----------------------------------------------------- */

header#cd_site_header_new {
  background-color: var(--ostn-header-background);
  border-color: var(--ostn-header-border);
}

header#cd_site_header_new,
header#cd_site_header_new a:not(:where(.ostnica-mega-menu-panel *)),
header#cd_site_header_new ul.menu > li > a:not(:where(.ostnica-mega-menu-panel *)) {
  color: var(--ostn-header-text);
}

header#cd_site_header_new ul.menu > li > a:not(:where(.ostnica-mega-menu-panel *)):hover {
  color: var(--ostn-header-text-hover);
}

/* Every header layout consumes the same global menu typography and palette. */
#cd_site_header_new:not(.cd-single-menu-header),
#cd_site_header_new:not(.cd-single-menu-header) .cd-site-header-navigation-menu,
#cd_site_header_new:not(.cd-single-menu-header) .cd_menu_text_style,
.cd-hamburger-menu-left-wrapper,
.cd-hamburger-menu-right-wrapper,
.cd-hamburger-menu-full-width-wrapper {
  box-sizing: border-box;
}

#cd_site_header_new:not(.cd-single-menu-header) img.custom-logo,
#cd_site_header_new:not(.cd-single-menu-header) .cd_custom_logo_size {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

#cd_site_header_new:not(.cd-single-menu-header) .cd-site-header-navigation-menu,
#cd_site_header_new:not(.cd-single-menu-header) .cd-site-header-navigation-menu a:not(:where(.ostnica-mega-menu-panel *)),
#cd_site_header_new:not(.cd-single-menu-header) ul.menu a:not(:where(.ostnica-mega-menu-panel *)),
#cd_site_header_new:not(.cd-single-menu-header) .cd_menu_text_style a:not(:where(.ostnica-mega-menu-panel *)),
#cd_site_header_new:not(.cd-single-menu-header) .cd-meun-left a:not(:where(.ostnica-mega-menu-panel *)),
#cd_site_header_new:not(.cd-single-menu-header) .cd_mega_menu_left_content a:not(:where(.ostnica-mega-menu-panel *)),
#cd_site_header_new:not(.cd-single-menu-header) .cd_mega_menu_right_content a:not(:where(.ostnica-mega-menu-panel *)),
.cd-hamburger-menu-left-wrapper .cd-site-header-navigation-menu a:not(:where(.ostnica-mega-menu-panel *)),
.cd-hamburger-menu-right-wrapper .cd-site-header-navigation-menu a:not(:where(.ostnica-mega-menu-panel *)),
.cd-hamburger-menu-full-width-wrapper .cd-site-header-navigation-menu a:not(:where(.ostnica-mega-menu-panel *)) {
  font-family: var(--ostn-menu-font-family, inherit);
  color: var(--ostn-menu-text, var(--ostn-header-text));
}

#cd_site_header_new:not(.cd-single-menu-header) .cd-site-header-navigation-menu a:not(:where(.ostnica-mega-menu-panel *)):hover,
.cd-hamburger-menu-left-wrapper .cd-site-header-navigation-menu a:not(:where(.ostnica-mega-menu-panel *)):hover,
.cd-hamburger-menu-right-wrapper .cd-site-header-navigation-menu a:not(:where(.ostnica-mega-menu-panel *)):hover,
.cd-hamburger-menu-full-width-wrapper .cd-site-header-navigation-menu a:not(:where(.ostnica-mega-menu-panel *)):hover {
  color: var(--ostn-header-text-hover);
}

/* -----------------------------------------------------
   MEGA MENU / DROPDOWN SUBMENUS
   ----------------------------------------------------- */

ul.menu li ul.sub-menu {
  background-color: var(--ostn-mega-background);
  border-color: var(--ostn-mega-border);
  box-shadow: var(--ostn-shadow-mega);
}

ul.menu li ul.sub-menu li a:not(:where(.ostnica-mega-menu-panel *)) {
  color: var(--ostn-mega-text);
}

ul.menu li ul.sub-menu li a:not(:where(.ostnica-mega-menu-panel *)):hover,
.cd_simple_menu .sub-menu li:hover > a:not(:where(.ostnica-mega-menu-panel *)) {
  color: var(--ostn-mega-text-hover);
  background-color: var(--ostn-mega-hover-background);
}

/* -----------------------------------------------------
   MOBILE MENU (hamburger panel)
   ----------------------------------------------------- */

.cd-hamburger-menu-left,
.cd-hamburger-menu-right,
.cd-hamburger-menu-full-width {
  background-color: var(--ostn-mobile-background);
  box-shadow: var(--ostn-shadow-mobile);
}

.cd-hamburger-menu-left ul.menu li a,
.cd-hamburger-menu-right ul.menu li a,
.cd-hamburger-menu-full-width ul.menu li a {
  color: var(--ostn-mobile-text);
}

.cd-hamburger-menu-left ul.menu li a:hover,
.cd-hamburger-menu-right ul.menu li a:hover,
.cd-hamburger-menu-full-width ul.menu li a:hover {
  color: var(--ostn-mobile-text-hover);
}
