/*
Theme Name: GeeksRepair Lab
Theme URI: https://example.com/geeksrepair-lab
Author: GeeksRepair Lab
Description: Custom WordPress theme converted from the supplied GeeksRepair Lab HTML website.
Version: 1.0.0
Text Domain: geeksrepair-lab
*/

:root{
    --navy:#14213D; --orange:#FF6B35; --teal:#2F8F86;
    --bg:#ffffff; --bg2:#f6f7fb; --text:#14213D; --muted:#5b6478; --card:#ffffff; --border:#e6e8f0;
    box-sizing:border-box;
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
  }
  *{box-sizing:inherit}
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#0f1526; --bg2:#141b30; --text:#eef1fa; --muted:#a7add0; --card:#161f38; --border:#232d4d;
    }
  }
  :root[data-theme="dark"]{
    --bg:#0f1526; --bg2:#141b30; --text:#eef1fa; --muted:#a7add0; --card:#161f38; --border:#232d4d;
  }
  html{scroll-padding-top:env(safe-area-inset-top,0px)}
  html,body{height:100%}
  body{
    margin:0; background:var(--bg); color:var(--text);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    line-height:1.5;
  }
  a{color:inherit}
  .wrap{max-width:1040px;margin:0 auto;padding:0 20px}

  header.site{
    position:sticky; top:0; top:env(safe-area-inset-top,0px);
    background:var(--bg); border-bottom:1px solid var(--border); z-index:10;
  }
  .navbar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;max-width:1040px;margin:0 auto}
  .brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.05rem;letter-spacing:.2px}
  .brand .dot{width:10px;height:10px;border-radius:50%;background:var(--orange)}
  .callbtn{
    background:var(--orange); color:#fff; border:none; border-radius:999px;
    padding:10px 18px; font-weight:700; font-size:.95rem; cursor:pointer; white-space:nowrap;
  }
  .callbtn:hover{opacity:.92}

  .hero{
    background:linear-gradient(180deg,var(--bg2),var(--bg));
    padding:56px 0 44px; text-align:center;
  }
  .badge{
    display:inline-block; background:var(--card); border:1px solid var(--border); color:var(--teal);
    font-size:.8rem; font-weight:700; letter-spacing:.4px; text-transform:uppercase;
    padding:6px 14px; border-radius:999px; margin-bottom:18px;
  }
  h1{font-size:clamp(1.9rem,4.4vw,2.9rem); margin:0 0 14px; font-weight:800; letter-spacing:-.5px}
  .sub{font-size:1.1rem; color:var(--muted); max-width:600px; margin:0 auto 28px}
  .hero-ctas{display:flex; gap:12px; justify-content:center; flex-wrap:wrap}
  .btn-primary{
    background:var(--orange); color:#fff; border:none; border-radius:10px;
    padding:14px 26px; font-weight:700; font-size:1rem; cursor:pointer;
  }
  .btn-secondary{
    background:transparent; color:var(--navy); border:1.5px solid var(--border); border-radius:10px;
    padding:14px 26px; font-weight:700; font-size:1rem; cursor:pointer;
  }
  :root[data-theme="dark"] .btn-secondary{color:var(--text)}
  .price-note{margin-top:16px; font-size:.9rem; color:var(--muted)}
  .price-note strong{color:var(--teal)}

  .trust{padding:18px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--bg2)}
  .trust .wrap{display:flex; gap:28px; justify-content:center; flex-wrap:wrap; font-size:.9rem; color:var(--muted); text-align:center}
  .trust b{color:var(--text)}

  section{padding:52px 0}
  .section-head{text-align:center; max-width:620px; margin:0 auto 34px}
  .section-head h2{font-size:clamp(1.4rem,3vw,1.9rem); margin:0 0 10px; font-weight:800}
  .section-head p{color:var(--muted); margin:0}

  .grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:18px}
  .card{
    background:var(--card); border:1px solid var(--border); border-radius:14px; padding:22px;
  }
  .card .icon{
    width:42px;height:42px;border-radius:10px; display:flex; align-items:center; justify-content:center;
    background:rgba(47,143,134,.12); color:var(--teal); font-size:1.3rem; margin-bottom:14px;
  }
  .card h3{margin:0 0 8px; font-size:1.05rem; font-weight:700}
  .card p{margin:0; color:var(--muted); font-size:.92rem}

  .steps{counter-reset:step}
  .step-list{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:20px; margin-top:10px}
  .step{position:relative; padding-left:44px}
  .step .num{
    position:absolute; left:0; top:0; width:32px; height:32px; border-radius:50%;
    background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:center;
    font-weight:800; font-size:.9rem;
  }
  :root[data-theme="dark"] .step .num{background:var(--orange)}
  .step h4{margin:0 0 6px; font-size:1rem; font-weight:700}
  .step p{margin:0; color:var(--muted); font-size:.9rem}

  .pricing{background:var(--bg2)}
  .price-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:18px}
  .price-card{background:var(--card); border:1px solid var(--border); border-radius:14px; padding:26px; text-align:center}
  .price-card.featured{border-color:var(--orange); box-shadow:0 0 0 2px rgba(255,107,53,.15)}
  .price-card .tag{font-size:.8rem; color:var(--teal); font-weight:700; text-transform:uppercase; letter-spacing:.4px}
  .price-card .amount{font-size:2rem; font-weight:800; margin:8px 0 4px}
  .price-card .amount span{font-size:.95rem; font-weight:600; color:var(--muted)}
  .price-card ul{list-style:none; padding:0; margin:16px 0; color:var(--muted); font-size:.9rem; text-align:left}
  .price-card li{padding:6px 0; border-top:1px solid var(--border)}
  .price-card li:first-child{border-top:none}

  .cta-band{
    background:var(--navy); color:#fff; border-radius:18px; padding:40px 28px; text-align:center;
    margin:0 20px;
  }
  .cta-band h2{margin:0 0 10px; font-size:clamp(1.4rem,3vw,1.9rem)}
  .cta-band p{color:#c7cbe0; margin:0 0 22px}

  footer{padding:34px 0; text-align:center; color:var(--muted); font-size:.85rem; border-top:1px solid var(--border)}
  footer .fine{max-width:640px; margin:14px auto 0; font-size:.78rem; opacity:.8}

  @media (max-width:520px){
    .navbar{padding:12px 16px}
    .callbtn{padding:9px 14px; font-size:.85rem}
  }

/* WordPress additions */
.admin-bar header.site{top:32px}
@media(max-width:782px){.admin-bar header.site{top:46px}}
.navbar nav ul{display:flex;align-items:center;gap:18px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.navbar nav a{font-weight:600;text-decoration:none;font-size:.92rem}
.navbar nav .current-menu-item>a,.navbar nav a:hover{color:var(--orange)}
.menu-toggle{display:none;background:transparent;border:1px solid var(--border);border-radius:8px;padding:8px 10px;color:var(--text)}
.notice{padding:12px 14px;border-radius:8px;margin-bottom:18px;background:var(--bg2);border:1px solid var(--border)}
@media(max-width:720px){.menu-toggle{display:block}.navbar{align-items:flex-start}.navbar nav{display:none;width:100%;padding-top:12px}.navbar nav.open{display:block}.navbar nav ul{flex-direction:column;align-items:flex-start;gap:12px}.navbar{flex-wrap:wrap}}
.btn-primary,.btn-secondary{display:inline-block;text-decoration:none;cursor:pointer}.service-copy p{margin-bottom:0}

.legal-links{margin-top:12px}.legal-links a{text-decoration:none}.legal-links a:hover{color:var(--orange)}.legal-page{max-width:820px}.legal-page h2{margin:28px 0 8px;font-size:1.25rem}.legal-page p{color:var(--muted)}

.footer-contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:980px;margin:0 auto 28px;text-align:left}.footer-contact-item{padding:20px;border:1px solid var(--border);border-radius:14px;background:var(--card)}.footer-contact-icon{font-size:1.35rem;margin-bottom:8px}.footer-contact-item h3{margin:0 0 8px;color:var(--text);font-size:1rem}.footer-contact-item p{margin:0;line-height:1.65}.footer-contact-item a{text-decoration:none;color:var(--text);font-weight:700}.footer-contact-item a:hover{color:var(--orange)}.footer-brand{margin-top:8px}@media(max-width:760px){.footer-contact-grid{grid-template-columns:1fr;text-align:center}}
