.igrf {
  position: relative;
  /* Varsayılanlar - Elementor Ezebilir */
  --igrf-spv: 4; 
  --igrf-gap: 16px; 
  --igrf-aspect: 9/16; 
  --igrf-card-radius: 18px;
  
  /* OKLAR */
  --igrf-arrow-size: 44px;
  --igrf-arrow-icon-size: 20px;
  --igrf-arrow-radius: 50%;
  --igrf-arrow-offset: 10px;
  --igrf-arrow-bg: #fff; 
  --igrf-arrow-color: #000;
  --igrf-arrow-bg-hover: #000; 
  --igrf-arrow-color-hover: #fff;

  /* MODAL */
  --igrf-modal-maxw: 560px;
  
  /* CLOSE BTN */
  --igrf-close-size: 40px;
  --igrf-close-icon-size: 24px;
  --igrf-close-radius: 50%;
  --igrf-close-bg: rgba(255,255,255,0.9); 
  --igrf-close-color: #000;
  --igrf-close-bg-hover: #E31E26; 
  --igrf-close-color-hover: #fff;
}
.igrf[data-aspect="9:16"] { --igrf-aspect: 9/16; }
.igrf[data-aspect="4:5"] { --igrf-aspect: 4/5; }

/* TRACK */
.igrf-track {
  display: flex; gap: var(--igrf-gap);
  overflow-x: auto; overflow-y: hidden;
  scroll-snap-type: none; 
  -webkit-overflow-scrolling: touch; scrollbar-width: none;
  padding: 20px 0; cursor: grab; user-select: none;
}
.igrf-track::-webkit-scrollbar { display: none; }
.igrf-track.is-dragging { cursor: grabbing; }

/* CARD */
.igrf-card {
  flex: 0 0 calc((100% - (var(--igrf-gap) * (var(--igrf-spv) - 1))) / var(--igrf-spv));
  position: relative; border-radius: var(--igrf-card-radius);
  background: #f0f0f0; transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.igrf-card:hover { transform: translateY(-5px); box-shadow: 0 12px 30px rgba(0,0,0,0.15); z-index: 2; }
.igrf-open { display: block; width: 100%; aspect-ratio: var(--igrf-aspect); border-radius: var(--igrf-card-radius); overflow: hidden; -webkit-user-drag: none; user-drag: none; }
.igrf-open img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; pointer-events: none; }
.igrf-card:hover img { transform: scale(1.08); }
.igrf-cover-missing { width:100%; height:100%; background:#eee; }

/* PLAY BTN */
.igrf-play-btn {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 50px; height: 50px; border-radius: 50%;
  background: rgba(0,0,0,0.4); backdrop-filter: blur(4px);
  border: 1px solid rgba(255,255,255,0.25);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.3s; pointer-events: none;
}
.igrf-play-btn:after {
  content: ''; width: 0; height: 0; border-style: solid;
  border-width: 9px 0 9px 15px; border-color: transparent transparent transparent #fff; margin-left: 4px;
}
.igrf-card:hover .igrf-play-btn { transform: translate(-50%, -50%) scale(1.1); background: #E31E26; border-color: #E31E26; }

/* --- OKLAR (RESETLENMİŞ VE ZORLANMIŞ) --- */
.igrf-arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  
  /* Elementor Ayarlarından Gelen Değerler */
  width: var(--igrf-arrow-size) !important; 
  height: var(--igrf-arrow-size) !important;
  border-radius: var(--igrf-arrow-radius) !important;
  background: var(--igrf-arrow-bg) !important; 
  color: var(--igrf-arrow-color) !important;
  
  /* Temadan gelen stilleri EZMEK için */
  border: 0 !important; 
  outline: 0 !important; 
  padding: 0 !important; 
  margin: 0 !important;
  appearance: none !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
  
  box-shadow: 0 4px 14px rgba(0,0,0,0.15);
  cursor: pointer; z-index: 10;
  display: flex !important; 
  align-items: center !important; 
  justify-content: center !important;
  transition: all 0.2s;
}
.igrf-arrow svg {
  /* SVG Boyutunu zorla */
  width: var(--igrf-arrow-icon-size) !important; 
  height: var(--igrf-arrow-icon-size) !important;
  fill: currentColor !important; 
  display: block; pointer-events: none;
}
.igrf-arrow:hover {
  background: var(--igrf-arrow-bg-hover) !important; 
  color: var(--igrf-arrow-color-hover) !important;
  transform: translateY(-50%) scale(1.1);
}
.igrf-arrow.prev { left: var(--igrf-arrow-offset); right: auto; }
.igrf-arrow.next { right: var(--igrf-arrow-offset); left: auto; }

/* --- MODAL --- */
.igrf-modal {
  position: fixed; inset: 0; z-index: 999999;
  background: rgba(0,0,0,0.9); backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.3s ease;
}
.igrf-modal[aria-hidden="false"] { opacity: 1; visibility: visible; pointer-events: auto; }
.igrf-modal-dialog { position: relative; width: min(90vw, var(--igrf-modal-maxw)); transform: scale(0.9); transition: transform 0.3s; }
.igrf-modal[aria-hidden="false"] .igrf-modal-dialog { transform: scale(1); }
.igrf-modal-frame { width: 100%; aspect-ratio: var(--igrf-aspect); background: #000; border-radius: 16px; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,0.6); }
.igrf-modal-frame iframe { width: 100%; height: 100%; border: 0; display: block; }

/* --- KAPAMA BUTONU (RESETLENMİŞ) --- */
.igrf-modal-close {
  position: absolute; right: -12px; top: -12px;
  
  width: var(--igrf-close-size) !important; 
  height: var(--igrf-close-size) !important;
  border-radius: var(--igrf-close-radius) !important;
  background: var(--igrf-close-bg) !important; 
  color: var(--igrf-close-color) !important;
  
  /* Reset */
  border: 0 !important; 
  outline: 0 !important;
  padding: 0 !important;
  appearance: none !important;
  
  display: flex !important; 
  align-items: center !important; 
  justify-content: center !important;
  
  box-shadow: 0 4px 12px rgba(0,0,0,0.3); z-index: 20; transition: all 0.2s;
  cursor: pointer;
}
.igrf-modal-close svg {
    width: var(--igrf-close-icon-size) !important;
    height: var(--igrf-close-icon-size) !important;
    fill: currentColor !important;
    display: block; pointer-events: none;
}
.igrf-modal-close:hover { 
  background: var(--igrf-close-bg-hover) !important; 
  color: var(--igrf-close-color-hover) !important; 
  transform: rotate(90deg); 
}
body.igrf-modal-open { overflow: hidden; }