/* Hyde Clone Engine front-end styles v2.0.0 */

/* neutralize the old CSS-only MORE hack once JS MORE is active */
ul.wsite-menu-default.hyde-js-more > li:nth-child(6) > a { font-size: inherit !important; }
ul.wsite-menu-default.hyde-js-more > li:nth-child(6) > a::after { content: none !important; }
ul.wsite-menu-default.hyde-js-more > li:nth-child(n+7) { position: static !important; opacity: 1 !important; visibility: visible !important; }

/* JS-driven mobile nav open state (mirrors the old :focus-within rules) */
@media (max-width: 768px) {
  .container.hyde-nav-open .nav.desktop-nav {
    display: block !important;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #55655a;
    z-index: 9999;
  }
  .container.hyde-nav-open .nav.desktop-nav ul.wsite-menu-default > li {
    display: block;
    width: 100%;
    float: none;
  }
}

/* the MORE dropdown reuses the standard submenu styling already in Additional CSS */

/* hyde-more panel: keep dropdown inside the viewport, aligned to the right edge */
@media (min-width: 769px) {
  li.hyde-more { position: relative; }
  li.hyde-more > .wsite-menu-wrap { left: auto !important; right: 0 !important; min-width: 200px; }
  li.hyde-more > .wsite-menu-wrap .wsite-menu-subitem { text-align: left; white-space: nowrap; }
}

/* mobile submenu accordion */
.hyde-sub-toggle { display: none; }
@media (max-width: 768px) {
  .nav.desktop-nav li.wsite-menu-item-wrap { position: relative; }
  .hyde-sub-toggle {
    display: block; position: absolute; top: 0; right: 0;
    width: 44px; height: 44px; cursor: pointer; z-index: 5;
  }
  .hyde-sub-toggle::after {
    content: "BE"; color: #fff; font-size: 18px;
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  }
  li.hyde-sub-open > .hyde-sub-toggle::after { content: "B4"; }
  .nav.desktop-nav li.wsite-menu-item-wrap > .wsite-menu-wrap { display: none; }
  li.hyde-sub-open > .wsite-menu-wrap {
    display: block !important; position: static !important;
    max-height: none !important; opacity: 1 !important; visibility: visible !important;
    background: #4a584f !important; border: 0 !important; box-shadow: none !important;
  }
  li.hyde-sub-open > .wsite-menu-wrap .wsite-menu-subitem { color: #fff !important; }
}

/* ===== HYDE NATIVE BRIDGE v3: kit-var overrides + non-important fallbacks ===== */
body[class*="elementor-kit-"] {
  --e-global-color-primary: #000000;
  --e-global-color-secondary: #000000;
  --e-global-color-text: #000000;
  --e-global-color-accent: #000000;
  --e-global-typography-primary-font-family: 'Montserrat';
  --e-global-typography-primary-font-weight: 700;
  --e-global-typography-secondary-font-family: 'Montserrat';
  --e-global-typography-text-font-family: 'Birdseye';
  --e-global-typography-accent-font-family: 'Montserrat';
}

/* --- text editor == div.paragraph --- */
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor div,
.elementor-widget-text-editor li,
.elementor-widget-text-editor span {
  font-family: 'Birdseye', sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.75;
  color: #000000;
}
.elementor-widget-text-editor p { margin: 0 auto 30px; }
.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol { margin: 0 auto 30px; padding-left: 2.5em; }
.elementor-widget-text-editor a { color: inherit; }
.elementor-widget-text-editor font[color] { color: revert-layer; }
.elementor-widget-text-editor font[color] * { color: inherit; }

/* --- headings: Weebly content h2 fallback --- */
.elementor-widget-heading .elementor-heading-title {
  font-family: 'Montserrat', sans-serif;
  color: #000000;
  font-weight: 700;
  line-height: 1.25;
}
h2.elementor-heading-title { font-size: 24px; margin: 0 auto 30px; }
h1.elementor-heading-title { font-size: 32px; margin: 0 auto 30px; }
h3.elementor-heading-title, h4.elementor-heading-title { font-size: 20px; margin: 0 auto 20px; }
.elementor-widget-heading .elementor-heading-title a { color: inherit; text-decoration: none; }

/* --- banner (hero) fallbacks --- */
.elementor-widget-heading.banner-heading .elementor-heading-title {
  font-family: 'Birdseye', sans-serif;
  color: #ffffff;
  font-weight: 100;
  line-height: 1.15;
  margin: 15px auto;
}
.elementor-widget-heading.banner-heading h2.elementor-heading-title { font-size: 40px; }
.elementor-widget-heading.playfair-display .elementor-heading-title { font-family: 'Playfair Display', serif; }
.elementor-widget-heading.montserrat .elementor-heading-title { font-family: 'Montserrat', sans-serif; }
.elementor-widget-heading.default-font .elementor-heading-title { font-family: 'Birdseye', sans-serif; }
.elementor-widget-text-editor.banner-paragraph,
.elementor-widget-text-editor.banner-paragraph p,
.elementor-widget-text-editor.banner-paragraph div {
  color: #ffffff; font-size: 18px; text-align: center;
}

/* --- blockquote --- */
.elementor-widget-text-editor blockquote {
  position: relative; padding: 1.5em 2.5em; background: rgba(0,0,0,0.05);
  line-height: 1.75; text-align: left; margin: 0 auto 30px;
}
.elementor-widget-text-editor blockquote:before {
  position: absolute; content: 'C'; top: 0.75em; left: 0.5em;
  font-size: 2em; line-height: 1; font-weight: bold;
}

/* --- buttons / images / footer / dividers --- */
.elementor-widget-button .elementor-button:hover { background-color: rgba(0,0,0,0.05); }
.elementor-widget-image.wsite-image { padding: 10px 0; }
.wsite-footer-native .elementor-widget-heading .elementor-heading-title { margin: 0 auto 20px; }
.wsite-footer-native .elementor-widget-text-editor p { margin: 0 auto 20px; }
.styled-hr-native .elementor-divider { padding: 15px 0; }

/* ===== native header nav: single row + MORE... dropdown + mobile hamburger ===== */
ul.elementor-icon-list-items[data-hyde-nav] { flex-wrap: nowrap !important; justify-content: center; }
.hyde-native-more { position: relative; }
.hyde-native-more > a { cursor: default; }
.hyde-native-more-list {
  display: none; position: absolute; top: 100%; right: 0; z-index: 9999;
  background: #ffffff; border-top: 2px solid #55655a; box-shadow: 0 6px 18px rgba(0,0,0,.15);
  min-width: 220px; padding: 8px 0; margin: 0; list-style: none;
}
.hyde-native-more:hover .hyde-native-more-list { display: block; }
.hyde-native-more-list .elementor-icon-list-item { display: block !important; margin: 0 !important; }
.hyde-native-more-list .elementor-icon-list-item a {
  display: block; padding: 9px 18px;
}
.hyde-native-more-list .elementor-icon-list-item .elementor-icon-list-text { color: #3f4e5e !important; }
.hyde-native-more-list .elementor-icon-list-item a:hover { background: rgba(0,0,0,.05); }
.hyde-native-burger { display: none; }
@media (max-width: 768px) {
  .hyde-native-burger {
    display: inline-block; padding: 10px; margin: 2px auto; cursor: pointer;
  }
  .hyde-native-burger span {
    display: block; width: 24px; height: 2px; background: #ffffff; margin: 5px 0;
  }
  ul.elementor-icon-list-items[data-hyde-nav] { display: none !important; }
  .hyde-native-nav-open ul.elementor-icon-list-items[data-hyde-nav] {
    display: block !important; width: 100%;
  }
  .hyde-native-nav-open ul.elementor-icon-list-items[data-hyde-nav] > li {
    display: block !important; text-align: center; padding: 8px 0; margin: 0 !important;
  }
  .hyde-native-more-list { position: static; display: block; background: transparent;
    border: 0; box-shadow: none; }
  .hyde-native-more > a { display: none; }
  .hyde-native-more-list .elementor-icon-list-item .elementor-icon-list-text { color: #ffffff !important; }
  .hyde-native-more-list .elementor-icon-list-item a { text-align: center; }
}
