.alfya-rev{font-family:Tajawal,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;padding:var(--rev-pad-y,42px) var(--rev-pad-x,18px);background:transparent}
.alfya-rev__inner{max-width:var(--rev-max,1200px);margin:0 auto}
.alfya-rev__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.alfya-rev__title{margin:0;font-size:34px;line-height:1.15;font-weight:800;color:#0f172a}
.alfya-rev__desc{margin:8px 0 0;color:#475569;line-height:1.7;font-size:16px;max-width:58ch}
.alfya-rev__cta{border:0;cursor:pointer;background:var(--rev-btn-bg,#1d4ed8);color:var(--rev-btn-txt,#fff);padding:12px 16px;border-radius:14px;font-weight:800;box-shadow:0 10px 26px rgba(2,6,23,.12);transition:transform .18s ease,box-shadow .18s ease}
.alfya-rev__cta:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(2,6,23,.14)}

.alfya-rev__slider{position:relative}
.alfya-rev__track{display:flex;gap:14px;overflow:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 44px 18px 44px}
/* Hide the horizontal scroll indicator (native scrollbar) */
.alfya-rev__track{
  scrollbar-width:none;       /* Firefox */
  -ms-overflow-style:none;    /* IE/Edge legacy */
}
.alfya-rev__track::-webkit-scrollbar{
  height:0;
  display:none;              /* Chrome/Safari */
}
.alfya-rev__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:38px;height:38px;border-radius:999px;border:1px solid rgba(15,23,42,.12);background:#fff;cursor:pointer;box-shadow:0 8px 18px rgba(2,6,23,.1);display:grid;place-items:center;font-size:24px;line-height:1}
.alfya-rev__nav.is-prev{left:6px}
.alfya-rev__nav.is-next{right:6px}

.alfya-rev__card{scroll-snap-align:start;flex:0 0 calc((100% - (var(--rev-per,4) - 1)*14px)/var(--rev-per,4));background:#fff;border-radius:18px;border:1px solid rgba(15,23,42,.08);padding:16px;box-shadow:0 0 0 rgba(0,0,0,0);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;position:relative;overflow:hidden}
.alfya-rev__card:before{content:"";position:absolute;inset:-40%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.65),transparent);transform:translateX(-60%) rotate(10deg);opacity:0;transition:opacity .2s ease}
.alfya-rev__card:hover{transform:translateY(-2px);border-color:rgba(15,23,42,.14);box-shadow:0 14px 38px rgba(2,6,23,.12)}
.alfya-rev__card:hover:before{opacity:1;animation:alfyaRevShine 1.1s ease}
@keyframes alfyaRevShine{0%{transform:translateX(-60%) rotate(10deg)}100%{transform:translateX(60%) rotate(10deg)}}

.alfya-rev__meta{display:flex;gap:10px;align-items:center}
.alfya-rev__avatar{width:44px;height:44px;border-radius:999px;overflow:hidden;background:#f1f5f9;border:1px solid rgba(15,23,42,.12);display:grid;place-items:center;color:#64748b;flex:0 0 auto}
.alfya-rev__avatar img{width:100%;height:100%;object-fit:cover;display:block}
.alfya-rev__metaTxt{min-width:0}
.alfya-rev__name{font-weight:900;color:#0f172a;font-size:16px}
.alfya-rev__stars{margin-top:6px;display:flex;gap:2px}
.alfya-rev__star{font-size:16px;color:rgba(148,163,184,.9)}
.alfya-rev__star.is-on{color:#f59e0b}
.alfya-rev__text{margin-top:10px;color:#334155;line-height:1.75;font-size:14.5px;min-height:86px}
.alfya-rev__mediaRow{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(15,23,42,.12);display:flex;align-items:center;justify-content:space-between;gap:10px}
.alfya-rev__mediaLabel{font-size:13px;color:#64748b;font-weight:700}
.alfya-rev__mediaBtns{display:flex;gap:8px}
.alfya-rev__mBtn{width:36px;height:36px;border-radius:12px;border:1px solid rgba(15,23,42,.12);background:#fff;cursor:pointer;display:grid;place-items:center;transition:transform .15s ease,box-shadow .15s ease}
.alfya-rev__mBtn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(2,6,23,.10)}
.alfya-rev__mBtn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;transform:none}

.alfya-rev__modal{position:fixed;inset:0;display:none;z-index:99999;overflow:auto;-webkit-overflow-scrolling:touch}
.alfya-rev__modal.is-open{display:block}
.alfya-rev__backdrop{position:absolute;inset:0;background:rgba(2,6,23,.55);backdrop-filter:blur(6px)}
.alfya-rev__dialog{position:relative;max-width:720px;width:calc(100% - 24px);margin:24px auto;background:#fff;border-radius:22px;box-shadow:0 30px 90px rgba(2,6,23,.35);padding:18px;max-height:calc(100vh - 48px);overflow:auto}
.alfya-rev__close{position:absolute;top:10px;left:10px;width:38px;height:38px;border-radius:999px;border:1px solid rgba(15,23,42,.12);background:#fff;cursor:pointer;font-size:22px}
.alfya-rev__viewer video,.alfya-rev__viewer audio{width:100%}

.alfya-rev__formTitle{margin:0 0 12px;font-weight:900;color:#0f172a}
.alfya-rev__field{margin-bottom:12px}
.alfya-rev__field label{display:block;margin-bottom:6px;color:#0f172a;font-weight:800;font-size:13px}
.alfya-rev__help{margin-top:6px;color:#64748b;font-size:12px;font-weight:700}
.alfya-rev__field input[type="text"],.alfya-rev__field textarea{width:100%;border:1px solid rgba(15,23,42,.14);border-radius:14px;padding:11px 12px;font-family:inherit;font-size:14px;outline:none}
.alfya-rev__field textarea{resize:vertical}
.alfya-rev__rate{display:flex;align-items:center;gap:6px}
.alfya-rev__rStar{border:0;background:transparent;cursor:pointer;font-size:22px;color:#e2e8f0;line-height:1}
.alfya-rev__rStar.is-on{color:#f59e0b}
.alfya-rev__rec{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.alfya-rev__recBtn{border:1px solid rgba(15,23,42,.14);background:#fff;border-radius:12px;padding:9px 10px;font-weight:800;cursor:pointer}
.alfya-rev__recBtn:disabled{opacity:.45;cursor:not-allowed}
.alfya-rev__preview{margin-top:8px}
.alfya-rev__formActions{display:flex;align-items:center;gap:10px}
.alfya-rev__submit{border:0;background:var(--rev-btn-bg,#1d4ed8);color:var(--rev-btn-txt,#fff);border-radius:14px;padding:12px 18px;font-weight:900;cursor:pointer}
.alfya-rev__msg{font-weight:800;color:#0f172a;font-size:13px}

@media (max-width:1024px){
  .alfya-rev__card{flex-basis:calc((100% - 14px)/2)}
}
@media (max-width:620px){
  .alfya-rev{padding:28px 14px}
  .alfya-rev__dialog{width:calc(100% - 16px);margin:16px auto;max-height:calc(100vh - 32px);padding:14px}
  .alfya-rev__head{flex-direction:column;align-items:stretch}
  .alfya-rev__cta{width:100%}
  .alfya-rev__track{padding:6px 10px 16px 10px}
  .alfya-rev__nav{display:none}
  .alfya-rev__card{flex-basis:100%}
}
