/* WP XVendor - Frontend Styles */

/* Vendor Info Box on Product Page - Compact & Clean Design */

/* Add subtle pattern overlay */

/* Vendor Store Page: uses the full width of the theme's content area
   (block themes limit page content to a narrow column by default). */
.wpxv-vendor-store {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 0 30px;
    box-sizing: border-box;
}

.wpxv-store-products {
    margin-top: 50px;
}

.wpxv-section-title {
    font-size: 32px;
    font-weight: 700;
    color: #1f2937;
    margin: 0 0 30px 0;
    padding-bottom: 15px;
    border-bottom: 3px solid var(--wpxv-primary-2, #667eea);
    display: inline-block;
}

/* WooCommerce Product Grid - Let Theme Handle Styling */
/* The theme's WooCommerce styles will automatically apply to vendor store products */
/* We only ensure the products container exists, theme does the rest */

.wpxv-vendor-store .products {
    /* Let theme handle all product grid styling */
    /* This ensures vendor products match the main shop design */
}

/* Only style the "no products" message */
.wpxv-no-products {
    text-align: center !important;
    padding: 60px 20px !important;
    font-size: 18px !important;
    color: #64748b !important;
    background: #f8fafc !important;
    border-radius: 12px !important;
    border: 2px dashed #e2e8f0 !important;
}

/* SVG Icon Styling */
.wpxv-icon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

/* Location icon - red */

/* Email icon - blue */

.wpxv-store-products {
    margin-top: 40px;
}

/* Let WooCommerce and theme handle product styling - minimal override */
.wpxv-store-products ul.products {
    /* Theme will handle the grid/layout */
}

.wpxv-section-title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 3px solid var(--wpxv-primary, #4f46e5);
    color: #1f2937;
}

.wpxv-no-products {
    text-align: center;
    padding: 60px 20px;
    color: #9ca3af;
    font-size: 18px;
    background: #f9fafb;
    border-radius: 12px;
    border: 2px dashed #e5e7eb;
}

/* Vendor Dashboard */
.wpxv-vendor-dashboard {
    max-width: 1400px;
    margin: 40px auto;
    padding: 20px;
    box-sizing: border-box;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    border-radius: 16px;
}

.wpxv-dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding: 30px;
    background: linear-gradient(135deg, var(--wpxv-primary, #4f46e5) 0%, var(--wpxv-primary-dark, #4338ca) 100%);
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.15);
    box-sizing: border-box;
    width: 100%;
}

.wpxv-dashboard-welcome h1 {
    margin: 0 0 8px 0;
    font-size: 32px;
    color: #ffffff;
    font-weight: 700;
    letter-spacing: -0.5px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.wpxv-shop-link-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.wpxv-shop-link-icon:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.25);
    transform: translateY(-2px);
}

.wpxv-shop-link-icon svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.wpxv-dashboard-welcome p {
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 15px;
    font-weight: 400;
}

.wpxv-dashboard-actions {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

.wpxv-approval-pending-banner {
    background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);
    border: 2px solid #f59e0b;
    border-radius: 12px;
    padding: 30px;
    margin-bottom: 30px;
    display: flex;
    align-items: flex-start;
    gap: 25px;
    box-shadow: 0 4px 15px rgba(245, 158, 11, 0.1);
}

.wpxv-approval-icon {
    flex-shrink: 0;
}

.wpxv-approval-content h3 {
    margin: 0 0 15px 0;
    color: #92400e;
    font-size: 22px;
}

.wpxv-approval-content p {
    margin: 0 0 12px 0;
    color: #78350f;
    font-size: 15px;
    line-height: 1.6;
}

.wpxv-approval-note {
    font-style: italic;
    font-size: 14px !important;
    color: #a16207 !important;
}

.wpxv-tab-disabled {
    opacity: 0.5;
    cursor: not-allowed !important;
}

.wpxv-tab-disabled:hover {
    color: #666 !important;
    border-bottom-color: transparent !important;
}

.wpxv-dashboard-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 35px;
}

.wpxv-stat-card {
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
    padding: 30px 25px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.08);
    text-align: center;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.wpxv-stat-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--wpxv-primary, #4f46e5), var(--wpxv-primary-2, #667eea));
    opacity: 0;
    transition: opacity 0.3s;
}

.wpxv-stat-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.15);
    border-color: rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.2);
}

.wpxv-stat-card:hover::before {
    opacity: 1;
}

.wpxv-stat-card h3 {
    font-size: 42px;
    margin: 0 0 12px 0;
    font-weight: 700;
    background: linear-gradient(135deg, var(--wpxv-primary, #4f46e5) 0%, var(--wpxv-primary-2, #667eea) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.wpxv-stat-card p {
    margin: 0;
    color: #666;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.wpxv-dashboard-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 0;
    background: #ffffff;
    padding: 8px;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}

.wpxv-tab-btn {
    padding: 14px 28px;
    background: transparent;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 600;
    color: #666;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.wpxv-tab-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.08) 0%, rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.08) 100%);
    opacity: 0;
    transition: opacity 0.3s;
}

.wpxv-tab-btn:hover {
    color: var(--wpxv-primary, #4f46e5);
}

.wpxv-tab-btn:hover::before {
    opacity: 1;
}

.wpxv-tab-btn.active {
    color: black;
    background: linear-gradient(135deg, var(--wpxv-primary, #4f46e5) 0%, var(--wpxv-primary-2, #667eea) 100%);
    box-shadow: 0 4px 12px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.25);
}

.wpxv-tab-btn.active::before {
    opacity: 0;
}

.wpxv-tab-content {
    display: none;
    background: #ffffff;
    padding: 35px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
    box-sizing: border-box;
    width: 100%;
    margin-top: 24px;
    border: 1px solid rgba(0, 0, 0, 0.04);
}

.wpxv-tab-content.active {
    display: block;
}

/* Store Preview Section */

/* Profile Header */
.wpxv-profile-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid #f0f0f0;
}

.wpxv-profile-header h2 {
    margin: 0;
    font-size: 24px;
    color: #333;
}

/* Profile View (Read-only) */
.wpxv-profile-view {
    background: #ffffff;
    border: 1px solid #e0e7ed;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.wpxv-profile-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

.wpxv-profile-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.wpxv-profile-item-full {
    grid-column: 1 / -1;
}

.wpxv-profile-label {
    font-size: 13px;
    font-weight: 600;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.wpxv-profile-value {
    font-size: 16px;
    color: #333;
    font-weight: 500;
    padding: 12px 16px;
    background: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e0e7ed;
    min-height: 48px;
    display: flex;
    align-items: center;
 	white-space: normal;         /* allow wrapping */
 	word-break: break-word;      /* break long strings */
  	overflow-wrap: anywhere;     /* modern wrapping */
}

.wpxv-profile-empty {
    color: #999;
    font-style: italic;
}

.wpxv-profile-logo {
    max-width: 120px;
    max-height: 120px;
    border-radius: 8px;
    object-fit: cover;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.wpxv-profile-color-display {
    display: flex;
    align-items: center;
    gap: 12px;
}

.wpxv-profile-color-box {
    width: 40px;
    height: 40px;
    border-radius: 6px;
    border: 2px solid #e0e7ed;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.wpxv-form {
    max-width: 700px;
}

.wpxv-form-row {
    margin-bottom: 20px;
}

.wpxv-form-row label {
    display: block;
    margin-bottom: 10px;
    font-weight: 600;
    color: #333;
    font-size: 15px;
    letter-spacing: 0.2px;
}

.wpxv-form-row input[type="text"],
.wpxv-form-row input[type="email"],
.wpxv-form-row input[type="url"],
.wpxv-form-row input[type="number"],
.wpxv-form-row textarea,
.wpxv-form-row select {
    width: 100%;
    padding: 14px 16px;
    border: 2px solid #e0e7ed;
    border-radius: 10px;
    font-size: 15px;
    transition: all 0.3s ease;
    box-sizing: border-box;
    font-family: inherit;
    background: #ffffff;
    color: #333;
}

/* Price input gets special padding for currency symbol */
.wpxv-form-row .wpxv-price-input-wrapper input[type="number"] {
    padding-left: 40px !important;
}

/* Store URL Slug Input Styling */
.wpxv-slug-wrapper {
    display: flex;
    align-items: stretch;
    border: 2px solid #e0e7ed;
    border-radius: 10px;
    overflow: hidden;
    transition: all 0.3s ease;
    background: #ffffff;
}

.wpxv-slug-wrapper:focus-within {
    border-color: var(--wpxv-primary, #4f46e5);
    box-shadow: 0 0 0 3px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.1);
}

.wpxv-slug-base {
    display: flex;
    align-items: center;
    padding: 14px 16px;
    background: #f5f7fa;
    color: #666;
    font-size: 14px;
    font-weight: 500;
    border-right: 2px solid #e0e7ed;
    white-space: nowrap;
    user-select: none;
}

.wpxv-slug-wrapper input[type="text"] {
    border: none !important;
    border-radius: 0 !important;
    flex: 1;
    min-width: 0;
    padding: 14px 16px !important;
    font-size: 15px !important;
    box-shadow: none !important;
}

.wpxv-slug-wrapper input[type="text"]:focus {
    outline: none;
    box-shadow: none !important;
}

/* Category select styling */
.wpxv-form-row select option[value=""] {
    color: #999;
    font-style: italic;
}

.wpxv-form-row select option {
    padding: 8px;
    color: #333;
}

.wpxv-form-row input:focus,
.wpxv-form-row textarea:focus,
.wpxv-form-row select:focus {
    border-color: var(--wpxv-primary, #4f46e5);
    outline: none;
    box-shadow: 0 0 0 4px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.1);
    background: #ffffff;
}

/* Password Toggle */
.wpxv-password-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.wpxv-password-wrapper input[type="password"],
.wpxv-password-wrapper input[type="text"] {
    padding-right: 50px;
}

/* Price Input with Currency Symbol */
.wpxv-vendor-dashboard .wpxv-form-row .wpxv-price-input-wrapper,
.wpxv-price-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

.wpxv-vendor-dashboard .wpxv-form-row .wpxv-currency-symbol,
.wpxv-currency-symbol {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 16px;
    font-weight: 600;
    color: #666;
    pointer-events: none;
    z-index: 2;
    background: transparent;
    line-height: 1;
}

.wpxv-vendor-dashboard .wpxv-form-row .wpxv-price-input-wrapper input[type="number"],
.wpxv-price-input-wrapper input[type="number"] {
    padding-left: 40px !important;
    width: 100%;
}

/* Password Toggle Icon - Scoped properly */
.wpxv-login-wrapper .wpxv-password-toggle,
.wpxv-registration-wrapper .wpxv-password-toggle,
.wpxv-forgot-password-wrapper .wpxv-password-toggle,
.wpxv-reset-password-wrapper .wpxv-password-toggle {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 8px !important;
    color: #666 !important;
    font-size: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10 !important;
    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
}

.wpxv-login-wrapper .wpxv-password-toggle:hover,
.wpxv-registration-wrapper .wpxv-password-toggle:hover,
.wpxv-forgot-password-wrapper .wpxv-password-toggle:hover,
.wpxv-reset-password-wrapper .wpxv-password-toggle:hover {
    color: var(--wpxv-primary, #4f46e5) !important;
}

.wpxv-login-wrapper .wpxv-password-toggle svg,
.wpxv-registration-wrapper .wpxv-password-toggle svg,
.wpxv-forgot-password-wrapper .wpxv-password-toggle svg,
.wpxv-reset-password-wrapper .wpxv-password-toggle svg {
    width: 20px !important;
    height: 20px !important;
    fill: currentColor !important;
    display: block !important;
}

/* Ensure only one eye icon shows at a time */
.wpxv-login-wrapper .wpxv-password-toggle .eye-open,
.wpxv-registration-wrapper .wpxv-password-toggle .eye-open,
.wpxv-forgot-password-wrapper .wpxv-password-toggle .eye-open,
.wpxv-reset-password-wrapper .wpxv-password-toggle .eye-open {
    display: block !important;
}

.wpxv-login-wrapper .wpxv-password-toggle .eye-closed,
.wpxv-registration-wrapper .wpxv-password-toggle .eye-closed,
.wpxv-forgot-password-wrapper .wpxv-password-toggle .eye-closed,
.wpxv-reset-password-wrapper .wpxv-password-toggle .eye-closed {
    display: none !important;
}

.wpxv-form-row textarea {
    resize: vertical;
}

.wpxv-image-upload {
    margin-top: 10px;
}

.wpxv-image-preview {
    position: relative;
    display: inline-block;
    margin-bottom: 10px;
}

.wpxv-image-preview img {
    max-width: 200px;
    max-height: 200px;
    border-radius: 5px;
    border: 1px solid #ddd;
}

.wpxv-remove-image {
    position: absolute !important;
    top: -10px;
    right: -10px;
    background-color: #d63638 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    font-size: 14px !important;
        padding: 0px 8px 0px 8px !important;
    min-height: 20px !important;
    min-width: 20px !important;
}

.wpxv-gallery-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
}

.wpxv-gallery-preview .wpxv-image-preview {
    margin: 0;
}

.wpxv-gallery-preview img {
    max-width: 100px;
    max-height: 100px;
}

/* Dashboard Form Buttons - Specific styling to prevent conflicts */
.wpxv-vendor-dashboard .wpxv-form button[type="submit"],
.wpxv-vendor-dashboard .wpxv-form input[type="submit"],
.wpxv-vendor-dashboard .wpxv-form input[type="button"],
.wpxv-vendor-dashboard #wpxv-product-form button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 28px;
    background: linear-gradient(135deg, var(--wpxv-primary, #4f46e5) 0%, var(--wpxv-primary-dark, #1557a0) 100%);
    color: #fff;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    text-align: center;
    box-shadow: 0 4px 15px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.3);
    position: relative;
    overflow: hidden;
}

.wpxv-vendor-dashboard .wpxv-form button[type="submit"]::before,
.wpxv-vendor-dashboard #wpxv-product-form button[type="submit"]::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%);
    opacity: 0;
    transition: opacity 0.3s;
}

.wpxv-vendor-dashboard .wpxv-form button[type="submit"]:hover,
.wpxv-vendor-dashboard .wpxv-form input[type="submit"]:hover,
.wpxv-vendor-dashboard #wpxv-product-form button[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.4);
}

.wpxv-vendor-dashboard .wpxv-form button[type="submit"]:hover::before,
.wpxv-vendor-dashboard #wpxv-product-form button[type="submit"]:hover::before {
    opacity: 1;
}

/* Upload buttons - modern styling */
.wpxv-vendor-dashboard .wpxv-form .button,
.wpxv-vendor-dashboard .wpxv-upload-btn,
.wpxv-vendor-dashboard input[type="button"].button,
.wpxv-vendor-dashboard button.button:not([type="submit"]) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 22px;
    background: #ffffff;
    color: var(--wpxv-primary, #4f46e5);
    border: 2px solid #e0e7ed;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.wpxv-vendor-dashboard .wpxv-form .button:hover,
.wpxv-vendor-dashboard .wpxv-upload-btn:hover,
.wpxv-vendor-dashboard input[type="button"].button:hover,
.wpxv-vendor-dashboard button.button:not([type="submit"]):hover {
    background: #f8f9fa;
    border-color: var(--wpxv-primary, #4f46e5);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.15);
}

/* Base Button Styling - Modern Design */
.wpxv-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 28px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    line-height: 1.5;
    position: relative;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.wpxv-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%);
    opacity: 0;
    transition: opacity 0.3s;
}

.wpxv-btn:hover::before {
    opacity: 1;
}

.wpxv-btn-primary {
    background: linear-gradient(135deg, var(--wpxv-primary, #4f46e5) 0%, var(--wpxv-primary-dark, #1557a0) 100%);
    color: #fff !important;
    box-shadow: 0 4px 15px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.3);
}

.wpxv-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.4);
}

.wpxv-btn-primary:active {
    transform: translateY(0);
}

.wpxv-btn-secondary {
    background: #ffffff;
    color: var(--wpxv-primary, #4f46e5) !important;
    border: 2px solid #e0e7ed;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.wpxv-btn-secondary:hover {
    background: #f8f9fa;
    border-color: var(--wpxv-primary, #4f46e5);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.15);
}

.wpxv-btn-secondary:active {
    transform: translateY(0);
}

.wpxv-btn-danger {
    background: linear-gradient(135deg, #d63638 0%, #b71c1c 100%);
    color: #fff !important;
    box-shadow: 0 4px 15px rgba(214, 54, 56, 0.3);
}

.wpxv-btn-danger:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(214, 54, 56, 0.4);
}

.wpxv-btn-danger:active {
    transform: translateY(0);
}

.wpxv-btn-small {
    padding: 8px 18px;
    font-size: 13px;
    border-radius: 8px;
    font-weight: 600;
}

.wpxv-btn-large {
    width: 100%;
    padding: 16px 32px;
    font-size: 16px;
    font-weight: 700;
    border-radius: 12px;
}
    color: var(--wpxv-primary, #4f46e5) !important;
}

.wpxv-btn-danger {
    background: #d63638;
    color: #fff !important;
}

.wpxv-btn-danger:hover {
    background: #c01e20;
}

.wpxv-btn-small {
    padding: 8px 16px;
    font-size: 13px;
}

.wpxv-btn-large {
    width: 100%;
    padding: 14px 24px;
    font-size: 16px;
    font-weight: 600;
}

.wpxv-form-actions {
    margin-top: 30px;
    display: flex;
    gap: 10px;
}

.wpxv-message {
    padding: 15px 20px;
    border-radius: 5px;
    margin: 20px 0;
}

.wpxv-message.wpxv-success {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.wpxv-message.wpxv-error {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.wpxv-message.wpxv-warning {
    background: #fff3cd;
    color: #856404;
    border: 1px solid #ffeaa7;
}

.wpxv-table {
    width: 100%;
    border-collapse: collapse;
}

.wpxv-table thead {
    background: #f5f5f5;
}

.wpxv-table th,
.wpxv-table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid #e0e0e0;
}

.wpxv-table th {
    font-weight: 600;
    color: #333;
}

.wpxv-table img {
    max-width: 60px;
    border-radius: 5px;
}

.wpxv-status {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
}

.wpxv-status-live {
    background: #d4edda;
    color: #155724;
}

.wpxv-status-pending {
    background: #fff3cd;
    color: #856404;
}

.wpxv-status-draft {
    background: #e0e0e0;
    color: #666;
}

/* ================================================
   RESPONSIVE STYLES - Mobile First Approach
   ================================================ */

/* Tablets and small desktops (768px - 1024px) */
@media (max-width: 1024px) {
    /* Vendor Store Header */
    
    
    
    
    
    
    /* Dashboard */
    .wpxv-vendor-dashboard {
        padding: 15px;
    }
    
    .wpxv-dashboard-welcome h1 {
        font-size: 24px;
    }
    
    /* Tables - scroll on tablet */
    .wpxv-table-responsive {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* Mobile devices (max-width: 768px) */
@media (max-width: 768px) {
    /* Store Preview - Mobile */
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    /* Profile View - Single Column */
    .wpxv-profile-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .wpxv-profile-item-full {
        grid-column: 1;
    }
    
    .wpxv-profile-header {
        flex-direction: column;
        align-items: stretch;
        gap: 15px;
    }
    
    .wpxv-profile-header h2 {
        text-align: center;
    }
    
    #wpxv-edit-profile-btn {
        width: 100%;
    }
    
    /* Dashboard Stats - Single Column */
    .wpxv-dashboard-stats {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-bottom: 20px;
    }
    
    .wpxv-stat-card {
        padding: 18px;
    }
    
    .wpxv-stat-card h3 {
        font-size: 32px;
        margin-bottom: 8px;
    }
    
    .wpxv-stat-card p {
        font-size: 14px;
    }
    
    /* Dashboard Header */
    .wpxv-dashboard-header {
        flex-direction: column;
        text-align: center;
        gap: 15px;
        padding: 15px;
        width: 100%;
        box-sizing: border-box;
    }
    
    .wpxv-dashboard-welcome {
        width: 100%;
    }
    
    .wpxv-dashboard-welcome h1 {
        font-size: 22px;
        flex-direction: column;
        gap: 8px;
    }
    
    .wpxv-dashboard-welcome p {
        font-size: 13px;
        margin-top: 5px;
    }
    
    .wpxv-dashboard-actions {
        width: 100%;
        flex-direction: column;
        gap: 10px;
        box-sizing: border-box;
    }
    
    .wpxv-dashboard-actions .wpxv-btn {
        width: 100%;
        padding: 14px 20px;
        font-size: 15px;
        box-sizing: border-box;
    }
    
    /* Approval Banner */
    .wpxv-approval-pending-banner {
        flex-direction: column;
        text-align: center;
        padding: 20px;
    }
    
    .wpxv-approval-content h3 {
        font-size: 18px;
    }
    
    /* Tabs - Scrollable */
    .wpxv-dashboard-tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        flex-wrap: nowrap;
        margin-bottom: 0;
        border-bottom: 2px solid #e0e0e0;
        padding: 0;
        gap: 0;
    }
    
    .wpxv-tab-btn {
        padding: 12px 20px;
        font-size: 15px;
        white-space: nowrap;
        flex-shrink: 0;
        border-bottom-width: 3px;
    }
    
    .wpxv-tab-btn.active {
        background: rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.05);
    }
    
    /* Tab Content */
    .wpxv-tab-content {
        padding: 20px 15px;
        border-radius: 0 0 8px 8px;
    }
    
    .wpxv-tab-content h2 {
        font-size: 20px;
        margin-bottom: 15px;
    }
    
    /* Forms */
    .wpxv-form {
        max-width: 100%;
    }
    
    .wpxv-form-row {
        margin-bottom: 15px;
    }
    
    .wpxv-form-row label {
        font-size: 14px;
    }
    
    .wpxv-form-row input[type="text"],
    .wpxv-form-row input[type="email"],
    .wpxv-form-row input[type="url"],
    .wpxv-form-row input[type="number"],
    .wpxv-form-row textarea,
    .wpxv-form-row select {
        padding: 12px 14px;
        font-size: 15px;
    }
    
    /* Store Header */
    
    
    
    
    
    
    
    
    
    
    /* Contact Bar */
    
    
    
    
    
    
    /* Vendor Info Box */
    
    
    .wpxv-vendor-header {
        flex-direction: column;
        text-align: center;
    }
    
    /* Tables - Mobile Card Layout */
    .wpxv-table {
        font-size: 14px;
        display: block;
        overflow: visible;
    }
    
    .wpxv-table thead {
        display: none;
    }
    
    .wpxv-table tbody,
    .wpxv-table tr,
    .wpxv-table td {
        display: block;
        width: 100%;
    }
    
    .wpxv-table tr {
        margin-bottom: 20px;
        border: 2px solid #e0e0e0;
        border-radius: 12px;
        padding: 15px;
        background: #fff;
        box-shadow: 0 2px 8px rgba(0,0,0,0.05);
        box-sizing: border-box;
        width: 100%;
    }
    
    /* First cell (Image) - Center aligned */
    .wpxv-table td:first-child {
        text-align: center;
        padding: 0 0 15px 0;
        border-bottom: 1px solid #f0f0f0;
        margin-bottom: 12px;
    }
    
    .wpxv-table td:first-child::before {
        display: none;
    }
    
    .wpxv-table td:first-child > div {
        margin: 0 auto;
    }
    
    /* Middle cells (Product details) - Two column layout */
    .wpxv-table td:not(:first-child):not(:last-child) {
        text-align: left;
        padding: 8px 0;
        border: none;
        position: relative;
        padding-left: 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        min-height: 32px;
        flex-wrap: wrap;
    }
    
    .wpxv-table td:not(:first-child):not(:last-child)::before {
        content: attr(data-label);
        position: static;
        width: auto;
        padding-right: 15px;
        font-weight: 600;
        color: #666;
        font-size: 13px;
        flex-shrink: 0;
    }
    
    .wpxv-table td:not(:first-child):not(:last-child) strong {
        flex: 1;
        text-align: right;
        font-weight: 600;
        color: #333;
        font-size: 14px;
    }
    
    /* Specific styling for price and status */
    .wpxv-table td:not(:first-child):not(:last-child) .wpxv-status {
        margin-left: auto;
    }
    
    .wpxv-table td:not(:first-child):not(:last-child) > *:not(::before) {
        flex: 1;
        text-align: right;
        font-weight: 500;
        word-break: break-word;
    }
    
    /* Last cell (Actions) - Center aligned with padding */
    .wpxv-table td:last-child {
        padding: 12px 0 12px 0;
        text-align: center;
        border-top: 1px solid #f0f0f0;
        margin-top: 8px;
        display: flex;
        justify-content: center;
        gap: 8px;
        align-items: center;
        vertical-align: middle;
    }
    
    .wpxv-table td:last-child::before {
        content: attr(data-label);
        display: block;
        width: 100%;
        text-align: left;
        font-weight: 600;
        color: #666;
        font-size: 12px;
        
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    .wpxv-table img {
        max-width: 80px;
        height: 80px;
        object-fit: cover;
        border-radius: 8px;
    }
    
    /* Form Actions */
    .wpxv-form-actions {
        flex-direction: column;
    }
    
    .wpxv-form-actions .wpxv-btn {
        width: 100%;
    }
    
    /* Section Title */
    .wpxv-section-title {
        font-size: 24px;
        margin-bottom: 20px;
    }
}

/* Small Mobile devices (max-width: 480px) */
@media (max-width: 480px) {
    /* Dashboard */
    .wpxv-vendor-dashboard {
        padding: 10px;
    }
    
    .wpxv-dashboard-header {
        padding: 12px;
    }
    
    .wpxv-dashboard-welcome h1 {
        font-size: 20px;
    }
    
    .wpxv-dashboard-welcome p {
        font-size: 13px;
    }
    
    /* Stats */
    .wpxv-stat-card {
        padding: 15px;
    }
    
    .wpxv-stat-card h3 {
        font-size: 24px;
    }
    
    .wpxv-stat-card p {
        font-size: 13px;
    }
    
    /* Tabs */
    .wpxv-tab-btn {
        padding: 8px 14px;
        font-size: 13px;
    }
    
    .wpxv-tab-content {
        padding: 15px 10px;
    }
    
    /* Store Header */
    
    
    
    
    
    
    
    
    /* Contact Bar */
    
    
    
    
    
    
    /* Vendor Info Box */
    
    
    /* Forms */
    .wpxv-form-row input[type="text"],
    .wpxv-form-row input[type="email"],
    .wpxv-form-row input[type="url"],
    .wpxv-form-row input[type="number"],
    .wpxv-form-row textarea,
    .wpxv-form-row select {
        padding: 10px 12px;
        font-size: 14px;
    }
    
    /* Buttons */
    .wpxv-btn {
        padding: 10px 18px;
        font-size: 14px;
    }
    
    .wpxv-btn-small {
        padding: 6px 12px;
        font-size: 12px;
    }
    
    /* Icon Buttons */
    .wpxv-vendor-dashboard .wpxv-icon-btn {
        width: 28px !important;
        height: 28px !important;
    }
    
    .wpxv-vendor-dashboard .wpxv-icon-btn svg {
        width: 14px !important;
        height: 14px !important;
    }
    
    /* Messages */
    .wpxv-message {
        padding: 12px 15px;
        font-size: 14px;
    }
    
    /* Shop Link Icon */
    .wpxv-shop-link-icon {
        width: 28px;
        height: 28px;
    }
    
    .wpxv-shop-link-icon svg {
        width: 16px;
        height: 16px;
    }
    
    /* Section Title */
    .wpxv-section-title {
        font-size: 20px;
        margin-bottom: 15px;
    }
    
    /* Table compact view */
    .wpxv-table tr {
        padding: 10px;
    }
    
    .wpxv-table td {
        padding: 6px 0;
        font-size: 13px;
    }
}

/* Vendor Registration - Strong scoping to prevent theme override */
.wpxv-registration-wrapper {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 40px 20px !important;
    min-height: 600px !important;
    box-sizing: border-box !important;
}

.wpxv-registration-container {
    max-width: 500px !important;
    width: 100% !important;
    background: #fff !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
    padding: 40px !important;
    box-sizing: border-box !important;
}

.wpxv-registration-wrapper .wpxv-registration-header,
.wpxv-registration-header {
    text-align: center !important;
    margin-bottom: 30px !important;
}

.wpxv-registration-wrapper .wpxv-registration-header h2,
.wpxv-registration-header h2 {
    margin: 0 0 10px 0 !important;
    color: var(--wpxv-primary, #4f46e5) !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

.wpxv-registration-wrapper .wpxv-registration-header p,
.wpxv-registration-header p {
    margin: 0 !important;
    color: #666 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.wpxv-registration-wrapper .wpxv-registration-form,
.wpxv-registration-form {
    margin-bottom: 20px !important;
}

.wpxv-registration-wrapper .wpxv-form-group,
.wpxv-form-group {
    margin-bottom: 20px !important;
    position: relative !important;
}

.wpxv-registration-wrapper .wpxv-form-group label,
.wpxv-registration-container .wpxv-form-group label {
    display: block !important;
    margin-bottom: 8px !important;
    font-weight: 600 !important;
    color: #333 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.wpxv-registration-wrapper .wpxv-form-group .required,
.wpxv-registration-container .wpxv-form-group .required {
    color: #d63638 !important;
}

.wpxv-registration-wrapper .wpxv-form-group input[type="text"],
.wpxv-registration-wrapper .wpxv-form-group input[type="number"],
.wpxv-registration-wrapper .wpxv-form-group input[type="email"],
.wpxv-registration-wrapper .wpxv-form-group input[type="password"],
.wpxv-registration-container .wpxv-form-group input[type="text"],
.wpxv-registration-container .wpxv-form-group input[type="email"],
.wpxv-registration-container .wpxv-form-group input[type="password"] {
    width: 100% !important;
    padding: 12px 15px !important;
    border: 1px solid #ddd !important;
    border-radius: 5px !important;
    font-size: 14px !important;
    transition: border-color 0.3s !important;
    box-sizing: border-box !important;
    background: #fff !important;
    color: #333 !important;
    font-family: inherit !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

.wpxv-registration-wrapper .wpxv-form-group input:focus,
.wpxv-registration-container .wpxv-form-group input:focus {
    outline: none !important;
    border-color: var(--wpxv-primary, #4f46e5) !important;
    box-shadow: 0 0 0 1px var(--wpxv-primary, #4f46e5) !important;
}

.wpxv-registration-wrapper .wpxv-form-group small,
.wpxv-registration-container .wpxv-form-group small {
    display: block !important;
    margin-top: 5px !important;
    color: #666 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

.wpxv-registration-wrapper .wpxv-registration-info,
.wpxv-registration-info {
    background: #f0f6fc !important;
    border-left: 4px solid var(--wpxv-primary, #4f46e5) !important;
    padding: 15px !important;
    margin: 20px 0 !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
}

.wpxv-registration-wrapper .wpxv-registration-info p,
.wpxv-registration-info p {
    margin: 0 !important;
    font-size: 13px !important;
    color: #333 !important;
    line-height: 1.6 !important;
}

.wpxv-registration-wrapper .wpxv-registration-info strong,
.wpxv-registration-info strong {
    color: var(--wpxv-primary, #4f46e5) !important;
    font-weight: 600 !important;
}

/* Button styling for registration */
.wpxv-registration-wrapper .wpxv-btn-large,
.wpxv-registration-wrapper button.wpxv-btn,
.wpxv-registration-form button.wpxv-btn,
.wpxv-btn-large {
    width: 100% !important;
    padding: 14px 20px !important;
    font-size: 16px !important;
    background: var(--wpxv-primary, #4f46e5) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    font-weight: 600 !important;
    text-align: center !important;
    display: inline-block !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

.wpxv-registration-wrapper .wpxv-btn-large:hover,
.wpxv-registration-wrapper button.wpxv-btn:hover,
.wpxv-registration-form button.wpxv-btn:hover {
    background: var(--wpxv-primary-dark, #4338ca) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.3) !important;
}

.wpxv-registration-wrapper .wpxv-registration-footer,
.wpxv-registration-footer {
    text-align: center !important;
    padding-top: 20px !important;
    border-top: 1px solid #e0e0e0 !important;
    margin-top: 20px !important;
}

.wpxv-registration-wrapper .wpxv-registration-footer p,
.wpxv-registration-footer p {
    margin: 0 !important;
    color: #666 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.wpxv-registration-wrapper .wpxv-registration-footer a,
.wpxv-registration-footer a {
    color: var(--wpxv-primary, #4f46e5) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}

.wpxv-registration-wrapper .wpxv-registration-footer a:hover,
.wpxv-registration-footer a:hover {
    text-decoration: underline !important;
}

.wpxv-registration-wrapper #wpxv-registration-message,
#wpxv-registration-message {
    margin-top: 20px !important;
}

@media (max-width: 600px) {
    /* Slug Wrapper Mobile */
    .wpxv-slug-wrapper {
        flex-direction: column;
    }
    
    .wpxv-slug-base {
        border-right: none;
        border-bottom: 2px solid #e0e7ed;
        justify-content: center;
        font-size: 12px;
        padding: 10px 12px;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    
    .wpxv-slug-wrapper input[type="text"] {
        padding: 12px 14px !important;
        font-size: 14px !important;
    }
    
    .wpxv-registration-container {
        padding: 25px 18px !important;
    }
    
    .wpxv-registration-wrapper .wpxv-registration-header h2,
    .wpxv-registration-header h2 {
        font-size: 22px !important;
    }
    
    .wpxv-registration-wrapper .wpxv-registration-header p,
    .wpxv-registration-header p {
        font-size: 13px !important;
    }
    
    .wpxv-registration-wrapper {
        padding: 20px 15px !important;
        min-height: auto !important;
    }
    
    .wpxv-registration-wrapper .wpxv-form-group,
    .wpxv-registration-container .wpxv-form-group {
        margin-bottom: 16px !important;
    }
    
    .wpxv-registration-wrapper .wpxv-form-group label,
    .wpxv-registration-container .wpxv-form-group label {
        font-size: 13px !important;
    }
    
    .wpxv-registration-wrapper .wpxv-form-group input[type="text"],
    .wpxv-registration-wrapper .wpxv-form-group input[type="number"],
    .wpxv-registration-wrapper .wpxv-form-group input[type="email"],
    .wpxv-registration-wrapper .wpxv-form-group input[type="password"],
    .wpxv-registration-container .wpxv-form-group input[type="text"],
    .wpxv-registration-container .wpxv-form-group input[type="email"],
    .wpxv-registration-container .wpxv-form-group input[type="password"] {
        padding: 11px 13px !important;
        font-size: 15px !important;
    }
    
    .wpxv-registration-wrapper .wpxv-form-group small,
    .wpxv-registration-container .wpxv-form-group small {
        font-size: 11px !important;
    }
    
    .wpxv-registration-wrapper .wpxv-registration-info,
    .wpxv-registration-container .wpxv-registration-info {
        padding: 12px !important;
        font-size: 12px !important;
    }
}

/* Vendor Login - Strong scoping to prevent theme override */
.wpxv-login-wrapper {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 40px 20px !important;
    min-height: 500px !important;
    box-sizing: border-box !important;
}

.wpxv-login-container {
    max-width: 420px !important;
    width: 100% !important;
    background: #fff !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
    padding: 40px !important;
    box-sizing: border-box !important;
}

.wpxv-login-wrapper .wpxv-login-header,
.wpxv-login-header {
    text-align: center !important;
    margin-bottom: 30px !important;
}

.wpxv-login-wrapper .wpxv-login-header h2,
.wpxv-login-header h2 {
    margin: 0 0 10px 0 !important;
    color: var(--wpxv-primary, #4f46e5) !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

.wpxv-login-wrapper .wpxv-login-header p,
.wpxv-login-header p {
    margin: 0 !important;
    color: #666 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.wpxv-login-wrapper .wpxv-login-form,
.wpxv-login-form {
    margin-bottom: 20px !important;
}

.wpxv-login-wrapper .wpxv-remember-me label,
.wpxv-remember-me label {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-weight: normal !important;
    cursor: pointer !important;
    font-size: 14px !important;
    color: #333 !important;
}

.wpxv-login-wrapper .wpxv-remember-me input[type="checkbox"],
.wpxv-remember-me input[type="checkbox"] {
    width: auto !important;
    margin: 0 !important;
}

/* Login buttons */
.wpxv-login-wrapper .wpxv-btn,
.wpxv-login-wrapper button.wpxv-btn,
.wpxv-login-form button.wpxv-btn {
    width: 100% !important;
    padding: 14px 20px !important;
    font-size: 16px !important;
    background: var(--wpxv-primary, #4f46e5) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    font-weight: 600 !important;
    text-align: center !important;
    display: inline-block !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

.wpxv-login-wrapper .wpxv-btn:hover,
.wpxv-login-wrapper button.wpxv-btn:hover,
.wpxv-login-form button.wpxv-btn:hover {
    background: var(--wpxv-primary-dark, #4338ca) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.3) !important;
}

.wpxv-login-wrapper .wpxv-login-links,
.wpxv-login-links {
    text-align: center !important;
    margin: 20px 0 !important;
}

.wpxv-login-wrapper .wpxv-login-links a,
.wpxv-login-links a {
    color: var(--wpxv-primary, #4f46e5) !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.wpxv-login-wrapper .wpxv-login-links a:hover,
.wpxv-login-links a:hover {
    text-decoration: underline !important;
}

.wpxv-login-wrapper .wpxv-login-footer,
.wpxv-login-footer {
    text-align: center !important;
    margin-top: 30px !important;
    padding-top: 20px !important;
    border-top: 1px solid #eee !important;
}

.wpxv-login-wrapper .wpxv-login-footer p,
.wpxv-login-footer p {
    margin: 0 !important;
    color: #666 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.wpxv-login-wrapper .wpxv-login-footer a,
.wpxv-login-footer a {
    color: var(--wpxv-primary, #4f46e5) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}

.wpxv-login-wrapper .wpxv-login-footer a:hover,
.wpxv-login-footer a:hover {
    text-decoration: underline !important;
}

/* Forgot Password Styles */
.wpxv-forgot-password-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px 20px;
    min-height: 500px;
}

.wpxv-forgot-password-container {
    max-width: 420px;
    width: 100%;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    padding: 40px;
}

.wpxv-forgot-password-header {
    text-align: center;
    margin-bottom: 30px;
}

.wpxv-forgot-password-header h2 {
    margin: 0 0 10px 0;
    color: var(--wpxv-primary, #4f46e5);
    font-size: 28px;
}

.wpxv-forgot-password-header p {
    margin: 0;
    color: #666;
    font-size: 14px;
}

.wpxv-forgot-password-footer {
    text-align: center;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.wpxv-forgot-password-footer a {
    color: var(--wpxv-primary, #4f46e5);
    text-decoration: none;
    font-size: 14px;
}

.wpxv-forgot-password-footer a:hover {
    text-decoration: underline;
}

/* Reset Password Styles */
.wpxv-reset-password-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px 20px;
    min-height: 500px;
}

.wpxv-reset-password-container {
    max-width: 480px;
    width: 100%;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    padding: 40px;
}

.wpxv-reset-password-header {
    text-align: center;
    margin-bottom: 30px;
}

.wpxv-reset-password-header h2 {
    margin: 0 0 10px 0;
    color: var(--wpxv-primary, #4f46e5);
    font-size: 28px;
}

.wpxv-reset-password-header p {
    margin: 0;
    color: #666;
    font-size: 14px;
}

.wpxv-reset-password-footer {
    text-align: center;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.wpxv-reset-password-footer a {
    color: var(--wpxv-primary, #4f46e5);
    text-decoration: none;
    font-size: 14px;
}

.wpxv-reset-password-footer a:hover {
    text-decoration: underline;
}

.wpxv-field-description {
    display: block;
    margin-top: 5px;
    color: #666;
    font-size: 12px;
}

.wpxv-login-links {
    text-align: center;
    margin: 20px 0;
}

.wpxv-login-links a {
    color: var(--wpxv-primary, #4f46e5);
    text-decoration: none;
    font-size: 14px;
}

.wpxv-login-links a:hover {
    text-decoration: underline;
}

.wpxv-login-footer {
    text-align: center;
    padding-top: 20px;
    border-top: 1px solid #e0e0e0;
}

.wpxv-login-footer p {
    margin: 0;
    color: #666;
    font-size: 14px;
}

.wpxv-login-footer a {
    color: var(--wpxv-primary, #4f46e5);
    text-decoration: none;
    font-weight: 600;
}

.wpxv-login-footer a:hover {
    text-decoration: underline;
}

#wpxv-login-message {
    margin-top: 20px;
}

@media (max-width: 600px) {
    .wpxv-login-container {
        padding: 25px 18px;
    }
    
    .wpxv-login-header h2 {
        font-size: 22px;
    }
    
    .wpxv-login-header p {
        font-size: 13px;
    }
    
    .wpxv-login-wrapper {
        padding: 20px 15px;
        min-height: auto;
    }
    
    .wpxv-login-links {
        margin: 15px 0;
    }
    
    .wpxv-login-links a {
        font-size: 13px;
    }
    
    .wpxv-login-footer p,
    .wpxv-login-footer a {
        font-size: 13px;
    }
    
    /* Forgot Password responsive */
    .wpxv-forgot-password-container {
        padding: 25px 18px;
    }
    
    .wpxv-forgot-password-wrapper {
        padding: 20px 15px;
        min-height: auto;
    }
    
    .wpxv-forgot-password-header h2 {
        font-size: 22px;
    }
    
    .wpxv-forgot-password-header p {
        font-size: 13px;
    }
    
    /* Reset Password responsive */
    .wpxv-reset-password-container {
        padding: 25px 18px;
    }
    
    .wpxv-reset-password-wrapper {
        padding: 20px 15px;
        min-height: auto;
    }
    
    .wpxv-reset-password-header h2 {
        font-size: 22px;
    }
    
    .wpxv-reset-password-header p {
        font-size: 13px;
    }
}

/* Icon Buttons - Frontend (Vendor Dashboard) - Scoped properly */
.wpxv-vendor-dashboard .wpxv-icon-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 33px !important;
    min-height: 26px !important;
    height: 26px !important;
    border-radius: 4px !important;
    border: 1px solid #ddd !important;
    background: #fff !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    padding: 0 !important;
    margin: 0 2px !important;
    text-decoration: none !important;
    flex-shrink: 0 !important;
    vertical-align: baseline !important;
}

.wpxv-vendor-dashboard .wpxv-icon-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

.wpxv-vendor-dashboard .wpxv-icon-btn svg {
    width: 16px !important;
    height: 16px !important;
    display: block !important;
}

.wpxv-vendor-dashboard .wpxv-icon-btn-view {
    color: #2563eb !important;
    border-color: #2563eb !important;
}

.wpxv-vendor-dashboard .wpxv-icon-btn-view:hover {
    background: #2563eb !important;
    color: white !important;
}

.wpxv-vendor-dashboard .wpxv-icon-btn-edit {
    color: #f59e0b !important;
    border-color: #f59e0b !important;
}

.wpxv-vendor-dashboard .wpxv-icon-btn-edit:hover {
    background: #f59e0b !important;
    color: white !important;
}

.wpxv-vendor-dashboard .wpxv-icon-btn-delete {
    color: #dc2626 !important;
    border-color: #dc2626 !important;
}

.wpxv-vendor-dashboard .wpxv-icon-btn-delete:hover {
    background: #dc2626 !important;
    color: white !important;
}

/* ==== Admin notice for disabled vendors (moved from inline styles) ==== */
.wpxv-admin-warning {
    display: flex;
    align-items: center;
    gap: 15px;
    background: #fff3cd;
    border: 2px solid #ffc107;
    border-radius: 8px;
    padding: 20px;
    margin: 20px 0 30px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.wpxv-admin-warning svg {
    flex-shrink: 0;
}

.wpxv-admin-warning h3 {
    margin: 0 0 8px 0;
    color: #856404;
    font-size: 18px;
}

.wpxv-admin-warning p {
    margin: 0;
    color: #856404;
}

/* ==== Account on hold message on the login form ==== */
.wpxv-hold-message {
    background: #fff3cd;
    border: 2px solid #ffc107;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 20px;
    color: #856404;
}

.wpxv-hold-message p {
    margin: 8px 0 0;
}

/* ==== AJAX messages: keep line breaks from multi-line server errors ==== */
.wpxv-message.wpxv-message-ajax {
    white-space: pre-line;
}

/* ==== Store pagination ==== */
.wpxv-store-pagination {
    margin-top: 30px;
    text-align: center;
}

/* ==== Dashboard helpers (moved from inline styles) ==== */
.wpxv-store-url-code {
    background: #f0f0f0;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 14px;
    display: inline-block;
}

.wpxv-input-disabled {
    background: #f5f5f5;
    cursor: not-allowed;
}

.wpxv-color-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.wpxv-color-picker {
    width: 60px;
    height: 40px;
    border: 2px solid #ddd;
    border-radius: 4px;
    cursor: pointer;
}

.wpxv-color-text {
    width: 100px;
    padding: 8px;
    border: 2px solid #ddd;
    border-radius: 4px;
}

.wpxv-product-thumb {
    width: 60px;
    height: 60px;
    overflow: hidden;
    border-radius: 4px;
}

/* ================================================
   1.1.0 - Orders, Analytics, Shipping
   ================================================ */

.wpxv-dashboard-tabs {
    flex-wrap: wrap;
}

.wpxv-standalone-section .wpxv-tab-content {
    margin-top: 0;
}

.wpxv-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.wpxv-section-header h2 {
    margin: 0;
}

.wpxv-muted-text {
    color: #64748b;
    font-size: 14px;
}

.wpxv-back-link {
    color: var(--wpxv-primary, #4f46e5);
    text-decoration: none;
    font-weight: 600;
}

.wpxv-shipping-reminder {
    margin-top: 20px;
}

.wpxv-shipping-reminder a {
    font-weight: 600;
    margin-left: 6px;
}

/* Filter pills */
.wpxv-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 20px;
}

.wpxv-filter-link,
.wpxv-page-link {
    display: inline-block;
    padding: 6px 14px;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #475569;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.wpxv-filter-link:hover,
.wpxv-page-link:hover {
    border-color: var(--wpxv-primary, #4f46e5);
    color: var(--wpxv-primary, #4f46e5);
}

.wpxv-filter-link.is-active,
.wpxv-page-link.is-active {
    background: linear-gradient(135deg, var(--wpxv-primary, #4f46e5) 0%, var(--wpxv-primary-2, #667eea) 100%);
    border-color: transparent;
    color: #fff;
}

.wpxv-pagination {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 20px;
}

/* Order statuses */
.wpxv-order-status-processing { background: #dbeafe; color: #1e40af; }
.wpxv-order-status-shipped { background: #ede9fe; color: #5b21b6; }
.wpxv-order-status-completed { background: #d4edda; color: #155724; }
.wpxv-order-status-on-hold,
.wpxv-order-status-pending { background: #fff3cd; color: #856404; }
.wpxv-order-status-cancelled,
.wpxv-order-status-refunded,
.wpxv-order-status-failed { background: #f1f5f9; color: #64748b; }

.wpxv-status-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

/* Cards */
.wpxv-card {
    background: #fff;
    border: 1px solid #e9eef5;
    border-radius: 12px;
    padding: 22px;
    margin-bottom: 24px;
    min-width: 0;
}

.wpxv-card h3 {
    margin: 0 0 16px;
    font-size: 18px;
}

.wpxv-card h4 {
    margin: 22px 0 10px;
    font-size: 15px;
}

.wpxv-order-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
    gap: 24px;
    align-items: start;
}

.wpxv-order-grid .wpxv-card {
    margin-bottom: 0;
}

.wpxv-summary-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 16px;
}

.wpxv-summary-table th,
.wpxv-summary-table td {
    padding: 9px 0;
    border-bottom: 1px dashed #e2e8f0;
    text-align: left;
    font-weight: 500;
}

.wpxv-summary-table td {
    text-align: right;
    white-space: nowrap;
}

.wpxv-summary-table small {
    color: #64748b;
    font-weight: 400;
}

.wpxv-summary-total th,
.wpxv-summary-total td {
    border-bottom: 0;
    font-weight: 700;
    font-size: 17px;
    color: #0f172a;
}

.wpxv-detail-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.wpxv-detail-list li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid #f1f5f9;
    word-break: break-word;
}

.wpxv-detail-list li span {
    color: #64748b;
    flex-shrink: 0;
}

.wpxv-detail-list li > :last-child {
    text-align: right;
    min-width: 0;
    overflow-wrap: anywhere;
}

.wpxv-card .wpxv-table th,
.wpxv-card .wpxv-table td {
    padding: 10px 8px;
    font-size: 14px;
}

.wpxv-card .wpxv-table td:last-child,
.wpxv-card .wpxv-table th:last-child {
    text-align: right;
    white-space: nowrap;
}

.wpxv-earning-void {
    color: #94a3b8;
    text-decoration: line-through;
}

.wpxv-address {
    font-style: normal;
    line-height: 1.6;
    background: #f8fafc;
    border-radius: 8px;
    padding: 12px 14px;
}

.wpxv-customer-note {
    background: #fffbeb;
    border-radius: 8px;
    padding: 10px 14px;
    white-space: pre-line;
}

.wpxv-order-actions {
    margin-top: 20px;
    border-top: 1px solid #f1f5f9;
    padding-top: 10px;
}

.wpxv-order-actions .wpxv-form-actions {
    margin-top: 12px;
    flex-wrap: wrap;
}

/* KPIs */
.wpxv-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 16px;
    margin-bottom: 14px;
}

.wpxv-kpi {
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
    border: 1px solid rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.1);
    border-radius: 12px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.wpxv-kpi-label {
    color: #64748b;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.wpxv-kpi-value {
    font-size: 22px;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
}

.wpxv-kpi.is-highlight {
    background: linear-gradient(135deg, var(--wpxv-primary, #4f46e5) 0%, var(--wpxv-primary-2, #667eea) 100%);
    border-color: transparent;
}

.wpxv-kpi.is-highlight .wpxv-kpi-label,
.wpxv-kpi.is-highlight .wpxv-kpi-value {
    color: #fff;
}

/* Bar chart */
.wpxv-chart {
    display: flex;
    align-items: stretch;
    gap: 4px;
    height: 220px;
    padding-top: 10px;
}

.wpxv-chart-col {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
}

.wpxv-chart-bar {
    width: 100%;
    max-width: 38px;
    background: linear-gradient(180deg, var(--wpxv-primary-2, #667eea) 0%, var(--wpxv-primary, #4f46e5) 100%);
    border-radius: 4px 4px 0 0;
    transition: opacity 0.2s;
}

.wpxv-chart-bar.is-empty {
    background: #e2e8f0;
}

.wpxv-chart-col:hover .wpxv-chart-bar {
    opacity: 0.8;
}

.wpxv-chart-label {
    margin-top: 6px;
    font-size: 11px;
    color: #64748b;
    white-space: nowrap;
    height: 16px;
}

/* Shipping form */
.wpxv-bulk-price {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    background: #f8fafc;
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 20px;
}

.wpxv-bulk-price label {
    font-size: 14px;
    font-weight: 600;
    margin: 0;
}

.wpxv-bulk-price input {
    width: 120px;
    padding: 8px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
}

.wpxv-shipping-country {
    border: 1px solid #e9eef5;
    border-radius: 12px;
    padding: 16px;
    margin: 0 0 20px;
}

.wpxv-shipping-country legend {
    font-weight: 700;
    padding: 0 6px;
}

.wpxv-shipping-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 8px 18px;
}

.wpxv-shipping-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 6px 0;
    border-bottom: 1px solid #f1f5f9;
}

.wpxv-shipping-name {
    font-size: 14px;
}

.wpxv-shipping-input {
    display: flex;
    align-items: center;
    gap: 6px;
}

.wpxv-shipping-input input {
    width: 110px;
    padding: 7px 9px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    text-align: right;
}

.wpxv-shipping-input em {
    font-style: normal;
    color: #64748b;
    font-size: 13px;
}

@media (max-width: 900px) {
    .wpxv-order-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .wpxv-dashboard-tabs .wpxv-tab-btn {
        padding: 10px 14px;
        font-size: 14px;
    }

    .wpxv-chart {
        height: 160px;
    }

    .wpxv-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ==== 1.2.0: shipping table (state x delivery method) ==== */
.wpxv-shipping-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.wpxv-shipping-table {
    width: 100%;
    border-collapse: collapse;
}

.wpxv-shipping-table th,
.wpxv-shipping-table td {
    padding: 8px 10px;
    border-bottom: 1px solid #f1f5f9;
    text-align: left;
    vertical-align: middle;
    font-size: 14px;
}

.wpxv-shipping-table thead th {
    background: #f8fafc;
    font-weight: 700;
    color: #0f172a;
    white-space: nowrap;
}

.wpxv-shipping-table tbody th {
    font-weight: 500;
}

.wpxv-shipping-area {
    width: 1%;
    white-space: nowrap;
    padding-right: 20px !important;
}

.wpxv-shipping-fill-row th {
    background: var(--wpxv-primary-soft, #eef2ff) !important;
    font-weight: 500 !important;
}

.wpxv-fill {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.wpxv-fill .wpxv-fill-column {
    padding: 5px 10px;
    font-size: 12px;
}

.wpxv-shipping-country {
    container-type: inline-size;
}

.wpxv-shipping-table th,
.wpxv-shipping-table td {
    padding-left: 8px;
    padding-right: 8px;
}

.wpxv-fill-input {
    width: 90px;
    padding: 6px 8px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
}

.wpxv-shipping-table .wpxv-shipping-input input {
    width: 84px;
    padding: 6px 8px;
}

.wpxv-fill-input {
    width: 70px !important;
}

/* Small spaces (phones, narrow themes): one card per state instead of a wide table. */
@container (max-width: 520px) {
    .wpxv-shipping-table,
    .wpxv-shipping-table tbody,
    .wpxv-shipping-table tr,
    .wpxv-shipping-table th,
    .wpxv-shipping-table td {
        display: block;
        min-width: 0;
    }

    .wpxv-shipping-table thead tr:first-child {
        display: none;
    }

    .wpxv-shipping-table thead,
    .wpxv-shipping-fill-row {
        display: block;
    }

    .wpxv-shipping-table tbody tr,
    .wpxv-shipping-fill-row {
        border: 1px solid #e9eef5;
        border-radius: 10px;
        padding: 8px 12px;
        margin-bottom: 10px;
    }

    .wpxv-shipping-table th.wpxv-shipping-area {
        width: auto;
        border: 0;
        padding: 4px 0 !important;
        font-weight: 700;
    }

    .wpxv-shipping-table td {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 6px 0;
        border: 0;
    }

    .wpxv-shipping-table td::before {
        content: attr(data-label);
        font-size: 13px;
        color: #475569;
    }

    .wpxv-shipping-fill-row th {
        border: 0;
        padding: 4px 0;
    }

    .wpxv-shipping-fill-row th:not(.wpxv-shipping-area)::before {
        content: attr(data-label);
        display: block;
        font-size: 13px;
        color: #475569;
        margin-bottom: 4px;
    }
}

.wpxv-shipping-table tbody tr:hover {
    background: #fafbff;
}

/* ==== 1.2.0: stores list ==== */
.wpxv-stores {
    --wpxv-store-columns: 4;
    margin: 20px 0;
}

.wpxv-stores-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 22px;
}

.wpxv-stores-title {
    margin: 0;
    font-size: 24px;
    font-weight: 500;
}

.wpxv-stores-count {
    color: #94a3b8;
    font-size: 14px;
    margin-left: 4px;
}

.wpxv-stores-search {
    position: relative;
    flex: 0 1 340px;
    margin: 0;
}

.wpxv-stores-search svg {
    position: absolute;
    left: 12px;
    top: 50%;
    width: 18px;
    height: 18px;
    transform: translateY(-50%);
    color: #94a3b8;
    pointer-events: none;
}

.wpxv-stores-search input {
    width: 100%;
    box-sizing: border-box;
    padding: 11px 14px 11px 38px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    font-size: 14px;
}

.wpxv-stores-search input:focus {
    outline: none;
    border-color: var(--wpxv-primary, #4f46e5);
    box-shadow: 0 0 0 3px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.12);
}

.wpxv-stores-grid {
    display: grid;
    /* Up to N columns, but never cards narrower than 190px (narrow themes, sidebars). */
    grid-template-columns: repeat(auto-fill, minmax(max(190px, calc((100% - (var(--wpxv-store-columns) - 1) * 20px) / var(--wpxv-store-columns))), 1fr));
    gap: 20px;
    transition: opacity 0.2s;
}

.wpxv-stores.is-loading .wpxv-stores-grid {
    opacity: 0.5;
}

.wpxv-store-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #eef0f3;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none !important;
    color: inherit;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.wpxv-store-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.1);
}

.wpxv-store-card-media {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 150px;
    background: #f1f3f5;
}

.wpxv-store-card-media img {
    width: 96px;
    height: 96px;
    object-fit: cover;
    border-radius: 50%;
    background: #fff;
}

.wpxv-store-card-initial {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    color: #fff;
    font-size: 26px;
    font-weight: 700;
}

.wpxv-store-card-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 18px 16px 20px;
    text-align: center;
}

.wpxv-store-card-name {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 700;
    font-size: 16px;
    color: #0f172a;
    word-break: break-word;
}

.wpxv-store-card-name svg {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    color: #0f172a;
}

.wpxv-store-card-meta,
.wpxv-store-card-address {
    color: #64748b;
    font-size: 13px;
}

.wpxv-store-card-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    background: #eef6dd;
    color: #4d7c0f;
    font-size: 12px;
    font-weight: 600;
}

.wpxv-stores-empty,
.wpxv-stores-all {
    text-align: center;
    color: #64748b;
    font-size: 14px;
    margin: 26px 0 0;
}

.wpxv-stores-footer {
    text-align: center;
    margin-top: 26px;
}

@media (max-width: 768px) {
    .wpxv-stores-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .wpxv-stores-search {
        flex-basis: 100%;
    }
}

@media (max-width: 420px) {
    .wpxv-stores-grid {
        grid-template-columns: 1fr;
    }
}

.wpxv-stores [hidden] {
    display: none !important;
}

/* ==== 1.3.0: same look for the store header and the product page vendor box ==== */

/* Round logo everywhere, even when the theme styles product images. */

@media (max-width: 768px) {
    

    

    .wpxv-vendor-store {
        padding-bottom: 20px;
    }
}

/* Spam protection: honeypot field, hidden from people. */
.wpxv-hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.wpxv-turnstile {
    min-height: 65px;
}

/* ==== Sticky Call / WhatsApp bar (product pages) ==== */
.wpxv-sticky-contact {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9990;
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.12);
    transform: translateY(110%);
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
    box-sizing: border-box;
}

.wpxv-sticky-contact.wpxv-sticky-ready {
    transform: translateY(0);
    opacity: 1;
}

.wpxv-sticky-contact.wpxv-sticky-ready.wpxv-sticky-hidden {
    transform: translateY(110%);
    opacity: 0;
    pointer-events: none;
}

.wpxv-sticky-contact .wpxv-sticky-btn {
    flex: 1 1 0;
    max-width: 320px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 10px 16px;
    border-radius: 999px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    color: #fff !important;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transition: filter 0.2s ease, transform 0.2s ease;
    box-sizing: border-box;
}

.wpxv-sticky-contact .wpxv-sticky-btn:hover,
.wpxv-sticky-contact .wpxv-sticky-btn:focus-visible {
    filter: brightness(1.08);
    transform: translateY(-1px);
}

.wpxv-sticky-contact .wpxv-sticky-btn svg {
    flex-shrink: 0;
}

.wpxv-sticky-contact .wpxv-sticky-call {
    background: #1e88e5;
}

.wpxv-sticky-contact .wpxv-sticky-whatsapp {
    background: #25d366;
}

.wpxv-sticky-contact.wpxv-sticky-two .wpxv-sticky-call {
    flex: 0 1 38%;
}

body.wpxv-has-sticky-contact {
    padding-bottom: 72px;
}

@media (min-width: 1025px) {
    .wpxv-sticky-contact.wpxv-sticky-mobile {
        display: none;
    }

    body.wpxv-has-sticky-contact:has(.wpxv-sticky-mobile) {
        padding-bottom: 0;
    }
}

@media (max-width: 380px) {
    .wpxv-sticky-contact .wpxv-sticky-btn {
        font-size: 14px;
        padding: 10px 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .wpxv-sticky-contact {
        transition: none;
    }
}

/* ==== Plugin language direction (Arabic plugin on a left-to-right site, or the opposite) ==== */
.wpxv-dir-rtl .wpxv-registration-wrapper,
.wpxv-dir-rtl .wpxv-login-wrapper,
.wpxv-dir-rtl .wpxv-forgot-password-wrapper,
.wpxv-dir-rtl .wpxv-reset-password-wrapper,
.wpxv-dir-rtl .wpxv-vendor-dashboard,
.wpxv-dir-rtl .wpxv-vendor-store,
.wpxv-dir-rtl .wpxv-stores,
.wpxv-dir-rtl .wpxv-section,
.wpxv-dir-rtl .wpxv-sticky-contact {
    direction: rtl;
    text-align: right;
}

.wpxv-dir-ltr .wpxv-registration-wrapper,
.wpxv-dir-ltr .wpxv-login-wrapper,
.wpxv-dir-ltr .wpxv-forgot-password-wrapper,
.wpxv-dir-ltr .wpxv-reset-password-wrapper,
.wpxv-dir-ltr .wpxv-vendor-dashboard,
.wpxv-dir-ltr .wpxv-vendor-store,
.wpxv-dir-ltr .wpxv-stores,
.wpxv-dir-ltr .wpxv-section,
.wpxv-dir-ltr .wpxv-sticky-contact {
    direction: ltr;
    text-align: left;
}

/* Centred blocks stay centred in both directions. */
.wpxv-dir-rtl .wpxv-registration-header,
.wpxv-dir-rtl .wpxv-login-header,
.wpxv-dir-rtl .wpxv-registration-footer,
.wpxv-dir-rtl .wpxv-login-footer,
.wpxv-dir-ltr .wpxv-registration-header,
.wpxv-dir-ltr .wpxv-login-header,
.wpxv-dir-ltr .wpxv-registration-footer,
.wpxv-dir-ltr .wpxv-login-footer {
    text-align: center;
}

/* Phone numbers, emails and prices keep their natural order. */
.wpxv-dir-rtl input[type="email"],
.wpxv-dir-rtl input[type="tel"],
.wpxv-dir-rtl input[type="url"],
.wpxv-dir-rtl .wpxv-contact-email {
    direction: ltr;
    unicode-bidi: plaintext;
}

.wpxv-dir-rtl .wpxv-password-wrapper .wpxv-password-toggle {
    right: auto !important;
    left: 12px !important;
}

.wpxv-dir-rtl .wpxv-password-wrapper input {
    padding-right: 15px !important;
    padding-left: 45px !important;
}

/* ==========================================================================
   1.6.0 - Store header (8 styles chosen in WP XVendor > Settings > Store design)
   ========================================================================== */
.wpxv-sh {
    --wpxv-store-color: var(--wpxv-primary-2, #667eea);
    --wpxv-sh-dark: color-mix(in srgb, var(--wpxv-store-color) 62%, #111827);
    --wpxv-sh-tint: color-mix(in srgb, var(--wpxv-store-color) 10%, #ffffff);
    position: relative;
    display: block;
    width: 100%;
    margin: 0 0 32px;
    padding: 0 !important;
    background: #ffffff !important;
    border: 1px solid #e8eaf0;
    border-radius: 20px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 12px 32px rgba(16, 24, 40, 0.07);
    overflow: hidden;
    color: #111827;
    text-align: left;
    box-sizing: border-box;
    font-size: 15px;
    line-height: 1.5;
}

.wpxv-sh *,
.wpxv-sh *::before,
.wpxv-sh *::after {
    box-sizing: border-box;
}

.wpxv-sh.wpxv-vendor-info-box {
    margin: 40px 0;
}

.wpxv-sh-body {
    padding: 24px 28px;
}

/* Content grid: logo / info / actions */
.wpxv-sh .wpxv-store-header-content {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "logo info actions";
    align-items: center;
    gap: 14px 24px;
    margin: 0;
    padding: 0;
    text-align: left;
}

.wpxv-sh .wpxv-store-logo {
    grid-area: logo;
    width: 96px;
    height: 96px;
    margin: 0;
    padding: 0;
    border-radius: 50%;
    background: #ffffff;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.wpxv-sh .wpxv-store-logo a {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    text-decoration: none;
}

.wpxv-sh .wpxv-store-logo img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    border: 0 !important;
    border-radius: inherit !important;
    box-shadow: none !important;
}

.wpxv-sh .wpxv-store-logo.is-initial a,
.wpxv-sh .wpxv-store-logo.is-initial span {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.wpxv-sh .wpxv-store-logo.is-initial span {
    border-radius: inherit;
    background: linear-gradient(135deg, var(--wpxv-store-color), var(--wpxv-sh-dark));
    color: #ffffff;
    font-size: 38px;
    font-weight: 800;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

.wpxv-sh .wpxv-store-info {
    grid-area: info;
    min-width: 0;
    text-align: left;
}

.wpxv-sh-eyebrow {
    display: block;
    margin-bottom: 4px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #6b7280;
}

.wpxv-sh-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 10px;
}

.wpxv-sh .wpxv-store-name {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em;
    color: #111827 !important;
    text-shadow: none !important;
    word-break: break-word;
}

.wpxv-sh.wpxv-sh-ctx-product .wpxv-store-name,
.wpxv-sh.wpxv-sh-ctx-preview .wpxv-store-name {
    font-size: 22px !important;
}

.wpxv-sh .wpxv-store-name a {
    color: inherit !important;
    text-decoration: none !important;
    border: 0;
}

.wpxv-sh .wpxv-store-name a:hover {
    opacity: 0.8;
}

.wpxv-sh-verified {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #dcfce7;
    color: #166534;
    font-size: 12.5px;
    font-weight: 700;
    white-space: nowrap;
}

.wpxv-sh-verified svg {
    width: 14px;
    height: 14px;
}

.wpxv-sh-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    margin-top: 6px;
    font-size: 13.5px;
    color: #6b7280;
}

.wpxv-sh-meta-item {
    display: inline-flex;
    align-items: flex-start;
    gap: 6px;
    min-width: 0;
}

.wpxv-sh-meta-item svg {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin-top: 2px;
}

.wpxv-sh-address span {
    overflow-wrap: anywhere;
}

.wpxv-sh .wpxv-store-description {
    margin: 10px 0 0 !important;
    padding: 0 !important;
    max-width: 720px;
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #374151 !important;
    opacity: 1 !important;
    text-shadow: none !important;
    overflow-wrap: anywhere;
}

.wpxv-sh .wpxv-store-description.is-empty {
    color: #9ca3af !important;
    font-style: italic;
}

.wpxv-sh-actions {
    grid-area: actions;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

/* Contact buttons */
.wpxv-sh .wpxv-store-contact-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
}

.wpxv-sh .wpxv-contact-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    padding: 10px 20px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    border: 1.5px solid transparent;
    transition: transform 0.15s, filter 0.15s, background 0.15s, border-color 0.15s;
    max-width: 100%;
}

.wpxv-sh .wpxv-contact-btn {
    min-width: 0;
}

.wpxv-sh-actions {
    min-width: 0;
    max-width: 100%;
}

.wpxv-sh .wpxv-contact-btn span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wpxv-sh .wpxv-contact-btn .wpxv-icon {
    flex-shrink: 0;
    width: 19px;
    height: 19px;
}

.wpxv-sh .wpxv-contact-btn:hover {
    transform: translateY(-1px);
    filter: brightness(1.06);
}

.wpxv-sh .wpxv-btn-whatsapp {
    background: #25d366;
    color: #ffffff !important;
    box-shadow: 0 6px 16px rgba(37, 211, 102, 0.28);
}

.wpxv-sh .wpxv-btn-phone {
    background: #111827;
    color: #ffffff !important;
    box-shadow: 0 6px 16px rgba(17, 24, 39, 0.18);
}

.wpxv-sh .wpxv-btn-email {
    background: #ffffff;
    border-color: #e5e7eb;
    color: #374151 !important;
}

.wpxv-sh .wpxv-btn-email .wpxv-icon {
    color: var(--wpxv-store-color);
}

.wpxv-sh-visit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 46px;
    padding: 10px 18px;
    border-radius: 999px;
    border: 1.5px solid #d1d5db;
    background: #ffffff;
    color: #111827 !important;
    font-size: 14.5px;
    font-weight: 700;
    text-decoration: none !important;
    transition: border-color 0.15s, background 0.15s;
}

.wpxv-sh-visit svg {
    width: 16px;
    height: 16px;
    transition: transform 0.15s;
}

.wpxv-sh-visit:hover {
    border-color: var(--wpxv-store-color);
}

.wpxv-sh-visit:hover svg {
    transform: translateX(3px);
}

/* Stacked buttons (trust, awning, dark, sidebar) */
.wpxv-sh--trust .wpxv-sh-actions,
.wpxv-sh--awning .wpxv-sh-actions,
.wpxv-sh--dark .wpxv-sh-actions,
.wpxv-sh--sidebar .wpxv-sh-actions {
    flex-direction: column;
    align-items: stretch;
    width: 240px;
}

.wpxv-sh--trust .wpxv-store-contact-bar,
.wpxv-sh--awning .wpxv-store-contact-bar,
.wpxv-sh--dark .wpxv-store-contact-bar,
.wpxv-sh--sidebar .wpxv-store-contact-bar {
    flex-direction: column;
}

/* --------------------------------------------------------------------------
   A - Cover band
   -------------------------------------------------------------------------- */
.wpxv-sh-cover {
    height: 120px;
    background:
        radial-gradient(120% 140% at 100% 0%, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0) 55%),
        linear-gradient(135deg, var(--wpxv-store-color) 0%, var(--wpxv-sh-dark) 100%);
}

.wpxv-sh--cover .wpxv-sh-body {
    padding-top: 0;
}

.wpxv-sh--cover .wpxv-store-header-content {
    grid-template-columns: 112px minmax(0, 1fr);
    grid-template-areas: "logo info" ". actions";
    align-items: start;
}

.wpxv-sh--cover .wpxv-store-logo {
    width: 112px;
    height: 112px;
    margin-top: -56px;
    border: 5px solid #ffffff;
    box-shadow: 0 6px 20px rgba(16, 24, 40, 0.15);
}

.wpxv-sh--cover .wpxv-store-info {
    padding-top: 16px;
}

.wpxv-sh--cover.wpxv-sh-ctx-product .wpxv-sh-cover,
.wpxv-sh--cover.wpxv-sh-ctx-preview .wpxv-sh-cover {
    height: 90px;
}

.wpxv-sh--cover.wpxv-sh-ctx-product .wpxv-store-header-content,
.wpxv-sh--cover.wpxv-sh-ctx-preview .wpxv-store-header-content {
    grid-template-columns: 92px minmax(0, 1fr);
}

.wpxv-sh--cover.wpxv-sh-ctx-product .wpxv-store-logo,
.wpxv-sh--cover.wpxv-sh-ctx-preview .wpxv-store-logo {
    width: 92px;
    height: 92px;
    margin-top: -46px;
}

/* --------------------------------------------------------------------------
   B - Compact bar
   -------------------------------------------------------------------------- */
.wpxv-sh--compact {
    border-top: 5px solid var(--wpxv-store-color);
}

.wpxv-sh--compact .wpxv-sh-body {
    padding: 20px 24px;
}

.wpxv-sh--compact .wpxv-store-logo {
    width: 76px;
    height: 76px;
    box-shadow: 0 0 0 4px var(--wpxv-sh-tint);
}

.wpxv-sh--compact .wpxv-store-logo.is-initial span {
    font-size: 30px;
}

.wpxv-sh--compact .wpxv-store-name {
    font-size: 22px !important;
}

.wpxv-sh--compact .wpxv-store-description {
    margin-top: 6px !important;
    font-size: 14px !important;
}

.wpxv-sh--compact .wpxv-contact-btn,
.wpxv-sh--compact .wpxv-sh-visit {
    border-radius: 999px;
}

/* --------------------------------------------------------------------------
   C - Centered profile
   -------------------------------------------------------------------------- */
.wpxv-sh--centered {
    background: var(--wpxv-sh-tint) !important;
    border-color: color-mix(in srgb, var(--wpxv-store-color) 22%, #ffffff);
}

.wpxv-sh--centered .wpxv-sh-body {
    padding: 36px 28px 30px;
}

.wpxv-sh--centered .wpxv-store-header-content {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "logo" "info" "actions";
    justify-items: center;
    text-align: center;
}

.wpxv-sh--centered .wpxv-store-logo {
    width: 104px;
    height: 104px;
    box-shadow: 0 0 0 6px #ffffff, 0 10px 28px rgba(16, 24, 40, 0.15);
}

.wpxv-sh--centered .wpxv-store-info {
    text-align: center;
}

.wpxv-sh--centered .wpxv-sh-title,
.wpxv-sh--centered .wpxv-sh-meta,
.wpxv-sh--centered .wpxv-sh-actions,
.wpxv-sh--centered .wpxv-store-contact-bar {
    justify-content: center;
}

.wpxv-sh--centered .wpxv-sh-meta-item {
    padding: 5px 12px;
    border-radius: 999px;
    background: #ffffff;
    color: #374151;
    font-weight: 600;
    font-size: 13px;
}

.wpxv-sh--centered .wpxv-store-description {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 600px;
}

.wpxv-sh--centered .wpxv-contact-btn,
.wpxv-sh--centered .wpxv-sh-visit {
    border-radius: 999px;
}

.wpxv-sh--centered .wpxv-btn-phone {
    background: #ffffff;
    border-color: #d1d5db;
    color: #111827 !important;
    box-shadow: none;
}

/* --------------------------------------------------------------------------
   D - Split colour panel
   -------------------------------------------------------------------------- */
.wpxv-sh--split .wpxv-sh-body {
    padding: 0;
}

.wpxv-sh--split .wpxv-store-header-content {
    grid-template-columns: minmax(260px, 36%) minmax(0, 1fr);
    grid-template-areas: none;
    gap: 0;
    align-items: stretch;
}

.wpxv-sh-panel {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 12px;
    min-height: 260px;
    padding: 32px;
    color: #ffffff;
    background:
        radial-gradient(90% 90% at 100% 0%, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0) 60%),
        linear-gradient(160deg, color-mix(in srgb, var(--wpxv-store-color) 82%, #111827) 0%, color-mix(in srgb, var(--wpxv-store-color) 42%, #111827) 100%);
}

.wpxv-sh--split .wpxv-store-logo {
    width: 84px;
    height: 84px;
    border-radius: 22px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
}

.wpxv-sh--split .wpxv-store-logo.is-initial span {
    background: #ffffff;
    color: var(--wpxv-sh-dark);
    text-shadow: none;
}

.wpxv-sh--split .wpxv-store-name,
.wpxv-sh--split .wpxv-store-name a {
    color: #ffffff !important;
    font-size: 28px !important;
}

.wpxv-sh-panel-meta {
    display: block;
    margin-top: 4px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.88);
}

.wpxv-sh-side {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 30px 32px;
}

.wpxv-sh-side .wpxv-store-description {
    margin: 0 !important;
    font-size: 16px !important;
}

.wpxv-sh-side .wpxv-sh-meta {
    margin: 0;
    font-size: 14.5px;
    color: #374151;
}

.wpxv-sh-side .wpxv-store-contact-bar {
    margin-top: auto;
}

.wpxv-sh-side .wpxv-sh-visit {
    align-self: flex-start;
}

/* --------------------------------------------------------------------------
   E - Trust & stats
   -------------------------------------------------------------------------- */
.wpxv-sh--trust .wpxv-sh-body {
    padding: 28px 30px;
}

.wpxv-sh--trust .wpxv-store-logo {
    width: 88px;
    height: 88px;
}

.wpxv-sh-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 12px;
    margin-top: 22px;
}

.wpxv-sh-stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px 16px;
    border-radius: 14px;
    background: var(--wpxv-sh-tint);
    min-width: 0;
}

.wpxv-sh-stat span {
    font-size: 12.5px;
    font-weight: 600;
    color: #6b7280;
}

.wpxv-sh-stat strong {
    font-size: 19px;
    font-weight: 800;
    color: #111827;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* --------------------------------------------------------------------------
   H - Shop awning
   -------------------------------------------------------------------------- */
.wpxv-sh-awning {
    position: relative;
    height: 60px;
    background: repeating-linear-gradient(90deg, var(--wpxv-store-color) 0 50px, #ffffff 50px 100px);
}

.wpxv-sh-awning span {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -21px;
    height: 22px;
    background:
        radial-gradient(circle at 25px 0, var(--wpxv-store-color) 24px, rgba(0, 0, 0, 0) 25px) 0 0 / 100px 22px repeat-x;
    filter: drop-shadow(0 3px 2px rgba(16, 24, 40, 0.12));
}

.wpxv-sh--awning .wpxv-sh-body {
    padding: 38px 32px 28px;
}

.wpxv-sh--awning .wpxv-store-logo {
    width: 108px;
    height: 108px;
    border: 5px solid #ffffff;
    box-shadow: 0 0 0 2px var(--wpxv-store-color);
}

.wpxv-sh--awning .wpxv-store-logo.is-initial span,
.wpxv-sh--awning .wpxv-store-name {
    font-family: Georgia, "Times New Roman", serif !important;
}

.wpxv-sh--awning .wpxv-store-name {
    font-size: 34px !important;
    font-weight: 700 !important;
}

.wpxv-sh--awning .wpxv-contact-btn {
    border-radius: 999px;
}

.wpxv-sh--awning .wpxv-btn-phone {
    background: #ffffff;
    border: 2px solid #111827;
    color: #111827 !important;
    box-shadow: none;
}

/* --------------------------------------------------------------------------
   I - Side card beside the products
   -------------------------------------------------------------------------- */
.wpxv-sh--sidebar .wpxv-sh-cover {
    height: 84px;
}

.wpxv-sh--sidebar .wpxv-sh-body {
    padding: 0 22px 22px;
}

.wpxv-sh--sidebar .wpxv-store-header-content {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "logo" "info" "actions";
    gap: 12px;
}

.wpxv-sh--sidebar .wpxv-store-logo {
    width: 88px;
    height: 88px;
    margin-top: -44px;
    border: 4px solid #ffffff;
    box-shadow: 0 6px 16px rgba(16, 24, 40, 0.15);
}

.wpxv-sh--sidebar .wpxv-store-name {
    font-size: 22px !important;
}

.wpxv-sh--sidebar .wpxv-sh-meta {
    flex-direction: column;
    gap: 8px;
    padding: 12px 0;
    margin-top: 12px;
    border-top: 1px solid #f0f1f5;
    border-bottom: 1px solid #f0f1f5;
    color: #374151;
}

.wpxv-sh--sidebar .wpxv-sh-meta {
    order: 3;
}

.wpxv-sh--sidebar .wpxv-store-info {
    display: flex;
    flex-direction: column;
}

.wpxv-sh--sidebar .wpxv-sh-actions {
    width: 100%;
}

.wpxv-sh--sidebar.wpxv-sh-ctx-preview {
    max-width: 360px;
}

.wpxv-store-layout--sidebar {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.wpxv-store-layout--sidebar > .wpxv-sh {
    position: sticky;
    top: 24px;
    margin: 0;
}

.wpxv-store-layout--sidebar .wpxv-store-products {
    min-width: 0;
}

/* --------------------------------------------------------------------------
   J - Dark premium
   -------------------------------------------------------------------------- */
.wpxv-sh--dark {
    background:
        radial-gradient(60% 120% at 0% 0%, color-mix(in srgb, var(--wpxv-store-color) 45%, rgba(0, 0, 0, 0)) 0%, rgba(0, 0, 0, 0) 70%),
        #0f172a !important;
    border-color: #0f172a;
    color: #f8fafc;
}

.wpxv-sh--dark .wpxv-sh-body {
    padding: 34px 36px;
}

.wpxv-sh--dark .wpxv-store-logo {
    width: 124px;
    height: 124px;
    padding: 4px;
    background: linear-gradient(135deg, var(--wpxv-store-color), color-mix(in srgb, var(--wpxv-store-color) 40%, #ffffff));
}

.wpxv-sh--dark .wpxv-store-logo a,
.wpxv-sh--dark .wpxv-store-logo img,
.wpxv-sh--dark .wpxv-store-logo.is-initial > span {
    border: 4px solid #0f172a !important;
    border-radius: 50% !important;
}

.wpxv-sh--dark .wpxv-store-logo.is-initial span {
    background: #0f172a;
}

.wpxv-sh--dark .wpxv-sh-eyebrow {
    color: color-mix(in srgb, var(--wpxv-store-color) 45%, #ffffff);
}

.wpxv-sh--dark .wpxv-store-name,
.wpxv-sh--dark .wpxv-store-name a {
    color: #ffffff !important;
    font-size: 32px !important;
}

.wpxv-sh--dark .wpxv-store-description {
    color: #cbd5e1 !important;
}

.wpxv-sh--dark .wpxv-sh-meta {
    color: #94a3b8;
}

.wpxv-sh--dark .wpxv-btn-phone,
.wpxv-sh--dark .wpxv-btn-email,
.wpxv-sh--dark .wpxv-sh-visit {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #ffffff !important;
    box-shadow: none;
}

/* --------------------------------------------------------------------------
   Phones and tablets
   -------------------------------------------------------------------------- */
@media (max-width: 900px) {
    .wpxv-store-layout--sidebar {
        grid-template-columns: minmax(0, 1fr);
    }

    .wpxv-store-layout--sidebar > .wpxv-sh {
        position: static;
        margin-bottom: 24px;
    }
}

@media (max-width: 782px) {
    .wpxv-sh {
        border-radius: 18px;
    }

    .wpxv-sh-body,
    .wpxv-sh--compact .wpxv-sh-body,
    .wpxv-sh--trust .wpxv-sh-body,
    .wpxv-sh--dark .wpxv-sh-body {
        padding: 20px 18px;
    }

    .wpxv-sh--cover .wpxv-sh-body,
    .wpxv-sh--sidebar .wpxv-sh-body {
        padding-top: 0;
    }

    .wpxv-sh--awning .wpxv-sh-body {
        padding: 34px 18px 22px;
    }

    .wpxv-sh--centered .wpxv-sh-body {
        padding: 30px 18px 22px;
    }

    .wpxv-sh .wpxv-store-header-content,
    .wpxv-sh--cover .wpxv-store-header-content,
    .wpxv-sh--cover.wpxv-sh-ctx-product .wpxv-store-header-content,
    .wpxv-sh--cover.wpxv-sh-ctx-preview .wpxv-store-header-content {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "logo" "info" "actions";
        justify-items: center;
        text-align: center;
    }

    .wpxv-sh .wpxv-store-info {
        text-align: center;
        width: 100%;
    }

    .wpxv-sh-title,
    .wpxv-sh-meta {
        justify-content: center;
    }

    .wpxv-sh .wpxv-store-description {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .wpxv-sh--cover .wpxv-store-logo,
    .wpxv-sh--cover.wpxv-sh-ctx-product .wpxv-store-logo,
    .wpxv-sh--cover.wpxv-sh-ctx-preview .wpxv-store-logo {
        width: 104px;
        height: 104px;
        margin-top: -52px;
    }

    .wpxv-sh--cover .wpxv-store-info {
        padding-top: 4px;
    }

    .wpxv-sh .wpxv-store-name,
    .wpxv-sh.wpxv-sh-ctx-product .wpxv-store-name,
    .wpxv-sh--split .wpxv-store-name,
    .wpxv-sh--dark .wpxv-store-name,
    .wpxv-sh--awning .wpxv-store-name {
        font-size: 24px !important;
    }

    .wpxv-sh-actions,
    .wpxv-sh--trust .wpxv-sh-actions,
    .wpxv-sh--awning .wpxv-sh-actions,
    .wpxv-sh--dark .wpxv-sh-actions,
    .wpxv-sh--sidebar .wpxv-sh-actions {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    .wpxv-sh .wpxv-store-contact-bar {
        flex-direction: column;
        width: 100%;
    }

    .wpxv-sh .wpxv-contact-btn,
    .wpxv-sh-visit {
        width: 100%;
        min-height: 50px;
        font-size: 16px;
    }

    /* Split: the colour panel goes on top. */
    .wpxv-sh--split .wpxv-store-header-content {
        grid-template-columns: minmax(0, 1fr);
        justify-items: stretch;
        text-align: left;
    }

    .wpxv-sh-panel {
        flex-direction: row;
        align-items: center;
        min-height: 0;
        padding: 22px 18px;
    }

    .wpxv-sh--split .wpxv-store-logo {
        width: 72px;
        height: 72px;
        flex-shrink: 0;
    }

    .wpxv-sh--split .wpxv-store-info,
    .wpxv-sh--split .wpxv-sh-title {
        text-align: left;
        justify-content: flex-start;
    }

    .wpxv-sh-side {
        padding: 20px 18px;
    }

    .wpxv-sh-side .wpxv-sh-meta {
        justify-content: flex-start;
    }

    .wpxv-sh-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wpxv-sh--sidebar .wpxv-sh-meta {
        align-items: center;
    }
}

/* --------------------------------------------------------------------------
   Right-to-left
   -------------------------------------------------------------------------- */
.wpxv-dir-rtl .wpxv-sh,
.wpxv-dir-rtl .wpxv-sh .wpxv-store-header-content,
.wpxv-dir-rtl .wpxv-sh .wpxv-store-info,
body.rtl .wpxv-sh,
body.rtl .wpxv-sh .wpxv-store-header-content,
body.rtl .wpxv-sh .wpxv-store-info {
    direction: rtl;
    text-align: right;
}

.wpxv-dir-rtl .wpxv-sh-visit svg,
body.rtl .wpxv-sh-visit svg {
    transform: scaleX(-1);
}

.wpxv-dir-rtl .wpxv-sh-cover,
body.rtl .wpxv-sh-cover {
    transform: scaleX(-1);
}

.wpxv-dir-ltr .wpxv-sh,
.wpxv-dir-ltr .wpxv-sh .wpxv-store-header-content,
.wpxv-dir-ltr .wpxv-sh .wpxv-store-info {
    direction: ltr;
    text-align: left;
}

.wpxv-dir-rtl .wpxv-sh--centered .wpxv-store-info,
body.rtl .wpxv-sh--centered .wpxv-store-info {
    text-align: center;
}

@media (max-width: 782px) {
    .wpxv-dir-rtl .wpxv-sh .wpxv-store-info,
    body.rtl .wpxv-sh .wpxv-store-info,
    .wpxv-dir-ltr .wpxv-sh .wpxv-store-info {
        text-align: center;
    }

    .wpxv-dir-rtl .wpxv-sh--split .wpxv-store-info,
    body.rtl .wpxv-sh--split .wpxv-store-info {
        text-align: right;
    }
}

/* ==========================================================================
   1.5.0 - Vendor dashboard
   ========================================================================== */
.wpxv-vendor-dashboard {
    --wpxv-d-primary: var(--wpxv-primary, #4f46e5);
    --wpxv-d-primary-dark: var(--wpxv-primary-dark, #4338ca);
    --wpxv-d-soft: var(--wpxv-primary-soft, #eef2ff);
    --wpxv-d-text: #111827;
    --wpxv-d-muted: #6b7280;
    --wpxv-d-border: #e8eaf0;
    --wpxv-d-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 8px 24px rgba(16, 24, 40, 0.06);
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 40px !important;
    padding: 0 !important;
    background: none !important;
    border-radius: 0;
    color: var(--wpxv-d-text);
    font-size: 15px;
    line-height: 1.5;
    box-sizing: border-box;
}

.wpxv-vendor-dashboard *,
.wpxv-vendor-dashboard *::before,
.wpxv-vendor-dashboard *::after {
    box-sizing: border-box;
}

/* Header */
.wpxv-vendor-dashboard .wpxv-dashboard-header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    margin: 0 0 20px;
    padding: 26px 28px;
    border-radius: 20px;
    background:
        radial-gradient(90% 160% at 100% 0%, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0) 60%),
        linear-gradient(135deg, var(--wpxv-primary, #4f46e5) 0%, var(--wpxv-primary-2, #7c3aed) 100%);
    box-shadow: 0 12px 32px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.25);
    overflow: hidden;
}

.wpxv-dashboard-identity {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.wpxv-dashboard-avatar {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--wpxv-store-color, var(--wpxv-primary-300, #a5b4fc));
    border: 3px solid rgba(255, 255, 255, 0.9);
    color: #fff;
    font-size: 26px;
    font-weight: 700;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
}

.wpxv-dashboard-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin: 0;
}

.wpxv-vendor-dashboard .wpxv-dashboard-welcome h1 {
    margin: 0 0 4px !important;
    padding: 0;
    font-size: 26px !important;
    line-height: 1.2 !important;
    font-weight: 800;
    color: #fff !important;
    letter-spacing: -0.01em;
    display: block;
}

.wpxv-vendor-dashboard .wpxv-dashboard-welcome p {
    margin: 0;
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 14.5px;
}

.wpxv-vendor-dashboard .wpxv-dashboard-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.wpxv-vendor-dashboard .wpxv-dashboard-actions .wpxv-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 10px 18px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    background: rgba(255, 255, 255, 0.16) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    box-shadow: none !important;
    transform: none;
}

.wpxv-vendor-dashboard .wpxv-dashboard-actions .wpxv-btn-store {
    background: #fff !important;
    color: var(--wpxv-d-primary-dark) !important;
    border-color: #fff !important;
}

.wpxv-vendor-dashboard .wpxv-dashboard-actions .wpxv-btn:hover {
    background: rgba(255, 255, 255, 0.26) !important;
}

.wpxv-vendor-dashboard .wpxv-dashboard-actions .wpxv-btn-store:hover {
    background: #f5f3ff !important;
}

.wpxv-vendor-dashboard .wpxv-dashboard-actions svg {
    width: 17px;
    height: 17px;
    flex-shrink: 0;
}

.wpxv-vendor-dashboard .wpxv-btn::before {
    display: none !important;
}

/* Notices */
.wpxv-vendor-dashboard .wpxv-approval-pending-banner {
    gap: 18px;
    padding: 20px 22px;
    margin: 0 0 20px;
    border: 1px solid #fcd34d;
    border-radius: 16px;
    background: #fffbeb;
    box-shadow: none;
}

.wpxv-vendor-dashboard .wpxv-approval-icon svg {
    width: 44px;
    height: 44px;
}

.wpxv-vendor-dashboard .wpxv-approval-content h3 {
    margin: 0 0 6px;
    font-size: 18px;
}

.wpxv-vendor-dashboard .wpxv-approval-content p {
    font-size: 14.5px;
    margin: 0 0 6px;
}

.wpxv-vendor-dashboard > .wpxv-message {
    margin: 0 0 16px;
    border-radius: 12px;
}

/* Stats */
.wpxv-vendor-dashboard .wpxv-dashboard-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 20px;
}

.wpxv-vendor-dashboard .wpxv-stat-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
    text-align: left;
    background: #fff;
    border: 1px solid var(--wpxv-d-border);
    border-radius: 16px;
    box-shadow: var(--wpxv-d-shadow);
    overflow: hidden;
    transform: none;
}

.wpxv-vendor-dashboard .wpxv-stat-card:hover {
    transform: none;
    border-color: var(--wpxv-primary-200, #c7d2fe);
}

.wpxv-vendor-dashboard .wpxv-stat-card::before {
    display: none;
}

.wpxv-vendor-dashboard .wpxv-stat-icon {
    flex-shrink: 0;
    width: 46px;
    height: 46px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--wpxv-d-soft);
    color: var(--wpxv-d-primary);
}

.wpxv-vendor-dashboard .wpxv-stat-icon svg {
    width: 22px;
    height: 22px;
}

.wpxv-vendor-dashboard .wpxv-stat-limit .wpxv-stat-icon {
    background: #ecfeff;
    color: #0e7490;
}

.wpxv-vendor-dashboard .wpxv-stat-remaining .wpxv-stat-icon {
    background: #f0fdf4;
    color: #15803d;
}

.wpxv-vendor-dashboard .wpxv-stat-card h3 {
    margin: 0;
    font-size: 26px;
    line-height: 1.1;
    font-weight: 800;
    color: var(--wpxv-d-text);
    background: none;
    -webkit-text-fill-color: currentColor;
}

.wpxv-vendor-dashboard .wpxv-stat-card p {
    margin: 3px 0 0;
    font-size: 13px;
    font-weight: 500;
    color: var(--wpxv-d-muted);
    text-transform: none;
    letter-spacing: 0;
}

.wpxv-stat-progress {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 10px;
    height: 4px;
    border-radius: 999px;
    background: #f3f4f6;
    overflow: hidden;
}

.wpxv-stat-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #22c55e, #16a34a);
}

/* Tabs */
.wpxv-vendor-dashboard .wpxv-dashboard-tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 4px;
    margin: 0 0 20px;
    padding: 6px;
    background: #fff;
    border: 1px solid var(--wpxv-d-border);
    border-radius: 16px;
    box-shadow: var(--wpxv-d-shadow);
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.wpxv-vendor-dashboard .wpxv-dashboard-tabs::-webkit-scrollbar {
    display: none;
}

.wpxv-vendor-dashboard .wpxv-tab-btn {
    flex: 1 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 18px;
    margin: 0;
    border: 0 !important;
    border-radius: 11px;
    background: transparent;
    color: #4b5563;
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: none;
    transition: background 0.15s, color 0.15s;
}

.wpxv-vendor-dashboard .wpxv-tab-btn::before {
    display: none;
}

.wpxv-tab-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    opacity: 0.75;
}

.wpxv-vendor-dashboard .wpxv-tab-btn:hover:not(:disabled):not(.active) {
    background: #f5f5ff;
    color: var(--wpxv-d-primary-dark);
}

.wpxv-vendor-dashboard .wpxv-tab-btn.active {
    background: var(--wpxv-d-primary);
    color: #fff;
    box-shadow: 0 6px 16px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.3);
}

.wpxv-vendor-dashboard .wpxv-tab-btn.active .wpxv-tab-icon {
    opacity: 1;
}

.wpxv-vendor-dashboard .wpxv-tab-btn:focus-visible {
    outline: 2px solid var(--wpxv-d-primary);
    outline-offset: 2px;
}

/* Panels */
.wpxv-vendor-dashboard .wpxv-tab-content {
    margin: 0;
    padding: 28px;
    background: #fff;
    border: 1px solid var(--wpxv-d-border);
    border-radius: 20px;
    box-shadow: var(--wpxv-d-shadow);
}

.wpxv-vendor-dashboard .wpxv-tab-content.active {
    animation: wpxv-panel-in 0.2s ease-out;
}

@keyframes wpxv-panel-in {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: none; }
}

.wpxv-vendor-dashboard .wpxv-tab-content > h2,
.wpxv-vendor-dashboard .wpxv-profile-header h2,
.wpxv-vendor-dashboard .wpxv-section-header h2 {
    margin: 0 0 18px;
    font-size: 21px !important;
    font-weight: 800;
    line-height: 1.25;
    color: var(--wpxv-d-text);
}

/* Store preview */
.wpxv-vendor-dashboard .wpxv-store-preview-section {
    margin: 0 0 28px;
    padding: 0;
    background: none;
    border: 0;
}

.wpxv-vendor-dashboard .wpxv-store-preview-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.wpxv-vendor-dashboard .wpxv-store-preview-header h3 {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
}

.wpxv-vendor-dashboard .wpxv-store-preview-label {
    margin: 0 0 12px;
    font-size: 13px;
    color: var(--wpxv-d-muted);
}

.wpxv-vendor-dashboard .wpxv-store-preview-card {
    padding: 16px;
    border-radius: 18px;
    background: #f6f7fb;
    border: 1px dashed #d8dbe6;
}

.wpxv-vendor-dashboard .wpxv-sh-preview {
    margin: 0;
    box-shadow: 0 6px 18px rgba(16, 24, 40, 0.06);
}

/* Profile */
.wpxv-vendor-dashboard .wpxv-profile-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 16px;
    padding: 0;
    border: 0;
}

.wpxv-vendor-dashboard .wpxv-profile-header h2 {
    margin: 0;
}

.wpxv-vendor-dashboard .wpxv-profile-view {
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
}

.wpxv-vendor-dashboard .wpxv-profile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.wpxv-vendor-dashboard .wpxv-profile-item {
    padding: 14px 16px;
    background: #f9fafb;
    border: 1px solid #f0f1f5;
    border-radius: 14px;
    min-width: 0;
}

.wpxv-vendor-dashboard .wpxv-profile-item-full {
    grid-column: 1 / -1;
}

.wpxv-vendor-dashboard .wpxv-profile-label {
    margin: 0 0 4px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--wpxv-d-muted);
}

.wpxv-vendor-dashboard .wpxv-profile-value {
    padding: 0;
    min-height: 0;
    background: none;
    border: 0;
    font-size: 15px;
    color: var(--wpxv-d-text);
    overflow-wrap: anywhere;
}

.wpxv-vendor-dashboard .wpxv-profile-logo {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
}

.wpxv-vendor-dashboard .wpxv-store-url-code {
    display: inline-block;
    padding: 6px 10px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #e5e7eb;
    font-size: 13px;
    word-break: break-all;
}

/* Buttons */
.wpxv-vendor-dashboard .wpxv-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 20px;
    border-radius: 12px;
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, box-shadow 0.15s;
}

.wpxv-vendor-dashboard .wpxv-btn.wpxv-btn-primary,
.wpxv-vendor-dashboard .wpxv-form .wpxv-btn.wpxv-btn-primary[type="submit"],
.wpxv-vendor-dashboard #wpxv-product-form .wpxv-btn.wpxv-btn-primary[type="submit"] {
    background: var(--wpxv-d-primary) !important;
    border: 1px solid var(--wpxv-d-primary) !important;
    color: #fff !important;
    box-shadow: 0 6px 16px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.25) !important;
    transform: none;
}

.wpxv-vendor-dashboard .wpxv-btn.wpxv-btn-primary:hover,
.wpxv-vendor-dashboard .wpxv-form .wpxv-btn.wpxv-btn-primary[type="submit"]:hover {
    background: var(--wpxv-d-primary-dark) !important;
    border-color: var(--wpxv-d-primary-dark) !important;
}

.wpxv-vendor-dashboard .wpxv-tab-content .wpxv-btn.wpxv-btn-secondary,
.wpxv-vendor-dashboard .wpxv-form .wpxv-btn.wpxv-btn-secondary {
    background: #fff !important;
    border: 1px solid #d1d5db !important;
    color: #374151 !important;
    box-shadow: none !important;
}

.wpxv-vendor-dashboard .wpxv-tab-content .wpxv-btn.wpxv-btn-secondary:hover {
    border-color: var(--wpxv-d-primary) !important;
    color: var(--wpxv-d-primary-dark) !important;
}

.wpxv-vendor-dashboard .wpxv-btn-small {
    min-height: 36px;
    padding: 7px 14px;
    font-size: 13px;
}

.wpxv-vendor-dashboard .wpxv-btn svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

/* Forms */
.wpxv-vendor-dashboard .wpxv-form {
    max-width: 820px;
}

.wpxv-vendor-dashboard .wpxv-form-row {
    margin: 0 0 18px;
}

.wpxv-vendor-dashboard .wpxv-form-row > label {
    display: block;
    margin: 0 0 7px;
    font-size: 14px;
    font-weight: 600;
    color: #374151;
    text-transform: none;
    letter-spacing: 0;
}

.wpxv-vendor-dashboard .wpxv-form-row input[type="text"],
.wpxv-vendor-dashboard .wpxv-form-row input[type="email"],
.wpxv-vendor-dashboard .wpxv-form-row input[type="url"],
.wpxv-vendor-dashboard .wpxv-form-row input[type="number"],
.wpxv-vendor-dashboard .wpxv-form-row textarea,
.wpxv-vendor-dashboard .wpxv-form-row select {
    width: 100%;
    min-height: 48px;
    padding: 11px 14px;
    border: 1px solid #d1d5db;
    border-radius: 12px;
    background: #fff;
    font-size: 15px;
    color: var(--wpxv-d-text);
    box-shadow: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.wpxv-vendor-dashboard .wpxv-form-row textarea {
    min-height: 110px;
    line-height: 1.55;
}

.wpxv-vendor-dashboard .wpxv-form-row input:focus,
.wpxv-vendor-dashboard .wpxv-form-row textarea:focus,
.wpxv-vendor-dashboard .wpxv-form-row select:focus {
    outline: none;
    border-color: var(--wpxv-d-primary);
    box-shadow: 0 0 0 4px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.12);
}

.wpxv-vendor-dashboard .wpxv-form-row input:disabled,
.wpxv-vendor-dashboard .wpxv-input-disabled {
    background: #f3f4f6 !important;
    color: var(--wpxv-d-muted) !important;
}

.wpxv-vendor-dashboard .wpxv-field-description {
    display: block;
    margin-top: 6px;
    font-size: 13px;
    color: var(--wpxv-d-muted);
}

.wpxv-vendor-dashboard .wpxv-slug-wrapper {
    display: flex;
    align-items: stretch;
    border: 1px solid #d1d5db;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.wpxv-vendor-dashboard .wpxv-slug-base {
    display: flex;
    align-items: center;
    padding: 0 12px;
    background: #f9fafb;
    border-right: 1px solid #e5e7eb;
    color: var(--wpxv-d-muted);
    font-size: 13px;
    white-space: nowrap;
    max-width: 55%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wpxv-vendor-dashboard .wpxv-slug-wrapper input[type="text"] {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.wpxv-vendor-dashboard .wpxv-color-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.wpxv-vendor-dashboard .wpxv-color-picker {
    width: 52px;
    height: 48px;
    padding: 4px;
    border: 1px solid #d1d5db;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
}

.wpxv-vendor-dashboard .wpxv-form-row .wpxv-color-text {
    width: 140px;
}

.wpxv-vendor-dashboard .wpxv-form-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #f0f1f5;
}

.wpxv-vendor-dashboard .wpxv-image-upload {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

/* Products table */
.wpxv-vendor-dashboard .wpxv-products-list .wpxv-table {
    width: 100%;
    margin: 0;
    border: 1px solid var(--wpxv-d-border);
    border-radius: 16px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    font-size: 14.5px;
}

.wpxv-vendor-dashboard .wpxv-products-list .wpxv-table thead {
    background: #f9fafb;
}

.wpxv-vendor-dashboard .wpxv-products-list .wpxv-table th {
    padding: 12px 16px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--wpxv-d-muted);
    border-bottom: 1px solid var(--wpxv-d-border);
    text-align: left;
}

.wpxv-vendor-dashboard .wpxv-products-list .wpxv-table td {
    padding: 14px 16px;
    border-bottom: 1px solid #f3f4f6;
    vertical-align: middle;
}

.wpxv-vendor-dashboard .wpxv-products-list .wpxv-table tbody tr:last-child td {
    border-bottom: 0;
}

.wpxv-vendor-dashboard .wpxv-products-list .wpxv-table tbody tr:hover {
    background: #fafaff;
}

.wpxv-vendor-dashboard .wpxv-product-thumb {
    width: 56px !important;
    height: 56px !important;
    border-radius: 12px !important;
    object-fit: cover;
}

.wpxv-vendor-dashboard .wpxv-status {
    display: inline-block;
    padding: 4px 11px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.wpxv-vendor-dashboard .wpxv-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 2px;
    border-radius: 10px;
}

/* Section pages (orders, analytics, shipping) */
.wpxv-vendor-dashboard .wpxv-card {
    border: 1px solid var(--wpxv-d-border);
    border-radius: 16px;
    box-shadow: none;
}

.wpxv-vendor-dashboard .wpxv-kpi {
    border-radius: 14px;
}

.wpxv-vendor-dashboard .wpxv-filter-link {
    border-radius: 999px;
}

/* Mobile */
@media (max-width: 782px) {
    .wpxv-vendor-dashboard .wpxv-dashboard-header {
        padding: 20px;
        border-radius: 18px;
    }

    .wpxv-dashboard-avatar {
        width: 52px;
        height: 52px;
        font-size: 22px;
    }

    .wpxv-vendor-dashboard .wpxv-dashboard-welcome h1 {
        font-size: 21px !important;
    }

    .wpxv-vendor-dashboard .wpxv-dashboard-actions {
        width: 100%;
    }

    .wpxv-vendor-dashboard .wpxv-dashboard-actions .wpxv-btn {
        flex: 1 1 0;
        justify-content: center;
    }

    .wpxv-vendor-dashboard .wpxv-dashboard-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .wpxv-vendor-dashboard .wpxv-stat-card {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        padding: 14px 12px 18px;
    }

    .wpxv-vendor-dashboard .wpxv-stat-icon {
        width: 36px;
        height: 36px;
        border-radius: 10px;
    }

    .wpxv-vendor-dashboard .wpxv-stat-icon svg {
        width: 18px;
        height: 18px;
    }

    .wpxv-vendor-dashboard .wpxv-stat-card h3 {
        font-size: 21px;
    }

    .wpxv-vendor-dashboard .wpxv-stat-card p {
        font-size: 11.5px;
    }

    .wpxv-stat-progress {
        left: 12px;
        right: 12px;
        bottom: 8px;
    }

    .wpxv-vendor-dashboard .wpxv-dashboard-tabs {
        margin-left: 0;
        margin-right: 0;
    }

    .wpxv-vendor-dashboard .wpxv-tab-btn {
        flex: 0 0 auto;
        padding: 10px 14px;
        font-size: 14px;
    }

    .wpxv-vendor-dashboard .wpxv-tab-content {
        padding: 18px 14px;
        border-radius: 18px;
    }

    .wpxv-vendor-dashboard .wpxv-store-preview-card {
        padding: 10px;
    }

    .wpxv-vendor-dashboard .wpxv-profile-grid {
        grid-template-columns: 1fr;
    }

    .wpxv-vendor-dashboard .wpxv-profile-header .wpxv-btn {
        min-height: 40px;
        padding: 8px 14px;
    }

    .wpxv-vendor-dashboard .wpxv-form-actions .wpxv-btn {
        flex: 1 1 auto;
    }

    /* Products table becomes cards */
    .wpxv-vendor-dashboard .wpxv-products-list .wpxv-table,
    .wpxv-vendor-dashboard .wpxv-products-list .wpxv-table tbody,
    .wpxv-vendor-dashboard .wpxv-products-list .wpxv-table tr,
    .wpxv-vendor-dashboard .wpxv-products-list .wpxv-table td {
        display: block;
        width: 100%;
    }

    .wpxv-vendor-dashboard .wpxv-products-list .wpxv-table {
        border: 0;
        border-radius: 0;
        overflow: visible;
    }

    .wpxv-vendor-dashboard .wpxv-products-list .wpxv-table thead {
        display: none;
    }

    .wpxv-vendor-dashboard .wpxv-products-list .wpxv-table tr {
        position: relative;
        display: grid;
        grid-template-columns: 64px minmax(0, 1fr);
        grid-template-areas: "img name" "img price" "status actions";
        column-gap: 12px;
        row-gap: 4px;
        margin: 0 0 12px;
        padding: 14px;
        border: 1px solid var(--wpxv-d-border);
        border-radius: 16px;
    }

    .wpxv-vendor-dashboard .wpxv-products-list .wpxv-table td {
        padding: 0;
        border: 0;
    }

    .wpxv-vendor-dashboard .wpxv-products-list .wpxv-table td::before {
        display: none !important;
        content: none !important;
    }

    .wpxv-vendor-dashboard .wpxv-products-list .wpxv-table td:last-child {
        border-top: 0;
        gap: 4px;
        justify-content: flex-end;
    }

    .wpxv-vendor-dashboard .wpxv-dashboard-header {
        flex-direction: column;
        align-items: stretch;
        text-align: left;
    }

    .wpxv-vendor-dashboard .wpxv-dashboard-welcome {
        text-align: left;
    }

    .wpxv-vendor-dashboard .wpxv-products-list .wpxv-table td:nth-child(1) { grid-area: img; }
    .wpxv-vendor-dashboard .wpxv-products-list .wpxv-table td:nth-child(2) { grid-area: name; font-weight: 700; }
    .wpxv-vendor-dashboard .wpxv-products-list .wpxv-table td:nth-child(3) { grid-area: price; color: var(--wpxv-d-muted); }
    .wpxv-vendor-dashboard .wpxv-products-list .wpxv-table td:nth-child(4) { grid-area: status; align-self: center; margin-top: 8px; }
    .wpxv-vendor-dashboard .wpxv-products-list .wpxv-table td:nth-child(5) { grid-area: actions; justify-self: end; margin-top: 8px; }
}

/* Right-to-left */
.wpxv-dir-rtl .wpxv-vendor-dashboard .wpxv-stat-card,
body.rtl .wpxv-vendor-dashboard .wpxv-stat-card,
.wpxv-dir-rtl .wpxv-vendor-dashboard .wpxv-products-list .wpxv-table th,
body.rtl .wpxv-vendor-dashboard .wpxv-products-list .wpxv-table th {
    text-align: right;
}

.wpxv-dir-rtl .wpxv-vendor-dashboard .wpxv-slug-wrapper,
body.rtl .wpxv-vendor-dashboard .wpxv-slug-wrapper {
    direction: ltr;
}

/* ==========================================================================
   1.6.0 - My Products (cards, search, filters)
   ========================================================================== */
.wpxv-vendor-dashboard .wpxv-products-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.wpxv-vendor-dashboard .wpxv-products-head h2 {
    margin: 0 !important;
}

.wpxv-vendor-dashboard .wpxv-products-head .wpxv-btn svg {
    width: 16px;
    height: 16px;
}

.wpxv-products-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}

.wpxv-products-search {
    position: relative;
    flex: 1 1 240px;
    max-width: 360px;
}

.wpxv-products-search svg {
    position: absolute;
    left: 14px;
    top: 50%;
    width: 18px;
    height: 18px;
    transform: translateY(-50%);
    color: #9ca3af;
    pointer-events: none;
}

.wpxv-vendor-dashboard .wpxv-products-search input[type="search"] {
    width: 100%;
    min-height: 44px;
    padding: 10px 14px 10px 42px !important;
    border: 1px solid #d1d5db;
    border-radius: 12px;
    background: #ffffff;
    font-size: 14.5px;
    box-shadow: none;
}

.wpxv-vendor-dashboard .wpxv-products-search input[type="search"]:focus {
    outline: none;
    border-color: var(--wpxv-d-primary);
    box-shadow: 0 0 0 4px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.12);
}

.wpxv-products-filters {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.wpxv-vendor-dashboard .wpxv-pfilter {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 38px;
    padding: 6px 14px;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    background: #ffffff;
    color: #374151;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: none;
}

.wpxv-vendor-dashboard .wpxv-pfilter span {
    padding: 0 7px;
    border-radius: 999px;
    background: #f3f4f6;
    color: #6b7280;
    font-size: 12px;
}

.wpxv-vendor-dashboard .wpxv-pfilter.is-active {
    background: var(--wpxv-d-primary);
    border-color: var(--wpxv-d-primary);
    color: #ffffff;
}

.wpxv-vendor-dashboard .wpxv-pfilter.is-active span {
    background: rgba(255, 255, 255, 0.22);
    color: #ffffff;
}

.wpxv-product-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 16px;
}

.wpxv-product-card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid #e8eaf0;
    border-radius: 16px;
    overflow: hidden;
    transition: box-shadow 0.15s, border-color 0.15s, transform 0.15s;
}

.wpxv-product-card:hover {
    border-color: var(--wpxv-primary-200, #c7d2fe);
    box-shadow: 0 10px 26px rgba(16, 24, 40, 0.08);
    transform: translateY(-2px);
}

.wpxv-product-card-media {
    position: relative;
    aspect-ratio: 1 / 1;
    background: #f3f4f6;
}

.wpxv-vendor-dashboard .wpxv-product-card-media img.wpxv-product-thumb {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover;
    border-radius: 0 !important;
    border: 0;
    margin: 0;
}

.wpxv-product-card-noimg {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #cbd5e1;
}

.wpxv-product-card-noimg svg {
    width: 48px;
    height: 48px;
}

.wpxv-vendor-dashboard .wpxv-product-card-media .wpxv-status {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    box-shadow: 0 2px 8px rgba(16, 24, 40, 0.12);
}

.wpxv-vendor-dashboard .wpxv-status-live { background: #dcfce7; color: #166534; }
.wpxv-vendor-dashboard .wpxv-status-pending { background: #fef3c7; color: #92400e; }
.wpxv-vendor-dashboard .wpxv-status-draft { background: #f3f4f6; color: #374151; }

.wpxv-product-card-photos {
    position: absolute;
    right: 10px;
    bottom: 10px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(17, 24, 39, 0.7);
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
}

.wpxv-product-card-photos svg {
    width: 13px;
    height: 13px;
}

.wpxv-product-card-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px 14px 10px;
    flex-grow: 1;
}

.wpxv-product-card-cat {
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.wpxv-vendor-dashboard .wpxv-product-card-title {
    margin: 0;
    font-size: 15.5px;
    font-weight: 700;
    line-height: 1.35;
    color: #111827;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.wpxv-product-card-price {
    font-size: 15px;
    font-weight: 800;
    color: var(--wpxv-d-primary-dark);
}

.wpxv-product-card-price del {
    color: #9ca3af;
    font-weight: 500;
}

.wpxv-product-card-actions {
    display: flex;
    gap: 8px;
    padding: 0 14px 14px;
}

.wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-icon-btn {
    margin: 0;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
    background: #ffffff;
}

.wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-product-edit-wide {
    flex: 1 1 auto;
    width: auto;
    gap: 6px;
    font-size: 14px;
    font-weight: 700;
    color: var(--wpxv-d-primary-dark);
    background: var(--wpxv-d-soft);
    border-color: transparent;
}

.wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-product-edit-wide svg {
    width: 16px;
    height: 16px;
}

.wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-icon-btn-view {
    color: #2563eb;
}

.wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-icon-btn-delete {
    color: #dc2626;
}

.wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-icon-btn-delete:hover {
    background: #fee2e2;
    border-color: #fecaca;
}

.wpxv-products-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 40px 20px;
    border: 2px dashed #e5e7eb;
    border-radius: 18px;
    text-align: center;
}

.wpxv-products-empty > span svg {
    width: 52px;
    height: 52px;
    color: var(--wpxv-primary-200, #c7d2fe);
}

.wpxv-products-empty .wpxv-no-products {
    margin: 0;
    color: #6b7280;
}

.wpxv-products-none {
    margin: 20px 0 0;
    text-align: center;
    color: #6b7280;
}

/* ==========================================================================
   1.6.0 - Product images (upload tiles)
   ========================================================================== */
.wpxv-vendor-dashboard .wpxv-images-row {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.wpxv-vendor-dashboard .wpxv-images-row > div > label {
    display: block;
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 600;
    color: #374151;
}

.wpxv-vendor-dashboard .wpxv-upload-main,
.wpxv-vendor-dashboard .wpxv-upload-gallery {
    margin: 0;
}

.wpxv-vendor-dashboard .wpxv-upload-main {
    position: relative;
    width: 240px;
    height: 240px;
}

.wpxv-vendor-dashboard .wpxv-upload-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    height: 100%;
    padding: 18px;
    border: 2px dashed var(--wpxv-primary-200, #c7d2fe) !important;
    border-radius: 18px !important;
    background: var(--wpxv-primary-50, #f8f9ff) !important;
    color: var(--wpxv-d-primary-dark) !important;
    text-align: center;
    cursor: pointer;
    box-shadow: none !important;
    transition: background 0.15s, border-color 0.15s;
    font-family: inherit;
}

.wpxv-vendor-dashboard .wpxv-upload-tile:hover,
.wpxv-vendor-dashboard .wpxv-upload-tile:focus-visible {
    background: var(--wpxv-primary-soft, #eef2ff) !important;
    border-color: var(--wpxv-d-primary) !important;
    outline: none;
}

.wpxv-vendor-dashboard .wpxv-upload-tile svg {
    width: 34px;
    height: 34px;
}

.wpxv-vendor-dashboard .wpxv-upload-tile strong {
    font-size: 15px;
    font-weight: 700;
}

.wpxv-vendor-dashboard .wpxv-upload-tile small {
    font-size: 12.5px;
    line-height: 1.4;
    color: #6b7280;
}

.wpxv-upload-label-change {
    display: none;
}

/* Main image chosen: the photo fills the tile, "Change image" at the bottom. */
.wpxv-vendor-dashboard .wpxv-upload-main #main_image_preview {
    display: none;
}

.wpxv-vendor-dashboard .wpxv-upload-main.has-image #main_image_preview {
    position: absolute;
    inset: 0;
    display: block;
    margin: 0;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    background: #f3f4f6;
}

.wpxv-vendor-dashboard .wpxv-upload-main.has-image #main_image_preview img {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    border: 0;
    border-radius: 0;
}

.wpxv-vendor-dashboard .wpxv-upload-main.has-image .wpxv-upload-tile {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 10px;
    width: auto;
    height: auto;
    flex-direction: row;
    gap: 6px;
    padding: 9px 12px;
    border: 0 !important;
    border-radius: 12px !important;
    background: rgba(17, 24, 39, 0.72) !important;
    color: #ffffff !important;
    backdrop-filter: blur(4px);
}

.wpxv-vendor-dashboard .wpxv-upload-main.has-image .wpxv-upload-tile svg {
    width: 16px;
    height: 16px;
}

.wpxv-vendor-dashboard .wpxv-upload-main.has-image .wpxv-upload-tile small,
.wpxv-vendor-dashboard .wpxv-upload-main.has-image .wpxv-upload-label-empty {
    display: none;
}

.wpxv-vendor-dashboard .wpxv-upload-main.has-image .wpxv-upload-label-change {
    display: inline;
    font-size: 14px;
}

/* Gallery: tiles in a grid, "Add images" tile at the end. */
.wpxv-vendor-dashboard .wpxv-upload-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(104px, 1fr));
    gap: 12px;
}

.wpxv-vendor-dashboard .wpxv-upload-gallery .wpxv-gallery-preview {
    display: contents;
}

.wpxv-vendor-dashboard .wpxv-gallery-preview .wpxv-image-preview,
.wpxv-vendor-dashboard .wpxv-upload-tile-small {
    position: relative;
    aspect-ratio: 1 / 1;
    width: 100%;
    height: auto;
    margin: 0;
}

.wpxv-vendor-dashboard .wpxv-gallery-preview .wpxv-image-preview img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
}

.wpxv-vendor-dashboard .wpxv-upload-tile-small {
    padding: 8px;
    gap: 4px;
    border-radius: 14px !important;
}

.wpxv-vendor-dashboard .wpxv-upload-tile-small svg {
    width: 24px;
    height: 24px;
}

.wpxv-vendor-dashboard .wpxv-upload-tile-small strong {
    font-size: 13px;
}

.wpxv-vendor-dashboard .wpxv-images-gallery .wpxv-field-description {
    margin-top: 10px;
}

/* Remove buttons on images */
.wpxv-vendor-dashboard .wpxv-remove-image {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    z-index: 2;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 30px !important;
    height: 30px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: rgba(17, 24, 39, 0.72) !important;
    color: #ffffff !important;
    font-size: 18px !important;
    line-height: 1 !important;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
    transition: background 0.15s;
}

.wpxv-vendor-dashboard .wpxv-remove-image:hover {
    background: #dc2626 !important;
}

/* Store logo upload in the profile form */
.wpxv-vendor-dashboard #store_logo_preview img {
    width: 96px;
    height: 96px;
    max-width: none;
    object-fit: cover;
    border-radius: 50%;
    border: 1px solid #e5e7eb;
}

@media (max-width: 782px) {
    .wpxv-vendor-dashboard .wpxv-images-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .wpxv-vendor-dashboard .wpxv-upload-main {
        width: 100%;
        max-width: 320px;
        height: auto;
        aspect-ratio: 1 / 1;
    }

    .wpxv-vendor-dashboard .wpxv-upload-gallery {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .wpxv-product-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .wpxv-product-card-body {
        padding: 10px 10px 8px;
    }

    .wpxv-vendor-dashboard .wpxv-product-card-title {
        font-size: 14px;
    }

    .wpxv-product-card-actions {
        padding: 0 10px 10px;
        gap: 6px;
    }

    .wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-icon-btn {
        width: 36px;
        height: 36px;
    }

    .wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-product-edit-wide span {
        display: none;
    }

    .wpxv-products-search {
        max-width: none;
    }
}

/* ==========================================================================
   1.6.0 - WordPress media window on the front end
   Many themes style every button, input and select of the page; this puts
   the media window (used to choose product images) back to normal.
   ========================================================================== */
.media-modal {
    font-size: 13px;
    line-height: 1.4;
}

.media-modal *,
.media-modal *::before,
.media-modal *::after {
    letter-spacing: normal;
    text-transform: none;
}

.media-modal .media-frame-title h1 {
    margin: 0;
    padding: 0 16px;
    font-size: 22px;
    line-height: 50px;
    font-weight: 600;
}

.media-modal button.media-modal-close {
    width: 50px;
    height: 50px;
    min-height: 0;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #646970;
}

.media-modal .media-router .media-menu-item {
    width: auto;
    min-height: 0;
    height: 100%;
    margin: 0;
    padding: 8px 10px 9px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #50575e;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.8;
}

.media-modal .media-router .media-menu-item.active {
    color: #1d2327;
    box-shadow: inset 0 -4px 0 0 var(--wpxv-primary, #4f46e5);
}

.media-modal .media-toolbar {
    overflow: visible !important;
}

.media-modal .attachments-browser .media-toolbar {
    height: 72px;
}

.media-modal .media-toolbar select,
.media-modal .media-toolbar input[type="search"],
.media-modal .media-toolbar input[type="text"] {
    display: inline-block;
    width: auto;
    max-width: 100%;
    height: 32px !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    border: 1px solid #8c8f94 !important;
    border-radius: 4px !important;
    background: #ffffff;
    box-shadow: none !important;
    font-size: 14px !important;
    line-height: 2 !important;
    box-sizing: border-box !important;
}

.media-modal .media-toolbar select {
    padding-right: 24px !important;
}

.media-modal .media-toolbar label.media-search-input-label,
.media-modal .media-toolbar .media-attachments-filter-heading {
    display: block;
    margin: 0 0 4px;
    font-size: 13px;
}

.media-modal .media-frame-toolbar .button,
.media-modal .media-toolbar .button {
    min-height: 32px;
    height: auto;
    padding: 0 12px;
    border-radius: 4px;
    font-size: 13px;
    line-height: 2.30769231;
    box-shadow: none;
}

.media-modal .media-frame-toolbar .button-primary {
    background: var(--wpxv-primary, #4f46e5);
    border-color: var(--wpxv-primary, #4f46e5);
    color: #ffffff;
}

.media-modal .media-frame-toolbar .button-primary:disabled,
.media-modal .media-frame-toolbar .button-primary[disabled] {
    background: var(--wpxv-primary-200, #c7d2fe) !important;
    border-color: var(--wpxv-primary-200, #c7d2fe) !important;
    color: #ffffff !important;
}

.media-modal .attachments .attachment .check,
.media-modal .attachment .button-link {
    min-height: 0;
    padding: 0;
    box-shadow: none;
}

.media-modal .upload-ui .button,
.media-modal .upload-ui .browser {
    height: 46px;
    padding: 0 36px;
    font-size: 14px;
    line-height: 3.14285714;
}

@media (max-width: 782px) {
    .media-modal .attachments-browser .media-toolbar {
        height: auto;
    }
}

/* ==========================================================================
   1.6.0 - Stores list
   ========================================================================== */
.wpxv-stores .wpxv-stores-title {
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.wpxv-stores .wpxv-stores-search {
    flex: 0 1 360px;
}

.wpxv-stores .wpxv-stores-search svg {
    left: 16px;
    width: 18px;
    height: 18px;
    z-index: 1;
}

.wpxv-stores .wpxv-stores-search input[type="search"] {
    width: 100% !important;
    min-height: 48px;
    margin: 0;
    padding: 12px 16px 12px 46px !important;
    border: 1px solid #dfe3ea !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    font-size: 15px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
    -webkit-appearance: none;
    appearance: none;
}

.wpxv-stores .wpxv-stores-search input[type="search"]:focus {
    border-color: var(--wpxv-primary, #4f46e5) !important;
    box-shadow: 0 0 0 4px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.12);
}

.wpxv-stores .wpxv-stores-grid {
    gap: 22px;
}

.wpxv-stores .wpxv-store-card {
    --wpxv-store-color: var(--wpxv-primary, #4f46e5);
    position: relative;
    min-width: 0;
    border: 1px solid #e8ebf0;
    border-radius: 18px;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
}

.wpxv-stores .wpxv-store-card:hover {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--wpxv-store-color) 35%, #e8ebf0);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.11);
}

.wpxv-store-card-cover {
    display: block;
    height: 86px;
    background:
        radial-gradient(circle at 85% 20%, rgba(255, 255, 255, 0.22) 0 26px, transparent 27px),
        radial-gradient(circle at 12% 110%, rgba(255, 255, 255, 0.16) 0 40px, transparent 41px),
        linear-gradient(135deg, var(--wpxv-store-color), color-mix(in srgb, var(--wpxv-store-color) 62%, #111827));
}

.wpxv-stores .wpxv-store-card-media {
    height: auto;
    margin: -44px auto 0;
    background: transparent;
    position: relative;
    z-index: 1;
}

.wpxv-stores .wpxv-store-card-media img,
.wpxv-stores .wpxv-store-card-initial {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    border: 4px solid #ffffff;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.16);
    box-sizing: border-box;
}

.wpxv-stores .wpxv-store-card-initial {
    font-size: 34px;
    font-weight: 800;
}

.wpxv-stores .wpxv-store-card-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #166534;
    font-size: 12px;
    font-weight: 700;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.1);
}

.wpxv-stores .wpxv-store-card-body {
    flex: 1 1 auto;
    gap: 6px;
    padding: 12px 18px 18px;
    min-width: 0;
}

.wpxv-stores .wpxv-store-card-name {
    max-width: 100%;
    font-size: 17px;
    font-weight: 800;
    gap: 6px;
}

.wpxv-stores .wpxv-store-card-name > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wpxv-stores .wpxv-store-card-name svg {
    width: 18px;
    height: 18px;
    color: #0ea5e9;
}

.wpxv-stores .wpxv-store-card-meta,
.wpxv-stores .wpxv-store-card-address {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    max-width: 100%;
    color: #64748b;
    font-size: 13.5px;
}

.wpxv-stores .wpxv-store-card-meta svg,
.wpxv-stores .wpxv-store-card-address svg {
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    color: #94a3b8;
}

.wpxv-stores .wpxv-store-card-address > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wpxv-store-card-visit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: auto;
    padding: 9px 18px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--wpxv-store-color) 10%, #ffffff);
    color: color-mix(in srgb, var(--wpxv-store-color) 55%, #111827);
    font-size: 14px;
    font-weight: 700;
    transition: background 0.15s, color 0.15s;
}

.wpxv-stores .wpxv-store-card-body > :nth-last-child(2) {
    margin-bottom: 10px;
}

.wpxv-store-card-visit svg {
    width: 16px;
    height: 16px;
    transition: transform 0.15s;
}

.wpxv-store-card:hover .wpxv-store-card-visit {
    background: var(--wpxv-store-color);
    color: #ffffff;
}

.wpxv-store-card:hover .wpxv-store-card-visit svg {
    transform: translateX(3px);
}

.wpxv-stores .wpxv-stores-more {
    min-height: 46px;
    padding: 10px 26px;
    border-radius: 999px;
}

@media (max-width: 768px) {
    .wpxv-stores .wpxv-stores-title {
        font-size: 22px;
    }

    .wpxv-stores .wpxv-stores-search {
        flex-basis: 100%;
    }

    .wpxv-store-card-cover {
        height: 64px;
    }

    .wpxv-stores .wpxv-store-card-media {
        margin-top: -36px;
    }

    .wpxv-stores .wpxv-store-card-media img,
    .wpxv-stores .wpxv-store-card-initial {
        width: 72px;
        height: 72px;
        font-size: 28px;
    }

    .wpxv-stores .wpxv-store-card-body {
        padding: 10px 10px 14px;
    }

    .wpxv-stores .wpxv-store-card-name {
        font-size: 15px;
    }

    .wpxv-store-card-visit {
        padding: 8px 12px;
        font-size: 13px;
    }
}

/* RTL */
.wpxv-dir-rtl .wpxv-stores .wpxv-stores-search svg,
[dir="rtl"] .wpxv-stores .wpxv-stores-search svg {
    left: auto;
    right: 16px;
}

.wpxv-dir-rtl .wpxv-stores .wpxv-stores-search input[type="search"],
[dir="rtl"] .wpxv-stores .wpxv-stores-search input[type="search"] {
    padding: 12px 46px 12px 16px !important;
}

.wpxv-dir-rtl .wpxv-stores .wpxv-store-card-badge,
[dir="rtl"] .wpxv-stores .wpxv-store-card-badge {
    left: auto;
    right: 12px;
}

.wpxv-dir-rtl .wpxv-store-card-visit svg,
[dir="rtl"] .wpxv-store-card-visit svg {
    transform: scaleX(-1);
}

.wpxv-dir-rtl .wpxv-store-card:hover .wpxv-store-card-visit svg,
[dir="rtl"] .wpxv-store-card:hover .wpxv-store-card-visit svg {
    transform: scaleX(-1) translateX(3px);
}

/* 1.6.0 - product card buttons win over the old !important icon buttons */
.wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-icon-btn {
    width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    min-width: 40px !important;
    margin: 0 !important;
    border-radius: 10px !important;
    border: 1px solid #e5e7eb !important;
    background: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
}

.wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-icon-btn-view { color: #2563eb !important; }
.wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-icon-btn-delete { color: #dc2626 !important; }

.wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-icon-btn:hover {
    background: #f3f4f6 !important;
    color: inherit;
}

.wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-icon-btn-delete:hover {
    background: #fee2e2 !important;
    border-color: #fecaca !important;
    color: #dc2626 !important;
}

.wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-product-edit-wide {
    flex: 1 1 auto !important;
    width: auto !important;
    gap: 6px;
    padding: 0 12px !important;
    color: var(--wpxv-d-primary-dark) !important;
    background: var(--wpxv-d-soft) !important;
    border-color: transparent !important;
}

.wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-product-edit-wide:hover {
    background: var(--wpxv-d-primary) !important;
    color: #ffffff !important;
}

.wpxv-vendor-dashboard .wpxv-product-card-price a,
.wpxv-vendor-dashboard .wpxv-product-card-price ins {
    text-decoration: none;
}

@media (max-width: 782px) {
    .wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-icon-btn {
        width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        min-width: 36px !important;
    }
}

.media-modal .media-router {
    height: 100%;
}

.media-modal .media-router .media-menu-item {
    box-sizing: border-box;
    height: 100%;
    padding: 8px 10px 9px;
}

.wpxv-stores .wpxv-store-card-address > span {
    unicode-bidi: plaintext;
}

.wpxv-dir-rtl .wpxv-vendor-dashboard .wpxv-remove-image,
[dir="rtl"] .wpxv-vendor-dashboard .wpxv-remove-image {
    right: auto !important;
    left: 8px !important;
}

.wpxv-dir-rtl .wpxv-products-search svg,
[dir="rtl"] .wpxv-products-search svg {
    left: auto;
    right: 14px;
}

.wpxv-dir-rtl .wpxv-vendor-dashboard .wpxv-products-search input[type="search"],
[dir="rtl"] .wpxv-vendor-dashboard .wpxv-products-search input[type="search"] {
    padding: 10px 42px 10px 14px !important;
}

.wpxv-dir-rtl .wpxv-vendor-dashboard .wpxv-product-card-media .wpxv-status,
[dir="rtl"] .wpxv-vendor-dashboard .wpxv-product-card-media .wpxv-status {
    left: auto;
    right: 10px;
}

.wpxv-dir-rtl .wpxv-product-card-photos,
[dir="rtl"] .wpxv-product-card-photos {
    right: auto;
    left: 10px;
}

/* ==========================================================================
   1.6.1 - Products title on the store page: underline in the store colour
   ========================================================================== */
.wpxv-store-layout .wpxv-store-products .wpxv-section-title {
    position: relative;
    display: inline-block;
    padding-bottom: 12px;
    border-bottom: 0;
}

.wpxv-store-layout .wpxv-store-products .wpxv-section-title::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 4px;
    border-radius: 4px;
    background: var(--wpxv-store-color, var(--wpxv-primary, #4f46e5));
}

/* ==========================================================================
   1.6.1 - My Products: lighter, smaller, more products per row
   ========================================================================== */
.wpxv-vendor-dashboard .wpxv-products-head {
    margin-bottom: 14px;
}

.wpxv-vendor-dashboard .wpxv-products-head h2 {
    font-size: 22px !important;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.wpxv-vendor-dashboard .wpxv-products-head .wpxv-btn {
    min-height: 40px;
    padding: 8px 16px;
    font-size: 14px;
    border-radius: 10px;
}

.wpxv-vendor-dashboard .wpxv-products-toolbar {
    gap: 10px;
    margin-bottom: 16px;
    padding: 10px;
    border: 1px solid var(--wpxv-d-border);
    border-radius: 14px;
    background: #f9fafb;
}

.wpxv-vendor-dashboard .wpxv-products-search {
    flex: 0 1 280px;
    max-width: 280px;
}

.wpxv-vendor-dashboard .wpxv-products-search svg {
    left: 12px;
    width: 16px;
    height: 16px;
}

.wpxv-vendor-dashboard .wpxv-products-search input[type="search"] {
    min-height: 38px;
    height: 38px;
    padding: 6px 12px 6px 36px !important;
    border-radius: 10px;
    font-size: 14px;
    background: #ffffff;
}

.wpxv-vendor-dashboard .wpxv-pfilter {
    min-height: 34px;
    padding: 4px 12px;
    font-size: 13px;
    background: #ffffff;
}

.wpxv-vendor-dashboard .wpxv-product-cards {
    grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
    gap: 14px;
}

.wpxv-vendor-dashboard .wpxv-product-card {
    border-radius: 14px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}

.wpxv-vendor-dashboard .wpxv-product-card-media {
    aspect-ratio: 1 / 1;
    background: #ffffff;
    border-bottom: 1px solid #f1f3f6;
}

/* Show the whole product photo (packshots are often not square). */
.wpxv-vendor-dashboard .wpxv-product-card-media img.wpxv-product-thumb {
    object-fit: contain !important;
    padding: 10px;
    box-sizing: border-box;
    background: #ffffff;
}

.wpxv-vendor-dashboard .wpxv-product-card-media .wpxv-status {
    top: 8px;
    left: 8px;
    padding: 3px 8px;
    font-size: 11px;
}

.wpxv-vendor-dashboard .wpxv-product-card-photos {
    right: 8px;
    bottom: 8px;
    padding: 2px 7px;
    font-size: 11px;
}

.wpxv-vendor-dashboard .wpxv-product-card-body {
    gap: 2px;
    padding: 10px 12px 8px;
}

.wpxv-vendor-dashboard .wpxv-product-card-cat {
    font-size: 10.5px;
}

.wpxv-vendor-dashboard .wpxv-product-card-title {
    font-size: 14px !important;
}

.wpxv-vendor-dashboard .wpxv-product-card-price {
    font-size: 14px;
}

.wpxv-vendor-dashboard .wpxv-product-card-actions {
    gap: 6px;
    padding: 0 12px 12px;
}

.wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-icon-btn {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    border-radius: 9px !important;
}

.wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-icon-btn svg {
    width: 15px !important;
    height: 15px !important;
}

.wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-product-edit-wide {
    font-size: 13px;
}

@media (max-width: 782px) {
    .wpxv-vendor-dashboard .wpxv-products-toolbar {
        padding: 8px;
    }

    .wpxv-vendor-dashboard .wpxv-products-search {
        flex-basis: 100%;
        max-width: none;
    }

    .wpxv-vendor-dashboard .wpxv-product-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
}

.wpxv-dir-rtl .wpxv-vendor-dashboard .wpxv-products-search svg,
[dir="rtl"] .wpxv-vendor-dashboard .wpxv-products-search svg {
    left: auto;
    right: 12px;
}

.wpxv-dir-rtl .wpxv-vendor-dashboard .wpxv-products-search input[type="search"],
[dir="rtl"] .wpxv-vendor-dashboard .wpxv-products-search input[type="search"] {
    padding: 6px 36px 6px 12px !important;
}

.wpxv-dir-rtl .wpxv-vendor-dashboard .wpxv-product-card-media .wpxv-status,
[dir="rtl"] .wpxv-vendor-dashboard .wpxv-product-card-media .wpxv-status {
    left: auto;
    right: 8px;
}

.wpxv-dir-rtl .wpxv-vendor-dashboard .wpxv-product-card-photos,
[dir="rtl"] .wpxv-vendor-dashboard .wpxv-product-card-photos {
    right: auto;
    left: 8px;
}

/* Logo wrapped in a link (product pages): keep the image round too. */
.wpxv-sh .wpxv-store-logo > a {
    border-radius: inherit;
    overflow: hidden;
}

/* ==========================================================================
   1.6.2 - My Products: professional list (default) and grid views
   ========================================================================== */
.wpxv-vendor-dashboard .wpxv-products-view {
    display: inline-flex;
    padding: 3px;
    border: 1px solid var(--wpxv-d-border);
    border-radius: 10px;
    background: #ffffff;
    order: 3;
}

.wpxv-vendor-dashboard .wpxv-pview {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 28px;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #6b7280;
    box-shadow: none;
    cursor: pointer;
}

.wpxv-vendor-dashboard .wpxv-pview svg {
    width: 16px;
    height: 16px;
}

.wpxv-vendor-dashboard .wpxv-pview.is-active {
    background: var(--wpxv-d-soft);
    color: var(--wpxv-d-primary-dark);
}

.wpxv-vendor-dashboard .wpxv-products-filters {
    margin-left: auto;
}

/* ---- shared ---- */
.wpxv-vendor-dashboard .wpxv-product-card {
    position: relative;
    transform: none !important;
}

.wpxv-vendor-dashboard .wpxv-product-card-media {
    position: relative;
    overflow: hidden;
    background: #ffffff;
}

.wpxv-vendor-dashboard .wpxv-product-card-media img.wpxv-product-thumb {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    background: #ffffff;
}

.wpxv-vendor-dashboard .wpxv-product-card-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    color: #6b7280;
    font-size: 12.5px;
}

.wpxv-vendor-dashboard .wpxv-product-card-meta .wpxv-product-card-cat {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-transform: none;
    letter-spacing: 0;
    font-size: 12.5px;
    font-weight: 500;
    color: #6b7280;
}

.wpxv-vendor-dashboard .wpxv-product-card-meta .wpxv-product-card-photos {
    position: static;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 0;
    background: none;
    color: #9ca3af;
    font-size: 12.5px;
    font-weight: 500;
}

.wpxv-vendor-dashboard .wpxv-product-card-meta .wpxv-product-card-cat + .wpxv-product-card-photos::before {
    content: "";
    width: 3px;
    height: 3px;
    margin-right: 6px;
    border-radius: 50%;
    background: #d1d5db;
}

.wpxv-vendor-dashboard .wpxv-product-card-status .wpxv-status {
    position: static;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    box-shadow: none;
    white-space: nowrap;
}

.wpxv-vendor-dashboard .wpxv-product-card-status .wpxv-status::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}

.wpxv-vendor-dashboard .wpxv-product-card-price {
    font-size: 14px;
    font-weight: 700;
    color: #111827;
    white-space: nowrap;
}

.wpxv-vendor-dashboard .wpxv-product-card-price del {
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: #9ca3af;
}

.wpxv-vendor-dashboard .wpxv-product-card-price ins {
    text-decoration: none;
    background: none;
}

.wpxv-vendor-dashboard .wpxv-product-card-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0;
}

.wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-icon-btn {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    border-radius: 9px !important;
    border: 1px solid #e5e7eb !important;
    background: #ffffff !important;
    color: #4b5563 !important;
}

.wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-icon-btn svg {
    width: 16px !important;
    height: 16px !important;
}

.wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-icon-btn:hover {
    border-color: #d1d5db !important;
    background: #f9fafb !important;
    color: #111827 !important;
}

.wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-product-edit-wide {
    flex: 0 0 auto !important;
    width: auto !important;
    padding: 0 12px !important;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #111827 !important;
    background: #ffffff !important;
    border-color: #e5e7eb !important;
}

.wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-product-edit-wide:hover {
    background: var(--wpxv-d-primary) !important;
    border-color: var(--wpxv-d-primary) !important;
    color: #ffffff !important;
}

.wpxv-vendor-dashboard .wpxv-product-card-actions .wpxv-icon-btn-delete:hover {
    background: #fef2f2 !important;
    border-color: #fecaca !important;
    color: #dc2626 !important;
}

/* ---- list view ---- */
.wpxv-vendor-dashboard .wpxv-product-cards.is-list {
    display: block;
    border: 1px solid var(--wpxv-d-border);
    border-radius: 14px;
    overflow: hidden;
    background: #ffffff;
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-cards-head,
.wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 130px 120px 190px;
    align-items: center;
    gap: 16px;
    padding: 12px 18px;
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-cards-head {
    padding-top: 10px;
    padding-bottom: 10px;
    background: #f9fafb;
    border-bottom: 1px solid var(--wpxv-d-border);
    color: #6b7280;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card {
    grid-template-columns: 56px minmax(0, 1fr) 130px 120px 190px;
    border: 0;
    border-bottom: 1px solid #f1f2f5;
    border-radius: 0;
    box-shadow: none;
    background: #ffffff;
    transition: background 0.12s;
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-cards-head span:first-child {
    grid-column: span 1;
    padding-left: 72px;
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card:last-of-type {
    border-bottom: 0;
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card:hover {
    background: #fafbfc;
    box-shadow: none;
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card-media {
    width: 56px;
    height: 56px;
    aspect-ratio: auto;
    border: 1px solid #eceef2;
    border-radius: 10px;
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card-media img.wpxv-product-thumb {
    padding: 4px;
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card-noimg svg {
    width: 24px;
    height: 24px;
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card-body {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
    padding: 0;
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card-title {
    margin: 0;
    font-size: 14.5px !important;
    font-weight: 600;
    -webkit-line-clamp: 1;
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card-actions {
    justify-content: flex-end;
}

/* ---- grid view ---- */
.wpxv-vendor-dashboard .wpxv-product-cards.is-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 16px;
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-grid .wpxv-product-cards-head {
    display: none;
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-grid .wpxv-product-card {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--wpxv-d-border);
    border-radius: 14px;
    overflow: hidden;
    background: #ffffff;
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-grid .wpxv-product-card:hover {
    box-shadow: 0 8px 24px rgba(16, 24, 40, 0.08);
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-grid .wpxv-product-card-media {
    aspect-ratio: 4 / 3;
    border-bottom: 1px solid #f1f2f5;
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-grid .wpxv-product-card-media img.wpxv-product-thumb {
    padding: 12px;
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-grid .wpxv-product-card-status {
    position: absolute;
    top: 10px;
    left: 10px;
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-grid .wpxv-product-card-status .wpxv-status {
    box-shadow: 0 1px 4px rgba(16, 24, 40, 0.12);
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-grid .wpxv-product-card-body {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 12px 14px 4px;
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-grid .wpxv-product-card-title {
    margin: 0;
    font-size: 14.5px !important;
    font-weight: 600;
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-grid .wpxv-product-card-price {
    padding: 4px 14px 12px;
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-grid .wpxv-product-card-actions {
    margin-top: auto;
    padding: 10px 14px 14px;
    border-top: 1px solid #f1f2f5;
}

.wpxv-vendor-dashboard .wpxv-product-cards.is-grid .wpxv-product-card-actions .wpxv-product-edit-wide {
    flex: 1 1 auto !important;
}

/* ---- phones ---- */
@media (max-width: 782px) {
    .wpxv-vendor-dashboard .wpxv-products-filters {
        margin-left: 0;
        overflow-x: auto;
        flex-wrap: nowrap;
        max-width: 100%;
    }

    .wpxv-vendor-dashboard .wpxv-products-view {
        order: 0;
        margin-left: auto;
    }

    .wpxv-vendor-dashboard .wpxv-products-search {
        order: -1;
    }

    .wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-cards-head {
        display: none;
    }

    .wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card {
        grid-template-columns: 56px minmax(0, 1fr) auto;
        grid-template-areas:
            "media body status"
            "media price actions";
        gap: 6px 12px;
        padding: 12px 14px;
    }

    .wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card-media { grid-area: media; align-self: start; }
    .wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card-body { grid-area: body; }
    .wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card-status { grid-area: status; justify-self: end; }
    .wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card-price { grid-area: price; }
    .wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card-actions { grid-area: actions; }

    .wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card-actions .wpxv-product-edit-wide span {
        display: none;
    }

    .wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card-actions .wpxv-product-edit-wide {
        width: 34px !important;
        padding: 0 !important;
    }

    .wpxv-vendor-dashboard .wpxv-product-cards.is-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .wpxv-vendor-dashboard .wpxv-product-cards.is-grid .wpxv-product-card-actions .wpxv-product-edit-wide span {
        display: none;
    }
}

/* ---- right to left ---- */
.wpxv-dir-rtl .wpxv-vendor-dashboard .wpxv-products-filters,
[dir="rtl"] .wpxv-vendor-dashboard .wpxv-products-filters {
    margin-left: 0;
    margin-right: auto;
}

.wpxv-dir-rtl .wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-cards-head span:first-child,
[dir="rtl"] .wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-cards-head span:first-child {
    padding-left: 0;
    padding-right: 72px;
}

.wpxv-dir-rtl .wpxv-vendor-dashboard .wpxv-product-cards.is-grid .wpxv-product-card-status,
[dir="rtl"] .wpxv-vendor-dashboard .wpxv-product-cards.is-grid .wpxv-product-card-status {
    left: auto;
    right: 10px;
}

.wpxv-dir-rtl .wpxv-vendor-dashboard .wpxv-product-card-meta .wpxv-product-card-cat + .wpxv-product-card-photos::before,
[dir="rtl"] .wpxv-vendor-dashboard .wpxv-product-card-meta .wpxv-product-card-cat + .wpxv-product-card-photos::before {
    margin-right: 0;
    margin-left: 6px;
}

@media (max-width: 782px) {
    .wpxv-dir-rtl .wpxv-vendor-dashboard .wpxv-products-view,
    [dir="rtl"] .wpxv-vendor-dashboard .wpxv-products-view {
        margin-left: 0;
        margin-right: auto;
    }
}

/* ==========================================================================
   1.6.2 - Stores list: compact search box that themes cannot blow up
   ========================================================================== */
.wpxv-stores .wpxv-stores-header {
    align-items: center;
    gap: 12px 20px;
    margin-bottom: 20px;
}

.wpxv-stores .wpxv-stores-header .wpxv-stores-title {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 24px;
}

.wpxv-stores form.wpxv-stores-search {
    position: relative;
    flex: 0 1 280px;
    width: 280px;
    max-width: 100%;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
}

.wpxv-stores form.wpxv-stores-search svg {
    position: absolute;
    left: 13px;
    top: 50%;
    width: 16px;
    height: 16px;
    margin: 0;
    transform: translateY(-50%);
    color: #94a3b8;
    pointer-events: none;
}

.wpxv-stores form.wpxv-stores-search input[type="search"] {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 14px 0 38px !important;
    box-sizing: border-box !important;
    border: 1px solid #dfe3ea !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    font-size: 14px !important;
    line-height: 38px !important;
    color: #111827;
}

.wpxv-stores form.wpxv-stores-search input[type="search"]:focus {
    outline: none;
    border-color: var(--wpxv-primary, #4f46e5) !important;
    box-shadow: 0 0 0 3px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.12) !important;
}

.wpxv-stores form.wpxv-stores-search input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

@media (max-width: 768px) {
    .wpxv-stores form.wpxv-stores-search {
        flex: 1 1 100%;
        width: 100%;
    }
}

.wpxv-dir-rtl .wpxv-stores form.wpxv-stores-search svg,
[dir="rtl"] .wpxv-stores form.wpxv-stores-search svg {
    left: auto;
    right: 13px;
}

.wpxv-dir-rtl .wpxv-stores form.wpxv-stores-search input[type="search"],
[dir="rtl"] .wpxv-stores form.wpxv-stores-search input[type="search"] {
    padding: 0 38px 0 14px !important;
}

/* 1.6.2 - My Products on phones: roomier rows, filters in one scrollable line */
@media (max-width: 782px) {
    .wpxv-vendor-dashboard .wpxv-products-toolbar {
        flex-wrap: wrap;
    }

    .wpxv-vendor-dashboard .wpxv-products-search {
        order: -1;
        flex: 1 1 100% !important;
        max-width: none !important;
    }

    .wpxv-vendor-dashboard .wpxv-products-filters {
        order: 1;
        flex: 1 1 0;
        min-width: 0;
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
        margin: 0;
    }

    .wpxv-vendor-dashboard .wpxv-products-filters::-webkit-scrollbar {
        display: none;
    }

    .wpxv-vendor-dashboard .wpxv-pfilter {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .wpxv-vendor-dashboard .wpxv-products-view {
        order: 2;
        flex: 0 0 auto;
        margin: 0 !important;
    }

    .wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card {
        grid-template-columns: 64px minmax(0, 1fr) auto;
        grid-template-areas:
            "media body body"
            "media price status"
            "actions actions actions";
        gap: 4px 12px;
        padding: 14px;
    }

    .wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card-media {
        width: 64px;
        height: 64px;
    }

    .wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card-title {
        -webkit-line-clamp: 2;
        white-space: normal;
    }

    .wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card-status {
        align-self: center;
    }

    .wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card-actions {
        justify-content: stretch;
        margin-top: 8px;
    }

    .wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card-actions .wpxv-product-edit-wide {
        flex: 1 1 auto !important;
        width: auto !important;
        padding: 0 12px !important;
    }

    .wpxv-vendor-dashboard .wpxv-product-cards.is-list .wpxv-product-card-actions .wpxv-product-edit-wide span {
        display: inline;
    }
}

@media (max-width: 782px) {
    .wpxv-dir-rtl .wpxv-vendor-dashboard .wpxv-products-view,
    [dir="rtl"] .wpxv-vendor-dashboard .wpxv-products-view {
        margin: 0 !important;
    }
}

/* ==========================================================================
   1.7.0 - Plans & prices ([wpxv_plans])
   ========================================================================== */
.wpxv-plans {
    --wpxv-plans-columns: 3;
    --wpxv-plans-gap: 24px;
    margin: 24px 0;
    color: #111827;
}

.wpxv-dir-rtl .wpxv-plans { direction: rtl; text-align: right; }
.wpxv-dir-ltr .wpxv-plans { direction: ltr; text-align: left; }

.wpxv-plans-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: var(--wpxv-plans-gap);
    padding-top: 14px;
}

.wpxv-plans .wpxv-plan {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 0 1 calc((100% - (var(--wpxv-plans-columns) - 1) * var(--wpxv-plans-gap)) / var(--wpxv-plans-columns));
    min-width: min(100%, 240px);
    box-sizing: border-box;
    padding: 30px 26px 26px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 8px 24px rgba(16, 24, 40, 0.05);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.wpxv-plans .wpxv-plan:hover {
    transform: translateY(-3px);
    box-shadow: 0 2px 4px rgba(16, 24, 40, 0.05), 0 18px 40px rgba(16, 24, 40, 0.1);
}

.wpxv-plans .wpxv-plan.is-featured {
    border: 2px solid var(--wpxv-primary, #4f46e5);
    box-shadow: 0 18px 44px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.18);
}

.wpxv-plan-badge {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 6px 14px;
    border-radius: 999px;
    background: var(--wpxv-primary, #4f46e5);
    color: #ffffff;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.02em;
    white-space: nowrap;
    box-shadow: 0 6px 16px rgba(var(--wpxv-primary-rgb, 79, 70, 229), 0.3);
}

.wpxv-plans .wpxv-plan-title {
    margin: 0;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.3;
    color: #111827;
}

.wpxv-plans .wpxv-plan-subtitle {
    margin: 6px 0 0;
    font-size: 14.5px;
    line-height: 1.5;
    color: #6b7280;
}

.wpxv-plan-price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin: 20px 0 0;
    padding-bottom: 22px;
    border-bottom: 1px solid #eef0f3;
}

.wpxv-plan-amount {
    font-size: 38px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #111827;
}

.wpxv-plan.is-featured .wpxv-plan-amount {
    color: var(--wpxv-primary-dark, #4338ca);
}

.wpxv-plan-period {
    font-size: 15px;
    font-weight: 500;
    color: #6b7280;
}

.wpxv-plans .wpxv-plan-features {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 22px 0 26px;
    padding: 0;
    list-style: none;
}

.wpxv-plans .wpxv-plan-features li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    padding: 0;
    font-size: 15px;
    line-height: 1.5;
    color: #374151;
}

.wpxv-plans .wpxv-plan-features li::before,
.wpxv-plans .wpxv-plan-features li::marker {
    content: none;
}

.wpxv-plans .wpxv-plan-features svg {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    padding: 4px;
    margin-top: 0;
    box-sizing: border-box;
    border-radius: 50%;
    background: var(--wpxv-primary-soft, #eef2ff);
    color: var(--wpxv-primary, #4f46e5);
}

.wpxv-plan-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: auto;
}

.wpxv-plans a.wpxv-plan-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 10px 16px;
    box-sizing: border-box;
    border-radius: 12px;
    font-size: 15.5px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    text-decoration: none !important;
    transition: background 0.15s, color 0.15s, border-color 0.15s, transform 0.15s;
}

.wpxv-plans a.wpxv-plan-btn svg {
    flex-shrink: 0;
}

.wpxv-plans a.wpxv-plan-whatsapp {
    background: #25d366;
    border: 2px solid #25d366;
    color: #ffffff !important;
}

.wpxv-plans a.wpxv-plan-whatsapp:hover {
    background: #1ebe5b;
    border-color: #1ebe5b;
}

.wpxv-plans a.wpxv-plan-call {
    background: #ffffff;
    border: 2px solid #e5e7eb;
    color: #111827 !important;
}

.wpxv-plans a.wpxv-plan-call:hover {
    border-color: var(--wpxv-primary, #4f46e5);
    color: var(--wpxv-primary, #4f46e5) !important;
}

.wpxv-plans a.wpxv-plan-btn:active {
    transform: scale(0.98);
}

.wpxv-plans-empty {
    padding: 30px;
    border: 2px dashed #e5e7eb;
    border-radius: 16px;
    text-align: center;
    color: #6b7280;
}

@media (max-width: 900px) {
    .wpxv-plans .wpxv-plan {
        flex-basis: max(calc((100% - (var(--wpxv-plans-columns) - 1) * var(--wpxv-plans-gap)) / var(--wpxv-plans-columns)), calc(50% - var(--wpxv-plans-gap) / 2));
    }
}

@media (max-width: 600px) {
    .wpxv-plans {
        --wpxv-plans-gap: 28px;
    }

    .wpxv-plans .wpxv-plan {
        flex-basis: 100%;
        padding: 28px 20px 22px;
    }

    .wpxv-plan-amount {
        font-size: 34px;
    }
}

/* Each plan text keeps its own direction (a Latin price inside an Arabic page). */
.wpxv-plans [dir="auto"] {
    unicode-bidi: plaintext;
    text-align: start;
}

.wpxv-dir-rtl .wpxv-plans .wpxv-plan-head [dir="auto"],
.wpxv-dir-rtl .wpxv-plans .wpxv-plan-features [dir="auto"] {
    text-align: right;
}

.wpxv-dir-ltr .wpxv-plans .wpxv-plan-head [dir="auto"],
.wpxv-dir-ltr .wpxv-plans .wpxv-plan-features [dir="auto"] {
    text-align: left;
}
