/* =====================================================================
   site-fast.css — كروت المنتجات + العربة + رسائل التنبيه
   (بيستخدم نفس ألوان الثيم: --primary-color)
   ===================================================================== */
body { font-family: 'Cairo', sans-serif !important; }

/* ---------- شبكة المنتجات ---------- */
.sf-grid { row-gap: 8px; }
.sf-card {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: 0 1px 3px rgba(0,0,0,.06);
    transition: box-shadow .2s ease, transform .2s ease;
}
.sf-card:hover { box-shadow: 0 8px 22px rgba(0,0,0,.10); transform: translateY(-2px); }

.sf-img {
    position: relative;
    display: block;
    aspect-ratio: 1 / 1;          /* مساحة الصورة محجوزة: الصفحة مابتتهزش وهى بتحمل */
    background: #f4f1f1;
    overflow: hidden;
}
.sf-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}
.sf-card:hover .sf-img img { transform: scale(1.04); }

.sf-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #DC3546;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    padding: 2px 10px;
    border-radius: 20px;
    z-index: 2;
}

.sf-body {
    padding: 10px 12px 14px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
}
.sf-name {
    color: var(--black-color, #151412);
    font-weight: 600;
    font-size: 15px;
    line-height: 1.5;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 3em;
}
.sf-name:hover { color: var(--primary-color, #EDA3A6); }
.sf-price { font-size: 16px; }
.sf-now { color: #151412; font-weight: 700; }
.sf-old { color: #999; font-size: 13px; margin-inline-start: 6px; }

.sf-btn {
    margin-top: auto;
    border: 1px solid #151412;
    background: #151412;
    color: #fff;
    border-radius: 30px;
    padding: 7px 10px;
    font-size: 14px;
    font-family: inherit;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, opacity .2s ease;
    width: 100%;
}
.sf-btn:hover { background: var(--primary-color, #EDA3A6); border-color: var(--primary-color, #EDA3A6); color: #151412; }
.sf-btn.is-outline { background: #fff; color: #151412; }
.sf-btn.is-outline:hover { background: var(--primary-color, #EDA3A6); }
.sf-btn[disabled], .sf-btn.is-loading { opacity: .6; cursor: wait; }

.sf-title {
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
    margin: 18px 0 14px;
}
.sf-empty { text-align: center; color: #777; padding: 40px 0; font-size: 1.1rem; }

@media (max-width: 576px) {
    .sf-name { font-size: 13px; }
    .sf-price { font-size: 14px; }
    .sf-btn { font-size: 13px; padding: 6px 8px; }
    .sf-body { padding: 8px 8px 10px; }
}

/* ---------- كمية المنتج فى صفحة المنتج ---------- */
.sf-qty { display: inline-flex; align-items: center; border: 1px solid #ddd; border-radius: 30px; overflow: hidden; }
.sf-qty button { border: 0; background: #f6f6f6; width: 40px; height: 40px; font-size: 20px; line-height: 1; cursor: pointer; }
.sf-qty button:hover { background: var(--primary-color, #EDA3A6); }
.sf-qty input { width: 56px; height: 40px; border: 0; text-align: center; font-size: 17px; font-weight: 700; background: #fff; }
.sf-select { max-width: 260px; margin: 0 auto; border-radius: 30px; text-align: center; }
.sf-old-big { color: #999; font-size: 1.1rem; margin-inline-start: 10px; }

/* ---------- رسالة تنبيه صغيرة ---------- */
.sf-toast {
    position: fixed;
    bottom: 90px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    background: #151412;
    color: #fff;
    padding: 10px 22px;
    border-radius: 30px;
    font-size: 15px;
    z-index: 10000;
    opacity: 0;
    transition: opacity .25s ease, transform .25s ease;
    pointer-events: none;
    box-shadow: 0 6px 20px rgba(0,0,0,.2);
}
.sf-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.sf-toast.err { background: #DC3546; }

/* ---------- صور البانر ---------- */
.banner-img { background: #f4f1f1; }

/* ---------- مسافة تحت الهيدر الثابت (عشان الاسم والسعر مايستخبوش تحته) ---------- */
.sf-page-top { padding-top: 200px !important; }
@media (max-width: 991px) { .sf-page-top { padding-top: 180px !important; } }

/* ---------- صفحة المنتج ---------- */
.sf-prod-name { font-size: 1.7rem; font-weight: 700; line-height: 1.6; margin: 0 0 12px; color: #151412; }
@media (max-width: 576px) { .sf-prod-name { font-size: 1.3rem; } }
/* لو الصورة مش موجودة مايظهرش اسم المنتج مكانها بشكل وحش */
.thumb-swiper img, .large-swiper img, .sf-img img { color: transparent; font-size: 0; }

