/* Ruff Dog Sports — brand system.
   Tokens lifted verbatim from her live Shopify theme so the rebuild reads as
   the same brand: navy #182152, red #E81D23, Poppins. */
:root{
  --brand-black:#020202; --brand-blue:#182152; --brand-red:#E81D23; --brand-white:#fff;
  --ink:#1a1d26; --muted:#5d6472; --line:#e3e6ed; --paper:#fff; --ground:#f6f7fa; --wash:#eef1f7;
  --ok:#0f7b4f; --warn:#8a4b00; --warn-bg:#fdf3e6;
  --container:1440px; --gutter:20px;
  --btn-radius:4px; --card-radius:16px; --radius:8px;
  --h-d:64px; --h-t:48px; --h-m:36px;
  --font:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --shadow:0 1px 2px rgba(2,2,2,.06),0 8px 24px rgba(2,2,2,.06);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--paper);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.narrow{max-width:1100px}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--brand-white);
  border-bottom:1px solid var(--line)}
.announce{background:var(--brand-blue);color:#fff;font-size:13.5px;text-align:center;
  padding:9px var(--gutter);letter-spacing:.01em}
.announce a{color:#fff;font-weight:600}
.nav{display:flex;align-items:center;gap:28px;padding-block:14px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex:0 0 auto}
.logo img{height:52px;width:auto}
.nav-links{display:flex;gap:24px;margin-left:auto;list-style:none;padding:0;margin-block:0}
.nav-links a{text-decoration:none;font-weight:500;font-size:14.5px;text-transform:uppercase;
  letter-spacing:.04em;padding-block:6px;border-bottom:2px solid transparent}
.nav-links a:hover,.nav-links a[aria-current]{border-bottom-color:var(--brand-red)}
.nav-cta{display:flex;gap:10px;align-items:center}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:inherit;font-size:14.5px;font-weight:600;letter-spacing:.02em;
  padding:12px 24px;border-radius:var(--btn-radius);border:1px solid transparent;
  text-decoration:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.btn-primary{background:var(--brand-red);color:#fff}
.btn-primary:hover{background:#c4161b}
.btn-navy{background:var(--brand-blue);color:#fff}
.btn-navy:hover{background:#0f1738}
.btn-ghost{background:transparent;color:var(--brand-blue);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--brand-blue)}
.btn-sm{padding:8px 14px;font-size:13px}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(74vh,660px);display:grid;place-items:center;
  background:var(--brand-black);overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.hero-inner{position:relative;text-align:center;color:#fff;padding:72px var(--gutter);max-width:900px}
.hero h1{font-size:clamp(var(--h-m),6vw,var(--h-d));line-height:1.04;margin:0 0 16px;
  font-weight:600;letter-spacing:-.02em;text-wrap:balance}
.hero p{font-size:clamp(16px,2vw,19px);margin:0 auto 28px;max-width:60ch;opacity:.94}
.hero .btn+.btn{margin-left:10px}

/* ---------- sections ---------- */
.section{padding-block:clamp(48px,7vw,88px)}
.section-head{text-align:center;margin-bottom:36px}
.section-head h2{font-size:clamp(26px,3.4vw,var(--h-t));margin:0 0 10px;font-weight:600;
  letter-spacing:-.015em;text-wrap:balance}
.section-head p{color:var(--muted);margin:0;font-size:16.5px}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:600;
  color:var(--brand-red);margin-bottom:8px}

/* ---------- category grid ---------- */
.tiles{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.tile{position:relative;border-radius:var(--card-radius);overflow:hidden;background:var(--wash);
  text-decoration:none;aspect-ratio:1;display:block}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.tile:hover img{transform:scale(1.04)}
.tile span{position:absolute;left:0;right:0;bottom:0;padding:18px 16px;color:#fff;
  font-weight:600;font-size:16px;letter-spacing:.01em;
  background:linear-gradient(to top,rgba(2,2,2,.82),rgba(2,2,2,0))}

/* ---------- strip ---------- */
.strip{background:var(--brand-blue);color:#fff}
.strip .wrap{display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  padding-block:44px;text-align:center}
.strip h3{margin:0 0 6px;font-size:17px;font-weight:600}
.strip p{margin:0;font-size:14.5px;opacity:.85}

/* ---------- footer ---------- */
.site-footer{background:var(--brand-black);color:#c9ccd6;margin-top:0;padding-block:56px 28px;font-size:14.5px}
.site-footer .cols{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.site-footer h4{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.12em;margin:0 0 14px}
.site-footer a{color:#c9ccd6;text-decoration:none}
.site-footer a:hover{color:#fff}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.legal{border-top:1px solid #232631;margin-top:36px;padding-top:20px;color:#8b909c;font-size:13px;
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}

@media (max-width:900px){
  .nav-links{display:none}
  .logo img{height:42px}
}
