/*
Theme Name: Raju Pandey Key Maker
Theme URI: https://mepremjagtap.com
Author: Prem Jagtap | PRDS
Author URI: https://mepremjagtap.com
Description: Lightweight, mobile-first one-page theme for Raju Pandey - Key Maker. No third-party libs, fast, responsive, SEO-ready.
Version: 1.2
Text Domain: raju-pandey-keymaker
*/

/* ============ Variables ============ */
:root{
  --accent: #ffd166;
  --accent-2: #f5b942;
  --muted: #94a3b8;
  --bg-dark: #071126;
  --bg-mid: #0b3558;
  --card: rgba(255,255,255,0.04);
  --glass: rgba(255,255,255,0.06);
  --text-light: #e6eef6;
  --text-dark: #07203a;
  --maxw: 1100px;
  --radius: 12px;
  --transition: 0.18s ease;
}

/* Light theme variables */
:root[data-theme="light"]{
  --accent: #ffb703;
  --accent-2: #ffdd57;
  --muted: #4b5563;
  --bg-dark: #ffffff;
  --bg-mid: linear-gradient(135deg,#fffde7,#fde68a);
  --card: rgba(0,0,0,0.04);
  --glass: rgba(0,0,0,0.02);
  --text-light: #07203a;
  --text-dark: #07203a;
}

/* ============ Base Reset ============ */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: "Segoe UI", Roboto, system-ui, -apple-system, "Helvetica Neue", Arial;
  background: linear-gradient(135deg, #081426 0%, #0b3558 50%, #082b3a 100%);
  color:var(--text-light);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.45;
  padding-bottom:6.5rem; /* space for sticky CTA */
}

/* When user chooses light theme */
body[data-theme="light"]{
  background: var(--bg-mid);
  color: var(--text-light);
}

/* ============ Container ============ */
.wrap{max-width:var(--maxw);margin:0 auto;padding:1.25rem}

/* ============ Topbar / Header ============ */
.topbar{
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;padding:.8rem;border-radius:10px;
  background: linear-gradient(90deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
}
.brand{display:flex;align-items:center;gap:.9rem}
.logo{
  width:58px;height:58px;border-radius:10px;
  background: linear-gradient(180deg,var(--accent),var(--accent-2));
  display:flex;align-items:center;justify-content:center;color:var(--text-dark);
  font-weight:800;font-size:20px;box-shadow:0 10px 26px rgba(0,0,0,0.35);
  overflow:hidden;
}
.logo img{width:100%;height:100%;object-fit:cover;display:block}
.brand h1{font-size:1.05rem;margin:0;color:var(--text-light)}
.brand p{margin:0;font-size:.85rem;color:var(--muted)}

/* Phone link in topbar should always be visible */
.topbar .contact a[href^="tel"]{
  color: #fff !important;
  font-weight:700;
  text-decoration:none;
}
body[data-theme="light"] .topbar .contact a[href^="tel"]{ color: #07203a !important; }

/* ============ Quick Info bar ============ */
.quick-info{
  display:flex;justify-content:center;align-items:center;gap:12px;margin-top:.9rem;
  padding:.55rem;border-radius:10px;background: linear-gradient(90deg, rgba(255,255,255,0.03), rgba(255,255,255,0.02));
}
.quick-info .pill{
  background:var(--accent);color:var(--text-dark);padding:.35rem .65rem;border-radius:999px;font-weight:700;
}
.quick-info a[href^="tel"]{ color: var(--text-dark); font-weight:700; text-decoration:none; }
body[data-theme="dark"] .quick-info a[href^="tel"]{ color: #fff; }

/* ============ Hero ============ */
.hero{
  display:grid;gap:1rem;align-items:center;margin-top:1rem;
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  border-radius:var(--radius);padding:1.25rem;
}
@media(min-width:860px){ .hero{ grid-template-columns:1fr 360px } }

.kicker{ color:var(--accent); font-weight:700; font-size:.95rem; letter-spacing:.2px; }
.hero h2{ font-size:1.9rem; margin:0; color:var(--text-light) }
.lead{ margin:0; color:var(--muted); max-width:60ch }

/* CTA */
.cta-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.6rem}
.btn{
  display:inline-flex;align-items:center;gap:.6rem;padding:.65rem .95rem;border-radius:10px;font-weight:700;
  text-decoration:none;color:var(--bg-dark);background:var(--accent);
  box-shadow:0 8px 22px rgba(0,0,0,0.25);transition:transform var(--transition), box-shadow var(--transition);
}
.btn.secondary{ background:transparent;color:var(--accent);border:1px solid rgba(255,255,255,0.06) }
.btn:hover{ transform:translateY(-3px); box-shadow:0 16px 40px rgba(0,0,0,0.35) }

/* ============ Two-column layout ============ */
.two-col{ display:grid; gap:1.2rem; margin-top:1.2rem; grid-template-columns: 1fr; }
@media(min-width:860px){ .two-col{ grid-template-columns: 1fr 360px } }

/* Card */
.card{ background:var(--card); padding:1rem; border-radius:10px; box-shadow:0 6px 18px rgba(0,0,0,0.28) }

/* Services */
.services-list{ display:grid; gap:.6rem }
@media(min-width:860px){ .services-list{ grid-template-columns:repeat(2,1fr) } }
.service{ display:flex; gap:.75rem; align-items:flex-start; padding:.7rem; border-radius:8px; background:var(--glass) }
.service .ic{ min-width:44px; height:44px; border-radius:8px; background:linear-gradient(180deg,#fff5d0,#ffd166); display:flex; align-items:center; justify-content:center; color:var(--text-dark); font-weight:800 }

/* Hours */
.hours{ display:flex; flex-direction:column; gap:.4rem; color:var(--muted) }
.hours strong{ color:var(--accent) }

/* Map container */
.map-container{ margin-top:1rem; border-radius:10px; overflow:hidden }
.map-container iframe{ width:100%; height:240px; border:0; display:block }

/* Pricing / misc */
ul.simple{ list-style: none; padding-left: 1rem; color:var(--muted) }
ul.simple li{ padding: .25rem 0 }

/* Sticky circle CTAs */
.sticky-cta{ position:fixed; right:1rem; bottom:1rem; display:flex; flex-direction:column; gap:.6rem; z-index:1200 }
.sticky-cta a{ display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:50%;
  background:linear-gradient(180deg,var(--accent),var(--accent-2)); color:var(--bg-dark); text-decoration:none; font-weight:800; box-shadow:0 10px 26px rgba(0,0,0,0.3) }
.sticky-cta a.phone{ background: linear-gradient(180deg,#34d399,#10b981); color:#052022 }

/* Footer */
footer{ margin-top:2rem; text-align:center; color:var(--muted); font-size:.95rem; padding:2rem 0; }

/* Toggle switch (top-right) */
.theme-toggle{
  display:inline-flex; align-items:center; gap:.5rem; padding:.25rem .4rem; border-radius:8px; cursor:pointer;
  background: rgba(255,255,255,0.02); border:1px solid rgba(255,255,255,0.03);
}
.theme-toggle span{ font-weight:700; color:var(--muted); font-size:.9rem }

/* Accessibility focus style for keyboard users */
.show-focus :focus{ outline: 3px solid rgba(255,255,255,0.12); outline-offset: 3px; border-radius:6px; }

/* Mobile tweaks */
@media(max-width:520px){
  .logo{ width:46px; height:46px; font-size:18px }
  .hero h2{ font-size:1.35rem }
  .sticky-cta{ right:.6rem; bottom:.6rem }
  .btn{ font-size:0.95rem }
}
