/*
 Theme Name:   Highend Child
 Theme URI:    http://preview.hb-themes.com/?theme=Highend
 Description:  A Flexible, Powerful & Beautiful WordPress Theme by HB-Themes.
 Author:       HB-Themes
 Template:     HighendWP
 Version:      1.0.0
*/

/*--------------------------------------------------------------
  Global utility classes
--------------------------------------------------------------*/

span.wpcf7-list-item {display: block;}

.sr-only,
.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
  border: 0;
}

.sr-inline { display: inline-block; margin-left: 8px; font-size: 0.95em; }

.two-column .left,
.two-column .right,
.three-column .left,
.three-column .center,
.three-column .right {
  display: inline-block;
  vertical-align: top;
  box-sizing: border-box;
}

/* Column widths */
.two-column .left,
.two-column .right { width: 48%; }

.three-column .left,
.three-column .center,
.three-column .right { width: 32%; }

/* Fieldset styling */
fieldset { border: 1px solid #ddd; padding: 8px; margin: 8px 0; }
legend { font-weight: 600; padding: 0 6px; }

/* Optional visual debugging for decorative images */
.img-decorative { outline: 2px dashed #888; }

/*--------------------------------------------------------------
  Skip link (WCAG 2.4.1)
--------------------------------------------------------------*/

.skip-link {
  position: absolute !important;
  left: -999px !important;
  top: 0;
  background: #ffffff;
  color: #000000;
  padding: 10px 14px;
  border: 2px solid #000;
  border-radius: 6px;
  z-index: 99999;
}
.skip-link:focus {
  left: 12px !important;
  top: 12px;
  outline: 3px solid #ffcc00;
  outline-offset: 2px;
}

/*--------------------------------------------------------------
  Universal high-visibility focus (WCAG 2.4.7)
--------------------------------------------------------------*/

:focus,
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline: 3px solid #ffcc00 !important;
  outline-offset: 3px !important;
}

/*--------------------------------------------------------------
  Navigation: Active link contrast fix
--------------------------------------------------------------*/

#main-nav > li.current-menu-item > a,
#main-nav > li.current_page_item > a,
#main-nav > li.current-menu-ancestor > a {
  background-color: #2471a3 !important;
  color: #ffffff !important;
}
#main-nav > li.current-menu-item > a:hover,
#main-nav > li.current-menu-item > a:focus,
#main-nav > li.current_page_item > a:hover,
#main-nav > li.current_page_item > a:focus,
#main-nav > li.current-menu-ancestor > a:hover,
#main-nav > li.current-menu-ancestor > a:focus {
  background-color: #2471a3 !important;
  color: #ffffff !important;
}

/*--------------------------------------------------------------
  Footer & Form Contrast Fixes
--------------------------------------------------------------*/

#copyright-text,
#copyright-text p {
  color: #cbd5e1 !important;
}

.wpcf7-form-control,
.wpcf7-form-control.wpcf7-text,
.cf_input {
  color: #6a6a6a !important;
}

/* CF7 submit button */
.wpcf7 .wpcf7-submit,
form.wpcf7 input[type="submit"].wpcf7-submit,
input.wpcf7-submit.has-spinner {
  background-color: #1f5e8f !important;
  color: #ffffff !important;
  border-color: #1f5e8f !important;
  background-image: none !important;
  box-shadow: none !important;
}
.wpcf7 .wpcf7-submit:hover,
.wpcf7 .wpcf7-submit:focus {
  background-color: #1a507b !important;
  color: #ffffff !important;
  border-color: #1a507b !important;
  outline: 3px solid #ffcc00 !important;
  outline-offset: 2px !important;
}
.wpcf7 .wpcf7-submit:active {
  background-color: #184b72 !important;
  border-color: #184b72 !important;
}
.wpcf7 .wpcf7-submit:disabled {
  background-color: #6a6a6a !important;
  color: #ffffff !important;
  border-color: #6a6a6a !important;
  opacity: 1 !important;
}
.wpcf7 .has-spinner .wpcf7-spinner {
  filter: none !important;
  mix-blend-mode: normal !important;
}

/*--------------------------------------------------------------
  Header / Navigation Reflow Fixes (1120px and below)
--------------------------------------------------------------*/

@media (max-width: 1120px) {
  #main-nav { display: none !important; }

  .main-navigation-container,
  .main-navigation-container nav,
  .container-wide {
    position: relative !important;
    max-width: 100%;
    overflow-x: hidden;
    white-space: normal;
  }

  #show-nav-menu {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 10px;
    min-width: 44px;
    min-height: 44px;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 1001;
    background: transparent;
    border: 0;
    cursor: pointer;
  }

  #header-inner-bg,
  .main-navigation-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Center hamburger between 901–1120px */
@media (min-width: 901px) and (max-width: 1120px) {
  .main-navigation-container,
  .main-navigation-container nav,
  .container-wide {
    text-align: center !important;
  }
  #show-nav-menu {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .main-navigation-container nav { min-height: 48px; }
}

/* Maintain centered behavior <=900px */
@media (max-width: 900px) {
  .main-navigation-container,
  .main-navigation-container nav,
  .container-wide {
    text-align: center !important;
  }
  #show-nav-menu {
    position: static !important;
    transform: none !important;
    margin: 0 auto !important;
  }
  .mobile-nav,
  .main-navigation-container .nav,
  .main-navigation-container .nav ul {
    width: 100vw;
    max-width: 100%;
    left: 0;
    right: 0;
  }
}

/* Prevent background scroll when menu is open */
html.menu-open,
body.menu-open {
  overflow: hidden;
}

/*--------------------------------------------------------------
  Mobile caret (submenu toggle) styling
--------------------------------------------------------------*/

/* Focus & hit area */
#mobile-menu-wrap .open-submenu {
  min-width: 32px;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
#mobile-menu-wrap .open-submenu:focus {
  outline: 3px solid #0A84FF;
  outline-offset: 3px;
}

/* Smooth icon animation */
#mobile-menu-wrap .open-submenu i {
  transition: transform 200ms ease;
}

/* Expanded submenu operability */
#mobile-menu-wrap .open-submenu.active + .sub-menu,
#mobile-menu-wrap .sub-menu[aria-hidden="false"] {
  display: block !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* If theme uses height tricks to hide */
@media (max-width: 1120px) {
  #mobile-menu-wrap .open-submenu.active + .sub-menu {
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
  }
}

/* Restore hamburger centering between 1120px and 901px */
@media (min-width: 901px) and (max-width: 1120px) {

  .main-navigation-container,
  .main-navigation-container nav,
  .container-wide {
    text-align: center !important;
  }

  #show-nav-menu {
    display: inline-flex !important;
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Optional but stabilizes line-height */
  .main-navigation-container nav {
    min-height: 48px;
  }
}

.icon-feature-heading {
	font-size: 1.4rem;
	font-weight: 700;
	margin-bottom: 10px;
	display: block;
}

/* Ensure the pause layer shows a strong focus outline in the hero */
.rev-pause-toggle:focus {
  outline: 3px solid #ffcc00 !important;
  outline-offset: 3px !important;
}

.rev-pause-btn {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
}

.rev-pause-btn:focus {
    outline: 3px solid #ffcc00;
    outline-offset: 3px;
}

/* Make the inner button visually match the text layer */
.rev-pause-btn {
  /* remove default button chrome, inherit layer styles */
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  text-transform: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  font-size: inherit;
  cursor: pointer;
}

/* Keep your focus highly visible (you already have a global outline; this is insurance) */
.rev-pause-btn:focus {
  outline: 3px solid #ffcc00;
  outline-offset: 3px;
}

/* Optional: hover color to match your RS frame hover (you had c:#fcbf27) */
.rs-layer .rev-pause-btn:hover,
.rs-layer .rev-pause-btn:focus {
  color: #fcbf27;
}

/* Keep icons aligned; they’ll inherit color from the layer */
.rev-pause-visual i {
  display: inline-block;
  vertical-align: middle;
  font-size: inherit;
  line-height: inherit;
}