@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap');

/* =========================================
   1. GLOBAL & BASICS
   ========================================= */
* { 
    margin: 0; 
    padding: 0; 
    box-sizing: border-box !important; 
}
html, body { 
    width: 100%; 
    max-width: 100%; 
    overflow-x: hidden !important; 
    background-color: #ffffff; 
    color: #000000; 
    font-family: 'Poppins', sans-serif; 
    scroll-behavior: smooth; 
}

/* =========================================
   2. HEADER, NAVBAR & SIDEBAR
   ========================================= */
.announcement-bar { 
    background-color: #000000; 
    color: #ffffff; 
    padding: 10px 0; 
    overflow: hidden; 
    white-space: nowrap; 
    position: relative; 
    width: 100%; 
}
.scrolling-text { 
    display: inline-block; 
    animation: slide-left 15s linear infinite; 
    font-size: 14px; 
    font-weight: 500; 
}
.highlight { color: #ff0000; }

@keyframes slide-left { 
    0% { transform: translateX(100vw); } 
    100% { transform: translateX(-100%); } 
}

.navbar { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    padding: 0px 50px; 
    background-color: #FFC81E; 
    width: 100%; 
}
.brand-link { 
    display: flex; 
    align-items: center; 
    text-decoration: none; 
}
.nav-logo-icon { 
    height: 60px; 
    width: auto; 
    object-fit: contain; 
    margin-left: 20px; 
}
.nav-right { 
    display: flex; 
    align-items: center; 
    gap: 30px; 
}
.navbar nav a { 
    text-decoration: none; 
    color: #000000 !important; 
    margin-left: 15px; 
    font-size: 15px; 
    font-weight: 700; 
    text-transform: uppercase; 
    transition: color 0.3s; 
}
.navbar nav a:hover { color: #ff0000 !important; }
.navbar nav a.highlight-link { color: #ff0000 !important; font-weight: 900; }

.search-form { 
    display: flex; 
    border: 1px solid #000000; 
    border-radius: 5px; 
    overflow: hidden; 
    background-color: #ffffff; 
    margin: 5px 0; 
}
.search-form input { 
    padding: 8px 12px; 
    border: none; 
    outline: none; 
    font-size: 14px; 
    width: 180px; 
    color: #000000; 
    font-family: inherit; 
}
.btn-search { 
    background-color: #000000; 
    color: #ffffff; 
    border: none; 
    padding: 8px 15px; 
    cursor: pointer; 
    font-size: 14px; 
    font-weight: 700; 
    font-family: inherit; 
    text-transform: uppercase; 
    transition: 0.3s; 
}
.btn-search:hover { background-color: #333333; }

.cart-icon-wrapper { 
    position: relative; 
    display: flex; 
    align-items: center; 
    text-decoration: none; 
    margin-left: 20px; 
    transition: 0.3s; 
}
.cart-icon-wrapper:hover { transform: scale(1.1); }
.cart-icon-wrapper img { width: 30px; height: 30px; filter: invert(0); }
.cart-count-badge { 
    position: absolute; 
    top: -8px; 
    right: -12px; 
    background: #ff0000; 
    color: #fff; 
    font-size: 11px; 
    font-weight: 900; 
    padding: 2px 7px; 
    border-radius: 50%; 
    border: 2px solid #FFC81E; 
}

/* Sidebar Elements */
.mobile-menu-btn { display: none; font-size: 26px; font-weight: 900; cursor: pointer; color: #000; }
.mobile-search-toggle { display: none; width: 22px; height: 22px; cursor: pointer; }
.mobile-sidebar { 
    display: block; 
    position: fixed; 
    top: 0; 
    left: -300px; 
    width: 260px; 
    height: 100vh; 
    background: #fff; 
    z-index: 10000; 
    transition: left 0.3s ease; 
    padding: 20px; 
    box-shadow: 2px 0 15px rgba(0,0,0,0.2); 
}
.mobile-sidebar.open { left: 0; }
.close-btn { 
    font-size: 35px; 
    text-decoration: none; 
    color: #000; 
    display: block; 
    text-align: right; 
    margin-bottom: 20px; 
    line-height: 1; 
}
.mobile-sidebar nav { display: flex; flex-direction: column; gap: 15px; }
.mobile-sidebar nav a { 
    color: #000; 
    text-decoration: none; 
    font-size: 16px; 
    font-weight: 800; 
    text-transform: uppercase; 
    border-bottom: 1px solid #eee; 
    padding-bottom: 10px; 
}

/* =========================================
   3. HOME PAGE (BANNERS & GRID)
   ========================================= */
.strict-banner-container { width: 100%; max-width: 100%; overflow: hidden; display: block; }
.strict-banner-container img { width: 100% !important; height: auto !important; display: block; margin: 0; padding: 0; }
.products-section { padding: 50px 20px 10px 20px; background-color: #ffffff; text-align: center; width: 100%; }
.section-title { font-size: 32px; margin-bottom: 40px; font-weight: 900; text-transform: uppercase; text-align: center; }

.product-grid { 
    display: grid; 
    grid-template-columns: repeat(4, 1fr); 
    gap: 25px; 
    width: 100%; 
    max-width: 1300px; 
    margin: 0 auto; 
}
.product-card { 
    width: 100%; 
    height: 100%; 
    display: flex; 
    flex-direction: column; 
    border: none; 
    overflow: hidden; 
    background-color: #ffffff; 
    position: relative; 
    transition: transform 0.3s ease, box-shadow 0.3s ease; 
    cursor: pointer;
}
.product-card:hover { transform: translateY(-8px); box-shadow: 0 15px 30px rgba(0,0,0,0.08); }

.discount-badge { 
    position: absolute; top: 10px; left: 10px; 
    background-color: #ff0000; color: #ffffff; 
    padding: 6px 12px; font-size: 12px; 
    font-weight: 700; z-index: 10; 
    border-radius: 3px; text-transform: uppercase; 
}
.sale-tag { 
    position: absolute; top: 12px; right: 12px; 
    background: linear-gradient(45deg, #ff0000, #cc0000); 
    color: #ffffff; padding: 5px 12px; 
    font-size: 11px; font-weight: 900; 
    z-index: 10; border-radius: 20px; 
    text-transform: uppercase; letter-spacing: 1px; 
    box-shadow: 0 4px 10px rgba(255, 0, 0, 0.4); 
    border: 1px solid #ff3333; 
}
.out-of-stock-badge { 
    position: absolute; top: 10px; left: 10px; 
    background-color: #111; color: #fff; 
    padding: 6px 12px; font-size: 12px; 
    font-weight: 800; z-index: 10; 
    border-radius: 3px; text-transform: uppercase; 
    border: 1px solid #444; letter-spacing: 1px; 
}
.is-out-of-stock img { opacity: 0.5; filter: grayscale(80%); }

.product-card img { width: 100%; height: 320px; object-fit: cover; }
.product-info { padding: 15px; text-align: center; display: flex; flex-direction: column; flex-grow: 1; padding-bottom: 25px; }
.product-info h3 { font-size: 18px; margin-bottom: 8px; color: #000000; font-weight: 700; }
.product-reviews { margin-bottom: 12px; font-size: 14px; }
.product-reviews .stars { color: #FFC81E; letter-spacing: 2px; }
.product-reviews .review-count { color: #000000; font-size: 13px; margin-left: 5px; opacity: 0.7; font-weight: 500; }
.price { display: flex; flex-direction: column; align-items: center; gap: 2px; margin-bottom: 15px; }
.old-price { color: #888; font-size: 14px; text-decoration: line-through; font-weight: 500; }
.new-price { font-size: 20px; color: #ff0000 !important; font-weight: 900; }

.btn-see-all-container { text-align: center; margin-top: 60px; margin-bottom: 30px; }
.btn-see-all { 
    position: relative; display: inline-flex; align-items: center; 
    justify-content: center; padding: 18px 50px; 
    background-color: #000; color: #FFC81E; 
    font-size: 17px; font-weight: 900; 
    text-transform: uppercase; text-decoration: none; 
    border: 2px solid #FFC81E; letter-spacing: 2px; 
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); 
    overflow: hidden; z-index: 1; border-radius: 0; 
}
.btn-see-all::after { 
    content: ''; position: absolute; top: 0; left: -100%; 
    width: 100%; height: 100%; 
    background: linear-gradient(120deg, transparent, rgba(255, 200, 30, 0.4), transparent); 
    transition: all 0.6s; z-index: -1; 
    animation: shimmer-btn 3.5s infinite; 
}
@keyframes shimmer-btn { 0% { left: -100%; } 20% { left: 100%; } 100% { left: 100%; } }
.btn-see-all:hover { background-color: #FFC81E; color: #000; transform: translateY(-5px) scale(1.03); box-shadow: 0 10px 25px rgba(255, 200, 30, 0.4); }

/* VIP AUTHENTICITY BAR */
.authentic-bar {
    background: linear-gradient(90deg, #050505 0%, #1a1a1a 50%, #050505 100%);
    color: #e0e0e0;
    text-align: center;
    padding: 12px 15px;
    font-size: 15px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    width: 100%;
    border-bottom: 2px solid #FFC81E;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
}
.authentic-bar img { width: 24px; height: 24px; }
.authentic-bar .gold-text { color: #FFC81E; font-weight: 800; }

/* =========================================
   4. PRODUCT VIP PAGE
   ========================================= */
.premium-product-container { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; max-width: 1200px; margin: 0 auto 40px auto; padding: 0 20px; }
.left-column { display: flex; flex-direction: column; }
.premium-gallery { display: flex; flex-direction: column !important; }
.main-image-box { order: 1 !important; width: 100%; flex: 1; border-radius: 0; overflow: hidden; border: none; background: transparent; margin-top: 0; }
.main-image-box img { width: 100%; height: 500px; object-fit: contain; display: block; }
.thumbnail-strip { order: 2 !important; display: flex; flex-direction: row !important; width: 100% !important; max-height: none !important; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 20px; padding-right: 0 !important; }
.thumb { width: 75px !important; height: 75px !important; object-fit: cover; border-radius: 0; border: 2px solid transparent; cursor: pointer; transition: 0.3s; opacity: 0.7; flex-shrink: 0; }
.thumb:hover, .thumb.active { border-color: #FFC81E; opacity: 1; }

.sexy-description-box { margin-top: 30px; background: linear-gradient(145deg, #111 0%, #000 100%); padding: 30px; border-radius: 0; border: 1px solid #333; border-left: 5px solid #FFC81E; color: #fff; box-shadow: 0 10px 30px rgba(0,0,0,0.15); position: relative; overflow: hidden; }
.sexy-description-box::after { content: 'PASHA'; position: absolute; right: -10px; bottom: -20px; font-size: 80px; font-weight: 900; color: rgba(255, 200, 30, 0.05); z-index: 0; pointer-events: none; }
.sexy-desc-header { display: flex; align-items: center; gap: 12px; margin-bottom: 15px; position: relative; z-index: 1; }
.sexy-desc-header img { width: 25px; }
.sexy-desc-header h3 { color: #FFC81E; font-size: 20px; font-weight: 700; text-transform: uppercase; margin: 0; letter-spacing: 1px;}
.sexy-desc-content { font-size: 15px; line-height: 1.8; color: #ddd; position: relative; z-index: 1; font-weight: 400; }

.premium-info { display: flex; flex-direction: column; margin-top: 20px; }
.stock-deal-row { display: flex; align-items: center; margin-bottom: 8px; gap: 10px; }
.small-stock-status { font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: 1.5px; display: inline-block; }
.in-stock-color { color: #28a745; }
.out-stock-color { color: #dc3545; }
.premium-title { font-size: 38px; line-height: 1.2; margin-bottom: 10px; color: #111; font-weight: 650; text-transform: uppercase; }
.review-link { text-decoration: none; display: inline-block; margin-bottom: 15px; }
.premium-stars { display: flex; align-items: center; gap: 8px; }
.stars-gold { color: #FFC81E; font-size: 24px; letter-spacing: 2px; }
.review-count { color: #555; font-size: 15px; text-decoration: underline; margin-left: 5px; font-weight: 500; }

.premium-price-box { margin-bottom: 25px; display: flex; align-items: center; gap: 15px; flex-wrap: wrap; }
.old-price-premium { font-size: 20px; color: #999; text-decoration: line-through; font-weight: 500; }
.new-price-premium { font-size: 38px; color: #000; font-weight: 650; }
.limited-sale-badge { background: linear-gradient(90deg, #ff416c, #ff4b2b); color: #fff; padding: 6px 12px; font-size: 13px; border-radius: 4px; font-weight: 650; text-transform: uppercase; letter-spacing: 1px; animation: softPulse 2s infinite alternate; }

/* VIP Urgency Message */
.urgency-stock-msg { color: #cc0000; font-size: 17px; font-weight: 900; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 10px; display: flex; align-items: center; justify-content: flex-start; gap: 10px; animation: textPulse 2.5s infinite; }
.urgency-stock-msg::before { content: ''; display: inline-block; width: 10px; height: 10px; background-color: #cc0000; border-radius: 50%; animation: blinkDot 1.5s infinite; }
@keyframes textPulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.85; transform: scale(1.02); } }
@keyframes blinkDot { 0% { opacity: 1; box-shadow: 0 0 0 0 rgba(204, 0, 0, 0.7); } 70% { opacity: 0.3; box-shadow: 0 0 0 7px rgba(204, 0, 0, 0); } 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(204, 0, 0, 0); } }

/* Buttons & Inputs */
.premium-add-form { margin-bottom: 15px; }
.action-row-1 { display: flex; gap: 15px; margin-bottom: 15px; }
.qty-wrapper-new { display: flex; align-items: center; background: #fff; border: 2px solid #111; padding: 0 15px; border-radius: 4px; font-size: 14px; font-weight: 700; color: #333; }
.qty-wrapper-new span { margin-right: 10px; color: #777;}
.qty-input-new { width: 50px; border: none; background: transparent; text-align: center; font-size: 16px; font-weight: 700; font-family: inherit; outline: none; }
.btn-pro { padding: 16px; font-size: 16px; font-weight: 650; text-transform: uppercase; border-radius: 0; cursor: pointer; transition: all 0.4s ease; text-align: center; display: flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; font-family: inherit; letter-spacing: 1px; position: relative; overflow: hidden; z-index: 1;}
.btn-add-cart-anim { flex: 1; background-color: #000 !important; color: #FFC81E !important; border: 2px solid #FFC81E !important; }
.btn-buy-now-anim { width: 100%; margin-bottom: 15px; background: linear-gradient(45deg, #FFC81E, #ff9900, #FFC81E) !important; color: #000 !important; border: none !important; box-shadow: 0 4px 15px rgba(255, 200, 30, 0.4); }
.btn-buy-now-anim:hover { transform: translateY(-4px) scale(1.02); box-shadow: 0 8px 25px rgba(255, 200, 30, 0.6); }
.btn-wa { background-color: #25D366; color: #fff; width: 100%; margin-bottom: 25px !important; border: none !important; }
.btn-wa img { width: 22px; height: 22px; }

/* Assurances & Packaging Info */
.sleek-assurances { display: flex; flex-direction: column; gap: 18px; margin-bottom: 25px; border-top: 1px solid #eee; border-bottom: 1px solid #eee; padding: 25px 0; }
.sleek-item { display: flex; align-items: flex-start; gap: 15px; }
.sleek-item img { width: 32px; height: 32px; opacity: 0.8; }
.sleek-text strong { font-size: 15px; font-weight: 800; color: #111; text-transform: uppercase; margin-bottom: 4px; }
.sleek-text p { font-size: 14px; color: #555; margin: 0; }

.packaging-info-box { margin-top: 20px; padding: 20px; background: #ffffff; border: 2px solid #FFC81E; border-radius: 12px; display: flex; align-items: center; gap: 20px; text-align: left; box-shadow: 0 5px 15px rgba(0,0,0,0.05); }
.packaging-img { width: 155px !important; height: 155px !important; object-fit: contain; flex-shrink: 0; }
.packaging-info-box p { font-size: 14px; color: #333; line-height: 1.6; margin: 0; }
.packaging-info-box strong { color: #000; font-weight: 900; text-transform: uppercase; font-size: 15px; display: block; margin-bottom: 5px; }

/* Horizontal Reviews Section */
.reviews-container { max-width: 1200px; margin: 20px auto 30px auto; padding: 0 20px; }
.reviews-header { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid #eee; padding-bottom: 15px; margin-bottom: 30px; }
.reviews-content { display: flex !important; flex-direction: column !important; gap: 40px !important; }
.write-review-box { width: 100%; max-width: 800px; margin: 0 auto; background: #fafafa; padding: 25px; border-radius: 8px; border: 1px solid #eee; }
.review-form input, .review-form select, .review-form textarea { width: 100%; padding: 12px; margin-bottom: 15px; border: 1px solid #ccc; border-radius: 4px; font-family: inherit; }
.btn-submit-review { width: 100%; padding: 14px; background: #000; color: #FFC81E; border: none; border-radius: 4px; cursor: pointer; font-weight: 700; text-transform: uppercase; }

.reviews-list { display: flex !important; overflow-x: auto !important; gap: 20px !important; scroll-snap-type: x mandatory !important; scroll-behavior: smooth !important; scrollbar-width: none; padding: 10px 5px 20px 5px !important; width: 100%; }
.reviews-list::-webkit-scrollbar { display: none; }
.review-card { flex: 0 0 calc(25% - 15px) !important; scroll-snap-align: start !important; background: #fff; padding: 20px; border-radius: 8px; border: 1px solid #eee; box-shadow: 0 4px 15px rgba(0,0,0,0.05); min-width: 260px; display: flex; flex-direction: column; }

/* Product Image Slider VIP Features */
.card-slider-container { position: relative; width: 100%; height: 320px; overflow: hidden; }
.card-slider { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none; width: 100%; height: 100%; scroll-behavior: smooth; }
.card-slider::-webkit-scrollbar { display: none; }
.card-slider img { flex: 0 0 100%; width: 100%; height: 100%; object-fit: cover; scroll-snap-align: center; }

.slider-dots { position: absolute; bottom: 12px; left: 0; width: 100%; display: flex; justify-content: center; gap: 6px; z-index: 2; pointer-events: none; }
.slider-dots .dot { width: 6px; height: 6px; background: rgba(255, 255, 255, 0.4); border-radius: 50%; transition: 0.3s; box-shadow: 0 1px 3px rgba(0,0,0,0.5); }
.slider-dots .dot.active { background: #ffffff; transform: scale(1.4); }

.slider-arrows { position: absolute; top: 50%; left: 0; width: 100%; display: flex; justify-content: space-between; transform: translateY(-50%); padding: 0 8px; z-index: 3; opacity: 0; transition: 0.3s ease-in-out; pointer-events: none; }
.product-card:hover .slider-arrows { opacity: 1; }
.slider-arrow { width: 28px; height: 28px; background: rgba(255, 255, 255, 0.9); color: #000; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 13px; cursor: pointer; pointer-events: auto; box-shadow: 0 2px 5px rgba(0,0,0,0.3); border: none; transition: 0.2s; }
.slider-arrow:hover { background: #FFC81E; transform: scale(1.1); }

/* =========================================
   5. CART & CHECKOUT
   ========================================= */
.checkout-navbar { display: flex; justify-content: space-between; align-items: center; padding: 20px 50px; background-color: #000; border-bottom: 3px solid #FFC81E; }
.checkout-navbar .logo { font-size: 26px; font-weight: 900; letter-spacing: 2px; color: #FFC81E; }
.back-shop { color: #fff; text-decoration: none; font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; transition: 0.3s; padding: 8px 15px; border: 1px solid #333; border-radius: 4px; }
.back-shop:hover { background-color: #FFC81E; color: #000; border-color: #FFC81E; }

.cart-wrapper, .checkout-container { display: grid; grid-template-columns: 1.8fr 1fr; gap: 30px; max-width: 1200px; margin: 40px auto; padding: 0 20px; align-items: flex-start; }
.cart-items-section, .checkout-form-section { background: #ffffff !important; padding: 30px !important; border-radius: 12px !important; box-shadow: 0 4px 25px rgba(0, 0, 0, 0.03) !important; border: 1px solid #eaeaea !important; color: #000; }
.cart-summary-section, .order-summary { background: #000; color: #fff; padding: 30px; border-radius: 8px; position: sticky; top: 20px; border: 1px solid #333; box-shadow: 0 10px 25px rgba(0,0,0,0.2); }
.cart-summary-section h3, .order-summary h3 { color: #FFC81E; font-size: 22px; font-weight: 900; margin-top: 0; margin-bottom: 20px; border-bottom: 2px solid #222; padding-bottom: 15px; text-transform: uppercase; }
.cart-page-title { font-size: 26px; font-weight: 900; text-transform: uppercase; margin-bottom: 25px; border-bottom: 3px solid #FFC81E; display: inline-block; padding-bottom: 8px; color: #000; }

.cart-item-card { display: flex !important; align-items: center !important; gap: 25px !important; padding: 20px !important; margin-bottom: 15px !important; background: #fafafa !important; border-radius: 8px !important; border: 1px solid #f5f5f5 !important; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important; }
.cart-item-card:hover { background: #ffffff !important; box-shadow: 0 6px 15px rgba(0, 0, 0, 0.05) !important; border-color: #FFC81E !important; }
.cart-item-card img, .summary-card img { width: 85px !important; height: 105px !important; object-fit: cover !important; border-radius: 6px !important; border: 1px solid #e5e5e5 !important; box-shadow: 0 2px 8px rgba(0,0,0,0.03) !important; }
.summary-card { display: flex; align-items: center; gap: 15px; border-bottom: 1px solid #222; margin-bottom: 20px; padding-bottom: 20px; }
.summary-card img { width: 70px !important; height: 90px !important; border: 1px solid #333 !important; }

.cart-item-details, .summary-details { flex: 1; min-width: 0; display: flex !important; flex-direction: column !important; gap: 8px !important; }
.cart-item-name, .summary-details h4 { font-size: 16px !important; font-weight: 800 !important; color: #000000 !important; text-decoration: none !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; margin-bottom: 5px; display: block; word-wrap: break-word; transition: color 0.2s ease !important; }
.cart-item-name:hover { color: #FFC81E !important; }
.summary-details h4 { color: #fff !important; margin: 0 0 5px 0; }
.summary-details p { margin: 0; color: #aaa; font-size: 14px; font-weight: 600; }

.cart-item-price { font-size: 13px !important; color: #444 !important; font-weight: 700 !important; background: #ffffff !important; padding: 4px 12px !important; border-radius: 20px !important; display: inline-block !important; width: max-content !important; border: 1px solid #eaeaea !important; }
.cart-item-details div a.cart-remove-link:first-child { background: #ffffff !important; color: #444 !important; border: 1px solid #dcdcdc !important; padding: 5px 12px !important; border-radius: 4px !important; text-decoration: none !important; font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important; transition: 0.2s !important; }
.cart-item-details div a.cart-remove-link:first-child:hover { background: #f0f0f0 !important; color: #000000 !important; }
.cart-item-details div a.cart-remove-link:last-child { background: #fff5f5 !important; color: #dc3545 !important; border: 1px solid #fecdd3 !important; padding: 5px 12px !important; border-radius: 4px !important; text-decoration: none !important; font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important; transition: 0.2s !important; }
.cart-item-details div a.cart-remove-link:last-child:hover { background: #dc3545 !important; color: #ffffff !important; border-color: #dc3545 !important; }
.cart-item-subtotal { font-size: 18px !important; font-weight: 900 !important; color: #000000 !important; text-align: right !important; letter-spacing: 0.5px !important; min-width: 100px; }

/* Checkout Forms & Payments */
.checkout-form-section h3, .order-summary h3 { font-size: 20px; font-weight: 900; margin-bottom: 20px; margin-top: 0; border-bottom: 2px solid #eee; padding-bottom: 10px; text-transform: uppercase; }
.form-group { margin-bottom: 20px; }
.form-group label { display: block; font-size: 13px; font-weight: 800; margin-bottom: 8px; text-transform: uppercase; color: #333; }
.form-group input, .form-group textarea, .form-group select { width: 100%; padding: 12px 15px; border: 1px solid #ddd; border-radius: 5px; font-family: inherit; font-size: 15px; background: #fff; color: #000; max-width: 100%; box-sizing: border-box; }
.form-group input:focus, .form-group textarea:focus { border-color: #FFC81E; outline: none; }
.payment-method-section { background: #fdfdfd; padding: 20px; border-radius: 8px; border: 1px solid #eee; margin: 25px 0; }
.payment-method-section h4 { margin-top: 0; margin-bottom: 15px; font-size: 16px; font-weight: 800; text-transform: uppercase; color: #000; }
.container-radio { display: block; position: relative; padding-left: 35px; margin-bottom: 15px; cursor: pointer; font-size: 15px; user-select: none; color: #000; }
.container-radio input { position: absolute; opacity: 0; cursor: pointer; }
.checkmark { position: absolute; top: 0; left: 0; height: 22px; width: 22px; background-color: #eee; border-radius: 50%; border: 1px solid #ccc; }
.container-radio:hover input ~ .checkmark { background-color: #ddd; }
.container-radio input:checked ~ .checkmark { background-color: #FFC81E; border-color: #FFC81E; }
.checkmark:after { content: ""; position: absolute; display: none; }
.container-radio input:checked ~ .checkmark:after { display: block; }
.container-radio .checkmark:after { top: 6px; left: 6px; width: 8px; height: 8px; border-radius: 50%; background: white; }
.option-text strong { display: block; font-size: 15px; margin-bottom: 3px;}
.promo-text { font-size: 12px; font-weight: 700; }
.highlight-red { color: #dc3545 !important; font-weight:bold; }
.highlight-green { color: #28a745 !important; font-weight:bold; }
.easypaisa-box { background: #fff; color: #000; padding: 20px; border-radius: 8px; margin-top: 20px; border: 2px solid #FFC81E; display: block; }

.calc-row { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 15px; font-size: 15px; font-weight: 500; }
.calc-row span:last-child { text-align: right; line-height: 1.4; }
.grand-total { font-size: 24px; font-weight: 900; color: #FFC81E; margin-top: 15px; border-top: 2px solid #333; padding-top: 20px; }
.btn-place-order { background: #FFC81E; color: #000; width: 100%; padding: 18px; border: none; border-radius: 6px; font-size: 18px; font-weight: 900; text-transform: uppercase; cursor: pointer; margin-top: 20px; transition: 0.3s; }
.btn-place-order:hover { background: #e0b01a; transform: translateY(-3px); box-shadow: 0 5px 15px rgba(255,200,30,0.3); }

/* =========================================
   6. POLICY PAGES
   ========================================= */
.policy-container { max-width: 900px; margin: 50px auto; padding: 40px; background: #fff; border: 1px solid #eaeaea; border-radius: 8px; box-shadow: 0 5px 20px rgba(0,0,0,0.03); line-height: 1.8; color: #333; }
.policy-container h1 { color: #000; font-size: 32px; font-weight: 900; text-transform: uppercase; border-bottom: 3px solid #FFC81E; padding-bottom: 15px; margin-bottom: 30px; text-align: center; }
.policy-section { margin-bottom: 30px; }
.policy-section h3 { color: #000; font-size: 20px; font-weight: 700; text-transform: uppercase; margin-bottom: 15px; display: flex; align-items: center; gap: 10px; }
.policy-section h3::before { content: ''; width: 5px; height: 20px; background: #FFC81E; display: inline-block; }
.policy-section p, .policy-section ul li { font-size: 16px; margin-bottom: 10px; }
.policy-section ul { padding-left: 20px; }
.address-box { background: #fdfdfd; border: 2px dashed #FFC81E; padding: 20px; border-radius: 6px; margin-top: 20px; }
.highlight-text { color: #000; font-weight: 700; }

/* =========================================
   7. FOOTER, PAGINATION & RELATED
   ========================================= */
.trust-features-section { display: flex; justify-content: center; gap: 40px; padding: 40px 20px; background-color: #ffffff; color: #000000; text-align: center; width: 100%; border-top: 1px solid #eee; }
.trust-feature-block { flex: 1; max-width: 33.33%; text-align: center; }
.icon { display: block; width: 100%; max-height: 80px; margin-bottom: 15px; }
.icon img { height: auto; width: auto; max-height: 100%; object-fit: contain; }
.feature-title { font-size: 16px; font-weight: 700; color: #000; margin-bottom: 10px; text-transform: uppercase; }
.feature-text { font-size: 14px; color: #555; line-height: 1.6; margin: 0; font-weight: 500; }

.main-footer { background: linear-gradient(135deg, #FFC81E 0%, #ffbb00 100%); color: #000000; padding: 60px 20px 20px 20px; box-shadow: 0 -5px 15px rgba(0,0,0,0.05); }
.footer-container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; max-width: 1200px; margin: 0 auto; }
.footer-grid h3 { font-size: 18px; font-weight: 800; margin-bottom: 25px; position: relative; padding-bottom: 8px; text-transform: uppercase; }
.footer-grid h3::after { content: ''; position: absolute; left: 0; bottom: 0; width: 40px; height: 3px; background-color: #000000; }
.brand-info-grid { text-align: center; }
.footer-logo { height: 60px; display: block; margin: 0 auto 15px auto; }
.social-icons { display: flex; justify-content: center; gap: 15px; }
.social-icons a img { width: 35px; height: 35px; transition: transform 0.3s ease; }
.social-icons a:hover img { transform: scale(1.15) translateY(-5px); filter: brightness(0.5); }
.policies-list ul { list-style: none; }
.policies-list ul li { margin-bottom: 12px; }
.policies-list ul li a { text-decoration: none; color: #000000; font-size: 14px; font-weight: 600; display: flex; align-items: center; transition: all 0.3s ease; }
.policies-list ul li a:hover { color: #ff0000; transform: translateX(5px); }
.contact-item { display: flex; align-items: center; margin-bottom: 15px; gap: 15px; }
.contact-item img { width: 30px; height: 30px; opacity: 0.9; }
.contact-item p { font-size: 14px; margin: 0; line-height: 1.5; font-weight: 500; }
.footer-bottom { text-align: center; margin-top: 50px; padding-top: 20px; border-top: 1px solid rgba(0,0,0,0.15); font-size: 13px; font-weight: 600; letter-spacing: 1px; }

.pagination-wrapper { text-align: center; margin-top: 50px; margin-bottom: 30px; width: 100%; }
.pagination-info { font-size: 14px; font-weight: 800; color: #555; margin-bottom: 15px; text-transform: uppercase; letter-spacing: 1px; }
.pagination-container { display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; }
.page-btn { padding: 10px 18px; background: #fff; color: #000; border: 2px solid #eaeaea; text-decoration: none; font-weight: 800; font-size: 15px; border-radius: 4px; transition: 0.3s; }
.page-btn:hover { border-color: #FFC81E; background: #fafafa; transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.05); }
.page-btn.active { background: #FFC81E; color: #000; border-color: #FFC81E; }
.page-dots { font-weight: 900; color: #888; padding: 0 5px; }
.related-grid { grid-template-columns: repeat(5, 1fr) !important; }

/* Display Helpers */
.desktop-desc { display: block; }
.mobile-desc { display: none; }
.footer-toggle-icon { display: none; float: right; }

/* =========================================
   8. MEDIA QUERIES (DESKTOP/TABLET)
   ========================================= */
@media (max-width: 1024px) {
    .product-grid { grid-template-columns: repeat(3, 1fr); } 
    .related-grid { grid-template-columns: repeat(3, 1fr) !important; }
    .premium-product-container { gap: 30px; }
    .reviews-content { flex-direction: column !important; }
    .review-card { flex: 0 0 calc(50% - 10px) !important; }
    .cart-wrapper, .checkout-container { gap: 30px; }
}

@media (max-width: 900px) {
    .cart-wrapper, .checkout-container { grid-template-columns: 1fr; }
    .cart-summary-section, .order-summary { position: relative; top: 0; }
}

/* =========================================
   9. VIP MOBILE & RESPONSIVE FIXES (768px)
   ========================================= */
@media (max-width: 768px) {
    /* Global Anti-Overflow */
    body, html, main { overflow-x: hidden !important; max-width: 100vw !important; }

    /* Policy Pages fix */
    .policy-container { margin: 20px !important; padding: 20px !important; }

    /* Navbar & Policy Nav Fix */
    .navbar { padding: 10px 20px !important; }
    .mobile-menu-btn { display: block; flex: 1; }
    .brand-link { flex: 2; display: flex; justify-content: center; }
    .nav-logo-icon { margin-left: 0 !important; height: 40px !important; }
    .nav-right { flex: 1; justify-content: flex-end; gap: 15px !important; }
    .navbar nav, .search-form { display: none !important; } 
    .mobile-search-toggle { display: block; }

    /* PRODUCT PAGE GAPS & LAYOUT FIX */
    .premium-product-container { padding: 10px !important; width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; display: flex !important; flex-direction: column !important; }
    .left-column { margin-bottom: 0 !important; padding-bottom: 0 !important; width: 100% !important; max-width: 100% !important;}
    
    /* Image and Thumbnails */
    .premium-gallery { display: flex !important; flex-direction: column !important; align-items: center !important; width: 100% !important; max-width: 100% !important; gap: 5px !important; }
    .main-image-box { order: 1 !important; margin: 10px 0 !important; width: 100% !important; max-width: 100% !important; text-align: center !important; }
    .main-image-box img { width: 100% !important; height: auto !important; aspect-ratio: 3 / 4 !important; max-height: 550px !important; object-fit: contain !important; transform: none !important; }
    .thumbnail-strip { order: 2 !important; display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; justify-content: center !important; width: 100% !important; max-width: 100% !important; gap: 8px !important; margin-top: 8px !important; margin-bottom: 0px !important; padding: 0 !important; }
    .thumb { width: 60px !important; height: 60px !important; flex-shrink: 0 !important; }
    
    /* Product Info Adjustments (Merged VIP Overrides) */
    .premium-info { margin-top: 0 !important; padding-top: 5px !important; width: 100% !important; max-width: 100% !important; box-sizing: border-box !important;}
    .stock-deal-row { margin-top: 0 !important; margin-bottom: 8px !important; justify-content: center !important; }
    .premium-title { font-size: 21px !important; margin-bottom: 8px; line-height: 1.3 !important; padding: 0 5% !important; text-align: center !important; }
    .review-link { display: flex; justify-content: center; }
    .premium-stars { justify-content: center !important; }
    .premium-price-box { margin-bottom: 15px; justify-content: center !important; }
    .new-price-premium { font-size: 30px; }
    
    .action-row-1 { display: flex; flex-direction: row !important; justify-content: space-between; align-items: center; gap: 10px !important; width: 90% !important; margin: 0 auto 10px auto !important; }
    .qty-wrapper-new { width: auto !important; flex: 0.35; justify-content: center !important; padding: 8px 10px !important; }
    .qty-wrapper-new span { font-size: 12px !important; }
    .qty-input-new { text-align: center !important; font-size: 14px !important; width: 30px !important; }
    
    .btn-add-cart-anim { flex: 0.65; padding: 10px !important; font-size: 12px !important; }
    .btn-buy-now-anim, .btn-wa { width: 90% !important; margin: 0 auto 10px auto !important; padding: 12px !important; font-size: 13px !important; }
    
    /* Assurances & Packaging Boxes */
    .sleek-assurances { padding: 20px 10% !important; gap: 15px !important; }
    .sleek-item img { width: 28px !important; height: 28px !important; }
    .sleek-text strong { font-size: 13.5px !important; }
    .sleek-text p { font-size: 12.5px !important; }

    .packaging-info-box { margin: 20px 5% 0 5%; padding: 15px; gap: 15px; flex-direction: column; text-align: center; }
    .packaging-img { width: 130px !important; height: 130px !important; }
    .packaging-info-box p { font-size: 13px; }

    .urgency-stock-msg { justify-content: center; font-size: 12.5px !important; margin-top: 10px; gap: 8px; }
    .urgency-stock-msg::before { width: 8px; height: 8px; }

    .safe-checkout { text-align: center !important; width: 100% !important; margin-top: 10px !important; margin-bottom: 20px !important; display: flex !important; justify-content: center !important; }
    .safe-checkout p { font-size: 12px !important; font-weight: 700 !important; color: #555 !important; margin: 0 !important; }

    .sexy-description-box.mobile-desc { margin-top: 10px !important; } 
    .desktop-desc { display: none; }
    .mobile-desc { display: block; }
    .mobile-deal-badge { display: inline-block !important; font-size: 10px !important; padding: 5px 8px !important; margin: 0 !important; }
    .desktop-deal-badge { display: none !important; }

    /* AUTHENTICITY BAR */
    .authentic-bar { font-size: 11px; padding: 10px 5px !important; letter-spacing: 0.5px; gap: 8px; line-height: 1.4; }
    .authentic-bar img { width: 18px; height: 18px; }
    .authentic-bar .break-mobile { display: block; margin-top: 4px; }
    .authentic-bar .hide-mobile { display: none; }

    /* CART ITEM REDESIGN */
    .cart-wrapper, .checkout-container { width: 100% !important; max-width: 100% !important; padding: 10px !important; margin: 10px auto !important; box-sizing: border-box !important; overflow: hidden !important; }
    .cart-items-section, .checkout-form-section, .cart-summary-section, .order-summary { padding: 15px !important; width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }
    
    .checkout-navbar { padding: 15px; flex-direction: column; gap: 12px; justify-content: center; align-items: center; }
    .checkout-navbar .logo { font-size: 22px; text-align: center; }
    .back-shop { font-size: 13px; margin: 0; padding: 8px 12px; }

    .cart-item-card { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; gap: 12px !important; padding: 15px !important; margin-bottom: 15px !important; width: 100% !important; box-sizing: border-box !important; }
    .cart-item-card img { width: 100px !important; height: 120px !important; margin: 0 auto 5px auto !important; }
    .cart-item-details { width: 100% !important; display: flex !important; flex-direction: column !important; align-items: center !important; }
    .cart-item-name { order: 1 !important; font-size: 15px !important; line-height: 1.4 !important; margin-bottom: 8px !important; display: -webkit-box !important; -webkit-line-clamp: 4 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; text-overflow: ellipsis !important; width: 100% !important; }

    .cart-item-details div[style*="display: flex"] { order: 2 !important; display: flex !important; width: 100% !important; gap: 10px !important; justify-content: center !important; margin-bottom: 10px !important; margin-top: 0 !important; }
    .cart-item-details div a.cart-remove-link { flex: 1 !important; text-align: center !important; font-size: 12px !important; padding: 10px 5px !important; border-radius: 6px !important; text-decoration: none !important; text-transform: uppercase !important; font-weight: 800 !important; }
    .cart-item-price { order: 3 !important; font-size: 14px !important; padding: 4px 10px !important; margin: 5px auto 0 auto !important; background: #fff !important; }
    .cart-item-subtotal { font-size: 18px !important; text-align: center !important; margin-top: 10px !important; width: 100% !important; }

    /* Forms & Calculations */
    .easypaisa-box { padding: 15px !important; }
    .payment-method-section { padding: 12px !important; }
    .calc-row { font-size: 14px !important; }
    .grand-total { font-size: 20px !important; }

    /* Footer & Extras */
    .trust-features-section { flex-direction: column; align-items: center; padding: 40px 20px; }
    .trust-feature-block { width: 100%; max-width: 100%; }
    .footer-container { grid-template-columns: 1fr; }
    .footer-grid h3 { border-bottom: 1px solid rgba(0,0,0,0.15); padding-bottom: 12px; margin-bottom: 12px; cursor: pointer; }
    .footer-grid h3::after { display: none !important; }
    .footer-toggle-icon { display: block; font-size: 12px; transition: 0.3s; }
    .footer-content { display: none; }
    .footer-content.active { display: block; }
    
    .product-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; } 
    .related-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .product-card img { height: 220px; }
    .product-info { padding: 10px; }
    .product-info h3 { font-size: 14px; margin-bottom: 5px;}
    .new-price { font-size: 15px; }
    .discount-badge { padding: 3px 6px; font-size: 9px; top: 6px; left: 6px; }
    .sale-tag { padding: 2px 6px; font-size: 8px; top: 6px; right: 6px; border-width: 0.5px; }
    .btn-see-all { padding: 11px 30px; font-size: 10px; }

    .page-btn { padding: 8px 14px; font-size: 13px; }
    .pagination-wrapper { margin-top: 30px; }

    /* Review Slider */
    .review-card { flex: 0 0 85% !important; }

    /* Image Slider adjustments */
    .card-slider-container { height: 220px; }
    .slider-arrows { display: none !important; } 
    .slider-dots { bottom: 8px; gap: 5px; }
    .slider-dots .dot { width: 5px; height: 5px; }
}

@media (max-width: 480px) {
    .premium-product-container { padding: 5px 10px !important; }
    .main-image-box img { max-height: 300px !important; }
}