/* =====================================================================
   Dreamcleen v2 - ONE consistent button style for the whole site
   ---------------------------------------------------------------------
   - every button is a pill (same roundness as the gallery tabs), no underline
   - every button has a 1.5px navy border all the time, so nothing changes
     size or "pops" on hover
   - NAVY buttons (most): hover / press / focus -> white with navy border,
     navy text and navy icon
   - WHITE buttons (the "Get A Qoute" links under each service): hover /
     press / focus -> navy with white text and white icon
   - kills the WordPress theme's pink-red (#c36) hover/focus colour on
     <button> elements (form buttons, menu, gallery arrows, lightbox, popup)
   Loaded on every page, after the Elementor/theme styles. <<< = edit me.
   ===================================================================== */
:root {
  --dc-navy: #111C52;                 /* <<< brand navy */
  --dc-btn-radius: 12px;              /* <<< corner roundness (999px = full pill) */
  --dc-btn-border: 1.5px;
}

/* ---------- Elementor buttons (links + form submit buttons) ---------- */
.elementor-widget-button .elementor-button,
.elementor-form .elementor-button,
a.elementor-button {
  border: var(--dc-btn-border) solid var(--dc-navy) !important;
  border-radius: var(--dc-btn-radius) !important;
  background-color: var(--dc-navy) !important;
  color: #fff !important;
  text-decoration: none !important;
  transition: background-color .25s ease, color .25s ease, border-color .25s ease !important;
}
.elementor-button *,
.elementor-button:hover *,
.elementor-button:focus * { text-decoration: none !important; }
.elementor-button .elementor-button-text,
.elementor-button .elementor-button-icon,
.elementor-button .elementor-button-icon i { color: inherit !important; }
.elementor-button svg,
.elementor-button svg path { fill: currentColor !important; }
.elementor-button svg[fill="none"] { fill: none !important; }   /* icon frame stays transparent, the path takes the colour */

.elementor-widget-button .elementor-button:hover,
.elementor-widget-button .elementor-button:focus,
.elementor-widget-button .elementor-button:active,
.elementor-form .elementor-button:hover,
.elementor-form .elementor-button:focus,
.elementor-form .elementor-button:active,
a.elementor-button:hover,
a.elementor-button:focus,
a.elementor-button:active {
  background-color: #fff !important;
  color: var(--dc-navy) !important;
  border-color: var(--dc-navy) !important;
}

/* white-by-default buttons (the "Get A Qoute" link on every service card, homepage + Services page) */
.elementor-element-9e1406b .elementor-button, .elementor-element-4d1918a .elementor-button,
.elementor-element-5802de3 .elementor-button, .elementor-element-37e0785 .elementor-button,
.elementor-element-707fa68 .elementor-button, .elementor-element-0500530 .elementor-button,
.elementor-element-3d0ef40 .elementor-button, .elementor-element-b9bf48a .elementor-button,
.elementor-element-c8c1a2d .elementor-button, .elementor-element-1b28883 .elementor-button,
.elementor-element-3fa7b5d .elementor-button, .elementor-element-b6a2c50 .elementor-button,
.elementor-element-2e1dcf4 .elementor-button, .elementor-element-33e7d40 .elementor-button {
  background-color: #fff !important;
  color: var(--dc-navy) !important;
}
.elementor-element-9e1406b .elementor-button:is(:hover, :focus, :active), .elementor-element-4d1918a .elementor-button:is(:hover, :focus, :active),
.elementor-element-5802de3 .elementor-button:is(:hover, :focus, :active), .elementor-element-37e0785 .elementor-button:is(:hover, :focus, :active),
.elementor-element-707fa68 .elementor-button:is(:hover, :focus, :active), .elementor-element-0500530 .elementor-button:is(:hover, :focus, :active),
.elementor-element-3d0ef40 .elementor-button:is(:hover, :focus, :active), .elementor-element-b9bf48a .elementor-button:is(:hover, :focus, :active),
.elementor-element-c8c1a2d .elementor-button:is(:hover, :focus, :active), .elementor-element-1b28883 .elementor-button:is(:hover, :focus, :active),
.elementor-element-3fa7b5d .elementor-button:is(:hover, :focus, :active), .elementor-element-b6a2c50 .elementor-button:is(:hover, :focus, :active),
.elementor-element-2e1dcf4 .elementor-button:is(:hover, :focus, :active), .elementor-element-33e7d40 .elementor-button:is(:hover, :focus, :active) {
  background-color: var(--dc-navy) !important;
  color: #fff !important;
}

/* keyboard focus ring (doesn't change the size) */
.elementor-button:focus-visible { outline: 3px solid #61CE70 !important; outline-offset: 2px; }

/* ---------- our own buttons: same pill + colour rules ---------- */
/* phone popup "Send message" button and the phone number button in the mobile menu */
.dc-quick-form button[type="submit"],
.dc-menu .dc-menu__call {
  border: var(--dc-btn-border) solid var(--dc-navy) !important;
  border-radius: var(--dc-btn-radius) !important;
  background: var(--dc-navy) !important;
  color: #fff !important;
  text-decoration: none !important;
  transition: background-color .25s ease, color .25s ease !important;
}
.dc-quick-form button[type="submit"]:is(:hover, :focus, :active),
.dc-menu .dc-menu__call:is(:hover, :focus, :active) {
  background: #fff !important;
  color: var(--dc-navy) !important;
}
.dc-menu .dc-menu__call svg { transition: fill .25s ease; }
.dc-menu .dc-menu__call:is(:hover, :focus, :active) svg { fill: var(--dc-navy) !important; }

/* ---------- stop the theme's pink-red on our <button>s (hover / tap / focus) ---------- */
button.dc-fab:is(:hover, :focus, :active) { background: var(--dc-navy) !important; color: #fff !important; }
button.dc-burger:is(:focus, :active) { background: var(--dc-navy) !important; }
button.dc-burger:hover { background: #1b2a73 !important; }
button.dc-hg__tab:is(:focus, :active):not(.is-active):not(:hover) { background: #fff !important; color: var(--dc-navy) !important; }
button.dc-hg__tab:is(:hover, .is-active) { background: var(--dc-navy) !important; color: #fff !important; }
button.dc-hg__arrow:is(:focus, :active) { background: var(--dc-navy) !important; color: #fff !important; }
button.dc-hg__arrow:hover { background: #1b2a73 !important; }
button.dc-hero__dot:is(:hover, :focus, :active):not(.is-active) { background: transparent !important; }
button.dc-hero__dot.is-active { background: #fff !important; }
button.dc-quick__close:is(:hover, :focus, :active),
button.dc-hlb__btn:is(:focus, :active),
button.dc-lb__btn:is(:focus, :active) { background: rgba(255, 255, 255, .14) !important; color: #fff !important; }
button.dc-hlb__btn:hover,
button.dc-lb__btn:hover { background: rgba(255, 255, 255, .25) !important; color: #fff !important; }
button.dc-hlb__thumb:is(:hover, :focus, :active),
button.dc-lb__thumb:is(:hover, :focus, :active) { background: none !important; }

/* gallery service tabs use the same roundness as the buttons */
.dc-hg__tab { border-radius: var(--dc-btn-radius) !important; }
