
        :root {
            --primary-orange: #ff6600;
            --primary-orange-hover: #e55c00;
            --dark-bg: #12151c;
            --dark-card: #1a1e28;
            --text-gray: #a0a5b1;
            --border-color: #e2e8f0;
        }

        body {
            font-family: 'Poppins', sans-serif;
            background-color: #f8f9fa;
            color: #333;
            font-size: 16px;
            overflow-x: hidden;
        }
		
		a{
			color:#ff6600;
			text-decoration:none;
		}
		
		a:hover{
			color:#e55c00;
			text-decoration:none;
		}

        .custom-container {
            width: 100%;
            padding-right: 15px;
            padding-left: 15px;
            margin-right: auto;
            margin-left: auto;
            max-width: 1420px;
        }

        /* TOP NOTIFICATION BAR */
        .top-bar {
            background-color: #0d0e12;
            color: #a0a5b1;
            font-size: 15px;
            padding: 8px 0;
            border-bottom: 1px solid #1e222d;
            position: relative;
            z-index: 1040;
        }

        .top-bar i {
            color: var(--primary-orange);
            margin-right: 6px;
        }

        .top-bar .dropdown-toggle {
            color: #fff;
            font-size: 15px;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 6px;
        }

        .top-bar .dropdown-toggle::after {
            display: none;
        }

        .top-bar .top-header-dropdown {
            position: relative;
        }

        .top-bar .top-header-dropdown-menu {
            display: none;
            position: absolute;
            top: 100%;
            right: 0;
            left: auto;
            margin-top: 8px;
            min-width: 160px;
            padding: 6px 0;
            background-color: #1a1e28;
            border: 1px solid #282d3c;
            border-radius: 0.375rem;
            box-shadow: 0 8px 20px rgba(0,0,0,0.35);
            z-index: 99999;
        }

        .top-bar .top-header-dropdown-menu.show {
            display: block;
        }

        .top-bar .top-header-dropdown-menu .dropdown-item {
            display: block;
            width: 100%;
            padding: 6px 14px;
            color: #d1d5db;
            font-size: 15px;
            text-decoration: none;
        }

        .top-bar .top-header-dropdown-menu .dropdown-item:hover {
            background-color: var(--primary-orange);
            color: #fff;
        }

        /* STICKY HEADER */
        .sticky-header-wrapper {
            position: sticky;
            top: 0;
            z-index: 1030;
            box-shadow: 0 4px 12px rgba(0,0,0,0.25);
        }

        /* MAIN HEADER */
        .main-header {
            background-color: #12151c;
            padding: 30px 0;

        }

        .logo-text {
            color: #fff;
            font-weight: 800;
            font-size: 25px;
            letter-spacing: 0.5px;
            text-decoration: none;
            display: inline-block;
        }

        .logo-text span {
            color: var(--primary-orange);
        }


        /* HEADER STANDARD OPENCART BRANDING */
        .header-logo-image {
            max-height: 55px;
            width: auto;
            object-fit: contain;
        }

        .mobile-header-logo {
            max-height: 36px;
            width: auto;
            max-width: 210px;
            object-fit: contain;
        }

        .header-store-name {
            color: #fff;
            font-weight: 800;
            letter-spacing: 0.5px;
        }

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

        /* SEARCH BOX */
        .search-box {
            height: 48px;
        }

        .search-box input {
            border: none;
            box-shadow: none;
            font-size: 15px;
            padding: 12px 18px;
            height: 100%;
        }

        .search-box .btn-search {
            background-color: var(--primary-orange);
            border: none;
            color: #fff;
            padding: 0 24px;
            font-size: 18px;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .search-box .btn-search:hover {
            background-color: var(--primary-orange-hover);
        }

        /* ACTIONS & CART */
        .header-actions a, .header-actions button {
            color: #fff;
            text-decoration: none;
            font-size: 14px;
            font-weight: 500;
            display: flex;
            align-items: center;
            background: none;
            border: none;
            padding: 0;
        }

        .header-actions i.action-icon {
            font-size: 24px;
            margin-right: 6px;
        }

        .badge-count {
            font-size: 10px;
            padding: 3px 6px;
            border-radius: 50%;
        }

        /* DROPDOWN CART */
        /* NAVIGATION BAR */
        .nav-bar {
            background-color: #1a1e28;
            border-top: 1px solid #282d3c;
        }

        .all-categories-wrapper {
            position: relative;
        }

        .all-categories-btn {
            background-color: var(--primary-orange);
            color: #fff;
            font-weight: 700;
            font-size: 16px;
            border: none;
            padding: 12px 18px;
            width: 100%;
            text-align: left;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-radius: 0;
            min-height: 50px;
        }

        .all-categories-btn:hover,
        .all-categories-btn:focus,
        .all-categories-btn:active {
            background-color: var(--primary-orange-hover);
            color: #fff;
            box-shadow: none;
        }

        .all-categories-btn .categories-title {
            display: flex;
            align-items: center;
        }

        .all-categories-btn .categories-title i {
            color: #fff;
            font-size: 17px;
            margin-right: 10px;
        }

        .all-categories-btn .categories-arrow {
            font-size: 14px;
            transition: transform 0.25s ease;
        }

        .all-categories-btn[aria-expanded="true"] .categories-arrow {
            transform: rotate(180deg);
        }
		
		/* BREADCRUMB HEADER */
        .category-page-header {
            background: linear-gradient(135deg, #0d0e12 0%, #1a202c 100%);
            padding: 40px 0;
            color: #fff;
            border-bottom: 1px solid #282d3c;
        }

        .breadcrumb-custom {
            margin: 0;
            padding: 0;
            list-style: none;
            display: flex;
            gap: 8px;
            font-size: 14px;
            color: #94a3b8;
        }
        .breadcrumb-custom a { color: #cbd5e1; text-decoration: none; }
        .breadcrumb-custom a:hover { color: var(--primary-orange); }
        .breadcrumb-custom .active { color: var(--primary-orange); font-weight: 600; }
		
		
		/* FILTER SIDEBAR STYLES */
        .filter-sidebar {
            background: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 24px;
            box-shadow: 0 4px 12px rgba(0,0,0,0.03);
        }

        .filter-title {
            font-size: 16px;
            font-weight: 700;
            color: #1e293b;
            margin-bottom: 18px;
            padding-bottom: 10px;
            border-bottom: 2px solid #f1f5f9;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        /* REVISED CATEGORY SIDEBAR STYLES */
        .category-sidebar-list {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .category-sidebar-item {
            position: relative;
        }

        .category-sidebar-link {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 10px 14px;
            border-radius: 8px;
            background-color: #f8fafc;
            border: 1px solid #f1f5f9;
            color: #475569;
            text-decoration: none;
            font-size: 14px;
            font-weight: 500;
            transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .category-sidebar-link .cat-info {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .category-sidebar-link .cat-icon {
            width: 32px;
            height: 32px;
            border-radius: 6px;
            background-color: #ffffff;
            color: #64748b;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 14px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
            transition: all 0.25s ease;
        }

        .category-sidebar-link .filter-count {
            background-color: #e2e8f0;
            color: #475569;
            font-size: 11px;
            padding: 3px 9px;
            border-radius: 12px;
            font-weight: 600;
            transition: all 0.25s ease;
        }

        .category-sidebar-link:hover {
            background-color: #ffffff;
            border-color: rgba(255, 102, 0, 0.3);
            color: var(--primary-orange);
            transform: translateX(4px);
            box-shadow: 0 4px 12px rgba(255, 102, 0, 0.08);
        }

        .category-sidebar-link:hover .cat-icon {
            background-color: var(--primary-orange);
            color: #ffffff;
        }

        .category-sidebar-link:hover .filter-count {
            background-color: #fff5ed;
            color: var(--primary-orange);
        }

        .category-sidebar-link.active {
            background: linear-gradient(135deg, var(--primary-orange) 0%, #e55c00 100%);
            border-color: var(--primary-orange);
            color: #ffffff;
            font-weight: 600;
            box-shadow: 0 6px 16px rgba(255, 102, 0, 0.25);
        }

        .category-sidebar-link.active .cat-icon {
            background-color: rgba(255, 255, 255, 0.2);
            color: #ffffff;
        }

        .category-sidebar-link.active .filter-count {
            background-color: rgba(255, 255, 255, 0.25);
            color: #ffffff;
        }

        .form-check-input:checked {
            background-color: var(--primary-orange);
            border-color: var(--primary-orange);
        }

        /* SWIPER / RANGE SLIDER DUAL CONTROL */
        .price-range-wrapper {
            padding: 10px 0 20px 0;
        }

        .price-slider-container {
            position: relative;
            height: 6px;
            background: #e2e8f0;
            border-radius: 3px;
            margin: 25px 0 20px 0;
        }

        .price-slider-track {
            position: absolute;
            height: 100%;
            background: var(--primary-orange);
            border-radius: 3px;
            left: 0%;
            right: 0%;
        }

        .range-input {
            position: relative;
        }

        .range-input input {
            position: absolute;
            width: 100%;
            height: 6px;
            top: -26px;
            background: none;
            pointer-events: none;
            -webkit-appearance: none;
            appearance: none;
        }

        input[type="range"]::-webkit-slider-thumb {
            height: 18px;
            width: 18px;
            border-radius: 50%;
            background: var(--primary-orange);
            pointer-events: auto;
            -webkit-appearance: none;
            box-shadow: 0 0 6px rgba(0,0,0,0.2);
            cursor: pointer;
        }

        input[type="range"]::-moz-range-thumb {
            height: 18px;
            width: 18px;
            border: none;
            border-radius: 50%;
            background: var(--primary-orange);
            pointer-events: auto;
            cursor: pointer;
        }

        .price-amount-box {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
        }

        .price-amount-box input {
            width: 45%;
            font-size: 13px;
            padding: 6px 10px;
            border: 1px solid #cbd5e1;
            border-radius: 6px;
            text-align: center;
        }
		
		/* CATEGORY CARDS SWIPER TOP BAR */
        .top-categories-swiper {
            margin-bottom: 30px;
        }
		
		 /* PAGINATION */
        .pagination-custom .page-link {
            color: #1e293b;
            border: 1px solid #e2e8f0;
            padding: 8px 16px;
            font-weight: 600;
            border-radius: 6px;
            margin: 0 3px;
        }

        .pagination-custom .page-item.active .page-link {
            background-color: var(--primary-orange);
            border-color: var(--primary-orange);
            color: #fff;
        }

        .pagination-custom .page-link:hover {
            background-color: #fff5ed;
            color: var(--primary-orange);
        }
		
		/* SHOP TOOLBAR */
        .shop-toolbar {
            background: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 10px;
            padding: 12px 20px;
            margin-bottom: 24px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 15px;
        }
		
		.view-btn {
            border: 1px solid #cbd5e1;
            background: #fff;
            color: #64748b;
            width: 36px;
            height: 36px;
            border-radius: 6px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: 0.2s;
        }

        .view-btn.active, .view-btn:hover {
            background: var(--primary-orange);
            color: #fff;
            border-color: var(--primary-orange);
        }

        .category-badge-card {
            background: #fff;
            border: 1px solid #e2e8f0;
            border-radius: 10px;
            padding: 15px;
            text-align: center;
            text-decoration: none;
            color: #1e293b;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 10px;
            transition: all 0.3s ease;
        }

        .category-badge-card:hover {
            border-color: var(--primary-orange);
            transform: translateY(-3px);
            box-shadow: 0 8px 15px rgba(255,102,0,0.1);
            color: var(--primary-orange);
        }

        .category-badge-icon {
            width: 48px;
            height: 48px;
            background: #fff5ed;
            color: var(--primary-orange);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 20px;
        }
		
		/* PAGE CART SPECIFIC STYLES */
        .cart-table-card {
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            box-shadow: 0 4px 20px rgba(0,0,0,0.03);
            margin-bottom: 24px;
            overflow: hidden;
        }

        .cart-table-header {
            background-color: #ffffff;
            border-bottom: 1px solid #edf2f7;
            padding: 20px 25px;
        }

        .cart-table {
            margin-bottom: 0;
            vertical-align: middle;
        }

        .cart-table th {
            background-color: #f8fafc;
            color: #475569;
            font-size: 13px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            padding: 16px 20px;
            border-bottom: 1px solid #e2e8f0;
        }

        .cart-table td {
            padding: 20px;
            border-bottom: 1px solid #f1f5f9;
        }

        .cart-item-img-box {
            width: 70px;
            height: 70px;
            border-radius: 10px;
            background: linear-gradient(135deg, #1e2330 0%, #12151c 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--primary-orange);
            font-size: 24px;
            flex-shrink: 0;
            border: 1px solid #2d3748;
        }

        .qty-input-group {
            width: 120px;
            border: 1px solid #cbd5e1;
            border-radius: 8px;
            overflow: hidden;
            background-color: #fff;
        }

        .qty-input-group .btn-qty {
            border: none;
            background: transparent;
            color: #475569;
            width: 32px;
            height: 36px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 12px;
            transition: all 0.2s ease;
        }

        .qty-input-group .btn-qty:hover {
            background-color: #f1f5f9;
            color: var(--primary-orange);
        }

        .qty-input-group input {
            border: none;
            text-align: center;
            font-weight: 600;
            font-size: 14px;
            width: 56px;
            height: 36px;
            color: #0f172a;
        }

        .qty-input-group input:focus {
            outline: none;
            box-shadow: none;
        }

        .btn-remove-item {
            color: #94a3b8;
            background: transparent;
            border: none;
            width: 34px;
            height: 34px;
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s ease;
        }

        .btn-remove-item:hover {
            background-color: rgba(239, 68, 68, 0.1);
            color: #ef4444;
        }

        .custom-form-check {
            accent-color: var(--primary-orange);
            width: 18px;
            height: 18px;
            cursor: pointer;
        }

        .summary-card {
            background-color: #12151c;
            color: #fff;
            border-radius: 14px;
            padding: 28px;
            position: sticky;
            top: 100px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.15);
        }

        .order-divider {
            border-top: 1px dashed #2d3748;
            margin: 18px 0;
        }

        .btn-checkout-submit {
            background: linear-gradient(135deg, #ff6600 0%, #e55c00 100%);
            color: #fff;
            font-weight: 700;
            font-size: 16px;
            padding: 15px 24px;
            border-radius: 8px;
            border: none;
            width: 100%;
            letter-spacing: 0.5px;
            transition: all 0.3s ease;
            box-shadow: 0 6px 20px rgba(255, 102, 0, 0.35);
            display: block;
            text-align: center;
            text-decoration: none;
        }

        .btn-checkout-submit:hover {
            background: linear-gradient(135deg, #ff751a 0%, #f06300 100%);
            color: #fff;
            transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(255, 102, 0, 0.45);
        }

        .shipping-calc-card {
            background-color: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 20px 24px;
            margin-bottom: 24px;
        }

        @media (min-width: 992px) {
            .all-categories-menu {
                background-color: #101214 !important;
                border: none !important;
                border-radius: 0 !important;
                padding: 0 !important;
                margin: 0 !important;
                width: 100%;
                box-shadow: 0 12px 30px rgba(0,0,0,0.35);
            }

            .all-categories-menu > li {
                border-bottom: 1px solid #25282d;
                position: relative;
            }

            .all-categories-menu .category-link {
                background-color: #101214;
                color: #d7d9dd;
                padding: 14px 16px;
                display: flex;
                align-items: center;
                justify-content: space-between;
                font-size: 15px;
                font-weight: 600;
                text-decoration: none;
                transition: all 0.2s ease;
            }

            .all-categories-menu .category-link:hover {
                background-color: #181b20;
                color: #fff;
                padding-left: 20px;
            }

            .dropdown-submenu {
                position: relative;
            }

            .dropdown-submenu > .dropdown-menu {
                top: 0;
                left: 100%;
                margin-top: 0;
                display: none;
                background-color: #101214;
                border: 1px solid #25282d;
                border-radius: 0;
                padding: 0;
                min-width: 220px;
                box-shadow: 0 12px 30px rgba(0,0,0,0.35);
            }

            .dropdown-submenu:hover > .dropdown-menu {
                display: block;
            }

            .dropdown-submenu > .dropdown-menu > li {
                border-bottom: 1px solid #25282d;
                position: relative;
            }

            .dropdown-submenu > .dropdown-menu .dropdown-item {
                background-color: #101214;
                color: #d7d9dd;
                padding: 12px 16px;
                font-size: 14px;
                font-weight: 500;
                display: flex;
                align-items: center;
                justify-content: space-between;
            }

            .dropdown-submenu > .dropdown-menu .dropdown-item:hover {
                background-color: #181b20;
                color: #fff;
            }
        }

        @media (max-width: 991.98px) {
            .all-categories-menu {
                background-color: #101214 !important;
                border: none !important;
                border-radius: 0 !important;
                padding: 0 !important;
                width: 100%;
                position: static !important;
                transform: none !important;
                box-shadow: none !important;
            }

            .all-categories-menu > li {
                border-bottom: 1px solid #25282d;
            }

            .all-categories-menu .category-link {
                background-color: #101214;
                color: #d7d9dd;
                padding: 12px 16px;
                display: flex;
                align-items: center;
                justify-content: space-between;
                font-size: 15px;
                font-weight: 600;
                text-decoration: none;
            }

            .dropdown-submenu > .dropdown-menu {
                background-color: #08090a;
                border: none;
                padding: 0;
                display: none;
                position: static;
                float: none;
                width: 100%;
                box-shadow: none;
            }

            .dropdown-submenu.show-mobile > .dropdown-menu {
                display: block;
            }

            .dropdown-submenu > .dropdown-menu .dropdown-item {
                color: #a0a5b1;
                padding: 10px 16px 10px 35px;
                font-size: 14px;
                border-bottom: 1px solid #1a1d22;
            }

            .dropdown-submenu .dropdown-submenu > .dropdown-menu .dropdown-item {
                padding-left: 55px;
                background-color: #030404;
            }

            .dropdown-submenu.show-mobile > .category-link .category-chevron,
            .dropdown-submenu.show-mobile > .dropdown-item .category-chevron {
                transform: rotate(90deg);
            }
        }

        .category-left {
            display: flex;
            align-items: center;
        }

        .category-icon {
            width: 22px;
            margin-right: 12px;
            color: var(--primary-orange);
            font-size: 16px;
            text-align: center;
        }

        .category-chevron {
            color: #747b86;
            font-size: 13px;
            transition: transform 0.2s ease;
        }

        .nav-link-custom {
            color: #e2e8f0 !important;
            font-size: 14px;
            font-weight: 600;
            padding: 15px 16px !important;
            text-transform: uppercase;
            white-space: nowrap;
            transition: all 0.2s ease;
        }

        .nav-link-custom:hover,
        .nav-link-custom.active {
            color: var(--primary-orange) !important;
            background-color: rgba(255,102,0,0.05);
        }

        /* HERO SECTION */
        .hero-section {
            background: linear-gradient(135deg, #0d0e12 0%, #1a202c 100%);
            color: #fff;
            padding: 50px 0;
            min-height: 520px;
            height: 520px;
            display: flex;
            align-items: center;
            position: relative;
            overflow: hidden;
        }

        /* Home hero: the section controls the height; the image stays
           proportionally inside it with equal vertical breathing room. */
        .homehero-section .homehero-carousel,
        .homehero-section .carousel-inner,
        .homehero-section .homehero-item {
            height: 100%;
        }

        .homehero-section .homehero-item {
            position: relative;
        }

        .homehero-section .homehero-row {
            height: 100%;
            min-height: 0;
            align-items: center;
        }

        .homehero-section .homehero-image-col {
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
        }

        .homehero-section .homehero-image-link {
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 30px 0;
            box-sizing: border-box;
        }

        .homehero-section .homehero-image {
            display: block;
            width: auto;
            height: auto;
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
            object-position: center center;
        }

        .badge-orange {
            background-color: var(--primary-orange);
            color: #fff;
            font-size: 11px;
            padding: 5px 10px;
            text-transform: uppercase;
            letter-spacing: 1px;
            font-weight: 700;
            display: inline-block;
        }

        .btn-orange {
            background-color: var(--primary-orange);
            color: #fff;
            font-weight: 600;
            padding: 12px 28px;
            font-size: 15px;
            border: none;
            border-radius: 4px;
            transition: 0.3s;
        }

        .btn-orange:hover {
            background-color: var(--primary-orange-hover);
            color: #fff;
        }

        .hero-product-preview {
            background-color: #1a1e28;
            border: 1px solid #2d3748;
            border-radius: 8px;
            height: 320px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--primary-orange);
            font-size: 22px;
            font-weight: 700;
            box-shadow: 0 10px 25px rgba(0,0,0,0.5);
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .carousel-item .badge-orange,
        .carousel-item h1,
        .carousel-item p,
        .carousel-item .btn-orange,
        .carousel-item .hero-product-preview {
            opacity: 0;
        }

        .carousel-item.active .badge-orange {
            animation: fadeInUp 0.6s ease forwards;
            animation-delay: 0.1s;
        }

        .carousel-item.active h1 {
            animation: fadeInUp 0.6s ease forwards;
            animation-delay: 0.3s;
        }

        .carousel-item.active p {
            animation: fadeInUp 0.6s ease forwards;
            animation-delay: 0.5s;
        }

        .carousel-item.active .btn-orange {
            animation: fadeInUp 0.6s ease forwards;
            animation-delay: 0.7s;
        }

        .carousel-item.active .hero-product-preview {
            animation: fadeInUp 0.8s ease forwards;
            animation-delay: 0.4s;
        }

        /* FEATURES BAR */
        .features-bar {
            background-color: #ffffff;
            padding: 35px 0;
            border-bottom: 1px solid #e2e8f0;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
        }

        .feature-box {
            padding: 12px 16px;
            border-radius: 8px;
            transition: all 0.3s ease;
            height: 100%;
        }

        .feature-box:hover {
            background-color: #f8fafc;
            transform: translateY(-2px);
        }

        .feature-icon-wrapper {
            width: 52px;
            height: 52px;
            min-width: 52px;
            background: rgba(255, 102, 0, 0.08);
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-right: 16px;
            transition: all 0.3s ease;
        }

        .feature-box:hover .feature-icon-wrapper {
            background-color: var(--primary-orange);
        }

        .feature-icon-wrapper i {
            font-size: 22px;
            color: var(--primary-orange);
            transition: color 0.3s ease;
        }

        .feature-box:hover .feature-icon-wrapper i {
            color: #ffffff;
        }

        .feature-title {
            font-size: 15px;
            font-weight: 700;
            color: #12151c;
            margin-bottom: 2px;
        }

        .feature-desc {
            font-size: 13px;
            color: #64748b;
            margin: 0;
            line-height: 1.3;
        }

        /* PRODUCT CARDS & EQUAL ALIGNMENT GRID WITH HOVER OVERLAY */
        @media (min-width: 992px) {
            .col-lg-2-4 {
                flex: 0 0 auto;
                width: 20%;
            }
        }

        .product-card {
            background: #fff;
            border: 1px solid #edf2f7;
            border-radius: 8px;
            padding: 15px;
            position: relative;
            transition: all 0.3s ease;
            height: 100%;
            display: flex;
            flex-direction: column;
        }

        .product-card:hover {
            box-shadow: 0 12px 28px rgba(0,0,0,0.12);
            border-color: #cbd5e0;
        }

        .product-badge {
            position: absolute;
            top: 10px;
            left: 10px;
            font-size: 10px;
            padding: 3px 8px;
            border-radius: 3px;
            font-weight: 700;
            text-transform: uppercase;
            z-index: 5;
        }

        .badge-sale { background-color: var(--primary-orange); color: #fff; }
        .badge-dark { background-color: #1a1e28; color: #fff; }

        .product-img-wrapper {
            position: relative;
            width: 100%;
            aspect-ratio: 1 / 1;
            margin-bottom: 12px;
            border-radius: 6px;
            overflow: hidden;
            background-color: #f8fafc;
        }

        .product-img-holder {
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #a0aec0;
            font-size: 13px;
            font-weight: 600;
            text-decoration: none;
            background-color: #f8fafc;
            transition: transform 0.4s ease;
        }

        .product-card:hover .product-img-holder {
            transform: scale(1.05);
        }

        .product-img-holder img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            padding: 8px;
        }

        /* MOUSE OVER / HOVER ACTION OVERLAY */
        .product-actions-overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(18, 21, 28, 0.45);
            backdrop-filter: blur(2px);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
            z-index: 4;
        }

        .product-card:hover .product-actions-overlay {
            opacity: 1;
            visibility: visible;
        }

        .product-action-btn {
            width: 38px;
            height: 38px;
            border-radius: 50%;
            background-color: #ffffff;
            color: #1a1e28;
            border: none;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 14px;
            cursor: pointer;
            box-shadow: 0 4px 10px rgba(0,0,0,0.2);
            transform: translateY(15px);
            transition: all 0.25s ease;
            text-decoration: none;
        }

        .product-card:hover .product-action-btn {
            transform: translateY(0);
        }

        .product-card:hover .product-action-btn:nth-child(1) { transition-delay: 0.02s; }
        .product-card:hover .product-action-btn:nth-child(2) { transition-delay: 0.06s; }
        .product-card:hover .product-action-btn:nth-child(3) { transition-delay: 0.10s; }
        .product-card:hover .product-action-btn:nth-child(4) { transition-delay: 0.14s; }

        .product-action-btn:hover {
            background-color: var(--primary-orange);
            color: #ffffff;
            transform: translateY(-3px) scale(1.08) !important;
            box-shadow: 0 6px 15px rgba(255, 102, 0, 0.4);
        }

        .product-action-btn.active {
            background-color: var(--primary-orange);
            color: #ffffff;
        }

        /* CATEGORY PRODUCT LIST VIEW */
        #productsGrid.category-list-view {
            display: flex !important;
            flex-direction: column !important;
            gap: 15px !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
        }

        #productsGrid.category-list-view > .col {
            width: 100% !important;
            max-width: 100% !important;
            flex: 0 0 100% !important;
            padding-left: 0 !important;
            padding-right: 0 !important;
        }

        #productsGrid.category-list-view .product-card {
            min-height: 190px;
            display: grid;
            grid-template-columns: 190px minmax(0, 1fr);
            grid-template-rows: auto 1fr auto;
            column-gap: 22px;
            padding: 15px;
        }

        #productsGrid.category-list-view .product-img-wrapper {
            grid-column: 1;
            grid-row: 1 / span 3;
            width: 190px;
            height: 160px;
            aspect-ratio: auto;
            margin-bottom: 0;
        }

        #productsGrid.category-list-view .product-cat {
            grid-column: 2;
            grid-row: 1;
            align-self: end;
        }

        #productsGrid.category-list-view .product-title-link {
            grid-column: 2;
            grid-row: 2;
            align-self: start;
        }

        #productsGrid.category-list-view .product-card > .mt-auto {
            grid-column: 2;
            grid-row: 3;
            align-self: end;
        }

        #productsGrid.category-list-view .product-title {
            margin-bottom: 8px;
        }

        #productsGrid.category-list-view .product-actions-overlay {
            gap: 7px;
        }

        #productsGrid.category-list-view .product-badge {
            left: 8px;
            top: 8px;
        }

        @media (max-width: 767.98px) {
            #productsGrid.category-list-view .product-card {
                grid-template-columns: 120px minmax(0, 1fr);
                column-gap: 14px;
            }

            #productsGrid.category-list-view .product-img-wrapper {
                width: 120px;
                height: 120px;
            }
        }

        .product-title-link {
            text-decoration: none;
            color: #2d3748;
            display: block;
        }

        .product-title {
            font-size: 14px;
            font-weight: 600;
            line-height: 1.4;
            margin-bottom: 8px;
            height: 4.2em;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
            transition: color 0.2s;
        }

        .product-title-link:hover .product-title {
            color: var(--primary-orange);
        }

        .product-cat {
            font-size: 11px;
            color: #a0aec0;
            text-transform: uppercase;
            font-weight: 600;
            display: block;
            margin-bottom: 4px;
        }

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

        .product-price {
            font-size: 16px;
            font-weight: 700;
            color: var(--primary-orange);
        }

        .product-price-old {
            font-size: 13px;
            font-weight: 500;
            color: #94a3b8;
            text-decoration: line-through;
        }

        .cart-btn {
            background: #edf2f7;
            border: none;
            width: 36px;
            height: 36px;
            border-radius: 6px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #4a5568;
            font-size: 14px;
            transition: 0.2s;
            flex-shrink: 0;
        }

        .cart-btn:hover {
            background: var(--primary-orange);
            color: #fff;
        }

        /* STARS */
        .stars {
            font-size: 13px;
            display: inline-flex;
            gap: 2px;
        }

        .stars .fa-star.active {
            color: #ffb400;
        }

        .stars .fa-star.inactive {
            color: #d1d5db;
        }

        .stars .fa-star {
            line-height: 1;
        }

        /* TAB STYLING UNTUK FEATURED PRODUCTS */
        .featured-tabs-wrapper {
            display: flex;
            align-items: center;
            gap: 20px;
            flex-wrap: wrap;
        }

        .featured-tabs {
            border: none;
            gap: 8px;
        }

        .featured-tabs .nav-link {
            border: 1px solid #e2e8f0;
            border-radius: 8px;
            padding: 6px 18px;
            font-size: 14px;
            font-weight: 600;
            color: #2d3748;
            background-color: #ffffff;
            transition: all 0.2s ease;
        }

        .featured-tabs .nav-link:hover {
            border-color: var(--primary-orange);
            color: var(--primary-orange);
        }

        .featured-tabs .nav-link.active {
            background-color: var(--primary-orange);
            color: #ffffff;
            border-color: var(--primary-orange);
        }

        .big-deals-banner {
            background: linear-gradient(90deg, #0d0e12 0%, #1a1e28 100%);
            border-radius: 10px;
            padding: 40px 25px;
            color: #fff;
        }

        .deal-card {
            background-color: #12151c;
            border: 1px solid #282d3c;
            border-radius: 8px;
            padding: 20px 15px;
            text-align: center;
            height: 100%;
            transition: 0.3s;
        }

        .deal-card:hover {
            border-color: var(--primary-orange);
            transform: translateY(-3px);
        }

        /* BRAND PARTNERS AUTO SWIPER */
        .brand-section {
            background-color: #fff;
            padding: 35px 0;
            border-top: 1px solid #e2e8f0;
            border-bottom: 1px solid #e2e8f0;
        }

        .brand-logo {
            font-weight: 800;
            font-size: 20px;
            color: #64748b;
            text-align: center;
            letter-spacing: 1px;
            transition: color 0.3s;
            cursor: pointer;
        }

        .brand-logo:hover {
            color: var(--primary-orange);
        }

        /* NEWSLETTER & FOOTER MODERN */
        .footer-newsletter-section {
            background: linear-gradient(135deg, #141824 0%, #0d0f17 100%);
            position: relative;
            padding: 50px 0;
            border-top: 1px solid #262c3d;
            border-bottom: 1px solid #1a1e29;
            overflow: hidden;
        }

        .footer-newsletter-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: -10%;
            width: 300px;
            height: 300px;
            background: radial-gradient(circle, rgba(255,102,0,0.12) 0%, rgba(0,0,0,0) 70%);
            pointer-events: none;
        }

        .newsletter-card {
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 16px;
            padding: 35px;
            backdrop-filter: blur(10px);
        }

        .newsletter-input-group {
            background-color: #0b0d13;
            border: 1px solid #2b3245;
            border-radius: 10px;
            padding: 5px 5px 5px 18px;
            transition: border-color 0.3s ease;
        }

        .newsletter-input-group:focus-within {
            border-color: var(--primary-orange);
            box-shadow: 0 0 15px rgba(255, 102, 0, 0.2);
        }

        .newsletter-input-group input {
            background: transparent;
            border: none;
            color: #ffffff;
            font-size: 15px;
        }

        .newsletter-input-group input:focus {
            background: transparent;
            box-shadow: none;
            color: #ffffff;
        }

        .newsletter-input-group input::placeholder {
            color: #64748b;
        }

        .btn-newsletter {
            background: linear-gradient(135deg, #ff6600 0%, #e55c00 100%);
            color: #fff;
            font-weight: 700;
            padding: 12px 28px;
            border-radius: 8px !important;
            border: none;
            letter-spacing: 0.5px;
            transition: all 0.3s ease;
            box-shadow: 0 4px 12px rgba(255, 102, 0, 0.3);
        }

        .btn-newsletter:hover {
            background: linear-gradient(135deg, #ff751a 0%, #f06300 100%);
            color: #fff;
            transform: translateY(-1px);
            box-shadow: 0 6px 18px rgba(255, 102, 0, 0.45);
        }

        footer {
            background: linear-gradient(180deg, #0d0f17 0%, #07080c 100%);
            color: #94a3b8;
            font-size: 14px;
            padding-top: 60px;
            padding-bottom: 25px;
            position: relative;
        }

        footer::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 2px;
            background: linear-gradient(90deg, rgba(255,102,0,0) 0%, rgba(255,102,0,0.6) 50%, rgba(255,102,0,0) 100%);
        }

        .footer-heading {
            color: #ffffff;
            font-size: 15px;
            font-weight: 700;
            margin-bottom: 22px;
            letter-spacing: 0.8px;
            text-transform: uppercase;
            position: relative;
            display: inline-block;
        }

        .footer-heading::after {
            content: '';
            position: absolute;
            bottom: -6px;
            left: 0;
            width: 25px;
            height: 2px;
            background-color: var(--primary-orange);
            border-radius: 2px;
        }

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

        footer ul li {
            margin-bottom: 12px;
        }

        footer ul li a {
            color: #94a3b8;
            text-decoration: none;
            transition: all 0.25s ease;
            display: inline-flex;
            align-items: center;
        }

        footer ul li a:hover {
            color: var(--primary-orange);
            transform: translateX(4px);
        }

        .footer-contact-info li {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            margin-bottom: 14px;
            color: #94a3b8;
        }

        .footer-contact-info i {
            color: var(--primary-orange);
            font-size: 16px;
            margin-top: 3px;
            width: 18px;
            text-align: center;
        }

        .social-btn {
            width: 38px;
            height: 38px;
            border-radius: 10px;
            background-color: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.08);
            color: #cbd5e1;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            transition: all 0.3s ease;
            font-size: 15px;
        }

        .social-btn:hover {
            background-color: var(--primary-orange);
            border-color: var(--primary-orange);
            color: #ffffff;
            transform: translateY(-3px);
            box-shadow: 0 6px 15px rgba(255, 102, 0, 0.35);
        }

        .trust-badge-box {
            background-color: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.06);
            border-radius: 12px;
            padding: 16px;
            margin-top: 20px;
        }

        .app-download-btn {
            background-color: #161b26;
            border: 1px solid #2a3245;
            color: #fff;
            padding: 8px 14px;
            border-radius: 8px;
            display: flex;
            align-items: center;
            gap: 10px;
            text-decoration: none;
            transition: all 0.25s ease;
        }

        .app-download-btn:hover {
            background-color: #22293a;
            border-color: var(--primary-orange);
            color: #fff;
            transform: translateY(-2px);
        }

        .app-download-btn i {
            font-size: 22px;
            color: var(--primary-orange);
        }

        .app-download-btn .app-subtitle {
            font-size: 10px;
            color: #94a3b8;
            text-transform: uppercase;
            display: block;
            line-height: 1;
        }

        .app-download-btn .app-title {
            font-size: 13px;
            font-weight: 600;
            display: block;
            line-height: 1.2;
        }

        .footer-bottom {
            border-top: 1px solid rgba(255, 255, 255, 0.08);
            padding-top: 25px;
            margin-top: 45px;
            font-size: 13px;
        }

        .payment-icons {
            display: flex;
            gap: 10px;
            align-items: center;
        }

        .payment-badge {
            background-color: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 6px;
            padding: 4px 10px;
            color: #cbd5e1;
            font-size: 18px;
            transition: all 0.2s ease;
        }

        .payment-badge:hover {
            color: #ffffff;
            border-color: var(--primary-orange);
        }

        .offcanvas-dark {
            background-color: #12151c;
            color: #000;
        }

        .offcanvas-dark .btn-close {
            filter: invert(1);
        }

        /* QUICK VIEW MODAL CUSTOM STYLE */
        .modal-content-dark {
            background-color: #12151c;
            color: #010101;
            border: 1px solid #282d3c;
            border-radius: 12px;
        }

        .modal-content-dark .btn-close {
            filter: invert(1);
        }

        /* TOAST NOTIFICATION CONTAINER */
        .toast-container {
            z-index: 1090;
        }

        /* CUSTOM SCROLLBAR MOBILE MENU */
        .offcanvas-body {
            overflow-y: auto;
            scroll-behavior: smooth;
        }

        .offcanvas-body::-webkit-scrollbar {
            width: 6px;
        }

        .offcanvas-body::-webkit-scrollbar-track {
            background: #0d0f17;
        }

        .offcanvas-body::-webkit-scrollbar-thumb {
            background: #2b3245;
            border-radius: 10px;
            border: 1px solid #12151c;
        }

        .offcanvas-body::-webkit-scrollbar-thumb:hover {
            background: var(--primary-orange);
        }

        .offcanvas-body {
            scrollbar-width: thin;
            scrollbar-color: #2b3245 #0d0f17;
        }
		
		

        /* BACK TO TOP BUTTON */
        .btn-back-to-top {
            position: fixed;
            bottom: 30px;
            right: 30px;
            width: 46px;
            height: 46px;
            border-radius: 50%;
            background-color: var(--primary-orange);
            color: #ffffff;
            border: none;
            outline: none;
            box-shadow: 0 6px 16px rgba(255, 102, 0, 0.4);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 18px;
            cursor: pointer;
            z-index: 1020;
            opacity: 0;
            visibility: hidden;
            transform: translateY(20px);
            transition: all 0.3s ease;
        }

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

        .btn-back-to-top:hover {
            background-color: var(--primary-orange-hover);
            color: #ffffff;
            transform: translateY(-3px);
            box-shadow: 0 8px 20px rgba(255, 102, 0, 0.5);
        }
		
		
		
		
		

        @media (max-width: 991.98px) {
            .main-header { padding: 20px 0; }
            .logo-text { font-size: 20px; }
            .search-box { height: 42px; }
            .hero-section { padding: 45px 0; min-height: auto; height: auto; }
            .homehero-section .homehero-carousel,
            .homehero-section .carousel-inner,
            .homehero-section .homehero-item { height: auto; }
            .homehero-section .homehero-row { height: auto; }
            .homehero-section .homehero-image-col { height: 320px; }
            .homehero-section .homehero-image-link { height: 320px; padding: 25px 0; }
            .homehero-section .homehero-image { max-height: 100%; }
            .hero-product-preview { margin-top: 25px; height: 220px; font-size: 18px; }
            .display-4 { font-size: 2.2rem; }
            .display-5 { font-size: 1.8rem; }

            #mobileCategoriesContainer .all-categories-menu {
                display: block !important;
            }
            #mobileNavMenuContainer .nav-link-custom {
                display: block;
                padding: 10px 15px !important;
            }

            .btn-back-to-top {
                bottom: 20px;
                right: 20px;
                width: 40px;
                height: 40px;
                font-size: 16px;
            }
        }
    
/* PRODUCT DETAIL */
.product-detail-card { border: 1px solid rgba(15, 23, 42, .06); }
.product-main-image { min-height: 420px; padding: 24px; }
.product-main-image img { max-height: 480px; width: auto; object-fit: contain; }
.product-thumbnails .product-thumb { width: 76px; height: 76px; padding: 6px; border: 1px solid #dee2e6; border-radius: 10px; background: #fff; cursor: pointer; transition: .2s ease; }
.product-thumbnails .product-thumb.active, .product-thumbnails .product-thumb:hover { border-color: var(--primary-orange); box-shadow: 0 0 0 2px rgba(245, 158, 11, .15); }
.product-thumbnails img { width: 100%; height: 100%; object-fit: contain; }
.product-detail-title { font-size: 26px;
            font-weight: 700; line-height: 1.15; }
.product-detail-price { font-size: 32px; font-weight: 800; }
.product-detail-old-price { font-size: 1rem; }
.product-price-box { background: #f8fafc; border: 1px solid #e9ecef; }
.product-meta-list > div { display:flex; justify-content:space-between; gap:20px; padding:7px 0; font-size:.9rem; }
.product-meta-list > div > span { color:#6c757d; }
.product-radio-option { display:flex; align-items:center; gap:10px; padding:11px 13px; border:1px solid #dee2e6; border-radius:8px; cursor:pointer; background:#fff; }
.product-radio-option:hover { border-color: var(--primary-orange); }
.product-radio-option input { accent-color: var(--primary-orange); }
.product-info-tabs .nav-link { color:#495057; border:0; border-bottom:2px solid transparent; border-radius:0; font-weight:600; }
.product-info-tabs .nav-link.active { color:var(--primary-orange); background:transparent; border-bottom-color:var(--primary-orange); }
.product-info-tabs .table thead th { background:#f8fafc; }
.section-kicker { display:block; color:var(--primary-orange); font-size:.72rem; font-weight:800; letter-spacing:.12em; margin-bottom:6px; }
@media (min-width: 992px) { .border-end-lg { border-right:1px solid #dee2e6; } }
@media (max-width: 767.98px) { .product-main-image { min-height: 280px; } .product-detail-price { font-size:1.65rem; } .product-meta-list > div { flex-direction:column; gap:2px; } }

/* Stage 9 - search / wishlist / compare */
.product-compare-table th,.product-compare-table td{vertical-align:top}.product-compare-table thead th{background:#f8f9fa}.product-compare-table tbody th{background:#f8f9fa;font-weight:700}.product-compare-table img{object-fit:contain}.product-card .product-image-wrapper{min-height:210px;display:flex;align-items:center;justify-content:center;overflow:hidden}.product-card .product-image-wrapper img{max-height:210px;object-fit:contain}.product-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,.06);transition:transform .2s ease,box-shadow .2s ease}.product-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.1)}

/* Stage 10 - account pages */
.account-page-header{background:linear-gradient(135deg,#111827 0%,#1f2937 100%);padding:42px 0 34px}.account-page-header .section-kicker{margin-bottom:8px}.account-card,.account-form-card{background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:18px;box-shadow:0 6px 24px rgba(15,23,42,.06);padding:32px}.account-form-card{padding:36px}.account-card-icon{width:48px;height:48px;border-radius:12px;background:#fff7ed;color:var(--primary-orange);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:18px}.account-link-card{display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid #e5e7eb;border-radius:12px;color:#1f2937;text-decoration:none;background:#fff;transition:.2s ease}.account-link-card:hover{border-color:var(--primary-orange);transform:translateY(-2px);box-shadow:0 5px 16px rgba(15,23,42,.07);color:var(--primary-orange)}.account-link-card>i:first-child{width:22px;text-align:center;color:var(--primary-orange)}.account-benefits{display:grid;gap:13px}.account-benefits>div{display:flex;align-items:center;gap:10px;color:#4b5563}.account-benefits i{color:var(--primary-orange)}.account-form-card fieldset{border:0;padding:0;margin:0}.account-form-card legend{color:#111827}.account-form-card .form-control,.account-form-card .form-select{border-radius:10px;min-height:46px}.account-form-card .form-control:focus,.account-form-card .form-select:focus{border-color:var(--primary-orange);box-shadow:0 0 0 .2rem rgba(245,158,11,.12)}
@media(max-width:767.98px){.account-card,.account-form-card{padding:22px}.account-page-header{padding:32px 0 26px}}

/* Stage 12 - order history / order detail / success */
.order-history-table thead th,.order-info-table thead th{background:#f8fafc;border-bottom:1px solid #e5e7eb;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;white-space:nowrap}.order-history-table tbody td,.order-info-table tbody td{padding:18px 16px}.order-history-table tbody tr:hover,.order-info-table tbody tr:hover{background:#fafafa}.order-info-table tfoot td{padding:12px 16px;border-top:0}.account-success-icon{width:82px;height:82px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;background:#ecfdf5;color:#16a34a;font-size:34px}.success-message{max-width:760px;line-height:1.8}.account-card .table{margin-bottom:0}@media(max-width:767.98px){.order-history-table,.order-info-table{font-size:.88rem}.order-history-table tbody td,.order-info-table tbody td{padding:14px 12px}.account-success-icon{width:68px;height:68px;font-size:28px}}

/* Stage 13 - Account forms */
.account-form-card .form-control,.account-form-card .form-select{border-radius:10px;min-height:46px}.account-form-card textarea.form-control{min-height:110px}.account-form-card .form-check-input{accent-color:var(--primary-orange)}.newsletter-option label{cursor:pointer;background:#fff;transition:.2s ease}.newsletter-option label:hover{border-color:var(--primary-orange)!important;background:#fffaf5}.newsletter-option input:checked+span strong{color:var(--primary-orange)}

/* Stage 14 - Information & Contact */
.information-content{line-height:1.8;color:#4b5563}.information-content h1,.information-content h2,.information-content h3,.information-content h4{color:#111827;font-weight:700;margin-top:1.5rem;margin-bottom:.8rem}.information-content h1:first-child,.information-content h2:first-child,.information-content h3:first-child{margin-top:0}.information-content a{color:var(--primary-orange)}.information-content img{max-width:100%;height:auto;border-radius:12px}.information-content ul,.information-content ol{padding-left:1.4rem}.information-content table{width:100%;margin:1rem 0;border-collapse:collapse}.information-content table th,.information-content table td{padding:.7rem;border:1px solid #e5e7eb}.information-content table th{background:#f8fafc;color:#111827}.contact-info-card{height:100%}

/* Stage 25 - HomeGenerators Hero: fixed Hero height, image follows Hero height */
.homehero-section {
    min-height: 520px;
    height: 520px;
    padding: 0;
    display: flex;
    align-items: stretch;
}
.homehero-section .custom-container,
.homehero-carousel,
.homehero-inner,
.homehero-item {
    width: 100%;
    height: 100%;
}
.homehero-item {
    min-height: 520px;
}
.homehero-row {
    height: 100%;
    min-height: 520px;
    margin-left: 0;
    margin-right: 0;
}
.homehero-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding-top: 20px;
    padding-bottom: 20px;
}

.homehero-copy .badge-orange,
.homehero-copy .btn-orange {
    width: auto;
    max-width: 100%;
    flex: 0 0 auto;
}

.homehero-copy .btn-orange {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.homehero-image-col {
    height: 100%;
    min-height: 520px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    overflow: hidden;
}
.homehero-image-link {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
    width: 100%;
    overflow: hidden;
    text-decoration: none;
}
.homehero-image {
    display: block;
    height: 100%;
    width: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center right;
}
.homehero-indicators {
    bottom: 14px;
    margin-bottom: 0;
    z-index: 5;
}
.homehero-indicators [data-bs-target] {
    width: 30px;
    height: 3px;
    margin-left: 4px;
    margin-right: 4px;
    border: 0;
}

@media (max-width: 991.98px) {
    .homehero-section {
        height: auto;
        min-height: 640px;
    }
    .homehero-section .custom-container,
    .homehero-carousel,
    .homehero-inner,
    .homehero-item {
        height: auto;
    }
    .homehero-item,
    .homehero-row,
    .homehero-image-col {
        min-height: 640px;
    }
    .homehero-row {
        height: auto;
        padding-top: 45px;
        padding-bottom: 45px;
    }
    .homehero-copy {
        min-height: 300px;
        justify-content: center;
    }
    .homehero-image-col {
        height: 340px;
        min-height: 340px;
        justify-content: center;
    }
    .homehero-image-link {
        height: 100%;
        justify-content: center;
    }
    .homehero-image {
        height: 100%;
        width: auto;
        max-width: 100%;
        object-position: center;
    }
}

/* Stage 42 - HomeGenerators Hero: align image to the right content edge */
.homehero-section .homehero-image-col {
    justify-content: flex-end !important;
    padding-right: 0 !important;
}

.homehero-section .homehero-image-link {
    justify-content: flex-end !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    box-sizing: border-box;
}

.homehero-section .homehero-image {
    width: auto !important;
    height: calc(100% - 40px) !important;
    max-width: 100% !important;
    max-height: calc(100% - 40px) !important;
    object-fit: contain;
    object-position: center right;
}

@media (max-width: 991.98px) {
    .homehero-section .homehero-image-col {
        justify-content: center !important;
        padding-right: 0 !important;
    }

    .homehero-section .homehero-image-link {
        justify-content: center !important;
        padding: 25px 0 !important;
    }

    .homehero-section .homehero-image {
        height: calc(100% - 50px) !important;
        max-height: calc(100% - 50px) !important;
        object-position: center center;
    }
}

/* Stage 44 - HomeGenerators Hero: enlarge image while keeping top/bottom breathing room */
.homehero-section .homehero-image-link {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

.homehero-section .homehero-image {
    height: calc(100% - 24px) !important;
    max-height: calc(100% - 24px) !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center right !important;
}

@media (max-width: 991.98px) {
    .homehero-section .homehero-image-link {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }

    .homehero-section .homehero-image {
        height: calc(100% - 40px) !important;
        max-height: calc(100% - 40px) !important;
        object-position: center center !important;
    }
}

/* Stage 45 - HomeGenerators Hero: give the image column more width while keeping its right edge aligned */
@media (min-width: 992px) {
    .homehero-section .homehero-copy {
        flex: 0 0 44% !important;
        max-width: 44% !important;
    }

    .homehero-section .homehero-image-col {
        flex: 0 0 56% !important;
        max-width: 56% !important;
    }

    .homehero-section .homehero-image-link {
        width: 100% !important;
    }

    .homehero-section .homehero-image {
        max-width: 100% !important;
    }
}

/* =============================================================
   STAGE 47 - FEATURED PRODUCTS / REAL OPENCART PRODUCT TABS
   ============================================================= */
.home-featured-section .custom-container {
    position: relative;
}

.featured-products-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 30px;
}

.featured-products-header h3 {
    flex: 0 0 auto;
}

.featured-tabs-wrapper {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
    flex-wrap: wrap;
}

.featured-tabs {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0;
    border: 0;
}

.featured-tabs .nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 8px 22px;
    border: 1px solid #dbe3ec;
    border-radius: 10px;
    background: #fff;
    color: #10213b;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 600;
    white-space: nowrap;
    transition: all .2s ease;
}

.featured-tabs .nav-link:hover,
.featured-tabs .nav-link:focus {
    color: var(--primary-orange);
    border-color: var(--primary-orange);
    background: #fff;
}

.featured-tabs .nav-link.active {
    color: #fff;
    background: var(--primary-orange);
    border-color: var(--primary-orange);
}

.featured-view-all {
    display: inline-flex;
    align-items: center;
    color: #ffad00;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.featured-view-all:hover {
    color: var(--primary-orange);
}

.featured-tab-pane {
    display: none;
}

.featured-tab-pane.active {
    display: block;
}

.featured-products-loading,
.home-featured-empty {
    min-height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    font-size: 14px;
    background: transparent;
}

.home-featured-products .product-card {
    min-height: 100%;
}

.home-featured-products .product-img-holder img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 8px;
}

@media (max-width: 991.98px) {
    .featured-products-header {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 24px;
    }

    .featured-tabs-wrapper {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 575.98px) {
    .featured-tabs-wrapper {
        gap: 12px;
    }

    .featured-tabs {
        width: 100%;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 4px;
    }

    .featured-tabs .nav-link {
        min-height: 40px;
        padding: 7px 15px;
        font-size: 13px;
    }

    .featured-view-all {
        font-size: 13px;
    }
}

/* BRAND PARTNERS - ADMIN LOGO SUPPORT */
.brand-logo-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    text-decoration: none;
}

.brand-logo-image {
    display: block;
    max-width: 150px;
    max-height: 48px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: .9;
    transition: filter .3s ease, opacity .3s ease, transform .3s ease;
}

.brand-logo-link:hover .brand-logo-image {
    filter: grayscale(0%);
    opacity: 1;
    transform: translateY(-2px);
}

/* BRAND PARTNERS - HEADING OUTSIDE THE LOGO BAND */
.brand-section {
    background-color: transparent;
    padding: 32px 0 0;
    border-top: 0;
    border-bottom: 0;
}

.brand-partners-header {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0 18px;
    text-align: center;
}

.brand-partners-header h3 {
    color: #1e293b;
    line-height: 1.2;
}

.brand-partners-logo-band {
    width: 100%;
    background-color: #fff;
    padding: 24px 0 28px;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
}

@media (max-width: 767.98px) {
    .brand-section {
        padding-top: 24px;
    }

    .brand-partners-header {
        padding-bottom: 14px;
    }

    .brand-partners-header h3 {
        font-size: 20px !important;
    }

    .brand-partners-logo-band {
        padding: 20px 0 24px;
    }
}


/* STAGE 59 - ADMIN-CONFIGURABLE NEWSLETTER */
.newsletter-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.home-newsletter-message {
    min-height: 18px;
    margin-top: 8px;
    padding-left: 4px;
    font-size: 12px;
    line-height: 1.4;
}
.home-newsletter-message.is-success { color: #86efac; }
.home-newsletter-message.is-error { color: #fca5a5; }
.home-newsletter-form button:disabled { opacity: .7; cursor: wait; }


/* STAGE 62 - HEADER FUNCTIONALITY FIXES */
.currency-selector { margin: 0; }
.currency-selector-btn {
    background: transparent; border: 0; color: #fff; padding: 0; font-size: 15px;
    display: inline-flex; align-items: center; gap: 7px; font-weight: 600;
}
.currency-selector-btn::after { display: none; }
.currency-selector-btn i { color: var(--primary-orange); font-size: 10px; }
.currency-symbol { color: #fff; font-weight: 700; }
.currency-menu { min-width: 180px; background: #1a1e28; border: 1px solid #282d3c; padding: 5px 0; z-index: 1060; }
.currency-menu .currency-select { color: #d1d5db; background: transparent; border: 0; width: 100%; text-align: left; padding: 9px 14px; display: flex; align-items: center; gap: 8px; }
.currency-menu .currency-select:hover, .currency-menu .currency-select:focus { color: #fff; background: var(--primary-orange); }

#cart.cart-dropdown-wrapper { position: relative; }
#cart .cart-header-button { position: relative; color: #fff; border: 0; background: transparent; padding: 0; display: inline-flex; align-items: center; gap: 7px; }
#cart .cart-header-button::after { display: none; }
#cart .cart-total-text { font-size: 0; line-height: 1; }
#cart .cart-total-text::before { content: ''; }
#cart .cart-menu { width: 360px; max-width: calc(100vw - 30px); background: #1a1e28; border: 1px solid #282d3c; padding: 0; z-index: 1060; }
#cart .cart-menu-item, #cart .cart-menu-summary, #cart .cart-menu-actions { list-style: none; }
#cart .cart-menu-item { padding: 12px 14px; border-bottom: 1px solid #282d3c; }
#cart .cart-menu-product { display: flex; align-items: center; gap: 10px; }
#cart .cart-menu-thumb { width: 58px; height: 58px; flex: 0 0 58px; background: #f8fafc; border-radius: 7px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
#cart .cart-menu-thumb img { width: 100%; height: 100%; object-fit: contain; }
#cart .cart-menu-voucher { color: var(--primary-orange); font-size: 22px; }
#cart .cart-menu-info { min-width: 0; flex: 1; }
#cart .cart-menu-name { color: #fff; text-decoration: none; font-size: 13px; font-weight: 600; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#cart .cart-menu-name:hover { color: var(--primary-orange); }
#cart .cart-menu-meta { color: #9ca3af; font-size: 12px; margin-top: 4px; }
#cart .cart-menu-remove { color: #9ca3af; background: transparent; border: 0; padding: 4px; }
#cart .cart-menu-remove:hover { color: #ff6600; }
#cart .cart-menu-summary { padding: 12px 14px; color: #a0a5b1; font-size: 12px; }
#cart .cart-menu-summary strong { color: #fff; }
#cart .cart-menu-actions { padding: 12px 14px; display: flex; gap: 8px; }
#cart .cart-menu-actions a { flex: 1; text-align: center; text-decoration: none; }
#cart .cart-menu-empty { color: #a0a5b1; padding: 20px 14px; text-align: center; list-style: none; }

/* Make the main All Categories dropdown reliably visible when Bootstrap toggles it. */
#allCategoriesDropdown > .dropdown-menu.show { display: block !important; visibility: visible !important; opacity: 1 !important; }
#allCategoriesDropdown > .all-categories-btn[aria-expanded="true"] + #unifiedCategoriesMenu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    transform: none !important;
    margin: 0 !important;
    z-index: 2000 !important;
}
#allCategoriesDropdown > .all-categories-menu { position: absolute; top: 100%; left: 0; }
@media (max-width: 991.98px) {
    #cart .cart-menu { width: 320px; }
}


/* STAGE 63 - HEADER FINAL FUNCTIONALITY FIX
   Correct OpenCart module override paths and keep the original logo design. */
#allCategoriesDropdown { position: relative; }
#form-currency { position: relative; }
#form-currency .currency-menu { display: none; position: absolute; top: 100%; right: 0; z-index: 1070; }
#form-currency .currency-menu.show { display: block !important; }
#cart .cart-header-button { cursor: pointer; }
#cart .cart-menu { z-index: 1070; }
.header-store-name { white-space: nowrap; }


/* STAGE 68 - LANGUAGE / CURRENCY HEADER DROPDOWNS
   Locale menus open with CSS focus-within so they do not depend on custom.js.
   The menu buttons submit directly to OpenCart using the standard POST fields. */
.top-bar .custom-container {
    min-height: 38px;
}

.top-header-controls {
    display: flex !important;
    flex: 0 0 auto;
    align-items: center !important;
    justify-content: flex-end;
    gap: 16px;
    margin-left: auto !important;
    position: relative;
    height: 38px;
}

.header-locale-form {
    display: block !important;
    position: relative;
    width: auto;
    height: 24px;
    margin: 0 !important;
    padding: 0 !important;
}

.header-locale-dropdown {
    position: relative;
    display: block;
    height: 24px;
}

.header-locale-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center;
    gap: 6px;
    width: auto;
    height: 24px;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-family: inherit;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: none !important;
}

.header-locale-button:focus,
.header-locale-button:active {
    outline: none !important;
    box-shadow: none !important;
}

.header-locale-icon {
    color: var(--primary-orange) !important;
    font-size: 17px !important;
    line-height: 1;
    margin: 0 !important;
}

.header-locale-chevron {
    color: var(--primary-orange) !important;
    font-size: 10px !important;
    line-height: 1;
    margin: 0 0 0 1px !important;
    transition: transform .18s ease;
}

.header-locale-button[aria-expanded="true"] .header-locale-chevron {
    transform: rotate(180deg);
}

.header-locale-menu {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 8px) !important;
    right: 0 !important;
    left: auto !important;
    min-width: 160px !important;
    width: max-content;
    margin: 0 !important;
    padding: 6px 0 !important;
    list-style: none !important;
    background-color: #1a1e28 !important;
    border: 1px solid #282d3c !important;
    border-radius: 6px !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .35) !important;
    z-index: 99999 !important;
}

.header-locale-menu.show,
.header-locale-dropdown:focus-within .header-locale-menu {
    display: block !important;
}

.header-locale-menu li {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.header-locale-menu button {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 6px 14px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #d1d5db !important;
    font-family: inherit;
    text-align: left !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: none !important;
}

.header-locale-menu button:hover,
.header-locale-menu button:focus {
    background-color: var(--primary-orange) !important;
    color: #fff !important;
    outline: none !important;
    box-shadow: none !important;
}

@media (max-width: 767.98px) {
    .top-header-controls {
        gap: 14px;
        height: 32px;
    }

    .header-locale-form,
    .header-locale-dropdown,
    .header-locale-button {
        height: 22px;
    }

    .header-locale-button {
        font-size: 14px !important;
        line-height: 22px !important;
    }

    .header-locale-menu {
        min-width: 150px !important;
    }
}


/* STAGE 69 - HEADER ACTIONS + CART DROPDOWN
   Match the original HomeGenerators header while keeping all actions functional in OpenCart. */
.header-actions {
    position: relative;

}

.header-account-link,
.header-icon-link,
#cart .cart-header-button {
    color: #fff !important;
    text-decoration: none !important;
    position: relative;
}

.header-account-link {
    white-space: nowrap;
}

.header-account-link:hover,
.header-icon-link:hover,
#cart .cart-header-button:hover {
    color: #fff !important;
}

.header-account-link .action-icon,
.header-icon-link .action-icon,
#cart .cart-header-button .action-icon {
    color: #fff;
    font-size: 24px;
    margin-right: 0;
}

.header-icon-link .badge-count,
#cart .badge-count {
    min-width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
    border: 0;
}



#wishlist-total .badge-count {
    background-color: #ef3d4e !important;
    color: #fff !important;
}

#compare-total .badge-count {
    background-color: #20c5e8 !important;
    color: #12151c !important;
}

#cart .badge-count {
    background-color: #ffbd00 !important;
    color: #12151c !important;
}

#cart.cart-dropdown-wrapper {
    position: relative;
}

#cart .cart-header-button {
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

#cart .cart-header-button::after {
    display: none !important;
}

#cart .cart-menu {
    width: 568px !important;
    max-width: calc(100vw - 30px) !important;
    min-width: 568px !important;
    margin-top: 14px !important;
    padding: 0 !important;
    background-color: #1a1e28 !important;
    border: 1px solid #2d3345 !important;
    border-radius: 14px !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, .7) !important;
    overflow: hidden !important;
    z-index: 1070 !important;
}

#cart .cart-header {
    min-height: 66px;
    padding: 16px 24px;
    background-color: #12151c;
    border-bottom: 1px solid #282d3c;
}

#cart .cart-header h6 {
    font-size: 18px;
    line-height: 1.2;
}

#cart .cart-header .badge {
    font-size: 12px;
    font-weight: 700;
}

#cart .cart-header #clearCartBtn {
    color: #727985 !important;
    transition: color .2s ease;
}

#cart .cart-header #clearCartBtn:hover {
    color: var(--primary-orange) !important;
}

#cart .cart-body {
    max-height: 310px;
    overflow-y: auto;
    padding: 16px 22px;
    background-color: #1a1e28;
}

#cart .cart-body::-webkit-scrollbar {
    width: 5px;
}

#cart .cart-body::-webkit-scrollbar-thumb {
    background: #2d3345;
    border-radius: 4px;
}

#cart .cart-item {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 92px;
    padding: 14px 12px;
    margin: 0;
    border-radius: 10px;
    background-color: transparent;
    transition: background-color .2s ease;
}

#cart .cart-item + .cart-item {
    margin-top: 8px;
}

#cart .cart-item:hover {
    background-color: #222735;
}

#cart .cart-item-placeholder {
    width: 70px;
    height: 70px;
    flex: 0 0 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 10px;
    background: #1d2330;
    border: 1px solid #344054;
    color: var(--primary-orange);
    text-decoration: none;
}

#cart .cart-item-placeholder img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #f8fafc;
}

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

#cart .cart-item-title {
    display: block;
    margin: 0;
    color: #f1f5f9;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#cart .cart-item-title:hover {
    color: var(--primary-orange);
}

#cart .cart-item-qty-price {
    margin-top: 5px;
    color: #a0a5b1;
    font-size: 14px;
    font-weight: 500;
}

#cart .cart-item-price-active {
    color: var(--primary-orange);
    font-weight: 700;
}

#cart .cart-item-remove {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .04);
    color: #687386;
    cursor: pointer;
    transition: all .2s ease;
}

#cart .cart-item-remove:hover {
    background: rgba(239, 68, 68, .15);
    color: #ef4444;
}

#cart .cart-footer {
    padding: 20px 24px 24px;
    background-color: #12151c;
    border-top: 1px solid #282d3c;
}

#cart .cart-footer > .d-flex {
    margin-bottom: 18px !important;
}

#cart .cart-footer .text-secondary {
    color: #7d8594 !important;
    font-size: 15px !important;
}

#cart #cartSubtotalText {
    color: #ffbf00 !important;
    font-size: 22px !important;
}

#cart .cart-action-btns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

#cart .cart-btn-link {
    min-height: 46px;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    text-align: center !important;
    font-size: 15px;
    text-decoration: none !important;
}

#cart .cart-menu-empty {
    min-height: 130px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    color: #a0a5b1;
    background-color: #1a1e28;
    text-align: center;
}

@media (max-width: 991.98px) {
    #cart .cart-menu {
        width: 430px !important;
        min-width: 430px !important;
    }
}

@media (max-width: 575.98px) {
    #cart .cart-menu {
        width: calc(100vw - 20px) !important;
        min-width: 0 !important;
        max-width: calc(100vw - 20px) !important;
        right: -8px !important;
    }

    #cart .cart-item-title {
        font-size: 15px;
    }

    #cart .cart-item-placeholder {
        width: 58px;
        height: 58px;
        flex-basis: 58px;
    }
}


/* STAGE 70 - HEADER CART BUTTON + DROPDOWN REFINEMENT */
#cart .cart-header-button {
    gap: 7px;
    white-space: nowrap;
}

#cart .cart-header-total {
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
}

#cart .cart-header-chevron {
    color: #fff;
    font-size: 11px;
    margin-left: 1px;
    transition: transform .18s ease;
}

#cart .cart-header-button[aria-expanded="true"] .cart-header-chevron {
    transform: rotate(180deg);
}

@media (max-width: 1199.98px) {
    #cart .cart-header-total {
        display: none;
    }
}


/* =============================================================
   STAGE 71 - CART DROPDOWN MATCHES REFERENCE
   Icon + badge trigger, standard OpenCart totals, dark panel.
   ============================================================= */
#cart.cart-dropdown-wrapper {
    position: relative;
}

#cart .cart-header-button {
    padding: 0;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    cursor: pointer;
    line-height: 1;
}

#cart .cart-header-button::after {
    display: none !important;
}

#cart .cart-header-button .action-icon {
    margin: 0 !important;
    color: #fff;
    font-size: 24px;
}

#cart .cart-menu {
    width: 710px !important;
    min-width: 710px !important;
    max-width: calc(100vw - 30px) !important;
    margin-top: 10px !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #1a1e28 !important;
    border: 1px solid #2d3345 !important;
    border-radius: 14px !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, .70) !important;
    z-index: 1070 !important;
}

#cart .cart-reference-body {
    padding: 14px 18px;
    background: #1a1e28;
    max-height: 300px;
    overflow-y: auto;
}

#cart .cart-reference-body::-webkit-scrollbar {
    width: 5px;
}

#cart .cart-reference-body::-webkit-scrollbar-thumb {
    background: #2d3345;
    border-radius: 4px;
}

#cart .cart-reference-item {
    min-height: 98px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 0;
    background: transparent;
}

#cart .cart-reference-item + .cart-reference-item {
    border-top: 1px solid rgba(45, 51, 69, .55);
}

#cart .cart-reference-image {
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 8px;
    border: 1px solid #d9dde5;
    background: #f8fafc;
}

#cart .cart-reference-image a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#cart .cart-reference-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #f8fafc;
}

#cart .cart-reference-image i {
    color: var(--primary-orange);
    font-size: 22px;
}

#cart .cart-reference-info {
    flex: 1 1 auto;
    min-width: 0;
}

#cart .cart-reference-title {
    display: block;
    margin: 0;
    color: #f1f5f9;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#cart .cart-reference-title:hover {
    color: var(--primary-orange);
}

#cart .cart-reference-meta {
    margin-top: 7px;
    color: #9ca3af;
    font-size: 13px;
    line-height: 1.2;
}

#cart .cart-reference-meta span {
    color: var(--primary-orange);
    font-weight: 700;
}

#cart .cart-reference-remove {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.04);
    color: #8a93a3;
    cursor: pointer;
}

#cart .cart-reference-remove:hover {
    color: #fff;
    background: rgba(239,68,68,.18);
}

#cart .cart-reference-totals {
    padding: 14px 18px 13px;
    background: #1a1e28;
    border-top: 1px solid #2d3345;
}

#cart .cart-reference-total-row {
    min-height: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: #a0a5b1;
    font-size: 14px;
    line-height: 1.35;
}

#cart .cart-reference-total-row strong {
    color: #f3f4f6;
    font-size: 14px;
    font-weight: 700;
}

#cart .cart-reference-footer {
    min-height: 72px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 20px;
    padding: 12px 18px;
    background: #12151c;
    border-top: 1px solid #2d3345;
}

#cart .cart-reference-footer a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    color: #f3f4f6 !important;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none !important;
}

#cart .cart-reference-footer a:hover {
    color: var(--primary-orange) !important;
}

#cart .cart-reference-empty {
    min-height: 130px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    color: #a0a5b1;
    background: #1a1e28;
    text-align: center;
}

@media (max-width: 991.98px) {
    #cart .cart-menu {
        width: 560px !important;
        min-width: 560px !important;
    }
}

@media (max-width: 575.98px) {
    #cart .cart-menu {
        width: calc(100vw - 20px) !important;
        min-width: 0 !important;
        max-width: calc(100vw - 20px) !important;
        right: -8px !important;
    }

    #cart .cart-reference-item {
        min-height: 84px;
    }

    #cart .cart-reference-image {
        width: 58px;
        height: 58px;
        flex-basis: 58px;
    }

    #cart .cart-reference-title {
        font-size: 14px;
    }
}


/* ============================================================
   STAGE 72 - CART DROPDOWN PIXEL MATCH TO REFERENCE
   ============================================================ */
#cart .cart-menu {
    width: 563px !important;
    min-width: 563px !important;
    max-width: calc(100vw - 20px) !important;
    margin-top: 0 !important;
    padding: 0 !important;
    border: 1px solid #303747 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #1a1e28 !important;
}

#cart .cart-reference-body {
    padding: 14px 31px 13px !important;
    max-height: none !important;
    overflow: visible !important;
}

#cart .cart-reference-item {
    min-height: 94px !important;
    padding: 16px 0 !important;
    gap: 18px !important;
}

#cart .cart-reference-item + .cart-reference-item {
    border-top: 0 !important;
}

#cart .cart-reference-image {
    width: 70px !important;
    height: 70px !important;
    flex: 0 0 70px !important;
    border-radius: 10px !important;
    border: 1px solid #344055 !important;
    background: #1d2330 !important;
}

#cart .cart-reference-image img {
    border-radius: 9px !important;
}

#cart .cart-reference-title {
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    color: #f5f5f7 !important;
}

#cart .cart-reference-meta {
    margin-top: 7px !important;
    font-size: 14px !important;
    color: #a0a5b1 !important;
}

#cart .cart-reference-meta span {
    color: #ff6500 !important;
}

#cart .cart-reference-remove {
    width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
    margin-left: 4px !important;
    background: #202632 !important;
    color: #7d8798 !important;
}

#cart .cart-reference-remove:hover {
    background: #292f3c !important;
    color: #fff !important;
}

#cart .cart-reference-totals {
    padding: 25px 22px 17px !important;
    background: #11151c !important;
    border-top: 1px solid #303747 !important;
}

#cart .cart-reference-total-row {
    min-height: 28px !important;
    font-size: 16px !important;
}

#cart .cart-reference-total-row strong {
    font-size: 16px !important;
    color: #f7f7f8 !important;
}

#cart .cart-reference-total-row:last-child strong {
    color: #ffbf00 !important;
    font-size: 26px !important;
}

#cart .cart-reference-total-row:last-child {
    margin-top: 2px;
}

#cart .cart-reference-footer {
    min-height: 72px !important;
    padding: 10px 24px 12px !important;
    gap: 20px !important;
    background: #11151c !important;
    border-top: 0 !important;
}

#cart .cart-reference-footer a {
    min-height: 48px !important;
    border-radius: 8px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #fff !important;
}

#cart .cart-reference-footer a:last-child {
    background: #f45d00 !important;
}

#cart .cart-reference-footer a:last-child:hover {
    background: #ff6908 !important;
    color: #fff !important;
}

@media (max-width: 575.98px) {
    #cart .cart-menu {
        width: calc(100vw - 10px) !important;
        min-width: 0 !important;
        right: -5px !important;
    }

    #cart .cart-reference-body {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    #cart .cart-reference-title {
        font-size: 15px !important;
    }

    #cart .cart-reference-total-row:last-child strong {
        font-size: 22px !important;
    }
}


/* ============================================================
   STAGE 73 - CART DROPDOWN EXACT REFERENCE STRUCTURE
   ============================================================ */
#cart .cart-menu {
    width: 564px !important;
    min-width: 564px !important;
    max-width: calc(100vw - 10px) !important;
    margin-top: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #2d3345 !important;
    border-radius: 14px !important;
    background: #1a1e28 !important;
    box-shadow: 0 20px 45px rgba(0,0,0,.65) !important;
}

#cart .cart-reference-header {
    height: 65px !important;
    min-height: 65px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 22px !important;
    background: #121519 !important;
    border-bottom: 1px solid #282d3c !important;
}

#cart .cart-reference-heading {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0;
}

#cart .cart-reference-heading-title {
    color: #f5f5f7 !important;
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

#cart .cart-reference-count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 27px !important;
    padding: 0 11px !important;
    border-radius: 14px !important;
    background: #ffbf00 !important;
    color: #17191f !important;
    font-size: 14px !important;
    line-height: 27px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

#cart .cart-reference-clear {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #747d8b !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

#cart .cart-reference-clear:hover {
    color: #a7afbc !important;
}

#cart .cart-reference-clear i {
    font-size: 14px !important;
}

#cart .cart-reference-body {
    height: 238px !important;
    min-height: 238px !important;
    padding: 0 32px !important;
    overflow: hidden !important;
    background: #1a1e28 !important;
}

#cart .cart-reference-item {
    height: 107px !important;
    min-height: 107px !important;
    display: flex !important;
    align-items: center !important;
    gap: 17px !important;
    padding: 0 !important;
    background: transparent !important;
}

#cart .cart-reference-item + .cart-reference-item {
    border-top: 0 !important;
}

#cart .cart-reference-image {
    width: 70px !important;
    height: 70px !important;
    flex: 0 0 70px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    border: 1px solid #344055 !important;
    border-radius: 10px !important;
    background: #1d2330 !important;
}

#cart .cart-reference-image a {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#cart .cart-reference-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    border-radius: 9px !important;
}

#cart .cart-reference-image i {
    color: #ff6500 !important;
    font-size: 23px !important;
}

#cart .cart-reference-info {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

#cart .cart-reference-title {
    display: block !important;
    margin: 0 !important;
    color: #f5f5f7 !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

#cart .cart-reference-meta {
    margin-top: 7px !important;
    color: #9ca3af !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
}

#cart .cart-reference-meta span {
    color: #ff6500 !important;
    font-weight: 700 !important;
}

#cart .cart-reference-remove {
    width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #202632 !important;
    color: #758093 !important;
    cursor: pointer !important;
}

#cart .cart-reference-remove:hover {
    background: #292f3c !important;
    color: #fff !important;
}

#cart .cart-reference-totals {
    height: 65px !important;
    min-height: 65px !important;
    padding: 16px 22px 10px !important;
    background: #121519 !important;
    border-top: 1px solid #282d3c !important;
}

#cart .cart-reference-total-row {
    height: 28px !important;
    min-height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    color: #7f8794 !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

#cart .cart-reference-total-row strong {
    color: #f4f4f6 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
}

#cart .cart-reference-total-row:not(:last-child) {
    display: none !important;
}

#cart .cart-reference-total-row:last-child {
    margin: 0 !important;
}

#cart .cart-reference-total-row:last-child span {
    color: #7f8794 !important;
    font-weight: 400 !important;
}

#cart .cart-reference-total-row:last-child strong {
    color: #ffbf00 !important;
    font-size: 26px !important;
    line-height: 1 !important;
}

#cart .cart-reference-footer {
    height: 87px !important;
    min-height: 87px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    align-items: center !important;
    gap: 20px !important;
    padding: 0 24px !important;
    background: #121519 !important;
    border-top: 0 !important;
}

#cart .cart-reference-footer a {
    height: 50px !important;
    min-height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    border-radius: 8px !important;
    color: #fff !important;
    background: transparent !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

#cart .cart-reference-footer a:first-child:hover {
    color: #ff6500 !important;
}

#cart .cart-reference-footer a:last-child {
    background: #f45d00 !important;
}

#cart .cart-reference-footer a:last-child:hover {
    background: #ff6908 !important;
    color: #fff !important;
}

#cart .cart-reference-empty {
    min-height: 238px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px !important;
    color: #9ca3af !important;
    background: #1a1e28 !important;
    text-align: center !important;
}

@media (max-width: 575.98px) {
    #cart .cart-menu {
        width: calc(100vw - 10px) !important;
        min-width: 0 !important;
        max-width: calc(100vw - 10px) !important;
    }

    #cart .cart-reference-header {
        padding: 0 16px !important;
    }

    #cart .cart-reference-heading-title {
        font-size: 17px !important;
    }

    #cart .cart-reference-body {
        padding: 0 18px !important;
    }

    #cart .cart-reference-title {
        font-size: 15px !important;
    }
}

/* ============================================================
   STAGE 74 - CART DROPDOWN
   Clean single-source styling matching the supplied reference.
   ============================================================ */

#cart.cart-dropdown-wrapper {
    position: relative;
}

#cart .cart-header-button {
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: transparent !important;
    border: 0 !important;
    line-height: 1 !important;
    cursor: pointer;
}

#cart .cart-header-button::after {
    display: none !important;
}

#cart .cart-header-button .action-icon {
    margin: 0 !important;
    color: #fff !important;
    font-size: 24px !important;
}

#cart .cart-header-button .badge-count {
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
}

#cart > .dropdown-menu {
    width: 564px !important;
    min-width: 564px !important;
    max-width: calc(100vw - 10px) !important;
    margin-top: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #1a1e28 !important;
    border: 1px solid #2d3345 !important;
    border-radius: 14px !important;
    box-shadow: 0 20px 40px rgba(0,0,0,.70) !important;
}

#cart .cart-header {
    height: 65px !important;
    min-height: 65px !important;
    padding: 0 22px !important;
    background: #12151c !important;
    border-bottom: 1px solid #282d3c !important;
}

#cart .cart-header h6 {
    margin: 0 !important;
    color: #f5f5f7 !important;
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
}

#cart #cartHeaderBadgeCount {
    height: 27px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 11px !important;
    border-radius: 14px !important;
    background: #ffbf00 !important;
    color: #17191f !important;
    font-size: 14px !important;
    line-height: 27px !important;
    font-weight: 700 !important;
}

#cart #clearCartBtn {
    color: #747d8b !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    white-space: nowrap;
}

#cart #clearCartBtn:hover {
    color: #a7afbc !important;
}

#cart .cart-body {
    height: 238px !important;
    max-height: 238px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 0 32px !important;
    background: #1a1e28 !important;
    scrollbar-width: thin !important;
    scrollbar-color: #596273 #1a1e28 !important;
}

/* Custom cart item scrollbar. The cart footer remains fixed while
   additional products can be scrolled inside the cart body. */
#cart .cart-body::-webkit-scrollbar {
    width: 7px !important;
}

#cart .cart-body::-webkit-scrollbar-track {
    background: #1a1e28 !important;
    border-radius: 8px !important;
}

#cart .cart-body::-webkit-scrollbar-thumb {
    background: #596273 !important;
    border-radius: 8px !important;
    border: 1px solid #1a1e28 !important;
}

#cart .cart-body::-webkit-scrollbar-thumb:hover {
    background: #747f91 !important;
}

#cart .cart-item {
    height: 107px !important;
    min-height: 107px !important;
    display: flex !important;
    align-items: center !important;
    gap: 17px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

#cart .cart-item:hover {
    background: transparent !important;
    transform: none !important;
}

#cart .cart-item-placeholder {
    width: 70px !important;
    height: 70px !important;
    flex: 0 0 70px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    padding: 0 !important;
    border: 1px solid #344055 !important;
    border-radius: 10px !important;
    background: #1d2330 !important;
    color: #ff6500 !important;
    font-size: 23px !important;
}

#cart .cart-item-placeholder img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    border-radius: 9px !important;
}

#cart .cart-item-info {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

#cart .cart-item-title {
    display: block !important;
    margin: 0 !important;
    color: #f5f5f7 !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

#cart .cart-item-title:hover {
    color: #ff6500 !important;
}

#cart .cart-item-qty-price {
    margin-top: 7px !important;
    color: #9ca3af !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
}

#cart .cart-item-price-active {
    color: #ff6500 !important;
    font-weight: 700 !important;
}

#cart .cart-item-remove {
    width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #202632 !important;
    color: #758093 !important;
    font-size: 14px !important;
    cursor: pointer !important;
}

#cart .cart-item-remove:hover {
    background: #292f3c !important;
    color: #fff !important;
}

#cart .cart-footer {
    height: 152px !important;
    min-height: 152px !important;
    padding: 16px 22px 12px !important;
    background: #12151c !important;
    border-top: 1px solid #282d3c !important;
}

#cart .cart-footer > .d-flex {
    height: 50px !important;
    margin-bottom: 0 !important;
}

#cart .cart-footer > .d-flex > span:first-child {
    color: #7f8794 !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

#cart #cartSubtotalText {
    color: #ffbf00 !important;
    font-size: 26px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
}

#cart .cart-action-btns {
    height: 50px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
}

#cart .cart-btn-link {
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

#cart .cart-btn-link:hover,
#cart .cart-btn-link:focus {
    background: transparent !important;
    color: #ff6500 !important;
    box-shadow: none !important;
}

#cart .cart-body > .p-4 {
    height: 238px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

@media (max-width: 575.98px) {
    #cart > .dropdown-menu {
        width: calc(100vw - 10px) !important;
        min-width: 0 !important;
        max-width: calc(100vw - 10px) !important;
        right: -5px !important;
    }

    #cart .cart-header {
        padding: 0 16px !important;
    }

    #cart .cart-body {
        padding: 0 18px !important;
    }

    #cart .cart-item-title {
        font-size: 15px !important;
    }

    #cart #cartSubtotalText {
        font-size: 22px !important;
    }
}


/* ============================================================
   STAGE 75 - CART FOOTER HOVER
   View Cart: white background + black text on hover.
   Checkout: orange background + white text.
   ============================================================ */
#cart .cart-action-btns .cart-btn-link:first-child {
    background: transparent !important;
    color: #fff !important;
}

#cart .cart-action-btns .cart-btn-link:first-child:hover,
#cart .cart-action-btns .cart-btn-link:first-child:focus {
    background: #fff !important;
    color: #11151c !important;
}

#cart .cart-action-btns .cart-btn-link:last-child {
    background: #f45d00 !important;
    color: #fff !important;
}

#cart .cart-action-btns .cart-btn-link:last-child:hover,
#cart .cart-action-btns .cart-btn-link:last-child:focus {
    background: #f45d00 !important;
    color: #fff !important;
}


/* ============================================================
   STAGE 76 - CART BUTTON HOVER + RESPONSIVE RATIO
   ============================================================ */

/* Keep the footer proportions from the supplied reference. */
#cart .cart-footer {
    height: auto !important;
    min-height: 152px !important;
    padding: 16px 22px 12px !important;
}

#cart .cart-action-btns {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 20px !important;
}

#cart .cart-action-btns .cart-btn-link {
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    box-sizing: border-box !important;
    border-radius: 8px !important;
    transition: background-color .15s ease, color .15s ease !important;
}

/* View Cart: white background + black text ONLY on mouse over. */
#cart .cart-action-btns .cart-btn-link:first-child,
#cart .cart-action-btns .cart-btn-link:first-child:visited {
    background: transparent !important;
    color: #fff !important;
}

#cart .cart-action-btns .cart-btn-link:first-child:hover,
#cart .cart-action-btns .cart-btn-link:first-child:focus-visible {
    background: #fff !important;
    color: #11151c !important;
}

/* Checkout: orange background + white text, including mouse over. */
#cart .cart-action-btns .cart-btn-link:last-child,
#cart .cart-action-btns .cart-btn-link:last-child:visited,
#cart .cart-action-btns .cart-btn-link:last-child:hover,
#cart .cart-action-btns .cart-btn-link:last-child:focus-visible {
    background: #f45d00 !important;
    color: #fff !important;
}

/* Responsive scaling: preserve the same two-column ratio on smaller screens. */
@media (max-width: 767.98px) {
    #cart > .dropdown-menu {
        width: min(564px, calc(100vw - 20px)) !important;
        min-width: 0 !important;
    }

    #cart .cart-header {
        padding-left: clamp(14px, 4vw, 22px) !important;
        padding-right: clamp(14px, 4vw, 22px) !important;
    }

    #cart .cart-body {
        padding-left: clamp(16px, 5vw, 32px) !important;
        padding-right: clamp(16px, 5vw, 32px) !important;
    }

    #cart .cart-footer {
        padding-left: clamp(14px, 4vw, 22px) !important;
        padding-right: clamp(14px, 4vw, 22px) !important;
    }

    #cart .cart-action-btns {
        gap: clamp(10px, 3vw, 20px) !important;
    }
}

@media (max-width: 420px) {
    #cart .cart-header h6 {
        font-size: 17px !important;
    }

    #cart #cartHeaderBadgeCount {
        font-size: 12px !important;
        height: 24px !important;
        line-height: 24px !important;
    }

    #cart .cart-item-title {
        font-size: 15px !important;
    }

    #cart .cart-item-placeholder {
        width: 60px !important;
        height: 60px !important;
        flex-basis: 60px !important;
    }

    #cart .cart-item {
        gap: 12px !important;
    }

    #cart .cart-btn-link {
        height: 46px !important;
        min-height: 46px !important;
        font-size: 16px !important;
    }

    #cart #cartSubtotalText {
        font-size: 22px !important;
    }
}


/* ============================================================
   STAGE 77 - WISHLIST / COMPARE ICON-ONLY BADGES
   ============================================================ */
.header-action-link.wishlist-action,
.header-action-link.compare-action {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #fff !important;
    text-decoration: none !important;
}

.header-action-link.wishlist-action .action-icon,
.header-action-link.compare-action .action-icon {
    margin: 0 !important;
    color: #fff !important;
    font-size: 29px !important;
    line-height: 1 !important;
}

.header-action-link.wishlist-action .action-badge,
.header-action-link.compare-action .action-badge {
    position: absolute !important;
    top: -5px !important;
    right: -7px !important;
    min-width: 22px !important;
    height: 22px !important;
    padding: 0 5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    color: #fff !important;
    font-size: 11px !important;
    line-height: 22px !important;
    font-weight: 700 !important;
    border: 0 !important;
    z-index: 3 !important;
}

.header-action-link.wishlist-action .wishlist-badge {
    background: #e83e4f !important;
}

.header-action-link.compare-action .compare-badge {
    background: #12b9df !important;
}

.header-action-link.wishlist-action:hover .action-icon,
.header-action-link.compare-action:hover .action-icon {
    color: #fff !important;
}

@media (max-width: 767.98px) {
    .header-action-link.wishlist-action,
    .header-action-link.compare-action {
        width: 38px !important;
        height: 38px !important;
    }

    .header-action-link.wishlist-action .action-icon,
    .header-action-link.compare-action .action-icon {
        font-size: 25px !important;
    }

    .header-action-link.wishlist-action .action-badge,
    .header-action-link.compare-action .action-badge {
        top: -4px !important;
        right: -6px !important;
        min-width: 20px !important;
        height: 20px !important;
        font-size: 10px !important;
        line-height: 20px !important;
    }
}


/* ============================================================
   STAGE 78 - WISHLIST / COMPARE: ICON + NUMBER ONLY
   ============================================================ */
.header-action-link.wishlist-action,
.header-action-link.compare-action {
    position: relative !important;
    width: 42px !important;
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #fff !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.header-action-link.wishlist-action .action-icon,
.header-action-link.compare-action .action-icon {
    display: block !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 29px !important;
    line-height: 1 !important;
}

.header-action-link.wishlist-action .action-badge,
.header-action-link.compare-action .action-badge {
    position: absolute !important;
    top: -5px !important;
    right: -7px !important;
    min-width: 22px !important;
    width: auto !important;
    height: 22px !important;
    padding: 0 5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 50% !important;
    color: #fff !important;
    font-size: 11px !important;
    line-height: 22px !important;
    font-weight: 700 !important;
    z-index: 5 !important;
}

.header-action-link.wishlist-action .wishlist-badge {
    background: #e83e4f !important;
}

.header-action-link.compare-action .compare-badge {
    background: #12b9df !important;
}

/* Prevent any leftover generated label/text from taking layout space. */
.header-action-link.wishlist-action .action-label,
.header-action-link.compare-action .action-label,
.header-action-link.wishlist-action .wishlist-label,
.header-action-link.compare-action .compare-label,
.header-action-link.wishlist-action .wishlist-text,
.header-action-link.compare-action .compare-text {
    display: none !important;
}

@media (max-width: 767.98px) {
    .header-action-link.wishlist-action,
    .header-action-link.compare-action {
        width: 38px !important;
        height: 38px !important;
    }

    .header-action-link.wishlist-action .action-icon,
    .header-action-link.compare-action .action-icon {
        font-size: 25px !important;
    }

    .header-action-link.wishlist-action .action-badge,
    .header-action-link.compare-action .action-badge {
        top: -4px !important;
        right: -6px !important;
        min-width: 20px !important;
        height: 20px !important;
        font-size: 10px !important;
        line-height: 20px !important;
    }
}


/* ============================================================
   STAGE 79 - HEADER WISHLIST / COMPARE
   ICON + NUMBER ONLY. NO VISIBLE TEXT LABELS.
   ============================================================ */

.main-header .header-actions > .header-wishlist-only,
.main-header .header-actions > .header-compare-only {
    position: relative !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    flex: 0 0 42px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: transparent !important;
    border: 0 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}

.main-header .header-actions > .header-wishlist-only .action-icon,
.main-header .header-actions > .header-compare-only .action-icon {
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: 29px !important;
    line-height: 1 !important;
}

.main-header .header-actions > .header-wishlist-only .header-count-badge,
.main-header .header-actions > .header-compare-only .header-count-badge {
    position: absolute !important;
    top: -4px !important;
    right: -5px !important;
    z-index: 10 !important;
    width: 22px !important;
    min-width: 22px !important;
    max-width: 48px !important;
    height: 22px !important;
    min-height: 22px !important;
    padding: 0 5px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 50% !important;
    color: #fff !important;
    font-size: 11px !important;
    line-height: 22px !important;
    font-weight: 700 !important;
    font-family: inherit !important;
    white-space: nowrap !important;
}

.main-header .header-actions > .header-wishlist-only .wishlist-count {
    background: #e83e4f !important;
}

.main-header .header-actions > .header-compare-only .compare-count {
    background: #12b9df !important;
    color: #fff !important;
}

.main-header .header-actions > .header-wishlist-only:hover,
.main-header .header-actions > .header-compare-only:hover {
    color: #fff !important;
}

.main-header .header-actions > .header-wishlist-only:hover .action-icon,
.main-header .header-actions > .header-compare-only:hover .action-icon {
    color: #fff !important;
}

@media (max-width: 767.98px) {
    .main-header .header-actions > .header-wishlist-only,
    .main-header .header-actions > .header-compare-only {
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        flex-basis: 38px !important;
    }

    .main-header .header-actions > .header-wishlist-only .action-icon,
    .main-header .header-actions > .header-compare-only .action-icon {
        font-size: 25px !important;
    }

    .main-header .header-actions > .header-wishlist-only .header-count-badge,
    .main-header .header-actions > .header-compare-only .header-count-badge {
        top: -4px !important;
        right: -5px !important;
        width: 20px !important;
        min-width: 20px !important;
        height: 20px !important;
        min-height: 20px !important;
        font-size: 10px !important;
        line-height: 20px !important;
    }
}


/* ============================================================
   STAGE 80 - WISHLIST / COMPARE STRICT ICON-ONLY MODE
   No visible label, no native tooltip, badge contains number only.
   ============================================================ */

.main-header .header-actions > .header-wishlist-only,
.main-header .header-actions > .header-compare-only {
    position: relative !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    flex: 0 0 42px !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    color: #fff !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.main-header .header-actions > .header-wishlist-only::before,
.main-header .header-actions > .header-wishlist-only::after,
.main-header .header-actions > .header-compare-only::before,
.main-header .header-actions > .header-compare-only::after {
    display: none !important;
    content: none !important;
}

.main-header .header-actions > .header-wishlist-only .action-icon,
.main-header .header-actions > .header-compare-only .action-icon {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: 29px !important;
    line-height: 1 !important;
}

.main-header .header-actions > .header-wishlist-only .header-count-badge,
.main-header .header-actions > .header-compare-only .header-count-badge {
    position: absolute !important;
    top: -4px !important;
    right: -5px !important;
    z-index: 20 !important;
    width: 22px !important;
    min-width: 22px !important;
    max-width: 48px !important;
    height: 22px !important;
    min-height: 22px !important;
    padding: 0 5px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 50% !important;
    color: #fff !important;
    font-size: 11px !important;
    line-height: 22px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.main-header .header-actions > .header-wishlist-only .wishlist-count {
    background: #e83e4f !important;
}

.main-header .header-actions > .header-compare-only .compare-count {
    background: #12b9df !important;
}

@media (max-width: 767.98px) {
    .main-header .header-actions > .header-wishlist-only,
    .main-header .header-actions > .header-compare-only {
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        flex-basis: 38px !important;
    }

    .main-header .header-actions > .header-wishlist-only .action-icon,
    .main-header .header-actions > .header-compare-only .action-icon {
        font-size: 25px !important;
    }

    .main-header .header-actions > .header-wishlist-only .header-count-badge,
    .main-header .header-actions > .header-compare-only .header-count-badge {
        top: -4px !important;
        right: -5px !important;
        width: 20px !important;
        min-width: 20px !important;
        height: 20px !important;
        min-height: 20px !important;
        font-size: 10px !important;
        line-height: 20px !important;
    }
}


/* ============================================================
   STAGE 81 - STRICT ICON-ONLY WISHLIST / COMPARE
   ============================================================ */
.main-header .header-actions > .header-wishlist-only,
.main-header .header-actions > .header-compare-only {
    position: relative !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    flex: 0 0 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    color: #fff !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.main-header .header-actions > .header-wishlist-only .action-icon,
.main-header .header-actions > .header-compare-only .action-icon {
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: 29px !important;
    line-height: 1 !important;
}

.main-header .header-actions > .header-wishlist-only .header-count-badge,
.main-header .header-actions > .header-compare-only .header-count-badge {
    position: absolute !important;
    top: -4px !important;
    right: -5px !important;
    z-index: 20 !important;
    width: 22px !important;
    min-width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    padding: 0 5px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 50% !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 11px !important;
    line-height: 22px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.main-header .header-actions > .header-wishlist-only .wishlist-count {
    background: #e83e4f !important;
}

.main-header .header-actions > .header-compare-only .compare-count {
    background: #12b9df !important;
}

@media (max-width: 767.98px) {
    .main-header .header-actions > .header-wishlist-only,
    .main-header .header-actions > .header-compare-only {
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        flex-basis: 38px !important;
    }

    .main-header .header-actions > .header-wishlist-only .action-icon,
    .main-header .header-actions > .header-compare-only .action-icon {
        font-size: 25px !important;
    }

    .main-header .header-actions > .header-wishlist-only .header-count-badge,
    .main-header .header-actions > .header-compare-only .header-count-badge {
        top: -4px !important;
        right: -5px !important;
        width: 20px !important;
        min-width: 20px !important;
        height: 20px !important;
        min-height: 20px !important;
        font-size: 10px !important;
        line-height: 20px !important;
    }
}


/* STAGE 82 - keep numeric badges isolated from surrounding header text */
.main-header .header-actions > .header-wishlist-only,
.main-header .header-actions > .header-compare-only {
    overflow: visible !important;
}
.main-header .header-actions > .header-wishlist-only .header-count-badge,
.main-header .header-actions > .header-compare-only .header-count-badge {
    text-indent: 0 !important;
    overflow: visible !important;
}


/* STAGE 83 - numeric badge must never wrap into a label */
.main-header .header-actions > .header-compare-only .compare-count,
.main-header .header-actions > .header-wishlist-only .wishlist-count {
    text-align: center !important;
    overflow: hidden !important;
}

/* Stage 88 - main navigator */
#unifiedMainMenu .nav-link-custom { white-space: nowrap; }

/* STAGE 106 - ALL CATEGORIES CLICK-ONLY DROPDOWN
   Keep the existing visual design. Bootstrap controls the open state.
   The menu must not open on hover or focus. */
@media (min-width: 992px) {
    #allCategoriesDropdown {
        position: relative !important;
        z-index: 2050 !important;
    }

    #allCategoriesDropdown > #unifiedCategoriesMenu {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: auto !important;
        width: 100% !important;
        min-width: 100% !important;
        margin: 0 !important;
        transform: none !important;
        z-index: 2051 !important;
    }

    /* Closed by default. Only Bootstrap's .show opens the menu. */
    #allCategoriesDropdown > #unifiedCategoriesMenu:not(.show) {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }

    #allCategoriesDropdown > #unifiedCategoriesMenu.show {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* Never open the main category menu from hover/focus. */
    #allCategoriesDropdown:hover > #unifiedCategoriesMenu:not(.show),
    #allCategoriesDropdown:focus-within > #unifiedCategoriesMenu:not(.show) {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }
}


/* STAGE 108 - ADMIN HEADER LOGO */
.header-logo-image, .mobile-header-logo { display:block; object-fit:contain; }

/* ============================================================
   STAGE 110 - HOMEPAGE PRODUCT ACTIONS
   ============================================================ */
.product-action-btn.action-quick-view { cursor: pointer; }
#quickViewModal .modal-content { border-radius: 18px; overflow: hidden; }
#quickViewModal .quick-view-loading { min-height: 320px; display: flex; align-items: center; justify-content: center; }
#quickViewModal .quick-view-image { width: 100%; max-height: 360px; object-fit: contain; }
#quickViewModal .quick-view-error { min-height: 220px; display: flex; align-items: center; justify-content: center; text-align: center; }


/* STAGE 114 - Quick View product options */
.quick-view-options .product-option { margin-bottom: 1rem; }
.quick-view-options .product-option > label { display:block; margin-bottom:.45rem; color:#212529; font-weight:600; }
.quick-view-options .product-option .form-select,
.quick-view-options .product-option .form-control { border-color:#adb5bd; }
.quick-view-options .product-radio-option { display:flex; align-items:center; gap:.55rem; padding:.45rem .65rem; border:1px solid #dee2e6; border-radius:.5rem; background:#fff; cursor:pointer; }
.quick-view-options .product-radio-option input { margin:0; }
.quick-view-options .product-radio-option span { color:#212529; }

/* STAGE 115 - Product detail button and Quick View gallery */
.product-detail-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 72px;
    height: 44px;
    padding: 0 14px;
    border-radius: 8px;
    background: #eef3f8;
    color: #3b556d;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: all .2s ease;
}
.product-detail-btn:hover {
    background: var(--primary-orange);
    color: #fff;
}
#quickViewModal .quick-view-main-image-wrap {
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#quickViewModal .quick-view-image {
    width: 100%;
    max-height: 300px;
    object-fit: contain;
}
#quickViewModal .quick-view-thumbnails {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-top: 14px;
}
#quickViewModal .quick-view-thumb {
    width: 58px;
    height: 58px;
    padding: 4px;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    transition: border-color .2s ease, box-shadow .2s ease;
}
#quickViewModal .quick-view-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
#quickViewModal .quick-view-thumbnails::-webkit-scrollbar { height: 5px; }
#quickViewModal .quick-view-thumbnails::-webkit-scrollbar-thumb {
    background: #d7dee7;
    border-radius: 999px;
}
#quickViewModal .quick-view-thumbnails::-webkit-scrollbar-thumb:hover {
    background: var(--primary-orange);
}
@media (max-width: 767.98px) {
    #quickViewModal .quick-view-gallery { position: relative; }
    #quickViewModal .quick-view-main-image-wrap {
        height: 300px;
        min-height: 300px;
    }
    #quickViewModal .quick-view-thumbnails { gap: 8px; }
    #quickViewModal .quick-view-thumb {
        flex-basis: 60px;
        width: 60px;
        height: 60px;
    }
}
#quickViewModal .quick-view-thumb.active {
    border-color: var(--primary-orange);
    box-shadow: 0 0 0 2px rgba(255, 102, 0, .12);
}
#quickViewModal .quick-view-loading-state .quick-view-main-image-wrap {
    min-height: 300px;
}


/* ============================================================
   STAGE 118 - QUICK VIEW FIXED HEIGHT + CUSTOM SCROLLBAR
   Keep the modal from growing with long descriptions/options.
   Only the modal body scrolls.
   ============================================================ */
#quickViewModal .modal-dialog {
    max-height: calc(100vh - 2rem);
    margin-top: 1rem;
    margin-bottom: 1rem;
}

#quickViewModal .modal-content {
    max-height: calc(100vh - 2rem);
    display: flex;
    flex-direction: column;
}

#quickViewModal .modal-header {
    flex: 0 0 auto;
}

#quickViewModal .modal-body {
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #ff6600 #eef1f4;
}

#quickViewModal .modal-body::-webkit-scrollbar {
    width: 8px;
}

#quickViewModal .modal-body::-webkit-scrollbar-track {
    background: #eef1f4;
    border-radius: 10px;
}

#quickViewModal .modal-body::-webkit-scrollbar-thumb {
    background: #ff6600;
    border-radius: 10px;
    border: 2px solid #eef1f4;
}

#quickViewModal .modal-body::-webkit-scrollbar-thumb:hover {
    background: #e65c00;
}

@media (max-width: 767.98px) {
    #quickViewModal .modal-dialog {
        max-height: calc(100vh - 1rem);
        margin: .5rem;
    }

    #quickViewModal .modal-content {
        max-height: calc(100vh - 1rem);
    }
}


/* STAGE 119 - LOGGED-IN HEADER ACCOUNT DROPDOWN */
.header-account-dropdown {
    position: relative;

}

.header-account-toggle {
    cursor: pointer;
}

.header-account-chevron {
    font-size: 10px;
    color: #fff;
    transition: transform 0.2s ease;
}

.header-account-toggle[aria-expanded="true"] .header-account-chevron {
    transform: rotate(180deg);
}

.header-account-menu {
    min-width: 210px;
    margin-top: 12px !important;
    padding: 8px;
    background: #171b24;
    border: 1px solid #2b3240;
    border-radius: 10px;
    box-shadow: 0 12px 30px rgba(0,0,0,.28);
}

.header-account-menu .dropdown-item {
    display: flex;
    align-items: center;
    padding: 10px 12px;
    border-radius: 7px;
    color: #f8fafc;
    font-size: 14px;
    font-weight: 500;
}

.header-account-menu .dropdown-item i {
    width: 18px;
    text-align: center;
    color: var(--primary-orange);
}

.header-account-menu .dropdown-item:hover,
.header-account-menu .dropdown-item:focus {
    background: #232936;
    color: #fff;
}

.header-account-menu .dropdown-divider {
    border-top-color: #303746;
    margin: 6px 0;
}

.header-account-menu .header-account-logout {
    color: #ffb4b4;
}

.header-account-menu .header-account-logout i {
    color: #ff6b6b;
}

@media (max-width: 767.98px) {
    .header-account-menu {
        min-width: 190px;
    }
}

/* STAGE 120 - Dynamic category sidebar children */
.category-sidebar-children {
    list-style: none;
    margin: 4px 0 10px 44px;
    padding: 0;
}
.category-sidebar-children li { margin: 0; padding: 0; }
.category-sidebar-children a {
    display: block;
    padding: 5px 8px;
    color: #6c7a89;
    font-size: 13px;
    text-decoration: none;
}
.category-sidebar-children a:hover { color: var(--primary-orange); }
.category-sidebar-link .ms-auto { margin-left: auto; font-size: 11px; color: #9aa5b1; }

/* STAGE 128 - Product Detail reference layout */
.product-detail-reference { border:1px solid #dfe5ec; }
.product-detail-gallery-column { border-right:1px solid #e5eaf0; }
.product-reference-main { min-height:550px; padding:24px; overflow:hidden; }
.product-reference-main img { max-height:500px; max-width:92%; width:auto; object-fit:contain; }
.product-sale-badge { position:absolute; top:18px; left:18px; z-index:3; background:#ff6500; color:#fff; font-weight:800; padding:9px 15px; border-radius:6px; font-size:16px; }
.product-image-placeholder { color:#435a77; font-weight:800; font-size:29px; line-height:1.3; }
.product-image-placeholder i { display:block; color:#ff6500; font-size:68px; margin-bottom:12px; }
.product-gallery-arrow { position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%; border:1px solid #d7e0ea; background:#fff; color:#17243a; display:flex; align-items:center; justify-content:center; z-index:4; box-shadow:0 2px 7px rgba(15,23,42,.04); }
.product-gallery-arrow:hover { border-color:#ff6500; color:#ff6500; }
.product-gallery-prev { left:14px; }
.product-gallery-next { right:14px; }
.product-media-actions { display:grid; grid-template-columns:repeat(4, 1fr); gap:14px; }
.product-media-action { min-width:0; height:100px; border:2px solid #dfe6ef; border-radius:9px; background:#f8fafc; color:#617894; display:flex; align-items:center; justify-content:center; position:relative; cursor:pointer; overflow:hidden; font-size:26px; transition:.18s ease; }
.product-media-action.active, .product-media-action:hover { border-color:#ff6500; color:#ff6500; background:#fff8f3; }
.product-media-thumb-image { position:absolute; inset:8px; width:calc(100% - 16px); height:calc(100% - 16px); object-fit:contain; }
.product-media-action:has(.product-media-thumb-image) > i { display:none; }
.product-reference-topline { min-height:36px; }
.product-stock-badge { display:inline-flex; align-items:center; gap:8px; padding:4px 8px; border:1px solid #b9efd0; background:#f2fff7; color:#08733c; border-radius:7px; font-weight:600;font-size:13px; }
.product-stock-badge i { font-size:14px; }
.product-sku-badge { display:inline-flex; align-items:center; padding:4px 8px; border-radius:6px; background:#20252b; color:#fff; font-weight:600;font-size:13px; }
.product-reference-title { font-size:clamp(2rem, 3.05vw, 3rem); line-height:1.12; color:#07152d; letter-spacing:-.02em; }
.product-reference-rating { color:#65758a; }
.product-brand-line { font-size:15px; }
.product-brand-line a{color:#ff6500;text-decoration:none;}
.product-brand-line a:hover{color:#65758a;text-decoration:none;}
.product-brand-line strong { color:#101a29; }
.product-reference-divider { width:1px; height:27px; background:#d5dbe3; margin:0 7px; }
.product-reference-stars { display:inline-flex; gap:2px; color:#ffae00; font-size:19px; }
.product-reference-stars .product-star-empty { color:#c9d0d9; }
.product-rating-number { color:#111a29; font-size:16px; }
.product-review-count { color:#69788d; text-decoration:none; font-size:16px; }
.product-reference-price-box {background:#f8fafc; padding: 16px 20px; display:flex; align-items:center; border-radius: 8px; }
.product-reference-price { color:#ff5f00 !important; font-size: 32px;font-weight: 800; }
.product-reference-old-price { color:#95a1b2 !important; font-size:18px; text-decoration: line-through;font-weight: 500;}
.product-save-badge { background:#ffdfe2; color:#d83b4a; padding:5px 10px; border-radius:7px; font-weight:800; }
.product-reference-description { color:#66758a !important; }
.product-reference-option { margin-bottom:5px; }
.product-option-title { display:block; margin-bottom:9px; color:#18243a; font-size:13px; }
.product-option-button-group { display:flex; flex-wrap:wrap; gap:10px; }
.product-option-button { cursor:pointer; }
.product-option-button input { position:absolute; opacity:0; pointer-events:none; }
.product-option-button span { display:block; border:1px solid #cbd7e4; background:#fff; border-radius:7px; padding:8px 16px; color:#273a55; font-weight:500; transition:.18s ease; font-size:13px;}
.product-option-button input:checked + span { background:#ff6500; border-color:#ff6500; color:#fff; }
.product-option-button:hover span { border-color:#ff6500; }
.product-reference-quantity-label { color:#18243a; font-weight:600; font-size:14px; margin-bottom:8px; }
.product-reference-purchase-row { display:grid; grid-template-columns:170px minmax(220px,1fr) minmax(220px,1fr) 60px; gap:10px; align-items:stretch; }
.product-reference-quantity { height:60px; border:1px solid #cbd7e4; border-radius:9px; overflow:hidden; display:grid; grid-template-columns:1fr 1fr 1fr; background:#fff; }
.product-reference-quantity button { border:0; background:#fff; font-size:25px; color:#17243a; }
.product-reference-quantity input { border:0; outline:0; width:100%; text-align:center; font-size:18px; font-weight:700; color:#17243a; }
.product-reference-add-cart, .product-reference-buy-now { height:60px; border-radius:9px; font-size:15px; font-weight:700; display:flex; align-items:center; justify-content:center; gap:12px; }
.product-reference-add-cart { background:#ff6500; border-color:#ff6500; color:#fff; box-shadow:0 7px 16px rgba(255,101,0,.17); }
.product-reference-add-cart:hover { background:#e95700; border-color:#e95700; color:#fff; }
.product-reference-buy-now { background:#111a2d; border-color:#111a2d; color:#fff; }
.product-reference-buy-now:hover { background:#0b1220; color:#fff; }
.product-reference-wishlist { height:60px; border:1px solid #cbd7e4; border-radius:9px; background:#fff; color:#617894; font-size:25px; }
.product-reference-wishlist:hover { color:#ff6500; border-color:#ff6500; }
.product-reference-benefits { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.product-reference-benefits > div { display:flex; gap:10px; align-items:center; min-width:0; }
.product-reference-benefits > div > i { font-size:24px; color:#40536d; }
.product-reference-benefits span { display:flex; flex-direction:column; gap:1px; min-width:0; }
.product-reference-benefits strong { color:#27364e; font-size:13px; white-space:nowrap; }
.product-reference-benefits small { color:#738197; font-size:12px; }
.product-reference-tabs .nav-link { border:1px solid #dfe6ef; color:#5a6a80; border-radius:8px; padding:10px 20px; font-weight:700; background:#f8fafc; }
.product-reference-tabs .nav-link.active { color:#fff; background:#ff6500; border-color:#ff6500; }
.product-content-heading { font-size:22px; font-weight:800; color:#101b2d; }
.product-description-content { color:#53657d; font-size:16px; line-height:1.7; }
.product-feature-box { background:#f8fafc; border:1px solid #e1e7ee; border-radius:12px; padding:20px; }
.product-feature-box h4 { font-weight:800; color:#18243a; font-size:18px; }
.product-feature-box ul { list-style:none; margin:0; padding:0; }
.product-feature-box li { display:flex; gap:9px; align-items:flex-start; color:#53657d; padding:6px 0; }
.product-feature-box li i { color:#ff6500; margin-top:4px; }
.short-desc {
  display: -webkit-box;
  -webkit-line-clamp: 3; /* Teks akan dipotong otomatis setelah baris ke-3 */
  -webkit-box-orient: vertical;  
  overflow: hidden;
}



        .btn-add-cart {
            background-color: var(--primary-orange);
            color: #ffffff;
            font-weight: 700;
            font-size: 15px;
            padding: 12px 28px;
            border-radius: 8px;
            border: none;
            height: 48px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            transition: all 0.25s ease;
            box-shadow: 0 4px 12px rgba(255, 102, 0, 0.25);
        }

        .btn-add-cart:hover {
            background-color: var(--primary-orange-hover);
            color: #ffffff;
            transform: translateY(-1px);
            box-shadow: 0 6px 16px rgba(255, 102, 0, 0.35);
        }

        .btn-buy-now {
            background-color: #0f172a;
            color: #ffffff;
            font-weight: 700;
            font-size: 15px;
            padding: 12px 28px;
            border-radius: 8px;
            border: none;
            height: 48px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            transition: all 0.25s ease;
        }

        .btn-buy-now:hover {
            background-color: #1e293b;
            color: #ffffff;
        }

        .btn-wishlist-action {
            width: 48px;
            height: 48px;
            border-radius: 8px;
            border: 1px solid #cbd5e1;
            background: #ffffff;
            color: #64748b;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 18px;
            transition: all 0.2s;
        }

        .btn-wishlist-action:hover {
            border-color: #ef4444;
            color: #ef4444;
            background-color: #fef2f2;
        }
		


@media (max-width: 1199.98px) {
  .product-reference-title { font-size:2.15rem; }
  .product-reference-price { font-size:36px; }
  .product-reference-purchase-row { grid-template-columns:150px 1fr 1fr 56px; }
}
@media (max-width: 991.98px) {
  .product-detail-gallery-column { border-right:0; border-bottom:1px solid #e5eaf0; }
  .product-reference-main { min-height:430px; }
  .product-reference-benefits { grid-template-columns:repeat(2,1fr); }
  .product-reference-purchase-row { grid-template-columns:150px 1fr 1fr 56px; }
}
@media (max-width: 767.98px) {
  .product-reference-main { min-height:310px; padding:15px; }
  .product-image-placeholder { font-size:21px; }
  .product-image-placeholder i { font-size:52px; }
  .product-reference-title { font-size:1.8rem; }
  .product-reference-description { font-size:16px; }
  .product-reference-price { font-size:30px; }
  .product-reference-old-price { font-size:17px; }
  .product-reference-purchase-row { grid-template-columns:1fr 1fr; }
  .product-reference-quantity { width:100%; }
  .product-reference-add-cart, .product-reference-buy-now { width:100%; }
  .product-reference-wishlist { width:100%; }
  .product-reference-benefits { grid-template-columns:1fr 1fr; gap:12px; }
  .product-reference-divider { display:none; }
}
@media (max-width: 479.98px) {
  .product-media-actions { gap:8px; }
  .product-media-action { height:72px; }
  .product-reference-benefits { grid-template-columns:1fr; }
  .product-reference-purchase-row { grid-template-columns:1fr; }
}

/* STAGE 129 - Product detail viewport-proportional sizing */
.product-page > .custom-container {
    width: 100%;
    max-width: none;
    padding-left: 10px;
    padding-right: 10px;
}

.product-detail-reference > .row {
    display: grid;
    grid-template-columns: minmax(0, 40%) minmax(0, 60%);
    margin-left: 0;
    margin-right: 0;
}

.product-detail-reference > .row > .product-detail-gallery-column,
.product-detail-reference > .row > .product-detail-content-column {
    width: auto;
    max-width: none;
    min-width: 0;
}

.product-detail-gallery-column {
    padding: clamp(16px, 1.55vw, 28px) !important;
}

.product-detail-content-column {
    padding: clamp(16px, 1.55vw, 28px) !important;
}

.product-reference-main {
    height: min(68vh, 550px);
    min-height: 0;
    padding: clamp(16px, 1.35vw, 24px);
}

.product-reference-main img {
    width: auto;
    height: min(62vh, 500px);
    max-width: 92%;
    max-height: 100%;
}

.product-image-placeholder {
    font-size: clamp(20px, 1.65vw, 29px);
}

.product-image-placeholder i {
    font-size: clamp(48px, 3.85vw, 68px);
}

.product-media-actions {
    gap: clamp(8px, .8vw, 14px);
}

.product-media-action {
    height: clamp(72px, 7.1vw, 100px);
}

.product-reference-title {
    font-size: clamp(1.75rem, 2.35vw, 3rem);
}

.product-reference-description {
    font-size: clamp(16px, 1.18vw, 20px);
}

.product-reference-price {
    font-size: clamp(30px, 2.45vw, 42px);
}

.product-reference-old-price {
    font-size: clamp(17px, 1.22vw, 21px);
}

.product-reference-purchase-row {
    grid-template-columns: clamp(150px, 11vw, 170px) minmax(0, 1fr) minmax(0, 1fr) clamp(56px, 4vw, 60px);
}

.product-reference-add-cart,
.product-reference-buy-now,
.product-reference-wishlist,
.product-reference-quantity {
    height: clamp(48px, 4.4vw, 48px);
}



.product-reference-benefits {
    gap: clamp(10px, 1vw, 18px);
}

@media (max-width: 991.98px) {
    .product-detail-reference > .row {
        display: block;
    }

    .product-reference-main {
        height: min(68vh, 500px);
    }
}

@media (max-width: 767.98px) {
    .product-page > .custom-container {
        padding-left: 8px;
        padding-right: 8px;
    }

    .product-reference-main {
        height: min(62vh, 390px);
    }
}

/* RELATED PRODUCTS - MATCH CATEGORY PRODUCT GRID */
.related-products-grid .product-card {
    min-height: 100%;
}

.related-products-grid .product-img-holder img.related-product-image {
    image-rendering: auto;
    filter: none;
    opacity: 1;
}

/* STAGE 138 - Product Reviews: HomeGenerators template styling */
.product-info-tabs .nav-tabs {
    border-bottom: 1px solid #e3e8ef !important;
    padding: 0 4px;
}
.product-info-tabs .nav-tabs .nav-link {
    border: 0 !important;
    border-bottom: 3px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #607087;
    font-size: 15px;
    font-weight: 700;
    padding: 12px 18px 11px;
    margin-bottom: -1px;
}
.product-info-tabs .nav-tabs .nav-link:hover { color: var(--primary-orange); }
.product-info-tabs .nav-tabs .nav-link.active {
    color: var(--primary-orange) !important;
    border-bottom-color: var(--primary-orange) !important;
}
.product-review-panel { padding: 4px 2px 8px; }
.product-review-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:8px 0 22px;
    border-bottom:1px solid #e8edf3;
}
.product-review-heading { margin:4px 0 3px; color:#111d30; font-size:24px; font-weight:800; }
.product-review-subheading { margin:0; color:#738197; font-size:14px; line-height:1.6; }
.product-review-summary {
    display:flex;
    align-items:center;
    gap:12px;
    flex:0 0 auto;
    padding:10px 14px;
    border:1px solid #e2e8f0;
    border-radius:10px;
    background:#f8fafc;
}
.product-review-score { color:#17243a; font-size:25px; line-height:1; font-weight:800; }
.product-review-summary-stars { display:flex; gap:2px; color:#ffae00; font-size:14px; }
.product-review-summary-stars .is-empty { color:#cbd4df; }
.product-review-summary-count { color:#748196; font-size:12px; margin-top:3px; }
.product-review-list { padding-top:18px; }
.product-review-list .table-responsive { overflow-x:auto; }
.product-review-list .table { margin:0; border:0 !important; color:#53657d; }
.product-review-list .table > :not(caption) > * > * { padding:14px 16px; border-color:#e7ecf2; vertical-align:middle; }
.product-review-list .table > thead,
.product-review-list .table > tbody > tr:first-child td { background:#f8fafc; }
.product-review-list .table strong { color:#17243a; font-size:14px; }
.product-review-list .table td { font-size:14px; line-height:1.65; }
.product-review-list .table td.text-right { color:#8793a3; font-size:12px; }
.product-review-list .table .rating i,
.product-review-list .table i.fa-star { color:#ffae00; }
.product-review-list .pagination { margin-top:18px; }
.product-review-list .pagination a,
.product-review-list .pagination span { border-color:#e0e6ed; color:#52647b; }
.product-review-loading,
.product-review-empty {
    min-height:150px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:30px 20px;
    border:1px dashed #d9e1ea;
    border-radius:12px;
    background:#fbfcfd;
    color:#7a8799;
}
.product-review-loading { flex-direction:row; gap:10px; min-height:90px; border-style:solid; }
.product-review-empty i { color:#b8c3d0; font-size:34px; margin-bottom:10px; }
.product-review-empty h4 { margin:0 0 5px; color:#26354b; font-size:17px; font-weight:800; }
.product-review-empty p { margin:0; font-size:13px; }
.product-review-write-box {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-top:20px;
    padding:18px 20px;
    border:1px solid #e1e7ee;
    border-radius:12px;
    background:#f8fafc;
}
.product-review-write-box h4 { margin:0 0 3px; color:#18243a; font-size:16px; font-weight:800; }
.product-review-write-box p { margin:0; color:#748196; font-size:13px; }
.product-review-write-btn,
.product-review-submit-btn { background:var(--primary-orange); border-color:var(--primary-orange); color:#fff; font-weight:700; border-radius:8px; padding:10px 18px; white-space:nowrap; }
.product-review-write-btn:hover,
.product-review-submit-btn:hover { background:#e95700; border-color:#e95700; color:#fff; }
.product-review-modal .modal-content { border:0; border-radius:16px; overflow:hidden; box-shadow:0 20px 60px rgba(15,23,42,.18); }
.product-review-modal .modal-header { padding:20px 24px; border-bottom:1px solid #e8edf3; }
.product-review-modal .modal-title { color:#132038; font-size:22px; font-weight:800; margin-top:4px; }
.product-review-modal .modal-body { padding:24px; }
.product-review-modal .modal-footer { padding:14px 24px 20px; border-top:1px solid #e8edf3; }
.product-review-modal .form-label { color:#26354b; font-size:14px; font-weight:700; margin-bottom:7px; }
.product-review-modal .form-control { border:1px solid #ccd7e4; border-radius:8px; padding:11px 13px; color:#26354b; }
.product-review-modal .form-control:focus { border-color:var(--primary-orange); box-shadow:0 0 0 .2rem rgba(255,101,0,.10); }
.review-rating-picker { display:flex; flex-direction:row-reverse; justify-content:flex-end; gap:5px; align-items:center; min-height:45px; }
.review-rating-picker input { position:absolute; opacity:0; pointer-events:none; }
.review-rating-picker label { cursor:pointer; color:#cbd4df; font-size:24px; transition:.15s ease; }
.review-rating-picker label:hover,
.review-rating-picker label:hover ~ label,
.review-rating-picker input:checked + label,
.review-rating-picker input:checked ~ label { color:#ffae00; }
.review-rating-picker label:hover { transform:translateY(-1px); }

@media (max-width: 767.98px) {
    .product-info-tabs .nav-tabs { overflow-x:auto; flex-wrap:nowrap; scrollbar-width:none; }
    .product-info-tabs .nav-tabs::-webkit-scrollbar { display:none; }
    .product-info-tabs .nav-tabs .nav-link { padding:10px 13px; font-size:13px; white-space:nowrap; }
    .product-review-header { align-items:flex-start; flex-direction:column; }
    .product-review-summary { width:100%; justify-content:flex-start; }
    .product-review-write-box { align-items:flex-start; flex-direction:column; }
    .product-review-write-btn { width:100%; }
    .product-review-modal .modal-body { padding:18px; }
    .product-review-modal .modal-header { padding:18px; }
    .product-review-modal .modal-footer { padding:12px 18px 18px; }
}

/* STAGE 139 - Product Reviews: reference-style customer review layout */
.product-info-tabs .nav-tabs .nav-link {
    color:#607087;
    font-size:18px;
    font-weight:700;
    padding:14px 22px 13px;
}
.product-info-tabs .nav-tabs .nav-link.active {
    color:var(--primary-orange) !important;
}
.product-review-panel { padding:0; }
.product-review-overview {
    display:grid;
    grid-template-columns: minmax(300px, 34%) minmax(0, 66%);
    align-items:center;
    gap:30px;
    padding:36px 18px 34px;
    border-bottom:1px solid #dfe5ec;
}
.product-review-score-block {
    text-align:center;
    border-right:1px solid #dfe5ec;
    padding:4px 28px 6px 12px;
}
.product-review-score-block .product-review-score {
    color:#20242a;
    font-size:82px;
    line-height:.95;
    font-weight:800;
    letter-spacing:-2px;
}
.product-review-score-block .product-review-summary-stars {
    justify-content:center;
    margin-top:16px;
    gap:3px;
    color:#ffad00;
    font-size:20px;
}
.product-review-score-block .product-review-summary-stars .is-empty { color:#d3dae2; }
.product-review-score-block .product-review-summary-count {
    color:#5f6d80;
    font-size:17px;
    margin-top:9px;
}
.product-review-distribution { padding:0 8px; }
.review-rating-row {
    display:grid;
    grid-template-columns:72px minmax(0,1fr) 42px;
    align-items:center;
    gap:12px;
    margin:12px 0;
}
.review-rating-label {
    display:flex;
    flex-direction:column;
    color:#56667a;
    font-size:16px;
    line-height:1.25;
}
.review-rating-label span:first-child { font-weight:500; }
.review-rating-bar {
    height:10px;
    background:#e7ebef;
    border-radius:999px;
    overflow:hidden;
}
.review-rating-fill {
    display:block;
    height:100%;
    background:#ffb000;
    border-radius:999px;
    transition:width .3s ease;
}
.review-rating-count {
    color:#56667a;
    font-size:16px;
    text-align:right;
}
.product-review-list-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:24px 0 14px;
    color:#17243a;
    font-size:20px;
    font-weight:800;
}
.product-review-list-heading .product-review-write-btn { padding:9px 15px; }
.product-review-list { padding-top:0; }
.product-review-items { border-top:1px solid #e4e9ef; }
.product-review-item {
    padding:24px 0 26px;
    border-bottom:1px solid #e1e6ec;
}
.product-review-item-top {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}
.product-review-author {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:9px;
}
.product-review-author strong {
    color:#18243a;
    font-size:18px;
    font-weight:800;
}
.review-verified-badge,
.review-customer-badge {
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:3px 10px;
    border-radius:7px;
    border:1px solid #a8d9c5;
    background:#e9f7f0;
    color:#17805c;
    font-size:13px;
    font-weight:700;
}
.review-customer-badge { border-color:#dbe3eb; background:#f5f7fa; color:#68788d; }
.product-review-item-top time {
    color:#66758a;
    font-size:14px;
    white-space:nowrap;
}
.product-review-item-stars {
    display:flex;
    gap:2px;
    margin-top:13px;
    color:#ffad00;
    font-size:18px;
}
.product-review-item-stars .is-empty { color:#d4dbe3; }
.product-review-item-text {
    margin:9px 0 0;
    color:#5d6f84;
    font-size:17px;
    line-height:1.65;
}
.product-review-pagination { padding:20px 0 2px; }
.product-review-pagination .pagination { margin:0; }
.product-review-pagination .pagination a,
.product-review-pagination .pagination span { border-color:#dfe5ec; color:#53657b; }
.product-review-pagination .pagination .active span { background:var(--primary-orange); border-color:var(--primary-orange); color:#fff; }

@media (max-width: 991.98px) {
    .product-review-overview { grid-template-columns:1fr; gap:26px; }
    .product-review-score-block { border-right:0; border-bottom:1px solid #dfe5ec; padding:0 0 26px; }
}
@media (max-width: 767.98px) {
    .product-info-tabs .nav-tabs .nav-link { padding:11px 14px; font-size:14px; }
    .product-review-overview { padding:26px 8px 24px; }
    .product-review-score-block .product-review-score { font-size:64px; }
    .product-review-score-block .product-review-summary-stars { font-size:17px; margin-top:12px; }
    .product-review-score-block .product-review-summary-count { font-size:14px; }
    .review-rating-row { grid-template-columns:60px minmax(0,1fr) 32px; gap:8px; margin:10px 0; }
    .review-rating-label, .review-rating-count { font-size:14px; }
    .review-rating-bar { height:8px; }
    .product-review-list-heading { align-items:flex-start; flex-direction:column; font-size:18px; }
    .product-review-list-heading .product-review-write-btn { width:100%; }
    .product-review-item { padding:20px 0 22px; }
    .product-review-item-top { align-items:flex-start; flex-direction:column; gap:7px; }
    .product-review-author strong { font-size:16px; }
    .product-review-item-top time { font-size:13px; }
    .product-review-item-stars { font-size:16px; }
    .product-review-item-text { font-size:15px; line-height:1.6; }
}

/* Stage 142 - Product image zoom modal */
.product-main-image-trigger{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:360px;padding:0;border:0;background:transparent;cursor:zoom-in}
.product-main-image-trigger img{transition:transform .2s ease;max-width:100%}
.product-image-zoom-hint{position:absolute;right:14px;bottom:14px;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(17,24,39,.82);color:#fff;opacity:0;transform:translateY(5px);transition:.2s ease;pointer-events:none}
.product-main-image-trigger:hover .product-image-zoom-hint,.product-main-image-trigger:focus-visible .product-image-zoom-hint{opacity:1;transform:translateY(0)}
.product-image-modal .modal-content{border:0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.28)}
.product-image-modal .modal-header{padding:14px 18px;border-bottom:1px solid #e8edf3;align-items:center}
.product-image-modal .modal-title{font-weight:800;color:#172033;font-size:18px}
.product-image-modal .modal-body{padding:0;background:#f7f9fc}
.product-image-modal-stage{position:relative;min-height:70vh;max-height:78vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f7f9fc}
.product-image-modal-stage img{max-width:90%;max-height:70vh;width:auto;height:auto;object-fit:contain;transform-origin:center center;transition:transform .18s ease;cursor:grab;user-select:none}
.product-image-modal-stage img:active{cursor:grabbing}
.product-image-modal-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid #dce3ec;border-radius:50%;background:#fff;color:#172033;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(15,23,42,.1);z-index:2}
.product-image-modal-nav:hover{color:var(--primary-orange);border-color:var(--primary-orange)}
.product-image-modal-prev{left:18px}.product-image-modal-next{right:18px}
.product-image-modal-toolbar{display:flex;gap:6px;align-items:center}
.product-image-modal-toolbar .btn{min-width:38px;height:34px;display:inline-flex;align-items:center;justify-content:center;font-weight:700}
@media(max-width:767.98px){
  .product-main-image-trigger{min-height:250px}
  .product-image-modal .modal-dialog{margin:.5rem}
  .product-image-modal-stage{min-height:65vh;max-height:75vh}
  .product-image-modal-stage img{max-width:84%;max-height:62vh}
  .product-image-modal-nav{width:38px;height:38px}
  .product-image-modal-prev{left:8px}.product-image-modal-next{right:8px}
  .product-image-modal-toolbar{margin-right:8px!important}
}

/* STAGE 144 - Product thumbnail slider: show only real images, slide when more than four */
.product-media-slider{position:relative;display:flex;align-items:center;gap:8px;width:100%;}
.product-media-viewport{min-width:0;flex:1;overflow:hidden;}
.product-media-slider .product-media-actions{display:flex;gap:14px;width:max-content;transition:transform .22s ease;will-change:transform;}
.product-media-slider .product-media-action{flex:0 0 calc((var(--thumb-viewport-width, 100%) - 42px) / 4);width:calc((var(--thumb-viewport-width, 100%) - 42px) / 4);}
.product-media-slider-arrow{flex:0 0 38px;width:38px;height:38px;border:1px solid #d7e0ea;border-radius:50%;background:#fff;color:#17243a;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 7px rgba(15,23,42,.06);cursor:pointer;z-index:2;padding:0;}
.product-media-slider-arrow:hover{border-color:#ff6500;color:#ff6500;}
.product-media-slider-arrow[hidden]{display:none!important;}
.product-media-slider-static .product-media-viewport{width:100%;}
.product-media-slider-static .product-media-actions{width:100%;}
.product-media-slider-static .product-media-action{flex:1 1 0;width:auto;}
@media (max-width:767.98px){
  .product-media-slider{gap:6px;}
  .product-media-slider-arrow{flex-basis:34px;width:34px;height:34px;}
  .product-media-slider .product-media-actions{gap:8px;}
  .product-media-slider .product-media-action{flex-basis:calc((var(--thumb-viewport-width, 100%) - 24px) / 4);width:calc((var(--thumb-viewport-width, 100%) - 24px) / 4);}
}

/* STAGE 145 - Shopping Cart page */
.cart-page{background:#f7f9fc;min-height:calc(100vh - 180px);padding:28px 0 64px;color:#172033}
.cart-page-container{max-width:1240px}
.cart-alert{border-radius:10px;border:0;box-shadow:0 3px 14px rgba(15,23,42,.05)}
.cart-breadcrumb{background:transparent;padding:0;margin:0 0 22px;font-size:14px}
.cart-breadcrumb a{color:#68788c;text-decoration:none}.cart-breadcrumb a:hover{color:var(--primary-orange)}
.cart-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}
.cart-page-eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--primary-orange);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}
.cart-page-heading h1{font-size:32px;line-height:1.2;font-weight:800;margin:0;color:#182235}
.cart-page-heading p{margin:8px 0 0;color:#718096;font-size:15px}
.cart-item-count{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:9px 14px;border-radius:999px;background:#fff1e8;color:var(--primary-orange);font-weight:800;font-size:13px;border:1px solid #ffd9c2}
.cart-layout{row-gap:24px}.cart-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px rgba(15,23,42,.045)}
.cart-card-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;border-bottom:1px solid #edf1f5}
.cart-card-header h2{font-size:18px;font-weight:800;margin:0 0 3px}.cart-card-header span{font-size:13px;color:#7a899b}
.cart-continue-link{font-size:14px;font-weight:700;color:#43546a;text-decoration:none;white-space:nowrap}.cart-continue-link:hover{color:var(--primary-orange)}
.cart-continue-link i{margin-right:6px}.cart-products-list{padding:0 24px}
.cart-product-row{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid #edf1f5}.cart-product-row:last-child{border-bottom:0}
.cart-product-thumb{flex:0 0 112px;width:112px;height:112px;border:1px solid #e4eaf1;border-radius:12px;background:#fafbfc;display:flex;align-items:center;justify-content:center;overflow:hidden;text-decoration:none}
.cart-product-thumb img{width:100%;height:100%;object-fit:contain;padding:8px}.cart-product-thumb span{font-size:27px;color:#b7c1ce}
.cart-product-main{min-width:0;flex:1}.cart-product-top{display:flex;justify-content:space-between;gap:15px}.cart-product-copy{min-width:0}.cart-product-name{display:block;color:#182235;font-size:17px;font-weight:800;line-height:1.35;text-decoration:none;margin-bottom:7px}.cart-product-name:hover{color:var(--primary-orange)}
.cart-product-option,.cart-product-meta{font-size:13px;color:#718096;line-height:1.6}.cart-product-option span{font-weight:700;color:#59697c}.cart-remove-btn{flex:0 0 34px;width:34px;height:34px;border:0;border-radius:50%;background:#f7f8fa;color:#94a3b8;display:flex;align-items:center;justify-content:center;transition:.2s}.cart-remove-btn:hover{background:#fff0f0;color:#e5484d}
.cart-product-bottom{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:26px;margin-top:20px}.cart-product-bottom>div>span{display:block;color:#8a97a7;font-size:12px;font-weight:600;margin-bottom:6px}.cart-product-unit-price strong,.cart-product-total strong{font-size:15px;color:#253247}.cart-product-total{text-align:right}.cart-product-total strong{font-size:17px;font-weight:800}
.cart-qty-control{display:flex;align-items:center;width:124px;height:38px;border:1px solid #d7e0ea;border-radius:9px;background:#fff;overflow:hidden}.cart-qty-btn{width:34px;height:100%;border:0;background:#fff;color:#65758a;display:flex;align-items:center;justify-content:center;font-size:11px}.cart-qty-btn:hover{background:#f5f7fa;color:var(--primary-orange)}.cart-qty-input{min-width:0;width:54px;height:100%;border:0!important;box-shadow:none!important;text-align:center;font-size:14px;font-weight:800;color:#172033;padding:0}.cart-qty-input::-webkit-outer-spin-button,.cart-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cart-qty-input[type=number]{-moz-appearance:textfield}
.cart-card-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:18px 24px;background:#fbfcfd;border-top:1px solid #edf1f5}.cart-update-btn,.cart-continue-btn{border-radius:9px;padding:10px 16px;font-size:14px;font-weight:700}.cart-update-btn{background:#172033;color:#fff;border:1px solid #172033}.cart-update-btn:hover{background:#0e1523;color:#fff}.cart-update-btn i{margin-right:6px}.cart-continue-btn{border:1px solid #d7e0ea;color:#43546a;background:#fff}.cart-continue-btn:hover{border-color:var(--primary-orange);color:var(--primary-orange)}
.cart-summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 8px 28px rgba(15,23,42,.045);position:sticky;top:96px}.cart-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:20px;border-bottom:1px solid #edf1f5}.cart-summary-heading span{display:block;color:#8a97a7;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}.cart-summary-heading h2{font-size:20px;font-weight:800;margin:0;color:#182235}.cart-summary-heading>i{width:42px;height:42px;border-radius:11px;background:#fff2e9;color:var(--primary-orange);display:flex;align-items:center;justify-content:center}.cart-summary-modules{padding-top:18px}.cart-totals{padding-top:18px}.cart-total-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:7px 0;color:#718096;font-size:14px}.cart-total-row strong{color:#344256;font-weight:700}.cart-total-final{margin-top:10px;padding-top:18px;border-top:1px solid #e5eaf0;color:#182235;font-size:17px}.cart-total-final strong{color:#182235;font-size:22px;font-weight:850}.cart-checkout-btn{width:100%;display:flex;justify-content:center;align-items:center;gap:9px;margin-top:20px;border:0;border-radius:10px;padding:13px 18px;background:var(--primary-orange);color:#fff;font-size:15px;font-weight:800;box-shadow:0 7px 18px rgba(255,102,0,.22)}.cart-checkout-btn:hover{background:#e85d00;color:#fff;transform:translateY(-1px)}.cart-secure-note{text-align:center;margin-top:12px;color:#8a97a7;font-size:12px}.cart-secure-note i{margin-right:5px;color:#6f9d7b}
.cart-empty-state{padding:70px 24px;text-align:center}.cart-empty-icon{width:76px;height:76px;margin:0 auto 20px;border-radius:50%;background:#fff2e9;color:var(--primary-orange);display:flex;align-items:center;justify-content:center;font-size:29px}.cart-empty-state h2{font-size:22px;font-weight:800;margin:0 0 8px}.cart-empty-state p{margin:0;color:#7a899b;font-size:14px}.cart-empty-btn{margin-top:22px;border:0;border-radius:9px;background:var(--primary-orange);color:#fff;padding:11px 20px;font-weight:800}.cart-empty-btn:hover{background:#e85d00;color:#fff}
@media(max-width:991.98px){.cart-summary-card{position:static}.cart-page-heading{align-items:flex-start}.cart-layout{margin-top:0}}
@media(max-width:767.98px){.cart-page{padding:20px 0 45px}.cart-page-heading{display:block;margin-bottom:20px}.cart-page-heading h1{font-size:27px}.cart-item-count{margin-top:12px}.cart-card-header{padding:18px 16px;align-items:flex-start}.cart-card-header h2{font-size:17px}.cart-continue-link{font-size:13px}.cart-products-list{padding:0 16px}.cart-product-row{gap:13px;padding:18px 0}.cart-product-thumb{flex:0 0 82px;width:82px;height:82px}.cart-product-name{font-size:15px}.cart-product-bottom{grid-template-columns:1fr auto;gap:15px;margin-top:15px}.cart-product-unit-price{grid-column:1}.cart-quantity-wrap{grid-column:2;grid-row:1 / span 2}.cart-product-total{text-align:left;grid-column:1}.cart-product-total strong{font-size:16px}.cart-card-footer{padding:15px 16px;justify-content:stretch}.cart-card-footer .btn{flex:1}.cart-summary-card{padding:20px}.cart-breadcrumb{margin-bottom:16px}}
@media(max-width:480px){.cart-page-heading p{font-size:14px}.cart-card-header{display:block}.cart-continue-link{display:inline-block;margin-top:10px}.cart-product-top{gap:8px}.cart-product-option,.cart-product-meta{font-size:12px}.cart-remove-btn{flex-basis:30px;width:30px;height:30px}.cart-product-bottom{gap:12px}.cart-qty-control{width:112px}.cart-qty-btn{width:31px}.cart-qty-input{width:50px}.cart-card-footer{flex-direction:column}.cart-card-footer .btn{width:100%}}

/* ============================================================
   STAGE 146 - SHOPPING CART REFERENCE CONTENT
   Header and footer remain untouched.
   ============================================================ */
.cart-reference-layout{background:#f6f8fb;min-height:calc(100vh - 180px);color:#182235}
.cart-alert-wrap{padding-top:18px}.cart-alert{margin-bottom:0;border-radius:10px}
.cart-reference-container{max-width:1240px}
.cart-hero{background:linear-gradient(110deg,#10131b 0%,#181e2b 100%);color:#fff;padding:27px 0 28px;border-top:1px solid rgba(255,255,255,.03)}
.cart-hero-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.cart-hero h1{margin:0;font-size:30px;line-height:1.2;font-weight:800;letter-spacing:-.02em}.cart-hero p{margin:6px 0 0;color:#8d98aa;font-size:13px}
.cart-hero-breadcrumb{display:flex;align-items:center;gap:10px;font-size:12px;white-space:nowrap}.cart-hero-breadcrumb a{color:#c9d0dc;text-decoration:none}.cart-hero-breadcrumb a:hover{color:var(--primary-orange)}.cart-hero-breadcrumb span{color:#667084}.cart-hero-breadcrumb .current{color:var(--primary-orange);font-weight:700}
.cart-reference-content{padding:34px 0 60px}.cart-reference-card,.cart-reference-summary{background:#fff;border:1px solid #e5e9ef;border-radius:8px;box-shadow:0 2px 9px rgba(15,23,42,.04)}
.cart-items-card{overflow:hidden}.cart-reference-table-head{display:grid;grid-template-columns:minmax(300px,1.7fr) 100px 130px 100px 26px;gap:18px;align-items:center;padding:12px 8px 10px 8px;margin:0 12px;border-bottom:1px solid #e5e9ef;color:#172033;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.02em}
.cart-reference-items{padding:0 12px}.cart-reference-item{display:grid;grid-template-columns:minmax(300px,1.7fr) 100px 130px 100px 26px;gap:18px;align-items:center;padding:11px 0;border-bottom:1px solid #e7ebf0}.cart-reference-item:last-child{border-bottom:0}
.cart-reference-product{display:flex;align-items:center;gap:12px;min-width:0}.cart-reference-product-image{width:42px;height:42px;flex:0 0 42px;border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;text-decoration:none}.cart-reference-product-image img{width:100%;height:100%;object-fit:contain}
.cart-reference-product-info{min-width:0}.cart-reference-product-name{display:block;color:#172033;text-decoration:none;font-size:13px;font-weight:800;line-height:1.3}.cart-reference-product-name:hover{color:var(--primary-orange)}.cart-reference-option,.cart-reference-meta{font-size:10px;color:#7d8898;line-height:1.35;margin-top:3px}.cart-reference-option strong{font-weight:700;color:#6c7787}
.cart-reference-price,.cart-reference-total{font-size:12px;font-weight:800;color:#172033}.cart-reference-total{white-space:nowrap}.cart-reference-quantity{display:flex;justify-content:flex-start}.cart-reference-qty-control{display:flex;align-items:center;width:80px;height:24px;border:1px solid #cbd3dd;border-radius:3px;overflow:hidden;background:#fff}.cart-reference-qty-btn{width:25px;height:100%;border:0;background:#f9fafb;color:#607086;font-size:13px;line-height:1;padding:0}.cart-reference-qty-btn:hover{background:#f0f3f7;color:var(--primary-orange)}.cart-reference-qty-input{width:30px;height:100%;padding:0;border:0!important;box-shadow:none!important;text-align:center;font-size:11px;font-weight:700;color:#182235}.cart-reference-qty-input::-webkit-inner-spin-button,.cart-reference-qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cart-reference-qty-input[type=number]{-moz-appearance:textfield}
.cart-reference-remove{width:22px;height:22px;border:0;background:transparent;color:#f15b5b;padding:0;font-size:13px}.cart-reference-remove:hover{color:#d92d3b}.cart-reference-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;background:#f9fafb;border-top:1px solid #e5e9ef}.cart-reference-action-right{display:flex;gap:8px}.cart-reference-continue,.cart-reference-clear,.cart-reference-update{height:28px;border-radius:5px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:11px;font-weight:700;text-decoration:none}.cart-reference-continue{border:1px solid #9ba6b4;color:#172033;background:#fff}.cart-reference-continue:hover{border-color:var(--primary-orange);color:var(--primary-orange)}.cart-reference-clear{border:1px solid #ff9b9b;color:#e05252;background:#fff}.cart-reference-clear:hover{background:#fff1f1}.cart-reference-update{border:1px solid #172033;color:#fff;background:#172033}.cart-reference-update:hover{background:#0e1523}
.cart-reference-lower{margin-top:16px}.cart-tool-card{padding:17px}.cart-tool-title{display:flex;align-items:flex-start;gap:10px;margin-bottom:13px}.cart-tool-icon{width:28px;height:28px;border-radius:5px;display:flex;align-items:center;justify-content:center;background:#fff3e7;color:var(--primary-orange);flex:0 0 28px}.cart-tool-title h2{font-size:15px;line-height:1.2;margin:0 0 3px;font-weight:800}.cart-tool-title p{margin:0;color:#7a8697;font-size:10px}.cart-tool-form label{display:block;margin:0 0 5px;font-size:11px;font-weight:700;color:#172033}.cart-tool-form label span{color:#172033}.cart-tool-input{width:100%;height:30px;border:1px solid #d7dee7;border-radius:4px;background:#fff;color:#516174;font-size:11px;padding:0 10px;margin-bottom:9px;outline:0}.cart-tool-input:focus{border-color:#aeb9c8;box-shadow:0 0 0 2px rgba(255,102,0,.07)}.cart-calculate-btn{width:100%;height:27px;border:1px solid #8e98a7;border-radius:3px;background:#fff;color:#172033;font-size:10px;font-weight:800}.cart-calculate-btn:hover{border-color:var(--primary-orange);color:var(--primary-orange)}.cart-tool-message{min-height:0;margin-top:6px;font-size:10px}.cart-tool-message.is-error{color:#d14b4b}.cart-tool-message.is-success{color:#3e7d55}
.cart-coupon-row{display:flex;gap:0}.cart-coupon-row .cart-tool-input{margin:0;border-radius:4px 0 0 4px}.cart-coupon-row button{width:58px;border:0;border-radius:0 4px 4px 0;background:#172033;color:#fff;font-size:11px;font-weight:800}.cart-coupon-row button:hover{background:#0e1523}.cart-promo-box{margin-top:98px;border:1px solid #dfe4ea;border-radius:5px;background:#f8fafc;padding:11px}.cart-promo-box span{display:block;color:#687587;font-size:10px;font-weight:800;margin-bottom:3px}.cart-promo-box strong{display:block;color:#172033;font-size:11px;line-height:1.35}.cart-promo-box i{color:#ffb400;margin-right:3px}
.cart-reference-summary{padding:17px 18px;position:sticky;top:96px}.cart-reference-summary h2{font-size:15px;font-weight:800;margin:0}.cart-summary-divider{height:1px;background:#e4e8ee;margin:12px 0 9px}.cart-reference-total-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:5px 0;color:#718096;font-size:11px}.cart-reference-total-row strong{color:#172033;font-size:11px}.cart-reference-total-row.final{border-top:1px solid #e0e5eb;margin-top:9px;padding-top:13px;color:#172033;font-size:14px;font-weight:800}.cart-reference-total-row.final strong{font-size:18px;color:#e33f4d}.cart-reference-checkout{width:100%;height:38px;margin-top:14px;border-radius:5px;background:var(--primary-orange);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;text-transform:uppercase;font-size:11px;font-weight:800;box-shadow:0 5px 12px rgba(255,102,0,.16)}.cart-reference-checkout:hover{background:#e85d00;color:#fff;transform:translateY(-1px)}.cart-reference-secure{text-align:center;margin-top:11px;color:#7a8697;font-size:10px}.cart-reference-secure i{color:#3b9564;margin-right:4px}.cart-reference-payment-icons{display:flex;justify-content:center;gap:7px;margin-top:8px}.cart-reference-payment-icons span{min-width:34px;height:20px;padding:0 5px;border:1px solid #dfe4ea;border-radius:3px;display:flex;align-items:center;justify-content:center;background:#fff;color:#5d6877;font-size:7px;font-weight:800}
.cart-reference-empty{text-align:center;padding:70px 20px}.cart-reference-empty .cart-empty-icon{width:70px;height:70px;margin:0 auto 18px;border-radius:50%;background:#fff1e8;color:var(--primary-orange);display:flex;align-items:center;justify-content:center;font-size:27px}.cart-reference-empty h2{font-size:22px;font-weight:800;margin:0 0 7px}.cart-reference-empty p{font-size:13px;color:#7b8797;margin:0}.cart-empty-action{max-width:210px;margin:22px auto 0}
@media(max-width:991.98px){.cart-reference-table-head,.cart-reference-item{grid-template-columns:minmax(250px,1fr) 90px 115px 90px 24px}.cart-reference-summary{position:static}.cart-hero-inner{align-items:flex-start}.cart-reference-lower{margin-top:16px}}
@media(max-width:767.98px){.cart-hero{padding:23px 0}.cart-hero-inner{display:block}.cart-hero h1{font-size:26px}.cart-hero-breadcrumb{margin-top:12px}.cart-reference-content{padding:20px 0 45px}.cart-reference-table-head{display:none}.cart-reference-items{padding:0 12px}.cart-reference-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px 0}.cart-reference-product{grid-column:1 / -1}.cart-reference-price,.cart-reference-quantity,.cart-reference-total,.cart-reference-remove{grid-column:auto}.cart-reference-price:before,.cart-reference-total:before{content:attr(data-label);display:block;color:#8995a5;font-size:9px;font-weight:700;text-transform:uppercase;margin-bottom:3px}.cart-reference-quantity{justify-content:flex-start}.cart-reference-remove{align-self:end}.cart-reference-actions{display:block}.cart-reference-action-right{margin-top:9px}.cart-reference-continue,.cart-reference-clear,.cart-reference-update{flex:1}.cart-coupon-card .cart-promo-box{margin-top:22px}.cart-reference-summary{margin-top:0}}
@media(max-width:480px){.cart-reference-container{width:calc(100% - 20px)}.cart-reference-product-image{width:38px;height:38px;flex-basis:38px}.cart-reference-product-name{font-size:12px}.cart-reference-option,.cart-reference-meta{font-size:9px}.cart-reference-actions .cart-reference-continue{width:100%}.cart-reference-action-right{width:100%}.cart-reference-continue,.cart-reference-clear,.cart-reference-update{font-size:10px;padding:0 7px}.cart-reference-total-row.final strong{font-size:17px}}

/* STAGE 147 - Shopping Cart container alignment and functional shipping estimator */
.cart-reference-container{max-width:1420px}
.cart-reference-content{padding-left:0;padding-right:0}
.cart-reference-content>.cart-reference-container{width:100%}
.cart-shipping-module{margin-top:2px}
.hg-shipping-fields .cart-tool-input{margin-bottom:7px}
.hg-shipping-field label{display:block;margin:0 0 5px;font-size:11px;font-weight:700;color:#172033}
.hg-shipping-field label span{color:#172033}
.hg-shipping-error{min-height:0;color:#d14b4b;font-size:10px;line-height:1.25;margin:-3px 0 6px}
.hg-shipping-fields .is-invalid{border-color:#e05252!important;box-shadow:0 0 0 2px rgba(224,82,82,.08)!important}
.hg-shipping-status{min-height:0;margin-top:8px;font-size:10px;color:#687587}
.hg-shipping-status.is-error{color:#d14b4b}
.hg-shipping-status.is-success{color:#3e7d55}
.hg-shipping-quote-btn.is-loading{opacity:.65;pointer-events:none}
.hg-shipping-method-title{font-size:13px;font-weight:800;color:#172033;margin-bottom:9px}
.hg-shipping-method-option{display:flex;align-items:center;gap:10px;border:1px solid #e0e6ed;border-radius:8px;padding:11px 12px;margin-bottom:8px;cursor:pointer;background:#fff;transition:border-color .18s ease,box-shadow .18s ease}
.hg-shipping-method-option:hover{border-color:#ffb27f;box-shadow:0 3px 12px rgba(15,23,42,.05)}
.hg-shipping-method-option input{accent-color:var(--primary-orange);margin:0;flex:0 0 auto}
.hg-shipping-method-copy{display:flex;justify-content:space-between;align-items:center;gap:18px;width:100%;font-size:12px;color:#172033}
.hg-shipping-method-copy small{color:#6f7d8e;font-size:11px}
.hg-shipping-modal .modal-content{border:0;border-radius:12px;box-shadow:0 18px 55px rgba(15,23,42,.22)}
.hg-shipping-modal .modal-header{border-bottom:1px solid #edf1f5;padding:16px 18px}
.hg-shipping-modal .modal-title{font-size:16px;font-weight:800;color:#172033}
.hg-shipping-modal .modal-body{padding:18px}
.hg-shipping-modal .modal-footer{border-top:1px solid #edf1f5;padding:12px 18px}
.hg-shipping-modal .btn-orange{background:var(--primary-orange);border-color:var(--primary-orange);color:#fff;font-weight:700}
.hg-shipping-modal .btn-orange:hover{background:var(--primary-orange-hover);border-color:var(--primary-orange-hover);color:#fff}
@media(max-width:767.98px){
  .cart-reference-container{width:100%;padding-left:15px;padding-right:15px}
  .cart-reference-content{padding-left:0;padding-right:0}
  .hg-shipping-method-copy{display:block}
  .hg-shipping-method-copy small{display:block;margin-top:3px}
}

/* STAGE 148 - Shopping Cart typography scale matched to reference template */
.cart-hero h1{font-size:26px;line-height:1.15;font-weight:800}
.cart-hero-inner>div>p{font-size:12px;line-height:1.5}
.cart-hero-breadcrumb{font-size:11px}
.cart-reference-table-head{font-size:12px;line-height:1.3}
.cart-reference-item{font-size:13px}
.cart-reference-product-name{font-size:14px;line-height:1.35}
.cart-reference-option,.cart-reference-meta{font-size:11px;line-height:1.4}
.cart-reference-price,.cart-reference-total{font-size:13px}
.cart-reference-qty-control{width:84px;height:28px}
.cart-reference-qty-btn{width:27px;font-size:13px}
.cart-reference-qty-input{width:30px;font-size:12px}
.cart-reference-remove{font-size:14px}
.cart-reference-continue,.cart-reference-clear,.cart-reference-update{height:32px;padding:0 13px;font-size:12px}
.cart-tool-card{padding:19px}
.cart-tool-title{gap:11px;margin-bottom:14px}
.cart-tool-icon{width:30px;height:30px;flex-basis:30px;font-size:14px}
.cart-tool-title h2{font-size:16px;line-height:1.25}
.cart-tool-title p{font-size:11px;line-height:1.45}
.cart-tool-form label,.hg-shipping-field label{font-size:12px}
.cart-tool-input{height:34px;font-size:12px;padding:0 11px}
.cart-calculate-btn{height:31px;font-size:11px}
.cart-coupon-row button{width:62px;font-size:12px}
.cart-promo-box{padding:12px}
.cart-promo-box span{font-size:10px}
.cart-promo-box strong{font-size:12px;line-height:1.4}
.cart-reference-summary{padding:19px 20px}
.cart-reference-summary h2{font-size:16px}
.cart-reference-total-row{font-size:12px;padding:6px 0}
.cart-reference-total-row strong{font-size:12px}
.cart-reference-total-row.final{font-size:15px;padding-top:14px}
.cart-reference-total-row.final strong{font-size:20px}
.cart-reference-checkout{height:42px;font-size:12px;margin-top:15px}
.cart-reference-secure{font-size:11px;margin-top:12px}
.cart-reference-payment-icons span{font-size:8px;height:21px}
.hg-shipping-method-title{font-size:14px}
.hg-shipping-method-copy{font-size:13px}
.hg-shipping-method-copy small{font-size:11px}
.hg-shipping-error,.hg-shipping-status{font-size:11px}
@media(max-width:767.98px){
  .cart-hero h1{font-size:24px}
  .cart-reference-product-name{font-size:13px}
  .cart-reference-option,.cart-reference-meta{font-size:10px}
  .cart-reference-price,.cart-reference-total{font-size:12px}
  .cart-reference-continue,.cart-reference-clear,.cart-reference-update{font-size:11px}
  .cart-tool-title h2{font-size:15px}
  .cart-tool-title p{font-size:10px}
  .cart-reference-summary h2{font-size:15px}
}

/* ============================================================
   STAGE 149 - SHOPPING CART TYPOGRAPHY REFERENCE MATCH
   Final typography pass only. Header and footer remain untouched.
   ============================================================ */
.cart-reference-layout,
.cart-reference-layout button,
.cart-reference-layout input,
.cart-reference-layout select,
.cart-reference-layout textarea {
  font-family: 'Poppins', sans-serif;
}

.cart-hero h1 {
  font-size: 30px !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
}
.cart-hero-inner > div > p {
  font-size: 13px !important;
  line-height: 1.5 !important;
}
.cart-hero-breadcrumb {
  font-size: 12px !important;
  line-height: 1.4 !important;
}

.cart-reference-table-head {
  font-size: 12px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
}
.cart-reference-item {
  font-size: 13px !important;
  line-height: 1.35 !important;
}
.cart-reference-product-name {
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}
.cart-reference-option,
.cart-reference-meta {
  font-size: 10px !important;
  line-height: 1.4 !important;
}
.cart-reference-price,
.cart-reference-total {
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}
.cart-reference-qty-btn {
  font-size: 12px !important;
}
.cart-reference-qty-input {
  font-size: 11px !important;
}
.cart-reference-continue,
.cart-reference-clear,
.cart-reference-update {
  font-size: 11px !important;
  font-weight: 700 !important;
}

.cart-tool-title h2 {
  font-size: 16px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}
.cart-tool-title p {
  font-size: 10px !important;
  line-height: 1.45 !important;
}
.cart-tool-form label,
.hg-shipping-field label {
  font-size: 11px !important;
  line-height: 1.35 !important;
}
.cart-tool-input,
.hg-shipping-fields .cart-tool-input {
  font-size: 11px !important;
}
.cart-coupon-row button,
.cart-calculate-btn {
  font-size: 11px !important;
}
.cart-promo-box span {
  font-size: 9px !important;
}
.cart-promo-box strong {
  font-size: 11px !important;
  line-height: 1.4 !important;
}

.cart-reference-summary h2 {
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}
.cart-reference-total-row {
  font-size: 12px !important;
  line-height: 1.4 !important;
}
.cart-reference-total-row strong {
  font-size: 12px !important;
}
.cart-reference-total-row.final {
  font-size: 15px !important;
  line-height: 1.3 !important;
}
.cart-reference-total-row.final strong {
  font-size: 20px !important;
  line-height: 1.2 !important;
}
.cart-reference-checkout {
  font-size: 11px !important;
  font-weight: 800 !important;
}
.cart-reference-secure {
  font-size: 10px !important;
}

@media (max-width: 767.98px) {
  .cart-hero h1 {
    font-size: 26px !important;
  }
  .cart-hero-inner > div > p {
    font-size: 12px !important;
  }
  .cart-hero-breadcrumb {
    font-size: 11px !important;
  }
  .cart-reference-product-name {
    font-size: 13px !important;
  }
  .cart-reference-option,
  .cart-reference-meta {
    font-size: 10px !important;
  }
  .cart-reference-price,
  .cart-reference-total {
    font-size: 12px !important;
  }
  .cart-tool-title h2 {
    font-size: 15px !important;
  }
  .cart-reference-summary h2 {
    font-size: 16px !important;
  }
  .cart-reference-total-row.final strong {
    font-size: 19px !important;
  }
}

/* Stage 150 - Shopping Cart typography scale aligned with 100% reference */
.cart-reference-container{max-width:1748px}
.cart-hero h1{font-size:40px;line-height:1.15;font-weight:800;letter-spacing:-.025em}
.cart-hero p{font-size:16px;line-height:1.5;margin-top:7px}
.cart-hero-breadcrumb{font-size:14px;gap:11px}
.cart-reference-content{padding:36px 0 64px}
.cart-reference-table-head{font-size:16px;line-height:1.25;padding:14px 10px 12px;margin:0 10px;grid-template-columns:minmax(420px,1.7fr) 120px 150px 120px 28px;gap:20px}
.cart-reference-items{padding:0 10px}
.cart-reference-item{grid-template-columns:minmax(420px,1.7fr) 120px 150px 120px 28px;gap:20px;padding:15px 0}
.cart-reference-product{gap:15px}
.cart-reference-product-image{width:52px;height:52px;flex-basis:52px}
.cart-reference-product-name{font-size:16px;line-height:1.35}
.cart-reference-option,.cart-reference-meta{font-size:12px;line-height:1.4;margin-top:4px}
.cart-reference-price,.cart-reference-total{font-size:16px}
.cart-reference-qty-control{width:96px;height:34px}
.cart-reference-qty-btn{width:30px;font-size:15px}
.cart-reference-qty-input{width:36px;font-size:14px}
.cart-reference-remove{width:26px;height:26px;font-size:15px}
.cart-reference-actions{padding:13px 10px}
.cart-reference-continue,.cart-reference-clear,.cart-reference-update{height:38px;padding:0 16px;gap:7px;font-size:14px}
.cart-reference-lower{margin-top:20px}
.cart-tool-card{padding:22px}
.cart-tool-title{gap:12px;margin-bottom:16px}
.cart-tool-icon{width:32px;height:32px;flex-basis:32px;font-size:15px}
.cart-tool-title h2{font-size:22px;line-height:1.25;margin-bottom:4px}
.cart-tool-title p{font-size:14px;line-height:1.45}
.cart-tool-form label{font-size:14px;margin-bottom:6px}
.cart-tool-input{height:40px;font-size:14px;padding:0 12px;margin-bottom:11px}
.cart-calculate-btn{height:36px;font-size:13px}
.cart-coupon-row button{width:72px;font-size:14px}
.cart-promo-box{margin-top:96px;padding:13px}
.cart-promo-box span{font-size:12px}
.cart-promo-box strong{font-size:13px}
.cart-reference-summary{padding:22px 22px;top:96px}
.cart-reference-summary h2{font-size:22px}
.cart-summary-divider{margin:15px 0 12px}
.cart-reference-total-row{padding:7px 0;font-size:15px}
.cart-reference-total-row strong{font-size:15px}
.cart-reference-total-row.final{margin-top:12px;padding-top:16px;font-size:20px}
.cart-reference-total-row.final strong{font-size:26px}
.cart-reference-checkout{height:46px;margin-top:18px;font-size:14px}
.cart-reference-secure{margin-top:13px;font-size:12px}
.cart-reference-payment-icons{gap:8px;margin-top:9px}
.cart-reference-payment-icons span{min-width:38px;height:22px;font-size:8px}
.cart-reference-empty h2{font-size:26px}
.cart-reference-empty p{font-size:15px}
@media(max-width:1199.98px){
 .cart-reference-container{max-width:calc(100% - 40px)}
 .cart-reference-table-head,.cart-reference-item{grid-template-columns:minmax(320px,1.7fr) 105px 125px 105px 26px;gap:16px}
}
@media(max-width:767.98px){
 .cart-reference-container{max-width:calc(100% - 24px)}
 .cart-hero h1{font-size:30px}
 .cart-hero p{font-size:14px}
 .cart-hero-breadcrumb{font-size:13px}
 .cart-reference-table-head{display:none}
 .cart-reference-item{grid-template-columns:1fr auto;gap:12px;padding:16px 0}
 .cart-reference-product-name{font-size:15px}
 .cart-reference-price,.cart-reference-total{font-size:14px}
 .cart-reference-actions{padding:12px}
 .cart-reference-continue,.cart-reference-clear,.cart-reference-update{height:38px;font-size:13px}
 .cart-tool-title h2{font-size:19px}
 .cart-tool-title p{font-size:13px}
 .cart-reference-summary h2{font-size:20px}
 .cart-reference-total-row{font-size:14px}
 .cart-reference-total-row strong{font-size:14px}
 .cart-reference-total-row.final{font-size:18px}
 .cart-reference-total-row.final strong{font-size:23px}
}

/* ============================================================
   STAGE 151 - SHOPPING CART REFERENCE 100% SCALE / LAYOUT
   Content only. Header and footer are intentionally untouched.
   ============================================================ */
.cart-reference-container {
  width: calc(100% - 100px) !important;
  max-width: 1620px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.cart-hero {
  padding: 34px 0 35px !important;
}

.cart-hero h1 {
  font-size: 34px !important;
  line-height: 1.16 !important;
  letter-spacing: -0.02em !important;
}

.cart-hero-inner > div > p {
  font-size: 14px !important;
  line-height: 1.5 !important;
  margin-top: 8px !important;
}

.cart-hero-breadcrumb {
  font-size: 13px !important;
  gap: 10px !important;
}

.cart-reference-content {
  padding: 34px 0 72px !important;
}

.cart-reference-content > .cart-reference-container > .row {
  --bs-gutter-x: 20px;
  --bs-gutter-y: 20px;
}

.cart-reference-card,
.cart-reference-summary {
  border-radius: 8px !important;
}

.cart-reference-table-head {
  grid-template-columns: minmax(0, 1.75fr) 120px 150px 120px 30px !important;
  gap: 18px !important;
  padding: 16px 12px 13px !important;
  margin: 0 12px !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
}

.cart-reference-items {
  padding: 0 12px !important;
}

.cart-reference-item {
  grid-template-columns: minmax(0, 1.75fr) 120px 150px 120px 30px !important;
  gap: 18px !important;
  min-height: 70px !important;
  padding: 14px 0 !important;
}

.cart-reference-product {
  gap: 14px !important;
}

.cart-reference-product-image {
  width: 48px !important;
  height: 48px !important;
  flex-basis: 48px !important;
}

.cart-reference-product-name {
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}

.cart-reference-option,
.cart-reference-meta {
  font-size: 11px !important;
  line-height: 1.4 !important;
}

.cart-reference-price,
.cart-reference-total {
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}

.cart-reference-qty-control {
  width: 88px !important;
  height: 32px !important;
}

.cart-reference-qty-btn {
  width: 28px !important;
  font-size: 14px !important;
}

.cart-reference-qty-input {
  width: 32px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.cart-reference-remove {
  width: 28px !important;
  height: 28px !important;
  font-size: 15px !important;
}

.cart-reference-actions {
  padding: 13px 12px !important;
}

.cart-reference-continue,
.cart-reference-clear,
.cart-reference-update {
  height: 38px !important;
  padding: 0 15px !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

.cart-reference-lower {
  margin-top: 20px !important;
}

.cart-tool-card {
  padding: 20px !important;
  min-height: 248px;
}

.cart-tool-title {
  gap: 11px !important;
  margin-bottom: 16px !important;
}

.cart-tool-icon {
  width: 31px !important;
  height: 31px !important;
  flex-basis: 31px !important;
  font-size: 14px !important;
}

.cart-tool-title h2 {
  font-size: 19px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

.cart-tool-title p {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

.cart-tool-form label,
.hg-shipping-field label {
  font-size: 12px !important;
  line-height: 1.35 !important;
}

.cart-tool-input {
  height: 38px !important;
  font-size: 13px !important;
  padding: 0 11px !important;
}

.cart-calculate-btn {
  height: 34px !important;
  font-size: 12px !important;
}

.cart-coupon-row button {
  width: 68px !important;
  font-size: 13px !important;
}

.cart-promo-box {
  margin-top: 74px !important;
  padding: 12px !important;
}

.cart-promo-box span {
  font-size: 10px !important;
}

.cart-promo-box strong {
  font-size: 12px !important;
  line-height: 1.4 !important;
}

.cart-reference-summary {
  padding: 21px 20px !important;
  position: sticky !important;
  top: 96px !important;
}

.cart-reference-summary h2 {
  font-size: 20px !important;
  line-height: 1.25 !important;
}

.cart-summary-divider {
  margin: 14px 0 11px !important;
}

.cart-reference-total-row {
  padding: 7px 0 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.cart-reference-total-row strong {
  font-size: 13px !important;
}

.cart-reference-total-row.final {
  margin-top: 10px !important;
  padding-top: 15px !important;
  font-size: 17px !important;
}

.cart-reference-total-row.final strong {
  font-size: 24px !important;
}

.cart-reference-checkout {
  height: 46px !important;
  margin-top: 17px !important;
  font-size: 13px !important;
}

.cart-reference-secure {
  margin-top: 12px !important;
  font-size: 11px !important;
}

.cart-reference-payment-icons span {
  min-width: 36px !important;
  height: 21px !important;
  font-size: 8px !important;
}

/* Keep the reference proportions at large desktop widths. */
@media (min-width: 1400px) {
  .cart-reference-content > .cart-reference-container > .row > .col-lg-8 {
    flex: 0 0 68.5%;
    max-width: 68.5%;
  }
  .cart-reference-content > .cart-reference-container > .row > .col-lg-4 {
    flex: 0 0 31.5%;
    max-width: 31.5%;
  }
}

@media (max-width: 1399.98px) and (min-width: 992px) {
  .cart-reference-container {
    width: calc(100% - 50px) !important;
  }
  .cart-reference-table-head,
  .cart-reference-item {
    grid-template-columns: minmax(0, 1.7fr) 105px 125px 105px 28px !important;
    gap: 14px !important;
  }
}

@media (max-width: 991.98px) {
  .cart-reference-container {
    width: calc(100% - 40px) !important;
  }
  .cart-reference-summary {
    position: static !important;
  }
  .cart-tool-card {
    min-height: 0;
  }
}

@media (max-width: 767.98px) {
  .cart-reference-container {
    width: calc(100% - 24px) !important;
  }
  .cart-hero {
    padding: 27px 0 28px !important;
  }
  .cart-hero h1 {
    font-size: 28px !important;
  }
  .cart-hero-inner > div > p {
    font-size: 12px !important;
  }
  .cart-hero-breadcrumb {
    font-size: 12px !important;
  }
  .cart-reference-content {
    padding: 24px 0 48px !important;
  }
  .cart-reference-table-head {
    display: none !important;
  }
  .cart-reference-items {
    padding: 0 12px !important;
  }
  .cart-reference-item {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 12px !important;
    min-height: 0 !important;
    padding: 16px 0 !important;
  }
  .cart-reference-product {
    grid-column: 1 / -1;
  }
  .cart-reference-product-name {
    font-size: 14px !important;
  }
  .cart-reference-price,
  .cart-reference-total {
    font-size: 13px !important;
  }
  .cart-reference-actions {
    padding: 13px 12px !important;
  }
  .cart-reference-continue,
  .cart-reference-clear,
  .cart-reference-update {
    height: 38px !important;
    font-size: 12px !important;
  }
  .cart-tool-title h2 {
    font-size: 18px !important;
  }
  .cart-tool-title p {
    font-size: 12px !important;
  }
  .cart-reference-summary h2 {
    font-size: 19px !important;
  }
}

/* ============================================================
   STAGE 152 - SHOPPING CART TYPOGRAPHY MATCH
   Fine typography calibration against the supplied reference.
   Content only; header/footer untouched.
   ============================================================ */
.cart-hero h1 {
  font-size: 29px !important;
  line-height: 1.2 !important;
  letter-spacing: -0.015em !important;
}
.cart-hero-inner > div > p {
  font-size: 12px !important;
  line-height: 1.5 !important;
  margin-top: 6px !important;
}
.cart-hero-breadcrumb {
  font-size: 12px !important;
  gap: 8px !important;
}
.cart-reference-table-head {
  font-size: 11px !important;
  line-height: 1.3 !important;
  padding-top: 14px !important;
  padding-bottom: 11px !important;
}
.cart-reference-product-name {
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}
.cart-reference-option,
.cart-reference-meta {
  font-size: 10px !important;
  line-height: 1.35 !important;
}
.cart-reference-price,
.cart-reference-total {
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}
.cart-reference-qty-control {
  width: 76px !important;
  height: 30px !important;
}
.cart-reference-qty-btn {
  width: 25px !important;
  font-size: 12px !important;
}
.cart-reference-qty-input {
  width: 26px !important;
  font-size: 11px !important;
}
.cart-reference-remove {
  width: 24px !important;
  height: 24px !important;
  font-size: 12px !important;
}
.cart-reference-continue,
.cart-reference-clear,
.cart-reference-update {
  height: 36px !important;
  padding: 0 13px !important;
  font-size: 11px !important;
}
.cart-tool-title h2 {
  font-size: 17px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}
.cart-tool-title p {
  font-size: 11px !important;
  line-height: 1.45 !important;
}
.cart-tool-form label,
.hg-shipping-field label {
  font-size: 11px !important;
  line-height: 1.35 !important;
}
.cart-tool-input {
  height: 36px !important;
  font-size: 12px !important;
}
.cart-calculate-btn,
.cart-coupon-row button {
  font-size: 11px !important;
}
.cart-promo-box span {
  font-size: 9px !important;
}
.cart-promo-box strong {
  font-size: 11px !important;
  line-height: 1.35 !important;
}
.cart-reference-summary h2 {
  font-size: 18px !important;
  line-height: 1.25 !important;
}
.cart-reference-total-row {
  font-size: 12px !important;
  line-height: 1.4 !important;
  padding: 6px 0 !important;
}
.cart-reference-total-row strong {
  font-size: 12px !important;
}
.cart-reference-total-row.final {
  font-size: 16px !important;
}
.cart-reference-total-row.final strong {
  font-size: 22px !important;
}
.cart-reference-checkout {
  height: 44px !important;
  font-size: 12px !important;
}
.cart-reference-secure {
  font-size: 10px !important;
}

/* ============================================================
   STAGE 153 - SHOPPING CART REFERENCE SCALE 100%
   Visual calibration against supplied GoFullPage reference.
   Content only. Header/footer intentionally untouched.
   ============================================================ */
.cart-reference-container {
  width: calc(100% - 100px) !important;
  max-width: 1690px !important;
}

.cart-hero {
  padding: 36px 0 38px !important;
}
.cart-hero h1 {
  font-size: 38px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
}
.cart-hero-inner > div > p {
  font-size: 15px !important;
  line-height: 1.5 !important;
  margin-top: 8px !important;
}
.cart-hero-breadcrumb {
  font-size: 14px !important;
  gap: 10px !important;
}

.cart-reference-content {
  padding: 36px 0 68px !important;
}
.cart-reference-content > .cart-reference-container > .row {
  --bs-gutter-x: 28px;
  --bs-gutter-y: 28px;
}
@media (min-width: 1400px) {
  .cart-reference-content > .cart-reference-container > .row > .col-lg-8 {
    flex: 0 0 67.2% !important;
    max-width: 67.2% !important;
  }
  .cart-reference-content > .cart-reference-container > .row > .col-lg-4 {
    flex: 0 0 32.8% !important;
    max-width: 32.8% !important;
  }
}

.cart-reference-table-head {
  grid-template-columns: minmax(0, 1.72fr) 120px 150px 120px 30px !important;
  gap: 20px !important;
  padding: 15px 12px 13px !important;
  margin: 0 12px !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
}
.cart-reference-items {
  padding: 0 12px !important;
}
.cart-reference-item {
  grid-template-columns: minmax(0, 1.72fr) 120px 150px 120px 30px !important;
  gap: 20px !important;
  min-height: 78px !important;
  padding: 16px 0 !important;
}
.cart-reference-product {
  gap: 15px !important;
}
.cart-reference-product-image {
  width: 54px !important;
  height: 54px !important;
  flex-basis: 54px !important;
}
.cart-reference-product-name {
  font-size: 17px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}
.cart-reference-option,
.cart-reference-meta {
  font-size: 12px !important;
  line-height: 1.4 !important;
}
.cart-reference-price,
.cart-reference-total {
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}
.cart-reference-qty-control {
  width: 96px !important;
  height: 36px !important;
}
.cart-reference-qty-btn {
  width: 30px !important;
  font-size: 14px !important;
}
.cart-reference-qty-input {
  width: 36px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
.cart-reference-remove {
  width: 28px !important;
  height: 28px !important;
  font-size: 14px !important;
}
.cart-reference-actions {
  padding: 14px 12px !important;
}
.cart-reference-continue,
.cart-reference-clear,
.cart-reference-update {
  height: 40px !important;
  padding: 0 17px !important;
  font-size: 14px !important;
  line-height: 1 !important;
}
.cart-reference-lower {
  margin-top: 28px !important;
}

.cart-tool-card {
  padding: 22px !important;
  min-height: 250px !important;
}
.cart-tool-title {
  gap: 12px !important;
  margin-bottom: 17px !important;
}
.cart-tool-icon {
  width: 33px !important;
  height: 33px !important;
  flex-basis: 33px !important;
  font-size: 15px !important;
}
.cart-tool-title h2 {
  font-size: 22px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}
.cart-tool-title p {
  font-size: 14px !important;
  line-height: 1.45 !important;
}
.cart-tool-form label,
.hg-shipping-field label {
  font-size: 14px !important;
  line-height: 1.35 !important;
}
.cart-tool-input {
  height: 40px !important;
  font-size: 14px !important;
  padding: 0 12px !important;
}
.cart-calculate-btn,
.cart-coupon-row button {
  height: 38px !important;
  font-size: 13px !important;
}
.cart-coupon-row button {
  width: 72px !important;
}
.cart-promo-box {
  margin-top: 74px !important;
  padding: 13px !important;
}
.cart-promo-box span {
  font-size: 10px !important;
}
.cart-promo-box strong {
  font-size: 12px !important;
  line-height: 1.4 !important;
}

.cart-reference-summary {
  padding: 24px 22px !important;
  top: 96px !important;
}
.cart-reference-summary h2 {
  font-size: 24px !important;
  line-height: 1.25 !important;
}
.cart-summary-divider {
  margin: 16px 0 13px !important;
}
.cart-reference-total-row {
  padding: 8px 0 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
}
.cart-reference-total-row strong {
  font-size: 15px !important;
}
.cart-reference-total-row.final {
  margin-top: 13px !important;
  padding-top: 17px !important;
  font-size: 20px !important;
}
.cart-reference-total-row.final strong {
  font-size: 28px !important;
  line-height: 1.2 !important;
}
.cart-reference-checkout {
  height: 50px !important;
  margin-top: 19px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}
.cart-reference-secure {
  margin-top: 13px !important;
  font-size: 11px !important;
}
.cart-reference-payment-icons {
  gap: 8px !important;
  margin-top: 10px !important;
}

@media (max-width: 1399.98px) and (min-width: 992px) {
  .cart-reference-container {
    width: calc(100% - 60px) !important;
    max-width: none !important;
  }
  .cart-reference-table-head,
  .cart-reference-item {
    grid-template-columns: minmax(0, 1.7fr) 110px 130px 110px 28px !important;
    gap: 16px !important;
  }
}

@media (max-width: 991.98px) {
  .cart-reference-container {
    width: calc(100% - 40px) !important;
    max-width: none !important;
  }
  .cart-reference-summary {
    position: static !important;
  }
}

@media (max-width: 767.98px) {
  .cart-reference-container {
    width: calc(100% - 24px) !important;
  }
  .cart-hero {
    padding: 28px 0 30px !important;
  }
  .cart-hero h1 {
    font-size: 30px !important;
  }
  .cart-hero-inner > div > p {
    font-size: 13px !important;
  }
  .cart-hero-breadcrumb {
    font-size: 12px !important;
  }
  .cart-reference-content {
    padding: 26px 0 48px !important;
  }
  .cart-reference-table-head {
    display: none !important;
  }
  .cart-reference-items {
    padding: 0 12px !important;
  }
  .cart-reference-item {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 12px !important;
    min-height: 0 !important;
    padding: 18px 0 !important;
  }
  .cart-reference-product {
    grid-column: 1 / -1;
  }
  .cart-reference-product-name {
    font-size: 15px !important;
  }
  .cart-reference-price,
  .cart-reference-total {
    font-size: 14px !important;
  }
  .cart-reference-continue,
  .cart-reference-clear,
  .cart-reference-update {
    height: 40px !important;
    font-size: 13px !important;
  }
  .cart-tool-title h2 {
    font-size: 19px !important;
  }
  .cart-tool-title p {
    font-size: 13px !important;
  }
  .cart-reference-summary h2 {
    font-size: 21px !important;
  }
  .cart-reference-total-row {
    font-size: 14px !important;
  }
  .cart-reference-total-row strong {
    font-size: 14px !important;
  }
  .cart-reference-total-row.final strong {
    font-size: 24px !important;
  }
  .cart-reference-checkout {
    height: 48px !important;
    font-size: 14px !important;
  }
}

/* ============================================================
   STAGE 154 - SHOPPING CART SECURITY + PROMOTION SCALE
   Visual calibration: enlarge SSL/payment block and promotion card
   to match the supplied reference proportions. No functionality,
   header, footer, or other pages changed.
   ============================================================ */
.cart-reference-secure {
  margin-top: 16px !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  letter-spacing: .05px !important;
  white-space: nowrap !important;
}
.cart-reference-secure i {
  font-size: 16px !important;
  margin-right: 7px !important;
  vertical-align: -1px !important;
}
.cart-reference-payment-icons {
  gap: 10px !important;
  margin-top: 13px !important;
  align-items: center !important;
}
.cart-reference-payment-icons span {
  min-width: 52px !important;
  height: 30px !important;
  padding: 0 8px !important;
  border-radius: 4px !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .15px !important;
}

.cart-promo-box {
  margin-top: 72px !important;
  padding: 17px 18px !important;
  border-radius: 6px !important;
}
.cart-promo-box span {
  font-size: 14px !important;
  line-height: 1.25 !important;
  margin-bottom: 7px !important;
  font-weight: 900 !important;
  letter-spacing: .1px !important;
}
.cart-promo-box strong {
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
}
.cart-promo-box i {
  font-size: 15px !important;
  margin-right: 6px !important;
}

@media (max-width: 991.98px) {
  .cart-reference-secure {
    font-size: 14px !important;
  }
  .cart-reference-secure i {
    font-size: 15px !important;
  }
  .cart-reference-payment-icons span {
    min-width: 50px !important;
    height: 29px !important;
  }
  .cart-promo-box {
    margin-top: 30px !important;
    padding: 16px !important;
  }
  .cart-promo-box span {
    font-size: 13px !important;
  }
  .cart-promo-box strong {
    font-size: 13px !important;
  }
}

@media (max-width: 767.98px) {
  .cart-reference-secure {
    font-size: 13px !important;
    white-space: normal !important;
  }
  .cart-reference-secure i {
    font-size: 14px !important;
    margin-right: 6px !important;
  }
  .cart-reference-payment-icons {
    gap: 8px !important;
    margin-top: 11px !important;
  }
  .cart-reference-payment-icons span {
    min-width: 46px !important;
    height: 27px !important;
    font-size: 9px !important;
  }
  .cart-promo-box {
    margin-top: 22px !important;
    padding: 15px !important;
  }
  .cart-promo-box span {
    font-size: 13px !important;
    margin-bottom: 6px !important;
  }
  .cart-promo-box strong {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
  .cart-promo-box i {
    font-size: 14px !important;
  }
}


/* STAGE 159 - Shopping Cart payment logos
   Replace text payment labels with real Font Awesome brand logos. */
.cart-reference-payment-icons {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin-top:11px;
}
.cart-reference-payment-icons .payment-logo {
  min-width:52px;
  width:52px;
  height:31px;
  padding:0 7px;
  border:1px solid #dce3eb;
  border-radius:5px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.cart-reference-payment-icons .payment-logo i {
  display:block;
  font-size:27px;
  line-height:1;
}
.cart-reference-payment-icons .payment-logo-visa i { font-size:29px; color:#1a1f71; }
.cart-reference-payment-icons .payment-logo-mastercard i { font-size:29px; color:#eb001b; }
.cart-reference-payment-icons .payment-logo-amex i { font-size:29px; color:#006fcf; }
.cart-reference-payment-icons .payment-logo-paypal i { font-size:29px; color:#003087; }
.cart-reference-payment-icons .visually-hidden {
  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;
}
@media (max-width:767.98px) {
  .cart-reference-payment-icons { gap:7px; margin-top:10px; }
  .cart-reference-payment-icons .payment-logo { min-width:47px; width:47px; height:29px; padding:0 5px; }
  .cart-reference-payment-icons .payment-logo i { font-size:24px; }
  .cart-reference-payment-icons .payment-logo-visa i,
  .cart-reference-payment-icons .payment-logo-mastercard i,
  .cart-reference-payment-icons .payment-logo-amex i,
  .cart-reference-payment-icons .payment-logo-paypal i { font-size:25px; }
}

/* STAGE 160 - OpenCart Shipping Estimator stability */
.hg-shipping-quote-btn.is-loading,
.hg-shipping-select-btn.is-loading { opacity:.65; pointer-events:none; }
.hg-shipping-method-option input:focus-visible { outline:2px solid var(--primary-orange); outline-offset:2px; }
.hg-shipping-status { min-height:18px; }

/* STAGE 161 - Keep coupon functionality on OpenCart core endpoint while matching theme UI */
.cart-coupon-status{min-height:0;margin-top:8px;font-size:11px;line-height:1.35;color:#687587}
.cart-coupon-status.is-error{color:#d14b4b}
.cart-coupon-status.is-success{color:#3e7d55}
.cart-coupon-row button.is-loading{opacity:.65;pointer-events:none}

/* STAGE 161 - OpenCart native shipping/coupon module presentation */
.cart-shipping-module .panel,
.cart-coupon-module .panel,
.cart-shipping-module .panel-group,
.cart-coupon-module .panel-group{margin:0;border:0;box-shadow:none;background:transparent}
.cart-shipping-module .panel-heading,
.cart-coupon-module .panel-heading{display:none}
.cart-shipping-module .panel-collapse,
.cart-shipping-module .panel-body,
.cart-coupon-module .panel-collapse,
.cart-coupon-module .panel-body{display:block!important;padding:0;border:0;background:transparent}
.hg-coupon-module{width:100%}
.hg-coupon-form label{display:block;margin:0 0 6px;font-size:11px;font-weight:700;color:#172033}
.hg-coupon-form .cart-coupon-row{display:flex;gap:0}
.hg-coupon-form .cart-coupon-row .cart-tool-input{flex:1;min-width:0;margin:0;border-radius:4px 0 0 4px}
.hg-coupon-button{width:88px;border:0;border-radius:0 4px 4px 0;background:#172033;color:#fff;font-size:12px;font-weight:800;padding:0 12px}
.hg-coupon-button:hover{background:#0e1523}
.hg-coupon-button.is-loading{opacity:.65;pointer-events:none}
.cart-shipping-module .hg-shipping-estimator{margin:0}
.cart-shipping-module .hg-shipping-fields{width:100%}


/* STAGE 162 - OpenCart native Order Totals presentation.
   Values and rows are rendered only from the controller-provided `totals` array.
   No subtotal, shipping, tax, discount, or grand-total value is hard-coded here. */
.cart-reference-summary [data-opencart-totals="1"] .cart-reference-total-row {
  width: 100%;
}

/* STAGE 165 - Cart/OpenCart alerts use the same bottom-right toast as Add to Cart/Wishlist. */
.cart-page .cart-alert-wrap{display:none!important;}
.toast-container{z-index:1090;}
#actionToast{min-width:280px;max-width:420px;}
#actionToast .toast-body{font-size:14px;line-height:1.35;padding:.8rem .9rem;}


/* STAGE 166 - Cart hero must sit directly under the header, matching Product Categories. */
main.cart-page.cart-reference-layout {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.cart-page .cart-alert-wrap {
  display: none !important;
}
.cart-hero {
  margin-top: 0 !important;
}

/* STAGE 166 - Cart notifications use the same bottom-right theme toast as Add to Cart/Wishlist. */
.cart-page .hg-shipping-status,
.cart-page .cart-coupon-status {
  display: none !important;
}
.toast-container.position-fixed.bottom-0.end-0 {
  z-index: 1095 !important;
}
#actionToast {
  position: relative;
  z-index: 1096;
}

/* Stage 167 - Cart item remove feedback */
.cart-reference-remove.is-loading{opacity:.55;pointer-events:none}.cart-reference-remove.is-loading i{animation:homegen-cart-spin .7s linear infinite}@keyframes homegen-cart-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

/* STAGE 170 - Consistent HomeGenerators empty cart presentation. */
.cart-reference-empty {
  min-height: 290px !important;
  padding: 56px 24px 52px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
.cart-reference-empty .cart-empty-icon {
  width: 70px !important;
  height: 70px !important;
  margin: 0 auto 18px !important;
  border-radius: 50% !important;
  background: #fff1e8 !important;
  color: var(--primary-orange) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 27px !important;
}
.cart-reference-empty h2 {
  margin: 0 0 7px !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  color: #172033 !important;
}
.cart-reference-empty p {
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: #7b8797 !important;
}
.cart-reference-empty .cart-empty-action {
  width: auto !important;
  min-width: 170px !important;
  max-width: none !important;
  height: 40px !important;
  margin: 22px auto 0 !important;
  padding: 0 20px !important;
  border-radius: 5px !important;
  font-size: 11px !important;
}
@media (max-width: 767.98px) {
  .cart-reference-empty { min-height: 260px !important; padding: 44px 18px !important; }
  .cart-reference-empty h2 { font-size: 20px !important; }
  .cart-reference-empty p { font-size: 12px !important; }
}

/* STAGE 175: Product brand + stock stack */
.product-brand-stock-stack{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  vertical-align:middle;
  line-height:1.35;
}
.product-brand-stock-stack .product-brand-line{
  display:block;
}
.product-stock-line{
  display:none;
  margin-top:2px;
  font-size:13px;
  line-height:1.35;
  color:#65758a;
  font-weight:500;
}
.product-stock-line-standalone{
  display:inline-block;
}

/* STAGE 176: Header cart dropdown position after AJAX refresh */
#cart > .dropdown-menu.dropdown-menu-end {
    left: auto !important;
    right: 0 !important;
}


/* Stage 188: checkout confirm address rendering */
.checkout-confirm-address {
  padding: 16px 18px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  background: #fff;
}
.checkout-confirm-address h4 {
  margin-bottom: 10px;
}
.checkout-confirm-address .small > div {
  line-height: 1.55;
}


/* Stage 189: native OpenCart confirm data rendering */
.checkout-confirm-table {
  margin-bottom: 1.5rem;
  border-radius: 12px;
  overflow: hidden;
}
.checkout-confirm-table th,
.checkout-confirm-table td {
  vertical-align: middle;
}
.checkout-confirm-table thead td {
  font-weight: 700;
}
.checkout-confirm-table tfoot td {
  font-weight: 500;
}

/* STAGE 230 - CATALOG / SPECIAL: match Product Category sidebar-to-grid spacing.
   Bootstrap .row.g-4 uses a 24px horizontal gutter. */
.catalog-layout-row {
    display: grid !important;
    grid-template-columns: minmax(220px, 24%) minmax(0, 1fr) !important;
    column-gap: 24px !important;
    row-gap: 24px !important;
    align-items: start !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.catalog-layout-row > .catalog-sidebar-column,
.catalog-layout-row > .catalog-products-column {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    min-width: 0 !important;
}
.catalog-layout-row > .catalog-sidebar-column {
    grid-column: 1 !important;
    grid-row: 1 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.catalog-layout-row > .catalog-products-column {
    grid-column: 2 !important;
    grid-row: 1 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
@media (max-width: 991.98px) {
    .catalog-layout-row {
        display: block !important;
    }
    .catalog-layout-row > .catalog-sidebar-column,
    .catalog-layout-row > .catalog-products-column {
        width: 100% !important;
        max-width: 100% !important;
    }
    .catalog-layout-row > .catalog-products-column {
        margin-top: 24px !important;
    }
}

/* ============================================================
   STAGE 227 - QUICK VIEW TYPOGRAPHY REFINEMENT
   ============================================================ */
#quickViewModal.quick-view-modal .quick-view-title {
    font-size: 20px;
    line-height: 1.25;
}
#quickViewModal.quick-view-modal .quick-view-price {
    font-size: 22px;
    line-height: 1.2;
}

/* ============================================================
   STAGE 224 - QUICK VIEW GALLERY REDESIGN
   ============================================================ */
#quickViewModal.quick-view-modal .modal-dialog {
    max-width: 1120px;
}
#quickViewModal.quick-view-modal .modal-content {
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .24);
}
#quickViewModal .quick-view-modal-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #ff6600;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
#quickViewModal .quick-view-modal-kicker i { font-size: 11px; }
#quickViewModal .quick-view-gallery {
    position: sticky;
    top: 0;
    padding: 14px;
    border: 1px solid #e5eaf0;
    border-radius: 18px;
    background: #f8fafc;
}
#quickViewModal .quick-view-main-image-wrap {
    height: 390px;
    min-height: 390px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #edf1f5;
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
}
#quickViewModal .quick-view-image {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: contain;
    padding: 18px;
}
#quickViewModal .quick-view-gallery-placeholder {
    font-size: 72px;
    color: #cbd5e1;
}
#quickViewModal .quick-view-thumbnails {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    justify-content: flex-start;
    overflow-x: auto;
    margin-top: 12px;
    padding: 2px 2px 5px;
    scrollbar-width: thin;
}
#quickViewModal .quick-view-thumb {
    flex: 0 0 68px;
    width: 68px;
    height: 68px;
    padding: 5px;
    border: 1px solid #dce3eb;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    transition: .2s ease;
}
#quickViewModal .quick-view-thumb:hover,
#quickViewModal .quick-view-thumb.active {
    border-color: var(--primary-orange);
    box-shadow: 0 0 0 2px rgba(255, 102, 0, .12);
}
#quickViewModal .quick-view-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
#quickViewModal .quick-view-details {
    align-self: start;
    padding-top: 6px;
}
#quickViewModal .quick-view-title {
    margin: 0 0 12px;
    color: #182231;
    font-size: 20px;
    line-height: 1.25;
    font-weight: 800;
}
#quickViewModal .quick-view-price {
    color: #e63b48;
    font-size: 26px;
    line-height: 1.15;
    font-weight: 800;
}
#quickViewModal .quick-view-description {
    margin: 0 0 22px;
    color: #667085;
    font-size: 14px;
    line-height: 1.7;
}
#quickViewModal .quick-view-purchase-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 8px;
}
#quickViewModal .quick-view-qty {
    display: inline-flex;
    height: 46px;
    border: 1px solid #d8e0e8;
    border-radius: 9px;
    overflow: hidden;
    background: #fff;
}
#quickViewModal .quick-view-qty button,
#quickViewModal .quick-view-qty input {
    width: 42px;
    border: 0;
    background: #fff;
    color: #26354b;
    text-align: center;
    font-weight: 700;
}
#quickViewModal .quick-view-qty button { cursor: pointer; font-size: 18px; }
#quickViewModal .quick-view-qty button:hover { background: #fff4ed; color: var(--primary-orange); }
#quickViewModal .quick-view-qty input { border-left: 1px solid #e4e9ef; border-right: 1px solid #e4e9ef; }
#quickViewModal .quick-view-add-btn {
    min-height: 46px;
    padding: 0 24px;
    border-radius: 9px;
    font-weight: 800;
}
@media (max-width: 991.98px) {
    #quickViewModal .quick-view-gallery { position: static; }
    #quickViewModal .quick-view-main-image-wrap { height: 330px; min-height: 330px; }
}
@media (max-width: 575.98px) {
    #quickViewModal .modal-dialog { margin: .5rem; }
    #quickViewModal .modal-body { padding-left: 16px !important; padding-right: 16px !important; }
    #quickViewModal .quick-view-main-image-wrap { height: 280px; min-height: 280px; }
    #quickViewModal .quick-view-title { font-size: 18px; line-height: 1.25; }
    #quickViewModal .quick-view-price { font-size: 20px; }
    #quickViewModal .quick-view-purchase-row { align-items: stretch; }
    #quickViewModal .quick-view-add-btn { flex: 1 1 auto; }
}


/* STAGE 228 - QUICK VIEW COMPACT TYPOGRAPHY */
#quickViewModal.quick-view-modal .quick-view-title {
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 800;
}
#quickViewModal.quick-view-modal .quick-view-price {
    font-size: 22px !important;
    line-height: 1.15 !important;
    font-weight: 800;
}
@media (max-width: 575.98px) {
    #quickViewModal.quick-view-modal .quick-view-title { font-size: 18px !important; }
    #quickViewModal.quick-view-modal .quick-view-price { font-size: 20px !important; }
}


/* Stage 231 - My Account Dashboard */
.account-header-subtitle{color:rgba(255,255,255,.62);font-size:.9rem;margin-top:8px}
.account-dashboard{background:#f8fafc}
.account-alert{border-radius:12px;border:0;box-shadow:0 4px 14px rgba(15,23,42,.05);margin-bottom:22px}
.account-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.9fr);gap:24px}
.account-card{background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:18px;box-shadow:0 6px 24px rgba(15,23,42,.06);padding:28px}
.account-overview-card{min-width:0}
.account-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.account-section-heading .section-kicker{display:block;margin-bottom:7px}
.account-section-heading h2{font-size:1.22rem;font-weight:800;color:#111827;margin:0}
.account-heading-icon{width:46px;height:46px;border-radius:13px;background:#fff7ed;color:var(--primary-orange);display:flex;align-items:center;justify-content:center;font-size:19px;flex:0 0 46px}
.account-dashboard-links{display:grid;gap:10px}
.account-dashboard-link{display:flex;align-items:center;gap:13px;padding:14px 15px;border:1px solid #e8edf3;border-radius:13px;background:#fff;color:#172033;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}
.account-dashboard-link:hover{border-color:rgba(255,102,0,.35);background:#fffaf5;box-shadow:0 7px 18px rgba(15,23,42,.07);transform:translateY(-1px);color:#172033}
.account-dashboard-link-icon{width:40px;height:40px;border-radius:11px;background:#fff3e8;color:var(--primary-orange);display:flex;align-items:center;justify-content:center;flex:0 0 40px;font-size:16px}
.account-dashboard-link-content{display:flex;flex-direction:column;gap:3px;min-width:0}
.account-dashboard-link-content strong{font-size:.91rem;font-weight:750;line-height:1.25}
.account-dashboard-link-content small{font-size:.74rem;color:#7b8494;line-height:1.35}
.account-dashboard-arrow{margin-left:auto;color:#a5adba;font-size:12px;transition:transform .18s ease,color .18s ease}
.account-dashboard-link:hover .account-dashboard-arrow{color:var(--primary-orange);transform:translateX(2px)}
.account-dashboard-bottom{display:grid;gap:20px;margin-top:24px}
.account-inline-card{display:flex;align-items:center;gap:18px;padding:22px 24px}
.account-inline-icon{width:48px;height:48px;border-radius:13px;background:#fff7ed;color:var(--primary-orange);display:flex;align-items:center;justify-content:center;flex:0 0 48px;font-size:19px}
.account-inline-content{min-width:0;flex:1}
.account-inline-content .section-kicker{display:block;margin-bottom:5px}
.account-inline-content h3{font-size:1rem;font-weight:800;color:#111827;margin:0 0 4px}
.account-inline-content p{font-size:.8rem;color:#7b8494;margin:0;line-height:1.5}
.account-outline-button{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;border:1px solid #dbe2ea;border-radius:10px;padding:10px 14px;color:#273449;background:#fff;text-decoration:none;font-size:.8rem;font-weight:700;transition:.18s ease}
.account-outline-button:hover{border-color:var(--primary-orange);color:var(--primary-orange);background:#fffaf5}
.account-logout-wrap{display:flex;justify-content:center;margin-top:24px}
.account-logout-button{display:inline-flex;align-items:center;gap:9px;padding:10px 17px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;text-decoration:none;font-size:.8rem;font-weight:700;transition:.18s ease}
.account-logout-button:hover{border-color:#fca5a5;color:#dc2626;background:#fff}
@media(max-width:991.98px){
  .account-dashboard-grid{grid-template-columns:1fr}
}
@media(max-width:767.98px){
  .account-dashboard{padding-top:28px!important;padding-bottom:32px!important}
  .account-card{padding:20px;border-radius:15px}
  .account-section-heading{margin-bottom:17px}
  .account-section-heading h2{font-size:1.08rem}
  .account-dashboard-link{padding:13px 12px}
  .account-dashboard-link-icon{width:37px;height:37px;flex-basis:37px}
  .account-dashboard-link-content small{font-size:.7rem}
  .account-inline-card{flex-wrap:wrap;padding:19px}
  .account-inline-content{flex-basis:calc(100% - 66px)}
  .account-outline-button{margin-left:66px}
  .account-header-subtitle{font-size:.82rem}
}


/* Stage 232 - My Account Login */
.account-auth-page{background:#f8fafc;padding:58px 0 72px}.account-auth-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.9fr);max-width:1080px;margin:0 auto;background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:22px;box-shadow:0 12px 38px rgba(15,23,42,.08);overflow:hidden}.account-auth-intro{background:#111827;padding:52px 48px;display:flex;flex-direction:column;justify-content:center}.account-auth-badge{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;background:#ff6b00;color:#fff;border-radius:999px;padding:7px 11px;font-size:.68rem;font-weight:800;letter-spacing:.04em;margin-bottom:20px}.account-auth-intro h2{color:#fff;font-size:2rem;line-height:1.15;font-weight:800;margin:0 0 13px}.account-auth-intro>p{color:#aab3c1;font-size:.88rem;line-height:1.7;margin:0}.account-auth-benefits{display:grid;gap:12px;margin-top:30px}.account-auth-benefits div{display:flex;align-items:center;gap:11px;color:#dce2eb;font-size:.8rem}.account-auth-benefits i{width:31px;height:31px;border-radius:9px;background:rgba(255,107,0,.13);color:#ff7a1a;display:flex;align-items:center;justify-content:center}.account-auth-form-card{padding:42px}.account-auth-heading{margin-bottom:25px}.account-auth-heading .section-kicker{display:block;margin-bottom:7px}.account-auth-heading h2{font-size:1.32rem;font-weight:800;color:#111827;margin:0 0 7px}.account-auth-heading p{color:#7b8494;font-size:.78rem;margin:0}.account-auth-alert{border-radius:10px;font-size:.78rem;margin-bottom:18px}.account-native-form{display:grid;gap:19px}.account-form-group{display:grid;gap:8px}.account-form-group label{font-size:.78rem;font-weight:750;color:#263246}.account-input-wrap{position:relative}.account-input-wrap>i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#a3adbb;font-size:14px;z-index:2}.account-input-wrap .form-control{height:46px;border:1px solid #dfe5ec;border-radius:10px;padding:0 42px 0 39px;font-size:.8rem;box-shadow:none}.account-input-wrap .form-control:focus{border-color:#ff7a1a;box-shadow:0 0 0 3px rgba(255,107,0,.1)}.account-password-toggle{position:absolute;right:9px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#9aa4b2;padding:7px;cursor:pointer}.account-password-toggle:hover{color:#ff6b00}.account-forgot-link{font-size:.72rem;color:#ff6b00;text-decoration:none;font-weight:700}.account-primary-button,.account-secondary-button{width:100%;height:46px;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-size:.8rem;font-weight:800}.account-primary-button{border:0;background:#ff6b00;color:#fff;box-shadow:0 7px 16px rgba(255,107,0,.2);cursor:pointer}.account-secondary-button{border:1px solid #dce3eb;color:#253247;background:#fff}.account-secondary-button:hover{border-color:#ff6b00;color:#ff6b00;background:#fffaf5}.account-auth-divider{display:flex;align-items:center;gap:12px;margin:24px 0 16px;color:#a1a9b5;font-size:.63rem;font-weight:800}.account-auth-divider:before,.account-auth-divider:after{content:"";height:1px;background:#e8ecf1;flex:1}@media(max-width:900px){.account-auth-shell{grid-template-columns:1fr;max-width:620px}.account-auth-intro{padding:34px 32px}.account-auth-form-card{padding:34px 32px}}@media(max-width:575.98px){.account-auth-page{padding:30px 0 42px}.account-auth-shell{border-radius:16px}.account-auth-intro{padding:28px 22px}.account-auth-form-card{padding:28px 20px}.account-auth-intro h2{font-size:1.45rem}}


/* Stage 233 - My Account Register */
.account-register-page{background:#f8fafc;padding:52px 0 72px}
.account-register-shell{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.6fr);max-width:1180px;margin:0 auto;background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:22px;box-shadow:0 12px 38px rgba(15,23,42,.08);overflow:hidden}
.account-register-intro{background:#111827;color:#fff;padding:46px 38px;display:flex;flex-direction:column}
.account-register-intro h2{font-size:1.8rem;line-height:1.18;font-weight:800;margin:0 0 12px}
.account-register-intro>p{color:#aab3c1;font-size:.84rem;line-height:1.7;margin:0}
.account-register-benefits{display:grid;gap:12px;margin-top:28px}
.account-register-benefits div{display:flex;align-items:center;gap:10px;color:#dce2eb;font-size:.77rem}
.account-register-benefits i{width:31px;height:31px;border-radius:9px;background:rgba(255,107,0,.13);color:#ff7a1a;display:flex;align-items:center;justify-content:center;font-size:12px}
.account-register-login{margin-top:auto;padding-top:30px;border-top:1px solid rgba(255,255,255,.09);display:grid;gap:8px}
.account-register-login span{font-size:.72rem;color:#9ca7b6}
.account-register-login a{display:inline-flex;align-items:center;gap:8px;color:#ff8734;text-decoration:none;font-size:.78rem;font-weight:800}
.account-register-login a:hover{color:#fff}
.account-register-form-card{padding:40px 42px}
.account-register-form-card .account-auth-heading{margin-bottom:27px}
.account-register-fieldset{border:0;padding:0;margin:0 0 27px}
.account-register-fieldset legend{font-size:1rem;font-weight:800;color:#111827;margin:0 0 17px;padding:0;width:100%;display:flex;align-items:center;gap:12px}
.account-register-fieldset legend:after{content:"";height:1px;background:#e8edf2;flex:1}
.account-register-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 16px}
.account-register-group{display:grid;gap:7px;min-width:0}
.account-register-label{font-size:.75rem;font-weight:750;color:#263246}
.account-register-input-wrap{position:relative}
.account-register-input-wrap>i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#a3adbb;font-size:13px;z-index:2}
.account-register-input-wrap .form-control,.account-register-group .form-select{height:45px;border:1px solid #dfe5ec;border-radius:10px;padding:0 13px 0 38px;font-size:.79rem;color:#1f2937;box-shadow:none;background-color:#fff}
.account-register-group .form-select{padding-left:13px}
.account-register-input-wrap .form-control:focus,.account-register-group .form-select:focus,.account-register-group textarea:focus{border-color:#ff7a1a;box-shadow:0 0 0 3px rgba(255,107,0,.1)}
.account-register-input-wrap .account-password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#9aa4b2;padding:7px;cursor:pointer}
.account-register-input-wrap .account-password-toggle:hover{color:#ff6b00}
.account-register-error{font-size:.68rem;color:#dc3545}
.account-register-group-selection{margin-bottom:17px}
.account-radio-row{display:flex;flex-wrap:wrap;gap:9px}
.account-radio-card{position:relative}
.account-radio-card input{position:absolute;opacity:0;pointer-events:none}
.account-radio-card span{display:block;border:1px solid #dfe5ec;border-radius:10px;padding:9px 13px;font-size:.74rem;font-weight:700;color:#4b5563;cursor:pointer;background:#fff}
.account-radio-card input:checked+span{border-color:#ff6b00;background:#fff7ef;color:#ff6b00}
.account-register-preferences{margin-bottom:22px}
.account-switch-row{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid #e5eaf0;border-radius:11px;background:#fafbfd;cursor:pointer}
.account-switch-row strong{display:block;font-size:.77rem;color:#263246}
.account-switch-row small{display:block;color:#8a94a3;font-size:.69rem;margin-top:3px}
.account-switch{position:relative;width:38px;height:21px;flex:0 0 38px}
.account-switch input{opacity:0;width:0;height:0}
.account-switch span{position:absolute;inset:0;background:#d5dbe3;border-radius:999px;transition:.18s}
.account-switch span:before{content:"";position:absolute;width:17px;height:17px;left:2px;top:2px;background:#fff;border-radius:50%;transition:.18s;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.account-switch input:checked+span{background:#ff6b00}
.account-switch input:checked+span:before{transform:translateX(17px)}
.account-register-captcha{margin:0 0 18px}
.account-agree-row{display:flex;align-items:flex-start;gap:9px;font-size:.72rem;color:#697586;line-height:1.5;margin:0 0 20px}
.account-agree-row .form-check-input{margin-top:2px;flex:0 0 auto}
.account-register-submit{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:4px}
.account-register-back{display:inline-flex;align-items:center;gap:8px;color:#667085;text-decoration:none;font-size:.76rem;font-weight:700}
.account-register-back:hover{color:#ff6b00}
.account-register-submit .account-primary-button{width:auto;min-width:180px;padding:0 20px}
@media(max-width:991.98px){
  .account-register-shell{grid-template-columns:1fr;max-width:760px}
  .account-register-intro{padding:34px}
  .account-register-login{margin-top:28px}
}
@media(max-width:767.98px){
  .account-register-page{padding:30px 0 45px}
  .account-register-form-card{padding:30px 22px}
  .account-register-grid{grid-template-columns:1fr}
  .account-register-submit{align-items:stretch;flex-direction:column-reverse}
  .account-register-submit .account-primary-button{width:100%}
  .account-register-back{justify-content:center}
}
@media(max-width:575.98px){
  .account-register-shell{border-radius:16px}
  .account-register-intro{padding:27px 21px}
  .account-register-form-card{padding:25px 18px}
}



/* Stage 234 - Register layout overflow fix */
.account-register-form-card{min-width:0;overflow:hidden}
.account-register-form{min-width:0;width:100%}
.account-register-fieldset{min-width:0;width:100%;max-width:100%;box-sizing:border-box}
.account-register-grid{min-width:0;width:100%;max-width:100%;box-sizing:border-box}
.account-register-grid > .account-register-group{min-width:0;max-width:100%;box-sizing:border-box}
.account-register-input-wrap{min-width:0;max-width:100%}
.account-register-input-wrap .form-control,
.account-register-group .form-select,
.account-register-group textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.account-register-fieldset legend{min-width:0;max-width:100%}



/* Stage 237 - My Account Edit */
.account-edit-page{background:#f8fafc;padding:52px 0 72px}
.account-edit-alert{max-width:1100px;margin:0 auto 20px;border-radius:11px;font-size:.78rem}
.account-edit-shell{display:grid;grid-template-columns:280px minmax(0,1fr);max-width:1100px;margin:0 auto;background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:20px;box-shadow:0 10px 32px rgba(15,23,42,.07);overflow:hidden}
.account-edit-sidebar{background:#111827;color:#fff;padding:32px 25px}
.account-edit-profile-icon{width:52px;height:52px;border-radius:15px;background:rgba(255,107,0,.13);color:#ff7a1a;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:20px}
.account-edit-sidebar .section-kicker{display:block;margin-bottom:7px}
.account-edit-sidebar h2{font-size:1.35rem;font-weight:800;margin:0 0 9px}
.account-edit-sidebar>p{font-size:.76rem;line-height:1.65;color:#aab3c1;margin:0}
.account-edit-nav{display:grid;gap:7px;margin-top:30px}
.account-edit-nav a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:9px;color:#c8d0db;text-decoration:none;font-size:.75rem;font-weight:700;transition:.18s}
.account-edit-nav a i{width:20px;text-align:center;color:#8e98a7}
.account-edit-nav a:hover{background:rgba(255,255,255,.05);color:#fff}
.account-edit-nav a.active{background:#ff6b00;color:#fff}
.account-edit-nav a.active i{color:#fff}
.account-edit-form-card{padding:40px 42px;min-width:0;overflow:hidden}
.account-edit-form{width:100%;min-width:0}
.account-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
.account-edit-group{display:grid;gap:7px;min-width:0}
.account-edit-label{font-size:.76rem;font-weight:750;color:#263246}
.account-edit-input-wrap{position:relative;min-width:0}
.account-edit-input-wrap>i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#a3adbb;font-size:13px;z-index:2}
.account-edit-input-wrap .form-control,.account-edit-group .form-select,.account-edit-group>textarea,.account-edit-group>.form-control{width:100%;max-width:100%;min-width:0;box-sizing:border-box;height:45px;border:1px solid #dfe5ec;border-radius:10px;font-size:.79rem;color:#1f2937;box-shadow:none}
.account-edit-input-wrap .form-control{padding-left:38px}
.account-edit-group>textarea{height:auto;padding:10px 12px}
.account-edit-input-wrap .form-control:focus,.account-edit-group .form-select:focus,.account-edit-group>.form-control:focus{border-color:#ff7a1a;box-shadow:0 0 0 3px rgba(255,107,0,.1)}
.account-edit-error{font-size:.68rem;color:#dc3545}
.account-edit-custom-fields{margin-top:28px}
.account-edit-section-title{display:flex;align-items:center;gap:12px;font-size:.98rem;font-weight:800;color:#111827;margin-bottom:17px}
.account-edit-section-title:after{content:"";height:1px;background:#e8edf2;flex:1}
.account-edit-submit{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:30px;padding-top:20px;border-top:1px solid #edf0f4}
.account-edit-back{display:inline-flex;align-items:center;gap:8px;color:#667085;text-decoration:none;font-size:.76rem;font-weight:700}
.account-edit-back:hover{color:#ff6b00}
.account-edit-submit .account-primary-button{width:auto;min-width:180px;padding:0 20px}
@media(max-width:800px){
  .account-edit-shell{grid-template-columns:1fr;max-width:700px}
  .account-edit-sidebar{padding:28px}
  .account-edit-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .account-edit-form-card{padding:32px 28px}
}
@media(max-width:575.98px){
  .account-edit-page{padding:30px 0 45px}
  .account-edit-sidebar{padding:24px 20px}
  .account-edit-nav{grid-template-columns:1fr}
  .account-edit-form-card{padding:26px 18px}
  .account-edit-grid{grid-template-columns:1fr}
  .account-edit-submit{flex-direction:column-reverse;align-items:stretch}
  .account-edit-submit .account-primary-button{width:100%}
  .account-edit-back{justify-content:center}
}



/* Stage 238 - My Account Password */
.account-password-page{background:#f8fafc;padding:52px 0 72px}
.account-password-tip{display:flex;gap:10px;align-items:flex-start;margin-top:28px;padding:13px 12px;border:1px solid rgba(255,122,26,.2);background:rgba(255,122,26,.06);border-radius:10px}
.account-password-tip>i{color:#ff7a1a;margin-top:2px}
.account-password-tip div{display:grid;gap:2px}
.account-password-tip strong{font-size:.68rem;color:#fff}
.account-password-tip span{font-size:.62rem;line-height:1.45;color:#aab3c1}
.account-password-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
.account-password-fields .account-edit-input-wrap .form-control{padding-right:43px}
.account-password-toggle{position:absolute;right:11px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#9aa6b6;padding:5px;line-height:1;z-index:3}
.account-password-toggle:hover{color:#ff6b00}
.account-password-guidance{display:grid;gap:8px;margin-top:22px;padding:15px 16px;border-radius:10px;background:#f8fafc;border:1px solid #e8edf3}
.account-password-guidance div{display:flex;align-items:center;gap:9px;font-size:.68rem;color:#7a8797}
.account-password-guidance i{color:#ff7a1a;font-size:11px}
@media(max-width:800px){
  .account-password-fields{grid-template-columns:1fr}
}
@media(max-width:575.98px){
  .account-password-page{padding:30px 0 45px}
  .account-password-guidance{padding:13px}
}



/* Stage 239 - My Account Address Book */
.account-address-page{background:#f8fafc;padding:52px 0 72px}
.account-address-shell{display:grid;grid-template-columns:280px minmax(0,1fr);max-width:1100px;margin:0 auto;background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:20px;box-shadow:0 10px 32px rgba(15,23,42,.07);overflow:hidden}
.account-address-content{padding:38px 40px;min-width:0}
.account-address-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:22px;border-bottom:1px solid #edf0f4}
.account-address-heading h2{font-size:1.35rem;font-weight:800;color:#111827;margin:3px 0 5px}
.account-address-heading p{font-size:.72rem;color:#8b96a6;margin:0}
.account-address-add{display:inline-flex;align-items:center;gap:8px;background:#ff6b00;color:#fff!important;text-decoration:none;padding:11px 15px;border-radius:9px;font-size:.72rem;font-weight:800;white-space:nowrap;box-shadow:0 6px 15px rgba(255,107,0,.16)}
.account-address-add:hover{background:#f15f00}
.account-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.account-address-card{border:1px solid #e5eaf0;border-radius:13px;padding:18px;min-width:0;background:#fff;transition:.18s}
.account-address-card:hover{border-color:#ffd0b2;box-shadow:0 7px 20px rgba(15,23,42,.05)}
.account-address-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.account-address-icon{width:36px;height:36px;border-radius:9px;background:#fff1e8;color:#ff6b00;display:flex;align-items:center;justify-content:center}
.account-address-default{display:inline-flex;align-items:center;gap:5px;background:#ecfdf3;color:#16824a;border-radius:999px;padding:5px 8px;font-size:.59rem;font-weight:800}
.account-address-body{padding:17px 0;min-height:75px}
.account-address-name{font-size:.76rem;line-height:1.65;color:#354052}
.account-address-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid #edf0f4}
.account-address-actions a{text-decoration:none;font-size:.66rem;font-weight:750;display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:7px}
.account-address-edit{background:#eef5fb;color:#36556f}
.account-address-delete{background:#fff0f0;color:#c23b3b}
.account-address-form-card{max-width:1100px;margin:0 auto;background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:20px;box-shadow:0 10px 32px rgba(15,23,42,.07);padding:40px 42px;min-width:0;overflow:hidden}
.account-address-form-section{margin-top:25px}
.account-address-default-check{display:flex;align-items:center;gap:9px;margin-top:20px;font-size:.72rem;font-weight:700;color:#3d4858}
.account-address-default-check input{width:16px;height:16px;accent-color:#ff6b00}
.account-address-empty{text-align:center;padding:55px 20px 30px}
.account-address-empty-icon{width:64px;height:64px;border-radius:18px;background:#fff1e8;color:#ff6b00;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:24px}
.account-address-empty h3{font-size:1rem;font-weight:800;color:#172033;margin-bottom:7px}
.account-address-empty p{font-size:.72rem;color:#8b96a6;margin-bottom:20px}
.account-address-empty .account-primary-button{display:inline-flex}
@media(max-width:800px){
 .account-address-shell{grid-template-columns:1fr;max-width:700px}
 .account-address-content{padding:30px 28px}
 .account-address-grid{grid-template-columns:1fr}
 .account-address-form-card{padding:32px 28px}
}
@media(max-width:575.98px){
 .account-address-page{padding:30px 0 45px}
 .account-address-content{padding:25px 18px}
 .account-address-heading{flex-direction:column}
 .account-address-add{width:100%;justify-content:center}
 .account-address-form-card{padding:26px 18px}
}



/* Stage 242 - My Account Order History */
.account-orders-page{background:#f8fafc;padding:52px 0 72px}
.account-orders-shell{display:grid;grid-template-columns:280px minmax(0,1fr);max-width:1100px;margin:0 auto;background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:20px;box-shadow:0 10px 32px rgba(15,23,42,.07);overflow:hidden}
.account-orders-content{padding:38px 40px;min-width:0}
.account-orders-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:22px;border-bottom:1px solid #edf0f4}
.account-orders-heading h2{font-size:1.35rem;font-weight:800;color:#111827;margin:3px 0 5px}
.account-orders-heading p{font-size:.72rem;color:#8b96a6;margin:0}
.account-orders-count{display:inline-flex;align-items:center;gap:8px;background:#fff1e8;color:#ff6b00;border-radius:999px;padding:8px 11px;font-size:.66rem;font-weight:800;white-space:nowrap}
.account-orders-table-wrap{overflow-x:auto;margin-top:22px}
.account-orders-table{width:100%;min-width:700px;border-collapse:separate;border-spacing:0}
.account-orders-table th{padding:12px 10px;background:#f8fafc;color:#7b8797;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;border-top:1px solid #e9edf2;border-bottom:1px solid #e9edf2}
.account-orders-table th:first-child{border-left:1px solid #e9edf2;border-radius:9px 0 0 9px}
.account-orders-table th:last-child{border-right:1px solid #e9edf2;border-radius:0 9px 9px 0}
.account-orders-table td{padding:15px 10px;color:#566273;font-size:.69rem;border-bottom:1px solid #edf0f4;vertical-align:middle}
.account-orders-table tbody tr:hover td{background:#fcfcfd}
.order-id{display:inline-flex;padding:5px 8px;border-radius:7px;background:#fff1e8;color:#ff6b00;font-weight:800;font-size:.65rem}
.order-products{color:#263246;font-weight:700}
.order-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef5fb;color:#49667f;font-size:.61rem;font-weight:800}
.order-view-btn{display:inline-flex;align-items:center;gap:6px;text-decoration:none;background:#edf4f9;color:#34536c;padding:8px 10px;border-radius:8px;font-size:.64rem;font-weight:800}
.order-view-btn:hover{background:#ff6b00;color:#fff}
.account-orders-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px}
.account-orders-pagination{font-size:.68rem}
.account-orders-pagination .pagination{margin:0;gap:5px;display:flex;flex-wrap:wrap}
.account-orders-pagination .pagination>li>a,.account-orders-pagination .pagination>li>span{border:1px solid #e0e6ed;border-radius:50%!important;width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;color:#566273;font-size:.65rem;text-decoration:none;background:#fff}
.account-orders-pagination .pagination>li.active>span,.account-orders-pagination .pagination>li.active>a,.account-orders-pagination .pagination>li>a:hover{background:#ff6b00;border-color:#ff6b00;color:#fff}
.account-orders-result{font-size:.65rem;color:#8b96a6}
.account-orders-empty{text-align:center;padding:60px 20px 30px}
.account-orders-empty-icon{width:66px;height:66px;border-radius:18px;background:#fff1e8;color:#ff6b00;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:24px}
.account-orders-empty h3{font-size:1rem;font-weight:800;color:#172033;margin-bottom:7px}
.account-orders-empty p{font-size:.72rem;color:#8b96a6;margin-bottom:20px}
.account-orders-empty .account-primary-button{display:inline-flex}
@media(max-width:800px){
 .account-orders-shell{grid-template-columns:1fr;max-width:700px}
 .account-orders-content{padding:30px 28px}
}
@media(max-width:575.98px){
 .account-orders-page{padding:30px 0 45px}
 .account-orders-content{padding:25px 18px}
 .account-orders-heading{flex-direction:column}
 .account-orders-footer{align-items:flex-start;flex-direction:column}
}



/* Stage 243 - My Account global container and typography consistency */
:root{
  --hg-account-container: 1500px;
  --hg-account-text: #172033;
  --hg-account-muted: #748196;
}

/* Keep all Account pages aligned with the main site container */
.account-page-header .custom-container,
.account-orders-page .custom-container,
.account-page .custom-container,
.account-content .custom-container{
  width:100%;
  max-width:var(--hg-account-container);
  margin-left:auto;
  margin-right:auto;
}

/* Account hero typography */
.account-page-header .section-kicker{
  font-size:12px;
  line-height:1.2;
  letter-spacing:.12em;
  font-weight:800;
}
.account-page-header h1{
  font-size:clamp(32px,3vw,48px);
  line-height:1.08;
  letter-spacing:-.02em;
}
.account-header-subtitle{
  font-size:15px;
  line-height:1.55;
}

/* Shared Account content shell */
.account-orders-shell,
.account-edit-shell,
.account-account-shell,
.account-address-shell,
.account-content-shell{
  width:100%;
  max-width:none;
  margin-left:auto;
  margin-right:auto;
}

/* Consistent Account sidebar/content proportions */
.account-orders-shell,
.account-edit-shell,
.account-account-shell,
.account-address-shell{
  grid-template-columns:minmax(260px,300px) minmax(0,1fr);
}

/* Consistent base typography inside Account cards */
.account-orders-shell,
.account-edit-shell,
.account-account-shell,
.account-address-shell,
.account-content-shell{
  color:var(--hg-account-text);
}
.account-orders-shell p,
.account-edit-shell p,
.account-account-shell p,
.account-address-shell p,
.account-content-shell p{
  line-height:1.55;
}

/* Standard headings */
.account-orders-content h2,
.account-edit-content h2,
.account-address-content h2,
.account-content-shell h2{
  font-size:24px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.01em;
}
.account-orders-heading p,
.account-edit-content > p,
.account-address-content > p{
  font-size:14px;
}

/* Keep form labels/buttons readable and consistent */
.account-edit-content label,
.account-address-content label,
.account-content-shell label{
  font-size:13px;
  font-weight:700;
}
.account-edit-content input,
.account-edit-content select,
.account-edit-content textarea,
.account-address-content input,
.account-address-content select,
.account-address-content textarea,
.account-content-shell input,
.account-content-shell select,
.account-content-shell textarea{
  font-size:14px;
}
.account-edit-content .btn,
.account-address-content .btn,
.account-content-shell .btn{
  font-size:13px;
  font-weight:700;
}

/* Order table standard */
.account-orders-table th{
  font-size:11px;
}
.account-orders-table td{
  font-size:13px;
}

/* Wider desktop layout, matching the main store content */
@media (min-width:1200px){
  .account-page-header .custom-container,
  .account-orders-page .custom-container,
  .account-page .custom-container,
  .account-content .custom-container{
    padding-left:32px;
    padding-right:32px;
  }
}

/* Tablet/mobile: preserve comfortable page gutters */
@media (max-width:1199.98px){
  .account-page-header .custom-container,
  .account-orders-page .custom-container,
  .account-page .custom-container,
  .account-content .custom-container{
    padding-left:24px;
    padding-right:24px;
  }
}
@media (max-width:767.98px){
  .account-page-header .custom-container,
  .account-orders-page .custom-container,
  .account-page .custom-container,
  .account-content .custom-container{
    padding-left:16px;
    padding-right:16px;
  }
  .account-page-header h1{
    font-size:30px;
  }
  .account-header-subtitle{
    font-size:13px;
  }
}



/* Stage 244 - Authentication pages scale aligned with Account */
.account-login-page .custom-container,
.account-register-page .custom-container{
  width:100%;
  max-width:1500px;
  margin-left:auto;
  margin-right:auto;
}
.account-login-shell,
.account-register-shell{
  width:100%;
  max-width:none;
  margin-left:auto;
  margin-right:auto;
}
.account-login-shell .account-auth-title,
.account-register-shell .account-auth-title{
  font-size:28px;
  line-height:1.2;
  font-weight:800;
}
.account-login-shell .account-auth-subtitle,
.account-register-shell .account-auth-subtitle{
  font-size:14px;
  line-height:1.55;
}
.account-login-shell label,
.account-register-shell label{
  font-size:13px;
  font-weight:700;
}
.account-login-shell input,
.account-register-shell input,
.account-register-shell select{
  font-size:14px;
}
.account-login-shell .btn,
.account-register-shell .btn{
  font-size:13px;
  font-weight:700;
}
@media(min-width:1200px){
  .account-login-page .custom-container,
  .account-register-page .custom-container{
    padding-left:32px;
    padding-right:32px;
  }
}
@media(max-width:1199.98px){
  .account-login-page .custom-container,
  .account-register-page .custom-container{
    padding-left:24px;
    padding-right:24px;
  }
}
@media(max-width:767.98px){
  .account-login-page .custom-container,
  .account-register-page .custom-container{
    padding-left:16px;
    padding-right:16px;
  }
  .account-login-shell .account-auth-title,
  .account-register-shell .account-auth-title{
    font-size:24px;
  }
}



/* Stage 245 - Login/Register layout aligned with internal Account pages */

/* Authentication shells use the same outer width as Account content.
   Only the left navigation/information column differs in content. */
@media (min-width: 992px){
  .account-auth-shell{
    grid-template-columns:310px minmax(0,1fr);
    max-width:none;
    min-height:520px;
  }
  .account-auth-intro{
    padding:42px 30px;
  }
  .account-auth-intro h2{
    font-size:28px;
    line-height:1.18;
  }
  .account-auth-form-card{
    padding:40px 42px;
  }

  .account-register-shell{
    grid-template-columns:310px minmax(0,1fr);
    max-width:none;
    min-height:560px;
  }
  .account-register-intro{
    padding:42px 30px;
  }
  .account-register-intro h2{
    font-size:28px;
    line-height:1.18;
  }
  .account-register-form-card{
    padding:40px 42px;
  }
}

/* Keep the authentication typography on the same scale as Account pages */
.account-auth-intro>p,
.account-register-intro>p{
  font-size:14px;
  line-height:1.6;
}
.account-auth-benefits div,
.account-register-benefits div{
  font-size:13px;
}
.account-auth-heading h2,
.account-register-form-card .account-auth-heading h2{
  font-size:24px;
  line-height:1.2;
}
.account-auth-heading p,
.account-register-form-card .account-auth-heading p{
  font-size:13px;
  line-height:1.55;
}
.account-form-group label,
.account-register-label{
  font-size:13px;
}
.account-input-wrap .form-control,
.account-register-input-wrap .form-control,
.account-register-group .form-select,
.account-register-group textarea{
  font-size:14px;
}
.account-primary-button,
.account-secondary-button{
  font-size:13px;
}

/* Same outer vertical rhythm as the other Account pages */
.account-auth-page,
.account-register-page{
  padding-top:52px;
  padding-bottom:72px;
}

@media(max-width:991.98px){
  .account-auth-shell,
  .account-register-shell{
    grid-template-columns:1fr;
    max-width:none;
  }
  .account-auth-intro,
  .account-register-intro{
    padding:32px 30px;
  }
  .account-auth-form-card,
  .account-register-form-card{
    padding:32px 30px;
  }
}

@media(max-width:575.98px){
  .account-auth-page,
  .account-register-page{
    padding-top:30px;
    padding-bottom:45px;
  }
  .account-auth-intro,
  .account-register-intro{
    padding:28px 20px;
  }
  .account-auth-form-card,
  .account-register-form-card{
    padding:28px 18px;
  }
  .account-auth-intro h2,
  .account-register-intro h2{
    font-size:24px;
  }
  .account-auth-heading h2,
  .account-register-form-card .account-auth-heading h2{
    font-size:21px;
  }
}



/* Stage 246 - Restore compact authentication proportions and align shells */
@media (min-width:992px){
  /* Login: return to the compact two-column composition used before Stage 245 */
  .account-auth-page .custom-container{
    max-width:1200px;
    margin-left:auto;
    margin-right:auto;
  }
  .account-auth-shell{
    grid-template-columns:minmax(0,1fr) minmax(430px,.9fr);
    max-width:1080px;
    min-height:0;
    margin-left:auto;
    margin-right:auto;
  }
  .account-auth-intro{
    padding:52px 48px;
  }
  .account-auth-intro h2{
    font-size:2rem;
    line-height:1.15;
  }
  .account-auth-form-card{
    padding:42px;
  }

  /* Register: balanced width, with the complete shell aligned as one box */
  .account-register-page .custom-container{
    max-width:1260px;
    margin-left:auto;
    margin-right:auto;
  }
  .account-register-shell{
    grid-template-columns:minmax(280px,.72fr) minmax(0,1.6fr);
    max-width:1180px;
    min-height:0;
    margin-left:auto;
    margin-right:auto;
  }
  .account-register-intro{
    padding:46px 38px;
  }
  .account-register-intro h2{
    font-size:1.8rem;
    line-height:1.18;
  }
  .account-register-form-card{
    padding:40px 42px;
  }
}

/* Keep both authentication boxes visually centered and internally aligned */
.account-auth-shell,
.account-register-shell{
  box-sizing:border-box;
}
.account-auth-intro,
.account-auth-form-card,
.account-register-intro,
.account-register-form-card{
  box-sizing:border-box;
}

@media(max-width:991.98px){
  .account-auth-page .custom-container,
  .account-register-page .custom-container{
    max-width:100%;
  }
  .account-auth-shell,
  .account-register-shell{
    width:100%;
    max-width:100%;
  }
}

@media(max-width:575.98px){
  .account-auth-page,
  .account-register-page{
    padding-top:30px;
    padding-bottom:45px;
  }
}



/* Stage 247 - Account Login/Register hero aligned with site header/footer container */
.account-page-header .custom-container{
  width:100%;
  max-width:var(--hg-account-container);
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}

@media (min-width:1200px){
  .account-page-header .custom-container{
    padding-left:32px;
    padding-right:32px;
  }
}

@media (max-width:1199.98px){
  .account-page-header .custom-container{
    padding-left:24px;
    padding-right:24px;
  }
}

@media (max-width:767.98px){
  .account-page-header .custom-container{
    padding-left:16px;
    padding-right:16px;
  }
}

/* Keep the hero title/breadcrumb inside the same visual bounds as the main site content */
.account-page-header > .custom-container > .d-flex{
  width:100%;
  box-sizing:border-box;
}



/* Stage 248 - Account containers exactly match Product Catalog container */
:root{
  --hg-site-container:1420px;
}

/* Product Catalog uses the global .custom-container:
   Account hero and Account content must use the same left/right bounds. */
.account-page-header .custom-container,
.account-page .custom-container,
.account-content .custom-container,
.account-orders-page .custom-container{
  width:100%;
  max-width:var(--hg-site-container);
  padding-left:15px;
  padding-right:15px;
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}

/* Authentication page hero: exactly the same horizontal container as catalog hero */
.account-auth-page .account-page-header .custom-container,
.account-register-page .account-page-header .custom-container,
.account-login-page .account-page-header .custom-container{
  max-width:var(--hg-site-container);
  padding-left:15px;
  padding-right:15px;
}

/* Account content shells follow the same page boundary */
.account-auth-page > main > .custom-container,
.account-register-page > main > .custom-container,
.account-login-page > main > .custom-container{
  max-width:var(--hg-site-container);
  padding-left:15px;
  padding-right:15px;
}

/* Restore the same responsive gutter behavior as the global custom-container */
@media(max-width:767.98px){
  .account-page-header .custom-container,
  .account-page .custom-container,
  .account-content .custom-container,
  .account-orders-page .custom-container,
  .account-auth-page > main > .custom-container,
  .account-register-page > main > .custom-container,
  .account-login-page > main > .custom-container{
    padding-left:15px;
    padding-right:15px;
  }
}



/* Stage 249 - My Account Order Detail */
.account-order-detail-page{
  background:#f8fafc;
  padding:52px 0 72px;
}
.account-order-detail-shell{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  max-width:1180px;
  margin:0 auto;
  background:#fff;
  border:1px solid rgba(15,23,42,.07);
  border-radius:20px;
  box-shadow:0 10px 32px rgba(15,23,42,.07);
  overflow:hidden;
}
.account-order-detail-content{
  min-width:0;
  padding:38px 40px;
}
.account-order-detail-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  padding-bottom:22px;
  border-bottom:1px solid #edf0f4;
}
.account-order-detail-heading h2{
  margin:3px 0 5px;
  color:#111827;
  font-size:1.35rem;
  font-weight:800;
}
.account-order-detail-heading p{
  margin:0;
  color:#8b96a6;
  font-size:.72rem;
}
.order-detail-reorder{
  white-space:nowrap;
  text-decoration:none;
}
.account-order-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:22px 0;
}
.account-order-summary-card{
  position:relative;
  padding:20px;
  border:1px solid #e9edf2;
  border-radius:14px;
  background:#fff;
}
.account-order-summary-icon{
  width:40px;height:40px;
  border-radius:11px;
  display:flex;align-items:center;justify-content:center;
  background:#fff1e8;color:#ff6b00;
  margin-bottom:14px;
}
.account-order-summary-card h3{
  margin:3px 0 8px;
  font-size:.88rem;
  font-weight:800;
  color:#111827;
}
.account-order-address{
  color:#657184;
  font-size:.72rem;
  line-height:1.65;
}
.account-order-method{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #edf0f4;
  font-size:.68rem;
  color:#8b96a6;
}
.account-order-method strong{
  color:#263246;
  font-size:.72rem;
}
.account-order-items-card,
.account-order-history-card{
  border:1px solid #e9edf2;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  margin-bottom:20px;
}
.account-order-section-heading{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  padding:20px 22px;
  border-bottom:1px solid #edf0f4;
}
.account-order-section-heading h2{
  margin:3px 0 0;
  color:#111827;
  font-size:1rem;
  font-weight:800;
}
.account-order-number{
  display:inline-flex;
  padding:6px 9px;
  border-radius:8px;
  background:#fff1e8;
  color:#ff6b00;
  font-size:.65rem;
  font-weight:800;
}
.account-order-items-card .order-info-table tbody td,
.account-order-history-card .table tbody td{
  padding:14px 16px;
  font-size:.72rem;
}
.account-order-items-card .order-info-table thead th,
.account-order-history-card .table thead th{
  padding:11px 16px;
  font-size:.62rem;
}
.account-order-note{
  margin-bottom:20px;
}
.account-order-note h3{
  margin:4px 0 7px;
  font-size:.88rem;
  font-weight:800;
}
.account-order-note p{
  margin:0;
  color:#657184;
  font-size:.72rem;
  line-height:1.65;
}
.account-order-detail-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:22px;
}
.account-order-detail-actions a{
  text-decoration:none;
}
@media(max-width:991.98px){
  .account-order-detail-shell{
    grid-template-columns:1fr;
    max-width:100%;
  }
  .account-order-detail-sidebar{
    display:block;
  }
  .account-order-summary-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:767.98px){
  .account-order-detail-page{
    padding:34px 0 48px;
  }
  .account-order-detail-content{
    padding:26px 20px;
  }
  .account-order-detail-heading{
    flex-direction:column;
    align-items:stretch;
  }
  .order-detail-reorder{
    width:100%;
    justify-content:center;
  }
  .account-order-section-heading{
    padding:17px 16px;
  }
  .account-order-items-card .order-info-table tbody td,
  .account-order-history-card .table tbody td{
    padding:12px;
  }
  .account-order-detail-actions{
    flex-direction:column-reverse;
    align-items:stretch;
  }
  .account-order-detail-actions a{
    justify-content:center;
  }
}



/* Stage 250 - My Account Downloads */
.account-download-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.account-download-card{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:18px 20px;
  border:1px solid #e4eaf1;
  border-radius:14px;
  background:#fff;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.account-download-card:hover{
  transform:translateY(-1px);
  border-color:#d7e0ea;
  box-shadow:0 8px 24px rgba(18,31,53,.07);
}
.account-download-icon{
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:#fff1e8;
  color:#ff6500;
  font-size:20px;
}
.account-download-title{
  font-weight:700;
  color:#142033;
  font-size:15px;
  margin-bottom:8px;
}
.account-download-meta{
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  color:#8491a3;
  font-size:12px;
}
.account-download-meta span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.account-download-meta i{
  color:#ff6500;
}
.account-download-action .account-primary-button{
  white-space:nowrap;
  min-width:118px;
  justify-content:center;
}
.account-download-empty{
  padding:58px 28px;
}
@media(max-width:767.98px){
  .account-download-card{
    grid-template-columns:48px minmax(0,1fr);
    gap:14px;
  }
  .account-download-icon{
    width:48px;
    height:48px;
  }
  .account-download-action{
    grid-column:1 / -1;
    padding-top:2px;
  }
  .account-download-action .account-primary-button{
    width:100%;
  }
}



/* Stage 251 - My Account Reward Points */
.account-reward-content{min-width:0}
.account-reward-balance{display:flex;align-items:center;gap:11px;background:#fff7f1;border:1px solid #ffe1cc;border-radius:12px;padding:9px 13px;min-width:145px}
.account-reward-balance-icon{width:34px;height:34px;border-radius:9px;background:#ff6b00;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;flex:0 0 auto}
.account-reward-balance-label{display:block;color:#8b96a6;font-size:.59rem;font-weight:800;line-height:1.2;margin-bottom:3px}
.account-reward-balance strong{display:block;color:#172033;font-size:.88rem;font-weight:900;line-height:1.15}
.account-reward-table-wrap{margin-top:22px}
.account-reward-table{min-width:640px}
.account-reward-table th:last-child,.account-reward-table td:last-child{text-align:right}
.account-reward-date{display:inline-flex;align-items:center;gap:7px;color:#687587;white-space:nowrap}
.account-reward-date i{color:#a0a9b6}
.account-reward-description{display:flex;align-items:center;gap:10px;color:#4e5b6d;line-height:1.45}
.account-reward-row-icon{width:30px;height:30px;border-radius:8px;background:#f5f7fa;color:#8a95a5;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:.68rem}
.account-reward-points{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:6px 9px;border-radius:8px;background:#fff1e8;color:#ff6b00;font-size:.7rem;font-weight:900}
.account-reward-empty{padding-top:55px}
@media(max-width:800px){
 .account-reward-balance{min-width:0}
}
@media(max-width:575.98px){
 .account-reward-balance{width:100%}
 .account-reward-table{min-width:590px}
 .account-reward-description{max-width:330px}
}


/* Stage 252 - My Account Transaction History */
.account-transaction-content{min-width:0}
.account-transaction-balance{display:flex;align-items:center;gap:11px;background:#f5f7fa;border:1px solid #e5e9ef;border-radius:12px;padding:9px 13px;min-width:145px}
.account-transaction-balance-icon{width:34px;height:34px;border-radius:9px;background:#172033;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;flex:0 0 auto}
.account-transaction-balance-label{display:block;color:#8b96a6;font-size:.59rem;font-weight:800;line-height:1.2;margin-bottom:3px}
.account-transaction-balance strong{display:block;color:#172033;font-size:.88rem;font-weight:900;line-height:1.15}
.account-transaction-table-wrap{margin-top:22px}
.account-transaction-table{min-width:640px}
.account-transaction-table th:last-child,.account-transaction-table td:last-child{text-align:right}
.account-transaction-date{display:inline-flex;align-items:center;gap:7px;color:#687587;white-space:nowrap}
.account-transaction-date i{color:#a0a9b6}
.account-transaction-description{display:flex;align-items:center;gap:10px;color:#4e5b6d;line-height:1.45}
.account-transaction-row-icon{width:30px;height:30px;border-radius:8px;background:#f5f7fa;color:#8a95a5;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:.68rem}
.account-transaction-amount{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:6px 9px;border-radius:8px;background:#f5f7fa;color:#172033;font-size:.7rem;font-weight:900}
.account-transaction-empty{padding-top:55px}
@media(max-width:800px){
 .account-transaction-balance{min-width:0}
}
@media(max-width:575.98px){
 .account-transaction-balance{width:100%}
 .account-transaction-table{min-width:590px}
 .account-transaction-description{max-width:330px}
}


/* Stage 253 - My Account Recurring Payments */
.account-recurring-content{min-width:0}
.account-recurring-list{display:flex;flex-direction:column;gap:14px;margin-top:22px}
.account-recurring-card{border:1px solid #e7ebf0;border-radius:13px;background:#fff;overflow:hidden}
.account-recurring-card-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-bottom:1px solid #edf0f4}
.account-recurring-product{display:flex;align-items:center;gap:11px;min-width:0}
.account-recurring-icon{width:38px;height:38px;border-radius:10px;background:#f5f7fa;color:#172033;display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:14px}
.account-recurring-label{display:block;color:#8b96a6;font-size:.59rem;font-weight:800;line-height:1.25;margin-bottom:4px;text-transform:uppercase;letter-spacing:.03em}
.account-recurring-product h3{margin:0;color:#172033;font-size:.88rem;font-weight:800;line-height:1.35}
.account-recurring-status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:8px;background:#f5f7fa;color:#536173;font-size:.66rem;font-weight:800;white-space:nowrap}
.account-recurring-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:16px 18px}
.account-recurring-grid>div{min-width:0}
.account-recurring-grid strong{display:block;color:#4d5969;font-size:.72rem;font-weight:700;line-height:1.45;word-break:break-word}
.account-recurring-grid strong i{color:#9aa4b2;margin-right:5px}
.account-recurring-card-footer{display:flex;justify-content:flex-end;padding:0 18px 15px}
.account-secondary-button{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #dfe4ea;border-radius:8px;background:#fff;color:#4d5969;text-decoration:none;font-size:.68rem;font-weight:800}
.account-secondary-button:hover{color:#ff6b00;border-color:#ff6b00}
.account-recurring-empty{padding-top:55px}
@media(max-width:991.98px){
 .account-recurring-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:575.98px){
 .account-recurring-card-head{align-items:flex-start;flex-direction:column}
 .account-recurring-status{align-self:flex-start}
 .account-recurring-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
 .account-recurring-card-footer{justify-content:stretch}
 .account-secondary-button{width:100%;justify-content:center}
}


/* Stage 254 - Recurring Payments native OpenCart 3.0.x.x template fix */
.account-recurring-content{min-width:0}
.account-recurring-list{display:flex;flex-direction:column;gap:14px;margin-top:22px}
.account-recurring-card{border:1px solid #e7ebf0;border-radius:13px;background:#fff;overflow:hidden}
.account-recurring-card-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-bottom:1px solid #edf0f4}
.account-recurring-product{display:flex;align-items:center;gap:11px;min-width:0}
.account-recurring-icon{width:38px;height:38px;border-radius:10px;background:#f5f7fa;color:#172033;display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:14px}
.account-recurring-label{display:block;color:#8b96a6;font-size:.59rem;font-weight:800;line-height:1.25;margin-bottom:4px;text-transform:uppercase;letter-spacing:.03em}
.account-recurring-product h3{margin:0;color:#172033;font-size:.88rem;font-weight:800;line-height:1.35}
.account-recurring-status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:8px;background:#f5f7fa;color:#536173;font-size:.66rem;font-weight:800;white-space:nowrap}
.account-recurring-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:16px 18px}
.account-recurring-grid>div{min-width:0}
.account-recurring-grid strong{display:block;color:#4d5969;font-size:.72rem;font-weight:700;line-height:1.45;word-break:break-word}
.account-recurring-grid strong i{color:#9aa4b2;margin-right:5px}
.account-recurring-card-footer{display:flex;justify-content:flex-end;padding:0 18px 15px}
.account-secondary-button{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #dfe4ea;border-radius:8px;background:#fff;color:#4d5969;text-decoration:none;font-size:.68rem;font-weight:800}
.account-secondary-button:hover{color:#ff6b00;border-color:#ff6b00}
.account-recurring-empty{padding-top:55px}
@media(max-width:700px){
 .account-recurring-card-head{align-items:flex-start;flex-direction:column}
 .account-recurring-status{align-self:flex-start}
 .account-recurring-grid{grid-template-columns:1fr 1fr}
 .account-recurring-card-footer{justify-content:stretch}
 .account-secondary-button{width:100%;justify-content:center}
}
@media(max-width:430px){
 .account-recurring-grid{grid-template-columns:1fr}
}


/* Stage 255 - My Account Returns */
.account-return-content{min-width:0}
.account-return-add-button{flex:0 0 auto;text-decoration:none}
.account-return-add-button i{font-size:.68rem}
.account-return-list{display:flex;flex-direction:column;gap:14px;margin-top:22px}
.account-return-card{border:1px solid #e7ebf0;border-radius:13px;background:#fff;overflow:hidden}
.account-return-card-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-bottom:1px solid #edf0f4}
.account-return-id{display:flex;align-items:center;gap:11px;min-width:0}
.account-return-icon{width:38px;height:38px;border-radius:10px;background:#f5f7fa;color:#172033;display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:14px}
.account-return-label{display:block;color:#8b96a6;font-size:.59rem;font-weight:800;line-height:1.25;margin-bottom:4px;text-transform:uppercase;letter-spacing:.03em}
.account-return-id h3{margin:0;color:#172033;font-size:.9rem;font-weight:800;line-height:1.35}
.account-return-status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:8px;background:#f5f7fa;color:#536173;font-size:.66rem;font-weight:800;white-space:nowrap}
.account-return-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:16px 18px}
.account-return-grid>div{min-width:0}
.account-return-grid strong{display:block;color:#4d5969;font-size:.72rem;font-weight:700;line-height:1.45;word-break:break-word}
.account-return-grid strong i{color:#9aa4b2;margin-right:5px}
.account-return-card-footer{display:flex;justify-content:flex-end;padding:0 18px 15px}
.account-return-card .account-secondary-button{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #dfe4ea;border-radius:8px;background:#fff;color:#4d5969;text-decoration:none;font-size:.68rem;font-weight:800}
.account-return-card .account-secondary-button:hover{color:#ff6b00;border-color:#ff6b00}
.account-return-empty{padding-top:55px}
@media(max-width:991.98px){
 .account-return-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
 .account-return-card-head{align-items:flex-start;flex-direction:column}
 .account-return-status{align-self:flex-start}
 .account-return-grid{grid-template-columns:1fr 1fr}
 .account-return-card-footer{justify-content:stretch}
 .account-return-card .account-secondary-button{width:100%;justify-content:center}
}
@media(max-width:575.98px){
 .account-orders-heading{align-items:flex-start}
 .account-return-add-button{width:100%;justify-content:center}
}
@media(max-width:430px){
 .account-return-grid{grid-template-columns:1fr}
}


/* Stage 256 - Return Add button width fix */
.account-return-content .account-return-add-button{
  width:auto !important;
  max-width:max-content !important;
  display:inline-flex !important;
  flex:0 0 auto !important;
  white-space:nowrap;
}
@media(max-width:575.98px){
  .account-return-content .account-return-add-button{
    width:auto !important;
    max-width:max-content !important;
  }
}


/* Stage 257 - Return Add button balanced size */
.account-return-content .account-return-add-button{
  width:44px !important;
  height:44px !important;
  max-width:none !important;
  min-width:44px !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  border-radius:10px !important;
  flex:0 0 44px !important;
  font-size:0 !important;
}
.account-return-content .account-return-add-button i{
  margin:0 !important;
  font-size:15px !important;
  line-height:1 !important;
}
.account-return-content .account-return-add-button span{
  display:none !important;
}
@media(max-width:575.98px){
  .account-return-content .account-return-add-button{
    width:44px !important;
    min-width:44px !important;
    height:44px !important;
    flex-basis:44px !important;
  }
}


/* Stage 258 - My Account Return Detail */
.account-return-info-content{min-width:0}
.account-return-info-heading{align-items:center}
.account-return-back-button{text-decoration:none;white-space:nowrap}
.account-return-info-sections{display:flex;flex-direction:column;gap:14px;margin-top:22px}
.account-return-info-card{border:1px solid #e7ebf0;border-radius:13px;background:#fff;overflow:hidden}
.account-return-info-card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 18px;border-bottom:1px solid #edf0f4}
.account-return-info-card-head h3{margin:0;color:#172033;font-size:.9rem;font-weight:800;line-height:1.35}
.account-return-info-id{display:inline-flex;align-items:center;padding:6px 10px;border-radius:8px;background:#fff1e8;color:#ff6b00;font-size:.68rem;font-weight:900}
.account-return-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:17px 18px}
.account-return-detail-grid>div{min-width:0}
.account-return-detail-label{display:block;color:#8b96a6;font-size:.59rem;font-weight:800;line-height:1.25;margin-bottom:5px;text-transform:uppercase;letter-spacing:.03em}
.account-return-detail-grid strong{display:block;color:#4d5969;font-size:.73rem;font-weight:700;line-height:1.45;word-break:break-word}
.account-return-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.account-return-comment{margin:0 18px 17px;padding:13px 14px;border-radius:10px;background:#f7f8fa;color:#5c6878;font-size:.72rem;line-height:1.6}
.account-return-comment>div{margin-top:5px}
.account-return-history{padding:5px 18px 8px}
.account-return-history-item{display:flex;gap:13px;position:relative;padding:13px 0}
.account-return-history-item:not(:last-child):after{content:"";position:absolute;left:5px;top:29px;bottom:-1px;width:1px;background:#e4e8ed}
.account-return-history-marker{position:relative;z-index:1;width:11px;flex:0 0 11px;padding-top:5px}
.account-return-history-marker span{display:block;width:11px;height:11px;border-radius:50%;background:#ff6b00;box-shadow:0 0 0 4px #fff1e8}
.account-return-history-body{min-width:0;flex:1}
.account-return-history-top{display:flex;align-items:center;justify-content:space-between;gap:15px}
.account-return-history-top strong{color:#172033;font-size:.74rem;font-weight:800}
.account-return-history-top span{color:#8b96a6;font-size:.64rem;white-space:nowrap}
.account-return-history-top span i{margin-right:5px}
.account-return-history-body p{margin:6px 0 0;color:#697587;font-size:.71rem;line-height:1.55}
.account-return-history-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:25px 18px;color:#8b96a6;font-size:.7rem}
.account-return-history-empty i{color:#a4adba}
.account-return-info-footer{display:flex;justify-content:flex-end;margin-top:16px}
@media(max-width:800px){
 .account-return-detail-grid,.account-return-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:575.98px){
 .account-return-info-heading{align-items:flex-start;flex-direction:column}
 .account-return-back-button{width:auto}
 .account-return-detail-grid,.account-return-product-grid{grid-template-columns:1fr}
 .account-return-history-top{align-items:flex-start;flex-direction:column;gap:4px}
 .account-return-info-footer{justify-content:stretch}
 .account-return-info-footer .account-secondary-button{width:100%;justify-content:center}
}


/* Stage 260 - Unified sidebar layout for all authenticated My Account pages */
.account-unified-page{padding:56px 0}
.account-unified-shell{display:grid;grid-template-columns:290px minmax(0,1fr);gap:0;background:#fff;border:1px solid #e7ebf0;border-radius:22px;overflow:hidden;box-shadow:0 14px 38px rgba(23,32,51,.07)}
.account-unified-main{min-width:0;padding:42px 44px}
.account-unified-sidebar{height:100%}
.account-unified-sidebar .account-edit-nav a{white-space:nowrap}
@media(max-width:991.98px){
 .account-unified-shell{grid-template-columns:250px minmax(0,1fr)}
 .account-unified-main{padding:34px 30px}
}
@media(max-width:767.98px){
 .account-unified-page{padding:34px 0}
 .account-unified-shell{grid-template-columns:1fr}
 .account-unified-sidebar{border-radius:0}
 .account-unified-main{padding:28px 22px}
}


/* =========================================================
   Stage 261 - My Account typography & responsive refinement
   ========================================================= */

/* Global account content typography */
.account-orders-page,
.account-unified-page,
.account-page-header {
  font-size: 15px;
}

.account-orders-content,
.account-unified-main {
  font-size: 15px;
  line-height: 1.6;
  min-width: 0;
}

.account-orders-content p,
.account-unified-main p {
  font-size: 14px;
  line-height: 1.65;
}

.account-orders-heading h2,
.account-unified-main h2 {
  font-size: 25px;
  line-height: 1.25;
  font-weight: 800;
}

.account-orders-heading p,
.account-unified-main .account-header-copy,
.account-orders-heading > div > p {
  font-size: 14px;
  line-height: 1.6;
}

.account-orders-table th,
.account-orders-table td {
  font-size: 13px;
  line-height: 1.5;
}

.account-orders-table th {
  font-size: 12px;
  font-weight: 800;
}

.account-orders-table td {
  color: #4d5969;
}

.account-edit-sidebar {
  font-size: 14px;
}

.account-edit-sidebar h2 {
  font-size: 24px;
  line-height: 1.25;
}

.account-edit-sidebar p {
  font-size: 13px;
  line-height: 1.65;
}

.account-edit-nav a {
  min-height: 43px;
  font-size: 13px;
  line-height: 1.35;
}

.account-edit-nav a i {
  font-size: 13px;
  width: 20px;
  flex: 0 0 20px;
}

/* Forms */
.account-unified-main .form-label,
.account-orders-content .form-label,
.account-unified-main label,
.account-orders-content label {
  font-size: 13px;
  line-height: 1.4;
  font-weight: 700;
}

.account-unified-main .form-control,
.account-orders-content .form-control,
.account-unified-main select,
.account-orders-content select,
.account-unified-main textarea,
.account-orders-content textarea {
  font-size: 14px;
  min-height: 44px;
}

.account-unified-main textarea,
.account-orders-content textarea {
  min-height: 110px;
}

.account-unified-main .btn,
.account-orders-content .btn {
  font-size: 13px;
}

/* Cards / metadata */
.account-return-detail-label,
.account-return-label,
.account-recurring-label,
.account-reward-balance-label,
.account-transaction-balance-label {
  font-size: 11px;
}

.account-return-detail-grid strong,
.account-recurring-grid strong,
.account-return-grid strong {
  font-size: 13px;
}

.account-return-history-top strong {
  font-size: 13px;
}

.account-return-history-top span,
.account-return-history-body p {
  font-size: 12px;
}

.account-reward-description,
.account-transaction-description {
  font-size: 13px;
}

.account-reward-points,
.account-transaction-amount {
  font-size: 12px;
}

/* Pagination/result text */
.account-orders-pagination,
.account-orders-result {
  font-size: 12px;
}

/* Unified shell: prevent content from becoming too narrow */
.account-unified-shell,
.account-orders-shell {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.account-unified-main,
.account-orders-content {
  overflow: hidden;
}

/* Desktop */
@media (min-width: 992px) {
  .account-unified-shell,
  .account-orders-shell {
    grid-template-columns: 292px minmax(0, 1fr);
  }

  .account-unified-main {
    padding: 40px 42px;
  }

  .account-orders-content {
    padding: 36px 42px;
  }
}

/* Tablet */
@media (max-width: 991.98px) {
  .account-unified-page,
  .account-orders-page {
    padding-top: 38px;
    padding-bottom: 38px;
  }

  .account-unified-shell,
  .account-orders-shell {
    grid-template-columns: 235px minmax(0, 1fr);
  }

  .account-unified-main {
    padding: 30px 24px;
  }

  .account-orders-content {
    padding: 30px 24px;
  }

  .account-orders-heading h2,
  .account-unified-main h2 {
    font-size: 23px;
  }

  .account-edit-sidebar {
    padding: 30px 22px;
  }

  .account-edit-sidebar h2 {
    font-size: 21px;
  }

  .account-edit-nav a {
    padding-left: 2px;
    padding-right: 2px;
  }
}

/* Mobile */
@media (max-width: 767.98px) {
  .account-unified-page,
  .account-orders-page {
    padding-top: 24px;
    padding-bottom: 30px;
  }

  .account-unified-page .custom-container,
  .account-orders-page .custom-container {
    width: 100%;
    max-width: 100%;
    padding-left: 12px;
    padding-right: 12px;
  }

  .account-unified-shell,
  .account-orders-shell {
    display: flex;
    flex-direction: column;
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
  }

  .account-unified-sidebar,
  .account-edit-sidebar {
    width: 100%;
    max-width: none;
    min-width: 0;
    padding: 24px 20px 18px;
  }

  .account-unified-sidebar .account-edit-profile-icon,
  .account-edit-sidebar .account-edit-profile-icon {
    width: 42px;
    height: 42px;
    margin-bottom: 12px;
  }

  .account-edit-sidebar h2 {
    font-size: 21px;
  }

  .account-edit-sidebar p {
    max-width: 600px;
    font-size: 13px;
  }

  .account-edit-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 8px;
    margin-top: 18px;
  }

  .account-edit-nav a {
    min-height: 42px;
    padding: 9px 10px;
    border-radius: 8px;
    font-size: 12px;
  }

  .account-edit-nav a i {
    font-size: 12px;
  }

  .account-unified-main,
  .account-orders-content {
    width: 100%;
    min-width: 0;
    padding: 25px 18px;
    overflow: visible;
  }

  .account-orders-heading {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }

  .account-orders-heading h2,
  .account-unified-main h2 {
    font-size: 22px;
  }

  .account-orders-heading p,
  .account-unified-main p {
    font-size: 13px;
  }

  .account-orders-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .account-orders-table {
    min-width: 650px;
  }

  .account-return-grid,
  .account-return-product-grid,
  .account-return-detail-grid,
  .account-recurring-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .account-return-card-head,
  .account-recurring-card-head,
  .account-return-info-card-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .account-return-card-footer,
  .account-recurring-card-footer {
    justify-content: stretch;
  }

  .account-return-card-footer .account-secondary-button,
  .account-recurring-card-footer .account-secondary-button {
    width: 100%;
    justify-content: center;
  }

  .account-return-add-button {
    align-self: flex-start;
  }

  .account-reward-balance,
  .account-transaction-balance {
    width: 100%;
  }

  .account-download-card {
    width: 100%;
  }
}

/* Small phones */
@media (max-width: 480px) {
  .account-unified-page .custom-container,
  .account-orders-page .custom-container {
    padding-left: 8px;
    padding-right: 8px;
  }

  .account-unified-shell,
  .account-orders-shell {
    border-radius: 12px;
  }

  .account-unified-sidebar,
  .account-edit-sidebar {
    padding: 20px 14px 15px;
  }

  .account-edit-nav {
    grid-template-columns: 1fr;
  }

  .account-edit-nav a {
    min-height: 40px;
    font-size: 12.5px;
  }

  .account-unified-main,
  .account-orders-content {
    padding: 22px 14px;
  }

  .account-orders-heading h2,
  .account-unified-main h2 {
    font-size: 20px;
  }

  .account-return-grid,
  .account-return-product-grid,
  .account-return-detail-grid,
  .account-recurring-grid {
    grid-template-columns: 1fr;
  }

  .account-return-info-card-head,
  .account-recurring-card-head {
    padding: 14px;
  }

  .account-return-detail-grid,
  .account-recurring-grid {
    padding: 14px;
  }

  .account-return-comment {
    margin-left: 14px;
    margin-right: 14px;
  }

  .account-return-history {
    padding-left: 14px;
    padding-right: 14px;
  }

  .account-primary-button,
  .account-secondary-button {
    min-height: 42px;
    font-size: 12px;
  }
}

/* Avoid accidental horizontal overflow from long content */
.account-unified-page,
.account-orders-page,
.account-unified-shell,
.account-orders-shell,
.account-unified-main,
.account-orders-content {
  max-width: 100%;
}

.account-unified-main *,
.account-orders-content * {
  max-width: 100%;
}

.account-unified-main img,
.account-orders-content img {
  height: auto;
}


/* =========================================================
   Stage 262 - My Account content typography final
   Target: comfortable desktop/tablet/mobile reading size
   ========================================================= */

/* Main content baseline */
.account-orders-content,
.account-unified-main {
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: #4d5969;
}

.account-orders-content p,
.account-unified-main p {
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.account-orders-heading h2,
.account-unified-main h2 {
  font-size: 27px !important;
  line-height: 1.25 !important;
  letter-spacing: -.01em;
}

.account-orders-heading > div > p,
.account-unified-main .account-header-copy {
  font-size: 15px !important;
  line-height: 1.65 !important;
}

/* Order details: addresses and information must be easy to read */
.account-orders-content .account-order-card,
.account-orders-content .account-order-address,
.account-orders-content .account-order-products,
.account-orders-content .account-order-history,
.account-orders-content .account-order-notes {
  font-size: 15px;
}

.account-orders-content .account-order-card p,
.account-orders-content .account-order-address p,
.account-orders-content .account-order-products p,
.account-orders-content .account-order-history p {
  font-size: 15px !important;
  line-height: 1.65 !important;
}

.account-orders-content .account-order-card strong,
.account-orders-content .account-order-address strong {
  font-size: 15px !important;
  line-height: 1.6 !important;
}

/* Generic Account cards */
.account-unified-main .card,
.account-orders-content .card {
  font-size: 15px;
}

.account-unified-main .card-body,
.account-orders-content .card-body {
  font-size: 15px;
}

/* Tables */
.account-orders-table {
  font-size: 14px !important;
}

.account-orders-table th {
  font-size: 12px !important;
  line-height: 1.4 !important;
  letter-spacing: .02em;
}

.account-orders-table td {
  font-size: 14px !important;
  line-height: 1.55 !important;
}

/* Return / recurring / reward / transaction content */
.account-return-grid strong,
.account-return-detail-grid strong,
.account-recurring-grid strong {
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.account-return-label,
.account-return-detail-label,
.account-recurring-label {
  font-size: 11px !important;
}

.account-return-history-top strong {
  font-size: 14px !important;
}

.account-return-history-top span,
.account-return-history-body p {
  font-size: 13px !important;
}

.account-return-comment {
  font-size: 14px !important;
  line-height: 1.65 !important;
}

.account-reward-description,
.account-transaction-description {
  font-size: 14px !important;
}

.account-reward-points,
.account-transaction-amount {
  font-size: 13px !important;
}

/* Download cards */
.account-download-card,
.account-download-card p {
  font-size: 14px !important;
}

.account-download-title {
  font-size: 16px !important;
}

/* Forms */
.account-unified-main label,
.account-orders-content label,
.account-unified-main .form-label,
.account-orders-content .form-label {
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.account-unified-main .form-control,
.account-orders-content .form-control,
.account-unified-main select,
.account-orders-content select,
.account-unified-main textarea,
.account-orders-content textarea {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

.account-unified-main .form-control,
.account-orders-content .form-control,
.account-unified-main select,
.account-orders-content select {
  min-height: 46px;
}

/* Buttons */
.account-unified-main .btn,
.account-orders-content .btn,
.account-primary-button,
.account-secondary-button {
  font-size: 14px !important;
}

/* Sidebar stays slightly smaller than main content but remains readable */
.account-unified-sidebar,
.account-edit-sidebar {
  font-size: 14px !important;
}

.account-edit-sidebar h2 {
  font-size: 24px !important;
}

.account-edit-sidebar p {
  font-size: 14px !important;
  line-height: 1.65 !important;
}

.account-edit-nav a {
  font-size: 14px !important;
  min-height: 44px;
}

/* Pagination */
.account-orders-pagination,
.account-orders-result {
  font-size: 13px !important;
}

/* Mobile: retain readable size instead of shrinking */
@media (max-width: 767.98px) {
  .account-orders-content,
  .account-unified-main {
    font-size: 15px !important;
  }

  .account-orders-content p,
  .account-unified-main p {
    font-size: 14px !important;
  }

  .account-orders-heading h2,
  .account-unified-main h2 {
    font-size: 23px !important;
  }

  .account-orders-table {
    font-size: 14px !important;
  }

  .account-orders-table td {
    font-size: 14px !important;
  }

  .account-edit-sidebar p {
    font-size: 13.5px !important;
  }

  .account-edit-nav a {
    font-size: 13px !important;
  }

  .account-return-grid strong,
  .account-return-detail-grid strong,
  .account-recurring-grid strong {
    font-size: 14px !important;
  }
}

@media (max-width: 480px) {
  .account-orders-content,
  .account-unified-main {
    font-size: 15px !important;
  }

  .account-orders-heading h2,
  .account-unified-main h2 {
    font-size: 21px !important;
  }

  .account-orders-content p,
  .account-unified-main p {
    font-size: 14px !important;
  }

  .account-edit-nav a {
    font-size: 13px !important;
  }
}


/* =========================================================
   Stage 263 - Unified Account shell width + 15px content
   ========================================================= */

/* Keep every internal Account page on the same content width */
.account-orders-page > .custom-container,
.account-unified-page > .custom-container {
  width: 100%;
  max-width: 1552px;
  margin-left: auto;
  margin-right: auto;
}

/* The two-column Account shell must use the same proportions everywhere */
.account-orders-shell,
.account-unified-shell {
  width: 100%;
  max-width: 1552px;
  margin-left: auto;
  margin-right: auto;
  grid-template-columns: 310px minmax(0, 1fr) !important;
}

/* Order Detail was visually narrower than the other Account pages.
   Normalize its inner content padding without changing the header/footer. */
.account-orders-content,
.account-unified-main {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}

/* Main content typography: exactly 15px as requested */
.account-orders-content,
.account-unified-main,
.account-orders-content p,
.account-unified-main p,
.account-orders-content div,
.account-unified-main div,
.account-orders-content td,
.account-orders-content li {
  font-size: 15px;
}

/* Preserve visual hierarchy for headings and small labels */
.account-orders-content h1,
.account-unified-main h1 {
  font-size: 28px;
}

.account-orders-content h2,
.account-unified-main h2 {
  font-size: 26px;
}

.account-orders-content h3,
.account-unified-main h3 {
  font-size: 18px;
}

.account-orders-content .section-kicker,
.account-unified-main .section-kicker,
.account-return-label,
.account-return-detail-label,
.account-recurring-label,
.account-reward-balance-label,
.account-transaction-balance-label,
.account-download-label {
  font-size: 11px;
}

/* Do not let generic 15px override compact controls */
.account-orders-content .btn,
.account-unified-main .btn,
.account-primary-button,
.account-secondary-button {
  font-size: 14px;
}

.account-orders-content input,
.account-orders-content select,
.account-orders-content textarea,
.account-unified-main input,
.account-unified-main select,
.account-unified-main textarea {
  font-size: 15px;
}

/* Sidebar remains identical in width and typography */
.account-orders-shell .account-edit-sidebar,
.account-unified-shell .account-edit-sidebar {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

/* Desktop/tablet consistency */
@media (max-width: 1200px) and (min-width: 768px) {
  .account-orders-shell,
  .account-unified-shell {
    grid-template-columns: 275px minmax(0, 1fr) !important;
  }

  .account-orders-content,
  .account-unified-main {
    padding-left: 30px;
    padding-right: 30px;
  }
}

/* Mobile: same shell behavior for every Account page */
@media (max-width: 767.98px) {
  .account-orders-page > .custom-container,
  .account-unified-page > .custom-container {
    width: 100%;
    max-width: 100%;
    padding-left: 12px;
    padding-right: 12px;
  }

  .account-orders-shell,
  .account-unified-shell {
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    grid-template-columns: none !important;
  }

  .account-orders-content,
  .account-unified-main {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    font-size: 15px;
  }

  .account-orders-content p,
  .account-unified-main p,
  .account-orders-content td,
  .account-orders-content li {
    font-size: 15px;
  }
}

@media (max-width: 480px) {
  .account-orders-page > .custom-container,
  .account-unified-page > .custom-container {
    padding-left: 8px;
    padding-right: 8px;
  }

  .account-orders-content,
  .account-unified-main {
    padding-left: 14px;
    padding-right: 14px;
  }
}


/* =========================================================
   Stage 264 - Order Detail shell alignment
   Make Order Detail use the exact same horizontal bounds
   as the other internal Account pages.
   ========================================================= */

/* Order Detail outer container follows the same site/account container */
.account-order-detail-page > .custom-container {
  width: 100%;
  max-width: var(--hg-site-container, 1500px);
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* Remove the old narrow 1180px constraint */
.account-order-detail-shell {
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: grid;
  grid-template-columns: 310px minmax(0, 1fr) !important;
  box-sizing: border-box;
}

/* Order Detail content uses the same comfortable 15px base */
.account-order-detail-content {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  font-size: 15px !important;
  line-height: 1.65;
  padding: 38px 42px;
}

.account-order-detail-content p,
.account-order-detail-content .account-order-address,
.account-order-detail-content .account-order-method,
.account-order-detail-content td,
.account-order-detail-content li {
  font-size: 15px !important;
  line-height: 1.65;
}

.account-order-detail-content .account-order-summary-card h3 {
  font-size: 18px !important;
}

.account-order-detail-content .account-order-summary-card {
  font-size: 15px !important;
}

/* Keep Order Detail aligned with the same outer page width */
.account-order-detail-page {
  padding-left: 0;
  padding-right: 0;
}

@media (max-width: 1200px) and (min-width: 768px) {
  .account-order-detail-page > .custom-container {
    padding-left: 24px;
    padding-right: 24px;
  }

  .account-order-detail-shell {
    grid-template-columns: 275px minmax(0, 1fr) !important;
  }

  .account-order-detail-content {
    padding-left: 30px;
    padding-right: 30px;
  }
}

@media (max-width: 767.98px) {
  .account-order-detail-page > .custom-container {
    max-width: 100%;
    padding-left: 12px;
    padding-right: 12px;
  }

  .account-order-detail-shell {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100% !important;
    border-radius: 16px;
  }

  .account-order-detail-content {
    width: 100%;
    padding: 25px 20px;
    font-size: 15px !important;
  }

  .account-order-detail-content p,
  .account-order-detail-content .account-order-address,
  .account-order-detail-content .account-order-method,
  .account-order-detail-content td,
  .account-order-detail-content li {
    font-size: 15px !important;
  }
}

@media (max-width: 480px) {
  .account-order-detail-page > .custom-container {
    padding-left: 8px;
    padding-right: 8px;
  }

  .account-order-detail-content {
    padding-left: 14px;
    padding-right: 14px;
  }
}


/* =========================================================
   Stage 265 - Restore native Order Reorder / Return actions
   ========================================================= */
.order-info-actions-heading{
  width:112px;
  white-space:nowrap;
}
.order-info-actions{
  width:112px;
  white-space:nowrap;
}
.order-info-action-buttons{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.order-info-action{
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  text-decoration:none !important;
  font-size:15px;
  line-height:1;
  transition:all .18s ease;
}
.order-info-action-reorder{
  background:#fff1e8;
  color:#ff6b00;
  border:1px solid #ffd6bd;
}
.order-info-action-reorder:hover{
  background:#ff6b00;
  color:#fff;
  border-color:#ff6b00;
}
.order-info-action-return{
  background:#f5f7fa;
  color:#536173;
  border:1px solid #dfe4ea;
}
.order-info-action-return:hover{
  background:#172033;
  color:#fff;
  border-color:#172033;
}
.order-info-table td,
.order-info-table th{
  vertical-align:middle;
}
@media(max-width:700px){
  .order-info-actions-heading,
  .order-info-actions{
    width:104px;
  }
  .order-info-action{
    width:44px;
    height:44px;
  }
}


/* =========================================================
   Stage 267 - My Account Order Detail typography
   Match table headings and order number badge to the
   15px Account content standard.
   ========================================================= */
.account-order-detail-content .order-info-table thead th,
.account-order-detail-content .order-history-table thead th,
.account-order-detail-content .account-order-history-card .table thead th{
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.4;
  letter-spacing:0 !important;
  text-transform:none;
  color:#111827;
}

.account-order-detail-content .order-info-table tbody td,
.account-order-detail-content .order-history-table tbody td,
.account-order-detail-content .account-order-history-card .table tbody td{
  font-size:15px !important;
  line-height:1.6;
}

.account-order-detail-content .account-order-number{
  font-size:15px !important;
  line-height:1.35;
  font-weight:800 !important;
  padding:7px 11px;
}

@media (max-width:767.98px){
  .account-order-detail-content .order-info-table thead th,
  .account-order-detail-content .order-history-table thead th,
  .account-order-detail-content .account-order-history-card .table thead th,
  .account-order-detail-content .order-info-table tbody td,
  .account-order-detail-content .order-history-table tbody td,
  .account-order-detail-content .account-order-history-card .table tbody td{
    font-size:15px !important;
  }

  .account-order-detail-content .account-order-number{
    font-size:15px !important;
  }
}

/* =========================================================
   Stage 268 - My Account Return Form
   Native OpenCart return flow, HomeGenerators unified shell
   ========================================================= */

.account-return-form-content{min-width:0}

.account-return-form-heading{
  align-items:center;
  margin-bottom:22px;
}

.account-return-form-heading p{
  margin-bottom:0;
}

.account-return-form-icon{
  width:48px;
  height:48px;
  flex:0 0 48px;
  border-radius:12px;
  background:#fff1e8;
  color:#ff6b00;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
}

.account-return-form-alert{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0 0 18px;
  padding:13px 15px;
  border-radius:10px;
  font-size:15px;
  line-height:1.55;
}

.account-return-form-alert i{
  color:#b42318;
  margin-top:3px;
}

.account-return-form{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.account-return-form-card{
  border:1px solid #e7ebf0;
  border-radius:13px;
  background:#fff;
  overflow:hidden;
}

.account-return-form-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:17px 18px;
  border-bottom:1px solid #edf0f4;
}

.account-return-form-card-head h3{
  margin:0;
  color:#172033;
  font-size:19px;
  font-weight:800;
  line-height:1.35;
}

.account-return-form-step{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:10px;
  background:#f5f7fa;
  color:#536173;
  font-size:13px;
  font-weight:900;
}

.account-return-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:17px 18px;
  padding:19px 18px;
}

.account-return-field{
  min-width:0;
}

.account-return-field-wide,
.account-return-reason-field,
.account-return-comment-field{
  grid-column:1 / -1;
}

.account-return-field label{
  display:block;
  margin:0 0 7px;
  color:#344054;
  font-size:15px;
  font-weight:700;
  line-height:1.4;
}

.account-return-field.required label:after{
  content:" *";
  color:#ff6b00;
}

.account-return-field .form-control{
  width:100%;
  min-height:46px;
  border:1px solid #dfe4ea;
  border-radius:9px;
  background:#fff;
  color:#344054;
  padding:10px 13px;
  font-size:15px !important;
  line-height:1.5;
  box-shadow:none;
}

.account-return-field .form-control:focus{
  border-color:#ff6b00;
  box-shadow:0 0 0 3px rgba(255,107,0,.10);
}

.account-return-field textarea.form-control{
  min-height:130px;
  resize:vertical;
}

.account-return-date-field{
  display:flex;
  width:100%;
}

.account-return-date-field .form-control{
  flex:1 1 auto;
  width:auto;
  border-radius:9px 0 0 9px;
}

.account-return-date-field .input-group-btn{
  display:flex;
}

.account-return-date-field .btn{
  min-width:48px;
  border:1px solid #dfe4ea;
  border-left:0;
  border-radius:0 9px 9px 0;
  background:#f8fafc;
  color:#536173;
  font-size:15px !important;
}

.account-return-radio-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}

.account-return-radio,
.account-return-radio-inline{
  display:flex !important;
  align-items:center;
  gap:9px;
  margin:0 !important;
  padding:11px 13px;
  border:1px solid #e1e6ec;
  border-radius:9px;
  background:#fff;
  color:#4d5969 !important;
  font-size:15px !important;
  font-weight:600 !important;
  cursor:pointer;
}

.account-return-radio:hover,
.account-return-radio-inline:hover{
  border-color:#ff6b00;
  background:#fffaf6;
}

.account-return-radio input,
.account-return-radio-inline input{
  width:16px;
  height:16px;
  flex:0 0 16px;
  margin:0 !important;
  accent-color:#ff6b00;
}

.account-return-opened-options{
  display:flex;
  gap:10px;
}

.account-return-radio-inline{
  min-width:110px;
  justify-content:center;
}

.account-return-field .text-danger{
  margin-top:6px;
  font-size:13px;
  line-height:1.45;
}

.account-return-captcha{
  padding:0 18px 18px;
}

.account-return-agreement{
  padding:14px 16px;
  border:1px solid #e7ebf0;
  border-radius:10px;
  background:#f8fafc;
}

.account-return-agreement label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0;
  color:#4d5969;
  font-size:14px;
  line-height:1.6;
  font-weight:600;
  cursor:pointer;
}

.account-return-agreement input{
  width:17px;
  height:17px;
  flex:0 0 17px;
  margin:3px 0 0;
  accent-color:#ff6b00;
}

.account-return-form-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:2px;
}

.account-return-form-actions .account-primary-button,
.account-return-form-actions .account-secondary-button{
  width:100%;
  min-height:46px;
  font-size:14px !important;
}

.account-return-form-actions .account-secondary-button{
  border:1px solid #dfe4ea;
  background:#fff;
  color:#4d5969;
}

.account-return-form-actions .account-secondary-button:hover{
  color:#ff6b00;
  border-color:#ff6b00;
}

@media (max-width: 767.98px){
  .account-return-form-heading{
    align-items:flex-start;
    flex-direction:column;
  }

  .account-return-form-icon{
    display:none;
  }

  .account-return-form-grid{
    grid-template-columns:1fr;
    gap:15px;
    padding:15px 14px;
  }

  .account-return-field-wide,
  .account-return-reason-field,
  .account-return-comment-field{
    grid-column:auto;
  }

  .account-return-form-card-head{
    padding:14px;
  }

  .account-return-form-card-head h3{
    font-size:18px;
  }

  .account-return-radio-list{
    grid-template-columns:1fr;
  }

  .account-return-opened-options{
    flex-direction:column;
  }

  .account-return-radio-inline{
    width:100%;
  }

  .account-return-captcha{
    padding:0 14px 14px;
    overflow:auto;
  }

  .account-return-form-actions{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   Stage 269 - Return Form Layout & Professional UI
   Align account shell with site container / header / footer
   ========================================================= */

/* Keep this Account page on the same horizontal container
   used by the other Account pages and site sections. */
.account-return-form-page > .custom-container{
  width:100%;
  max-width:1552px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

.account-return-form-page .account-orders-shell{
  width:100%;
  max-width:none !important;
  grid-template-columns:310px minmax(0,1fr);
  margin-left:0;
  margin-right:0;
}

/* Main content gets a cleaner, more deliberate reading width. */
.account-return-form-content{
  min-width:0;
  padding:42px 42px 46px !important;
}

/* Professional page heading */
.account-return-form-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:0 0 24px;
  margin:0 0 24px !important;
  border-bottom:1px solid #edf0f4;
}

.account-return-form-heading h2{
  margin:2px 0 6px !important;
  color:#111827;
  font-size:28px !important;
  font-weight:800;
  line-height:1.2;
}

.account-return-form-heading p{
  color:#718096;
  font-size:15px !important;
  line-height:1.55;
}

.account-return-form-icon{
  width:52px;
  height:52px;
  flex:0 0 52px;
  border:1px solid #ffe0ca;
  border-radius:14px;
  background:#fff8f2;
  color:#ff6b00;
  font-size:19px;
  box-shadow:0 4px 12px rgba(17,24,39,.04);
}

/* Cards */
.account-return-form{
  gap:18px;
}

.account-return-form-card{
  border:1px solid #e5e9ef;
  border-radius:14px;
  background:#fff;
  box-shadow:0 4px 18px rgba(16,24,40,.035);
}

.account-return-form-card-head{
  min-height:70px;
  padding:16px 20px !important;
  background:linear-gradient(to bottom,#ffffff,#fbfcfd);
}

.account-return-form-card-head .section-kicker{
  margin-bottom:3px;
}

.account-return-form-card-head h3{
  color:#172033;
  font-size:18px !important;
  font-weight:800;
  letter-spacing:-.1px;
}

.account-return-form-step{
  width:34px;
  height:34px;
  flex-basis:34px;
  border:1px solid #e7ebf0;
  border-radius:50%;
  background:#fff;
  color:#ff6b00;
  font-size:12px;
  box-shadow:0 2px 7px rgba(16,24,40,.05);
}

/* Force the form into a true two-column desktop layout. */
.account-return-form-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:18px 20px !important;
  padding:22px 20px !important;
}

.account-return-field{
  min-width:0;
}

.account-return-field label{
  margin-bottom:7px;
  color:#344054;
  font-size:14px !important;
  font-weight:700;
  line-height:1.4;
}

.account-return-field .form-control{
  min-height:44px;
  border-color:#d9dee6;
  border-radius:8px;
  background:#fff;
  padding:9px 12px;
  color:#1f2937;
  font-size:15px !important;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}

.account-return-field .form-control:hover{
  border-color:#c8ced8;
}

.account-return-field .form-control:focus{
  border-color:#ff6b00;
  background:#fff;
  box-shadow:0 0 0 3px rgba(255,107,0,.09);
}

/* Product / reason areas */
.account-return-reason-field{
  grid-column:1 / -1;
}

.account-return-radio-list{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
}

.account-return-radio{
  min-height:44px;
  padding:10px 12px;
  border-color:#e0e5eb;
  background:#fff;
}

.account-return-radio:hover,
.account-return-radio-inline:hover{
  border-color:#ffb37d;
  background:#fffaf6;
}

.account-return-opened-field{
  align-self:start;
}

.account-return-opened-options{
  min-height:44px;
}

.account-return-radio-inline{
  min-height:44px;
  padding:10px 15px;
  border-color:#e0e5eb;
  background:#fff;
}

.account-return-comment-field{
  grid-column:1 / -1;
}

.account-return-field textarea.form-control{
  min-height:118px;
}

/* Agreement */
.account-return-agreement{
  border:1px solid #e5e9ef;
  border-radius:10px;
  background:#f8fafc;
  box-shadow:none;
}

/* Bottom actions match the rest of the Account UI */
.account-return-form-actions{
  grid-template-columns:180px minmax(0,1fr) !important;
  gap:12px;
  margin-top:2px;
}

.account-return-form-actions .account-primary-button,
.account-return-form-actions .account-secondary-button{
  min-height:48px;
  border-radius:8px;
  font-size:14px !important;
  font-weight:800;
}

.account-return-form-actions .account-primary-button{
  box-shadow:0 5px 14px rgba(255,107,0,.16);
}

@media (max-width: 1199.98px){
  .account-return-form-content{
    padding:34px 30px 38px !important;
  }

  .account-return-form-page .account-orders-shell{
    grid-template-columns:290px minmax(0,1fr);
  }
}

@media (max-width: 991.98px){
  .account-return-form-page > .custom-container{
    max-width:none !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .account-return-form-page .account-orders-shell{
    grid-template-columns:1fr;
  }

  .account-return-form-content{
    padding:28px 24px 34px !important;
  }
}

@media (max-width: 767.98px){
  .account-return-form-page > .custom-container{
    padding-left:10px !important;
    padding-right:10px !important;
  }

  .account-return-form-content{
    padding:24px 16px 28px !important;
  }

  .account-return-form-heading{
    align-items:flex-start;
    padding-bottom:18px;
    margin-bottom:18px !important;
  }

  .account-return-form-heading h2{
    font-size:24px !important;
  }

  .account-return-form-grid{
    grid-template-columns:1fr !important;
    gap:15px !important;
    padding:18px 16px !important;
  }

  .account-return-field-wide,
  .account-return-reason-field,
  .account-return-comment-field{
    grid-column:auto !important;
  }

  .account-return-radio-list{
    grid-template-columns:1fr !important;
  }

  .account-return-form-actions{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   Stage 270 - Return Form Width Consistency
   Match the same horizontal Account container used by
   Order Detail and the other My Account pages.
   ========================================================= */

/* The Order Detail reference uses the site's normal
   .custom-container width. Do not create a wider special
   container for Product Returns. */
.account-return-form-page > .custom-container{
  width:100% !important;
  max-width:1552px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box;
}

.account-return-form-page .account-orders-shell{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* At the desktop breakpoint keep the exact same outer breathing
   room as the other Account pages rather than touching the viewport. */
@media (min-width: 1200px){
  .account-return-form-page > .custom-container{
    width:calc(100% - 140px) !important;
    max-width:1552px !important;
  }
}

/* Keep tablet/mobile within the same page gutters. */
@media (max-width: 1199.98px) and (min-width: 992px){
  .account-return-form-page > .custom-container{
    width:calc(100% - 48px) !important;
    max-width:1552px !important;
  }
}

@media (max-width: 991.98px){
  .account-return-form-page > .custom-container{
    width:calc(100% - 32px) !important;
    max-width:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
}

@media (max-width: 575.98px){
  .account-return-form-page > .custom-container{
    width:calc(100% - 20px) !important;
  }
}

/* =========================================================
   Stage 272 - Account Dashboard Layout Fixed
   Full dashboard, no sidebar, no accidental narrow nested
   container. Other Account pages remain unchanged.
   ========================================================= */

.account-dashboard-page{
  width:100%;
}

.account-dashboard-page > .custom-container{
  width:calc(100% - 140px) !important;
  max-width:1552px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box;
}

.account-dashboard-page .account-unified-shell{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:#fff !important;
  border:1px solid #e7ebf0;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 14px 38px rgba(23,32,51,.07);
}

.account-dashboard-page .account-unified-main{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  padding:42px 44px !important;
  margin:0 !important;
  box-sizing:border-box;
}

.account-dashboard-page .account-unified-main > .custom-container{
  width:100% !important;
  max-width:none !important;
  padding:0 !important;
  margin:0 !important;
  box-sizing:border-box;
}

.account-dashboard-page .account-dashboard-grid{
  display:grid !important;
  width:100% !important;
  max-width:none !important;
  grid-template-columns:minmax(0,1.35fr) minmax(330px,.9fr) !important;
  gap:24px !important;
  margin:0 !important;
}

.account-dashboard-page .account-card{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}

.account-dashboard-page .account-dashboard-links{
  width:100%;
}

@media (max-width:1199.98px) and (min-width:992px){
  .account-dashboard-page > .custom-container{
    width:calc(100% - 48px) !important;
  }

  .account-dashboard-page .account-unified-main{
    padding:34px 30px !important;
  }

  .account-dashboard-page .account-dashboard-grid{
    grid-template-columns:minmax(0,1.2fr) minmax(290px,.9fr) !important;
    gap:20px !important;
  }
}

@media (max-width:991.98px){
  .account-dashboard-page > .custom-container{
    width:calc(100% - 32px) !important;
    max-width:none !important;
  }

  .account-dashboard-page .account-unified-main{
    padding:28px 22px !important;
  }

  .account-dashboard-page .account-dashboard-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
}

@media (max-width:575.98px){
  .account-dashboard-page > .custom-container{
    width:calc(100% - 20px) !important;
  }

  .account-dashboard-page .account-unified-main{
    padding:20px 14px !important;
  }

  .account-dashboard-page .account-dashboard-grid{
    gap:14px !important;
  }
}

/* =========================================================
   Stage 273 - Dashboard Remove Inner White Frame
   The dashboard cards should sit directly on the page
   background without the extra white shell/frame.
   ========================================================= */

.account-dashboard-page .account-unified-shell{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}

.account-dashboard-page .account-unified-main{
  background:transparent !important;
  padding:0 !important;
}

.account-dashboard-page .account-unified-main > .custom-container{
  background:transparent !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
}

.account-dashboard-page .account-dashboard-grid{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

@media (max-width:991.98px){
  .account-dashboard-page .account-unified-main{
    padding:0 !important;
  }
}

@media (max-width:575.98px){
  .account-dashboard-page .account-unified-main{
    padding:0 !important;
  }
}

/* =========================================================
   Stage 276 - Account Width Consistency
   Dashboard: NO sidebar, normal Account/site width.
   Order History: same internal Account width as other pages.
   ========================================================= */

/* ---------- Dashboard ---------- */
.account-dashboard-page{
  width:100%;
}

.account-dashboard-page > .custom-container{
  width:calc(100% - 140px) !important;
  max-width:1552px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box;
}

.account-dashboard-page .account-unified-shell{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}

.account-dashboard-page .account-unified-main{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
}

.account-dashboard-page .account-unified-main > .custom-container{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
}

.account-dashboard-page .account-dashboard-grid{
  display:grid !important;
  width:100% !important;
  max-width:none !important;
  grid-template-columns:minmax(0,1.35fr) minmax(330px,.9fr) !important;
  gap:24px !important;
  margin:0 !important;
  padding:0 !important;
}

/* ---------- Order History / internal Account pages ---------- */
.account-orders-page > .custom-container{
  width:calc(100% - 140px) !important;
  max-width:1552px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box;
}

.account-orders-page .account-orders-shell{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box;
}

@media (max-width:1199.98px) and (min-width:992px){
  .account-dashboard-page > .custom-container,
  .account-orders-page > .custom-container{
    width:calc(100% - 48px) !important;
  }

  .account-dashboard-page .account-dashboard-grid{
    grid-template-columns:minmax(0,1.2fr) minmax(290px,.9fr) !important;
    gap:20px !important;
  }
}

@media (max-width:991.98px){
  .account-dashboard-page > .custom-container,
  .account-orders-page > .custom-container{
    width:calc(100% - 32px) !important;
    max-width:none !important;
  }

  .account-dashboard-page .account-dashboard-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
}

@media (max-width:575.98px){
  .account-dashboard-page > .custom-container,
  .account-orders-page > .custom-container{
    width:calc(100% - 20px) !important;
  }

  .account-dashboard-page .account-dashboard-grid{
    gap:14px !important;
  }
}

/* =========================================================
   Stage 277 - Edit Address Book
   Consistent Account width + professional Register-style form
   ========================================================= */

/* Match the same outer width as other internal Account pages. */
.account-unified-page > .custom-container{
  width:calc(100% - 140px) !important;
  max-width:1552px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box;
}

.account-unified-page .account-unified-shell{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box;
}

/* Address form content */
.account-address-form-content{
  padding:42px 42px 46px !important;
}

.account-address-form-content .form-group{
  margin-bottom:0 !important;
}

.account-address-form-content .form-control{
  min-height:46px !important;
  height:auto !important;
  padding:10px 13px !important;
  border:1px solid #d9dee6 !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#1f2937 !important;
  font-size:15px !important;
  line-height:1.45 !important;
  box-shadow:none !important;
  transition:border-color .15s ease,box-shadow .15s ease !important;
}

.account-address-form-content .form-control:focus{
  border-color:#ff8a3d !important;
  box-shadow:0 0 0 3px rgba(255,107,0,.10) !important;
  outline:0 !important;
}

.account-address-form-content label{
  display:block;
  margin:0 0 7px !important;
  color:#344054 !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
}

.account-address-form-content .text-danger{
  margin-top:6px;
  font-size:13px !important;
}

/* Make the address form feel like Register: clean card sections. */
.account-address-form-content .address-form-section{
  border:1px solid #e4e9ef;
  border-radius:14px;
  background:#fff;
  box-shadow:0 5px 18px rgba(23,32,51,.045);
  overflow:hidden;
  margin-top:22px;
}

.account-address-form-content .address-form-section:first-of-type{
  margin-top:0;
}

.account-address-form-content .address-form-section-head{
  padding:16px 20px;
  min-height:68px;
  display:flex;
  align-items:center;
  gap:12px;
  border-bottom:1px solid #edf0f4;
  background:#fff;
}

.account-address-form-content .address-form-section-head h3{
  margin:0;
  color:#172033;
  font-size:18px;
  font-weight:800;
}

.account-address-form-content .address-form-section-number{
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:#fff3e8;
  border:1px solid #ffe1cb;
  color:#ff6b00;
  font-size:12px;
  font-weight:800;
}

.account-address-form-content .address-form-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:17px 20px !important;
  padding:21px 20px !important;
}

.account-address-form-content .address-form-field{
  min-width:0;
}

.account-address-form-content .address-form-field-wide{
  grid-column:1 / -1;
}

/* Selects should visually match Register inputs. */
.account-address-form-content select.form-control{
  min-height:46px !important;
  padding-right:36px !important;
  cursor:pointer;
}

/* Default OpenCart address form can be wrapped by Bootstrap rows.
   Normalize the row/column spacing without changing field semantics. */
.account-address-form-content .row{
  margin-left:-10px;
  margin-right:-10px;
}

.account-address-form-content .row > [class*="col-"]{
  padding-left:10px;
  padding-right:10px;
  margin-bottom:17px;
}

.account-address-form-content .form-group.required > label:after{
  color:#ff6b00 !important;
}

/* Default address toggle / radio */
.account-address-form-content .address-default-box{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:10px 13px;
  border:1px solid #e0e5eb;
  border-radius:8px;
  background:#fff;
}

.account-address-form-content input[type="radio"],
.account-address-form-content input[type="checkbox"]{
  accent-color:#ff6b00;
}

/* Footer actions */
.account-address-form-content .address-form-actions{
  display:grid !important;
  grid-template-columns:180px minmax(0,1fr) !important;
  gap:12px !important;
  margin-top:22px !important;
}

.account-address-form-content .address-form-actions .btn{
  min-height:48px !important;
  border-radius:8px !important;
  font-size:14px !important;
  font-weight:800 !important;
}

/* If existing template uses generic buttons, give them Register-style proportions. */
.account-address-form-content .buttons{
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid #edf0f4;
}

.account-address-form-content .buttons .btn-primary,
.account-address-form-content .buttons .btn-success{
  min-height:48px;
  border-radius:8px;
  font-size:14px;
  font-weight:800;
  box-shadow:0 5px 14px rgba(255,107,0,.15);
}

@media (max-width:1199.98px) and (min-width:992px){
  .account-unified-page > .custom-container{
    width:calc(100% - 48px) !important;
  }
}

@media (max-width:991.98px){
  .account-unified-page > .custom-container{
    width:calc(100% - 32px) !important;
    max-width:none !important;
  }

  .account-address-form-content{
    padding:32px 28px 38px !important;
  }
}

@media (max-width:767.98px){
  .account-address-form-content{
    padding:24px 16px 30px !important;
  }

  .account-address-form-content .address-form-grid{
    grid-template-columns:1fr !important;
    gap:15px !important;
    padding:18px 16px !important;
  }

  .account-address-form-content .address-form-field-wide{
    grid-column:auto !important;
  }

  .account-address-form-content .address-form-actions{
    grid-template-columns:1fr !important;
  }

  .account-address-form-content .row{
    margin-left:-7px;
    margin-right:-7px;
  }

  .account-address-form-content .row > [class*="col-"]{
    padding-left:7px;
    padding-right:7px;
    margin-bottom:15px;
  }
}

@media (max-width:575.98px){
  .account-unified-page > .custom-container{
    width:calc(100% - 20px) !important;
  }
}

/* =========================================================
   Stage 278 - Address Book Entry Typography
   Address text inside saved-address cards should match the
   15px Account content standard.
   ========================================================= */

.account-address-list,
.account-address-list .address-card,
.account-address-list .address-card-body,
.account-address-list .address-card-content,
.account-address-list .address-entry,
.account-address-list .address-text,
.account-address-list .address-details{
  font-size:15px !important;
  line-height:1.65 !important;
}

.account-address-list .address-card-body *,
.account-address-list .address-card-content *,
.account-address-list .address-entry *,
.account-address-list .address-text *,
.account-address-list .address-details *{
  font-size:15px !important;
  line-height:1.65 !important;
}

.account-address-list .address-card-body,
.account-address-list .address-card-content,
.account-address-list .address-entry,
.account-address-list .address-text,
.account-address-list .address-details{
  color:#344054 !important;
}

.account-address-list .address-card-body strong,
.account-address-list .address-card-content strong,
.account-address-list .address-entry strong,
.account-address-list .address-text strong,
.account-address-list .address-details strong{
  font-weight:700 !important;
  color:#172033 !important;
}

/* Keep action buttons/icons from inheriting the 15px body rule. */
.account-address-list .btn,
.account-address-list button,
.account-address-list .address-card-actions *,
.account-address-list .address-actions *{
  font-size:13px !important;
  line-height:1.2 !important;
}

@media (max-width:575.98px){
  .account-address-list,
  .account-address-list .address-card,
  .account-address-list .address-card-body,
  .account-address-list .address-card-content,
  .account-address-list .address-entry,
  .account-address-list .address-text,
  .account-address-list .address-details{
    font-size:15px !important;
    line-height:1.6 !important;
  }
}

/* =========================================================
   Stage 279 - Address Book Card Text Final Size
   The saved address content is intentionally 15px and uses
   the same readable Account body scale as other pages.
   ========================================================= */

.account-address-card .account-address-name{
  font-size:15px !important;
  line-height:1.65 !important;
  color:#344054 !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
}

.account-address-card .account-address-name span,
.account-address-card .account-address-name div,
.account-address-card .account-address-name p,
.account-address-card .account-address-name br{
  font-size:15px !important;
  line-height:1.65 !important;
}

.account-address-card .account-address-name *{
  font-size:15px !important;
  line-height:1.65 !important;
}

.account-address-card .account-address-actions a{
  font-size:13px !important;
}

@media (max-width:575.98px){
  .account-address-card .account-address-name,
  .account-address-card .account-address-name *{
    font-size:15px !important;
    line-height:1.6 !important;
  }
}

/* =========================================================
   Stage 281 - Address Book Buttons = Theme Button Language
   Edit/Delete use the same sizing, radius, typography,
   padding and interaction pattern as the site's standard
   Account buttons. Only semantic colors differ.
   ========================================================= */

.account-address-card .account-address-actions{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin-top:18px !important;
  padding-top:16px !important;
  border-top:1px solid #edf0f4 !important;
}

.account-address-card .account-address-actions a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  min-height:44px !important;
  min-width:100px !important;
  padding:10px 18px !important;
  border-radius:8px !important;
  border:1px solid transparent !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  box-sizing:border-box !important;
  text-decoration:none !important;
  box-shadow:none !important;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease !important;
}

.account-address-card .account-address-actions a:hover{
  text-decoration:none !important;
  transform:translateY(-1px);
}

.account-address-card .account-address-edit{
  background:#eef6ff !important;
  border-color:#d9e8f6 !important;
  color:#315b80 !important;
}

.account-address-card .account-address-edit:hover,
.account-address-card .account-address-edit:focus{
  background:#e3f1ff !important;
  border-color:#c9dff2 !important;
  color:#244d70 !important;
}

.account-address-card .account-address-delete{
  background:#fff1f1 !important;
  border-color:#f4d7d7 !important;
  color:#d14b4b !important;
}

.account-address-card .account-address-delete:hover,
.account-address-card .account-address-delete:focus{
  background:#ffe6e6 !important;
  border-color:#edc2c2 !important;
  color:#bd3838 !important;
}

.account-address-card .account-address-actions i{
  font-size:13px !important;
  line-height:1 !important;
}

@media (max-width:575.98px){
  .account-address-card .account-address-actions a{
    min-height:44px !important;
    min-width:0 !important;
    padding:10px 16px !important;
    font-size:14px !important;
  }
}


/* =========================================================
   Stage 282 - Product Return native View action
   Keep the native {{ return.view }} route/function and use
   a compact eye icon, matching the Account action language.
   ========================================================= */

.account-return-card-footer{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
}

.account-return-view-button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  padding:0 !important;
  border-radius:8px !important;
  border:1px solid #d9e8f6 !important;
  background:#eef6ff !important;
  color:#315b80 !important;
  text-decoration:none !important;
  box-shadow:none !important;
  line-height:1 !important;
  box-sizing:border-box !important;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease !important;
}

.account-return-view-button i{
  margin:0 !important;
  font-size:15px !important;
  line-height:1 !important;
}

.account-return-view-button:hover,
.account-return-view-button:focus{
  background:#e3f1ff !important;
  border-color:#c9dff2 !important;
  color:#244d70 !important;
  text-decoration:none !important;
  transform:translateY(-1px);
}

.account-return-view-button:focus-visible{
  outline:2px solid rgba(49,91,128,.22) !important;
  outline-offset:2px !important;
}

.account-return-view-button .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;
}

@media (max-width:575.98px){
  .account-return-card-footer{
    justify-content:flex-end !important;
  }

  .account-return-view-button{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
  }
}


/* ==========================================================================
   STAGE 284 - Native Return Detail Product / Reason for Return Table
   ========================================================================== */
.account-return-product-card {
  overflow: hidden;
}

.account-return-product-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.account-return-product-table {
  width: 100%;
  min-width: 760px;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 15px;
}

.account-return-product-table th {
  padding: 14px 16px;
  background: #f7f9fc;
  border-top: 1px solid #e8edf3;
  border-bottom: 1px solid #e8edf3;
  color: #24344d;
  font-size: 13px;
  font-weight: 800;
  text-align: left;
  white-space: nowrap;
}

.account-return-product-table th:first-child {
  border-left: 1px solid #e8edf3;
  border-top-left-radius: 10px;
}

.account-return-product-table th:last-child {
  border-right: 1px solid #e8edf3;
  border-top-right-radius: 10px;
}

.account-return-product-table td {
  padding: 16px;
  border-bottom: 1px solid #e8edf3;
  color: #33445d;
  font-size: 15px;
  font-weight: 600;
  vertical-align: middle;
  background: #fff;
}

.account-return-product-table td:first-child {
  border-left: 1px solid #e8edf3;
}

.account-return-product-table td:last-child {
  border-right: 1px solid #e8edf3;
}

.account-return-product-table td strong {
  color: #17233a;
  font-weight: 800;
}

.account-return-product-table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 10px;
}

.account-return-product-table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 10px;
}

@media (max-width: 767.98px) {
  .account-return-product-table {
    min-width: 0;
  }

  .account-return-product-table thead {
    display: none;
  }

  .account-return-product-table,
  .account-return-product-table tbody,
  .account-return-product-table tr,
  .account-return-product-table td {
    display: block;
    width: 100%;
  }

  .account-return-product-table tr {
    overflow: hidden;
    border: 1px solid #e8edf3;
    border-radius: 12px;
  }

  .account-return-product-table td {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 15px 13px 15px;
    border: 0;
    border-bottom: 1px solid #edf1f5;
    text-align: right;
  }

  .account-return-product-table td:last-child {
    border-bottom: 0;
  }

  .account-return-product-table td::before {
    content: attr(data-label);
    flex: 0 0 42%;
    color: #7c8aa1;
    font-size: 12px;
    font-weight: 800;
    text-align: left;
  }

  .account-return-product-table td:first-child,
  .account-return-product-table td:last-child {
    border-left: 0;
    border-right: 0;
    border-radius: 0;
  }
}


/* ==========================================================================
   STAGE 285 - Native-style separate Reason for Return table
   ========================================================================== */
.account-return-reason-card {
  margin-top: 18px;
}

.account-return-reason-table {
  min-width: 620px;
}

.account-return-reason-table th,
.account-return-reason-table td {
  width: 33.333%;
}

@media (max-width: 767.98px) {
  .account-return-reason-table {
    min-width: 0;
  }

  .account-return-reason-card {
    margin-top: 14px;
  }
}


/* ==========================================================================
   STAGE 286 - Keep Return History inside main Return Detail content
   ========================================================================== */
.account-return-info-sections > .account-return-info-card {
  width: 100%;
  min-width: 0;
}


/* ==========================================================================
   STAGE 287 - My Account Wish List
   ========================================================================== */
.account-wishlist-main {
  min-width: 0;
}

.account-wishlist-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e9edf2;
}

.account-wishlist-heading h2 {
  margin: 4px 0 7px;
  color: #172033;
  font-size: 27px;
  line-height: 1.2;
  font-weight: 800;
}

.account-wishlist-heading p {
  margin: 0;
  color: #7b8799;
  font-size: 15px;
  line-height: 1.55;
}

.account-wishlist-count {
  min-width: 44px;
  height: 44px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #fff1e8;
  color: #ff6500;
  font-size: 14px;
  font-weight: 800;
}

.account-wishlist-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}

.account-wishlist-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e5eaf0;
  border-radius: 14px;
  background: #fff;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.account-wishlist-card:hover {
  transform: translateY(-2px);
  border-color: #d9e0e8;
  box-shadow: 0 10px 25px rgba(23,32,51,.07);
}

.account-wishlist-image-link {
  display: block;
  text-decoration: none;
}

.account-wishlist-image {
  height: 210px;
  padding: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f8fafc;
  border-bottom: 1px solid #edf0f4;
}

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

.account-wishlist-card-body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 16px;
}

.account-wishlist-rating {
  min-height: 18px;
  margin-bottom: 7px;
  color: #ffb300;
  font-size: 12px;
  letter-spacing: 1px;
}

.account-wishlist-card-body h3 {
  min-height: 42px;
  margin: 0 0 12px;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 800;
}

.account-wishlist-card-body h3 a {
  color: #172033;
  text-decoration: none;
}

.account-wishlist-card-body h3 a:hover {
  color: #ff6500;
}

.account-wishlist-meta {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 0;
  border-top: 1px solid #edf0f4;
  color: #7d899a;
  font-size: 13px;
}

.account-wishlist-meta strong {
  color: #35445b;
  font-weight: 700;
  text-align: right;
}

.account-wishlist-stock {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 20px;
  color: #39855a;
  font-size: 13px;
  font-weight: 700;
}

.account-wishlist-stock i {
  font-size: 11px;
}

.account-wishlist-price {
  display: flex;
  align-items: baseline;
  gap: 9px;
  min-height: 33px;
  margin: 10px 0 14px;
}

.account-wishlist-price strong {
  color: #172033;
  font-size: 19px;
  font-weight: 800;
}

.account-wishlist-price del {
  color: #98a1ae;
  font-size: 13px;
}

.account-wishlist-price strong + del {
  color: #98a1ae;
}

.account-wishlist-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  gap: 9px;
  margin-top: auto;
}

.account-wishlist-cart,
.account-wishlist-remove {
  min-height: 44px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  transition: all .2s ease;
}

.account-wishlist-cart {
  border: 1px solid #ff6500;
  background: #ff6500;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.account-wishlist-cart:hover {
  background: #e95700;
  border-color: #e95700;
  transform: translateY(-1px);
}

.account-wishlist-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d9e0e8;
  background: #fff;
  color: #718096;
}

.account-wishlist-remove:hover {
  border-color: #efb8b8;
  background: #fff6f6;
  color: #d64545;
}

.account-wishlist-pagination {
  margin-top: 24px;
}

.account-wishlist-empty {
  margin-top: 22px;
  min-height: 360px;
  padding: 42px 25px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid #e5eaf0;
  border-radius: 14px;
  background: #fff;
}

.account-wishlist-empty-icon {
  width: 64px;
  height: 64px;
  margin-bottom: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: #fff1e8;
  color: #ff6500;
  font-size: 27px;
}

.account-wishlist-empty h3 {
  margin: 7px 0 7px;
  color: #172033;
  font-size: 21px;
  font-weight: 800;
}

.account-wishlist-empty p {
  margin: 0 0 18px;
  color: #7b8799;
  font-size: 15px;
}

.account-wishlist-empty .account-primary-button {
  min-height: 44px;
  padding: 10px 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 8px;
  background: #ff6500;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

@media (max-width: 1199.98px) {
  .account-wishlist-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .account-wishlist-heading h2 {
    font-size: 23px;
  }

  .account-wishlist-heading p {
    font-size: 14px;
  }

  .account-wishlist-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .account-wishlist-image {
    height: 220px;
  }

  .account-wishlist-card-body {
    padding: 15px;
  }
}

@media (max-width: 575.98px) {
  .account-wishlist-heading {
    gap: 12px;
  }

  .account-wishlist-count {
    min-width: 40px;
    height: 40px;
  }

  .account-wishlist-image {
    height: 200px;
  }

  .account-wishlist-card-body h3 {
    font-size: 15px;
  }

  .account-wishlist-cart span {
    font-size: 13px;
  }
}


/* ==========================================================================
   STAGE 288 - Wish List remove button processing state
   ========================================================================== */
.account-wishlist-remove.is-removing {
  opacity: .7;
  cursor: wait;
}
.account-wishlist-remove:disabled {
  pointer-events: none;
}


/* ==========================================================================
   STAGE 289 - Native Wish List remove link
   ========================================================================== */
.account-wishlist-remove {
  text-decoration: none;
}
.account-wishlist-remove:hover {
  text-decoration: none;
}
/* Stage 290 - My Account Forgotten Password */
.account-forgotten-page{background:#f8fafc;padding:58px 0 72px}
.account-forgotten-alert{max-width:1080px;margin:0 auto 22px;border-radius:12px;font-size:15px}
.account-forgotten-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.9fr);max-width:1080px;margin:0 auto;background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:22px;box-shadow:0 12px 38px rgba(15,23,42,.08);overflow:hidden}
.account-forgotten-intro{padding:46px 42px;background:linear-gradient(145deg,#111827 0%,#1f2937 100%);color:#fff;display:flex;flex-direction:column;justify-content:center}
.account-forgotten-intro h2{font-size:32px;line-height:1.15;font-weight:800;margin:18px 0 12px}
.account-forgotten-intro p{font-size:15px;line-height:1.7;color:rgba(255,255,255,.78);margin:0;max-width:430px}
.account-forgotten-benefits{display:grid;gap:13px;margin-top:28px}
.account-forgotten-benefits div{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700;color:rgba(255,255,255,.92)}
.account-forgotten-benefits i{width:20px;text-align:center;color:#fff}
.account-forgotten-login{margin-top:34px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;color:rgba(255,255,255,.72)}
.account-forgotten-login .account-register-login-link{color:#fff;font-weight:800;text-decoration:none}
.account-forgotten-form-card{padding:46px 42px;display:flex;flex-direction:column;justify-content:center}
.account-forgotten-form{display:grid;gap:24px;margin-top:8px}
.account-forgotten-group{display:grid;gap:9px}
.account-forgotten-group label{font-size:15px;font-weight:800;color:#111827;margin:0}
.account-forgotten-input-wrap{position:relative}
.account-forgotten-input-wrap>i{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:15px;color:#64748b;z-index:2;pointer-events:none}
.account-forgotten-input-wrap .form-control{height:48px;border:1px solid #dbe2ea;border-radius:10px;padding:10px 14px 10px 43px;font-size:15px;color:#111827;background:#fff;box-shadow:none}
.account-forgotten-input-wrap .form-control:focus{border-color:#94a3b8;box-shadow:0 0 0 3px rgba(15,23,42,.06)}
.account-forgotten-error{font-size:13px;color:#dc2626;line-height:1.5}
.account-forgotten-submit{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin-top:2px}
.account-forgotten-back{height:46px;min-width:105px;padding:0 17px;border:1px solid #dbe2ea;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#334155;background:#fff;text-decoration:none;font-size:14px;font-weight:800}
.account-forgotten-back:hover{color:#111827;border-color:#cbd5e1;background:#f8fafc}
.account-forgotten-submit .account-primary-button{margin:0}
@media (max-width:991.98px){
  .account-forgotten-shell{grid-template-columns:1fr;max-width:760px}
  .account-forgotten-intro{padding:38px 34px}
  .account-forgotten-form-card{padding:38px 34px}
}
@media (max-width:575.98px){
  .account-forgotten-page{padding:38px 0 52px}
  .account-forgotten-alert{font-size:14px}
  .account-forgotten-intro{padding:30px 24px}
  .account-forgotten-intro h2{font-size:26px}
  .account-forgotten-form-card{padding:30px 24px}
  .account-forgotten-submit{grid-template-columns:1fr}
  .account-forgotten-back,.account-forgotten-submit .account-primary-button{width:100%}
  .account-forgotten-login{margin-top:26px}
}

/* Stage 292 - Unified pagination: match Product Catalog across all paginated pages. */
.hg-unified-pagination .pagination,
.hg-unified-pagination.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
}
.hg-unified-pagination .pagination > li,
.hg-unified-pagination.pagination > li { margin: 0 !important; }
.hg-unified-pagination .pagination > li > a,
.hg-unified-pagination .pagination > li > span,
.hg-unified-pagination.pagination > li > a,
.hg-unified-pagination.pagination > li > span {
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e2e8f0 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #475569 !important;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 2px 7px rgba(15,23,42,.05);
    transition: all .2s ease;
}
.hg-unified-pagination .pagination > li > a:hover,
.hg-unified-pagination.pagination > li > a:hover {
    background: #fff5ed !important;
    border-color: var(--primary-orange) !important;
    color: var(--primary-orange) !important;
    transform: translateY(-1px);
}
.hg-unified-pagination .pagination > li.active > a,
.hg-unified-pagination .pagination > li.active > span,
.hg-unified-pagination .pagination > li > span[aria-current="page"],
.hg-unified-pagination.pagination > li.active > a,
.hg-unified-pagination.pagination > li.active > span,
.hg-unified-pagination.pagination > li > span[aria-current="page"] {
    background: var(--primary-orange) !important;
    border-color: var(--primary-orange) !important;
    color: #fff !important;
    box-shadow: 0 5px 12px rgba(255,102,0,.22);
}
.hg-unified-pagination .pagination > li.disabled > span,
.hg-unified-pagination .pagination > li.disabled > a,
.hg-unified-pagination.pagination > li.disabled > span,
.hg-unified-pagination.pagination > li.disabled > a {
    opacity: .45;
    cursor: default;
    pointer-events: none;
}
.hg-unified-pagination .pagination > li:first-child > a,
.hg-unified-pagination .pagination > li:first-child > span,
.hg-unified-pagination .pagination > li:last-child > a,
.hg-unified-pagination .pagination > li:last-child > span,
.hg-unified-pagination.pagination > li:first-child > a,
.hg-unified-pagination.pagination > li:first-child > span,
.hg-unified-pagination.pagination > li:last-child > a,
.hg-unified-pagination.pagination > li:last-child > span {
    border-radius: 20px !important;
    min-width: 76px;
}
@media (max-width: 575.98px) {
    .hg-unified-pagination .pagination,
    .hg-unified-pagination.pagination { gap: 6px; }
    .hg-unified-pagination .pagination > li > a,
    .hg-unified-pagination .pagination > li > span,
    .hg-unified-pagination.pagination > li > a,
    .hg-unified-pagination.pagination > li > span {
        min-width: 36px;
        height: 36px;
        padding: 0 10px;
        font-size: 12px;
    }
    .hg-unified-pagination .pagination > li:first-child > a,
    .hg-unified-pagination .pagination > li:first-child > span,
    .hg-unified-pagination .pagination > li:last-child > a,
    .hg-unified-pagination .pagination > li:last-child > span,
    .hg-unified-pagination.pagination > li:first-child > a,
    .hg-unified-pagination.pagination > li:first-child > span,
    .hg-unified-pagination.pagination > li:last-child > a,
    .hg-unified-pagination.pagination > li:last-child > span {
        min-width: 64px;
    }
}


/* Stage 331 - HomeGenerators Global Form Design System */
:root{
  --hg-form-border:#dfe5ec;
  --hg-form-text:#1f2937;
  --hg-form-label:#263246;
  --hg-form-muted:#7b8494;
  --hg-form-focus:#ff7a1a;
  --hg-form-focus-ring:rgba(255,107,0,.10);
  --hg-form-radius:10px;
  --hg-form-height:46px;
}

/* All storefront forms use the same HomeGenerators form language.
   Header search and language/currency forms keep their existing specialised UI. */
form:not(#headerSearchForm):not(.header-locale-form) .form-control,
form:not(#headerSearchForm):not(.header-locale-form) .form-select,
form:not(#headerSearchForm):not(.header-locale-form) input[type="text"],
form:not(#headerSearchForm):not(.header-locale-form) input[type="email"],
form:not(#headerSearchForm):not(.header-locale-form) input[type="password"],
form:not(#headerSearchForm):not(.header-locale-form) input[type="tel"],
form:not(#headerSearchForm):not(.header-locale-form) input[type="number"],
form:not(#headerSearchForm):not(.header-locale-form) input[type="url"],
form:not(#headerSearchForm):not(.header-locale-form) input[type="date"],
form:not(#headerSearchForm):not(.header-locale-form) input[type="time"],
form:not(#headerSearchForm):not(.header-locale-form) textarea{
  min-height:var(--hg-form-height);
  border:1px solid var(--hg-form-border);
  border-radius:var(--hg-form-radius);
  background:#fff;
  color:var(--hg-form-text);
  font-size:.8rem;
  line-height:1.4;
  box-shadow:none;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}

form:not(#headerSearchForm):not(.header-locale-form) .form-control,
form:not(#headerSearchForm):not(.header-locale-form) input[type="text"],
form:not(#headerSearchForm):not(.header-locale-form) input[type="email"],
form:not(#headerSearchForm):not(.header-locale-form) input[type="password"],
form:not(#headerSearchForm):not(.header-locale-form) input[type="tel"],
form:not(#headerSearchForm):not(.header-locale-form) input[type="number"],
form:not(#headerSearchForm):not(.header-locale-form) input[type="url"],
form:not(#headerSearchForm):not(.header-locale-form) input[type="date"],
form:not(#headerSearchForm):not(.header-locale-form) input[type="time"]{
  height:var(--hg-form-height);
  padding:0 13px;
}

form:not(#headerSearchForm):not(.header-locale-form) textarea{
  height:auto;
  min-height:110px;
  padding:12px 13px;
  resize:vertical;
}

form:not(#headerSearchForm):not(.header-locale-form) .form-select,
form:not(#headerSearchForm):not(.header-locale-form) select{
  min-height:var(--hg-form-height);
  padding:0 38px 0 13px;
  border-radius:var(--hg-form-radius);
}

form:not(#headerSearchForm):not(.header-locale-form) .form-control::placeholder,
form:not(#headerSearchForm):not(.header-locale-form) textarea::placeholder{
  color:#a3adbb;
  opacity:1;
}

form:not(#headerSearchForm):not(.header-locale-form) .form-control:focus,
form:not(#headerSearchForm):not(.header-locale-form) .form-select:focus,
form:not(#headerSearchForm):not(.header-locale-form) input:focus,
form:not(#headerSearchForm):not(.header-locale-form) select:focus,
form:not(#headerSearchForm):not(.header-locale-form) textarea:focus{
  border-color:var(--hg-form-focus);
  box-shadow:0 0 0 3px var(--hg-form-focus-ring);
  outline:0;
}

form:not(#headerSearchForm):not(.header-locale-form) input:disabled,
form:not(#headerSearchForm):not(.header-locale-form) select:disabled,
form:not(#headerSearchForm):not(.header-locale-form) textarea:disabled{
  background:#f8fafc;
  color:#8a94a3;
  cursor:not-allowed;
}

form:not(#headerSearchForm):not(.header-locale-form) label{
  color:var(--hg-form-label);
  font-size:.78rem;
  font-weight:750;
}

form:not(#headerSearchForm):not(.header-locale-form) .form-check-label{
  font-size:.77rem;
  font-weight:600;
  color:#4b5563;
}

form:not(#headerSearchForm):not(.header-locale-form) .form-check-input{
  border-color:#cfd7e2;
  box-shadow:none;
}

form:not(#headerSearchForm):not(.header-locale-form) .form-check-input:focus{
  border-color:var(--hg-form-focus);
  box-shadow:0 0 0 3px var(--hg-form-focus-ring);
}

form:not(#headerSearchForm):not(.header-locale-form) .form-check-input:checked{
  background-color:#ff6b00;
  border-color:#ff6b00;
}

form:not(#headerSearchForm):not(.header-locale-form) input[type="radio"],
form:not(#headerSearchForm):not(.header-locale-form) input[type="checkbox"]{
  accent-color:#ff6b00;
}

form:not(#headerSearchForm):not(.header-locale-form) .text-danger,
form:not(#headerSearchForm):not(.header-locale-form) .invalid-feedback,
form:not(#headerSearchForm):not(.header-locale-form) .account-register-error{
  color:#dc3545;
  font-size:.68rem;
  margin-top:5px;
}

form:not(#headerSearchForm):not(.header-locale-form) .has-error .form-control,
form:not(#headerSearchForm):not(.header-locale-form) .has-error .form-select,
form:not(#headerSearchForm):not(.header-locale-form) .is-invalid{
  border-color:#dc3545;
  box-shadow:0 0 0 3px rgba(220,53,69,.08);
}

form:not(#headerSearchForm):not(.header-locale-form) .alert{
  border-radius:10px;
  font-size:.78rem;
}

form:not(#headerSearchForm):not(.header-locale-form) .btn-primary,
form:not(#headerSearchForm):not(.header-locale-form) .button-primary,
form:not(#headerSearchForm):not(.header-locale-form) button[type="submit"]{
  min-height:46px;
  border-radius:10px;
  border:1px solid #ff6b00;
  background:#ff6b00;
  color:#fff;
  font-size:.8rem;
  font-weight:800;
  padding:10px 18px;
  box-shadow:0 7px 16px rgba(255,107,0,.20);
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease;
}

form:not(#headerSearchForm):not(.header-locale-form) .btn-primary:hover,
form:not(#headerSearchForm):not(.header-locale-form) .button-primary:hover,
form:not(#headerSearchForm):not(.header-locale-form) button[type="submit"]:hover{
  background:#f56600;
  border-color:#f56600;
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 9px 18px rgba(255,107,0,.24);
}

form:not(#headerSearchForm):not(.header-locale-form) .btn-primary:focus,
form:not(#headerSearchForm):not(.header-locale-form) .button-primary:focus,
form:not(#headerSearchForm):not(.header-locale-form) button[type="submit"]:focus{
  outline:0;
  box-shadow:0 0 0 3px var(--hg-form-focus-ring),0 7px 16px rgba(255,107,0,.20);
}

form:not(#headerSearchForm):not(.header-locale-form) .btn-secondary,
form:not(#headerSearchForm):not(.header-locale-form) .button-secondary{
  min-height:46px;
  border-radius:10px;
  border:1px solid #dce3eb;
  background:#fff;
  color:#253247;
  font-size:.8rem;
  font-weight:800;
}

form:not(#headerSearchForm):not(.header-locale-form) .btn-secondary:hover,
form:not(#headerSearchForm):not(.header-locale-form) .button-secondary:hover{
  border-color:#ff6b00;
  color:#ff6b00;
  background:#fffaf5;
}

/* Checkout AJAX fragments inherit the same HomeGenerators controls. */
.checkout-opencart .form-control,
.checkout-opencart .form-select,
.checkout-opencart input[type="text"],
.checkout-opencart input[type="email"],
.checkout-opencart input[type="password"],
.checkout-opencart input[type="tel"],
.checkout-opencart input[type="number"],
.checkout-opencart select,
.checkout-opencart textarea{
  min-height:46px;
  border:1px solid #dfe5ec;
  border-radius:10px;
  background:#fff;
  color:#1f2937;
  font-size:.8rem;
  box-shadow:none;
  transition:border-color .18s ease,box-shadow .18s ease;
}

.checkout-opencart .form-control,
.checkout-opencart input[type="text"],
.checkout-opencart input[type="email"],
.checkout-opencart input[type="password"],
.checkout-opencart input[type="tel"],
.checkout-opencart input[type="number"]{
  height:46px;
  padding:0 13px;
}

.checkout-opencart textarea{
  min-height:110px;
  padding:12px 13px;
}

.checkout-opencart .form-select,
.checkout-opencart select{
  height:46px;
  padding:0 38px 0 13px;
}

.checkout-opencart .form-control:focus,
.checkout-opencart .form-select:focus,
.checkout-opencart input:focus,
.checkout-opencart select:focus,
.checkout-opencart textarea:focus{
  border-color:#ff7a1a;
  box-shadow:0 0 0 3px rgba(255,107,0,.10);
  outline:0;
}

.checkout-opencart label{
  color:#263246;
  font-size:.78rem;
  font-weight:750;
}

.checkout-opencart .btn-primary,
.checkout-opencart button[type="submit"]{
  min-height:46px;
  border-radius:10px;
  border:1px solid #ff6b00;
  background:#ff6b00;
  color:#fff;
  font-size:.8rem;
  font-weight:800;
  box-shadow:0 7px 16px rgba(255,107,0,.20);
}

@media(max-width:767.98px){
  form:not(#headerSearchForm):not(.header-locale-form) .form-control,
  form:not(#headerSearchForm):not(.header-locale-form) .form-select,
  form:not(#headerSearchForm):not(.header-locale-form) input[type="text"],
  form:not(#headerSearchForm):not(.header-locale-form) input[type="email"],
  form:not(#headerSearchForm):not(.header-locale-form) input[type="password"],
  form:not(#headerSearchForm):not(.header-locale-form) input[type="tel"],
  form:not(#headerSearchForm):not(.header-locale-form) input[type="number"],
  form:not(#headerSearchForm):not(.header-locale-form) select{
    min-height:46px;
  }
}

