/*
Theme Name: Orzech Heating & Cooling — Beanstalk Child
Template: beanstalk
Version: 1.0.0
Text Domain: orzechheating
*/

/* Let the native sticky header stack follow the document instead of being
   confined to the template part's height. Native blocks retain row geometry. */
header.wp-block-template-part:has(> .is-position-sticky) {
  display: contents;
}

@media (min-width: 1380px) {
  header > .is-layout-constrained,
  header > .is-style-orzech-scroll-header > .is-layout-constrained,
  footer > .is-layout-constrained,
  .entry-content > .is-layout-constrained,
  .has-contained-content > .is-layout-constrained {
    padding-left: 90px;
    padding-right: 90px;
  }
}

.is-orzech-hero {
  max-height: 1080px;
  /*min-height: 850px;*/
  height: calc(100svh - 131px);
}

/* Provider positioning only. Alignment, spacing and colors use native blocks. */
@media (min-width: 1025px) {
  .is-style-orzech-mega-anchor {
    position: relative;
  }

  .is-style-orzech-mega-anchor .is-style-orzech-header-menu,
  .is-style-orzech-mega-anchor .is-style-orzech-header-menu .wp-block-navigation__responsive-container,
  .is-style-orzech-mega-anchor .is-style-orzech-header-menu .wp-block-navigation__responsive-dialog,
  .is-style-orzech-mega-anchor .is-style-orzech-header-menu .wp-block-navigation__container,
  .is-style-orzech-mega-anchor .is-style-orzech-header-menu .beanstalk-mega-item {
    position: static;
  }

  .is-style-orzech-mega-anchor .is-style-orzech-header-menu .beanstalk-mega-panel {
    inset-inline-start: 0;
    inset-block-start: var(--orzech-mega-header-bottom, 100%);
    width: 100%;
  }

  .is-style-orzech-header-menu .beanstalk-mega-item > .beanstalk-mega-toggle {
    min-width: 24px;
    min-height: 24px;
    padding: 4px;
  }
}

@media (max-width: 1024px) {
  .is-style-orzech-header-menu .is-menu-open .wp-block-navigation__container {
    width: 100%;
  }

  .is-style-orzech-header-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container .wp-block-navigation-item.beanstalk-mega-item {
    flex-direction: row;
    align-items: center;
  }
}

/* Salient's animated menu underline is a decoration, beyond native link controls.
   Keep destination/section state supplied by the navigation provider. */
header.wp-block-template-part .wp-block-navigation a,
header.wp-block-template-part .beanstalk-mega-toggle,
header.wp-block-template-part .beanstalk-mega-panel a {
  text-decoration: none;
}

header.wp-block-template-part .wp-block-navigation-item__label,
header.wp-block-template-part .beanstalk-mega-panel a {
  position: relative;
  display: inline-block;
}

header.wp-block-template-part .wp-block-navigation-item__label::after,
header.wp-block-template-part .beanstalk-mega-panel a::after {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: -3px;
  width: 100%;
  border-top: 2px solid currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s cubic-bezier(.52, .01, .16, 1);
  pointer-events: none;
}

header.wp-block-template-part a:is(.beanstalk-mega-current-page,.beanstalk-mega-current-section,[aria-current="page"],:focus-visible) > .wp-block-navigation-item__label::after,
header.wp-block-template-part .beanstalk-mega-item:is(.is-mega-open,:focus-within) > a > .wp-block-navigation-item__label::after,
header.wp-block-template-part .beanstalk-mega-panel a:is(.beanstalk-mega-current-page,.beanstalk-mega-current-section,[aria-current="page"],:focus-visible)::after {
  transform: scaleX(1);
}

@media (hover: hover) {
  header.wp-block-template-part .wp-block-navigation-item:hover > a > .wp-block-navigation-item__label::after,
  header.wp-block-template-part .beanstalk-mega-panel a:hover::after {
    transform: scaleX(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  header.wp-block-template-part .wp-block-navigation-item__label::after,
  header.wp-block-template-part .beanstalk-mega-panel a::after {
    transition: none;
  }
}


/* Native Button owns padding, radius, typography, fill and shadows.
   Chromium cannot clip separate background layers to text and the button box.
   The rendered inline label ornament receives the unsupported text gradient. */
.wp-block-button:not(.is-style-outline) .wp-block-button__link.has-red-gradient-background {
  --orzech-button-fill: var(--wp--preset--gradient--red);
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link.has-blue-gradient-background {
  --orzech-button-fill: var(--wp--preset--gradient--blue);
}

.wp-block-button:not(.is-style-outline) .orzech-button-label {
  background-image: linear-gradient(180deg, currentColor 33.333%, color-mix(in srgb, currentColor 75%, transparent) 74.074%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:is(.has-red-gradient-background,.has-blue-gradient-background):is(:hover,:focus-visible,:active):not([aria-disabled="true"]) {
  background-image: linear-gradient(rgba(255, 255, 255, .1), rgba(255, 255, 255, .1)), var(--orzech-button-fill) !important;
}

.wp-block-button.is-style-outline .orzech-button-label {
  background-image: linear-gradient(180deg, color-mix(in srgb, currentColor 75%, transparent) 33.333%, currentColor 74.074%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.wp-block-button.is-style-outline .wp-block-button__link:is(:hover,:focus-visible,:active):not([aria-disabled="true"]) {
  background-image: var(--wp--preset--gradient--red) !important;
  color: #fff;
  box-shadow: inset 0 4px 4px rgba(255, 255, 255, .25), 0 4px 6px rgba(0, 0, 0, .12);
}

.wp-block-button.is-style-outline .wp-block-button__link:is(:hover,:focus-visible,:active):not([aria-disabled="true"]) .orzech-button-label {
  background-image: linear-gradient(180deg, currentColor 33.333%, color-mix(in srgb, currentColor 75%, transparent) 74.074%);
}

.wp-block-button .wp-block-button__link:focus-visible {
  outline: 2px solid #EB5D73;
  outline-offset: 3px;
}

.wp-block-button .wp-block-button__link[aria-disabled="true"] {
  opacity: .75;
}


/* Opt-in contact ornaments: native Paragraph owns text and inset; core has
   no inline icon setting. Dashicons ships with WordPress and needs no asset. */
p[class*="is-style-orzech-contact-"] {
  position: relative;
}

p[class*="is-style-orzech-contact-"]::before {
  position: absolute;
  left: 0;
  top: .1em;
  font-family: dashicons;
  font-size: 20px;
  line-height: 1.2;
}

p.is-style-orzech-contact-phone::before {
  content: "\f525";
}

p.is-style-orzech-contact-email::before {
  content: "\f465";
}

p.is-style-orzech-contact-address::before {
  content: "\f230";
}

/* Core Accordion offers left/right +/- only. This opt-in directory style
   reproduces the reference's adjacent chevron; native blocks retain behavior. */
.is-style-orzech-service-directory .wp-block-accordion-heading__toggle {
  justify-content: flex-start;
  gap: 10px;
}

.is-style-orzech-service-directory .wp-block-accordion-heading__toggle-icon {
  font-size: 0;
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  margin: 0;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
}

.is-style-orzech-service-directory [aria-expanded="true"] .wp-block-accordion-heading__toggle-icon {
  transform: rotate(45deg);
}

.is-style-orzech-service-directory .wp-block-accordion-heading__toggle-title {
  flex: 0 1 auto;
}

.gform_button .orzech-button-label {
  background-image: linear-gradient(180deg, currentColor 33.333%, color-mix(in srgb, currentColor 75%, transparent) 74.074%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.wp-block-button.is-style-orzech-phone .wp-block-button__link::before {
  content: "\f525";
  font-family: dashicons;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  display: inline-block;
  margin-right: 6px;
  vertical-align: -1px;
}

/* Query Title has no word-break setting; long search terms must fit the shell. */
.search .wp-block-query-title {
  overflow-wrap: anywhere;
}

/* Only this opt-in Cover needs viewport height minus the measured header allowance.
   Native Cover controls own padding, content position, crop and overlay. The height
   control accepts numeric units; the unsupported subtraction is isolated here. */
.is-style-orzech-home-hero {
  min-height: calc(100vh - 107px);
}

@media (690px <= width <= 999px) {
  .is-style-orzech-home-hero {
    min-height: calc(100vh - 53px);
  }
}

@media (width <= 689px) {
  .is-style-orzech-home-hero {
    min-height: calc(100vh - 106px);
  }
}

:where(.editor-styles-wrapper .is-tablet-preview) .is-style-orzech-home-hero {
  min-height: calc(100vh - 53px);
}

:where(.editor-styles-wrapper .is-mobile-preview) .is-style-orzech-home-hero {
  min-height: calc(100vh - 106px);
}

/* Opt-in pilot Covers: native media, focal point, colors, desktop opacity,
   dimensions and spacing remain block settings. Only the unsupported skew
   and source's tablet/mobile overlay treatment are supplied here. */
:is(.is-style-orzech-angled-blue,.is-style-orzech-angled-white,.is-style-orzech-about-hero) > .wp-block-cover__background {
  width: 100vw;
  left: -50vw;
  right: auto;
  transform: skew(-10deg);
}

/* Core's custom content-position variant shrink-wraps this container. Cover
   offers no fill-width control for it; native Columns own the interior split. */
:is(.is-style-orzech-angled-blue,.is-style-orzech-angled-white,.is-style-orzech-about-hero) > .wp-block-cover__inner-container {
  width: 100%;
}

@media (width <= 999px) {
  :is(.is-style-orzech-angled-blue,.is-style-orzech-angled-white,.is-style-orzech-about-hero) > .wp-block-cover__background {
    width: auto;
    left: 0;
    right: 0;
    transform: none;
  }

  :is(.is-style-orzech-angled-blue,.is-style-orzech-about-hero) > .wp-block-cover__background {
    opacity: .75;
  }
}

:where(.editor-styles-wrapper .is-tablet-preview,.editor-styles-wrapper .is-mobile-preview) :is(.is-style-orzech-angled-blue,.is-style-orzech-angled-white,.is-style-orzech-about-hero) > .wp-block-cover__background {
  width: auto;
  left: 0;
  right: 0;
  transform: none;
}

:where(.editor-styles-wrapper .is-tablet-preview,.editor-styles-wrapper .is-mobile-preview) :is(.is-style-orzech-angled-blue,.is-style-orzech-about-hero) > .wp-block-cover__background {
  opacity: .75;
}

/* About retains its source viewport allowance; core’s numeric height control
   cannot subtract the header. Its content alignment/padding remain native. */
.is-style-orzech-about-hero {
  min-height: calc(100vh - 125px);
}

@media (690px <= width <= 999px) {
  .is-style-orzech-about-hero {
    min-height: calc(100vh - 53px);
  }
}

@media (width <= 689px) {
  .is-style-orzech-about-hero {
    min-height: calc(100vh - 106px);
  }
}

:where(.editor-styles-wrapper .is-tablet-preview) .is-style-orzech-about-hero {
  min-height: calc(100vh - 53px);
}

:where(.editor-styles-wrapper .is-mobile-preview) .is-style-orzech-about-hero {
  min-height: calc(100vh - 106px);
}

/* The native negative-margin Row needs a stacking context to paint above the
   preceding positioned Cover. Its width, alignment and overlap stay native. */
.is-style-orzech-appliance-overlap {
  position: relative;
  z-index: 1;
}

/* These three appliance assets lose their source bottom crop below 381px.
   Core's Mobile state ends at 689px; native dimensions/spacing own the other
   states. This additional breakpoint is limited to these overlap images. */
@media (width <= 380px) {
  .is-style-orzech-appliance-overlap:has(.wp-block-image .wp-image-124) {
    margin-top: calc(-53.03750000vw + 1px) !important;
  }

  .is-style-orzech-appliance-overlap:has(.wp-block-image .wp-image-154) {
    margin-top: calc(-51.47916667vw + 1px) !important;
  }

  .is-style-orzech-appliance-overlap:has(.wp-block-image .wp-image-182) {
    margin-top: calc(-44.40833333vw + 1px) !important;
  }

  .is-style-orzech-appliance-overlap .wp-block-image:has(:is(.wp-image-124,.wp-image-154,.wp-image-182)) {
    margin-bottom: 0 !important;
  }
}

/* FAQ state and icon ornaments. Typography and row spacing are native settings. */
.wp-block-details.is-style-orzech-faq > summary {
  display: block;
  position: relative;
  padding-right: 70px;
  list-style: none;
}

.wp-block-details.is-style-orzech-faq > summary::-webkit-details-marker {
  display: none;
}

.wp-block-details.is-style-orzech-faq > summary::before,
.wp-block-details.is-style-orzech-faq > summary::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  box-sizing: border-box;
}

.wp-block-details.is-style-orzech-faq > summary::before {
  border: 2px solid #888;
  border-radius: 50%;
}

.wp-block-details.is-style-orzech-faq > summary::after {
  color: #888;
  background: linear-gradient(currentColor, currentColor) center/14px 2px no-repeat, linear-gradient(currentColor, currentColor) center/2px 14px no-repeat;
}

.wp-block-details.is-style-orzech-faq[open] > summary,
.wp-block-accordion.is-style-orzech-faq .wp-block-accordion-heading__toggle[aria-expanded="true"] {
  color: #0077ce;
}

.wp-block-details.is-style-orzech-faq[open] > summary::before {
  border-color: #0077ce;
}

.wp-block-details.is-style-orzech-faq[open] > summary::after {
  color: #163d67;
  background: linear-gradient(currentColor, currentColor) center/14px 2px no-repeat;
}

.wp-block-accordion.is-style-orzech-faq .wp-block-accordion-heading__toggle {
  gap: 40px;
}

.wp-block-accordion.is-style-orzech-faq .wp-block-accordion-heading__toggle-title {
  min-width: 0;
}

.wp-block-accordion.is-style-orzech-faq .wp-block-accordion-heading__toggle-icon {
  position: relative;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  box-sizing: border-box;
  border: 2px solid #888;
  border-radius: 50%;
  color: #888;
  font-size: 0;
  transform: none;
}

.wp-block-accordion.is-style-orzech-faq .wp-block-accordion-heading__toggle-icon::before,
.wp-block-accordion.is-style-orzech-faq .wp-block-accordion-heading__toggle-icon::after {
  content: "";
  position: absolute;
  background: currentColor;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.wp-block-accordion.is-style-orzech-faq .wp-block-accordion-heading__toggle-icon::before {
  width: 14px;
  height: 2px;
}

.wp-block-accordion.is-style-orzech-faq .wp-block-accordion-heading__toggle-icon::after {
  width: 2px;
  height: 14px;
}

.wp-block-accordion.is-style-orzech-faq .wp-block-accordion-heading__toggle[aria-expanded="true"] .wp-block-accordion-heading__toggle-icon {
  border-color: #0077ce;
  color: #163d67;
  transform: none;
}

.wp-block-accordion.is-style-orzech-faq .wp-block-accordion-heading__toggle[aria-expanded="true"] .wp-block-accordion-heading__toggle-icon::after {
  display: none;
}

.wp-block-details.is-style-orzech-faq > summary:focus-visible,
.wp-block-accordion.is-style-orzech-faq .wp-block-accordion-heading__toggle:focus-visible {
  outline: 2px solid #0077ce;
  outline-offset: 4px;
}

/* Production header icon shape; native Social Icons settings own the base colors. */
.wp-block-social-links.is-style-orzech-header-social .wp-social-link {
  border-radius: 5.315px;
  transform: none;
  transition: background-color .2s linear;
}

.wp-block-social-links.is-style-orzech-header-social .wp-social-link a {
  padding: 3.5px;
  border-radius: inherit;
}

.wp-block-social-links.is-style-orzech-header-social .wp-social-link:is(:hover,:focus-within) {
  background-color: #E31937 !important;
  transform: none;
}

.wp-block-social-links.is-style-orzech-header-social .wp-social-link a:focus-visible {
  outline: 2px solid #E31937;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .wp-block-social-links.is-style-orzech-header-social .wp-social-link {
    transition: none;
  }
}

/* Core owns the mobile dialog/close control; the provider owns disclosure state.
   Only its generated controls need these client overlay placement/hit-area rules. */
nav.is-style-orzech-header-menu .is-style-orzech-mobile-menu-logo,
nav.is-style-orzech-header-menu .is-style-orzech-mobile-menu-phone,
nav.is-style-orzech-header-menu li:has(> .is-style-orzech-mobile-menu-logo) {
  display: none;
}

@media (max-width: 1024px) {
  nav.is-style-orzech-header-menu .is-menu-open .wp-block-navigation__container {
    position: static;
  }

  nav.is-style-orzech-header-menu .is-menu-open li:has(> .is-style-orzech-mobile-menu-logo) {
    display: block;
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
  }

  nav.is-style-orzech-header-menu .is-menu-open .is-style-orzech-mobile-menu-logo,
  nav.is-style-orzech-header-menu .is-menu-open .is-style-orzech-mobile-menu-phone {
    display: block;
  }

  nav.is-style-orzech-header-menu .beanstalk-mega-toggle:is([aria-expanded="true"],.beanstalk-mega-current-section) .beanstalk-mega-label::after {
    transform: scaleX(1);
  }

}

nav.is-style-orzech-header-menu .beanstalk-mega-label {
  text-transform: uppercase;
}

/* Core's legacy overlay has no independent native header-row spacing control.
   Match the existing 11px mobile header inset and center its 24px close icon
   beside the native 120px logo. The fullscreen dialog needs no toolbar offset. */
@media (max-width: 1024px) {
  nav.is-style-orzech-header-menu .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
    padding-top: 11px;
  }

  nav.is-style-orzech-header-menu .is-menu-open .wp-block-navigation__responsive-dialog {
    margin-top: 0;
  }

  nav.is-style-orzech-header-menu .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-content {
    padding-top: 43px;
  }

  nav.is-style-orzech-header-menu .is-menu-open li:has(> .is-style-orzech-mobile-menu-logo) {
    inset-block-start: 1px;
  }

  nav.is-style-orzech-header-menu .is-menu-open .wp-block-navigation__responsive-container-close {
    top: 4px;
  }
}

/* The provider adds a second, uneditable wrapper padding around native Groups.
   Remove only that mobile layer; panel padding remains in native block settings.
   Navigation Link has no native margin control for the boundary between groups. */
@media (max-width: 1024px) {
  nav.is-style-orzech-header-menu .is-menu-open .beanstalk-mega-panel {
    padding: 0;
  }

  nav.is-style-orzech-header-menu .is-menu-open .wp-block-navigation__container > .beanstalk-mega-item + .is-style-orzech-mobile-menu-utility {
    margin-block-start: 24px;
  }
}

/* Reserve the fixed 48px quote trigger plus 24px breathing room at the end of
   the generated, scrollable menu. Core exposes no native setting for this box.
   Scroll padding also keeps keyboard-focused links above the fixed trigger. */
@media (max-width: 1024px) {
  nav.is-style-orzech-header-menu .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
    scroll-padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  }
}


/* Maintenance-only ornaments. Native Group/Details controls own geometry. */
.wp-block-details[class*="is-style-orzech-plan-benefit-"] > summary {
  position: relative;
  display: block;
  list-style: none;
}

.wp-block-details[class*="is-style-orzech-plan-benefit-"] > summary::-webkit-details-marker {
  display: none;
}

.wp-block-details[class*="is-style-orzech-plan-benefit-"] > summary::before,
.wp-block-details[class*="is-style-orzech-plan-benefit-"] > summary::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  top: calc((1lh - 18px) / 2);
}

.wp-block-details[class*="is-style-orzech-plan-benefit-"] > summary::before {
  left: -32px;
  background: var(--wp--preset--color--primary);
  mask: var(--orzech-benefit-icon) center/contain no-repeat;
}

.wp-block-details[class*="is-style-orzech-plan-benefit-"] > summary::after {
  right: -32px;
  color: #888;
  background: linear-gradient(currentColor, currentColor) center/14px 2px no-repeat, linear-gradient(currentColor, currentColor) center/2px 14px no-repeat;
}

.wp-block-details[class*="is-style-orzech-plan-benefit-"][open] > summary::after {
  background: linear-gradient(currentColor, currentColor) center/14px 2px no-repeat;
}

.wp-block-details[class*="is-style-orzech-plan-benefit-"] > summary:focus-visible {
  outline: 2px solid var(--wp--preset--color--blue);
  outline-offset: 5px;
}

.wp-block-group[class*="is-style-orzech-plan-price-"] {
  position: relative;
}

.wp-block-group[class*="is-style-orzech-plan-price-"]::before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(50% - 20px);
  width: 5px;
  height: 40px;
  border-radius: 0 5px 5px 0;
  background: var(--orzech-plan-accent);
}

.is-style-orzech-plan-price-heating {
  --orzech-plan-accent: #E3183770;
}

.is-style-orzech-plan-price-cooling {
  --orzech-plan-accent: #00528670;
}

.is-style-orzech-plan-price-bundle {
  --orzech-plan-accent: #FFFFFF55;
}

.is-style-orzech-plan-benefit-clock {
  --orzech-benefit-icon: url("/wp-content/themes/beanstalk-child/assets/maintenance/clock.svg");
}

.is-style-orzech-plan-benefit-shield {
  --orzech-benefit-icon: url("/wp-content/themes/beanstalk-child/assets/maintenance/shield.svg");
}

.is-style-orzech-plan-benefit-wrench {
  --orzech-benefit-icon: url("/wp-content/themes/beanstalk-child/assets/maintenance/wrench.svg");
}

.is-style-orzech-plan-benefit-dollar {
  --orzech-benefit-icon: url("/wp-content/themes/beanstalk-child/assets/maintenance/dollar.svg");
}

.is-style-orzech-plan-benefit-gear {
  --orzech-benefit-icon: url("/wp-content/themes/beanstalk-child/assets/maintenance/gear.svg");
}

.is-style-orzech-plan-benefit-tag {
  --orzech-benefit-icon: url("/wp-content/themes/beanstalk-child/assets/maintenance/tag.svg");
}

.is-style-orzech-plan-benefit-clipboard {
  --orzech-benefit-icon: url("/wp-content/themes/beanstalk-child/assets/maintenance/clipboard.svg");
}

.is-style-orzech-plan-benefit-filter {
  --orzech-benefit-icon: url("/wp-content/themes/beanstalk-child/assets/maintenance/filter.svg");
}

/* Only these opted-in body-section images need a stacking context above the
   neighboring colored panel. Native blocks own widths, offsets and padding. */
.is-style-orzech-body-overlap-image {
  position: relative;
  z-index: 1;
}


.wpb_content_element > strong,
.wp-block-paragraph > strong {
  font-weight: 700;
}

/* Scroll translation has no native control. Reserve the stack's original flow
   height and remove transforms for Core's fixed fullscreen menu overlay. */
header .is-style-orzech-scroll-header.orzech-scroll-ready:not(.orzech-header-overlay-open) {
  transform: translateY(var(--orzech-header-shift, 0px));
  transition: transform 240ms ease;
}

@media (prefers-reduced-motion: reduce) {
  header .is-style-orzech-scroll-header.orzech-scroll-ready:not(.orzech-header-overlay-open) {
    transition: none;
  }
}

/* Site Logo's native tablet/mobile controls cannot express these live desktop
   ranges. Only the selectable desktop logo style receives proportional sizing. */
@media (min-width: 1025px) {
  .wp-block-site-logo.is-style-orzech-live-desktop-logo img {
    width: auto;
    height: 54px;
  }
}

@media (min-width: 1230px) {
  .wp-block-site-logo.is-style-orzech-live-desktop-logo img {
    height: 35px;
  }
}

@media (min-width: 1500px) {
  .wp-block-site-logo.is-style-orzech-live-desktop-logo img {
    height: 45px;
  }
}

@media (min-width: 1600px) {
  .wp-block-site-logo.is-style-orzech-live-desktop-logo img {
    height: 50px;
  }
}

@media (min-width: 1700px) {
  .wp-block-site-logo.is-style-orzech-live-desktop-logo img {
    height: 52px;
  }
}

/* Native layout owns Promotions cards. Core has no Group clipping or stacking controls. */
.is-style-orzech-clipped-card {
  overflow: hidden;
  position: relative;
}

.is-style-orzech-eyebrow::before {
  content: "";
  display: inline-block;
  inline-size: 8px;
  block-size: 8px;
  margin-inline-end: 9px;
  border-radius: 50%;
  background: var(--wp--preset--color--primary);
  vertical-align: middle;
}

.is-style-orzech-promotion-calculator {
  position: relative;
  z-index: 1;
  overflow: hidden;
}

/* Browser controls and Gravity Forms otherwise retain provider/system text fonts. */
input, select, textarea, button {
  font-family: inherit;
}

.gform_wrapper.gform-theme--framework {
  --gf-font-family: var(--wp--preset--font-family--inter);
  --gf-ctrl-font-family: var(--wp--preset--font-family--inter);
  --gf-ctrl-label-font-family-primary: var(--wp--preset--font-family--inter);
  --gf-ctrl-label-font-family-secondary: var(--wp--preset--font-family--inter);
  --gf-ctrl-placeholder-font-family: var(--wp--preset--font-family--inter);
  --gf-ctrl-btn-font-family: var(--wp--preset--font-family--inter);
}

/* Signature preview labels have provider inline fonts; preserve the signature canvas and field settings. */
.gform_wrapper .gfield_signature_font_select_button {
  font-family: var(--wp--preset--font-family--inter) !important;
}

/* Orzech full height hero sections */
.is-orzech-hero {
  /*max-height: 1080px;*/
  /*min-height: 850px;*/
  height: calc(100svh - 131px);
}

/* Stack columns on tablet & mobile, instead of just mobile */
@media (max-width: 1024px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) {
    flex-wrap: wrap !important;
  }

  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 100% !important;
  }
}

/* Match native hero tablet treatment across the owner's 1024px column-stacking
   boundary. Core's installed tablet state ends at 999px; these rules only bridge
   that 25px gap for the opt-in Orzech hero. Native blocks own other presentation. */
@media (1000px <= width <= 1024px) {
  .wp-block-cover.is-orzech-hero {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .wp-block-cover.is-orzech-hero > .wp-block-cover__background {
    width: auto;
    left: 0;
    right: 0;
    transform: none;
    background: var(--orzech-mobile-solid, #003a63) !important;
    opacity: .65 !important;
  }
  .wp-block-cover.is-orzech-hero .orzech-hero-media {
    display: none;
  }
  .wp-block-cover.is-orzech-hero .orzech-hero-copy > :is(h1, p) {
    text-align: center;
  }
  .wp-block-cover.is-orzech-hero .orzech-hero-copy > .wp-block-buttons {
    justify-content: center;
  }
}

/* The provider owns full-row disclosure; this only retains Orzech's underline. */
header.wp-block-template-part .beanstalk-mega-item:is(.is-mega-open,:focus-within) > .beanstalk-mega-toggle .wp-block-navigation-item__label::after,
header.wp-block-template-part .beanstalk-mega-toggle.beanstalk-mega-current-section .wp-block-navigation-item__label::after {
  transform: scaleX(1);
}

/* Native header Rows stretch the menu; these neighboring blocks stay centered. */
@media (min-width: 1025px) {
 .orzech-header-main .is-style-orzech-mega-anchor > :is(.wp-block-site-logo, .is-style-orzech-desktop-phone) {
   align-self: center;
 }
}
/* Native viewport controls switch at 1000px; the menu switches at 1025px.
   Retain the preceding header arrangement throughout this narrow bridge. */
@media (min-width: 1000px) and (max-width: 1024px) {
 .orzech-header-main:has(nav.beanstalk-mega-fill-height) {
   padding-top: var(--wp--preset--spacing--12) !important;
   padding-bottom: var(--wp--preset--spacing--12) !important;
 }
 .orzech-header-main:has(nav.beanstalk-mega-fill-height) .is-style-orzech-mega-anchor {
   min-height: 0 !important;
   align-items: center;
 }
 .orzech-header-main .is-style-orzech-mega-anchor > .wp-block-group:has(> nav.beanstalk-mega-fill-height) {
   align-items: center;
 }
}

/* Sales Form 1: provider-generated fields have no native row-gap, table-heading,
   inline-label or section-rule controls. The native Group owns containment;
   Gravity Forms block settings own base colors, radius and label size. */
.orzech-sales-form #gform_wrapper_1,
.orzech-sales-form #gform_wrapper_1 .gform-theme--framework {
 --gf-form-gap-x: 0px;
 --gf-form-gap-y: 0px;
 --gf-ctrl-size-lg: 60px;
 --gf-font-size-primary: 19px;
 --gf-ctrl-font-size: 19px;
 --gf-ctrl-padding-x: 20px;
 --gf-ctrl-placeholder-color: #a4a4a4;
 --gf-ctrl-label-line-height-primary: 1.89;
}
.orzech-sales-form #gform_wrapper_1 .gform_required_legend {display:none;}
.orzech-sales-form #gform_wrapper_1 :is(input[type="checkbox"],input[type="radio"]) {border-color:var(--wp--preset--color--blue);}
.orzech-sales-form #gform_wrapper_1 .gform_fields {column-gap:0;row-gap:0;}
.orzech-sales-form #gform_wrapper_1 .gsection.title-with-line {
 border:0;padding:40px 0 0;margin:0;min-width:0;
}
.orzech-sales-form #gform_wrapper_1 .gsection.title-with-line:first-child {padding-top:0;}
.orzech-sales-form #gform_wrapper_1 .gsection_title {
 display:flex;align-items:center;gap:15px;margin:0 0 20px;
 color:#03439c;font-family:inherit;font-size:23px;font-weight:600;
 line-height:1.89;letter-spacing:.085em;overflow-wrap:anywhere;
}
.orzech-sales-form #gform_wrapper_1 .title-with-line .gsection_title::after {
 content:"";height:1px;background:currentColor;flex:1 1 30px;min-width:15px;
}
.orzech-sales-form #gform_wrapper_1 input::placeholder {font-weight:400;}
.orzech-sales-form #gform_wrapper_1 .ginput_container_date {max-inline-size:none;inline-size:100%;}
.orzech-sales-form #gform_wrapper_1 .ginput_container_date input {inline-size:100%;}
.orzech-sales-form #gform_wrapper_1 .products-box {grid-column:span 3;min-width:0;}
.orzech-sales-form #gform_wrapper_1 .products-box:not(.hidden_label) .gfield_label {
 display:flex;align-items:center;justify-content:center;
 min-height:34px;margin:0;padding:0 3px;
 background:var(--wp--preset--color--blue);color:#fff;
 border-inline-end:1px solid #ffffff66;
 font-size:18px;line-height:1.89;font-weight:600;letter-spacing:.085em;text-align:center;
}
.orzech-sales-form #gform_wrapper_1 .products-box input {text-align:center;padding-inline:8px;}
.orzech-sales-form #gform_wrapper_1 .warranties-info {
 display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0;
}
.orzech-sales-form #gform_wrapper_1 .warranties-info > .gsection {grid-column:1/-1;}
.orzech-sales-form #gform_wrapper_1 .warranties-info > .gfield--width-half {grid-column:span 6;}
.orzech-sales-form #gform_wrapper_1 .gfield_course_option_wrapper,
.orzech-sales-form #gform_wrapper_1 .gfield--type-WrapperEnd {display:none;}
.orzech-sales-form #gform_wrapper_1 .gfield.label-right {
 display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:10px;min-width:0;
}
.orzech-sales-form #gform_wrapper_1 .label-right .ginput_container {flex:0 0 60px;min-width:0;}
.orzech-sales-form #gform_wrapper_1 .label-right input {inline-size:60px;min-height:56px;padding:8px 12px;}
.orzech-sales-form #gform_wrapper_1 .label-right .gfield_label {
 margin:0;color:var(--wp--preset--color--dark);font-size:18px;line-height:1.89;font-weight:400;
}
.orzech-sales-form #gform_wrapper_1 .totals-info {margin-block:30px;}
.orzech-sales-form #gform_wrapper_1 .gfield.label-left:not(.hide-field) {
 display:flex;align-items:center;justify-content:flex-end;gap:20px;min-width:0;
}
.orzech-sales-form #gform_wrapper_1 .label-left .gfield_label {
 flex:0 1 50%;margin:0;text-align:right;color:#5b5b5b;font-size:18px;line-height:1.4;font-weight:400;
}
.orzech-sales-form #gform_wrapper_1 .label-left .ginput_container {flex:0 1 200px;min-width:0;}
.orzech-sales-form #gform_wrapper_1 .label-left input {inline-size:100%;}
.orzech-sales-form #gform_wrapper_1 .label-left input[readonly] {
 border:0;border-radius:0;box-shadow:none;background:transparent;padding:0;font-weight:600;min-height:43px;
}
.orzech-sales-form #gform_wrapper_1 .gsection.line-only {padding:20px 0 0;margin:20px 0 40px;border:0;border-bottom:1px solid #ddd;}
.orzech-sales-form #gform_wrapper_1 .gsection.line-only.sm-m {margin:20px 0;}
.orzech-sales-form #gform_wrapper_1 .line-only .gsection_title {display:none;}
.orzech-sales-form #gform_wrapper_1 .blue.weight-700 {color:var(--wp--preset--color--blue);font-weight:700;}
.orzech-sales-form #gform_wrapper_1 textarea {min-height:300px;}
.orzech-sales-form #gform_wrapper_1 .gfield_signature_container {max-width:100%;}
.orzech-sales-form #gform_wrapper_1 .gfield_signature_container canvas {max-width:100%;}
/* Inherit the existing site-wide Gravity Forms red pill button treatment. */
.orzech-sales-form #gform_submit_button_1.gform_button {letter-spacing:-.04em;}
.orzech-sales-form #gform_submit_button_1.gform_button:is(:hover,:focus-visible,:active):not(:disabled) {
 background-image:linear-gradient(rgba(255,255,255,.1),rgba(255,255,255,.1)),var(--wp--preset--gradient--red);
}
.orzech-sales-form #gform_submit_button_1.gform_button:focus-visible {outline:2px solid #EB5D73;outline-offset:3px;}
@media (min-width:690px) {
 .orzech-sales-form #field_1_68 .gfield_checkbox {display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;max-width:480px;}
 .orzech-sales-form #gform_wrapper_1 .signature.padding-right {padding-inline-end:15px;}
 .orzech-sales-form #gform_wrapper_1 .signature.padding-left {padding-inline-start:15px;}
}
@media (max-width:999px) {
 .orzech-sales-form #gform_wrapper_1,
 .orzech-sales-form #gform_wrapper_1 .gform-theme--framework {
  --gf-ctrl-size-lg:50px;--gf-font-size-primary:16px;--gf-ctrl-font-size:16px;--gf-ctrl-padding-x:15px;
  --gf-ctrl-label-font-size-primary:16px;--gf-ctrl-label-font-size-secondary:16px;
 }
 .orzech-sales-form #gform_wrapper_1 .gsection_title {font-size:14px;line-height:2.7;margin-bottom:10px;}
 .orzech-sales-form #gform_wrapper_1 .warranties-info > .gfield--width-half {grid-column:1/-1;}
 .orzech-sales-form #gform_wrapper_1 :is(.label-left,.label-right) .gfield_label {font-size:15px;}
 .orzech-sales-form #gform_wrapper_1 .label-right input {min-height:50px;}
 .orzech-sales-form #gform_wrapper_1 .products-box:not(.hidden_label) .gfield_label {font-size:14px;line-height:1.5;min-height:40px;letter-spacing:.04em;}
}
@media (max-width:689px) {
 .orzech-sales-form #gform_wrapper_1 .products-box:not(.hidden_label) .gfield_label {font-size:12px;min-height:42px;}
 .orzech-sales-form #gform_wrapper_1 .products-box input {padding-inline:4px;}
 .orzech-sales-form #gform_wrapper_1 .gsection_title {flex-wrap:wrap;gap:8px;line-height:1.8;margin-bottom:18px;}
 .orzech-sales-form #gform_wrapper_1 .label-left {gap:12px;}
 .orzech-sales-form #gform_wrapper_1 .label-left .ginput_container {flex-basis:45%;}
 .orzech-sales-form #gform_wrapper_1 .signature {padding:0;margin-block-start:16px;}
}

/* Core RichText has no brush underline; decorate only this opt-in phrase with
   the existing live-site artwork, keeping the text editable in its Paragraph. */
.orzech-quick-approvals {display:inline-block;position:relative;}
.orzech-quick-approvals::after {
 content:"";position:absolute;top:99%;left:-3%;width:95%;height:30px;
 background:url("../../uploads/2026/06/underline.svg") left top/contain no-repeat;
 pointer-events:none;
}

/* Header-only desktop heading sizing. Core's native viewport settings cannot
   express the quote-rail/gutter boundaries; panels and mobile keep native type. */
@media (min-width: 1025px) {
  .orzech-header-main {
    --orzech-desktop-menu-size: clamp(13px, calc(4vw - 28px), 16px);
  }
  .orzech-header-main .is-style-orzech-desktop-phone .wp-block-button__link {
    white-space: nowrap;
  }
  .orzech-header-main nav.is-style-orzech-header-menu .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .beanstalk-mega-item > :is(.beanstalk-mega-toggle, .wp-block-navigation-item__content) {
    font-size: var(--orzech-desktop-menu-size);
  }
}
@media (min-width: 1230px) {
  .orzech-header-main { --orzech-desktop-menu-size: 16px; }
}
@media (min-width: 1250px) {
  .orzech-header-main { --orzech-desktop-menu-size: clamp(13px, calc(4vw - 37px), 16px); }
}
@media (min-width: 1380px) {
  .orzech-header-main { --orzech-desktop-menu-size: clamp(13px, calc(3.75vw - 38.75px), 16px); }
}
@media (min-width: 1500px) {
  .orzech-header-main { --orzech-desktop-menu-size: 16px; }
}
