#ds82_3dps_product_data .ds82-3dps-media-field .ds82-3dps-media-url { width: 50%; margin-right: 8px; }
#ds82_3dps_product_data .ds82-3dps-media-field .button { margin-right: 8px; }
#ds82_3dps_product_data .ds82-3dps-media-field .description { display: block; margin-left: 162px; padding-top: 6px; }
.ds82-3dps-mapping-wrap { padding: 12px; }
.ds82-3dps-wide-description { max-width: 1000px; margin-bottom: 12px; }
.ds82-3dps-mapping-table th:first-child { width: 42%; }
.ds82-3dps-mapping-table th:last-child { width: 80px; }
.ds82-3dps-admin-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: 24px; align-items: start; }
.ds82-3dps-card { background: #fff; border: 1px solid #c3c4c7; padding: 20px; margin-top: 16px; }
.ds82-3dps-status-ok { color: #008a20; font-weight: 600; }
.ds82-3dps-status-error { color: #b32d2e; font-weight: 600; }
.ds82-3dps-material-thumb { width: 54px; height: 54px; object-fit: cover; border-radius: 4px; background: #eee; }
.ds82-3dps-color-chip { display: inline-block; width: 22px; height: 22px; border: 1px solid #888; border-radius: 50%; vertical-align: middle; }
.ds82-3dps-codearea { width: 100%; min-height: 220px; font-family: monospace; }
@media (max-width: 960px) { .ds82-3dps-admin-grid { grid-template-columns: 1fr; } }

.ds82-3dps-field-mapping-table th:first-child { width: 240px; }
.ds82-3dps-field-mapping-table td:nth-child(2) select { width: 100%; max-width: 620px; }
.ds82-3dps-field-mapping-table td:nth-child(3) select { min-width: 220px; }
.ds82-3dps-field-mapping-table code { font-weight: 400; }

.ds82-3dps-materials-table-wrap { overflow-x: auto; }
.ds82-3dps-materials-table { min-width: 1280px; }
.ds82-3dps-materials-table th:first-child { width: 80px; }
.ds82-3dps-multi-color-chip { display:inline-block; width:34px; height:34px; border:1px solid #8c8f94; border-radius:50%; vertical-align:middle; box-shadow:inset 0 0 0 2px rgba(255,255,255,.55); }
.ds82-3dps-color-codes { display:block; margin-top:4px; font-family:monospace; font-size:11px; white-space:nowrap; }
.ds82-3dps-integration-card { border-left: 4px solid #2271b1; }
#ds82_3dps_product_data select[multiple] { min-height: 220px; }


.ds82-3dps-form-section th { padding-top: 24px; padding-bottom: 4px; }
.ds82-3dps-form-section h3 { margin: 0; padding-top: 14px; border-top: 1px solid #dcdcde; font-size: 14px; }
.ds82-3dps-color-control { display: flex; align-items: center; gap: 10px; }
.ds82-3dps-color-control input[type="color"] { width: 52px; height: 34px; padding: 2px; }
.ds82-3dps-color-value { min-width: 72px; text-align: center; }
.ds82-3dps-live-preview-card { position: sticky; top: 48px; }
.ds82-3dps-live-preview { min-height: 220px; border: 1px solid #8c8f94; border-radius: 8px; display: grid; place-items: center; overflow: hidden; transition: background-color .15s ease; }
.ds82-3dps-live-preview > span { width: 118px; height: 118px; border-radius: 50%; border: 1px solid rgba(0,0,0,.35); box-shadow: 0 16px 34px rgba(0,0,0,.25), inset 0 0 0 2px rgba(255,255,255,.3); transition: background .15s ease; }
@media (max-width: 960px) { .ds82-3dps-live-preview-card { position: static; } }

.ds82-3dps-model-preview-title { margin-top: 24px; padding-top: 20px; border-top: 1px solid #dcdcde; }
.ds82-3dps-model-preview .ds82-3dps-viewer { margin-top: 12px; }
.ds82-3dps-model-preview .ds82-3dps-viewer__disclaimer { display: none; }

.ds82-3dps-editor-tabs { display:flex; gap:6px; margin:0 0 14px; padding-bottom:10px; border-bottom:1px solid #dcdcde; flex-wrap:wrap; }
.ds82-3dps-editor-tabs .button.is-active { background:#2271b1; border-color:#2271b1; color:#fff; }
#ds82-material-editor-table input[type=range] { width:min(420px, 80%); vertical-align:middle; }
#ds82-material-editor-table output { display:inline-block; min-width:48px; margin-left:10px; font-family:monospace; }

.ds82-3dps-integration-card {
    margin: 14px 0;
    padding: 14px 16px;
    border: 1px solid #dcdcde;
    border-radius: 6px;
    background: #fff;
}
.ds82-3dps-integration-card p { margin: 6px 0; }
.ds82-3dps-status-info { color: #135e96; font-weight: 600; }
.ds82-3dps-status-warning { color: #996800; font-weight: 600; }
.ds82-3dps-status-muted { color: #646970; font-weight: 600; }

/* Context-sensitive material controls must stay hidden outside their layout. */
#ds82-material-editor-table tr[hidden] { display: none !important; }

/* Custom 3D Print Showcase menu icon. */
#adminmenu .toplevel_page_ds82-3dps .wp-menu-image img {
    width: 20px;
    height: 20px;
    padding-top: 7px;
    opacity: .72;
}
#adminmenu .toplevel_page_ds82-3dps:hover .wp-menu-image img,
#adminmenu .toplevel_page_ds82-3dps.current .wp-menu-image img,
#adminmenu .toplevel_page_ds82-3dps.wp-has-current-submenu .wp-menu-image img {
    opacity: 1;
}


/* Shortcode builder placeholder. */
.ds82-3dps-coming-soon-card { max-width: 900px; position: relative; overflow: hidden; }
.ds82-3dps-coming-soon-badge { display: inline-block; margin-bottom: 8px; padding: 4px 10px; border-radius: 999px; background: #f0f0f1; color: #50575e; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.ds82-3dps-shortcode-builder-preview { margin-top: 20px; padding: 4px 20px 16px; border: 1px solid #dcdcde; border-radius: 6px; background: #f6f7f7; opacity: .72; }
.ds82-3dps-shortcode-builder-preview select { min-width: 260px; }

.ds82-3dps-color-availability-preview { margin: 0; padding: 0; border: 0; }
.ds82-3dps-color-availability-preview > label { display: block; margin: 0 0 3px; }
.ds82-3dps-color-availability-preview .description { margin: 0 0 10px 24px; }
.ds82-3dps-color-availability-preview select { display: block; width: min(420px, 100%); margin: 0 0 16px 24px; }
.ds82-3dps-color-availability-preview .ds82-3dps-color-mode-note { margin-top: -8px; }

/* Plugin information and changelog. */
.ds82-3dps-version-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; max-width:1100px; }
.ds82-3dps-version-card { display:flex; flex-direction:column; gap:8px; min-height:110px; box-sizing:border-box; }
.ds82-3dps-version-label { color:#50575e; font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:.035em; }
.ds82-3dps-version-number { font-size:28px; line-height:1.2; }
.ds82-3dps-version-status { font-size:18px; line-height:1.35; }
.ds82-3dps-version-unavailable { color:#646970; }
.ds82-3dps-changelog-card { max-width:1100px; }
.ds82-3dps-changelog { max-height:680px; overflow:auto; padding-right:16px; }
.ds82-3dps-changelog h3 { margin:28px 0 10px; padding-bottom:8px; border-bottom:1px solid #dcdcde; font-size:18px; }
.ds82-3dps-changelog h3:first-child { margin-top:8px; }
.ds82-3dps-changelog h4 { margin:22px 0 8px; font-size:15px; }
.ds82-3dps-changelog ul { margin:0 0 16px 20px; list-style:disc; }
.ds82-3dps-changelog li { margin:0 0 7px; }
@media (max-width:782px) { .ds82-3dps-version-grid { grid-template-columns:1fr; } }


/* Addons catalog and appearance settings. */
.ds82-3dps-addons-page { max-width: none; }

.ds82-3dps-gcn-notice { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:20px 0 24px; padding:20px 22px; border:1px solid #c3d9ed; border-left:4px solid #2271b1; border-radius:8px; background:linear-gradient(135deg,#f5faff 0%,#fff 100%); }
.ds82-3dps-gcn-notice__content { display:flex; align-items:flex-start; gap:16px; min-width:0; }
.ds82-3dps-gcn-notice__content > .dashicons { width:36px; height:36px; font-size:36px; line-height:1; color:#2271b1; }
.ds82-3dps-gcn-notice h3 { margin:0 0 6px; font-size:16px; }
.ds82-3dps-gcn-notice p { margin:0; max-width:850px; color:#3c434a; line-height:1.55; }
.ds82-3dps-gcn-notice .button { flex:0 0 auto; }
@media (max-width:782px) { .ds82-3dps-gcn-notice { align-items:stretch; flex-direction:column; } .ds82-3dps-gcn-notice .button { align-self:flex-start; } }

.ds82-3dps-addons-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px; margin-top:20px; }
.ds82-3dps-addon-card { padding:18px; border:1px solid #dcdcde; border-radius:8px; background:#fff; }
.ds82-3dps-addon-card__header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:12px; }
.ds82-3dps-addon-card h3 { margin:0; font-size:17px; }
.ds82-3dps-addon-card p { margin:0; color:#50575e; line-height:1.55; }
.ds82-3dps-addon-status { display:inline-flex; align-items:center; white-space:nowrap; padding:4px 9px; border-radius:999px; font-size:12px; font-weight:600; }
.ds82-3dps-addon-status--development { background:#fcf0c3; color:#6e4e00; }
.ds82-3dps-addon-status--preparation { background:#e8eef5; color:#324a63; }
.ds82-3dps-settings-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.ds82-3dps-settings-columns section { min-width:0; }
.ds82-3dps-settings-columns h3 { margin-top:0; }
@media (max-width:1100px) { .ds82-3dps-settings-columns { grid-template-columns:1fr; gap:18px; } }
