/* ==========================================================================
   TOPPERS — Elementor Design System & Compatibility Bridge
   ========================================================================== */

:root {
  /* Design Tokens Bridge for Elementor Kits */
  --toppers-gold: var(--gold, #c99a3b);
  --toppers-gold-light: var(--gold-light, #e9c877);
  --toppers-gold-deep: var(--gold-deep, #9c7420);
  --toppers-navy: var(--navy, #1c2f5e);
  --toppers-navy-2: var(--navy-2, #2a4380);
  --toppers-ink: var(--ink, #0e1730);
  --toppers-ink-soft: var(--ink-soft, #4a5170);
  --toppers-paper: var(--paper, #fbf8f1);
  --toppers-paper-2: var(--paper-2, #f1eada);
  --toppers-maxw: var(--maxw, 1360px);
}

/* Page wrapper reset when edited with Elementor */
.elementor-widget[class*="elementor-widget-toppers-"] {
  font-family: var(--f-body);
  --kit-widget-spacing: 0px;
  width: 100%;
  max-width: 100%;
}

.elementor-widget[class*="elementor-widget-toppers-"] > .elementor-widget-container {
  padding: 0;
  margin: 0;
  max-width: none;
}

.elementor-page .elementor-section.elementor-section-boxed > .elementor-container,
.elementor-page .elementor-section.elementor-section-full_width > .elementor-container {
  max-width: 100%;
  width: 100%;
}

.elementor-page .elementor-column-gap-default > .elementor-column > .elementor-element-populated,
.elementor-page .elementor-column-gap-narrow > .elementor-column > .elementor-element-populated,
.elementor-page .elementor-column-gap-extended > .elementor-column > .elementor-element-populated,
.elementor-page .elementor-column-gap-wide > .elementor-column > .elementor-element-populated,
.elementor-page .elementor-column-gap-wider > .elementor-column > .elementor-element-populated {
  padding: 0;
}

.elementor-widget[class*="elementor-widget-toppers-native-"] {
  font-family: var(--f-body);
}

.elementor-widget[class*="elementor-widget-toppers-native-"] iframe {
  line-height: inherit;
}

.elementor-editor-active .elementor-widget[class*="elementor-widget-toppers-native-"] .reveal {
  opacity: 1;
  transform: none;
}

.elementor-page .site-main,
.toppers-elementor-page .site-main {
  padding: 0;
  min-height: auto;
}

/* Container Width Bridge: Match Toppers --maxw in Elementor Boxed Sections & Containers */
.elementor-page .elementor-section.elementor-section-boxed > .elementor-container,
.elementor-page .e-con.e-con-boxed > .e-con-inner {
  max-width: var(--toppers-maxw, 1360px);
}

.elementor-widget-container > .section,
.elementor-widget-container > .section--alt,
.elementor-widget-container > .section--navy,
.elementor-widget-container > .section--tight,
.elementor-widget-container > .hero-slider-wrapper,
.elementor-widget-container > .page-hero {
  width: 100%;
}

/* Responsive Image Handling */
.elementor-widget-image img {
  max-width: 100%;
  height: auto;
}

/* Typography resets inside Elementor content */
.elementor-widget-text-editor ul,
.elementor-widget-theme-post-content ul,
.entry-content ul {
  list-style: disc;
  padding-inline-start: 1.4em;
  margin: 0 0 1em;
}

.elementor-widget-text-editor ol,
.entry-content ol {
  list-style: decimal;
  padding-inline-start: 1.4em;
  margin: 0 0 1em;
}

/* Elementor Editor Active Overrides */
.elementor-editor-active .site-header {
  z-index: 10;
}

.elementor-editor-active .wa-float {
  display: none !important;
}

/* Logos & Identity */
.footer-brand img,
.mobile-nav-top img {
  height: 48px;
  width: auto;
  max-width: 240px;
  object-fit: contain;
  display: block;
}

.brand-text {
  font-family: var(--f-display);
  font-weight: 800;
  font-size: 22px;
  color: inherit;
}

/* Screen reader text */
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* Default Content Spacing */
.page-default-content {
  padding: 60px 0 80px;
}

.page-default-content .container {
  max-width: 860px;
}

/* Search Form Widget Styling */
.search-form {
  display: flex;
  gap: 10px;
}

.search-form input[type="search"] {
  flex: 1;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm, 10px);
  font-family: inherit;
}

/* Testimonial Avatars */
.t-avatar img,
img.t-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
}

/* Dynamic Stats Grid Responsive */
@media (max-width: 768px) {
  .why-stats {
    flex-direction: column !important;
    gap: 24px !important;
  }
}
