/* Base + font + RTL */
.rdm-ytf-wrap{
  width:100%;
  font-family: "IBM Plex Sans Arabic", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}
.rdm-ytf-rtl{ direction: rtl; }
.rdm-ytf-rtl .rdm-ytf-sub{ justify-content:flex-start; }

/* messages */
.rdm-yt-msg{padding:12px 14px;border:1px solid rgba(0,0,0,.1);border-radius:12px;background:#fff}
.rdm-yt-msg--error{border-color:rgba(220,0,0,.2);background:rgba(220,0,0,.04)}

/* layouts container */
.rdm-ytf-grid{gap:14px}

/* loading overlay */
.rdm-ytf-wrap.is-loading{position:relative; pointer-events:none; opacity:.75}
.rdm-ytf-wrap.is-loading:after{
  content:"";
  position:absolute; inset:0;
  background:rgba(255,255,255,.65);
  backdrop-filter: blur(2px);
  border-radius: 16px;
}

/* grid */
.rdm-ytf-grid.rdm-ytf-grid{
  display:grid;
  grid-template-columns:repeat(var(--rdm-cols,4), minmax(0, 1fr));
}

/* list */
.rdm-ytf-grid.rdm-ytf-list{
  display:grid;
  grid-template-columns:1fr;
}
.rdm-ytf-grid.rdm-ytf-list .rdm-ytf-card{
  display:grid;
  grid-template-columns: 280px 1fr;
  align-items:stretch;
}
.rdm-ytf-grid.rdm-ytf-list .rdm-ytf-thumb{ padding-top: 56.25%; }
.rdm-ytf-grid.rdm-ytf-list .rdm-ytf-meta{ border-top:0; }

/* masonry (CSS columns) */
.rdm-ytf-grid.rdm-ytf-masonry{
  column-count: var(--rdm-cols, 3);
  column-gap: 14px;
}
.rdm-ytf-grid.rdm-ytf-masonry .rdm-ytf-card{
  display:inline-block;
  width:100%;
  margin:0 0 14px;
}

/* card */
.rdm-ytf-card{
  border:0; padding:0; background:#fff; cursor:pointer; text-align:left;
  border-radius:16px; overflow:hidden; position:relative;
  box-shadow:0 8px 22px rgba(0,0,0,.08);
  width:100%;
}

.rdm-ytf-thumb{
  display:block;
  width:100%;
  padding-top: var(--rdm-pad,56.25%);
  background-size:cover;
  background-position:center;
}

.rdm-ytf-play{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
}
.rdm-ytf-play:before{
  content:"";
  width:60px; height:42px;
  border-radius:14px;
  background:rgba(0,0,0,.55);
  box-shadow:0 10px 25px rgba(0,0,0,.25);
}
.rdm-ytf-play:after{
  content:"";
  position:absolute;
  width:0; height:0;
  border-left:15px solid #fff;
  border-top:10px solid transparent;
  border-bottom:10px solid transparent;
  transform:translateX(3px);
}

.rdm-ytf-meta{
  display:block;
  padding:12px 12px 14px;
}
.rdm-ytf-title{
  display:block;
  font-size:14px;
  line-height:1.35;
  font-weight:600;
  max-height: 2.7em;
  overflow:hidden;
}
.rdm-ytf-sub{
  display:flex;
  gap:10px;
  margin-top:8px;
  font-size:12px;
  opacity:.75;
  flex-wrap:wrap;
}

/* inline player */
.rdm-ytf-inline{
  margin-top:16px;
  border-radius:16px;
  overflow:hidden;
  background:#000;
}
.rdm-ytf-iframeWrap{
  position:relative;
  width:100%;
  padding-top: var(--rdm-pad,56.25%);
}
.rdm-ytf-iframeWrap iframe{
  position:absolute; inset:0;
  width:100%; height:100%;
  border:0;
}

/* Lightbox modal */
.rdm-ytf-modal{position:fixed; inset:0; display:none; z-index:2147483647}
.rdm-ytf-modal.is-open{display:block}
.rdm-ytf-backdrop{position:absolute; inset:0; background:rgba(0,0,0,.70); z-index:0}
.rdm-ytf-box{
  position:absolute; left:50%; top:50%;
  transform:translate(-50%,-50%);
  width:min(1020px, 94vw);
  border-radius:18px;
  overflow:hidden;
  background:#000;

  z-index:2;
}
.rdm-ytf-close{
  position:absolute; top:10px; right:12px;
  width:40px; height:40px;
  border-radius:12px;
  border:0;
  background:rgba(255,255,255,.12);
  color:#fff; font-size:26px; line-height:40px;
  cursor:pointer;
  z-index:3;
}

.rdm-ytf-frame{ background:#000; }
.rdm-ytf-modalmeta{
  background:#0b0b0b;
  color:#fff;
  padding:12px 14px 14px;
}
.rdm-ytf-modaltitle{font-size:14px;font-weight:700;line-height:1.4}
.rdm-ytf-modalsub{margin-top:6px;font-size:12px;opacity:.75;display:flex;gap:10px;flex-wrap:wrap}

.rdm-ytf-nav{
  position:absolute; top:50%;
  transform:translateY(-50%);
  width:44px; height:44px;
  border-radius:14px;
  border:0;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:26px;
  cursor:pointer;
  z-index:3;
}
.rdm-ytf-prev{ left:10px; }
.rdm-ytf-next{ right:10px; }

/* Pagination (AJAX buttons) */
.rdm-ytf-pagination{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  margin-top:18px;
}
.rdm-ytf-page{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:38px;
  padding:0 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  color:#111;
  font-weight:600;
  cursor:pointer;
}
.rdm-ytf-page.is-active{
  border-color: rgba(0,0,0,.30);
  box-shadow:0 8px 16px rgba(0,0,0,.08);
}
.rdm-ytf-dots{opacity:.55;padding:0 4px}

/* Carousel (Swiper) */
.rdm-ytf-carousel{ position:relative; }
.rdm-ytf-car-nav{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:12px;
}
.rdm-ytf-car-prev,
.rdm-ytf-car-next{
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  height:40px;
  border-radius:12px;
  padding:0 14px;
  font-size:18px;
  cursor:pointer;
}
.rdm-ytf-car-dots{ margin-top:10px; }

/* responsive */
@media (max-width: 980px){
  .rdm-ytf-grid.rdm-ytf-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
  .rdm-ytf-grid.rdm-ytf-list .rdm-ytf-card{grid-template-columns: 1fr;}
  .rdm-ytf-grid.rdm-ytf-masonry{column-count:2}
}
@media (max-width: 520px){
  .rdm-ytf-grid.rdm-ytf-grid{grid-template-columns:repeat(1, minmax(0, 1fr));}
  .rdm-ytf-grid.rdm-ytf-masonry{column-count:1}
  .rdm-ytf-nav{display:none}
}

/* Ensure modal always above sticky headers */
.rdm-ytf-modal{isolation:isolate;}
