/* ============================================================
   خوارزميات — التقسيمات الرئيسية «صفوف الخدمات العرضية»
   صف بعرض القسم: الصورة يمين، تدرج لوني ينزلق عند المرور، لمسة 3D
   ============================================================ */

.khw-cat {
    display: flex;
    flex-direction: column;
    gap: 18px;
    perspective: 1400px;
    direction: rtl;
}

.khw-cat__row {
    --rx: 0deg;
    --ry: 0deg;
    --ty: 0px;
    position: relative;
    display: flex;
    align-items: center;
    gap: 28px;
    padding: 14px 14px;
    border-radius: 20px;
    background: #fff;
    border: 1px solid rgba(22, 50, 79, 0.09);
    box-shadow: 0 2px 6px rgba(22, 50, 79, 0.05), 0 16px 36px -18px rgba(22, 50, 79, 0.16);
    text-decoration: none;
    transform-style: preserve-3d;
    transform: translateY(var(--ty)) rotateX(var(--rx)) rotateY(var(--ry));
    transition: transform 0.22s ease-out, box-shadow 0.45s ease, border-color 0.45s ease;
    will-change: transform;
}

.khw-cat__row:hover {
    --ty: -5px;
    border-color: rgba(46, 185, 126, 0.4);
    box-shadow: 0 6px 14px rgba(22, 50, 79, 0.08), 0 34px 60px -20px rgba(6, 35, 26, 0.45);
}

/* ---------- طبقة التدرج المنزلقة من اليمين ---------- */
.khw-cat__bg {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
        radial-gradient(ellipse 45% 120% at 8% 50%, rgba(255, 159, 69, 0.28) 0%, transparent 60%),
        linear-gradient(270deg, #0f4d33 0%, #0a2e1f 48%, #16324f 100%);
    clip-path: inset(0 0 0 100% round 20px);
    opacity: 0; /* أمان للمتصفحات بلا clip-path */
    transition: clip-path 0.55s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s ease;
    pointer-events: none;
}

.khw-cat__row:hover .khw-cat__bg {
    clip-path: inset(0 0 0 0% round 20px);
    opacity: 0.97;
}

/* نقاط شبكة خافتة داخل طبقة التدرج */
.khw-cat__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background-image: radial-gradient(circle, rgba(127, 227, 176, 0.16) 1.2px, transparent 1.2px);
    background-size: 26px 26px;
    -webkit-mask-image: linear-gradient(270deg, #000 0%, transparent 70%);
    mask-image: linear-gradient(270deg, #000 0%, transparent 70%);
}

/* ---------- صورة التصنيف (يمين الصف) ---------- */
.khw-cat__media {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    width: 216px;
    aspect-ratio: 16 / 9;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 10px 24px -10px rgba(22, 50, 79, 0.35);
    transform: translateZ(0.01px);
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s ease;
}

@supports not (aspect-ratio: 16 / 9) {
    .khw-cat__media { height: 121px; }
}

.khw-cat__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

/* بروز ثلاثي الأبعاد للصورة عند المرور */
.khw-cat__row:hover .khw-cat__media {
    transform: translateZ(48px) rotateY(-5deg) scale(1.03);
    box-shadow: 0 26px 48px -14px rgba(2, 12, 8, 0.55);
}

.khw-cat__row:hover .khw-cat__media img {
    transform: scale(1.08);
}

/* ---------- الرقم الشبحي ---------- */
.khw-cat__num {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    font-family: "Tajawal", sans-serif;
    font-size: 46px;
    font-weight: 800;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1.4px rgba(22, 50, 79, 0.24);
    transform: translateZ(20px);
    transition: -webkit-text-stroke-color 0.4s ease;
    user-select: none;
}

.khw-cat__row:hover .khw-cat__num {
    -webkit-text-stroke-color: rgba(127, 227, 176, 0.75);
}

/* ---------- العنوان ---------- */
.khw-cat__title {
    position: relative;
    z-index: 1;
    margin: 0;
    font-family: "Tajawal", sans-serif;
    font-size: clamp(19px, 2vw, 26px);
    font-weight: 800;
    color: var(--khw-navy, #16324f);
    transform: translateZ(26px);
    transition: color 0.35s ease;
}

.khw-cat__row:hover .khw-cat__title { color: #f2fbf6; }

/* ---------- زر الاستعراض (أقصى اليسار) ---------- */
.khw-cat__go {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    margin-right: auto; /* يدفعه لنهاية الصف (اليسار في RTL) */
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: "Tajawal", sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #157f52;
    border: 1.6px solid rgba(21, 127, 82, 0.5);
    border-radius: 999px;
    padding: 11px 22px;
    transform: translateZ(32px);
    transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    white-space: nowrap;
}

.khw-cat__go i { transition: transform 0.3s ease; }

.khw-cat__row:hover .khw-cat__go {
    background: linear-gradient(135deg, #ffc98f 0%, var(--khw-orange, #ff9f45) 60%);
    border-color: transparent;
    color: #06231a;
    box-shadow: 0 10px 26px rgba(242, 140, 56, 0.45);
}

.khw-cat__row:hover .khw-cat__go i { transform: translateX(-5px); }

/* ---------- التجاوب ---------- */
@media (max-width: 991px) {
    .khw-cat__row { gap: 18px; }
    .khw-cat__media { width: 168px; }
    .khw-cat__num { font-size: 36px; }
}

@media (max-width: 767px) {
    .khw-cat__go span { display: none; }
    .khw-cat__go { padding: 11px 14px; border-radius: 50%; }
}

@media (max-width: 575px) {
    .khw-cat { gap: 14px; }
    .khw-cat__row { gap: 12px; padding: 10px; }
    .khw-cat__media { width: 116px; border-radius: 10px; }
    .khw-cat__num { display: none; }
    .khw-cat__title { font-size: 16.5px; }
    .khw-cat__go { padding: 9px 12px; font-size: 13px; }
}

/* ---------- تقليل الحركة ---------- */
@media (prefers-reduced-motion: reduce) {
    .khw-cat__row,
    .khw-cat__bg,
    .khw-cat__media,
    .khw-cat__media img,
    .khw-cat__go,
    .khw-cat__num,
    .khw-cat__title { transition: none !important; }

    .khw-cat__row:hover { --ty: 0px; }
    .khw-cat__row:hover .khw-cat__media { transform: none; }
}
