/* Elementor Widget Isolation */
.elementor-widget-container .ca-affiliate-wrapper,
.elementor-widget-container .ca-elementor-dashboard,
.elementor-widget-container .ca-elementor-notice,
.elementor-widget-container .ca-affiliate-link-widget,
.elementor-widget-container .ca-stats-grid,
.elementor-widget-container .ca-team-widget,
.elementor-widget-container .ca-registration-widget {
    all: initial;
    display: block;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: #000000;
    box-sizing: border-box;
    border-radius: 0 !important;
    animation: none !important;
    transition: none !important;
}

.elementor-widget-container .ca-affiliate-wrapper * {
    box-sizing: border-box;
    border-radius: 0 !important;
    animation: none !important;
    transition: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
}

.elementor-editor-active .elementor-widget-container .ca-affiliate-wrapper {
    max-width: 100%;
    overflow: hidden;
}

/* Elementor Editor Preview Fixes */
.elementor-editor-active .ca-affiliate-wrapper,
.elementor-editor-active [class*="ca-"] {
    border-radius: 0 !important;
    animation: none !important;
    transition: none !important;
}

/* Override Elementor Default Animations */
.elementor-widget-ca_affiliate_dashboard *,
.elementor-widget-ca_affiliate_team *,
.elementor-widget-ca_affiliate_stats *,
.elementor-widget-ca_affiliate_link *,
.elementor-widget-ca_affiliate_registration * {
    animation: none !important;
    transition: none !important;
    border-radius: 0 !important;
}

/* Base Reset */
.ca-elementor-dashboard *,
.ca-registration-widget *,
.ca-stats-grid *,
.ca-affiliate-link-widget *,
.ca-team-widget * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    border-radius: 0 !important;
    animation: none !important;
    transition: none !important;
}

/* Typography */
.ca-elementor-dashboard,
.ca-registration-widget,
.ca-stats-grid,
.ca-affiliate-link-widget,
.ca-team-widget {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: #000000;
}

/* Container Base */
.ca-minimal {
    background: #ffffff !important;
    border: 2px solid #d4d4d4 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.elementor-widget-container .ca-minimal {
    background: #ffffff !important;
    border: 1px solid #d4d4d4 !important;
}

/* Dashboard Layouts */
.ca-elementor-dashboard.full {
    padding: 16px;
}

.ca-elementor-dashboard.compact {
    padding: 12px;
}

.ca-elementor-dashboard.minimal {
    padding: 8px;
}

/* Stats Grid */
.ca-stats-grid {
    display: grid;
    gap: 8px;
    padding: 8px;
}

.ca-stat-card {
    background: #ffffff;
    border: 2px solid #d4d4d4;
    border-radius: 0 !important;
    padding: 16px;
    text-align: center;
    box-shadow: none !important;
}

.ca-stat-value {
    font-size: 24px;
    font-weight: 700;
    color: #000000;
    margin-bottom: 4px;
}

.ca-stat-label {
    font-size: 12px;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Buttons */
.ca-btn-minimal,
.ca-btn-copy {
    background: #000000 !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
    border-radius: 0 !important;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    display: inline-block;
    text-decoration: none;
    text-shadow: none !important;
    box-shadow: none !important;
    animation: none !important;
    transition: none !important;
}

.elementor-widget-container .ca-btn-minimal,
.elementor-widget-container .ca-btn-copy {
    border-radius: 0 !important;
    background: #000000 !important;
    color: #ffffff !important;
}

.ca-btn-minimal:hover,
.ca-btn-copy:hover {
    opacity: 0.8;
    background: #000000 !important;
    color: #ffffff !important;
}

.ca-btn-minimal:focus,
.ca-btn-copy:focus {
    outline: 2px solid #000000;
    outline-offset: 2px;
}

.ca-btn-outline {
    background: #ffffff !important;
    color: #000000 !important;
    border: 2px solid #000000 !important;
    border-radius: 0 !important;
}

.ca-btn-outline:hover {
    background: #f5f5f5 !important;
}

/* Forms & Inputs */
.ca-link-input,
.ca-registration-widget input[type="text"],
.ca-registration-widget input[type="email"],
.ca-registration-widget input[type="password"],
.ca-registration-widget select,
.ca-registration-widget textarea {
    width: 100%;
    padding: 8px;
    border: 2px solid #d4d4d4;
    border-radius: 0 !important;
    font-size: 14px;
    background: #ffffff;
    font-family: inherit;
    box-shadow: none !important;
}

.ca-link-input:focus,
.ca-registration-widget input:focus,
.ca-registration-widget select:focus,
.ca-registration-widget textarea:focus {
    outline: 2px solid #000000;
    outline-offset: -1px;
    border-color: #000000;
}

/* Registration Widget */
.ca-registration-widget {
    padding: 16px;
}

.ca-registration-widget .ca-form-field {
    margin-bottom: 16px;
}

.ca-registration-widget .ca-form-field label {
    display: block;
    font-size: 12px;
    font-weight: 500;
    margin-bottom: 8px;
    color: #374151;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.ca-registration-widget .ca-form-actions {
    margin-top: 24px;
    text-align: center;
}

/* Coupon & Link Display */
.ca-coupon-display,
.ca-link-display {
    margin-bottom: 16px;
}

.ca-label {
    display: block;
    font-size: 12px;
    font-weight: 500;
    margin-bottom: 8px;
    color: #374151;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.ca-coupon-box,
.ca-link-box {
    display: flex;
    gap: 8px;
}

.ca-coupon-code {
    flex: 1;
    padding: 8px;
    background: #f5f5f5;
    border: 2px solid #d4d4d4;
    border-radius: 0 !important;
    font-family: monospace;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
}

.ca-link-input {
    flex: 1;
}

/* Share Buttons */
.ca-share-buttons {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 16px;
}

.ca-share-btn {
    padding: 8px 16px;
    border: 2px solid #d4d4d4;
    border-radius: 0 !important;
    text-decoration: none;
    color: #000000;
    font-size: 14px;
    flex: 1;
    text-align: center;
    min-width: 100px;
    background: #ffffff;
    animation: none !important;
    transition: none !important;
}

.ca-share-btn:hover {
    background: #f5f5f5;
    border-color: #000000;
}

.ca-share-btn.ca-whatsapp:hover,
.ca-share-btn.ca-telegram:hover,
.ca-share-btn.ca-facebook:hover {
    background: #f5f5f5;
}

/* Team Widget */
.ca-team-widget.grid .ca-team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 8px;
    padding: 8px;
}

.ca-team-widget.list .ca-team-list {
    padding: 8px;
}

.ca-team-widget.list .ca-member-card {
    margin-bottom: 8px;
}

.ca-member-card {
    background: #ffffff;
    border: 2px solid #d4d4d4;
    border-radius: 0 !important;
    padding: 16px;
    box-shadow: none !important;
}

.ca-member-name {
    font-weight: 600;
    margin-bottom: 4px;
}

.ca-member-role {
    font-size: 12px;
    color: #6b7280;
    margin-bottom: 8px;
}

.ca-member-stats {
    font-size: 14px;
    font-weight: 500;
}

/* Table Structure */
.ca-team-widget.table {
    overflow-x: auto;
}

.ca-team-table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
}

.ca-team-table th {
    background: #f5f5f5;
    padding: 8px;
    text-align: left;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 2px solid #d4d4d4;
}

.ca-team-table td {
    padding: 8px;
    border-bottom: 1px solid #f3f4f6;
}

.ca-team-table tbody tr:hover {
    background: #f5f5f5;
}

.ca-table-scroll {
    overflow-x: auto;
    border: 2px solid #d4d4d4;
    border-radius: 0 !important;
}

.ca-table-scroll .ca-team-table {
    border: none;
}

/* Badge Component */
.ca-badge {
    display: inline-block;
    padding: 2px 8px;
    border: 1px solid #d4d4d4;
    border-radius: 0 !important;
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: #ffffff;
}

/* Notice Component */
.ca-elementor-notice {
    padding: 16px;
    background: #f5f5f5;
    border: 2px solid #d4d4d4;
    border-radius: 0 !important;
    text-align: center;
}

.ca-elementor-notice p {
    margin-bottom: 12px;
    color: #374151;
}

/* Empty State */
.ca-empty-team {
    padding: 32px;
    text-align: center;
    color: #6b7280;
}

/* QR Code Display */
.ca-qr-display {
    text-align: center;
    padding: 16px;
}

.ca-qr-code {
    max-width: 200px;
    height: auto;
    border: 2px solid #d4d4d4;
    border-radius: 0 !important;
    padding: 8px;
    background: #ffffff;
}

/* Widget Containers */
.ca-affiliate-link-widget {
    padding: 16px;
}

/* Dashboard Sidebar Layout */
.ca-elementor-dashboard.full.with-sidebar {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 16px;
}

.ca-dashboard-main {
    min-width: 0;
}

.ca-dashboard-sidebar {
    background: #f5f5f5;
    border: 2px solid #d4d4d4;
    border-radius: 0 !important;
    padding: 16px;
}

/* Dashboard Size Adjustments */
.ca-elementor-dashboard.compact .ca-stats-grid {
    gap: 4px;
    padding: 4px;
}

.ca-elementor-dashboard.compact .ca-stat-card {
    padding: 12px;
}

.ca-elementor-dashboard.minimal .ca-stat-value {
    font-size: 18px;
}

.ca-elementor-dashboard.minimal .ca-stat-card {
    padding: 8px;
}

/* Form Validation */
.ca-registration-widget input.error {
    border-color: #ef4444;
}

.ca-registration-widget .ca-error-message {
    color: #ef4444;
    font-size: 12px;
    margin-top: 4px;
}

.ca-registration-widget input.success {
    border-color: #10b981;
}

/* Loading State */
.ca-loading {
    opacity: 0.5;
    pointer-events: none;
}

.ca-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid #d4d4d4;
    border-top: 2px solid #000000;
    border-radius: 0 !important;
    animation: none !important;
}

/* Grid Column Classes */
.ca-stats-grid.columns-2 {
    grid-template-columns: repeat(2, 1fr);
}

.ca-stats-grid.columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

.ca-stats-grid.columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .ca-stats-grid {
        grid-template-columns: 1fr !important;
    }
    
    .ca-team-grid {
        grid-template-columns: 1fr !important;
    }
    
    .ca-share-buttons {
        flex-direction: column;
    }
    
    .ca-share-btn {
        width: 100%;
        text-align: center;
        min-width: auto;
    }
    
    .ca-coupon-box,
    .ca-link-box {
        flex-direction: column;
    }
    
    .ca-btn-copy {
        width: 100%;
    }
    
    .ca-elementor-dashboard.full.with-sidebar {
        grid-template-columns: 1fr;
    }
    
    .ca-team-table {
        font-size: 12px;
    }
    
    .ca-team-table th,
    .ca-team-table td {
        padding: 4px;
    }
}

@media (max-width: 480px) {
    .ca-stat-value {
        font-size: 20px;
    }
    
    .ca-elementor-dashboard,
    .ca-registration-widget,
    .ca-affiliate-link-widget {
        padding: 12px;
    }
    
    .ca-member-card {
        padding: 12px;
    }
}

/* Motion Preferences */
@media (prefers-reduced-motion: no-preference) {
    /* All transitions and animations disabled per style guide */
}

@media (prefers-reduced-motion: reduce) {
    .ca-loading::after {
        animation: none;
    }
    
    * {
        animation: none !important;
        transition: none !important;
    }
}

/* Accessibility */
*:focus-visible {
    outline: 2px solid #000000;
    outline-offset: 2px;
}

@media (prefers-contrast: high) {
    .ca-minimal {
        border-color: #000000;
    }
    
    .ca-stat-card,
    .ca-member-card {
        border-color: #000000;
    }
    
    .ca-team-table th {
        background: #ffffff;
        border-color: #000000;
    }
}

/* Print Styles */
@media print {
    .ca-btn-minimal,
    .ca-btn-copy,
    .ca-share-buttons {
        display: none;
    }
    
    .ca-stats-grid,
    .ca-team-grid {
        break-inside: avoid;
    }
    
    .ca-member-card {
        break-inside: avoid;
        margin-bottom: 8px;
    }
    
    .ca-team-table {
        break-inside: auto;
    }
    
    .ca-team-table thead {
        break-inside: avoid;
        break-after: avoid;
    }
}

/* RTL Support */
[dir="rtl"] .ca-coupon-box,
[dir="rtl"] .ca-link-box {
    direction: rtl;
}

[dir="rtl"] .ca-team-table {
    direction: rtl;
}

[dir="rtl"] .ca-share-buttons {
    direction: rtl;
}

/* Utility Classes */
.ca-text-center {
    text-align: center;
}

.ca-text-left {
    text-align: left;
}

.ca-text-right {
    text-align: right;
}

.ca-mb-8 {
    margin-bottom: 8px;
}

.ca-mb-16 {
    margin-bottom: 16px;
}

.ca-mt-8 {
    margin-top: 8px;
}

.ca-mt-16 {
    margin-top: 16px;
}

.ca-p-8 {
    padding: 8px;
}

.ca-p-16 {
    padding: 16px;
}

.ca-clearfix::after {
    content: "";
    display: table;
    clear: both;
}

/* Elementor Editor Compatibility */
.elementor-widget-container .ca-affiliate-wrapper {
    position: relative;
    z-index: 1;
}

.elementor-panel .elementor-control-content .ca-affiliate-wrapper {
    all: initial;
    display: block;
}

.elementor-element .icon .ca-affiliate-icon {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900;
}

.elementor-widget-preview .ca-affiliate-wrapper {
    isolation: isolate;
}

/* Widget Style Isolation */
.elementor-widget-container .ca-affiliate-wrapper,
.elementor-widget-container .ca-affiliate-wrapper * {
    box-sizing: border-box !important;
    position: static;
    text-decoration: none;
    text-transform: none;
    letter-spacing: normal;
    word-spacing: normal;
    margin: 0;
    padding: 0;
    border-radius: 0 !important;
    animation: none !important;
    transition: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
}

.elementor-widget-container .ca-affiliate-wrapper {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #000000 !important;
}

.elementor-editor-active .elementor-widget-container .ca-affiliate-wrapper {
    pointer-events: auto;
    user-select: auto;
}

/* Force Remove All Remaining Gradients */
.elementor-widget-container .ca-affiliate-wrapper *[class*="gradient"],
.elementor-widget-container .ca-affiliate-wrapper .wp-core-ui .button-primary,
.elementor-widget-container .ca-affiliate-wrapper .wp-core-ui .button-secondary {
    background-image: none !important;
    background: #000000 !important;
    color: #ffffff !important;
}

/* Ensure ALL Cards Follow Style Guide */
.elementor-widget-container .ca-affiliate-wrapper .postbox,
.elementor-widget-container .ca-affiliate-wrapper .stuffbox,
.elementor-widget-container .ca-affiliate-wrapper .meta-box-sortables .postbox {
    border: 2px solid #000000 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Fix Any Remaining WordPress Notices */
.elementor-widget-container .ca-affiliate-wrapper .notice,
.elementor-widget-container .ca-affiliate-wrapper div.updated,
.elementor-widget-container .ca-affiliate-wrapper div.error {
    border-radius: 0 !important;
    border-left-width: 4px !important;
}

/* Ensure Pagination Follows Style Guide */
.elementor-widget-container .ca-affiliate-wrapper .tablenav .tablenav-pages a,
.elementor-widget-container .ca-affiliate-wrapper .tablenav .tablenav-pages span {
    border: 2px solid #d4d4d4 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #000000 !important;
}

.elementor-widget-container .ca-affiliate-wrapper .tablenav .tablenav-pages .current {
    background: #000000 !important;
    color: #ffffff !important;
    border-color: #000000 !important;
}

/* Remove Any Remaining Box-shadows */
.elementor-widget-container .ca-affiliate-wrapper * {
    box-shadow: none !important;
}

/* Fix Select2 Dropdowns If Used */
.elementor-widget-container .ca-affiliate-wrapper .select2-container--default .select2-selection--single,
.elementor-widget-container .ca-affiliate-wrapper .select2-container--default .select2-selection--multiple {
    border: 2px solid #d4d4d4 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
}

.elementor-widget-container .ca-affiliate-wrapper .select2-dropdown {
    border: 2px solid #000000 !important;
    border-radius: 0 !important;
}

/* Fix Any Theme Overrides */
body .elementor-widget-container .ca-affiliate-wrapper {
    background: #f5f5f5 !important;
}

/* Ensure All Modals Follow Style Guide */
.elementor-widget-container .ca-affiliate-wrapper .modal,
.elementor-widget-container .ca-affiliate-wrapper .modal-backdrop {
    border-radius: 0 !important;
}

.elementor-widget-container .ca-affiliate-wrapper .modal-content {
    border: 2px solid #000000 !important;
    border-radius: 0 !important;
}

/* Ensure Tooltips Follow Style Guide */
.elementor-widget-container .ca-affiliate-wrapper .tooltip {
    background: #000000 !important;
    color: #ffffff !important;
    border-radius: 0 !important;
}

.elementor-widget-container .ca-affiliate-wrapper .tooltip-arrow {
    display: none !important;
}

/* Fix Breadcrumbs If Present */
.elementor-widget-container .ca-affiliate-wrapper .breadcrumb {
    background: #ffffff !important;
    border: 2px solid #d4d4d4 !important;
    border-radius: 0 !important;
    padding: 8px 16px !important;
}

/* Ensure Dropdowns Are Consistent */
.elementor-widget-container .ca-affiliate-wrapper .dropdown-menu {
    border: 2px solid #000000 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.elementor-widget-container .ca-affiliate-wrapper .dropdown-item:hover {
    background: #f5f5f5 !important;
}