/* Alamo Geeks theme: tokens and components. See STYLE-GUIDE.md. */

/* ---------- Fonts (self-hosted) ---------- */
@font-face{font-family:"Archivo";font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/archivo-700.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-weight:800;font-style:normal;font-display:swap;src:url(../fonts/archivo-800.woff2) format("woff2")}
@font-face{font-family:"Public Sans";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/public-sans-400.woff2) format("woff2")}
@font-face{font-family:"Public Sans";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/public-sans-600.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/jetbrains-mono-500.woff2) format("woff2")}

/* ---------- Tokens (override Kadence's global palette) ---------- */
:root,body{
	--ag-lime:#8DC63F;
	--ag-lime-ink:#437019;
	--ag-amber:#F5A524;
	--ag-recycle:#13612E;
	--ag-black:#0F1A0A;
	--ag-dark:#1F2A1E;
	--ag-body:#3A4438;
	--ag-muted:#5E685B;
	--ag-mist:#EAF5D8;
	--ag-floor:#F6F7F4;
	--ag-white:#FFFFFF;
	--ag-line:#DDE3D6;
	--ag-success:#2E8540;
	--ag-danger:#B82105;
	--ag-radius:10px;
	--ag-shadow:0 6px 20px rgba(15,26,10,.08);
	--ag-shadow-lift:0 14px 32px rgba(15,26,10,.14);
	--ag-display:"Archivo","Arial Narrow",Arial,sans-serif;
	--ag-sans:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
	--ag-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
	--ag-wrap:1200px;
	--ag-gutter:clamp(16px,4vw,32px);
	--ag-section:clamp(64px,9vw,112px);

	--global-palette1:var(--ag-lime);
	--global-palette2:var(--ag-lime-ink);
	--global-palette3:var(--ag-black);
	--global-palette4:var(--ag-dark);
	--global-palette5:var(--ag-body);
	--global-palette6:var(--ag-muted);
	--global-palette7:var(--ag-mist);
	--global-palette8:var(--ag-floor);
	--global-palette9:var(--ag-white);
	--global-palette-btn-bg:var(--ag-lime);
	--global-palette-btn-bg-hover:#7AB32F;
	--global-palette-btn:var(--ag-black);
	--global-palette-btn-hover:var(--ag-black);
	--global-heading-font-family:var(--ag-display);
	--global-body-font-family:var(--ag-sans);
}

/* ---------- Base type ---------- */
body{font-family:var(--ag-sans);color:var(--ag-body);font-size:clamp(17px,1.05vw + 12px,18px);line-height:1.6;background:var(--ag-floor)}
h1,h2,h3,h4,.ag-display{font-family:var(--ag-display);color:var(--ag-black);letter-spacing:-.01em;line-height:1.1}
h1{font-weight:800;font-size:clamp(36px,4.6vw,60px);line-height:1.05}
h2{font-weight:800;font-size:clamp(28px,3vw,40px)}
h3{font-weight:700;font-size:clamp(20px,1.6vw,24px)}
a{color:var(--ag-lime-ink)}
a:hover{color:var(--ag-black)}
:focus-visible{outline:3px solid var(--ag-black);outline-offset:3px;border-radius:4px}
/* Dark areas: a black ring would vanish (1:1), so use lime there (about 9:1). */
.ag-topbar :focus-visible,.ag-hero :focus-visible,.ag-on-dark :focus-visible,.is-style-ag-dark :focus-visible,.ag-footer :focus-visible,.ag-mbar :focus-visible,.site-bottom-footer-wrap :focus-visible{outline-color:var(--ag-lime)}
/* Focus inside the cross-origin map iframe can't be matched in CSS; theme.js adds .is-focused. */
.ag-map.is-focused{outline:3px solid var(--ag-black);outline-offset:3px}
.ag-on-dark .ag-map.is-focused{outline-color:var(--ag-lime)}
/* Kadence's slider removes the outline with a six-class selector. */
.kt-woo-gallery-thumbnail.splide__slide:focus-visible{outline:3px solid var(--ag-black)!important;outline-offset:-3px}
.entry-content a:not([class]){text-decoration-thickness:1px;text-underline-offset:3px}

/* Lime is a fill, never text on light backgrounds */
.has-theme-palette-1-color,.has-theme-palette1-color{color:var(--ag-lime-ink)!important}

/* ---------- Buttons ---------- */
.ag-btn,
.wp-block-button__link,
.button,
button.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce #respond input#submit,
.kb-button{
	font-family:var(--ag-sans);font-weight:600;font-size:clamp(16px,1vw + 10px,17px);line-height:1.2;
	display:inline-flex;align-items:center;justify-content:center;gap:.5em;
	min-height:48px;padding:.8em 1.4em;border-radius:var(--ag-radius);
	background:var(--ag-lime);color:var(--ag-black)!important;border:2px solid var(--ag-lime);
	text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease;
}
.ag-btn:hover,.wp-block-button__link:hover,.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:#7AB32F;border-color:#7AB32F;transform:translateY(-2px);box-shadow:var(--ag-shadow)}
.ag-btn--sell,.is-style-ag-sell .wp-block-button__link{background:var(--ag-amber);border-color:var(--ag-amber)}
.ag-btn--sell:hover,.is-style-ag-sell .wp-block-button__link:hover{background:#E59512;border-color:#E59512}
.ag-btn--recycle,.is-style-ag-recycle .wp-block-button__link{background:var(--ag-recycle);border-color:var(--ag-recycle);color:#fff!important}
.ag-btn--recycle:hover,.is-style-ag-recycle .wp-block-button__link:hover{background:#0E4F25;border-color:#0E4F25}
.ag-btn--ghost,.is-style-ag-ghost .wp-block-button__link,.is-style-outline .wp-block-button__link{background:transparent;border-color:currentColor;color:var(--ag-black)!important}
.ag-btn--ghost:hover,.is-style-ag-ghost .wp-block-button__link:hover{background:var(--ag-black);border-color:var(--ag-black);color:#fff!important}
.ag-on-dark .ag-btn--ghost,.ag-on-dark .is-style-ag-ghost .wp-block-button__link{color:#fff!important}
.ag-on-dark .ag-btn--ghost:hover,.ag-on-dark .is-style-ag-ghost .wp-block-button__link:hover{background:#fff;color:var(--ag-black)!important}
.wp-block-buttons{gap:12px}

/* ---------- Spec Tag (signature element) ---------- */
.ag-tag{
	--tag-bg:var(--ag-lime);--tag-fg:var(--ag-black);
	position:relative;display:inline-flex;align-items:center;gap:.4em;
	font-family:var(--ag-mono);font-weight:500;font-size:clamp(13px,.4vw + 11px,15px);letter-spacing:.04em;text-transform:uppercase;line-height:1;
	padding:.55em .9em .55em 1.9em;background:var(--tag-bg);color:var(--tag-fg);
	clip-path:polygon(10px 0,100% 0,100% 100%,0 100%,0 10px);border-radius:0 4px 4px 0;
	-webkit-mask:radial-gradient(circle at 1em 50%,transparent .26em,#000 .28em);mask:radial-gradient(circle at 1em 50%,transparent .26em,#000 .28em);
}
.ag-tag--buy{--tag-bg:var(--ag-lime)}
.ag-tag--sell{--tag-bg:var(--ag-amber)}
.ag-tag--recycle{--tag-bg:var(--ag-recycle);--tag-fg:#fff}
.ag-tag--ink{--tag-bg:var(--ag-black);--tag-fg:#fff}
.ag-tag--price{text-transform:none;letter-spacing:0}
p.ag-tag-row{margin:0 0 14px}

/* ---------- Layout helpers ---------- */
.ag-section{padding-block:var(--ag-section);margin:0!important}
.ag-section>*{max-width:var(--ag-wrap);margin-inline:auto}
.ag-section.alignfull{padding-inline:var(--ag-gutter)}
.ag-mist,.is-style-ag-mist{background:var(--ag-mist)}
.ag-white{background:var(--ag-white)}
.ag-on-dark,.is-style-ag-dark{background:var(--ag-black);color:#D6DED2}
.ag-on-dark h1,.ag-on-dark h2,.ag-on-dark h3,.is-style-ag-dark h2,.is-style-ag-dark h3{color:#fff}
.ag-on-dark a:not(.ag-btn):not(.wp-block-button__link){color:var(--ag-lime)}
.ag-eyebrow{font-family:var(--ag-sans);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ag-lime-ink);margin:0 0 12px}
.ag-on-dark .ag-eyebrow{color:var(--ag-lime)}
.ag-head{margin-bottom:clamp(28px,4vw,48px)!important}
.ag-head>*{max-width:760px}
.ag-head h2{margin:0 0 12px}
.ag-head p{margin:0;font-size:1.05em}
.ag-lede{font-size:clamp(18px,1.2vw + 12px,21px);line-height:1.5}

/* Kadence content area: let our full-width sections run edge to edge */
.home .content-container.site-container,.ag-landing .content-container.site-container{max-width:none;padding:0}
.home .entry-content-wrap,.ag-landing .entry-content-wrap{padding:0}
.home .entry.single-entry,.ag-landing .entry.single-entry{box-shadow:none;background:transparent}

/* ---------- Top bar ---------- */
.ag-topbar{background:var(--ag-black);color:#D6DED2;font-size:14px}
.ag-topbar__inner{max-width:var(--ag-wrap);margin:0 auto;padding:8px var(--ag-gutter);display:flex;gap:8px 24px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.ag-topbar a{color:#fff;text-decoration:none}
.ag-topbar a:hover{color:var(--ag-lime)}
.ag-topbar strong{color:var(--ag-lime);font-weight:600}
.ag-topbar__phone{font-family:var(--ag-mono);font-weight:500;background:var(--ag-lime);color:var(--ag-black)!important;padding:4px 10px;border-radius:999px}
.ag-topbar__phone:hover{background:#fff}
@media (max-width:767px){.ag-topbar__addr{display:none}.ag-topbar__inner{justify-content:space-between}}

/* ---------- Header polish ---------- */
#masthead .site-header-row-container-inner{border-bottom:1px solid var(--ag-line)}
.main-navigation .primary-menu-container>ul>li.menu-item>a{font-weight:600;color:var(--ag-black)}
.main-navigation .primary-menu-container>ul>li.current-menu-item>a{color:var(--ag-lime-ink)}

/* ---------- Hero ---------- */
.ag-hero{position:relative;background:var(--ag-black);color:#D6DED2;padding:clamp(48px,7vw,96px) var(--ag-gutter) clamp(40px,5vw,72px)!important;overflow:hidden;margin:0!important}
.ag-hero .wp-block-columns{max-width:var(--ag-wrap);margin:0 auto;gap:clamp(24px,4vw,56px);align-items:center}
.ag-hero h1{color:#fff;margin:0 0 18px}
.ag-hero h1 mark{background:none;color:var(--ag-lime)}
.ag-hero .ag-lede{color:#E4EBE0;margin:0 0 28px;max-width:34ch}
.ag-hero__media img{border-radius:14px;aspect-ratio:4/3;object-fit:cover;width:100%;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.ag-hero__media figure{margin:0}
.ag-hero .wp-block-buttons{margin-bottom:24px}
.ag-hero .ag-callline{margin:0;font-size:15px}
.ag-hero .ag-callline a{color:#fff;font-family:var(--ag-mono);font-weight:500}
@media (max-width:781px){.ag-hero__media{order:-1}.ag-hero__media img{aspect-ratio:16/9}}

/* Trust row */
.ag-trust{display:flex;flex-wrap:wrap;gap:10px 28px;list-style:none;margin:28px 0 0!important;padding:20px 0 0!important;border-top:1px solid rgba(255,255,255,.14)}
.ag-trust li{display:flex;align-items:center;gap:8px;font-size:15px;color:#fff;margin:0}
.ag-trust li::before{content:"";flex:none;width:20px;height:20px;border-radius:50%;background:var(--ag-lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F1A0A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/12px no-repeat}
.ag-trust .ag-stars::before{background:none;width:auto;height:auto;content:"★★★★★";color:#FFC83D;letter-spacing:1px;font-size:15px}
.ag-section .ag-trust{border-top-color:var(--ag-line)}
.ag-section .ag-trust li{color:var(--ag-black)}

/* ---------- Path router ---------- */
.ag-paths{display:grid!important;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px)!important}
.ag-paths>.wp-block-column,.ag-path{background:var(--ag-white);border:1px solid var(--ag-line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease;margin:0!important}
.ag-paths>.wp-block-column:hover{transform:translateY(-4px);box-shadow:var(--ag-shadow-lift)}
.ag-path figure{margin:0!important;position:relative}
.ag-path figure img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.ag-path>*:not(figure){padding-inline:clamp(20px,2vw,28px)}
.ag-path .ag-tag-row{margin-top:-18px!important;position:relative;z-index:1}
.ag-path h3{margin:6px 0 8px}
.ag-path p{margin:0 0 14px}
.ag-path ul{margin:0 0 20px;list-style:none}
.ag-path li{position:relative;padding-left:26px;margin:0 0 8px}
.ag-path li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:14px;border-radius:50%;background:var(--path,var(--ag-lime))}
.ag-path .wp-block-buttons{margin-top:auto!important;padding-bottom:clamp(20px,2vw,28px)}
.ag-path--buy{--path:var(--ag-lime);border-top:4px solid var(--ag-lime)!important}
.ag-path--sell{--path:var(--ag-amber);border-top:4px solid var(--ag-amber)!important}
.ag-path--recycle{--path:var(--ag-recycle);border-top:4px solid var(--ag-recycle)!important}
@media (max-width:900px){.ag-paths{grid-template-columns:1fr}}

/* ---------- Problem / pains ---------- */
.ag-pains{display:grid!important;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px)!important}
.ag-pain{background:var(--ag-white);border-radius:14px;padding:clamp(22px,2.4vw,32px)!important;border-left:4px solid var(--path,var(--ag-lime));margin:0!important}
.ag-pain h3{margin:0 0 10px}
.ag-pain p{margin:0 0 12px}
.ag-pain p.ag-pain__fix{margin:0;font-weight:600;color:var(--ag-black)}
.ag-pain--sell{--path:var(--ag-amber)}
.ag-pain--recycle{--path:var(--ag-recycle)}
@media (max-width:900px){.ag-pains{grid-template-columns:1fr}}

/* ---------- Proof: stats + quotes ---------- */
.ag-stats{display:grid!important;grid-template-columns:repeat(4,1fr);gap:0!important;border-block:1px solid rgba(255,255,255,.14);margin-bottom:clamp(36px,5vw,64px)!important}
.ag-stat{padding:clamp(20px,3vw,36px) clamp(12px,2vw,24px)!important;border-left:1px solid rgba(255,255,255,.14);margin:0!important}
.ag-stat:first-child{border-left:0}
.ag-stat p{margin:0}
.ag-stat .ag-stat__num{font-family:var(--ag-display);font-weight:800;font-size:clamp(34px,4vw,56px);line-height:1;color:var(--ag-lime);margin-bottom:8px}
.ag-stat .ag-stat__label{font-size:15px;color:#D6DED2}
@media (max-width:781px){.ag-stats{grid-template-columns:1fr 1fr}.ag-stat:nth-child(3){border-left:0}.ag-stat:nth-child(n+3){border-top:1px solid rgba(255,255,255,.14)}}

.ag-quotes{display:grid!important;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px)!important}
.ag-quote{background:var(--ag-dark);border-radius:14px;padding:clamp(22px,2.4vw,32px)!important;margin:0!important;display:flex;flex-direction:column}
.ag-quote p{margin:0 0 16px;color:#E4EBE0}
.ag-quote p.ag-quote__stars{color:#FFC83D;letter-spacing:2px;margin-bottom:10px}
.ag-quote p.ag-quote__who{margin:auto 0 0;font-weight:600;color:#fff;font-size:15px}
.ag-quote p.ag-quote__who span{display:block;font-weight:400;color:#AEB9AA;font-size:14px}
@media (max-width:900px){
	.ag-quotes{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;margin-inline:calc(var(--ag-gutter) * -1)!important;padding-inline:var(--ag-gutter)}
	.ag-quote{flex:0 0 84%;scroll-snap-align:start}
}

/* ---------- Solution: refurb standard steps ---------- */
.ag-steps{counter-reset:agstep;display:grid!important;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,24px)!important}
.ag-step{counter-increment:agstep;background:var(--ag-white);border:1px solid var(--ag-line);border-radius:14px;padding:clamp(20px,2vw,28px)!important;margin:0!important;position:relative}
.ag-step::before{content:"0" counter(agstep);display:block;font-family:var(--ag-mono);font-weight:500;font-size:14px;color:var(--ag-lime-ink);margin-bottom:14px}
.ag-step h3{margin:0 0 8px;font-size:20px}
.ag-step p{margin:0;font-size:16px}
@media (max-width:900px){.ag-steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ag-steps{grid-template-columns:1fr}}

/* ---------- Evidence: categories with price tags ---------- */
.ag-cats{display:grid!important;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,24px)!important}
.ag-cat{background:var(--ag-white);border-radius:14px;padding:20px!important;margin:0!important;border:1px solid var(--ag-line);transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}
.ag-cat:hover{transform:translateY(-4px);box-shadow:var(--ag-shadow-lift)}
.ag-cat figure{margin:0 0 14px!important;background:var(--ag-floor);border-radius:10px}
.ag-cat figure img{width:100%;aspect-ratio:1/1;object-fit:contain;padding:12px}
.ag-cat h3{margin:0 0 6px;font-size:20px}
.ag-cat h3 a{color:var(--ag-black);text-decoration:none}
.ag-cat h3 a::after{content:"";position:absolute;inset:0}
.ag-cat{position:relative}
.ag-cat p{margin:0 0 12px;font-size:15px}
.ag-cat .ag-tag-row{margin:auto 0 0!important}
@media (max-width:900px){.ag-cats{grid-template-columns:1fr 1fr}}

/* ---------- Feature split (business pickup, data destruction) ---------- */
.ag-split{gap:clamp(24px,5vw,72px)!important;align-items:center!important}
.ag-split figure{margin:0}
.ag-split img{border-radius:14px;width:100%;aspect-ratio:16/10;object-fit:cover}
.ag-checks{list-style:none;padding:0!important;margin:0 0 24px}
.ag-checks li{position:relative;padding-left:32px;margin:0 0 10px}
.ag-checks li::before{content:"";position:absolute;left:0;top:.2em;width:22px;height:22px;border-radius:50%;background:var(--ag-lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F1A0A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/13px no-repeat}
.ag-checks--recycle li::before{background-color:var(--ag-recycle);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E")}

/* Certificate ticket */
.ag-ticket{background:var(--ag-white);border:1px dashed var(--ag-recycle);border-radius:12px;padding:18px 20px!important;font-family:var(--ag-mono);font-size:14px;color:var(--ag-black);margin:0 0 24px!important}
.ag-ticket p{margin:0}
.ag-ticket p+p{margin-top:4px;color:var(--ag-muted)}

/* ---------- FAQ (core/details) ---------- */
.ag-faq{max-width:860px!important}
.ag-faq .wp-block-details{background:var(--ag-white);border:1px solid var(--ag-line);border-radius:12px;padding:0;margin:0 0 12px}
.ag-faq summary{cursor:pointer;list-style:none;padding:18px 56px 18px 22px;font-family:var(--ag-display);font-weight:700;font-size:clamp(17px,1.2vw + 10px,19px);color:var(--ag-black);position:relative}
.ag-faq summary::-webkit-details-marker{display:none}
.ag-faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--ag-mist);display:grid;place-items:center;font-family:var(--ag-mono);color:var(--ag-lime-ink)}
.ag-faq details[open] summary::after{content:"–"}
.ag-faq .wp-block-details>*:not(summary){padding:0 22px;margin-top:0}
.ag-faq .wp-block-details>*:last-child{padding-bottom:20px}

/* ---------- Visit / close ---------- */
.ag-visit{gap:clamp(24px,4vw,56px)!important}
.ag-visit .ag-hours{font-family:var(--ag-mono);font-size:15px}
.ag-map iframe{width:100%;min-height:340px;height:100%;border:0;border-radius:14px;display:block}
.ag-map{min-height:340px}
.ag-close-note{font-size:15px;color:var(--ag-muted)}
.ag-on-dark .ag-close-note{color:#AEB9AA}

/* ---------- Quote slot (BuyBack Geeks pricing, phase 2) ---------- */
.ag-quote-slot{background:var(--ag-white);border:2px solid var(--ag-amber);border-radius:14px;padding:clamp(22px,3vw,32px)}
.ag-quote-slot__lead{font-size:1.1em;color:var(--ag-black);margin:14px 0 6px}
.ag-quote-slot__meta{font-family:var(--ag-mono);font-size:14px;color:var(--ag-muted);margin:0 0 18px}
.ag-quote-slot__actions{display:flex;flex-wrap:wrap;gap:12px}
/* The card is white even inside dark sections, so keep its ghost button dark. */
.ag-on-dark .ag-quote-slot .ag-btn--ghost{color:var(--ag-black)!important}
.ag-on-dark .ag-quote-slot .ag-btn--ghost:hover{background:var(--ag-black);border-color:var(--ag-black);color:#fff!important}

/* ---------- WooCommerce ---------- */
.woocommerce ul.products li.product .price,.wc-block-grid__product-price{
	font-family:var(--ag-mono);font-weight:500;color:var(--ag-black)!important;font-size:15px!important;
	display:inline-block;background:var(--ag-lime);padding:.45em .8em .45em 1.7em;
	clip-path:polygon(9px 0,100% 0,100% 100%,0 100%,0 9px);
	-webkit-mask:radial-gradient(circle at .85em 50%,transparent .24em,#000 .26em);mask:radial-gradient(circle at .85em 50%,transparent .24em,#000 .26em);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--ag-display);font-weight:700;color:var(--ag-black)}
.woocommerce ul.products li.product{background:var(--ag-white);border:1px solid var(--ag-line);border-radius:14px;padding:14px;transition:transform .2s ease,box-shadow .2s ease}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--ag-shadow-lift)}
.woocommerce span.onsale{background:var(--ag-amber);color:var(--ag-black)}
.woocommerce div.product p.price{font-family:var(--ag-mono);color:var(--ag-black)}
.single-product .product_title{font-size:clamp(26px,2.4vw,36px);line-height:1.15}
.single-product p.stock.in-stock{color:var(--ag-lime-ink)!important;font-weight:600}
.woocommerce-checkout .payment_box .StripeElement{background:var(--ag-white);border:1.5px solid #7D8779;border-radius:var(--ag-radius);padding:13px 14px;min-height:48px}
.woocommerce-checkout #billing_country_field{display:none}
.woocommerce-checkout .payment_box .StripeElement--focus{border-color:var(--ag-lime-ink);box-shadow:0 0 0 3px rgba(141,198,63,.4)}

/* ---------- Mobile action bar ---------- */
.ag-mbar{display:none}
@media (max-width:767px){
	.ag-mbar{position:fixed;left:0;right:0;bottom:0;z-index:999;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:rgba(15,26,10,.96);box-shadow:0 -6px 20px rgba(0,0,0,.2)}
	.ag-mbar__btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:var(--ag-radius);font-weight:600;text-decoration:none;font-size:16px}
	.ag-mbar__btn svg{width:18px;height:18px;fill:currentColor}
	.ag-mbar__btn--call{background:var(--ag-lime);color:var(--ag-black)}
	.ag-mbar__btn--dir{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.4)}
	body{padding-bottom:72px}
	#kt-scroll-up{bottom:84px}
}

/* ---------- Icons (size limits per style guide) ---------- */
.ag-icon{width:var(--ag-icon,24px);height:var(--ag-icon,24px);max-width:80px;max-height:80px;flex:none}

/* ---------- Motion ---------- */
.ag-reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.ag-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{transition:none!important;animation:none!important}
	.ag-reveal{opacity:1;transform:none}
}

/* ---------- Small-screen refinements ---------- */
.ag-trust li:has(.ag-stars)::before{display:none}
@media (max-width:560px){
	.ag-hero .wp-block-buttons{flex-direction:column;align-items:stretch}
	.ag-hero .wp-block-button,.ag-hero .wp-block-button__link{width:100%}
}

/* ---------- Footer ---------- */
.ag-footer{background:var(--ag-dark);color:#C9D3C5;font-size:16px}
.ag-footer__inner{max-width:var(--ag-wrap);margin:0 auto;padding:clamp(48px,6vw,72px) var(--ag-gutter);display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.ag-footer p{margin:0 0 14px}
.ag-footer__name{font-family:var(--ag-display);font-weight:800;font-size:24px;color:#fff}
.ag-footer__head{font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ag-lime)}
.ag-footer__col a{display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none;margin:0 0 10px}
.ag-footer__col a:hover{color:var(--ag-lime)}
.ag-footer address{font-style:normal;margin:0 0 10px}
.ag-footer__hours{font-family:var(--ag-mono);font-size:14px}
.ag-dot{width:10px;height:10px;border-radius:50%;flex:none;background:var(--ag-lime)}
.ag-dot--sell{background:var(--ag-amber)}
.ag-dot--recycle{background:#2E9E55}
.site-footer .site-bottom-footer-wrap{background:var(--ag-black);color:#AEB9AA;font-size:14px}
.site-footer .site-bottom-footer-wrap a{color:#fff}
@media (max-width:900px){.ag-footer__inner{grid-template-columns:1fr 1fr}.ag-footer__brand{grid-column:1/-1}}
@media (max-width:560px){.ag-footer__inner{grid-template-columns:1fr}}

/* ---------- Contact page ---------- */
.ag-section[id]{scroll-margin-top:24px}
.ag-contact-card{background:var(--ag-dark);border:1px solid rgba(255,255,255,.12);border-radius:14px;overflow:hidden}
.ag-contact-card__row{display:grid;grid-template-columns:88px 1fr;gap:16px;padding:18px 22px;border-top:1px solid rgba(255,255,255,.1);color:#fff!important;text-decoration:none}
.ag-contact-card__row:first-child{border-top:0}
a.ag-contact-card__row:hover{background:rgba(255,255,255,.05)}
.ag-contact-card__k{font-family:var(--ag-mono);font-weight:500;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ag-lime);padding-top:3px}
.ag-contact-card__v{font-size:17px;line-height:1.45}
a[href^="tel:"] .ag-contact-card__v{font-family:var(--ag-mono);font-weight:500;font-size:20px}
@media (max-width:781px){.ag-hero__media:has(.ag-contact-card){order:0}}
.ag-form-split{gap:clamp(24px,5vw,72px)!important;align-items:flex-start!important}
.ag-form-card{background:var(--ag-white);border:1px solid var(--ag-line);border-radius:14px;padding:clamp(20px,3vw,36px)!important;box-shadow:var(--ag-shadow)}
.ag-white .ag-form-card{background:var(--ag-floor)}

/* ---------- Kadence forms ---------- */
.ag-form .kb-form{margin:0 -10px;align-items:flex-start}
.ag-form .kadence-blocks-form-field{padding:0 10px;margin-bottom:18px}
.ag-form .kadence-blocks-form-field>label{display:block;font-weight:600;font-size:15px;color:var(--ag-black);margin:0 0 6px}
.ag-form .required{color:var(--ag-danger);margin-left:2px}
.ag-form input.kb-field,.ag-form select.kb-field,.ag-form textarea.kb-field{width:100%;min-height:48px;padding:10px 14px;font:inherit;font-size:16px;color:var(--ag-black);background:var(--ag-white);border:1.5px solid #7D8779;border-radius:var(--ag-radius);box-shadow:none}
.ag-form textarea.kb-field{min-height:110px}
.ag-form .kb-field:focus{outline:none;border-color:var(--ag-lime-ink);box-shadow:0 0 0 3px rgba(141,198,63,.4)}
.ag-form .kb-form .kadence-blocks-form-field .kb-field-help{display:block;font-style:normal;font-size:14px;color:var(--ag-muted);margin-top:6px;line-height:1.4}
.ag-form .kb-radio-style-inline{display:flex;flex-wrap:wrap;gap:8px}
.ag-form .kb-checkbox-item,.ag-form .kb-radio-item{position:relative;margin:0!important}
.ag-form .kb-checkbox-item input,.ag-form .kb-radio-item input{position:absolute;opacity:0;width:1px;height:1px}
.ag-form .kb-checkbox-item label,.ag-form .kb-radio-item label{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1.5px solid #7D8779;border-radius:999px;background:var(--ag-white);font-size:15px;color:var(--ag-black);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
.ag-form .kb-checkbox-item input:checked+label,.ag-form .kb-radio-item input:checked+label{background:var(--ag-mist);border-color:var(--ag-lime-ink);font-weight:600}
.ag-form .kb-checkbox-item input:checked+label::before{content:"✓";margin-right:6px;color:var(--ag-lime-ink)}
.ag-form .kb-checkbox-item input:focus-visible+label,.ag-form .kb-radio-item input:focus-visible+label{outline:3px solid var(--ag-black);outline-offset:2px}
.ag-form .kb-submit-field{margin:6px 0 0}
.ag-form .kb-forms-submit{min-width:220px}
.ag-form .kadence-blocks-form-message{border-radius:var(--ag-radius);padding:14px 18px;margin:0 10px 18px;font-weight:600}
.ag-form .kadence-blocks-form-success{background:var(--ag-mist);border:1.5px solid var(--ag-success);color:var(--ag-black)}
.ag-form .kadence-blocks-form-warning{background:#FDECE8;border:1.5px solid var(--ag-danger);color:var(--ag-black)}
@media (max-width:560px){.ag-form .kb-forms-submit{width:100%}}
/* reCAPTCHA v3 badge sat under the Chatbase bubble; Google allows hiding it when the notice is shown with the form. */
.grecaptcha-badge{visibility:hidden}
.ag-recaptcha-note{font-size:13px;color:var(--ag-muted);margin:12px 0 0}

/* ---------- Plugin conflicts ---------- */
/* Rank Math Image SEO auto-captions images with the page title; hide them inside designed components. */
.ag-hero__media figcaption,.ag-path figcaption,.ag-cat figcaption,.ag-split figcaption{display:none}
/* Chatbase bubble: keep it clear of the mobile Call / Directions bar. */
@media (max-width:767px){
	#chatbase-bubble-button,#chatbase-message-bubbles{bottom:88px!important}
	#chatbase-bubble-window{bottom:150px!important}
}

/* ---------- Category copy below the product grid (1.0.12) ---------- */
.ag-catcopy-wrap{clear:both;margin-top:clamp(40px,5vw,64px)}
.ag-catcopy,.ag-catcopy>.wp-block-group__inner-container{display:flex;flex-direction:column;gap:20px}
.ag-catcopy .ag-section{border-radius:20px;padding-inline:clamp(20px,4vw,56px);border:1px solid var(--ag-line)}
.ag-catcopy .ag-section>*,.ag-catcopy .ag-section>.wp-block-group__inner-container>*{max-width:none}
.ag-catcopy .ag-head>*{max-width:760px}
.ag-catcopy__intro{gap:clamp(24px,4vw,56px)!important;align-items:flex-start!important}
.ag-catcopy__intro>.wp-block-column:first-child p{margin:0 0 16px}
.ag-catcopy__includes{background:var(--ag-floor);border-radius:14px;padding:clamp(20px,2.5vw,28px)!important}
.ag-catcopy__includes .ag-checks{margin:0}
.ag-catcopy__pickup{background:var(--ag-floor);border:1px solid var(--ag-line);border-radius:14px;padding:clamp(20px,2.5vw,32px)!important}
.ag-catcopy__pickup h3{margin:0 0 10px}
.ag-catcopy .ag-split{gap:clamp(24px,4vw,56px)!important;align-items:flex-start}
.ag-catcopy .ag-faq{margin-inline:0!important}
.ag-readmore{list-style:none;padding:0!important;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.ag-readmore li{margin:0}
.ag-readmore a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:14px 18px;border:1px solid var(--ag-line);border-radius:12px;background:var(--ag-white);color:var(--ag-black);font-weight:600;text-decoration:none}
.ag-readmore a::after{content:"→";font-family:var(--ag-mono);color:var(--ag-lime-ink)}
.ag-readmore a:hover{border-color:var(--ag-lime-ink)}
.ag-readmore a:focus-visible{outline:3px solid var(--ag-lime-ink);outline-offset:2px}
@media (max-width:781px){.ag-catcopy .ag-section{border-radius:16px}}
/* Don't depend on core block CSS loading late on archive pages. */
.ag-catcopy .ag-section{padding-block:clamp(32px,4.5vw,64px)}
.ag-catcopy .wp-block-columns{display:flex;flex-wrap:nowrap;gap:clamp(24px,4vw,56px)}
.ag-catcopy .wp-block-column{flex:1 1 0;min-width:0}
.ag-catcopy .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ag-catcopy .wp-block-button__link{display:inline-block;text-decoration:none}
@media (max-width:781px){
	.ag-catcopy .wp-block-columns{flex-direction:column}
	.ag-catcopy .wp-block-column{flex-basis:100%}
}
