/*
Theme Name: Easy Accurate Trade Estimator
Theme URI: https://easyaccurate.com/
Author: Easy Accurate
Author URI: https://easyaccurate.com/
Description: Editable trade-service WordPress theme centered on a guided estimator experience. Supports trade presets, Easy Accurate/compatible estimator shortcodes, external estimator links, services, trust content, service areas, and white-label branding.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: ea-trade-estimator
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: custom-logo, custom-colors, custom-menu, featured-images, full-width-template, theme-options, translation-ready
*/

:root{
  --ea-primary:#12344d;
  --ea-accent:#e06a2b;
  --ea-bg:#f5f2eb;
  --ea-surface:#ffffff;
  --ea-text:#18232b;
  --ea-muted:#61717d;
  --ea-border:#dbe1e5;
  --ea-success:#176b51;
  --ea-radius:20px;
  --ea-shadow:0 18px 50px rgba(24,35,43,.10);
  --ea-max:1220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ea-bg);color:var(--ea-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.ea-container{width:min(calc(100% - 32px),var(--ea-max));margin-inline:auto}
.ea-section{padding:88px 0}
.ea-kicker{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ea-accent)}
.ea-kicker:before{content:"";width:26px;height:2px;background:currentColor}
.ea-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,4.3rem);line-height:1.02;letter-spacing:-.035em;margin:.35rem 0 1rem}
.ea-section-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,3vw,3.1rem);line-height:1.08;letter-spacing:-.025em;margin:.35rem 0 .75rem}
.ea-lead{font-size:1.08rem;color:var(--ea-muted);max-width:720px}
.ea-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:13px 20px;border:1px solid transparent;font-weight:800;transition:.2s ease}
.ea-btn:hover{transform:translateY(-1px)}
.ea-btn--primary{background:var(--ea-accent);color:#fff}
.ea-btn--ghost{border-color:color-mix(in srgb,var(--ea-primary) 24%,transparent);background:rgba(255,255,255,.72);color:var(--ea-primary)}
.ea-btn--dark{background:var(--ea-primary);color:#fff}
.ea-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--ea-border);border-radius:999px;padding:7px 11px;background:var(--ea-surface);font-size:.84rem;font-weight:700}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Header */
.ea-header{position:sticky;top:0;z-index:80;background:color-mix(in srgb,var(--ea-surface) 91%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid color-mix(in srgb,var(--ea-border) 75%,transparent)}
body.admin-bar .ea-header{top:32px}
.ea-header__inner{min-height:76px;display:flex;align-items:center;gap:24px}
.ea-brand{display:flex;align-items:center;gap:12px;min-width:0}
.ea-brand .custom-logo{max-height:54px;width:auto}
.ea-brand__mark{width:42px;height:42px;border-radius:13px;background:var(--ea-primary);color:#fff;display:grid;place-items:center;font-weight:900}
.ea-brand__name{font-weight:900;line-height:1.1;display:block}
.ea-brand__tagline{font-size:.76rem;color:var(--ea-muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}
.ea-nav{margin-left:auto}
.ea-nav ul{list-style:none;display:flex;align-items:center;gap:22px;padding:0;margin:0}
.ea-nav a{font-weight:700;font-size:.94rem;color:var(--ea-primary)}
.ea-header__actions{display:flex;align-items:center;gap:9px}
.ea-menu-toggle{display:none;border:1px solid var(--ea-border);background:var(--ea-surface);width:44px;height:44px;border-radius:12px}

/* Hero */
.ea-hero{position:relative;overflow:hidden;padding:72px 0 54px;background:radial-gradient(circle at 85% 15%,color-mix(in srgb,var(--ea-accent) 18%,transparent),transparent 31%),linear-gradient(135deg,color-mix(in srgb,var(--ea-primary) 10%,var(--ea-bg)),var(--ea-bg) 58%)}
.ea-hero:after{content:"";position:absolute;right:-120px;bottom:-210px;width:500px;height:500px;border:70px solid color-mix(in srgb,var(--ea-primary) 5%,transparent);border-radius:50%}
.ea-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.ea-hero__copy{padding:18px 0}
.ea-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0}
.ea-trust-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}
.ea-hero__visual{position:relative;min-height:490px}
.ea-hero__image{position:absolute;inset:0 0 42px 45px;border-radius:34px;overflow:hidden;background:linear-gradient(135deg,var(--ea-primary),color-mix(in srgb,var(--ea-primary) 75%,#fff));box-shadow:var(--ea-shadow)}
.ea-hero__image img{width:100%;height:100%;object-fit:cover}
.ea-hero__image--empty{display:grid;place-items:center;color:#fff;text-align:center;padding:36px}
.ea-hero__image--empty strong{font-family:Georgia,serif;font-size:2rem}
.ea-floating-card{position:absolute;left:0;bottom:0;width:min(360px,86%);padding:20px;background:var(--ea-surface);border:1px solid var(--ea-border);border-radius:20px;box-shadow:var(--ea-shadow)}
.ea-floating-card__top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}
.ea-floating-card__number{font-size:1.5rem;font-weight:900;color:var(--ea-primary)}
.ea-progress{height:7px;background:color-mix(in srgb,var(--ea-border) 72%,transparent);border-radius:99px;overflow:hidden}
.ea-progress span{display:block;width:58%;height:100%;background:var(--ea-accent);border-radius:inherit}

/* Estimator */
.ea-estimator-section{background:var(--ea-primary);color:#fff;position:relative;overflow:hidden}
.ea-estimator-section:before{content:"";position:absolute;inset:auto -130px -240px auto;width:520px;height:520px;border-radius:50%;background:color-mix(in srgb,var(--ea-accent) 16%,transparent)}
.ea-estimator-head{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:end;margin-bottom:30px}
.ea-estimator-head .ea-lead{color:rgba(255,255,255,.72)}
.ea-estimator-head .ea-kicker{color:color-mix(in srgb,var(--ea-accent) 70%,#fff)}
.ea-estimator-shell{position:relative;z-index:2;background:var(--ea-surface);color:var(--ea-text);border-radius:28px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.22)}
.ea-estimator-progress{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--ea-border);background:#fbfcfc}
.ea-estimator-step-label{padding:18px 14px;text-align:center;font-weight:800;font-size:.86rem;color:var(--ea-muted);position:relative}
.ea-estimator-step-label.is-active{color:var(--ea-primary)}
.ea-estimator-step-label.is-active:after{content:"";height:3px;position:absolute;left:18px;right:18px;bottom:-1px;background:var(--ea-accent);border-radius:99px}
.ea-estimator-body{padding:32px}
.ea-step-panel[hidden]{display:none}
.ea-step-heading{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:22px}
.ea-step-heading h3{margin:0;font-family:Georgia,serif;font-size:1.75rem}
.ea-step-heading p{margin:.3rem 0 0;color:var(--ea-muted)}
.ea-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ea-service-choice{border:1px solid var(--ea-border);background:var(--ea-surface);border-radius:18px;padding:18px;text-align:left;transition:.18s ease;color:var(--ea-text)}
.ea-service-choice:hover{border-color:color-mix(in srgb,var(--ea-accent) 62%,var(--ea-border));transform:translateY(-2px)}
.ea-service-choice.is-selected{border-color:var(--ea-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--ea-accent) 18%,transparent);background:color-mix(in srgb,var(--ea-accent) 5%,#fff)}
.ea-service-choice__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:color-mix(in srgb,var(--ea-primary) 8%,#fff);font-size:1.25rem;margin-bottom:12px}
.ea-service-choice strong{display:block;font-size:1rem;margin-bottom:3px}
.ea-service-choice small{color:var(--ea-muted);display:block;line-height:1.35}
.ea-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.ea-field label{display:block;font-weight:800;margin-bottom:7px}
.ea-field input,.ea-field select,.ea-field textarea{width:100%;border:1px solid var(--ea-border);border-radius:13px;padding:12px 13px;background:#fff;color:var(--ea-text)}
.ea-field textarea{min-height:110px;resize:vertical}
.ea-estimator-nav{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:28px;padding-top:22px;border-top:1px solid var(--ea-border)}
.ea-estimator-summary{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ea-summary-box{border:1px solid var(--ea-border);border-radius:16px;padding:18px}
.ea-summary-box h4{margin:0 0 10px}
.ea-summary-list{margin:0;padding-left:18px;color:var(--ea-muted)}
.ea-estimator-embed{background:var(--ea-surface);color:var(--ea-text);border-radius:28px;padding:clamp(14px,2vw,28px);box-shadow:0 30px 80px rgba(0,0,0,.18)}
.ea-estimator-note{font-size:.86rem;color:rgba(255,255,255,.62);margin-top:15px}
.ea-powered{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;margin-top:12px;color:rgba(255,255,255,.7)}

/* Services */
.ea-service-section{background:var(--ea-bg)}
.ea-section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}
.ea-services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ea-service-card{background:var(--ea-surface);border:1px solid var(--ea-border);border-radius:20px;padding:24px;transition:.2s ease}
.ea-service-card:hover{transform:translateY(-4px);box-shadow:var(--ea-shadow)}
.ea-service-card__icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:color-mix(in srgb,var(--ea-accent) 10%,#fff);font-size:1.4rem}
.ea-service-card h3{margin:16px 0 8px;font-size:1.12rem}
.ea-service-card p{margin:0;color:var(--ea-muted)}

/* Authority / Proof */
.ea-authority{background:var(--ea-surface)}
.ea-authority__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:46px;align-items:center}
.ea-authority__visual{min-height:440px;border-radius:28px;background:linear-gradient(145deg,color-mix(in srgb,var(--ea-primary) 92%,#000),color-mix(in srgb,var(--ea-accent) 60%,var(--ea-primary)));overflow:hidden;position:relative;color:#fff;padding:34px;display:flex;align-items:end}
.ea-authority__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ea-authority__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.08))}
.ea-authority__visual-content{position:relative;z-index:2}
.ea-authority__visual-content strong{display:block;font-family:Georgia,serif;font-size:2rem}
.ea-proof-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-top:24px}
.ea-proof{border:1px solid var(--ea-border);border-radius:16px;padding:16px;background:#fff}
.ea-proof strong{display:block;margin-bottom:4px}
.ea-proof span{color:var(--ea-muted);font-size:.9rem}

/* Service Areas */
.ea-areas{background:linear-gradient(180deg,var(--ea-bg),color-mix(in srgb,var(--ea-primary) 5%,var(--ea-bg)))}
.ea-area-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;align-items:start}
.ea-area-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ea-area-pill{border:1px solid var(--ea-border);background:var(--ea-surface);padding:9px 13px;border-radius:999px;font-weight:700;font-size:.9rem}
.ea-area-panel{border-radius:24px;background:var(--ea-primary);color:#fff;padding:30px;min-height:280px;position:relative;overflow:hidden}
.ea-area-panel:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;border:48px solid rgba(255,255,255,.06);right:-80px;bottom:-110px}
.ea-area-panel h3{font-family:Georgia,serif;font-size:2rem;margin:.3rem 0 .75rem}
.ea-area-panel p{color:rgba(255,255,255,.72);max-width:560px}

/* CTA + content */
.ea-cta{padding:64px 0;background:var(--ea-accent);color:#fff}
.ea-cta__inner{display:flex;justify-content:space-between;align-items:center;gap:32px}
.ea-cta h2{font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,3rem);line-height:1.08;margin:0}
.ea-content{background:var(--ea-surface);padding:54px 0}
.ea-content article{max-width:850px;margin:auto}
.ea-content h1,.ea-content h2,.ea-content h3{font-family:Georgia,serif}
.ea-content a{text-decoration:underline;text-decoration-color:var(--ea-accent);text-underline-offset:3px}

/* Footer */
.ea-footer{background:#101a21;color:#dfe7eb;padding:50px 0 24px}
.ea-footer__grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:34px}
.ea-footer h3{font-size:1rem;margin:0 0 12px;color:#fff}
.ea-footer p,.ea-footer a{color:#aebcc5}
.ea-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.ea-footer__bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:34px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#8fa0aa;font-size:.84rem}

/* Reveal */
[data-ea-reveal]{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
[data-ea-reveal].is-visible{opacity:1;transform:none}

@media(max-width:980px){
  .ea-nav{position:absolute;left:16px;right:16px;top:calc(100% + 8px);background:var(--ea-surface);border:1px solid var(--ea-border);border-radius:18px;box-shadow:var(--ea-shadow);padding:12px;display:none}
  .ea-nav.is-open{display:block}
  .ea-nav ul{display:grid;gap:2px}.ea-nav a{display:block;padding:11px;border-radius:10px}.ea-nav a:hover{background:var(--ea-bg)}
  .ea-menu-toggle{display:block;margin-left:auto}.ea-header__actions{display:none}
  .ea-hero__grid,.ea-authority__grid,.ea-area-layout{grid-template-columns:1fr}.ea-hero__visual{min-height:420px}.ea-hero__image{left:28px}
  .ea-service-grid,.ea-services{grid-template-columns:repeat(2,1fr)}
  .ea-estimator-head,.ea-section-head{grid-template-columns:1fr;display:grid;align-items:start}
}
@media(max-width:650px){
  body.admin-bar .ea-header{top:46px}.ea-section{padding:64px 0}.ea-header__inner{min-height:68px}.ea-brand__tagline{display:none}
  .ea-hero{padding-top:46px}.ea-hero__visual{min-height:350px}.ea-hero__image{inset:0 0 35px 18px;border-radius:24px}.ea-floating-card{padding:16px}
  .ea-service-grid,.ea-services,.ea-form-grid,.ea-estimator-summary,.ea-proof-grid{grid-template-columns:1fr}
  .ea-estimator-body{padding:22px 16px}.ea-estimator-step-label{font-size:.72rem;padding:14px 5px}.ea-step-heading{display:block}
  .ea-cta__inner,.ea-footer__bottom{display:block}.ea-cta__inner .ea-btn{margin-top:18px}.ea-footer__grid{grid-template-columns:1fr}
}
