/*
Theme Name:   Astra Child
Description:  Astra child theme for AutoShippingNearMe.com. Provides the global header and footer styling.
Author:       AutoShippingNearMe
Template:     astra
Version:      1.0.0
Text Domain:  astra-child
*/

/* =========================================================
   GLOBAL TOKENS
   Color variables used by the global header/footer (and
   safely shared with the per-page (.asnm-loc, .asnm-home,
   etc.) stylesheets — duplicate :root declarations are
   harmless because they target the same element.
   ========================================================= */
:root {
	--black:#0a0a0a;
	--ink:#111111;
	--white:#ffffff;
	--paper:#fafaf8;
	--gray:#555555;
	--mid:#888888;
	--light:#bbbbbb;
	--border:#e0e0e0;
	--green:#1e6b3c;
	--green-dark:#155229;
	--green-bright:#28a85a;
	--green-light:#edf7f1;
	--green-mid:#c2e8d0;
	--amber:#d4770a;
	--amber-light:#fef3e2;
	--coral:#e85d4d;
	--coral-light:#fdeae7;
	--border-soft:#e8e8e6;
	--border-mid:#d0d0ce;
}

/* =========================================================
   .asnm — global wrapper used by header + footer only
   Page-level wrappers (.asnm-loc, etc.) remain untouched.
   ========================================================= */
.asnm { width:100%; overflow-x:hidden; background:#ffffff; }
.asnm * { box-sizing:border-box; margin:0; padding:0; }

@keyframes asnm-pulse { 0%,100%{opacity:1;} 50%{opacity:.5;} }

/* =========================================================
   TOPBAR
   ========================================================= */
.asnm .topbar { background:var(--green); color:rgba(255,255,255,0.92); text-align:center; padding:9px 20px; font-family:'DM Sans',sans-serif; font-size:12px; letter-spacing:1.5px; text-transform:uppercase; }
.asnm .topbar a { color:#fff; text-decoration:none; font-weight:700; }
.asnm .topbar-dot { display:inline-block; width:6px; height:6px; background:var(--green-bright); border-radius:50%; margin:0 8px; vertical-align:middle; animation:asnm-pulse 2s ease-in-out infinite; }

/* =========================================================
   PRIMARY NAV (sticky)
   ========================================================= */
.asnm nav { position:sticky; top:0; z-index:99; background:var(--white); border-bottom:2px solid var(--black); display:flex; align-items:center; justify-content:space-between; padding:0 48px; height:68px; }
.asnm .nav-logo { font-family:'Bebas Neue',sans-serif; font-size:24px; letter-spacing:2px; color:var(--black); text-decoration:none; flex-shrink:0; }
.asnm .nav-logo span { color:var(--green); }
.asnm .nav-links { display:flex; gap:32px; list-style:none; align-items:center; }
.asnm .nav-links a { font-size:13px; font-weight:500; letter-spacing:0.5px; color:var(--gray); text-decoration:none; transition:color .15s; }
.asnm .nav-links a:hover { color:var(--black); }
.asnm .nav-phone { color:var(--black) !important; font-weight:600 !important; }
.asnm .nav-cta { background:var(--green) !important; color:var(--white) !important; padding:10px 22px; border-radius:3px; font-size:13px !important; font-weight:600 !important; letter-spacing:0.5px !important; transition:background .15s !important; white-space:nowrap; }
.asnm .nav-cta:hover { background:var(--green-dark) !important; }

/* WP admin bar offset so the sticky nav doesn't hide behind the toolbar */
body.admin-bar .asnm nav { top:32px; }
@media screen and (max-width:782px) {
	body.admin-bar .asnm nav { top:46px; }
}

/* =========================================================
   BREADCRUMB
   ========================================================= */
.asnm .breadcrumb { border-bottom:1px solid var(--border-mid); padding:11px 56px; display:flex; align-items:center; gap:8px; font-size:12px; color:var(--mid); background:var(--paper); }
.asnm .breadcrumb a { color:var(--green); text-decoration:none; font-weight:600; }
.asnm .breadcrumb a:hover { text-decoration:underline; }
.asnm .bc-sep { color:var(--light); }

/* =========================================================
   FOOTER CTA STRIP
   ========================================================= */
.asnm .cta-strip { background:var(--black); padding:60px 56px; display:grid; grid-template-columns:1fr auto; gap:48px; align-items:center; border-bottom:1px solid #222; }
.asnm .cta-eyebrow { font-size:11px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--green-bright); margin-bottom:10px; }
.asnm .cta-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(32px,4vw,52px); letter-spacing:1px; color:var(--white); line-height:1; }
.asnm .cta-sub { font-size:14px; color:rgba(255,255,255,0.5); margin-top:8px; }
.asnm .cta-btns { display:flex; gap:12px; flex-wrap:wrap; flex-shrink:0; }
.asnm .btn-white { background:var(--white); color:var(--black); padding:14px 28px; font-family:'DM Sans',sans-serif; font-size:14px; font-weight:600; text-decoration:none; border:1px solid var(--white); border-radius:3px; transition:background .15s; display:inline-block; }
.asnm .btn-white:hover { background:var(--green-light); color:var(--green); }
.asnm .btn-outline-white { background:transparent; color:rgba(255,255,255,0.7); padding:14px 22px; font-family:'DM Sans',sans-serif; font-size:14px; font-weight:500; text-decoration:none; border:1px solid rgba(255,255,255,0.2); border-radius:3px; transition:border-color .15s,color .15s; display:inline-flex; align-items:center; gap:8px; }
.asnm .btn-outline-white:hover { border-color:rgba(255,255,255,0.5); color:var(--white); }

/* =========================================================
   FOOTER
   ========================================================= */
.asnm footer { background:var(--black); }
.asnm .footer-main { display:grid; grid-template-columns:2fr 1fr 1fr 1.5fr; border-bottom:1px solid rgba(255,255,255,0.08); }
.asnm .footer-col { padding:48px 36px; border-right:1px solid rgba(255,255,255,0.07); }
.asnm .footer-col:last-child { border-right:none; }
.asnm .footer-logo { font-family:'Bebas Neue',sans-serif; font-size:24px; letter-spacing:2px; color:var(--white); margin-bottom:12px; }
.asnm .footer-logo span { color:var(--green-bright); }
.asnm .footer-tagline { font-size:13px; color:rgba(255,255,255,0.4); line-height:1.7; max-width:240px; margin-bottom:18px; }
.asnm .footer-badges { display:flex; gap:6px; flex-wrap:wrap; }
.asnm .f-badge { border:1px solid rgba(255,255,255,0.1); padding:4px 10px; font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,0.3); }
.asnm .f-badge-green { border-color:var(--green) !important; color:var(--green-bright) !important; }
.asnm .f-badge-coral { border-color:var(--coral) !important; color:var(--coral) !important; }
.asnm .footer-col-title { font-size:10px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:rgba(255,255,255,0.3); margin-bottom:18px; }
.asnm .footer-links { list-style:none; display:flex; flex-direction:column; gap:9px; }
.asnm .footer-links a { font-size:13px; color:rgba(255,255,255,0.45); text-decoration:none; transition:color .15s; }
.asnm .footer-links a:hover { color:var(--white); }
.asnm .footer-contact-list { list-style:none; display:flex; flex-direction:column; gap:10px; }
.asnm .footer-contact-list li { font-size:13px; color:rgba(255,255,255,0.4); line-height:1.5; display:flex; gap:8px; }
.asnm .footer-contact-list a { color:rgba(255,255,255,0.6); text-decoration:none; }
.asnm .footer-contact-list a:hover { color:var(--white); }
.asnm .footer-bottom { padding:20px 36px; display:flex; justify-content:space-between; font-size:11px; letter-spacing:0.5px; text-transform:uppercase; color:rgba(255,255,255,0.2); flex-wrap:wrap; gap:10px; }
.asnm .footer-bottom a { color:rgba(255,255,255,0.3); text-decoration:none; }

/* =========================================================
   RESPONSIVE — header/footer only
   ========================================================= */
@media (max-width:1100px) {
	.asnm .cta-strip { grid-template-columns:1fr; }
	.asnm .footer-main { grid-template-columns:1fr 1fr; }
	.asnm .footer-col { border-bottom:1px solid rgba(255,255,255,0.07); }
}

@media (max-width:720px) {
	.asnm nav { padding:0 20px; }
	.asnm .nav-links li { display:none; }
	.asnm .nav-links li:last-child { display:flex; }
	.asnm .nav-cta { padding:8px 16px !important; font-size:12px !important; }
	.asnm .breadcrumb { padding:11px 24px; }
	.asnm .cta-strip { padding:40px 24px !important; }
	.asnm .cta-btns { flex-direction:column; }
	.asnm .cta-btns a { text-align:center; }
	.asnm .footer-main { grid-template-columns:1fr !important; }
	.asnm .footer-col { border-right:none !important; }
	.asnm .footer-bottom { padding:18px 24px; }
}