.cairoflow-reviews { position: relative; overflow: hidden; padding: 6px 2px; }
.cairoflow-reviews-track { display: flex; gap: 16px; overflow: hidden; will-change: transform; }
.cairoflow-reviews.is-loading .cairoflow-reviews-track { opacity: .2; filter: blur(.5px); }
.cairoflow-reviews .cf-loading { position: absolute; inset: 0; display: none; align-items: center; justify-content: center; background: linear-gradient(90deg, rgba(255,255,255,.85), rgba(255,255,255,.7)); font-weight: 700; color: #1a2c50; }
.cairoflow-reviews.is-loading .cf-loading { display: flex; }
.cairoflow-review { background: #fff; border-radius: 14px; padding: 16px; box-shadow: 0 8px 22px rgba(26,44,80,.12); border: 1px solid rgba(26,44,80,.06); }
.cairoflow-review .review-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.cairoflow-review .review-name { font-weight: 800; font-size: 16px; color: #1a2c50; display: flex; align-items: center; gap: 8px; }
.cairoflow-review .review-name .review-avatar { display:inline-flex; width: 28px; height: 28px; align-items:center; justify-content:center; background: #e8eef7; color: #1a2c50; border-radius: 50%; font-size: 14px; }
.cairoflow-review .review-date { font-size: 12px; color: #6b7280; }
.cairoflow-review .review-meta { display:flex; align-items:center; justify-content:space-between; margin: 6px 0 8px; gap: 8px; }
.cairoflow-review .review-rating { margin: 0; }
.cairoflow-review .review-section {
    font-size: 12px;
    color: #0f172a;
    background: #eef2ff;
    border: 1px solid #e0e7ff;
    display: inline-block;
    padding: 0px 6px;
    border-radius: 10px;
    margin: 4px 0 8px;
}.but_back {
       background: linear-gradient(180deg, #ffffff00 0, #ffffff 57%);
    height: 245px;
    margin-top: -193px;
    display: flex;
    position: relative;
    align-items: flex-end;
    justify-content: center;
}
.cf-stars { color: #f5a623; font-size: 18px; letter-spacing: .5px; }
.cf-star { opacity: .3; }
.cf-star.filled { opacity: 1; }
.cairoflow-review .review-comment { color: #374151; line-height: 1.8; font-size: 14px;text-align: justify; }
.cairoflow-reviews .cf-prev, .cairoflow-reviews .cf-next { position: absolute; top: 50%; transform: translateY(-50%); border: none; background: #1a2c50; color: #fff; width: 36px; height: 36px; border-radius: 50%; cursor: pointer; box-shadow: 0 6px 14px rgba(26,44,80,.25); }
.cairoflow-reviews .cf-prev:hover, .cairoflow-reviews .cf-next:hover { background: #0f1b35; }
.cairoflow-reviews .cf-prev { left: 6px; }
.cairoflow-reviews .cf-next { right: 6px; }
.cairoflow-reviews[dir="rtl"] .cf-prev { right: 6px; left: auto; }
.cairoflow-reviews[dir="rtl"] .cf-next { left: 6px; right: auto; }
@media (max-width: 480px){ .cairoflow-review{ min-width: 85% !important; } }
.cairoflow-reviews-grid { position: relative; overflow: hidden; padding: 6px 2px; }
/* Masonry-like columns: variable heights per card */
.cairoflow-reviews-grid .cairoflow-grid { --cf-cols: 4; column-count: var(--cf-cols); column-gap: 16px; }
.cairoflow-reviews-grid[dir="rtl"] .cairoflow-grid { direction: rtl; }
.cairoflow-reviews-grid[data-cols="1"] .cairoflow-grid { --cf-cols: 1; }
.cairoflow-reviews-grid[data-cols="2"] .cairoflow-grid { --cf-cols: 2; }
.cairoflow-reviews-grid[data-cols="3"] .cairoflow-grid { --cf-cols: 3; }
.cairoflow-reviews-grid[data-cols="4"] .cairoflow-grid { --cf-cols: 4; }
.cairoflow-reviews-grid[data-cols="5"] .cairoflow-grid { --cf-cols: 5; }
.cairoflow-reviews-grid .cairoflow-grid { --cf-cols: 4; }
@media (max-width: 1024px){ .cairoflow-reviews-grid .cairoflow-grid { --cf-cols: 2 !important; } }
@media (max-width: 640px){ .cairoflow-reviews-grid .cairoflow-grid { --cf-cols: 1 !important; } }
.cairoflow-reviews-grid.is-loading .cairoflow-grid { opacity: .2; filter: blur(.5px); }
.cairoflow-reviews-grid .cf-loading { position: absolute; inset: 0; display: none; align-items: center; justify-content: center; background: linear-gradient(90deg, rgba(255,255,255,.85), rgba(255,255,255,.7)); font-weight: 700; color: #1a2c50; }
.cairoflow-reviews-grid.is-loading .cf-loading { display: flex; }
.cairoflow-reviews-grid .cf-sentinel { width: 100%; height: 1px;
padding-top: 0;
padding-bottom: 0;}

/* Fade-in animation for grid cards */
.cf-anim { opacity: 0; transform: translateY(12px); animation: cfFade .5s ease forwards; }
@keyframes cfFade { to { opacity: 1; transform: none; } }

/* Ensure cards respect column flow and keep their own height */
.cairoflow-reviews-grid .cairoflow-review { display: inline-block; width: 100%; margin: 0 0 16px; break-inside: avoid; -webkit-column-break-inside: avoid; page-break-inside: avoid; }
