:root{
  --moss: #5b7d2c;
  --moss-dark: #3e5a1c;
  --moss-darker: #34481c;
  --moss-light: #8aa860;
  --cream: #f7f6f1;
  --card: #ffffff;
  --ink: #2b2b27;
  --ink-soft: #5c5c54;
  --line: #e4e1d6;
  --accent-price: #c4501f;
  --font-display: 'Manrope', system-ui, sans-serif;
  --font-body: 'Source Sans 3', system-ui, sans-serif;
  --radius-s: 6px;
  --radius-m: 10px;
  --max-width: 1180px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:var(--font-body);background:var(--cream);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
img{max-width:100%;display:block;}
button{font-family:inherit;cursor:pointer;}
.utility-bar{background:var(--moss-darker);color:#d9e0c8;font-size:0.78rem;}
.utility-inner{max-width:var(--max-width);margin:0 auto;padding:6px 24px;display:flex;justify-content:space-between;align-items:center;}
.locale-select-wrap{display:inline-flex;align-items:center;gap:4px;cursor:pointer;}
.locale-icon{font-size:0.85em;}
.locale-select{background:transparent;border:none;color:#d9e0c8;font-size:0.78rem;font-family:inherit;cursor:pointer;padding:2px 0;}
.locale-select:hover,.locale-select:focus{color:#fff;}
.locale-select option{color:var(--ink);}
.locale-select:disabled{opacity:0.6;cursor:wait;}
.locale-sep{margin:0 8px;opacity:0.5;}
.account{display:flex;align-items:center;gap:4px;cursor:pointer;}
.site-header{background:var(--card);border-bottom:1px solid var(--line);}
.header-inner{max-width:var(--max-width);margin:0 auto;padding:22px 24px 18px;display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;}
.logo-link{display:inline-flex;}
.logo-img{height:90px;width:auto;}
.tagline{font-family:var(--font-display);font-size:0.72rem;font-weight:700;letter-spacing:0.12em;color:var(--ink-soft);margin:0 0 6px 2px;text-transform:uppercase;}
.main-nav{background:var(--moss-dark);border-bottom:3px solid var(--moss-darker);}
.nav-inner{max-width:var(--max-width);margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;}
.nav-left,.nav-right{display:flex;align-items:center;gap:4px;}
.nav-link{display:inline-block;padding:14px 16px;font-family:var(--font-display);font-size:0.82rem;font-weight:700;letter-spacing:0.04em;color:#eef0e2;transition:background 0.15s ease;}
.nav-link:hover{background:rgba(255,255,255,0.08);}
.nav-cta{background:var(--moss-light);color:var(--moss-darker);border-radius:var(--radius-s);margin:8px 0;padding:8px 14px;}
.nav-cta:hover{background:#9bb873;}
.nav-burger{background:none;border:none;display:flex;flex-direction:column;gap:4px;padding:18px 14px;}
.nav-burger span{width:20px;height:2px;background:#eef0e2;display:block;}
.page-shell{max-width:var(--max-width);margin:0 auto;padding:28px 24px 56px;display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:start;}
.widget{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-m);padding:18px;margin-bottom:20px;}
.widget-title{font-family:var(--font-display);font-size:0.78rem;font-weight:800;letter-spacing:0.08em;color:var(--moss-darker);margin:0 0 14px;text-transform:uppercase;}
.search-form{display:flex;flex-direction:column;gap:10px;}
.search-form input{border:1px solid var(--line);border-radius:var(--radius-s);padding:10px 12px;font-size:0.9rem;background:var(--cream);}
.search-form button{background:var(--moss-darker);color:#fff;border:none;border-radius:var(--radius-s);padding:10px 14px;font-weight:600;font-size:0.85rem;}
.location-list li{border-bottom:1px solid var(--line);}
.location-list li:last-child{border-bottom:none;}
.location-check{display:flex;align-items:center;gap:8px;padding:9px 2px;font-size:0.9rem;font-weight:600;cursor:pointer;}
.location-check input{width:15px;height:15px;accent-color:var(--moss-dark);cursor:pointer;}
.location-check span{flex:1;}
.location-more{display:inline-block;margin-top:10px;font-size:0.82rem;font-weight:700;color:var(--moss-dark);}
.location-more:hover{color:var(--moss-darker);}
.category-list li{border-bottom:1px solid var(--line);}
.category-list li:last-child{border-bottom:none;}
.category-list a{display:flex;justify-content:space-between;align-items:center;padding:10px 2px;font-size:0.92rem;font-weight:600;color:var(--ink);}
.category-list a:hover{color:var(--moss-dark);}
.tip-widget{background:var(--moss-darker);color:#e7ecd9;border:none;}
.tip-widget p{margin:0;font-size:0.88rem;line-height:1.55;}
.newsletter-widget p{font-size:0.85rem;color:var(--ink-soft);margin:0 0 14px;}
.newsletter-form{display:flex;flex-direction:column;gap:10px;}
.newsletter-form input{border:1px solid var(--line);border-radius:var(--radius-s);padding:10px 12px;font-size:0.9rem;}
.newsletter-form button{background:var(--moss);color:#fff;border:none;border-radius:var(--radius-s);padding:10px 14px;font-weight:700;font-size:0.85rem;}
.content-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:12px;}
.content-head h1{font-family:var(--font-display);font-size:1.2rem;font-weight:800;letter-spacing:0.04em;color:var(--ink);margin:0;}
.add-free-btn{background:var(--moss-darker);color:#fff;font-weight:700;font-size:0.85rem;padding:10px 18px;border-radius:var(--radius-s);white-space:nowrap;}
.add-free-btn:hover{background:var(--moss-dark);}
.listing{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-m);padding:20px;margin-bottom:20px;display:grid;grid-template-columns:160px 1fr;gap:20px;}
.listing[hidden]{display:none;}
.listing-media img{border-radius:var(--radius-s);width:160px;height:160px;object-fit:cover;}
.no-photo{width:160px;height:160px;background:#eceadd;border-radius:var(--radius-s);display:flex;align-items:center;justify-content:center;font-size:2rem;}
.listing-meta{display:flex;align-items:center;gap:8px;font-size:0.82rem;color:var(--ink-soft);margin-bottom:6px;flex-wrap:wrap;}
.meta-cat{color:var(--moss-dark);font-weight:700;}
.meta-loc{color:var(--ink-soft);padding-left:8px;border-left:1px solid var(--line);}
.price-label{margin-left:auto;}
.price{font-weight:800;color:var(--accent-price);font-size:1rem;}
.listing-title{font-family:var(--font-display);font-size:1.08rem;font-weight:700;margin:0 0 8px;}
.listing-title a:hover{color:var(--moss-dark);}
.listing-desc{font-size:0.92rem;color:var(--ink-soft);margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.listing-foot{display:flex;justify-content:space-between;align-items:center;font-size:0.82rem;}
.added-date{color:var(--ink-soft);}
.more-link{font-weight:700;color:var(--moss-dark);}
.more-link:hover{color:var(--moss-darker);}
.empty-state{background:var(--card);border:1px dashed var(--line);border-radius:var(--radius-m);padding:28px 20px;text-align:center;color:var(--ink-soft);font-size:0.95rem;}
.empty-state a{color:var(--moss-dark);font-weight:700;}
.loading{text-align:center;padding:28px 20px;color:var(--ink-soft);font-size:0.95rem;}
.pagination{display:flex;gap:8px;justify-content:center;margin-top:24px;}
.page-btn{padding:8px 14px;border-radius:var(--radius-s);border:1px solid var(--line);background:var(--card);font-weight:700;font-size:0.85rem;}
.page-btn.active{background:var(--moss-darker);color:#fff;border-color:var(--moss-darker);}
.site-footer{background:var(--moss-darker);color:#dde3cc;margin-top:40px;}
.footer-inner{max-width:var(--max-width);margin:0 auto;padding:32px 24px;text-align:center;}
.footer-logo{height:36px;margin:0 auto 14px;background:#fff;padding:6px 14px;border-radius:var(--radius-s);}
.footer-inner p{font-size:0.85rem;max-width:560px;margin:0 auto 8px;opacity:0.9;}
.copyright{font-size:0.75rem;opacity:0.7;margin-top:14px;}
@media(max-width:880px){.page-shell{grid-template-columns:1fr;}.listing{grid-template-columns:1fr;}.listing-media img{width:100%;height:220px;}.nav-inner{flex-wrap:wrap;}.nav-left,.nav-right{flex-wrap:wrap;}}
@media(max-width:540px){.header-inner{padding:18px 16px 14px;}.logo-img{height:56px;}.tagline{font-size:0.62rem;}.utility-inner{flex-direction:column;gap:4px;align-items:flex-start;padding:8px 16px;}.page-shell{padding:20px 16px 40px;}}
.value-props{background:var(--moss-darker);padding:10px 24px;}
.value-props-inner{max-width:var(--max-width);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.vp h3{font-family:var(--font-display);font-size:0.72rem;font-weight:700;letter-spacing:0.04em;color:var(--moss-light);margin:0;white-space:nowrap;}
.vp p{display:none;}
@media(max-width:880px){.value-props-inner{flex-direction:column;align-items:flex-start;gap:8px;}.vp h3{white-space:normal;}}
