/* ==========================================================================
   RESPONSIVE STYLES
   ========================================================================== */
@media (max-width: 1200px) {
    .aaima-products-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .aaima-footer-widgets {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 992px) {
    /* Show mobile toggle */
    .aaima-mobile-toggle,
    .mobile-menu-toggle {
        display: flex;
    }
    
    /* Hide desktop navigation */
    .aaima-nav-menu {
        display: none;
    }
    
    .aaima-shop-wrapper {
        grid-template-columns: 1fr;
    }
    
    .aaima-shop-sidebar {
        display: none;
    }
    
    .aaima-shop-sidebar.active {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 300px;
        height: 100vh;
        z-index: var(--aaima-z-modal);
        overflow-y: auto;
    }
    
    .aaima-cart-wrapper,
    .aaima-checkout-wrapper {
        grid-template-columns: 1fr;
    }
    
    .aaima-myaccount-wrapper {
        grid-template-columns: 1fr;
    }
    
    .aaima-modal-content {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .aaima-header-main {
        flex-wrap: wrap;
    }
    
    .aaima-header-actions {
        margin-left: auto;
    }
    
    .aaima-products-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .aaima-product-gallery-wrapper {
        grid-template-columns: 1fr;
    }
    
    .aaima-product-thumbnails {
        flex-direction: row;
        order: 2;
    }
    
    .aaima-product-thumbnail {
        width: 60px;
    }
    
    .aaima-product-summary {
        padding-left: 0;
        margin-top: var(--aaima-spacing-lg);
    }
    
    .aaima-form-row {
        grid-template-columns: 1fr;
    }
    
    .aaima-footer-widgets {
        grid-template-columns: 1fr;
    }
    
    .aaima-footer-bottom-inner {
        flex-direction: column;
        gap: var(--aaima-spacing-md);
        text-align: center;
    }
}

@media (max-width: 480px) {
    .aaima-products-grid {
        grid-template-columns: 1fr;
    }
    
    .aaima-nav-menu {
        display: none;
    }
    
    .aaima-countdown {
        flex-wrap: wrap;
        justify-content: center;
    }
    
    .aaima-flash-header {
        flex-direction: column;
        gap: var(--aaima-spacing-md);
    }
}

/* ==========================================================================
   RTL SUPPORT
   ========================================================================== */
[dir="rtl"] {
    direction: rtl;
}

[dir="rtl"] .aaima-header-main,
[dir="rtl"] .aaima-product-card,
[dir="rtl"] .aaima-cart-product {
    direction: rtl;
}

[dir="rtl"] .aaima-product-actions {
    right: auto;
    left: var(--aaima-spacing-md);
}

[dir="rtl"] .aaima-price-original,
[dir="rtl"] .aaima-price-discount,
[dir="rtl"] .aaima-deal-badge {
    margin-left: 0;
    margin-right: var(--aaima-spacing-sm);
}

/* ==========================================================================
   ACCESSIBILITY
   ========================================================================== */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

.screen-reader-text:focus {
    background-color: var(--aaima-bg);
    border-radius: var(--aaima-radius-sm);
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    display: block;
    font-size: var(--aaima-font-size-sm);
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

:focus {
    outline: 2px solid var(--aaima-accent);
    outline-offset: 2px;
}

:focus:not(:focus-visible) {
    outline: none;
}

:focus-visible {
    outline: 2px solid var(--aaima-accent);
    outline-offset: 2px;
}

/* Skip Link */
.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: var(--aaima-primary);
    color: #fff;
    padding: 8px;
    z-index: 100000;
}

.skip-link:focus {
    top: 0;
}

/* ==========================================================================
   PRINT STYLES
   ========================================================================== */
@media print {
    .aaima-header,
    .aaima-footer,
    .aaima-sidebar,
    .aaima-cart-icon,
    .aaima-product-actions,
    .no-print {
        display: none !important;
    }
    
    body {
        background: #fff;
        color: #000;
    }
    
    a {
        text-decoration: underline;
    }
}

/* ==========================================================================
   WOOCOMMERCE OVERRIDES
   ========================================================================== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    padding: var(--aaima-spacing-md) var(--aaima-spacing-lg);
    margin-bottom: var(--aaima-spacing-lg);
    border-radius: var(--aaima-radius-md);
    border: none;
}

.woocommerce-message {
    background: #d4edda;
    color: #155724;
}

.woocommerce-info {
    background: #d1ecf1;
    color: #0c5460;
}

.woocommerce-error {
    background: #f8d7da;
    color: #721c24;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    display: none;
}

/* Star Ratings */
.star-rating {
    display: inline-flex;
    font-size: 0;
    overflow: hidden;
    position: relative;
    height: 1em;
    line-height: 1;
    font-size: var(--aaima-font-size-sm);
    width: 5.4em;
}

.star-rating::before {
    content: '\2605\2605\2605\2605\2605';
    color: var(--aaima-border);
    float: left;
    top: 0;
    left: 0;
    position: absolute;
}

.star-rating span {
    overflow: hidden;
    float: left;
    top: 0;
    left: 0;
    position: absolute;
    padding-top: 1.5em;
}

.star-rating span::before {
    content: '\2605\2605\2605\2605\2605';
    color: var(--aaima-accent);
    top: 0;
    position: absolute;
    left: 0;
}

/* WooCommerce Buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    background: linear-gradient(to bottom, #f7dfa5, #f0c14b);
    color: var(--aaima-text);
    border: 1px solid #a88734;
    border-radius: var(--aaima-radius-full);
    padding: var(--aaima-spacing-sm) var(--aaima-spacing-lg);
    font-weight: 500;
    transition: var(--aaima-transition-fast);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    background: linear-gradient(to bottom, #f5d78e, #eeb933);
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    background: var(--aaima-accent);
    border-color: var(--aaima-accent);
    color: #fff;
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
    background: var(--aaima-accent-hover);
}

/* Page Builder Compatibility - Full Width */
.elementor-page .site-content,
.fl-builder .site-content,
.et_builder_page .site-content {
    padding: 0;
    max-width: 100%;
}

.elementor-page .aaima-container,
.fl-builder .aaima-container,
.et_builder_page .aaima-container {
    max-width: 100%;
    padding: 0;
}

/* ==========================================================================
   MAIN CONTENT AREAS - Explicit backgrounds
   ========================================================================== */
.site-content,
.site-main,
#content,
#main-content {
    background-color: #fff !important;
}

/* WooCommerce My Account */
.aaima-my-account {
    background: #fff;
    padding: var(--aaima-spacing-xl) 0;
}

.aaima-account-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: var(--aaima-spacing-xl);
    max-width: var(--aaima-container-max);
    margin: 0 auto;
    padding: 0 var(--aaima-spacing-md);
}

.aaima-account-sidebar {
    background: #fff;
    border: 1px solid var(--aaima-border-light);
    border-radius: var(--aaima-radius-md);
    padding: var(--aaima-spacing-lg);
}

.account-user-profile {
    display: flex;
    align-items: center;
    gap: var(--aaima-spacing-md);
    padding-bottom: var(--aaima-spacing-lg);
    border-bottom: 1px solid var(--aaima-border-light);
    margin-bottom: var(--aaima-spacing-lg);
}

.account-user-profile .user-avatar img {
    border-radius: 50%;
    width: 60px;
    height: 60px;
}

.account-user-profile .user-greeting {
    display: block;
    font-size: var(--aaima-font-size-sm);
    color: var(--aaima-text-light);
}

.account-user-profile .user-name {
    display: block;
    font-weight: 600;
    font-size: var(--aaima-font-size-lg);
}

.aaima-account-content {
    background: #fff;
    border: 1px solid var(--aaima-border-light);
    border-radius: var(--aaima-radius-md);
    padding: var(--aaima-spacing-xl);
}

/* WooCommerce Navigation */
.woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce-MyAccount-navigation li {
    margin-bottom: var(--aaima-spacing-xs);
}

.woocommerce-MyAccount-navigation li a {
    display: flex;
    align-items: center;
    padding: var(--aaima-spacing-sm) var(--aaima-spacing-md);
    color: var(--aaima-text);
    border-radius: var(--aaima-radius-sm);
    transition: var(--aaima-transition-fast);
}

.woocommerce-MyAccount-navigation li a:hover,
.woocommerce-MyAccount-navigation li.is-active a {
    background: var(--aaima-bg-light);
    color: var(--aaima-link-hover);
}

@media (max-width: 768px) {
    .aaima-account-layout {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   LIGHTBOX / IMAGE ZOOM MODAL
   ========================================================================== */
.aaima-lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
}

.aaima-lightbox.active {
    display: flex;
}

.lightbox-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    cursor: pointer;
}

.lightbox-content {
    position: relative;
    max-width: 90vw;
    max-height: 90vh;
    z-index: 1;
}

.lightbox-content img {
    max-width: 100%;
    max-height: 90vh;
    object-fit: contain;
    border-radius: var(--aaima-radius-md);
}

.lightbox-close {
    position: absolute;
    top: -40px;
    right: 0;
    background: none;
    border: none;
    color: #fff;
    cursor: pointer;
    padding: var(--aaima-spacing-sm);
}

/* ==========================================================================
   FILTER OVERLAY (Mobile)
   ========================================================================== */
.aaima-filter-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: var(--aaima-transition);
    display: none;
}

.aaima-filter-overlay.active {
    opacity: 1;
    visibility: visible;
    display: block;
}

.aaima-filter-panel {
    position: fixed;
    top: 0;
    right: -320px;
    width: 320px;
    max-width: 90%;
    height: 100%;
    background: #fff;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    transition: right 0.3s ease;
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
}

.aaima-filter-overlay.active .aaima-filter-panel {
    right: 0;
}

.aaima-filter-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px;
    border-bottom: 1px solid #ddd;
    background: #f5f5f5;
}

.aaima-filter-panel-header h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
}

.aaima-filter-close {
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.aaima-filter-panel-body {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}

.aaima-filter-panel-footer {
    padding: 15px 20px;
    border-top: 1px solid #ddd;
    background: #f5f5f5;
}

body.filter-open {
    overflow: hidden;
}

/* ==========================================================================
   TOAST NOTIFICATIONS
   ========================================================================== */
.aaima-toast-container,
.toast-container {
    position: fixed;
    bottom: var(--aaima-spacing-lg);
    right: var(--aaima-spacing-lg);
    z-index: 99999;
    display: flex;
    flex-direction: column;
    gap: var(--aaima-spacing-sm);
    max-width: 400px;
}

.toast {
    display: flex;
    align-items: center;
    gap: var(--aaima-spacing-md);
    padding: var(--aaima-spacing-md) var(--aaima-spacing-lg);
    background: #fff;
    border-radius: var(--aaima-radius-md);
    box-shadow: var(--aaima-shadow-lg);
    transform: translateX(120%);
    transition: transform 0.3s ease;
}

.toast.show {
    transform: translateX(0);
}

.toast-success {
    border-left: 4px solid var(--aaima-success);
}

.toast-error {
    border-left: 4px solid var(--aaima-error);
}

.toast-info {
    border-left: 4px solid var(--aaima-info);
}

.toast-warning {
    border-left: 4px solid var(--aaima-warning);
}

.toast-message {
    flex: 1;
    font-size: var(--aaima-font-size-sm);
}

.toast-close {
    background: none;
    border: none;
    font-size: var(--aaima-font-size-xl);
    color: var(--aaima-text-muted);
    cursor: pointer;
    line-height: 1;
}

/* ==========================================================================
   QUICK VIEW MODAL
   ========================================================================== */
.aaima-quick-view-modal,
.quick-view-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
}

.aaima-quick-view-modal.active,
.quick-view-modal.active {
    display: flex;
}

.quick-view-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    cursor: pointer;
}

.quick-view-content {
    position: relative;
    width: 100%;
    max-width: 900px;
    max-height: 90vh;
    background: #fff;
    border-radius: var(--aaima-radius-lg, 12px);
    overflow: hidden;
    z-index: 1;
    display: flex;
    flex-direction: column;
}

.quick-view-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow-y: auto;
    max-height: calc(90vh - 20px);
    scrollbar-width: thin;
    scrollbar-color: var(--aaima-border-light, #e0e0e0) transparent;
}

.quick-view-inner::-webkit-scrollbar {
    width: 6px;
}

.quick-view-inner::-webkit-scrollbar-track {
    background: transparent;
}

.quick-view-inner::-webkit-scrollbar-thumb {
    background-color: var(--aaima-border-light, #e0e0e0);
    border-radius: 3px;
}

.quick-view-gallery {
    padding: var(--aaima-spacing-lg, 24px);
    background: var(--aaima-bg-light, #f5f5f5);
}

.quick-view-gallery img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.quick-view-summary {
    padding: var(--aaima-spacing-xl, 32px);
}

.quick-view-close,
.aaima-quick-view-close {
    position: absolute;
    top: var(--aaima-spacing-md, 16px);
    right: var(--aaima-spacing-md, 16px);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid var(--aaima-border, #ddd);
    border-radius: var(--aaima-radius-full, 50%);
    cursor: pointer;
    z-index: 10;
    transition: var(--aaima-transition-fast, 0.15s ease);
}

.quick-view-close:hover,
.aaima-quick-view-close:hover {
    background: var(--aaima-bg-light, #f5f5f5);
}

.quick-view-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--aaima-spacing-2xl, 48px);
    min-height: 300px;
    grid-column: 1 / -1;
}

.quick-view-loading .spinner {
    width: 40px;
    height: 40px;
    border: 3px solid var(--aaima-border-light, #e0e0e0);
    border-top-color: var(--aaima-accent, #ff9900);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

.quick-view-error {
    text-align: center;
    grid-column: 1 / -1;
    padding: var(--aaima-spacing-2xl);
    color: var(--aaima-danger);
}

/* Quick View Content Elements */
.quick-view__gallery {
    padding: var(--aaima-spacing-lg);
    background: var(--aaima-bg-light, #f5f5f5);
}

.quick-view__main-image {
    margin-bottom: var(--aaima-spacing-md);
    border-radius: var(--aaima-radius-md);
    overflow: hidden;
}

.quick-view__main-image img {
    width: 100%;
    height: auto;
    object-fit: contain;
    max-height: 400px;
}

.quick-view__thumbnails {
    display: flex;
    gap: var(--aaima-spacing-sm);
    flex-wrap: wrap;
}

.quick-view__thumb {
    width: 60px;
    height: 60px;
    padding: 4px;
    border: 2px solid var(--aaima-border-light);
    border-radius: var(--aaima-radius-sm);
    background: #fff;
    cursor: pointer;
    transition: var(--aaima-transition-fast);
}

.quick-view__thumb:hover,
.quick-view__thumb.active {
    border-color: var(--aaima-accent);
}

.quick-view__thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.quick-view__details {
    padding: var(--aaima-spacing-xl, 32px);
    overflow-y: auto;
    max-height: calc(90vh - 40px);
}

.quick-view__title {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: var(--aaima-spacing-sm);
    color: var(--aaima-text);
}

.quick-view__rating {
    display: flex;
    align-items: center;
    gap: var(--aaima-spacing-sm);
    margin-bottom: var(--aaima-spacing-md);
    font-size: 0.875rem;
    color: var(--aaima-text-muted);
}

.quick-view__price {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--aaima-accent);
    margin-bottom: var(--aaima-spacing-md);
}

.quick-view__price del {
    color: var(--aaima-text-muted);
    font-weight: 400;
    margin-right: var(--aaima-spacing-sm);
}

.quick-view__price ins {
    text-decoration: none;
}

.quick-view__excerpt {
    margin-bottom: var(--aaima-spacing-lg);
    color: var(--aaima-text-muted);
    font-size: 0.9375rem;
    line-height: 1.6;
}

.quick-view__variations {
    margin-bottom: var(--aaima-spacing-lg);
}

.quick-view__variations .variation-select {
    margin-bottom: var(--aaima-spacing-md);
}

.quick-view__variations label {
    display: block;
    font-weight: 500;
    margin-bottom: var(--aaima-spacing-xs);
    color: var(--aaima-text);
}

.quick-view__variations select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--aaima-border);
    border-radius: var(--aaima-radius-sm);
    background: #fff;
    font-size: 0.9375rem;
}

.quick-view__actions {
    display: flex;
    gap: var(--aaima-spacing-md);
    margin-bottom: var(--aaima-spacing-lg);
    align-items: center;
}

.quick-view__actions .quantity-selector {
    display: flex;
    align-items: center;
    border: 1px solid var(--aaima-border);
    border-radius: var(--aaima-radius-sm);
    overflow: hidden;
}

.quick-view__actions .qty-btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--aaima-bg-light);
    border: none;
    cursor: pointer;
    font-size: 1.125rem;
    transition: var(--aaima-transition-fast);
}

.quick-view__actions .qty-btn:hover {
    background: var(--aaima-border-light);
}

.quick-view__actions .qty-input {
    width: 50px;
    height: 36px;
    text-align: center;
    border: none;
    border-left: 1px solid var(--aaima-border);
    border-right: 1px solid var(--aaima-border);
    font-size: 0.9375rem;
}

.quick-view__add-to-cart {
    flex: 1;
    padding: 10px 20px;
    background: var(--aaima-accent);
    color: #fff;
    border: none;
    border-radius: var(--aaima-radius-sm);
    font-weight: 600;
    cursor: pointer;
    transition: var(--aaima-transition-fast);
}

.quick-view__add-to-cart:hover {
    background: var(--aaima-accent-hover);
}

.quick-view__full-details {
    display: inline-block;
    color: var(--aaima-accent);
    text-decoration: none;
    font-weight: 500;
}

.quick-view__full-details:hover {
    text-decoration: underline;
}

@media (max-width: 768px) {
    .quick-view-inner {
        grid-template-columns: 1fr;
    }
    
    .quick-view-content {
        width: 95%;
        max-height: 95vh;
    }
    
    .quick-view__gallery {
        padding: var(--aaima-spacing-md, 16px);
    }
    
    .quick-view__details {
        padding: var(--aaima-spacing-md, 16px);
        max-height: none;
    }
    
    .quick-view__main-image img {
        max-height: 300px;
    }
    
    .quick-view__actions {
        flex-direction: column;
    }
    
    .quick-view__actions .quantity-selector {
        width: 100%;
        justify-content: center;
    }
    
    .quick-view__add-to-cart {
        width: 100%;
    }
}

/* ==========================================================================
   LOADING STATES
   ========================================================================== */
.loading {
    position: relative;
    pointer-events: none;
    opacity: 0.7;
}

.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 24px;
    height: 24px;
    border: 3px solid var(--aaima-border);
    border-top-color: var(--aaima-accent);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

.products.loading {
    min-height: 300px;
}

.products.loading::after {
    width: 40px;
    height: 40px;
}

.spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid var(--aaima-border);
    border-top-color: var(--aaima-accent);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

.search-loading,
.quick-view-loading {
    text-align: center;
    padding: var(--aaima-spacing-xl);
}

/* ==========================================================================
   COMPARE BAR
   ========================================================================== */
.aaima-compare-bar,
.compare-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(135deg, #232f3e 0%, #37475a 100%);
    color: #fff;
    padding: 0;
    transform: translateY(100%);
    transition: transform 0.3s ease;
    z-index: 9999;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.2);
}

.aaima-compare-bar.active,
.compare-bar.active {
    transform: translateY(0);
}

.compare-bar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1400px;
    margin: 0 auto;
    padding: 12px 24px;
    gap: 24px;
}

.compare-bar-info {
    flex-shrink: 0;
}

.compare-bar-info .compare-count {
    font-size: var(--aaima-font-size-sm, 14px);
    font-weight: 600;
    color: #ff9900;
}

.compare-bar-products {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    justify-content: center;
}

.compare-bar-item {
    position: relative;
    width: 70px;
    height: 70px;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s;
}

.compare-bar-item:hover {
    transform: scale(1.05);
}

.compare-bar-item.empty {
    background: rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px dashed rgba(255, 255, 255, 0.3);
}

.compare-bar-item.empty svg {
    color: rgba(255, 255, 255, 0.5);
}

.compare-bar-item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 4px;
}

.compare-bar-item .remove-compare-item {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 22px;
    height: 22px;
    background: #dc3545;
    color: #fff;
    border: 2px solid #fff;
    border-radius: 50%;
    font-size: var(--aaima-font-size-sm, 14px);
    font-weight: bold;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    transition: all 0.2s;
}

.compare-bar-item .remove-compare-item:hover {
    background: #c82333;
    transform: scale(1.1);
}

.compare-bar-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.compare-now-btn {
    display: inline-flex;
    align-items: center;
    padding: 12px 24px;
    background: #ff9900;
    color: #111 !important;
    border: none;
    border-radius: 24px;
    font-size: var(--aaima-font-size-sm, 14px);
    font-weight: 600;
    cursor: pointer;
    text-decoration: none !important;
    transition: all 0.2s;
}

.compare-now-btn:hover {
    background: #e68a00;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 153, 0, 0.4);
}

.clear-compare-btn {
    padding: 10px 20px;
    background: transparent;
    color: #fff;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 24px;
    font-size: var(--aaima-font-size-sm, 14px);
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.clear-compare-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.5);
}

@media (max-width: 768px) {
    .compare-bar-inner {
        flex-wrap: wrap;
        padding: 12px 16px;
        gap: 12px;
    }
    
    .compare-bar-info {
        width: 100%;
        text-align: center;
    }
    
    .compare-bar-products {
        width: 100%;
        justify-content: center;
    }
    
    .compare-bar-item {
        width: 55px;
        height: 55px;
    }
    
    .compare-bar-actions {
        width: 100%;
        justify-content: center;
    }
    
    .compare-now-btn,
    .clear-compare-btn {
        padding: 10px 16px;
        font-size: var(--aaima-font-size-xs, 13px);
    }
}

/* ==========================================================================
   BACK TO TOP BUTTON
   ========================================================================== */
.aaima-back-to-top,
.back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background: var(--aaima-primary, #ff9900);
    color: #fff;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.3s ease;
    z-index: 9999;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 0;
}

.aaima-back-to-top svg,
.back-to-top svg {
    width: 24px;
    height: 24px;
    stroke: currentColor;
}

.aaima-back-to-top.visible,
.back-to-top.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.aaima-back-to-top:hover,
.back-to-top:hover {
    background: var(--aaima-accent, #232f3e);
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

.aaima-back-to-top:active,
.back-to-top:active {
    transform: translateY(-1px);
}

@media (max-width: 768px) {
    .aaima-back-to-top,
    .back-to-top {
        bottom: 20px;
        right: 20px;
        width: 44px;
        height: 44px;
    }
    
    .aaima-back-to-top svg,
    .back-to-top svg {
        width: 20px;
        height: 20px;
    }
}

/* ==========================================================================
   PRODUCT TABS (WooCommerce)
   ========================================================================== */
.woocommerce-tabs {
    margin-top: var(--aaima-spacing-2xl);
    background: #fff;
    border: 1px solid var(--aaima-border-light);
    border-radius: var(--aaima-radius-md);
    overflow: hidden;
}

.woocommerce-tabs ul.tabs {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    background: var(--aaima-bg-light);
    border-bottom: 1px solid var(--aaima-border-light);
}

.woocommerce-tabs ul.tabs li {
    margin: 0;
}

.woocommerce-tabs ul.tabs li a {
    display: block;
    padding: var(--aaima-spacing-md) var(--aaima-spacing-lg);
    color: var(--aaima-text-light);
    font-weight: 500;
    text-decoration: none;
    border-bottom: 3px solid transparent;
    transition: var(--aaima-transition-fast);
}

.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover {
    color: var(--aaima-accent);
    border-bottom-color: var(--aaima-accent);
    background: #fff;
}

.woocommerce-tabs .panel {
    padding: var(--aaima-spacing-xl);
}

.woocommerce-tabs .panel h2 {
    font-size: var(--aaima-font-size-xl);
    margin-bottom: var(--aaima-spacing-lg);
}

/* Additional Information / Product Attributes Table */
.woocommerce-product-attributes,
.shop_attributes {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    table-layout: fixed;
}

.woocommerce-product-attributes tr,
.shop_attributes tr {
    border-bottom: 1px solid #e7e7e7;
}

.woocommerce-product-attributes tr:last-child,
.shop_attributes tr:last-child {
    border-bottom: none;
}

.woocommerce-product-attributes th,
.woocommerce-product-attributes-item__label,
.shop_attributes th {
    width: 150px;
    padding: 12px 20px 12px 0;
    text-align: left;
    vertical-align: top;
    font-weight: 600;
    font-size: var(--aaima-font-size-sm, 14px);
    color: var(--aaima-text, #0f1111);
}

.woocommerce-product-attributes td,
.woocommerce-product-attributes-item__value,
.shop_attributes td {
    padding: 12px 0;
    text-align: left;
    vertical-align: top;
    font-size: var(--aaima-font-size-sm, 14px);
    color: #565959;
}

.woocommerce-product-attributes td p,
.shop_attributes td p {
    margin: 0;
}

/* Product attributes in main summary area */
.aaima-product-attributes {
    margin: 20px 0;
    padding: 15px 0;
    border-top: 1px solid #e7e7e7;
}

.aaima-product-attributes table {
    width: 100%;
    border-collapse: collapse;
}

.aaima-product-attributes tr {
    border-bottom: 1px solid #f0f0f0;
}

.aaima-product-attributes tr:last-child {
    border-bottom: none;
}

.aaima-product-attributes th {
    width: 120px;
    padding: 10px 15px 10px 0;
    text-align: left;
    vertical-align: top;
    font-weight: 600;
    font-size: var(--aaima-font-size-sm, 14px);
    color: var(--aaima-text, #0f1111);
}

.aaima-product-attributes td {
    padding: 10px 0;
    text-align: left;
    vertical-align: top;
    font-size: var(--aaima-font-size-sm, 14px);
    color: #565959;
}

/* Reviews */
.woocommerce-Reviews {
    margin-top: var(--aaima-spacing-lg);
}

.woocommerce-Reviews .comment-respond {
    margin-top: var(--aaima-spacing-xl);
    padding-top: var(--aaima-spacing-xl);
    border-top: 1px solid var(--aaima-border-light);
}

/* Review Form Title */
#review_form_wrapper .comment-reply-title {
    font-size: var(--aaima-font-size-lg, 18px);
    font-weight: 600;
    color: var(--aaima-text, #0f1111);
    margin-bottom: 20px;
}

#review_form_wrapper .comment-reply-title small {
    display: block;
    font-size: var(--aaima-font-size-sm, 14px);
    font-weight: 400;
    color: #565959;
    margin-top: 5px;
}

/* Review Form Layout */
#review_form .comment-form {
    max-width: 600px;
}

#review_form .comment-form label {
    display: block;
    font-size: var(--aaima-font-size-sm, 14px);
    font-weight: 600;
    color: var(--aaima-text, #0f1111);
    margin-bottom: 8px;
}

#review_form .comment-form .required {
    color: var(--aaima-link-hover, #c45500);
}

/* Star Rating Selector */
#review_form .comment-form-rating {
    margin-bottom: 20px;
}

#review_form .comment-form-rating label {
    margin-bottom: 10px;
}

/* Hide the text and show stars instead */
#review_form p.stars {
    display: flex;
    gap: 4px;
    margin: 0;
    line-height: 1;
}

#review_form p.stars a {
    position: relative;
    width: 28px;
    height: 28px;
    text-indent: -9999px;
    display: inline-block;
    text-decoration: none;
    background: none;
}

#review_form p.stars a::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 28px;
    height: 28px;
    text-indent: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ddd' stroke-width='2'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'%3E%3C/polygon%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

#review_form p.stars a:hover::before,
#review_form p.stars a.active::before,
#review_form p.stars.selected a.active::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffa41c' stroke='%23ffa41c' stroke-width='2'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'%3E%3C/polygon%3E%3C/svg%3E");
}

/* Fill stars up to hovered/selected */
#review_form p.stars a:hover ~ a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ddd' stroke-width='2'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'%3E%3C/polygon%3E%3C/svg%3E");
}

#review_form p.stars:hover a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffa41c' stroke='%23ffa41c' stroke-width='2'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'%3E%3C/polygon%3E%3C/svg%3E");
}

#review_form p.stars.selected a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffa41c' stroke='%23ffa41c' stroke-width='2'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'%3E%3C/polygon%3E%3C/svg%3E");
}

#review_form p.stars.selected a.active ~ a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ddd' stroke-width='2'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'%3E%3C/polygon%3E%3C/svg%3E");
}

/* Review Textarea */
#review_form .comment-form-comment {
    margin-bottom: 20px;
}

#review_form .comment-form-comment textarea {
    width: 100%;
    min-height: 150px;
    padding: 12px 15px;
    border: 1px solid #d5d9d9;
    border-radius: 8px;
    font-size: var(--aaima-font-size-sm, 14px);
    font-family: inherit;
    line-height: 1.5;
    resize: vertical;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#review_form .comment-form-comment textarea:focus {
    outline: none;
    border-color: var(--aaima-link-hover, #c45500);
    box-shadow: 0 0 0 3px rgba(196, 85, 0, 0.1);
}

#review_form .comment-form-comment textarea::placeholder {
    color: #999;
}

/* Author & Email Fields */
#review_form .comment-form-author,
#review_form .comment-form-email {
    margin-bottom: 15px;
}

#review_form .comment-form-author input,
#review_form .comment-form-email input {
    width: 100%;
    max-width: 400px;
    padding: 10px 12px;
    border: 1px solid #d5d9d9;
    border-radius: 8px;
    font-size: var(--aaima-font-size-sm, 14px);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#review_form .comment-form-author input:focus,
#review_form .comment-form-email input:focus {
    outline: none;
    border-color: var(--aaima-link-hover, #c45500);
    box-shadow: 0 0 0 3px rgba(196, 85, 0, 0.1);
}

/* Cookies Consent */
#review_form .comment-form-cookies-consent {
    margin-bottom: 20px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

#review_form .comment-form-cookies-consent input[type="checkbox"] {
    margin-top: 3px;
    width: 16px;
    height: 16px;
    accent-color: var(--aaima-link-hover, #c45500);
}

#review_form .comment-form-cookies-consent label {
    display: inline;
    font-weight: 400;
    font-size: var(--aaima-font-size-xs, 13px);
    color: #565959;
    margin: 0;
}

/* Submit Button */
#review_form .form-submit {
    margin-top: 20px;
}

#review_form .form-submit input[type="submit"] {
    background: linear-gradient(to bottom, #f7dfa5, #f0c14b);
    border: 1px solid #a88734;
    border-radius: 8px;
    padding: 12px 30px;
    font-size: var(--aaima-font-size-sm, 14px);
    font-weight: 500;
    color: #111;
    cursor: pointer;
    transition: all 0.2s ease;
}

#review_form .form-submit input[type="submit"]:hover {
    background: linear-gradient(to bottom, #f5d78e, #eeb933);
}

#review_form .form-submit input[type="submit"]:active {
    background: #f0c14b;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.2);
}

/* No Reviews Message */
#reviews .woocommerce-noreviews {
    color: #565959;
    font-size: var(--aaima-font-size-sm, 14px);
    padding: 15px 0;
    margin-bottom: 20px;
}

/* Existing Reviews List */
#reviews #comments ol.commentlist {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
}

#reviews #comments ol.commentlist li {
    padding: 20px 0;
    border-bottom: 1px solid #e7e7e7;
}

#reviews #comments ol.commentlist li:last-child {
    border-bottom: none;
}

#reviews #comments ol.commentlist li .comment_container {
    display: flex;
    gap: 15px;
}

#reviews #comments ol.commentlist li img.avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    flex-shrink: 0;
}

#reviews #comments ol.commentlist li .comment-text {
    flex: 1;
}

#reviews #comments ol.commentlist li .star-rating {
    margin-bottom: 8px;
}

#reviews #comments ol.commentlist li .meta {
    margin-bottom: 10px;
}

.woocommerce-review__author {
    font-weight: 600;
    color: var(--aaima-text, #0f1111);
    font-size: var(--aaima-font-size-sm, 14px);
}

.woocommerce-review__dash {
    display: none;
}

.woocommerce-review__published-date {
    color: #565959;
    font-size: var(--aaima-font-size-xs, 13px);
}

#reviews #comments ol.commentlist li .description p {
    margin: 0;
    font-size: var(--aaima-font-size-sm, 14px);
    line-height: 1.6;
    color: #333;
}

/* ==========================================================================
   RELATED & UPSELL PRODUCTS - IMPROVED
   ========================================================================== */
.related.products,
.upsells.products,
.aaima-related-products,
.aaima-recently-viewed {
    margin-top: var(--aaima-spacing-2xl);
    padding: 30px 0;
    border-top: 1px solid var(--aaima-border-light);
    background: #f7f8f8;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
    display: block !important;
}

/* Section title - full width above grid */
.related.products > h2,
.upsells.products > h2,
.aaima-related-products > h2,
.aaima-recently-viewed > h2,
.section-title {
    font-size: var(--aaima-font-size-xl, 21px);
    font-weight: 700;
    color: var(--aaima-text, #0f1111);
    margin-bottom: 20px;
    display: block;
    width: 100%;
}

/* Related products grid */
.related.products ul.products,
.upsells.products ul.products,
.aaima-related-products ul.products,
.aaima-recently-viewed ul.products,
.woocommerce .related.products ul.products,
.woocommerce .upsells.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    flex-wrap: nowrap !important;
}

.related.products ul.products li.product,
.upsells.products ul.products li.product,
.aaima-related-products ul.products li.product,
.aaima-recently-viewed ul.products li.product,
.woocommerce .related.products ul.products li.product {
    background: #fff;
    border: 1px solid #e7e7e7;
    border-radius: 8px;
    padding: 15px;
    transition: box-shadow 0.2s ease;
    width: auto !important;
    margin: 0 !important;
    float: none !important;
}

/* Simplify product cards in related products */
.related.products ul.products li.product .aaima-product-card-inner,
.upsells.products ul.products li.product .aaima-product-card-inner {
    display: block;
}

/* Hide extra elements in related products */
.related.products ul.products li.product .aaima-product-actions,
.related.products ul.products li.product .aaima-product-excerpt,
.related.products ul.products li.product .aaima-product-delivery,
.upsells.products ul.products li.product .aaima-product-actions,
.upsells.products ul.products li.product .aaima-product-excerpt,
.upsells.products ul.products li.product .aaima-product-delivery {
    display: none !important;
}

/* Product image in related */
.related.products ul.products li.product .aaima-product-image-wrap,
.upsells.products ul.products li.product .aaima-product-image-wrap {
    margin-bottom: 12px;
    position: relative;
}

.related.products ul.products li.product .aaima-product-image img,
.upsells.products ul.products li.product .aaima-product-image img {
    border-radius: 6px;
    width: 100%;
    height: auto;
}

/* Secondary image positioning in related products */
.related.products ul.products li.product .aaima-product-image .secondary-image,
.upsells.products ul.products li.product .aaima-product-image .secondary-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    opacity: 0;
    transition: opacity 0.3s ease;
}

/* Hover effect for related products - show secondary image */
.related.products ul.products li.product:hover .aaima-product-image .primary-image,
.upsells.products ul.products li.product:hover .aaima-product-image .primary-image {
    opacity: 0;
}

.related.products ul.products li.product:hover .aaima-product-image .secondary-image,
.upsells.products ul.products li.product:hover .aaima-product-image .secondary-image {
    opacity: 1;
}

/* Zoom effect if only one image in related products */
.related.products ul.products li.product:hover .aaima-product-image img:only-child,
.upsells.products ul.products li.product:hover .aaima-product-image img:only-child {
    transform: scale(1.05);
    opacity: 1;
}

/* Product badges in related */
.related.products ul.products li.product .aaima-product-badges,
.upsells.products ul.products li.product .aaima-product-badges {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 5;
}

.related.products ul.products li.product .aaima-badge,
.upsells.products ul.products li.product .aaima-badge {
    font-size: calc(var(--aaima-font-size-xs, 12px) - 1px);
    padding: 3px 8px;
}

/* Product info in related */
.related.products ul.products li.product .aaima-product-info,
.upsells.products ul.products li.product .aaima-product-info {
    padding: 6px;
}

/* Category in related */
.related.products ul.products li.product .aaima-product-category,
.upsells.products ul.products li.product .aaima-product-category {
    font-size: var(--aaima-font-size-xs, 12px);
    color: #565959;
    margin-bottom: 4px;
}

.related.products ul.products li.product .aaima-product-category a,
.upsells.products ul.products li.product .aaima-product-category a {
    color: #565959;
    text-decoration: none;
}

/* Product title in related */
.related.products ul.products li.product .aaima-product-title,
.related.products ul.products li.product .woocommerce-loop-product__title,
.upsells.products ul.products li.product .aaima-product-title {
    font-size: var(--aaima-font-size-sm, 14px);
    font-weight: 400;
    line-height: var(--aaima-heading-line-height, 1.4);
    height: auto;
    max-height: none;
    margin-bottom: 6px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.related.products ul.products li.product .aaima-product-title a,
.upsells.products ul.products li.product .aaima-product-title a {
    color: var(--aaima-text, #0f1111);
    text-decoration: none;
}

.related.products ul.products li.product .aaima-product-title a:hover,
.upsells.products ul.products li.product .aaima-product-title a:hover {
    color: var(--aaima-link-hover, #c45500);
}

/* Rating in related */
.related.products ul.products li.product .aaima-product-rating,
.upsells.products ul.products li.product .aaima-product-rating {
    margin-bottom: 6px;
    font-size: var(--aaima-font-size-xs, 12px);
}

.related.products ul.products li.product .aaima-product-rating .star-rating,
.upsells.products ul.products li.product .aaima-product-rating .star-rating {
    font-size: var(--aaima-font-size-xs, 12px);
}

.related.products ul.products li.product .aaima-product-rating .rating-count,
.upsells.products ul.products li.product .aaima-product-rating .rating-count {
    font-size: var(--aaima-font-size-xs, 12px);
    color: var(--aaima-link, #007185);
}

/* Price in related */
.related.products ul.products li.product .aaima-product-price,
.related.products ul.products li.product .price,
.upsells.products ul.products li.product .aaima-product-price {
    font-size: var(--aaima-font-size-base, 16px);
    font-weight: 400;
    color: #b12704;
    margin-bottom: 10px;
}

.related.products ul.products li.product .aaima-product-price .price,
.upsells.products ul.products li.product .aaima-product-price .price {
    font-size: var(--aaima-font-size-base, 16px);
}

/* Add to cart in related */
.related.products ul.products li.product .aaima-product-add-to-cart,
.upsells.products ul.products li.product .aaima-product-add-to-cart {
    margin-top: auto;
}

.related.products ul.products li.product .aaima-product-add-to-cart a,
.related.products ul.products li.product .add_to_cart_button,
.related.products ul.products li.product .button,
.upsells.products ul.products li.product .aaima-product-add-to-cart a {
    display: block;
    width: 100%;
    padding: 8px 16px;
    background: linear-gradient(to bottom, #f7ca00 0%, #f0b800 100%);
    border: 1px solid #c89411;
    border-radius: 20px;
    color: var(--aaima-text, #0f1111);
    font-size: var(--aaima-font-size-sm, 13px);
    font-weight: 500;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.related.products ul.products li.product .aaima-product-add-to-cart a:hover,
.related.products ul.products li.product .add_to_cart_button:hover,
.upsells.products ul.products li.product .aaima-product-add-to-cart a:hover {
    background: linear-gradient(to bottom, #f0b800 0%, #e6a800 100%);
}

.related.products ul.products li.product:hover,
.aaima-related-products ul.products li.product:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* ==========================================================================
   SINGLE PRODUCT IMPROVEMENTS
   ========================================================================== */

/* Delivery Box - Enhanced */
.aaima-delivery-box {
    background: #fff;
    border: 1px solid #d5d9d9;
    border-radius: 8px;
    padding: 16px;
    margin: 20px 0;
}

.delivery-option {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #eee;
    margin-bottom: 12px;
}

.delivery-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    background: #f0f0f0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--aaima-text, #0f1111);
}

.delivery-info {
    flex: 1;
}

.delivery-type {
    display: block;
    font-size: var(--aaima-font-size-sm, 14px);
    color: #565959;
}

.delivery-type.free {
    color: #067d62;
    font-weight: 600;
}

.delivery-date {
    display: block;
    font-size: var(--aaima-font-size-sm, 14px);
    color: var(--aaima-text, #0f1111);
    margin-top: 2px;
}

.delivery-date strong {
    color: #067d62;
}

.delivery-location {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: var(--aaima-font-size-xs, 13px);
    color: #565959;
}

.location-icon {
    flex-shrink: 0;
    color: #565959;
}

.delivery-location .change-location {
    color: var(--aaima-link, #007185);
    text-decoration: none;
}

.delivery-location .change-location:hover {
    color: var(--aaima-link-hover, #c45500);
    text-decoration: underline;
}

/* ==========================================================================
   BUY BOX - AMAZON STYLE
   ========================================================================== */
.buy-box-inner {
    background: #fff;
    border: 1px solid #d5d9d9;
    border-radius: 8px;
    padding: 14px 18px;
}

/* Price */
.buy-box-price {
    margin-bottom: 8px;
}

.buy-box-price .price {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
}

.buy-box-price .price del {
    order: 1;
    font-size: var(--aaima-font-size-sm, 14px);
    font-weight: 400;
    color: #565959;
    text-decoration: none;
}

.buy-box-price .price del .woocommerce-Price-amount {
    text-decoration: line-through;
    font-size: var(--aaima-font-size-sm, 14px);
}

.buy-box-price .price del .woocommerce-Price-currencySymbol {
    font-size: var(--aaima-font-size-sm, 14px);
}

.buy-box-price .price ins {
    order: 2;
    text-decoration: none;
    color: #B12704;
}

.buy-box-price .price ins .woocommerce-Price-amount {
    font-size: var(--aaima-h2-size, 28px);
    font-weight: 400;
    color: #B12704;
}

.buy-box-price .price ins .woocommerce-Price-currencySymbol {
    font-size: var(--aaima-font-size-xs, 13px);
    position: relative;
    top: -8px;
    color: #B12704;
}

/* When no sale - single price */
.buy-box-price .price > .woocommerce-Price-amount {
    font-size: var(--aaima-h2-size, 28px);
    font-weight: 400;
    color: #B12704;
}

.buy-box-price .price > .woocommerce-Price-amount .woocommerce-Price-currencySymbol {
    font-size: var(--aaima-font-size-xs, 13px);
    position: relative;
    top: -8px;
}

/* Shipping Text */
.buy-box-shipping-text {
    font-size: var(--aaima-font-size-sm, 14px);
    color: var(--aaima-text, #0f1111);
    margin-bottom: 8px;
}

.buy-box-shipping-text .free-shipping {
    color: var(--aaima-text, #0f1111);
}

.buy-box-shipping-text .details-toggle {
    color: var(--aaima-link, #007185);
    text-decoration: none;
    margin-left: 4px;
    font-size: var(--aaima-font-size-xs, 13px);
}

.buy-box-shipping-text .details-toggle:hover {
    color: var(--aaima-link-hover, #c45500);
    text-decoration: underline;
}

.buy-box-shipping-text .details-toggle svg {
    vertical-align: middle;
}

/* Delivery Dates */
.buy-box-delivery-dates {
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e7e7e7;
}

.buy-box-delivery-dates .delivery-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: var(--aaima-font-size-sm, 14px);
    color: var(--aaima-text, #0f1111);
    margin-bottom: 4px;
}

.buy-box-delivery-dates .delivery-row svg {
    color: #565959;
    flex-shrink: 0;
}

.buy-box-delivery-dates .delivery-row strong {
    color: var(--aaima-text, #0f1111);
    font-weight: 700;
}

.buy-box-delivery-dates .delivery-row.express {
    font-size: var(--aaima-font-size-xs, 13px);
    color: #565959;
    padding-left: 24px;
}

/* Location */
.buy-box-location {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 12px;
}

.buy-box-location svg {
    color: #565959;
    flex-shrink: 0;
}

.buy-box-location .location-link {
    color: var(--aaima-link, #007185);
    text-decoration: none;
    font-size: var(--aaima-font-size-xs, 13px);
}

.buy-box-location .location-link:hover {
    color: var(--aaima-link-hover, #c45500);
    text-decoration: underline;
}

/* Stock Status */
.buy-box-stock {
    margin-bottom: 12px;
}

.buy-box-stock .in-stock {
    color: #007600;
    font-size: var(--aaima-font-size-lg, 18px);
    font-weight: 400;
}

.buy-box-stock .in-stock.low-stock {
    color: #b12704;
    font-size: var(--aaima-font-size-sm, 14px);
}

.buy-box-stock .out-of-stock {
    color: #b12704;
    font-size: var(--aaima-font-size-lg, 18px);
}

/* Quantity Selector */
.buy-box-quantity {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.buy-box-quantity label {
    font-size: var(--aaima-font-size-sm, 14px);
    color: var(--aaima-text, #0f1111);
}

.buy-box-quantity .qty-select {
    padding: 6px 30px 6px 12px;
    border: 1px solid #d5d9d9;
    border-radius: 8px;
    font-size: var(--aaima-font-size-sm, 14px);
    background: linear-gradient(to bottom, #f7f8f8 0%, #e7e9ec 100%);
    box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
}

.buy-box-quantity .qty-select:hover {
    background: linear-gradient(to bottom, #e7e9ec 0%, #d9dce0 100%);
}

.buy-box-quantity .qty-select:focus {
    outline: none;
    border-color: #e77600;
    box-shadow: 0 0 0 3px rgba(228, 121, 17, 0.5);
}

/* Action Buttons */
.buy-box-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 12px;
}

.buy-box-add-to-cart {
    width: 100%;
    padding: 10px 18px;
    background: linear-gradient(to bottom, #f7ca00 0%, #f0b800 100%);
    border: 1px solid #c89411;
    border-radius: 20px;
    color: var(--aaima-text, #0f1111);
    font-size: var(--aaima-font-size-sm, 14px);
    cursor: pointer;
    transition: all 0.1s ease;
}

.buy-box-add-to-cart:hover {
    background: linear-gradient(to bottom, #f0b800 0%, #e6a800 100%);
}

.buy-box-buy-now {
    width: 100%;
    padding: 10px 18px;
    background: linear-gradient(to bottom, #ffa41c 0%, #ff8f00 100%);
    border: 1px solid #c77600;
    border-radius: 20px;
    color: var(--aaima-text, #0f1111);
    font-size: var(--aaima-font-size-sm, 14px);
    cursor: pointer;
    transition: all 0.1s ease;
}

.buy-box-buy-now:hover {
    background: linear-gradient(to bottom, #ff8f00 0%, #e67a00 100%);
}

/* Trust Badges */
.buy-box-trust-badges {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #e7e7e7;
}

.buy-box-trust-badges .trust-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: var(--aaima-font-size-xs, 12px);
    color: #565959;
    margin-bottom: 8px;
}

.buy-box-trust-badges .trust-badge:last-child {
    margin-bottom: 0;
}

.buy-box-trust-badges .trust-badge svg {
    color: #067d62;
    flex-shrink: 0;
}

.buy-box-trust-badges .trust-badge span {
    line-height: 1.3;
}

/* Product Meta - Categories & Tags */
.aaima-product-meta {
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid #e7e7e7;
    font-size: var(--aaima-font-size-sm, 14px);
}

.aaima-product-meta .aaima-product-categories,
.aaima-product-meta .aaima-product-tags {
    margin-bottom: 8px;
}

.aaima-product-meta .aaima-product-categories:last-child,
.aaima-product-meta .aaima-product-tags:last-child {
    margin-bottom: 0;
}

.aaima-product-meta .meta-label {
    font-weight: 600;
    color: var(--aaima-text, #0f1111);
    margin-right: 5px;
}

.aaima-product-meta a {
    color: var(--aaima-link, #007185);
    text-decoration: none;
}

.aaima-product-meta a:hover {
    color: var(--aaima-link-hover, #c45500);
    text-decoration: underline;
}

/* Share Buttons */
.aaima-product-share {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #e7e7e7;
    display: flex;
    align-items: center;
    gap: 12px;
}

.aaima-product-share .share-label {
    font-size: var(--aaima-font-size-sm, 14px);
    font-weight: 600;
    color: var(--aaima-text, #0f1111);
}

.aaima-product-share .share-buttons {
    display: flex;
    gap: 8px;
}

.aaima-product-share .share-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f5f5f5;
    color: #565959;
    text-decoration: none;
    transition: all 0.2s ease;
}

.aaima-product-share .share-btn:hover {
    background: #e7e7e7;
    color: var(--aaima-text, #0f1111);
}

.aaima-product-share .share-facebook:hover {
    background: #1877f2;
    color: #fff;
}

.aaima-product-share .share-twitter:hover {
    background: #1da1f2;
    color: #fff;
}

.aaima-product-share .share-pinterest:hover {
    background: #bd081c;
    color: #fff;
}

.aaima-product-share .share-email:hover {
    background: #0f1111;
    color: #fff;
}

/* Sticky Buy Box */
.sticky-buy-box .aaima-buy-box {
    position: sticky;
    top: 100px;
}

/* Non-sticky Buy Box */
.aaima-single-product-content:not(.sticky-buy-box) .aaima-buy-box {
    position: relative;
    top: 0;
}

/* ============================================
   Sticky Add to Cart Bar
   ============================================ */
.aaima-sticky-add-to-cart {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    z-index: 999;
    transform: translateY(100%);
    transition: transform 0.3s ease;
    border-top: 1px solid #e7e7e7;
}

.aaima-sticky-add-to-cart.visible {
    transform: translateY(0);
}

.sticky-bar-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 12px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.sticky-bar-product {
    display: flex;
    align-items: center;
    gap: 15px;
    flex: 1;
    min-width: 0;
}

.sticky-bar-image {
    width: 50px;
    height: 50px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #e7e7e7;
    flex-shrink: 0;
}

.sticky-bar-info {
    min-width: 0;
    flex: 1;
}

.sticky-bar-title {
    margin: 0 0 4px 0;
    font-size: var(--aaima-font-size-sm, 14px);
    font-weight: 600;
    color: var(--aaima-text, #0f1111);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sticky-bar-price {
    font-size: var(--aaima-font-size-base, 16px);
    font-weight: 700;
    color: var(--aaima-text, #0f1111);
}

.sticky-bar-price .price {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sticky-bar-price del {
    color: #565959;
    font-size: var(--aaima-font-size-xs, 13px);
    font-weight: 400;
}

.sticky-bar-price ins {
    text-decoration: none;
}

.sticky-bar-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.sticky-bar-variation-notice {
    display: flex;
    align-items: center;
    padding: 8px 16px;
    background: #f7f7f7;
    border-radius: 20px;
    font-size: var(--aaima-font-size-xs, 13px);
    color: #565959;
}

.sticky-bar-quantity {
    display: flex;
    align-items: center;
}

.sticky-qty-select {
    padding: 10px 30px 10px 12px;
    border: 1px solid #d5d9d9;
    border-radius: 8px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23565959' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 10px center;
    font-size: var(--aaima-font-size-sm, 14px);
    color: var(--aaima-text, #0f1111);
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.sticky-qty-select:hover {
    border-color: var(--aaima-link, #007185);
}

.sticky-bar-add-to-cart {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: linear-gradient(to bottom, #f7dfa5, #f0c14b);
    border: 1px solid #a88734;
    border-radius: 20px;
    font-size: var(--aaima-font-size-sm, 14px);
    font-weight: 500;
    color: var(--aaima-text, #0f1111);
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
}

.sticky-bar-add-to-cart:hover {
    background: linear-gradient(to bottom, #f5d78e, #eeb933);
}

.sticky-bar-add-to-cart:active {
    background: #f0c14b;
}

.sticky-bar-add-to-cart svg {
    flex-shrink: 0;
}

.sticky-bar-buy-now {
    padding: 12px 24px;
    background: linear-gradient(to bottom, #ffb84d, #ff9900);
    border: 1px solid #c77600;
    border-radius: 20px;
    font-size: var(--aaima-font-size-sm, 14px);
    font-weight: 500;
    color: var(--aaima-text, #0f1111);
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
}

.sticky-bar-buy-now:hover {
    background: linear-gradient(to bottom, #ffa31a, #e68a00);
}

.sticky-bar-out-of-stock {
    padding: 12px 24px;
    background: #f7f7f7;
    border: 1px solid #d5d9d9;
    border-radius: 20px;
    font-size: var(--aaima-font-size-sm, 14px);
    color: var(--aaima-link-hover, #c45500);
    font-weight: 500;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .sticky-bar-inner {
        padding: 10px 15px;
        gap: 10px;
    }
    
    .sticky-bar-product {
        gap: 10px;
    }
    
    .sticky-bar-image {
        width: 40px;
        height: 40px;
    }
    
    .sticky-bar-title {
        font-size: var(--aaima-font-size-xs, 13px);
        max-width: 120px;
    }
    
    .sticky-bar-price {
        font-size: var(--aaima-font-size-sm, 14px);
    }
    
    .sticky-bar-quantity {
        display: none;
    }
    
    .sticky-bar-add-to-cart {
        padding: 10px 16px;
        font-size: var(--aaima-font-size-xs, 13px);
    }
    
    .sticky-bar-add-to-cart span {
        display: none;
    }
    
    .sticky-bar-buy-now {
        padding: 10px 16px;
        font-size: var(--aaima-font-size-xs, 13px);
    }
    
    .sticky-bar-variation-notice {
        font-size: var(--aaima-font-size-xs, 12px);
        padding: 6px 12px;
    }
}

@media (max-width: 480px) {
    .sticky-bar-info {
        display: none;
    }
    
    .sticky-bar-image {
        width: 36px;
        height: 36px;
    }
    
    .sticky-bar-add-to-cart {
        padding: 10px 14px;
    }
    
    .sticky-bar-buy-now {
        display: none;
    }
}

/* Seller Info */
.buy-box-seller-info {
    font-size: var(--aaima-font-size-xs, 12px);
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e7e7e7;
}

.buy-box-seller-info .seller-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 6px;
}

.buy-box-seller-info .label {
    color: #565959;
}

.buy-box-seller-info .value {
    color: var(--aaima-text, #0f1111);
    text-align: right;
}

.buy-box-seller-info .seller-link {
    color: var(--aaima-link, #007185);
}

.buy-box-seller-info .returns-link,
.buy-box-seller-info .secure-link {
    color: var(--aaima-link, #007185);
    text-decoration: none;
}

.buy-box-seller-info .returns-link:hover,
.buy-box-seller-info .secure-link:hover {
    color: var(--aaima-link-hover, #c45500);
    text-decoration: underline;
}

/* Gift Option */
.buy-box-gift {
    margin-bottom: 12px;
}

.buy-box-gift label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: var(--aaima-font-size-xs, 13px);
    color: var(--aaima-text, #0f1111);
    cursor: pointer;
}

.buy-box-gift input[type="checkbox"] {
    margin-top: 2px;
    width: 16px;
    height: 16px;
    accent-color: #e77600;
}

/* Add to List */
.buy-box-list {
    margin-top: 12px;
}

.buy-box-list .add-to-list-btn {
    width: 100%;
    padding: 8px 16px;
    background: #fff;
    border: 1px solid #d5d9d9;
    border-radius: 8px;
    font-size: var(--aaima-font-size-xs, 13px);
    color: var(--aaima-text, #0f1111);
    cursor: pointer;
    transition: all 0.1s ease;
}

.buy-box-list .add-to-list-btn:hover {
    background: #f7f8f8;
}

/* ==========================================================================
   PRODUCT SUMMARY - AMAZON STYLE
   ========================================================================== */
   
/* Store Link */
.aaima-store-link {
    margin-bottom: 8px;
}

.aaima-store-link a {
    color: var(--aaima-link, #007185);
    text-decoration: none;
    font-size: var(--aaima-font-size-sm, 14px);
}

.aaima-store-link a:hover {
    color: var(--aaima-link-hover, #c45500);
    text-decoration: underline;
}

/* Rating Summary */
.aaima-product-rating-summary {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
}

.aaima-product-rating-summary .rating-value {
    color: var(--aaima-link, #007185);
    font-size: var(--aaima-font-size-sm, 14px);
}

.aaima-product-rating-summary .star-rating {
    font-size: var(--aaima-font-size-sm, 14px);
}

.aaima-product-rating-summary .rating-count {
    color: var(--aaima-link, #007185);
    font-size: var(--aaima-font-size-sm, 14px);
    text-decoration: none;
}

.aaima-product-rating-summary .rating-count:hover {
    color: var(--aaima-link-hover, #c45500);
    text-decoration: underline;
}

/* Sold Badge */
.aaima-sold-badge {
    font-size: var(--aaima-font-size-xs, 13px);
    color: var(--aaima-text, #0f1111);
    margin-bottom: 10px;
}

/* Deal Badge */
.aaima-deal-badge {
    display: inline-block;
    margin-bottom: 8px;
}

.aaima-deal-badge .deal-label {
    background: #cc0c39;
    color: #fff;
    padding: 4px 8px;
    font-size: var(--aaima-font-size-xs, 12px);
    font-weight: 500;
    border-radius: 2px;
}

/* Price Display */
.aaima-price-display {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 4px;
}

.aaima-price-display .discount-percent {
    color: #cc0c39;
    font-size: var(--aaima-h2-size, 28px);
    font-weight: 400;
}

.aaima-price-display .current-price .price {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.aaima-price-display .current-price .price del {
    order: 1;
    font-size: var(--aaima-font-size-sm, 14px);
    font-weight: 400;
    color: #565959;
    text-decoration: none;
}

.aaima-price-display .current-price .price del .woocommerce-Price-amount {
    text-decoration: line-through;
    font-size: var(--aaima-font-size-sm, 14px);
}

.aaima-price-display .current-price .price ins,
.aaima-product-price-box .price ins,
.aaima-product-price-box ins {
    order: 2;
    text-decoration: none !important;
    color: var(--aaima-text, #0f1111);
    background: none;
}

.aaima-price-display .current-price .price ins .woocommerce-Price-amount,
.aaima-product-price-box .price ins .woocommerce-Price-amount,
.aaima-product-price-box ins .woocommerce-Price-amount {
    font-size: var(--aaima-h2-size, 28px);
    font-weight: 400;
    color: var(--aaima-text, #0f1111);
    text-decoration: none !important;
}

.aaima-price-display .current-price .price ins .woocommerce-Price-currencySymbol,
.aaima-product-price-box .price ins .woocommerce-Price-currencySymbol,
.aaima-product-price-box ins .woocommerce-Price-currencySymbol {
    font-size: var(--aaima-font-size-xs, 13px);
    position: relative;
    top: -8px;
    color: var(--aaima-text, #0f1111);
}

/* When no sale - single price in main display */
.aaima-price-display .current-price .price > .woocommerce-Price-amount {
    font-size: var(--aaima-h2-size, 28px);
    font-weight: 400;
    color: var(--aaima-text, #0f1111);
}

.aaima-price-display .current-price .price .woocommerce-Price-currencySymbol {
    font-size: var(--aaima-font-size-xs, 13px);
    position: relative;
    top: -8px;
}

/* Override any link styling on price */
.aaima-product-price-box .price a,
.aaima-price-display .price a {
    text-decoration: none !important;
    color: inherit !important;
}

/* List Price */
.aaima-list-price {
    font-size: var(--aaima-font-size-sm, 14px);
    color: #565959;
    margin-bottom: 12px;
}

.aaima-list-price .was-price {
    text-decoration: line-through;
}

/* Returns Info */
.aaima-returns-info {
    margin-bottom: 8px;
}

.aaima-returns-info .returns-link {
    color: var(--aaima-link, #007185);
    text-decoration: none;
    font-size: var(--aaima-font-size-sm, 14px);
}

.aaima-returns-info .returns-link:hover {
    color: var(--aaima-link-hover, #c45500);
    text-decoration: underline;
}

.aaima-returns-info .returns-link svg {
    vertical-align: middle;
    margin-left: 2px;
}

/* Shipping Info */
.aaima-shipping-info {
    font-size: var(--aaima-font-size-sm, 14px);
    color: var(--aaima-text, #0f1111);
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e7e7e7;
}

.aaima-shipping-info .free-shipping {
    color: var(--aaima-text, #0f1111);
}

/* Variation Options - Button Style */
.aaima-variation-options {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e7e7e7;
}

.aaima-variation-options .variation-group {
    margin-bottom: 15px;
}

.aaima-variation-options .variation-label {
    display: block;
    font-size: var(--aaima-font-size-sm, 14px);
    color: var(--aaima-text, #0f1111);
    margin-bottom: 8px;
}

.aaima-variation-options .variation-label strong {
    font-weight: 700;
}

.aaima-variation-options .variation-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.aaima-variation-options .variation-btn {
    padding: 8px 16px;
    border: 1px solid #d5d9d9;
    border-radius: 8px;
    background: #fff;
    font-size: var(--aaima-font-size-sm, 14px);
    color: var(--aaima-text, #0f1111);
    cursor: pointer;
    transition: all 0.1s ease;
}

.aaima-variation-options .variation-btn:hover {
    border-color: var(--aaima-link, #007185);
}

.aaima-variation-options .variation-btn.selected {
    border-color: var(--aaima-link, #007185);
    box-shadow: 0 0 0 3px rgba(0, 113, 133, 0.2);
}

/* Unavailable Variation Options */
.aaima-variation-options .variation-btn.aaima-unavailable,
.aaima-variation-options .variation-btn.aaima-disabled {
    background: #f7f7f7;
    border-color: #e7e7e7;
    color: #999;
    cursor: not-allowed;
    position: relative;
    opacity: 0.6;
}

.aaima-variation-options .variation-btn.aaima-unavailable:hover,
.aaima-variation-options .variation-btn.aaima-disabled:hover {
    border-color: #e7e7e7;
    background: #f7f7f7;
}

/* Strikethrough effect for unavailable options */
.aaima-variation-options .variation-btn.aaima-unavailable::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 10%;
    right: 10%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #999 10%, #999 90%, transparent 100%);
    transform: rotate(-5deg);
}

/* Out of Stock variation (semi-transparent overlay) */
.aaima-variation-options .variation-btn.aaima-out-of-stock {
    position: relative;
    cursor: pointer;
}

.aaima-variation-options .variation-btn.aaima-out-of-stock:hover {
    border-color: var(--aaima-link-hover, #c45500);
}

/* ============================================
   Color Swatches with Images
   ============================================ */

/* Color swatch container */
.aaima-variation-options .variation-group.color-swatches .variation-buttons {
    gap: 10px;
    padding-bottom: 32px; /* Space for tooltip */
    margin-bottom: -24px;
}

/* Color swatch button base */
.aaima-variation-options .variation-btn.color-swatch {
    padding: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    overflow: visible; /* Allow tooltip to show */
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Color swatch with image */
.aaima-variation-options .variation-btn.color-swatch.has-image {
    width: 48px;
    height: 48px;
    padding: 0;
}

.aaima-variation-options .variation-btn.color-swatch.has-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 50%;
}

/* Color name tooltip on hover */
.aaima-variation-options .variation-btn.color-swatch .color-name {
    position: absolute;
    bottom: -28px;
    left: 50%;
    transform: translateX(-50%);
    background: #0f1111;
    color: #fff;
    padding: 4px 8px;
    font-size: calc(var(--aaima-font-size-xs, 12px) - 1px);
    white-space: nowrap;
    border-radius: 4px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    z-index: 100;
    pointer-events: none;
}

.aaima-variation-options .variation-btn.color-swatch .color-name::before {
    content: '';
    position: absolute;
    top: -4px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-bottom: 4px solid #0f1111;
}

.aaima-variation-options .variation-btn.color-swatch:hover .color-name {
    opacity: 1;
    visibility: visible;
}

/* Selected color swatch */
.aaima-variation-options .variation-btn.color-swatch.selected {
    border-color: var(--aaima-link, #007185);
    box-shadow: 0 0 0 3px rgba(0, 113, 133, 0.3);
}

/* Unavailable color swatch */
.aaima-variation-options .variation-btn.color-swatch.aaima-unavailable {
    opacity: 0.4;
}

.aaima-variation-options .variation-btn.color-swatch.aaima-unavailable::after {
    content: '';
    position: absolute;
    top: 50%;
    left: -5%;
    right: -5%;
    height: 2px;
    background: rgba(0, 0, 0, 0.5);
    transform: rotate(-45deg);
}

.aaima-variation-options .variation-btn.color-swatch.aaima-unavailable img {
    filter: grayscale(100%);
}

/* Out of stock color swatch - white overlay */
.aaima-variation-options .variation-btn.color-swatch.aaima-out-of-stock {
    background: transparent;
}

.aaima-variation-options .variation-btn.color-swatch.aaima-out-of-stock::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.7);
    z-index: 2;
}

/* Out of stock text buttons - white overlay */
.aaima-variation-options .variation-btn.aaima-out-of-stock {
    position: relative;
}

.aaima-variation-options .variation-btn.aaima-out-of-stock::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.7);
    border-radius: inherit;
    z-index: 1;
}

/* Larger swatches option */
.aaima-variation-options .variation-group.color-swatches.large-swatches .variation-btn.color-swatch {
    width: 64px;
    height: 64px;
}

/* Text buttons (non-color) */
.aaima-variation-options .variation-buttons.text-buttons .variation-btn {
    min-width: 48px;
    text-align: center;
}

/* Color buttons container needs extra space for tooltip */
.aaima-variation-options .variation-buttons.color-buttons {
    overflow: visible;
    position: relative;
}

/* Tooltip styling for unavailable options */
.aaima-variation-options .variation-btn[title] {
    position: relative;
}

.aaima-variation-options .variation-btn.aaima-unavailable[title]:hover::before,
.aaima-variation-options .variation-btn.aaima-out-of-stock[title]:hover::after {
    content: attr(title);
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    background: #232f3e;
    color: #fff;
    font-size: var(--aaima-font-size-xs, 12px);
    padding: 6px 10px;
    border-radius: 4px;
    white-space: nowrap;
    z-index: 100;
    pointer-events: none;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.aaima-variation-options .variation-btn.aaima-unavailable[title]:hover::after {
    content: '';
    position: absolute;
    bottom: calc(100% + 4px);
    left: 50%;
    transform: translateX(-50%);
    border: 4px solid transparent;
    border-top-color: #232f3e;
}

/* Reset variations link */
.aaima-reset-variations {
    display: inline-block;
    margin-top: 10px;
    font-size: var(--aaima-font-size-xs, 13px);
    color: var(--aaima-link, #007185);
    text-decoration: none;
    cursor: pointer;
}

.aaima-reset-variations:hover {
    color: var(--aaima-link-hover, #c45500);
    text-decoration: underline;
}

/* Show reset link when any selection is made */
.aaima-variation-options:has(.variation-btn.selected) .aaima-reset-variations {
    display: inline-block !important;
}

/* Color swatch specific styles */
.aaima-variation-options .variation-btn.color-swatch {
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: 50%;
    border-width: 2px;
}

.aaima-variation-options .variation-btn.color-swatch.aaima-unavailable::after {
    width: 70%;
    left: 15%;
    right: 15%;
    height: 2px;
    background: rgba(0,0,0,0.5);
}

/* Size selector specific styles */
.aaima-variation-options .variation-btn.size-btn {
    min-width: 45px;
    text-align: center;
}

.aaima-variation-options .variation-btn.size-btn.aaima-unavailable {
    text-decoration: line-through;
}

/* Loading state during availability check */
.aaima-variation-options.aaima-loading .variation-btn {
    pointer-events: none;
    opacity: 0.7;
}

.aaima-variation-options.aaima-loading .variation-group::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 10px;
    width: 16px;
    height: 16px;
    border: 2px solid #e7e7e7;
    border-top-color: var(--aaima-link, #007185);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

/* Variation Required Highlight Animation */
.aaima-variation-options .variation-group.highlight-required {
    animation: shake 0.5s ease-in-out;
}

.aaima-variation-options .variation-group.highlight-required .variation-buttons {
    border: 2px solid #dc2626;
    border-radius: 8px;
    padding: 8px;
    background: rgba(220, 38, 38, 0.05);
}

.aaima-variation-options .variation-group.highlight-required .variation-label {
    color: #dc2626;
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
    20%, 40%, 60%, 80% { transform: translateX(5px); }
}

/* Hide WooCommerce variation form (we use custom buttons) */
.aaima-wc-variation-form {
    position: absolute;
    left: -9999px;
    visibility: hidden;
}

/* Product Details Table */
.aaima-product-details-table {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e7e7e7;
}

.aaima-product-details-table table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--aaima-font-size-sm, 14px);
    table-layout: fixed;
}

.aaima-product-details-table tr {
    border-bottom: 1px solid #f0f0f0;
}

.aaima-product-details-table tr:last-child {
    border-bottom: none;
}

.aaima-product-details-table th {
    text-align: left;
    padding: 12px 20px 12px 0;
    font-weight: 600;
    color: var(--aaima-text, #0f1111);
    width: 120px;
    vertical-align: top;
    white-space: nowrap;
}

.aaima-product-details-table td {
    padding: 12px 0;
    color: #565959;
    vertical-align: top;
    word-wrap: break-word;
}

/* Variable Product - Main Summary - Hidden (use buy box) */
.aaima-product-summary .variations_form .variations {
    margin: 15px 0;
}

.aaima-product-summary .variations_form .variations tr {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.aaima-product-summary .variations_form .variations .label {
    min-width: 50px;
}

.aaima-product-summary .variations_form .variations .label label {
    font-size: var(--aaima-font-size-sm, 14px);
    font-weight: 600;
    color: var(--aaima-text, #0f1111);
}

.aaima-product-summary .variations_form .variations .value select {
    min-width: 150px;
    padding: 10px 14px;
    border: 1px solid #d5d9d9;
    border-radius: 8px;
    font-size: var(--aaima-font-size-sm, 14px);
    background: #fff;
    cursor: pointer;
}

.aaima-product-summary .variations_form .variations .value select:focus {
    outline: none;
    border-color: #e77600;
    box-shadow: 0 0 0 3px rgba(228, 121, 17, 0.15);
}

.aaima-product-summary .variations_form .reset_variations {
    color: var(--aaima-link, #007185);
    font-size: var(--aaima-font-size-xs, 13px);
    margin-left: 10px;
}

/* Unavailable options in dropdown selects */
.variations select option.aaima-unavailable-option {
    color: #999;
    background: #f7f7f7;
    font-style: italic;
}

.variations select option.aaima-out-of-stock-option {
    color: var(--aaima-link-hover, #c45500);
    background: #fff9f0;
}

/* Custom styling for variation dropdowns with disabled states */
.aaima-product-summary .variations_form .variations .value select option:disabled,
.aaima-product-summary .variations_form .variations .value select option[disabled] {
    color: #999;
    background: #f7f7f7;
}

/* Accessibility improvements */
.aaima-variation-options .variation-btn:focus {
    outline: 2px solid #007185;
    outline-offset: 2px;
}

.aaima-variation-options .variation-btn.aaima-unavailable:focus,
.aaima-variation-options .variation-btn.aaima-disabled:focus {
    outline-color: #999;
}

/* Screen reader text for unavailable options */
.aaima-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ==========================================================================
   BREADCRUMBS
   ========================================================================== */
.aaima-breadcrumbs,
.woocommerce-breadcrumb {
    padding: var(--aaima-spacing-md) 0;
    font-size: var(--aaima-font-size-sm);
}

.breadcrumb-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--aaima-spacing-xs);
    list-style: none;
    padding: 0;
    margin: 0;
}

.breadcrumb-item {
    display: flex;
    align-items: center;
    gap: var(--aaima-spacing-xs);
}

.breadcrumb-item a {
    color: var(--aaima-link);
}

.breadcrumb-item a:hover {
    color: var(--aaima-link-hover);
}

.breadcrumb-separator {
    color: var(--aaima-text-muted);
}

.woocommerce-breadcrumb a {
    color: var(--aaima-link);
}

.woocommerce-breadcrumb a:hover {
    color: var(--aaima-link-hover);
}

/* ==========================================================================
   QUANTITY INPUT STYLING
   ========================================================================== */
.quantity-wrapper,
.quantity {
    display: inline-flex;
    align-items: center;
}

.qty-minus,
.qty-plus {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--aaima-bg-light);
    border: 1px solid var(--aaima-border);
    cursor: pointer;
    font-size: var(--aaima-font-size-lg);
    transition: var(--aaima-transition-fast);
    user-select: none;
}

.qty-minus {
    border-radius: var(--aaima-radius-sm) 0 0 var(--aaima-radius-sm);
}

.qty-plus {
    border-radius: 0 var(--aaima-radius-sm) var(--aaima-radius-sm) 0;
}

.qty-minus:hover,
.qty-plus:hover {
    background: var(--aaima-bg-gray);
}

input.qty {
    width: 50px;
    height: 36px;
    text-align: center;
    border: 1px solid var(--aaima-border);
    border-left: none;
    border-right: none;
    font-size: var(--aaima-font-size-base);
    -moz-appearance: textfield;
}

input.qty::-webkit-outer-spin-button,
input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* ==========================================================================
   UTILITY CLASSES
   ========================================================================== */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

.d-none { display: none !important; }
.d-block { display: block !important; }
.d-flex { display: flex !important; }
.d-grid { display: grid !important; }

.m-0 { margin: 0 !important; }
.mt-0 { margin-top: 0 !important; }
.mb-0 { margin-bottom: 0 !important; }

.p-0 { padding: 0 !important; }

.w-100 { width: 100% !important; }

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ==========================================================================
   HEADER LAYOUTS (Admin Settings)
   ========================================================================== */

/* Sticky Header */
.aaima-header.sticky-enabled {
    position: sticky;
    top: 0;
    z-index: var(--aaima-z-sticky, 1020);
}

.aaima-header.sticky-enabled.is-sticky {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}

/* Header Layout: Default (Amazon-style) */
.aaima-header.header-default .aaima-header-main {
    display: flex;
    align-items: center;
    gap: var(--aaima-spacing-lg, 20px);
}

/* Header Layout: Centered */
.aaima-header.header-centered .aaima-header-main {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: var(--aaima-spacing-lg, 20px);
}

.aaima-header.header-centered .header-left {
    justify-self: start;
}

.aaima-header.header-centered .header-center {
    justify-self: center;
}

.aaima-header.header-centered .header-right {
    justify-self: end;
}

.aaima-header.header-centered .aaima-logo {
    text-align: center;
}

/* Header Layout: Minimal */
.aaima-header.header-minimal .aaima-header-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--aaima-spacing-md, 15px);
}

.aaima-header.header-minimal .aaima-search {
    flex: 1;
    max-width: 500px;
}

.aaima-header.header-minimal .aaima-nav {
    display: none;
}

/* ==========================================================================
   FOOTER LAYOUTS (Admin Settings)
   ========================================================================== */

/* Base Footer Styles */
.aaima-footer {
    background: var(--aaima-footer-bg, #232f3e);
    color: var(--aaima-footer-text, #dddddd);
    margin-top: auto;
}

.aaima-footer-back-to-top {
    display: block;
    background: var(--aaima-nav-bg, #37475a);
    text-align: center;
    padding: var(--aaima-spacing-md, 15px);
    color: #fff;
    font-size: var(--aaima-font-size-sm, 14px);
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s ease;
}

.aaima-footer-back-to-top:hover {
    background: var(--aaima-accent, #ff9900);
    color: #fff;
    text-decoration: none;
}

.aaima-footer-main {
    padding: var(--aaima-spacing-2xl, 40px) 0;
}

.aaima-footer-bottom {
    background: var(--aaima-header-bg, #131921);
    padding: var(--aaima-spacing-lg, 20px) 0;
}

/* Base Footer Widgets */
.aaima-footer-widgets {
    display: grid !important;
    gap: var(--aaima-spacing-xl, 30px);
}

/* Footer Columns Layout */
.aaima-footer-widgets.columns-1 {
    display: block !important;
    grid-template-columns: 1fr;
}

.aaima-footer-widgets.columns-2 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
}

.aaima-footer-widgets.columns-3 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
}

.aaima-footer-widgets.columns-4 {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
}

/* Footer Layout: Centered */
.aaima-footer.footer-centered .aaima-footer-widgets {
    text-align: center;
}

.aaima-footer.footer-centered .aaima-footer-widget ul {
    list-style: none;
    padding: 0;
}

/* Footer Widget Base Style */
.aaima-footer-widget {
    min-width: 0;
}

.aaima-footer-widget h4 {
    color: #fff;
    font-size: var(--aaima-font-size-base, 16px);
    font-weight: 600;
    margin: 0 0 var(--aaima-spacing-md, 15px) 0;
}

.aaima-footer-widget ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.aaima-footer-widget li {
    margin-bottom: var(--aaima-spacing-xs, 8px);
}

.aaima-footer-widget a {
    color: var(--aaima-footer-link, #dddddd);
    font-size: var(--aaima-font-size-sm, 14px);
    text-decoration: none;
    transition: color 0.2s ease;
}

.aaima-footer-widget a:hover {
    color: #fff;
    text-decoration: underline;
}

/* Footer Bottom */
.aaima-footer-bottom-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--aaima-spacing-md, 15px);
}

/* Footer Logo */
.aaima-footer-logo {
    flex-shrink: 0;
}

.aaima-footer-logo img,
.aaima-footer-logo .footer-logo-img {
    max-height: 35px;
    width: auto;
}

.aaima-footer-logo .footer-logo-link,
.aaima-footer-logo .footer-site-title {
    display: inline-block;
    text-decoration: none;
}

.aaima-footer-logo .footer-site-title {
    color: #fff;
    font-size: 1.25rem;
    font-weight: 600;
}

/* Footer Links */
.aaima-footer-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--aaima-spacing-md, 15px);
}

.aaima-footer-links:empty {
    display: none;
}

.aaima-footer-links .footer-menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--aaima-spacing-md, 15px);
    list-style: none;
    margin: 0;
    padding: 0;
}

.aaima-footer-links .footer-menu li {
    margin: 0;
}

.aaima-footer-links .footer-menu a {
    color: var(--aaima-footer-link, #dddddd);
    font-size: var(--aaima-font-size-sm, 14px);
    text-decoration: none;
    transition: color 0.2s ease;
}

.aaima-footer-links .footer-menu a:hover {
    color: #fff;
    text-decoration: underline;
}

/* Copyright */
.aaima-copyright {
    color: #999;
    font-size: var(--aaima-font-size-xs, 12px);
    text-align: center;
}

/* Payment Icons */
.aaima-payment-icons {
    display: flex;
    align-items: center;
    gap: var(--aaima-spacing-sm, 10px);
    background: #ffffff;
    padding: 5px 10px;
    border-radius: 4px;
}

.aaima-payment-icons img {
    height: 24px;
    width: auto;
}

/* Hide Back to Top when disabled */
.aaima-footer:not(.show-back-to-top) .aaima-footer-back-to-top {
    display: none;
}

/* Footer Widgets Column Styling */
.aaima-footer-col {
    min-width: 0;
}

.aaima-footer-col .widget {
    margin-bottom: var(--aaima-spacing-lg, 20px);
}

.aaima-footer-col .widget:last-child {
    margin-bottom: 0;
}

.aaima-footer-col .widget-title,
.aaima-footer-col h4 {
    color: #fff;
    font-size: var(--aaima-font-size-base, 16px);
    font-weight: 600;
    margin-bottom: var(--aaima-spacing-md, 15px);
}

.aaima-footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.aaima-footer-col li {
    margin-bottom: var(--aaima-spacing-xs, 8px);
}

.aaima-footer-col a {
    color: var(--aaima-footer-link, #dddddd);
    font-size: var(--aaima-font-size-sm, 14px);
    text-decoration: none;
    transition: color 0.2s ease;
}

.aaima-footer-col a:hover {
    color: #fff;
    text-decoration: underline;
}

/* Empty footer links handling */
.aaima-footer-links:empty {
    display: none;
}

/* Responsive Footer */
@media (max-width: 992px) {
    .aaima-footer-widgets.columns-4 {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    .aaima-footer-bottom-inner {
        gap: var(--aaima-spacing-sm, 10px);
    }
}

@media (max-width: 576px) {
    .aaima-footer-widgets.columns-4,
    .aaima-footer-widgets.columns-3,
    .aaima-footer-widgets.columns-2 {
        grid-template-columns: 1fr !important;
    }
    
    .aaima-footer-bottom-inner {
        flex-direction: column;
        text-align: center;
        gap: var(--aaima-spacing-md, 15px);
    }
    
    .aaima-footer-links {
        width: 100%;
        justify-content: center;
    }
    
    .aaima-footer-links .footer-menu {
        justify-content: center;
    }
    
    .aaima-payment-icons {
        justify-content: center;
    }
    
    /* Header centered layout mobile */
    .aaima-header.header-centered .aaima-header-main {
        display: flex;
        flex-direction: column;
        gap: var(--aaima-spacing-md, 15px);
    }
}

/* ==========================================================================
   MY ACCOUNT - AMAZON STYLE
   ========================================================================== */

/* Page Container */
.aaima-my-account.amazon-style {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

/* Layout Wrapper - Sidebar + Content */
.account-layout-wrapper {
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 30px;
    align-items: start;
}

/* ==========================================================================
   ACCOUNT SIDEBAR
   ========================================================================== */

.account-sidebar {
    background: #fff;
    border: 1px solid #d5d9d9;
    border-radius: 8px;
    overflow: hidden;
    position: sticky;
    top: 100px;
}

/* User Info */
.sidebar-user-info {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    background: #232f3e;
    color: #fff;
}

.sidebar-user-info .user-avatar img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 2px solid #fff;
}

.sidebar-user-info .user-details {
    display: flex;
    flex-direction: column;
}

.sidebar-user-info .user-greeting {
    font-size: var(--aaima-font-size-xs, 12px);
    opacity: 0.8;
}

.sidebar-user-info .user-name {
    font-size: var(--aaima-font-size-base, 16px);
    font-weight: 700;
}

/* Account Navigation */
.account-navigation {
    padding: 0;
}

.account-navigation .woocommerce-MyAccount-navigation {
    margin: 0;
}

.account-navigation .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.account-navigation .woocommerce-MyAccount-navigation ul li {
    margin: 0;
    border-bottom: 1px solid #eee;
}

.account-navigation .woocommerce-MyAccount-navigation ul li:last-child {
    border-bottom: none;
}

.account-navigation .woocommerce-MyAccount-navigation ul li a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    font-size: var(--aaima-font-size-sm, 14px);
    color: var(--aaima-text, #0f1111);
    text-decoration: none;
    transition: all 0.15s ease;
}

.account-navigation .woocommerce-MyAccount-navigation ul li a:hover {
    background: #f7f8f8;
    color: var(--aaima-link-hover, #c45500);
}

.account-navigation .woocommerce-MyAccount-navigation ul li.is-active a {
    background: #fef8f2;
    color: var(--aaima-link-hover, #c45500);
    font-weight: 700;
    border-left: 3px solid #c45500;
}

/* Navigation Icons */
.account-navigation .woocommerce-MyAccount-navigation ul li a::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.7;
}

.account-navigation .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23565959' stroke-width='2'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3C/svg%3E");
}

.account-navigation .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23565959' stroke-width='2'%3E%3Crect x='2' y='3' width='20' height='18' rx='2'/%3E%3Cpath d='M2 9h20'/%3E%3Cpath d='M9 21V9'/%3E%3C/svg%3E");
}

.account-navigation .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23565959' stroke-width='2'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E");
}

.account-navigation .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-address a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23565959' stroke-width='2'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

.account-navigation .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--payment-methods a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23565959' stroke-width='2'%3E%3Crect x='1' y='4' width='22' height='16' rx='2'/%3E%3Cpath d='M1 10h22'/%3E%3Cpath d='M6 16h4'/%3E%3C/svg%3E");
}

.account-navigation .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-account a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23565959' stroke-width='2'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}

.account-navigation .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23565959' stroke-width='2'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E");
}

/* Generic icon for plugin-added menu items */
.account-navigation .woocommerce-MyAccount-navigation ul li a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23565959' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E");
}

/* Wallet specific icon */
.account-navigation .woocommerce-MyAccount-navigation ul li[class*="wallet"] a::before,
.account-navigation .woocommerce-MyAccount-navigation ul li[class*="balance"] a::before,
.account-navigation .woocommerce-MyAccount-navigation ul li[class*="credit"] a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23565959' stroke-width='2'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='M22 10H2'/%3E%3Ccircle cx='17' cy='15' r='2'/%3E%3C/svg%3E");
}

/* Subscriptions icon */
.account-navigation .woocommerce-MyAccount-navigation ul li[class*="subscription"] a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23565959' stroke-width='2'%3E%3Cpath d='M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3C/svg%3E");
}

/* Wishlist icon */
.account-navigation .woocommerce-MyAccount-navigation ul li[class*="wishlist"] a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23565959' stroke-width='2'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E");
}

/* Points/Rewards icon */
.account-navigation .woocommerce-MyAccount-navigation ul li[class*="points"] a::before,
.account-navigation .woocommerce-MyAccount-navigation ul li[class*="reward"] a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23565959' stroke-width='2'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E");
}

/* Tickets/Support icon */
.account-navigation .woocommerce-MyAccount-navigation ul li[class*="ticket"] a::before,
.account-navigation .woocommerce-MyAccount-navigation ul li[class*="support"] a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23565959' stroke-width='2'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z'/%3E%3C/svg%3E");
}

/* Membership icon */
.account-navigation .woocommerce-MyAccount-navigation ul li[class*="member"] a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23565959' stroke-width='2'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
}

/* Account Content Area */
.account-content-area {
    min-width: 0;
}

/* Page Header */
.account-page-header {
    margin-bottom: 20px;
}

.account-page-header .account-page-title {
    font-size: var(--aaima-h2-size, 28px);
    font-weight: 400;
    color: var(--aaima-text, #0f1111);
    margin: 0;
}

/* ==========================================================================
   DASHBOARD - AMAZON STYLE
   ========================================================================== */

.aaima-account-dashboard.amazon-style {
    max-width: 1000px;
}

/* Account Boxes Grid */
.account-boxes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

.account-box {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px;
    border: 1px solid #d5d9d9;
    border-radius: 8px;
    background: #fff;
    text-decoration: none;
    transition: all 0.2s ease;
}

.account-box:hover {
    border-color: var(--aaima-link, #007185);
    box-shadow: 0 0 0 1px #007185;
}

.account-box .box-icon {
    flex-shrink: 0;
}

.account-box .box-icon svg {
    display: block;
}

.account-box .box-content {
    flex: 1;
}

.account-box .box-title {
    font-size: 17px;
    font-weight: 700;
    color: var(--aaima-text, #0f1111);
    margin: 0 0 4px 0;
    line-height: 1.3;
}

.account-box .box-desc {
    font-size: var(--aaima-font-size-sm, 14px);
    color: #565959;
    margin: 0;
    line-height: 1.4;
}

/* Account Section */
.account-section {
    background: #fff;
    border: 1px solid #d5d9d9;
    border-radius: 8px;
    margin-bottom: 20px;
    overflow: hidden;
}

.account-section .section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 20px;
    background: #f0f2f2;
    border-bottom: 1px solid #d5d9d9;
}

.account-section .section-title {
    font-size: var(--aaima-font-size-base, 16px);
    font-weight: 700;
    color: var(--aaima-text, #0f1111);
    margin: 0;
}

.account-section .section-link {
    font-size: var(--aaima-font-size-sm, 14px);
    color: var(--aaima-link, #007185);
    text-decoration: none;
}

.account-section .section-link:hover {
    color: var(--aaima-link-hover, #c45500);
    text-decoration: underline;
}

/* Orders List */
.orders-list {
    padding: 0;
}

/* Order Card */
.order-card {
    border-bottom: 1px solid #d5d9d9;
}

.order-card:last-child {
    border-bottom: none;
}

.order-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 14px 20px;
    background: #f0f2f2;
    gap: 20px;
}

.order-meta {
    display: flex;
    gap: 30px;
}

.order-meta .meta-group {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.order-meta .meta-label,
.order-id .meta-label {
    font-size: calc(var(--aaima-font-size-xs, 12px) - 1px);
    font-weight: 700;
    color: #565959;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.order-meta .meta-value {
    font-size: var(--aaima-font-size-sm, 14px);
    color: var(--aaima-text, #0f1111);
}

.order-id {
    text-align: right;
}

.order-id .order-details-link {
    display: block;
    font-size: var(--aaima-font-size-sm, 14px);
    color: var(--aaima-link, #007185);
    text-decoration: none;
    margin-top: 4px;
}

.order-id .order-details-link:hover {
    color: var(--aaima-link-hover, #c45500);
    text-decoration: underline;
}

/* Order Card Body */
.order-card-body {
    padding: 20px;
}

.order-status-badge {
    display: inline-block;
    font-size: var(--aaima-font-size-sm, 14px);
    font-weight: 700;
    margin-bottom: 12px;
}

.order-status-badge.status-completed {
    color: #067d62;
}

.order-status-badge.status-processing {
    color: var(--aaima-link-hover, #c45500);
}

.order-status-badge.status-pending,
.order-status-badge.status-on-hold {
    color: #b12704;
}

/* Order Items */
.order-items {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.order-item {
    display: flex;
    gap: 16px;
    flex: 1 1 300px;
}

.order-item .item-image {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
}

.order-item .item-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border: 1px solid #d5d9d9;
    border-radius: 4px;
}

.order-item .item-details {
    flex: 1;
}

.order-item .item-name {
    display: block;
    font-size: var(--aaima-font-size-sm, 14px);
    color: var(--aaima-link, #007185);
    text-decoration: none;
    line-height: 1.4;
    margin-bottom: 8px;
}

.order-item .item-name:hover {
    color: var(--aaima-link-hover, #c45500);
    text-decoration: underline;
}

.order-item .item-actions {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.order-item .btn-action {
    display: inline-block;
    padding: 6px 12px;
    font-size: var(--aaima-font-size-xs, 13px);
    color: var(--aaima-text, #0f1111);
    background: linear-gradient(to bottom, #f7f8fa, #e7e9ec);
    border: 1px solid #d5d9d9;
    border-radius: 8px;
    text-decoration: none;
    text-align: center;
}

.order-item .btn-action:hover {
    background: linear-gradient(to bottom, #e7e9ec, #d5d9d9);
}


/* ==========================================================================
   HOME SECTIONS - ULTRA HIGH SPECIFICITY RESPONSIVE OVERRIDES
   These override all other product grid styles for home page sections
   ========================================================================== */

/* Deal of the Day Section */
html body .aaima-deals ul.products,
html body .aaima-deals .products,
html body section.aaima-deals ul.products {
    display: grid !important;
    gap: 24px !important;
}

html body .aaima-deals ul.products.columns-2 { grid-template-columns: repeat(2, 1fr) !important; }
html body .aaima-deals ul.products.columns-3 { grid-template-columns: repeat(3, 1fr) !important; }
html body .aaima-deals ul.products.columns-4 { grid-template-columns: repeat(4, 1fr) !important; }

html body .aaima-deals ul.products > li.product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

/* Featured Products Section */
html body .aaima-featured-products ul.products,
html body .aaima-featured-products .products,
html body section.aaima-featured-products ul.products {
    display: grid !important;
    gap: 24px !important;
}

html body .aaima-featured-products ul.products.columns-3 { grid-template-columns: repeat(3, 1fr) !important; }
html body .aaima-featured-products ul.products.columns-4 { grid-template-columns: repeat(4, 1fr) !important; }
html body .aaima-featured-products ul.products.columns-5 { grid-template-columns: repeat(5, 1fr) !important; }

html body .aaima-featured-products ul.products > li.product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

/* Best Sellers Section */
html body .aaima-bestsellers ul.products,
html body .aaima-bestsellers .products,
html body section.aaima-bestsellers ul.products {
    display: grid !important;
    gap: 24px !important;
}

html body .aaima-bestsellers ul.products.columns-3 { grid-template-columns: repeat(3, 1fr) !important; }
html body .aaima-bestsellers ul.products.columns-4 { grid-template-columns: repeat(4, 1fr) !important; }
html body .aaima-bestsellers ul.products.columns-5 { grid-template-columns: repeat(5, 1fr) !important; }

html body .aaima-bestsellers ul.products > li.product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

/* Responsive Breakpoints for Home Sections */
@media (max-width: 992px) {
    html body .aaima-deals ul.products,
    html body .aaima-deals ul.products.columns-3,
    html body .aaima-deals ul.products.columns-4,
    html body .aaima-featured-products ul.products,
    html body .aaima-featured-products ul.products.columns-4,
    html body .aaima-featured-products ul.products.columns-5,
    html body .aaima-bestsellers ul.products,
    html body .aaima-bestsellers ul.products.columns-4,
    html body .aaima-bestsellers ul.products.columns-5 {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 768px) {
    html body .aaima-deals ul.products,
    html body .aaima-deals ul.products.columns-2,
    html body .aaima-deals ul.products.columns-3,
    html body .aaima-deals ul.products.columns-4,
    html body .aaima-featured-products ul.products,
    html body .aaima-featured-products ul.products.columns-3,
    html body .aaima-featured-products ul.products.columns-4,
    html body .aaima-featured-products ul.products.columns-5,
    html body .aaima-bestsellers ul.products,
    html body .aaima-bestsellers ul.products.columns-3,
    html body .aaima-bestsellers ul.products.columns-4,
    html body .aaima-bestsellers ul.products.columns-5 {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 480px) {
    html body .aaima-deals ul.products,
    html body .aaima-deals ul.products.columns-2,
    html body .aaima-deals ul.products.columns-3,
    html body .aaima-deals ul.products.columns-4,
    html body .aaima-featured-products ul.products,
    html body .aaima-featured-products ul.products.columns-3,
    html body .aaima-featured-products ul.products.columns-4,
    html body .aaima-featured-products ul.products.columns-5,
    html body .aaima-bestsellers ul.products,
    html body .aaima-bestsellers ul.products.columns-3,
    html body .aaima-bestsellers ul.products.columns-4,
    html body .aaima-bestsellers ul.products.columns-5 {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }
}