/*
Theme Name: Timesaver PC Modern
Theme URI: https://timesaverpc.net/
Author: Timesaver PC
Description: A lightweight, responsive custom theme for Timesaver PC. Designed for safe preview on a staging WordPress site.
Version: 1.1.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: timesaverpc-modern
*/
:root{--tsp-navy:#0c1b33;--tsp-blue:#1769d2;--tsp-cyan:#38bdf8;--tsp-ink:#152238;--tsp-muted:#5e6b7d;--tsp-paper:#f5f8fc;--tsp-white:#fff;--tsp-line:#e1e8f0;--tsp-radius:18px;--tsp-shadow:0 16px 42px rgba(12,27,51,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--tsp-ink);background:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.7}img{max-width:100%;height:auto}a{color:var(--tsp-blue);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}.tsp-container{width:min(1160px,calc(100% - 40px));margin-inline:auto}.tsp-skip{position:absolute;left:-9999px;top:auto}.tsp-skip:focus{left:1rem;top:1rem;z-index:999;background:#fff;padding:1rem}.tsp-topbar{background:#071326;color:#dbeafe;font-size:.86rem}.tsp-topbar-inner{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0}.tsp-header{position:relative;background:#fff;border-bottom:1px solid var(--tsp-line);z-index:10}.tsp-header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:84px}.tsp-brand{display:flex;align-items:center;gap:.8rem;color:var(--tsp-navy);font-weight:800;letter-spacing:-.03em;font-size:1.2rem}.tsp-brand img{max-height:58px;width:auto}.tsp-brand small{display:block;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--tsp-muted);font-weight:650}.tsp-nav ul{display:flex;align-items:center;gap:1.35rem;list-style:none;margin:0;padding:0}.tsp-nav a{color:var(--tsp-ink);font-size:.94rem;font-weight:650}.tsp-nav .current-menu-item>a{color:var(--tsp-blue)}.tsp-menu-toggle{display:none;border:1px solid var(--tsp-line);background:#fff;border-radius:10px;padding:.55rem .8rem;color:var(--tsp-navy)}.tsp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.88rem 1.2rem;border-radius:10px;background:var(--tsp-blue);color:#fff!important;font-weight:750;border:1px solid var(--tsp-blue);box-shadow:0 8px 18px rgba(23,105,210,.2);transition:transform .18s,background .18s}.tsp-btn:hover{background:#0c55b6;transform:translateY(-1px);text-decoration:none}.tsp-btn-outline{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.45);box-shadow:none}.tsp-btn-outline:hover{background:rgba(255,255,255,.1)}.tsp-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 78% 20%,rgba(56,189,248,.24),transparent 34%),linear-gradient(120deg,#08162b 0%,#10294d 58%,#123c70 100%);color:#fff;padding:clamp(4rem,8vw,7.2rem) 0}.tsp-hero:after{content:"";position:absolute;right:-140px;bottom:-240px;width:520px;height:520px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.02)}.tsp-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center}.tsp-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#93d9ff}.tsp-eyebrow:before{content:"";width:24px;height:2px;background:var(--tsp-cyan)}.tsp-hero h1{max-width:760px;margin:.9rem 0 1.1rem;font-size:clamp(2.5rem,5.3vw,4.7rem);line-height:1.04;letter-spacing:-.055em;color:#fff}.tsp-hero p{max-width:640px;color:#d8e7f9;font-size:clamp(1.05rem,1.6vw,1.2rem);margin:0 0 1.7rem}.tsp-actions{display:flex;flex-wrap:wrap;gap:.8rem}.tsp-hero-panel{padding:1.6rem;border:1px solid rgba(255,255,255,.17);border-radius:24px;background:rgba(255,255,255,.075);backdrop-filter:blur(8px);box-shadow:0 24px 65px rgba(0,0,0,.15)}.tsp-panel-top{display:flex;align-items:center;gap:.8rem;margin-bottom:1.3rem}.tsp-panel-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#dff4ff;color:#075985;font-size:1.35rem}.tsp-panel-top strong{display:block;color:#fff}.tsp-panel-top span{display:block;color:#b9d0ea;font-size:.88rem}.tsp-checklist{list-style:none;padding:0;margin:0;display:grid;gap:.8rem}.tsp-checklist li{display:flex;gap:.7rem;color:#eaf4ff}.tsp-checklist li:before{content:"✓";flex:none;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:rgba(56,189,248,.18);color:#7dd3fc;font-weight:900;font-size:.82rem}.tsp-trust-strip{background:#fff;border-bottom:1px solid var(--tsp-line)}.tsp-trust-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1.2rem 0}.tsp-trust-item{display:flex;align-items:center;justify-content:center;gap:.65rem;color:#31445f;font-size:.94rem;font-weight:700}.tsp-trust-item span{color:var(--tsp-blue);font-size:1.25rem}.tsp-section{padding:clamp(3.5rem,7vw,5.7rem) 0}.tsp-section-soft{background:var(--tsp-paper)}.tsp-section-head{max-width:700px;margin:0 auto 2.5rem;text-align:center}.tsp-kicker{color:var(--tsp-blue);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:850}.tsp-section h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.12;letter-spacing:-.04em;margin:.55rem 0 1rem;color:var(--tsp-navy)}.tsp-section-head p{color:var(--tsp-muted);margin:0;font-size:1.06rem}.tsp-services{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.tsp-card{background:#fff;border:1px solid var(--tsp-line);border-radius:var(--tsp-radius);padding:1.45rem;box-shadow:0 5px 20px rgba(12,27,51,.035);transition:transform .2s,box-shadow .2s}.tsp-card:hover{transform:translateY(-4px);box-shadow:var(--tsp-shadow)}.tsp-card-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:#e9f4ff;color:var(--tsp-blue);font-size:1.5rem;margin-bottom:1.2rem}.tsp-card h3{margin:0 0 .55rem;font-size:1.14rem;line-height:1.3;color:var(--tsp-navy)}.tsp-card p{margin:0 0 1rem;color:var(--tsp-muted);font-size:.94rem}.tsp-card a{font-weight:750;font-size:.93rem}.tsp-two-col{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}.tsp-feature-box{min-height:320px;display:flex;flex-direction:column;justify-content:space-between;padding:2rem;border-radius:24px;background:linear-gradient(140deg,#eaf5ff,#f8fbff);border:1px solid #d9eaff}.tsp-feature-box .tsp-big-symbol{font-size:4rem;color:#1769d2;line-height:1}.tsp-feature-box strong{display:block;font-size:1.5rem;color:var(--tsp-navy);max-width:350px;line-height:1.2}.tsp-feature-box p{color:var(--tsp-muted);max-width:380px}.tsp-feature-list{list-style:none;padding:0;margin:1.5rem 0;display:grid;gap:.8rem}.tsp-feature-list li{display:flex;gap:.7rem}.tsp-feature-list li:before{content:"✓";color:var(--tsp-blue);font-weight:900}.tsp-cta{background:linear-gradient(115deg,#0c1b33,#164b83);color:#fff;padding:clamp(2.5rem,5vw,4rem);border-radius:24px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.tsp-cta h2{color:#fff;margin:0 0 .65rem;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.12}.tsp-cta p{margin:0;color:#d8e7f9;max-width:620px}.tsp-page-hero{background:var(--tsp-paper);padding:3.5rem 0;border-bottom:1px solid var(--tsp-line)}.tsp-page-hero h1{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.1;letter-spacing:-.045em;color:var(--tsp-navy);margin:0 0 .8rem}.tsp-page-hero p{color:var(--tsp-muted);max-width:760px;margin:0}.tsp-content{padding:3rem 0 5rem}.tsp-content-inner{max-width:850px;margin:auto}.tsp-content-inner h2,.tsp-content-inner h3{color:var(--tsp-navy);line-height:1.2}.tsp-content-inner img{border-radius:12px}.tsp-content-inner .entry-content{overflow-wrap:anywhere}.tsp-footer{background:#071326;color:#c7d5e8;padding:3rem 0 1.2rem}.tsp-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem;padding-bottom:2rem}.tsp-footer h2,.tsp-footer h3{color:#fff;font-size:1rem;margin:0 0 .8rem}.tsp-footer p{margin:.5rem 0;color:#aebfd4;font-size:.94rem}.tsp-footer a{color:#d8eaff}.tsp-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}.tsp-footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:1rem;display:flex;justify-content:space-between;gap:1rem;font-size:.85rem;color:#93a8c2}.tsp-footer .tsp-brand{color:#fff}.tsp-footer .tsp-brand small{color:#aebfd4}.tsp-footer .tsp-brand img{background:#fff;border-radius:6px;padding:3px}.tsp-empty{padding:2rem;background:var(--tsp-paper);border-radius:14px}.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;position:absolute!important;white-space:nowrap}.alignwide{max-width:1100px;margin-left:auto;margin-right:auto}.alignfull{width:100%;max-width:none}.wp-block-button__link{border-radius:9px;background:var(--tsp-blue)}.wp-block-image img{border-radius:12px}
@media(max-width:980px){.tsp-services{grid-template-columns:repeat(2,1fr)}.tsp-hero-grid{grid-template-columns:1fr  .8fr;gap:1.5rem}.tsp-nav ul{gap:.85rem}.tsp-nav a{font-size:.88rem}.tsp-header-inner{gap:1rem}.tsp-footer-grid{grid-template-columns:1fr 1fr}.tsp-footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:720px){.tsp-container{width:min(100% - 30px,1160px)}.tsp-topbar-inner{justify-content:center;text-align:center}.tsp-topbar-inner span:last-child{display:none}.tsp-header-inner{min-height:72px;flex-wrap:wrap;padding:.65rem 0}.tsp-menu-toggle{display:inline-flex}.tsp-nav{display:none;flex-basis:100%;width:100%}.tsp-nav.is-open{display:block}.tsp-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:.3rem 0 1rem}.tsp-nav li{border-top:1px solid var(--tsp-line)}.tsp-nav a{display:block;padding:.75rem .2rem;font-size:1rem}.tsp-hero{padding:3.8rem 0}.tsp-hero-grid{grid-template-columns:1fr}.tsp-hero-panel{margin-top:.5rem}.tsp-trust-inner{grid-template-columns:1fr;gap:.55rem}.tsp-trust-item{justify-content:flex-start}.tsp-services{grid-template-columns:1fr}.tsp-two-col{grid-template-columns:1fr;gap:2rem}.tsp-feature-box{min-height:250px}.tsp-cta{align-items:flex-start;flex-direction:column}.tsp-footer-grid{grid-template-columns:1fr;gap:1.5rem}.tsp-footer-grid>div:first-child{grid-column:auto}.tsp-footer-bottom{flex-direction:column}.tsp-section{padding:3.5rem 0}.tsp-page-hero{padding:2.6rem 0}}

.custom-logo-link{display:inline-flex;align-items:center}.custom-logo{max-height:58px;width:auto}.tsp-footer .custom-logo{background:#fff;border-radius:6px;padding:3px}

/* 1.0.1 refinement: stronger hierarchy, robust branding and usable menus */
.tsp-brand{min-width:0;gap:.75rem}.tsp-brand img,.tsp-brand .custom-logo{display:block;max-width:190px;max-height:54px;object-fit:contain}.tsp-brand-text{display:block;min-width:0;line-height:1.25}.tsp-brand-text strong{display:block;font-size:1.17rem;letter-spacing:-.035em}.tsp-brand-text small{display:block;margin-top:.22rem;font-size:.68rem;letter-spacing:.085em;text-transform:uppercase;color:var(--tsp-muted);font-weight:750}.tsp-footer .tsp-brand-text small{color:#aebfd4}.tsp-nav ul{list-style:none}.tsp-nav li{margin:0}.tsp-nav a{white-space:nowrap}.tsp-nav .menu-item-has-children{position:relative}.tsp-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:210px;padding:.55rem;background:#fff;border:1px solid var(--tsp-line);border-radius:12px;box-shadow:var(--tsp-shadow);z-index:20}.tsp-nav .menu-item-has-children:hover>.sub-menu,.tsp-nav .menu-item-has-children:focus-within>.sub-menu{display:block}.tsp-nav .sub-menu a{display:block;padding:.55rem .65rem}.tsp-hero h1{max-width:690px}.tsp-hero-panel{position:relative}.tsp-hero-panel:before{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.08);border-radius:17px;pointer-events:none}.tsp-card{display:flex;flex-direction:column;align-items:flex-start}.tsp-card a{margin-top:auto;padding-top:.25rem}.tsp-card p{flex:1}.tsp-card-icon{font-size:1.4rem;font-weight:800}.tsp-footer .custom-logo-link{display:inline-flex;margin-bottom:.7rem}.tsp-footer .custom-logo{max-width:170px;max-height:48px}.tsp-brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:linear-gradient(135deg,#1769d2,#38bdf8);color:#fff;font-weight:900;font-size:1rem;letter-spacing:-.04em;box-shadow:0 7px 16px rgba(23,105,210,.18)}.tsp-hero .tsp-btn:focus-visible,.tsp-nav a:focus-visible,.tsp-menu-toggle:focus-visible,.tsp-card a:focus-visible{outline:3px solid #7dd3fc;outline-offset:3px}
@media(max-width:980px){.tsp-nav ul{gap:.65rem}.tsp-nav a{font-size:.85rem}.tsp-brand img,.tsp-brand .custom-logo{max-width:155px}}
@media(max-width:720px){.tsp-brand img,.tsp-brand .custom-logo{max-width:150px;max-height:46px}.tsp-brand-text strong{font-size:1.08rem}.tsp-nav .sub-menu{position:static;box-shadow:none;border:0;border-left:2px solid var(--tsp-line);border-radius:0;margin-left:.7rem;padding:.2rem .4rem}.tsp-nav .menu-item-has-children:hover>.sub-menu{display:none}.tsp-nav .menu-item-has-children:focus-within>.sub-menu{display:block}}


/* 1.0.3: optional faith invitation linking to Grace Baptist Church */
.tsp-faith-invitation{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:0 0 2.5rem;padding:1.4rem 1.6rem;border:1px solid rgba(216,234,255,.2);border-radius:16px;background:linear-gradient(110deg,rgba(255,255,255,.07),rgba(255,255,255,.025))}.tsp-faith-invitation h2{margin:0 0 .3rem;color:#fff;font-size:1.15rem;line-height:1.35}.tsp-faith-invitation p{margin:0;color:#c7d5e8;font-size:.93rem}.tsp-faith-link{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;flex:none;padding:.7rem 1rem;border:1px solid rgba(255,255,255,.45);border-radius:9px;color:#fff!important;font-weight:800;white-space:nowrap}.tsp-faith-link:hover{background:rgba(255,255,255,.1);text-decoration:none}.tsp-faith-link:focus-visible{outline:3px solid #7dd3fc;outline-offset:3px}@media(max-width:600px){.tsp-faith-invitation{align-items:flex-start;flex-direction:column;padding:1.2rem}.tsp-faith-link{white-space:normal}}

/* v1.0.5: bundled Timesaver PC logo fallback */
.tsp-brand .tsp-logo-image {
  display: block;
  width: auto;
  max-width: 220px;
  height: auto;
  max-height: 76px;
  object-fit: contain;
}
@media (max-width: 640px) {
  .tsp-brand .tsp-logo-image {
    max-width: 155px;
    max-height: 58px;
  }
}

/* v1.0.6: restore the Find Jesus link in the top bar */
.tsp-topbar-right{display:flex;align-items:center;gap:1.1rem}
.tsp-find-jesus-top{display:inline-flex;align-items:center;gap:.3rem;color:#fff!important;font-weight:750;border-left:1px solid rgba(255,255,255,.22);padding-left:1.1rem}
.tsp-find-jesus-top:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:720px){.tsp-topbar-inner{justify-content:space-between;gap:.5rem}.tsp-topbar-inner>span:first-child{display:none}.tsp-topbar-right{width:100%;justify-content:center}.tsp-find-jesus-top{border-left:0;padding-left:0}.tsp-topbar-location{display:none}}

/* v1.0.8: prominent, responsive Find Jesus strip above the site header */
.tsp-topbar{display:block!important;background:#09172b;color:#fff;padding:.55rem 0;position:relative;z-index:100}
.tsp-topbar-inner{display:flex!important;align-items:center;justify-content:flex-end;min-height:24px}
.tsp-find-jesus-top{display:inline-flex!important;align-items:center;gap:.35rem;color:#fff!important;font-size:.9rem;font-weight:750;letter-spacing:.01em;text-decoration:none;padding:.2rem 0}
.tsp-find-jesus-top:hover{text-decoration:underline;text-underline-offset:3px}
.tsp-find-jesus-top:focus-visible{outline:2px solid #fff;outline-offset:4px}
.tsp-brand .tsp-logo-image{display:block;width:auto;max-width:220px;height:auto;max-height:76px;object-fit:contain}
@media(max-width:720px){
 .tsp-topbar{padding:.6rem 1rem}
 .tsp-topbar-inner{justify-content:center!important;min-height:26px}
 .tsp-find-jesus-top{font-size:.95rem}
 .tsp-brand .tsp-logo-image{max-width:155px;max-height:58px}
}

/* v1.0.9: use the supplied Timesaver PC logo wherever a logo fallback is needed */
.tsp-brand .tsp-logo-image{display:block;width:auto;max-width:220px;height:auto;max-height:76px;object-fit:contain}
@media(max-width:720px){.tsp-brand .tsp-logo-image{max-width:155px;max-height:58px}}

/* v1.0.9: use the full Timesaver PC logo instead of the TS placeholder */
.tsp-brand .tsp-logo-image{display:block;width:auto;max-width:220px;height:auto;max-height:88px;object-fit:contain;background:#fff}
@media(max-width:720px){.tsp-brand .tsp-logo-image{max-width:155px;max-height:62px}}

/* v1.1.0: prominent Starlink referral CTA above Contact Timesaver PC */
.tsp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.tsp-btn-starlink{background:#e11d2e!important;border:1px solid #e11d2e!important;color:#fff!important;box-shadow:0 7px 18px rgba(225,29,46,.18)}
.tsp-btn-starlink:hover{background:#b91422!important;border-color:#b91422!important;color:#fff!important;transform:translateY(-1px)}
.tsp-btn-starlink:focus-visible{outline:3px solid #e11d2e;outline-offset:3px}
@media(max-width:640px){.tsp-actions{align-items:stretch;flex-direction:column}.tsp-actions .tsp-btn{width:100%;justify-content:center;text-align:center}}

/* v1.1.1: Starlink-inspired mark and wordmark inside the order button */
.tsp-btn-starlink{display:inline-flex;align-items:center;justify-content:center;gap:1rem}
.tsp-starlink-lockup{display:inline-flex;align-items:center;gap:.55rem;font-weight:800;letter-spacing:.12em}
.tsp-starlink-symbol{display:block;width:30px;height:22px;flex:0 0 auto}
.tsp-starlink-order{display:inline-flex;align-items:center;gap:.35rem;border-left:1px solid rgba(255,255,255,.45);padding-left:1rem;font-size:.82em;font-weight:800;letter-spacing:.04em}
@media(max-width:640px){.tsp-btn-starlink{gap:.8rem}.tsp-starlink-symbol{width:27px;height:20px}.tsp-starlink-order{padding-left:.8rem}}

/* v1.1.1: clear, responsive Starlink logo lockup in referral CTA */
.tsp-btn-starlink{display:flex;align-items:center;justify-content:space-between;gap:.8rem}
.tsp-btn-starlink .tsp-starlink-lockup{display:inline-flex;align-items:center;gap:.55rem;min-width:0}
.tsp-btn-starlink .tsp-starlink-symbol{display:block;width:38px;height:25px;flex:0 0 auto}
.tsp-btn-starlink .tsp-starlink-lockup>span{font-weight:800;letter-spacing:.11em}
.tsp-btn-starlink .tsp-starlink-order{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;font-weight:800}
@media(max-width:640px){.tsp-btn-starlink .tsp-starlink-symbol{width:32px;height:22px}.tsp-btn-starlink{justify-content:center}}

/* v1.1.2: mobile quick-action buttons immediately below the menu */
.tsp-mobile-quick-actions{display:none}
@media(max-width:720px){
 .tsp-mobile-quick-actions{display:flex;flex-direction:column;gap:.65rem;padding-top:1rem;padding-bottom:1rem}
 .tsp-mobile-quick-actions .tsp-btn{width:100%;justify-content:center;text-align:center;min-height:48px}
 .tsp-hero .tsp-actions{display:none}
}
