/*
Theme Name: Erecycler
Theme URI: https://erecycler.com
Author: Erecycler LLC
Author URI: https://erecycler.com
Description: Block theme for Erecycler — verified data destruction & zero-landfill recycling. Hand-built design system, no page builder. Implements the Erecycler Build Kit (ink/paper/accent, Space Grotesk + IBM Plex, the destruction-log signature).
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: erecycler
*/

/* ---------- tokens (mirror of theme.json for component CSS) ---------- */
:root{
  --ink:#0E1B1A; --ink-soft:#16302B; --paper:#F6F3EC; --card:#FFFFFF;
  --paper-line:rgba(15,27,26,.12); --ink-line:rgba(255,255,255,.10);
  --accent:#3FBE8F; --accent-on-light:#157A57; --slate:#4B5550; --slate-soft:#6B746F;
  --display:'Space Grotesk',system-ui,sans-serif;
  --body:'IBM Plex Sans',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --radius:2px;
}
body{font-family:var(--body);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;}
.erc-wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
.erc-display{font-family:var(--display);}
.erc-mono{font-family:var(--mono);}
a{text-decoration:none;color:inherit;}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}

/* buttons */
.erc-btn{display:inline-block;padding:13px 24px;font-size:14px;font-weight:600;border-radius:var(--radius);letter-spacing:.01em;border:1px solid transparent;transition:transform .12s ease,background .15s ease,border-color .15s ease;font-family:var(--body);cursor:pointer;}
.erc-btn:hover{transform:translateY(-1px);}
.erc-btn-primary{background:var(--accent);color:var(--ink);}
.erc-btn-primary:hover{background:#48d3a0;}
.erc-btn-outline-light{background:transparent;border-color:rgba(255,255,255,.35);color:#fff;font-weight:500;}
.erc-btn-outline-light:hover{border-color:#fff;}
.erc-btn-dark{background:var(--ink);color:#fff;}
.erc-btn-dark:hover{background:#16302B;}

/* header */
.erc-header{background:var(--ink);}
.erc-header .erc-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:18px;padding-bottom:18px;}
.erc-logo{display:flex;align-items:center;gap:9px;color:#fff;}
.erc-logo-text{font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:-.01em;}
.erc-logo-text .e{color:var(--accent);font-size:22px;}
.erc-nav{display:flex;gap:26px;align-items:center;}
.erc-nav a{color:rgba(255,255,255,.78);font-size:14px;transition:color .15s ease;}
.erc-nav a:hover{color:#fff;}
.erc-badge-new{font-family:var(--mono);font-size:9px;letter-spacing:.1em;background:var(--accent);color:var(--ink);padding:1px 5px;border-radius:var(--radius);margin-left:6px;vertical-align:middle;font-weight:500;}
.erc-header-actions{display:flex;align-items:center;gap:18px;}
.erc-header-actions .phone{font-family:var(--mono);color:rgba(255,255,255,.85);font-size:14px;}
.erc-header-actions .erc-btn{padding:10px 18px;}

/* hero */
.erc-hero{background:var(--ink);color:#fff;padding:84px 0 70px;}
.erc-hero .grid{display:grid;grid-template-columns:1.12fr .88fr;gap:60px;align-items:center;}
.erc-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;}
.erc-hero h1{font-family:var(--display);font-weight:600;font-size:clamp(32px,4.6vw,46px);line-height:1.1;letter-spacing:-.015em;margin-bottom:22px;}
.erc-hero p.sub{font-size:17px;color:rgba(255,255,255,.72);max-width:480px;margin-bottom:34px;}
.erc-cta-row{display:flex;gap:14px;flex-wrap:wrap;}

/* SIGNATURE: destruction log */
.erc-log{background:var(--ink-soft);border:1px solid var(--ink-line);border-radius:4px;padding:22px 22px 8px;}
.erc-log .head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.erc-log .label{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45);}
.erc-log .live{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--accent);display:flex;align-items:center;gap:6px;}
.erc-log .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:erc-pulse 2.4s infinite;}
@keyframes erc-pulse{0%{box-shadow:0 0 0 0 rgba(63,190,143,.5);}70%{box-shadow:0 0 0 7px rgba(63,190,143,0);}100%{box-shadow:0 0 0 0 rgba(63,190,143,0);}}
.erc-log .line{font-family:var(--mono);font-size:12.5px;color:rgba(255,255,255,.82);padding:13px 0;border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:space-between;gap:12px;}
.erc-log .line .ok{color:var(--accent);}

/* standards strip */
.erc-standards{background:var(--paper);border-top:1px solid var(--paper-line);border-bottom:1px solid var(--paper-line);}
.erc-standards .erc-wrap{display:flex;justify-content:center;flex-wrap:wrap;padding:20px 32px;}
.erc-standards span{font-family:var(--mono);font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--slate);padding:6px 26px;border-left:1px solid var(--paper-line);}
.erc-standards span:first-child{border-left:none;}

/* section */
.erc-sec{padding:74px 0;}
.erc-sec.dark{background:var(--ink);color:#fff;}
.erc-sec-head{margin-bottom:36px;max-width:640px;}
.erc-sec-head .erc-eyebrow{color:var(--accent-on-light);}
.erc-sec.dark .erc-sec-head .erc-eyebrow{color:var(--accent);}
.erc-sec-head h2{font-family:var(--display);font-weight:600;font-size:30px;letter-spacing:-.01em;margin-bottom:12px;}
.erc-sec-head p{color:var(--slate);font-size:16px;}
.erc-sec.dark .erc-sec-head p{color:rgba(255,255,255,.7);}

/* service grid */
.erc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--paper-line);border:1px solid var(--paper-line);border-radius:var(--radius);overflow:hidden;}
.erc-card{background:var(--card);padding:26px 24px 24px;transition:background .15s ease;}
.erc-card:hover{background:#fbfaf6;}
.erc-card .ico{width:30px;height:30px;color:var(--accent-on-light);margin-bottom:16px;}
.erc-card h3{font-family:var(--display);font-weight:600;font-size:17px;margin-bottom:8px;display:flex;align-items:center;gap:8px;}
.erc-card p{font-size:14px;color:var(--slate);margin-bottom:14px;}
.erc-card .slug{font-family:var(--mono);font-size:11px;color:var(--slate-soft);}
.erc-card.is-new{box-shadow:inset 3px 0 0 var(--accent);}

/* stat band */
.erc-stats{display:grid;grid-template-columns:repeat(4,1fr);}
.erc-stat{padding:8px 24px;border-left:1px solid var(--ink-line);}
.erc-stat:first-child{border-left:none;}
.erc-stat .n{font-family:var(--display);font-weight:600;font-size:38px;color:#fff;letter-spacing:-.02em;}
.erc-stat .n .accent{color:var(--accent);}
.erc-stat .l{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:4px;}

/* process steps */
.erc-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.erc-step{padding-top:22px;border-top:2px solid var(--accent);}
.erc-step .num{font-family:var(--mono);font-size:12px;color:var(--accent-on-light);letter-spacing:.1em;margin-bottom:8px;}
.erc-step h4{font-family:var(--display);font-weight:600;font-size:16px;margin-bottom:6px;}
.erc-step p{font-size:14px;color:var(--slate);}

/* industry feature */
.erc-industry{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--paper-line);border-radius:var(--radius);overflow:hidden;}
.erc-industry .copy{padding:40px;}
.erc-industry .copy .erc-eyebrow{color:var(--accent-on-light);}
.erc-industry .copy h3{font-family:var(--display);font-weight:600;font-size:24px;margin-bottom:12px;letter-spacing:-.01em;}
.erc-industry .copy p{color:var(--slate);font-size:15px;margin-bottom:18px;}
.erc-industry .copy ul{list-style:none;margin-bottom:22px;padding:0;}
.erc-industry .copy li{font-size:14px;padding:7px 0 7px 24px;position:relative;border-top:1px solid var(--paper-line);}
.erc-industry .copy li:before{content:"";position:absolute;left:0;top:15px;width:9px;height:9px;background:var(--accent-on-light);border-radius:1px;}
.erc-industry .panel{background:var(--ink);color:#fff;padding:40px;display:flex;align-items:center;}

/* FAQ */
.erc-faq details{border-top:1px solid var(--paper-line);}
.erc-faq details:last-child{border-bottom:1px solid var(--paper-line);}
.erc-faq summary{list-style:none;cursor:pointer;padding:20px 0;font-family:var(--display);font-weight:600;font-size:16px;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.erc-faq summary::-webkit-details-marker{display:none;}
.erc-faq summary .pm{font-family:var(--mono);color:var(--accent-on-light);font-size:20px;transition:transform .2s ease;}
.erc-faq details[open] summary .pm{transform:rotate(45deg);}
.erc-faq .ans{padding:0 0 22px;color:var(--slate);font-size:15px;max-width:70ch;}

/* CTA band */
.erc-cta-band{background:var(--accent);color:var(--ink);}
.erc-cta-band .erc-wrap{padding:48px 32px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;}
.erc-cta-band h2{font-family:var(--display);font-weight:600;font-size:28px;letter-spacing:-.01em;max-width:560px;}

/* footer */
.erc-footer{background:var(--ink);color:rgba(255,255,255,.7);padding:54px 0 28px;}
.erc-footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:40px;}
.erc-footer h5{color:#fff;font-family:var(--display);font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;}
.erc-footer a{display:block;font-size:14px;padding:5px 0;color:rgba(255,255,255,.7);}
.erc-footer a:hover{color:#fff;}
.erc-footer .addr{font-size:14px;line-height:1.8;}
.erc-footer .addr .mono{color:var(--accent);font-family:var(--mono);}
.erc-footer .legal{border-top:1px solid var(--ink-line);padding-top:20px;font-size:12px;color:rgba(255,255,255,.45);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}

/* responsive */
@media (max-width:920px){
  .erc-hero .grid{grid-template-columns:1fr;gap:38px;}
  .erc-cards{grid-template-columns:repeat(2,1fr);}
  .erc-stats{grid-template-columns:repeat(2,1fr);gap:24px;}
  .erc-stat{border-left:none;padding:8px 0;}
  .erc-steps{grid-template-columns:1fr 1fr;}
  .erc-industry{grid-template-columns:1fr;}
  .erc-footer .cols{grid-template-columns:1fr 1fr;}
}
@media (max-width:620px){
  .erc-wrap{padding:0 20px;}
  .erc-nav{display:none;}
  .erc-header-actions .phone{display:none;}
  .erc-cards{grid-template-columns:1fr;}
  .erc-stats{grid-template-columns:1fr;}
  .erc-steps{grid-template-columns:1fr;}
  .erc-standards span{border-left:none;padding:5px 0;width:50%;}
  .erc-cta-band .erc-wrap{flex-direction:column;align-items:flex-start;}
  .erc-footer .cols{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
}
