/* ==========================================================================
   AmaraWealth — Backbase-Inspired Design System for WordPress / Bullish
   Deep navy palette + electric cyan accent + Libre Franklin light-weight typography
   ========================================================================== */

/* ── Google Fonts loaded via functions.php (Libre Franklin 300/400/500/600) ── */

/* ==========================================================================
   0. BULLISH / WDT VARIABLE OVERRIDES (must load before everything)
   ========================================================================== */

:root {
  /* Override Bullish theme variables */
  --wdtPrimaryColor: #3367ff !important;
  --wdtSecondaryColor: #69feff !important;
  --wdtTertiaryColor: #5c85ff !important;
  --wdtBodyBGColor: #041326 !important;
  --wdtBodyTxtColor: #ced2d7 !important;
  --wdtHeadAltColor: #ffffff !important;
  --wdtLinkColor: #69feff !important;
  --wdtLinkHoverColor: #3367ff !important;
  --wdtBorderColor: rgba(255,255,255,0.08) !important;
  --wdtAccentTxtColor: #ffffff !important;
  --wdtFontTypo_Base: "Libre Franklin", "Trebuchet MS", sans-serif !important;
  --wdtFontTypo_Alt: "Libre Franklin", "Trebuchet MS", sans-serif !important;
  --wdtFontTypo_H1: "Libre Franklin", "Trebuchet MS", sans-serif !important;
  --wdtFontTypo_H2: "Libre Franklin", "Trebuchet MS", sans-serif !important;
  --wdtFontTypo_H3: "Libre Franklin", "Trebuchet MS", sans-serif !important;
  --wdtFontTypo_H4: "Libre Franklin", "Trebuchet MS", sans-serif !important;
  --wdtFontTypo_H5: "Libre Franklin", "Trebuchet MS", sans-serif !important;
  --wdtFontTypo_H6: "Libre Franklin", "Trebuchet MS", sans-serif !important;
  --wdtFontTypo_Ext: "Libre Franklin", "Trebuchet MS", sans-serif !important;

  /* Override WordPress preset colors */
  --wp--preset--color--primary: #3367ff !important;
  --wp--preset--color--secondary: #041326 !important;
  --wp--preset--color--body-bg: #041326 !important;
  --wp--preset--color--body-text: #ced2d7 !important;
  --wp--preset--color--alternate: #ffffff !important;
}

/* ==========================================================================
   1. GLOBAL RESETS & BASE
   ========================================================================== */

body.iq-theme {
  background: var(--iq-bg-depth) !important;
  color: var(--iq-text-primary) !important;
  font-family: var(--iq-font-primary) !important;
  font-size: var(--iq-text-body) !important;
  font-weight: 400;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.iq-theme *::selection {
  background: rgba(51, 103, 255, 0.3);
  color: var(--iq-text-primary);
}

/* ==========================================================================
   2. TYPOGRAPHY
   ========================================================================== */

body.iq-theme h1,
body.iq-theme h2,
body.iq-theme h3,
body.iq-theme h4,
body.iq-theme h5,
body.iq-theme h6 {
  font-family: var(--iq-font-display) !important;
  color: var(--iq-text-primary) !important;
  letter-spacing: 0em !important;
  font-weight: 300 !important;
  text-wrap: balance;
}

body.iq-theme h1 { font-size: var(--iq-text-h1) !important; line-height: 1.1; }
body.iq-theme h2 { font-size: var(--iq-text-h2) !important; line-height: 1.0; }
body.iq-theme h3 { font-size: var(--iq-text-h3) !important; line-height: 1.3; }
body.iq-theme h4 { font-size: var(--iq-text-h4) !important; line-height: 1.3; font-weight: 400 !important; }
body.iq-theme h5 { font-size: var(--iq-text-h5) !important; line-height: 1.3; font-weight: 400 !important; }
body.iq-theme h6 { font-size: var(--iq-text-h6) !important; line-height: 1.3; font-weight: 500 !important; }

/* Display (hero text, even larger than h1) */
body.iq-theme .iq-display,
body.iq-theme .display-heading {
  font-size: var(--iq-text-display) !important;
  font-weight: 300 !important;
  line-height: 1.0;
  letter-spacing: 0em;
}

body.iq-theme p {
  color: var(--iq-text-secondary) !important;
  font-size: var(--iq-text-body);
  line-height: 1.5;
  font-family: var(--iq-font-primary) !important;
  font-weight: 300;
}

body.iq-theme .text-large {
  font-size: var(--iq-text-body-lg);
}

body.iq-theme .text-small {
  font-size: var(--iq-text-body-sm);
}

body.iq-theme .eyebrow {
  font-size: var(--iq-text-eyebrow);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 500;
  color: var(--iq-electric) !important;
}

body.iq-theme a {
  color: var(--iq-electric) !important;
  text-decoration: none !important;
  transition: color var(--iq-transition-fast);
}

body.iq-theme a:hover {
  color: var(--iq-deep-blue-light) !important;
}

/* Heading links inherit heading color, not link color */
body.iq-theme h1 a, body.iq-theme h2 a, body.iq-theme h3 a,
body.iq-theme h4 a, body.iq-theme h5 a, body.iq-theme h6 a {
  color: inherit !important;
}
body.iq-theme h1 a:hover, body.iq-theme h2 a:hover, body.iq-theme h3 a:hover,
body.iq-theme h4 a:hover, body.iq-theme h5 a:hover, body.iq-theme h6 a:hover {
  color: var(--iq-electric) !important;
}

/* Text Utility Classes */
.iq-text-gold { color: var(--iq-deep-blue) !important; } /* legacy alias for iq-text-blue */
.iq-text-champagne { color: var(--iq-electric) !important; }
.iq-text-blue { color: var(--iq-deep-blue) !important; }
.iq-text-cyan { color: var(--iq-electric) !important; }
.iq-text-teal { color: var(--iq-electric) !important; }
.iq-text-teal-light { color: var(--iq-electric-light) !important; }
.iq-text-orange { color: var(--iq-orange) !important; }
.iq-text-muted { color: var(--iq-text-muted) !important; }
.iq-text-primary { color: var(--iq-text-primary) !important; }
.iq-text-secondary { color: var(--iq-text-secondary) !important; }

/* ==========================================================================
   3. HEADER & NAVIGATION
   ========================================================================== */

body.iq-theme #header-wrapper,
body.iq-theme #header,
body.iq-theme header#header {
  background: var(--iq-nav-bg) !important;
  border-bottom: 1px solid var(--iq-border-soft) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

body.iq-theme .wdt-header-tpl {
  background: var(--iq-nav-bg) !important;
}

/* Header background container */
body.iq-theme .wdt-cus-header-bg {
  background: var(--iq-nav-bg) !important;
}

/* Header inner Elementor containers must NOT be transparent */
body.iq-theme .wdt-header-tpl .elementor-section,
body.iq-theme .wdt-header-tpl .e-con,
body.iq-theme #header .e-con {
  background: var(--iq-nav-bg) !important;
}

/* Navigation links */
body.iq-theme #header a,
body.iq-theme .wdt-primary-nav a,
body.iq-theme .wdt-nav-holder a,
body.iq-theme .bullish-menu a,
body.iq-theme .menu-item a {
  color: var(--iq-text-primary) !important;
  font-family: var(--iq-font-primary) !important;
  font-weight: 500 !important;
  font-size: 0.9375rem !important;
  letter-spacing: 0.01em;
  transition: color var(--iq-transition-fast);
}

body.iq-theme #header a:hover,
body.iq-theme .wdt-primary-nav a:hover,
body.iq-theme .menu-item a:hover,
body.iq-theme .current-menu-item > a {
  color: var(--iq-electric) !important;
}

/* Sticky / Scrolled header */
body.iq-theme .header-top-absolute.is-sticky #header,
body.iq-theme .header-on-scroll {
  background: rgba(14, 14, 14, 0.95) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--iq-border-soft) !important;
  box-shadow: var(--iq-shadow-card);
}

/* Mobile menu */
body.iq-theme .wdt-mobile-menu,
body.iq-theme .wdt-responsive-menu {
  background: var(--iq-bg-base) !important;
  border: 1px solid var(--iq-border-soft);
}

/* Hamburger icon */
body.iq-theme .wdt-menu-toggle span,
body.iq-theme .wdt-nav-toggle span {
  background: var(--iq-text-primary) !important;
}

/* Sub-menus / Dropdowns */
body.iq-theme .sub-menu,
body.iq-theme .wdt-submenu,
body.iq-theme .mega-menu-inner {
  background: var(--iq-raised-card) !important;
  border: 1px solid var(--iq-border-soft) !important;
  border-radius: var(--iq-radius-md);
  box-shadow: var(--iq-shadow-elevated);
}

body.iq-theme .sub-menu li a,
body.iq-theme .wdt-submenu li a {
  color: var(--iq-text-secondary) !important;
  border-bottom: 1px solid var(--iq-border-soft) !important;
}

body.iq-theme .sub-menu li a:hover,
body.iq-theme .wdt-submenu li a:hover {
  background: var(--iq-glass-fill-deep) !important;
  color: var(--iq-electric) !important;
}

/* ==========================================================================
   4. BUTTONS
   ========================================================================== */

/* ── Primary CTA (Electric Cyan — Backbase-style) ── */
body.iq-theme .elementor-button,
body.iq-theme .wp-block-button__link,
body.iq-theme .wdt-button,
body.iq-theme .btn-primary,
body.iq-theme .iq-btn-cta {
  background: var(--iq-electric) !important;
  color: var(--iq-bg-depth) !important;
  font-family: var(--iq-font-primary);
  font-weight: 500;
  font-size: var(--iq-text-body);
  letter-spacing: 0em;
  border: none !important;
  border-radius: var(--iq-radius-full) !important;
  padding: 14px 36px !important;
  cursor: pointer;
  transition: all var(--iq-transition-base);
  text-transform: none;
  box-shadow: none;
}

/* Button text and inner spans — always dark on cyan */
body.iq-theme .elementor-button span,
body.iq-theme .elementor-button .elementor-button-text,
body.iq-theme .wdt-button span,
body.iq-theme a.elementor-button,
body.iq-theme a.wdt-button {
  color: var(--iq-bg-depth) !important;
}

body.iq-theme .elementor-button:hover,
body.iq-theme .wp-block-button__link:hover,
body.iq-theme .wdt-button:hover,
body.iq-theme .iq-btn-cta:hover {
  background: var(--iq-deep-blue) !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: var(--iq-shadow-blue) !important;
}

/* ── Secondary / Outline Button ── */
body.iq-theme .btn-secondary,
body.iq-theme .iq-btn-outline {
  background: transparent !important;
  color: var(--iq-electric) !important;
  border: 1.5px solid var(--iq-electric) !important;
  border-radius: var(--iq-radius-full) !important;
  padding: 12px 32px !important;
  font-weight: 500;
  transition: all var(--iq-transition-base);
}

body.iq-theme .btn-secondary:hover,
body.iq-theme .iq-btn-outline:hover {
  background: var(--iq-electric-muted) !important;
  border-color: var(--iq-electric) !important;
  color: #ffffff !important;
}

/* ── Ghost / Text Button ── */
body.iq-theme .iq-btn-ghost {
  background: transparent !important;
  color: var(--iq-text-secondary) !important;
  border: none !important;
  padding: 8px 16px !important;
}

body.iq-theme .iq-btn-ghost:hover {
  color: var(--iq-electric) !important;
}

/* ── Deep Blue CTA Button ── */
body.iq-theme .iq-btn-teal,
body.iq-theme .iq-btn-blue {
  background: var(--iq-deep-blue) !important;
  color: #ffffff !important;
  font-family: var(--iq-font-primary);
  font-weight: 500;
  border: none !important;
  border-radius: var(--iq-radius-full) !important;
  padding: 14px 36px !important;
  cursor: pointer;
  transition: all var(--iq-transition-base);
}

body.iq-theme .iq-btn-teal:hover,
body.iq-theme .iq-btn-blue:hover {
  background: var(--iq-deep-blue-light) !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: var(--iq-shadow-blue) !important;
}

/* ── Deep Blue Outline Button ── */
body.iq-theme .iq-btn-teal-outline,
body.iq-theme .iq-btn-blue-outline {
  background: transparent !important;
  color: var(--iq-deep-blue-light) !important;
  border: 1.5px solid var(--iq-deep-blue) !important;
  border-radius: var(--iq-radius-full) !important;
  padding: 12px 32px !important;
  font-weight: 500;
  transition: all var(--iq-transition-base);
}

body.iq-theme .iq-btn-teal-outline:hover,
body.iq-theme .iq-btn-blue-outline:hover {
  background: rgba(51, 103, 255, 0.1) !important;
  border-color: var(--iq-deep-blue-light) !important;
  color: #ffffff !important;
}

/* ==========================================================================
   5. CARDS & SURFACES
   ========================================================================== */

/* ── Hero Card (featured, blue accent) ── */
body.iq-theme .iq-hero-card,
body.iq-theme .elementor-section[data-id] > .elementor-container {
  /* Applied selectively via Elementor custom classes */
}

.iq-hero-card {
  background: var(--iq-raised-card);
  border: 1px solid var(--iq-border-featured);
  border-radius: var(--iq-radius-lg);
  box-shadow: var(--iq-shadow-blue);
  padding: var(--iq-space-xl);
}

/* ── Feature Card ── */
.iq-feature-card {
  background: var(--iq-glass-fill-light);
  border: 1px solid var(--iq-border-soft);
  border-radius: var(--iq-radius-lg);
  padding: var(--iq-space-xl);
  transition: all var(--iq-transition-base);
}

.iq-feature-card:hover {
  border-color: var(--iq-border-featured);
  box-shadow: var(--iq-shadow-blue);
  transform: translateY(-2px);
}

/* ── Utility Card ── */
.iq-utility-card {
  background: var(--iq-glass-fill-deep);
  border: 1px solid var(--iq-border-soft);
  border-radius: var(--iq-radius-md);
  padding: var(--iq-space-lg);
}

/* ── Glass Card ── */
.iq-glass-card {
  background: var(--iq-glass-fill-light);
  border: 1px solid var(--iq-border-soft);
  border-radius: var(--iq-radius-lg);
  padding: var(--iq-space-xl);
  backdrop-filter: blur(10px);
}

/* Elementor widget boxes → IQ cards */
body.iq-theme .elementor-widget-wdt-icon-box .elementor-widget-container,
body.iq-theme .wdt-icon-box-holder {
  background: var(--iq-glass-fill-light) !important;
  border: 1px solid var(--iq-border-soft) !important;
  border-radius: var(--iq-radius-lg) !important;
  padding: var(--iq-space-xl) !important;
  transition: all var(--iq-transition-base);
}

body.iq-theme .elementor-widget-wdt-icon-box .elementor-widget-container:hover,
body.iq-theme .wdt-icon-box-holder:hover {
  border-color: var(--iq-border-featured) !important;
  box-shadow: var(--iq-shadow-blue);
  transform: translateY(-2px);
}

/* Service boxes */
body.iq-theme .wdt-services-holder,
body.iq-theme .wdt-service-item {
  background: var(--iq-glass-fill-light) !important;
  border: 1px solid var(--iq-border-soft) !important;
  border-radius: var(--iq-radius-lg) !important;
  transition: all var(--iq-transition-base);
}

body.iq-theme .wdt-services-holder:hover,
body.iq-theme .wdt-service-item:hover {
  border-color: var(--iq-border-featured) !important;
  box-shadow: var(--iq-shadow-blue);
}

body.iq-theme .wdt-services-holder *,
body.iq-theme .wdt-service-item * {
  color: var(--iq-text-primary);
}

/* ==========================================================================
   6. ELEMENTOR SECTIONS & CONTAINERS
   ========================================================================== */

body.iq-theme .elementor-section,
body.iq-theme .e-con {
  /* Let each section inherit the dark background */
}

/* Elementor section backgrounds → dark override */
body.iq-theme .elementor-section-wrap > .elementor-section {
  background-color: transparent !important;
}

/* Force dark on inner sections that might have light backgrounds */
body.iq-theme .elementor-inner-section {
  background-color: transparent !important;
}

/* Elementor columns */
body.iq-theme .elementor-column-gap-default > .elementor-column > .elementor-element-populated {
  padding: var(--iq-space-md);
}

/* Elementor headings */
body.iq-theme .elementor-heading-title {
  color: var(--iq-text-primary) !important;
  font-family: var(--iq-font-display) !important;
}

/* Elementor text editor */
body.iq-theme .elementor-text-editor,
body.iq-theme .elementor-text-editor p {
  color: var(--iq-text-secondary) !important;
  font-family: var(--iq-font-primary) !important;
}

/* Elementor divider */
body.iq-theme .elementor-divider-separator {
  border-color: var(--iq-divider-line) !important;
}

/* ==========================================================================
   7. WDT HEADING WIDGET (Bullish-specific)
   ========================================================================== */

body.iq-theme .wdt-heading-holder .wdt-heading-title {
  color: var(--iq-text-primary) !important;
  font-family: var(--iq-font-display) !important;
}

body.iq-theme .wdt-heading-holder .wdt-heading-subtitle {
  color: var(--iq-electric) !important;
  font-family: var(--iq-font-primary) !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: var(--iq-text-eyebrow) !important;
}

body.iq-theme .wdt-heading-holder .wdt-heading-content-wrapper {
  color: var(--iq-text-secondary) !important;
}

/* ==========================================================================
   8. ICONS
   ========================================================================== */

body.iq-theme .elementor-icon,
body.iq-theme .wdt-icon,
body.iq-theme .wdt-icon-box-holder .wdt-icon-holder i,
body.iq-theme .wdt-icon-box-holder .wdt-icon-holder svg {
  color: var(--iq-electric) !important;
  fill: var(--iq-electric) !important;
}

body.iq-theme .elementor-icon-list-icon i,
body.iq-theme .elementor-icon-list-icon svg {
  color: var(--iq-electric) !important;
  fill: var(--iq-electric) !important;
}

body.iq-theme .elementor-icon-list-text {
  color: var(--iq-text-secondary) !important;
}

/* ==========================================================================
   9. FORMS & INPUTS
   ========================================================================== */

body.iq-theme input[type="text"],
body.iq-theme input[type="email"],
body.iq-theme input[type="tel"],
body.iq-theme input[type="url"],
body.iq-theme input[type="password"],
body.iq-theme input[type="number"],
body.iq-theme input[type="search"],
body.iq-theme textarea,
body.iq-theme select {
  background: var(--iq-glass-fill-deep) !important;
  border: 1px solid var(--iq-border-soft) !important;
  color: var(--iq-text-primary) !important;
  font-family: var(--iq-font-primary);
  border-radius: var(--iq-radius-sm) !important;
  padding: 12px 16px !important;
  font-size: 0.9375rem;
  transition: border-color var(--iq-transition-fast);
}

body.iq-theme input:focus,
body.iq-theme textarea:focus,
body.iq-theme select:focus {
  border-color: var(--iq-deep-blue) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(51, 103, 255, 0.2) !important;
}

body.iq-theme input::placeholder,
body.iq-theme textarea::placeholder {
  color: var(--iq-text-muted) !important;
}

body.iq-theme label {
  color: var(--iq-text-secondary) !important;
  font-weight: 500;
  font-size: 0.875rem;
  margin-bottom: 6px;
}

/* Contact Form 7 */
body.iq-theme .wpcf7-form input[type="submit"] {
  background: var(--iq-electric) !important;
  color: var(--iq-bg-depth) !important;
  font-weight: 500 !important;
  border: none !important;
  border-radius: var(--iq-radius-full) !important;
  padding: 14px 32px !important;
  cursor: pointer;
  transition: all var(--iq-transition-base);
}

body.iq-theme .wpcf7-form input[type="submit"]:hover {
  background: var(--iq-deep-blue-light) !important;
  transform: translateY(-1px);
  box-shadow: var(--iq-shadow-blue) !important;
}

/* Mailchimp form */
body.iq-theme .wdt-mailchimp-holder {
  background: transparent !important;
}

body.iq-theme .wdt-mailchimp-holder input[type="email"] {
  background: var(--iq-glass-fill-deep) !important;
  border: 1px solid var(--iq-border-soft) !important;
  color: var(--iq-text-primary) !important;
  border-radius: var(--iq-radius-sm) !important;
}

body.iq-theme .wdt-mailchimp-holder button[type="submit"] {
  background: var(--iq-electric) !important;
  color: var(--iq-bg-depth) !important;
  border-radius: var(--iq-radius-full) !important;
}

body.iq-theme .wdt-mailchimp-holder button[type="submit"] svg {
  fill: var(--iq-bg-depth) !important;
}

/* ==========================================================================
   10. FOOTER
   ========================================================================== */

body.iq-theme #footer-wrapper,
body.iq-theme footer,
body.iq-theme .site-footer,
body.iq-theme .wdt-footer-tpl {
  background: var(--iq-bg-base) !important;
  border-top: 1px solid var(--iq-border-soft);
}

body.iq-theme footer h1,
body.iq-theme footer h2,
body.iq-theme footer h3,
body.iq-theme footer h4,
body.iq-theme footer h5,
body.iq-theme footer h6,
body.iq-theme .iq-footer-title {
  color: var(--iq-text-primary) !important;
  font-family: var(--iq-font-display) !important;
}

body.iq-theme footer p,
body.iq-theme footer span,
body.iq-theme footer li {
  color: var(--iq-text-muted) !important;
}

body.iq-theme footer a {
  color: var(--iq-text-secondary) !important;
}

body.iq-theme footer a:hover {
  color: var(--iq-electric) !important;
}

/* Footer social icons */
body.iq-theme footer .elementor-social-icon,
body.iq-theme footer .wdt-social-icon {
  background: var(--iq-glass-fill-light) !important;
  border: 1px solid var(--iq-border-soft) !important;
  color: var(--iq-text-muted) !important;
  transition: all var(--iq-transition-fast);
}

body.iq-theme footer .elementor-social-icon:hover,
body.iq-theme footer .wdt-social-icon:hover {
  background: var(--iq-electric) !important;
  border-color: var(--iq-electric) !important;
  color: var(--iq-bg-depth) !important;
}

/* Copyright bar */
body.iq-theme .wdt-copyright,
body.iq-theme .copyright-text {
  color: var(--iq-text-muted) !important;
  border-top: 1px solid var(--iq-border-soft);
  padding-top: var(--iq-space-md);
}

/* ==========================================================================
   11. POPUP / MODAL
   ========================================================================== */

body.iq-theme .wdt-popup-box-content-holder,
body.iq-theme .mfp-content {
  background: var(--iq-bg-base) !important;
  border: 1px solid var(--iq-border-soft);
  border-radius: var(--iq-radius-xl) !important;
}

body.iq-theme .mfp-bg {
  background: rgba(0, 0, 0, 0.8) !important;
}

body.iq-theme .mfp-close {
  color: var(--iq-text-muted) !important;
}

body.iq-theme .mfp-close:hover {
  color: var(--iq-electric) !important;
}

/* ==========================================================================
   12. PRELOADER
   ========================================================================== */

body.iq-theme .pre-loader {
  background: var(--iq-bg-base) !important;
}

body.iq-theme .pre-loader .ring {
  border-color: rgba(51, 103, 255, 0.2) !important;
  border-top-color: var(--iq-deep-blue) !important;
}

body.iq-theme .pre-loader .core-glow {
  background: var(--iq-electric) !important;
  box-shadow: 0 0 30px rgba(105, 254, 255, 0.4);
}

/* ==========================================================================
   13. SCROLL & BACK-TO-TOP
   ========================================================================== */

body.iq-theme .go-to-top,
body.iq-theme .back-to-top,
body.iq-theme #go-to-top {
  background: var(--iq-deep-blue) !important;
  color: #ffffff !important;
  border-radius: var(--iq-radius-full) !important;
  box-shadow: var(--iq-shadow-blue);
}

body.iq-theme .go-to-top:hover,
body.iq-theme #go-to-top:hover {
  background: var(--iq-deep-blue-light) !important;
}

/* Scrollbar */
body.iq-theme ::-webkit-scrollbar {
  width: 8px;
}

body.iq-theme ::-webkit-scrollbar-track {
  background: var(--iq-bg-base);
}

body.iq-theme ::-webkit-scrollbar-thumb {
  background: var(--iq-glass-fill-light);
  border-radius: var(--iq-radius-full);
}

body.iq-theme ::-webkit-scrollbar-thumb:hover {
  background: var(--iq-deep-blue);
}

/* ==========================================================================
   14. IMAGES & MEDIA
   ========================================================================== */

body.iq-theme .elementor-image img,
body.iq-theme .wp-block-image img,
body.iq-theme img {
  border-radius: var(--iq-radius-md);
  image-rendering: auto !important;
  -webkit-filter: none !important;
  filter: none !important;
  opacity: 1 !important;
  max-width: 100% !important;
  height: auto !important;
}

/* Image boxes in Bullish */
body.iq-theme .wdt-content-item {
  color: var(--iq-text-primary) !important;
}

body.iq-theme .wdt-content-item .wdt-content-icon span {
  color: var(--iq-text-primary) !important;
  fill: var(--iq-text-primary) !important;
}
body.iq-theme .wdt-content-item .wdt-content-icon svg {
  fill: var(--iq-text-primary) !important;
}
body.iq-theme .wdt-content-item a {
  color: var(--iq-text-primary) !important;
}
body.iq-theme .wdt-content-item a:hover {
  color: var(--iq-electric) !important;
}

/* ==========================================================================
   15. PORTFOLIO / CASE STUDIES
   ========================================================================== */

body.iq-theme .wdt-portfolio-holder,
body.iq-theme .wdt-portfolio-item {
  background: var(--iq-glass-fill-light) !important;
  border: 1px solid var(--iq-border-soft) !important;
  border-radius: var(--iq-radius-lg) !important;
  overflow: hidden;
}

body.iq-theme .wdt-portfolio-item:hover {
  border-color: var(--iq-border-featured) !important;
  box-shadow: var(--iq-shadow-blue);
}

body.iq-theme .wdt-portfolio-item .wdt-portfolio-title {
  color: var(--iq-text-primary) !important;
}

body.iq-theme .wdt-portfolio-item .wdt-portfolio-category {
  color: var(--iq-electric) !important;
}

/* ==========================================================================
   16. BLOG / INSIGHTS
   ========================================================================== */

body.iq-theme .wdt-blog-holder,
body.iq-theme .wdt-blog-item,
body.iq-theme article.post {
  background: var(--iq-glass-fill-light) !important;
  border: 1px solid var(--iq-border-soft) !important;
  border-radius: var(--iq-radius-lg) !important;
  overflow: hidden;
}

body.iq-theme .wdt-blog-item:hover,
body.iq-theme article.post:hover {
  border-color: var(--iq-border-featured) !important;
  box-shadow: var(--iq-shadow-blue);
}

body.iq-theme .entry-title,
body.iq-theme .entry-title a {
  color: var(--iq-text-primary) !important;
  font-family: var(--iq-font-display) !important;
}

body.iq-theme .entry-title a:hover {
  color: var(--iq-electric) !important;
}

body.iq-theme .entry-meta,
body.iq-theme .entry-meta a,
body.iq-theme .post-date,
body.iq-theme .post-category {
  color: var(--iq-text-muted) !important;
}

body.iq-theme .post-category a {
  color: var(--iq-electric) !important;
}

body.iq-theme .entry-content,
body.iq-theme .entry-content p {
  color: var(--iq-text-secondary) !important;
}

/* Pagination */
body.iq-theme .pagination a,
body.iq-theme .nav-links a,
body.iq-theme .page-numbers {
  background: var(--iq-glass-fill-light) !important;
  color: var(--iq-text-secondary) !important;
  border: 1px solid var(--iq-border-soft) !important;
  border-radius: var(--iq-radius-sm) !important;
}

body.iq-theme .pagination a:hover,
body.iq-theme .page-numbers:hover,
body.iq-theme .page-numbers.current {
  background: var(--iq-deep-blue) !important;
  color: #ffffff !important;
  border-color: var(--iq-deep-blue) !important;
}

/* ==========================================================================
   17. SIDEBAR & WIDGETS
   ========================================================================== */

body.iq-theme .sidebar,
body.iq-theme .widget-area {
  background: transparent;
}

body.iq-theme .widget {
  background: var(--iq-glass-fill-light);
  border: 1px solid var(--iq-border-soft);
  border-radius: var(--iq-radius-lg);
  padding: var(--iq-space-lg);
  margin-bottom: var(--iq-space-lg);
}

body.iq-theme .widget-title {
  color: var(--iq-text-primary) !important;
  font-family: var(--iq-font-display) !important;
  border-bottom: 1px solid var(--iq-border-soft);
  padding-bottom: var(--iq-space-sm);
  margin-bottom: var(--iq-space-md);
}

/* ==========================================================================
   18. COUNTERS / STATS
   ========================================================================== */

body.iq-theme .elementor-counter-number-wrapper,
body.iq-theme .wdt-counter-holder .wdt-counter-number {
  color: var(--iq-electric) !important;
  font-family: var(--iq-font-display);
  font-weight: 300;
}

body.iq-theme .elementor-counter-title,
body.iq-theme .wdt-counter-holder .wdt-counter-title {
  color: var(--iq-text-secondary) !important;
}

/* ==========================================================================
   19. TESTIMONIALS / REVIEWS
   ========================================================================== */

body.iq-theme .wdt-testimonial-holder,
body.iq-theme .elementor-testimonial-wrapper {
  background: var(--iq-glass-fill-light) !important;
  border: 1px solid var(--iq-border-soft) !important;
  border-radius: var(--iq-radius-lg) !important;
  padding: var(--iq-space-xl);
}

body.iq-theme .wdt-testimonial-holder .wdt-testimonial-content,
body.iq-theme .elementor-testimonial-content {
  color: var(--iq-text-secondary) !important;
  font-style: italic;
}

body.iq-theme .wdt-testimonial-holder .wdt-testimonial-name {
  color: var(--iq-text-primary) !important;
}

body.iq-theme .wdt-testimonial-holder .wdt-testimonial-designation {
  color: var(--iq-text-muted) !important;
}

/* ==========================================================================
   20. SWIPER / CAROUSEL
   ========================================================================== */

body.iq-theme .swiper-pagination-bullet {
  background: var(--iq-text-muted) !important;
  opacity: 0.4;
}

body.iq-theme .swiper-pagination-bullet-active {
  background: var(--iq-electric) !important;
  opacity: 1;
}

body.iq-theme .swiper-button-next,
body.iq-theme .swiper-button-prev,
body.iq-theme .elementor-swiper-button {
  color: var(--iq-electric) !important;
  background: var(--iq-glass-fill-light) !important;
  border: 1px solid var(--iq-border-soft) !important;
  border-radius: var(--iq-radius-sm);
  width: 44px !important;
  height: 44px !important;
}

body.iq-theme .swiper-button-next:hover,
body.iq-theme .swiper-button-prev:hover {
  background: var(--iq-electric) !important;
  color: var(--iq-bg-depth) !important;
}

/* ==========================================================================
   21. TABS / ACCORDIONS
   ========================================================================== */

body.iq-theme .elementor-tab-title,
body.iq-theme .wdt-tab-title {
  background: var(--iq-glass-fill-deep) !important;
  color: var(--iq-text-muted) !important;
  border: 1px solid var(--iq-border-soft) !important;
  border-radius: var(--iq-radius-sm) !important;
  transition: all var(--iq-transition-fast);
}

body.iq-theme .elementor-tab-title.elementor-active,
body.iq-theme .elementor-tab-title:hover,
body.iq-theme .wdt-tab-title.active {
  background: var(--iq-glass-fill-light) !important;
  color: var(--iq-electric) !important;
  border-color: var(--iq-border-featured) !important;
}

body.iq-theme .elementor-tab-content,
body.iq-theme .wdt-tab-content {
  background: var(--iq-glass-fill-light) !important;
  border: 1px solid var(--iq-border-soft) !important;
  border-radius: var(--iq-radius-sm) !important;
  color: var(--iq-text-secondary) !important;
}

/* Accordion */
body.iq-theme .elementor-accordion-item {
  background: var(--iq-glass-fill-light) !important;
  border: 1px solid var(--iq-border-soft) !important;
  border-radius: var(--iq-radius-md) !important;
  margin-bottom: var(--iq-space-sm) !important;
  overflow: hidden;
}

body.iq-theme .elementor-accordion-title {
  color: var(--iq-text-primary) !important;
  font-weight: 600;
}

body.iq-theme .elementor-accordion-icon {
  color: var(--iq-electric) !important;
}

body.iq-theme .elementor-accordion-content {
  color: var(--iq-text-secondary) !important;
}

/* ==========================================================================
   22. PRICING TABLES
   ========================================================================== */

body.iq-theme .elementor-price-table {
  background: var(--iq-glass-fill-light) !important;
  border: 1px solid var(--iq-border-soft) !important;
  border-radius: var(--iq-radius-lg) !important;
  overflow: hidden;
}

body.iq-theme .elementor-price-table__header {
  background: var(--iq-glass-fill-deep) !important;
}

body.iq-theme .elementor-price-table__heading {
  color: var(--iq-text-primary) !important;
}

body.iq-theme .elementor-price-table__price {
  color: var(--iq-electric) !important;
}

body.iq-theme .elementor-price-table__features-list li {
  color: var(--iq-text-secondary) !important;
}

/* Featured pricing card */
body.iq-theme .elementor-price-table--featured {
  border-color: var(--iq-border-featured) !important;
  box-shadow: var(--iq-shadow-blue);
}

/* ==========================================================================
   23. UTILITY CLASSES
   ========================================================================== */

.iq-bg-base { background: var(--iq-bg-base) !important; }
.iq-bg-top { background: var(--iq-bg-top) !important; }
.iq-bg-depth { background: var(--iq-bg-depth) !important; }
.iq-bg-surface { background: var(--iq-glass-fill-light) !important; }
.iq-bg-surface-deep { background: var(--iq-glass-fill-deep) !important; }
.iq-bg-raised { background: var(--iq-raised-card) !important; }
.iq-bg-blue, .iq-bg-gold { background: var(--iq-deep-blue) !important; }
.iq-bg-teal { background: var(--iq-teal) !important; }
.iq-bg-teal-muted { background: var(--iq-teal-muted) !important; }

/* ── Light backgrounds (Backbase-style alternating sections) ── */
.iq-bg-light { background: var(--iq-bg-light) !important; }
.iq-bg-white { background: var(--iq-bg-white) !important; }
.iq-bg-light-warm { background: var(--iq-bg-light-warm) !important; }
.iq-bg-light-blue { background: var(--iq-bg-light-blue) !important; }

/* ── Context-aware: light backgrounds → dark text ── */
.iq-bg-light, .iq-bg-white, .iq-bg-light-warm, .iq-bg-light-blue,
.iq-bg-light h1, .iq-bg-light h2, .iq-bg-light h3, .iq-bg-light h4, .iq-bg-light h5, .iq-bg-light h6,
.iq-bg-white h1, .iq-bg-white h2, .iq-bg-white h3, .iq-bg-white h4, .iq-bg-white h5, .iq-bg-white h6,
.iq-bg-light-warm h1, .iq-bg-light-warm h2, .iq-bg-light-warm h3,
.iq-bg-light-blue h1, .iq-bg-light-blue h2, .iq-bg-light-blue h3 {
  color: var(--iq-text-dark) !important;
}
.iq-bg-light p, .iq-bg-light span, .iq-bg-light li,
.iq-bg-white p, .iq-bg-white span, .iq-bg-white li,
.iq-bg-light-warm p, .iq-bg-light-warm span, .iq-bg-light-warm li,
.iq-bg-light-blue p, .iq-bg-light-blue span, .iq-bg-light-blue li {
  color: var(--iq-text-dark-secondary) !important;
}
.iq-bg-light a, .iq-bg-white a, .iq-bg-light-warm a, .iq-bg-light-blue a {
  color: var(--iq-deep-blue) !important;
}
.iq-bg-light a:hover, .iq-bg-white a:hover, .iq-bg-light-warm a:hover, .iq-bg-light-blue a:hover {
  color: var(--iq-deep-blue-dark) !important;
}
.iq-bg-light .iq-text-muted, .iq-bg-white .iq-text-muted,
.iq-bg-light-warm .iq-text-muted, .iq-bg-light-blue .iq-text-muted {
  color: var(--iq-text-dark-muted) !important;
}

/* Light-context cards: white cards on light bg */
.iq-bg-light .iq-feature-card, .iq-bg-white .iq-feature-card,
.iq-bg-light-warm .iq-feature-card, .iq-bg-light-blue .iq-feature-card {
  background: var(--iq-card-light) !important;
  border-color: var(--iq-card-light-border) !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
}
.iq-bg-light .iq-feature-card:hover, .iq-bg-white .iq-feature-card:hover,
.iq-bg-light-warm .iq-feature-card:hover, .iq-bg-light-blue .iq-feature-card:hover {
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  border-color: var(--iq-deep-blue) !important;
}
.iq-bg-light .iq-utility-card, .iq-bg-white .iq-utility-card,
.iq-bg-light-warm .iq-utility-card, .iq-bg-light-blue .iq-utility-card {
  background: var(--iq-card-light) !important;
  border-color: var(--iq-card-light-border) !important;
}
.iq-bg-light .iq-glass-card, .iq-bg-white .iq-glass-card {
  background: var(--iq-card-light) !important;
  border-color: var(--iq-card-light-border) !important;
}

/* Light-context buttons: blue CTA on light bg */
.iq-bg-light .elementor-button, .iq-bg-white .elementor-button,
.iq-bg-light-warm .elementor-button, .iq-bg-light-blue .elementor-button,
.iq-bg-light .wdt-button, .iq-bg-white .wdt-button {
  background: var(--iq-deep-blue) !important;
  color: #ffffff !important;
  border-color: var(--iq-deep-blue) !important;
}
.iq-bg-light .elementor-button:hover, .iq-bg-white .elementor-button:hover,
.iq-bg-light .wdt-button:hover, .iq-bg-white .wdt-button:hover {
  background: var(--iq-deep-blue-dark) !important;
}

/* Light-context form inputs */
.iq-bg-light input, .iq-bg-light textarea, .iq-bg-light select,
.iq-bg-white input, .iq-bg-white textarea, .iq-bg-white select {
  background: var(--iq-bg-white) !important;
  color: var(--iq-text-dark) !important;
  border: 1px solid var(--iq-card-light-border) !important;
}
.iq-bg-light input:focus, .iq-bg-white input:focus {
  border-color: var(--iq-deep-blue) !important;
  box-shadow: 0 0 0 2px rgba(51,103,255,0.15) !important;
}
.iq-bg-light label, .iq-bg-white label {
  color: var(--iq-text-dark-secondary) !important;
}

/* ── Context-aware: blue/light backgrounds need dark text ── */
.iq-bg-blue, .iq-bg-gold,
.iq-bg-blue h1, .iq-bg-blue h2, .iq-bg-blue h3,
.iq-bg-blue h4, .iq-bg-blue h5, .iq-bg-blue h6,
.iq-bg-gold h1, .iq-bg-gold h2, .iq-bg-gold h3,
.iq-bg-gold h4, .iq-bg-gold h5, .iq-bg-gold h6 {
  color: var(--iq-bg-depth) !important;
}
.iq-bg-blue p, .iq-bg-blue span, .iq-bg-blue li,
.iq-bg-blue a,
.iq-bg-gold p, .iq-bg-gold span, .iq-bg-gold li,
.iq-bg-gold a {
  color: var(--iq-bg-base) !important;
}
.iq-bg-blue .elementor-button,
.iq-bg-blue .wdt-button,
.iq-bg-gold .elementor-button,
.iq-bg-gold .wdt-button {
  background: #ffffff !important;
  color: var(--iq-deep-blue) !important;
  border-color: #ffffff !important;
}

.iq-border-soft { border: 1px solid var(--iq-border-soft) !important; }
.iq-border-blue, .iq-border-gold { border: 1px solid var(--iq-border-featured) !important; }
.iq-border-teal { border: 1px solid var(--iq-teal-border) !important; }

.iq-rounded-sm { border-radius: var(--iq-radius-sm) !important; }
.iq-rounded-md { border-radius: var(--iq-radius-md) !important; }
.iq-rounded-lg { border-radius: var(--iq-radius-lg) !important; }
.iq-rounded-xl { border-radius: var(--iq-radius-xl) !important; }

.iq-shadow { box-shadow: var(--iq-shadow-card) !important; }
.iq-shadow-elevated { box-shadow: var(--iq-shadow-elevated) !important; }
.iq-shadow-gold { box-shadow: var(--iq-shadow-blue) !important; } /* legacy alias */
.iq-shadow-teal { box-shadow: var(--iq-shadow-teal) !important; }

.iq-blue-accent, .iq-gold-accent {
  position: relative;
}
.iq-blue-accent::after, .iq-gold-accent::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, var(--iq-deep-blue), var(--iq-electric));
  border-radius: var(--iq-radius-full);
}

/* Blue-to-cyan gradient text */
.iq-gradient-text {
  background: linear-gradient(135deg, var(--iq-deep-blue), var(--iq-deep-blue-light), var(--iq-electric));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Section with blue top border */
.iq-section-gold-top,
.iq-section-blue-top {
  border-top: 2px solid var(--iq-deep-blue);
  padding-top: var(--iq-space-3xl);
}

/* ── Teal accent line (teal variant of blue-accent) ── */
.iq-teal-accent {
  position: relative;
}
.iq-teal-accent::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, var(--iq-teal), var(--iq-teal-light));
  border-radius: var(--iq-radius-full);
}

/* Cyan gradient text */
.iq-gradient-text-teal,
.iq-gradient-text-cyan {
  background: linear-gradient(135deg, var(--iq-electric-deep), var(--iq-electric), var(--iq-electric-light));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Blue-cyan-orange gradient text */
.iq-gradient-text-duo {
  background: linear-gradient(135deg, var(--iq-deep-blue), var(--iq-electric), var(--iq-orange));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Section with teal top border */
.iq-section-teal-top {
  border-top: 2px solid var(--iq-teal);
  padding-top: var(--iq-space-3xl);
}

/* ── Teal Feature Card ── */
.iq-teal-card {
  background: var(--iq-glass-fill-light);
  border: 1px solid var(--iq-teal-border);
  border-radius: var(--iq-radius-lg);
  padding: var(--iq-space-xl);
  transition: all var(--iq-transition-base);
}

.iq-teal-card:hover {
  border-color: var(--iq-teal);
  box-shadow: var(--iq-shadow-teal);
  transform: translateY(-2px);
}

/* Teal icon inside cards */
.iq-teal-card .elementor-icon,
.iq-teal-card .wdt-icon,
.iq-teal-card .wdt-icon-holder i,
.iq-teal-card .wdt-icon-holder svg {
  color: var(--iq-teal) !important;
  fill: var(--iq-teal) !important;
}

/* ── Teal tag / badge ── */
.iq-tag-teal {
  display: inline-block;
  background: var(--iq-teal-muted);
  color: var(--iq-teal-light) !important;
  border: 1px solid var(--iq-teal-border);
  border-radius: var(--iq-radius-full);
  padding: 4px 14px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

/* ── Blue tag / badge ── */
.iq-tag-blue, .iq-tag-gold {
  display: inline-block;
  background: rgba(51, 103, 255, 0.12);
  color: var(--iq-deep-blue-light) !important;
  border: 1px solid var(--iq-border-featured);
  border-radius: var(--iq-radius-full);
  padding: 4px 14px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

/* ── Context: teal bg sections need dark text ── */
.iq-bg-teal,
.iq-bg-teal h1, .iq-bg-teal h2, .iq-bg-teal h3,
.iq-bg-teal h4, .iq-bg-teal h5, .iq-bg-teal h6 {
  color: var(--iq-bg-depth) !important;
}
.iq-bg-teal p, .iq-bg-teal span, .iq-bg-teal li,
.iq-bg-teal a {
  color: #041326 !important;
}
.iq-bg-teal .elementor-button,
.iq-bg-teal .wdt-button {
  background: var(--iq-bg-depth) !important;
  color: var(--iq-teal) !important;
  border-color: var(--iq-bg-depth) !important;
}

/* ==========================================================================
   24. RESPONSIVE OVERRIDES
   ========================================================================== */

/* Fluid clamp() handles responsive sizing automatically.
   These are fallback overrides for very small screens. */

@media (max-width: 767px) {
  body.iq-theme .elementor-button,
  body.iq-theme .wp-block-button__link,
  body.iq-theme .wdt-button {
    padding: 12px 28px !important;
    font-size: var(--iq-text-body-sm);
    width: 100%;
    text-align: center;
  }

  .iq-hero-card,
  .iq-feature-card,
  .iq-glass-card {
    padding: var(--iq-space-lg);
    border-radius: var(--iq-radius-sm);
  }
}
