/*
Theme Name: CMM Mobilnost 2.0
Theme URI: https://mobilnost.si/
Author: Center mobilnosti Maribor
Description: Prikazni sloj za mobilnost.si 2.0 nad cmm-core.
Version: 0.3.5-sprint3.1-wayfinding-core
Text Domain: cmm-theme-v2
*/
:root{--cmm-asphalt:#17201c;--cmm-asphalt-soft:#51605a;--cmm-green-dark:#174b38;--cmm-green:#2f7d59;--cmm-teal:#0f6e72;--cmm-amber:#f2b84b;--cmm-chalk:#f4f6f1;--cmm-soft:#eef4ed;--cmm-white:#fff;--cmm-border:#dbe4dd;--cmm-danger:#914531;--cmm-radius:18px;--cmm-radius-sm:12px;--cmm-wrap:1180px;--cmm-shadow:0 18px 45px rgba(23,32,28,.09);--cmm-focus:0 0 0 3px rgba(47,125,89,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cmm-chalk);color:var(--cmm-asphalt);font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.62;font-weight:400;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(2.9rem,6.2vw,6rem);font-weight:800;margin-bottom:20px}h2{font-size:clamp(2rem,3.4vw,3.45rem);font-weight:800;margin-bottom:14px}h3{font-size:1.18rem;font-weight:750;margin-bottom:10px}p{margin-bottom:1rem}.cmm-wrap{max-width:var(--cmm-wrap);margin:0 auto;padding:0 24px}.cmm-reading-wrap{max-width:900px}.cmm-main{min-height:60vh}.cmm-section{padding:82px 0}.cmm-section--white{background:#fff}.cmm-section--soft{background:var(--cmm-soft)}.cmm-section--dark{background:var(--cmm-asphalt);color:#fff}.cmm-section--teal{background:linear-gradient(135deg,var(--cmm-green-dark),var(--cmm-teal));color:#fff}.cmm-section--tight{padding:28px 0}.cmm-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:13px;font-size:.72rem;line-height:1.1;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--cmm-green-dark)}.cmm-section--teal .cmm-eyebrow,.cmm-section--dark .cmm-eyebrow{color:#cee5d8}.cmm-lede{font-size:clamp(1.12rem,2vw,1.45rem);line-height:1.55;color:var(--cmm-asphalt-soft);max-width:66ch}.cmm-section--teal .cmm-lede,.cmm-section--dark .cmm-lede{color:#e4eee9}.cmm-icon{width:24px;height:24px;display:inline-block;vertical-align:middle;flex:0 0 auto}.cmm-icon--inline{width:17px;height:17px;margin-left:5px}.cmm-card-icon{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--cmm-soft);color:var(--cmm-green-dark);margin-bottom:18px}.cmm-card-icon .cmm-icon{width:25px;height:25px}
:focus-visible{outline:0;box-shadow:var(--cmm-focus);border-radius:8px}.cmm-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border:0;border-radius:999px;padding:13px 22px;background:var(--cmm-amber);color:#181d1a;font-weight:700;text-decoration:none;transition:.16s ease}.cmm-btn:hover{transform:translateY(-1px);filter:saturate(1.05)}.cmm-btn--compact{min-height:38px;padding:9px 15px;font-size:.88rem}.cmm-btn--full{width:100%;margin-top:18px}.cmm-btn--dark{background:var(--cmm-green-dark);color:#fff}.cmm-inline-link{display:inline-flex;align-items:center;gap:7px;color:var(--cmm-green-dark);font-weight:750}.cmm-inline-link:after{content:"→";font-weight:800}.cmm-link-subtle{color:var(--cmm-asphalt-soft);font-size:.9rem;font-weight:650;text-decoration:underline;text-underline-offset:3px}
/* Header */
.cmm-site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--cmm-border)}.cmm-header-inner{display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:center;min-height:76px}.cmm-brand{display:inline-flex;align-items:center;gap:11px;font-weight:800}.cmm-brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--cmm-green-dark);color:#fff}.cmm-brand-mark .cmm-icon{width:24px;height:24px}.cmm-brand strong{display:block;font-size:1.04rem;letter-spacing:-.025em}.cmm-brand small{display:block;margin-top:1px;font-size:.7rem;font-weight:700;color:var(--cmm-asphalt-soft)}.cmm-primary-nav ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:4px}.cmm-primary-nav a{display:block;padding:10px 12px;border-radius:999px;font-size:.9rem;font-weight:650;color:#2f3934}.cmm-primary-nav a:hover,.cmm-primary-nav a:focus-visible{background:var(--cmm-soft);color:var(--cmm-green-dark)}.cmm-header-actions{display:flex;align-items:center;gap:10px}.cmm-header-status{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 12px;border:1px solid var(--cmm-border);border-radius:999px;background:#fff;font-size:.82rem;font-weight:750;white-space:nowrap}.cmm-status-dot{width:8px;height:8px;border-radius:50%;background:var(--cmm-green)}.is-closed .cmm-status-dot,.cmm-open-badge--closed .cmm-status-dot{background:var(--cmm-danger)}.cmm-menu-toggle{display:none;background:#fff;border:1px solid var(--cmm-border);border-radius:999px;padding:9px 12px;font-weight:700}.cmm-menu-lines{width:18px;height:12px;margin-left:8px;display:inline-block;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative}.cmm-menu-lines:before{content:"";position:absolute;left:0;right:0;top:4px;border-top:2px solid currentColor}
@media(max-width:980px){.cmm-header-inner{grid-template-columns:auto auto;justify-content:space-between}.cmm-menu-toggle{display:inline-flex;align-items:center}.cmm-primary-nav{display:none;grid-column:1/-1;width:100%;padding-bottom:14px}.cmm-primary-nav.is-open{display:block}.cmm-primary-nav ul{display:grid;gap:6px;justify-content:stretch}.cmm-primary-nav a{background:var(--cmm-chalk);padding:12px 14px}.cmm-header-actions{grid-column:1/-1;justify-content:space-between;padding-bottom:14px}.cmm-header-status{font-size:.78rem}.cmm-header-actions .cmm-btn{display:none}}
/* Hero */
.cmm-hero{padding:112px 0 94px;text-align:center;background:radial-gradient(circle at 50% 0,#fff 0,#f6f8f4 38%,var(--cmm-chalk) 76%)}.cmm-hero-inner{max-width:980px}.cmm-hero h1{margin-left:auto;margin-right:auto}.cmm-hero .cmm-lede{margin:0 auto}.cmm-search-form{display:flex;max-width:790px;margin:34px auto 0;background:#fff;border:1px solid var(--cmm-border);border-radius:16px;padding:8px;box-shadow:var(--cmm-shadow)}.cmm-search-form label{position:absolute;clip:rect(1px,1px,1px,1px)}.cmm-search-form input{flex:1;border:0;background:transparent;padding:14px 16px;font:inherit;font-weight:500;min-width:0}.cmm-search-form input:focus{outline:0}.cmm-search-form button{border:0;border-radius:11px;padding:0 24px;background:var(--cmm-green-dark);color:#fff;font-weight:700}
/* Section headers */
.cmm-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px}.cmm-section-head-copy{max-width:760px}.cmm-section-head p{margin:.65rem 0 0;color:var(--cmm-asphalt-soft)}
/* Grids/cards */
.cmm-grid{display:grid;gap:18px}.cmm-grid--fit{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.cmm-grid--1{max-width:600px}.cmm-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.cmm-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.cmm-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.cmm-grid--4,.cmm-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.cmm-grid--4,.cmm-grid--3,.cmm-grid--2{grid-template-columns:1fr}.cmm-section{padding:58px 0}.cmm-wrap{padding:0 18px}}
.cmm-card{background:#fff;border:1px solid var(--cmm-border);border-radius:var(--cmm-radius);padding:25px;min-height:100%;display:flex;flex-direction:column;position:relative;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.cmm-card:hover{transform:translateY(-3px);border-color:#a5b8ac;box-shadow:var(--cmm-shadow)}.cmm-card h3 a:after{content:"";position:absolute;inset:0;border-radius:inherit}.cmm-card p{color:var(--cmm-asphalt-soft);margin:8px 0 18px}.cmm-card .cmm-inline-link{margin-top:auto;position:relative;z-index:2}.cmm-card-arrow{margin-top:auto;padding-top:18px;color:var(--cmm-green-dark)}.cmm-card-arrow .cmm-icon{width:19px;height:19px}.cmm-card-meta{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 13px}.cmm-chip{display:inline-flex;padding:5px 9px;border:1px solid var(--cmm-border);border-radius:999px;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em;background:#fff;color:#36413c}.cmm-card-price{font-size:.88rem;font-weight:800;color:var(--cmm-green-dark);margin-top:4px}.cmm-card-actions{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:16px}.cmm-task-card{padding-top:24px;min-height:160px}.cmm-task-index{position:absolute;top:19px;right:21px;font-size:.7rem;font-weight:800;letter-spacing:.08em;color:#81908a}.cmm-task-grid h3{font-size:1.13rem;max-width:15ch}.cmm-mode-card{min-height:150px}.cmm-destination-card{min-height:190px}.cmm-event-card .cmm-alert-type{margin-bottom:12px}
/* Alerts */
.cmm-alert-list{display:grid;gap:12px;margin-bottom:28px}.cmm-alert{background:#fff;border:1px solid var(--cmm-border);border-radius:14px;padding:18px 20px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}.cmm-alert--important,.cmm-alert--critical{border-left:5px solid var(--cmm-amber);background:#fff9e8}.cmm-alert--critical{border-left-color:var(--cmm-danger)}.cmm-alert-type{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--cmm-green-dark)}.cmm-alert-type .cmm-icon{width:18px;height:18px}.cmm-alert h3{font-size:1.08rem;margin:0}.cmm-alert p{margin:4px 0 0;color:var(--cmm-asphalt-soft)}.cmm-events-grid{margin-top:22px}
/* Detail */
.cmm-page-hero{padding:70px 0 50px;border-bottom:1px solid var(--cmm-border);background:#f7f8f5}.cmm-page-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:56px;align-items:start}.cmm-hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px}.cmm-breadcrumbs{font-size:.78rem;font-weight:650;color:#69716d;margin-bottom:20px}.cmm-breadcrumbs a{color:var(--cmm-green-dark)}.cmm-content{font-size:1.04rem;max-width:790px;line-height:1.76}.cmm-content>*:first-child{margin-top:0}.cmm-content h2,.cmm-content h3{margin-top:2em;margin-bottom:.7em}.cmm-content h2{font-size:2rem}.cmm-content h3{font-size:1.35rem}.cmm-content p{margin-bottom:1.25em}.cmm-content a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;color:var(--cmm-green-dark)}.cmm-content ul,.cmm-content ol{padding-left:1.4rem}.cmm-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start}.cmm-detail-box,.cmm-key-card{background:#fff;border:1px solid var(--cmm-border);border-radius:var(--cmm-radius);padding:23px;margin-bottom:16px}.cmm-key-card{box-shadow:var(--cmm-shadow)}.cmm-key-card-head{padding-bottom:15px;border-bottom:1px solid var(--cmm-border);margin-bottom:4px}.cmm-key-card-head h2{font-size:1.3rem}.cmm-key-list{display:grid}.cmm-key-row{display:grid;grid-template-columns:118px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--cmm-border);font-size:.92rem}.cmm-key-row:last-child{border-bottom:0}.cmm-key-row>span:first-child{display:inline-flex;align-items:center;gap:7px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#6f7d76}.cmm-key-row .cmm-icon{width:17px;height:17px}.cmm-status-note{padding:15px 17px;background:#fff6d9;border-left:4px solid var(--cmm-amber);border-radius:0 9px 9px 0;margin-top:20px;font-weight:600}.cmm-source-notice{display:flex;gap:14px;padding:19px;background:#f0f4ef;border:1px solid var(--cmm-border);border-radius:14px;margin-top:18px}.cmm-source-notice p{margin:0 0 8px}.cmm-source-notice a{font-weight:800;color:var(--cmm-green-dark)}.cmm-source-notice-icon{color:var(--cmm-green-dark)}.cmm-provider-box p{color:var(--cmm-asphalt-soft)}.cmm-related-block+.cmm-related-block{margin-top:34px}.cmm-related-block>h3{margin-bottom:15px;font-size:1.18rem}.cmm-mini-list{display:grid}.cmm-mini-list a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--cmm-border);font-size:.92rem;font-weight:700}.cmm-mini-list a:last-child{border-bottom:1px solid var(--cmm-border)}.cmm-quick-answer-section{padding:34px 0 0}.cmm-quick-answer{background:var(--cmm-green-dark);color:#fff;border-radius:18px;padding:32px 36px}.cmm-quick-answer .cmm-eyebrow{color:#cfe0d5}.cmm-quick-answer p{font-size:clamp(1.18rem,2.3vw,1.55rem);font-weight:650;line-height:1.52;margin:0;max-width:58ch}.cmm-faq details{border-top:1px solid var(--cmm-border);padding:16px 0}.cmm-faq details:last-child{border-bottom:1px solid var(--cmm-border)}.cmm-faq summary{cursor:pointer;font-weight:800}.cmm-faq .answer{padding-top:11px;color:var(--cmm-asphalt-soft)}
/* Hours/contact/status */
.cmm-hours{border-top:1px solid var(--cmm-border);margin-top:6px}.cmm-hours-row{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--cmm-border);font-size:.9rem}.cmm-hours-row strong{font-weight:800}.cmm-hours--dark{border-color:#46504b}.cmm-hours--dark .cmm-hours-row{border-color:#3f4844;color:#dbe5df}.cmm-open-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#e5f2e9;color:var(--cmm-green-dark);border-radius:999px;font-size:.8rem;font-weight:800}.cmm-open-badge--closed{background:#f5e6e1;color:#7c402d}.cmm-ask{text-align:center}.cmm-ask-inner{max-width:780px}.cmm-ask p{max-width:58ch;margin:16px auto 25px;color:#dce8e3}
/* Footer */
.cmm-site-footer{background:var(--cmm-asphalt);color:#fff;padding:70px 0 26px}.cmm-footer-contact{display:grid;grid-template-columns:1fr 420px;gap:60px;align-items:start;padding-bottom:54px;border-bottom:1px solid #3b4540;margin-bottom:42px}.cmm-footer-contact h2{color:#fff}.cmm-footer-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}.cmm-footer-status small{color:#b9c1bc;font-weight:650}.cmm-contact-list{display:grid;gap:9px;margin-top:22px}.cmm-contact-list a,.cmm-contact-list span{display:inline-flex;align-items:center;gap:9px;color:#e8eee9;font-weight:650}.cmm-contact-list .cmm-icon{width:19px;height:19px}.cmm-footer-grid{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:34px}.cmm-brand--footer .cmm-brand-mark{background:#fff;color:var(--cmm-green-dark)}.cmm-brand--footer small{color:#b9c1bc}.cmm-footer-col h3{font-size:.92rem;margin-bottom:13px;color:#fff}.cmm-footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}.cmm-footer-col a{color:#cdd6d1;font-size:.9rem}.cmm-footer-col a:hover{color:#fff}.cmm-footer-bottom{border-top:1px solid #3b4540;margin-top:38px;padding-top:20px;display:flex;justify-content:space-between;gap:16px;color:#aeb8b2;font-size:.82rem}
/* WP / responsive */
.alignwide{max-width:var(--cmm-wrap);margin-inline:auto}.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}@media(max-width:980px){.cmm-page-hero-grid,.cmm-detail-layout,.cmm-footer-contact{grid-template-columns:1fr}.cmm-key-card{max-width:620px}.cmm-footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){h1{font-size:clamp(2.3rem,13vw,3.5rem)}.cmm-hero{padding:66px 0 54px}.cmm-search-form{display:grid}.cmm-search-form button{padding:13px 18px}.cmm-section-head{display:block}.cmm-section-head>.cmm-inline-link{display:inline-flex;margin-top:14px}.cmm-alert{grid-template-columns:1fr}.cmm-footer-grid{grid-template-columns:1fr}.cmm-footer-bottom{display:block}.cmm-footer-bottom>*{display:block;margin-top:6px}.cmm-key-row{grid-template-columns:1fr;gap:4px}.cmm-quick-answer{padding:24px}.cmm-page-hero{padding:48px 0 36px}.cmm-card{padding:22px}}


/* ==========================================================
   CMM Wayfinding System — Sprint 3.1 review candidate
   Large orientation pictograms + compact utility icons.
   ========================================================== */
:root{
 --cmm-wf-bike:#1f6a4d;
 --cmm-wf-transit:#245c57;
 --cmm-wf-walk:#536b45;
 --cmm-wf-car:#4d5b57;
 --cmm-wf-multi:#375f6a;
 --cmm-wf-neutral:var(--cmm-green-dark);
}
.cmm-wayfinding-grid{gap:16px}
.cmm-wayfinding-card{
 --cmm-wayfinding-accent:var(--cmm-wf-neutral);
 display:flex;flex-direction:column;min-height:268px;padding:26px 26px 22px;
 background:#fff;border:1px solid var(--cmm-border);border-radius:var(--cmm-radius);
 color:var(--cmm-asphalt);text-decoration:none;position:relative;overflow:hidden;
 transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.cmm-wayfinding-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--cmm-wayfinding-accent);opacity:.9}
.cmm-wayfinding-card:hover{transform:translateY(-3px);border-color:#9eafa5;box-shadow:var(--cmm-shadow)}
.cmm-wayfinding-card:focus-visible{outline:3px solid var(--cmm-amber);outline-offset:3px}
.cmm-wayfinding-card--bike{--cmm-wayfinding-accent:var(--cmm-wf-bike)}
.cmm-wayfinding-card--transit{--cmm-wayfinding-accent:var(--cmm-wf-transit)}
.cmm-wayfinding-card--walk{--cmm-wayfinding-accent:var(--cmm-wf-walk)}
.cmm-wayfinding-card--car{--cmm-wayfinding-accent:var(--cmm-wf-car)}
.cmm-wayfinding-card--multi{--cmm-wayfinding-accent:var(--cmm-wf-multi)}
.cmm-wayfinding-pictogram{display:flex;align-items:center;justify-content:flex-start;color:var(--cmm-wayfinding-accent);margin-bottom:22px}
.cmm-pictogram{width:76px;height:76px;display:block;overflow:visible}
.cmm-wayfinding-copy{display:block}
.cmm-wayfinding-copy h3{font-size:1.18rem;line-height:1.24;margin:0 0 8px;letter-spacing:-.018em}
.cmm-wayfinding-secondary{display:block;color:var(--cmm-asphalt-soft);font-size:.86rem;line-height:1.45;max-width:27ch}
.cmm-wayfinding-action{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:21px;color:var(--cmm-green-dark);font-size:.82rem;font-weight:750}
.cmm-wayfinding-action .cmm-icon{width:18px;height:18px;flex:0 0 auto;transition:transform .16s ease}
.cmm-wayfinding-card:hover .cmm-wayfinding-action .cmm-icon{transform:translateX(3px)}
.cmm-wayfinding-card--compact{min-height:250px}
.cmm-wayfinding-card--compact .cmm-pictogram{width:70px;height:70px}
.cmm-wayfinding-card--compact .cmm-wayfinding-secondary{font-size:.82rem}
.cmm-task-index{display:none!important}

/* Content cards use the same pictographic vocabulary at a secondary scale. */
.cmm-wayfinding-content-card{padding-top:23px}
.cmm-content-pictogram{display:flex;color:var(--cmm-green-dark);margin:0 0 16px}
.cmm-content-pictogram .cmm-pictogram{width:52px;height:52px}
.cmm-content-pictogram--location{color:var(--cmm-wf-multi)}
.cmm-content-pictogram--small .cmm-pictogram{width:42px;height:42px}
.cmm-service-card .cmm-card-meta{margin-top:-2px}

/* Utility SVG remain deliberately small. */
.cmm-icon{width:20px;height:20px}
.cmm-icon--inline{width:1em;height:1em;vertical-align:-.12em}

@media(max-width:900px){
 .cmm-wayfinding-card{min-height:238px}
 .cmm-pictogram{width:68px;height:68px}
}
@media(max-width:620px){
 .cmm-wayfinding-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px}
 .cmm-wayfinding-card,.cmm-wayfinding-card--compact{min-height:220px;padding:20px 17px 17px;border-radius:14px}
 .cmm-wayfinding-card:before{width:3px}
 .cmm-wayfinding-pictogram{margin-bottom:15px}
 .cmm-pictogram,.cmm-wayfinding-card--compact .cmm-pictogram{width:58px;height:58px}
 .cmm-wayfinding-copy h3{font-size:1rem;line-height:1.22}
 .cmm-wayfinding-secondary{font-size:.73rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .cmm-wayfinding-action{font-size:.72rem;padding-top:14px;gap:8px}
 .cmm-wayfinding-action .cmm-icon{width:15px;height:15px}
 .cmm-content-pictogram .cmm-pictogram{width:48px;height:48px}
}
@media(max-width:390px){
 .cmm-wayfinding-card,.cmm-wayfinding-card--compact{min-height:210px;padding-left:15px;padding-right:15px}
 .cmm-wayfinding-secondary{display:none}
}


/* ==========================================================
   CMM Wayfinding Badge System — Design System v1.0 candidate
   Badge = pictogram carrier / mini wayfinding sign.
   ========================================================== */
:root{
 --cmm-badge-size:56px;
 --cmm-badge-radius:14px;
 --cmm-badge-icon-size:34px;
 --cmm-badge-primary-bg:var(--cmm-green-dark);
 --cmm-badge-primary-fg:#f4f8f5;
 --cmm-badge-soft-bg:#dcefe3;
 --cmm-badge-soft-fg:var(--cmm-green-dark);
 --cmm-badge-neutral-bg:#edf4ef;
 --cmm-badge-neutral-fg:var(--cmm-green-dark);
}
.cmm-wayfinding-badge{
 width:var(--cmm-badge-size);height:var(--cmm-badge-size);border-radius:var(--cmm-badge-radius);
 display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
 background:var(--cmm-badge-primary-bg);color:var(--cmm-badge-primary-fg);
 box-shadow:none;border:1px solid transparent;
 transition:background-color .16s ease,color .16s ease,transform .16s ease,border-color .16s ease;
}
.cmm-wayfinding-badge .cmm-pictogram{width:var(--cmm-badge-icon-size);height:var(--cmm-badge-icon-size);stroke-width:2.5}
.cmm-wayfinding-badge--primary,.cmm-wayfinding-badge--mode-primary{background:var(--cmm-badge-primary-bg);color:var(--cmm-badge-primary-fg)}
.cmm-wayfinding-badge--soft,.cmm-wayfinding-badge--mode-soft{background:var(--cmm-badge-soft-bg);color:var(--cmm-badge-soft-fg);border-color:#c9dfd1}
.cmm-wayfinding-badge--neutral{background:var(--cmm-badge-neutral-bg);color:var(--cmm-badge-neutral-fg);border-color:#d9e6de}
.cmm-wayfinding-badge--content{--cmm-badge-size:52px;--cmm-badge-radius:13px;--cmm-badge-icon-size:30px}

/* Wayfinding cards now use badge as primary visual anchor, not a floating line icon. */
.cmm-wayfinding-card{min-height:284px;padding:25px 25px 22px}
.cmm-wayfinding-card:before{display:none}
.cmm-wayfinding-pictogram{display:block;margin-bottom:21px;color:inherit}
.cmm-wayfinding-card:hover .cmm-wayfinding-badge--primary,
.cmm-wayfinding-card:hover .cmm-wayfinding-badge--mode-primary{background:#174d38;transform:translateY(-1px)}
.cmm-wayfinding-card:hover .cmm-wayfinding-badge--soft,
.cmm-wayfinding-card:hover .cmm-wayfinding-badge--mode-soft{background:#cfe7d8;transform:translateY(-1px)}
.cmm-wayfinding-card--compact{min-height:260px}
.cmm-wayfinding-card--compact .cmm-wayfinding-badge{--cmm-badge-size:56px;--cmm-badge-icon-size:33px}

/* Content cards receive the same vocabulary at a secondary scale. */
.cmm-content-pictogram{color:inherit;margin-bottom:17px}
.cmm-content-pictogram .cmm-pictogram{width:30px;height:30px}
.cmm-content-pictogram--location,.cmm-content-pictogram--service{color:inherit}

/* Optional category hooks. Today all primary functions remain CMM green;
   future category colours can be introduced by changing only these tokens. */
.cmm-wayfinding-card--bike{--cmm-wayfinding-accent:var(--cmm-wf-bike)}
.cmm-wayfinding-card--transit{--cmm-wayfinding-accent:var(--cmm-wf-transit)}
.cmm-wayfinding-card--walk{--cmm-wayfinding-accent:var(--cmm-wf-walk)}
.cmm-wayfinding-card--car{--cmm-wayfinding-accent:var(--cmm-wf-car)}
.cmm-wayfinding-card--multi{--cmm-wayfinding-accent:var(--cmm-wf-multi)}

@media(max-width:900px){
 :root{--cmm-badge-size:52px;--cmm-badge-radius:13px;--cmm-badge-icon-size:31px}
 .cmm-wayfinding-card{min-height:252px}
}
@media(max-width:620px){
 :root{--cmm-badge-size:48px;--cmm-badge-radius:12px;--cmm-badge-icon-size:29px}
 .cmm-wayfinding-card,.cmm-wayfinding-card--compact{min-height:218px;padding:18px 16px 16px}
 .cmm-wayfinding-card--compact .cmm-wayfinding-badge{--cmm-badge-size:48px;--cmm-badge-icon-size:29px}
 .cmm-wayfinding-pictogram{margin-bottom:16px}
 .cmm-wayfinding-badge--content{--cmm-badge-size:46px;--cmm-badge-radius:11px;--cmm-badge-icon-size:27px}
}


/* ============================================================
   Sprint 3.1 / CMM Wayfinding System v1.1 integration
   Core owns semantic SVG + badge states. Theme owns layout/card context.
   ============================================================ */
.cmm-wayfinding-card{--cmm-wayfinding-badge-size:64px;--cmm-wayfinding-icon-size:38px}
.cmm-wayfinding-card .cmm-wayfinding-badge{margin:0}
.cmm-wayfinding-card:hover .cmm-wayfinding-badge,.cmm-wayfinding-card:focus-visible .cmm-wayfinding-badge,.cmm-wayfinding-card.is-selected .cmm-wayfinding-badge,.cmm-wayfinding-card[aria-current="page"] .cmm-wayfinding-badge,.cmm-wayfinding-card[aria-current="true"] .cmm-wayfinding-badge{background:var(--cmm-wayfinding-highlight-bg);color:var(--cmm-wayfinding-highlight-fg);border-color:rgba(13,59,46,.1)}
.cmm-wayfinding-card:focus-visible{outline:3px solid var(--cmm-wayfinding-focus,#2EE59D);outline-offset:3px}
.cmm-wayfinding-card--compact{--cmm-wayfinding-badge-size:60px;--cmm-wayfinding-icon-size:36px}
.cmm-wayfinding-badge--content{--cmm-wayfinding-badge-size:52px;--cmm-wayfinding-icon-size:31px}
.cmm-wayfinding-badge--primary,.cmm-wayfinding-badge--mode-primary,.cmm-wayfinding-badge--soft,.cmm-wayfinding-badge--mode-soft,.cmm-wayfinding-badge--neutral{background:var(--cmm-wayfinding-default-bg)!important;color:var(--cmm-wayfinding-default-fg)!important;border-color:rgba(255,255,255,.1)!important}
@media(max-width:768px){.cmm-wayfinding-card{--cmm-wayfinding-badge-size:54px;--cmm-wayfinding-icon-size:32px}.cmm-wayfinding-card--compact{--cmm-wayfinding-badge-size:50px;--cmm-wayfinding-icon-size:30px}.cmm-wayfinding-badge--content{--cmm-wayfinding-badge-size:46px;--cmm-wayfinding-icon-size:28px}}
