/*
 * Loopline Web template compatibility layer.
 * Loaded after most theme styles so Elementor global colors cannot turn text
 * black inside intentionally dark sections.
 */
.elementor .ll-site .ll-hero,
.elementor .ll-site .ll-spotlight,
.elementor .ll-site .ll-cta,
.elementor .ll-site .ll-footer,
.elementor .ll-site .ll-card.featured,
.elementor .ll-site .ll-price-card.popular,
.elementor .ll-site .ll-project,
.elementor .ll-site .ll-project-hero {
  color: #ffffff !important;
}

.elementor .ll-site .ll-hero h1,
.elementor .ll-site .ll-hero h2,
.elementor .ll-site .ll-hero h3,
.elementor .ll-site .ll-spotlight h1,
.elementor .ll-site .ll-spotlight h2,
.elementor .ll-site .ll-spotlight h3,
.elementor .ll-site .ll-cta h1,
.elementor .ll-site .ll-cta h2,
.elementor .ll-site .ll-cta h3,
.elementor .ll-site .ll-footer h1,
.elementor .ll-site .ll-footer h2,
.elementor .ll-site .ll-footer h3,
.elementor .ll-site .ll-card.featured h3,
.elementor .ll-site .ll-price-card.popular h3,
.elementor .ll-site .ll-project-copy h3,
.elementor .ll-site .ll-project-hero h3 {
  color: #ffffff !important;
}

.elementor .ll-site .ll-hero p { color: #c5d3eb !important; }
.elementor .ll-site .ll-spotlight .ll-intro p { color: #aabbd8 !important; }
.elementor .ll-site .ll-project-copy p,
.elementor .ll-site .ll-price-card.popular p { color: #bdcbe1 !important; }
.elementor .ll-site .ll-card.featured p { color: #d5e3ff !important; }
.elementor .ll-site .ll-cta p { color: #b9c8df !important; }
.elementor .ll-site .ll-footer p { color: #9db0ce !important; }

.elementor .ll-site .ll-card.featured li,
.elementor .ll-site .ll-price-card.popular li,
.elementor .ll-site .ll-project-copy b,
.elementor .ll-site .ll-project-hero b,
.elementor .ll-site .ll-proof strong,
.elementor .ll-site .ll-logo-type,
.elementor .ll-site .ll-status {
  color: #ffffff !important;
}

.elementor .ll-site .ll-nav a:not(.ll-nav-cta),
.elementor .ll-site .ll-footer a {
  color: #dce7fb !important;
}

.elementor .ll-site .ll-browser h3,
.elementor .ll-site .ll-project-window .ll-project-top {
  color: #071a3d !important;
}

.elementor .ll-site .ll-serif {
  color: #8bb6ff !important;
}

/* The plugin tool uses the same protection against theme typography colors. */
.elementor .llab h2,
.elementor .llab .llab-lead-card h4 {
  color: #ffffff !important;
}

.elementor .llab .llab-panel-head h3,
.elementor .llab .llab-preview-hero h4 {
  color: #071a3d !important;
}

/* Mobile recovery layer: keeps the homepage responsive even if inline CSS is interrupted. */
html, body { max-width: 100%; overflow-x: clip; }
@media (max-width: 900px) {
  .elementor .ll-site .ll-menu > a:not(.ll-nav-cta) { display: none !important; }
  .elementor .ll-site .ll-hero { min-height: auto !important; padding-top: 125px !important; }
  .elementor .ll-site .ll-hero-grid,
  .elementor .ll-site .ll-intro,
  .elementor .ll-site .ll-problem,
  .elementor .ll-site .ll-process-grid,
  .elementor .ll-site .ll-faq-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .elementor .ll-site .ll-hero-grid { gap: 60px !important; }
  .elementor .ll-site .ll-intro,
  .elementor .ll-site .ll-problem,
  .elementor .ll-site .ll-process-grid,
  .elementor .ll-site .ll-faq-grid { gap: 25px !important; }
  .elementor .ll-site .ll-card-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .elementor .ll-site .ll-project { grid-template-columns: minmax(0, 1fr) !important; }
  .elementor .ll-site .ll-project-art { min-height: 450px !important; }
  .elementor .ll-site .ll-price-card.popular { transform: none !important; }
  .elementor .ll-site .ll-section { padding: 78px 0 !important; }
  .elementor .ll-site .ll-footer-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .elementor .ll-site .ll-footer p { text-align: left !important; }
  .elementor .ll-site .ll-footer-bottom { grid-column: auto !important; display: block !important; }
  .elementor .ll-site .ll-footer-bottom nav { margin-top: 15px !important; }
  .elementor .ll-site .ll-footer-bottom a { margin: 0 18px 0 0 !important; }
}
@media (max-width: 600px) {
  .elementor .ll-site,
  .elementor .ll-site * { box-sizing: border-box; }
  .elementor .ll-site .ll-wrap { width: min(calc(100% - 32px), 1180px) !important; }
  .elementor .ll-site .ll-logo-type small { display: none !important; }
  .elementor .ll-site .ll-logo svg { width: 41px !important; height: 41px !important; }
  .elementor .ll-site .ll-nav { width: 100% !important; }
  .elementor .ll-site .ll-menu { width: auto !important; margin-left: auto !important; }
  .elementor .ll-site .ll-nav-cta { font-size: 10px !important; padding: 11px 12px !important; white-space: nowrap; }
  .elementor .ll-site .ll-hero { padding-top: 112px !important; }
  .elementor .ll-site .ll-hero h1 { font-size: clamp(40px, 13vw, 50px) !important; line-height: .98 !important; }
  .elementor .ll-site .ll-hero p { font-size: 16px !important; }
  .elementor .ll-site .ll-hero-actions { align-items: flex-start !important; flex-direction: column !important; }
  .elementor .ll-site .ll-proof { width: 100% !important; gap: 20px !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
  .elementor .ll-site .ll-proof > * { min-width: 0 !important; }
  .elementor .ll-site .ll-browser { transform: none !important; width: 100% !important; }
  .elementor .ll-site .ll-browser-body h3 { font-size: 27px !important; }
  .elementor .ll-site .ll-browser-body::after { width: 120px !important; height: 120px !important; }
  .elementor .ll-site .ll-ticker div { justify-content: flex-start !important; overflow: hidden !important; }
  .elementor .ll-site .ll-project-copy { padding: 42px 25px !important; }
  .elementor .ll-site .ll-project-art { padding-left: 22px !important; min-width: 0 !important; }
  .elementor .ll-site .ll-project-window { width: 100% !important; }
  .elementor .ll-site .ll-project-hero { padding: 55px 25px !important; }
  .elementor .ll-site .ll-project-hero h3 { font-size: 32px !important; }
  .elementor .ll-site .ll-card,
  .elementor .ll-site .ll-price-card { padding: 28px !important; width: 100% !important; min-width: 0 !important; }
  .elementor .ll-site .ll-price-grid { grid-template-columns: minmax(0,1fr) !important; }
  .elementor .ll-site .ll-steps,
  .elementor .ll-site .ll-steps article,
  .elementor .ll-site .ll-faq,
  .elementor .ll-site .ll-faq details { width: 100% !important; min-width: 0 !important; }
  .elementor .ll-site .ll-footer-bottom nav a { display: block !important; margin: 8px 0 !important; }
  .elementor .ll-site .ll-founder-grid { grid-template-columns: minmax(0,1fr) !important; }
}
