/*
Theme Name: NZ Websites Directory
Theme URI: https://nzwebsitesdirectory.co.nz
Description: Lightweight child theme layer for PremiumPress Directory Theme, customised for a fast New Zealand websites directory with free and paid submissions.
Author: NZWEBZ
Template: DT10
Version: 1.0.0
Text Domain: nzwebsites
*/

:root{
  --nz-blue:#2563EB;
  --nz-green:#00A676;
  --nz-bg:#F8FAFC;
  --nz-text:#111827;
  --nz-muted:#6B7280;
  --nz-border:#E5E7EB;
  --nz-card:#FFFFFF;
}
body{background:var(--nz-bg);color:var(--nz-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
a{color:var(--nz-blue)}
.nz-wrap{max-width:1180px;margin:0 auto;padding:0 20px;}
.nz-hero{padding:72px 0 54px;background:linear-gradient(135deg,#fff 0%,#eef6ff 56%,#eafaf3 100%);border-bottom:1px solid var(--nz-border);}
.nz-hero h1{font-size:clamp(38px,6vw,68px);line-height:1.02;margin:0 0 18px;font-weight:850;letter-spacing:-.045em;}
.nz-hero p{font-size:clamp(18px,2vw,22px);color:var(--nz-muted);max-width:720px;margin:0 0 26px;}
.nz-search{display:grid;grid-template-columns:1fr 220px 180px auto;gap:10px;background:#fff;padding:12px;border:1px solid var(--nz-border);border-radius:22px;box-shadow:0 20px 60px rgba(17,24,39,.08);}
.nz-search input,.nz-search select{width:100%;border:1px solid var(--nz-border);border-radius:14px;padding:14px 15px;background:#fff;color:var(--nz-text);}
.nz-btn,.nz-search button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;padding:14px 18px;font-weight:750;text-decoration:none;background:var(--nz-blue);color:#fff;box-shadow:0 10px 24px rgba(37,99,235,.22);cursor:pointer;}
.nz-btn.green{background:var(--nz-green);box-shadow:0 10px 24px rgba(0,166,118,.2)}
.nz-section{padding:46px 0;}
.nz-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:20px;}
.nz-section h2{font-size:clamp(26px,3vw,38px);line-height:1.1;margin:0;font-weight:820;letter-spacing:-.03em;}
.nz-section p.lead{color:var(--nz-muted);margin:8px 0 0;}
.nz-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.nz-grid.four{grid-template-columns:repeat(4,minmax(0,1fr));}
.nz-card{background:var(--nz-card);border:1px solid var(--nz-border);border-radius:22px;padding:20px;box-shadow:0 12px 40px rgba(17,24,39,.06);transition:transform .18s ease, box-shadow .18s ease;}
.nz-card:hover{transform:translateY(-2px);box-shadow:0 18px 48px rgba(17,24,39,.1)}
.nz-listing-logo{width:62px;height:62px;border-radius:16px;background:#f1f5f9;object-fit:cover;border:1px solid var(--nz-border);}
.nz-listing-card h3{margin:14px 0 8px;font-size:20px;line-height:1.18;}
.nz-listing-card p{color:var(--nz-muted);margin:0 0 14px;line-height:1.55;}
.nz-meta{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}
.nz-pill{display:inline-flex;align-items:center;border-radius:999px;background:#f1f5f9;color:#334155;font-size:12px;font-weight:750;padding:7px 10px;}
.nz-pill.featured{background:#eafaf3;color:#047857}.nz-pill.premium{background:#eff6ff;color:#1d4ed8}
.nz-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.nz-actions .nz-btn{padding:11px 13px;font-size:14px}.nz-btn.light{background:#fff;color:var(--nz-text);border:1px solid var(--nz-border);box-shadow:none}
.nz-category{display:flex;gap:12px;align-items:center}.nz-icon{width:42px;height:42px;border-radius:14px;background:#eff6ff;color:var(--nz-blue);display:grid;place-items:center;font-weight:900;}
.nz-submit-form{display:grid;gap:16px;max-width:860px}.nz-field label{display:block;font-weight:760;margin-bottom:7px}.nz-field input,.nz-field textarea,.nz-field select{width:100%;padding:14px 15px;border:1px solid var(--nz-border);border-radius:14px;background:#fff}.nz-field textarea{min-height:140px}.nz-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.nz-notice{padding:16px 18px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:16px;color:#1e3a8a;margin-bottom:18px}
.nz-single-hero{background:#fff;border-bottom:1px solid var(--nz-border);padding:42px 0}.nz-single-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px}.nz-sidebar{position:sticky;top:20px}.nz-empty{padding:28px;border:1px dashed var(--nz-border);border-radius:20px;background:#fff;color:var(--nz-muted)}
@media(max-width:860px){.nz-search{grid-template-columns:1fr}.nz-grid,.nz-grid.four,.nz-single-layout,.nz-two{grid-template-columns:1fr}.nz-section-head{display:block}.nz-hero{padding:48px 0 36px}.nz-wrap{padding:0 16px}}
