/*
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.42
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-menu a {
  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-menu a:hover,
.site-footer .footer-menu a: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:0;
  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:0;
}

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

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

/* === v1.8.29 mobile/header/footer best-practice refinements === */
*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
video,
iframe {
  max-width: 100%;
}

.site-header {
  padding: 0;
}

.main-header-grid {
  min-height: 84px;
  padding-top: 10px;
  padding-bottom: 10px;
}

.site-brand {
  margin-left: 0;
  padding-top: 0;
  flex: 0 1 auto;
}

.site-header .site-brand img,
.site-header .site-brand .custom-logo,
.site-logo img {
  max-height: 64px;
  width: auto;
  height: auto;
}

.header-right {
  min-width: 0;
  flex: 1 1 auto;
}

.main-nav {
  max-width: 100%;
}

.main-nav ul,
.primary-menu {
  justify-content: flex-end;
  flex-wrap: wrap;
  row-gap: 8px;
}

.main-nav a:focus-visible,
.footer-nav a:focus-visible,
.menu-toggle:focus-visible {
  outline: 3px solid var(--dw-primary);
  outline-offset: 3px;
}

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

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

.footer-nav .footer-menu a {
  display: inline-flex;
  align-items: center;
  padding: 0.32rem 0.9rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.7);
  background: #ffffff;
  color: #111111;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
}

.footer-nav .footer-menu a:hover,
.footer-nav .footer-menu a:focus {
  background: var(--dw-accent);
  border-color: var(--dw-primary);
  color: var(--dw-primary);
}

@media (max-width: 900px) {
  .main-header-grid {
    min-height: 72px;
  }

  .site-header .site-brand img,
  .site-header .site-brand .custom-logo,
  .site-logo img {
    max-height: 52px;
  }

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

  .main-nav {
    padding-top: 28px;
  }

  .main-nav ul,
  .primary-menu {
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  :root {
    --dw-gap: 14px;
  }

  .bb-reg-banner__inner,
  .bb-reg-banner__actions,
  .bb-reg-banner__btn {
    width: 100%;
  }

  .bb-reg-banner__btn {
    text-align: center;
  }

  .main-header-grid {
    gap: 10px;
  }

  .menu-toggle__label {
    display: none;
  }

  .menu-toggle {
    padding: 11px 12px;
  }

  .main-nav {
    width: min(340px, 88vw);
  }

  .site-content {
    padding: 20px 0;
  }

  .site-footer .footer-inner,
  .site-footer .dw-container.footer-inner {
    align-items: flex-start;
  }

  .footer-nav,
  .footer-nav .footer-menu {
    width: 100%;
  }

  .footer-nav .footer-menu a {
    min-height: 40px;
  }
}


/* ===== Bluff Bluzz 1.8.31 authoritative responsive fixes ===== */
*, *::before, *::after {
  box-sizing: border-box;
}

img, svg, video, canvas, iframe {
  max-width: 100%;
}

img {
  height: auto;
}

.entry-content {
  overflow-wrap: anywhere;
}

.entry-content table {
  display: block;
  width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.screen-reader-text:focus {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 100000;
  width: auto;
  height: auto;
  padding: 10px 14px;
  clip: auto;
  overflow: visible;
  white-space: normal;
  background: #ffffff;
  color: var(--dw-dark);
  border: 2px solid var(--dw-primary);
  border-radius: 4px;
}

.site-header {
  position: relative;
  z-index: 100;
}

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

.site-brand {
  margin-left: 0 !important;
  padding-top: 0 !important;
  min-width: 0;
  flex: 0 1 auto;
}

.site-header .site-brand img,
.site-header .site-brand .custom-logo,
.site-logo img {
  max-height: 64px;
  width: auto;
  height: auto;
}

.header-right {
  min-width: 0;
  flex: 1 1 auto;
}

.main-nav ul,
.primary-menu {
  justify-content: flex-end;
  flex-wrap: wrap;
}

.menu-toggle {
  border-color: rgba(2, 37, 20, 0.24);
  border-radius: 6px;
}

.menu-toggle:focus-visible,
.main-nav a:focus-visible,
.footer-legal a:focus-visible {
  outline: 3px solid var(--dw-primary);
  outline-offset: 3px;
}

.site-footer {
  border-top: 1px solid rgba(0,0,0,0.08) !important;
  padding: 18px 0 !important;
  background: #ffffff !important;
  color: var(--dw-muted) !important;
  font-size: 14px !important;
}

.site-footer .footer-inner,
.site-footer .dw-container.footer-inner {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 12px 18px !important;
}

.footer-legal {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  line-height: 1.4 !important;
}

.footer-legal a,
.site-footer .footer-legal a,
.site-footer a.footer-legal__link {
  display: inline !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--dw-primary) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: inherit !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.footer-legal a:hover,
.footer-legal a:focus {
  color: var(--dw-dark) !important;
  background: transparent !important;
  border: 0 !important;
}

.footer-legal__separator {
  color: rgba(2,37,20,0.38);
}

.site-footer .footer-copy {
  color: #6b6b6b !important;
  font-size: 14px !important;
  white-space: normal !important;
}

@media (max-width: 900px) {
  .main-header-grid {
    min-height: 66px;
    gap: 12px;
  }

  .site-header .site-brand img,
  .site-header .site-brand .custom-logo,
  .site-logo img {
    max-height: 52px;
  }

  .menu-toggle {
    display: inline-flex !important;
    flex: 0 0 auto;
  }

  .main-nav {
    padding-top: 28px;
  }

  .main-nav ul,
  .primary-menu {
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  :root {
    --dw-gap: 14px;
  }

  .bb-reg-banner__inner,
  .bb-reg-banner__actions {
    width: 100%;
  }

  .bb-reg-banner__btn {
    width: 100%;
    text-align: center;
  }

  .menu-toggle__label {
    display: none;
  }

  .menu-toggle {
    padding: 11px 12px;
  }

  .main-nav {
    width: min(340px, 88vw);
  }

  .site-content {
    padding: 20px 0;
  }

  .site-footer .footer-inner,
  .site-footer .dw-container.footer-inner {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}


/* =========================================================
   Rugen Park community-board page styling
   Theme-owned styling for Home, Submit Report, Dashboard,
   Terms of Service, Privacy Policy, and community shortcodes.
   ========================================================= */
:root {
  --park-evergreen: #1f4d2b;
  --park-leaf: #2f6b3f;
  --park-sage: #e8f1e7;
  --park-sage-strong: #d7e8d5;
  --park-cream: #fffaf0;
  --park-paper: #fffdf8;
  --park-tan: #efe2c8;
  --park-brown: #6b5438;
  --park-ink: #223026;
  --park-muted: #5f6f61;
  --park-border: #d8cbb7;
  --park-shadow: 0 4px 14px rgba(31, 77, 43, 0.07);
  --park-radius: 20px;
}

body {
  color: var(--park-ink);
  background: #f4f4ef;
}

.site-content {
  background: transparent;
}

.site-main {
  padding-block: clamp(1rem, 3vw, 2rem);
}

.entry-content > :first-child {
  margin-top: 0;
}

.home-intro,
.submit-report-intro,
.dashboard-intro,
.legal-page {
  position: relative;
  max-width: 960px;
  margin: 0 auto 1.75rem;
  padding: clamp(1.15rem, 3vw, 2rem);
  background: var(--park-paper);
  border: 1px solid var(--park-border);
  border-radius: var(--park-radius);
  box-shadow: var(--park-shadow);
  overflow: hidden;
}

.home-intro::before,
.submit-report-intro::before,
.dashboard-intro::before,
.legal-page::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 7px;
  background: linear-gradient(180deg, var(--park-evergreen), var(--park-leaf), var(--park-tan));
}

.home-intro h1,
.submit-report-intro h1,
.dashboard-intro h1,
.legal-page h1 {
  color: var(--park-evergreen);
  font-size: clamp(2rem, 5vw, 3.25rem);
  line-height: 1.06;
  letter-spacing: -0.035em;
  margin: 0 0 1rem;
}

.home-intro p,
.submit-report-intro p,
.dashboard-intro p,
.legal-page p,
.legal-page li {
  color: var(--park-ink);
  font-size: clamp(1rem, 1.3vw, 1.075rem);
  line-height: 1.72;
}

.home-intro p:last-child,
.submit-report-intro p:last-child,
.dashboard-intro p:last-child,
.legal-page p:last-child {
  margin-bottom: 0;
}

.home-intro strong,
.submit-report-intro strong,
.dashboard-intro strong,
.legal-page strong {
  color: var(--park-evergreen);
}

.legal-page h2 {
  color: var(--park-brown);
  font-size: clamp(1.25rem, 2.5vw, 1.65rem);
  line-height: 1.22;
  margin-top: 2rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--park-border);
}

.legal-page ul {
  margin-left: 0;
  padding-left: 1.25rem;
}

.legal-page li + li {
  margin-top: 0.35rem;
}

/* Friendly bulletin-board treatment for common community plugin output. */
.entry-content [class*="community"],
.entry-content [class*="dw-community"],
.entry-content [class*="dw_community"],
.entry-content .dw-community-board,
.entry-content .dw-community-submit,
.entry-content .dw-community-dashboard {
  box-sizing: border-box;
}

.entry-content .dw-community-board,
.entry-content .dw-community-submit,
.entry-content .dw-community-dashboard,
.entry-content [data-dw-community],
.entry-content .community-board,
.entry-content .community-dashboard,
.entry-content .community-submit {
  max-width: 960px;
  margin: 0 auto 2rem;
}

.entry-content .dw-community-board article,
.entry-content .dw-community-board .post,
.entry-content .dw-community-board .card,
.entry-content .dw-community-board .item,
.entry-content .community-board article,
.entry-content .community-board .post,
.entry-content .community-board .card,
.entry-content .community-board .item {
  background: #ffffff;
  border: 1px solid rgba(107, 84, 56, 0.22);
  border-radius: 16px;
  box-shadow: 0 8px 22px rgba(31, 77, 43, 0.075);
  padding: clamp(1rem, 2.5vw, 1.35rem);
}

.entry-content .dw-community-board article + article,
.entry-content .dw-community-board .post + .post,
.entry-content .dw-community-board .card + .card,
.entry-content .dw-community-board .item + .item,
.entry-content .community-board article + article,
.entry-content .community-board .post + .post,
.entry-content .community-board .card + .card,
.entry-content .community-board .item + .item {
  margin-top: 1rem;
}

.entry-content .dw-community-board h2,
.entry-content .dw-community-board h3,
.entry-content .community-board h2,
.entry-content .community-board h3 {
  color: var(--park-evergreen);
}

.entry-content form,
.entry-content .dw-community-submit form,
.entry-content .community-submit form,
.entry-content .dw-community-dashboard form,
.entry-content .community-dashboard form {
  max-width: 960px;
  margin-inline: auto;
  background: #ffffff;
  border: 1px solid rgba(107, 84, 56, 0.22);
  border-radius: 16px;
  box-shadow: 0 8px 22px rgba(31, 77, 43, 0.075);
  padding: clamp(1rem, 2.5vw, 1.5rem);
}

.entry-content label {
  color: var(--park-evergreen);
  font-weight: 700;
}

.entry-content input[type="text"],
.entry-content input[type="email"],
.entry-content input[type="url"],
.entry-content input[type="password"],
.entry-content input[type="search"],
.entry-content textarea,
.entry-content select {
  width: 100%;
  max-width: 100%;
  border: 1px solid rgba(107, 84, 56, 0.35);
  border-radius: 12px;
  background: #fffdf8;
  color: var(--park-ink);
  padding: 0.8rem 0.9rem;
}

.entry-content input:focus,
.entry-content textarea:focus,
.entry-content select:focus {
  outline: 3px solid rgba(47, 107, 63, 0.22);
  border-color: var(--park-leaf);
}

.entry-content button,
.entry-content input[type="submit"],
.entry-content .button,
.entry-content .wp-block-button__link {
  border: 0;
  border-radius: 999px;
  background: var(--park-evergreen);
  color: #ffffff;
  font-weight: 800;
  padding: 0.78rem 1.25rem;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(31, 77, 43, 0.18);
}

.entry-content button:hover,
.entry-content button:focus,
.entry-content input[type="submit"]:hover,
.entry-content input[type="submit"]:focus,
.entry-content .button:hover,
.entry-content .button:focus,
.entry-content .wp-block-button__link:hover,
.entry-content .wp-block-button__link:focus {
  background: var(--park-leaf);
  color: #ffffff;
}

.entry-content .category,
.entry-content .tag,
.entry-content .badge,
.entry-content [class*="badge"],
.entry-content [class*="category"],
.entry-content [class*="tag"] {
  border-radius: 999px;
}

@media (max-width: 700px) {
  .home-intro,
  .submit-report-intro,
  .dashboard-intro,
  .legal-page {
    border-radius: 16px;
    padding: 1.05rem 1rem 1.15rem 1.15rem;
  }

  .home-intro::before,
  .submit-report-intro::before,
  .dashboard-intro::before,
  .legal-page::before {
    width: 5px;
  }

  .entry-content form,
  .entry-content .dw-community-board article,
  .entry-content .dw-community-board .post,
  .entry-content .dw-community-board .card,
  .entry-content .dw-community-board .item,
  .entry-content .community-board article,
  .entry-content .community-board .post,
  .entry-content .community-board .card,
  .entry-content .community-board .item {
    border-radius: 14px;
  }
}


/* === v1.8.33 neutral park-board background refinement === */
body {
  background: #f4f4ef !important;
}

.site-content,
.site-main,
.entry-content {
  background: transparent;
}

.home-intro,
.submit-report-intro,
.dashboard-intro,
.legal-page {
  background: #fffdf8;
  border-color: #ddd7c8;
  box-shadow: 0 4px 14px rgba(31, 77, 43, 0.07);
}

@media (max-width: 700px) {
  body {
    background: #f4f4ef !important;
  }
}


/* === v1.8.36 site-wide independent community notice === */
.site-footer .footer-disclaimer {
  flex: 1 0 100% !important;
  order: 3 !important;
  margin: 4px 0 0 !important;
  padding: 10px 0 0 !important;
  border-top: 1px solid rgba(2, 37, 20, 0.08) !important;
  color: #6b6b6b !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

@media (max-width: 700px) {
  .site-footer .footer-inner,
  .site-footer .dw-container.footer-inner {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .site-footer .footer-disclaimer {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    padding-top: 12px !important;
  }
}


/* === Rugen Park v1.8.38: larger responsive header logo === */
.site-header .main-header-grid {
  min-height: 104px;
  padding-top: 12px;
  padding-bottom: 12px;
}

.site-header .site-brand img,
.site-header .site-brand .custom-logo,
.site-logo img {
  max-height: 88px !important;
  height: auto !important;
  width: auto !important;
}

.site-header .site-brand .custom-logo-link,
.site-header .site-brand .site-logo {
  line-height: 0;
  display: inline-flex;
  align-items: center;
}

@media (max-width: 900px) {
  .site-header .main-header-grid {
    min-height: 78px;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .site-header .site-brand img,
  .site-header .site-brand .custom-logo,
  .site-logo img {
    max-height: 62px !important;
  }
}

@media (max-width: 480px) {
  .site-header .main-header-grid {
    min-height: 70px;
    gap: 10px;
  }

  .site-header .site-brand img,
  .site-header .site-brand .custom-logo,
  .site-logo img {
    max-height: 56px !important;
  }
}


/* === Rugen Park v1.8.39: hosted-by footer credit === */
.site-footer .footer-hosted-by {
  flex: 1 0 100% !important;
  order: 4 !important;
  margin: 4px 0 0 !important;
  color: #6b6b6b !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

.site-footer .footer-hosted-by a {
  color: #2f5d3a !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.site-footer .footer-hosted-by a:hover,
.site-footer .footer-hosted-by a:focus {
  text-decoration: underline !important;
}

@media (max-width: 700px) {
  .site-footer .footer-hosted-by {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
  }
}

