/*
Theme Name: JKMWebStudio
Theme URI: https://example.com/
Author: OpenAI
Author URI: https://openai.com/
Description: WordPress conversion of the JKM Web Studio React site with Elementor-friendly styling and page templates.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: jkmwebstudio
*/

:root{
  --radius:1rem;
  --background:#130d1f;
  --foreground:#f8f7fb;
  --surface:#1d1730;
  --surface-2:#26203b;
  --card:#1d1730;
  --muted:#231d35;
  --muted-foreground:#aaa3bb;
  --border:rgba(255,255,255,.08);
  --input:rgba(255,255,255,.12);
  --primary:#9e4dff;
  --primary-foreground:#fff;
  --violet:#9e4dff;
  --pink:#ff4db8;
  --cyan:#71d7ff;
  --gradient-brand:linear-gradient(135deg,var(--violet),var(--pink) 50%,var(--cyan));
  --gradient-brand-soft:linear-gradient(135deg,rgba(158,77,255,.15),rgba(255,77,184,.12) 50%,rgba(113,215,255,.16));
  --shadow-card:0 20px 60px -20px rgba(0,0,0,.6);
  --shadow-glow:0 0 60px -10px rgba(158,77,255,.5);
  --container:1280px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--background);
  color:var(--foreground);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5,h6{font-family:"Space Grotesk",Inter,sans-serif;letter-spacing:-.02em;margin:0 0 .6rem}
p{margin:0 0 1rem}
ul{margin:0;padding-left:1.2rem}
button,input,textarea{font:inherit}

.container{width:min(calc(100% - 2rem),var(--container));margin-inline:auto}
.section{padding:5rem 0}
.section-sm{padding:3rem 0}
.eyebrow{
  display:inline-block;
  margin-bottom:1rem;
  font-size:.78rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--cyan);
}
.section-title{font-size:clamp(2rem,4vw,4rem);line-height:1.05}
.section-subtitle{max-width:48rem;color:var(--muted-foreground)}
.text-gradient,.text-gradient-brand{
  background-image:var(--gradient-brand);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.glass{
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  border:1px solid var(--border);
}
.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:1.5rem;
  box-shadow:var(--shadow-card);
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:48px;
  padding:.85rem 1.35rem;
  border-radius:999px;
  font-size:.95rem;
  font-weight:700;
  border:1px solid transparent;
  transition:transform .2s ease,opacity .2s ease,background .2s ease,border-color .2s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--gradient-brand);color:#fff;box-shadow:0 12px 35px rgba(158,77,255,.25)}
.btn-secondary{background:rgba(255,255,255,.05);border-color:var(--border);color:var(--foreground)}
.grid-bg{
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:56px 56px;
}
.hero{
  position:relative;
  overflow:hidden;
  min-height:76vh;
  display:flex;
  align-items:center;
}
.hero-bg{
  position:absolute;inset:0;z-index:-2;
  background-position:center;
  background-size:cover;
  opacity:.42;
}
.hero-overlay{
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(to bottom,rgba(19,13,31,.45),rgba(19,13,31,.76),var(--background)),
    radial-gradient(circle at 20% 10%,rgba(158,77,255,.25),transparent 30%),
    radial-gradient(circle at 80% 10%,rgba(255,77,184,.16),transparent 26%);
}
.site-header{
  position:sticky;top:0;z-index:1000;
  background:rgba(19,13,31,.7);
  backdrop-filter:blur(24px) saturate(160%);
  border-bottom:1px solid var(--border);
}
.site-header .inner, .site-footer .inner{
  width:min(calc(100% - 2rem),var(--container));
  margin-inline:auto;
}
.site-header .inner{
  min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.brand{display:flex;align-items:center;gap:.85rem;font-family:"Space Grotesk",sans-serif;font-weight:700}
.brand img{width:44px;height:44px;border-radius:12px}
.brand small{display:block;color:var(--muted-foreground);font-family:Inter,sans-serif;font-weight:600;font-size:.75rem}
.menu-toggle{display:none;background:none;border:1px solid var(--border);color:#fff;padding:.7rem 1rem;border-radius:999px}
.main-nav ul{display:flex;align-items:center;gap:1rem;list-style:none;padding:0;margin:0}
.main-nav a{padding:.5rem .75rem;border-radius:999px;color:#ddd}
.main-nav a:hover,.main-nav .current-menu-item>a,.main-nav .current_page_item>a{background:rgba(255,255,255,.06);color:#fff}
.header-actions{display:flex;align-items:center;gap:.75rem}

.hero-copy{max-width:900px;text-align:center;margin-inline:auto;padding:6rem 0 5rem}
.hero-copy h1{font-size:clamp(2.6rem,7vw,5.8rem);line-height:1.02}
.hero-copy p{max-width:720px;margin:1.25rem auto 0;color:#d0cadd;font-size:1.08rem}
.hero-stats{
  margin:2.5rem auto 0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  max-width:860px;
  border-radius:1.25rem;
  overflow:hidden;
  background:rgba(255,255,255,.08);
}
.hero-stats .stat{background:rgba(255,255,255,.04);padding:1.15rem;text-align:center}
.hero-stats strong{display:block;font-family:"Space Grotesk",sans-serif;font-size:1.7rem}

.two-col{display:grid;grid-template-columns:1.08fr .92fr;gap:3rem;align-items:center}
.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.four-col{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}
.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}
.image-frame{border-radius:2rem;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-card)}
.muted{color:var(--muted-foreground)}
.center{text-align:center}
.stack-lg>*+*{margin-top:1.2rem}
.stack-md>*+*{margin-top:.85rem}
.stack-sm>*+*{margin-top:.5rem}
.chips{display:flex;flex-wrap:wrap;gap:.75rem}
.chip{padding:.6rem 1rem;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--border);font-size:.92rem}
.metric{font-weight:700;color:#fff}

.service-card,.portfolio-card,.price-card,.testimonial-card,.timeline-card,.template-card,.contact-card{
  border-radius:1.5rem;padding:1.5rem;
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
}
.service-icon{
  display:grid;place-items:center;
  width:48px;height:48px;border-radius:14px;
  background:var(--gradient-brand);font-size:1.25rem;font-weight:700
}
.price-card.featured{background:linear-gradient(180deg,rgba(158,77,255,.18),rgba(255,255,255,.05));transform:translateY(-4px)}
.price{font-family:"Space Grotesk",sans-serif;font-size:3rem;font-weight:700}
.template-card img,.portfolio-card img{border-radius:1rem;aspect-ratio:4/3;object-fit:cover;width:100%}
.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.tags span{font-size:.75rem;padding:.35rem .6rem;border-radius:999px;background:rgba(255,255,255,.07)}
.process-line{position:relative}
.process-line:before{
  content:"";position:absolute;left:0;right:0;top:28px;height:1px;background:var(--gradient-brand);opacity:.4
}
.process-step-num{
  width:56px;height:56px;border-radius:999px;display:grid;place-items:center;
  background:var(--gradient-brand);font-family:"Space Grotesk",sans-serif;font-weight:700
}
.cta-band{
  position:relative;overflow:hidden;border-radius:2rem;padding:3rem;background:var(--gradient-brand);color:#fff
}
.cta-band:before,.cta-band:after{
  content:"";position:absolute;border-radius:999px;filter:blur(50px);opacity:.5
}
.cta-band:before{width:260px;height:260px;right:-60px;top:-60px;background:rgba(255,255,255,.2)}
.cta-band:after{width:300px;height:300px;left:-80px;bottom:-80px;background:rgba(0,0,0,.25)}
.cta-band > *{position:relative;z-index:1}

.site-footer{padding:4rem 0 2rem;border-top:1px solid var(--border);margin-top:4rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}
.footer-bottom{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:1rem;color:var(--muted-foreground);font-size:.85rem}

.contact-form input,.contact-form textarea{
  width:100%;background:rgba(255,255,255,.04);border:1px solid var(--input);border-radius:14px;color:#fff;padding:.95rem 1rem
}
.contact-form textarea{min-height:160px;resize:vertical}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.notice-box{padding:1rem 1.1rem;border-radius:1rem;border:1px solid var(--border);background:rgba(255,255,255,.04)}

.elementor-template-wrap .elementor{max-width:none}
.page-header-simple{padding-top:4rem;padding-bottom:1rem}
.rating-row{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1rem;border-radius:1rem;background:rgba(255,255,255,.04);border:1px solid var(--border)}
.stars{letter-spacing:.14em}
.filter-bar{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem}
.filter-chip{padding:.6rem 1rem;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--border)}
.bundle{border-radius:2rem;padding:2rem;background:var(--gradient-brand);color:#fff;position:relative;overflow:hidden}
.bundle .muted{color:rgba(255,255,255,.8)}

@media (max-width: 1024px){
  .two-col,.four-col,.three-col,.footer-grid{grid-template-columns:1fr 1fr}
  .process-line:before{display:none}
}
@media (max-width: 820px){
  .menu-toggle{display:inline-flex}
  .main-nav{display:none;position:absolute;top:82px;left:1rem;right:1rem;background:rgba(19,13,31,.96);border:1px solid var(--border);border-radius:1.25rem;padding:1rem}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;align-items:flex-start}
  .header-actions .btn{display:none}
  .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .two-col,.three-col,.four-col,.footer-grid,.form-grid{grid-template-columns:1fr}
  .section{padding:4rem 0}
  .hero-copy{padding:5rem 0 4rem}
  .footer-bottom{flex-direction:column}
}
