/*
Theme Name: Bluff Bluzz
Theme URI: https://dwstack.com/theme/
Author: DW McEwing
Author URI: https://dwstack.com
Description: DW Stack WordPress theme.
Version: 1.8.28
License: GNU General Public License v2 or later
Text Domain: ahtownsquare
*/

/* Root variables */
:root{
  --dw-primary:#0c5329;
  --dw-dark:#022514;
  --dw-muted:#629665;
  --dw-bg:#ffffff;
  --dw-accent:#eeefdf;
  --dw-container:1120px;
  --dw-gap:16px;
  --dw-radius:6px;
  --dw-font-sans:"Helvetica Neue", Arial, sans-serif;
}

/* === Footer === */
.site-footer {
  border-top: 1px solid rgba(0,0,0,0.06);
  padding: 14px 0;
  font-size: 14px;
  background: #ffffff;
}

.site-footer .footer-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.site-footer .footer-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.site-footer .footer-link-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.26rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.7);
  background: #ffffff;
  font-size: 0.8rem;
  font-weight: 500;
  text-decoration: none;
  color: #111111;
  line-height: 1.2;
  transition: background 0.12s ease-out, border-color 0.12s ease-out, color 0.12s ease-out;
}

.site-footer .footer-link-pill:hover,
.site-footer .footer-link-pill:focus {
  background: var(--dw-accent);
  border-color: var(--dw-primary);
  color: var(--dw-primary);
}

.site-footer .footer-copy {
  color: #6b6b6b;
  font-size: 0.8rem;
  white-space: nowrap;
}

@media (max-width: 640px) {
  .site-footer .footer-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .site-footer .footer-copy {
    margin-top: 4px;
    white-space: normal;
  }
}

/* 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;
}

/* Optional top bar (not used right now) */
.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{
  background:#ffffff;
  border-bottom:1px solid rgba(0,0,0,0.06);
  padding:12px 0;
}

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

.main-header-grid{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

/* Branding */
.site-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  margin-left:40px;  /* push logo + brand further to the right */
  padding-top:8px;   /* added: space above logo so it doesn't touch the line */
}

/* Logo container */
.site-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  margin:0;
  background:transparent;
  border-radius:0;
  text-decoration:none;
}

/* Header logo image size */
.site-logo img{
  height:72px;      /* larger logo */
  width:auto;
  display:block;
}

/* Title and tagline */
.site-title-wrap{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.site-title{
  margin:0;
  font-size:20px;
  font-weight:800;
  color:var(--dw-dark);
  text-decoration:none;
}

.site-title:hover{
  color:var(--dw-primary);
}

.site-tagline{
  margin:0;
  font-size:13px;
  color:var(--dw-muted);
}

/* Nav on the right */
.header-right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
}

/* Primary nav */
.main-nav ul,
.primary-menu{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:22px;
  align-items:center;
}

/* Base link style */
.main-nav a{
  color:var(--dw-dark);
  text-decoration:none;
  font-weight:700;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:0.09em;
  padding-bottom:4px;
  border-bottom:2px solid transparent;
}

/* Hover / focus */
.main-nav a:hover,
.main-nav a:focus{
  color:var(--dw-primary);
  border-bottom-color:var(--dw-primary);
}

/* Active item (current page) */
.main-nav .current-menu-item > a,
.main-nav .current_page_item > a{
  color:var(--dw-primary);
  border-bottom-color:var(--dw-primary);
}

/* Content / Footer */
.site-content{
  padding:28px 0;
}

/* Slightly tighter top spacing for article pages */
.single .site-content{
  padding-top: 18px;
}

/* ===== News-style single post ===== */

/* The container already provides horizontal padding */
.single .site-main{
  padding: 0;
}

.single .news-article{
  max-width: 760px;
  margin: 0 auto;
}

.news-header{
  margin-bottom: 18px;
}

.news-kicker{
  margin: 0 0 10px;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.news-kicker a{
  color: var(--dw-primary);
  text-decoration: none;
  font-weight: 800;
}

.news-kicker a:hover,
.news-kicker a:focus{
  text-decoration: underline;
}

.news-headline{
  margin: 0 0 10px;
  font-size: 44px;
  line-height: 1.06;
  letter-spacing: -0.01em;
}

.news-dek{
  margin: 0 0 12px;
  font-size: 19px;
  line-height: 1.45;
  color: rgba(17,17,17,0.88);
}

.news-meta{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: var(--dw-muted);
}

.news-meta a{
  color: var(--dw-dark);
  text-decoration: none;
  font-weight: 800;
}

.news-meta a:hover,
.news-meta a:focus{
  color: var(--dw-primary);
  text-decoration: underline;
}

.news-meta__sep{
  opacity: 0.7;
}

.news-featured{
  margin: 18px 0 22px;
}

.news-featured img{
  width: 100%;
  height: auto;
  border-radius: 10px;
  display: block;
}

.news-featured__caption{
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--dw-muted);
}

.news-body{
  font-size: 17px;
}

.news-body p{
  margin: 0 0 1.1em;
}

/* Lead paragraph */
.news-body > p:first-of-type{
  font-size: 19px;
  line-height: 1.55;
}

.news-body h2,
.news-body h3,
.news-body h4{
  margin-top: 1.7em;
  margin-bottom: 0.6em;
  line-height: 1.2;
}

.news-body h2{ font-size: 24px; }
.news-body h3{ font-size: 20px; }
.news-body h4{ font-size: 18px; }

.news-body blockquote{
  margin: 18px 0;
  padding: 14px 16px;
  border-left: 4px solid rgba(0,0,0,0.25);
  background: rgba(0,0,0,0.03);
  border-radius: 10px;
}

.news-body blockquote p{
  margin: 0;
}

.news-related{
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid rgba(0,0,0,0.10);
}

.news-related__title{
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 0 0 10px;
  color: rgba(17,17,17,0.75);
}

.news-related__list{
  list-style: none;
  padding: 0;
  margin: 0;
}

.news-related__item{
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 0;
  border-top: 1px solid rgba(0,0,0,0.06);
}

.news-related__item:first-child{
  border-top: 0;
}

.news-related__link{
  font-weight: 800;
  text-decoration: none;
  color: var(--dw-dark);
}

.news-related__link:hover,
.news-related__link:focus{
  color: var(--dw-primary);
  text-decoration: underline;
}

.news-related__date{
  flex: 0 0 auto;
  font-size: 12px;
  color: var(--dw-muted);
  white-space: nowrap;
}

@media (max-width: 640px){
  .news-headline{ font-size: 34px; }
  .news-dek{ font-size: 17px; }
  .news-body{ font-size: 16px; }
  .news-body > p:first-of-type{ font-size: 17px; }
}

.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);
}

/* ===== Mobile menu toggle + off-canvas nav ===== */

.menu-toggle{
  display:none;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(11, 102, 163, 0.35);
  background:#ffffff;
  color:var(--dw-dark);
  font-family:var(--dw-font-sans);
  font-weight:800;
  cursor:pointer;
}

.menu-toggle__icon{
  width:18px;
  height:12px;
  position:relative;
  display:inline-block;
}

.menu-toggle__icon::before,
.menu-toggle__icon::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:2px;
  background:var(--dw-primary);
  border-radius:999px;
}

.menu-toggle__icon::before{
  top:0;
  box-shadow:0 5px 0 var(--dw-primary);
}

.menu-toggle__icon::after{
  bottom:0;
}

.menu-toggle__label{
  font-size:14px;
  letter-spacing:0.01em;
}

/* Backdrop that sits behind the off-canvas menu */
.mobile-menu-backdrop{
  position:fixed;
  inset:0;
  background:rgba(15,23,42,0.45);
  z-index:9998;
}

.mobile-menu-backdrop[hidden]{
  display:none !important;
}

/* Off-canvas nav on mobile */
@media (max-width:900px){
  .site-brand{
    margin-left:0;
  }

  /* Keep header in a single row on mobile */
  .main-header-grid{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }

  .header-right{
    width:auto;
    justify-content:flex-end;
    flex-wrap:nowrap;
    gap:10px;
  }

  .menu-toggle{
    display:inline-flex;
  }

  /* Turn primary nav into a slide-in panel */
  .main-nav{
    position:fixed;
    top:0;
    right:0;
    height:100vh;
    width:min(360px, 86vw);
    background:#ffffff;
    border-left:1px solid rgba(0,0,0,0.08);
    padding:18px 16px;
    box-sizing:border-box;
    transform:translateX(110%);
    transition:transform 180ms ease-out;
    z-index:9999;
    overflow:auto;
  }

  .main-nav ul,
  .primary-menu{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    flex-wrap:nowrap;
  }

  .main-nav a{
    display:block;
    width:100%;
    padding:10px 10px;
    border-radius:10px;
    font-size:15px;
    text-transform:none;
    letter-spacing:0;
    border-bottom:none;
  }

  .main-nav a:hover,
  .main-nav a:focus{
    background:rgba(11, 102, 163, 0.10);
    color:var(--dw-primary);
  }

  body.ah-menu-open{
    overflow:hidden;
  }

  body.ah-menu-open .main-nav{
    transform:translateX(0);
  }
}

/* Responsive header (legacy layout tweaks for mid sizes) */
@media (min-width:901px) and (max-width:1050px){
  .main-header-grid{
    gap:14px;
  }
}

/* ===== Legal page styles ===== */

.nts-page {
  max-width: var(--dw-container);
  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; }

/* ===== Homepage styles ===== */

.home .entry-content {
    max-width: var(--dw-container);
    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 homepage tweaks */
@media (max-width: 600px) {
    .home .homepage-hero {
        padding: 1rem;
    }
    .home .homepage-buttons {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ===== Classifieds / LetItGo styles ===== */

/* Overall classifieds page container */
.page-classifieds .site-content {
  background: #f5f5f7;
}

.page-classifieds .entry-content {
  max-width: var(--dw-container);
  margin: 0 auto 3rem;
  padding: 1.5rem 1rem 3rem;
  background: #f9f9fb;
  border-radius: 10px;
  border: 1px solid #e1e1e8;
  box-sizing: border-box;
}

/* If LetItGo outputs its own wrapper, make it use a grid */
.letitgo-archive,
.letitgo-listings {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.25rem;
}

/* Individual classified cards */
.letitgo-listing,
.letitgo-card {
  background: #ffffff;
  border-radius: 10px;
  border: 1px solid #e0e0e0;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}

/* Fallback: treat headings on /classifieds/ like cards if plugin markup is very simple */
.page-classifieds .entry-content > h2 {
  margin-top: 0;
  margin-bottom: 0.25rem;
  font-size: 1.05rem;
  font-weight: 700;
}

.page-classifieds .entry-content > h2 + p {
  margin-top: 0;
  margin-bottom: 0.4rem;
}

/* Card titles */
.letitgo-listing__title a,
.letitgo-card h2 a,
.page-classifieds .entry-content > h2 a {
  text-decoration: none;
  color: #111111;
}

.letitgo-listing__title a:hover,
.letitgo-card h2 a:hover,
.page-classifieds .entry-content > h2 a:hover {
  color: var(--dw-primary);
  text-decoration: underline;
}

/* Price line / meta info */
.letitgo-listing__meta,
.letitgo-listing__price {
  font-size: 0.9rem;
  color: #555;
}

/* Read more / view link */
.letitgo-listing__link a,
.letitgo-card a.read-more,
.page-classifieds .entry-content a {
  font-size: 0.9rem;
  font-weight: 600;
}

.letitgo-listing__link a,
.letitgo-card a.read-more {
  align-self: flex-start;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  border: 1px solid #d0d0e0;
  text-decoration: none;
  background: #ffffff;
}

.letitgo-listing__link a:hover,
.letitgo-card a.read-more:hover {
  background: #f4f5f7;
}

/* Rugen Park: hide site title and tagline (logo only in header) */
.site-title,
.site-description{display:none !important;}
