/* Elementor header template (elementor-622), used by HeaderHome.tsx. */
/* /wp-content/uploads/elementor/css/post-622.css */
.elementor-622 .elementor-element.elementor-element-507d609 > .elementor-container{max-width:942px;}.elementor-622 .elementor-element.elementor-element-507d609:not(.elementor-motion-effects-element-type-background){background-color:#FFFFFF00;}.elementor-622 .elementor-element.elementor-element-507d609{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-622 .elementor-element.elementor-element-507d609 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-622 .elementor-element.elementor-element-8c863c3:not(.elementor-motion-effects-element-type-background) > .elementor-column-wrap{background-color:#02010100;}.elementor-622 .elementor-element.elementor-element-8c863c3 > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-622 .elementor-element.elementor-element-8c863c3 > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-622 .elementor-element.elementor-element-e807d6c{color:#FFFFFF;font-size:18px;}.elementor-622 .elementor-element.elementor-element-5a2e836{--grid-template-columns:repeat(0, auto);--icon-size:18px;--grid-column-gap:5px;--grid-row-gap:0px;}.elementor-622 .elementor-element.elementor-element-5a2e836 .elementor-widget-container{text-align:center;}.elementor-622 .elementor-element.elementor-element-5a2e836 .elementor-social-icon{background-color:#02010100;}.elementor-622 .elementor-element.elementor-element-5a2e836 .elementor-social-icon i{color:#FFFFFF;}.elementor-622 .elementor-element.elementor-element-5a2e836 .elementor-social-icon svg{fill:#FFFFFF;}.elementor-622 .elementor-element.elementor-element-c7c10fc:not(.elementor-motion-effects-element-type-background){background-color:#02010100;}.elementor-622 .elementor-element.elementor-element-c7c10fc{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:-4px;margin-bottom:2px;z-index:0;}.elementor-622 .elementor-element.elementor-element-c7c10fc > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-622 .elementor-element.elementor-element-5edbf78 .elementor-image img{width:99%;}body:not(.rtl) .elementor-622 .elementor-element.elementor-element-5edbf78{left:37px;}.elementor-622 .elementor-element.elementor-element-5edbf78{top:-28px;}.elementor-622 .elementor-element.elementor-element-7050008.elementor-column.elementor-element[data-element_type="column"] > .elementor-column-wrap.elementor-element-populated > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-622 .elementor-element.elementor-element-d1ff854 .elementor-menu-toggle{margin:0 auto;background-color:#FFFFFF;}.elementor-622 .elementor-element.elementor-element-d1ff854 .elementor-nav-menu .elementor-item{font-size:18px;}.elementor-622 .elementor-element.elementor-element-d1ff854 .elementor-nav-menu--main .elementor-item{color:#FFFFFF;}.elementor-622 .elementor-element.elementor-element-d1ff854 div.elementor-menu-toggle{color:#000000;}body:not(.rtl) .elementor-622 .elementor-element.elementor-element-d1ff854{left:0px;}.elementor-622 .elementor-element.elementor-element-d1ff854{top:0px;}.elementor-622 .elementor-element.elementor-element-eec524d.elementor-column.elementor-element[data-element_type="column"] > .elementor-column-wrap.elementor-element-populated > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-622 .elementor-element.elementor-element-b50eca1 .elementor-button{font-weight:bold;background-color:#98D6FB;}.elementor-622 .elementor-element.elementor-element-b50eca1 > .elementor-widget-container{margin:0px 0px 2px 0px;}@media(min-width:768px){.elementor-622 .elementor-element.elementor-element-f57e6f2{width:17.844%;}.elementor-622 .elementor-element.elementor-element-7050008{width:62.546%;}.elementor-622 .elementor-element.elementor-element-eec524d{width:19.274%;}}@media(max-width:1024px) and (min-width:768px){.elementor-622 .elementor-element.elementor-element-8c863c3{width:100%;}.elementor-622 .elementor-element.elementor-element-0427d3b{width:100%;}.elementor-622 .elementor-element.elementor-element-f57e6f2{width:25%;}.elementor-622 .elementor-element.elementor-element-7050008{width:39%;}.elementor-622 .elementor-element.elementor-element-eec524d{width:36%;}}@media(max-width:1024px){.elementor-622 .elementor-element.elementor-element-507d609{margin-top:0px;margin-bottom:-31px;}.elementor-622 .elementor-element.elementor-element-e807d6c .elementor-text-editor{text-align:center;}.elementor-622 .elementor-element.elementor-element-c7c10fc{margin-top:21px;margin-bottom:0px;}.elementor-622 .elementor-element.elementor-element-5edbf78 .elementor-image img{width:55%;}.elementor-622 .elementor-element.elementor-element-5edbf78 > .elementor-widget-container{margin:0px 0px 0px 0px;}body:not(.rtl) .elementor-622 .elementor-element.elementor-element-5edbf78{left:1px;}.elementor-622 .elementor-element.elementor-element-5edbf78{top:-17px;}body:not(.rtl) .elementor-622 .elementor-element.elementor-element-d1ff854{left:0px;}.elementor-622 .elementor-element.elementor-element-d1ff854{top:4px;}}@media(max-width:767px){.elementor-622 .elementor-element.elementor-element-e807d6c .elementor-text-editor{text-align:center;}.elementor-622 .elementor-element.elementor-element-5a2e836{--grid-template-columns:repeat(1, auto);}.elementor-622 .elementor-element.elementor-element-5a2e836 .elementor-widget-container{text-align:center;}.elementor-622 .elementor-element.elementor-element-5a2e836 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-622 .elementor-element.elementor-element-5edbf78 .elementor-image img{width:45%;}body:not(.rtl) .elementor-622 .elementor-element.elementor-element-5edbf78{left:-1px;}.elementor-622 .elementor-element.elementor-element-5edbf78{top:61px;}.elementor-622 .elementor-element.elementor-element-7050008 > .elementor-element-populated{margin:0px 0px 0px 0px;}}/* Start custom CSS for text-editor, class: .elementor-element-e807d6c *//* End custom CSS */

/* Homepage header tuning (not from WP). The scraped logo widget renders the
   source image at ~128px, dwarfing the ~20px social icons and ~48px button
   next to it. Pin it to a size that matches the rest of the header. */
.elementor-622 .elementor-element-5edbf78 .elementor-image img { width: 56px !important; height: 56px !important; }
.elementor-622 .elementor-element-5edbf78 { top: -4px !important; left: 24px !important; right: auto !important; }

@media (max-width: 767px) {
  /* At this width the icon row/hamburger/button recenter and there's no
     clear spot left for the floating badge without it colliding with
     something; the "Your Courteous..." text and hamburger already carry
     the branding here, so drop the mark rather than crowd it in. */
  .elementor-622 .elementor-element-5edbf78 { display: none !important; }
}

/* Mobile header (not from WP). The Elementor layout stacks the badge, button
   and hamburger with absolute offsets that collide on phones (the hamburger
   sat on top of the button and the badge had to be hidden). Lay them out as
   one row instead: badge | Schedule Service | menu, with the dropdown menu
   spanning the full width under the row. */
@media (max-width: 767px) {
  .elementor-622 .elementor-element-507d609 { margin-bottom: 0 !important; }
  .elementor-622 .elementor-element-c7c10fc { margin-top: 8px !important; margin-bottom: 0 !important; }
  .elementor-622 .elementor-element-c7c10fc > .elementor-container,
  .elementor-622 .elementor-element-c7c10fc .elementor-row { position: relative; }
  .elementor-622 .elementor-element-c7c10fc .elementor-row { flex-wrap: nowrap; align-items: center; gap: 12px; padding: 8px 16px 12px; box-sizing: border-box; }
  .elementor-622 .elementor-element-c7c10fc .elementor-top-column { width: auto !important; min-height: 0; }
  .elementor-622 .elementor-element-c7c10fc .elementor-column-wrap { padding: 0 !important; width: 100%; }
  .elementor-622 .elementor-element-c7c10fc .elementor-widget-wrap { width: 100%; }

  .elementor-622 .elementor-element-f57e6f2 { order: 1; flex: 0 0 auto; }
  .elementor-622 .elementor-element-5edbf78 { display: block !important; position: static !important; top: auto !important; left: auto !important; width: auto !important; }
  .elementor-622 .elementor-element-5edbf78 .elementor-image img { width: 52px !important; height: 52px !important; }

  .elementor-622 .elementor-element-eec524d { order: 2; flex: 1 1 auto; min-width: 0; }
  .elementor-622 .elementor-element-b50eca1 { width: 100%; margin: 0 !important; }
  .elementor-622 .elementor-element-b50eca1 .elementor-button { display: block; width: 100%; padding: 13px 10px; font-size: 14px; white-space: nowrap; text-align: center; }

  .elementor-622 .elementor-element-7050008 { order: 3; flex: 0 0 44px; width: 44px !important; }
  .elementor-622 .elementor-element-7050008,
  .elementor-622 .elementor-element-7050008 .elementor-column-wrap,
  .elementor-622 .elementor-element-7050008 .elementor-widget-wrap,
  .elementor-622 .elementor-element-d1ff854 .elementor-widget-container { position: static !important; }
  .elementor-622 .elementor-element-7050008 .elementor-column-wrap,
  .elementor-622 .elementor-element-d1ff854 { position: static !important; width: 44px !important; }
  .elementor-622 .elementor-element-d1ff854 .elementor-nav-menu--main { display: none !important; }
  .elementor-622 .elementor-element-d1ff854 .elementor-menu-toggle { width: 44px; height: 44px; margin: 0 !important; }
  .elementor-622 .elementor-element-d1ff854 nav.elementor-nav-menu--dropdown { position: absolute !important; left: 0 !important; right: 0; top: 100%; width: 100% !important; z-index: 1000; box-shadow: 0 12px 24px rgba(0,0,0,0.18); }
}

/* Sticky nav (not from WP). On desktop, useSiteBehavior pins this row to the
   top once the page scrolls past it, but it's transparent (it was designed to
   sit over the hero photo), so page content showed through behind the white
   links. Give the pinned bar a solid background. */
.elementor-622 .elementor-element-c7c10fc { transition: background-color 0.25s ease, box-shadow 0.25s ease; }
.elementor-622 .elementor-element.elementor-element-c7c10fc.elementor-sticky--active {
  background-color: #10243B !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
  margin-top: 0 !important;
  padding-top: 8px;
  padding-bottom: 8px;
}
