﻿/* ============================================================
   Sai DTH - brand CSS
   Covers WPForms styling and the few hover/behaviour details
   Elementor controls cannot reach. Loaded site-wide.
   ============================================================ */

/* ---------- WPForms: match the site design system ---------- */
#sd-form-card .wpforms-form .wpforms-field-label {
  font-family: "Archivo", sans-serif;
  font-weight: 700;
  font-size: 0.9rem;
  color: #0F1B2D;
  margin-bottom: 8px;
}
#sd-form-card .wpforms-form .wpforms-required-label { color: #D81E2E; }

#sd-form-card .wpforms-form input[type="text"],
#sd-form-card .wpforms-form input[type="email"],
#sd-form-card .wpforms-form input[type="tel"],
#sd-form-card .wpforms-form input[type="number"],
#sd-form-card .wpforms-form select,
#sd-form-card .wpforms-form textarea {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1rem;
  color: #0F1B2D;
  padding: 14px 16px;
  border: 1px solid #E3E9F2;
  border-radius: 8px;
  background: #F4F7FB;
  width: 100%;
  box-shadow: none;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
#sd-form-card .wpforms-form textarea { min-height: 130px; resize: vertical; }

#sd-form-card .wpforms-form input:focus,
#sd-form-card .wpforms-form select:focus,
#sd-form-card .wpforms-form textarea:focus {
  outline: none;
  border-color: #D81E2E;
  background: #FFFFFF;
  box-shadow: 0 0 0 4px rgba(216,30,46,.11);
}
#sd-form-card .wpforms-form ::placeholder { color: #8494AC; opacity: 1; }
#sd-form-card .wpforms-form .wpforms-field { padding: 0 0 20px 0; }

#sd-form-card .wpforms-form .wpforms-field-checkbox label,
#sd-form-card .wpforms-form .wpforms-field-description {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: .93rem;
  color: #55637A;
  line-height: 1.6;
}
#sd-form-card .wpforms-form input[type="checkbox"] { accent-color: #D81E2E; width: 18px; height: 18px; }

#sd-form-card .wpforms-form button[type="submit"] {
  font-family: "Archivo", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: #FFFFFF;
  background: #D81E2E;
  border: 2px solid transparent;
  border-radius: 999px;
  padding: 16px 34px;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(216,30,46,.32);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
#sd-form-card .wpforms-form button[type="submit"]:hover {
  background: #BE1626;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(216,30,46,.40);
}
#sd-form-card .wpforms-form .wpforms-error {
  color: #BE1626;
  font-size: .88rem;
  font-family: "Plus Jakarta Sans", sans-serif;
}
#sd-form-card .wpforms-form input.wpforms-error,
#sd-form-card .wpforms-form select.wpforms-error,
#sd-form-card .wpforms-form textarea.wpforms-error { border-color: #D81E2E; }
#sd-form-card .wpforms-confirmation-container-full {
  background: #FDECEE;
  border: 1px solid rgba(216,30,46,.25);
  border-left: 5px solid #D81E2E;
  border-radius: 14px;
  color: #0F1B2D;
}

/* ---------- Accordion: match the card system ---------- */
.elementor-accordion .elementor-accordion-item {
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 12px;
  border: 1px solid #E3E9F2 !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.elementor-accordion .elementor-accordion-item:has(.elementor-active) {
  border-color: #D81E2E !important;
  box-shadow: 0 2px 8px rgba(11,37,69,.06);
}
.elementor-accordion .elementor-tab-title { transition: color .18s ease; }

/* ---------- Image zoom on hover (gallery + cards) ---------- */
.elementor-widget-image img { transition: transform .45s ease; }

/* ---------- Icon-list inline pills (service areas / quick jump) ---------- */
#sd-areas .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item,
#sd-about-cover .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item,
#sd-jump .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item {
  border: 1px solid #E3E9F2;
  border-radius: 999px;
  padding: 10px 18px;
  margin: 0 10px 10px 0;
  background: #FFFFFF;
  transition: border-color .18s ease, color .18s ease, transform .18s ease;
}
#sd-jump .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:hover,
#sd-areas .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:hover {
  border-color: #D81E2E;
  transform: translateY(-2px);
}
#sd-about-cover .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item {
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.17);
}

/* ---------- Breadcrumb on page heroes ---------- */
#sd-pagehero .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item + .elementor-icon-list-item::before {
  content: "â€º";
  color: #6D86A6;
  margin-right: 8px;
}
#sd-pagehero .elementor-icon-list-item a { color: #BFD1E7; font-weight: 600; }
#sd-pagehero .elementor-icon-list-item a:hover { color: #FFFFFF; }

/* ---------- Xpro / theme nav link colours ---------- */
.xpro-elementor-nav-menu a,
.xpro-nav-menu-container a {
  font-family: "Archivo", sans-serif;
  font-weight: 600;
  color: #0B2545;
  transition: color .15s ease;
}
.xpro-elementor-nav-menu a:hover,
.xpro-nav-menu-container a:hover,
.xpro-elementor-nav-menu .current-menu-item > a { color: #D81E2E; }

/* ---------- Respect reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ============================================================
   Sai DTH - floating WhatsApp bubble + mobile call bar
   Appended to the brand stylesheet.
   ============================================================ */

/* Floating WhatsApp bubble */
#sd-float-wa {
  position: fixed !important;
  right: 20px;
  bottom: 20px;
  z-index: 130;
  width: auto !important;
  transition: transform .2s ease;
}
#sd-float-wa .elementor-button {
  line-height: 1;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
#sd-float-wa .elementor-button:hover { transform: scale(1.08); }
#sd-float-wa .elementor-button-content-wrapper { justify-content: center; }
#sd-float-wa .elementor-button-icon { margin: 0 !important; }
#sd-float-wa .elementor-button-text { display: none; }

/* Mobile sticky call bar - hidden on desktop */
#sd-callbar {
  display: none !important;
  position: fixed !important;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 125;
  width: 100% !important;
  border-top: 1px solid var(--e-global-color-line, #E3E9F2);
  box-shadow: 0 -6px 20px rgba(11,37,69,.12);
}

@media (max-width: 767px) {
  #sd-callbar { display: flex !important; }
  /* keep the bubble clear of the bar */
  #sd-float-wa { bottom: 84px; right: 14px; }
  /* stop the bar covering page content */
  body { padding-bottom: 76px; }
}

/* Never let either overlap the WP admin bar oddly */
.admin-bar #sd-float-wa { bottom: 20px; }
@media (max-width: 767px) {
  .admin-bar #sd-float-wa { bottom: 84px; }
}

