/*
Theme Name: DW Stack
Theme URI: https://dwstack.com
Author: DW McEwing
Author URI: https://dwstack.com
Description: DW Stack dynamic WordPress theme inspired by northwestcentralpulse.com/clone
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: dw-stack
*/

/* Root variables */
:root{
  --dw-primary:#0b66a3;
  --dw-dark:#111111;
  --dw-muted:#6b6b6b;
  --dw-bg:#ffffff;
  --dw-accent:#f3f7fb;
  --dw-container:1100px;
  --dw-gap:16px;
  --dw-radius:6px;
  --dw-font-sans:"Helvetica Neue", Arial, sans-serif;
}

/* Base */
html,body{height:100%;}
body{
  margin:0;
  background:var(--dw-bg);
  color:var(--dw-dark);
  font-family:var(--dw-font-sans);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.5;
  font-size:16px;
}

/* Containers */
.dw-container{
  max-width:var(--dw-container);
  margin:0 auto;
  padding:0 var(--dw-gap);
  box-sizing:border-box;
}

/* Top Bar */
.site-topbar{
  background:var(--dw-accent);
  border-bottom:1px solid rgba(0,0,0,0.04);
  font-size:14px;
}
.site-topbar .dw-container{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 0;
}
.top-links a{
  margin-left:12px;
  color:var(--dw-primary);
  text-decoration:none;
  font-weight:600;
}

/* Main Header */
.site-header{
  padding:18px 0;
  border-bottom:1px solid rgba(0,0,0,0.06);
}
.main-header-grid{
  display:grid;
  grid-template-columns: 1fr 400px;
  align-items:center;
  gap:20px;
}
.site-brand{
  display:flex;
  align-items:center;
  gap:14px;
}
.site-logo{
  width:64px;height:64px;
  background:var(--dw-primary);
  color:#fff;
  border-radius:8px;
  display:flex;justify-content:center;align-items:center;
  font-size:22px;font-weight:700;text-decoration:none;
}
.site-title{margin:0;font-size:20px;font-weight:800;}
.site-tagline{margin:0;font-size:14px;color:var(--dw-muted);}

/* Nav and Actions */
.header-right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
}
.main-nav ul{
  list-style:none;margin:0;padding:0;display:flex;gap:14px;align-items:center;
}
.main-nav a{color:var(--dw-dark);text-decoration:none;font-weight:700;}
.header-actions .btn{
  background:var(--dw-primary);color:#fff;padding:8px 12px;border-radius:6px;text-decoration:none;font-weight:700;
}
.login-link{color:var(--dw-primary);text-decoration:none;font-weight:700;}

/* Content / Footer */
.site-content{padding:28px 0;}
.site-footer{
  border-top:1px solid rgba(0,0,0,0.06);
  padding:20px 0;
  font-size:14px;
  color:var(--dw-muted);
  background:#fff;
}
.site-footer .dw-container{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}
.site-footer a{text-decoration:none;color:var(--dw-primary);}

/* Responsive */
@media (max-width:900px){
  .main-header-grid{grid-template-columns:1fr;row-gap:14px;}
  .main-nav{display:none;}
  .header-right{justify-content:flex-start;}
}

/* Legal page styles */
.nts-page {
  max-width: 900px;
  margin: 0 auto;
  padding: 1.5rem 1rem;
  line-height: 1.6;
  font-size: 17px;
}
.nts-page h1 { font-size: 2rem; margin-bottom: 0.7rem; }
.nts-page h2 { font-size: 1.4rem; margin-top: 2rem; border-bottom: 1px solid #ddd; padding-bottom: 0.3rem; }
.nts-page h3 { font-size: 1.15rem; margin-top: 1rem; margin-bottom: 0.3rem; }
.nts-page p { margin-bottom: 1rem; }
.nts-page ul, .nts-page ol { margin-left: 1.2rem; margin-bottom: 1.2rem; }
.nts-notice { padding: 1rem; margin: 1rem 0; border-radius: 4px; }
.nts-notice-warning { background: #fff5d6; border: 1px solid #f0c776; }
.nts-section { margin-top: 2rem; }
.nts-legal-links { margin: 2rem 0; text-align: center; }
.nts-legal-links ul { list-style: none; margin: 0; padding: 0; }
.nts-legal-links li { display: inline-block; margin: 0 10px; }
.nts-legal-links a { text-decoration: none; color: #555; font-size: 15px; }
.nts-legal-links a:hover { text-decoration: underline; color: #000; }

/* Niles Town Square Homepage Styles
   These styles apply only on the homepage. */

.home .entry-content {
    max-width: 900px;
    margin: 0 auto;
    padding-bottom: 2.5rem;
}

/* Lede text */
.home .homepage-lede {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

/* Hero */
.home .homepage-hero {
    margin: 1rem 0 2rem;
    padding: 1.5rem;
    border-radius: 10px;
    background: #f4f5f7;
}
.home .homepage-hero h2 {
    margin-top: 0;
    margin-bottom: 0.75rem;
}
.home .homepage-hero p {
    margin-bottom: 0.75rem;
}
.home .hero-note {
    font-size: 0.9rem;
    color: #555;
    margin-top: 1rem;
}

/* Buttons */
.home .homepage-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1rem;
}
.home .btn-primary,
.home .btn-secondary {
    display: inline-block;
    padding: 0.5rem 1.1rem;
    border-radius: 999px;
    font-size: 0.95rem;
    text-decoration: none;
    border: 1px solid transparent;
    line-height: 1.2;
}
.home .btn-primary {
    background: #1f4fbf;
    color: #fff;
}
.home .btn-primary:hover {
    opacity: 0.9;
}
.home .btn-secondary {
    background: #fff;
    border-color: #ccc;
    color: #333;
}
.home .btn-secondary:hover {
    background: #f4f5f7;
}

/* Sections */
.home .homepage-section {
    margin: 2rem 0;
}
.home .homepage-section h3 {
    margin-bottom: 0.75rem;
}

/* Feature list */
.home .feature-list {
    list-style: disc;
    padding-left: 1.2rem;
}
.home .feature-list li {
    margin-bottom: 0.25rem;
}

/* Grid cards */
.home .homepage-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1rem;
}
.home .homepage-card {
    border-radius: 10px;
    padding: 1rem;
    background: #f4f5f7;
    border: 1px solid #e0e0e0;
}
.home .homepage-card h4 {
    margin-top: 0;
    margin-bottom: 0.5rem;
}
.home .homepage-card p:last-child {
    margin-bottom: 0;
}
.home .homepage-card a {
    text-decoration: none;
    font-weight: 600;
}
.home .homepage-card a:hover {
    text-decoration: underline;
}

/* Text section links */
.home .homepage-section a {
    text-decoration: underline;
}

/* Mobile */
@media (max-width: 600px) {
    .home .homepage-hero {
        padding: 1rem;
    }
    .home .homepage-buttons {
        flex-direction: column;
        align-items: flex-start;
    }
}
