.softart-tp-wrapper {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    max-width: 800px; margin: 20px auto; background: #fff; padding: 35px; text-align: center; border-radius: 8px; position: relative; box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.softart-tp-header { margin-bottom: 30px; }
.softart-tp-stars { display: flex; gap: 4px; justify-content: center; margin-bottom: 12px; }
.softart-tp-star-box { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; }
.softart-tp-overall { font-size: 15px; color: #191919; }
.softart-tp-overall a { color: inherit; text-decoration: underline; font-weight: 500; }
.softart-tp-sub { font-size: 13px; color: #999; margin: 20px 0; text-align: left; border-bottom: 1px solid #f0f0f0; padding-bottom: 8px; font-weight: 500; }
.softart-tp-viewport { overflow: hidden; position: relative; width: 100%; }
.softart-tp-track { display: flex; transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1); }
.softart-tp-slide { flex: 0 0 100%; text-align: left; }
.softart-tp-content-wrap { padding: 10px 0; min-height: 120px; }
.softart-tp-title { font-weight: 700; margin: 0 0 12px; color: #191919; display: flex; align-items: center; gap: 8px; }
.softart-tp-verified { color: #8889a0; font-size: 14px; font-weight: 400; display: inline-flex; align-items: center; gap: 4px; }
.softart-tp-text { line-height: 1.6; color: #191919; margin-bottom: 12px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.softart-tp-meta { font-size: 14px; color: #666; }
.softart-tp-controls { display: flex; align-items: center; justify-content: center; margin-top: 30px; gap: 20px; }
.softart-tp-controls button { background: #fff; border: 1px solid #e0e0e0; border-radius: 50%; width: 32px; height: 32px; cursor: pointer; color: #ccc; display: flex; align-items: center; justify-content: center; padding: 0; transition: 0.2s; }
.softart-tp-controls button:hover { border-color: #333; color: #333; }
.softart-tp-controls button svg { width: 16px; height: 16px; }
.softart-tp-dots { display: flex; gap: 10px; align-items: center; }
.softart-tp-dot { width: 10px; height: 10px; background: #dbdce0; border-radius: 50%; cursor: pointer; transition: 0.3s; }
.softart-tp-dot.active { background: #191919; }

/* AJAX loading spinner */
.softart-tp-loading-spinner {
    width: 36px; height: 36px; margin: 0 auto;
    border: 3px solid #e0e0e0; border-top-color: #00b67a;
    border-radius: 50%;
    animation: softart-tp-spin 0.8s linear infinite;
}
@keyframes softart-tp-spin {
    to { transform: rotate(360deg); }
}
