/* ============================================
   AMAZON-STYLE REDESIGN
   MarketFlow E-Commerce Platform
   ============================================ */

/* ============================================
   1. DESIGN TOKENS
   ============================================ */
:root {
    --amz-dark: #0F1111;
    --amz-dark-secondary: #232F3E;
    --amz-link: #2162A1;
    --amz-link-hover: #C7511F;
    --amz-orange: #FF9900;
    --amz-orange-hover: #FA8900;
    --amz-yellow: #FFD814;
    --amz-yellow-hover: #F7CA00;
    --amz-yellow-border: #FCD200;
    --amz-red: #B12704;
    --amz-green: #007600;
    --amz-gray-bg: #F5F5F5;
    --amz-gray-border: #D5D9D9;
    --amz-gray-text: #565959;
    --amz-gray-light: #F7F8F8;
    --amz-white: #FFFFFF;
    --amz-star: #FFA41C;
    --amz-radius: 8px;
    --amz-radius-sm: 4px;
    --amz-shadow: 0 2px 5px rgba(15,17,17,.15);
    --amz-shadow-hover: 0 0 3px 2px rgba(228,121,17,.5);
    --amz-transition: .1s cubic-bezier(.4,0,.2,1);
    --amz-font: 'Public Sans', 'Amazon Ember', Arial, sans-serif;
}

/* ============================================
   1B. RESPONSIVE CONTAINER SYSTEM
   Full-width layout like Amazon — content fills viewport with responsive padding.
   Replaces the old max-width: 1500px containers.
   ============================================ */

/* --- Responsive spacing custom properties --- */
:root {
    --amz-container-px: 12px;
    --amz-section-px: 12px;
    --amz-section-py: 14px;
}
@media (min-width: 576px) {
    :root {
        --amz-container-px: 16px;
        --amz-section-px: 16px;
        --amz-section-py: 16px;
    }
}
@media (min-width: 768px) {
    :root {
        --amz-container-px: 20px;
        --amz-section-px: 20px;
        --amz-section-py: 20px;
    }
}
@media (min-width: 992px) {
    :root {
        --amz-container-px: 22px;
    }
}
@media (min-width: 1200px) {
    :root {
        --amz-container-px: 24px;
    }
}
@media (min-width: 1600px) {
    :root {
        --amz-container-px: 32px;
    }
}
@media (min-width: 1920px) {
    :root {
        --amz-container-px: 48px;
    }
}

/* --- The unified container class --- */
.amz-container {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding-left: var(--amz-container-px);
    padding-right: var(--amz-container-px);
}

/* Note: Ultra-wide content cap (2000px+) is in Section 44 at end of file */

/* ============================================
   2. PRODUCT DETAIL PAGE
   ============================================ */

/* --- 2.1 Three-Column Grid Layout --- */
.amz-product-page {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding: 16px var(--amz-container-px);
    background: var(--amz-white);
}

/* PDP Breadcrumb — Amazon: 12px gray links, › separator */
.amz-pdp-breadcrumb {
    padding: 0 0 8px;
    margin: 0;
}

.amz-pdp-breadcrumb ol {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
    gap: 0;
    align-items: center;
}

.amz-pdp-breadcrumb li {
    font-size: 12px;
    color: #565959;
    line-height: 16px;
}

.amz-pdp-breadcrumb li + li::before {
    content: "›";
    margin: 0 6px;
    color: #565959;
    font-size: 12px;
}

.amz-pdp-breadcrumb a {
    color: #565959;
    text-decoration: none;
    font-weight: 400;
}

.amz-pdp-breadcrumb a:hover {
    text-decoration: underline;
    color: #C7511F;
}

.amz-pdp-breadcrumb .active {
    color: #0F1111;
    font-weight: 400;
}

.amz-product-grid {
    display: grid;
    grid-template-columns: minmax(300px, 44%) minmax(200px, 1fr) 275px;
    gap: 16px 22px;
    align-items: start;
}

.amz-product-below {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding: 0 var(--amz-container-px) 24px;
}

/* --- 2.2 Image Gallery (Left Column) --- */
.amz-gallery {
    position: sticky;
    top: 16px;
    display: flex;
    gap: 14px;
    z-index: 2; /* Ensure hover-to-zoom result panel renders above adjacent grid columns */
}

.amz-gallery-thumbnails {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 40px;
    flex-shrink: 0;
}

.amz-thumb {
    width: 40px;
    height: 52px;
    border: 1px solid #888C8C;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    transition: border-color 0.15s ease, border-radius 0.15s ease;
    background: var(--amz-white);
    padding: 2px;
}

.amz-thumb:hover,
.amz-thumb.active {
    border-color: var(--amz-link);
    border-radius: 3px;
    box-shadow: none;
}

.amz-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.amz-gallery-main {
    flex: 1;
    position: relative;
    border: 1px solid #E8E8E8;
    border-radius: var(--amz-radius);
    overflow: visible; /* Allow zoom result panel to extend outside */
    background: var(--amz-white);
    cursor: crosshair;
    min-height: 500px;
    max-height: 700px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.amz-gallery-main img {
    width: 100%;
    height: auto;
    object-fit: contain;
    max-height: 700px;
    display: block;
    margin: 0 auto;
    padding: 20px;
}

/* Note: Hover-to-zoom styles are in Section 35 below */

/* --- 2.3 Product Details (Center Column) --- */
.amz-details {
    padding: 0 8px;
}

.amz-details .amz-product-title {
    font-size: 24px;
    font-weight: 400;
    line-height: 32px;
    color: var(--amz-dark);
    margin: 0 0 4px;
    font-family: var(--amz-font);
}

.amz-details .amz-brand-link {
    font-size: 14px;
    font-weight: 400;
    color: #2162A1;
    text-decoration: none;
    margin-bottom: 8px;
    display: inline-block;
}

.amz-details .amz-brand-link:hover {
    color: var(--amz-link-hover);
    text-decoration: underline;
}

/* Rating */
.amz-rating-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 4px 0 8px;
    flex-wrap: wrap;
}

.amz-stars {
    display: inline-flex;
    gap: 1px;
}

.amz-stars i {
    font-size: 16px;
    color: var(--amz-star);
}

.amz-rating-count {
    font-size: 12px;
    color: #2162A1;
    text-decoration: none;
    cursor: pointer;
}

.amz-rating-count:hover {
    color: var(--amz-link-hover);
    text-decoration: underline;
}

.amz-purchases {
    font-size: 14px;
    color: var(--amz-gray-text);
    padding-left: 8px;
    border-left: 1px solid var(--amz-gray-border);
}

/* Divider */
.amz-divider {
    border: none;
    border-top: 1px solid var(--amz-gray-border);
    margin: 12px 0;
}

/* Price section */
.amz-price-section {
    margin: 8px 0;
}

.amz-price-label {
    font-size: 14px;
    color: var(--amz-gray-text);
}

.amz-price-current {
    font-size: 28px;
    font-weight: 400;
    color: var(--amz-dark);
    line-height: 36px;
}

/* Amazon-style split price: $ superscript | whole large | cents superscript */
.amz-price-whole-container {
    display: inline-flex;
    align-items: flex-start;
    line-height: 1;
}

.amz-price-whole-container .amz-price-symbol {
    font-size: 13px;
    position: relative;
    top: -0.35em;
    font-weight: 400;
}

.amz-price-whole-container .amz-price-whole {
    font-size: 28px;
    font-weight: 400;
    line-height: 1;
}

.amz-price-whole-container .amz-price-fraction {
    font-size: 13px;
    position: relative;
    top: -0.35em;
    font-weight: 400;
}

/* Legacy: keep old classes working for non-split contexts */
.amz-price-current .amz-price-symbol {
    font-size: 13px;
    vertical-align: super;
}

.amz-price-current .amz-price-fraction {
    font-size: 13px;
    vertical-align: super;
}

.amz-price-original {
    font-size: 14px;
    color: var(--amz-gray-text);
    text-decoration: line-through;
    margin-left: 8px;
}

.amz-price-discount {
    display: inline-block;
    font-size: 18px;
    font-weight: 400;
    color: var(--amz-red);
    margin-right: 8px;
}

.amz-price-savings {
    font-size: 14px;
    color: var(--amz-red);
}

/* Shipping info */
.amz-shipping-info {
    font-size: 14px;
    color: var(--amz-dark);
    margin: 8px 0;
}

.amz-shipping-info .amz-free-shipping {
    color: var(--amz-green);
    font-weight: 700;
}

/* Product features / bullet points */
.amz-about-section {
    margin: 16px 0;
}

.amz-about-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--amz-dark);
    margin-bottom: 8px;
}

.amz-feature-list {
    padding-left: 20px;
    margin: 0;
    list-style: disc;
}

.amz-feature-list li {
    font-size: 14px;
    line-height: 20px;
    color: var(--amz-dark);
    margin-bottom: 6px;
}

/* Variant options */
.amz-variants {
    margin: 16px 0;
}

.amz-variant-label {
    font-size: 14px;
    font-weight: 700;
    color: var(--amz-dark);
    margin-bottom: 8px;
}

.amz-variant-options {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.amz-variant-option {
    border: 1px solid #888C8C;
    border-radius: 8px;
    padding: 6px 16px;
    font-size: 14px;
    font-weight: 400;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
    background: var(--amz-white);
    color: var(--amz-dark);
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.amz-variant-option:hover {
    border-color: var(--amz-link);
}

.amz-variant-option.selected,
.amz-variant-option input:checked + span {
    border-color: var(--amz-link);
}

/* Radio-checked variant: blue background + white text (Amazon style) */
input[type="radio"]:checked + span,
input[type="radio"]:checked ~ span {
    /* handled by parent label below */
}

label.amz-variant-option:has(input:checked) {
    background: var(--amz-link);
    border-color: var(--amz-link);
    color: #FFFFFF;
}

label.amz-variant-option:has(input:checked) span:not(.amz-color-swatch) {
    color: #FFFFFF;
}

/* Fallback for browsers without :has() — JS adds .selected class */
.amz-variant-option.selected {
    background: var(--amz-link);
    border-color: var(--amz-link);
    color: #FFFFFF;
}

.amz-variant-option.selected span:not(.amz-color-swatch) {
    color: #FFFFFF;
}

/* Color variant label should NOT get blue bg — only ring around swatch */
label.amz-variant-option:has(input[name="color"]:checked) {
    background: var(--amz-white);
    border-color: var(--amz-link);
    color: var(--amz-dark);
}

.amz-variant-option.selected:has(.amz-color-swatch) {
    background: var(--amz-white);
    border-color: var(--amz-link);
    color: var(--amz-dark);
}

/* Color swatches */
.amz-color-swatch {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 2px solid #D5D9D9;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    display: inline-block;
}

.amz-color-swatch:hover {
    border-color: var(--amz-link);
    box-shadow: 0 0 0 2px var(--amz-link);
}

.amz-color-swatch.selected,
label.amz-variant-option:has(input:checked) .amz-color-swatch,
.amz-variant-option.selected .amz-color-swatch {
    border-color: var(--amz-link);
    box-shadow: 0 0 0 2px var(--amz-link);
}

/* --- 2.4 Buy Box (Right Column) --- */
.amz-buy-box {
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
    padding: 10px 18px 5px;
    position: sticky;
    top: 16px;
    background: var(--amz-white);
}

.amz-buy-box-price {
    font-size: 28px;
    font-weight: 400;
    color: var(--amz-dark);
    margin-bottom: 8px;
    line-height: 36px;
}

.amz-buy-box-shipping {
    font-size: 14px;
    color: var(--amz-dark);
    margin-bottom: 12px;
    line-height: 20px;
}

.amz-buy-box-shipping .amz-free-shipping {
    color: var(--amz-dark);
    font-weight: 700;
}

.amz-buy-box-delivery {
    font-size: 14px;
    color: var(--amz-dark);
    margin-bottom: 12px;
    line-height: 20px;
}

.amz-buy-box-delivery strong {
    color: var(--amz-dark);
    font-weight: 700;
}

.amz-buy-box-delivery a {
    color: var(--amz-link);
    text-decoration: none;
}

.amz-delivery-icon {
    color: var(--amz-dark);
    margin-right: 4px;
    font-size: 14px;
}

/* Hide truck icons in buy box shipping — Amazon uses text only */
.amz-buy-box-shipping i {
    display: none;
}

.amz-buy-box-shipping .amz-free-shipping i {
    display: none;
}

/* Stock status — Amazon: 18px green #0B7B3C, no bold */
.amz-in-stock {
    font-size: 18px;
    color: #067D62;
    font-weight: 600;
    margin: 12px 0;
}

.amz-low-stock {
    font-size: 14px;
    color: var(--amz-red);
    font-weight: 400;
    margin: 4px 0 8px;
}

.amz-out-of-stock {
    font-size: 18px;
    color: #CC0C39;
    font-weight: 400;
    margin: 12px 0;
}

/* Quantity selector — Amazon uses a dropdown */
.amz-quantity {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 12px 0 16px;
}

.amz-quantity label {
    font-size: 14px;
    color: var(--amz-dark);
    font-weight: 400;
    margin: 0;
}

.amz-quantity-select {
    padding: 4px 8px;
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius-sm);
    font-size: 14px;
    background: var(--amz-gray-light);
    box-shadow: 0 2px 5px rgba(15,17,17,.15);
    cursor: pointer;
}

/* Buttons — Amazon: 32px height, pill radius (100px), 14px font */
.amz-btn-add-to-cart {
    width: 100%;
    padding: 0;
    height: 32px;
    border: 1px solid #FCD200;
    border-radius: 100px;
    background: #FFD814;
    color: var(--amz-dark);
    font-size: 14px;
    font-weight: 400;
    cursor: pointer;
    transition: background 0.15s ease;
    margin-bottom: 8px;
    line-height: 30px;
    text-align: center;
}

.amz-btn-add-to-cart:hover {
    background: #F7CA00;
    border-color: #F2C200;
}

.amz-btn-add-to-cart:active {
    background: #E7B800;
    transform: scale(0.98);
}

/* Hide icons inside buy box buttons — Amazon doesn't use icons */
.amz-btn-add-to-cart i,
.amz-btn-buy-now i,
.amz-btn-out-of-stock i {
    display: none;
}

.amz-btn-buy-now {
    width: 100%;
    padding: 0;
    height: 32px;
    border: 1px solid #FF8F00;
    border-radius: 100px;
    background: #FFA41C;
    color: var(--amz-dark);
    font-size: 14px;
    font-weight: 400;
    cursor: pointer;
    transition: background 0.15s ease;
    margin-bottom: 12px;
    line-height: 30px;
    text-align: center;
}

.amz-btn-buy-now:hover {
    background: #E99607;
    border-color: #E08600;
}

.amz-btn-buy-now:active {
    background: #D08600;
    transform: scale(0.98);
}

.amz-btn-out-of-stock {
    width: 100%;
    padding: 0;
    height: 32px;
    border: 1px solid var(--amz-gray-border);
    border-radius: 100px;
    background: #F0F0F0;
    color: var(--amz-gray-text);
    font-size: 14px;
    cursor: not-allowed;
    line-height: 30px;
    text-align: center;
}

/* Secure transaction */
.amz-secure-note {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #067D62;
    margin: 12px 0;
}

.amz-secure-note i {
    color: #067D62;
    font-size: 14px;
}

/* Seller info in buy box */
.amz-seller-info-compact {
    font-size: 12px;
    margin: 12px 0;
    padding-top: 12px;
    border-top: 1px solid var(--amz-gray-border);
    line-height: 18px;
}

.amz-seller-info-compact a {
    color: var(--amz-link);
    text-decoration: none;
}

.amz-seller-info-compact a:hover {
    color: var(--amz-link-hover);
    text-decoration: underline;
}

/* Wishlist & compare in buy box */
.amz-buy-box-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--amz-gray-border);
}

.amz-action-link {
    font-size: 14px;
    color: var(--amz-link);
    text-decoration: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
}

.amz-action-link:hover {
    color: var(--amz-link-hover);
    text-decoration: underline;
}

.amz-action-link i {
    font-size: 16px;
}

/* --- 2.5 Below-Fold Sections --- */

/* Frequently bought together */
.amz-fbt-section {
    background: var(--amz-white);
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
    padding: 24px;
    margin-bottom: 24px;
}

.amz-section-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--amz-dark);
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--amz-orange);
    display: inline-block;
}

.amz-fbt-container {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.amz-fbt-item {
    text-align: center;
    max-width: 180px;
}

.amz-fbt-item img {
    width: 120px;
    height: 120px;
    object-fit: contain;
    margin-bottom: 8px;
}

.amz-fbt-item .amz-fbt-name {
    font-size: 13px;
    color: var(--amz-link);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.amz-fbt-plus {
    font-size: 28px;
    font-weight: 700;
    color: var(--amz-gray-text);
    padding: 0 8px;
}

.amz-fbt-total {
    margin-left: auto;
    text-align: center;
}

.amz-fbt-total-price {
    font-size: 18px;
    font-weight: 700;
    color: var(--amz-dark);
    margin-bottom: 8px;
}

.amz-fbt-add-all {
    padding: 6px 16px;
    border: 1px solid var(--amz-yellow-border);
    border-radius: 100px;
    background: var(--amz-yellow);
    color: var(--amz-dark);
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
}

/* Description tabs */
.amz-description-section {
    background: var(--amz-white);
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
    margin-bottom: 24px;
    overflow: hidden;
}

.amz-tab-nav {
    display: flex;
    border-bottom: 1px solid var(--amz-gray-border);
    background: var(--amz-gray-light);
    padding: 0;
    margin: 0;
    list-style: none;
}

.amz-tab-nav li {
    flex: 1;
}

.amz-tab-nav li a {
    display: block;
    padding: 14px 20px;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    color: var(--amz-dark);
    text-decoration: none;
    border-bottom: 3px solid transparent;
    transition: all var(--amz-transition);
}

.amz-tab-nav li a:hover {
    background: var(--amz-white);
}

.amz-tab-nav li a.active {
    background: var(--amz-white);
    border-bottom-color: var(--amz-orange);
    color: var(--amz-link-hover);
}

.amz-tab-content {
    padding: 24px;
}

/* Reviews section */
.amz-reviews-section {
    background: var(--amz-white);
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
    margin-bottom: 24px;
    padding: 24px;
}

.amz-reviews-header {
    display: flex;
    gap: 48px;
    margin-bottom: 24px;
    align-items: flex-start;
    flex-wrap: wrap;
}

.amz-reviews-summary {
    min-width: 240px;
}

.amz-reviews-summary .amz-overall-rating {
    font-size: 20px;
    font-weight: 700;
    color: var(--amz-dark);
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.amz-reviews-summary .amz-total-ratings {
    font-size: 14px;
    color: var(--amz-gray-text);
    margin-bottom: 16px;
}

/* Rating bars */
.amz-rating-bars {
    width: 280px;
}

.amz-rating-bar-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
    cursor: pointer;
}

.amz-rating-bar-row:hover .amz-bar-label {
    color: var(--amz-link-hover);
}

.amz-bar-label {
    font-size: 14px;
    color: var(--amz-link);
    white-space: nowrap;
    min-width: 55px;
    text-decoration: none;
}

.amz-bar-track {
    flex: 1;
    height: 20px;
    background: #F0F0F0;
    border-radius: 4px;
    overflow: hidden;
    border: 1px solid var(--amz-gray-border);
}

.amz-bar-fill {
    height: 100%;
    background: var(--amz-star);
    border-radius: 4px;
    transition: width 0.3s ease;
}

.amz-bar-percent {
    font-size: 14px;
    color: var(--amz-link);
    min-width: 35px;
    text-align: right;
}

.amz-review-cta {
    margin-top: 16px;
}

.amz-btn-review {
    width: 100%;
    padding: 8px 16px;
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
    background: var(--amz-white);
    color: var(--amz-dark);
    font-size: 14px;
    cursor: pointer;
    box-shadow: var(--amz-shadow);
    transition: background var(--amz-transition);
}

.amz-btn-review:hover {
    background: var(--amz-gray-light);
}

/* Q&A section */
.amz-qa-section {
    background: var(--amz-white);
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
    margin-bottom: 24px;
    padding: 24px;
}

.amz-qa-item {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--amz-gray-border);
}

.amz-qa-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.amz-question {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
}

.amz-question-icon {
    font-weight: 700;
    font-size: 16px;
    color: var(--amz-dark);
    min-width: 24px;
}

.amz-question-text {
    font-size: 14px;
    font-weight: 700;
    color: var(--amz-dark);
    line-height: 20px;
}

.amz-answer {
    display: flex;
    gap: 8px;
    padding-left: 32px;
}

.amz-answer-icon {
    font-weight: 700;
    font-size: 16px;
    color: var(--amz-orange);
    min-width: 24px;
}

.amz-answer-text {
    font-size: 14px;
    color: var(--amz-dark);
    line-height: 20px;
}

.amz-answer-meta {
    font-size: 12px;
    color: var(--amz-gray-text);
    margin-top: 4px;
}

.amz-qa-ask {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--amz-gray-border);
}

.amz-qa-list {
    /* container for Q&A items */
}

.amz-qa-question,
.amz-qa-answer {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin-bottom: 6px;
}

.amz-qa-answer {
    padding-left: 34px;
    margin-bottom: 0;
}

.amz-qa-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: var(--amz-radius-sm);
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
}

/* Seller info sidebar */
.amz-seller-sidebar {
    background: var(--amz-white);
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
    padding: 20px;
    margin-bottom: 24px;
}

.amz-seller-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.amz-seller-logo {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid var(--amz-gray-border);
}

.amz-seller-name {
    font-size: 16px;
    font-weight: 700;
    color: var(--amz-link);
    text-decoration: none;
}

.amz-seller-name:hover {
    color: var(--amz-link-hover);
    text-decoration: underline;
}

.amz-seller-verified {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--amz-green);
    font-weight: 600;
}

.amz-seller-rating {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 8px 0;
}

.amz-visit-store {
    display: block;
    width: 100%;
    padding: 8px 16px;
    text-align: center;
    border: 1px solid var(--amz-gray-border);
    border-radius: 100px;
    background: var(--amz-white);
    color: var(--amz-dark);
    font-size: 14px;
    text-decoration: none;
    cursor: pointer;
    box-shadow: var(--amz-shadow);
    transition: background var(--amz-transition);
    margin-top: 12px;
}

.amz-visit-store:hover {
    background: var(--amz-gray-light);
    color: var(--amz-dark);
    text-decoration: none;
}

/* Top selling products */
.amz-top-selling {
    background: var(--amz-white);
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
    padding: 20px;
    margin-bottom: 24px;
}

.amz-top-selling-list {
    display: flex;
    flex-direction: column;
}

.amz-top-selling-item {
    display: flex;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--amz-gray-border);
    align-items: center;
    text-decoration: none;
    transition: background var(--amz-transition);
}

.amz-top-selling-item:last-child {
    border-bottom: none;
}

.amz-top-selling-item:hover {
    text-decoration: none;
    background: var(--amz-gray-light);
}

.amz-top-selling-item img {
    width: 64px;
    height: 64px;
    object-fit: contain;
    flex-shrink: 0;
    border-radius: var(--amz-radius-sm);
}

.amz-top-selling-info {
    flex: 1;
    min-width: 0;
}

.amz-top-selling-name {
    font-size: 13px;
    color: var(--amz-link);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 4px;
    line-height: 1.3;
}

.amz-top-selling-item:hover .amz-top-selling-name {
    color: var(--amz-link-hover);
}

.amz-top-selling-price {
    font-size: 14px;
    font-weight: 700;
    color: var(--amz-dark);
}

.amz-top-selling-price del {
    font-weight: 400;
    color: var(--amz-gray-text);
    font-size: 12px;
    margin-left: 4px;
}

/* ============================================
   3. AUTH PAGES — AMAZON STYLE
   ============================================ */

/* Base layout */
.amz-auth-page {
    min-height: 100vh;
    background: var(--amz-white);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.amz-auth-logo {
    margin: 16px 0;
    text-align: center;
}

.amz-auth-logo img {
    height: 40px;
    max-width: 200px;
    object-fit: contain;
}

/* Auth card — Amazon: 350px, 1px solid #D5D9D9, 8px radius, 14px 18px 18px padding */
.amz-auth-card {
    width: 100%;
    max-width: 350px;
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
    padding: 14px 18px 18px;
    background: var(--amz-white);
    margin: 0 auto;
}

.amz-auth-card h1 {
    font-size: 28px;
    font-weight: 400;
    color: var(--amz-dark);
    margin-bottom: 8px;
}

.amz-auth-card label {
    font-size: 14px;
    font-weight: 700;
    color: var(--amz-dark);
    margin-bottom: 4px;
    display: block;
}

.amz-auth-card .form-control {
    border: 1px solid #888C8C;
    border-radius: var(--amz-radius);
    padding: 5px 11px;
    font-size: 14px;
    height: 32px;
    box-shadow: 0 1px 2px rgba(15,17,17,.15) inset;
}

.amz-auth-card .form-control:focus {
    border-color: var(--amz-orange) !important;
    box-shadow: 0 0 3px 2px rgba(228,121,17,.5) !important;
    outline: none;
}

.amz-auth-btn {
    width: 100%;
    padding: 0;
    height: 32px;
    line-height: 30px;
    border: 1px solid var(--amz-yellow-border);
    border-radius: 100px;
    background: var(--amz-yellow);
    color: var(--amz-dark);
    font-size: 14px;
    cursor: pointer;
    transition: background var(--amz-transition);
    margin-top: 12px;
    font-weight: 400;
}

.amz-auth-btn:hover {
    background: var(--amz-yellow-hover);
}

.amz-auth-btn-primary {
    background: var(--amz-orange);
    border-color: #E77600;
    color: var(--amz-white);
}

.amz-auth-btn-primary:hover {
    background: var(--amz-orange-hover);
}

/* Auth links — Amazon uses #2162A1 for auth page links */
.amz-auth-link {
    color: #2162A1;
    text-decoration: none;
    font-size: 14px !important;
}

.amz-auth-link:hover {
    color: var(--amz-link-hover);
    text-decoration: underline;
}

/* Conditions text */
.amz-auth-conditions {
    font-size: 12px;
    color: var(--amz-gray-text);
    margin-top: 16px;
    line-height: 18px;
}

.amz-auth-conditions a {
    color: var(--amz-link);
    text-decoration: none;
}

/* Divider with text */
.amz-auth-divider {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 16px 0;
}

.amz-auth-divider::before,
.amz-auth-divider::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid var(--amz-gray-border);
}

.amz-auth-divider span {
    padding: 0 14px;
    font-size: 12px;
    color: var(--amz-gray-text);
    white-space: nowrap;
}

/* Social login buttons */
.amz-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
    background: var(--amz-white);
    color: var(--amz-dark);
    font-size: 13px;
    cursor: pointer;
    transition: background var(--amz-transition);
    margin-bottom: 8px;
    text-decoration: none;
    box-shadow: 0 2px 5px rgba(15,17,17,.15);
}

.amz-social-btn:hover {
    background: var(--amz-gray-light);
    text-decoration: none;
    color: var(--amz-dark);
}

.amz-social-btn img,
.amz-social-btn i {
    width: 20px;
    height: 20px;
    font-size: 20px;
}

/* New account section */
.amz-new-account {
    width: 100%;
    max-width: 350px;
    text-align: center;
    margin: 20px auto;
}

.amz-new-account-divider {
    position: relative;
    margin-bottom: 16px;
}

.amz-new-account-divider::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--amz-gray-border);
}

.amz-new-account-divider span {
    background: var(--amz-white);
    padding: 0 14px;
    font-size: 12px;
    color: var(--amz-gray-text);
    position: relative;
    z-index: 1;
}

.amz-btn-create-account {
    display: block;
    width: 100%;
    padding: 0;
    height: 32px;
    line-height: 30px;
    border: 1px solid #EAECEC;
    border-radius: 100px;
    background: var(--amz-white);
    color: var(--amz-dark);
    font-size: 14px;
    text-align: center;
    cursor: pointer;
    box-shadow: var(--amz-shadow);
    text-decoration: none;
    transition: background var(--amz-transition);
}

.amz-btn-create-account:hover {
    background: var(--amz-gray-light);
    text-decoration: none;
    color: var(--amz-dark);
}

/* Auth footer */
.amz-auth-footer {
    width: 100%;
    max-width: 600px;
    text-align: center;
    padding: 24px 0;
    margin-top: auto;
    border-top: 1px solid var(--amz-gray-border);
}

.amz-auth-footer-links {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 8px;
}

.amz-auth-footer-links a {
    font-size: 12px;
    color: var(--amz-link);
    text-decoration: none;
}

.amz-auth-footer-links a:hover {
    text-decoration: underline;
}

.amz-auth-footer-copy {
    font-size: 12px;
    color: var(--amz-gray-text);
}

/* ============================================
   4. SELLER AUTH PAGES (removed — now uses shared amz-auth-page layout)
   ============================================ */

/* Step indicators for seller registration */
.amz-steps {
    display: flex;
    margin-bottom: 24px;
    position: relative;
}

.amz-steps::before {
    content: '';
    position: absolute;
    top: 16px;
    left: 16px;
    right: 16px;
    height: 2px;
    background: var(--amz-gray-border);
    z-index: 0;
}

.amz-step {
    flex: 1;
    text-align: center;
    position: relative;
    z-index: 1;
}

.amz-step-number {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--amz-gray-border);
    color: var(--amz-gray-text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 4px;
}

.amz-step.active .amz-step-number {
    background: var(--amz-orange);
    color: var(--amz-white);
}

.amz-step.completed .amz-step-number {
    background: var(--amz-green);
    color: var(--amz-white);
}

.amz-step-label {
    font-size: 12px;
    color: var(--amz-gray-text);
    display: block;
}

.amz-step.active .amz-step-label {
    color: var(--amz-dark);
    font-weight: 700;
}

/* Section header within form */
.amz-form-section-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--amz-dark);
    margin: 20px 0 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--amz-gray-border);
}

/* ============================================
   5. AFFILIATE AUTH PAGES (removed — now uses shared amz-auth-page layout)
   ============================================ */

/* ============================================
   6. HOMEPAGE PRODUCT CARDS (Amazon-accurate)
   ============================================ */
.amz-product-card {
    background: var(--amz-white);
    border: none;
    border-radius: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
}

.amz-product-card-link {
    text-decoration: none;
    color: inherit;
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 10px 10px 0;
}

.amz-product-card-link:hover {
    text-decoration: none;
    color: inherit;
}

/* Image */
.amz-product-card-img {
    height: 240px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
    position: relative;
    padding: 12px;
}

.amz-product-card-img img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
    opacity: 1 !important;
    transition: none !important;
}

/* Discount badge — Amazon-style red tag */
.amz-product-card-badge {
    position: absolute;
    top: 8px;
    left: 0;
    background: #CC0C39;
    color: var(--amz-white);
    font-size: 12px;
    font-weight: 700;
    padding: 4px 8px;
    border-radius: 0 2px 2px 0;
    line-height: 1;
}

/* Title */
.amz-product-card-name {
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: var(--amz-dark);
    margin-bottom: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 40px;
}

.amz-product-card-link:hover .amz-product-card-name {
    color: var(--amz-link-hover);
}

/* Rating */
.amz-product-card-rating {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 2px;
}

.amz-product-card-rating .amz-stars i {
    font-size: 14px;
    color: var(--amz-star);
}

.amz-product-card-rating-count {
    font-size: 12px;
    color: #2162A1;
}

/* Price — Amazon superscript style */
.amz-product-card-price {
    margin-bottom: 2px;
    display: flex;
    align-items: flex-start;
}

.amz-product-card-price-current {
    font-size: 21px;
    font-weight: 400;
    color: var(--amz-dark);
    line-height: 1;
}

/* Make dollar sign smaller like Amazon */
.amz-product-card-price-symbol {
    font-size: 13px;
    vertical-align: top;
    position: relative;
    top: 2px;
}

.amz-product-card-price-original {
    font-size: 12px;
    color: var(--amz-gray-text);
    margin-left: 6px;
    align-self: center;
    text-decoration: line-through;
}

/* Shipping */
.amz-product-card-shipping {
    font-size: 12px;
    color: var(--amz-dark);
    margin-bottom: 4px;
    line-height: 16px;
}

.amz-product-card-shipping .amz-free-delivery {
    color: var(--amz-dark);
    font-weight: 700;
}

.amz-product-card-shipping i {
    display: none; /* Amazon doesn't show truck icon */
}

/* Delivery date */
.amz-product-card-delivery {
    font-size: 12px;
    color: var(--amz-gray-text);
    margin-bottom: 6px;
}

/* Add to Cart button area */
.amz-product-card-action {
    margin-top: auto;
    padding: 0 10px 10px;
}

.amz-product-card-btn {
    display: block;
    width: 100%;
    padding: 5px 10px;
    background: var(--amz-yellow);
    border: 1px solid var(--amz-yellow-border);
    border-radius: 100px;
    color: var(--amz-dark);
    font-size: 13px;
    font-weight: 400;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background var(--amz-transition);
    line-height: 19px;
}

.amz-product-card-btn:hover {
    background: var(--amz-yellow-hover);
    text-decoration: none;
    color: var(--amz-dark);
}

.amz-product-card-btn i {
    display: none; /* Amazon doesn't show cart icon in button */
}

/* ============================================
   6.5 HOMEPAGE LAYOUT (Amazon-accurate)
   ============================================ */
.amz-homepage {
    background: #EAEDED;
    min-height: 100vh;
}

.amz-homepage-banner {
    display: none; /* Amazon doesn't show a text banner — uses image carousel instead */
}

.amz-homepage-banner-title {
    display: none;
}

.amz-homepage-banner-subtitle {
    display: none;
}

.amz-homepage-container {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding: 0 var(--amz-container-px);
}
/* Note: Ultra-wide max-width cap is in Section 44 at end of file */

.amz-homepage-section {
    background: var(--amz-white);
    margin: 0 0 16px 0;
    padding: var(--amz-section-py) var(--amz-section-px);
    border-radius: 0;
    border: none;
}

.amz-homepage-section-title {
    font-size: 21px;
    font-weight: 700;
    color: var(--amz-dark);
    margin-bottom: 0;
    line-height: 1.3;
}

.amz-homepage-view-all {
    color: var(--amz-link);
    text-decoration: none;
    font-size: 13px;
    font-weight: 400;
    white-space: nowrap;
}

.amz-homepage-view-all:hover {
    color: var(--amz-link-hover);
    text-decoration: underline;
}

/* Product Card Grid (Homepage) — Amazon uses max 5 per row */
.amz-card-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

@media (min-width: 576px) {
    .amz-card-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 992px) {
    .amz-card-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (min-width: 1200px) {
    .amz-card-grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

@media (min-width: 1600px) {
    .amz-card-grid {
        grid-template-columns: repeat(6, 1fr);
    }
}

@media (min-width: 1920px) {
    .amz-card-grid {
        grid-template-columns: repeat(6, 1fr);
    }
}

/* Category Grid */
.amz-category-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

@media (min-width: 480px) {
    .amz-category-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 768px) {
    .amz-category-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (min-width: 1024px) {
    .amz-category-grid { grid-template-columns: repeat(6, 1fr); }
}
@media (min-width: 1400px) {
    .amz-category-grid { grid-template-columns: repeat(8, 1fr); }
}
@media (min-width: 1920px) {
    .amz-category-grid { grid-template-columns: repeat(8, 1fr); }
}

.amz-category-card {
    background: var(--amz-white);
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
    padding: 16px;
    text-align: center;
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.amz-category-card:hover {
    box-shadow: var(--amz-shadow-hover);
    transform: translateY(-2px);
    text-decoration: none;
    color: inherit;
}

.amz-category-img {
    width: 100%;
    height: 80px;
    object-fit: contain;
    margin-bottom: 10px;
    border-radius: var(--amz-radius-sm);
}

@media (min-width: 768px) {
    .amz-category-img { height: 100px; }
}

.amz-category-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--amz-dark);
    margin: 0;
    line-height: 1.3;
}

/* ============================================
   7. RESPONSIVE
   ============================================ */

/* Tablet */
@media (max-width: 1024px) {
    .amz-product-grid {
        grid-template-columns: 1fr 1fr;
    }

    .amz-buy-box {
        grid-column: 1 / -1;
        position: static;
    }

}

/* Mobile */
@media (max-width: 768px) {
    .amz-product-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .amz-gallery {
        flex-direction: column-reverse;
        position: static;
    }

    .amz-gallery-thumbnails {
        flex-direction: row;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding: 8px 0;
        gap: 6px;
    }

    .amz-thumb {
        width: 48px;
        height: 48px;
        flex-shrink: 0;
    }

    .amz-gallery-main img {
        max-height: 350px;
    }

    .amz-gallery-main:hover img {
        transform: none;
    }

    .amz-details .amz-product-title {
        font-size: 18px;
        line-height: 24px;
    }

    .amz-buy-box {
        border: none;
        border-top: 1px solid var(--amz-gray-border);
        border-radius: 0;
        padding: 16px 0;
    }

    .amz-price-current {
        font-size: 22px;
    }

    .amz-buy-box-price {
        font-size: 22px;
    }

    .amz-auth-card {
        max-width: 100%;
        margin: 0 16px;
        border: none;
        box-shadow: none;
    }

    .amz-new-account {
        max-width: 100%;
        padding: 0 16px;
    }

    .amz-reviews-header {
        flex-direction: column;
        gap: 24px;
    }


    .amz-fbt-container {
        flex-direction: column;
        align-items: center;
    }

    .amz-fbt-plus {
        transform: rotate(90deg);
    }

    .amz-fbt-total {
        margin-left: 0;
        margin-top: 16px;
    }

    .amz-product-card-img {
        height: 180px;
    }

    .amz-homepage-section {
        margin: 0 0 16px 0;
        padding: 16px;
        border-radius: var(--amz-radius-sm);
    }

    .amz-homepage-section-title {
        font-size: 18px;
    }
}

/* Small mobile */
@media (max-width: 480px) {
    .amz-product-page {
        padding: 8px;
    }

    .amz-auth-card {
        padding: 20px 16px;
    }


    .amz-homepage-container {
        padding: 0 var(--amz-container-px);
    }

    .amz-product-card {
        padding: 8px;
    }

    .amz-product-card-img {
        height: 150px;
    }

    .amz-product-card-name {
        font-size: 12px;
        -webkit-line-clamp: 2;
    }

    .amz-product-card-price-current {
        font-size: 14px;
    }
}

/* ============================================
   6B. LISTING PAGE — Container Override
   ============================================ */

/* Override Bootstrap container-fluid fixed padding inside amz-container */
.amz-container.container-fluid {
    padding-left: var(--amz-container-px);
    padding-right: var(--amz-container-px);
}

/* ============================================
   7. SEARCH RESULTS PAGE — Amazon-style layout
   ============================================ */

/* Results count info bar */
.amz-search-results-info {
    font-size: 14px;
    color: var(--amz-gray-text);
    padding: 4px 0;
}

.amz-search-results-info .amz-results-count {
    color: #565959;
}

.amz-search-results-info .amz-results-count strong {
    color: #c45500;
}

/* Search grid — same base as amz-card-grid but with card borders for search results */
.amz-search-grid {
    gap: 0;
    border-top: 1px solid #e3e6e6;
    border-left: 1px solid #e3e6e6;
}

.amz-search-grid > .amz-product-card {
    border-right: 1px solid #e3e6e6;
    border-bottom: 1px solid #e3e6e6;
    padding: 8px;
    transition: box-shadow 0.15s ease;
}

.amz-search-grid > .amz-product-card:hover {
    box-shadow: 0 0 0 1px rgba(0,0,0,0.08), 0 4px 12px rgba(0,0,0,0.08);
    z-index: 2;
    position: relative;
}

/* Search page filter sidebar — Amazon-style */
.amz-search-grid > .amz-product-card .amz-product-card-link {
    padding: 8px 8px 0;
}

/* Sorting bar */
.amz-search-sort-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid #e3e6e6;
    margin-bottom: 12px;
}

/* Sort dropdown — Amazon: 8px radius, gray bg, custom arrow */
.amz-sort-select,
select.amz-sort-select.rounded-0,
.bootstrap-select.amz-sort-select,
.dropdown.amz-sort-select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    width: 180px !important;
    height: 30px !important;
    border: 1px solid #888C8C !important;
    border-radius: 8px !important;
    background: #F0F2F2 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23555' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 10px center !important;
    font-size: 14px !important;
    padding: 0 28px 0 10px !important;
    color: var(--amz-dark);
    cursor: pointer;
    line-height: 28px;
}

/* Inner dropdown-toggle button inside bootstrap-select widget */
.bootstrap-select.amz-sort-select {
    overflow: hidden;
}

.bootstrap-select.amz-sort-select > .dropdown-toggle,
.dropdown.amz-sort-select > .dropdown-toggle {
    border: none !important;
    border-radius: 8px !important;
    background: transparent !important;
    height: 100% !important;
    padding: 0 28px 0 10px !important;
    font-size: 14px !important;
    color: var(--amz-dark) !important;
    box-shadow: none !important;
    line-height: 28px !important;
    width: 100% !important;
}

.bootstrap-select.amz-sort-select > .dropdown-toggle:hover,
.dropdown.amz-sort-select > .dropdown-toggle:hover {
    background: transparent !important;
}

.bootstrap-select.amz-sort-select > .dropdown-toggle:focus,
.dropdown.amz-sort-select > .dropdown-toggle:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* Hide bootstrap-select default caret — using SVG arrow from wrapper */
.bootstrap-select.amz-sort-select .dropdown-toggle .caret,
.bootstrap-select.amz-sort-select .dropdown-toggle::after {
    display: none !important;
}

.amz-sort-select:hover {
    background-color: #E3E6E6 !important;
}

.amz-sort-select:focus,
.amz-sort-select:focus-within {
    border-color: #007185 !important;
    box-shadow: 0 0 0 3px rgba(0,113,133,.25) !important;
    outline: none;
}

/* Results bar — Amazon-style spacing */
.amz-results-bar {
    padding: 0 0 8px;
}

.amz-results-bar h1 {
    font-size: 20px;
    font-weight: 700;
    color: var(--amz-dark);
    margin-bottom: 0;
}

/* Results count — keyword in orange */
.amz-results-count strong {
    color: #C7511F;
    font-weight: 700;
}

/* Amazon-style filter sidebar — 252px fixed width (Amazon measured) */
@media (min-width: 1200px) {
    .amz-filter-col {
        flex: 0 0 252px;
        max-width: 252px;
    }

    .amz-results-col {
        flex: 1;
        max-width: calc(100% - 252px);
    }
}

.mf-filter-sidebar .collapse-sidebar {
    background: #fff;
}

.amz-sidebar-filters .bg-white.border.mb-3 {
    border: none !important;
    border-bottom: 1px solid #E0E0E0 !important;
    border-radius: 0;
    margin-bottom: 0 !important;
    padding-bottom: 12px;
}

.amz-sidebar-filters .fs-16.fw-700.p-3 {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #0F1111;
    line-height: 16px;
    padding: 14px 0 8px !important;
    border-bottom: none;
}

.amz-sidebar-filters .collapse.show,
.amz-sidebar-filters .collapse {
    padding: 0;
}

.amz-sidebar-filters .p-3.mb-0.list-unstyled {
    padding: 4px 0 !important;
}

.amz-sidebar-filters .fs-14 {
    font-size: 14px !important;
    color: #0F1111;
    line-height: 20px;
}

.amz-sidebar-filters a.text-reset.fs-14,
.amz-sidebar-filters a.text-reset {
    color: var(--amz-link) !important;
    text-decoration: none;
}

.amz-sidebar-filters a.text-reset.fs-14:hover,
.amz-sidebar-filters a.text-reset:hover,
.amz-sidebar-filters a:hover {
    color: #C7511F !important;
    text-decoration: underline;
}

/* Filter checkboxes — Amazon blue check */
.amz-sidebar-filters .mf-checkbox {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 8px;
}

.amz-sidebar-filters .mf-checkbox input:checked + .mf-square-check {
    background: var(--amz-link);
    border-color: var(--amz-link);
}

/* Filter color swatches — smaller in sidebar */
.amz-sidebar-filters .size-30px {
    width: 20px !important;
    height: 20px !important;
}

/* Price slider — Amazon orange track */
.amz-sidebar-filters .noUi-connect {
    background: #E77600;
}

.amz-sidebar-filters .noUi-handle {
    border-color: #888C8C;
    border-radius: 50%;
}

/* Filter section spacing */
.amz-sidebar-filters .bg-white.border.mb-3 + .bg-white.border.mb-3 {
    margin-top: 12px;
}

/* Breadcrumb — Amazon style */
.breadcrumb {
    font-size: 12px;
    margin-bottom: 4px;
    padding: 4px 0 !important;
}

.breadcrumb-item a,
.breadcrumb-item a.text-reset {
    color: #565959 !important;
    opacity: 1 !important;
}

.breadcrumb-item {
    opacity: 1 !important;
}

.breadcrumb-item a:hover,
.breadcrumb-item a.text-reset:hover {
    color: #C7511F !important;
    text-decoration: underline;
}

.breadcrumb-item a:hover {
    color: #c45500;
    text-decoration: underline;
}

/* Search page heading */
.col-xl-9 h1.fs-20,
.col-xl-9 h1.fs-md-24 {
    font-size: 22px !important;
    font-weight: 700;
    color: #0f1111;
    line-height: 1.3;
    margin-bottom: 8px;
}

/* Product type toggle pills (General / Preorder) */
.product-tab {
    background: #f7f8f8;
    border: 1px solid #e3e6e6;
    border-radius: 4px;
    padding: 8px 12px;
    margin-bottom: 12px;
}

/* Pagination — Amazon style: transparent bg, blue text, selected has blue border */
.mf-pagination .pagination {
    justify-content: center;
    gap: 4px;
}

.mf-pagination .page-link {
    border: none;
    border-radius: 0;
    color: var(--amz-link);
    font-size: 14px;
    padding: 4px 12px;
    margin: 0;
    background: transparent;
    text-decoration: none;
}

.mf-pagination .page-link:hover {
    background: transparent;
    color: #C7511F;
    text-decoration: underline;
    border: none;
}

.mf-pagination .page-item.active .page-link {
    background: transparent;
    border: 1px solid var(--amz-link);
    border-radius: 8px;
    color: #0F1111;
    font-weight: 700;
    box-shadow: none;
}

.mf-pagination .page-item.disabled .page-link {
    color: #D5D9D9;
    background: transparent;
    border: none;
}

/* Mobile: search grid adjustments */
@media (max-width: 767px) {
    .amz-search-grid > .amz-product-card {
        padding: 4px;
    }

    .amz-search-grid > .amz-product-card .amz-product-card-link {
        padding: 4px 4px 0;
    }
}

/* ============================================
   8. PRODUCT DETAIL PAGE — AMAZON TYPOGRAPHY & COMPONENTS
   Global font-family, refined spacing, and consistent Amazon-feel
   ============================================ */

/* --- 8.1 Global Typography for Product Page --- */
.amz-product-page,
.amz-product-below {
    font-family: var(--amz-font);
    color: var(--amz-dark);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.amz-product-page *,
.amz-product-below * {
    font-family: inherit;
}

/* --- 8.2 Individual Review Items (Amazon-style) --- */
.amz-review-item {
    padding: 16px 0;
    border-bottom: 1px solid var(--amz-gray-border);
}

.amz-review-item:last-child {
    border-bottom: none;
}

/* Reviewer profile row — Amazon uses small circle avatar + name inline */
.amz-review-profile {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.amz-review-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid var(--amz-gray-border);
    flex-shrink: 0;
}

.amz-review-author {
    font-size: 13px;
    font-weight: 400;
    color: var(--amz-dark);
    line-height: 1.2;
}

/* Rating row with date on same line — Amazon: stars then "Reviewed on Date" */
.amz-review-rating-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
    flex-wrap: wrap;
}

.amz-review-rating-row .amz-stars i {
    font-size: 16px;
}

.amz-review-date {
    font-size: 14px;
    color: var(--amz-gray-text);
}

/* Variation badge */
.amz-review-variation {
    font-size: 13px;
    color: var(--amz-gray-text);
    margin-bottom: 6px;
}

/* Review comment text */
.amz-review-comment {
    font-size: 14px;
    line-height: 20px;
    color: var(--amz-dark);
    margin-bottom: 8px;
    word-wrap: break-word;
}

/* Review images grid */
.amz-review-images {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.amz-review-image-thumb {
    width: 80px;
    height: 80px;
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius-sm);
    overflow: hidden;
    cursor: pointer;
    transition: border-color var(--amz-transition);
}

.amz-review-image-thumb:hover {
    border-color: var(--amz-orange);
}

.amz-review-image-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Empty reviews message */
.amz-review-empty {
    text-align: center;
    font-size: 14px;
    color: var(--amz-gray-text);
    padding: 24px 0;
}

/* Review CTA text */
.amz-review-cta-text {
    font-size: 14px;
    color: var(--amz-gray-text);
    margin-bottom: 8px;
}

/* Reviews list column (right side in reviews header) */
.amz-reviews-list-col {
    flex: 1;
    min-width: 300px;
}

/* Review image modal — clean, borderless navigation */
.amz-review-modal-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--amz-gray-border);
    background: rgba(255,255,255,0.9);
    color: var(--amz-dark);
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: var(--amz-shadow);
    transition: background var(--amz-transition);
}

.amz-review-modal-nav:hover {
    background: var(--amz-white);
}

.amz-review-modal-prev {
    left: 10px;
}

.amz-review-modal-next {
    right: 10px;
}

.amz-review-modal-close {
    position: absolute;
    top: -12px;
    right: -12px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid var(--amz-gray-border);
    background: var(--amz-white);
    color: var(--amz-dark);
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: var(--amz-shadow);
}

/* --- 8.3 Q&A Section — Proper CSS Classes --- */

/* Q&A login prompt */
.amz-qa-login-prompt {
    font-size: 14px;
    color: var(--amz-gray-text);
    margin: 0;
}

/* Q&A form row */
.amz-qa-form-row {
    display: flex;
    gap: 10px;
    align-items: flex-end;
}

/* Q&A textarea */
.amz-qa-textarea {
    flex: 1;
    resize: none;
    border-radius: var(--amz-radius) !important;
    border: 1px solid var(--amz-gray-border) !important;
    font-size: 14px;
    font-family: var(--amz-font);
    padding: 8px 12px;
    box-shadow: 0 1px 2px rgba(15,17,17,.15) inset;
    transition: border-color var(--amz-transition);
}

.amz-qa-textarea:focus {
    border-color: var(--amz-orange) !important;
    box-shadow: 0 0 3px 2px rgba(228,121,17,.5) !important;
    outline: none;
}

/* Q&A submit button */
.amz-qa-submit-btn {
    white-space: nowrap;
    align-self: flex-end;
    min-width: auto;
    width: auto;
    padding: 8px 24px;
}

/* Q&A subtitles (My Questions, Other Questions) */
.amz-qa-subtitle {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 12px;
    color: var(--amz-dark);
}

/* Q&A list containers */
.amz-qa-own,
.amz-qa-others {
    margin-top: 16px;
}

/* Q&A badge variants */
.amz-qa-badge-q {
    background: var(--amz-orange);
    color: #fff;
}

.amz-qa-badge-a {
    background: var(--amz-star);
    color: #fff;
}

/* Q&A text content */
.amz-qa-text {
    font-size: 14px;
    color: var(--amz-dark);
    line-height: 20px;
}

/* Q&A meta info (author + date) */
.amz-qa-meta {
    font-size: 12px;
    color: var(--amz-gray-text);
    display: block;
    margin-top: 2px;
}

/* Q&A empty state */
.amz-qa-empty {
    font-size: 14px;
    color: var(--amz-gray-text);
    padding: 8px 0;
}

/* --- 8.4 Seller Info — Additional Classes --- */

/* Seller address */
.amz-seller-address {
    font-size: 13px;
    color: var(--amz-gray-text);
    margin-bottom: 8px;
}

/* Seller review count */
.amz-seller-review-count {
    font-size: 13px;
    color: var(--amz-gray-text);
}

/* Seller social links */
.amz-seller-social {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
}

.amz-seller-social-link {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--amz-gray-light);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--amz-dark);
    font-size: 16px;
    text-decoration: none;
    transition: background var(--amz-transition), color var(--amz-transition);
}

.amz-seller-social-link:hover {
    background: var(--amz-gray-border);
    color: var(--amz-dark);
    text-decoration: none;
}

/* --- 8.5 Seller + Top Selling Grid Layout --- */
.amz-seller-topsel-grid {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 24px;
    align-items: start;
    margin-bottom: 24px;
}

.amz-seller-topsel-sidebar {
    min-width: 0;
}

.amz-seller-topsel-main {
    min-width: 0;
}

/* --- 8.6 FBT Price Styling — Use CSS not inline --- */
.amz-fbt-item .amz-fbt-price {
    font-size: 14px;
    font-weight: 700;
    color: var(--amz-dark);
    margin-top: 4px;
}

.amz-fbt-item .amz-fbt-price del {
    font-weight: 400;
    color: var(--amz-gray-text);
    font-size: 12px;
    margin-left: 4px;
}

/* --- 8.7 Description Section Typography --- */
.amz-description-section .mf-editor-data {
    font-size: 14px;
    line-height: 22px;
    color: var(--amz-dark);
}

.amz-description-section .mf-editor-data h1,
.amz-description-section .mf-editor-data h2,
.amz-description-section .mf-editor-data h3,
.amz-description-section .mf-editor-data h4,
.amz-description-section .mf-editor-data h5,
.amz-description-section .mf-editor-data h6 {
    color: var(--amz-dark);
    font-family: var(--amz-font);
    margin-bottom: 8px;
}

.amz-description-section .mf-editor-data p {
    margin-bottom: 12px;
}

.amz-description-section .mf-editor-data img {
    max-width: 100%;
    height: auto;
    border-radius: var(--amz-radius-sm);
}

.amz-description-section .mf-editor-data ul,
.amz-description-section .mf-editor-data ol {
    padding-left: 20px;
    margin-bottom: 12px;
}

.amz-description-section .mf-editor-data li {
    margin-bottom: 4px;
    line-height: 20px;
}

.amz-description-section .mf-editor-data table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 16px;
}

.amz-description-section .mf-editor-data table th,
.amz-description-section .mf-editor-data table td {
    border: 1px solid var(--amz-gray-border);
    padding: 8px 12px;
    font-size: 14px;
}

.amz-description-section .mf-editor-data table th {
    background: var(--amz-gray-light);
    font-weight: 700;
}

/* --- 8.8 Variant Selected Info Box --- */
#amz-selected-variant-info {
    background: #f0f2f2;
    border-radius: var(--amz-radius-sm);
    padding: 8px 12px;
    margin-bottom: 10px;
    font-size: 13px;
    color: var(--amz-dark);
}

/* --- 8.9 Section Title — Consistent across all below-fold sections --- */
.amz-product-below .amz-section-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--amz-dark);
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--amz-orange);
    display: inline-block;
    font-family: var(--amz-font);
}

/* --- 8.10 Buy Box Form Inputs — Amazon style --- */
.amz-buy-box .amz-quantity .btn {
    border: none;
    background: var(--amz-gray-light);
    color: var(--amz-dark);
    padding: 4px 8px;
    font-size: 14px;
}

.amz-buy-box .amz-quantity .btn:hover {
    background: var(--amz-gray-border);
}

/* --- 8.11 Modals — Amazon-clean styling --- */
#image_modal .modal-content,
#chat_modal .modal-content,
#bid_for_detail_product .modal-content,
#product-review-modal .modal-content,
#warranty-note-modal .modal-content,
#refund-note-modal .modal-content {
    border: none;
    border-radius: var(--amz-radius);
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
    font-family: var(--amz-font);
}

#image_modal .modal-header,
#chat_modal .modal-header,
#bid_for_detail_product .modal-header,
#warranty-note-modal .modal-header,
#refund-note-modal .modal-header {
    border-bottom: 1px solid var(--amz-gray-border);
    padding: 16px 20px;
}

#chat_modal .modal-title,
#bid_for_detail_product .modal-title,
#warranty-note-modal .modal-title,
#refund-note-modal .modal-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--amz-dark);
    font-family: var(--amz-font);
}

/* --- 8.12 Share Section --- */
.amz-details .mf-share {
    display: inline-flex;
    gap: 8px;
    align-items: center;
}

/* --- 8.13 Product Page Links and Anchors --- */
.amz-product-page a:not([class]),
.amz-product-below a:not([class]) {
    color: var(--amz-link);
    text-decoration: none;
}

.amz-product-page a:not([class]):hover,
.amz-product-below a:not([class]):hover {
    color: var(--amz-link-hover);
    text-decoration: underline;
}

/* --- 8.14 Global Amazon Link Hover — burnt orange + underline --- */
.amz-product-page a:hover,
.amz-product-below a:hover,
.amz-homepage-container a:hover,
.amz-cart-section a:hover,
.amz-checkout-section a:hover {
    color: var(--amz-link-hover);
}

/* Brand link hover consistency */
.amz-brand-link:hover,
.amz-brand-link a:hover {
    color: var(--amz-link-hover) !important;
    text-decoration: underline;
}

/* --- 8.14 Mobile Responsive for New Components --- */
@media (max-width: 992px) {
    .amz-seller-topsel-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .amz-review-image-thumb {
        width: 60px;
        height: 60px;
    }

    .amz-reviews-list-col {
        min-width: 0;
    }

    .amz-qa-form-row {
        flex-direction: column;
    }

    .amz-qa-submit-btn {
        width: 100%;
        align-self: stretch;
    }

    .amz-seller-topsel-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .amz-review-avatar {
        width: 28px;
        height: 28px;
    }

    .amz-review-image-thumb {
        width: 50px;
        height: 50px;
    }

    .amz-review-comment {
        font-size: 13px;
    }
}

/* ============================================
   9. STICKY PRODUCT NAVIGATION BAR
   ============================================ */

.amz-product-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1040;
    background: var(--amz-white);
    border-bottom: 1px solid var(--amz-gray-border);
    box-shadow: 0 2px 4px rgba(15,17,17,.08);
    transform: translateY(-100%);
    transition: transform 0.25s ease;
    font-family: var(--amz-font);
}

.amz-product-nav.visible {
    transform: translateY(0);
}

.amz-product-nav-inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 48px;
}

.amz-product-nav-links {
    display: flex;
    align-items: center;
    gap: 0;
    height: 100%;
}

.amz-product-nav-link {
    display: flex;
    align-items: center;
    padding: 0 16px;
    height: 100%;
    font-size: 14px;
    color: var(--amz-dark);
    text-decoration: none;
    border-bottom: 3px solid transparent;
    white-space: nowrap;
    transition: border-color 0.15s ease, color 0.15s ease;
}

.amz-product-nav-link:hover {
    color: var(--amz-link-hover);
    text-decoration: none;
}

.amz-product-nav-link.active {
    color: var(--amz-link-hover);
    border-bottom-color: var(--amz-link-hover);
    font-weight: 700;
}

.amz-product-nav-right {
    display: flex;
    align-items: center;
    gap: 16px;
}

.amz-product-nav-price {
    font-size: 18px;
    font-weight: 700;
    color: var(--amz-dark);
    white-space: nowrap;
}

.amz-product-nav-cart {
    background: var(--amz-yellow);
    color: var(--amz-dark);
    border: 1px solid var(--amz-yellow-border);
    border-radius: 100px;
    padding: 6px 20px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s ease;
}

.amz-product-nav-cart:hover {
    background: var(--amz-yellow-hover);
}


/* ============================================
   10. QUANTITY DROPDOWN (Amazon-style)
   ============================================ */

.amz-qty-dropdown {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23555' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 10px center;
    border: 1px solid #888C8C;
    border-radius: 8px;
    padding: 0 28px 0 10px;
    font-size: 14px;
    font-family: var(--amz-font);
    color: var(--amz-dark);
    cursor: pointer;
    width: 80px;
    height: 32px;
    line-height: 30px;
    box-shadow: none;
}

.amz-qty-dropdown:hover {
    background-color: #F7FAFA;
}

.amz-qty-dropdown:focus {
    outline: none;
    border-color: #007185;
    box-shadow: 0 0 0 3px rgba(0,113,133,.25);
}

.amz-quantity {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.amz-quantity label {
    font-size: 14px;
    color: var(--amz-dark);
    font-weight: 700;
    margin-bottom: 0;
}


/* ============================================
   11. PRODUCT CARD — BRAND NAME
   ============================================ */

.amz-product-card-brand {
    display: block;
    font-size: 12px;
    color: var(--amz-gray-text);
    line-height: 16px;
    margin-bottom: 2px;
    text-transform: capitalize;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}


/* ============================================
   12. BUY BOX REFUND SECTION
   ============================================ */

.amz-refund-info {
    font-size: 13px;
}

.amz-refund-icon {
    color: var(--amz-green);
}


/* ============================================
   13. SEARCH RESULTS PAGE REFINEMENTS
   ============================================ */

/* Make "Search result for X" heading match Amazon's "Results" heading */
.amz-product-below .search-result-heading,
h1.fw-700.fs-20,
.search-result-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--amz-dark);
    font-family: var(--amz-font);
}

/* Result count like "1-48 of over 30,000 results" */
.amz-search-result-count {
    font-size: 14px;
    color: var(--amz-gray-text);
    font-weight: 400;
    margin-bottom: 8px;
}

.amz-search-result-count strong {
    color: var(--amz-dark);
}


/* ============================================
   14. IN STOCK / LOW STOCK / OUT OF STOCK
   ============================================ */

.amz-in-stock {
    color: #067D62;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 8px;
}

.amz-low-stock {
    color: var(--amz-red);
    font-size: 14px;
    margin-bottom: 8px;
}

.amz-out-of-stock {
    color: var(--amz-red);
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 8px;
}


/* ============================================
   15. SHIPPING / DELIVERY INFO IN BUY BOX
   ============================================ */

.amz-buy-box-shipping {
    font-size: 14px;
    color: var(--amz-dark);
    margin-bottom: 4px;
}

.amz-free-shipping {
    color: var(--amz-dark);
    font-weight: 700;
}

.amz-buy-box-delivery {
    font-size: 14px;
    color: var(--amz-dark);
    margin-bottom: 12px;
}

.amz-buy-box-delivery a {
    color: var(--amz-link);
    text-decoration: none;
}

.amz-buy-box-delivery a:hover {
    color: var(--amz-link-hover);
    text-decoration: underline;
}

.amz-delivery-icon {
    color: var(--amz-dark);
    margin-right: 4px;
}


/* ============================================
   16. MOBILE RESPONSIVE — NEW COMPONENTS
   ============================================ */

@media (max-width: 992px) {
    .amz-product-nav-right {
        display: none;
    }

    .amz-product-nav-inner {
        padding: 0 12px;
    }

    .amz-product-nav-link {
        padding: 0 10px;
        font-size: 13px;
    }
}

@media (max-width: 768px) {
    .amz-product-nav-link {
        padding: 0 8px;
        font-size: 12px;
    }
}

@media (max-width: 480px) {
    .amz-product-card-brand {
        font-size: 11px;
    }
}


/* ============================================
   17. CLUB POINTS
   ============================================ */

.amz-club-points {
    font-size: 13px;
    color: var(--amz-gray-text);
    margin-top: 8px;
}

.amz-club-points-icon {
    color: var(--amz-star);
}

/* ============================================
   18. SPLIT PRICE - CONTEXT OVERRIDES
   ============================================ */

/* Buy box split price */
.amz-buy-box-price .amz-price-whole-container .amz-price-whole {
    font-size: 28px;
}

/* Product card split price */
.amz-product-card-price .amz-price-whole-container .amz-price-whole {
    font-size: 21px;
}
.amz-product-card-price .amz-price-whole-container .amz-price-symbol,
.amz-product-card-price .amz-price-whole-container .amz-price-fraction {
    font-size: 12px;
    top: 0.1em;
}

/* Sticky nav split price */
.amz-product-nav-price .amz-price-whole-container .amz-price-whole {
    font-size: 18px;
}
.amz-product-nav-price .amz-price-whole-container .amz-price-symbol,
.amz-product-nav-price .amz-price-whole-container .amz-price-fraction {
    font-size: 11px;
}

/* Original price split (strikethrough) */
.amz-product-card-price-original .amz-price-whole-container .amz-price-whole {
    font-size: 12px;
}
.amz-product-card-price-original .amz-price-whole-container .amz-price-symbol,
.amz-product-card-price-original .amz-price-whole-container .amz-price-fraction {
    font-size: 10px;
    top: 0;
}

/* ============================================
   19. PRODUCT SPECS TABLE
   ============================================ */

.amz-specs-table {
    width: 100%;
    max-width: 500px;
    border-collapse: collapse;
    margin: 12px 0;
    font-size: 14px;
}

.amz-specs-table tr {
    border-bottom: 1px solid var(--amz-gray-border);
}

.amz-specs-table tr:last-child {
    border-bottom: none;
}

.amz-specs-table td {
    padding: 8px 12px 8px 0;
    vertical-align: top;
    line-height: 20px;
}

.amz-specs-label {
    font-weight: 700;
    color: var(--amz-dark);
    min-width: 140px;
    white-space: nowrap;
    padding-right: 24px;
}

.amz-specs-value {
    color: var(--amz-dark);
    font-weight: 400;
}

/* ============================================
   20. BUY BOX DETAILS TABLE (Ships/Sold/Returns)
   ============================================ */

.amz-buy-box-details-table {
    font-size: 12px;
    line-height: 18px;
    margin: 12px 0;
    padding-top: 12px;
    border-top: 1px solid var(--amz-gray-border);
}

.amz-buy-box-detail-row {
    display: flex;
    gap: 8px;
    margin-bottom: 4px;
}

.amz-buy-box-detail-label {
    color: var(--amz-gray-text);
    min-width: 80px;
    flex-shrink: 0;
}

.amz-buy-box-detail-value {
    color: var(--amz-dark);
}

.amz-buy-box-detail-value a {
    color: var(--amz-link);
    text-decoration: none;
}

.amz-buy-box-detail-value a:hover {
    color: var(--amz-link-hover);
    text-decoration: underline;
}

/* ============================================
   21. PRODUCT CARD ENHANCEMENTS
   ============================================ */

/* Bought in past month */
.amz-product-card-bought {
    font-size: 12px;
    color: var(--amz-dark);
    font-weight: 600;
    margin-bottom: 2px;
    line-height: 16px;
}

/* Low stock warning on cards */
.amz-product-card-low-stock {
    font-size: 12px;
    color: var(--amz-red);
    line-height: 16px;
    margin-bottom: 4px;
}

/* Card hover effect */
.amz-card-grid > .amz-product-card {
    transition: box-shadow 0.15s ease;
    border-radius: var(--amz-radius-sm);
}

.amz-card-grid > .amz-product-card:hover {
    box-shadow: 0 0 0 1px rgba(0,0,0,0.08), 0 4px 12px rgba(0,0,0,0.08);
    z-index: 2;
    position: relative;
}

/* Delivery date on cards */
.amz-product-card-delivery {
    font-size: 12px;
    color: var(--amz-dark);
    margin-bottom: 4px;
    line-height: 16px;
}

.amz-product-card-delivery strong {
    font-weight: 700;
}

/* ============================================
   22. SHARE SECTION TOGGLE
   ============================================ */

.amz-share-section {
    position: relative;
}

.amz-share-toggle {
    background: none;
    border: none;
    color: var(--amz-link);
    font-size: 14px;
    cursor: pointer;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.amz-share-toggle:hover {
    color: var(--amz-link-hover);
    text-decoration: underline;
}

.amz-share-toggle i {
    font-size: 16px;
}

.amz-share-options {
    display: none;
    margin-top: 8px;
}

.amz-share-section.expanded .amz-share-options {
    display: block;
}

/* Fix: Restore Line Awesome icon font within product page — our amz-font
   overrides the icon font via inheritance, so we reset it for all LA classes */
.amz-product-page .las,
.amz-product-page .lar,
.amz-product-page .lal,
.amz-product-page .lad,
.amz-product-page .la {
    font-family: 'Line Awesome Free' !important;
}
.amz-product-page .lab {
    font-family: 'Line Awesome Brands' !important;
}

/* ============================================
   23. BUY BOX DELIVERY DATE STYLING
   ============================================ */

.amz-buy-box-shipping .amz-free-delivery {
    font-weight: 700;
    color: var(--amz-dark);
}

.amz-buy-box-shipping strong {
    font-weight: 700;
    color: var(--amz-dark);
}

/* ============================================
   24. AMAZON-STYLE IMAGE LIGHTBOX
   ============================================ */

.amz-lightbox-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    z-index: 10000;
    display: none;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.amz-lightbox-overlay.active {
    opacity: 1;
}

.amz-lightbox-container {
    background: var(--amz-white);
    border-radius: 8px;
    width: 90vw;
    max-width: 1100px;
    height: 85vh;
    max-height: 700px;
    display: grid;
    grid-template-columns: 1fr 320px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 8px 40px rgba(0,0,0,0.4);
}

.amz-lightbox-close {
    position: absolute;
    top: 12px;
    right: 16px;
    background: none;
    border: none;
    font-size: 28px;
    color: var(--amz-gray-text);
    cursor: pointer;
    z-index: 10;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background 0.15s;
}

.amz-lightbox-close:hover {
    background: var(--amz-gray-bg);
    color: var(--amz-dark);
}

.amz-lightbox-main {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px;
    background: var(--amz-white);
    position: relative;
    overflow: hidden;
    cursor: zoom-in;
}

.amz-lightbox-main.zoomed {
    cursor: zoom-out;
    overflow: auto;
}

.amz-lightbox-main img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: transform 0.2s ease;
    user-select: none;
    -webkit-user-drag: none;
}

.amz-lightbox-main.zoomed img {
    transform: scale(2);
    transform-origin: center center;
    cursor: zoom-out;
}

.amz-lightbox-sidebar {
    background: var(--amz-gray-bg);
    padding: 24px 20px;
    overflow-y: auto;
    border-left: 1px solid var(--amz-gray-border);
}

.amz-lightbox-sidebar-title {
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: var(--amz-dark);
    margin-bottom: 16px;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.amz-lightbox-zoom-hint {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--amz-gray-text);
    font-size: 13px;
    margin-bottom: 16px;
}

.amz-lightbox-zoom-icon {
    width: 28px;
    height: 28px;
    border: 2px solid var(--amz-gray-text);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}

.amz-lightbox-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.amz-lightbox-thumb {
    width: 56px;
    height: 56px;
    border: 2px solid var(--amz-gray-border);
    border-radius: 4px;
    overflow: hidden;
    cursor: pointer;
    background: var(--amz-white);
    padding: 2px;
    transition: border-color var(--amz-transition);
}

.amz-lightbox-thumb:hover,
.amz-lightbox-thumb.active {
    border-color: var(--amz-link);
    box-shadow: 0 0 0 1px var(--amz-link);
}

.amz-lightbox-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Lightbox navigation arrows */
.amz-lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255,255,255,0.9);
    border: 1px solid var(--amz-gray-border);
    border-radius: 4px;
    width: 40px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 22px;
    color: var(--amz-dark);
    z-index: 5;
    transition: background 0.15s;
}

.amz-lightbox-nav:hover {
    background: var(--amz-white);
    box-shadow: var(--amz-shadow);
}

.amz-lightbox-nav.prev {
    left: 8px;
}

.amz-lightbox-nav.next {
    right: 8px;
}

/* Lightbox responsive */
@media (max-width: 768px) {
    .amz-lightbox-container {
        grid-template-columns: 1fr;
        width: 95vw;
        height: 90vh;
    }
    .amz-lightbox-sidebar {
        display: none;
    }
}


/* ============================================
   25. CART PAGE — AMAZON STYLE
   ============================================ */

/* --- 25.1 Cart Page Layout --- */
.amz-cart-section {
    background: var(--amz-gray-bg);
    padding: 16px 0 40px;
    min-height: 60vh;
}

/* Override Bootstrap .container inside amz sections to be full-width responsive */
.amz-cart-section > .container,
.amz-checkout-section > .container,
.amz-user-panel-section > .container {
    max-width: none !important; /* Override Bootstrap .container max-width media queries */
    padding-left: var(--amz-container-px);
    padding-right: var(--amz-container-px);
}

.amz-cart-page {
    font-family: var(--amz-font);
    color: var(--amz-dark);
    -webkit-font-smoothing: antialiased;
}

/* --- 25.2 Welcome Coupon Banner --- */
.amz-cart-welcome-coupon {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    background: #F0F2F2;
    border: 1px solid #D5D9D9;
    border-left: 4px solid var(--amz-green);
    border-radius: var(--amz-radius-sm);
    padding: 12px 16px;
    margin-bottom: 12px;
}

.amz-cart-welcome-coupon-text {
    font-size: 14px;
    color: var(--amz-dark);
}

.amz-cart-welcome-coupon-text i {
    color: var(--amz-green);
    margin-right: 4px;
}

.amz-cart-copy-coupon {
    background: var(--amz-white);
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
    padding: 6px 16px;
    font-size: 13px;
    color: var(--amz-dark);
    cursor: pointer;
    white-space: nowrap;
    transition: background var(--amz-transition);
}

.amz-cart-copy-coupon:hover {
    background: var(--amz-gray-bg);
}

/* --- 25.3 Cart Items Card --- */
.amz-cart-items-card {
    background: var(--amz-white);
    border-radius: var(--amz-radius);
    padding: 20px 24px;
    box-shadow: 0 1px 3px rgba(15,17,17,.08);
}

.amz-cart-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--amz-gray-border);
}

.amz-cart-title {
    font-size: 28px;
    font-weight: 400;
    color: var(--amz-dark);
    margin: 0;
    font-family: var(--amz-font);
}

.amz-cart-price-label {
    font-size: 14px;
    color: var(--amz-gray-text);
    font-weight: 400;
}

/* --- 25.4 Select All Row --- */
.amz-cart-select-all {
    padding: 8px 0;
    border-bottom: 1px solid #EDEDED;
}

.amz-cart-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    margin: 0;
}

.amz-cart-select-text {
    font-size: 14px;
    color: var(--amz-dark);
}

/* --- 25.5 Seller Group Headers --- */
.amz-cart-seller-group {
    border-bottom: 1px solid #EDEDED;
}

.amz-cart-seller-group:last-child {
    border-bottom: none;
}

.amz-cart-seller-header {
    padding: 12px 0 8px;
    border-bottom: 1px dashed #EDEDED;
}

.amz-cart-seller-name {
    font-size: 15px;
    font-weight: 700;
    color: var(--amz-dark);
}

/* --- 25.6 Individual Cart Item --- */
.amz-cart-item {
    display: flex;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid #EDEDED;
    align-items: flex-start;
}

.amz-cart-item:last-child {
    border-bottom: none;
}

.amz-cart-item-select {
    flex-shrink: 0;
    padding-top: 4px;
}

.amz-cart-item-image {
    flex-shrink: 0;
    width: 180px;
    height: 180px;
}

.amz-cart-item-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: var(--amz-radius-sm);
}

.amz-cart-item-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.amz-cart-item-details {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.amz-cart-item-top {
    display: flex;
    justify-content: space-between;
    gap: 16px;
}

.amz-cart-item-info {
    flex: 1;
    min-width: 0;
}

.amz-cart-item-name {
    font-size: 16px;
    font-weight: 400;
    color: var(--amz-link);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 22px;
}

.amz-cart-item-name:hover {
    color: var(--amz-link-hover);
    text-decoration: underline;
}

.amz-cart-item-variation {
    font-size: 13px;
    color: var(--amz-gray-text);
    margin-top: 4px;
}

.amz-cart-item-stock {
    font-size: 13px;
    margin-top: 4px;
}

.amz-in-stock-text {
    color: var(--amz-green);
}

.amz-out-of-stock-text {
    color: var(--amz-red);
}

.amz-cart-item-shipping {
    font-size: 13px;
    color: var(--amz-dark);
    margin-top: 2px;
}

.amz-cart-item-shipping i {
    color: var(--amz-green);
    font-size: 14px;
}

/* Price Column */
.amz-cart-item-price {
    flex-shrink: 0;
    text-align: right;
}

.amz-cart-item-price-value {
    font-size: 18px;
    font-weight: 700;
    color: var(--amz-dark);
    display: block;
}

.amz-cart-item-tax {
    font-size: 12px;
    color: var(--amz-gray-text);
    display: block;
    margin-top: 2px;
}

/* --- 25.7 Cart Item Actions Row --- */
.amz-cart-item-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
}

.amz-cart-item-qty {
    margin-right: 4px;
}

/* Quantity Controls — Amazon style */
.amz-cart-qty-btn {
    background: #F0F2F2;
    border: 1px solid var(--amz-gray-border);
    color: var(--amz-dark);
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 14px;
    transition: background var(--amz-transition);
}

.amz-cart-qty-btn:first-child {
    border-radius: 8px 0 0 8px;
}

.amz-cart-qty-btn:last-child {
    border-radius: 0 8px 8px 0;
}

.amz-cart-qty-btn:hover {
    background: var(--amz-gray-border);
}

.amz-cart-qty-btn i {
    font-size: 12px;
}

.amz-cart-qty-input {
    width: 42px;
    height: 32px;
    text-align: center;
    border: 1px solid var(--amz-gray-border);
    border-left: none;
    border-right: none;
    font-size: 14px;
    font-family: var(--amz-font);
    color: var(--amz-dark);
    background: var(--amz-white);
    -moz-appearance: textfield;
}

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

.amz-cart-qty-input:focus {
    outline: none;
    border-color: var(--amz-link);
    box-shadow: 0 0 0 2px rgba(0,113,133,.15);
}

.amz-cart-qty-static {
    font-size: 13px;
    color: var(--amz-dark);
    padding: 6px 12px;
    background: #F0F2F2;
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
}

/* Action Links */
.amz-cart-action-divider {
    color: #DDD;
    margin: 0 8px;
    font-size: 14px;
}

.amz-cart-action-link {
    font-size: 13px;
    color: var(--amz-link);
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
}

.amz-cart-action-link:hover {
    color: var(--amz-link-hover);
    text-decoration: underline;
}

.amz-cart-delete-link {
    color: var(--amz-link);
}

/* --- 25.8 Cart Subtotal Footer --- */
.amz-cart-subtotal-footer {
    text-align: right;
    padding: 16px 0 8px;
    font-size: 18px;
    color: var(--amz-dark);
    border-top: 1px solid var(--amz-gray-border);
}

.amz-cart-subtotal-amount {
    font-weight: 700;
}

/* --- 25.9 Cart Summary Sidebar --- */
.amz-cart-summary-sticky {
    position: sticky;
    top: 80px;
}

.amz-cart-summary-card {
    background: var(--amz-white);
    border-radius: var(--amz-radius);
    padding: 20px;
    box-shadow: 0 1px 3px rgba(15,17,17,.08);
}

/* Checkout Button */
.amz-cart-summary-checkout-top {
    margin-bottom: 16px;
}

.amz-cart-checkout-btn {
    display: block;
    width: 100%;
    text-align: center;
    background: var(--amz-yellow);
    color: var(--amz-dark);
    border: 1px solid var(--amz-yellow-border);
    border-radius: 100px;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 500;
    font-family: var(--amz-font);
    cursor: pointer;
    text-decoration: none;
    transition: background var(--amz-transition);
}

.amz-cart-checkout-btn:hover {
    background: var(--amz-yellow-hover);
    color: var(--amz-dark);
    text-decoration: none;
}

.amz-cart-min-order-warning {
    font-size: 12px;
    color: var(--amz-red);
    margin-top: 8px;
    text-align: center;
}

.amz-cart-min-order-warning i {
    margin-right: 2px;
}

/* Subtotal in Sidebar */
.amz-cart-summary-subtotal {
    font-size: 14px;
    color: var(--amz-dark);
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #EDEDED;
}

.amz-cart-summary-subtotal-amount {
    font-size: 18px;
    font-weight: 700;
    color: var(--amz-dark);
}

/* Summary Breakdown Table */
.amz-cart-summary-breakdown {
    margin: 0 0 12px;
}

.amz-cart-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 4px 0;
    font-size: 13px;
    color: var(--amz-dark);
}

.amz-cart-summary-meta {
    color: var(--amz-gray-text);
    font-size: 11px;
}

.amz-cart-summary-pending {
    color: var(--amz-link);
    font-size: 12px;
}

.amz-cart-free-text {
    color: var(--amz-green);
    font-weight: 600;
}

.amz-cart-discount-row {
    color: var(--amz-green);
}

.amz-cart-discount-amount {
    color: var(--amz-green);
    font-weight: 600;
}

.amz-cart-summary-total-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 12px 0 4px;
    border-top: 1px solid var(--amz-gray-border);
    margin-top: 8px;
}

.amz-cart-summary-total-label {
    font-size: 18px;
    font-weight: 700;
    color: var(--amz-dark);
}

.amz-cart-summary-total-amount {
    font-size: 18px;
    font-weight: 700;
    color: #B12704;
}

/* ZIP Code Section */
.amz-cart-zip-section {
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #EDEDED;
}

.amz-cart-zip-label {
    font-size: 13px;
    color: var(--amz-gray-text);
    margin-bottom: 6px;
}

.amz-cart-zip-label i {
    color: var(--amz-link);
}

.amz-cart-zip-input-group {
    display: flex;
    gap: 0;
}

.amz-cart-zip-input {
    flex: 1;
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius-sm) 0 0 var(--amz-radius-sm);
    padding: 6px 10px;
    font-size: 14px;
    font-family: var(--amz-font);
    color: var(--amz-dark);
    box-shadow: 0 1px 2px rgba(15,17,17,.15) inset;
}

.amz-cart-zip-input:focus {
    outline: none;
    border-color: var(--amz-orange);
    box-shadow: 0 0 3px 2px rgba(228,121,17,.5);
}

.amz-cart-zip-btn {
    background: #F0F2F2;
    border: 1px solid var(--amz-gray-border);
    border-left: none;
    border-radius: 0 var(--amz-radius-sm) var(--amz-radius-sm) 0;
    padding: 6px 14px;
    font-size: 13px;
    font-family: var(--amz-font);
    color: var(--amz-dark);
    cursor: pointer;
    white-space: nowrap;
    transition: background var(--amz-transition);
}

.amz-cart-zip-btn:hover {
    background: var(--amz-gray-border);
}

/* Club Points */
.amz-cart-clubpoints {
    font-size: 13px;
    color: var(--amz-gray-text);
    padding: 8px 0;
    border-bottom: 1px solid #EDEDED;
}

/* Coupon Section */
.amz-cart-coupon-section {
    padding: 12px 0;
    border-bottom: 1px solid #EDEDED;
}

.amz-cart-coupon-applied {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #F0FFF0;
    border: 1px solid #B2D8B2;
    border-radius: var(--amz-radius-sm);
    padding: 8px 12px;
}

.amz-cart-coupon-code {
    font-size: 14px;
    color: var(--amz-green);
    font-weight: 600;
}

.amz-cart-coupon-code i {
    margin-right: 4px;
}

.amz-cart-coupon-remove {
    background: none;
    border: none;
    color: var(--amz-link);
    font-size: 13px;
    cursor: pointer;
    padding: 0;
}

.amz-cart-coupon-remove:hover {
    color: var(--amz-link-hover);
    text-decoration: underline;
}

.amz-cart-coupon-input-group {
    display: flex;
    gap: 0;
}

.amz-cart-coupon-input {
    flex: 1;
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius-sm) 0 0 var(--amz-radius-sm);
    padding: 8px 12px;
    font-size: 14px;
    font-family: var(--amz-font);
    color: var(--amz-dark);
    box-shadow: 0 1px 2px rgba(15,17,17,.15) inset;
}

.amz-cart-coupon-input:focus {
    outline: none;
    border-color: var(--amz-orange);
    box-shadow: 0 0 3px 2px rgba(228,121,17,.5);
}

.amz-cart-coupon-apply-btn {
    background: var(--amz-white);
    border: 1px solid var(--amz-gray-border);
    border-left: none;
    border-radius: 0 var(--amz-radius-sm) var(--amz-radius-sm) 0;
    padding: 8px 18px;
    font-size: 14px;
    font-family: var(--amz-font);
    color: var(--amz-dark);
    cursor: pointer;
    white-space: nowrap;
    transition: background var(--amz-transition);
}

.amz-cart-coupon-apply-btn:hover {
    background: var(--amz-gray-bg);
}

.amz-cart-coupon-note {
    font-size: 12px;
    color: var(--amz-gray-text);
    display: block;
    margin-top: 6px;
}

/* Secure Transaction */
.amz-cart-secure {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--amz-green);
    padding-top: 12px;
}

.amz-cart-secure i {
    font-size: 16px;
}

/* --- 25.10 Empty Cart --- */
.amz-cart-empty {
    background: var(--amz-white);
    border-radius: var(--amz-radius);
    padding: 60px 40px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(15,17,17,.08);
}

.amz-cart-empty-icon {
    margin-bottom: 24px;
}

.amz-cart-empty-title {
    font-size: 28px;
    font-weight: 400;
    color: var(--amz-dark);
    margin-bottom: 12px;
    font-family: var(--amz-font);
}

.amz-cart-empty-text {
    font-size: 14px;
    color: var(--amz-gray-text);
    max-width: 500px;
    margin: 0 auto 24px;
    line-height: 20px;
}

.amz-cart-continue-btn {
    display: inline-block;
    background: var(--amz-yellow);
    color: var(--amz-dark);
    border: 1px solid var(--amz-yellow-border);
    border-radius: 100px;
    padding: 10px 32px;
    font-size: 14px;
    font-weight: 500;
    font-family: var(--amz-font);
    text-decoration: none;
    transition: background var(--amz-transition);
}

.amz-cart-continue-btn:hover {
    background: var(--amz-yellow-hover);
    color: var(--amz-dark);
    text-decoration: none;
}

/* --- 25.11 Cart Page Responsive --- */
@media (max-width: 992px) {
    .amz-cart-items-card {
        padding: 16px;
    }

    .amz-cart-item-image {
        width: 120px;
        height: 120px;
    }

    .amz-cart-title {
        font-size: 22px;
    }

    .amz-cart-summary-sticky {
        position: static;
    }
}

@media (max-width: 768px) {
    .amz-cart-section {
        padding: 8px 0 24px;
    }

    .amz-cart-items-card {
        padding: 12px;
        border-radius: 0;
    }

    .amz-cart-item {
        flex-wrap: wrap;
        gap: 12px;
    }

    .amz-cart-item-image {
        width: 100px;
        height: 100px;
    }

    .amz-cart-item-top {
        flex-direction: column;
        gap: 8px;
    }

    .amz-cart-item-price {
        text-align: left;
    }

    .amz-cart-item-name {
        font-size: 14px;
        -webkit-line-clamp: 2;
    }

    .amz-cart-header {
        flex-direction: column;
        gap: 4px;
    }

    .amz-cart-price-label {
        display: none;
    }

    .amz-cart-item-actions {
        padding-left: 0;
    }

    .amz-cart-action-divider {
        margin: 0 6px;
    }

    .amz-cart-summary-card {
        border-radius: 0;
    }
}

@media (max-width: 480px) {
    .amz-cart-item-image {
        width: 80px;
        height: 80px;
    }

    .amz-cart-title {
        font-size: 20px;
    }

    .amz-cart-item-name {
        font-size: 13px;
    }

    .amz-cart-item-price-value {
        font-size: 16px;
    }

    .amz-cart-subtotal-footer {
        font-size: 16px;
    }

    .amz-cart-empty {
        padding: 40px 20px;
    }

    .amz-cart-empty-title {
        font-size: 22px;
    }
}

/* Line Awesome icons in cart page */
.amz-cart-page .las,
.amz-cart-page .lar,
.amz-cart-page .la {
    font-family: 'Line Awesome Free' !important;
}

.amz-cart-page .lab {
    font-family: 'Line Awesome Brands' !important;
}


/* ============================================
   26. CHECKOUT PAGE — AMAZON STYLE
   ============================================ */

/* --- 26.1 Checkout Page Layout --- */
.amz-checkout-section {
    background: var(--amz-gray-bg);
    padding: 16px 0 40px;
    min-height: 60vh;
    font-family: var(--amz-font);
    color: var(--amz-dark);
    -webkit-font-smoothing: antialiased;
}

/* --- 26.2 Checkout Steps --- */
.amz-checkout-steps {
    /* Container for accordion steps */
}

.amz-checkout-step {
    background: var(--amz-white);
    border-radius: var(--amz-radius);
    box-shadow: 0 1px 3px rgba(15,17,17,.08);
    overflow: hidden;
}

.amz-checkout-step-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    cursor: pointer;
    border-bottom: 1px solid var(--amz-gray-border);
    transition: background var(--amz-transition);
}

.amz-checkout-step-header:hover {
    background: #FAFAFA;
}

.amz-checkout-step-title {
    display: flex;
    align-items: center;
    gap: 12px;
}

.amz-checkout-step-number {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--amz-gray-border);
    color: var(--amz-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    flex-shrink: 0;
    transition: background 0.2s ease, color 0.2s ease;
}

.amz-checkout-step-number.amz-step-complete {
    background: var(--amz-green);
    color: var(--amz-white);
}

.amz-checkout-step-label {
    font-size: 18px;
    font-weight: 700;
    color: var(--amz-dark);
}

.amz-checkout-step-arrow {
    font-size: 18px;
    color: var(--amz-gray-text);
    transition: transform 0.2s ease;
}

.amz-checkout-step-header[aria-expanded="false"] .amz-checkout-step-arrow {
    transform: rotate(-90deg);
}

.amz-checkout-step-body {
    padding: 20px;
}

/* --- 26.3 Checkout Actions Row --- */
.amz-checkout-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 16px;
    margin-top: 16px;
    border-top: 1px solid var(--amz-gray-border);
}

.amz-checkout-back-link {
    color: var(--amz-link);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 4px;
}

.amz-checkout-back-link:hover {
    color: var(--amz-link-hover);
    text-decoration: underline;
}

.amz-checkout-back-link i {
    font-size: 16px;
}

.amz-checkout-empty-warning {
    font-size: 13px;
    color: var(--amz-red);
    margin-bottom: 8px;
    padding: 8px 12px;
    background: #FFF5F5;
    border: 1px solid #FDD;
    border-radius: var(--amz-radius-sm);
}

.amz-checkout-place-order-btn {
    background: var(--amz-yellow);
    color: var(--amz-dark);
    border: 1px solid var(--amz-yellow-border);
    border-radius: 100px;
    padding: 10px 32px;
    font-size: 14px;
    font-weight: 500;
    font-family: var(--amz-font);
    cursor: pointer;
    transition: background var(--amz-transition);
}

.amz-checkout-place-order-btn:hover {
    background: var(--amz-yellow-hover);
}

.amz-checkout-place-order-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* --- 26.4 Checkout Summary Sidebar --- */
.amz-checkout-summary-sticky {
    position: sticky;
    top: 80px;
}

.amz-checkout-summary-card {
    background: var(--amz-white);
    border-radius: var(--amz-radius);
    padding: 20px;
    box-shadow: 0 1px 3px rgba(15,17,17,.08);
}

.amz-checkout-summary-place-btn {
    width: 100%;
    margin-bottom: 12px;
}

.amz-checkout-summary-agreement {
    font-size: 12px;
    color: var(--amz-gray-text);
    text-align: center;
    margin-bottom: 16px;
    line-height: 18px;
}

.amz-checkout-summary-agreement a {
    color: var(--amz-link);
    text-decoration: none;
}

.amz-checkout-summary-agreement a:hover {
    color: var(--amz-link-hover);
    text-decoration: underline;
}

.amz-checkout-summary-divider {
    height: 1px;
    background: var(--amz-gray-border);
    margin: 16px 0;
}

.amz-checkout-summary-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--amz-dark);
    margin: 0 0 12px 0;
    font-family: var(--amz-font);
}

/* --- 26.5 Checkout Form Styling Overrides --- */
.amz-checkout-step-body .form-control {
    border-radius: var(--amz-radius-sm);
    border-color: var(--amz-gray-border);
    font-family: var(--amz-font);
    font-size: 14px;
    box-shadow: 0 1px 2px rgba(15,17,17,.15) inset;
}

.amz-checkout-step-body .form-control:focus {
    border-color: var(--amz-orange);
    box-shadow: 0 0 3px 2px rgba(228,121,17,.5);
}

.amz-checkout-step-body label {
    font-size: 14px;
    font-weight: 700;
    color: var(--amz-dark);
}

.amz-checkout-step-body .btn-primary {
    background: var(--amz-yellow);
    color: var(--amz-dark);
    border-color: var(--amz-yellow-border);
    font-family: var(--amz-font);
    border-radius: 100px;
    font-weight: 500;
}

.amz-checkout-step-body .btn-primary:hover {
    background: var(--amz-yellow-hover);
    border-color: var(--amz-yellow-border);
    color: var(--amz-dark);
}

/* --- 26.6 Checkout Responsive --- */
@media (max-width: 992px) {
    .amz-checkout-summary-sticky {
        position: static;
    }

    .amz-checkout-step-label {
        font-size: 16px;
    }
}

@media (max-width: 768px) {
    .amz-checkout-section {
        padding: 8px 0 24px;
    }

    .amz-checkout-step {
        border-radius: 0;
    }

    .amz-checkout-step-body {
        padding: 16px;
    }

    .amz-checkout-actions {
        flex-direction: column;
        gap: 12px;
    }

    .amz-checkout-place-order-btn {
        width: 100%;
    }

    .amz-checkout-summary-card {
        border-radius: 0;
    }
}

/* Line Awesome icons in checkout */
.amz-checkout-section .las,
.amz-checkout-section .lar,
.amz-checkout-section .la {
    font-family: 'Line Awesome Free' !important;
}

.amz-checkout-section .lab {
    font-family: 'Line Awesome Brands' !important;
}


/* ============================================
   27. ORDER CONFIRMATION PAGE — AMAZON STYLE
   ============================================ */

.amz-order-confirmed-section {
    background: var(--amz-gray-bg);
    padding: 24px 0 48px;
    font-family: var(--amz-font);
    color: var(--amz-dark);
    -webkit-font-smoothing: antialiased;
}

/* Success Header */
.amz-order-success-header {
    text-align: center;
    padding: 32px 20px 24px;
    background: var(--amz-white);
    border-radius: var(--amz-radius);
    margin-bottom: 16px;
    box-shadow: 0 1px 3px rgba(15,17,17,.08);
}

.amz-order-success-icon {
    margin-bottom: 12px;
}

.amz-order-success-icon i {
    font-size: 56px;
    color: #067D62;
}

.amz-order-success-title {
    font-size: 28px;
    font-weight: 400;
    color: #067D62;
    margin: 0 0 8px;
    font-family: var(--amz-font);
}

.amz-order-success-text {
    font-size: 14px;
    color: var(--amz-gray-text);
    margin: 0;
}

/* Order Summary Card */
.amz-order-summary-card {
    background: var(--amz-white);
    border-radius: var(--amz-radius);
    padding: 20px 24px;
    margin-bottom: 16px;
    box-shadow: 0 1px 3px rgba(15,17,17,.08);
}

.amz-order-summary-heading {
    font-size: 18px;
    font-weight: 700;
    color: var(--amz-dark);
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--amz-gray-border);
    font-family: var(--amz-font);
}

.amz-order-summary-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 32px;
}

.amz-order-detail-row {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 12px;
}

.amz-order-detail-label {
    font-size: 12px;
    color: #565959;
    font-weight: 400;
}

.amz-order-detail-value {
    font-size: 14px;
    color: var(--amz-dark);
}

.amz-order-total-highlight {
    font-size: 18px;
    font-weight: 700;
    color: #B12704;
}

.amz-order-status-badge {
    display: inline-block;
    padding: 3px 10px;
    background: #FFF8E7;
    border: 1px solid #FFD814;
    border-radius: 12px;
    font-size: 13px;
    color: var(--amz-dark);
    font-weight: 500;
}

/* Order Items Card */
.amz-order-items-card {
    background: var(--amz-white);
    border-radius: var(--amz-radius);
    margin-bottom: 16px;
    box-shadow: 0 1px 3px rgba(15,17,17,.08);
    overflow: hidden;
}

.amz-order-items-header {
    background: #F0F2F2;
    padding: 12px 24px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid var(--amz-gray-border);
}

.amz-order-code-label {
    font-size: 13px;
    color: var(--amz-gray-text);
}

.amz-order-code-value {
    font-size: 14px;
    font-weight: 700;
    color: var(--amz-link);
}

/* Product Row */
.amz-order-product-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 24px;
    border-bottom: 1px solid #EDEDED;
}

.amz-order-product-row:last-of-type {
    border-bottom: none;
}

.amz-order-product-info {
    flex: 1;
    min-width: 0;
}

.amz-order-product-name {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 4px;
}

.amz-order-product-name a {
    color: var(--amz-link);
    text-decoration: none;
}

.amz-order-product-name a:hover {
    color: var(--amz-link-hover);
    text-decoration: underline;
}

.amz-order-unavailable {
    color: var(--amz-red);
    font-weight: 600;
}

.amz-order-product-variation {
    font-size: 13px;
    color: var(--amz-gray-text);
    margin-bottom: 2px;
}

.amz-order-product-meta {
    font-size: 13px;
    color: var(--amz-gray-text);
}

.amz-order-product-price {
    flex-shrink: 0;
    text-align: right;
    font-size: 14px;
    font-weight: 700;
    color: var(--amz-dark);
}

.amz-order-product-tax {
    display: block;
    font-size: 12px;
    color: var(--amz-gray-text);
    font-weight: 400;
    margin-top: 2px;
}

/* Order Totals */
.amz-order-totals {
    padding: 16px 24px;
    border-top: 1px solid var(--amz-gray-border);
    background: #FAFAFA;
}

.amz-order-totals-row {
    display: flex;
    justify-content: space-between;
    padding: 3px 0;
    font-size: 14px;
    color: var(--amz-dark);
}

.amz-order-totals-grand {
    display: flex;
    justify-content: space-between;
    padding: 12px 0 4px;
    margin-top: 8px;
    border-top: 1px solid var(--amz-gray-border);
    font-size: 18px;
    font-weight: 700;
    color: #B12704;
}

/* Continue Shopping */
.amz-order-continue {
    text-align: center;
    padding: 24px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.amz-order-view-orders-btn {
    display: inline-block;
    background: var(--amz-yellow);
    color: var(--amz-dark);
    border: 1px solid var(--amz-yellow-border);
    border-radius: 100px;
    padding: 10px 32px;
    font-size: 14px;
    font-weight: 500;
    font-family: var(--amz-font);
    text-decoration: none;
    transition: background var(--amz-transition);
}

.amz-order-view-orders-btn:hover {
    background: var(--amz-yellow-hover);
    color: var(--amz-dark);
    text-decoration: none;
}

.amz-order-continue-shopping-link {
    color: var(--amz-link);
    font-size: 14px;
    text-decoration: none;
}

.amz-order-continue-shopping-link:hover {
    color: var(--amz-link-hover);
    text-decoration: underline;
}

/* Order Confirmed Responsive */
@media (max-width: 768px) {
    .amz-order-confirmed-section {
        padding: 12px 0 24px;
    }

    .amz-order-summary-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .amz-order-product-row {
        padding: 12px 16px;
        flex-direction: column;
    }

    .amz-order-product-price {
        text-align: left;
    }

    .amz-order-totals {
        padding: 12px 16px;
    }

    .amz-order-success-title {
        font-size: 20px;
    }
}

/* Line Awesome icons on order confirmation */
.amz-order-confirmed-section .las,
.amz-order-confirmed-section .la {
    font-family: 'Line Awesome Free' !important;
}


/* ============================================
   28. WISHLIST PAGE — AMAZON STYLE
   ============================================ */

.amz-wishlist-page {
    font-family: var(--amz-font);
    color: var(--amz-dark);
}

.amz-wishlist-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-bottom: 12px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--amz-gray-border);
}

.amz-wishlist-title {
    font-size: 28px;
    font-weight: 400;
    color: var(--amz-dark);
    margin: 0;
    font-family: var(--amz-font);
}

.amz-wishlist-count {
    font-size: 14px;
    color: var(--amz-gray-text);
}

/* Wishlist Item */
.amz-wishlist-items {
    /* Container */
}

.amz-wishlist-item {
    display: flex;
    gap: 20px;
    padding: 16px 0;
    border-bottom: 1px solid #EDEDED;
    align-items: flex-start;
}

.amz-wishlist-item-image {
    flex-shrink: 0;
    width: 140px;
    height: 140px;
}

.amz-wishlist-item-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.amz-wishlist-item-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.amz-wishlist-item-details {
    flex: 1;
    min-width: 0;
}

.amz-wishlist-item-name {
    font-size: 16px;
    color: #2162A1;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 22px;
    margin-bottom: 4px;
}

.amz-wishlist-item-name:hover {
    color: #c7511f;
    text-decoration: underline;
}

.amz-wishlist-item-price {
    margin-bottom: 4px;
}

.amz-wishlist-price-current {
    font-size: 18px;
    font-weight: 700;
    color: var(--amz-dark);
}

.amz-wishlist-price-original {
    font-size: 13px;
    color: var(--amz-gray-text);
    margin-left: 6px;
}

.amz-wishlist-item-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 10px;
}

.amz-wishlist-add-to-cart-btn {
    display: inline-block;
    background: var(--amz-yellow);
    color: var(--amz-dark);
    border: 1px solid var(--amz-yellow-border);
    border-radius: 100px;
    padding: 6px 18px;
    font-size: 13px;
    font-weight: 500;
    font-family: var(--amz-font);
    text-decoration: none;
    transition: background var(--amz-transition);
}

.amz-wishlist-add-to-cart-btn:hover {
    background: var(--amz-yellow-hover);
    color: var(--amz-dark);
    text-decoration: none;
}

.amz-wishlist-remove-link {
    font-size: 13px;
    color: #2162A1;
    text-decoration: none;
}

.amz-wishlist-remove-link:hover {
    color: #c7511f;
    text-decoration: underline;
}

/* Empty Wishlist */
.amz-wishlist-empty {
    text-align: center;
    padding: 48px 20px;
    background: var(--amz-white);
    border-radius: var(--amz-radius);
}

.amz-wishlist-empty-img {
    max-width: 200px;
    opacity: 0.6;
    margin-bottom: 16px;
}

.amz-wishlist-empty-title {
    font-size: 22px;
    font-weight: 400;
    color: var(--amz-dark);
    margin-bottom: 8px;
    font-family: var(--amz-font);
}

.amz-wishlist-empty-text {
    font-size: 14px;
    color: var(--amz-gray-text);
    margin-bottom: 20px;
}

/* Wishlist Responsive */
@media (max-width: 768px) {
    .amz-wishlist-item {
        gap: 12px;
    }

    .amz-wishlist-item-image {
        width: 100px;
        height: 100px;
    }

    .amz-wishlist-item-name {
        font-size: 14px;
    }

    .amz-wishlist-price-current {
        font-size: 16px;
    }

    .amz-wishlist-title {
        font-size: 20px;
    }
}

@media (max-width: 480px) {
    .amz-wishlist-item-image {
        width: 80px;
        height: 80px;
    }

    .amz-wishlist-item-actions {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}


/* ============================================
   29. USER PANEL — Layout, Sidebar, Dashboard,
       Purchase History, Order Details
   ============================================ */

/* --- 29.1 User Panel Layout --- */
.amz-user-panel-section {
    background: var(--amz-gray-bg);
    padding: 24px 0 48px;
    font-family: var(--amz-font);
    -webkit-font-smoothing: antialiased;
    min-height: 70vh;
}

.mf-user-panel {
    font-family: var(--amz-font);
    color: var(--amz-dark);
}

/* User panel general card styling */
.mf-user-panel .card {
    border-radius: var(--amz-radius) !important;
    border-color: var(--amz-gray-border) !important;
    box-shadow: 0 1px 3px rgba(15,17,17,.08);
}

.mf-user-panel .card-header {
    background: var(--amz-white);
    border-bottom-color: var(--amz-gray-border) !important;
}

/* Button styling in user panel */
.mf-user-panel .btn-primary {
    background: var(--amz-yellow) !important;
    color: var(--amz-dark) !important;
    border-color: var(--amz-yellow-border) !important;
    border-radius: var(--amz-radius) !important;
    font-family: var(--amz-font);
    font-weight: 500;
}

.mf-user-panel .btn-primary:hover {
    background: var(--amz-yellow-hover) !important;
}

/* --- 29.2 Sidebar Styling --- */
.mf-user-sidenav-wrap {
    border-radius: var(--amz-radius) !important;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15,17,17,.08);
}

.mf-user-sidenav {
    font-family: var(--amz-font);
}

.mf-side-nav-list .mf-side-nav-link {
    font-family: var(--amz-font);
    font-size: 14px;
    color: var(--amz-dark);
    transition: color 0.15s ease, background 0.15s ease;
    border-radius: 4px;
}

.mf-side-nav-list .mf-side-nav-link:hover {
    color: var(--amz-link-hover);
    background: rgba(0,0,0,0.02);
}

.mf-side-nav-list .mf-side-nav-link.active {
    color: var(--amz-link-hover);
    font-weight: 600;
}

.mf-user-sidenav .btn-primary {
    background: var(--amz-yellow) !important;
    color: var(--amz-dark) !important;
    border-color: var(--amz-yellow-border) !important;
    font-family: var(--amz-font);
    font-weight: 600;
}

.mf-user-sidenav .btn-primary:hover {
    background: var(--amz-yellow-hover) !important;
}

/* --- 29.3 Dashboard Page --- */

/* Welcome Coupon */
.amz-dash-welcome-coupon {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    background: #E6F6FA;
    border: 1px solid #B8DAFF;
    border-radius: var(--amz-radius);
    padding: 14px 20px;
    margin-bottom: 20px;
    font-size: 14px;
    color: var(--amz-dark);
}

.amz-dash-welcome-coupon-text i {
    font-size: 18px;
    color: var(--amz-orange);
    margin-right: 6px;
}

.amz-dash-coupon-copy-btn {
    background: var(--amz-yellow);
    color: var(--amz-dark);
    border: 1px solid var(--amz-yellow-border);
    border-radius: 100px;
    padding: 6px 18px;
    font-size: 13px;
    font-weight: 500;
    font-family: var(--amz-font);
    cursor: pointer;
    transition: background var(--amz-transition);
}

.amz-dash-coupon-copy-btn:hover {
    background: var(--amz-yellow-hover);
}

/* Stats Row — Wallet + Finance */
.amz-dash-stats-row {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 16px;
    margin-bottom: 20px;
}

.amz-dash-wallet-card {
    border-radius: var(--amz-radius);
    overflow: hidden;
}

.amz-dash-wallet-inner {
    background-size: cover;
    background-position: center;
    border-radius: var(--amz-radius);
    min-height: 220px;
}

.amz-dash-wallet-content {
    padding: 24px;
    display: flex;
    flex-direction: column;
    width: 50%;
}

.amz-dash-wallet-label {
    font-size: 14px;
    color: rgba(255,255,255,0.7);
    margin-bottom: 4px;
}

.amz-dash-wallet-amount {
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 0;
}

.amz-dash-wallet-divider {
    border-top: 1px dashed rgba(255,255,255,0.4);
    margin: 16px 0;
}

.amz-dash-wallet-sub-label {
    font-size: 13px;
    color: rgba(255,255,255,0.7);
    margin-bottom: 2px;
}

.amz-dash-wallet-sub-amount {
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 16px;
}

.amz-dash-wallet-recharge-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.3);
    color: #fff;
    border-radius: 100px;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 500;
    font-family: var(--amz-font);
    cursor: pointer;
    transition: background 0.2s ease;
    margin-top: auto;
}

.amz-dash-wallet-recharge-btn:hover {
    background: rgba(255,255,255,0.2);
}

.amz-dash-wallet-recharge-btn i {
    font-size: 16px;
}

/* Finance Cards (Expenditure + Club Points) */
.amz-dash-finance-cards {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.amz-dash-expenditure-card,
.amz-dash-clubpoint-card {
    background: var(--amz-white);
    border-radius: var(--amz-radius);
    padding: 20px;
    box-shadow: 0 1px 3px rgba(15,17,17,.08);
    display: flex;
    flex-direction: column;
    flex: 1;
}

.amz-dash-expenditure-card {
    border-left: 4px solid var(--amz-orange);
}

.amz-dash-clubpoint-card {
    border-left: 4px solid #85B567;
}

.amz-dash-stat-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}

.amz-dash-stat-icon i {
    font-size: 20px;
    color: #fff;
}

.amz-dash-stat-icon-primary {
    background: var(--amz-orange);
}

.amz-dash-stat-icon-secondary {
    background: #85B567;
}

.amz-dash-stat-info {
    display: flex;
    flex-direction: column;
    margin-bottom: auto;
}

.amz-dash-stat-label {
    font-size: 13px;
    color: var(--amz-gray-text);
    margin-bottom: 2px;
}

.amz-dash-stat-value {
    font-size: 22px;
    font-weight: 700;
    color: var(--amz-dark);
}

.amz-dash-stat-link {
    font-size: 13px;
    color: #2162A1;
    text-decoration: none;
    margin-top: 12px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.amz-dash-stat-link:hover {
    color: #c7511f;
    text-decoration: underline;
}

/* Quick Stats Row */
.amz-dash-quick-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.amz-dash-quick-stat-card {
    background: var(--amz-white);
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
    padding: 0;
    box-shadow: 0 1px 3px rgba(15,17,17,.08);
}

.amz-dash-quick-count-group {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 20px;
    border-bottom: 1px solid #EDEDED;
}

.amz-dash-quick-count-group:last-child {
    border-bottom: none;
}

.amz-dash-quick-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.amz-dash-quick-icon i {
    font-size: 20px;
    color: #fff;
}

.amz-dash-quick-info {
    display: flex;
    flex-direction: column;
}

.amz-dash-quick-count {
    font-size: 20px;
    font-weight: 700;
    color: var(--amz-dark);
    line-height: 1.2;
}

.amz-dash-quick-label {
    font-size: 13px;
    color: var(--amz-gray-text);
}

/* Package & Address Cards */
.amz-dash-package-card,
.amz-dash-address-card {
    background: var(--amz-white);
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
    padding: 20px;
    box-shadow: 0 1px 3px rgba(15,17,17,.08);
}

.amz-dash-card-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--amz-dark);
    margin: 0 0 16px;
    font-family: var(--amz-font);
}

.amz-dash-package-logo {
    max-height: 60px;
    margin-bottom: 12px;
}

.amz-dash-package-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--amz-orange);
    margin-bottom: 12px;
}

.amz-dash-package-detail {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    color: var(--amz-gray-text);
    padding: 4px 0;
}

.amz-dash-package-detail strong {
    color: var(--amz-dark);
}

.amz-dash-upgrade-btn,
.amz-dash-add-address-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    background: var(--amz-dark);
    color: #fff;
    border: none;
    border-radius: 100px;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 500;
    font-family: var(--amz-font);
    cursor: pointer;
    transition: background 0.2s ease;
    margin-top: 16px;
    text-decoration: none;
    text-align: center;
}

.amz-dash-upgrade-btn:hover,
.amz-dash-add-address-btn:hover {
    background: #333;
    color: #fff;
    text-decoration: none;
}

.amz-dash-add-address-btn i {
    font-size: 16px;
}

.amz-dash-address-details {
    margin-bottom: 8px;
}

.amz-dash-address-details p {
    font-size: 14px;
    color: var(--amz-dark);
    margin: 0;
    line-height: 1.6;
}

/* Wishlist Section */
.amz-dash-wishlist-section {
    background: var(--amz-white);
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
    padding: 20px;
    box-shadow: 0 1px 3px rgba(15,17,17,.08);
}

.amz-dash-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.amz-dash-section-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--amz-dark);
    margin: 0;
    font-family: var(--amz-font);
}

.amz-dash-view-all-link {
    font-size: 13px;
    color: #2162A1;
    text-decoration: none;
    font-weight: 600;
}

.amz-dash-view-all-link:hover {
    color: #c7511f;
    text-decoration: underline;
}

.amz-dash-wishlist-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}

.amz-dash-wishlist-item {
    border: 1px solid #EDEDED;
    border-radius: var(--amz-radius);
    overflow: hidden;
    transition: box-shadow 0.2s ease;
}

.amz-dash-wishlist-item:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.amz-dash-wishlist-img-wrap {
    position: relative;
    height: 160px;
    background: #F7F7F7;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.amz-dash-wishlist-img-wrap a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.amz-dash-wishlist-img-wrap img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    opacity: 1 !important;
}

.amz-dash-wishlist-remove {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 28px;
    height: 28px;
    background: rgba(255,255,255,0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--amz-gray-text);
    opacity: 0;
    transition: opacity 0.2s ease;
}

.amz-dash-wishlist-item:hover .amz-dash-wishlist-remove {
    opacity: 1;
}

.amz-dash-wishlist-remove:hover {
    color: var(--amz-red);
}

.amz-dash-wishlist-info {
    padding: 10px 12px;
}

.amz-dash-wishlist-name {
    font-size: 13px;
    color: var(--amz-dark);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 18px;
    margin-bottom: 4px;
}

.amz-dash-wishlist-name:hover {
    color: var(--amz-link-hover);
}

.amz-dash-wishlist-current-price {
    font-size: 15px;
    font-weight: 700;
    color: var(--amz-dark);
}

.amz-dash-wishlist-old-price {
    font-size: 12px;
    color: var(--amz-gray-text);
    margin-left: 4px;
}

.amz-dash-wishlist-empty {
    text-align: center;
    padding: 32px 20px;
}

.amz-dash-wishlist-empty-img {
    max-width: 160px;
    opacity: 0.5;
    margin-bottom: 12px;
}

.amz-dash-wishlist-empty p {
    font-size: 14px;
    color: var(--amz-gray-text);
}

/* Dashboard Responsive */
@media (max-width: 1200px) {
    .amz-dash-stats-row {
        grid-template-columns: 1fr;
    }

    .amz-dash-wallet-content {
        width: 60%;
    }
}

@media (max-width: 992px) {
    .amz-dash-quick-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .amz-dash-wishlist-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .amz-user-panel-section {
        padding: 12px 0 24px;
    }

    .amz-dash-stats-row {
        grid-template-columns: 1fr;
    }

    .amz-dash-wallet-content {
        width: 100%;
    }

    .amz-dash-finance-cards {
        flex-direction: column;
    }

    .amz-dash-quick-stats {
        grid-template-columns: 1fr;
    }

    .amz-dash-wishlist-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .amz-dash-welcome-coupon {
        flex-direction: column;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .amz-dash-wishlist-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .amz-dash-wishlist-img-wrap {
        height: 120px;
    }
}


/* --- 29.4 Purchase History (Your Orders) --- */
.amz-orders-page {
    font-family: var(--amz-font);
    color: var(--amz-dark);
}

.amz-orders-header {
    margin-bottom: 20px;
}

.amz-orders-title {
    font-size: 28px;
    font-weight: 400;
    color: var(--amz-dark);
    margin: 0;
    font-family: var(--amz-font);
}

.amz-orders-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Order Card — Amazon "Your Orders" style */
.amz-order-card {
    background: var(--amz-white);
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
    overflow: hidden;
}

.amz-order-card-header {
    background: #F0F2F2;
    padding: 14px 18px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 12px;
    border-bottom: 1px solid var(--amz-gray-border);
}

.amz-order-card-meta {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.amz-order-card-meta-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.amz-order-card-meta-label {
    font-size: 12px;
    color: #565959;
    font-weight: 400;
}

.amz-order-card-meta-value {
    font-size: 14px;
    color: #565959;
}

.amz-order-card-id {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

.amz-order-card-details-link {
    font-size: 14px;
    color: #2162A1;
    text-decoration: none;
}

.amz-order-card-details-link:hover {
    color: #c7511f;
    text-decoration: underline;
}

.amz-order-card-body {
    padding: 14px 18px 6px;
}

/* Status Row */
.amz-order-card-status-row {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.amz-order-card-status-text {
    font-size: 18px;
    font-weight: 700;
}

.amz-status-delivered {
    color: var(--amz-green);
}

.amz-status-cancelled {
    color: var(--amz-red);
}

.amz-status-pending {
    color: var(--amz-orange);
}

.amz-order-new-badge {
    display: inline-block;
    background: var(--amz-green);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 10px;
    margin-left: 4px;
}

.amz-order-payment-badge {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    padding: 3px 12px;
    border-radius: 12px;
}

.amz-payment-paid {
    background: #E6F7E6;
    color: var(--amz-green);
}

.amz-payment-unpaid {
    background: #FFF0F0;
    color: var(--amz-red);
}

/* Product Preview in Order Card */
.amz-order-card-products {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 14px;
}

.amz-order-card-product {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    min-width: 0;
    flex: 1;
    min-width: 200px;
    max-width: 300px;
}

.amz-order-card-product-img {
    flex-shrink: 0;
    width: 90px;
    height: 90px;
    border: 1px solid #EDEDED;
    border-radius: 4px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F9F9F9;
}

.amz-order-card-product-img img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    opacity: 1 !important;
}

.amz-order-card-product-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.amz-order-card-product-name {
    font-size: 14px;
    color: #2162A1;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 18px;
}

.amz-order-card-product-name:hover {
    color: #c7511f;
    text-decoration: underline;
}

.amz-order-card-product-variation {
    font-size: 12px;
    color: var(--amz-gray-text);
}

.amz-order-card-product-qty {
    font-size: 12px;
    color: var(--amz-gray-text);
}

.amz-order-card-more-items {
    font-size: 13px;
    color: var(--amz-gray-text);
    align-self: center;
}

/* Order Card Actions */
.amz-order-card-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    padding-top: 14px;
    border-top: 1px solid #EDEDED;
}

.amz-order-action-btn {
    display: inline-block;
    padding: 7px 18px;
    font-size: 13px;
    font-weight: 500;
    font-family: var(--amz-font);
    border-radius: 100px;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    transition: background var(--amz-transition);
    border: 1px solid;
}

.amz-order-action-primary {
    background: var(--amz-yellow);
    color: var(--amz-dark);
    border-color: var(--amz-yellow-border);
}

.amz-order-action-primary:hover {
    background: var(--amz-yellow-hover);
    color: var(--amz-dark);
    text-decoration: none;
}

.amz-order-action-secondary {
    background: var(--amz-white);
    color: var(--amz-dark);
    border-color: #D5D9D9;
}

.amz-order-action-secondary:hover {
    background: #F7FAFA;
    color: var(--amz-dark);
    text-decoration: none;
}

.amz-order-action-danger {
    background: var(--amz-white);
    color: var(--amz-red);
    border-color: var(--amz-red);
}

.amz-order-action-danger:hover {
    background: #FFF0F0;
    color: var(--amz-red);
    text-decoration: none;
}

/* Empty Orders */
.amz-orders-empty {
    text-align: center;
    padding: 48px 20px;
    background: var(--amz-white);
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
}

.amz-orders-empty-img {
    max-width: 200px;
    opacity: 0.5;
    margin-bottom: 16px;
}

.amz-orders-empty-title {
    font-size: 20px;
    font-weight: 400;
    color: var(--amz-dark);
    margin-bottom: 8px;
    font-family: var(--amz-font);
}

.amz-orders-empty-text {
    font-size: 14px;
    color: var(--amz-gray-text);
    margin-bottom: 20px;
}

/* Purchase History Responsive */
@media (max-width: 768px) {
    .amz-order-card-header {
        flex-direction: column;
    }

    .amz-order-card-id {
        align-items: flex-start;
        flex-direction: row;
        gap: 12px;
    }

    .amz-order-card-meta {
        gap: 16px;
    }

    .amz-order-card-product {
        min-width: 160px;
    }

    .amz-orders-title {
        font-size: 20px;
    }
}

@media (max-width: 480px) {
    .amz-order-card-meta {
        flex-direction: column;
        gap: 8px;
    }

    .amz-order-card-actions {
        flex-direction: column;
    }

    .amz-order-action-btn {
        width: 100%;
        text-align: center;
    }
}


/* --- 29.5 Order Details Page --- */
.amz-order-detail-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 20px;
    flex-wrap: wrap;
    gap: 8px;
}

.amz-order-detail-back {
    font-size: 13px;
    color: #2162A1;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 4px;
}

.amz-order-detail-back:hover {
    color: #c7511f;
    text-decoration: underline;
}

.amz-order-detail-title {
    font-size: 22px;
    font-weight: 400;
    color: var(--amz-dark);
    margin: 0;
    font-family: var(--amz-font);
}

.amz-order-detail-header-right {
    text-align: right;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.amz-order-detail-code {
    font-size: 14px;
    font-weight: 600;
    color: var(--amz-dark);
}

.amz-order-detail-date {
    font-size: 13px;
    color: var(--amz-gray-text);
}

/* Order Detail Summary */
.amz-order-detail-summary {
    background: var(--amz-white);
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
    padding: 20px 24px;
    margin-bottom: 16px;
    box-shadow: 0 1px 3px rgba(15,17,17,.08);
}

.amz-order-detail-summary-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
}

.amz-order-detail-summary-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--amz-dark);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin: 0 0 8px;
    font-family: var(--amz-font);
}

.amz-order-detail-summary-text {
    font-size: 14px;
    color: var(--amz-dark);
    line-height: 1.6;
    margin: 0;
}

.amz-order-detail-amount-rows {
    display: flex;
    flex-direction: column;
}

.amz-order-detail-amount-row {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    color: var(--amz-dark);
    padding: 2px 0;
}

.amz-order-detail-amount-total {
    display: flex;
    justify-content: space-between;
    font-size: 16px;
    font-weight: 700;
    color: #B12704;
    padding-top: 8px;
    margin-top: 6px;
    border-top: 1px solid var(--amz-gray-border);
}

/* Status Bar */
.amz-order-detail-status-bar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    background: var(--amz-white);
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
    padding: 14px 24px;
    margin-bottom: 16px;
    box-shadow: 0 1px 3px rgba(15,17,17,.08);
}

.amz-order-detail-status-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
}

.amz-order-detail-status-label {
    color: var(--amz-gray-text);
    font-weight: 500;
}

.amz-order-detail-pay-btn {
    display: inline-block;
    background: var(--amz-yellow);
    color: var(--amz-dark);
    border: 1px solid var(--amz-yellow-border);
    border-radius: 100px;
    padding: 8px 24px;
    font-size: 14px;
    font-weight: 500;
    font-family: var(--amz-font);
    cursor: pointer;
    transition: background var(--amz-transition);
    margin-left: auto;
}

.amz-order-detail-pay-btn:hover {
    background: var(--amz-yellow-hover);
}

/* Order Items Card */
.amz-order-detail-items-card {
    background: var(--amz-white);
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15,17,17,.08);
    margin-bottom: 16px;
}

.amz-order-detail-items-header {
    background: #F0F2F2;
    padding: 14px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    border-bottom: 1px solid var(--amz-gray-border);
}

.amz-order-detail-items-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--amz-dark);
    margin: 0;
    font-family: var(--amz-font);
}

.amz-order-detail-seller {
    font-size: 13px;
    color: var(--amz-gray-text);
}

/* Order Detail Item Row */
.amz-order-detail-item {
    display: flex;
    gap: 16px;
    padding: 16px 24px;
    border-bottom: 1px solid #EDEDED;
    align-items: flex-start;
}

.amz-order-detail-item:last-child {
    border-bottom: none;
}

.amz-order-detail-item-img {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    border: 1px solid #EDEDED;
    border-radius: 4px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F9F9F9;
}

.amz-order-detail-item-img img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    opacity: 1 !important;
}

.amz-order-detail-item-info {
    flex: 1;
    min-width: 0;
}

.amz-order-detail-item-name {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 4px;
}

.amz-order-detail-item-name a {
    color: #2162A1;
    text-decoration: none;
}

.amz-order-detail-item-name a:hover {
    color: #c7511f;
    text-decoration: underline;
}

.amz-order-detail-item-variation {
    display: block;
    font-size: 13px;
    color: var(--amz-gray-text);
    margin-bottom: 2px;
}

.amz-order-detail-item-qty {
    display: block;
    font-size: 13px;
    color: var(--amz-gray-text);
    margin-bottom: 2px;
}

.amz-order-detail-item-delivery {
    display: block;
    font-size: 12px;
    color: var(--amz-gray-text);
}

.amz-order-detail-item-right {
    flex-shrink: 0;
    text-align: right;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.amz-order-detail-item-price {
    font-size: 15px;
    font-weight: 700;
    color: var(--amz-dark);
}

.amz-order-detail-item-tax {
    display: block;
    font-size: 12px;
    color: var(--amz-gray-text);
    font-weight: 400;
    margin-top: 2px;
}

.amz-order-detail-item-actions {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: flex-end;
}

.amz-order-detail-action-link {
    font-size: 13px;
    color: #2162A1;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.amz-order-detail-action-link:hover {
    color: #c7511f;
    text-decoration: underline;
}

.amz-order-detail-refund-status {
    font-size: 12px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 10px;
}

.amz-refund-pending {
    background: #FFF8E7;
    color: #B17A00;
}

.amz-refund-approved {
    background: #E6F7E6;
    color: var(--amz-green);
}

.amz-refund-rejected {
    background: #FFF0F0;
    color: var(--amz-red);
}

/* Order Detail Responsive */
@media (max-width: 768px) {
    .amz-order-detail-header {
        flex-direction: column;
    }

    .amz-order-detail-header-right {
        text-align: left;
    }

    .amz-order-detail-summary-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .amz-order-detail-item {
        flex-direction: column;
        gap: 8px;
        padding: 12px 16px;
    }

    .amz-order-detail-item-right {
        text-align: left;
        flex-direction: row;
        gap: 16px;
        align-items: center;
    }

    .amz-order-detail-item-actions {
        align-items: flex-start;
    }

    .amz-order-detail-status-bar {
        flex-direction: column;
        align-items: flex-start;
    }

    .amz-order-detail-pay-btn {
        margin-left: 0;
        width: 100%;
        text-align: center;
    }
}

/* Line Awesome icons in user panel */
.amz-user-panel-section .las,
.amz-user-panel-section .lar,
.amz-user-panel-section .la {
    font-family: 'Line Awesome Free' !important;
}

.amz-user-panel-section .lab {
    font-family: 'Line Awesome Brands' !important;
}

/* --- 29.6 Missing class definitions --- */

/* Dashboard wishlist price wrapper */
.amz-dash-wishlist-price {
    display: flex;
    align-items: baseline;
    gap: 4px;
}

/* Purchase History status wrappers */
.amz-order-card-delivery-status {
    display: flex;
    align-items: center;
    gap: 6px;
}

.amz-order-card-payment-status {
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Order Details layout helpers */
.amz-order-detail-header-left {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.amz-order-detail-items-list {
    /* Container for order detail items */
}

.amz-order-detail-summary-col {
    /* Column in order detail summary grid */
}

/* Order Confirmed summary column */
.amz-order-summary-col {
    /* Column in order confirmed summary grid */
}

/* ==========================================================================
   30. HEADER & NAVIGATION
   Extracted from nav_nextgen.blade.php inline styles
   Dynamic colors use CSS custom properties set via Blade inline <style>
   ========================================================================== */

/* 30.1 Full-Width Responsive Header Layout */
.header-full-width {
    width: 100%;
    height: 60px;
    padding: 0 15px;
    display: flex;
    align-items: center;
}

@media (min-width: 768px) {
    .header-full-width {
        padding: 0 10px;
    }
}

@media (min-width: 992px) {
    .header-full-width {
        padding: 0 12px;
    }
}

@media (min-width: 1200px) {
    .header-full-width {
        padding: 0 15px;
    }
}

@media (min-width: 1400px) {
    .header-full-width {
        padding: 0 18px;
    }
}

@media (min-width: 1600px) {
    .header-full-width {
        padding: 0 25px;
    }
}

@media (min-width: 1920px) {
    .header-full-width {
        padding: 0 35px;
    }
}

/* Logo */
.logo-container {
    flex-shrink: 0;
}

.header-logo {
    max-height: 40px;
    width: auto;
}

.text-logo {
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.5px;
}

/* Search Container */
.search-container {
    flex: 1;
    max-width: none;
    margin: 0 4px;
    position: relative;
}

@media (min-width: 1200px) {
    .search-container { margin: 0 6px; }
}

@media (min-width: 1400px) {
    .search-container { margin: 0 8px; }
}

@media (min-width: 1600px) {
    .search-container { margin: 0 10px; }
}

@media (min-width: 1920px) {
    .search-container { margin: 0 20px; }
}

/* Right-side components */
.header-right-components {
    display: flex;
    align-items: center;
    gap: 0;
    margin-left: auto;
    flex-shrink: 0;
}

/* Header main flex gap */
.header-main-flex {
    gap: 4px;
    width: 100%;
}

@media (min-width: 1400px) {
    .header-main-flex { gap: 6px; }
}

@media (min-width: 1600px) {
    .header-main-flex { gap: 8px; }
}

@media (min-width: 1920px) {
    .header-main-flex { gap: 12px; }
}

/* 30.2 Amazon Header & Nav Base */
header.amazon-header {
    background-color: var(--amz-header-bg, #131921) !important;
    font-family: "Amazon Ember", Arial, sans-serif;
    font-size: 14px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    height: 60px !important;
    display: flex;
    align-items: center;
}

.amazon-header *,
.amazon-nav * {
    box-sizing: border-box;
}

.amazon-nav {
    background-color: var(--amz-nav-bg, #232f3e) !important;
    font-family: "Amazon Ember", Arial, sans-serif;
    font-size: 14px;
    height: 39px;
    padding: 0;
}

/* 30.3 Header Links */
.amazon-header-link {
    color: var(--amz-header-text, #fff);
    text-decoration: none;
    padding: 0px 9px;
    border: 1px solid transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    transition: border-color 0.15s;
    position: relative;
    border-radius: 2px;
    line-height: 1;
    font-size: 14px;
}

.amazon-header-link:hover {
    color: var(--amz-header-text, #fff);
    text-decoration: none;
    border: 1px solid var(--amz-header-hover-border, #fff);
}

.amazon-header-link:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(255,153,0,.5);
    border: 1px solid #e77600;
}

@media (min-width: 1400px) {
    .amazon-header-link {
        font-size: 14px;
        padding: 0px 9px;
    }
}

@media (min-width: 1600px) {
    .amazon-header-link {
        font-size: 14px;
        padding: 0px 9px;
    }
}

/* Hide Bootstrap's default dropdown arrow */
.dropdown-toggle::after {
    display: none !important;
}

/* Dropdown arrow positioned at bottom-right */
.amazon-dropdown-arrow {
    position: absolute;
    bottom: 4px;
    right: 2px;
    font-size: 8px;
    color: #a7acb2;
}

/* 30.4 Nav Menu Links */
.nav-menu-link {
    color: #fff;
    text-decoration: none;
    padding: 6px 5px;
    border: 1px solid transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.15s;
    border-radius: 2px;
    line-height: 14px;
    font-size: 14px;
    font-weight: 400;
}

.nav-menu-link:hover {
    color: #fff;
    text-decoration: none;
    border: 1px solid var(--amz-nav-hover-border, #fff);
}

/* "All" hamburger button — full nav height like Amazon */
.amz-nav-all-btn {
    height: 39px;
    padding: 8px 9px;
    font-weight: 700;
}

/* Sell Button — styled as plain text nav link to match Amazon */
.sell-button {
    background-color: transparent;
    color: #fff;
    padding: 6px 5px;
    border-radius: 2px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.15s;
    border: 1px solid transparent;
    cursor: pointer;
    line-height: 14px;
}

.sell-button:hover {
    background-color: transparent;
    color: #fff;
    text-decoration: none;
    border: 1px solid var(--amz-nav-hover-border, #fff);
}

/* Nav sell container */
.amz-nav-sell-container {
    margin-left: auto;
}

/* 30.5 Search Bar */
.amazon-search-wrapper {
    display: flex;
    height: 40px;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: none;
    transition: box-shadow 0.15s;
    position: relative;
    background: #fff;
}

.amazon-search-wrapper:focus-within {
    box-shadow: 0 0 0 3px #f90, 0 0 0 4px rgba(255,153,0,.3);
}

/* Category Select — Amazon facade pattern (auto-width based on text) */
.amz-search-scope {
    position: relative;
    display: flex;
    align-items: center;
    background-color: #e6e6e6;
    border-right: 1px solid #cdcdcd;
    border-radius: 4px 0 0 4px;
    padding: 0 8px 0 11px;
    overflow: hidden;
    cursor: pointer;
    flex-shrink: 0;
    height: 100%;
}

.amz-search-facade {
    display: flex;
    align-items: center;
    overflow: hidden;
    position: relative;
    padding-right: 15px;
}

.amz-search-label {
    display: block;
    font-size: 12px;
    font-weight: 400;
    color: #555;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 40px;
    max-width: 200px;
}

.amz-search-dropdown-icon {
    position: absolute;
    right: 2px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid #555;
}

.amz-search-select-hidden {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    font-size: 14px;
    border: none;
}

.amz-search-scope:hover {
    background-color: #dadada;
}

.amz-search-scope:focus-within {
    outline: 2px solid #e77600;
    outline-offset: -2px;
}

/* Search Input */
.amazon-search-input {
    flex: 1;
    border: none;
    padding: 7px 10px 10px 10px;
    font-size: 15px;
    outline: none;
    color: var(--amz-search-input-text, #0f1111);
    font-weight: 400;
    line-height: 15px;
}

.amazon-search-input::placeholder {
    color: var(--amz-search-placeholder, #6f7373);
    font-weight: 400;
}

/* Search Submit Button */
.amazon-search-btn {
    background-color: var(--amz-search-btn-bg, #febd69);
    border: none;
    width: 45px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}

.amazon-search-btn:hover {
    background-color: var(--amz-search-btn-hover, #f3a847);
}

.amazon-search-btn:focus {
    outline: 2px solid #e77600;
    outline-offset: 2px;
}

.amazon-search-btn i {
    font-size: 22px;
    color: var(--amz-search-btn-icon, #131921);
}

/* 30.6 AI Search Buttons */
.ai-search-buttons {
    display: flex;
    align-items: center;
    background-color: #fff;
    padding: 0 2px;
    gap: 2px;
    height: 100%;
    border-left: 1px solid #cdcdcd;
}

.ai-search-btn {
    background-color: var(--amz-ai-btn-bg, #f0f2f2);
    border: none;
    padding: 0 6px;
    cursor: pointer;
    color: var(--amz-ai-btn-text, #0f1111);
    font-size: 12px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s;
    border-radius: 3px;
    white-space: nowrap;
    height: 26px;
    margin: 0;
}

/* Hide text labels by default — icon-only for compact search bar */
.ai-search-btn span {
    display: none;
}

/* Show text labels on large screens */
@media (min-width: 1600px) {
    .ai-search-btn span {
        display: inline;
    }
    .ai-search-btn {
        padding: 0 8px;
    }
}

.ai-search-btn:hover {
    background-color: #e7e9ec;
}

.ai-search-btn i {
    font-size: 15px;
    margin-right: 0;
    color: #565959;
}

/* Add margin-right back when text is visible */
@media (min-width: 1600px) {
    .ai-search-btn i {
        margin-right: 4px;
    }
}

/* 30.7 Cart Badge */
.amazon-cart-count {
    color: var(--amz-cart-badge, #f08804);
    font-weight: 700;
    font-size: 15px;
    position: absolute;
    top: 3px;
    left: 50%;
    transform: translateX(-50%);
}

/* 30.8 Dropdown Menus */
.amazon-dropdown-menu {
    background: var(--amz-dropdown-bg, #fff);
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    min-width: 280px;
    padding: 0;
    margin-top: 2px;
    display: none;
}

.dropdown:hover .amazon-dropdown-menu {
    display: block;
}

.amazon-dropdown-menu .dropdown-item {
    padding: 10px 20px;
    color: var(--amz-dropdown-text, #0f1111);
    font-size: 14px;
    border-bottom: 1px solid #eee;
}

.amazon-dropdown-menu .dropdown-item:last-child {
    border-bottom: none;
}

.amazon-dropdown-menu .dropdown-item:hover {
    background-color: var(--amz-dropdown-hover-bg, #f3f3f3);
    color: var(--amz-dropdown-text, #0f1111) !important;
}

.amazon-dropdown-header {
    padding: 15px 20px;
    background-color: #f7f7f7;
    border-bottom: 1px solid #ddd;
    font-weight: 700;
    font-size: 14px;
    color: var(--amz-dropdown-text, #0f1111);
}

/* 30.9 Language Flags */
.language-flag {
    height: 16px;
    width: 24px;
    object-fit: cover;
    border-radius: 2px;
    display: inline-block !important;
    vertical-align: middle;
    position: relative;
    z-index: 1;
}

.language-flag-dropdown {
    height: 14px;
    width: 21px;
    object-fit: cover;
    border-radius: 2px;
    flex-shrink: 0;
    display: inline-block !important;
}

/* 30.10 Location Modal */
.location-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 9999;
    align-items: center;
    justify-content: center;
}

.location-modal.active {
    display: flex;
}

.location-modal-content {
    background: #fff;
    padding: 30px;
    border-radius: 8px;
    max-width: 500px;
    width: 90%;
    box-shadow: 0 4px 16px rgba(0,0,0,0.3);
}

/* 30.11 AI Modals */
.ai-modal {
    display: none !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0,0,0,0.6) !important;
    z-index: 10000 !important;
    align-items: center !important;
    justify-content: center !important;
}

.ai-modal.active {
    display: flex !important;
}

.ai-modal[style*="display: flex"],
.ai-modal[style*="display:flex"] {
    display: flex !important;
}

.ai-modal-content {
    background: #fff;
    padding: 30px;
    border-radius: 12px;
    max-width: 600px;
    width: 90%;
    max-height: 80vh;
    overflow-y: auto;
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
}

.ai-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #f0f0f0;
}

.ai-modal-header h3 {
    margin: 0;
    color: #0f1111;
    font-size: 24px;
    font-weight: 700;
}

.ai-modal-close {
    background: transparent;
    border: none;
    font-size: 28px;
    color: #666;
    cursor: pointer;
    padding: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background 0.2s;
}

.ai-modal-close:hover {
    background: #f0f0f0;
}

/* Image Upload */
.image-upload-area {
    border: 2px dashed #cdcdcd;
    border-radius: 8px;
    padding: 40px 20px;
    text-align: center;
    background: #fafafa;
    cursor: pointer;
    transition: all 0.3s;
}

.image-upload-area:hover {
    border-color: #e77600;
    background: #fff5e6;
}

.image-upload-area.dragover {
    border-color: #e77600;
    background: #fff5e6;
}

.image-preview {
    max-width: 100%;
    max-height: 300px;
    margin: 15px 0;
    border-radius: 8px;
}

/* AI Textarea */
.ai-textarea {
    width: 100%;
    min-height: 120px;
    padding: 12px;
    border: 1px solid #cdcdcd;
    border-radius: 8px;
    font-size: 14px;
    resize: vertical;
    font-family: inherit;
}

.ai-textarea:focus {
    outline: none;
    border-color: #e77600;
    box-shadow: 0 0 0 3px rgba(231,118,0,0.1);
}

/* AI Submit Button */
.ai-submit-btn {
    background: linear-gradient(to bottom, #f7dfa5, #f0c14b);
    border: 1px solid #a88734;
    border-radius: 8px;
    padding: 12px 24px;
    font-size: 16px;
    font-weight: 700;
    color: #0f1111;
    cursor: pointer;
    width: 100%;
    transition: all 0.2s;
}

.ai-submit-btn:hover {
    background: linear-gradient(to bottom, #f5d78e, #edb932);
}

.ai-submit-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* 30.12 Header Element Classes (replacing inline styles) */
.amz-header-location-icon {
    font-size: 18px;
    margin-right: 2px;
    line-height: 1;
    color: #fff;
}

.amz-header-delivery {
    line-height: 1.2;
}

.amz-header-delivery-label {
    font-size: 12px;
    color: var(--amz-header-secondary, #ccc);
    font-weight: 400;
    line-height: 14px;
}

.amz-header-delivery-value {
    font-size: 14px;
    font-weight: 700;
    margin-top: 1px;
    line-height: 15px;
    color: #fff;
}

.amz-header-account-greeting {
    font-size: 12px;
    font-weight: 400;
    color: #fff;
    line-height: 14px;
}

.amz-header-account-title {
    font-size: 14px;
    font-weight: 700;
    margin-top: 2px;
    line-height: 15px;
    color: #fff;
}

.amz-header-cart-link {
    position: relative;
    display: flex;
    align-items: flex-end;
    gap: 4px;
    padding-bottom: 11px !important;
    padding-top: 0 !important;
}

.amz-header-cart-icon {
    font-size: 36px;
    line-height: 1;
    display: block;
}

/* Amazon-style cart SVG */
.amz-cart-icon-wrapper {
    position: relative;
    width: 35px;
    height: 30px;
    display: flex;
    align-items: flex-end;
}

.amz-cart-svg {
    width: 35px;
    height: 30px;
    display: block;
}

.amz-cart-icon-wrapper .amazon-cart-count {
    position: absolute;
    top: -4px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 16px;
    font-weight: 700;
    color: var(--amz-cart-badge, #f08804);
    line-height: 1;
    z-index: 1;
}

.amz-header-cart-text {
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    padding-bottom: 0;
    color: #fff;
}

.amz-header-returns-label {
    font-size: 12px;
    font-weight: 400;
    color: #fff;
    line-height: 14px;
}

.amz-header-returns-title {
    font-size: 14px;
    font-weight: 700;
    margin-top: 2px;
    line-height: 15px;
    color: #fff;
}

.amz-header-lang-code {
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

.amz-header-mobile-icon {
    font-size: 28px;
}

/* Flex-shrink utility for header items */
.amz-flex-shrink-0 {
    flex-shrink: 0;
}

/* 30.13 Unified Button System */
.amz-btn-primary {
    background: linear-gradient(to bottom, #f7dfa5, #f0c14b);
    border: 1px solid #a88734;
    color: #0f1111;
    font-weight: 600;
    border-radius: 3px;
    padding: 8px 16px;
    cursor: pointer;
    transition: background 0.2s;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    line-height: 1.5;
}

.amz-btn-primary:hover {
    background: linear-gradient(to bottom, #f5d78e, #eeb933);
    color: #0f1111;
    text-decoration: none;
}

.amz-btn-primary:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(228, 121, 17, 0.5);
}

.amz-btn-primary.amz-btn-block {
    display: block;
    width: 100%;
}

/* Mobile Search Button */
.amz-btn-search-mobile {
    background-color: var(--amz-search-btn-bg, #febd69);
    border: none;
    color: #0f1111;
    padding: 6px 12px;
    border-radius: 0 4px 4px 0;
    cursor: pointer;
    transition: background-color 0.15s;
}

.amz-btn-search-mobile:hover {
    background-color: var(--amz-search-btn-hover, #f3a847);
}

/* Image upload icon/text styles */
.amz-upload-icon {
    font-size: 48px;
    color: #666;
}

.amz-upload-text {
    font-size: 16px;
    color: #0f1111;
}

.amz-upload-hint {
    font-size: 12px;
    color: #666;
}

.amz-image-info {
    margin-top: 10px;
    font-size: 12px;
    color: #666;
}

.amz-location-close-icon {
    font-size: 24px;
}

/* ==========================================================================
   31. FOOTER
   Extracted from footer_nextgen.blade.php inline styles
   ========================================================================== */

/* 31.1 Footer Base */
.nextgen-footer {
    background-color: var(--amz-footer-bg, #131a22);
    color: #dddddd;
}

.nextgen-footer-top {
    background-color: var(--amz-footer-bg, #131a22);
    padding: 40px 0;
    border-top: 1px solid rgba(255,255,255,0.1);
}

.nextgen-footer-bottom {
    background-color: var(--amz-footer-bottom-bg, #0f1419);
    padding: 20px 0;
    border-top: 1px solid rgba(255,255,255,0.1);
}

/* 31.2 Footer Typography */
.nextgen-footer-title {
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 15px;
}

.nextgen-footer-link {
    color: #dddddd;
    text-decoration: none;
    display: block;
    padding: 5px 0;
    font-size: 14px;
    transition: all 0.2s;
}

.nextgen-footer-link:hover {
    color: #ffffff;
    text-decoration: none;
    padding-left: 5px;
}

/* 31.3 Back to Top */
.nextgen-footer-back-to-top {
    background-color: var(--amz-footer-bg, #37475a);
    color: #ffffff;
    text-align: center;
    padding: 15px 0;
    cursor: pointer;
    transition: all 0.2s;
}

.nextgen-footer-back-to-top:hover {
    background-color: var(--amz-footer-top-hover, #485769);
}

/* 31.4 Footer Element Classes (replacing inline styles) */
.amz-footer-divider {
    border-color: rgba(255,255,255,0.1) !important;
}

.amz-footer-newsletter-text {
    font-size: 14px;
    color: #aaaaaa;
}

.amz-footer-newsletter-input {
    border-radius: 0;
    background-color: #ffffff;
    border: none;
}

.amz-footer-newsletter-btn {
    background-color: var(--amz-footer-accent, #febd69);
    color: #232f3e;
    border-radius: 0;
    border: none;
    font-weight: 600;
}

.amz-footer-newsletter-btn:hover {
    opacity: 0.9;
    color: #232f3e;
}

.amz-footer-text-logo {
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.5px;
}

.amz-footer-social-icon {
    font-size: 20px;
}

.amz-footer-partner-links {
    font-size: 13px;
    color: #aaaaaa;
}

.amz-footer-partner-link {
    display: inline-block;
    font-size: 13px;
}

.amz-footer-partner-separator {
    color: #666;
    margin: 0 8px;
}

.amz-footer-copyright {
    font-size: 12px;
    color: #aaaaaa;
}

.amz-footer-legal-link {
    font-size: 12px;
}

.amz-footer-lang-icon {
    font-size: 14px;
    width: 21px;
    text-align: center;
}

/* ==========================================================================
   31. PHASE 2 — MOBILE-FIRST RESPONSIVE ENHANCEMENTS
   Comprehensive mobile responsiveness for all core pages.
   Rules organized by breakpoint: tablet → mobile → small mobile
   ========================================================================== */

/* --- 31.1 Touch Device Hover Fix --- */
/* Disable hover effects on touch devices to prevent "sticky hover" on iOS */
@media (hover: none) and (pointer: coarse) {
    .amz-product-card:hover {
        box-shadow: var(--amz-shadow);
        transform: none;
    }

    .amz-product-card:hover .amz-product-card-img img {
        transform: none;
    }

    .amazon-header-link:hover {
        border-color: transparent;
    }

    .amz-btn-cart:hover,
    .amz-btn-buy:hover,
    .amz-btn-wishlist:hover {
        filter: none;
    }

    .amz-category-card:hover {
        transform: none;
        box-shadow: none;
    }
}

/* --- 31.2 Touch Target Enforcement --- */
/* Ensure all interactive elements meet WCAG 44x44px minimum on touch devices */
@media (pointer: coarse) {
    .amz-product-nav-links a {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }

    .mf-pagination .page-link {
        min-width: 44px;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .amz-homepage-section-title a,
    .amz-view-all-link {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }

    /* Filter checkboxes and labels */
    .aiz-checkbox label,
    .aiz-radio label,
    .mf-checkbox label {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        padding: 4px 0;
    }
}

/* --- 31.3 Tablet Breakpoint (max-width: 1024px) --- */
@media (max-width: 1024px) {
    /* Header: reduce padding, shrink text */
    .amazon-header-link {
        padding: 0 6px;
        font-size: 13px;
    }

    .amz-header-account-title,
    .amz-header-returns-title {
        font-size: 13px;
    }

    /* AI search buttons: hide text, show only icons */
    .ai-search-btn span {
        display: none;
    }

    .ai-search-btn {
        padding: 0 8px;
    }

    /* Product listing: filter sidebar narrower */
    .amz-listing-section .col-xl-3 {
        flex: 0 0 220px;
        max-width: 220px;
    }
}

/* --- 31.4 Mobile Breakpoint (max-width: 768px) --- */
@media (max-width: 768px) {
    /* Header mobile: increase tap area, adjust cart */
    header.amazon-header {
        height: 56px !important;
    }

    .header-full-width {
        height: 56px;
        padding: 0 8px;
    }

    .amazon-header-link {
        padding: 0 5px;
        height: 44px;
    }

    /* Mobile search: show below header as full-width bar */
    .header-logo {
        max-height: 32px;
    }

    .text-logo {
        font-size: 20px;
    }

    /* Sub-nav: scroll horizontally on mobile */
    .amazon-nav {
        height: auto;
        min-height: 39px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .amazon-nav::-webkit-scrollbar {
        display: none;
    }

    .amazon-nav .nav-container {
        white-space: nowrap;
        flex-wrap: nowrap;
    }

    .amazon-nav-link {
        white-space: nowrap;
        font-size: 13px;
        padding: 0 8px;
    }

    /* Homepage sections: tighter padding */
    .amz-homepage-section {
        padding: 12px;
        margin-bottom: 8px;
        border-radius: var(--amz-radius-sm);
    }

    .amz-homepage-section-title {
        font-size: 16px;
        margin-bottom: 8px;
    }

    /* Homepage "View All" link */
    .amz-homepage-section-header {
        margin-bottom: 8px;
    }

    /* Card grid: ensure 2 columns, reduce gap */
    .amz-card-grid {
        gap: 8px;
    }

    /* Product card mobile optimization */
    .amz-product-card {
        padding: 8px;
    }

    .amz-product-card-img {
        height: 160px;
    }

    .amz-product-card-brand {
        font-size: 11px;
    }

    .amz-product-card-name {
        font-size: 12px;
        -webkit-line-clamp: 2;
    }

    .amz-product-card-delivery {
        font-size: 11px;
    }

    /* Category grid: smaller images */
    .amz-category-card img,
    .amz-category-card-img {
        height: 70px;
    }

    .amz-category-card-name {
        font-size: 11px;
    }

    /* Product listing: filter mobile drawer */
    .collapse-sidebar-wrap {
        position: fixed !important;
        top: 0 !important;
        left: -100% !important;
        width: 85vw !important;
        max-width: 320px !important;
        height: 100vh !important;
        z-index: 1050 !important;
        background: var(--amz-white) !important;
        overflow-y: auto !important;
        transition: left 0.3s ease !important;
        padding: 16px !important;
        box-shadow: 2px 0 8px rgba(0,0,0,.15) !important;
    }

    .collapse-sidebar-wrap.open {
        left: 0 !important;
    }

    /* Filter sidebar overlay */
    .sidebar-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(0,0,0,.5);
        z-index: 1049;
        display: none;
    }

    .sidebar-overlay.active {
        display: block;
    }

    /* Product listing sort/view bar */
    .amz-listing-sort-bar {
        flex-wrap: wrap;
        gap: 8px;
        padding: 8px 0;
    }

    .amz-listing-sort-bar select {
        font-size: 13px;
        padding: 6px 8px;
    }

    /* Search grid: ensure proper mobile layout */
    .amz-search-grid {
        gap: 8px;
    }

    /* Product detail: sticky buy box CTA at bottom */
    .amz-mobile-sticky-cta {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 1040;
        background: var(--amz-white);
        padding: 8px 16px;
        box-shadow: 0 -2px 8px rgba(0,0,0,.12);
        display: flex;
        gap: 8px;
        align-items: center;
    }

    .amz-mobile-sticky-cta .amz-btn-cart,
    .amz-mobile-sticky-cta .amz-btn-buy {
        flex: 1;
        height: 44px;
        font-size: 14px;
        border-radius: 100px;
    }

    /* Product detail: gallery full-width on mobile */
    .amz-gallery-main img {
        max-height: 300px;
        width: 100%;
        object-fit: contain;
    }

    /* Product detail: thumbnails horizontal scroll */
    .amz-gallery-thumbnails {
        gap: 6px;
        padding: 8px 0;
    }

    .amz-thumb {
        width: 44px;
        height: 44px;
        min-width: 44px;
    }

    /* Buy box: no border, top-border only */
    .amz-buy-box {
        position: static;
    }

    /* Product below-fold sections */
    .amz-product-below {
        padding: 0 12px 16px;
    }

    /* Frequently bought together: stacked */
    .amz-fbt-product {
        max-width: 120px;
    }

    .amz-fbt-product img {
        max-height: 100px;
    }

    /* Seller info section */
    .amz-seller-info {
        padding: 12px;
    }

    /* Review section */
    .amz-review-item {
        padding: 12px 0;
    }

    .amz-review-images img {
        width: 60px;
        height: 60px;
    }

    /* Cart page: stacked layout */
    .amz-cart-section .row {
        flex-direction: column;
    }

    .amz-cart-summary {
        position: static;
        width: 100%;
        margin-top: 16px;
    }

    .amz-cart-item-image {
        width: 100px;
        height: 100px;
    }

    /* Checkout page: stacked layout */
    .amz-checkout-section .row {
        flex-direction: column;
    }

    .amz-checkout-summary {
        position: static;
        width: 100%;
    }

    /* Pagination mobile: simplified */
    .mf-pagination {
        flex-wrap: wrap;
        justify-content: center;
        gap: 4px;
    }

    .mf-pagination .page-link {
        font-size: 13px;
        padding: 6px 10px;
    }

    /* Footer: stack columns on mobile */
    .amz-footer-section {
        flex-direction: column;
        gap: 16px;
    }

    .amz-footer-column {
        width: 100%;
    }
}

/* --- 31.5 Small Mobile (max-width: 480px) --- */
@media (max-width: 480px) {
    /* Header: smaller logo, tighter spacing */
    .header-full-width {
        padding: 0 6px;
    }

    .header-logo {
        max-height: 28px;
    }

    .text-logo {
        font-size: 18px;
    }

    .amazon-header-link {
        padding: 0 3px;
        height: 40px;
    }

    .amz-header-mobile-icon {
        font-size: 22px;
    }

    /* Sub-nav: smaller text */
    .amazon-nav-link {
        font-size: 12px;
        padding: 0 6px;
    }

    /* Homepage: even tighter */
    .amz-homepage-section {
        padding: 10px;
        margin-bottom: 6px;
    }

    .amz-homepage-section-title {
        font-size: 15px;
    }

    /* Card grid: single column for very narrow screens */
    .amz-card-grid {
        gap: 6px;
    }

    .amz-product-card-price-current {
        font-size: 13px;
    }

    .amz-product-card-delivery {
        font-size: 10px;
    }

    /* Category grid: reduce to 2 cols with smaller items */
    .amz-category-grid {
        gap: 6px;
    }

    .amz-category-card img,
    .amz-category-card-img {
        height: 60px;
    }

    .amz-category-card-name {
        font-size: 10px;
    }

    /* Product detail: ultra compact */
    .amz-product-page {
        padding: 8px var(--amz-container-px);
    }

    .amz-details .amz-product-title {
        font-size: 16px;
        line-height: 22px;
    }

    .amz-price-current {
        font-size: 20px;
    }

    .amz-buy-box-price {
        font-size: 20px;
    }

    .amz-gallery-main img {
        max-height: 260px;
    }

    .amz-thumb {
        width: 40px;
        height: 40px;
        min-width: 40px;
    }

    /* Cart items: smaller images */
    .amz-cart-item-image {
        width: 80px;
        height: 80px;
    }

    .amz-cart-item-title {
        font-size: 13px;
    }

    .amz-cart-item-price {
        font-size: 16px;
    }

    /* Checkout: tighter padding */
    .amz-checkout-section .amz-checkout-step {
        padding: 12px;
    }

    .amz-checkout-section h4,
    .amz-checkout-section .step-title {
        font-size: 16px;
    }

    /* Pagination: compact */
    .mf-pagination .page-link {
        font-size: 12px;
        padding: 4px 8px;
        min-width: 36px;
        min-height: 36px;
    }
}

/* --- 31.6 Ultra-Small Mobile (max-width: 360px) --- */
@media (max-width: 360px) {
    .amz-card-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 4px;
    }

    .amz-product-card {
        padding: 6px;
    }

    .amz-product-card-img {
        height: 130px;
    }

    .amz-product-card-name {
        font-size: 11px;
    }

    .amz-product-card-price-current {
        font-size: 12px;
    }

    /* Hide delivery info on very small screens to save space */
    .amz-product-card-delivery {
        display: none;
    }

    .amz-homepage-section-title {
        font-size: 14px;
    }

    .amz-gallery-main img {
        max-height: 220px;
    }
}

/* --- 31.7 Landscape Phone Orientation --- */
@media (max-width: 768px) and (orientation: landscape) {
    .amz-gallery-main img {
        max-height: 200px;
    }

    .amz-product-grid {
        grid-template-columns: 1fr 1fr;
    }

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

/* --- 31.8 Mobile Header Search Bar (below header) --- */
/* On mobile, search is hidden from header but shown as mobile search bar */
@media (max-width: 767px) {
    .mobile-search-bar {
        background: var(--amz-header-bg, #131921);
        padding: 6px 10px 8px;
        width: 100%;
    }

    .mobile-search-bar .amazon-search-wrapper {
        border-radius: 8px;
        overflow: hidden;
    }

    .mobile-search-bar .amazon-search-input {
        height: 40px;
        font-size: 15px;
    }

    .mobile-search-bar .amazon-search-btn {
        width: 44px;
        height: 40px;
    }

    /* Hide category dropdown in mobile search */
    .mobile-search-bar .amz-search-scope {
        display: none;
    }

    /* AI buttons in mobile: icon only, smaller */
    .mobile-search-bar .ai-search-btn {
        padding: 0 8px;
        height: 40px;
    }

    .mobile-search-bar .ai-search-btn span {
        display: none;
    }
}

/* --- 31.9 Product Listing Mobile Filter Button --- */
@media (max-width: 768px) {
    .amz-mobile-filter-btn {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 8px 16px;
        border: 1px solid var(--amz-gray-border);
        border-radius: 100px;
        background: var(--amz-white);
        font-size: 13px;
        font-weight: 500;
        color: var(--amz-dark);
        cursor: pointer;
        min-height: 44px;
    }

    .amz-mobile-filter-btn i {
        font-size: 16px;
    }

    .amz-mobile-filter-btn:active {
        background: var(--amz-gray-light);
    }
}

/* Show mobile filter button only on mobile */
.amz-mobile-filter-btn {
    display: none;
}

/* --- 31.10 Mobile Sticky Add to Cart (Product Detail) --- */
/* Hidden by default, shown on mobile */
.amz-mobile-sticky-cta {
    display: none;
}

@media (max-width: 768px) {
    .amz-mobile-sticky-cta {
        display: flex;
    }

    /* Add bottom padding to page to prevent content from being hidden behind sticky CTA */
    .amz-product-page {
        padding-bottom: 70px;
    }
}

/* ==========================================================================
   32. PHASE 3 — BRAND STORE PAGE
   Amazon-style brand landing page with hero banner, nav, and product grid.
   ========================================================================== */

/* --- 32.1 Brand Hero Banner --- */
.amz-brand-hero {
    position: relative;
    width: 100%;
    height: 200px;
    background: linear-gradient(135deg, var(--amz-dark-secondary) 0%, #37475a 100%);
    overflow: hidden;
}

.amz-brand-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.amz-brand-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(15,17,17,.85) 0%, rgba(15,17,17,.4) 50%, rgba(15,17,17,.1) 100%);
}

.amz-brand-hero-content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    align-items: center;
}

.amz-brand-hero-info {
    display: flex;
    align-items: center;
    gap: 24px;
}

.amz-brand-hero-logo {
    width: 120px;
    height: 120px;
    border-radius: 12px;
    overflow: hidden;
    background: var(--amz-white);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,.2);
}

.amz-brand-hero-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    padding: 8px;
}

.amz-brand-hero-logo-placeholder {
    font-size: 36px;
    font-weight: 700;
    color: var(--amz-dark);
    background: var(--amz-gray-light);
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.amz-brand-hero-details {
    color: var(--amz-white);
}

.amz-brand-hero-name {
    font-size: 32px;
    font-weight: 700;
    margin: 0 0 8px;
    color: var(--amz-white);
    font-family: var(--amz-font);
}

.amz-brand-hero-stats {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 14px;
    color: rgba(255,255,255,.85);
}

.amz-brand-stat {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.amz-brand-stat i {
    font-size: 16px;
}

/* --- 32.2 Brand Store Navigation --- */
.amz-brand-nav {
    background: var(--amz-white);
    border-bottom: 1px solid var(--amz-gray-border);
    position: sticky;
    top: 0;
    z-index: 100;
}

.amz-brand-nav-inner {
    display: flex;
    align-items: center;
    gap: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.amz-brand-nav-inner::-webkit-scrollbar {
    display: none;
}

.amz-brand-nav-link {
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 500;
    color: var(--amz-dark);
    text-decoration: none;
    white-space: nowrap;
    border-bottom: 3px solid transparent;
    transition: color 0.15s, border-color 0.15s;
}

.amz-brand-nav-link:hover {
    color: var(--amz-link);
    text-decoration: none;
}

.amz-brand-nav-active {
    color: var(--amz-link);
    border-bottom-color: var(--amz-orange);
    font-weight: 600;
}

/* --- 32.3 Brand Products Section --- */
.amz-brand-products {
    padding-top: 20px;
    padding-bottom: 40px;
    min-height: 400px;
}

.amz-brand-results-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid var(--amz-gray-border);
    margin-bottom: 16px;
}

.amz-brand-results-count {
    font-size: 14px;
    color: var(--amz-gray-text);
}

.amz-brand-sort {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--amz-dark);
}

.amz-brand-sort label {
    margin: 0;
    font-weight: 500;
}

.amz-brand-sort-select {
    border: 1px solid var(--amz-gray-border);
    border-radius: 100px;
    padding: 6px 16px;
    font-size: 13px;
    color: var(--amz-dark);
    background: var(--amz-white);
    cursor: pointer;
    outline: none;
}

.amz-brand-sort-select:focus {
    border-color: var(--amz-orange);
    box-shadow: 0 0 0 3px rgba(255,153,0,.2);
}

/* --- 32.4 Brand Pagination --- */
.amz-brand-pagination {
    display: flex;
    justify-content: center;
    padding: 24px 0;
}

/* --- 32.5 Brand Empty State --- */
.amz-brand-empty {
    text-align: center;
    padding: 60px 20px;
    color: var(--amz-gray-text);
}

.amz-brand-empty i {
    font-size: 64px;
    color: var(--amz-gray-border);
    margin-bottom: 16px;
    display: block;
}

.amz-brand-empty h3 {
    font-size: 24px;
    font-weight: 700;
    color: var(--amz-dark);
    margin-bottom: 8px;
}

.amz-brand-empty p {
    font-size: 14px;
    margin-bottom: 20px;
}

.amz-brand-empty .amz-btn-buy {
    display: inline-block;
    padding: 10px 24px;
    text-decoration: none;
}

/* --- 32.6 Brand Store Mobile --- */
@media (max-width: 768px) {
    .amz-brand-hero {
        height: 160px;
    }

    .amz-brand-hero-logo {
        width: 80px;
        height: 80px;
        border-radius: 8px;
    }

    .amz-brand-hero-info {
        gap: 16px;
    }

    .amz-brand-hero-name {
        font-size: 22px;
        margin-bottom: 4px;
    }

    .amz-brand-hero-stats {
        font-size: 12px;
        gap: 12px;
    }

    .amz-brand-nav-link {
        padding: 10px 14px;
        font-size: 13px;
    }

    .amz-brand-results-bar {
        flex-direction: column;
        gap: 8px;
        align-items: flex-start;
    }

    .amz-brand-products {
        padding-top: 12px;
        padding-bottom: 24px;
    }
}

@media (max-width: 480px) {
    .amz-brand-hero {
        height: 130px;
    }

    .amz-brand-hero-logo {
        width: 64px;
        height: 64px;
    }

    .amz-brand-hero-name {
        font-size: 18px;
    }

    .amz-brand-hero-stats {
        font-size: 11px;
    }

    .amz-brand-nav-link {
        padding: 8px 10px;
        font-size: 12px;
    }
}

/* ==========================================================================
   33. PHASE 3 — SELLER SHOP ENHANCEMENT
   Amazon-style seller shop with improved header, navigation, and layout.
   ========================================================================== */

/* --- 33.1 Seller Shop Header Enhancement --- */
.amz-shop-section {
    font-family: var(--amz-font);
    -webkit-font-smoothing: antialiased;
}

/* Shop navigation tabs */
.amz-shop-section .d-flex a {
    font-family: var(--amz-font);
    transition: opacity 0.15s, color 0.15s;
    padding-bottom: 12px;
    border-bottom: 3px solid transparent;
}

.amz-shop-section .d-flex a.opacity-100,
.amz-shop-section .d-flex a:hover {
    border-bottom-color: var(--amz-orange);
    color: var(--amz-dark) !important;
}

/* Seller info section */
.amz-shop-section + section {
    font-family: var(--amz-font);
}

/* Follow button enhancement */
.amz-shop-section ~ section .btn-primary,
.amz-shop-section ~ section .btn-soft-primary {
    border-radius: 100px;
    font-size: 13px;
    padding: 6px 20px;
    font-weight: 500;
}

/* Social links enhancement */
.amz-shop-section ~ section .social-media a {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.15s, background 0.15s;
}

.amz-shop-section ~ section .social-media a:hover {
    transform: scale(1.1);
}

/* Shop product cards within seller shop */
.amz-shop-section ~ section .amz-card-grid {
    margin-top: 16px;
}

/* Coupon cards in seller shop */
.amz-shop-section ~ section .amz-coupon-card {
    border: 2px dashed var(--amz-orange);
    border-radius: var(--amz-radius);
    padding: 16px;
    background: var(--amz-white);
    text-align: center;
    transition: box-shadow 0.15s;
}

.amz-shop-section ~ section .amz-coupon-card:hover {
    box-shadow: var(--amz-shadow-hover);
}

/* --- 33.2 Seller Shop Mobile --- */
@media (max-width: 768px) {
    .amz-shop-section .d-flex {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        flex-wrap: nowrap !important;
    }

    .amz-shop-section .d-flex::-webkit-scrollbar {
        display: none;
    }

    .amz-shop-section .d-flex a {
        white-space: nowrap;
        padding-bottom: 8px;
    }
}

/* ==========================================================================
   34. PHASE 3 — SEARCH RESULTS ENHANCEMENT
   Standardize search results to use same responsive grid system.
   ========================================================================== */

/* --- 34.1 Search Results Info Bar --- */
.amz-search-results-info {
    font-family: var(--amz-font);
    padding: 8px 0;
    font-size: 14px;
    color: var(--amz-gray-text);
    border-bottom: 1px solid var(--amz-gray-border);
    margin-bottom: 12px;
}

.amz-search-results-info strong {
    color: var(--amz-dark);
}

/* --- 34.2 Search Sort Bar --- */
.amz-search-sort-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
    gap: 12px;
    flex-wrap: wrap;
}

.amz-search-sort-bar select {
    border: 1px solid var(--amz-gray-border);
    border-radius: 100px;
    padding: 6px 16px;
    font-size: 13px;
    font-family: var(--amz-font);
    color: var(--amz-dark);
    background: var(--amz-white);
    cursor: pointer;
}

.amz-search-sort-bar select:focus {
    border-color: var(--amz-orange);
    box-shadow: 0 0 0 3px rgba(255,153,0,.2);
    outline: none;
}

/* --- 34.3 Search Filter Sidebar Enhancement --- */
.amz-listing-section .collapse-sidebar-wrap {
    font-family: var(--amz-font);
}

.amz-listing-section .collapse-sidebar-wrap h6,
.amz-listing-section .collapse-sidebar-wrap .fw-700 {
    font-size: 14px;
    font-weight: 600;
    color: var(--amz-dark);
}

.amz-listing-section .collapse-sidebar-wrap .aiz-checkbox label,
.amz-listing-section .collapse-sidebar-wrap .aiz-radio label {
    font-size: 13px;
    color: var(--amz-dark);
}

/* Price range slider enhancement */
.amz-listing-section .noUi-connect {
    background: var(--amz-orange) !important; /* Override noUiSlider default */
}

.amz-listing-section .noUi-handle {
    border-color: var(--amz-orange) !important; /* Override noUiSlider default */
}

/* --- 34.4 Search Results Mobile --- */
@media (max-width: 768px) {
    .amz-search-sort-bar {
        flex-direction: column;
        align-items: stretch;
    }

    .amz-search-sort-bar select {
        width: 100%;
    }

    .amz-search-results-info {
        font-size: 13px;
    }
}

/* ==========================================================================
   35. PHASE 4 — HOVER-TO-ZOOM ON PRODUCT IMAGES
   Amazon-style magnifying glass zoom on desktop product images.
   ========================================================================== */

/* --- 35.1 Zoom Container --- */
.amz-gallery-main {
    position: relative;
    cursor: crosshair;
}

.amz-zoom-lens {
    display: none;
    position: absolute;
    width: 180px;
    height: 180px;
    border: 2px solid var(--amz-orange);
    background: rgba(255, 153, 0, 0.15);
    pointer-events: none;
    z-index: 5;
    border-radius: 0;
}

.amz-zoom-result {
    display: none;
    position: absolute;
    top: 0;
    left: calc(100% + 12px);
    width: 450px;
    height: 450px;
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
    background-repeat: no-repeat;
    background-color: var(--amz-white);
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
    z-index: 1000; /* Must be above sibling grid columns */
    pointer-events: none;
}

/* Show zoom elements on hover (desktop only) */
@media (hover: hover) and (pointer: fine) {
    .amz-gallery-main:hover .amz-zoom-lens {
        display: block;
    }

    .amz-gallery-main:hover .amz-zoom-result {
        display: block;
    }
}

/* Hide zoom on mobile/touch */
@media (hover: none), (pointer: coarse) {
    .amz-gallery-main {
        cursor: default;
    }

    .amz-zoom-lens,
    .amz-zoom-result {
        display: none !important;
    }
}

/* On smaller screens where zoom panel would overflow */
@media (max-width: 1200px) {
    .amz-zoom-result {
        display: none !important;
    }

    .amz-zoom-lens {
        display: none !important;
    }

    .amz-gallery-main {
        cursor: default;
    }
}

/* ==========================================================================
   36. PHASE 4 — PRODUCT VIDEO IN GALLERY
   Support for video thumbnails and inline video player in product gallery.
   ========================================================================== */

/* --- 36.1 Video Thumbnail --- */
.amz-thumb-video {
    position: relative;
}

.amz-thumb-video::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 20px;
    background: rgba(0,0,0,.6);
    border-radius: 50%;
    z-index: 2;
}

.amz-thumb-video::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 52%;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    border-left: 7px solid white;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    z-index: 3;
}

/* --- 36.2 Video Player in Main Gallery --- */
.amz-gallery-video {
    width: 100%;
    height: 100%;
    max-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
    border-radius: var(--amz-radius);
}

.amz-gallery-video video {
    max-width: 100%;
    max-height: 100%;
    border-radius: var(--amz-radius);
}

.amz-gallery-video iframe {
    width: 100%;
    height: 100%;
    min-height: 400px;
    border: none;
    border-radius: var(--amz-radius);
}

@media (max-width: 768px) {
    .amz-gallery-video {
        max-height: 300px;
    }

    .amz-gallery-video iframe {
        min-height: 250px;
    }
}

/* ==========================================================================
   37. PHASE 4 — SKELETON LOADING STATES
   CSS-only skeleton placeholders for loading states.
   ========================================================================== */

/* --- 37.1 Base Skeleton --- */
.amz-skeleton {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: amz-shimmer 1.5s infinite;
    border-radius: var(--amz-radius-sm);
}

@keyframes amz-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* --- 37.2 Skeleton Components --- */
.amz-skeleton-card {
    padding: 12px;
    background: var(--amz-white);
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
}

.amz-skeleton-image {
    width: 100%;
    height: 200px;
    border-radius: var(--amz-radius-sm);
    margin-bottom: 12px;
}

.amz-skeleton-text {
    height: 14px;
    margin-bottom: 8px;
    border-radius: 4px;
}

.amz-skeleton-text-sm {
    height: 10px;
    margin-bottom: 6px;
    border-radius: 4px;
    width: 60%;
}

.amz-skeleton-text-lg {
    height: 20px;
    margin-bottom: 10px;
    border-radius: 4px;
    width: 40%;
}

.amz-skeleton-button {
    height: 36px;
    border-radius: 100px;
    margin-top: 8px;
}

/* --- 37.3 Skeleton Grid --- */
.amz-skeleton-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

@media (min-width: 576px) {
    .amz-skeleton-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 992px) {
    .amz-skeleton-grid { grid-template-columns: repeat(4, 1fr); }
}

@media (min-width: 1200px) {
    .amz-skeleton-grid { grid-template-columns: repeat(5, 1fr); }
}

@media (min-width: 1600px) {
    .amz-skeleton-grid { grid-template-columns: repeat(6, 1fr); }
}

/* --- 37.4 Skeleton for Gallery --- */
.amz-skeleton-gallery {
    display: flex;
    gap: 10px;
}

.amz-skeleton-gallery-main {
    flex: 1;
    height: 400px;
    border-radius: var(--amz-radius);
}

.amz-skeleton-gallery-thumbs {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.amz-skeleton-gallery-thumb {
    width: 48px;
    height: 48px;
    border-radius: var(--amz-radius-sm);
}

/* --- 37.5 Skeleton for Dashboard Widgets --- */
.amz-skeleton-widget {
    padding: 16px;
    background: var(--amz-white);
    border: 1px solid var(--amz-gray-border);
    border-radius: var(--amz-radius);
}

.amz-skeleton-widget-title {
    height: 18px;
    width: 50%;
    margin-bottom: 16px;
    border-radius: 4px;
}

.amz-skeleton-widget-value {
    height: 32px;
    width: 30%;
    border-radius: 4px;
}

@media (max-width: 768px) {
    .amz-skeleton-image {
        height: 150px;
    }

    .amz-skeleton-gallery-main {
        height: 250px;
    }
}

/* ==========================================================================
   38. PHASE 5 — MOBILE BOTTOM NAVIGATION BAR
   Amazon-app-style fixed bottom nav with 5 tabs, hide-on-scroll-down,
   cart badge, and slide-up more-menu.
   ========================================================================== */

/* --- 38.1 Bottom Nav Bar --- */
.amz-mobile-bottom-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--amz-white);
    border-top: 1px solid var(--amz-gray-border);
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.08);
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 4px 0 max(4px, env(safe-area-inset-bottom));
    z-index: 1050;
    height: calc(56px + env(safe-area-inset-bottom));
    transition: transform 0.3s ease;
    -webkit-user-select: none;
    user-select: none;
}

.amz-mobile-bottom-nav.hidden {
    transform: translateY(100%);
}

/* --- 38.2 Nav Items --- */
.amz-mob-nav-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    color: #565959;
    padding: 4px 0;
    position: relative;
    min-height: 44px;
    gap: 1px;
    -webkit-tap-highlight-color: transparent;
}

.amz-mob-nav-item i {
    font-size: 22px;
    line-height: 1;
    transition: color 0.15s ease;
}

.amz-mob-nav-item span {
    font-size: 10px;
    font-weight: 500;
    line-height: 1;
    color: inherit;
}

/* Active state */
.amz-mob-nav-item.active {
    color: var(--amz-orange);
}

.amz-mob-nav-item.active::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 32px;
    height: 2px;
    background: var(--amz-orange);
    border-radius: 0 0 2px 2px;
}

/* Tap feedback */
.amz-mob-nav-item:active {
    opacity: 0.7;
}

/* --- 38.3 Cart Badge --- */
.amz-mob-nav-icon-wrap {
    position: relative;
    display: inline-flex;
}

.amz-mob-cart-badge {
    position: absolute;
    top: -6px;
    right: -10px;
    background: var(--amz-orange);
    color: var(--amz-white);
    border-radius: 10px;
    padding: 1px 4px;
    font-size: 10px;
    font-weight: 700;
    min-width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    border: 1.5px solid var(--amz-white);
}

/* --- 38.4 More Menu Overlay --- */
.amz-mob-nav-menu {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1049;
    display: none;
    align-items: flex-end;
}

.amz-mob-nav-menu.show {
    display: flex;
}

.amz-mob-nav-menu-inner {
    width: 100%;
    background: var(--amz-white);
    border-radius: 16px 16px 0 0;
    padding: 0 0 calc(56px + env(safe-area-inset-bottom));
    max-height: 60vh;
    overflow-y: auto;
    animation: amz-slide-up-menu 0.25s ease-out;
}

@keyframes amz-slide-up-menu {
    from { transform: translateY(100%); }
    to { transform: translateY(0); }
}

.amz-mob-nav-menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px 12px;
    border-bottom: 1px solid var(--amz-gray-border);
    font-size: 16px;
    font-weight: 600;
    color: var(--amz-dark);
}

.amz-mob-nav-menu-header button {
    background: none;
    border: none;
    font-size: 24px;
    color: #565959;
    cursor: pointer;
    padding: 0;
    line-height: 1;
}

.amz-mob-nav-menu-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 20px;
    color: var(--amz-dark);
    text-decoration: none !important;
    font-size: 15px;
    border-bottom: 1px solid #f0f0f0;
    -webkit-tap-highlight-color: transparent;
}

.amz-mob-nav-menu-item:active {
    background: #f5f5f5;
}

.amz-mob-nav-menu-item i {
    font-size: 20px;
    color: #565959;
    width: 24px;
    text-align: center;
}

/* --- 38.5 Body Padding for Bottom Nav --- */
@media (max-width: 991.98px) {
    body {
        padding-bottom: calc(56px + env(safe-area-inset-bottom)) !important;
    }
}

/* --- 38.6 Small Screens --- */
@media (max-width: 375px) {
    .amz-mob-nav-item i {
        font-size: 20px;
    }

    .amz-mob-nav-item span {
        font-size: 9px;
    }
}

@media (max-width: 320px) {
    .amz-mob-nav-item span {
        display: none;
    }

    .amz-mobile-bottom-nav {
        height: calc(48px + env(safe-area-inset-bottom));
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .amz-mobile-bottom-nav {
        transition: none;
    }

    .amz-mob-nav-menu-inner {
        animation: none;
    }
}

/* ==========================================================================
   39. PHASE 5 — TOUCH GESTURE SUPPORT (GALLERY SWIPE)
   CSS scroll-snap for horizontal swipe on mobile product gallery.
   ========================================================================== */

/* --- 39.1 Mobile Gallery Swipe Container --- */
@media (max-width: 768px) {
    .amz-gallery-main {
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none; /* Firefox */
    }

    .amz-gallery-main::-webkit-scrollbar {
        display: none; /* Chrome/Safari */
    }

    /* Each image acts as a snap point */
    .amz-gallery-main img {
        scroll-snap-align: center;
        flex-shrink: 0;
        min-width: 100%;
    }

    /* Swipe indicator dots */
    .amz-swipe-dots {
        display: flex;
        justify-content: center;
        gap: 6px;
        padding: 8px 0;
    }

    .amz-swipe-dot {
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: #ccc;
        transition: background 0.2s ease, transform 0.2s ease;
    }

    .amz-swipe-dot.active {
        background: var(--amz-orange);
        transform: scale(1.3);
    }
}

/* --- 39.2 Gallery swipe hint (first visit) --- */
.amz-swipe-hint {
    display: none;
}

@media (max-width: 768px) and (pointer: coarse) {
    .amz-swipe-hint {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        color: #888;
        font-size: 12px;
        padding: 4px 0;
        animation: amz-swipe-hint-fade 3s ease forwards;
    }

    .amz-swipe-hint i {
        font-size: 16px;
        animation: amz-swipe-hint-arrow 1.5s ease-in-out infinite;
    }

    @keyframes amz-swipe-hint-arrow {
        0%, 100% { transform: translateX(0); }
        50% { transform: translateX(8px); }
    }

    @keyframes amz-swipe-hint-fade {
        0% { opacity: 1; }
        70% { opacity: 1; }
        100% { opacity: 0; pointer-events: none; }
    }
}

/* --- 39.3 Pull-to-refresh indicator --- */
.amz-pull-refresh {
    display: none;
    text-align: center;
    padding: 12px 0;
    color: #888;
    font-size: 13px;
}

.amz-pull-refresh.visible {
    display: block;
}

.amz-pull-refresh i {
    font-size: 18px;
    animation: spin 0.8s linear infinite;
}

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

/* ==========================================================================
   40. PHASE 5 — MOBILE CHECKOUT OPTIMIZATION
   Streamlined mobile checkout flow with collapsible sections,
   floating total bar, and touch-friendly inputs.
   ========================================================================== */

/* --- 40.1 Mobile Checkout Layout --- */
@media (max-width: 768px) {
    /* Single column layout */
    .amz-checkout-section .row {
        flex-direction: column;
    }

    .amz-checkout-section .col-lg-8,
    .amz-checkout-section .col-lg-4 {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }

    /* Collapsible checkout sections */
    .amz-checkout-step {
        border: 1px solid var(--amz-gray-border);
        border-radius: var(--amz-radius);
        margin-bottom: 12px;
        overflow: hidden;
    }

    .amz-checkout-step-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 14px 16px;
        background: #f8f8f8;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .amz-checkout-step-header h4 {
        margin: 0;
        font-size: 15px;
        font-weight: 600;
        color: var(--amz-dark);
    }

    .amz-checkout-step-header .step-number {
        width: 24px;
        height: 24px;
        border-radius: 50%;
        background: var(--amz-orange);
        color: var(--amz-white);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 13px;
        font-weight: 700;
        margin-right: 10px;
    }

    .amz-checkout-step-header .step-toggle {
        font-size: 20px;
        color: #888;
        transition: transform 0.2s ease;
    }

    .amz-checkout-step.collapsed .step-toggle {
        transform: rotate(180deg);
    }

    .amz-checkout-step-body {
        padding: 16px;
    }

    .amz-checkout-step.collapsed .amz-checkout-step-body {
        display: none;
    }

    /* Completed step indicator */
    .amz-checkout-step.completed .amz-checkout-step-header {
        background: #f0faf0;
    }

    .amz-checkout-step.completed .step-number {
        background: #067D62;
    }
}

/* --- 40.2 Floating Order Total Bar (Mobile) --- */
.amz-mobile-order-total {
    display: none;
}

@media (max-width: 768px) {
    .amz-mobile-order-total {
        display: flex;
        position: fixed;
        bottom: calc(56px + env(safe-area-inset-bottom));
        left: 0;
        right: 0;
        background: var(--amz-white);
        border-top: 1px solid var(--amz-gray-border);
        padding: 10px 16px;
        z-index: 1040;
        align-items: center;
        justify-content: space-between;
        box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
    }

    .amz-mobile-order-total-label {
        font-size: 14px;
        color: #565959;
    }

    .amz-mobile-order-total-price {
        font-size: 18px;
        font-weight: 700;
        color: var(--amz-dark);
    }

    .amz-mobile-order-total-btn {
        background: var(--amz-button-yellow);
        color: var(--amz-dark);
        border: none;
        border-radius: 100px;
        padding: 10px 24px;
        font-size: 14px;
        font-weight: 600;
        min-height: 44px;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .amz-mobile-order-total-btn:active {
        background: var(--amz-button-yellow-hover);
    }

    /* Extra bottom padding on checkout page when total bar visible */
    .amz-checkout-section {
        padding-bottom: 120px !important;
    }
}

/* --- 40.3 Touch-Friendly Form Inputs (Mobile) --- */
@media (max-width: 768px) {
    /* Larger inputs for touch */
    .amz-checkout-section input[type="text"],
    .amz-checkout-section input[type="email"],
    .amz-checkout-section input[type="tel"],
    .amz-checkout-section input[type="number"],
    .amz-checkout-section select,
    .amz-checkout-section textarea {
        font-size: 16px !important; /* Prevent iOS zoom on focus */
        min-height: 44px;
        padding: 10px 12px;
        border-radius: var(--amz-radius);
        border: 1px solid #888C8C;
    }

    .amz-checkout-section input:focus,
    .amz-checkout-section select:focus,
    .amz-checkout-section textarea:focus {
        border-color: var(--amz-orange);
        box-shadow: 0 0 0 3px rgba(255, 153, 0, 0.15);
        outline: none;
    }

    /* Full-width buttons */
    .amz-checkout-section .btn,
    .amz-checkout-section button[type="submit"] {
        width: 100%;
        min-height: 48px;
        font-size: 15px;
        border-radius: 100px;
    }

    /* Stacked address form fields */
    .amz-checkout-section .form-row,
    .amz-checkout-section .row > [class*="col-"] {
        margin-bottom: 12px;
    }

    /* Radio/checkbox options — larger tap targets */
    .amz-checkout-section .form-check {
        padding: 12px;
        border: 1px solid var(--amz-gray-border);
        border-radius: var(--amz-radius);
        margin-bottom: 8px;
    }

    .amz-checkout-section .form-check-input {
        width: 20px;
        height: 20px;
        margin-top: 2px;
    }

    .amz-checkout-section .form-check-label {
        font-size: 14px;
        padding-left: 8px;
    }

    /* Payment method cards */
    .amz-checkout-section .payment-option {
        padding: 14px;
        border: 1px solid var(--amz-gray-border);
        border-radius: var(--amz-radius);
        margin-bottom: 8px;
        min-height: 48px;
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .amz-checkout-section .payment-option.selected {
        border-color: var(--amz-orange);
        background: rgba(255, 153, 0, 0.04);
    }
}

/* --- 40.4 Mobile Cart Optimization --- */
@media (max-width: 768px) {
    /* Cart item layout — stacked */
    .amz-cart-section .cart-item {
        flex-direction: column;
        gap: 8px;
        padding: 12px;
    }

    .amz-cart-section .cart-item-image {
        width: 80px;
        height: 80px;
    }

    /* Quantity controls — larger for touch */
    .amz-cart-section .qty-control {
        min-height: 36px;
    }

    .amz-cart-section .qty-control button {
        min-width: 36px;
        min-height: 36px;
        font-size: 18px;
    }

    .amz-cart-section .qty-control input {
        width: 48px;
        font-size: 16px;
        text-align: center;
    }

    /* Swipe to delete hint */
    .amz-cart-item-swipe {
        position: relative;
        overflow: hidden;
    }

    .amz-cart-item-delete-bg {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 80px;
        background: #d32f2f;
        color: white;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        font-weight: 600;
    }
}

/* --- 40.5 Mobile Address Selector --- */
@media (max-width: 768px) {
    .amz-address-card {
        padding: 12px;
        border: 1px solid var(--amz-gray-border);
        border-radius: var(--amz-radius);
        margin-bottom: 8px;
        position: relative;
    }

    .amz-address-card.selected {
        border-color: var(--amz-orange);
        background: rgba(255, 153, 0, 0.03);
    }

    .amz-address-card.selected::before {
        content: '\f058';
        font-family: 'Line Awesome Free';
        font-weight: 900;
        position: absolute;
        top: 8px;
        right: 8px;
        color: var(--amz-orange);
        font-size: 20px;
    }

    .amz-address-card-name {
        font-size: 14px;
        font-weight: 600;
        margin-bottom: 4px;
    }

    .amz-address-card-detail {
        font-size: 13px;
        color: #565959;
        line-height: 1.4;
    }
}

/* ==========================================================================
   41. PHASE 6 — MICRO-ANIMATIONS & TRANSITIONS
   Subtle animations for polish: button press, image fade, cart fly,
   toast notifications, dropdown smoothing.
   ========================================================================== */

/* --- 41.1 Button Press Feedback --- */
.amz-btn-cart:active,
.amz-btn-buy:active,
.amz-mobile-order-total-btn:active,
.amz-mob-nav-item:active {
    transform: scale(0.96);
}

.amz-btn-cart,
.amz-btn-buy,
.amz-mobile-order-total-btn {
    transition: background 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
}

/* --- 41.2 Image Fade-In on Lazy Load --- */
.amz-gallery-main img,
.amz-product-card img,
.amz-card-grid img {
    opacity: 1;
    transition: opacity 0.3s ease;
}

.amz-gallery-main img[data-src]:not([src]),
.amz-product-card img[loading="lazy"],
.amz-card-grid img[loading="lazy"] {
    opacity: 0;
}

/* --- 41.3 Add to Cart Animation --- */
@keyframes amz-add-to-cart-fly {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(0.5) translateY(-40px);
        opacity: 0.7;
    }
    100% {
        transform: scale(0) translateY(-80px) translateX(200px);
        opacity: 0;
    }
}

.amz-cart-fly-anim {
    animation: amz-add-to-cart-fly 0.6s ease-in forwards;
    pointer-events: none;
    position: fixed;
    z-index: 9999;
}

/* Cart icon bump when item added */
@keyframes amz-cart-bump {
    0% { transform: scale(1); }
    40% { transform: scale(1.3); }
    70% { transform: scale(0.9); }
    100% { transform: scale(1); }
}

.amz-cart-bumped {
    animation: amz-cart-bump 0.4s ease;
}

/* --- 41.4 Toast Notification --- */
.amz-toast {
    position: fixed;
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%) translateY(100px);
    background: var(--amz-dark);
    color: var(--amz-white);
    padding: 12px 24px;
    border-radius: 100px;
    font-size: 14px;
    font-weight: 500;
    z-index: 9999;
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
    white-space: nowrap;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.amz-toast.show {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
}

.amz-toast-success {
    background: #067D62;
}

.amz-toast-error {
    background: #d32f2f;
}

/* --- 41.5 Dropdown / Accordion Animations --- */
.amz-accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.amz-accordion-content.open {
    max-height: 1000px; /* Large enough for any content */
}

/* Category dropdown slide */
.amz-category-dropdown {
    transform: translateY(-10px);
    opacity: 0;
    transition: transform 0.2s ease, opacity 0.2s ease;
    pointer-events: none;
}

.amz-category-dropdown.show {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}

/* --- 41.6 Page Transition Fade --- */
.amz-page-transition {
    animation: amz-page-fade-in 0.25s ease;
}

@keyframes amz-page-fade-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* --- 41.7 Thumbnail Hover Scale --- */
.amz-thumb:hover img {
    transform: scale(1.05);
    transition: transform 0.15s ease;
}

.amz-thumb img {
    transition: transform 0.15s ease;
}

/* --- 41.8 Product Card Hover Lift --- */
.amz-product-card {
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.amz-product-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

/* ==========================================================================
   42. PHASE 6 — ACCESSIBILITY (WCAG 2.1 AA)
   Focus outlines, skip link, high contrast support, keyboard nav,
   screen reader utilities, reduced motion.
   ========================================================================== */

/* --- 42.1 Focus Visible Outlines --- */
*:focus-visible {
    outline: 2px solid var(--amz-orange);
    outline-offset: 2px;
    border-radius: 2px;
}

/* Remove outline on mouse click (keep for keyboard) */
*:focus:not(:focus-visible) {
    outline: none;
}

/* Enhanced focus for form inputs */
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--amz-orange);
    outline-offset: 0;
    border-color: var(--amz-orange) !important;
    box-shadow: 0 0 0 3px rgba(255, 153, 0, 0.2);
}

/* Focus ring for buttons */
button:focus-visible,
a:focus-visible,
.amz-btn-cart:focus-visible,
.amz-btn-buy:focus-visible {
    outline: 2px solid var(--amz-orange);
    outline-offset: 2px;
}

/* --- 42.2 Skip to Content Link --- */
.amz-skip-link {
    position: absolute;
    top: -100px;
    left: 16px;
    background: var(--amz-dark);
    color: var(--amz-white);
    padding: 12px 24px;
    border-radius: var(--amz-radius);
    z-index: 10000;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: top 0.2s ease;
}

.amz-skip-link:focus {
    top: 8px;
    outline: 2px solid var(--amz-orange);
    outline-offset: 2px;
}

/* --- 42.3 Screen Reader Only Utility --- */
.amz-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Screen reader only — focusable (shows on focus) */
.amz-sr-only-focusable:focus,
.amz-sr-only-focusable:active {
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
}

/* --- 42.4 Reduced Motion --- */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .amz-product-card:hover {
        transform: none;
    }

    .amz-thumb:hover img {
        transform: none;
    }

    .amz-toast {
        transition: none;
    }

    .amz-cart-fly-anim {
        animation: none;
    }
}

/* --- 42.5 High Contrast Mode --- */
@media (forced-colors: active) {
    .amz-btn-cart,
    .amz-btn-buy {
        border: 2px solid ButtonText;
    }

    .amz-thumb.active {
        border: 2px solid Highlight;
    }

    .amz-mob-nav-item.active::before {
        background: Highlight;
    }

    .amz-zoom-lens {
        border-color: Highlight;
    }

    *:focus-visible {
        outline: 2px solid Highlight;
    }
}

/* --- 42.6 Keyboard Navigation for Gallery --- */
.amz-thumb:focus-visible {
    outline: 2px solid var(--amz-link);
    outline-offset: 1px;
    border-color: var(--amz-link);
    border-radius: 3px;
}

.amz-lightbox-thumb:focus-visible {
    outline: 2px solid var(--amz-orange);
    outline-offset: 1px;
}

.amz-lightbox-nav:focus-visible {
    outline: 2px solid var(--amz-white);
    outline-offset: 2px;
}

/* --- 42.7 Color Contrast Enhancements --- */
/* Ensure minimum 4.5:1 contrast for small text */
.amz-details .amz-specs-label {
    color: #0F1111; /* 15.4:1 on white */
}

.amz-details .amz-brand-link {
    color: #2162A1; /* 5.9:1 on white — WCAG AA */
}

/* Disabled state clearly visible */
.amz-btn-cart:disabled,
.amz-btn-buy:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Link underline on hover for accessibility */
a:hover {
    text-decoration-thickness: 2px;
}

/* ==========================================================================
   43. PHASE 6 — PERFORMANCE OPTIMIZATION (CSS)
   will-change hints, font-display, containment, smooth scrolling,
   GPU acceleration for animated elements.
   ========================================================================== */

/* --- 43.1 will-change Hints for Animated Elements --- */
.amz-product-card {
    will-change: transform, box-shadow;
}

.amz-toast {
    will-change: transform, opacity;
}

.amz-mobile-bottom-nav {
    will-change: transform;
}

.amz-zoom-lens,
.amz-zoom-result {
    will-change: opacity, left, top, background-position;
}

/* Remove will-change after animation completes for memory savings */
.amz-product-card:not(:hover) {
    will-change: auto;
}

/* --- 43.2 CSS Containment for Layout Performance --- */
.amz-product-card {
    contain: layout style;
}

.amz-card-grid {
    contain: layout;
}

.amz-homepage-section {
    contain: layout style;
}

/* --- 43.3 Smooth Scrolling --- */
html {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

/* --- 43.4 Font Display Optimization --- */
/* Prevent FOIT (Flash of Invisible Text) */
@font-face {
    font-display: swap;
}

/* --- 43.5 Image Rendering Optimization --- */
.amz-gallery-main img,
.amz-product-card img {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}

/* --- 43.6 GPU Acceleration for Fixed Elements --- */
.amz-mobile-bottom-nav,
.amz-mobile-sticky-cta,
.amz-mobile-order-total,
.amz-lightbox-overlay {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* --- 43.7 Content Visibility for Below-Fold Sections --- */
.amz-homepage-section:nth-child(n+3) {
    content-visibility: auto;
    contain-intrinsic-size: 0 400px; /* Estimated height for layout */
}

/* --- 43.8 Print Styles --- */
@media print {
    .amz-mobile-bottom-nav,
    .amz-mobile-sticky-cta,
    .amz-mobile-order-total,
    .amz-lightbox-overlay,
    .amz-mob-nav-menu,
    .amz-toast,
    .amz-zoom-lens,
    .amz-zoom-result {
        display: none !important;
    }

    .amz-product-card {
        break-inside: avoid;
        box-shadow: none;
    }

    .amz-gallery-main {
        max-height: none;
    }

    body {
        padding-bottom: 0 !important;
    }

    a[href]::after {
        content: " (" attr(href) ")";
        font-size: 10px;
        color: #666;
    }
}

/* ==========================================================================
   45. STICKY FULL HEADER, RFQ ON PDP, BREADCRUMBS (Phase 1 UI Polish)
   - Full header becomes sticky on scroll, nav bar hides (desktop only)
   - RFQ link in buy box with product context card
   - Breadcrumb navigation on listing/shop/brand pages
   ========================================================================== */

/* --- 45.1 Sticky Full Header (hides nav bar on scroll) --- */
/* Wraps both <header class="amazon-header"> and <div class="amazon-nav">
   On scroll past 120px, header becomes fixed and nav bar slides away.
   This preserves ALL header features (search, category dropdown, AI buttons,
   account dropdown, cart, delivery location, language switcher, etc.) */

.amz-header-wrap {
    position: relative;
    z-index: 1100;
}

/* When scrolled: full header becomes fixed, nav bar hides */
body.compact-header-active .amz-header-wrap {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* Spacer to prevent content jump when header becomes fixed */
body.compact-header-active {
    padding-top: var(--amz-header-total-height, 96px);
}

/* Hide the nav bar (secondary header) with smooth transition */
.amz-header-wrap .amazon-nav {
    max-height: 42px;
    overflow: hidden;
    transition: max-height 0.25s ease, opacity 0.2s ease;
    opacity: 1;
}

body.compact-header-active .amz-header-wrap .amazon-nav {
    max-height: 0;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
}

/* Adjust downstream sticky elements when header is fixed (header ~60px) */
body.compact-header-active .amz-product-nav {
    top: 60px;
}
body.compact-header-active .amz-gallery,
body.compact-header-active .amz-product-buybox {
    top: 76px;
}
body.compact-header-active .amz-cart-summary-sticky,
body.compact-header-active .amz-checkout-summary-sticky {
    top: 132px;
}

/* Hide sticky behavior on mobile/tablet — mobile has its own sticky nav */
@media (max-width: 1199px) {
    body.compact-header-active .amz-header-wrap {
        position: relative;
        box-shadow: none;
    }
    body.compact-header-active {
        padding-top: 0 !important;
    }
    body.compact-header-active .amz-header-wrap .amazon-nav {
        max-height: 42px;
        opacity: 1;
    }
}

/* --- 45.2 RFQ on Product Detail Page Buy Box --- */
.amz-buybox-rfq {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--amz-border);
}

.amz-rfq-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px dashed var(--amz-border);
    border-radius: 8px;
    color: var(--amz-link);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition: background 0.15s, border-color 0.15s;
}

.amz-rfq-link:hover {
    background: #f0f8ff;
    border-color: var(--amz-link);
    color: var(--amz-link-hover);
    text-decoration: none;
}

.amz-rfq-link i {
    font-size: 18px;
    color: var(--amz-orange);
}

.amz-rfq-hint {
    margin-left: auto;
    font-size: 11px;
    font-weight: 400;
    color: var(--amz-text-secondary);
}

/* RFQ Product Context Card in Modal */
.amz-rfq-product-context {
    display: flex;
    gap: 12px;
    padding: 12px;
    background: var(--amz-light-bg);
    border: 1px solid var(--amz-border);
    border-radius: 8px;
    margin-bottom: 16px;
}

.amz-rfq-product-thumb {
    width: 64px;
    height: 64px;
    object-fit: contain;
    border-radius: 4px;
    background: #fff;
    border: 1px solid var(--amz-border);
    flex-shrink: 0;
}

.amz-rfq-product-info {
    flex: 1;
    min-width: 0;
}

.amz-rfq-product-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--amz-dark);
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.amz-rfq-product-sku {
    font-size: 12px;
    color: var(--amz-text-secondary);
    margin-top: 2px;
}

.amz-rfq-product-price {
    font-size: 14px;
    font-weight: 700;
    color: var(--amz-error);
    margin-top: 4px;
}

/* --- 45.3 Breadcrumbs (Listing, Shop, Brand pages) --- */
.amz-breadcrumb {
    font-size: 12px;
    color: var(--amz-text-secondary);
    padding: 8px 0;
    line-height: 1.5;
}

.amz-breadcrumb a {
    color: var(--amz-link);
    text-decoration: none;
}

.amz-breadcrumb a:hover {
    color: var(--amz-link-hover);
    text-decoration: underline;
}

.amz-breadcrumb-sep {
    margin: 0 6px;
    color: #999;
    font-size: 10px;
}

.amz-breadcrumb-current {
    color: var(--amz-dark);
}

/* Breadcrumb responsive */
@media (max-width: 767px) {
    .amz-breadcrumb {
        font-size: 11px;
        padding: 6px 0;
        white-space: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}


/* ==========================================================================
   46. FILTER PILLS, PAGINATION, SORT DROPDOWN (Phase 2 UI Polish)
   - Active filter pills on listing page
   - Amazon-style pagination
   - Sort dropdown styling
   ========================================================================== */

/* --- 46.1 Active Filter Pills --- */
.amz-active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px 0 12px;
    align-items: center;
}

.amz-filter-pill {
    background: #E3F2FD;
    color: var(--amz-dark);
    font-size: 12px;
    padding: 4px 10px;
    border-radius: 100px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    line-height: 1.4;
    border: 1px solid #BBDEFB;
}

.amz-filter-pill button {
    background: none;
    border: none;
    font-size: 16px;
    cursor: pointer;
    color: var(--amz-text-secondary);
    padding: 0;
    line-height: 1;
    margin-left: 2px;
    transition: color 0.15s;
}

.amz-filter-pill button:hover {
    color: var(--amz-error);
}

.amz-filter-pill-color {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, 0.15);
    display: inline-block;
}

.amz-filter-clear {
    font-size: 12px;
    color: var(--amz-link);
    text-decoration: none;
    margin-left: 4px;
}

.amz-filter-clear:hover {
    color: var(--amz-link-hover);
    text-decoration: underline;
}

/* --- 46.2 Amazon-Style Pagination --- */
.mf-pagination .pagination {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    justify-content: center;
}

.mf-pagination .pagination .page-item .page-link {
    border: 1px solid var(--amz-border);
    border-radius: 4px;
    color: var(--amz-dark);
    min-width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    padding: 0 12px;
    text-decoration: none;
    background: #fff;
    transition: background 0.15s, border-color 0.15s;
}

.mf-pagination .pagination .page-item .page-link:hover {
    background: var(--amz-light-bg);
    border-color: #999;
}

.mf-pagination .pagination .page-item.active .page-link {
    background: var(--amz-orange);
    border-color: var(--amz-orange);
    color: #fff;
    font-weight: 600;
}

.mf-pagination .pagination .page-item.disabled .page-link {
    opacity: 0.4;
    cursor: not-allowed;
    background: #f8f8f8;
}

/* Previous/Next buttons */
.mf-pagination .pagination .page-item:first-child .page-link,
.mf-pagination .pagination .page-item:last-child .page-link {
    font-weight: 600;
    padding: 0 16px;
}

/* --- 46.3 Sort Dropdown Styling --- */
.amz-sort-select {
    border: 1px solid var(--amz-border) !important;
    border-radius: 8px !important;
    padding: 6px 32px 6px 12px !important;
    font-size: 13px !important;
    color: var(--amz-dark) !important;
    background-color: #F0F2F2 !important;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 12px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer;
    height: 36px !important;
    min-width: 160px;
    transition: border-color 0.15s, background-color 0.15s;
}

.amz-sort-select:hover {
    background-color: #E3E6E6 !important;
}

.amz-sort-select:focus {
    border-color: var(--amz-orange) !important;
    outline: none;
    box-shadow: 0 0 0 2px rgba(255, 153, 0, 0.2) !important;
}

/* Filter pills responsive */
@media (max-width: 767px) {
    .amz-active-filters {
        padding: 6px 0 8px;
        gap: 6px;
    }
    .amz-filter-pill {
        font-size: 11px;
        padding: 3px 8px;
    }
    .mf-pagination .pagination .page-item .page-link {
        min-width: 32px;
        height: 32px;
        font-size: 13px;
        padding: 0 8px;
    }
}


/* ==========================================================================
   47. PDP MICRO-POLISH, CART, CHECKOUT, SEARCH (Phases 3-5 UI Polish)
   - Button loading spinner
   - Price flash animation on variant change
   - Buy box trust badges bar
   - Checkout step number enhancement
   - Cart empty state
   - Checkout trust bar
   - Mobile form input sizing (iOS zoom fix)
   - Search autocomplete with product thumbnails
   - Social proof
   ========================================================================== */

/* --- 47.1 Button Loading Spinner --- */
.amz-btn-spinner {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: amz-spin 0.6s linear infinite;
    vertical-align: middle;
    margin-right: 4px;
}

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

/* --- 47.2 Price Flash Animation --- */
@keyframes amz-price-flash {
    0% { background: #FFF3CD; border-radius: 4px; }
    100% { background: transparent; }
}

.amz-price-updated {
    animation: amz-price-flash 0.6s ease-out;
}

/* --- 47.3 Buy Box Trust Badges Bar --- */
.amz-buybox-trust-bar {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 0;
    margin: 4px 0 8px;
    border-bottom: 1px solid var(--amz-border);
}

.amz-trust-badge {
    font-size: 11px;
    color: var(--amz-text-secondary);
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.amz-trust-badge i {
    font-size: 14px;
    color: var(--amz-success);
}

/* --- 47.4 Checkout Step Number Enhancement --- */
.amz-checkout-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--amz-orange);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
}

.amz-checkout-step-number.completed {
    background: var(--amz-success);
}

.amz-checkout-step-number.completed::after {
    content: '✓';
    font-size: 14px;
}

/* --- 47.5 Cart Empty State --- */
.amz-cart-empty {
    text-align: center;
    padding: 60px 20px;
}

.amz-cart-empty-icon {
    font-size: 80px;
    color: var(--amz-border);
    display: block;
    margin-bottom: 16px;
}

.amz-cart-empty h3 {
    font-size: 24px;
    color: var(--amz-dark);
    margin-bottom: 8px;
}

.amz-cart-empty p {
    font-size: 14px;
    color: var(--amz-text-secondary);
    margin-bottom: 20px;
}

/* --- 47.6 Checkout Trust Bar --- */
.amz-checkout-trust-bar {
    display: flex;
    justify-content: center;
    gap: 24px;
    padding: 12px 16px;
    background: #F7F8F8;
    border: 1px solid var(--amz-border);
    border-radius: 8px;
    margin: 16px 0;
}

.amz-checkout-trust-bar .amz-trust-item {
    font-size: 12px;
    color: var(--amz-text-secondary);
    display: flex;
    align-items: center;
    gap: 6px;
}

.amz-checkout-trust-bar .amz-trust-item i {
    font-size: 16px;
    color: var(--amz-success);
}

/* --- 47.7 Mobile Form Input Sizing (iOS Zoom Prevention) --- */
@media (max-width: 767px) {
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    input[type="password"],
    select,
    textarea {
        font-size: 16px !important;
        /* Prevent iOS auto-zoom on focus */
    }

    .amz-checkout-trust-bar {
        flex-wrap: wrap;
        gap: 12px;
        justify-content: space-around;
    }

    .amz-buybox-trust-bar {
        flex-wrap: wrap;
        gap: 4px;
    }
}

/* --- 47.8 Search Autocomplete with Product Thumbnails --- */
.amz-search-product-item {
    display: flex;
    gap: 10px;
    padding: 8px 12px;
    cursor: pointer;
    align-items: center;
    transition: background 0.1s;
}

.amz-search-product-item:hover {
    background: var(--amz-light-bg);
}

.amz-search-thumb {
    width: 40px;
    height: 40px;
    object-fit: contain;
    border-radius: 4px;
    background: #fff;
    border: 1px solid var(--amz-border);
    flex-shrink: 0;
}

.amz-search-product-name {
    font-size: 13px;
    color: var(--amz-dark);
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.amz-search-product-price {
    font-size: 13px;
    font-weight: 700;
    color: var(--amz-error);
    margin-top: 2px;
}

.amz-search-category-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    font-size: 13px;
    color: var(--amz-text-secondary);
    cursor: pointer;
    transition: background 0.1s;
}

.amz-search-category-item:hover {
    background: var(--amz-light-bg);
    color: var(--amz-dark);
}

.amz-search-category-item i {
    font-size: 14px;
    color: var(--amz-text-secondary);
}

.amz-search-section-label {
    padding: 6px 12px 4px;
    font-size: 11px;
    font-weight: 700;
    color: var(--amz-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* --- 47.9 Social Proof --- */
.amz-social-proof {
    font-size: 13px;
    color: var(--amz-dark);
    font-weight: 600;
    margin: 4px 0;
}

/* --- 47.10 Homepage Section Headers Polish --- */
.amz-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0 8px;
}

.amz-section-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--amz-dark);
    line-height: 1.3;
}

.amz-section-link {
    font-size: 13px;
    color: var(--amz-link);
    text-decoration: none;
    white-space: nowrap;
}

.amz-section-link:hover {
    text-decoration: underline;
    color: var(--amz-link-hover);
}

@media (max-width: 767px) {
    .amz-section-title {
        font-size: 16px;
    }
    .amz-section-link {
        font-size: 12px;
    }
}


/* ==========================================================================
   48. VISUAL POLISH — PRODUCT CARDS, PDP GALLERY, BUY BOX ENHANCEMENTS
   Image hover zoom, shimmer placeholder, wishlist icon, gallery counter,
   thumbnail glow, delivery badge, savings tag.
   ========================================================================== */

/* --- 48.1 Product Card Image Hover Zoom --- */
/* Smooth zoom-in effect when hovering over product card image (desktop only) */
.amz-product-card-img {
    overflow: hidden;
    background: #f7f7f7;
}

.amz-product-card-img img {
    transition: transform 0.35s ease !important;
}

@media (hover: hover) and (pointer: fine) {
    .amz-product-card:hover .amz-product-card-img img {
        transform: scale(1.08);
    }
}

/* --- 48.2 Product Card Shimmer Placeholder --- */
/* Shimmer background shows while lazy images are loading */
.amz-product-card-img {
    position: relative;
}

.amz-product-card-img::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: amz-card-shimmer 1.5s ease-in-out infinite;
    border-radius: 4px;
    z-index: 0;
}

.amz-product-card-img img {
    position: relative;
    z-index: 1;
}

/* Hide shimmer once image has loaded */
.amz-product-card-img img.loaded + .amz-card-shimmer-hide,
.amz-product-card-img img[src]:not([src=""]):not(.lazyload)::after {
    display: none;
}

/* When image is fully loaded, hide shimmer background */
.amz-product-card-img.amz-img-loaded::before {
    display: none;
}

@keyframes amz-card-shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

/* --- 48.3 Wishlist Heart Icon on Product Cards --- */
.amz-product-card-wishlist {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    border: 1px solid #e3e3e3;
    color: #565959;
    font-size: 16px;
    cursor: pointer;
    opacity: 0;
    transform: scale(0.8);
    transition: opacity 0.2s ease, transform 0.2s ease, color 0.15s ease, background 0.15s ease;
    z-index: 5;
    text-decoration: none;
    line-height: 1;
}

.amz-product-card-wishlist:hover {
    color: #CC0C39;
    background: #fff;
    border-color: #CC0C39;
    text-decoration: none;
    transform: scale(1.1);
}

.amz-product-card-wishlist.active {
    color: #CC0C39;
    opacity: 1;
    transform: scale(1);
}

/* Show wishlist icon on card hover (desktop) */
@media (hover: hover) and (pointer: fine) {
    .amz-product-card:hover .amz-product-card-wishlist {
        opacity: 1;
        transform: scale(1);
    }
}

/* Always show on touch devices */
@media (hover: none) {
    .amz-product-card-wishlist {
        opacity: 1;
        transform: scale(1);
    }
}

/* --- 48.4 Product Card Action Button Enhancement --- */
/* More prominent CTA button that reveals on hover */
.amz-product-card-action {
    opacity: 1;
    transition: opacity 0.2s ease;
}

.amz-product-card-btn {
    transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease;
}

.amz-product-card-btn:hover {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
    transform: translateY(-1px);
}

.amz-product-card-btn:active {
    transform: scale(0.97);
}

/* --- 48.5 PDP Gallery Image Counter --- */
.amz-gallery-counter {
    position: absolute;
    bottom: 12px;
    right: 12px;
    background: rgba(15, 17, 17, 0.7);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 12px;
    z-index: 3;
    letter-spacing: 0.5px;
    user-select: none;
    pointer-events: none;
}

/* --- 48.6 PDP Gallery Thumbnail Enhancement --- */
/* More prominent active & hover states on gallery thumbnails */
.amz-thumb {
    border: 2px solid transparent;
    border-radius: 4px;
    padding: 2px;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    background: #fff;
}

.amz-thumb:hover {
    border-color: #ccc;
}

.amz-thumb.active {
    border-color: var(--amz-orange, #FF9900);
    box-shadow: 0 0 0 1px var(--amz-orange, #FF9900);
}

/* --- 48.7 PDP Gallery Main Image Fade Transition --- */
#amz-main-img {
    transition: opacity 0.2s ease;
}

#amz-main-img.amz-img-switching {
    opacity: 0.5;
}

/* --- 48.8 Buy Box Delivery Badge Enhancement --- */
/* More prominent free delivery display — Amazon-style green highlight */
.amz-free-delivery {
    color: var(--amz-success, #067D62);
    font-weight: 700;
    font-size: 14px;
}

.amz-buy-box-shipping {
    padding: 8px 0;
    font-size: 13px;
    line-height: 1.5;
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 6px;
}

/* --- 48.9 Buy Box Savings Tag Enhancement --- */
.amz-price-savings {
    display: inline-block;
    background: #CC0C39;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 3px;
    margin-top: 2px;
}

/* --- 48.10 Product Card "Best Seller" / "Choice" Badges --- */
.amz-product-card-tag {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 3px;
    margin-bottom: 4px;
    line-height: 1.3;
}

.amz-product-card-tag.amz-tag-bestseller {
    background: #E67A00;
    color: #fff;
}

.amz-product-card-tag.amz-tag-choice {
    background: #002244;
    color: #fff;
}

.amz-product-card-tag.amz-tag-deal {
    background: #CC0C39;
    color: #fff;
}

/* --- 48.11 Product Card Low Stock Urgency --- */
.amz-product-card-low-stock {
    font-size: 12px;
    color: #CC0C39;
    font-weight: 600;
    margin-top: 2px;
}

/* --- 48.12 Product Card "Bought in Past Month" Social Proof --- */
.amz-product-card-bought {
    font-size: 12px;
    color: var(--amz-dark);
    font-weight: 600;
    margin-bottom: 2px;
}

/* --- 48.13 PDP Gallery Expand Icon --- */
.amz-gallery-expand {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid #ddd;
    border-radius: 4px;
    color: #555;
    font-size: 16px;
    cursor: pointer;
    z-index: 3;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.amz-gallery-main:hover .amz-gallery-expand {
    opacity: 1;
}

.amz-gallery-expand:hover {
    background: #fff;
    color: var(--amz-dark);
    border-color: #aaa;
}

/* --- 48.14 Mobile Responsive Adjustments --- */
@media (max-width: 767px) {
    .amz-gallery-counter {
        bottom: 8px;
        right: 8px;
        font-size: 11px;
        padding: 2px 8px;
    }

    .amz-gallery-expand {
        opacity: 1; /* Always visible on mobile */
        top: 8px;
        right: 8px;
    }

    .amz-product-card-wishlist {
        opacity: 1;
        transform: scale(1);
    }
}


/* ==========================================================================
   49. PDP PROFESSIONAL POLISH — Title, Specs, Bullets, Trust Badges, RFQ, FBT
   Professional styling for product detail page elements.
   ========================================================================== */

/* --- 49.1 PDP Title Styling --- */
.amz-pdp-title {
    font-size: 24px;
    font-weight: 400;
    line-height: 32px;
    color: var(--amz-dark, #0F1111);
    letter-spacing: -0.2px;
    margin-bottom: 4px;
}

/* --- 49.2 PDP Brand Link (Amazon-style) --- */
.amz-pdp-brand {
    margin-bottom: 4px;
    font-size: 14px;
    line-height: 20px;
}

.amz-pdp-brand-label {
    color: var(--amz-dark, #0F1111);
    font-weight: 600;
}

.amz-pdp-brand-link {
    color: var(--amz-link, #2162A1);
    text-decoration: none;
    font-weight: 400;
}

.amz-pdp-brand-link:hover {
    color: var(--amz-link-hover, #C7511F);
    text-decoration: underline;
}

/* --- 49.3 Rating Row Divider --- */
.amz-purchases-divider {
    color: #ccc;
    margin: 0 8px;
    font-size: 14px;
}

.amz-purchases {
    font-size: 13px;
    color: var(--amz-dark, #0F1111);
    font-weight: 600;
}

/* --- 49.4 PDP Specs Table (Amazon-style key-value) --- */
.amz-pdp-specs {
    width: 100%;
    border-collapse: collapse;
    margin: 12px 0;
}

.amz-pdp-specs tr {
    border-bottom: 1px solid #f0f0f0;
}

.amz-pdp-specs tr:last-child {
    border-bottom: none;
}

.amz-pdp-specs .amz-specs-label {
    font-weight: 600;
    color: var(--amz-dark, #0F1111);
    font-size: 14px;
    padding: 8px 16px 8px 0;
    white-space: nowrap;
    width: 140px;
    vertical-align: top;
    background: #f9f9f9;
    padding-left: 12px;
}

.amz-pdp-specs .amz-specs-value {
    font-weight: 400;
    color: var(--amz-dark, #0F1111);
    font-size: 14px;
    padding: 8px 12px;
    line-height: 1.5;
}

/* --- 49.5 About This Item — Professional Bullets --- */
.amz-about-section .amz-about-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--amz-dark, #0F1111);
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--amz-orange, #FF9900);
}

.amz-pdp-bullets {
    list-style: none;
    padding: 0;
    margin: 0;
}

.amz-pdp-bullets li {
    position: relative;
    padding: 5px 0 5px 22px;
    font-size: 14px;
    line-height: 22px;
    color: var(--amz-dark, #0F1111);
}

.amz-pdp-bullets li::before {
    content: '';
    position: absolute;
    left: 2px;
    top: 12px;
    width: 6px;
    height: 6px;
    background: var(--amz-dark, #0F1111);
    border-radius: 50%;
}

.amz-pdp-bullets li strong {
    font-weight: 700;
    color: var(--amz-dark, #0F1111);
    margin-right: 2px;
}

/* Links inside bullet points */
.amz-pdp-bullets li a.amz-auth-link {
    color: var(--amz-link, #2162A1);
    text-decoration: none;
}
.amz-pdp-bullets li a.amz-auth-link:hover {
    color: var(--amz-link-hover, #C7511F);
    text-decoration: underline;
}

/* Verified seller icon in bullets */
.amz-pdp-bullets li .la-check-circle {
    font-size: 14px;
    vertical-align: middle;
    margin-left: 2px;
}

/* --- 49.6 Trust Badges — Prominent Card Style --- */
.amz-buybox-trust-badges {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 0;
    margin: 8px 0;
    border-top: 1px solid #f0f0f0;
    border-bottom: 1px solid #f0f0f0;
}

.amz-trust-badge-item {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    flex: 1;
    text-align: center;
    flex-direction: column;
    align-items: center;
}

.amz-trust-badge-item > i {
    font-size: 22px;
    color: var(--amz-success, #067D62);
    line-height: 1;
}

.amz-trust-badge-title {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: var(--amz-dark, #0F1111);
    line-height: 1.3;
}

.amz-trust-badge-desc {
    display: block;
    font-size: 10px;
    color: var(--amz-text-secondary, #565959);
    line-height: 1.3;
}

/* --- 49.7 RFQ Card (Buy Box) --- */
.amz-buybox-rfq-card {
    margin: 10px 0;
    padding: 10px 14px;
    background: #f7f8fa;
    border: 1px solid #e3e6e6;
    border-radius: 8px;
}

.amz-rfq-card-header {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--amz-dark, #0F1111);
    margin-bottom: 8px;
}

.amz-rfq-card-header i {
    font-size: 18px;
    color: var(--amz-orange, #FF9900);
}

.amz-rfq-card-btn {
    display: block;
    width: 100%;
    text-align: center;
    padding: 6px 12px;
    background: #fff;
    border: 1px solid var(--amz-border, #D5D9D9);
    border-radius: 100px;
    color: var(--amz-dark, #0F1111);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}

.amz-rfq-card-btn:hover {
    background: #f7fafa;
    border-color: #a2a6a6;
    text-decoration: none;
    color: var(--amz-dark);
}

/* --- 49.8 Frequently Bought Together — Professional Layout --- */
.amz-fbt-section {
    padding: 20px 0;
}

.amz-fbt-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--amz-dark, #0F1111);
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e3e6e6;
}

.amz-fbt-layout {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    flex-wrap: wrap;
}

.amz-fbt-products {
    display: flex;
    align-items: center;
    gap: 0;
    flex: 1;
    min-width: 0;
}

.amz-fbt-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 8px;
    min-width: 0;
    flex: 1;
    max-width: 180px;
}

.amz-fbt-check {
    width: 16px;
    height: 16px;
    accent-color: var(--amz-orange, #FF9900);
    margin-bottom: 6px;
    cursor: pointer;
}

.amz-fbt-item-img {
    width: 120px;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
    position: relative;
}

.amz-fbt-item-img img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.amz-fbt-badge {
    position: absolute;
    bottom: -4px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--amz-dark, #0F1111);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 1px 8px;
    border-radius: 3px;
    white-space: nowrap;
}

.amz-fbt-name {
    font-size: 12px;
    color: var(--amz-link, #2162A1);
    text-decoration: none;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 4px;
}

.amz-fbt-name:hover {
    color: var(--amz-link-hover, #C7511F);
    text-decoration: underline;
}

.amz-fbt-price {
    font-size: 13px;
    color: var(--amz-dark);
}

.amz-fbt-price del {
    color: var(--amz-text-secondary, #565959);
    font-size: 11px;
    margin-left: 4px;
}

.amz-fbt-plus {
    font-size: 28px;
    font-weight: 300;
    color: #888;
    display: flex;
    align-items: center;
    padding: 0 4px;
    flex-shrink: 0;
}

/* FBT Summary (Total + Add All button) */
.amz-fbt-summary {
    border: 1px solid #e3e6e6;
    border-radius: 8px;
    padding: 16px;
    min-width: 200px;
    text-align: center;
    flex-shrink: 0;
}

.amz-fbt-total-label {
    font-size: 14px;
    color: var(--amz-text-secondary, #565959);
    margin-bottom: 4px;
}

.amz-fbt-total-price {
    font-size: 20px;
    font-weight: 700;
    color: var(--amz-dark, #0F1111);
    margin-bottom: 12px;
}

.amz-fbt-add-all {
    display: block;
    width: 100%;
    padding: 8px 16px;
    background: #ffd814;
    border: 1px solid #fcd200;
    border-radius: 100px;
    color: var(--amz-dark, #0F1111);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
}

.amz-fbt-add-all:hover {
    background: #f7ca00;
}

/* --- 49.9 PDP Description Content Polish --- */
.amz-pdp-description {
    font-size: 14px;
    line-height: 1.7;
    color: var(--amz-dark, #0F1111);
}

.amz-pdp-description h1, .amz-pdp-description h2, .amz-pdp-description h3 {
    font-size: 18px;
    font-weight: 700;
    margin: 16px 0 8px;
    color: var(--amz-dark, #0F1111);
}

.amz-pdp-description ul, .amz-pdp-description ol {
    padding-left: 20px;
    margin: 8px 0;
}

.amz-pdp-description li {
    padding: 2px 0;
    line-height: 1.6;
}

.amz-pdp-description img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
    margin: 8px 0;
}

.amz-pdp-description table {
    width: 100%;
    border-collapse: collapse;
    margin: 12px 0;
}

.amz-pdp-description table td, .amz-pdp-description table th {
    padding: 8px 12px;
    border: 1px solid #e3e6e6;
    font-size: 14px;
}

.amz-pdp-description table th {
    background: #f7f7f7;
    font-weight: 600;
}

/* --- 49.10 Mobile Responsive for PDP Enhancements --- */
@media (max-width: 767px) {
    .amz-pdp-title {
        font-size: 18px;
        line-height: 24px;
    }

    .amz-buybox-trust-badges {
        flex-direction: row;
        gap: 4px;
    }

    .amz-trust-badge-item > i {
        font-size: 18px;
    }

    .amz-trust-badge-title {
        font-size: 10px;
    }

    .amz-trust-badge-desc {
        display: none;
    }

    .amz-fbt-layout {
        flex-direction: column;
    }

    .amz-fbt-products {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 8px;
    }

    .amz-fbt-item {
        min-width: 120px;
        max-width: 140px;
    }

    .amz-fbt-item-img {
        width: 80px;
        height: 80px;
    }

    .amz-fbt-summary {
        width: 100%;
    }

    .amz-pdp-specs .amz-specs-label {
        width: 100px;
        font-size: 13px;
        padding-left: 8px;
    }

    .amz-pdp-specs .amz-specs-value {
        font-size: 13px;
        padding: 6px 8px;
    }

    .amz-pdp-bullets li {
        font-size: 13px;
        line-height: 20px;
    }
}


/* ============================================
   44. ULTRA-WIDE DISPLAY OPTIMIZATION (2000px+)
   Walmart-style centered content cap.
   On ultra-wide screens, content is capped at 1800px and centered
   to prevent cards from stretching too thin and maintain visual density.
   The header/nav stays full-width; only main content is capped.
   MUST be at end of file so it overrides all base rules.
   ============================================ */
@media (min-width: 2000px) {

    /* --- 44.1 Body & Background --- */
    /* Gray surround visible around centered white content (like Walmart/Amazon) */
    body {
        background-color: #E3E6E6;
    }

    /* Content area background */
    .amz-homepage,
    .amz-product-page,
    main[role="main"] {
        background-color: var(--amz-gray-bg);
    }

    /* --- 44.2 Homepage Content Cap --- */
    .amz-homepage-container {
        max-width: 1800px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 24px;
        padding-right: 24px;
    }

    /* General container cap */
    .amz-container:not(.amz-nav-container):not(.amz-header-container) {
        max-width: 1800px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 24px;
        padding-right: 24px;
    }

    /* Homepage banner — full-width for visual impact */
    .amz-homepage-banner {
        max-width: none;
    }

    /* Homepage sections polish */
    .amz-homepage-section {
        border-radius: var(--amz-radius);
    }

    /* --- 44.3 Product Detail Page Cap --- */
    .amz-product-page {
        max-width: 1800px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 24px;
        padding-right: 24px;
    }

    /* --- 44.4 Cart, Checkout, Dashboard Cap --- */
    .amz-cart-section > .container,
    .amz-checkout-section > .container,
    .amz-user-panel-section > .container {
        max-width: 1800px !important;
        margin-left: auto;
        margin-right: auto;
    }

    /* --- 44.5 Product Listing / Search / Seller Shop Cap --- */
    .amz-listing-section > .container-fluid,
    .amz-listing-section > .container,
    .amz-shop-section,
    .amz-brand-hero {
        max-width: 1800px;
        margin-left: auto;
        margin-right: auto;
    }

    /* Seller shop content below hero */
    .amz-shop-section ~ section {
        max-width: 1800px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 24px;
        padding-right: 24px;
    }

    /* --- 44.6 Product Detail Page: Below-Grid Sections Cap --- */
    .amz-product-nav,
    .amz-product-below,
    .amz-product-description,
    .amz-product-reviews,
    .amz-review-section {
        max-width: 1800px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 24px;
        padding-right: 24px;
    }

    /* Description area inside the below section */
    .amz-product-below > .container,
    .amz-product-below > .container-fluid {
        max-width: 1800px;
        margin-left: auto;
        margin-right: auto;
    }

    /* --- 44.7 Card Grid: 6 columns max within 1800px cap --- */
    /* Cards at ~280px each = visually dense like Amazon/Walmart */
    .amz-card-grid {
        grid-template-columns: repeat(6, 1fr);
    }

    /* Category grid: 8 columns within 1800px */
    .amz-category-grid {
        grid-template-columns: repeat(8, 1fr);
    }

    /* Note: Footer stays full-width intentionally (same as Amazon/Walmart) */
}


/* ========================================================================
   45. DASHBOARD REFACTOR — Foundation Components
   Amazon-style "Your Account" design system for all customer dashboard pages.
   Measured from Amazon.in via Chrome MCP (Feb 2026).
   ======================================================================== */

/* --- 45.1 Dashboard Breadcrumb --- */
.amz-dash-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 8px;
    padding: 0;
    list-style: none;
}
.amz-dash-breadcrumb a {
    color: var(--amz-link, #2162A1);
    text-decoration: none;
}
.amz-dash-breadcrumb a:hover {
    color: var(--amz-link-hover, #C7511F);
    text-decoration: underline;
}
.amz-dash-breadcrumb .amz-dash-breadcrumb-sep {
    margin: 0 6px;
    color: #565959;
    font-size: 12px;
}
.amz-dash-breadcrumb .amz-dash-breadcrumb-current {
    color: var(--amz-dark, #0F1111);
    font-weight: 700;
}

/* --- 45.2 Page Title --- */
.amz-page-title {
    font-size: 28px;
    font-weight: 700;
    color: var(--amz-dark, #0F1111);
    line-height: 1.25;
    margin-bottom: 16px;
    font-family: var(--amz-font, 'Public Sans', 'Amazon Ember', Arial, sans-serif);
}

/* --- 45.3 Dashboard Card --- */
.amz-dash-card {
    background: #fff;
    border: 1px solid var(--amz-border, #D5D9D9);
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(15, 17, 17, 0.08);
    margin-bottom: 20px;
    overflow: hidden;
}
.amz-dash-card-header {
    padding: 14px 18px;
    font-size: 18px;
    font-weight: 700;
    color: var(--amz-dark, #0F1111);
    border-bottom: 1px solid #f0f0f0;
    background: #fff;
    line-height: 1.35;
}
.amz-dash-card-body {
    padding: 14px 18px;
}

/* --- 45.4 Dashboard Table --- */
.amz-dash-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.amz-dash-table thead th {
    background: #F0F2F2;
    font-size: 12px;
    font-weight: 700;
    color: #565959;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 10px 14px;
    border-bottom: 1px solid var(--amz-border, #D5D9D9);
    white-space: nowrap;
}
.amz-dash-table tbody td {
    padding: 12px 14px;
    border-bottom: 1px solid #f0f0f0;
    color: var(--amz-dark, #0F1111);
    vertical-align: middle;
    font-size: 14px;
}
.amz-dash-table tbody tr:last-child td {
    border-bottom: none;
}
.amz-dash-table tbody tr:hover {
    background: #fafafa;
}
.amz-dash-table .amz-dash-table-link {
    color: var(--amz-link, #2162A1);
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
}
.amz-dash-table .amz-dash-table-link:hover {
    color: var(--amz-link-hover, #C7511F);
    text-decoration: underline;
}
.amz-dash-table .amz-dash-table-bold {
    font-weight: 700;
    color: var(--amz-dark, #0F1111);
}

/* --- 45.5 Badges --- */
.amz-badge {
    display: inline-block;
    border-radius: 100px;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 12px;
    line-height: 1.4;
    white-space: nowrap;
    text-align: center;
    min-width: 70px;
}
.amz-badge-success {
    background: #E6F9E6;
    color: #067D62;
}
.amz-badge-warning {
    background: #FFF8E6;
    color: #C77B10;
}
.amz-badge-danger {
    background: #FCECED;
    color: #CC0C39;
}
.amz-badge-info {
    background: #E6F3FF;
    color: #1F6FB5;
}
.amz-badge-secondary {
    background: #F0F2F2;
    color: #565959;
}

/* --- 45.6 Form Inputs --- */
.amz-form-input {
    height: 36px;
    border: 1px solid #888C8C;
    border-radius: 8px;
    padding: 4px 10px;
    font-size: 14px;
    color: var(--amz-dark, #0F1111);
    background: #fff;
    width: 100%;
    transition: border-color 0.15s, box-shadow 0.15s;
    outline: none;
}
.amz-form-input:focus {
    border-color: #007185;
    box-shadow: 0 0 0 3px rgba(0, 113, 133, 0.25);
    outline: none;
}
.amz-form-input::placeholder {
    color: #888C8C;
}
.amz-form-label {
    font-size: 14px;
    font-weight: 700;
    color: var(--amz-dark, #0F1111);
    margin-bottom: 4px;
    display: block;
}
.amz-form-textarea {
    border: 1px solid #888C8C;
    border-radius: 8px;
    padding: 8px 10px;
    font-size: 14px;
    color: var(--amz-dark, #0F1111);
    background: #fff;
    width: 100%;
    min-height: 80px;
    resize: vertical;
    transition: border-color 0.15s, box-shadow 0.15s;
    outline: none;
}
.amz-form-textarea:focus {
    border-color: #007185;
    box-shadow: 0 0 0 3px rgba(0, 113, 133, 0.25);
    outline: none;
}

/* --- 45.7 Buttons --- */
.amz-btn-primary {
    display: inline-block;
    background: #FFD814;
    color: var(--amz-dark, #0F1111);
    border: 1px solid #FCD200;
    border-radius: 100px;
    padding: 8px 20px;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    transition: background 0.15s;
    text-decoration: none;
    line-height: 1.4;
}
.amz-btn-primary:hover {
    background: #F7CA00;
    text-decoration: none;
    color: var(--amz-dark, #0F1111);
}
.amz-btn-primary:active {
    background: #F0B800;
}
.amz-btn-secondary {
    display: inline-block;
    background: #fff;
    color: var(--amz-dark, #0F1111);
    border: 1px solid #D5D9D9;
    border-radius: 100px;
    padding: 8px 20px;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    transition: background 0.15s;
    text-decoration: none;
    line-height: 1.4;
}
.amz-btn-secondary:hover {
    background: #F7FAFA;
    text-decoration: none;
    color: var(--amz-dark, #0F1111);
}
.amz-btn-link {
    display: inline-block;
    background: none;
    border: none;
    color: var(--amz-link, #2162A1);
    font-size: 14px;
    font-weight: 700;
    padding: 0;
    cursor: pointer;
    text-decoration: none;
    transition: color 0.15s;
}
.amz-btn-link:hover {
    color: var(--amz-link-hover, #C7511F);
    text-decoration: underline;
}

/* --- 45.8 Empty State --- */
.amz-dash-empty {
    text-align: center;
    padding: 48px 24px;
}
.amz-dash-empty-icon {
    font-size: 48px;
    color: #D5D9D9;
    margin-bottom: 16px;
}
.amz-dash-empty-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--amz-dark, #0F1111);
    margin-bottom: 8px;
}
.amz-dash-empty-desc {
    font-size: 14px;
    color: #565959;
    margin-bottom: 20px;
}

/* --- 45.9 Create / Action Button (dashed border) --- */
.amz-dash-create-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    border: 2px dashed var(--amz-border, #D5D9D9);
    border-radius: 8px;
    background: #FAFAFA;
    cursor: pointer;
    text-align: center;
    transition: border-color 0.2s, background 0.2s;
    text-decoration: none;
    color: var(--amz-dark, #0F1111);
    min-height: 100px;
}
.amz-dash-create-btn:hover {
    border-color: var(--amz-link, #2162A1);
    background: #F0F8FF;
    text-decoration: none;
    color: var(--amz-dark, #0F1111);
}
.amz-dash-create-btn .amz-dash-create-icon {
    font-size: 32px;
    color: #565959;
    margin-bottom: 8px;
    line-height: 1;
}
.amz-dash-create-btn .amz-dash-create-text {
    font-size: 14px;
    font-weight: 600;
    color: var(--amz-dark, #0F1111);
}

/* --- 45.10 Sidebar — amz-sidenav --- */
.amz-sidenav-wrap {
    width: 240px;
    min-width: 240px;
    flex-shrink: 0;
    margin-right: 24px;
}
.amz-sidenav {
    background: #fff;
    border: 1px solid var(--amz-border, #D5D9D9);
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(15, 17, 17, 0.08);
    overflow: hidden;
}

/* Profile section */
.amz-sidenav .amz-sidenav-profile {
    padding: 20px 16px;
    text-align: center;
    border-bottom: 1px solid #f0f0f0;
}
.amz-sidenav .amz-sidenav-profile .avatar {
    margin-bottom: 10px;
}
.amz-sidenav .amz-sidenav-profile h4 {
    font-size: 14px;
    font-weight: 700;
    color: var(--amz-dark, #0F1111);
    margin-bottom: 2px;
}
.amz-sidenav .amz-sidenav-profile .amz-sidenav-subtitle {
    font-size: 12px;
    color: #565959;
}

/* Navigation list */
.amz-sidenav .amz-sidenav-list {
    list-style: none;
    margin: 0;
    padding: 8px 0;
}
.amz-sidenav .amz-sidenav-item {
    position: relative;
}
.amz-sidenav .amz-sidenav-link {
    display: flex;
    align-items: center;
    padding: 10px 16px;
    font-size: 14px;
    color: var(--amz-dark, #0F1111);
    text-decoration: none;
    transition: background 0.15s;
    border-left: 3px solid transparent;
}
.amz-sidenav .amz-sidenav-link:hover {
    background: #F5F5F5;
    text-decoration: none;
    color: var(--amz-dark, #0F1111);
}
.amz-sidenav .amz-sidenav-link.active,
.amz-sidenav .amz-sidenav-link.amz-sidenav-active {
    background: #FFF8E6;
    border-left-color: var(--amz-orange, #FF9900);
    font-weight: 700;
}
.amz-sidenav .amz-sidenav-link svg {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
}
.amz-sidenav .amz-sidenav-link .amz-sidenav-text {
    margin-left: 12px;
    flex: 1;
}
.amz-sidenav .amz-sidenav-link .amz-sidenav-badge {
    margin-left: auto;
    background: var(--amz-orange, #FF9900);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 100px;
    line-height: 1.4;
}

/* Sub-menu (level 2) */
.amz-sidenav .amz-sidenav-submenu {
    list-style: none;
    margin: 0;
    padding: 0 0 4px 0;
    background: #FAFAFA;
}
.amz-sidenav .amz-sidenav-submenu .amz-sidenav-link {
    padding: 8px 16px 8px 44px;
    font-size: 13px;
    border-left: 3px solid transparent;
}
.amz-sidenav .amz-sidenav-submenu .amz-sidenav-link:hover {
    background: #F0F0F0;
}

/* Arrow for expandable items */
.amz-sidenav .amz-sidenav-arrow {
    margin-left: auto;
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid #888C8C;
    transition: transform 0.2s;
}

/* Sidebar divider */
.amz-sidenav .amz-sidenav-divider {
    height: 1px;
    background: #f0f0f0;
    margin: 4px 0;
}

/* Sign Out button */
.amz-sidenav .amz-sidenav-signout {
    display: block;
    margin: 8px 16px 16px;
    padding: 10px 16px;
    background: var(--amz-orange, #FF9900);
    color: #fff;
    border: none;
    border-radius: 100px;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition: background 0.15s;
}
.amz-sidenav .amz-sidenav-signout:hover {
    background: var(--amz-orange-hover, #FA8900);
    text-decoration: none;
    color: #fff;
}

/* --- 45.11 Dashboard Panel (main content area) --- */
.amz-user-panel-section .mf-user-panel {
    flex: 1;
    min-width: 0;
}

/* --- 45.12 Modal Styling for Dashboard --- */
.amz-dash-modal .modal-content {
    border-radius: 8px;
    border: 1px solid var(--amz-border, #D5D9D9);
    box-shadow: 0 4px 16px rgba(15, 17, 17, 0.15);
}
.amz-dash-modal .modal-header {
    padding: 14px 18px;
    border-bottom: 1px solid #f0f0f0;
}
.amz-dash-modal .modal-header .modal-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--amz-dark, #0F1111);
}
.amz-dash-modal .modal-body {
    padding: 18px;
}
.amz-dash-modal .modal-footer {
    padding: 14px 18px;
    border-top: 1px solid #f0f0f0;
}

/* --- 45.13 Dashboard Responsive --- */
@media (max-width: 991px) {
    .amz-page-title {
        font-size: 22px;
    }
    .amz-dash-card-header {
        font-size: 16px;
        padding: 12px 14px;
    }
    .amz-dash-card-body {
        padding: 12px 14px;
    }
    .amz-dash-table thead th {
        padding: 8px 10px;
        font-size: 11px;
    }
    .amz-dash-table tbody td {
        padding: 10px;
        font-size: 13px;
    }
}
@media (max-width: 767px) {
    .amz-page-title {
        font-size: 20px;
        margin-bottom: 12px;
    }
    .amz-dash-breadcrumb {
        font-size: 12px;
    }
    .amz-dash-card-header {
        padding: 10px 12px;
    }
    .amz-dash-card-body {
        padding: 10px 12px;
    }
    .amz-dash-create-btn {
        padding: 16px;
        min-height: 80px;
    }
    /* Stack table on mobile */
    .amz-dash-table-responsive {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}
@media (max-width: 479px) {
    .amz-page-title {
        font-size: 18px;
    }
    .amz-form-input {
        height: 40px; /* Larger touch target on mobile */
        font-size: 16px; /* Prevent iOS zoom */
    }
    .amz-form-textarea {
        font-size: 16px;
    }
    .amz-btn-primary,
    .amz-btn-secondary {
        padding: 10px 16px;
        font-size: 14px;
        width: 100%;
    }
}


/* ========================================================================
   46. DASHBOARD REFACTOR — "Your Account" Card Grid
   Amazon-style 3-column card grid for the main dashboard landing page.
   Measured: Amazon.in cards = 320x102px, 1px solid #D5D9D9, border-radius 8px,
   icon 48px circle, title 17px/400, desc 14px gray.
   ======================================================================== */

/* --- 46.1 Account Grid Layout --- */
.amz-account-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 28px;
}

/* --- 46.2 Account Card --- */
.amz-account-card {
    display: flex;
    align-items: center;
    padding: 16px 20px;
    background: #fff;
    border: 1px solid var(--amz-border, #D5D9D9);
    border-radius: 8px;
    text-decoration: none;
    color: var(--amz-dark, #0F1111);
    transition: border-color 0.2s, box-shadow 0.2s;
    min-height: 102px;
}
.amz-account-card:hover {
    border-color: var(--amz-link, #2162A1);
    box-shadow: 0 2px 8px rgba(15, 17, 17, 0.12);
    text-decoration: none;
    color: var(--amz-dark, #0F1111);
}

/* --- 46.3 Card Icon --- */
.amz-account-card-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-right: 16px;
    font-size: 22px;
    color: #fff;
}
/* Icon color variants by category */
.amz-account-icon-orders { background: #2162A1; }
.amz-account-icon-security { background: #E47911; }
.amz-account-icon-address { background: #067D62; }
.amz-account-icon-wallet { background: #7B2D8E; }
.amz-account-icon-wishlist { background: #CC0C39; }
.amz-account-icon-support { background: #1F6FB5; }
.amz-account-icon-messages { background: #3B82F6; }
.amz-account-icon-downloads { background: #565959; }
.amz-account-icon-rfq { background: #C77B10; }
.amz-account-icon-affiliate { background: #067D62; }

/* --- 46.4 Card Content --- */
.amz-account-card-content {
    flex: 1;
    min-width: 0;
}
.amz-account-card-title {
    font-size: 17px;
    font-weight: 400;
    color: var(--amz-dark, #0F1111);
    line-height: 1.35;
    margin-bottom: 2px;
}
.amz-account-card-desc {
    font-size: 13px;
    color: #565959;
    line-height: 1.4;
}

/* --- 46.5 Account Grid Responsive --- */
@media (max-width: 991px) {
    .amz-account-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
}
@media (max-width: 575px) {
    .amz-account-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .amz-account-card {
        padding: 14px 16px;
        min-height: auto;
    }
    .amz-account-card-icon {
        width: 40px;
        height: 40px;
        font-size: 18px;
        margin-right: 12px;
    }
    .amz-account-card-title {
        font-size: 15px;
    }
    .amz-account-card-desc {
        font-size: 12px;
    }
}


/* ========================================================================
   47. DASHBOARD REFACTOR — Wallet + Profile Page Styles
   ======================================================================== */

/* --- 47.1 Wallet Balance Card --- */
.amz-wallet-balance-card {
    border-radius: 8px;
    background: linear-gradient(135deg, #232F3E 0%, #131921 100%) !important;
    border: none;
}

/* --- 47.2 Address Card --- */
.amz-address-card {
    border-radius: 8px !important;
    border-color: var(--amz-border, #D5D9D9) !important;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.amz-address-card:hover {
    border-color: var(--amz-link, #2162A1) !important;
    box-shadow: 0 2px 8px rgba(15, 17, 17, 0.1);
}
/* Default address gets orange left border */
.amz-address-card .amz-badge-info {
    background: var(--amz-orange, #FF9900);
    color: #fff;
}


/* ========================================================================
   48. DASHBOARD REFACTOR — Support Tickets + Conversations
   ======================================================================== */

/* --- 48.1 Thread / Message List --- */
.amz-thread .list-group-item {
    border-radius: 0;
    border-left: none;
    border-right: none;
}
.amz-thread-message {
    padding: 16px 0;
    border-bottom: 1px solid #f0f0f0;
}
.amz-thread-message:last-child {
    border-bottom: none;
}
.amz-thread-message .media {
    margin-bottom: 8px;
}
.amz-thread-message .avatar {
    border-radius: 50%;
    overflow: hidden;
}

/* --- 48.2 Reply Form --- */
.amz-reply-form {
    padding: 16px 0;
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 16px;
}

/* --- 48.3 Conversation Item --- */
.amz-conversation-item {
    border-radius: 8px !important;
    border: 1px solid var(--amz-border, #D5D9D9) !important;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.amz-conversation-item:hover {
    border-color: var(--amz-link, #2162A1) !important;
    box-shadow: 0 2px 8px rgba(15, 17, 17, 0.1);
}


/* ========================================================================
   49. DASHBOARD REFACTOR — Followed Sellers Grid
   ======================================================================== */

/* --- 49.1 Seller Grid --- */
.amz-seller-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 20px;
}
.amz-seller-card {
    background: #fff;
    border: 1px solid var(--amz-border, #D5D9D9);
    border-radius: 8px;
    padding: 20px 16px;
    text-align: center;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.amz-seller-card:hover {
    border-color: var(--amz-link, #2162A1);
    box-shadow: 0 2px 8px rgba(15, 17, 17, 0.12);
}
.amz-seller-logo-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    border-radius: 50%;
    border: 1px solid #e5e5e5;
    overflow: hidden;
    margin: 0 auto;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}
.amz-seller-logo {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* --- 49.2 Seller Grid Responsive --- */
@media (max-width: 991px) {
    .amz-seller-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 767px) {
    .amz-seller-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
}
@media (max-width: 479px) {
    .amz-seller-grid {
        grid-template-columns: 1fr;
    }
}


/* ========================================================================
   50. DASHBOARD REFACTOR — Package Grid + Hero
   ======================================================================== */

/* --- 50.1 Package Hero --- */
.amz-package-hero {
    background: linear-gradient(135deg, #232F3E 0%, #131921 100%);
}

/* --- 50.2 Package Grid --- */
.amz-package-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.amz-package-card .amz-dash-card {
    height: 100%;
}
@media (max-width: 991px) {
    .amz-package-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 575px) {
    .amz-package-grid {
        grid-template-columns: 1fr;
    }
}


/* ========================================================================
   51. DASHBOARD REFACTOR — RFQ Pages
   ======================================================================== */

/* --- 51.1 RFQ Stat Cards --- */
.amz-rfq-stat-card {
    border-radius: 8px;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.amz-rfq-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(15, 17, 17, 0.1);
}

/* --- 51.2 Priority Circle Badges --- */
.amz-priority-circle {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    flex-shrink: 0;
}
.amz-priority-urgent {
    background-color: #FCECED;
    color: #CC0C39;
    border: 1px solid #CC0C39;
}
.amz-priority-high {
    background-color: #FFF8E6;
    color: #C77B10;
    border: 1px solid #C77B10;
}
.amz-priority-medium {
    background-color: #E6F3FF;
    color: #1F6FB5;
    border: 1px solid #1F6FB5;
}
.amz-priority-low {
    background-color: #E6F9E6;
    color: #067D62;
    border: 1px solid #067D62;
}

/* --- 51.3 RFQ Title Link --- */
.amz-rfq-title-link {
    color: var(--amz-dark, #0F1111);
    text-decoration: none;
    transition: color 0.15s ease;
}
.amz-rfq-title-link:hover {
    color: var(--amz-link-hover, #C7511F);
    text-decoration: none;
}

/* --- 51.4 Bid Card --- */
.amz-bid-card {
    transition: background-color 0.15s ease;
}
.amz-bid-card:hover {
    background-color: #FAFAFA;
}
.amz-bid-awarded {
    background-color: #E6F9E6 !important;
    border-left: 3px solid #067D62;
}

/* --- 51.5 Pulse Animation (moved from inline styles) --- */
.pulse {
    animation: amz-pulse 1s infinite;
}
@keyframes amz-pulse {
    0% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.05); opacity: 0.85; }
    100% { transform: scale(1); opacity: 1; }
}

/* --- 51.6 RFQ Responsive --- */
@media (max-width: 767px) {
    .amz-rfq-stat-card {
        padding: 12px !important;
    }
    .amz-rfq-stat-card .fs-30 {
        font-size: 22px;
    }
    .amz-rfq-stat-card .fs-40 {
        font-size: 28px;
    }
    .amz-bid-card .row {
        flex-direction: column;
    }
    .amz-bid-card .text-md-right {
        text-align: left !important;
        margin-top: 12px;
    }
    .amz-bid-card .btn-group-vertical {
        flex-direction: row;
        gap: 8px;
    }
}


/* ========================================================================
   52. DASHBOARD REFACTOR — Dashboard-Wide Responsive Polish
   ======================================================================== */

/* --- 52.1 Notification List --- */
.amz-dash-card .list-group-item {
    border-left: 0;
    border-right: 0;
    transition: background-color 0.15s ease;
}
.amz-dash-card .list-group-item:hover {
    background-color: #FAFAFA;
}

/* --- 52.2 Dashboard Panel — Tablet (max-width: 991px) --- */
@media (max-width: 991px) {
    /* All grids → 2 columns */
    .amz-account-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .amz-seller-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .amz-package-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    /* Card header text center on tablet */
    .amz-dash-card-header h5 {
        text-align: center;
    }
    /* Conversation items tighter */
    .amz-conversation-item .col-lg-3 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* --- 52.3 Dashboard Panel — Mobile (max-width: 767px) --- */
@media (max-width: 767px) {
    /* Page title smaller */
    .amz-page-title {
        font-size: 22px;
        margin-bottom: 12px;
    }
    /* Breadcrumb smaller */
    .amz-dash-breadcrumb {
        font-size: 12px;
        padding: 8px 0;
    }
    /* Cards tighter padding */
    .amz-dash-card-header {
        padding: 10px 14px;
    }
    .amz-dash-card-body {
        padding: 10px 14px;
    }
    /* Table responsive improvements */
    .amz-dash-table th,
    .amz-dash-table td {
        padding: 8px 10px;
        font-size: 13px;
    }
    /* Badges smaller */
    .amz-badge {
        padding: 3px 8px;
        font-size: 11px;
    }
    /* Account grid → single column */
    .amz-account-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    /* Seller grid → single column */
    .amz-seller-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }
    /* Conversation items stacked */
    .amz-conversation-item .row {
        flex-direction: column;
    }
    .amz-conversation-item .col-auto {
        margin-bottom: 8px;
    }
    /* Thread messages tighter */
    .amz-thread-message {
        padding: 12px 0;
    }
    /* Form inputs full width */
    .amz-form-input,
    .amz-form-textarea {
        font-size: 14px;
    }
    /* Buttons full width on mobile */
    .amz-btn-primary,
    .amz-btn-secondary {
        font-size: 13px;
        padding: 6px 16px;
    }
    /* Wallet balance card */
    .amz-wallet-balance-card {
        padding: 16px !important;
    }
    .amz-wallet-balance-card .fs-30 {
        font-size: 24px;
    }
    /* Modal adjustments */
    .amz-dash-modal .modal-dialog {
        margin: 10px;
    }
}

/* --- 52.4 Dashboard Panel — Small Mobile (max-width: 479px) --- */
@media (max-width: 479px) {
    /* Title even smaller */
    .amz-page-title {
        font-size: 20px;
    }
    /* Breadcrumb minimal */
    .amz-dash-breadcrumb {
        font-size: 11px;
    }
    /* Cards minimal padding */
    .amz-dash-card-header {
        padding: 8px 12px;
    }
    .amz-dash-card-body {
        padding: 8px 12px;
    }
    /* Create button smaller */
    .amz-dash-create-btn {
        padding: 12px !important;
    }
    .amz-dash-create-btn .la-3x {
        font-size: 2em;
    }
    /* Seller grid → single column */
    .amz-seller-grid {
        grid-template-columns: 1fr;
    }
    /* Seller logo smaller */
    .amz-seller-logo-wrap {
        width: 72px;
        height: 72px;
    }
    /* Package grid single column */
    .amz-package-grid {
        grid-template-columns: 1fr;
    }
    /* Stat cards compact */
    .amz-rfq-stat-card .fs-30 {
        font-size: 20px;
    }
    .amz-rfq-stat-card .fs-40 {
        font-size: 24px;
    }
}

/* === SECTION 45: AI REALTIME VOICE + CHAT === */
/* Voice button states */
.amz-realtime-active {
    box-shadow: 0 0 0 4px rgba(255, 153, 0, 0.25);
    transition: box-shadow 0.2s ease;
}
.amz-realtime-listening {
    box-shadow: 0 0 0 4px rgba(255, 153, 0, 0.45);
    animation: amzRtPulse 1.4s ease-in-out infinite;
}
.amz-realtime-thinking {
    box-shadow: 0 0 0 4px rgba(0, 130, 150, 0.45);
}
.amz-realtime-speaking {
    box-shadow: 0 0 0 4px rgba(6, 125, 98, 0.45);
}
@keyframes amzRtPulse {
    0%, 100% { box-shadow: 0 0 0 4px rgba(255, 153, 0, 0.45); }
    50%      { box-shadow: 0 0 0 10px rgba(255, 153, 0, 0); }
}

/* Floating status pill */
.amz-realtime-status {
    position: fixed;
    bottom: 100px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    background: rgba(15, 17, 17, 0.92);
    color: #fff;
    padding: 10px 20px;
    border-radius: 24px;
    font-size: 14px;
    font-weight: 500;
    z-index: 10000;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
.amz-realtime-status.show {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

/* Chat bubbles in AI assistant sidebar */
.amz-rt-msg {
    margin-bottom: 12px;
    display: flex;
}
.amz-rt-msg-user {
    justify-content: flex-end;
}
.amz-rt-msg-assistant {
    justify-content: flex-start;
}
.amz-rt-bubble {
    max-width: 82%;
    padding: 10px 14px;
    border-radius: 14px;
    font-size: 14px;
    line-height: 1.45;
    word-wrap: break-word;
}
.amz-rt-msg-user .amz-rt-bubble {
    background: #2162A1;
    color: #fff;
    border-bottom-right-radius: 4px;
}
.amz-rt-msg-assistant .amz-rt-bubble {
    background: #F0F2F2;
    color: #0F1111;
    border-bottom-left-radius: 4px;
}
.amz-rt-bubble-streaming::after {
    content: '▍';
    margin-left: 2px;
    opacity: 0.4;
    animation: amzRtBlink 1s steps(2, start) infinite;
}
@keyframes amzRtBlink { to { opacity: 0; } }

.amz-rt-msg-system {
    text-align: center;
    color: #565959;
    font-size: 12px;
    font-style: italic;
    margin: 8px 0;
}
.amz-rt-msg-tool {
    margin: 8px 0 12px;
    width: 100%;
}

/* Tool result: product grid (mini cards inside the chat sidebar) */
.amz-rt-products {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    width: 100%;
}
.amz-rt-product-card {
    display: flex;
    background: #fff;
    border: 1px solid #D5D9D9;
    border-radius: 8px;
    padding: 8px;
    gap: 10px;
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}
.amz-rt-product-card:hover {
    border-color: #008296;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.amz-rt-product-thumb {
    flex: 0 0 64px;
    width: 64px;
    height: 64px;
    border-radius: 6px;
    overflow: hidden;
    background: #F5F5F5;
}
.amz-rt-product-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.amz-rt-product-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.amz-rt-product-name {
    font-size: 13px;
    font-weight: 500;
    color: #0F1111;
    text-decoration: none;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.amz-rt-product-name:hover { color: #C7511F; text-decoration: underline; }
.amz-rt-product-price {
    font-size: 14px;
    font-weight: 700;
    color: #0F1111;
    margin: 4px 0;
}
.amz-rt-product-actions {
    display: flex;
    gap: 6px;
    align-items: center;
}
.amz-rt-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 28px;
    padding: 0 12px;
    border-radius: 100px;
    font-size: 12px;
    font-weight: 500;
    border: 1px solid transparent;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease;
}
.amz-rt-btn-primary {
    background: #FFD814;
    border-color: #FCD200;
    color: #0F1111;
}
.amz-rt-btn-primary:hover { background: #F7CA00; }
.amz-rt-btn-primary:disabled { opacity: 0.6; cursor: wait; }
.amz-rt-btn-ghost {
    background: #fff;
    border-color: #D5D9D9;
    color: #2162A1;
}
.amz-rt-btn-ghost:hover { border-color: #2162A1; }
.amz-rt-btn-disabled {
    background: #F5F5F5;
    border-color: #D5D9D9;
    color: #767676;
    cursor: not-allowed;
}

/* Tool result: cart-added confirmation */
.amz-rt-cart-added {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    border-left: 4px solid #067D62;
    background: #F0F8F4;
}
.amz-rt-cart-added-fail {
    border-left-color: #CC0C39;
    background: #FFF0F3;
}
.amz-rt-cart-added-icon { font-size: 24px; color: #067D62; }
.amz-rt-cart-added-fail .amz-rt-cart-added-icon { color: #CC0C39; }
.amz-rt-cart-added-body { flex: 1; font-size: 13px; }
.amz-rt-cart-added-body strong { display: block; font-weight: 600; color: #0F1111; margin-bottom: 2px; }
.amz-rt-cart-added-meta { font-size: 12px; color: #565959; }
.amz-rt-cart-added-meta a { color: #2162A1; text-decoration: none; }
.amz-rt-cart-added-meta a:hover { text-decoration: underline; }

/* Tool result: order list */
.amz-rt-orders { display: flex; flex-direction: column; gap: 6px; }
.amz-rt-order-card {
    display: block;
    padding: 10px 12px;
    background: #fff;
    border: 1px solid #D5D9D9;
    border-radius: 8px;
    text-decoration: none;
    color: #0F1111;
    transition: border-color 0.15s ease;
}
.amz-rt-order-card:hover { border-color: #008296; text-decoration: none; }
.amz-rt-order-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.amz-rt-order-code { font-weight: 600; font-size: 13px; }
.amz-rt-order-status {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 100px;
    background: #F0F2F2;
    color: #565959;
}
.amz-rt-order-status-delivered { background: #E6F7F2; color: #067D62; }
.amz-rt-order-status-pending   { background: #FFF8E6; color: #B8860B; }
.amz-rt-order-status-cancelled { background: #FFF0F3; color: #CC0C39; }
.amz-rt-order-meta { font-size: 12px; color: #565959; }

/* Notice (login prompt, errors) */
.amz-rt-notice {
    padding: 10px 12px;
    background: #F5F7F7;
    border-radius: 6px;
    font-size: 13px;
    color: #565959;
    text-align: center;
}
.amz-rt-notice a { color: #2162A1; text-decoration: underline; }
.amz-rt-notice-error { background: #FFF0F3; color: #CC0C39; }
