/* Superior Emergency Plumber Elizabethtown PA - shared styles */
:root{
  --red:#d7263d;--red-dark:#a91a2f;--dark:#0b2545;--dark2:#0e2f5a;
  --light:#f6f8fb;--gold:#ffb703;--text:#1b1b1b;--muted:#555;
  --border:#e6ebf2;--radius:12px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);line-height:1.6;background:#fff;padding-bottom:72px;}
a{color:var(--red);text-decoration:none;transition:color .15s;}
a:hover{text-decoration:underline;}
img{max-width:100%;height:auto;display:block;border-radius:10px;}
.wrap{max-width:1100px;margin:0 auto;padding:0 18px;}

/* ======= HEADER ======= */
header.site-header{background:var(--dark);color:#fff;padding:14px 0;position:sticky;top:0;z-index:50;box-shadow:0 2px 8px rgba(0,0,0,.08);}
header.site-header .row{display:flex;align-items:center;justify-content:space-between;gap:10px;}
header.site-header .logo{font-weight:800;font-size:1.15rem;color:#fff;letter-spacing:.2px;}
header.site-header .logo span{color:var(--gold);}
header.site-header .logo small{display:block;font-size:.7rem;font-weight:500;opacity:.8;letter-spacing:.6px;text-transform:uppercase;}
header.site-header .call{background:var(--red);color:#fff;padding:10px 18px;border-radius:40px;font-weight:700;font-size:1rem;transition:transform .15s,background .15s;}
header.site-header .call:hover{background:var(--red-dark);text-decoration:none;transform:translateY(-1px);}

nav.site-nav{background:var(--dark2);}
nav.site-nav ul{display:flex;flex-wrap:wrap;list-style:none;justify-content:center;}
nav.site-nav a{color:#fff;padding:10px 14px;display:block;font-size:.95rem;transition:background .15s;}
nav.site-nav a:hover{background:#16407a;text-decoration:none;}
nav.site-nav a.active{background:#16407a;font-weight:700;}

.breadcrumbs{background:#f0f3f8;padding:10px 0;font-size:.9rem;color:#555;}
.breadcrumbs a{color:var(--dark);font-weight:600;}

/* ======= HERO ======= */
.hero{color:#fff;padding:72px 0;text-align:center;position:relative;overflow:hidden;}
.hero.home{background:linear-gradient(rgba(11,37,69,.78),rgba(11,37,69,.78)),url('https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=1600') center/cover;}
.hero.svc{background:linear-gradient(rgba(11,37,69,.82),rgba(11,37,69,.82)),url('https://images.unsplash.com/photo-1585704032915-c3400ca199e7?w=1600') center/cover;}
.hero.emg{background:linear-gradient(rgba(120,10,20,.82),rgba(120,10,20,.82)),url('https://images.unsplash.com/photo-1585128792020-803d29415281?w=1600') center/cover;}
.hero.area{background:linear-gradient(rgba(11,37,69,.78),rgba(11,37,69,.78)),url('https://images.unsplash.com/photo-1519389950473-47ba0277781c?w=1600') center/cover;}
.hero.info{background:linear-gradient(rgba(14,47,90,.78),rgba(14,47,90,.78)),url('https://images.unsplash.com/photo-1581244277943-fe4a9c777189?w=1600') center/cover;}
.hero h1{font-size:2.3rem;margin-bottom:14px;line-height:1.2;animation:fadeUp .6s ease both;}
.hero p{font-size:1.15rem;max-width:760px;margin:0 auto 22px;animation:fadeUp .8s ease both;}
.cta{display:inline-block;background:var(--red);color:#fff;padding:16px 34px;border-radius:50px;font-size:1.25rem;font-weight:800;box-shadow:0 6px 18px rgba(215,38,61,.4);transition:transform .15s,background .15s;}
.cta:hover{background:var(--red-dark);text-decoration:none;transform:translateY(-2px);}
.cta.light{background:#fff;color:var(--red);}
.cta.light:hover{background:#ffecec;}
.badges{margin-top:18px;font-size:.95rem;color:#fff;}
.badges span{display:inline-block;margin:6px 8px;background:rgba(255,255,255,.12);padding:6px 12px;border-radius:20px;}

/* ======= SECTIONS ======= */
section{padding:54px 0;}
section h2{font-size:1.7rem;color:var(--dark);margin-bottom:10px;text-align:center;}
section h3{color:var(--dark);}
section .lede{text-align:center;max-width:780px;margin:0 auto 30px;color:var(--muted);}
.prose{max-width:820px;margin:0 auto;}
.prose p,.prose ul,.prose ol{margin-bottom:14px;}
.prose ul,.prose ol{padding-left:22px;}

.grid{display:grid;gap:22px;}
.g3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));}

.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px;transition:transform .18s,box-shadow .18s;}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(0,0,0,.07);}
.card h3{color:var(--dark);margin-bottom:8px;font-size:1.1rem;}
.card a.more,.more{font-weight:700;}

.pain{background:var(--light);}
.pain .card{border-left:4px solid var(--red);}
.fix{color:#0a6b3b;font-weight:700;margin-top:8px;}

.alert{background:#fff3f3;border:2px solid var(--red);border-radius:var(--radius);padding:18px 20px;margin:20px auto;max-width:820px;}
.alert h3{color:var(--red);margin-top:0;}

.trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:22px 0;}
.trust-row div{background:#fff;border:1px solid var(--border);padding:10px 16px;border-radius:30px;font-weight:600;color:var(--dark);font-size:.95rem;}

.reviews{background:var(--dark);color:#fff;}
.reviews h2{color:#fff;}
.reviews .card{background:#102f5c;border:none;color:#fff;}
.reviews .card h3{color:var(--gold);}
.stars{color:var(--gold);font-size:1.1rem;letter-spacing:2px;}

.faq details{background:#fff;border:1px solid var(--border);border-radius:10px;padding:14px 18px;margin-bottom:10px;transition:box-shadow .15s;}
.faq details[open]{box-shadow:0 6px 16px rgba(0,0,0,.06);}
.faq summary{font-weight:700;cursor:pointer;color:var(--dark);list-style:none;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::before{content:'＋';margin-right:8px;color:var(--red);font-weight:700;}
.faq details[open] summary::before{content:'－';}
.faq p{margin-top:8px;}

.img-credit{font-size:.75rem;color:#888;text-align:center;margin-top:6px;}

.areas ul{columns:2;list-style:none;max-width:760px;margin:0 auto;}
.areas li{padding:6px 0;}
.areas li a{color:var(--dark);font-weight:600;}

.tag{display:inline-block;background:var(--light);border:1px solid var(--border);border-radius:20px;padding:3px 10px;font-size:.8rem;color:var(--dark);margin:2px;}

/* ======= FOOTER ======= */
footer.site-footer{background:#081a33;color:#cbd5e1;padding:42px 0 20px;font-size:.95rem;}
footer.site-footer a{color:#cbd5e1;}
footer.site-footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:26px;}
footer.site-footer h4{color:#fff;margin-bottom:10px;}
footer.site-footer ul{list-style:none;}
footer.site-footer li{padding:4px 0;}
footer.site-footer .copy{text-align:center;margin-top:26px;border-top:1px solid #1c3354;padding-top:14px;font-size:.85rem;}

/* ======= STICKY CALL BAR ======= */
.sticky-call{position:fixed;bottom:0;left:0;right:0;background:var(--red);color:#fff;text-align:center;padding:14px;font-size:1.1rem;font-weight:800;z-index:99;box-shadow:0 -4px 14px rgba(0,0,0,.2);animation:pulse 2.2s infinite;}
.sticky-call a{color:#fff;display:block;}
.sticky-call a:hover{text-decoration:none;}

@keyframes pulse{0%,100%{box-shadow:0 -4px 14px rgba(0,0,0,.2);}50%{box-shadow:0 -4px 20px rgba(215,38,61,.55);}}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}

/* ======= CONTACT FORM ======= */
.form-wrap{max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px;}
.form-wrap label{display:block;font-weight:700;margin:10px 0 4px;color:var(--dark);}
.form-wrap input,.form-wrap textarea,.form-wrap select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font:inherit;}
.form-wrap button{margin-top:14px;background:var(--red);color:#fff;border:0;padding:12px 24px;border-radius:40px;font-weight:800;font-size:1rem;cursor:pointer;width:100%;}
.form-wrap button:hover{background:var(--red-dark);}

/* ======= 404 ======= */
.nf{text-align:center;padding:80px 18px;}
.nf h1{font-size:5rem;color:var(--red);}

@media(max-width:640px){
  .hero h1{font-size:1.6rem;}
  .hero p{font-size:1rem;}
  .cta{font-size:1.1rem;padding:14px 26px;}
  .areas ul{columns:1;}
  nav.site-nav a{padding:8px 10px;font-size:.85rem;}
  header.site-header .logo small{display:none;}
  section{padding:40px 0;}
}
