/* Edwiser Store Dashboard Styles */

/* ==========================================================================
   Edwiser Store - Design Tokens (CSS Custom Properties)
   ==========================================================================
   Change any value below to instantly re-theme the entire plugin.
   ========================================================================== */

:root {
    /* --- Primary --- */
    --edw-primary: #2F80ED;
    --edw-primary-hover: #1e6fe0;
    --edw-primary-dark: #1e5fbf;
    --edw-primary-active: #1a5fc7;
    --edw-primary-alt: #007bff;
    --edw-primary-alt-hover: #0056b3;
    --edw-accent: #2970F7;
    --edw-pagination: #4285f4;
    --edw-primary-focus: #2563eb;

    /* --- Text --- */
    --edw-text-heading: #212529;
    --edw-text-body: #374151;
    --edw-text-secondary: #495057;
    --edw-text-muted: #6c757d;
    --edw-text-muted-alt: #6b7280;
    --edw-text-light: #9ca3af;
    --edw-text-dark: #343a40;
    --edw-text-dark-alt: #1f2937;
    --edw-text-subtle: #555555;
    --edw-text-subtle-alt: #666666;
    --edw-text-icon: #5b6880;
    --edw-text-nav: #313848;
    --edw-text-label: #111827;

    /* --- Borders --- */
    --edw-border: #e2e8f0;
    --edw-border-light: #d1d5db;
    --edw-border-lighter: #dee2e6;
    --edw-border-card: #e0e6ed;
    --edw-border-subtle: #e5e7eb;
    --edw-border-table: #e9ecef;
    --edw-border-faint: #e0e0e0;

    /* --- Backgrounds --- */
    --edw-white: #ffffff;
    --edw-bg-page: #f5f8ff;
    --edw-bg-light: #f5f7fa;
    --edw-bg-hover: #f8f9fa;
    --edw-bg-input: #f3f4f6;
    --edw-bg-section: #f8fafc;
    --edw-bg-subtle: #f9fafb;
    --edw-bg-highlight: #f0f4ff;
    --edw-bg-checkout: #F5F9FD;
    --edw-bg-selection: #eef5ff;
    --edw-bg-table-header: #e3f2fd;
    --edw-bg-sub-header: #e9f0f8;
    --edw-bg-sub-header-alt: #F0F6FC;
    --edw-bg-tag: #EBF0F9;
    --edw-bg-chip-border: #d6e7ff;

    /* --- Status --- */
    --edw-success: #28a745;
    --edw-danger: #dc3545;
    --edw-danger-dark: #b60011;
    --edw-danger-hover: #c82333;
    --edw-warning: #ffc107;
    --edw-warning-text: #856404;
    --edw-star: #FFD700;
    --edw-star-alt: #F59E0B;
    --edw-coupon-success: #059669;
    --edw-success-alt: #4CAF50;
    --edw-danger-alt: #f44336;
    --edw-warning-orange: #ff9800;
    --edw-warning-orange-hover: #f57c00;
    --edw-toast-success: #10b981;

    /* --- Special --- */
    --edw-tag-orange: #FF8A00;
    --edw-tag-orange-alt: #F2994A;
    --edw-error-clear: #ef4444;
    --edw-error-clear-bg: #fee2e2;
    --edw-success-light-bg: #d4edda;
    --edw-success-dark-text: #155724;
    --edw-success-border: #c3e6cb;
    --edw-coupon-badge-bg: #D9DEE3;
    --edw-warning-bg: #fff3cd;
    --edw-warning-border-alt: #ffe69c;
    --edw-badge-secondary-alt: #9e9e9e;
    /* --- Patch: Previously missed single-use colors --- */
    --edw-info: #17a2b8;
    --edw-border-card-alt: #e0e8ed;
    --edw-text-placeholder: #a0aec0;
    --edw-text-product: #2C3E50;
    --edw-border-row: #f1f3f5;
    --edw-bg-disabled: #f5f5f5;
    --edw-link-blue: #0d6efd;
    --edw-link-blue-hover: #0a58ca;
    --edw-border-sub-header: #d0d7de;
    --edw-bg-email-hover: #eff6ff;
    --edw-text-dark-333: #333333;
    --edw-text-gray-666: #666666;
    --edw-black: #000000;
    --edw-text-disabled: #999999;

}

/* Page-Level Layout Overrides (Migrated from Design Fixes) */
/* Dashboard */
#page-local-edwiserstore-dashboard #page,
#page-local-edwiserstore-products #page,
#page-local-edwiserstore-orders #page,
#page-local-edwiserstore-subscriptions #page,
#page-local-edwiserstore-coupons #page,
#page-local-edwiserstore-reviews #page,
#page-local-edwiserstore-shopsettings #page,
#page-local-edwiserstore-paymentsettings #page,
#page-local-edwiserstore-emailtemplates #page,
#page-local-edwiserstore-licensesettings #page {
    padding: 0 !important;
}

#page-local-edwiserstore-dashboard #topofscroll,
#page-local-edwiserstore-products #topofscroll,
#page-local-edwiserstore-orders #topofscroll,
#page-local-edwiserstore-subscriptions #topofscroll,
#page-local-edwiserstore-coupons #topofscroll,
#page-local-edwiserstore-reviews #topofscroll,
#page-local-edwiserstore-shopsettings #topofscroll,
#page-local-edwiserstore-paymentsettings #topofscroll,
#page-local-edwiserstore-emailtemplates #topofscroll,
#page-local-edwiserstore-licensesettings #topofscroll {
    padding: 0 !important;
    max-width: 100% !important;
}

#page-local-edwiserstore-dashboard #page-content div[role='main'],
#page-local-edwiserstore-products #page-content div[role='main'],
#page-local-edwiserstore-orders #page-content div[role='main'],
#page-local-edwiserstore-subscriptions #page-content div[role='main'],
#page-local-edwiserstore-coupons #page-content div[role='main'],
#page-local-edwiserstore-reviews #page-content div[role='main'],
#page-local-edwiserstore-shopsettings #page-content div[role='main'],
#page-local-edwiserstore-paymentsettings #page-content div[role='main'],
#page-local-edwiserstore-emailtemplates #page-content div[role='main'],
#page-local-edwiserstore-licensesettings #page-content div[role='main'] {
    padding: 0 !important;
}

/* Shop */
#page-local-edwiserstore-shop #page {
    padding: 0 !important;
}

#page-local-edwiserstore-shop #topofscroll {
    padding: 0 !important;
    max-width: 100% !important;
}

#page-local-edwiserstore-shop #page-content div[role='main'] {
    padding: 0 !important;
}

#page-local-edwiserstore-shop #page-header {
    padding: 12px 24px !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
}

/* Product View */
#page-local-edwiserstore-productview #page {
    padding: 0 !important;
}

#page-local-edwiserstore-productview #topofscroll {
    padding: 0 !important;
    max-width: 100% !important;
}

#page-local-edwiserstore-productview #page-content div[role='main'] {
    padding: 0 !important;
}

#page-local-edwiserstore-productview #page-header {
    display: none !important;
}

/* Cart */
#page-local-edwiserstore-cart #page {
    padding: 0 !important;
}

#page-local-edwiserstore-cart #topofscroll {
    padding: 0 !important;
    max-width: 100% !important;
}

#page-local-edwiserstore-cart #page-content div[role='main'] {
    padding: 0 !important;
}

#page-local-edwiserstore-cart #page-header {
    display: none !important;
}

/* Checkout */
#page-local-edwiserstore-checkout #page {
    padding: 0 !important;
}

#page-local-edwiserstore-checkout #topofscroll {
    padding: 0 !important;
    max-width: 100% !important;
}

#page-local-edwiserstore-checkout #page-content div[role='main'] {
    padding: 0 !important;
}

#page-local-edwiserstore-checkout #page-header {
    display: none !important;
}

/* Thank you */
#page-local-edwiserstore-thankyou #page {
    padding: 0 !important;
}

#page-local-edwiserstore-thankyou #topofscroll {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

#page-local-edwiserstore-thankyou #page-content div[role='main'] {
    padding: 0 !important;
}

#page-local-edwiserstore-thankyou #page-header {
    display: none !important;
}

/* My Orders */
#page-local-edwiserstore-myorders #page {
    padding: 0 !important;
}

#page-local-edwiserstore-myorders #topofscroll {
    padding: 0 !important;
    max-width: 100% !important;
}

#page-local-edwiserstore-myorders #page-content div[role='main'] {
    padding: 0 !important;
}

#page-local-edwiserstore-myorders #page-header {
    display: none !important;
}

/* My Subscriptions */
#page-local-edwiserstore-mysubscriptions #page {
    padding: 0 !important;
}

#page-local-edwiserstore-mysubscriptions #topofscroll {
    padding: 0 !important;
    max-width: 100% !important;
}

#page-local-edwiserstore-mysubscriptions #page-content div[role='main'] {
    padding: 0 !important;
}

#page-local-edwiserstore-mysubscriptions #page-header {
    display: none !important;
}



/* Override Moodle container for full-width layout - MUST BE FIRST */

#page-local-edwiserstore-dashboard #topofscroll,
#page-local-edwiserstore-products #topofscroll,
#page-local-edwiserstore-orders #topofscroll,
#page-local-edwiserstore-subscriptions #topofscroll,
#page-local-edwiserstore-coupons #topofscroll,
#page-local-edwiserstore-reviews #topofscroll,
#page-local-edwiserstore-shopsettings #topofscroll,
#page-local-edwiserstore-paymentsettings #topofscroll,
#page-local-edwiserstore-emailtemplates #topofscroll,
#page-local-edwiserstore-licensesettings #topofscroll,
#page-local-edwiserstore-shop #topofscroll,
#page-local-edwiserstore-productview #topofscroll,
#page-local-edwiserstore-cart #topofscroll,
#page-local-edwiserstore-checkout #topofscroll,
#page-local-edwiserstore-myorders #topofscroll,
#page-local-edwiserstore-mysubscriptions #topofscroll {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

#page-local-edwiserstore-dashboard #topofscroll>.container,
#page-local-edwiserstore-products #topofscroll>.container,
#page-local-edwiserstore-orders #topofscroll>.container,
#page-local-edwiserstore-subscriptions #topofscroll>.container,
#page-local-edwiserstore-coupons #topofscroll>.container,
#page-local-edwiserstore-reviews #topofscroll>.container,
#page-local-edwiserstore-shopsettings #topofscroll>.container,
#page-local-edwiserstore-paymentsettings #topofscroll>.container,
#page-local-edwiserstore-emailtemplates #topofscroll>.container,
#page-local-edwiserstore-licensesettings #topofscroll>.container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
}

/* Shop page container - full width with background */
#page-local-edwiserstore-shop #topofscroll>.container,
#page-local-edwiserstore-productview #topofscroll>.container,
#page-local-edwiserstore-cart #topofscroll>.container,
#page-local-edwiserstore-myorders #topofscroll>.container,
#page-local-edwiserstore-mysubscriptions #topofscroll>.container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    background: var(--edw-bg-page) !important;
}

/* Shop page main content area - same background */
#page-local-edwiserstore-shop #topofscroll>.container #page-header {
    margin-left: 32px;
    margin-right: 32px;
}

#page-local-edwiserstore-productview #topofscroll>.container #page-header,
#page-local-edwiserstore-cart #topofscroll>.container #page-header,
#page-local-edwiserstore-myorders #topofscroll>.container #page-header,
#page-local-edwiserstore-mysubscriptions #topofscroll>.container #page-header {
    display: none !important;
}

#page-local-edwiserstore-productview #topofscroll>.container #page-content,
#page-local-edwiserstore-cart #topofscroll>.container #page-content,
#page-local-edwiserstore-myorders #topofscroll>.container #page-content,
#page-local-edwiserstore-mysubscriptions #topofscroll>.container #page-content {
    padding-bottom: 0 !important;
}

#page-local-edwiserstore-shop #topofscroll>.container div[role="main"],
#page-local-edwiserstore-productview #topofscroll>.container div[role="main"],
#page-local-edwiserstore-cart #topofscroll>.container div[role="main"],
#page-local-edwiserstore-checkout #topofscroll>.container div[role="main"] {
    background: var(--edw-bg-page) !important;
}

#page-local-edwiserstore-dashboard #topofscroll>.container .page-content,
#page-local-edwiserstore-products #topofscroll>.container .page-content,
#page-local-edwiserstore-orders #topofscroll>.container .page-content,
#page-local-edwiserstore-subscriptions #topofscroll>.container .page-content,
#page-local-edwiserstore-coupons #topofscroll>.container .page-content,
#page-local-edwiserstore-reviews #topofscroll>.container .page-content,
#page-local-edwiserstore-shopsettings #topofscroll>.container .page-content,
#page-local-edwiserstore-paymentsettings #topofscroll>.container .page-content,
#page-local-edwiserstore-emailtemplates #topofscroll>.container .page-content,
#page-local-edwiserstore-licensesettings #topofscroll>.container .page-content {
    padding-bottom: 0 !important;
}

#page-local-edwiserstore-dashboard #topofscroll>.container div[role="main"],
#page-local-edwiserstore-products #topofscroll>.container div[role="main"],
#page-local-edwiserstore-orders #topofscroll>.container div[role="main"],
#page-local-edwiserstore-subscriptions #topofscroll>.container div[role="main"],
#page-local-edwiserstore-coupons #topofscroll>.container div[role="main"],
#page-local-edwiserstore-reviews #topofscroll>.container div[role="main"],
#page-local-edwiserstore-shopsettings #topofscroll>.container div[role="main"],
#page-local-edwiserstore-paymentsettings #topofscroll>.container div[role="main"],
#page-local-edwiserstore-emailtemplates #topofscroll>.container div[role="main"],
#page-local-edwiserstore-licensesettings #topofscroll>.container div[role="main"] {
    margin-top: 0 !important;
    padding: 0 !important;
}

/* Hide page heading - menu should start directly below header */
#page-local-edwiserstore-dashboard h1,
#page-local-edwiserstore-dashboard h2,
#page-local-edwiserstore-dashboard .page-header-headings,
#page-local-edwiserstore-dashboard #page-header,
#page-local-edwiserstore-products h1,
#page-local-edwiserstore-products h2,
#page-local-edwiserstore-products .page-header-headings,
#page-local-edwiserstore-products #page-header,
#page-local-edwiserstore-orders h1,
#page-local-edwiserstore-orders h2,
#page-local-edwiserstore-orders .page-header-headings,
#page-local-edwiserstore-orders #page-header,
#page-local-edwiserstore-subscriptions h1,
#page-local-edwiserstore-subscriptions h2,
#page-local-edwiserstore-subscriptions .page-header-headings,
#page-local-edwiserstore-subscriptions #page-header,
#page-local-edwiserstore-coupons h1,
#page-local-edwiserstore-coupons .page-header-headings h2,
#page-local-edwiserstore-coupons .page-header-headings,
#page-local-edwiserstore-coupons #page-header,
#page-local-edwiserstore-reviews h1,
#page-local-edwiserstore-reviews h2,
#page-local-edwiserstore-reviews .page-header-headings,
#page-local-edwiserstore-reviews #page-header,
#page-local-edwiserstore-shopsettings h1,
#page-local-edwiserstore-shopsettings h2,
#page-local-edwiserstore-shopsettings .page-header-headings,
#page-local-edwiserstore-shopsettings #page-header,
#page-local-edwiserstore-paymentsettings h1,
#page-local-edwiserstore-paymentsettings h2,
#page-local-edwiserstore-paymentsettings .page-header-headings,
#page-local-edwiserstore-paymentsettings #page-header,
#page-local-edwiserstore-emailtemplates h1,
#page-local-edwiserstore-emailtemplates h2,
#page-local-edwiserstore-emailtemplates .page-header-headings,
#page-local-edwiserstore-emailtemplates #page-header,
#page-local-edwiserstore-licensesettings h1,
#page-local-edwiserstore-licensesettings h2,
#page-local-edwiserstore-licensesettings .page-header-headings,
#page-local-edwiserstore-licensesettings #page-header,
#page-local-edwiserstore-checkout #page-header {
    display: none !important;
}

/* Dashboard Layout - FIX: Use 100% instead of 100vw to prevent horizontal scroll */
/* ─── Shared Empty States Component ───────────────────────────────────────────
   Common base properties for all empty state variants across pages.
   Page-specific overrides (cart uses flex, subscriptions uses rem) stay local.
   ──────────────────────────────────────────────────────────────────────────── */
.shop-empty-state,
.orders-empty-state,
.local-edwiserstore-empty-state,
.myorders-empty-state,
.subscriptions-empty-state,
.mysubscriptions-empty-state {
    text-align: center;
    padding: 60px 20px;
}

/* Dashboard Layout - FIX: Use 100% instead of 100vw to prevent horizontal scroll */

.local-edwiserstore-dashboard-layout {
    padding: 0;
    width: 100%;
    max-width: 100%;
    background-color: var(--edw-bg-light);
    min-height: calc(100vh - 120px);
    position: relative;
    display: flex;
    overflow-x: hidden;
}

/* Ensure footer is NOT inside our layout container - Footer should be outside and unaffected by our styling */

/* FIX: Prevent body/html horizontal scroll */
body#page-local-edwiserstore-dashboard,
body#page-local-edwiserstore-products,
body#page-local-edwiserstore-orders,
body#page-local-edwiserstore-subscriptions,
body#page-local-edwiserstore-coupons,
body#page-local-edwiserstore-reviews,
body#page-local-edwiserstore-shopsettings,
body#page-local-edwiserstore-paymentsettings,
body#page-local-edwiserstore-emailtemplates,
body#page-local-edwiserstore-licensesettings {
    overflow-x: hidden !important;
    max-width: 100% !important;
}

.local-edwiserstore-dashboard-layout .row {
    margin: 0;
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
}

/* Sidebar Wrapper - White Theme - FIX: Align with content container */
.local-edwiserstore-sidebar-wrapper {
    width: 280px;
    min-height: calc(100vh - 120px);
    transition: width 0.3s ease;
    flex-shrink: 0;
    background-color: var(--edw-white);
    position: relative;
    z-index: 100;
    display: flex;
    flex-direction: column;
}

/* Sidebar - White Theme */
.local-edwiserstore-sidebar {
    background-color: var(--edw-white);
    flex: 1;
    padding: 20px 16px;
    position: relative;
    transition: all 0.3s ease;
    width: 100%;
    display: flex;
    flex-direction: column;
}

/* Sidebar Toggle Section - Positioned above menu items */
/* Title row with inline toggle icon */
.sidebar-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}

.sidebar-title-row .sidebar-title {
    margin: 0;
}

/* Inline toggle icon (no button appearance) */
.sidebar-toggle-icon {
    color: var(--edw-text-muted);
    cursor: pointer;
    padding: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.sidebar-toggle-icon:hover {
    color: var(--edw-text-heading);
}

.sidebar-toggle-icon i {
    font-size: 16px;
    line-height: 1;
}

.sidebar-toggle-icon .sidebar-toggle-icon-expand img {
    width: 16px;
    height: 16px;
}

/* Collapsed: align toggle icon with menu icons */
.local-edwiserstore-dashboard-layout.sidebar-collapsed .sidebar-title-row {
    margin: 0;
}

.local-edwiserstore-dashboard-layout.sidebar-collapsed #sidebar-toggle {
    width: 100%;
    padding: 12px 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Content Wrapper - FIX: Align with sidebar, prevent horizontal overflow */
.local-edwiserstore-content-wrapper {
    flex: 1;
    min-height: calc(100vh - 120px);
    transition: margin-left 0.3s ease;
    padding: 24px;
    background-color: var(--edw-bg-light);
    overflow-x: hidden;
    overflow-y: auto;
    max-width: calc(100% - 280px);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.local-edwiserstore-dashboard-layout .local-edwiserstore-content-wrapper,
.local-edwiserstore-dashboard-layout .local-edwiserstore-content-wrapper .local-edwiserstore-content-card {
    background-color: var(--edw-bg-light);
}

.local-edwiserstore-dashboard-layout .local-edwiserstore-content-wrapper {
    margin: 0;
    padding: 0;
}

/* Content Card - FIX: Prevent overflow */
.local-edwiserstore-content-card {
    background-color: var(--edw-white);
    border-radius: 0;
    box-shadow: none;
    padding: 32px;
    min-height: calc(100vh - 140px);
    width: 100%;
    max-width: 100%;
    margin: 0;
    overflow-x: hidden;
    box-sizing: border-box;
}

/* Collapsed state */
.local-edwiserstore-dashboard-layout.sidebar-collapsed .local-edwiserstore-sidebar-wrapper {
    width: 70px;
}

.local-edwiserstore-dashboard-layout.sidebar-collapsed .sidebar-title {
    display: none;
}

.local-edwiserstore-dashboard-layout.sidebar-collapsed .nav-link span {
    display: none;
}

.local-edwiserstore-dashboard-layout.sidebar-collapsed .nav-link {
    justify-content: center;
    align-items: center;
    padding: 12px 10px;
    width: 100%;
    min-width: 50px;
}

.local-edwiserstore-dashboard-layout.sidebar-collapsed .nav-link i,
.local-edwiserstore-dashboard-layout.sidebar-collapsed .nav-link .menu-icon-svg {
    margin-right: 0;
    margin-left: 0;
    width: 20px;
    height: 20px;
    text-align: center;
    display: block;
}

.local-edwiserstore-dashboard-layout.sidebar-collapsed .nav-link.active i,
.local-edwiserstore-dashboard-layout.sidebar-collapsed .nav-link.active .menu-icon-svg {
    color: var(--edw-white);
}

.local-edwiserstore-dashboard-layout.sidebar-collapsed .nav-link.active .menu-icon-svg {
    filter: brightness(0) invert(1);
}

.local-edwiserstore-dashboard-layout.sidebar-collapsed .nav-item {
    display: flex;
    justify-content: center;
    width: 100%;
}

/* Toggle button icon - show/hide based on state */
/* When sidebar is COLLAPSED, show expand icon (chevron-right) */
.local-edwiserstore-dashboard-layout.sidebar-collapsed .sidebar-toggle-icon-collapse {
    display: none;
}

.local-edwiserstore-dashboard-layout.sidebar-collapsed .sidebar-toggle-icon-expand {
    display: block;
}

/* When sidebar is EXPANDED, show collapse icon (x) */
.local-edwiserstore-dashboard-layout:not(.sidebar-collapsed) .sidebar-toggle-icon-collapse {
    display: block;
}

.local-edwiserstore-dashboard-layout:not(.sidebar-collapsed) .sidebar-toggle-icon-expand {
    display: none;
}

/* Sidebar Sections */
.local-edwiserstore-sidebar .sidebar-section {
    margin-bottom: 0;
    margin-top: 16px;
    flex-shrink: 0;
}

.local-edwiserstore-sidebar .sidebar-section:first-of-type {
    margin-top: 0;
}

.local-edwiserstore-sidebar .sidebar-section:last-child {
    margin-bottom: 0;
}

/* Sidebar Title - White Theme */
.local-edwiserstore-sidebar .sidebar-title {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--edw-text-placeholder);
    margin-bottom: 8px;
    margin-top: 0;
    padding: 0;
    letter-spacing: 0.5px;
    border: none;
}

/* Sidebar Nav Links - White Theme */
.local-edwiserstore-sidebar .nav-link {
    padding: 10px 12px;
    color: var(--edw-text-secondary);
    border-radius: 6px;
    margin-bottom: 2px;
    margin-top: 0;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.5;
}

.local-edwiserstore-sidebar .nav-link i,
.local-edwiserstore-sidebar .nav-link .menu-icon-svg {
    margin-right: 14px;
    width: 20px;
    height: 20px;
    text-align: center;
    font-size: 16px;
    color: var(--edw-text-muted);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.local-edwiserstore-sidebar .nav-link .menu-icon-svg {
    display: inline-block;
    vertical-align: middle;
}

.local-edwiserstore-sidebar .nav-link span {
    flex: 1;
    font-size: 14px;
    font-weight: 500;
}

.local-edwiserstore-sidebar .nav-link:hover {
    background-color: var(--edw-bg-hover);
    color: var(--edw-primary-alt);
}

.local-edwiserstore-sidebar .nav-link.active {
    background-color: var(--edw-primary-alt);
    color: var(--edw-white);
    font-weight: 600;
}

.local-edwiserstore-sidebar .nav-link.active i,
.local-edwiserstore-sidebar .nav-link.active .menu-icon-svg {
    color: var(--edw-white);
}

.local-edwiserstore-sidebar .nav-link.active .menu-icon-svg {
    filter: brightness(0) invert(1);
}

/* Products Page Styling */
.local-edwiserstore-products-page .d-flex.justify-content-between {
    align-items: center;
    margin-bottom: 30px;
}

.local-edwiserstore-products-page .d-flex.justify-content-between h2 {
    margin: 0;
}

.local-edwiserstore-products-page .generaltable {
    margin-top: 20px;
}

.local-edwiserstore-products-page .badge {
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 500;
}

.local-edwiserstore-products-page .btn-sm {
    padding: 5px 10px;
    margin-right: 5px;
}

.local-edwiserstore-empty-state {
    padding: 60px 20px;
    text-align: center;
}

.local-edwiserstore-empty-state .empty-illustration {
    margin: 0 auto 30px;
}

.local-edwiserstore-empty-state .empty-illustration svg {
    max-width: 200px;
    height: auto;
}

/* Support img-based empty illustration */
.local-edwiserstore-empty-state .empty-illustration img {
    max-width: 200px;
    height: auto;
    display: block;
}

/* FIX: Products page specific styling */
.local-edwiserstore-content-card .generaltable {
    width: 100%;
    table-layout: auto;
    margin-bottom: 0;
}

.local-edwiserstore-content-card .table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    width: 100%;
}

.local-edwiserstore-content-card .generaltable th,
.local-edwiserstore-content-card .generaltable td {
    white-space: nowrap;
    padding: 12px 15px;
}

.local-edwiserstore-content-card .generaltable th:last-child,
.local-edwiserstore-content-card .generaltable td:last-child {
    white-space: normal;
}

/* FIX: Ensure search and filter don't cause overflow */
.local-edwiserstore-content-card .d-flex {
    flex-wrap: wrap;
    gap: 10px;
}

.local-edwiserstore-content-card .input-group {
    max-width: 100%;
    flex: 1;
    min-width: 200px;
}

.local-edwiserstore-content-card select.form-control {
    max-width: 100%;
    flex: 0 0 auto;
    min-width: 150px;
}

/* FIX: Collapsed sidebar adjustments */
.local-edwiserstore-dashboard-layout.sidebar-collapsed .local-edwiserstore-content-wrapper {
    max-width: calc(100% - 70px);
}

/* FIX: Products page header styling */
.products-page-header {
    margin-bottom: 24px;
}

.products-page-title {
    font-size: 24px;
    font-weight: 600;
    color: var(--edw-text-heading);
}

/* FIX: Status badge styling to match design */
.local-edwiserstore-content-card .badge-success {
    background-color: var(--edw-success);
    color: var(--edw-white);
}

.local-edwiserstore-content-card .badge-warning {
    background-color: var(--edw-warning);
    color: var(--edw-text-heading);
}

.local-edwiserstore-content-card .badge-danger {
    background-color: var(--edw-danger);
    color: var(--edw-white);
}

/* FIX: Action buttons styling */
.local-edwiserstore-content-card .btn-sm {
    padding: 6px 10px;
    margin: 0 2px;
    border-radius: 4px;
    min-width: 32px;
}

.local-edwiserstore-content-card .btn-info {
    background-color: var(--edw-info);
    border-color: var(--edw-info);
}

.local-edwiserstore-content-card .btn-warning {
    background-color: var(--edw-warning);
    border-color: var(--edw-warning);
    color: var(--edw-text-heading);
}

.local-edwiserstore-content-card .btn-danger {
    background-color: var(--edw-danger);
    border-color: var(--edw-danger);
}

/* FIX: Products page header styling */
.products-page-header-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

.products-text-label {
    font-size: 16px;
    color: var(--edw-text-secondary);
    font-weight: 500;
}

/* FIX: Search field styling to match design */
.products-search-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    max-width: 300px;
}

.products-search-input {
    padding-right: 40px;
    border: 1px solid var(--edw-border-lighter);
    border-radius: 4px;
}

.products-search-btn {
    position: absolute;
    right: 0;
    background: transparent;
    border: none;
    padding: 8px 12px;
    color: var(--edw-text-muted);
    cursor: pointer;
}

.products-search-btn:hover {
    color: var(--edw-text-secondary);
}

/* FIX: Category dropdown styling to match design */
.products-category-wrapper {
    position: relative;
}

.products-category-select {
    padding-right: 30px;
    border: 1px solid var(--edw-border-lighter);
    border-radius: 4px;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%236c757d' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    cursor: pointer;
}

/* FIX: Delete confirmation modal */
.local-edwiserstore-delete-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
}

/* Product editor sidebar modal (simplified) */
.edwiser-product-editor-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 10000;
    /* below Moodle picker */
}

.edwiser-product-editor-panel {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 50vw;
    max-width: 100%;
    background: var(--edw-white);
    display: flex;
    flex-direction: column;
}

.edwiser-editor-header {
    padding: 16px 20px;
    border-bottom: 1px solid var(--edw-border);
}

.edwiser-editor-body {
    padding: 24px;
    overflow-y: auto;
}

.edwiser-editor-footer {
    padding: 16px 24px;
    border-top: 1px solid var(--edw-border);
}

.edwiser-editor-close {
    font-size: 22px;
    line-height: 1;
}

/* Notes/tips styling to match design cues */
.edwiser-note {
    font-size: 12px;
    color: var(--edw-text-muted);
}

/* Precise layout for Product Editor modal */
.edwiser-product-editor-backdrop .edwiser-product-editor-panel {
    box-shadow: -8px 0 24px rgba(0, 0, 0, 0.15);
}

.edwiser-product-editor-panel .edwiser-editor-header {
    padding-top: 24px;
    padding-bottom: 16px;
}

.edwiser-product-editor-panel .edwiser-editor-header h4 {
    font-weight: 600;
    font-size: 20px;
}

.edwiser-product-editor-panel .edwiser-editor-body .form-control {
    height: auto;
}

.edwiser-product-editor-panel .edwiser-editor-body .form-group {
    margin-bottom: 16px;
}

.edwiser-editor-body .edwiser-note {
    font-size: 12px;
    line-height: 1.4;
}

.edwiser-editor-body .form-row+.form-row {
    margin-top: 16px;
}

/* Related products chips (core/form-autocomplete) */
.form-autocomplete-selection .form-autocomplete-selection-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.form-autocomplete-selection .form-autocomplete-selection-list .form-autocomplete-selection-item,
.form-autocomplete-selection .form-autocomplete-token {
    background: var(--edw-bg-selection);
    color: var(--edw-primary);
    border-radius: 16px;
    padding: 4px 10px;
    border: 1px solid var(--edw-bg-chip-border);
}

.form-autocomplete-selection .deleteaction {
    margin-left: 6px;
    color: var(--edw-primary);
}

/* Show/Hide section grid - removed duplicate, see below */

/* Footer buttons sizing */
.edwiser-editor-footer .btn {
    height: 44px;
    padding: 0 18px;
    font-weight: 600;
}

.edwiser-editor-footer .btn-primary {
    background: var(--edw-primary);
    border-color: var(--edw-primary);
}

.edwiser-editor-footer .btn-primary:hover {
    background: var(--edw-primary-hover);
    border-color: var(--edw-primary-hover);
}

.edwiser-editor-footer .btn-link {
    color: var(--edw-text-muted);
}

.edwiser-editor-footer .btn-link:hover {
    color: var(--edw-text-dark);
}

.edwiser-compact-select {
    width: 220px;
    min-width: 200px;
    max-width: 260px;
}

.edwiser-editor-body .form-row {
    gap: 16px;
}

.edwiser-editor-body label {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 6px;
}

.edwiser-editor-body select.form-control {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236c757d' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px;
    padding-left: 12px;
    height: 40px;
    line-height: 24px;
    width: 100%;
}

.edwiser-section-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--edw-text-body);
}

.edwiser-inline-default {
    color: var(--edw-text-muted);
    font-size: 12px;
    white-space: nowrap;
    margin-left: 12px;
    align-self: center;
}

.edwiser-editor-body .form-row.align-items-start .edwiser-inline-default {
    align-self: flex-end;
}

/* Product type section: proper alignment */
.edwiser-editor-body .edwiser-product-type-group {
    margin-bottom: 16px;
}

.edwiser-editor-body .edwiser-product-type-group label {
    margin-bottom: 6px;
    display: block;
}

.edwiser-editor-body .form-row.edwiser-product-type-row {
    align-items: flex-start;
    margin-top: 0;
    gap: 12px;
}

.edwiser-editor-body .edwiser-product-type-row .flex-fill {
    display: flex;
    flex-direction: column;
}

.edwiser-editor-body .edwiser-product-type-row .flex-fill .edwiser-note {
    margin-top: 8px;
    margin-left: 0;
}

.edwiser-editor-body .edwiser-product-type-help {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 120px;
    padding-top: 0;
    flex-shrink: 0;
}

.edwiser-editor-body .edwiser-product-type-help .edwiser-inline-default {
    margin-left: 0;
    margin-bottom: 0;
    padding-top: 0;
    height: 40px;
    line-height: 40px;
    display: flex;
    align-items: center;
}

/* Toggle style for show/hide grid - proper toggle switches matching shop_settings */
.edwiser-showhide-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
}

.edwiser-showhide-grid .toggle-switch-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
}

.edwiser-showhide-grid .toggle-switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
    flex-shrink: 0;
}

.edwiser-showhide-grid .toggle-switch input[type="checkbox"] {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
}

.edwiser-showhide-grid .toggle-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--edw-border-light);
    transition: background-color 0.2s;
    border-radius: 24px;
}

.edwiser-showhide-grid .toggle-slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: transform 0.2s;
    border-radius: 50%;
}

.edwiser-showhide-grid .toggle-switch input:checked+.toggle-slider {
    background-color: var(--edw-primary);
}

.edwiser-showhide-grid .toggle-switch input:checked+.toggle-slider:before {
    transform: translateX(20px);
}

.edwiser-showhide-grid .toggle-label-text {
    font-size: 14px;
    color: var(--edw-text-body);
    font-weight: 500;
    white-space: nowrap;
}

.edwiser-editor-body textarea.form-control {
    height: auto;
    min-height: 240px;
}

/* Tiny/Atto editor height parity */
.edwiser-product-editor-panel .tox-tinymce {
    min-height: 280px;
}

.edwiser-product-editor-panel .tox .tox-edit-area__iframe {
    min-height: 220px;
}

.edwiser-product-editor-panel .editor_atto {
    min-height: 280px;
}

/* Filepicker inner text/icon sizing */
/* Use Moodle default styling for core filepicker; do not override typography */
/* Ensure Moodle YUI dialogues (file picker) stack above our side panel */
/* .moodle-dialogue, .moodle-dialogue-base, .moodle-dialogue .moodle-dialogue-wrap {
    z-index: 12050;
} */

/* When Moodle file picker is open, allow clicks to pass through our backdrop */
body.edwiser-picker-open .edwiser-product-editor-backdrop {
    display: block;
    /* keep modal visible */
    pointer-events: none;
    /* but do not block clicks intended for the picker */
}

body.edwiser-picker-open .edwiser-product-editor-backdrop .edwiser-product-editor-panel {
    pointer-events: auto;
    /* keep our editor panel interactive if needed */
}

/* Toggle dimensions exact - removed old conflicting styles */

/* Related product chips size */
.form-autocomplete-selection .form-autocomplete-selection-list .form-autocomplete-selection-item,
.form-autocomplete-selection .form-autocomplete-token {
    height: 28px;
    line-height: 28px;
    padding: 0 12px;
    border-radius: 14px;
    font-weight: 500;
}

/* Autocomplete dropdown spacing */
.form-autocomplete-suggestions .form-autocomplete-suggestions li,
.form-autocomplete-suggestions .form-autocomplete-suggestion {
    padding: 8px 12px;
    font-size: 14px;
}

/* Footer spacing from content */
.edwiser-product-editor-panel .edwiser-editor-footer {
    margin-top: 8px;
}

.edwiser-editor-body .form-check {
    margin-right: 20px;
}

.edwiser-editor-body .form-check-label {
    font-weight: 500;
}

.edwiser-editor-footer {
    padding-top: 16px;
    padding-bottom: 16px;
}

.edwiser-editor-footer .btn {
    min-width: 140px;
}

.edwiser-product-editor-panel .btn.btn-primary {
    box-shadow: none;
}

.edwiser-product-editor-panel .btn.btn-link {
    color: var(--edw-text-muted);
}

.edwiser-product-editor-panel .btn.btn-link:hover {
    color: var(--edw-text-dark);
    text-decoration: none;
}

/* Fine spacing for helper notes and icon tips */
.edwiser-note.mt-1 {
    margin-top: 6px;
}

.edwiser-product-editor-panel i.fa.fa-info-circle {
    color: var(--edw-text-muted);
    font-size: 13px;
    margin-left: 4px;
}

/* Filepicker regions alignment */
/* Remove custom dashed-box styling so Moodle's default filepicker UI renders */

/* Autocomplete width & spacing */
.edwiser-product-editor-panel .form-autocomplete-downarrow {
    right: 10px;
}

.edwiser-product-editor-panel .form-autocomplete-suggestions {
    max-height: 240px;
}

/* Hide paid and subscription sections by default - JavaScript will show them based on product type */
.edwiser-product-editor-panel .section-paid,
.edwiser-product-editor-panel .section-subscription {
    display: none;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .edwiser-product-editor-panel {
        width: 92vw;
    }
}

@media (max-width: 576px) {
    .edwiser-product-editor-panel {
        width: 100vw;
    }

    .edwiser-editor-body .form-row {
        display: block;
    }
}

.local-edwiserstore-delete-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}

.local-edwiserstore-delete-modal-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--edw-white);
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    min-width: 400px;
    max-width: 90%;
    z-index: 10000;
}

.local-edwiserstore-delete-modal-header {
    padding: 20px 24px 16px;
    border-bottom: 1px solid var(--edw-border);
}

.local-edwiserstore-delete-modal-header h4 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: var(--edw-text-heading);
}

.local-edwiserstore-delete-modal-body {
    padding: 20px 24px;
}

.local-edwiserstore-delete-modal-body p {
    margin: 0;
    color: var(--edw-text-secondary);
    font-size: 14px;
}

.local-edwiserstore-delete-modal-footer {
    padding: 16px 24px 20px;
    border-top: 1px solid var(--edw-border);
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.local-edwiserstore-delete-modal-footer .btn {
    padding: 8px 20px;
    border-radius: 4px;
    font-weight: 500;
    cursor: pointer;
}

.local-edwiserstore-delete-modal-footer .btn-secondary {
    background: var(--edw-white);
    border: 1px solid var(--edw-border-lighter);
    color: var(--edw-text-secondary);
}

.local-edwiserstore-delete-modal-footer .btn-secondary:hover {
    background: var(--edw-bg-hover);
}

.local-edwiserstore-delete-modal-footer .btn-primary {
    background: var(--edw-primary-alt);
    border: 1px solid var(--edw-primary-alt);
    color: var(--edw-white);
}

.local-edwiserstore-delete-modal-footer .btn-primary:hover {
    background: var(--edw-primary-alt-hover);
    border-color: var(--edw-primary-alt-hover);
}

/* Shop Settings Styles */
.local-edwiserstore-shop-settings {
    padding: 24px;
    background: var(--edw-white);
    border-radius: 8px;
}

.shop-settings-form .form-group {
    margin-bottom: 24px;
}

.shop-settings-form .form-group:last-child {
    margin-bottom: 0;
}

.shop-settings-form label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: var(--edw-text-body);
    font-size: 14px;
}

.shop-settings-form .form-control {
    width: 100%;
    max-width: 400px;
    padding: 10px 12px;
    border: 1px solid var(--edw-border-light);
    border-radius: 6px;
    font-size: 14px;
}

/* Override max-width for payment settings full-width fields */
.local-edwiserstore-payment-settings .shop-settings-form .form-control.payment-field-full-width {
    max-width: 100%;
}

.local-edwiserstore-payment-settings .shop-settings-form .form-control {
    max-width: 100%;
}

.shop-settings-form .form-control:focus {
    outline: none;
    border-color: var(--edw-primary);
    box-shadow: 0 0 0 3px rgba(47, 128, 237, 0.1);
}

/* Toggle Switch Styles */
.toggle-switch-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
}

.toggle-switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
}

.toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.toggle-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--edw-border-light);
    transition: .2s;
    border-radius: 24px;
}

.toggle-slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: .2s;
    border-radius: 50%;
}

.toggle-switch input:checked+.toggle-slider {
    background-color: var(--edw-primary);
}

.toggle-switch input:checked+.toggle-slider:before {
    transform: translateX(20px);
}

.toggle-label-text {
    font-size: 14px;
    color: var(--edw-text-muted-alt);
    font-weight: 500;
    min-width: 40px;
}

/* Disabled Toggle State */
.toggle-switch-wrapper.toggle-disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.toggle-switch-wrapper.toggle-disabled .toggle-switch {
    cursor: not-allowed;
}

.toggle-switch-wrapper.toggle-disabled .toggle-slider {
    cursor: not-allowed;
    background-color: var(--edw-border-subtle);
}

.toggle-switch-wrapper.toggle-disabled .toggle-label-text {
    color: var(--edw-text-light);
    cursor: help;
}

.toggle-switch input:disabled+.toggle-slider {
    background-color: var(--edw-border-subtle);
    cursor: not-allowed;
}

.toggle-switch input:disabled+.toggle-slider:before {
    background-color: var(--edw-border-light);
}

/* Toast Notification Styles */
.shop-settings-toast {
    position: fixed;
    top: 20px;
    right: 20px;
    min-width: 300px;
    max-width: 500px;
    background-color: var(--edw-toast-success);
    color: white;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    z-index: 9999;
    animation: slideInRight 0.3s ease-out;
}

.shop-settings-toast-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
}

.shop-settings-toast-message {
    flex: 1;
    font-size: 14px;
    font-weight: 500;
}

.shop-settings-toast-close {
    background: none;
    border: none;
    color: white;
    font-size: 20px;
    cursor: pointer;
    padding: 0;
    margin-left: 16px;
    line-height: 1;
    opacity: 0.8;
    transition: opacity 0.2s;
}

.shop-settings-toast-close:hover {
    opacity: 1;
}

@keyframes slideInRight {
    from {
        transform: translateX(100%);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Save Button */
.shop-settings-form .btn-primary {
    background-color: var(--edw-primary);
    border-color: var(--edw-primary);
    color: white;
    padding: 10px 24px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 6px;
    min-width: 140px;
}

.shop-settings-form .btn-primary:hover {
    background-color: var(--edw-primary-hover);
    border-color: var(--edw-primary-hover);
}

.shop-settings-form .btn-primary:disabled {
    background-color: var(--edw-text-light);
    border-color: var(--edw-text-light);
    cursor: not-allowed;
}

/* Payment Settings Styles */
.local-edwiserstore-payment-settings {
    padding: 24px;
    background: var(--edw-white);
    border-radius: 8px;
}

.local-edwiserstore-payment-settings .shop-settings-form .form-group {
    margin-bottom: 24px;
}

.local-edwiserstore-payment-settings .shop-settings-form label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: var(--edw-text-body);
    font-size: 14px;
}

.local-edwiserstore-payment-settings .shop-settings-form .form-control {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--edw-border-light);
    border-radius: 6px;
    font-size: 14px;
}

.local-edwiserstore-payment-settings .shop-settings-form .form-control:focus {
    outline: none;
    border-color: var(--edw-primary);
    box-shadow: 0 0 0 3px rgba(47, 128, 237, 0.1);
}

/* Payment gateway fields - 2x2 grid format */
.payment-gateway-fields {
    margin-top: 16px;
    margin-bottom: 24px;
}

.payment-gateway-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    width: 100%;
}

.payment-gateway-grid .form-group {
    margin-bottom: 20px;
}

.payment-gateway-grid .form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: var(--edw-text-body);
    font-size: 14px;
}

.payment-gateway-grid .form-group .form-control {
    width: 100%;
    max-width: 100%;
}

/* Test connection fields disabled state */
.test-connection-fields.disabled-fields .form-control:disabled,
.test-connection-fields .form-control:disabled {
    background-color: var(--edw-bg-input);
    color: var(--edw-text-light);
    cursor: not-allowed;
    opacity: 0.6;
}

.test-connection-fields.disabled-fields .form-group label {
    color: var(--edw-text-light);
}

.payment-field-full-width {
    max-width: 100%;
    width: 100%;
}

/* Form row for side-by-side fields */
.payment-form-row {
    display: flex;
    gap: 16px;
    align-items: flex-end;
    margin-bottom: 0;
    width: 100%;
}

.payment-form-group-half {
    flex: 1;
    margin-bottom: 0;
    min-width: 0;
    max-width: calc(50% - 8px);
}

.payment-form-group-button {
    flex: 0 0 auto;
    margin-bottom: 0;
    display: flex;
    align-items: flex-end;
    padding-bottom: 0;
    margin-left: 16px;
}

.payment-form-group-button .btn {
    height: 38px;
    padding: 0 16px;
    white-space: nowrap;
    min-width: 120px;
    display: inline-block;
}

/* Tax fields */
.tax-fields-container {
    margin-top: 16px;
    padding-left: 8px;
}

.tax-field-row {
    margin-bottom: 16px;
    align-items: flex-end;
}

.tax-field-row:last-child {
    margin-bottom: 0;
}

.tax-field-row .form-group {
    margin-bottom: 0;
}

.tax-field-row .form-group label {
    margin-bottom: 8px;
}

.tax-field-row .btn-primary,
.tax-field-row .btn-danger {
    height: 38px;
    padding: 0 16px;
    white-space: nowrap;
    display: inline-block;
}

/* Ensure Add new tax button is always visible */
#add-new-tax-btn {
    visibility: visible;
    opacity: 1;
    display: inline-block;
}

.tax-field-row .payment-form-group-button {
    visibility: visible;
    opacity: 1;
    display: flex;
}

.tax-field-row #add-new-tax-btn,
.tax-field-row .remove-tax-btn {
    visibility: visible;
    opacity: 1;
    display: inline-block;
}

/* Terms & Conditions fields */
.terms-conditions-fields {
    margin-top: 16px;
    padding-left: 8px;
}

.terms-conditions-fields .form-group {
    margin-bottom: 20px;
}

.terms-conditions-fields .form-group:last-child {
    margin-bottom: 0;
}

.terms-conditions-fields textarea.form-control {
    min-height: 300px;
    max-width: 100%;
    width: 100%;
}

.local-edwiserstore-payment-settings .tox-tinymce {
    min-height: 280px;
}

.local-edwiserstore-payment-settings .tox .tox-edit-area__iframe {
    min-height: 220px;
}

.local-edwiserstore-payment-settings .editor_atto {
    min-height: 280px;
}

/* Ensure toggle labels align properly */
.local-edwiserstore-payment-settings .toggle-label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: var(--edw-text-body);
    font-size: 14px;
}

.local-edwiserstore-payment-settings .toggle-switch-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .payment-gateway-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .payment-form-row {
        flex-direction: column;
        gap: 0;
    }

    .payment-form-group-half {
        width: 100%;
        max-width: 100%;
        margin-bottom: 20px;
    }

    .payment-form-group-half:last-child {
        margin-bottom: 0;
    }

    .payment-form-group-button {
        width: 100%;
        margin-top: 8px;
        margin-left: 0;
    }

    .payment-form-group-button .btn {
        width: 100%;
    }
}





/* Modal dialog form check input styling for edit product page */
.modal-dialog .form-check .form-check-input {
    margin-left: auto;
    margin-right: 10px;
}

.site-announcement.alert.alert-danger.license-notice.edwiserstore-license-notice {
    position: absolute;
    top: 0px;
    width: 100%;
    left: 0;
    right: 0;
    z-index: 1700;
    transition: all 1s ease-in-out;
    text-align: center;
    margin-bottom: 0;
    padding: 16px 72px 16px 24px;
    background-color: rgb(248, 215, 218);
    border-bottom-color: rgb(241, 174, 181);
    border-image-outset: 0;
    border-image-repeat: stretch;
    border-image-slice: 100%;
    border-image-source: none;
    border-image-width: 1;
    border-radius: 4px;
    border: 0.8px solid rgb(241, 174, 181);
    box-sizing: border-box;
    color: rgb(88, 21, 28);
    display: block;
    font-size: 16px;
    font-weight: 400;
    line-height: 25.136px;
}



/* Unified Pagination - Modern design with rounded buttons
   Used by: convert, convert-products, products, coupons */
.convert-pagination,
.convert-products-pagination,
.products-pagination,
.coupons-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 24px;
}

.convert-pagination-link,
.convert-products-pagination-link,
.products-pagination-link,
.coupons-pagination-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid var(--edw-pagination);
    border-radius: 10px;
    background: var(--edw-white);
    color: var(--edw-pagination);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s ease;
}

.convert-pagination-link:hover,
.convert-products-pagination-link:hover,
.products-pagination-link:hover,
.coupons-pagination-link:hover {
    background: var(--edw-bg-hover);
    border-color: var(--edw-pagination);
    color: var(--edw-pagination);
    text-decoration: none;
}

/* Inactive page numbers - plain text, no border */
.convert-pagination-link:not(.convert-pagination-prev):not(.convert-pagination-next),
.convert-products-pagination-link:not(.convert-products-pagination-prev):not(.convert-products-pagination-next),
.products-pagination-link:not(.products-pagination-prev):not(.products-pagination-next),
.coupons-pagination-link:not(.coupons-pagination-prev):not(.coupons-pagination-next) {
    border: none;
    background: transparent;
    color: var(--edw-text-muted);
    min-width: auto;
    padding: 0 8px;
}

.convert-pagination-link:not(.convert-pagination-prev):not(.convert-pagination-next):hover,
.convert-products-pagination-link:not(.convert-products-pagination-prev):not(.convert-products-pagination-next):hover,
.products-pagination-link:not(.products-pagination-prev):not(.products-pagination-next):hover,
.coupons-pagination-link:not(.coupons-pagination-prev):not(.coupons-pagination-next):hover {
    background: transparent;
    color: var(--edw-pagination);
}

/* Current/Active page - white background with shadow, no border */
.convert-pagination-link.active:not(.convert-pagination-prev):not(.convert-pagination-next),
.convert-products-pagination-link.active:not(.convert-products-pagination-prev):not(.convert-products-pagination-next),
.products-pagination-link.active:not(.products-pagination-prev):not(.products-pagination-next),
.coupons-pagination-link.active:not(.coupons-pagination-prev):not(.coupons-pagination-next) {
    background: var(--edw-white);
    border: none;
    color: var(--edw-text-dark);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    font-weight: 600;
    min-width: 40px;
    padding: 0 12px;
}

.convert-pagination-link.active:not(.convert-pagination-prev):not(.convert-pagination-next):hover,
.convert-products-pagination-link.active:not(.convert-products-pagination-prev):not(.convert-products-pagination-next):hover,
.products-pagination-link.active:not(.products-pagination-prev):not(.products-pagination-next):hover,
.coupons-pagination-link.active:not(.coupons-pagination-prev):not(.coupons-pagination-next):hover {
    background: var(--edw-white);
    color: var(--edw-text-dark);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

/* Ellipsis - plain text */
.convert-pagination-ellipsis,
.convert-products-pagination-ellipsis,
.products-pagination-ellipsis,
.coupons-pagination-ellipsis {
    padding: 0 8px;
    color: var(--edw-text-muted);
    font-size: 14px;
}

/* ==========================================================================
   UXD-02: Navbar Cart Icon
   ========================================================================== */

.edwiserstore-cart-icon-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 0 !important;
    margin: 0 4px;
}

.edwiserstore-cart-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    color: var(--edw-text-icon, #5b6880);
    text-decoration: none !important;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.edwiserstore-cart-link:hover {
    background-color: var(--edw-bg-hover, #f8f9fa);
    color: var(--edw-primary, #2F80ED);
    text-decoration: none !important;
}

.edwiserstore-cart-link .fa-shopping-cart {
    font-size: 18px;
    line-height: 1;
}

/* Cart Badge */
.edwiserstore-cart-badge {
    position: absolute;
    top: 2px;
    right: 0;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    color: #fff;
    background: var(--edw-danger, #dc3545);
    border-radius: 9px;
    box-shadow: 0 1px 3px rgba(220, 53, 69, 0.4);
    pointer-events: none;
    z-index: 1;
}

/* Bounce animation on count change */
.edwiserstore-cart-badge--bounce {
    animation: edw-cart-bounce 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55);
}

@keyframes edw-cart-bounce {
    0% { transform: scale(1); }
    40% { transform: scale(1.4); }
    70% { transform: scale(0.9); }
    100% { transform: scale(1); }
}

/* RTL support */
[dir="rtl"] .edwiserstore-cart-badge {
    right: auto;
    left: 0;
}