.sd-market-page{padding:12px 0 84px;background:#f6f7fb}
.sd-market-tabs{display:flex;gap:8px;padding:0 16px 10px}
.sd-market-tab{flex:1;height:40px;border-radius:10px;border:1px solid #d8dbe5;background:#fff;color:#475467;text-decoration:none;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.sd-market-tab.active{border-color:#7c4dff;background:#f4efff;color:#5b34d5}
.sd-market-filter-wrap{background:#fff;border-top:1px solid #eceef3;border-bottom:1px solid #eceef3;padding:12px 16px}
.sd-market-search-row{display:flex;gap:8px;align-items:center}
.sd-market-search{flex:1;height:44px;border:1px solid #d8dbe5;border-radius:24px;padding:0 16px;font-size:16px;color:#111;background:#fff}
.sd-market-search::placeholder{font-size:14px;color:#98a2b3}
.sd-market-btn{width:44px;height:44px;border:0;border-radius:50%;background:#7c4dff;color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none}
.sd-market-btn.up{font-size:20px}
.sd-market-select-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.sd-market-select-row[hidden]{display:none !important}
.sd-market-select{height:38px;border:1px solid #d8dbe5;border-radius:8px;padding:0 10px;background:#fff;font-size:15px}
.sd-market-select-submit{height:38px;border:0;border-radius:8px;background:#7c4dff;color:#fff;font-size:14px;font-weight:700}
.sd-market-count{padding:8px 16px 10px;color:#6e7590;font-size:14px;line-height:1.2}
.sd-market-count strong{color:#2962ff}
.sd-market-count-row{display:flex;align-items:center;justify-content:space-between;min-height:34px}
.sd-market-write-btn{display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 10px;border-radius:17px;background:#7c4dff;color:#fff;text-decoration:none;font-size:13px;font-weight:700}
.sd-market-write-btn .material-icons{font-size:16px}
.sd-market-featured,.sd-market-list{padding:0 16px 12px}
.sd-market-featured h3,.sd-market-list h3{margin:6px 0 12px;font-size:16px;color:#111;font-weight:700}
.sd-market-featured-list{display:flex;flex-direction:column;gap:10px}
.sd-market-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sd-market-card{display:block;text-decoration:none;color:#111;background:#fff;border-radius:10px;overflow:hidden}
.sd-market-thumb{position:relative;aspect-ratio:25/18;background:#eceef3}
.sd-market-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sd-market-title{padding:9px 10px 2px;font-size:15px;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px}
.sd-market-price{padding:0 10px;font-size:24px;font-weight:800;line-height:1.2}
.sd-market-region{padding:2px 10px 10px;font-size:13px;color:#5a627f}
.sd-market-list-rows{display:flex;flex-direction:column;gap:10px}
.sd-market-list-item{display:grid;grid-template-columns:108px 1fr;column-gap:10px;row-gap:6px;background:#fff;border-radius:10px;padding:10px;text-decoration:none;color:#111;align-items:start}
.sd-market-list-thumb{width:108px;height:86px;border-radius:8px;overflow:hidden;flex:0 0 108px;background:#eceef3}
.sd-market-list-thumb img{width:100%;height:100%;object-fit:cover}
.sd-market-list-thumb{grid-column:1;grid-row:1}
.sd-market-list-state{grid-column:1;grid-row:2}
.sd-market-list-body{grid-column:2;grid-row:1 / span 2;min-width:0}
.sd-market-list-title{font-size:16px;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sd-market-list-meta{margin-top:3px;font-size:12px;color:#667085}
.sd-market-list-price{margin-top:4px;font-size:20px;font-weight:800;line-height:1.2}
.sd-market-list-date{margin-top:4px;font-size:12px;color:#98a2b3}
.sd-market-state-badge{position:relative;z-index:2;display:inline-flex;height:24px;padding:0 8px;border-radius:12px;align-items:center;font-size:11px;font-weight:700}
.sd-market-state-badge.state-open{background:#ecfdf3;color:#027a48}
.sd-market-state-badge.state-in_progress{background:#eff8ff;color:#175cd3}
.sd-market-state-badge.state-done{background:#f2f4f7;color:#344054}
.sd-market-card .sd-market-state-badge{position:absolute;top:8px;left:8px}
.sd-empty{grid-column:1 / -1;text-align:center;background:#fff;border-radius:10px;padding:32px 16px;color:#778}
.sd-market-paging{padding:8px 16px 20px}
.sd-market-paging .pg{display:flex;justify-content:center;gap:4px}
.sd-market-paging .pg_page,.sd-market-paging .pg_current{min-width:32px;height:32px;line-height:30px;text-align:center;border-radius:8px;border:1px solid #dadfea;background:#fff;color:#36405f}
.sd-market-paging .pg_current{background:#7c4dff;border-color:#7c4dff;color:#fff}
.sd-market-fab-write{position:fixed;right:16px;bottom:78px;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#7c4dff;color:#fff;text-decoration:none;box-shadow:0 8px 16px rgba(124,77,255,.35);z-index:40}

/* shared slider */
.sd-market-slider{position:relative;touch-action:pan-y}
.sd-market-slider-track{position:relative;width:100%;height:100%}
.sd-market-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .2s ease}
.sd-market-slide.is-active{opacity:1;visibility:visible}
.sd-market-slide img{width:100%;height:100%;object-fit:cover}
.sd-market-slide-btn{position:absolute;top:50%;transform:translateY(-50%);width:24px;height:24px;border:0;border-radius:50%;background:rgba(17,24,39,.45);color:#fff;display:flex;align-items:center;justify-content:center;z-index:4}
.sd-market-slide-btn .material-icons{font-size:16px}
.sd-market-slide-btn.prev{left:6px}
.sd-market-slide-btn.next{right:6px}
.sd-market-slide-dots{position:absolute;left:0;right:0;bottom:6px;display:flex;justify-content:center;gap:4px;z-index:4}
.sd-market-slide-dots .dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.55)}
.sd-market-slide-dots .dot.is-on{background:#fff}

/* write */
.sd-market-write{padding:12px 16px 90px;background:#f6f7fb}
.sdmw-section{background:#fff;border-radius:12px;padding:12px;margin-bottom:10px}
.sdmw-label{display:block;margin-bottom:8px;font-size:14px;font-weight:700;color:#1f2937}
.sdmw-input,.sdmw-select{width:100%;height:42px;border:1px solid #d8dbe5;border-radius:10px;padding:0 12px;font-size:15px;background:#fff}
.sdmw-price-wrap{position:relative}
.sdmw-price-wrap .sdmw-input{padding-right:36px}
.sdmw-unit{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#667085;font-size:14px}
.sdmw-grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sdmw-type-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sdmw-type-item{height:42px;border:1px solid #d8dbe5;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#475467}
.sdmw-type-item input{display:none}
.sdmw-type-item.is-on{border-color:#7c4dff;background:#f4efff;color:#5b34d5}
.sdmw-editor{border:1px solid #d8dbe5;border-radius:10px;overflow:hidden}
.sdmw-editor textarea{width:100% !important;min-height:220px;border:0;outline:0;padding:12px;font-size:14px;line-height:1.5;color:#1f2937;box-sizing:border-box;resize:vertical;background:#fff}
.sdmw-editor .smarteditor2,
.sdmw-editor .se2_input_area,
.sdmw-editor .se2_iframe{width:100% !important;max-width:100% !important}
.sdmw-file{width:100%}
.sdmw-del{display:block;margin-top:6px;font-size:13px;color:#667085}
.sdmw-bottom{position:fixed;left:0;right:0;bottom:0;display:flex;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #eceef3;z-index:50}
.sdmw-cancel,.sdmw-submit{height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700}
.sdmw-cancel{flex:1;background:#eef2f7;color:#344054}
.sdmw-submit{flex:2;border:0;background:#7c4dff;color:#fff}

/* view */
.sd-market-view{padding:12px 16px 20px;background:#f6f7fb}
.sdmv-image{position:relative;overflow:hidden;border-radius:14px;background:#eceef3}
.sdmv-image{height:320px}
.sdmv-image img{display:block;width:100%;height:100%;object-fit:cover}
.sdmv-badge{position:absolute;left:12px;top:12px;height:28px;padding:0 10px;border-radius:14px;display:inline-flex;align-items:center;font-size:12px;font-weight:700;color:#fff}
.sdmv-badge.sell{background:#7c4dff}
.sdmv-badge.buy{background:#1d4ed8}
.sdmv-body{margin-top:10px;background:#fff;border-radius:12px;padding:14px}
.sdmv-title{margin:0 0 8px;font-size:20px;line-height:1.35;color:#111827}
.sdmv-price{font-size:28px;font-weight:800;color:#111827}
.sdmv-meta{margin-top:6px;font-size:13px;color:#667085}
.sdmv-trade-status{margin-top:10px;display:inline-flex;height:28px;padding:0 10px;border-radius:14px;align-items:center;font-size:12px;font-weight:700}
.sdmv-trade-status.status-open{background:#ecfdf3;color:#027a48}
.sdmv-trade-status.status-in_progress{background:#eff8ff;color:#175cd3}
.sdmv-trade-status.status-done{background:#f2f4f7;color:#344054}
.sdmv-content{margin-top:14px;color:#1f2937;font-size:15px;line-height:1.6}
.sdmv-trade-actions{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.sdmv-request-btn{height:44px;border-radius:10px;border:0;background:#7c4dff;color:#fff;font-weight:700}
.sdmv-request-btn:disabled{background:#d0d5dd;color:#667085}
.sdmv-owner-status{display:flex;gap:6px}
.sdmv-btn-mini{flex:1;height:34px;border-radius:8px;border:1px solid #d8dbe5;background:#fff;color:#344054;font-size:12px;font-weight:700}
.sdmv-btn-mini:disabled{opacity:.5}
.sdmv-owner-help{margin-top:6px;font-size:12px;color:#667085}
.sdmv-actions{margin-top:10px;display:flex;gap:8px}
.sdmv-btn{flex:1;height:42px;border-radius:10px;background:#fff;border:1px solid #d8dbe5;color:#344054;text-decoration:none;display:flex;align-items:center;justify-content:center;font-weight:700}
.sdmv-btn.danger{color:#b42318;border-color:#fda29b}

.sdmv-comments{margin:10px 16px 20px;background:#fff;border-radius:12px;padding:14px}
.sdmv-comments h3{margin:0 0 10px;font-size:16px}
.sdmv-comment-lock{margin:0;color:#667085;font-size:14px;line-height:1.5}
.sdmv-comment-list{list-style:none;margin:0;padding:0}
.sdmv-comment-item{padding:10px 0;border-top:1px solid #eef2f7}
.sdmv-comment-item:first-child{border-top:0;padding-top:0}
.sdmv-comment-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#667085}
.sdmv-comment-meta strong{font-size:13px;color:#111827}
.sdmv-comment-body{margin-top:6px;font-size:14px;color:#1f2937;line-height:1.5}
.sdmv-comment-blind{display:inline-block;color:#98a2b3;font-size:13px}
.sdmv-comment-empty{padding:8px 0;color:#667085;font-size:14px}
.sdmv-comment-form{margin-top:10px}
.sdmv-comment-form textarea{width:100%;min-height:96px;border:1px solid #d8dbe5;border-radius:10px;padding:10px;font-size:14px;box-sizing:border-box}
.sdmv-comment-form button{margin-top:8px;width:100%;height:40px;border:0;border-radius:10px;background:#7c4dff;color:#fff;font-weight:700}
.sdmv-review-box{margin-top:10px;background:#fff;border-radius:12px;padding:12px}
.sdmv-review-title{font-size:15px;font-weight:700;color:#111827}
.sdmv-review-score{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.sdmv-review-score label{font-size:13px;color:#344054}
.sdmv-review-box textarea{margin-top:8px;width:100%;min-height:82px;border:1px solid #d8dbe5;border-radius:10px;padding:10px;box-sizing:border-box;font-size:14px}
.sdmv-review-box button{margin-top:8px;height:38px;padding:0 14px;border:0;border-radius:10px;background:#7c4dff;color:#fff;font-weight:700}
.sdmv-review-done{margin-top:8px;color:#475467;font-size:14px}
.sdmv-review-summary{margin-top:8px;color:#667085;font-size:13px}
