@import url('https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@400;500;600;700&display=swap');

:root {
    /* Default fallback theme (overridden by injected --sp-* vars from Admin Theme Builder) */
    --sp-primary: #6f42c1;
    --sp-secondary: #0dcaf0;
    --sp-accent: #ffc107;
    --sp-bg: #0b1020;
    --sp-text: #ffffff;
    --sp-radius: 18px;
    --sp-font: 'Hind Siliguri', sans-serif;

    --primary-gradient: linear-gradient(135deg, var(--sp-primary), var(--sp-secondary));
    --primary-solid: var(--sp-primary);
    --dark-bg: var(--sp-bg);
    --light-bg: #f8f9fa;
    --white: #ffffff;
}

/* গ্লোবাল ফিক্স */
html, body {
    overflow-x: hidden;
    width: 100%;
    margin: 0;
    padding: 0;
    font-family: var(--sp-font);
    background-color: var(--light-bg);
}

/* Premium micro interactions */
.sp-hover-lift { transition: transform .25s ease, box-shadow .25s ease; }
.sp-hover-lift:hover { transform: translateY(-4px); box-shadow: 0 18px 45px rgba(0,0,0,.12); }
.sp-glass { backdrop-filter: blur(10px); background: rgba(255,255,255,.75); border: 1px solid rgba(255,255,255,.45); }

.row { margin-right: 0 !important; margin-left: 0 !important; }

/* ১:১ স্কয়ার ইমেজ কন্টেইনার */
.product-thumb-container, .square-img-container {
    width: 100%;
    aspect-ratio: 1 / 1;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    background: #fff;
    border-radius: 12px;
}

.product-thumb, .main-product-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* বাটন স্টাইল */
.btn-primary, .btn-order, .floating-buy-btn {
    background: var(--primary-gradient) !important;
    border: none !important;
    color: white !important;
    font-weight: 600;
    box-shadow: 0 4px 15px rgba(255, 87, 34, 0.3);
}

/* মোবাইল ৩ডি ফ্লোটিং বাটন */
.mobile-floating-container {
    position: fixed;
    bottom: 25px;
    left: 0;
    width: 100%;
    z-index: 9999;
    pointer-events: none;
}

.floating-buy-btn {
    border-radius: 50px !important;
    height: 60px;
    padding: 0 25px !important;
    pointer-events: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* চেকআউট কার্ড */
.checkout-card {
    background: var(--white);
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    overflow: hidden;
}

.checkout-header {
    background: var(--primary-gradient);
    padding: 25px;
    color: white;
    text-align: center;
}

@media (min-width: 992px) {
    .product-image-card { position: sticky; top: 80px; }
    .col-lg-2-4 { flex: 0 0 20%; max-width: 20%; } /* ৫টি গ্রিড */
}

@media (max-width: 767px) {
    body { padding-bottom: 100px; }
}