/* --- CUSTOM N-PARTS CSS (V40: One Page Simulation) --- */

/* ... (Previous content implied) ... */
/* Include critical parts for Products Slider & Cart Grid from V39 */

/* =========================================
   1. PRODUCTS SLIDER FIX (V31)
   ========================================= */
.featured-products .products, 
.new-products .products,
.product-accessories .products,
.crossselling-products .products { display: flex !important; flex-wrap: nowrap !important; justify-content: flex-start !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; scroll-snap-type: x mandatory !important; gap: 15px !important; padding-bottom: 20px !important; margin-right: -15px !important; padding-right: 15px !important; margin-left: 0 !important; padding-left: 0 !important; }
.featured-products .products .product, .new-products .products .product, .product-accessories .products .product, .crossselling-products .products .product { flex: 0 0 240px !important; width: 240px !important; min-width: 240px !important; max-width: 240px !important; margin: 0 !important; padding: 0 !important; scroll-snap-align: start !important; }
.featured-products .products .product-miniature, .new-products .products .product-miniature { margin: 0 !important; height: 100% !important; }
.featured-products .products::-webkit-scrollbar, .new-products .products::-webkit-scrollbar { height: 6px !important; background: transparent !important; }
.featured-products .products::-webkit-scrollbar-thumb, .new-products .products::-webkit-scrollbar-thumb { background: #e0e0e0 !important; border-radius: 3px !important; }

/* =========================================
   2. CART LAYOUT & REPAIR (V35+V37)
   ========================================= */
@media (min-width: 992px) {
    body#cart .cart-grid, body#checkout section#content .row { display: flex !important; flex-wrap: nowrap !important; justify-content: center !important; align-items: flex-start !important; gap: 30px !important; max-width: 1200px !important; margin: 0 auto !important; }
    body#cart .cart-grid-body, body#checkout .cart-grid-body { flex: 1 1 auto !important; width: 100% !important; max-width: 800px !important; min-width: 0 !important; }
    body#cart .cart-grid-right, body#checkout .cart-grid-right { flex: 0 0 350px !important; width: 350px !important; max-width: 350px !important; margin-top: 0 !important; }
}
body#cart .cart-item { padding: 20px 0 !important; border-bottom: 1px solid #eee !important; }
body#cart .product-line-grid { display: flex !important; align-items: flex-start !important; flex-wrap: nowrap !important; margin-right: 0 !important; margin-left: 0 !important; }
body#cart .product-line-grid-left { flex: 0 0 100px !important; max-width: 100px !important; padding-right: 15px !important; }
body#cart .product-line-grid-left img { max-width: 100% !important; height: auto !important; border-radius: 6px !important; border: 1px solid #f0f0f0 !important; display: block !important; }
body#cart .product-line-grid-body { flex: 1 1 auto !important; margin-top: 0 !important; padding-right: 15px !important; display: flex !important; flex-direction: column !important; justify-content: center !important; min-height: 80px !important; }
body#cart .product-line-grid-body .product-title { font-size: 16px !important; line-height: 1.4 !important; margin-bottom: 5px !important; font-weight: 600 !important; }
body#cart .product-line-grid-body .product-title a { color: #333 !important; }
body#cart .product-line-grid-right { flex: 0 0 160px !important; max-width: 160px !important; display: flex !important; flex-direction: column !important; align-items: flex-end !important; justify-content: flex-start !important; gap: 10px !important; }
body#cart .product-line-grid-right .row { display: contents !important; }
body#cart .product-line-grid-right > div { display: contents !important; }
body#cart .product-line-grid-right .price { font-size: 18px !important; font-weight: 700 !important; color: #000 !important; text-align: right !important; display: block !important; width: 100% !important; }
body#cart .product-line-grid-right .qty { width: auto !important; display: block !important; margin: 0 !important; }
body#cart .input-group.bootstrap-touchspin { display: flex !important; flex-direction: row !important; align-items: center !important; width: 110px !important; height: 36px !important; background: #fff !important; border: 1px solid #ddd !important; border-radius: 4px !important; box-shadow: none !important; padding: 0 !important; }
body#cart .input-group-btn-vertical { display: none !important; }
body#cart .input-group-btn { display: block !important; width: auto !important; height: 100% !important; }
body#cart .bootstrap-touchspin-down { order: 1 !important; position: static !important; width: 30px !important; height: 100% !important; border: none !important; border-right: 1px solid #ddd !important; background: #f8f8f8 !important; display: flex !important; align-items: center !important; justify-content: center !important; }
body#cart input.js-cart-line-product-quantity { order: 2 !important; position: static !important; width: 48px !important; height: 100% !important; border: none !important; background: #fff !important; color: #333 !important; font-size: 14px !important; text-align: center !important; padding: 0 !important; margin: 0 !important; }
body#cart .bootstrap-touchspin-up { order: 3 !important; position: static !important; width: 30px !important; height: 100% !important; border: none !important; border-left: 1px solid #ddd !important; background: #f8f8f8 !important; display: flex !important; align-items: center !important; justify-content: center !important; }
body#cart .bootstrap-touchspin-down::after { content: "-" !important; font-size: 20px !important; line-height: 1 !important; color: #555 !important; }
body#cart .bootstrap-touchspin-up::after { content: "+" !important; font-size: 20px !important; line-height: 1 !important; color: #555 !important; }
body#cart .btn-touchspin i, body#cart .btn-touchspin img { display: none !important; }
body#cart .remove-from-cart { display: inline-block !important; color: #bbb !important; font-size: 20px !important; transition: color 0.2s !important; margin-right: 5px !important; }
body#cart .remove-from-cart:hover { color: #d0021b !important; }

/* =========================================
   3. GENERAL FIXES
   ========================================= */
#search_widget form input[type="text"], .search-widget form input[type="text"], .block-search form input[type="text"] { padding-left: 45px !important; background-position: 10px center !important; }
#search_widget form i, .search-widget form i { position: absolute !important; left: 10px !important; top: 50% !important; transform: translateY(-50%) !important; z-index: 10 !important; color: #555 !important; pointer-events: none !important; }
#search_widget form i.search, .search-widget form i.search { left: 15px !important; right: auto !important; }
#blockcart-modal .cart-products-count { background: transparent !important; border: none !important; color: #333 !important; font-size: 16px !important; padding: 0 !important; margin-bottom: 15px !important; display: block !important; position: static !important; }
#blockcart-modal .cart-content-btn { display: flex !important; flex-direction: column !important; gap: 10px !important; width: 100% !important; }
#blockcart-modal .cart-content-btn .btn { width: 100% !important; }
body#cart .cart-summary, body#checkout .cart-summary { background: #fff !important; border: 1px solid #e1e1e1 !important; border-radius: 12px !important; padding: 20px !important; box-shadow: 0 5px 15px rgba(0,0,0,0.05) !important; width: 100% !important; }
body#cart .cart-summary-line, body#checkout .cart-summary-line { display: flex !important; justify-content: space-between !important; margin-bottom: 10px !important; }
body#cart .cart-summary-line .value, body#checkout .cart-summary-line .value { text-align: right !important; font-weight: 600 !important; margin-left: auto !important; }
body#cart .checkout .btn-primary { background: linear-gradient(135deg, #ff8000 0%, #ff5500 100%) !important; border: none !important; border-radius: 8px !important; font-weight: 700 !important; font-size: 13px !important; text-transform: uppercase !important; color: #fff !important; display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; padding: 12px 15px !important; }
body#cart .block-promo.security-block { margin-top: 25px !important; text-align: center !important; color: #999 !important; font-size: 13px !important; }
body#cart .payment-methods-img { margin-top: 12px !important; display: flex !important; justify-content: center !important; gap: 12px !important; opacity: 0.8 !important; filter: grayscale(100%) !important; } body#cart .payment-methods-img:hover { filter: grayscale(0%) !important; }
@media (max-width: 767px) { .product-cover img { max-height: 300px !important; width: auto !important; margin: 0 auto !important; display: block !important; } .images-container { margin-bottom: 20px !important; } body#cart .cart-item { padding: 15px 0 !important; } body#cart .product-line-grid { flex-wrap: nowrap !important; align-items: flex-start !important; gap: 10px !important; } body#cart .product-line-grid-left { flex: 0 0 80px !important; max-width: 80px !important; padding-right: 10px !important; } body#cart .product-line-grid-body { flex: 1 1 auto !important; width: auto !important; padding-right: 5px !important; min-height: 0 !important; } body#cart .product-line-grid-body .product-title { font-size: 13px !important; margin-bottom: 5px !important; } body#cart .product-line-grid-right { flex: 0 0 auto !important; width: auto !important; max-width: none !important; align-items: flex-end !important; } body#cart .input-group.bootstrap-touchspin { width: 100px !important; height: 32px !important; } body#cart .bootstrap-touchspin-down, body#cart .bootstrap-touchspin-up { width: 28px !important; } body#cart input.js-cart-line-product-quantity { width: 40px !important; font-size: 13px !important; } body#cart .product-line-grid-right .price { font-size: 15px !important; } #blockcart-modal .modal-dialog { margin: 10px !important; width: auto !important; } #blockcart-modal .modal-body { padding: 15px !important; } body#checkout section#content .row { gap: 0 !important; } }

/* =========================================
   4. PREMIUM CHECKOUT FORMS (V38)
   ========================================= */
#customer-form input.form-control, #login-form input.form-control, .address-form input.form-control { border: 1px solid #ddd !important; border-radius: 6px !important; padding: 12px 15px !important; font-size: 14px !important; height: auto !important; background: #fdfdfd !important; box-shadow: none !important; transition: all 0.2s !important; }
#customer-form input.form-control:focus, #login-form input.form-control:focus, .address-form input.form-control:focus { border-color: #ff8000 !important; box-shadow: 0 0 0 3px rgba(255,128,0,0.1) !important; background: #fff !important; outline: none !important; }
#customer-form .form-control-label, .address-form .form-control-label { padding-top: 0 !important; font-weight: 600 !important; font-size: 13px !important; text-transform: uppercase !important; color: #666 !important; margin-bottom: 6px !important; text-align: left !important; }
#checkout .continue, #checkout .btn-primary { background: linear-gradient(135deg, #ff8000 0%, #ff5500 100%) !important; border: none !important; border-radius: 6px !important; color: #fff !important; font-weight: 700 !important; text-transform: uppercase !important; padding: 12px 25px !important; box-shadow: 0 4px 6px rgba(255,85,0,0.2) !important; transition: transform 0.2s !important; }
#checkout .continue:hover, #checkout .btn-primary:hover { transform: translateY(-1px) !important; box-shadow: 0 6px 10px rgba(255,85,0,0.3) !important; }
.form-informations { background: #fafafa !important; border-radius: 8px !important; padding: 10px 15px !important; margin-bottom: 20px !important; border: 1px dashed #e0e0e0 !important; opacity: 0.8 !important; }
.form-informations-title { color: #555 !important; font-size: 14px !important; }
.form-informations-subtitle { font-size: 12px !important; }
.radio-inline .custom-radio { display: none !important; }
#header .header-nav { background: #fff !important; border-bottom: 1px solid #eee !important; box-shadow: 0 2px 10px rgba(0,0,0,0.03) !important; color: #333 !important; }
#header .header-nav .contact-link a, #header .header-nav .user-info a, #header .header-nav .blockcart a, #header .header-nav a { color: #333 !important; font-weight: 500 !important; opacity: 0.8 !important; }
#header .header-nav a:hover { color: #ff8000 !important; opacity: 1 !important; text-decoration: none !important; }
body#checkout section#content { background: #f8f8f8 !important; padding-top: 30px !important; padding-bottom: 50px !important; }
/* body#checkout section.checkout-step { background: #fff !important; border: 1px solid #eee !important; border-radius: 12px !important; padding: 30px !important; box-shadow: 0 5px 20px rgba(0,0,0,0.02) !important; margin-bottom: 20px !important; } */

/* =========================================
   7. V40: ONE PAGE SIMULATION
   ========================================= */

/* Make steps look like seamless sections */
body#checkout section.checkout-step {
    background: #fff !important;
    border: 1px solid #e1e1e1 !important;
    border-radius: 8px !important;
    padding: 25px !important;
    margin-bottom: 15px !important; /* Tighten gap */
    box-shadow: 0 2px 5px rgba(0,0,0,0.02) !important;
}

/* Header Styling: Make it look like a section title, not a disjointed step */
#checkout .step-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #333 !important;
    border-bottom: 1px solid #eee !important;
    padding-bottom: 10px !important;
    margin-bottom: 20px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

/* Edit button: Small and subtle */
#checkout .step-edit {
    font-size: 12px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    color: #999 !important;
    background: #f5f5f5 !important;
    padding: 5px 10px !important;
    border-radius: 4px !important;
}
#checkout .step-edit:hover {
    background: #eee !important;
    color: #333 !important;
}
#checkout .step-edit .material-icons { font-size: 14px !important; vertical-align: middle !important; margin-right: 2px !important; }

/* Completed Steps: Keep them contrasting/visible */
body#checkout section.checkout-step.-complete {
    background: #fafafa !important; /* Slightly distinct but readable */
    opacity: 1 !important; /* Force full opacity */
    cursor: default !important;
}
body#checkout section.checkout-step.-complete .step-title {
    color: #555 !important;
}

/* Current Step: Pop out */
body#checkout section.checkout-step.-current {
    border: 1px solid #ff8000 !important; /* Highlight active step */
    box-shadow: 0 0 0 3px rgba(255,128,0,0.05) !important;
}

/* Remove default step numbers if template edit failed/reverted (fallback) */
.step-number { display: none !important; }
