/*
Theme Name: NorCal Dual Sport
Theme URI: https://norcaldualsport.net/
Author: NorCal Dual Sport
Description: A rugged, image-forward community theme for Northern California dual-sport riders. Designed for the NorCal Dual Sport Community plugin and wpForo.
Version: 1.1.2
License: GPL-2.0-or-later
Text Domain: norcal-dualsport
*/
:root{--forest:#16221b;--forest2:#253c2a;--moss:#47683a;--lime:#8eaa47;--orange:#e45e1d;--sand:#f2eee4;--paper:#fff;--ink:#151c18;--muted:#69716b;--line:#dddcd4;--shadow:0 12px 30px rgba(0,0,0,.12);--radius:10px;--content:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#edece6;color:var(--ink);font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.55}a{color:#2f5e36}a:hover{color:var(--orange)}img{max-width:100%;height:auto}.site-wrap{min-height:100vh}.container{width:min(var(--content),calc(100% - 32px));margin:auto}.screen-reader-text{position:absolute;left:-9999px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(13,22,17,.96);color:#fff;border-bottom:1px solid rgba(255,255,255,.09);backdrop-filter:blur(12px)}.header-inner{min-height:76px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;min-width:270px}.brand-mark{width:48px;height:48px;border-radius:50% 50% 45% 45%;background:linear-gradient(150deg,var(--orange),#f5a23c 48%,var(--moss) 49%,var(--forest2));position:relative;box-shadow:inset 0 0 0 3px rgba(255,255,255,.12)}.brand-mark:after{content:'▲';position:absolute;color:#fff;font-size:26px;left:12px;top:6px;text-shadow:8px 7px 0 #253c2a}.brand-copy strong{display:block;font-size:1.1rem;letter-spacing:.04em;text-transform:uppercase}.brand-copy small{display:block;color:#bac6bc;font-size:.72rem;letter-spacing:.05em}.site-nav{margin-left:auto}.site-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px}.site-nav a{display:block;color:#eef2ee;text-decoration:none;padding:.75rem .72rem;border-radius:6px;font-weight:750;font-size:.92rem}.site-nav a:hover,.site-nav .current-menu-item>a{background:rgba(255,255,255,.08);color:#fff}.header-account{display:flex;gap:.45rem}.header-account a{white-space:nowrap}.menu-toggle{display:none;background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:6px;padding:.55rem .7rem;font-size:1.2rem}
.ncds-theme-btn{display:inline-flex;align-items:center;justify-content:center;padding:.78rem 1.05rem;border-radius:6px;text-decoration:none!important;font-weight:850;background:var(--orange);color:#fff!important}.ncds-theme-btn.secondary{background:var(--moss)}.ncds-theme-btn.dark{background:#1a2420}
.hero{min-height:560px;color:#fff;position:relative;background-color:#17231b;background-position:center center;background-size:cover;background-repeat:no-repeat;display:grid;align-items:center;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,18,14,.92) 0%,rgba(11,18,14,.72) 38%,rgba(11,18,14,.2) 72%,rgba(11,18,14,.35) 100%)}.hero:after{content:'';position:absolute;inset:auto 0 0;height:115px;background:linear-gradient(transparent,rgba(9,16,12,.65))}.hero-content{position:relative;z-index:2;max-width:720px;padding:72px 0 88px}.hero-kicker{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.28em;color:#f0b056}.hero h1{font-size:clamp(3.1rem,7vw,6.3rem);line-height:.88;margin:.3rem 0 1rem;text-transform:uppercase;letter-spacing:-.045em;text-shadow:0 3px 12px rgba(0,0,0,.35)}.hero p{font-size:1.15rem;max-width:650px;color:#e8ece8}.hero-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.5rem}.hero-actions a{padding:1rem 1.25rem;font-size:1rem}.hero-note{margin-top:2rem;display:flex;gap:1rem;flex-wrap:wrap;color:#c9d1ca;font-size:.84rem}.hero-note span{display:inline-flex;align-items:center;gap:.35rem}
.quick-links{position:relative;z-index:3;margin-top:-38px}.quick-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fff;border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.quick-card{min-height:125px;position:relative;display:flex;align-items:end;text-decoration:none;color:#fff;overflow:hidden;background:#19231e}.quick-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;opacity:.72;transition:transform .25s ease,opacity .25s ease;image-rendering:auto}.quick-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,rgba(12,18,14,.85))}.quick-card span{position:relative;z-index:2;padding:1rem;font-weight:900;text-transform:uppercase;letter-spacing:.035em}.quick-card:hover img{transform:scale(1.05);opacity:.8}.quick-card:hover{color:#fff}
.site-main{padding:46px 0 70px}.home-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:1.3rem;margin-bottom:1.5rem}.story-card{background:#fff;border-radius:var(--radius);padding:1.4rem;border:1px solid var(--line)}.story-card h2{font-size:2rem;margin:.2rem 0}.story-card p{color:#59615c}.story-photo{border-radius:var(--radius);overflow:hidden;min-height:280px;background:url('assets/images/forest-road-hq-v112.jpg') center center/cover no-repeat;position:relative}.story-photo:after{content:'Dirt roads. Backroads. Camp rides.';position:absolute;left:22px;bottom:18px;color:#fff;font-size:1.35rem;font-weight:900;text-shadow:0 2px 8px #000}
.content-shell{background:#fff;border:1px solid var(--line);border-radius:10px;padding:clamp(1rem,3vw,2rem);box-shadow:0 8px 22px rgba(0,0,0,.04)}.entry-header h1{font-size:clamp(2rem,4vw,3.5rem);margin:.2rem 0 1rem}.entry-meta{color:var(--muted);font-size:.88rem;margin-bottom:1rem}.entry-content{font-size:1.02rem}.entry-content h2,.entry-content h3{line-height:1.15}.entry-thumbnail{margin:-2rem -2rem 2rem}.entry-thumbnail img{width:100%;max-height:560px;object-fit:cover;border-radius:10px 10px 0 0}
.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.post-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.post-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.post-card-body{padding:1rem}.post-card h2{font-size:1.15rem;margin:.2rem 0}.post-card p{color:var(--muted)}
.route-legend-wrap{margin-top:1.4rem;background:#e7e8e2;border:1px solid #d1d5cc;border-radius:10px;padding:1rem}.route-legend-wrap h2{margin:.15rem 0 1rem}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:2rem 0 .8rem}.section-heading h2{margin:0;font-size:1.8rem}.section-heading p{margin:.15rem 0 0;color:var(--muted)}
.site-footer{background:#0f1813;color:#cbd2cc;margin-top:40px}.footer-top{padding:44px 0;display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:2rem}.footer-brand h3{color:#fff;margin:.2rem 0}.footer-brand p{max-width:500px;color:#aab4ac}.footer-links h4{color:#fff;margin-top:0}.footer-links a{color:#cbd2cc;text-decoration:none;display:block;margin:.35rem 0}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:16px 0;color:#909b93;font-size:.83rem;display:flex;justify-content:space-between;gap:1rem}.forest-strip{height:36px;background:linear-gradient(135deg,transparent 75%,#0f1813 0) 0 0/24px 36px repeat-x;margin-top:-35px}

/* Image quality / aspect-ratio fixes */
.hero,.story-photo{image-rendering:auto}
.quick-card{aspect-ratio:2/1;min-height:128px}
.quick-card:nth-child(1) img{object-position:28% 55%}
.quick-card:nth-child(2) img{object-position:38% 42%}
.quick-card:nth-child(3) img{object-position:68% 66%}
.quick-card:nth-child(4) img{object-position:38% 35%}
.quick-card:nth-child(5) img{object-position:66% 58%}
.entry-content img,.wp-block-image img,.wp-block-gallery img,.content-shell img{max-width:100%;height:auto}
.post-card img,.entry-thumbnail img{display:block;width:100%;object-fit:cover;object-position:center}
/* Prevent plugins or old inline attributes from visually stretching community images. */
.ncds-event-thumb img,.ncds-route-image img,.ncds-album-cover img,.ncds-photo-grid img{object-fit:cover!important;object-position:center!important;max-width:100%;}
.ncds-event-thumb img{width:145px!important;height:90px!important}
.ncds-route-image,.ncds-album-cover,.ncds-photo-grid a{overflow:hidden}
.wp-block-button__link{background:var(--moss)}button,input,select,textarea{font-family:inherit}#wpforo #wpforo-wrap{border-radius:10px!important;overflow:hidden!important}.wpforo-forum-info .wpforo-forum-title{font-weight:850!important}
@media(max-width:1040px){.site-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#101a14;padding:12px 16px}.site-nav.open{display:block}.site-nav ul{display:grid}.header-account{margin-left:auto}.menu-toggle{display:block}.quick-grid{grid-template-columns:repeat(3,1fr)}.home-intro{grid-template-columns:1fr}.archive-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.header-inner{min-height:68px}.brand{min-width:0}.brand-copy small{display:none}.brand-mark{width:40px;height:40px}.header-account .register-link{display:none}.hero{min-height:500px}.hero-content{padding:60px 0 80px}.hero h1{font-size:3.35rem}.quick-links{margin-top:-28px}.quick-grid{grid-template-columns:1fr 1fr}.quick-card{min-height:105px}.site-main{padding-top:32px}.archive-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.content-shell{border-radius:0}.container{width:min(var(--content),calc(100% - 20px))}}
