/* Faisal SEO Global Elementor/WordPress Theme
   Fonts: Sora headings, DM Sans body, JetBrains Mono labels
   Colors from Next.js portfolio theme
*/

:root{
  --fs-bg:#080808;
  --fs-black:#050505;
  --fs-surface:#111111;
  --fs-surface-2:#1A1A1A;
  --fs-border:#262626;
  --fs-text:#F7F7F5;
  --fs-muted:#A0A0A0;
  --fs-lime:#E8FF47;
  --fs-lime-soft:rgba(232,255,71,.15);
  --fs-lime-glow:0 0 40px rgba(232,255,71,.16);
  --fs-radius:22px;
  --fs-shadow:0 24px 80px rgba(0,0,0,.45);
}

/* Website base */
html, body{
  background:var(--fs-bg) !important;
  color:var(--fs-text);
  font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
}

body,
p,
li,
.elementor-widget-text-editor,
.elementor-widget-text-editor p{
  font-family:'DM Sans',system-ui,sans-serif !important;
  color:var(--fs-muted);
  line-height:1.65;
}

h1,h2,h3,h4,h5,h6,
.elementor-heading-title{
  font-family:'Sora',system-ui,sans-serif !important;
  color:var(--fs-text);
  letter-spacing:-.04em;
  line-height:1.08;
}

h1,.fs-h1 .elementor-heading-title{
  font-size:clamp(42px,7vw,76px);
  line-height:1.02;
  letter-spacing:-.06em;
  font-weight:900;
}

h2,.fs-h2 .elementor-heading-title{
  font-size:clamp(34px,5vw,54px);
  font-weight:900;
}

h3,.fs-h3 .elementor-heading-title{
  font-size:clamp(24px,3vw,32px);
  font-weight:800;
}

a{
  color:var(--fs-lime);
}

::selection{
  background:rgba(232,255,71,.25);
  color:var(--fs-text);
}

/* Elementor base sections */
.elementor-section,
.e-con{
  background-color:transparent;
}

.fs-dark-section{
  background:var(--fs-bg) !important;
}

.fs-panel,
.fs-card,
.elementor-widget-container.fs-card{
  background:var(--fs-surface);
  border:1px solid var(--fs-border);
  border-radius:var(--fs-radius);
  box-shadow:var(--fs-shadow);
}

.fs-card-soft{
  background:var(--fs-surface-2);
  border:1px solid var(--fs-border);
  border-radius:var(--fs-radius);
}

.fs-muted{
  color:var(--fs-muted) !important;
}

.fs-lime,
.fs-accent,
.fs-highlight{
  color:var(--fs-lime) !important;
}

.fs-label,
.fs-kicker,
.section-label,
[class*="fs-label"]{
  font-family:'JetBrains Mono',monospace !important;
  color:var(--fs-lime);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
  font-weight:600;
}

/* Elementor buttons */
.elementor-button,
.fs-btn-primary{
  background:var(--fs-lime) !important;
  color:#080808 !important;
  border-radius:999px !important;
  font-family:'DM Sans',system-ui,sans-serif !important;
  font-weight:900 !important;
  border:0 !important;
  box-shadow:var(--fs-lime-glow);
  transition:.25s ease;
}

.elementor-button:hover,
.fs-btn-primary:hover{
  transform:translateY(-2px);
  filter:brightness(.96);
}

.fs-btn-secondary .elementor-button,
.fs-btn-secondary{
  background:transparent !important;
  color:var(--fs-text) !important;
  border:1px solid var(--fs-border) !important;
  box-shadow:none !important;
}

/* Forms */
input,
textarea,
select,
.elementor-field,
.elementor-field-textual{
  background:#202020 !important;
  color:var(--fs-text) !important;
  border:1px solid #303030 !important;
  border-radius:14px !important;
  font-family:'DM Sans',system-ui,sans-serif !important;
}

input::placeholder,
textarea::placeholder{
  color:#777 !important;
}

/* Common Elementor widgets */
.elementor-widget-icon-box .elementor-icon-box-title,
.elementor-widget-image-box .elementor-image-box-title{
  font-family:'Sora',system-ui,sans-serif !important;
  color:var(--fs-text) !important;
}

.elementor-widget-icon-box .elementor-icon-box-description,
.elementor-widget-image-box .elementor-image-box-description{
  font-family:'DM Sans',system-ui,sans-serif !important;
  color:var(--fs-muted) !important;
}

.elementor-icon{
  color:var(--fs-lime) !important;
}

/* Tables / counters */
.elementor-counter-number,
.elementor-counter-title{
  font-family:'Sora',system-ui,sans-serif !important;
}

.elementor-counter-number{
  color:var(--fs-lime) !important;
  font-weight:900 !important;
}

/* Utility classes */
.fs-container{
  width:min(1180px,92%);
  margin-left:auto;
  margin-right:auto;
}

.fs-gradient{
  background:
    radial-gradient(circle at top left,rgba(232,255,71,.12),transparent 28%),
    radial-gradient(circle at bottom right,rgba(255,255,255,.06),transparent 26%),
    var(--fs-bg) !important;
}

.fs-glow{
  box-shadow:var(--fs-lime-glow);
}

.fs-border{
  border:1px solid var(--fs-border);
}

.fs-radius{
  border-radius:var(--fs-radius);
}

.fs-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(232,255,71,.25);
  background:rgba(232,255,71,.08);
  color:var(--fs-lime);
  border-radius:999px;
  padding:8px 13px;
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

@media(max-width:767px){
  h1,.fs-h1 .elementor-heading-title{
    font-size:42px;
  }
  h2,.fs-h2 .elementor-heading-title{
    font-size:34px;
  }
}
