/*
  Theme Name: SHEQGuard Elementor
  Theme URI: https://sheqguard.co.za/
  Version: 1.0.13
  Template: hello-elementor
  Author: Comsys Web Hosting
  Author URI: https://comsys.co.za/
  Description: SHEQGuard child theme for Hello Elementor
  Text Domain: sheqguard-elementor
  License: GNU General Public License v2 or later
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* Accent words in Elementor headings: <em> = green, <b> = amber (Elementor strips class attributes from text) */
.e-heading-base em { font-style: normal; color: #1d9e75; }
.e-heading-base b, .e-heading-base strong { font-weight: inherit; color: #f5a623; }

/* Back to top button (markup in functions.php, behaviour in js/back-to-top.js) */
.sg-back-to-top { position: fixed; right: 28px; bottom: 96px; z-index: 999; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: 1px solid #2a3142; border-radius: 50%; background: #1d9e75; color: #fff; box-shadow: 0 8px 24px rgba(0,0,0,0.35); cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity 0.2s, transform 0.2s, visibility 0.2s, background-color 0.15s; }
.sg-back-to-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.sg-back-to-top:hover { background: #157a5a; }
.sg-back-to-top:focus-visible { outline: 3px solid #9ee55a; outline-offset: 3px; }
@media (max-width: 767px) { .sg-back-to-top { right: 16px; bottom: 16px; width: 44px; height: 44px; } }
@media (prefers-reduced-motion: reduce) { .sg-back-to-top { transition: none; } }
/* Elementor's kit styles every <button>; keep the back-to-top button round with its arrow visible */
button.sg-back-to-top, button.sg-back-to-top:hover, button.sg-back-to-top:focus { padding: 0 !important; border-radius: 50% !important; min-width: 0; line-height: 1; }
button.sg-back-to-top svg { flex-shrink: 0; width: 20px; height: 20px; }

/* FiboSearch in the header: icon before the burger on tablet/mobile; thumbnails without the white frame */
@media (max-width: 1024px) { .elementor-location-header .elementor-widget-shortcode:has(.dgwt-wcas-search-wrapp) { order: -1; } }
.dgwt-wcas-suggestion .dgwt-wcas-si img { border: 0 !important; border-radius: 6px; }

/* Legal pages (body class sg-legal from functions.php): readable column width and spacing between clauses */
.sg-legal section.sg-section:not(.sg-page-hero) > .e-con { max-width: 880px; width: 100%; margin-inline: auto; }
.sg-legal section h2 { margin-top: 1.25em; }
.sg-legal section h2:first-child { margin-top: 0; }

/* Formidable forms: brand buttons instead of the default lime */
.frm_forms .frm_button_submit, .frm_forms button.frm_button_submit, .frm_forms .frm_add_form_row, .frm_forms .frm_remove_form_row { background: #1d9e75 !important; border-color: #1d9e75 !important; color: #fff !important; border-radius: 8px !important; font-weight: 600; }
.frm_forms .frm_button_submit:hover, .frm_forms .frm_add_form_row:hover, .frm_forms .frm_remove_form_row:hover { background: #157a5a !important; border-color: #157a5a !important; }
.frm_forms .frm_button_submit { padding: 12px 24px !important; font-size: 15px !important; }
.frm_forms .frm_remove_form_row { background: transparent !important; color: #c0392b !important; border-color: #e3b4ae !important; }

/* Floating WhatsApp chat button (back-to-top sits above it). */
.sg-whatsapp { position: fixed; right: 24px; bottom: 24px; z-index: 999; display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: #25d366; color: #fff !important; box-shadow: 0 8px 24px rgba(0,0,0,0.35); transition: transform 0.15s, background-color 0.15s; }
.sg-whatsapp:hover, .sg-whatsapp:focus-visible { background: #1ebe5b; transform: scale(1.06); }
@media (max-width: 767px) { .sg-whatsapp { right: 16px; bottom: 16px; width: 52px; height: 52px; } .sg-back-to-top { right: 18px; bottom: 80px; } }
