/* Signed-in users (2026-10-15): WordPress's admin bar sat on top of the fixed site header (logo cut, menu button partly covered).
   Keep the admin bar pinned on phones and place the header just below it. Visitors who are not signed in are unaffected. */
@media (max-width: 600px) { body.admin-bar #wpadminbar { position: fixed !important; } }
@media (max-width: 782px) { body.admin-bar .vb-site-header { top: 46px !important; } }
@media (min-width: 783px) { body.admin-bar .vb-site-header { top: 32px !important; } }

/* SOP QC N (2026-10-16): tap targets at least 44 x 44 px on phones. Desktop is unchanged. */
@media (max-width: 767px) {
  /* slider and video dots: same bars, more room between them, a 44 px tap area each */
  .e-con:has(> [aria-label^="Slide "]), .e-con:has(> [aria-label^="Video "][aria-label*=" of "]), .e-con:has(> [aria-label^="Videos "]) { column-gap: 30px !important; }
  [aria-label^="Slide "], [aria-label^="Video "][aria-label*=" of "], [aria-label^="Videos "] { position: relative !important; }
  [aria-label^="Slide "]::after, [aria-label^="Video "][aria-label*=" of "]::after, [aria-label^="Videos "]::after { content: ""; position: absolute; left: 50%; top: 50%; width: 44px; height: 44px; transform: translate(-50%, -50%); }
  /* slider arrows */
  .e-button-base[aria-label^="Previous"], .e-button-base[aria-label^="Next"] { min-width: 44px !important; min-height: 44px !important; }
  /* footer link lists and the bottom-bar links: 44 px tap areas, same spacing */
  [data-elementor-type="footer"] .e-con:has(> a.e-button-base + .e-con) > a.e-button-base { display: inline-block !important; padding-block: 9px !important; margin-block: -9px !important; }
  [data-elementor-type="footer"] .e-paragraph-base a { display: inline-block; padding-block: 14px; margin-block: -14px; }
  /* footer social links */
  [data-elementor-type="footer"] a:is([href*="facebook.com"], [href*="instagram.com"], [href*="youtube.com"], [href*="yelp.com"], [href*="houzz.com"]) { display: inline-flex !important; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; }
  /* breadcrumbs, in-article contents links and short text links: larger tap area, same layout */
  [data-elementor-type="wp-page"] .e-con:has(> a[href="/"]:first-child + :not(a)) > a,
  [data-elementor-type="wp-page"] a.e-button-base[href^="#"]:not([class*="vb-btn"]),
  [data-elementor-type="wp-page"] a.e-button-base:not([class*="vb-btn"]):is([href="/services/"], [href="/areas-we-serve/"], [href="/about/"]) { padding-block: 13px !important; margin-block: -13px !important; }
}

/* Contact page form (2026-10-16): the Elementor form in Vesta's styling (gold accent, Manrope, beige lines). */
.elementor .vb-contact-form .elementor-field-label { font: 700 12px/1.4 Manrope, sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #8A8070; margin-bottom: 8px; }
.elementor .vb-contact-form .elementor-mark-required .elementor-field-label::after { color: var(--color-accent, #C0A06B); }
.elementor .vb-contact-form .elementor-field-textual, .elementor .vb-contact-form .elementor-select-wrapper select { font: 400 15px/1.5 Manrope, sans-serif; color: var(--vb-ink, #1A1A1A); background: #fff; border: 1px solid var(--vb-line, #ECE6DC); border-radius: 4px; min-height: 52px; padding: 13px 16px; box-shadow: none; transition: border-color .2s, box-shadow .2s; }
.elementor .vb-contact-form .elementor-select-wrapper select { padding-right: 40px; }
.elementor .vb-contact-form .elementor-select-wrapper .select-caret-down-wrapper { right: 14px; color: #8A8070; }
.elementor .vb-contact-form textarea.elementor-field-textual { min-height: 120px; resize: vertical; }
.elementor .vb-contact-form .elementor-field-textual::placeholder { color: #A39D93; }
.elementor .vb-contact-form .elementor-field-textual:focus, .elementor .vb-contact-form .elementor-select-wrapper select:focus { border-color: var(--color-accent, #C0A06B); box-shadow: 0 0 0 3px rgba(192, 160, 107, .18); outline: none; }
.elementor .vb-contact-form .elementor-field-type-submit { margin-top: 4px; }
.elementor .vb-contact-form .elementor-button { width: 100%; background: var(--color-accent, #C0A06B); color: #fff; font: 600 16px/1.55 Manrope, sans-serif; padding: 19px 36px; border-radius: 4px; transition: background-color .25s; }
.elementor .vb-contact-form .elementor-button:hover, .elementor .vb-contact-form .elementor-button:focus-visible { background: var(--color-accent-700, #6A5839); color: #fff; }
.elementor .vb-contact-form .elementor-message { font: 500 14px/1.5 Manrope, sans-serif; margin-top: 14px; }

/* Contact page (2026-10-16): less space around the form section, which sits right under the hero. The map now fills the
   column next to the form (Elementor styles), so the old map band and its padding are gone. */
.elementor .vb-section.elementor-element-6a690b6 {
	padding-block: clamp(48px, 5vw, 72px);
}
