/*
Theme Name: Senior Trash Service Full Theme Restored
Author: Senior Trash Service
Version: 1.0.4
Description: Full restored Senior Trash Service WordPress theme with all page sections, centered transparent logo, call button, Formspree contact form, and service-area popup with Mesa, Queen Creek, Gilbert, San Tan Valley, and None.
Requires at least: 6.0
Requires PHP: 7.4
*/

:root{
  --primary-blue:#1e3a5f;
  --accent-green:#2f8f2f;
  --soft-green:#eef7ef;
  --page-bg:#f4f7f5;
  --border-green:#d9eadb;
  --muted:#64748b;
  --muted-dark:#334155;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--page-bg);color:#000;font-family:Inter,Arial,Helvetica,sans-serif}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}
button{font-family:inherit}

.sts-page{min-height:100vh;background:var(--page-bg);color:#000}
.sts-container{width:100%;max-width:1280px;margin:0 auto}

/* Hero */
.sts-hero{position:relative;overflow:hidden;padding:80px 24px 80px}
.sts-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top left,rgba(47,143,47,.14),transparent 24%),
    radial-gradient(circle at 85% 15%,rgba(30,58,95,.10),transparent 20%),
    radial-gradient(circle at 50% 100%,rgba(47,143,47,.08),transparent 32%);
}
.sts-hero::after{
  content:"";
  position:absolute;
  left:50%;
  top:40px;
  width:32rem;
  height:32rem;
  transform:translateX(-50%);
  border-radius:999px;
  background:rgba(255,255,255,.70);
  filter:blur(48px);
}
.sts-logo-row{position:relative;z-index:2;text-align:center;margin:0 auto 24px}
.sts-logo{width:144px;max-width:42vw;display:inline-block;object-fit:contain}
.sts-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.sts-hero-left{max-width:768px}
.sts-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid #cfe4d2;
  background:rgba(255,255,255,.88);
  color:var(--accent-green);
  padding:10px 16px;
  border-radius:999px;
  font-size:14px;
  font-weight:700;
  box-shadow:0 4px 12px rgba(15,23,42,.06);
}
.sts-title{
  margin:24px 0 0;
  max-width:760px;
  color:var(--primary-blue);
  font-size:clamp(48px,7vw,84px);
  line-height:1.02;
  letter-spacing:-.04em;
  font-weight:900;
}
.sts-lead{margin:24px 0 0;max-width:700px;color:var(--muted);font-size:clamp(18px,2vw,22px);line-height:1.75}
.sts-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.sts-mini-card{border:1px solid rgba(255,255,255,.65);background:rgba(255,255,255,.75);border-radius:24px;padding:20px;box-shadow:0 10px 30px rgba(15,23,42,.05);backdrop-filter:blur(12px)}
.sts-mini-card-title{margin:0;color:var(--primary-blue);font-size:16px;font-weight:800}
.sts-mini-card-copy{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.6}

.sts-love-wrap{position:relative}
.sts-love-glow{position:absolute;inset:-16px;border-radius:40px;background:linear-gradient(135deg,rgba(47,143,47,.14),rgba(30,58,95,.12));filter:blur(24px)}
.sts-love-card{position:relative;border:1px solid rgba(255,255,255,.70);background:rgba(255,255,255,.82);border-radius:40px;padding:24px;box-shadow:0 24px 80px rgba(15,23,42,.10);backdrop-filter:blur(18px)}
.sts-love-inner{border-radius:32px;padding:24px;background:linear-gradient(180deg,#f8fcf8,#fff)}
.sts-kicker{margin:0;color:var(--accent-green);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.24em}
.sts-check-list{margin-top:20px;display:grid;gap:12px}
.sts-check{display:flex;gap:12px;align-items:flex-start;border-radius:20px;background:#fff;padding:16px;box-shadow:0 4px 14px rgba(15,23,42,.05)}
.sts-check-icon,.sts-plan-feature-icon{flex:0 0 auto;border-radius:999px;background:var(--accent-green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900}
.sts-check-icon{width:32px;height:32px}
.sts-check p{margin:0;color:#000;font-size:15px;line-height:1.75}
.sts-note{margin-top:20px;border:1px solid var(--border-green);background:var(--soft-green);border-radius:20px;padding:16px;color:var(--muted);font-size:14px;line-height:1.7}
.sts-call-wrap{margin-top:24px;display:flex;justify-content:center;align-items:center}
.sts-call-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:16px 40px;background:var(--accent-green);color:#fff;font-size:16px;font-weight:700;box-shadow:0 14px 30px rgba(47,143,47,.18);transition:.2s ease}
.sts-call-btn:hover{transform:translateY(-2px);color:#fff}

/* Sections */
.sts-section{padding:80px 24px}
.sts-section-head{max-width:760px}
.sts-heading{margin:12px 0 0;color:var(--primary-blue);font-size:clamp(36px,4vw,56px);line-height:1.08;letter-spacing:-.03em;font-weight:900}
.sts-copy{margin:20px 0 0;color:var(--muted);font-size:18px;line-height:1.75}
.sts-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.sts-card{border:1px solid rgba(255,255,255,.70);background:rgba(255,255,255,.82);border-radius:32px;padding:24px;box-shadow:0 10px 35px rgba(15,23,42,.05)}
.sts-service-card{transition:.2s ease}
.sts-service-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(15,23,42,.08)}
.sts-number{width:48px;height:48px;border-radius:16px;background:var(--primary-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;box-shadow:0 14px 28px rgba(30,58,95,.18)}
.sts-service-card p{margin:20px 0 0;color:var(--muted-dark);font-size:16px;line-height:1.75}

/* Why */
.sts-why{position:relative;overflow:hidden}
.sts-why::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.55),rgba(255,255,255,0))}
.sts-why-grid{position:relative;z-index:1;display:grid;grid-template-columns:.95fr 1.05fr;gap:40px}
.sts-dark-panel{position:relative;overflow:hidden;border-radius:40px;padding:32px;background:var(--primary-blue);color:#fff;box-shadow:0 20px 70px rgba(15,23,42,.16)}
.sts-dark-panel::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top left,rgba(255,255,255,.10),transparent 30%)}
.sts-dark-panel>*{position:relative;z-index:1}
.sts-dark-panel .sts-kicker{color:rgba(255,255,255,.75)}
.sts-dark-panel .sts-heading{color:#fff}
.sts-dark-panel .sts-copy{color:rgba(255,255,255,.80)}
.sts-why-side{display:grid;gap:16px}
.sts-why-card h3{margin:0;color:#000;font-size:20px;font-weight:900}
.sts-why-card p{margin:12px 0 0;color:#000;font-size:16px;line-height:1.75}

/* Audience */
.sts-who-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.sts-who-top .sts-copy{max-width:560px;margin-top:0}
.sts-audience-grid{margin-top:48px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.sts-audience-card{background:linear-gradient(180deg,#fff,rgba(255,255,255,.72));border-radius:32px;padding:24px;box-shadow:0 12px 35px rgba(15,23,42,.06)}
.sts-audience-bar{width:56px;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--accent-green),var(--primary-blue))}
.sts-audience-card h3{margin:20px 0 0;color:var(--primary-blue);font-size:20px;font-weight:900}
.sts-audience-card p{margin:12px 0 0;color:#000;font-size:16px;line-height:1.75}

/* Pricing */
.sts-pricing-shell{border:1px solid var(--border-green);border-radius:44px;background:linear-gradient(180deg,#f7fbf7,#fff);box-shadow:0 20px 70px rgba(30,58,95,.08);padding:40px}
.sts-plan-wrap{margin-top:48px;display:flex;justify-content:center}
.sts-plan-card-outer{width:100%;max-width:768px;border-radius:32px;padding:1px;background:linear-gradient(160deg,var(--accent-green),rgba(47,143,47,.18),rgba(255,255,255,.95))}
.sts-plan-card{background:#fff;border-radius:32px;padding:28px}
.sts-plan-card h3{margin:0;color:var(--primary-blue);font-size:32px;font-weight:900}
.sts-price{margin-top:16px;color:var(--accent-green);font-size:56px;line-height:1;letter-spacing:-.04em;font-weight:900}
.sts-plan-desc{margin:16px 0 0;color:var(--muted);font-size:16px;line-height:1.75}
.sts-plan-features{margin-top:24px;display:grid;gap:12px}
.sts-plan-feature{display:flex;gap:12px;align-items:flex-start}
.sts-plan-feature-icon{margin-top:4px;width:24px;height:24px;font-size:12px}
.sts-plan-feature p{margin:0;color:var(--muted-dark);font-size:14px;line-height:1.7}
.sts-checkout{margin-top:48px;border:1px solid rgba(255,255,255,.70);background:rgba(255,255,255,.90);border-radius:40px;padding:40px;box-shadow:0 24px 80px rgba(15,23,42,.10);backdrop-filter:blur(10px)}
.sts-checkout-inner{max-width:768px;margin:0 auto;text-align:center}
.sts-btn{display:flex;width:100%;align-items:center;justify-content:center;border:none;border-radius:999px;padding:20px 24px;background:var(--accent-green);color:#fff;font-size:18px;font-weight:900;box-shadow:0 16px 35px rgba(47,143,47,.18);transition:.2s ease;cursor:pointer}
.sts-btn:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(47,143,47,.22);color:#fff}

/* Contact */
.sts-contact{padding:64px 16px 80px}
.sts-contact-shell{max-width:1024px;margin:0 auto;border:1px solid var(--border-green);background:rgba(255,255,255,.90);border-radius:40px;padding:40px;box-shadow:0 24px 80px rgba(15,23,42,.08)}
.sts-contact-head{max-width:760px;margin:0 auto;text-align:center}
.sts-contact-form{margin-top:40px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.sts-field{display:block}
.sts-field-full{grid-column:1/-1}
.sts-label{display:block;margin-bottom:8px;color:var(--primary-blue);font-size:14px;font-weight:900}
.sts-input,.sts-textarea{width:100%;min-height:56px;border:1px solid #d7e4da;border-radius:16px;background:#fff;padding:16px 20px;color:#000;font:inherit;font-size:16px;outline:none;transition:.2s ease}
.sts-textarea{min-height:150px;resize:vertical}
.sts-input:focus,.sts-textarea:focus{border-color:var(--accent-green);box-shadow:0 0 0 4px rgba(47,143,47,.10)}
.sts-submit{grid-column:1/-1;min-height:58px;border:none;border-radius:999px;background:var(--accent-green);color:#fff;padding:20px 24px;font:inherit;font-size:18px;font-weight:900;cursor:pointer;box-shadow:0 16px 35px rgba(47,143,47,.18);transition:.2s ease}
.sts-submit:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(47,143,47,.22)}

/* Modal */
.sts-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.5);padding:16px;backdrop-filter:blur(6px)}
.sts-modal.is-open{display:flex}
.sts-modal-box{width:100%;max-width:560px;border-radius:32px;background:#fff;padding:32px;box-shadow:0 30px 90px rgba(0,0,0,.25)}
.sts-modal-head{text-align:center}
.sts-modal-title{margin:12px 0 0;color:var(--primary-blue);font-size:32px;line-height:1.1;font-weight:900;letter-spacing:-.03em}
.sts-modal-copy{margin:12px 0 0;color:var(--muted);font-size:16px;line-height:1.7}
.sts-city-grid{margin-top:24px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.sts-city-option{border:1px solid #d7e4da;border-radius:18px;background:#fff;color:var(--primary-blue);padding:16px 20px;font-size:16px;font-weight:800;cursor:pointer;transition:.2s}
.sts-city-option.is-selected{border-color:var(--accent-green);background:var(--soft-green);color:var(--accent-green)}
.sts-disclaimer{margin-top:20px;border:1px solid var(--border-green);border-radius:18px;background:var(--soft-green);padding:16px;text-align:center;color:var(--primary-blue);font-size:14px;font-weight:700;line-height:1.6}
.sts-city-error{display:none;margin:16px 0 0;text-align:center;color:#dc2626;font-size:14px;font-weight:800}
.sts-city-error.is-visible{display:block}
.sts-modal-actions{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sts-modal-cancel,.sts-modal-continue{border-radius:999px;padding:16px 20px;font-size:16px;font-weight:800;cursor:pointer}
.sts-modal-cancel{border:1px solid #d7e4da;background:#fff;color:var(--primary-blue)}
.sts-modal-continue{border:none;background:var(--accent-green);color:#fff}
.sts-modal-continue:disabled{opacity:.4;cursor:not-allowed}

@media(max-width:1100px){
  .sts-hero-grid,.sts-why-grid,.sts-audience-grid{grid-template-columns:1fr}
  .sts-services-grid{grid-template-columns:repeat(2,1fr)}
  .sts-who-top{align-items:flex-start;flex-direction:column}
}
@media(max-width:700px){
  .sts-logo{width:112px;max-width:48vw}
  .sts-hero{padding:48px 16px 56px}
  .sts-section{padding:56px 16px}
  .sts-title{font-size:clamp(42px,12vw,64px)}
  .sts-heading{font-size:clamp(32px,10vw,48px)}
  .sts-services-grid,.sts-mini-grid,.sts-contact-form,.sts-city-grid,.sts-modal-actions{grid-template-columns:1fr}
  .sts-field-full,.sts-submit{grid-column:auto}
  .sts-love-card,.sts-love-inner,.sts-dark-panel,.sts-card,.sts-audience-card,.sts-pricing-shell,.sts-checkout,.sts-contact-shell,.sts-plan-card{padding:22px}
  .sts-pricing-shell,.sts-contact-shell{border-radius:32px}
  .sts-checkout{border-radius:30px}
  .sts-price{font-size:48px}
  .sts-modal-box{padding:24px}
}
