/* "İstek ve önerileriniz" — derslerin altındaki yıldızlı yorum alanı ve ana sayfadaki yorumlar (ders-yorumlari.js, 8 Kasım 2026).
   Hem kurumsal sitede (genel.css değişkenleri) hem portalda (portal.css) çalışır; değişken yoksa yedek renkler. */
.dy, .dy-ana, [data-ana-yorumlar] { --dy-metin: var(--metin, #1d1d1f); --dy-metin-2: var(--metin-2, #6e6e73); --dy-kart: var(--zemin-kart, #f5f5f7); --dy-zemin: var(--zemin, #fff);
  --dy-cizgi: var(--cizgi, #d2d2d7); --dy-vurgu: var(--vurgu, #0071e3); --dy-yildiz: #ff9f0a; }
.dy {
  max-width: 760px; margin: 0 auto; padding: clamp(2.5rem, 2rem + 3vw, 4rem) 1.25rem; color: var(--dy-metin); font-family: var(--font, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif); }
.dy h2 { font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.1rem); line-height: 1.15; letter-spacing: -0.015em; margin: 0 0 .4rem; }
.dy__alt { color: var(--dy-metin-2); font-size: 1.0625rem; margin: 0 0 1.5rem; }
.dy__ozet { display: flex; align-items: center; gap: .9rem; margin: 0 0 1.5rem; }
.dy__ozet[hidden] { display: none; }
.dy__ortalama { font-size: 2.6rem; font-weight: 700; line-height: 1; letter-spacing: -0.02em; }
.dy__ozet small { display: block; color: var(--dy-metin-2); font-size: .9rem; margin-top: .2rem; }
.dy-yildiz { color: var(--dy-yildiz); letter-spacing: 2px; font-size: 1.15rem; white-space: nowrap; }
.dy-yildiz i { font-style: normal; color: var(--dy-cizgi); }

.dy__form { background: var(--dy-kart); border-radius: 22px; padding: 1.25rem; display: grid; gap: .9rem; }
.dy__tur { display: inline-flex; background: rgba(0, 0, 0, .06); border-radius: 980px; padding: 3px; justify-self: start; flex-wrap: wrap; }
.dy__tur button { border: 0; background: none; border-radius: 980px; padding: .5rem 1rem; font: inherit; font-size: .95rem; font-weight: 600; color: var(--dy-metin-2); cursor: pointer; min-height: 40px; }
.dy__tur button[aria-pressed="true"] { background: var(--dy-zemin); color: var(--dy-metin); box-shadow: 0 1px 4px rgba(0, 0, 0, .15); }
.dy__secici { display: flex; align-items: center; gap: .25rem; flex-wrap: wrap; }
.dy__secici button { border: 0; background: none; padding: .1rem; font-size: 2rem; line-height: 1; color: var(--dy-cizgi); cursor: pointer; min-width: 44px; min-height: 44px; transition: transform 120ms, color 120ms; }
.dy__secici button.dolu { color: var(--dy-yildiz); }
.dy__secici button:hover { transform: scale(1.12); }
.dy__secici span { color: var(--dy-metin-2); font-size: .95rem; margin-left: .4rem; }
.dy__form label { display: grid; gap: .3rem; font-size: .9rem; font-weight: 600; color: var(--dy-metin-2); }
.dy__form label small { font-weight: 400; }
.dy__form textarea, .dy__form input { font: inherit; font-size: 1rem; color: var(--dy-metin); background: var(--dy-zemin); border: 1px solid var(--dy-cizgi); border-radius: 12px; padding: .7rem .85rem; width: 100%; box-sizing: border-box; }
.dy__form textarea { min-height: 110px; resize: vertical; line-height: 1.45; }
.dy__form textarea:focus, .dy__form input:focus { outline: 2px solid var(--dy-vurgu); outline-offset: 1px; border-color: transparent; }
.dy__iki { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
@media (max-width: 560px) { .dy__iki { grid-template-columns: 1fr; } }
.dy__bal { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.dy__gonder { justify-self: start; border: 0; border-radius: 980px; background: var(--dy-vurgu); color: #fff; font: inherit; font-weight: 600; font-size: 1rem; padding: .75rem 1.6rem; min-height: 46px; cursor: pointer; }
.dy__gonder:disabled { opacity: .55; cursor: default; }
.dy__not { font-size: .85rem; color: var(--dy-metin-2); margin: 0; }
.dy__sonuc { border-radius: 14px; padding: .8rem 1rem; font-size: .95rem; margin: 0; }
.dy__sonuc[hidden] { display: none; }
.dy__sonuc.iyi { background: rgba(31, 157, 85, .12); }
.dy__sonuc.kotu { background: rgba(215, 0, 21, .09); }

.dy__liste { display: grid; gap: .75rem; margin-top: 1.75rem; }
.dy__liste h3 { font-size: 1.15rem; margin: 0 0 .25rem; }
.dy-kart { background: var(--dy-kart); border-radius: 18px; padding: 1rem 1.15rem; }
.dy-kart__ust { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin-bottom: .35rem; }
.dy-kart__ad { font-weight: 600; }
.dy-kart__tarih { color: var(--dy-metin-2); font-size: .85rem; margin-left: auto; }
.dy-kart__rozet { font-size: .75rem; font-weight: 700; padding: .15rem .55rem; border-radius: 980px; background: rgba(0, 113, 227, .12); color: var(--dy-vurgu); }
.dy-kart p { margin: 0; line-height: 1.5; white-space: pre-line; overflow-wrap: anywhere; }
.dy-kart__ders { display: inline-block; margin-top: .6rem; font-size: .85rem; color: var(--dy-vurgu); text-decoration: none; font-weight: 600; }
.dy__bos { color: var(--dy-metin-2); font-size: .95rem; }

/* Ana sayfa: kartlar ızgarası */
.dy-ana { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; text-align: left; }
.dy-ana .dy-kart { display: flex; flex-direction: column; }
.dy-ana .dy-kart p { flex: 1; }

/* Yeni ders oynatıcısının ders sonu kartında (K-028): kartın içinde, sola yaslı ve dar boşluklu */
.dy--oynatici { padding: 1.75rem 0 .5rem; text-align: left; max-width: none; margin-top: 1rem; border-top: 1px solid var(--dy-cizgi); }
.dy--oynatici h2 { font-size: 1.4rem; }
