/*
Theme Name: Enviro247 Theme
Theme URI: https://envirosolution.co.uk/
Author: OpenAI for EnviroSolution
Description: High-end lead generation theme for 24/7 Enviro Services.
Version: 1.3.0
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 8.0
Text Domain: enviro247
*/

:root{
  --bg:#f6fbf7;
  --bg-soft:#edf6f0;
  --panel:rgba(255,255,255,.82);
  --panel-solid:#ffffff;
  --panel-2:#f4faf6;
  --line:#d6e6da;
  --line-strong:#c4d9ca;
  --text:#163126;
  --muted:#5f786c;
  --brand:#1f9d62;
  --brand-2:#2db875;
  --brand-3:#6fd6a3;
  --brand-soft:#e8f6ed;
  --shadow:0 18px 45px rgba(23,63,43,.08);
  --shadow-soft:0 10px 22px rgba(23,63,43,.05);
  --max:1240px;
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text);line-height:1.6;background:
 radial-gradient(900px 420px at -8% -10%, rgba(111,214,163,.22), transparent 62%),
 radial-gradient(700px 340px at 110% 4%, rgba(45,184,117,.16), transparent 58%),
 radial-gradient(520px 220px at 72% 18%, rgba(122,181,255,.10), transparent 60%),
 linear-gradient(180deg,#fbfefc 0%,#f5fbf7 44%,#eef7f1 100%);
 background-attachment:fixed}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.site-shell{overflow-x:hidden;overflow-y:visible;min-height:100vh}
.container{width:min(calc(100% - 32px), var(--max));margin:0 auto}
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.76);backdrop-filter:blur(18px) saturate(1.2);border-bottom:1px solid rgba(214,230,218,.78)}
.admin-bar .site-header{top:32px}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0}
.brand{display:flex;align-items:center;gap:14px;font-weight:800;letter-spacing:-.03em}
.brand-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--brand),var(--brand-2));display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:0 14px 28px rgba(31,157,98,.22)}
.brand-sub{display:block;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.main-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.main-nav a{padding:10px 14px;border-radius:999px;color:var(--muted);font-weight:600}
.main-nav a:hover,.main-nav a:focus{background:var(--brand-soft);color:var(--text)}
.header-cta{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;font-weight:800;box-shadow:0 16px 28px rgba(31,157,98,.20)}
.hero{padding:86px 0 56px;position:relative}
.hero::before{content:"";position:absolute;inset:0 0 auto 0;height:540px;pointer-events:none;background:
 radial-gradient(620px 260px at 12% 8%, rgba(255,255,255,.65), transparent 72%),
 radial-gradient(740px 240px at 86% 6%, rgba(111,214,163,.20), transparent 66%),
 linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,0));opacity:.95}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:28px;align-items:start;position:relative}
.kicker{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:var(--brand-soft);border:1px solid #cfe5d5;font-size:13px;color:var(--brand);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.hero h1{font-size:clamp(2.8rem,5vw,5rem);line-height:.95;letter-spacing:-.065em;margin:16px 0 18px;max-width:11ch}
.hero p{font-size:1.08rem;color:var(--muted);max-width:58ch;margin:0 0 24px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;border-radius:16px;font-weight:800;border:1px solid transparent;transition:.2s transform ease,.2s background ease,.2s border-color ease,.2s box-shadow ease;cursor:pointer}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;box-shadow:0 16px 30px rgba(31,157,98,.18)}
.btn-secondary{background:rgba(255,255,255,.7);border-color:#d9e7dd;color:var(--text)}
.btn-ghost{background:#fff;border-color:#d9e7dd;color:var(--text)}
.btn-ghost:hover,.btn-secondary:hover{box-shadow:var(--shadow-soft);border-color:#c8dbce}
.hero-trust{display:flex;flex-wrap:wrap;gap:12px}
.hero-trust span{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.68);border:1px solid rgba(214,230,218,.9);font-size:14px;color:#3d5d4f}
.glass-card{background:var(--panel);border:1px solid rgba(214,230,218,.92);box-shadow:var(--shadow);border-radius:var(--radius);backdrop-filter:blur(16px)}
.hero-panel{padding:24px 24px 22px}
.hero-panel h3,.section-head h2{letter-spacing:-.04em}
.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.muted{color:var(--muted)}
.section{padding:34px 0}
.section-soft{background:linear-gradient(180deg, rgba(237,246,240,.58), rgba(237,246,240,.72))}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}
.stack-head{align-items:start;display:block}
.section-head h2{font-size:clamp(1.9rem,3vw,3rem);margin:0}
.section-head p{margin:0;max-width:62ch;color:var(--muted)}
.service-grid,.proof-grid,.content-grid,.faq-grid{display:grid;gap:18px}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-card{padding:24px;position:relative;overflow:hidden;background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(248,252,249,.88));border:1px solid rgba(214,230,218,.92);border-radius:24px;box-shadow:var(--shadow-soft)}
.service-card::before{content:"";position:absolute;inset:auto -46px -46px auto;width:140px;height:140px;background:radial-gradient(circle, rgba(111,214,163,.22), transparent 70%)}
.service-card h3{margin:16px 0 10px;font-size:1.34rem;letter-spacing:-.03em}
.service-card p{margin:0 0 18px;color:var(--muted)}
.service-meta{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 20px}
.service-meta span{padding:8px 10px;border-radius:999px;background:#f3faf5;border:1px solid #ddebe1;font-size:13px;color:#48685a}
.service-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.inline-link{display:inline-flex;gap:10px;align-items:center;font-weight:800;color:#246545}
.proof-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.proof-card{padding:24px;text-align:left}
.proof-card strong{display:block;font-size:2rem;line-height:1.02;letter-spacing:-.04em;margin-bottom:10px}
.content-grid{grid-template-columns:1.02fr .98fr;align-items:start}
.panel{padding:28px}
.icon-steps{display:grid;gap:14px}
.icon-step-row,.icon-step-card{display:grid;gap:14px;padding:18px 18px;border-radius:20px;border:1px solid rgba(214,230,218,.94);background:rgba(255,255,255,.62)}
.icon-step-row{grid-template-columns:56px 1fr;align-items:start}
.icon-step-mark{width:56px;height:56px;border-radius:18px;background:linear-gradient(180deg,#f1fbf4,#e4f4ea);border:1px solid #d8e8dd;display:grid;place-items:center;color:var(--brand);box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}
.icon-step-mark svg{width:24px;height:24px}
.icon-step-row strong,.icon-step-card h3{font-size:1.08rem;letter-spacing:-.03em;margin:0}
.icon-step-row p,.icon-step-card p{margin:0}
.icon-steps-stack{gap:12px}
.icon-step-card{padding:20px 22px}
.icon-step-top{display:flex;align-items:center;gap:12px}
.step-chip{display:inline-grid;place-items:center;min-width:44px;height:38px;padding:0 12px;border-radius:14px;background:linear-gradient(180deg,#eef9f1,#e1f3e7);border:1px solid #d7e7dc;color:var(--brand);font-weight:900;letter-spacing:.04em}
.lead-form-wrap{padding:26px}
.progress{display:flex;gap:8px;margin:12px 0 22px}
.progress span{height:8px;flex:1;border-radius:999px;background:#dce9e0}
.progress span.active{background:linear-gradient(135deg,var(--brand),var(--brand-3))}
.ef-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}
.ef-field{display:grid;gap:8px}
.ef-field label{font-size:14px;color:#385748;font-weight:700}
.ef-field input,.ef-field select,.ef-field textarea{width:100%;border:1px solid #d6e4da;border-radius:16px;padding:14px 16px;background:#fff;color:var(--text);font:inherit;outline:none;appearance:none}
.ef-field textarea{min-height:130px;resize:vertical}
.ef-field input:focus,.ef-field select:focus,.ef-field textarea:focus{border-color:rgba(31,157,98,.68);box-shadow:0 0 0 3px rgba(31,157,98,.12)}
.services-picker{display:grid;gap:10px}
.service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.service-option{position:relative}
.service-option input{position:absolute;opacity:0;pointer-events:none}
.service-option label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid #d6e4da;border-radius:16px;background:#fff;cursor:pointer;font-weight:700;color:#264838;transition:.18s ease}
.service-option label::after{content:"+";display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#f2f8f4;border:1px solid #dde8e0;color:#4b6a5d;font-weight:900}
.service-option input:checked + label{border-color:#99d4af;background:linear-gradient(180deg,#f6fcf8,#ecf8f0);box-shadow:0 10px 20px rgba(31,157,98,.08)}
.service-option input:checked + label::after{content:"✓";background:linear-gradient(135deg,var(--brand),var(--brand-2));border-color:transparent;color:#fff}
.selected-services{display:flex;flex-wrap:wrap;gap:8px;min-height:18px}
.selected-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#eef8f2;border:1px solid #d7e8dc;color:#2c6243;font-size:13px;font-weight:700}
.selected-chip button{appearance:none;border:0;background:none;padding:0;margin:0;color:#45695a;cursor:pointer;font:inherit;font-weight:900;line-height:1}
.ef-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:8px}
.ef-note{font-size:13px;color:var(--muted)}
.faq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.faq-item{padding:22px}
.faq-item h3{margin:0 0 10px;font-size:1.1rem}
.page-hero{padding:72px 0 20px}
.page-title{font-size:clamp(2.2rem,4vw,4rem);line-height:1;letter-spacing:-.05em;margin:10px 0}
.site-footer{padding:38px 0 56px;color:var(--muted)}
.footer-card{padding:24px;display:flex;justify-content:space-between;gap:22px;align-items:center;flex-wrap:wrap}
.footer-links{display:flex;gap:16px;flex-wrap:wrap}
.notice-success,.notice-error{padding:14px 16px;border-radius:16px;margin-bottom:16px;font-weight:700}
.notice-success{background:#edf8f1;border:1px solid #bfe0c9;color:#245a3d}
.notice-error{background:#fff1f1;border:1px solid #f3c6c6;color:#9e3131}
@media (max-width: 1100px){.hero-grid,.content-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proof-grid,.faq-grid,.service-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 782px){.admin-bar .site-header{top:46px}}
@media (max-width: 720px){.main-nav{display:none}.hero{padding-top:52px}.service-grid,.proof-grid,.faq-grid,.ef-row,.service-options{grid-template-columns:1fr}.hero h1{max-width:none;font-size:2.85rem}.header-inner{padding:14px 0}.hero-panel,.lead-form-wrap,.panel,.service-card,.proof-card,.faq-item{padding:20px}.service-actions,.ef-actions{align-items:stretch}.service-actions a,.ef-actions .btn{width:100%}.icon-step-row{grid-template-columns:48px 1fr}.icon-step-mark{width:48px;height:48px;border-radius:16px}}
