:root{--swcom-bg:#0b0e11;--swcom-panel:#12171b;--swcom-panel2:#171d22;--swcom-line:rgba(255,255,255,.09);--swcom-text:#f3f6f8;--swcom-muted:#98a3ac;--swcom-orange:#ff7100;--swcom-orange2:#ff9a3d;--swcom-radius:18px}.swcom-shell{width:min(1180px,calc(100% - 28px));margin:28px auto 52px;color:var(--swcom-text);font-family:inherit}.swcom-shell *{box-sizing:border-box}.swcom-hero{display:grid;grid-template-columns:minmax(0,1.5fr) auto;gap:28px;align-items:end;padding:30px;border:1px solid var(--swcom-line);border-radius:24px;background:radial-gradient(circle at 85% 15%,rgba(255,113,0,.16),transparent 32%),linear-gradient(135deg,#13191e,#0d1114);box-shadow:0 22px 70px rgba(0,0,0,.22)}.swcom-hero.compact{grid-template-columns:1fr;padding:24px}.swcom-kicker{display:block;margin-bottom:8px;color:var(--swcom-orange);font-weight:850;font-size:.75rem;letter-spacing:.14em}.swcom-hero h1,.swcom-section h2,.swcom-profile-public h1{margin:.05em 0 .32em;color:var(--swcom-text);line-height:1.02}.swcom-hero h1{font-size:clamp(2.05rem,4.3vw,4.3rem);letter-spacing:-.045em}.swcom-hero p,.swcom-section p{color:var(--swcom-muted);max-width:760px}.swcom-hero-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}.swcom-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 15px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#161c21;color:var(--swcom-text)!important;text-decoration:none!important;font-weight:800;cursor:pointer}.swcom-btn:hover{border-color:var(--swcom-orange);transform:translateY(-1px)}.swcom-btn.swcom-primary{background:var(--swcom-orange);border-color:var(--swcom-orange);color:#111!important}.swcom-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.swcom-quick-card{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;padding:15px 16px;border:1px solid var(--swcom-line);border-radius:16px;background:var(--swcom-panel);color:var(--swcom-text)!important;text-decoration:none!important}.swcom-quick-card>span{grid-row:1/3;font-size:1.5rem;color:var(--swcom-orange)}.swcom-quick-card strong{font-size:.98rem}.swcom-quick-card small{color:var(--swcom-muted)}.swcom-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:14px 0}.swcom-stats>div{padding:15px;text-align:center;border:1px solid var(--swcom-line);border-radius:14px;background:rgba(18,23,27,.72)}.swcom-stats strong{display:block;font-size:1.55rem;color:var(--swcom-text)}.swcom-stats span{font-size:.76rem;color:var(--swcom-muted);text-transform:uppercase;letter-spacing:.08em}.swcom-section{margin-top:18px;padding:22px;border:1px solid var(--swcom-line);border-radius:20px;background:var(--swcom-panel)}.swcom-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}.swcom-head h2{font-size:clamp(1.5rem,2.5vw,2.2rem)}.swcom-head p{margin:4px 0 0}.swcom-head>a{color:var(--swcom-orange)!important;font-weight:800;text-decoration:none}.swcom-empty,.swcom-map-consent,.swcom-notice{padding:18px;border:1px dashed rgba(255,255,255,.15);border-radius:14px;background:#0e1317;color:var(--swcom-muted)}.swcom-notice{border-style:solid;border-color:rgba(255,113,0,.35);color:#ffd1ad}.swcom-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.swcom-card{position:relative;padding:17px;border:1px solid var(--swcom-line);border-radius:16px;background:var(--swcom-panel2);color:var(--swcom-text)!important;text-decoration:none!important}.swcom-card h3{margin:6px 0 8px}.swcom-card p{margin:0;color:var(--swcom-muted)}.swcom-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:rgba(255,113,0,.13);color:var(--swcom-orange);font-size:.68rem;font-weight:900;letter-spacing:.1em}.swcom-meta{font-size:.82rem}.swcom-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}.swcom-card-foot>span{color:var(--swcom-muted);font-size:.82rem}.swcom-ride-join.is-joined{border-color:rgba(255,113,0,.45);color:var(--swcom-orange)!important}.swcom-topics,.swcom-feed{display:grid;gap:6px}.swcom-topics>a,.swcom-feed-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border-radius:13px;background:#0f1418;color:var(--swcom-text)!important;text-decoration:none!important}.swcom-topics a:hover,.swcom-feed-row:hover{background:#151b20}.swcom-topics span,.swcom-feed-row>span:nth-child(2){display:grid;gap:2px;min-width:0}.swcom-topics small,.swcom-feed-row small,.swcom-feed-row em{color:var(--swcom-muted);font-size:.8rem;font-style:normal}.swcom-topics em,.swcom-feed-row time{white-space:nowrap;color:var(--swcom-muted);font-size:.76rem}.swcom-feed-row{display:grid;grid-template-columns:auto 1fr auto}.swcom-avatar{width:42px;height:42px;display:inline-grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#20262b,#11161a);border:1px solid rgba(255,113,0,.34);color:var(--swcom-orange);font-weight:950}.swcom-avatar.large{width:54px;height:54px}.swcom-avatar.xlarge{width:84px;height:84px;font-size:2rem}.swcom-members{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.swcom-members>a{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--swcom-line);border-radius:14px;background:var(--swcom-panel2);color:var(--swcom-text)!important;text-decoration:none!important}.swcom-members span:last-child{display:grid;min-width:0}.swcom-members small{color:var(--swcom-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.swcom-forums{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.swcom-forums>a{display:grid;gap:4px;padding:15px;border:1px solid var(--swcom-line);border-radius:14px;background:var(--swcom-panel2);color:var(--swcom-text)!important;text-decoration:none!important}.swcom-forums small{color:var(--swcom-muted)}.swcom-promos{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.swcom-promos>a{display:grid;gap:7px;padding:17px;border:1px solid var(--swcom-line);border-radius:16px;background:linear-gradient(145deg,#171d22,#11161a);color:var(--swcom-text)!important;text-decoration:none!important}.swcom-promos span{color:var(--swcom-muted)}.swcom-promos em{font-style:normal;color:var(--swcom-orange);font-size:.74rem;font-weight:900;letter-spacing:.08em}.swcom-map{position:relative;height:440px;overflow:hidden;border-radius:16px;background:#0d1114;border:1px solid var(--swcom-line)}.swcom-map-canvas{position:absolute;inset:0;overflow:hidden}.swcom-map-tile{position:absolute;width:256px;height:256px;max-width:none!important;filter:saturate(.72) brightness(.72) contrast(1.07)}.swcom-map-marker{position:absolute;width:22px;height:22px;padding:0;transform:translate(-50%,-50%);border:3px solid #15191c;border-radius:50%;background:var(--swcom-orange);box-shadow:0 4px 14px rgba(0,0,0,.45);cursor:pointer;z-index:4}.swcom-map-marker.is-ride{border-radius:6px;background:#f3f6f8}.swcom-map-popup{position:absolute;z-index:8;transform:translate(-50%,calc(-100% - 18px));min-width:180px;max-width:260px;padding:11px 12px;border-radius:12px;background:#101519;border:1px solid rgba(255,113,0,.35);box-shadow:0 14px 34px rgba(0,0,0,.4);display:grid;gap:4px}.swcom-map-popup strong{color:#fff}.swcom-map-popup small{color:var(--swcom-muted)}.swcom-map-popup a{color:var(--swcom-orange)!important;text-decoration:none}.swcom-map-zoom{position:absolute;right:12px;top:12px;z-index:9;display:grid;gap:5px}.swcom-map-zoom button{width:36px;height:36px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:#11171bcc;color:#fff;font-size:1.25rem;cursor:pointer}.swcom-map-attrib{position:absolute;right:6px;bottom:5px;z-index:9;padding:3px 6px;border-radius:5px;background:#0b0e11cc;color:#bec6cc;font-size:.64rem}.swcom-map-attrib a{color:#fff!important}.swcom-poll{padding:18px;border-radius:16px;background:var(--swcom-panel2)}.swcom-poll-options{display:grid;gap:8px;margin-top:12px}.swcom-poll-options button{display:flex;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--swcom-line);border-radius:12px;background:#0f1418;color:#fff;text-align:left;cursor:pointer}.swcom-poll-options button:not(:disabled):hover{border-color:var(--swcom-orange)}.swcom-poll-options strong{color:var(--swcom-orange)}.swcom-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.swcom-photo-grid figure{margin:0;overflow:hidden;border-radius:14px;background:var(--swcom-panel2);border:1px solid var(--swcom-line)}.swcom-photo-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.swcom-photo-grid figcaption{display:grid;padding:10px}.swcom-photo-grid small{color:var(--swcom-muted)}.swcom-form{display:grid;gap:16px;margin-top:16px;padding:22px;border:1px solid var(--swcom-line);border-radius:18px;background:var(--swcom-panel)}.swcom-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.swcom-form label{display:grid;gap:7px;color:#dce2e7;font-weight:800}.swcom-form label.full{grid-column:1/-1}.swcom-form input,.swcom-form textarea,.swcom-form select{width:100%;padding:11px 12px;border:1px solid rgba(255,255,255,.14);border-radius:11px;background:#0d1216;color:#fff}.swcom-form input:focus,.swcom-form textarea:focus,.swcom-form select:focus{outline:none;border-color:var(--swcom-orange);box-shadow:0 0 0 3px rgba(255,113,0,.1)}.swcom-form small,.swcom-help{color:var(--swcom-muted);font-weight:400}.swcom-checks{display:grid;gap:8px;padding:13px;border-radius:13px;background:#0f1418}.swcom-checks label{display:flex;align-items:center;gap:8px;font-weight:600}.swcom-checks input{width:auto}.swcom-profile-public{display:flex;gap:20px;align-items:center;padding:24px;border:1px solid var(--swcom-line);border-radius:20px;background:var(--swcom-panel)}.swcom-tags{display:flex;gap:7px;flex-wrap:wrap}.swcom-tags span{padding:5px 9px;border-radius:999px;background:#1b2228;color:#c8d0d6;font-size:.78rem}@media(max-width:900px){.swcom-hero{grid-template-columns:1fr}.swcom-hero-actions{justify-content:flex-start}.swcom-quick,.swcom-promos{grid-template-columns:repeat(2,1fr)}.swcom-stats{grid-template-columns:repeat(3,1fr)}.swcom-cards{grid-template-columns:repeat(2,1fr)}.swcom-members{grid-template-columns:repeat(2,1fr)}.swcom-photo-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.swcom-shell{width:calc(100% - 18px);margin-top:16px}.swcom-hero,.swcom-section,.swcom-form{padding:16px;border-radius:16px}.swcom-hero h1{font-size:2.2rem}.swcom-quick,.swcom-promos,.swcom-cards,.swcom-forums,.swcom-members,.swcom-form-grid{grid-template-columns:1fr}.swcom-stats{grid-template-columns:repeat(2,1fr)}.swcom-head{align-items:flex-start;flex-direction:column}.swcom-topics>a{align-items:flex-start}.swcom-topics em{display:none}.swcom-feed-row{grid-template-columns:auto 1fr}.swcom-feed-row time{grid-column:2}.swcom-map{height:360px}.swcom-photo-grid{grid-template-columns:1fr 1fr}.swcom-profile-public{align-items:flex-start;flex-direction:column}}

.swcom-regions{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.swcom-regions>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid var(--swcom-line);border-radius:13px;background:var(--swcom-panel2)}.swcom-regions span{color:var(--swcom-muted);font-size:.8rem;text-align:right}.swcom-member-badge{justify-self:start;margin-top:4px;padding:3px 7px;border-radius:999px;background:rgba(255,113,0,.13);color:var(--swcom-orange);font-size:.62rem;font-style:normal;font-weight:900;letter-spacing:.08em}@media(max-width:620px){.swcom-regions{grid-template-columns:1fr}.swcom-regions>div{align-items:flex-start;flex-direction:column}.swcom-regions span{text-align:left}}

/* ===== v1.1 Portal / Burning-Board style dashboard ===== */
.swcom-portal-shell{width:min(96vw,1760px);max-width:1760px}
.swcom-portal-top{display:grid;gap:12px;margin-bottom:14px}
.swcom-portal-grid{display:grid;grid-template-columns:minmax(220px,.78fr) minmax(0,2.25fr) minmax(220px,.78fr);grid-template-areas:"left center right";gap:14px;align-items:start}
.swcom-portal-left{grid-area:left}.swcom-portal-center{grid-area:center}.swcom-portal-right{grid-area:right}
.swcom-portal-column{display:grid;gap:14px;min-width:0;align-content:start}
.swcom-slot{min-width:0}.swcom-slot>.swcom-section,.swcom-slot>.swcom-stats,.swcom-slot>.swcom-quick,.swcom-slot>.swcom-hero{margin:0}
.swcom-portal-top .swcom-hero{padding:22px 24px;grid-template-columns:minmax(0,1fr) auto;min-height:0}
.swcom-portal-top .swcom-hero h1{font-size:clamp(1.8rem,3vw,3rem);line-height:1.02;margin-bottom:7px}
.swcom-portal-top .swcom-hero p{max-width:800px;margin:0}
.swcom-portal-top .swcom-hero-actions{align-content:center}
.swcom-portal-top .swcom-quick{margin-top:0}

/* Side widgets become compact portal boxes instead of full-width sections. */
.swcom-slot--left .swcom-section,.swcom-slot--right .swcom-section{padding:14px;border-radius:15px}
.swcom-slot--left .swcom-head,.swcom-slot--right .swcom-head{align-items:flex-start;margin-bottom:10px;gap:8px}
.swcom-slot--left .swcom-head h2,.swcom-slot--right .swcom-head h2{font-size:1.08rem;line-height:1.15}
.swcom-slot--left .swcom-head p,.swcom-slot--right .swcom-head p{font-size:.76rem;line-height:1.35;margin-top:3px}
.swcom-slot--left .swcom-head>a,.swcom-slot--right .swcom-head>a{font-size:.72rem;white-space:nowrap}
.swcom-slot--left .swcom-kicker,.swcom-slot--right .swcom-kicker{font-size:.6rem;letter-spacing:.12em}
.swcom-slot--left .swcom-members,.swcom-slot--right .swcom-members{grid-template-columns:1fr;gap:6px}
.swcom-slot--left .swcom-members>a,.swcom-slot--right .swcom-members>a{padding:8px 9px;border-radius:11px}
.swcom-slot--left .swcom-avatar,.swcom-slot--right .swcom-avatar{width:34px;height:34px;font-size:.8rem}
.swcom-slot--left .swcom-members>a:nth-child(n+6),.swcom-slot--right .swcom-members>a:nth-child(n+6){display:none}
.swcom-slot--left .swcom-regions,.swcom-slot--right .swcom-regions{grid-template-columns:1fr;gap:6px}
.swcom-slot--left .swcom-regions>div,.swcom-slot--right .swcom-regions>div{padding:9px 10px;align-items:flex-start;flex-direction:column;gap:2px}
.swcom-slot--left .swcom-regions span,.swcom-slot--right .swcom-regions span{text-align:left;font-size:.72rem}
.swcom-slot--left .swcom-cards,.swcom-slot--right .swcom-cards{grid-template-columns:1fr;gap:7px}
.swcom-slot--left .swcom-card,.swcom-slot--right .swcom-card{padding:11px;border-radius:12px}
.swcom-slot--left .swcom-card p,.swcom-slot--right .swcom-card p{font-size:.78rem}
.swcom-slot--left .swcom-card h3,.swcom-slot--right .swcom-card h3{font-size:.98rem}
.swcom-slot--left .swcom-card:nth-child(n+5),.swcom-slot--right .swcom-card:nth-child(n+5){display:none}
.swcom-slot--left .swcom-stats,.swcom-slot--right .swcom-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0}
.swcom-slot--left .swcom-stats>div,.swcom-slot--right .swcom-stats>div{padding:10px 6px;border-radius:11px}
.swcom-slot--left .swcom-stats strong,.swcom-slot--right .swcom-stats strong{font-size:1.15rem}
.swcom-slot--left .swcom-stats span,.swcom-slot--right .swcom-stats span{font-size:.6rem;letter-spacing:.04em}
.swcom-slot--left .swcom-promos,.swcom-slot--right .swcom-promos{grid-template-columns:1fr;gap:6px}
.swcom-slot--left .swcom-promos>a,.swcom-slot--right .swcom-promos>a{padding:10px 11px;border-radius:11px;gap:3px}
.swcom-slot--left .swcom-promos span,.swcom-slot--right .swcom-promos span{font-size:.74rem}
.swcom-slot--left .swcom-promos em,.swcom-slot--right .swcom-promos em{font-size:.62rem}
.swcom-slot--left .swcom-poll,.swcom-slot--right .swcom-poll{padding:11px;border-radius:12px}
.swcom-slot--left .swcom-poll h3,.swcom-slot--right .swcom-poll h3{font-size:1rem}
.swcom-slot--left .swcom-poll-options button,.swcom-slot--right .swcom-poll-options button{padding:8px 9px;font-size:.78rem}
.swcom-slot--left .swcom-topics>a,.swcom-slot--right .swcom-topics>a{padding:9px 10px;gap:8px}
.swcom-slot--left .swcom-topics em,.swcom-slot--right .swcom-topics em{display:none}
.swcom-slot--left .swcom-feed-row,.swcom-slot--right .swcom-feed-row{padding:8px 9px;grid-template-columns:auto 1fr}
.swcom-slot--left .swcom-feed-row time,.swcom-slot--right .swcom-feed-row time{display:none}
.swcom-slot--left .swcom-feed-row em,.swcom-slot--right .swcom-feed-row em{display:none}
.swcom-slot--left .swcom-map,.swcom-slot--right .swcom-map{height:260px}
.swcom-slot--left .swcom-forums,.swcom-slot--right .swcom-forums{grid-template-columns:1fr;gap:6px}
.swcom-slot--left .swcom-forums>a,.swcom-slot--right .swcom-forums>a{padding:9px 10px}
.swcom-slot--left .swcom-photo-grid,.swcom-slot--right .swcom-photo-grid{grid-template-columns:1fr 1fr}

/* Main column stays spacious and can carry the forum, posts, map and custom portal content. */
.swcom-slot--center .swcom-section{margin:0;padding:18px;border-radius:17px}
.swcom-slot--center .swcom-head{margin-bottom:12px}
.swcom-slot--center .swcom-head h2{font-size:clamp(1.25rem,1.8vw,1.75rem)}
.swcom-slot--center .swcom-map{height:390px}
.swcom-slot--center .swcom-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.swcom-slot--center .swcom-members{grid-template-columns:repeat(3,minmax(0,1fr))}
.swcom-slot--center .swcom-promos{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Latest WordPress posts / stories. */
.swcom-articles{display:grid;gap:7px}.swcom-article-row{display:flex;align-items:center;gap:11px;padding:10px;border-radius:12px;background:#0f1418;color:var(--swcom-text)!important;text-decoration:none!important}.swcom-article-row:hover{background:#151b20}.swcom-article-thumb{width:64px;height:48px;border-radius:8px;overflow:hidden;flex:0 0 auto}.swcom-article-thumb img{width:100%;height:100%;object-fit:cover;display:block}.swcom-article-row>span:last-child{display:grid;gap:2px;min-width:0}.swcom-article-row strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.swcom-article-row small{color:var(--swcom-muted);font-size:.76rem;line-height:1.25}
.swcom-slot--left .swcom-article-row,.swcom-slot--right .swcom-article-row{padding:8px}.swcom-slot--left .swcom-article-thumb,.swcom-slot--right .swcom-article-thumb{width:46px;height:38px}.swcom-slot--left .swcom-article-row small,.swcom-slot--right .swcom-article-row small{display:none}.swcom-slot--left .swcom-article-row:nth-child(n+5),.swcom-slot--right .swcom-article-row:nth-child(n+5){display:none}

/* Free portal boxes: editable with the normal WordPress editor and shortcodes. */
.swcom-custom-content{color:var(--swcom-muted);line-height:1.6}.swcom-custom-content>*:first-child{margin-top:0}.swcom-custom-content>*:last-child{margin-bottom:0}.swcom-custom-content a{color:var(--swcom-orange)}.swcom-custom-content img{max-width:100%;height:auto;border-radius:12px}.swcom-custom-content .wp-block-button__link{background:var(--swcom-orange);color:#0b0d0f!important;border-radius:10px;font-weight:900}

@media(max-width:1100px){
  .swcom-portal-shell{width:min(97vw,1200px)}
  .swcom-portal-grid{grid-template-columns:1fr 1fr;grid-template-areas:"center center" "left right"}
  .swcom-portal-center{grid-area:center}.swcom-portal-left{grid-area:left}.swcom-portal-right{grid-area:right}
}
@media(max-width:700px){
  .swcom-portal-shell{width:calc(100% - 18px)}
  .swcom-portal-grid{grid-template-columns:1fr;grid-template-areas:"center" "left" "right";gap:10px}
  .swcom-portal-column{gap:10px}
  .swcom-portal-top{gap:10px;margin-bottom:10px}
  .swcom-portal-top .swcom-hero{padding:16px;grid-template-columns:1fr}
  .swcom-portal-top .swcom-hero h1{font-size:2rem}
  .swcom-slot--center .swcom-cards,.swcom-slot--center .swcom-members,.swcom-slot--center .swcom-promos{grid-template-columns:1fr}
}

/* ===== v1.2 Dense portal: inspired by classic WBB portal density ===== */
/* Community pages deliberately escape the normal 900px editorial page shell. */
body.swcom-page .sw-inner-main{overflow:visible!important}
body.swcom-page .sw-inner-content-section{padding-top:14px!important}
body.swcom-page .sw-content-shell{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body.swcom-page .sw-content-card{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.swcom-page .sw-content-card:before{display:none!important}
body.swcom-page .sw-content{font-size:inherit!important;line-height:inherit!important}


/* Fallback for modern browsers if a page builder or cache strips body classes. */
body:has(.swcom-portal-shell) .sw-inner-main{overflow:visible!important}
body:has(.swcom-portal-shell) .sw-content-shell{width:100%!important;max-width:none!important;margin:0!important}
body:has(.swcom-portal-shell) .sw-content-card{width:100%!important;max-width:none!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
body:has(.swcom-portal-shell) .sw-content-card:before{display:none!important}

.swcom-portal-shell{
  width:min(calc(100vw - 24px),var(--swcom-portal-max,1920px));
  max-width:none;
  margin:10px auto 28px;
  transform:none;
}
.swcom-width-wide{width:min(calc(100vw - 32px),var(--swcom-portal-max,1760px))}
.swcom-width-content{width:min(calc(100vw - 40px),var(--swcom-portal-max,1500px))}
.swcom-portal-grid{
  grid-template-columns:minmax(220px,var(--swcom-side,250px)) minmax(0,1fr) minmax(220px,var(--swcom-side,250px));
  gap:8px;
}
.swcom-portal-column{gap:8px}
.swcom-portal-top{gap:8px;margin-bottom:8px}

/* Compact portal boxes: small header strips, dense content rows, minimal radius. */
.swcom-density-compact{--swcom-radius:9px}
.swcom-density-compact .swcom-section{
  padding:0;
  border-radius:9px;
  overflow:hidden;
  background:#11161a;
}
.swcom-density-compact .swcom-head{
  align-items:center;
  min-height:34px;
  margin:0;
  padding:6px 9px;
  gap:8px;
  border-bottom:1px solid var(--swcom-line);
  background:#171d22;
}
.swcom-density-compact .swcom-head>div{min-width:0}
.swcom-density-compact .swcom-head .swcom-kicker{display:none}
.swcom-density-compact .swcom-head h2{
  margin:0;
  font-size:.92rem;
  line-height:1.15;
  letter-spacing:0;
}
.swcom-density-compact .swcom-head p{display:none}
.swcom-density-compact .swcom-head>a,
.swcom-density-compact .swcom-head>.swcom-btn{font-size:.67rem;padding:5px 8px;white-space:nowrap}

/* Give module bodies WBB-like tight gutters instead of large card padding. */
.swcom-density-compact .swcom-section>.swcom-topics,
.swcom-density-compact .swcom-section>.swcom-feed,
.swcom-density-compact .swcom-section>.swcom-members,
.swcom-density-compact .swcom-section>.swcom-regions,
.swcom-density-compact .swcom-section>.swcom-cards,
.swcom-density-compact .swcom-section>.swcom-forums,
.swcom-density-compact .swcom-section>.swcom-promos,
.swcom-density-compact .swcom-section>.swcom-photo-grid,
.swcom-density-compact .swcom-section>.swcom-articles,
.swcom-density-compact .swcom-section>.swcom-poll,
.swcom-density-compact .swcom-section>.swcom-map,
.swcom-density-compact .swcom-section>.swcom-map-consent,
.swcom-density-compact .swcom-section>.swcom-empty,
.swcom-density-compact .swcom-section>.swcom-custom-content{margin:6px}

.swcom-density-compact .swcom-empty,.swcom-density-compact .swcom-map-consent,.swcom-density-compact .swcom-notice{padding:9px 10px;border-radius:7px;font-size:.76rem}
.swcom-density-compact .swcom-btn{padding:6px 10px;font-size:.74rem;border-radius:8px}

/* Top area becomes a slim portal masthead rather than a hero section. */
.swcom-density-compact .swcom-portal-top .swcom-hero{
  padding:10px 12px;
  border-radius:9px;
  gap:12px;
  align-items:center;
  min-height:0;
  box-shadow:none;
}
.swcom-density-compact .swcom-portal-top .swcom-hero .swcom-kicker{display:none}
.swcom-density-compact .swcom-portal-top .swcom-hero h1{font-size:1.18rem;line-height:1.15;margin:0 0 2px;letter-spacing:0}
.swcom-density-compact .swcom-portal-top .swcom-hero h1 br{display:none}
.swcom-density-compact .swcom-portal-top .swcom-hero p{font-size:.76rem;line-height:1.3;margin:0;max-width:850px}
.swcom-density-compact .swcom-hero-actions{gap:5px}

.swcom-density-compact .swcom-quick{gap:6px}
.swcom-density-compact .swcom-quick-card{padding:8px 9px;border-radius:8px;gap:1px 7px}
.swcom-density-compact .swcom-quick-card>span{font-size:1rem}
.swcom-density-compact .swcom-quick-card strong{font-size:.78rem}
.swcom-density-compact .swcom-quick-card small{font-size:.66rem}

.swcom-density-compact .swcom-stats{gap:5px;margin:0}
.swcom-density-compact .swcom-stats>div{padding:8px 5px;border-radius:7px}
.swcom-density-compact .swcom-stats strong{font-size:1.02rem;line-height:1}
.swcom-density-compact .swcom-stats span{font-size:.55rem;letter-spacing:.03em}

.swcom-density-compact .swcom-topics,.swcom-density-compact .swcom-feed{gap:2px}
.swcom-density-compact .swcom-topics>a,.swcom-density-compact .swcom-feed-row{padding:7px 8px;border-radius:5px;gap:8px}
.swcom-density-compact .swcom-topics strong,.swcom-density-compact .swcom-feed-row strong{font-size:.78rem}
.swcom-density-compact .swcom-topics small,.swcom-density-compact .swcom-feed-row small{font-size:.66rem}
.swcom-density-compact .swcom-topics em,.swcom-density-compact .swcom-feed-row time{font-size:.62rem}
.swcom-density-compact .swcom-avatar{width:30px;height:30px;font-size:.72rem}
.swcom-density-compact .swcom-avatar.large{width:38px;height:38px}

.swcom-density-compact .swcom-members{gap:3px}
.swcom-density-compact .swcom-members>a{padding:6px 7px;border-radius:6px;gap:7px}
.swcom-density-compact .swcom-members strong{font-size:.76rem}
.swcom-density-compact .swcom-members small{font-size:.64rem}
.swcom-density-compact .swcom-member-badge{font-size:.52rem;padding:2px 5px;margin-top:2px}

.swcom-density-compact .swcom-regions{gap:3px}
.swcom-density-compact .swcom-regions>div{padding:6px 7px;border-radius:6px}
.swcom-density-compact .swcom-regions strong{font-size:.75rem}
.swcom-density-compact .swcom-regions span{font-size:.62rem}

.swcom-density-compact .swcom-cards{gap:5px}
.swcom-density-compact .swcom-card{padding:9px;border-radius:7px}
.swcom-density-compact .swcom-card h3{font-size:.82rem;margin:4px 0 5px}
.swcom-density-compact .swcom-card p,.swcom-density-compact .swcom-meta{font-size:.66rem;line-height:1.3}
.swcom-density-compact .swcom-badge{font-size:.52rem;padding:2px 5px}
.swcom-density-compact .swcom-card-foot{margin-top:7px}

.swcom-density-compact .swcom-forums{gap:4px}
.swcom-density-compact .swcom-forums>a{padding:7px 8px;border-radius:6px}
.swcom-density-compact .swcom-forums strong{font-size:.78rem}
.swcom-density-compact .swcom-forums small{font-size:.64rem}

.swcom-density-compact .swcom-promos{gap:4px}
.swcom-density-compact .swcom-promos>a{padding:7px 8px;border-radius:6px;gap:2px}
.swcom-density-compact .swcom-promos strong{font-size:.76rem}
.swcom-density-compact .swcom-promos span{font-size:.62rem}
.swcom-density-compact .swcom-promos em{font-size:.52rem}

.swcom-density-compact .swcom-poll{padding:8px;border-radius:6px}
.swcom-density-compact .swcom-poll h3{font-size:.82rem;margin:.1em 0 .4em}
.swcom-density-compact .swcom-poll p{font-size:.65rem;margin:.2em 0 .5em}
.swcom-density-compact .swcom-poll-options{gap:3px;margin-top:5px}
.swcom-density-compact .swcom-poll-options button{padding:6px 7px;border-radius:5px;font-size:.68rem}

.swcom-density-compact .swcom-article-row{padding:6px 7px;border-radius:5px;gap:7px}
.swcom-density-compact .swcom-article-thumb{width:46px;height:34px;border-radius:5px}
.swcom-density-compact .swcom-article-row strong{font-size:.75rem}
.swcom-density-compact .swcom-article-row small{font-size:.62rem}

.swcom-density-compact .swcom-photo-grid{gap:4px}
.swcom-density-compact .swcom-photo-grid figure{border-radius:6px}
.swcom-density-compact .swcom-photo-grid figcaption{padding:6px;font-size:.68rem}

.swcom-density-compact .swcom-map{height:330px;border-radius:6px}
.swcom-density-compact .swcom-slot--left .swcom-map,.swcom-density-compact .swcom-slot--right .swcom-map{height:210px}

/* Side columns deliberately mimic compact portal portlets. */
.swcom-density-compact .swcom-slot--left .swcom-section,
.swcom-density-compact .swcom-slot--right .swcom-section{border-radius:7px}
.swcom-density-compact .swcom-slot--left .swcom-head,
.swcom-density-compact .swcom-slot--right .swcom-head{min-height:31px;padding:5px 7px}
.swcom-density-compact .swcom-slot--left .swcom-head h2,
.swcom-density-compact .swcom-slot--right .swcom-head h2{font-size:.82rem}
.swcom-density-compact .swcom-slot--left .swcom-members>a:nth-child(n+6),
.swcom-density-compact .swcom-slot--right .swcom-members>a:nth-child(n+6),
.swcom-density-compact .swcom-slot--left .swcom-card:nth-child(n+4),
.swcom-density-compact .swcom-slot--right .swcom-card:nth-child(n+4),
.swcom-density-compact .swcom-slot--left .swcom-article-row:nth-child(n+5),
.swcom-density-compact .swcom-slot--right .swcom-article-row:nth-child(n+5){display:none}

/* Main column remains flexible: lists are dense, forum/content modules get the space. */
.swcom-density-compact .swcom-slot--center .swcom-section{border-radius:8px}
.swcom-density-compact .swcom-slot--center .swcom-head{min-height:34px;padding:6px 9px}
.swcom-density-compact .swcom-slot--center .swcom-head h2{font-size:.95rem}
.swcom-density-compact .swcom-slot--center .swcom-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.swcom-density-compact .swcom-slot--center .swcom-members{grid-template-columns:repeat(4,minmax(0,1fr))}
.swcom-density-compact .swcom-slot--center .swcom-promos{grid-template-columns:repeat(4,minmax(0,1fr))}

@media(max-width:1250px){
  .swcom-portal-shell{width:98vw}
  .swcom-portal-grid{grid-template-columns:minmax(210px,var(--swcom-side,240px)) minmax(0,1fr);grid-template-areas:"center center" "left right"}
}
@media(max-width:700px){
  .swcom-portal-shell{width:calc(100vw - 10px);margin-left:auto;margin-right:auto}
  .swcom-density-compact .swcom-portal-top .swcom-hero{padding:10px}
  .swcom-density-compact .swcom-portal-top .swcom-hero h1{font-size:1.08rem}
  .swcom-density-compact .swcom-slot--center .swcom-members,.swcom-density-compact .swcom-slot--center .swcom-promos,.swcom-density-compact .swcom-slot--center .swcom-cards{grid-template-columns:1fr}
}

/* 1.3.0 map layers */
.swcom-map-filters{display:flex;gap:5px;flex-wrap:wrap;margin:6px}
.swcom-map-filters button{padding:5px 8px;border:1px solid var(--swcom-line);border-radius:999px;background:#101519;color:var(--swcom-muted);font:inherit;font-size:.66rem;font-weight:800;cursor:pointer}
.swcom-map-filters button:hover,.swcom-map-filters button.is-active{border-color:var(--swcom-orange);color:var(--swcom-orange);background:rgba(255,113,0,.09)}
.swcom-map-marker.is-bikepark{width:24px;height:24px;border-radius:7px;background:#ff7100}
.swcom-map-marker.is-trail{width:20px;height:20px;border-radius:50% 50% 50% 5px;transform:translate(-50%,-50%) rotate(-45deg);background:#65b96e}
.swcom-map-marker.is-trail>span{transform:rotate(45deg)}
.swcom-map-marker.is-rider{background:#ff9a3d}
.swcom-map-marker.is-ride{background:#f3f6f8;border-radius:6px}
.swcom-map-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:8px 10px;border-radius:8px;background:#101519dd;border:1px solid var(--swcom-line);color:var(--swcom-muted);font-size:.75rem;z-index:5}
