
/*
  MGR BRAND LOCK
  Public-facing color enforcement only.
  Does not alter WordPress admin.
*/

body.mgr-brand-locked{
  --wp--preset--color--vivid-green-cyan: var(--mgr-gold) !important;
  --wp--preset--color--luminous-vivid-amber: var(--mgr-gold) !important;
  accent-color: var(--mgr-gold) !important;
}

/* Links */
body.mgr-brand-locked a{
  text-decoration-color: currentColor;
}

body.mgr-brand-locked a:hover,
body.mgr-brand-locked a:focus-visible{
  color: var(--mgr-gold-dark) !important;
}

/* Primary buttons and generic clickable controls */
body.mgr-brand-locked button,
body.mgr-brand-locked input[type="button"],
body.mgr-brand-locked input[type="submit"],
body.mgr-brand-locked input[type="reset"],
body.mgr-brand-locked .button,
body.mgr-brand-locked .wp-element-button,
body.mgr-brand-locked .wp-block-button__link{
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

body.mgr-brand-locked button:hover,
body.mgr-brand-locked button:focus-visible,
body.mgr-brand-locked input[type="button"]:hover,
body.mgr-brand-locked input[type="button"]:focus-visible,
body.mgr-brand-locked input[type="submit"]:hover,
body.mgr-brand-locked input[type="submit"]:focus-visible,
body.mgr-brand-locked input[type="reset"]:hover,
body.mgr-brand-locked input[type="reset"]:focus-visible,
body.mgr-brand-locked .button:hover,
body.mgr-brand-locked .button:focus-visible,
body.mgr-brand-locked .wp-element-button:hover,
body.mgr-brand-locked .wp-element-button:focus-visible,
body.mgr-brand-locked .wp-block-button__link:hover,
body.mgr-brand-locked .wp-block-button__link:focus-visible{
  background-color: var(--mgr-ink-deep) !important;
  border-color: var(--mgr-gold) !important;
  color: var(--mgr-white) !important;
  box-shadow: 0 0 0 2px var(--mgr-cream), 0 0 0 4px var(--mgr-focus) !important;
}

/* Navigation */
body.mgr-brand-locked nav a:hover,
body.mgr-brand-locked nav a:focus-visible,
body.mgr-brand-locked .menu a:hover,
body.mgr-brand-locked .menu a:focus-visible,
body.mgr-brand-locked .wp-block-navigation a:hover,
body.mgr-brand-locked .wp-block-navigation a:focus-visible{
  background-color: var(--mgr-ink) !important;
  color: var(--mgr-white) !important;
  outline-color: var(--mgr-gold) !important;
}

/* Current / active navigation */
body.mgr-brand-locked nav .current-menu-item > a,
body.mgr-brand-locked nav .current_page_item > a,
body.mgr-brand-locked .wp-block-navigation .current-menu-item > a,
body.mgr-brand-locked .wp-block-navigation .current_page_item > a{
  background-color: var(--mgr-ink) !important;
  color: var(--mgr-white) !important;
  border-color: var(--mgr-gold) !important;
}

/* Form controls */
body.mgr-brand-locked input:focus,
body.mgr-brand-locked select:focus,
body.mgr-brand-locked textarea:focus{
  border-color: var(--mgr-gold) !important;
  outline: 2px solid var(--mgr-gold) !important;
  outline-offset: 2px;
  box-shadow: none !important;
}

/* MGR buttons */
body.mgr-brand-locked .mgr-btn,
body.mgr-brand-locked .mgr-details,
body.mgr-brand-locked .mgr-carousel-view-all,
body.mgr-brand-locked .mgr-tools-button,
body.mgr-brand-locked .mgr-calc-run,
body.mgr-brand-locked .mgr-flood-tool-open,
body.mgr-brand-locked .mgr-lead-appt-add,
body.mgr-brand-locked .mgr-lead-appt-save,
body.mgr-brand-locked .mgr-lead-appt-confirm{
  border-color: var(--mgr-gold) !important;
}

body.mgr-brand-locked .mgr-btn-primary,
body.mgr-brand-locked .mgr-calc-run,
body.mgr-brand-locked .mgr-flood-tool-open,
body.mgr-brand-locked .mgr-lead-appt-add,
body.mgr-brand-locked .mgr-lead-appt-save,
body.mgr-brand-locked .mgr-lead-appt-confirm{
  background: var(--mgr-gold) !important;
  color: var(--mgr-ink-deep) !important;
}

body.mgr-brand-locked .mgr-btn-primary:hover,
body.mgr-brand-locked .mgr-btn-primary:focus-visible,
body.mgr-brand-locked .mgr-calc-run:hover,
body.mgr-brand-locked .mgr-calc-run:focus-visible,
body.mgr-brand-locked .mgr-flood-tool-open:hover,
body.mgr-brand-locked .mgr-flood-tool-open:focus-visible,
body.mgr-brand-locked .mgr-lead-appt-add:hover,
body.mgr-brand-locked .mgr-lead-appt-add:focus-visible,
body.mgr-brand-locked .mgr-lead-appt-save:hover,
body.mgr-brand-locked .mgr-lead-appt-save:focus-visible,
body.mgr-brand-locked .mgr-lead-appt-confirm:hover,
body.mgr-brand-locked .mgr-lead-appt-confirm:focus-visible{
  background: var(--mgr-ink-deep) !important;
  color: var(--mgr-white) !important;
  border-color: var(--mgr-gold) !important;
}

/* Featured listings controls */
body.mgr-brand-locked .mgr-tabs button.active{
  background: var(--mgr-ink-deep) !important;
  color: var(--mgr-white) !important;
  border-color: var(--mgr-gold) !important;
}

body.mgr-brand-locked .mgr-tabs button:hover,
body.mgr-brand-locked .mgr-tabs button:focus-visible,
body.mgr-brand-locked .mgr-carousel-arrow:hover,
body.mgr-brand-locked .mgr-carousel-arrow:focus-visible{
  background: var(--mgr-ink-deep) !important;
  color: var(--mgr-white) !important;
  border-color: var(--mgr-gold) !important;
}

/* Common theme/plugin success/green classes on interactive elements only */
body.mgr-brand-locked a[class*="green"]:hover,
body.mgr-brand-locked button[class*="green"]:hover,
body.mgr-brand-locked [class*="success"] button:hover,
body.mgr-brand-locked [class*="success"] a:hover{
  background: var(--mgr-ink-deep) !important;
  border-color: var(--mgr-gold) !important;
  color: var(--mgr-white) !important;
}

/* Keyboard accessibility lock */
body.mgr-brand-locked :where(
  a,
  button,
  input,
  select,
  textarea,
  [tabindex]
):focus-visible{
  outline: 2px solid var(--mgr-gold) !important;
  outline-offset: 2px !important;
}

/* Never allow selection highlight to introduce off-brand green */
body.mgr-brand-locked ::selection{
  background: var(--mgr-gold-soft);
  color: var(--mgr-ink-deep);
}


/* =========================================================
   HEADER / PRIMARY NAV HARD LOCK
   Higher-specificity overrides for theme navigation states.
   ========================================================= */

body.mgr-brand-locked header a,
body.mgr-brand-locked header nav a,
body.mgr-brand-locked .site-header a,
body.mgr-brand-locked .site-header nav a,
body.mgr-brand-locked #masthead a,
body.mgr-brand-locked #masthead nav a,
body.mgr-brand-locked .wp-site-blocks > header a,
body.mgr-brand-locked .wp-site-blocks > header nav a{
  color: var(--mgr-ink-deep) !important;
  background-color: transparent !important;
  border-color: transparent !important;
}

body.mgr-brand-locked header a:hover,
body.mgr-brand-locked header a:focus-visible,
body.mgr-brand-locked header nav a:hover,
body.mgr-brand-locked header nav a:focus-visible,
body.mgr-brand-locked .site-header a:hover,
body.mgr-brand-locked .site-header a:focus-visible,
body.mgr-brand-locked .site-header nav a:hover,
body.mgr-brand-locked .site-header nav a:focus-visible,
body.mgr-brand-locked #masthead a:hover,
body.mgr-brand-locked #masthead a:focus-visible,
body.mgr-brand-locked #masthead nav a:hover,
body.mgr-brand-locked #masthead nav a:focus-visible,
body.mgr-brand-locked .wp-site-blocks > header a:hover,
body.mgr-brand-locked .wp-site-blocks > header a:focus-visible,
body.mgr-brand-locked .wp-site-blocks > header nav a:hover,
body.mgr-brand-locked .wp-site-blocks > header nav a:focus-visible{
  background-color: var(--mgr-ink) !important;
  color: var(--mgr-white) !important;
  border-color: var(--mgr-gold) !important;
  text-decoration-color: var(--mgr-gold) !important;
  box-shadow: none !important;
}

/* Current/active header menu item */
body.mgr-brand-locked header .current-menu-item > a,
body.mgr-brand-locked header .current_page_item > a,
body.mgr-brand-locked header .current-menu-ancestor > a,
body.mgr-brand-locked .site-header .current-menu-item > a,
body.mgr-brand-locked .site-header .current_page_item > a,
body.mgr-brand-locked #masthead .current-menu-item > a,
body.mgr-brand-locked #masthead .current_page_item > a,
body.mgr-brand-locked .wp-site-blocks > header .current-menu-item > a,
body.mgr-brand-locked .wp-site-blocks > header .current_page_item > a{
  background-color: var(--mgr-ink) !important;
  color: var(--mgr-white) !important;
  border-color: var(--mgr-gold) !important;
}

/* WP block navigation button wrappers */
body.mgr-brand-locked header .wp-block-navigation-item__content:hover,
body.mgr-brand-locked header .wp-block-navigation-item__content:focus-visible,
body.mgr-brand-locked .site-header .wp-block-navigation-item__content:hover,
body.mgr-brand-locked .site-header .wp-block-navigation-item__content:focus-visible,
body.mgr-brand-locked #masthead .wp-block-navigation-item__content:hover,
body.mgr-brand-locked #masthead .wp-block-navigation-item__content:focus-visible{
  background: var(--mgr-ink) !important;
  color: var(--mgr-white) !important;
}

/* Neutralize common theme green utility classes inside header */
body.mgr-brand-locked header [class*="green"],
body.mgr-brand-locked .site-header [class*="green"],
body.mgr-brand-locked #masthead [class*="green"]{
  --wp--preset--color--vivid-green-cyan: var(--mgr-gold) !important;
}

body.mgr-brand-locked header [class*="green"]:hover,
body.mgr-brand-locked .site-header [class*="green"]:hover,
body.mgr-brand-locked #masthead [class*="green"]:hover{
  background-color: var(--mgr-ink) !important;
  color: var(--mgr-white) !important;
  border-color: var(--mgr-gold) !important;
}

/* Mobile menu / drawer */
body.mgr-brand-locked .wp-block-navigation__responsive-container a:hover,
body.mgr-brand-locked .wp-block-navigation__responsive-container a:focus-visible,
body.mgr-brand-locked .menu-toggle:hover,
body.mgr-brand-locked .menu-toggle:focus-visible{
  background-color: var(--mgr-ink) !important;
  color: var(--mgr-white) !important;
  border-color: var(--mgr-gold) !important;
}
