/*
 * Scentinor Child-Theme Brand System
 * Frontend brand overrides for Agrezen and active Elementor widgets.
 */

/* 1. Design tokens and Agrezen compatibility aliases. */
:root {
  --scentinor-midnight: #0A1F24;
  --scentinor-deep: #112D33;
  --scentinor-rich: #173E46;
  --scentinor-bronze-dark: #8C6239;
  --scentinor-bronze: #A87846;
  --scentinor-bronze-metallic: #BC8B58;
  --scentinor-bronze-light: #D4AE74;
  --scentinor-ivory: #F5F1EA;
  --scentinor-beige: #E9DDCF;
  --scentinor-stone: #B8B1A9;
  --scentinor-charcoal: #2C2C2C;

  --scentinor-bg-dark: var(--scentinor-midnight);
  --scentinor-bg-light: var(--scentinor-ivory);
  --scentinor-text: var(--scentinor-charcoal);
  --scentinor-text-inverse: var(--scentinor-ivory);
  --scentinor-border: var(--scentinor-stone);
  --scentinor-border-accent: color-mix(in srgb, var(--scentinor-bronze-metallic) 38%, transparent);
  --scentinor-accent: var(--scentinor-bronze);
  --scentinor-accent-hover: var(--scentinor-deep);

  /* Override the five protected parent custom-property occurrences. */
  --cus-sec-bg: var(--scentinor-deep);
  --cus-border-color: var(--scentinor-rich);
  --cus-drk-bg-color: var(--scentinor-bronze-metallic);
  --cus-dark-bg: var(--scentinor-bronze-metallic);
  --cus-drk-txt-color: var(--scentinor-bronze-metallic);
  --cus-default-text-color: var(--scentinor-charcoal);
}

/* 2. Accessible links and focus states. */
.entry-content a:not(.elementor-button):not(.cea-button):not(.read-more),
.post-content a:not(.elementor-button):not(.cea-button):not(.read-more) {
  color: var(--scentinor-deep);
  text-decoration-color: var(--scentinor-bronze-metallic);
}

.entry-content a:not(.elementor-button):not(.cea-button):not(.read-more):hover,
.post-content a:not(.elementor-button):not(.cea-button):not(.read-more):hover {
  color: var(--scentinor-bronze-dark);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
  outline: 3px solid var(--scentinor-bronze-light);
  outline-offset: 3px;
}

/* 3. Primary, dark, outline, and WordPress button systems. */
.elementor .elementor-button:not(.read-more):not(.dark-bg-button),
.elementor .cea-button-link:not(.dark-bg-button),
.wp-block-button .wp-block-button__link,
.wp-block-file__button.wp-element-button,
button[type="submit"]:not(.disabled),
input[type="submit"]:not(:disabled),
input[type="button"]:not(:disabled) {
  color: var(--scentinor-midnight);
  background-color: var(--scentinor-bronze-metallic);
  border-color: var(--scentinor-bronze);
}

.elementor .elementor-button:not(.read-more):not(.dark-bg-button):not(.disabled):hover,
.elementor .cea-button-link:not(.dark-bg-button):not(.disabled):hover,
.wp-block-button .wp-block-button__link:not(.disabled):hover,
.wp-block-file__button.wp-element-button:not(.disabled):hover,
button[type="submit"]:not(:disabled):not(.disabled):hover,
input[type="submit"]:not(:disabled):hover,
input[type="button"]:not(:disabled):hover {
  color: var(--scentinor-ivory);
  background-color: var(--scentinor-deep);
  border-color: var(--scentinor-deep);
}

.dark-bg-button,
.elementor .dark-bg-button {
  color: var(--scentinor-ivory);
  background-color: var(--scentinor-deep);
  border-color: var(--scentinor-deep);
}

.dark-bg-button:not(.disabled):hover,
.elementor .dark-bg-button:not(.disabled):hover {
  color: var(--scentinor-midnight);
  background-color: var(--scentinor-bronze-light);
  border-color: var(--scentinor-bronze-light);
}

.elementor a.read-more.elementor-button,
.btn-outline-primary,
.wp-block-button.is-style-outline .wp-block-button__link {
  color: var(--scentinor-deep);
  background-color: transparent;
  border-color: var(--scentinor-bronze);
}

.elementor a.read-more.elementor-button:hover,
.btn-outline-primary:not(.disabled):hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  color: var(--scentinor-ivory);
  background-color: var(--scentinor-deep);
  border-color: var(--scentinor-deep);
}

button:disabled,
input:disabled,
.elementor-button.disabled,
.elementor-button[aria-disabled="true"] {
  cursor: not-allowed;
}

/* 4. Exact protected parent-runtime occurrence overrides. */
.wp-block-quote::before,
.wp-block-pullquote blockquote.has-light-gray-color::before,
.wp-block-pullquote blockquote::before,
.editor-block-list__layout .editor-block-list__block .has-cyan-bluish-gray-background-color.has-cyan-bluish-gray-background-color:not(.has-background-color) blockquote::before,
.wp-block-freeform.block-library-rich-text__tinymce blockquote::before {
  color: var(--scentinor-bronze);
}

.post-share-wrap ul.social-share > li > a {
  border-color: var(--scentinor-rich);
}

body.single .content-widgets-wrapper .widget_search,
body.single .content-widgets-wrapper .content-widgets > .widget,
.content-widgets-wrapper .widget_block,
.content-widgets-wrapper .content-widgets > .widget,
.cus-widget-area-right .widget-content {
  color: var(--scentinor-ivory);
  background-color: var(--scentinor-bronze-metallic);
}

.wp-block-search__button,
.bottom-search-wrap .search-form input.search-submit,
.error404-content .search-form .search-submit,
.widget-area-right .blog-sidebar-call-back .widget.zozo_social_widget ul > li > a {
  color: var(--scentinor-midnight) !important;
  background-color: var(--scentinor-bronze-metallic) !important;
  border-color: var(--scentinor-bronze) !important;
}

.wp-block-search__button:hover,
.bottom-search-wrap .search-form input.search-submit:hover,
.error404-content .search-form .search-submit:hover,
.widget-area-right .blog-sidebar-call-back .widget.zozo_social_widget ul > li > a:hover {
  color: var(--scentinor-ivory) !important;
  background-color: var(--scentinor-deep) !important;
  border-color: var(--scentinor-deep) !important;
}

.single.single-cea-team .team-other-details .media-body span.team-experience {
  color: var(--scentinor-bronze-metallic);
}

.elementor-element.cus-box-1::before,
.elementor-element.cus-box-1-right ::before {
  border-bottom-color: var(--scentinor-rich);
}

.cus-box-6 .feature-box-modern .feature-box-inner .fbox-number::after {
  background-color: var(--scentinor-bronze-metallic);
}

.feature-box-wrapper.feature-box-modern .media {
  border-bottom-color: var(--scentinor-bronze-metallic);
}

/* 5. Header, transparent navigation, dropdown, sticky, and mobile states. */
#site-header.header-absolute .header-navbar {
  background-color: transparent;
}

#site-header .primary-menu > li > a,
#site-header .full-bar-search-toggle {
  color: var(--scentinor-ivory);
}

#site-header .primary-menu > li.current-menu-item > a,
#site-header .primary-menu > li.current-menu-ancestor > a,
#site-header .primary-menu > li > a:hover,
#site-header .primary-menu > li > a:focus-visible,
#site-header .full-bar-search-toggle:hover,
#site-header .full-bar-search-toggle:focus-visible {
  color: var(--scentinor-bronze-light);
}

#site-header ul.nav.wp-menu li > ul.sub-menu {
  color: var(--scentinor-charcoal);
  background-color: var(--scentinor-ivory);
  border-color: var(--scentinor-border-accent);
}

#site-header ul.nav.wp-menu li > ul.sub-menu li > a {
  color: var(--scentinor-midnight);
  background-color: transparent;
}

#site-header ul.nav.wp-menu li > ul.sub-menu li.current-menu-item > a,
#site-header ul.nav.wp-menu li > ul.sub-menu li > a:hover,
#site-header ul.nav.wp-menu li > ul.sub-menu li > a:focus-visible {
  color: var(--scentinor-midnight);
  background-color: var(--scentinor-bronze-light);
}

#site-header .sticky-head.header-sticky .header-navbar {
  color: var(--scentinor-ivory);
  background-color: var(--scentinor-midnight);
  border-bottom-color: var(--scentinor-border-accent);
}

.sticky-head.header-sticky .primary-menu > li > a,
.sticky-head.header-sticky .full-bar-search-toggle {
  color: var(--scentinor-ivory);
}

.sticky-head.header-sticky .primary-menu > li.current-menu-item > a,
.sticky-head.header-sticky .primary-menu > li.current-menu-ancestor > a,
.sticky-head.header-sticky .primary-menu > li > a:hover,
.sticky-head.header-sticky .full-bar-search-toggle:hover {
  color: var(--scentinor-bronze-light);
}

.header-mobilebar {
  color: var(--scentinor-charcoal);
  background-color: var(--scentinor-ivory);
  border-bottom-color: var(--scentinor-border-accent);
}

.mobile-menu-floating .mobile-menu-toggle {
  color: var(--scentinor-deep);
}

body:not(.wp-admin) .header-mobilebar.navbar .mobile-menu-toggle {
  color: var(--scentinor-deep) !important;
}

.mobile-menu-floating {
  color: var(--scentinor-charcoal);
  background-color: var(--scentinor-ivory);
}

.mobile-menu-floating ul.mobile-menu li > a {
  color: var(--scentinor-deep);
  border-bottom-color: var(--scentinor-border);
}

.mobile-menu-floating ul.mobile-menu li.current-menu-item > a,
.mobile-menu-floating ul.mobile-menu li.current-menu-ancestor > a,
.mobile-menu-floating ul.mobile-menu li > a:hover,
.mobile-menu-floating ul.mobile-menu li > a:focus-visible {
  color: var(--scentinor-bronze-dark);
}

/* 6. Live leaf asset override for section labels. */
body .elementor-element .section-title-wrapper .title-wrap > * .subtitle-dots::before {
  background-image: url("../images/leaf.svg");
}

/* 7. Active Elementor and Classic Elementor Addons widgets. */
.elementor-widget-ceaiconlist .cea-icon-list-icon,
.elementor-widget-ceafeaturebox .cea-feature-box-icon,
.elementor-widget-ceafeaturebox .feature-box-icon {
  color: var(--scentinor-bronze-metallic);
}

.elementor-widget-ceacounter .counter-up,
.elementor-widget-ceacounter .counter-suffix,
.elementor-widget-ceacounter .counter-title {
  color: var(--scentinor-deep);
}

.elementor-widget-ceaposts .post-meta a,
.elementor-widget-ceaposts .post-title a,
.elementor-widget-ceaservice .service-title a {
  color: var(--scentinor-deep);
}

.elementor-widget-ceaposts .post-meta a:hover,
.elementor-widget-ceaposts .post-title a:hover,
.elementor-widget-ceaservice .service-title a:hover {
  color: var(--scentinor-bronze-dark);
}

.elementor-widget-ceatestimonial .owl-dot span,
.elementor-widget-ceaposts .owl-dot span,
.elementor-widget-ceaservice .owl-dot span,
.owl-carousel .owl-dot span {
  border-color: var(--scentinor-bronze-metallic);
}

.elementor-widget-ceatestimonial .owl-dot.active span,
.elementor-widget-ceaposts .owl-dot.active span,
.elementor-widget-ceaservice .owl-dot.active span,
.owl-carousel .owl-dot.active span {
  background-color: var(--scentinor-bronze-metallic);
  border-color: var(--scentinor-bronze);
}

.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next,
button.owl-prev.custom-prev-button,
button.owl-next.custom-next-button {
  color: var(--scentinor-midnight);
  background-color: var(--scentinor-bronze-metallic);
  border-color: var(--scentinor-bronze);
}

.owl-carousel .owl-nav button.owl-prev:hover,
.owl-carousel .owl-nav button.owl-next:hover,
button.owl-prev.custom-prev-button:hover,
button.owl-next.custom-next-button:hover {
  color: var(--scentinor-ivory);
  background-color: var(--scentinor-deep);
  border-color: var(--scentinor-deep);
}

.post-category,
.post-category a,
.cea-badge,
.elementor-widget-ceaposts .post-overlay-items a {
  color: var(--scentinor-midnight);
  background-color: var(--scentinor-bronze-light);
}

.page-numbers,
.pagination .page-numbers {
  color: var(--scentinor-deep);
  border-color: var(--scentinor-border);
}

.page-numbers.current,
.page-numbers:hover,
.pagination .page-numbers.current,
.pagination .page-numbers:hover {
  color: var(--scentinor-ivory);
  background-color: var(--scentinor-deep);
  border-color: var(--scentinor-deep);
}

/* 8. Footer surfaces, links, icons, and newsletter form. */
.site-footer .footer-widgets-wrap {
  color: var(--scentinor-ivory);
  background-color: var(--scentinor-midnight);
}

.site-footer .footer-bottom-wrap {
  color: var(--scentinor-ivory);
  background-color: var(--scentinor-deep);
  border-top-color: var(--scentinor-border-accent);
}

.site-footer .widgettitle,
.site-footer .wp-block-heading,
.site-footer .footer-title {
  color: var(--scentinor-bronze-light);
}

.site-footer a,
.site-footer .footer-copyright,
.site-footer .footer-copyright a {
  color: var(--scentinor-ivory);
}

.site-footer a:hover,
.site-footer a:focus-visible,
.site-footer .footer-copyright a:hover {
  color: var(--scentinor-bronze-light);
}

.site-footer .social-icons a {
  color: var(--scentinor-ivory);
  border-color: var(--scentinor-bronze-metallic);
}

.site-footer .social-icons a:hover {
  color: var(--scentinor-midnight);
  background-color: var(--scentinor-bronze-light);
  border-color: var(--scentinor-bronze-light);
}

.site-footer .zozo-mc-email,
.site-footer input[type="email"] {
  color: var(--scentinor-ivory);
  background-color: transparent;
  border-color: var(--scentinor-stone);
}

.site-footer .zozo-mc-email::placeholder,
.site-footer input[type="email"]::placeholder {
  color: var(--scentinor-beige);
}

.site-footer .zozo-mc-email:focus,
.site-footer input[type="email"]:focus {
  border-color: var(--scentinor-bronze-light);
}

.site-footer button.input-group-addon.zozo-mc.btn.btn-default {
  color: var(--scentinor-midnight);
  background-color: var(--scentinor-bronze-metallic);
  border-color: var(--scentinor-bronze);
}

.site-footer button.input-group-addon.zozo-mc.btn.btn-default:hover {
  color: var(--scentinor-ivory);
  background-color: var(--scentinor-deep);
  border-color: var(--scentinor-bronze-light);
}

/* 9. Form controls and semantic states. */
body:not(.wp-admin) input[type="text"],
body:not(.wp-admin) input[type="email"],
body:not(.wp-admin) input[type="search"],
body:not(.wp-admin) input[type="tel"],
body:not(.wp-admin) input[type="url"],
body:not(.wp-admin) input[type="password"],
body:not(.wp-admin) input[type="number"],
body:not(.wp-admin) textarea,
body:not(.wp-admin) select {
  color: var(--scentinor-charcoal);
  background-color: var(--scentinor-ivory);
  border-color: var(--scentinor-stone);
}

body:not(.wp-admin) input::placeholder,
body:not(.wp-admin) textarea::placeholder {
  color: var(--scentinor-charcoal);
  opacity: 0.72;
}

body:not(.wp-admin) input:focus,
body:not(.wp-admin) textarea:focus,
body:not(.wp-admin) select:focus {
  border-color: var(--scentinor-bronze);
}

body:not(.wp-admin) input[type="checkbox"],
body:not(.wp-admin) input[type="radio"] {
  accent-color: var(--scentinor-bronze);
}

.has-error input,
.has-error textarea,
.wpcf7-not-valid,
[aria-invalid="true"] {
  border-color: var(--scentinor-bronze-dark);
}

.has-success input,
.has-success textarea,
[aria-invalid="false"] {
  border-color: var(--scentinor-rich);
}

/* Preserve neutral-on-dark newsletter fields after the generic form rules. */
body:not(.wp-admin) .site-footer .zozo-mc-email,
body:not(.wp-admin) .site-footer input[type="email"] {
  color: var(--scentinor-ivory);
  background-color: transparent;
  border-color: var(--scentinor-stone);
}

#site-footer.site-footer .footer-widgets-wrap .widgettitle {
  color: var(--scentinor-bronze-light);
}

#site-footer.site-footer .footer-widgets-wrap .zozo-mc-subtitle {
  color: var(--scentinor-ivory);
}

body:not(.wp-admin) #site-footer.site-footer #zozo-mc-email.zozo-mc-email {
  color: var(--scentinor-ivory);
  background-color: transparent;
  border-color: var(--scentinor-stone);
}

body:not(.wp-admin) #site-footer.site-footer #zozo-mc-email.zozo-mc-email::placeholder {
  color: var(--scentinor-beige);
}

body:not(.wp-admin) #site-footer.site-footer #zozo-mc-email.zozo-mc-email:focus {
  border-color: var(--scentinor-bronze-light);
}

/* 10. Touch-safe hover fallbacks; no layout or typography changes. */
@media (hover: none) {
  #site-header .primary-menu > li > a:hover {
    color: var(--scentinor-ivory);
  }

  .site-footer a:hover {
    color: var(--scentinor-ivory);
  }

  .elementor a.read-more.elementor-button:hover {
    color: var(--scentinor-deep);
    background-color: transparent;
    border-color: var(--scentinor-bronze);
  }
}

/* 11. Approved Scentinor typography without size or spacing changes. */
body:not(.wp-admin),
body:not(.wp-admin) p,
body:not(.wp-admin) li,
body:not(.wp-admin) td,
body:not(.wp-admin) th,
body:not(.wp-admin) .elementor-widget-text-editor,
body:not(.wp-admin) .elementor-widget-icon-list {
  font-family: "Nunito Sans", sans-serif !important;
  font-weight: 400;
}

body:not(.wp-admin) h1,
body:not(.wp-admin) h2,
body:not(.wp-admin) h3,
body:not(.wp-admin) h4,
body:not(.wp-admin) h5,
body:not(.wp-admin) h6,
body:not(.wp-admin) .elementor-heading-title {
  font-family: "Instrument Sans", sans-serif !important;
  font-weight: 600;
}

body:not(.wp-admin) h1 strong,
body:not(.wp-admin) h2 strong,
body:not(.wp-admin) h3 strong,
body:not(.wp-admin) h4 strong,
body:not(.wp-admin) h5 strong,
body:not(.wp-admin) h6 strong,
body:not(.wp-admin) .elementor-heading-title strong {
  font-weight: 700;
}

#site-header .primary-menu > li > a,
#site-header ul.nav.wp-menu li > ul.sub-menu li > a,
.mobile-menu-floating ul.mobile-menu li > a {
  font-family: "Nunito Sans", sans-serif !important;
  font-weight: 600 !important;
}

.elementor .elementor-button,
.elementor .cea-button-link,
.wp-block-button .wp-block-button__link,
.wp-block-file__button.wp-element-button,
body:not(.wp-admin) button,
body:not(.wp-admin) input[type="submit"],
body:not(.wp-admin) input[type="button"] {
  font-family: "Nunito Sans", sans-serif !important;
  font-weight: 600;
}

body:not(.wp-admin) input[type="text"],
body:not(.wp-admin) input[type="email"],
body:not(.wp-admin) input[type="search"],
body:not(.wp-admin) input[type="tel"],
body:not(.wp-admin) input[type="url"],
body:not(.wp-admin) input[type="password"],
body:not(.wp-admin) input[type="number"],
body:not(.wp-admin) textarea,
body:not(.wp-admin) select {
  font-family: "Nunito Sans", sans-serif !important;
  font-weight: 400;
}

body:not(.wp-admin) label,
body:not(.wp-admin) legend,
body:not(.wp-admin) strong,
body:not(.wp-admin) b,
.site-footer .widgettitle,
.site-footer .wp-block-heading,
.site-footer .footer-title {
  font-family: "Nunito Sans", sans-serif !important;
  font-weight: 600;
}

.site-footer,
.site-footer p,
.site-footer li,
.site-footer input,
.site-footer textarea,
.site-footer select {
  font-family: "Nunito Sans", sans-serif !important;
  font-weight: 400;
}

/* 12. Keep the wide Scentinor wordmark fully visible in the 60px mobile bar. */
@media (max-width: 1024px) {
  .header-mobilebar .site-link {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
  }

  .header-mobilebar img.mobile-logo {
    width: auto !important;
    height: auto !important;
    max-width: 128px !important;
    max-height: 50px !important;
    margin: 5px auto !important;
    object-fit: contain;
  }
}
