/* Community pages on the website. Colours and corners come from the site's theme (--sb-*), with sensible fallbacks. */
.cmx{--cx-primary:var(--sb-color-primary,var(--accent,#0d9488));--cx-on-primary:var(--sb-color-on-primary,#fff);--cx-border:var(--sb-color-border,var(--border,#e7e5e4));--cx-surface:var(--sb-color-surface,var(--surface,#fff));--cx-bg:var(--sb-color-background,#fff);--cx-muted:var(--sb-color-muted,var(--text-muted,#6b7280));--cx-radius:var(--sb-radius,12px);--cx-radius-sm:var(--sb-radius-sm,8px);--cx-soft:color-mix(in srgb,var(--cx-primary) 9%,transparent)}
.cmx{max-width:1180px;margin:0 auto;padding:0 0 56px}
.cmx *{box-sizing:border-box}
.cmx a{color:var(--cx-primary)}
.cmx a.cmx-card,.cmx a.cmx-update,.cmx a.cmx-row,.cmx a.cmx-topic,.cmx a.cmx-subject,.cmx .cmx-nav__links a:not(.is-on){color:inherit}
.cmx h1{margin:0 0 6px;font-size:clamp(1.6rem,3.2vw,2.3rem);line-height:1.15}
.cmx h2{margin:0;font-size:1.25rem}
.cmx h3{margin:0;font-size:1.05rem;line-height:1.3}
.cmx-muted{color:var(--cx-muted)}
.cmx-small{font-size:.86rem}

/* Top bar */
.cmx-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 0;margin:0 0 24px;border-bottom:1px solid var(--cx-border)}
.cmx-nav__links{display:flex;gap:4px;flex-wrap:wrap}
.cmx-nav__links a{padding:8px 12px;border-radius:999px;text-decoration:none;color:inherit;font-weight:600;font-size:.94rem;display:inline-flex;gap:7px;align-items:center}
.cmx-nav__links a:hover{background:var(--cx-soft)}
.cmx-nav__links a.is-on{background:var(--cx-primary);color:var(--cx-on-primary)}
.cmx-nav__me{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cmx-badge-count{font-size:.72rem;padding:1px 7px;border-radius:999px;background:#f59e0b;color:#fff;margin-left:2px}

/* Buttons and forms */
.cmx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:600;font-size:.94rem;line-height:1.2;padding:10px 18px;border-radius:var(--cx-radius-sm);border:1px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap}
.cmx .cmx-btn--primary,.cmx-btn--primary{background:var(--cx-primary);color:var(--cx-on-primary)}
.cmx-btn--primary:hover{filter:brightness(.94)}
.cmx .cmx-btn--ghost,.cmx-btn--ghost{background:transparent;border-color:var(--cx-border);color:inherit}
.cmx-btn--ghost:hover{border-color:var(--cx-primary)}
.cmx-btn--sm{padding:6px 12px;font-size:.85rem}
.cmx-btn--danger{background:transparent;border-color:#fecaca;color:#b91c1c}
.cmx-btn:focus-visible,.cmx a:focus-visible,.cmx button:focus-visible,.cmx summary:focus-visible{outline:2px solid var(--cx-primary);outline-offset:2px}
.cmx-link{all:unset;cursor:pointer;color:var(--cx-primary);font-weight:600;font-size:.86rem}
.cmx-link:hover{text-decoration:underline}
.cmx-inline{display:inline;margin:0}
.cmx-box{background:var(--cx-surface);border:1px solid var(--cx-border);border-radius:var(--cx-radius);padding:clamp(18px,3vw,28px)}
.cmx-alert{padding:12px 16px;border-radius:var(--cx-radius-sm);margin:0 0 18px;background:#fef3c7;color:#92400e}
.cmf{display:grid;gap:6px;margin:0 0 16px}
.cmf>label,.cmf__label{font-weight:600;font-size:.92rem}
.cmf__req{color:#dc2626}
.cmf input[type=text],.cmf input[type=email],.cmf input[type=password],.cmf input[type=number],.cmf input[type=datetime-local],.cmf input[type=search],.cmf select,.cmf textarea,.cmx-input{width:100%;font:inherit;font-size:1rem;padding:10px 12px;border:1px solid var(--cx-border,#d6d3d1);border-radius:var(--cx-radius-sm,8px);background:var(--cx-bg,#fff);color:inherit}
.cmf textarea{resize:vertical;min-height:120px}
.cmf input:focus,.cmf select:focus,.cmf textarea:focus,.cmx-input:focus{outline:2px solid color-mix(in srgb,var(--cx-primary,#0d9488) 40%,transparent);border-color:var(--cx-primary,#0d9488)}
.cmf__help{font-size:.82rem;opacity:.7}
.cmf__error{font-size:.85rem;color:#b91c1c;font-weight:600}
.cmf.has-error input,.cmf.has-error textarea,.cmf.has-error select{border-color:#dc2626}
.cmf-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cmf__thumbs{display:flex;flex-wrap:wrap;gap:10px}
.cmf__thumb{margin:0;position:relative;display:grid;gap:4px;width:110px}
.cmf__thumb img{width:110px;height:110px;object-fit:cover;border-radius:var(--cx-radius-sm,8px);border:1px solid var(--cx-border,#e7e5e4)}
.cmf__thumb label{font-size:.8rem;display:flex;gap:6px;align-items:center;font-weight:400}
.cmf__thumb input{width:auto;margin:0}
.cmf__main{position:absolute;top:6px;left:6px;font-size:.68rem;font-weight:700;padding:1px 7px;border-radius:999px;background:rgba(0,0,0,.65);color:#fff}
.cmf-check{display:flex;gap:9px;align-items:flex-start;font-weight:400}
.cmf-check input{width:auto;margin-top:4px}

/* Home */
.cmx-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.cmx-hero p{margin:0;max-width:60ch;font-size:1.05rem;color:var(--cx-muted)}
.cmx-section{margin:0 0 40px}
.cmx-section__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 14px;flex-wrap:wrap}
.cmx-section__head a{font-weight:600;text-decoration:none}

/* Cards */
.cmx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.cmx-card{display:flex;flex-direction:column;background:var(--cx-surface);border:1px solid var(--cx-border);border-radius:var(--cx-radius);overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .2s,transform .2s;position:relative}
.cmx-card:hover{box-shadow:0 14px 30px -20px rgba(0,0,0,.4);transform:translateY(-2px)}
.cmx-card__img{aspect-ratio:4/3;background:var(--cx-soft);display:flex;align-items:center;justify-content:center;color:var(--cx-primary);font-size:2rem;position:relative}
.cmx-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.cmx-card__body{padding:14px 16px 16px;display:grid;gap:6px}
.cmx-card__meta{font-size:.84rem;color:var(--cx-muted);display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.cmx-card__price{font-weight:800;font-size:1.1rem}
.cmx-tag{display:inline-block;font-size:.72rem;font-weight:700;padding:2px 9px;border-radius:999px;background:var(--cx-soft);color:var(--cx-primary)}
.cmx-tag--warn{background:#fef3c7;color:#92400e}
.cmx-tag--dark{background:rgba(0,0,0,.72);color:#fff}
.cmx-tag--grey{background:#e5e7eb;color:#374151}
.cmx-card__flag{position:absolute;top:10px;left:10px;display:flex;gap:6px}
.cmx-date{position:absolute;top:10px;right:10px;background:var(--cx-surface);border-radius:var(--cx-radius-sm);padding:6px 10px;text-align:center;line-height:1.05;box-shadow:0 4px 14px rgba(0,0,0,.15);color:inherit}
.cmx-date b{display:block;font-size:1.3rem}
.cmx-date span{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--cx-primary)}
.cmx-list{display:grid;gap:12px}
.cmx-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;background:var(--cx-surface);border:1px solid var(--cx-border);border-radius:var(--cx-radius);text-decoration:none;color:inherit}
.cmx-row:hover{border-color:var(--cx-primary)}
.cmx-row__meta{font-size:.84rem;color:var(--cx-muted)}
.cmx-update{padding:18px 20px;background:var(--cx-surface);border:1px solid var(--cx-border);border-radius:var(--cx-radius);display:grid;gap:8px;text-decoration:none;color:inherit}
.cmx-update p{margin:0}

/* Avatars */
.cmx-av{width:40px;height:40px;border-radius:999px;flex:none;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;background:var(--cx-soft);color:var(--cx-primary);font-weight:700;font-size:.85rem}
.cmx-av--sm{width:28px;height:28px;font-size:.7rem}
.cmx-av--lg{width:84px;height:84px;font-size:1.6rem}
.cmx-by{display:flex;gap:10px;align-items:center}
.cmx-by strong{display:block}
.cmx-mod-badge{font-size:.68rem;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--cx-primary);color:var(--cx-on-primary);margin-left:4px;vertical-align:middle}

/* Toolbar (search, filters) */
.cmx-tools{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 20px}
.cmx-search{display:flex;gap:8px;flex:1 1 280px;max-width:520px;min-width:0}
.cmx-search input{flex:1;min-width:0}
.cmx-pills{display:flex;gap:6px;flex-wrap:wrap}
.cmx-pills a{padding:6px 12px;border-radius:999px;border:1px solid var(--cx-border);text-decoration:none;color:inherit;font-size:.86rem;font-weight:600}
.cmx-pills a.is-on{background:var(--cx-primary);border-color:var(--cx-primary);color:var(--cx-on-primary)}
.cmx-pager{display:flex;justify-content:center;gap:8px;margin-top:26px}

/* A post / topic page */
.cmx-detail{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start}
.cmx-detail__main{min-width:0}
.cmx-detail__side{display:grid;gap:16px;position:sticky;top:20px}
.cmx-body{font-size:1.04rem;line-height:1.7;overflow-wrap:anywhere}
.cmx-body p{margin:0 0 1em}
.cmx-gallery{display:grid;gap:10px;margin:0 0 22px}
.cmx-gallery__main{border-radius:var(--cx-radius);overflow:hidden;background:var(--cx-soft);aspect-ratio:16/10}
.cmx-gallery__main img{width:100%;height:100%;object-fit:cover;display:block}
.cmx-gallery__thumbs{display:flex;gap:8px;flex-wrap:wrap}
.cmx-gallery__thumbs button{all:unset;cursor:pointer;width:76px;height:76px;border-radius:var(--cx-radius-sm);overflow:hidden;border:2px solid transparent}
.cmx-gallery__thumbs button.is-on{border-color:var(--cx-primary)}
.cmx-gallery__thumbs img{width:100%;height:100%;object-fit:cover}
.cmx-facts{display:grid;gap:12px;margin:0}
.cmx-facts div{display:grid;gap:2px}
.cmx-facts dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--cx-muted)}
.cmx-facts dd{margin:0;font-weight:600}
.cmx-back{display:inline-block;margin:0 0 14px;font-weight:600;text-decoration:none}
.cmx-status{padding:10px 14px;border-radius:var(--cx-radius-sm);margin:0 0 16px;font-weight:600}
.cmx-status--pending{background:#fef3c7;color:#92400e}
.cmx-status--hidden{background:#fee2e2;color:#991b1b}
.cmx-status--closed{background:#e5e7eb;color:#374151}
.cmx-owner{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* Comments */
.cmx-comments{margin-top:34px;display:grid;gap:14px}
.cmx-comment{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:16px;background:var(--cx-surface);border:1px solid var(--cx-border);border-radius:var(--cx-radius)}
.cmx-comment.is-hidden{opacity:.6;border-style:dashed}
.cmx-comment__head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:baseline;margin-bottom:4px}
.cmx-comment__body p{margin:0 0 .6em}
.cmx-comment__body p:last-child{margin:0}
.cmx-comment__tools{display:flex;gap:12px;align-items:center;margin-top:6px;flex-wrap:wrap}
.cmx-reply textarea{min-height:110px}
.cmx-topic-first{border-color:color-mix(in srgb,var(--cx-primary) 40%,var(--cx-border))}

/* Moderator menu, report box */
.cmx-menu{position:relative;display:inline-block}
.cmx-menu>summary{list-style:none;cursor:pointer}
.cmx-menu>summary::-webkit-details-marker{display:none}
.cmx-menu__panel{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:200px;padding:6px;background:var(--cx-bg,#fff);border:1px solid var(--cx-border);border-radius:var(--cx-radius-sm);box-shadow:0 16px 36px -14px rgba(0,0,0,.35);display:grid;gap:2px}
.cmx-menu__panel button{all:unset;cursor:pointer;padding:8px 10px;border-radius:6px;font-size:.9rem;display:flex;gap:8px;align-items:center}
.cmx-menu__panel button:hover{background:var(--cx-soft)}
.cmx-menu__panel button.is-danger{color:#b91c1c}
.cmx-menu__panel form{margin:0}
.cmx-report textarea{width:100%;min-height:70px;margin:6px 0;font:inherit;padding:8px;border:1px solid var(--cx-border);border-radius:6px}

/* Forum */
.cmx-subjects{display:grid;gap:10px}
.cmx-subject{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 18px;background:var(--cx-surface);border:1px solid var(--cx-border);border-radius:var(--cx-radius);text-decoration:none;color:inherit}
.cmx-subject:hover{border-color:var(--cx-primary)}
.cmx-subject__icon{width:46px;height:46px;border-radius:var(--cx-radius-sm);background:var(--cx-soft);color:var(--cx-primary);display:flex;align-items:center;justify-content:center;font-size:1.15rem}
.cmx-subject__stats{text-align:right;font-size:.84rem;color:var(--cx-muted);min-width:160px}
.cmx-topics{border:1px solid var(--cx-border);border-radius:var(--cx-radius);overflow:hidden;background:var(--cx-surface)}
.cmx-topic{display:grid;grid-template-columns:minmax(0,1fr) 90px 180px;gap:14px;align-items:center;padding:14px 18px;border-top:1px solid var(--cx-border);text-decoration:none;color:inherit}
.cmx-topic:first-child{border-top:0}
.cmx-topic:hover{background:var(--cx-soft)}
.cmx-topic.is-pinned{background:color-mix(in srgb,var(--cx-primary) 5%,var(--cx-surface))}
.cmx-topic__title{font-weight:700}
.cmx-topic__count{text-align:center;font-size:.85rem;color:var(--cx-muted)}
.cmx-topic__count b{display:block;font-size:1.05rem;color:inherit}
.cmx-topic__last{font-size:.84rem;color:var(--cx-muted)}

/* Profile */
.cmx-profile{display:grid;grid-template-columns:320px minmax(0,1fr);gap:28px;align-items:start}
.cmx-person{display:flex;gap:16px;align-items:center;margin-bottom:22px}

@media (max-width:900px){
    .cmx-detail,.cmx-profile{grid-template-columns:minmax(0,1fr)}
    .cmx-detail__side{position:static}
    .cmx-topic{grid-template-columns:minmax(0,1fr) 70px}
    .cmx-topic__last{display:none}
    .cmx-subject{grid-template-columns:auto minmax(0,1fr)}
    .cmx-subject__stats{display:none}
}
@media (max-width:560px){
    .cmf-two{grid-template-columns:1fr}
    .cmx-nav__links a{padding:7px 10px;font-size:.88rem}
    .cmx-row{grid-template-columns:auto minmax(0,1fr)}
    .cmx-row>:last-child{grid-column:1/-1}
    .cmx-menu__panel{right:auto;left:0}
}

/* For sale sections */
.cmx-sections{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin:0 0 14px;scrollbar-width:thin}
.cmx-sections a{flex:none;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--cx-radius-sm);border:1px solid var(--cx-border);background:var(--cx-surface);text-decoration:none;color:inherit;font-weight:600;font-size:.92rem;white-space:nowrap}
.cmx-sections a small{font-size:.75rem;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--cx-soft);color:var(--cx-primary)}
.cmx-sections a:hover{border-color:var(--cx-primary)}
.cmx-sections a.is-on{background:var(--cx-primary);border-color:var(--cx-primary);color:var(--cx-on-primary)}
.cmx-sections a.is-on small{background:rgba(255,255,255,.25);color:inherit}

/* Offers */
.cmx-deal{font-weight:800;font-size:1.15rem;color:var(--cx-primary)}
.cmx-code{display:inline-flex;align-items:center;gap:8px;font-family:ui-monospace,Consolas,monospace;font-weight:700;letter-spacing:.06em;padding:8px 12px;border:2px dashed var(--cx-primary);border-radius:var(--cx-radius-sm);background:var(--cx-soft)}
.cmx-from{font-size:.84rem;color:var(--cx-muted)}
.cmx-from a{font-weight:600}

/* Event form: pricing choice and ticket rows */
.cmx-radio{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--cx-border);border-radius:999px;cursor:pointer;font-weight:600;font-size:.9rem}
.cmx-radio input{margin:0}
.cmx-radio:has(input:checked){border-color:var(--cx-primary);background:var(--cx-soft);color:var(--cx-primary)}
.cmx-tickets{display:grid;gap:10px}
.cmx-ticket{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,2.5fr) auto;gap:8px;align-items:center}
.cmx-ticket input{width:100%;font:inherit;padding:9px 11px;border:1px solid var(--cx-border,#d6d3d1);border-radius:var(--cx-radius-sm,8px);background:var(--cx-bg,#fff);color:inherit}
.cmx [hidden]{display:none!important}
@media (max-width:700px){.cmx-ticket{grid-template-columns:1fr 1fr}.cmx-ticket input:first-child,.cmx-ticket input:nth-child(4){grid-column:1/-1}}

/* Moderators: Live / Needs approving / Hidden, and quick actions under items */
.cmx-modbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 10px;margin:0 0 18px;border:1px dashed color-mix(in srgb,var(--cx-primary) 45%,var(--cx-border));border-radius:var(--cx-radius-sm);background:color-mix(in srgb,var(--cx-primary) 4%,transparent)}
.cmx-modbar__label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--cx-primary);margin-right:6px}
.cmx-modbar a{padding:6px 12px;border-radius:999px;text-decoration:none;color:inherit;font-weight:600;font-size:.88rem;display:inline-flex;gap:6px;align-items:center}
.cmx-modbar a:hover{background:var(--cx-soft)}
.cmx-modbar a.is-on{background:var(--cx-primary);color:var(--cx-on-primary)}
.cmx-modbar a b{background:#f59e0b;color:#fff;border-radius:999px;padding:0 7px;font-size:.75rem}
.cmx-modbar a small{opacity:.7}
.cmx-moditem{display:grid;gap:8px;align-content:start}
.cmx-modactions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}

/* Networking */
.cmx-net__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.cmx-net__contact{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;font-size:.9rem}
.cmx-net__contact a{text-decoration:none;font-weight:600}
.cmx-membership{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap}
.cmx-nav__name{padding:8px 4px;font-weight:700;display:inline-flex;gap:8px;align-items:center}
