/*
Theme Name: CMN Market Theme
Theme URI: https://craftersmarketnetwork.com/
Author: StoneCreek Foundry
Description: Custom WordPress theme for The Crafter's Market Network with optional VendorHearth Pro integration.
Version: 1.0.0
Text Domain: cmn-market
*/
:root{--cmn-navy:#153a68;--cmn-navy-dark:#0d294c;--cmn-cream:#fbf4df;--cmn-coral:#e5524f;--cmn-green:#6e927b;--cmn-gold:#d3a638;--cmn-ink:#172335;--cmn-white:#fff;--cmn-radius:22px;--cmn-shadow:0 16px 40px rgba(13,41,76,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--cmn-ink);background:#fff;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}a{color:var(--cmn-navy)}img{max-width:100%;height:auto}.cmn-container{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(21,58,104,.1);backdrop-filter:blur(12px)}.header-inner{min-height:118px;display:flex;align-items:center;gap:28px}.site-brand{display:flex;align-items:center;flex:0 0 auto}.custom-logo-link{display:flex;align-items:center}.custom-logo{max-height:96px;width:auto;display:block}.site-title{font-family:Georgia,serif;font-weight:700;text-decoration:none;font-size:1.35rem}.main-nav{margin-left:auto}.main-nav ul{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}.main-nav a{text-decoration:none;font-weight:700;color:var(--cmn-navy-dark)}.header-cta,.cmn-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 20px;background:var(--cmn-coral);color:#fff;text-decoration:none;font-weight:800;border:0}.cmn-btn.secondary{background:var(--cmn-navy)}.cmn-btn.ghost{background:transparent;border:2px solid var(--cmn-navy);color:var(--cmn-navy)}.menu-toggle{display:none;margin-left:auto;border:0;background:var(--cmn-navy);color:#fff;border-radius:10px;padding:10px 13px;font-size:20px}.hero{background:linear-gradient(135deg,var(--cmn-cream),#fff 62%);padding:72px 0;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:58px}.eyebrow{color:var(--cmn-coral);font-weight:900;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem}.hero h1,.section-title{font-family:Georgia,"Times New Roman",serif;color:var(--cmn-navy-dark);line-height:1.05}.hero h1{font-size:clamp(2.7rem,6vw,5.2rem);margin:.2em 0}.hero p{font-size:1.15rem;max-width:700px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-logo{filter:drop-shadow(0 22px 28px rgba(13,41,76,.12))}.section{padding:80px 0}.section.alt{background:#f8f6ef}.section-heading{text-align:center;max-width:760px;margin:0 auto 38px}.section-title{font-size:clamp(2rem,4vw,3.2rem);margin:0 0 12px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.event-card,.feature-card,.post-card{background:#fff;border:1px solid rgba(21,58,104,.1);border-radius:var(--cmn-radius);padding:26px;box-shadow:var(--cmn-shadow)}.event-card.featured{border-top:6px solid var(--cmn-gold)}.event-date{color:var(--cmn-coral);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}.event-card h3{font-family:Georgia,serif;color:var(--cmn-navy-dark);font-size:1.6rem;margin:8px 0}.event-meta{color:#566476}.status{display:inline-flex;border-radius:999px;padding:6px 10px;font-weight:800;font-size:.78rem;margin:14px 0;background:#e8f3ec;color:#315f42}.status.closed{background:#f1f1f1;color:#666}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature-icon{font-size:2rem}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.about-panel{background:var(--cmn-navy-dark);color:#fff;padding:38px;border-radius:var(--cmn-radius)}.about-panel h3{font-family:Georgia,serif;font-size:2rem;margin-top:0}.cta-band{background:var(--cmn-navy);color:#fff;padding:58px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-inner h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3rem);margin:0}.site-footer{background:#081f3c;color:#dce6f1;padding:58px 0 28px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}.site-footer a{color:#fff}.footer-tagline{max-width:560px}.copyright{border-top:1px solid rgba(255,255,255,.14);margin-top:40px;padding-top:20px;font-size:.9rem}.content-area{padding:60px 0}.entry-title{font-family:Georgia,serif;color:var(--cmn-navy-dark);font-size:clamp(2.2rem,5vw,4rem)}.cmn-empty{text-align:center;padding:32px;border:2px dashed rgba(21,58,104,.2);border-radius:18px}.vh-note{font-size:.88rem;color:#657487;margin-top:18px}@media(max-width:900px){.hero-grid,.about-grid{grid-template-columns:1fr}.hero-logo{max-width:620px;margin:auto}.cards,.feature-grid{grid-template-columns:1fr 1fr}.main-nav{display:none;position:absolute;top:118px;left:0;right:0;background:#fff;padding:22px 20px;box-shadow:0 20px 30px rgba(0,0,0,.08)}.main-nav.open{display:block}.main-nav ul{display:block}.main-nav li{margin:12px 0}.menu-toggle{display:block}.header-cta{display:none}.cta-inner{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.cmn-container{width:min(100% - 28px,1180px)}.hero,.section{padding:54px 0}.cards,.feature-grid,.footer-grid{grid-template-columns:1fr}.hero h1{font-size:2.65rem}.custom-logo{max-height:78px;max-width:220px}.header-inner{min-height:92px}.main-nav{top:92px}}

.next-market{background:var(--cmn-navy-dark);padding:28px 0}.next-market-card{display:flex;align-items:center;justify-content:space-between;gap:30px;color:#fff}.next-market-card h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3rem);margin:4px 0 8px;color:#fff}.next-market-card p{margin:0}.next-market .eyebrow{color:var(--cmn-gold)}@media(max-width:700px){.next-market-card{align-items:flex-start;flex-direction:column}}


/* v0.1.4 — robust multi-level primary navigation */
@media (min-width:901px){
  .header-inner{position:relative}
  .main-nav{margin-left:auto;min-width:0}
  .main-nav > ul{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0}
  .main-nav li{position:relative;margin:0}
  .main-nav > ul > li > a{display:block;padding:29px 0;white-space:nowrap}
  .main-nav .sub-menu{display:none;position:absolute;z-index:1000;top:calc(100% - 12px);left:-18px;width:250px;margin:0;padding:10px;background:#fff;border:1px solid rgba(21,58,104,.10);border-radius:14px;box-shadow:0 18px 45px rgba(13,41,76,.16);list-style:none}
  .main-nav .sub-menu li{display:block;width:100%}
  .main-nav .sub-menu a{display:block;padding:10px 12px;border-radius:9px;line-height:1.3;white-space:normal;font-size:.94rem}
  .main-nav .sub-menu a:hover,.main-nav .sub-menu a:focus{background:var(--cmn-cream);color:var(--cmn-navy-dark)}
  .main-nav li:hover > .sub-menu,.main-nav li:focus-within > .sub-menu{display:block}
  .main-nav .sub-menu .sub-menu{top:-10px;left:calc(100% + 8px)}
  .main-nav > ul > li:last-child > .sub-menu,.main-nav > ul > li:nth-last-child(2) > .sub-menu{left:auto;right:-18px}
  .main-nav > ul > li:last-child > .sub-menu .sub-menu,.main-nav > ul > li:nth-last-child(2) > .sub-menu .sub-menu{left:auto;right:calc(100% + 8px)}
  .main-nav .menu-item-has-children > a::after{content:'▾';display:inline-block;margin-left:6px;font-size:.68em;vertical-align:middle}
  .main-nav .sub-menu .menu-item-has-children > a::after{content:'›';float:right;font-size:1em}
  .submenu-toggle{display:none!important}
}
@media (max-width:900px){
  .main-nav{max-height:calc(100vh - 84px);overflow-y:auto}
  .main-nav ul,.main-nav .sub-menu{list-style:none;margin:0;padding:0}
  .main-nav li{position:relative;margin:0;border-bottom:1px solid rgba(21,58,104,.08)}
  .main-nav a{display:block;padding:11px 44px 11px 4px;line-height:1.35}
  .main-nav .sub-menu{display:none;padding:0 0 8px 14px;margin-left:8px;border-left:2px solid rgba(21,58,104,.12)}
  .main-nav li.submenu-open > .sub-menu{display:block}
  .submenu-toggle{position:absolute;right:0;top:5px;width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:var(--cmn-navy-dark);font-size:20px;font-weight:800;line-height:1;cursor:pointer}
  .submenu-toggle::before{content:'+'}
  .submenu-open > .submenu-toggle::before{content:'−'}
}
@media (max-width:620px){.main-nav{max-height:calc(100vh - 72px)}}

/* v0.1.5 — keep the CTA Vendor Dashboard button compact and on one line */
.cta-inner > div{min-width:0;flex:1 1 auto}
.cta-inner > .cmn-btn{flex:0 0 auto;white-space:nowrap;min-width:max-content;padding:13px 24px;line-height:1.2}
@media(max-width:900px){
  .cta-inner > .cmn-btn{align-self:flex-start;width:auto;max-width:100%}
}


/* v1.0.0 — production polish */
.screen-reader-text{position:absolute!important;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{clip:auto!important;width:auto;height:auto;margin:0;overflow:visible;top:10px;left:10px;z-index:99999;padding:12px 16px;background:#fff;color:var(--cmn-navy-dark);border-radius:8px;box-shadow:var(--cmn-shadow)}
.announcement-bar{background:var(--cmn-coral);color:#fff;text-align:center;font-weight:800;font-size:.94rem}.announcement-bar a{display:block;color:#fff;text-decoration:none;padding:9px 20px}.announcement-bar a:hover,.announcement-bar a:focus{text-decoration:underline}.announcement-bar .announcement-inner{padding:9px 20px}
a:focus-visible,button:focus-visible{outline:3px solid var(--cmn-gold);outline-offset:3px}.cmn-btn,.header-cta,.event-card{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.cmn-btn:hover,.header-cta:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(13,41,76,.16)}
.event-card{display:flex;flex-direction:column;overflow:hidden;padding:0}.event-card:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(13,41,76,.14)}.event-card-body{padding:26px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.event-card-body .cmn-btn{margin-top:auto}.event-image{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#eef0eb}.event-card.featured{border-top:0;box-shadow:0 0 0 2px var(--cmn-gold),var(--cmn-shadow)}.event-card.featured .event-image{border-top:6px solid var(--cmn-gold)}
.application-card{border-top:4px solid var(--cmn-green)}.application-card .status{margin:0 0 12px}.cards > .cmn-empty{grid-column:1/-1;width:100%}.section-heading p{color:#5d6878}.feature-card h3{color:var(--cmn-navy-dark)}
.footer-brand-logo{display:block;max-width:260px;max-height:110px;width:auto;margin-bottom:18px;filter:brightness(0) invert(1);opacity:.96}.footer-heading{display:block;color:#fff;margin-bottom:12px}.footer-links{list-style:none;margin:10px 0 0;padding:0}.footer-links li{margin:7px 0}.footer-links a{text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-social{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.footer-social a{display:inline-flex;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:7px 11px;text-decoration:none;font-size:.9rem}.footer-social a:hover{background:rgba(255,255,255,.08)}
@media(max-width:900px){.custom-logo{max-width:min(330px,44vw)}.header-inner{gap:18px}.main-nav.open{border-top:1px solid rgba(21,58,104,.08)}}
@media(max-width:620px){.announcement-bar{font-size:.86rem}.custom-logo{max-width:235px}.event-card-body{padding:22px}.footer-brand-logo{max-width:220px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cmn-btn,.header-cta,.event-card{transition:none}}
