/* ==========================================================
   BİLEŞEN KATMANI — theme.css'ten SONRA yüklenir
   ========================================================== */

/* ----------------------------------------------------------
   1. KARTLAR
   ---------------------------------------------------------- */

/* --- Ders kartı --- */

.adk-course-card {
    background: var(--surface);
    border: 1px solid var(--line-soft);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-sm);
    overflow: hidden;
    transition: transform var(--dur-2) var(--ease),
                box-shadow var(--dur-2) var(--ease-soft),
                border-color var(--dur-2) var(--ease-soft);
}

.adk-course-card:hover {
    transform: translateY(-6px);
    border-color: var(--brand-200);
    box-shadow: var(--sh-lg);
}

.adk-course-card__media {
    position: relative;
    height: 200px;
    background:
        linear-gradient(135deg, var(--brand-100) 0%, var(--accent-100) 100%);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

/* Görselin üstünde alttan yukarı hafif karartma */
.adk-course-card__media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 55%, rgba(10, 15, 28, .18) 100%);
    opacity: 0;
    transition: opacity var(--dur-2) var(--ease-soft);
}

.adk-course-card:hover .adk-course-card__media::after {
    opacity: 1;
}

.adk-course-card__badge {
    top: 14px;
    left: 14px;
    background: var(--grad-brand);
    border-radius: var(--r-full);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .08em;
    padding: .34rem .85rem;
    box-shadow: var(--sh-glow-accent);
    z-index: 1;
}

.adk-course-card__body {
    padding: 1.4rem 1.4rem .5rem;
}

.adk-course-card__body h3 {
    font-size: 1.06rem;
    font-weight: 700;
    color: var(--ink-900);
    letter-spacing: -.02em;
    margin-bottom: 1.1rem;
}

.adk-course-card__list li {
    font-size: .855rem;
    color: var(--text-soft);
    gap: .6rem;
    margin-bottom: .65rem;
}

.adk-course-card__list i {
    flex: 0 0 17px;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: var(--ok-50);
    color: var(--ok-500);
    font-size: .58rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: .2rem;
}

.adk-course-card__footer {
    padding: 0 1.4rem 1.4rem;
}

/* --- Uzman kartı --- */

.adk-expert-card {
    border: 1px solid var(--line-soft);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-sm);
    transition: transform var(--dur-2) var(--ease),
                box-shadow var(--dur-2) var(--ease-soft);
}

.adk-expert-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--sh-lg);
}

.adk-expert-card__photo {
    position: relative;
    height: 250px;
    background: linear-gradient(160deg, var(--brand-100) 0%, var(--accent-100) 100%);
}

.adk-expert-card__photo img {
    transition: transform var(--dur-3) var(--ease);
}

.adk-expert-card:hover .adk-expert-card__photo img {
    transform: scale(1.06);
}

.adk-expert-card__avatar {
    width: 104px;
    height: 104px;
    background: var(--grad-brand);
    box-shadow: var(--sh-glow);
    font-size: 2.6rem;
}

.adk-expert-card__body h3 {
    font-size: 1.08rem;
    font-weight: 700;
    background: var(--grad-brand);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.adk-expert-card__title {
    display: inline-block;
    background: var(--brand-50);
    border-radius: var(--r-full);
    color: var(--brand-700);
    font-size: .76rem;
    font-weight: 600;
    padding: .2rem .8rem;
    margin-top: .35rem;
}

/* --- Sınıf kartı --- */

.adk-class-card {
    border: 1px solid var(--line-soft);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-sm);
    padding: 1.3rem;
}

.adk-class-card:hover {
    transform: translateY(-5px);
    border-color: var(--brand-200);
    box-shadow: var(--sh-lg);
}

.adk-class-card__icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: var(--r-sm);
    background: var(--grad-brand);
    color: #fff;
    font-size: 1rem;
    box-shadow: var(--sh-glow);
}

.adk-class-card__head h3 {
    font-size: 1rem;
    font-weight: 700;
    color: var(--ink-900);
}

/* --- Ders satırı --- */

.adk-lesson-row {
    border: 1px solid var(--line-soft);
    border-radius: var(--r-md);
    box-shadow: var(--sh-xs);
    padding: 1rem 1.2rem;
    transition: transform var(--dur-2) var(--ease),
                border-color var(--dur-2) var(--ease-soft),
                box-shadow var(--dur-2) var(--ease-soft);
}

.adk-lesson-row:hover {
    transform: translateX(4px);
    border-color: var(--brand-300);
    box-shadow: var(--sh-md);
}

.adk-lesson-row__no {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    background: var(--brand-50);
    color: var(--brand-600);
    font-weight: 800;
}

/* --- Satış kartı --- */

.shop-card {
    border: 1px solid var(--line-soft);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-sm);
}

.shop-card:hover {
    transform: translateY(-6px);
    border-color: var(--brand-200);
    box-shadow: var(--sh-lg);
}

.shop-card__media {
    height: 250px;
    background: linear-gradient(150deg, var(--ink-100) 0%, var(--brand-50) 100%);
}

.shop-card__media img {
    transition: transform var(--dur-3) var(--ease);
}

.shop-card:hover .shop-card__media img {
    transform: scale(1.05);
}

.shop-card__body h3 {
    font-size: 1.22rem;
    font-weight: 700;
    color: var(--ink-900);
}

.shop-price {
    font-size: 1.4rem;
    font-weight: 800;
    background: var(--grad-brand);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.shop-feature-list li i {
    flex: 0 0 17px;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: var(--ok-50);
    color: var(--ok-500);
    font-size: .58rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: .2rem;
}

.shop-stepper {
    border: 1px solid var(--line);
    border-radius: var(--r-sm);
}

.shop-stepper button {
    background: var(--ink-50);
    font-weight: 700;
    transition: background var(--dur-1) var(--ease-soft),
                color var(--dur-1) var(--ease-soft);
}

.shop-stepper button:hover {
    background: var(--brand-100);
    color: var(--brand-700);
}

/* --- Kronik ürün kartı --- */

.kr-product {
    border: 1px solid var(--accent-100);
    border-radius: var(--r-md);
    box-shadow: var(--sh-xs);
}

.kr-product:hover {
    transform: translateY(-6px);
    border-color: var(--accent-300);
    box-shadow: var(--sh-lg);
}

.kr-product__img img {
    transition: transform var(--dur-2) var(--ease);
}

.kr-product:hover .kr-product__img img {
    transform: scale(1.08);
}

.kr-product__cal {
    display: inline-block;
    background: var(--accent-50);
    border-radius: var(--r-full);
    color: var(--accent-600);
    font-weight: 600;
    padding: .12rem .6rem;
    margin-top: .4rem;
}

/* --- Destek talebi kartı --- */

.stk-item {
    border: 1px solid var(--line-soft);
    border-radius: var(--r-md);
    box-shadow: var(--sh-xs);
}

.stk-item:hover {
    transform: translateX(4px);
    border-color: var(--brand-300);
    box-shadow: var(--sh-md);
}

/* ----------------------------------------------------------
   2. FORMLAR
   ---------------------------------------------------------- */

.adk-label,
.kr-label,
.shop-label {
    font-size: .82rem;
    font-weight: 600;
    color: var(--text-soft);
    letter-spacing: -.005em;
    margin-bottom: .42rem;
}

/* Ortak girdi görünümü */
.form-control,
.form-select,
.adk-input-group .form-control,
.adk-input-group .form-select,
.kr-input,
.shop-input,
.stk-input,
.adk-select,
.adk-textarea {
    border: 1.5px solid var(--line);
    border-radius: var(--r-sm);
    font-size: .9rem;
    color: var(--ink-800);
    background: var(--surface);
    transition: border-color var(--dur-1) var(--ease-soft),
                box-shadow var(--dur-2) var(--ease-soft),
                background var(--dur-1) var(--ease-soft);
}

.form-control::placeholder,
.kr-input::placeholder,
.shop-input::placeholder {
    color: var(--ink-400);
}

.form-control:hover,
.form-select:hover,
.kr-input:hover,
.shop-input:hover,
.adk-select:hover,
.adk-textarea:hover {
    border-color: var(--ink-300);
}

.form-control:focus,
.form-select:focus,
.adk-input-group .form-control:focus,
.adk-input-group .form-select:focus,
.kr-input:focus,
.shop-input:focus,
.stk-input:focus,
.adk-select:focus,
.adk-textarea:focus {
    border-color: var(--brand-500);
    box-shadow: 0 0 0 4px rgba(139, 92, 246, .13);
    background: var(--surface);
    outline: none;
}

/* Hatalı alan */
.form-control.is-invalid,
.form-select.is-invalid {
    border-color: var(--danger-500);
    box-shadow: 0 0 0 4px rgba(226, 61, 76, .12);
}

/* İkonlu girdi grubu */
.adk-input-group > i {
    color: var(--ink-400);
    transition: color var(--dur-1) var(--ease-soft);
    z-index: 2;
}

.adk-input-group:focus-within > i {
    color: var(--brand-600);
}

/* Onay kutuları — daha büyük ve yumuşak */
.form-check-input {
    width: 1.15em;
    height: 1.15em;
    border: 1.5px solid var(--ink-300);
    border-radius: 5px;
    cursor: pointer;
    transition: all var(--dur-1) var(--ease-soft);
}

.form-check-input:hover {
    border-color: var(--brand-400);
}

.form-check-input:checked {
    background-color: var(--brand-600);
    border-color: var(--brand-600);
}

.form-check-input:focus {
    box-shadow: 0 0 0 4px rgba(139, 92, 246, .16);
    border-color: var(--brand-500);
}

.form-check-label {
    cursor: pointer;
    font-size: .875rem;
    color: var(--text-soft);
}

/* Cinsiyet seçici */
.kr-gender__opt span {
    border: 1.5px solid var(--line);
    border-radius: var(--r-sm);
    font-weight: 500;
    transition: all var(--dur-2) var(--ease);
}

.kr-gender__opt:hover span {
    border-color: var(--accent-300);
    color: var(--accent-500);
}

.kr-gender__opt input:checked + span {
    background: var(--accent-50);
    border-color: var(--accent-500);
    color: var(--accent-600);
    box-shadow: 0 0 0 4px rgba(230, 55, 113, .1);
}

/* İpucu metni */
.adk-hint {
    font-size: .77rem;
    color: var(--ink-400);
}

/* Form kartı */
.adk-form-card,
.stk-panel {
    background: var(--surface);
    border: 1px solid var(--line-soft);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-md);
    padding: 2.1rem;
}

/* Giriş kartı */
.adk-auth-card {
    border: 1px solid var(--line-soft);
    border-radius: var(--r-xl);
    box-shadow: var(--sh-lg);
    padding: 2.4rem 2.1rem;
}

.adk-auth-card__title {
    font-size: 1.55rem;
    background: var(--grad-brand);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    margin-bottom: 1.7rem;
}

.adk-auth-card__icon {
    width: 66px;
    height: 66px;
    background: var(--grad-brand);
    box-shadow: var(--sh-glow);
}

.adk-eye {
    border-radius: var(--r-xs);
    transition: color var(--dur-1) var(--ease-soft),
                background var(--dur-1) var(--ease-soft);
}

.adk-eye:hover {
    background: var(--brand-50);
    color: var(--brand-600);
}

/* Adım listesi */
.adk-step__no {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    background: linear-gradient(135deg, var(--ok-500) 0%, #0C8F58 100%);
    box-shadow: 0 4px 14px rgba(15, 169, 104, .28);
    font-weight: 800;
}

.adk-step h4 {
    font-size: 1rem;
    font-weight: 700;
    color: var(--ink-900);
}

/* ----------------------------------------------------------
   3. UYARI KUTULARI
   ---------------------------------------------------------- */

.adk-alert {
    border-radius: var(--r-md);
    border-left: 4px solid transparent;
    box-shadow: var(--sh-sm);
    font-size: .885rem;
    padding: 1rem 1.2rem;
    animation: alertIn var(--dur-3) var(--ease);
}

@keyframes alertIn {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
}

.adk-alert--success {
    background: var(--ok-50);
    border-left-color: var(--ok-500);
    color: #0A7A4B;
}

.adk-alert--error {
    background: var(--danger-50);
    border-left-color: var(--danger-500);
    color: #A3202D;
}

.adk-info-strip {
    background: var(--info-50);
    border: 1px solid #D3E0FA;
    border-left: 4px solid var(--info-500);
    border-radius: var(--r-md);
    box-shadow: var(--sh-xs);
}

.adk-info-strip > i {
    color: var(--info-500);
}

.adk-btn-outline-sm {
    border: 1.5px solid var(--info-500);
    border-radius: var(--r-sm);
    color: var(--info-500);
    font-weight: 600;
    transition: all var(--dur-2) var(--ease);
}

.adk-btn-outline-sm:hover {
    background: var(--info-500);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(47, 111, 237, .28);
}

.krp-warn,
.stk-waiting {
    background: var(--warn-50);
    border: 1px solid #F5DFAF;
    border-left: 4px solid var(--warn-500);
    border-radius: var(--r-md);
    color: #8A6410;
}

.adk-note-box {
    background: var(--info-50);
    border: 1px solid #D3E0FA;
    border-left: 4px solid var(--info-500);
    border-radius: var(--r-md);
    color: #1E56C4;
}

/* ----------------------------------------------------------
   4. MODALLAR
   ---------------------------------------------------------- */

.modal-backdrop.show {
    opacity: .6;
    backdrop-filter: blur(4px);
}

.modal-content {
    border: none;
    border-radius: var(--r-xl);
    box-shadow: 0 30px 90px rgba(10, 15, 28, .3);
}

.modal.fade .modal-dialog {
    transform: translateY(20px) scale(.97);
    transition: transform var(--dur-3) var(--ease);
}

.modal.show .modal-dialog {
    transform: none;
}

.adk-modal__header,
.kr-modal__header {
    background: var(--grad-brand);
    padding: 1.1rem 1.4rem;
}

.kr-modal__header--soft {
    background: linear-gradient(135deg, var(--accent-50) 0%, var(--brand-50) 100%);
    border-bottom: 1px solid var(--line-soft);
}

.kr-modal__header--soft .modal-title {
    background: var(--grad-brand);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.modal-title {
    font-weight: 700;
    letter-spacing: -.02em;
}

.kr-modal__body {
    background: linear-gradient(160deg, var(--brand-600) 0%, var(--accent-500) 100%);
}

.kr-block {
    background: rgba(255, 255, 255, .13);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: var(--r-md);
    backdrop-filter: blur(6px);
}

.kr-check-list i {
    color: #6EE7B7;
}

.shop-modal__header {
    border-bottom: 1px solid var(--line-soft);
}

.shop-modal__header .modal-title {
    font-size: 1.2rem;
    background: var(--grad-brand);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

/* Ürün modalı */
.kr-pmodal__header {
    background: linear-gradient(135deg, var(--accent-50) 0%, var(--brand-50) 100%);
    border-bottom: 1px solid var(--line-soft);
}

.kr-pmodal__header .modal-title {
    background: var(--grad-brand);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.kr-pmodal__img {
    border: 1px solid var(--line-soft);
    border-radius: var(--r-md);
    background: var(--ink-50);
}

.kr-nutri {
    border: 1px solid var(--line-soft);
    border-radius: var(--r-md);
    overflow: hidden;
    box-shadow: var(--sh-xs);
}

.kr-nutri__head {
    background: linear-gradient(135deg, var(--ok-500) 0%, #0C8F58 100%);
    font-weight: 700;
    letter-spacing: -.01em;
}

.kr-nutri__table tr {
    transition: background var(--dur-1) var(--ease-soft);
}

.kr-nutri__table tr:hover td {
    background: var(--brand-50);
}

.kr-chip {
    background: var(--grad-brand);
    border-radius: var(--r-full);
    font-weight: 700;
    box-shadow: var(--sh-xs);
}

.kr-chip--empty {
    background: var(--ink-200);
    color: var(--ink-400);
}

.kr-disease-tab {
    border: 1.5px solid var(--line);
    border-radius: var(--r-sm);
    font-weight: 500;
    transition: all var(--dur-2) var(--ease);
}

.kr-disease-tab:hover {
    border-color: var(--accent-300);
    transform: translateX(3px);
}

.kr-disease-tab.active {
    background: var(--accent-50);
    border-color: var(--accent-500);
    color: var(--accent-600);
    box-shadow: 0 0 0 4px rgba(230, 55, 113, .09);
}

.kr-disease-tab.has {
    background: var(--warn-50);
    border-color: #EBBE63;
    color: #8A6410;
}

.kr-disease-panel {
    background: var(--ink-50);
    border: 1px solid var(--line-soft);
    border-radius: var(--r-md);
}

/* ----------------------------------------------------------
   5. TABLOLAR VE PANELLER
   ---------------------------------------------------------- */

.adk-admin-card,
.krp-card {
    border: 1px solid var(--line-soft);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-sm);
}

.adk-admin-card__head {
    background: var(--ink-50);
    border-bottom: 1px solid var(--line-soft);
    font-weight: 700;
    letter-spacing: -.015em;
}

.adk-badge-count {
    background: var(--brand-100);
    color: var(--brand-700);
    border-radius: var(--r-full);
    font-weight: 700;
}

.adk-table thead th,
.krp-table thead th {
    background: var(--ink-50);
    border-bottom: 1px solid var(--line);
    color: var(--ink-500);
    font-weight: 700;
    font-size: .74rem;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.adk-table tbody td,
.krp-table tbody td {
    border-bottom: 1px solid var(--line-soft);
    color: var(--text-soft);
}

.adk-table tbody tr,
.krp-table tbody tr {
    transition: background var(--dur-1) var(--ease-soft);
}

.adk-table tbody tr:hover,
.krp-table tbody tr:hover {
    background: var(--brand-50);
}

.adk-row-unread {
    position: relative;
}

.adk-row-unread td:first-child::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--grad-brand);
}

/* Durum etiketleri */
.adk-pill {
    border-radius: var(--r-full);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .01em;
    padding: .26rem .75rem;
}

.adk-pill--green { background: var(--ok-50);     color: #0A7A4B; }
.adk-pill--amber { background: var(--warn-50);   color: #8A6410; }
.adk-pill--gray  { background: var(--ink-100);   color: var(--ink-500); }

/* İşlem butonları */
.adk-icon-action {
    width: 32px;
    height: 32px;
    border-radius: var(--r-sm);
    transition: transform var(--dur-1) var(--ease),
                box-shadow var(--dur-2) var(--ease-soft),
                filter var(--dur-1) var(--ease-soft);
}

.adk-icon-action:hover {
    transform: translateY(-2px);
    box-shadow: var(--sh-sm);
}

.adk-icon-action--red  { background: var(--danger-50); color: #C22F3D; }
.adk-icon-action--blue { background: var(--info-50);   color: #2456C9; }
.adk-icon-action--gray { background: var(--ink-100);   color: var(--ink-600); }

/* Filtre çubuğu */
.adk-filter {
    border: 1.5px solid var(--line);
    border-radius: var(--r-full);
    font-weight: 600;
    transition: all var(--dur-2) var(--ease);
}

.adk-filter:hover {
    border-color: var(--brand-400);
    color: var(--brand-600);
    transform: translateY(-1px);
}

.adk-filter.active {
    background: var(--grad-brand);
    border-color: transparent;
    color: #fff;
    box-shadow: var(--sh-glow);
}

/* İstatistik kutuları */
.adk-stat {
    position: relative;
    border: 1px solid var(--line-soft);
    border-left: 4px solid transparent;
    border-radius: var(--r-lg);
    box-shadow: var(--sh-sm);
    padding: 1.35rem;
    overflow: hidden;
    transition: transform var(--dur-2) var(--ease),
                box-shadow var(--dur-2) var(--ease-soft);
}

.adk-stat::after {
    content: '';
    position: absolute;
    top: -40px;
    right: -40px;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: currentColor;
    opacity: .05;
    transition: transform var(--dur-3) var(--ease);
}

.adk-stat:hover {
    transform: translateY(-5px);
    box-shadow: var(--sh-lg);
}

.adk-stat:hover::after {
    transform: scale(1.35);
}

.adk-stat i {
    font-size: 1.25rem;
    position: relative;
    z-index: 1;
}

.adk-stat__no {
    font-size: 1.85rem;
    font-weight: 800;
    letter-spacing: -.03em;
    color: var(--ink-900);
    position: relative;
    z-index: 1;
}

.adk-stat__label {
    font-size: .8rem;
    font-weight: 500;
    color: var(--text-muted);
    position: relative;
    z-index: 1;
}

.adk-stat--blue   { color: var(--info-500);   border-left-color: var(--info-500); }
.adk-stat--pink   { color: var(--accent-500); border-left-color: var(--accent-500); }
.adk-stat--orange { color: var(--warn-500);   border-left-color: var(--warn-500); }
.adk-stat--green  { color: var(--ok-500);     border-left-color: var(--ok-500); }

/* Küçük görseller */
.adk-thumb,
.krp-thumb {
    border: 1px solid var(--line-soft);
    border-radius: var(--r-sm);
    background: var(--ink-50);
}

.adk-preview {
    border: 1px solid var(--line-soft);
    border-radius: var(--r-md);
    box-shadow: var(--sh-xs);
}

/* Tekrarlanan satır ekleme butonu */
.adk-add-btn,
.krp-add-btn {
    background: var(--brand-50);
    border: 1.5px solid var(--brand-200);
    border-radius: var(--r-full);
    color: var(--brand-700);
    font-weight: 600;
    transition: all var(--dur-2) var(--ease);
}

.adk-add-btn:hover,
.krp-add-btn:hover {
    background: var(--grad-brand);
    border-color: transparent;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: var(--sh-glow);
}

.adk-repeat-row,
.krp-info-row {
    animation: rowIn var(--dur-2) var(--ease);
}

@keyframes rowIn {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Detay listesi */
.adk-dl dt {
    font-size: .72rem;
    font-weight: 700;
    color: var(--ink-400);
    letter-spacing: .07em;
}

.adk-dl dd {
    font-size: .89rem;
    color: var(--ink-800);
}

/* Boş durum */
.adk-empty {
    background: var(--ink-50);
    border: 2px dashed var(--line);
    border-radius: var(--r-lg);
    padding: 3.5rem 1.5rem;
    color: var(--ink-400);
}

.adk-empty i {
    font-size: 2.6rem;
    background: var(--grad-brand);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    opacity: .45;
}

/* ----------------------------------------------------------
   6. PANEL KENAR ÇUBUKLARI
   ---------------------------------------------------------- */

/* Admin sidebar */
.adk-admin-side {
    background: var(--ink-950);
    border-right: 1px solid rgba(255, 255, 255, .05);
}

.adk-admin-side__brand {
    display: block;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: -.02em;
    text-decoration: none;
}

.adk-admin-nav a {
    border-radius: var(--r-sm);
    font-weight: 500;
    transition: all var(--dur-2) var(--ease);
}

.adk-admin-nav a:hover {
    background: rgba(255, 255, 255, .07);
    transform: translateX(3px);
}

.adk-admin-nav a.active {
    background: var(--grad-brand);
    color: #fff;
    box-shadow: var(--sh-glow);
}

.adk-admin-side__logout button {
    background: rgba(226, 61, 76, .16);
    border: 1px solid rgba(226, 61, 76, .3);
    border-radius: var(--r-sm);
    color: #FF8A94;
    font-weight: 600;
    transition: all var(--dur-2) var(--ease);
}

.adk-admin-side__logout button:hover {
    background: var(--danger-500);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 8px 22px rgba(226, 61, 76, .3);
}

/* Öğrenci sidebar */
.adk-student-top {
    background: rgba(255, 255, 255, .82);
    backdrop-filter: saturate(180%) blur(16px);
    border-bottom: 1px solid var(--line-soft);
}

.adk-student-top__brand {
    font-weight: 700;
    letter-spacing: -.02em;
}

.adk-student-side {
    background: var(--surface);
    border-right: 1px solid var(--line-soft);
}

.adk-side-link {
    border-radius: var(--r-sm);
    font-weight: 500;
    transition: all var(--dur-2) var(--ease);
}

.adk-side-link:hover {
    background: var(--brand-50);
    color: var(--brand-700);
    transform: translateX(3px);
}

.adk-side-link.active {
    background: var(--grad-brand);
    color: #fff;
    box-shadow: var(--sh-glow);
}

.adk-icon-btn {
    border-radius: var(--r-sm);
}

.adk-dropdown {
    border: 1px solid var(--line-soft);
    border-radius: var(--r-md);
    box-shadow: var(--sh-lg);
    padding: .45rem;
}

.adk-dropdown .dropdown-item {
    border-radius: var(--r-xs);
    font-weight: 500;
    transition: background var(--dur-1) var(--ease-soft);
}

.adk-dropdown .dropdown-item:hover {
    background: var(--brand-50);
    color: var(--brand-700);
}

/* Kronik sidebar */
.krp-side {
    background: linear-gradient(180deg, var(--accent-50) 0%, var(--brand-50) 100%);
    border-right: 1px solid var(--accent-100);
}

.krp-avatar {
    background: var(--grad-brand);
    border: 3px solid #fff;
    box-shadow: var(--sh-md);
}

.krp-side__name {
    font-weight: 700;
    color: var(--ink-800);
}

.krp-disease span {
    border: 1.5px solid var(--accent-200);
    border-radius: var(--r-sm);
    background: rgba(255, 255, 255, .65);
    color: var(--accent-500);
    font-weight: 500;
    transition: all var(--dur-2) var(--ease);
}

.krp-disease:hover span {
    border-color: var(--accent-400);
    transform: translateX(3px);
}

.krp-disease.is-on span {
    background: var(--grad-brand);
    border-color: transparent;
    color: #fff;
    font-weight: 600;
    box-shadow: var(--sh-glow-accent);
}

.krp-side__nav a {
    border-radius: var(--r-sm);
    font-weight: 500;
    transition: all var(--dur-2) var(--ease);
}

.krp-side__nav a:hover {
    background: rgba(255, 255, 255, .7);
    transform: translateX(3px);
}

.krp-side__nav a.active {
    background: var(--grad-brand);
    color: #fff;
    box-shadow: var(--sh-glow-accent);
}

.krp-logout {
    border-radius: var(--r-sm);
    font-weight: 600;
}

.krp-logout:hover {
    background: var(--danger-50);
}

/* ----------------------------------------------------------
   7. KRONİK PANEL BİLEŞENLERİ
   ---------------------------------------------------------- */

.krp-card {
    background: var(--surface);
    border: 1px solid var(--line-soft);
    box-shadow: var(--sh-sm);
}

.krp-card__title {
    font-weight: 700;
    color: var(--ink-800);
    letter-spacing: -.015em;
}

.krp-calorie {
    background: var(--grad-ink);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-lg);
    position: relative;
    overflow: hidden;
}

.krp-calorie::after {
    content: '';
    position: absolute;
    top: -60px;
    right: -60px;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(139, 92, 246, .35) 0%, transparent 70%);
}

.krp-calorie__no {
    font-size: 2.8rem;
    font-weight: 800;
    letter-spacing: -.04em;
    position: relative;
    z-index: 1;
}

.krp-fact {
    background: var(--surface);
    border: 1px solid var(--line-soft);
    border-radius: var(--r-sm);
    transition: all var(--dur-2) var(--ease);
}

.krp-fact:hover {
    border-color: var(--brand-200);
    box-shadow: var(--sh-sm);
    transform: translateY(-2px);
}

.krp-fact__value {
    font-weight: 700;
    color: var(--ink-800);
}

.krp-bmi {
    background: var(--surface);
    border: 1px solid var(--line-soft);
    border-radius: var(--r-md);
    font-size: 3.1rem;
    font-weight: 800;
    letter-spacing: -.04em;
    background: linear-gradient(135deg, var(--ok-500) 0%, #0C8F58 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    box-shadow: none;
}

.kr-scale__bar {
    background: var(--ink-100);
    border-radius: var(--r-full);
    overflow: hidden;
}

.kr-scale__bar span {
    background: linear-gradient(90deg, var(--brand-500) 0%, var(--accent-500) 100%);
    border-radius: var(--r-full);
}

.krp-ring__inner {
    background: var(--surface);
    box-shadow: inset 0 2px 8px rgba(15, 23, 42, .05);
}

.krp-ring__no {
    font-weight: 800;
    letter-spacing: -.03em;
}

/* Kronik hesaplayıcı */
.kr-calc {
    background: var(--surface);
    border: 1px solid var(--line-soft);
    border-radius: var(--r-xl);
    box-shadow: var(--sh-lg);
    padding: 2.2rem;
}

.kr-result-box {
    background: linear-gradient(150deg, var(--brand-50) 0%, var(--accent-50) 100%);
    border: 1px solid var(--line-soft);
    border-radius: var(--r-md);
    transition: transform var(--dur-2) var(--ease);
}

.kr-result-box:hover {
    transform: translateY(-3px);
    box-shadow: var(--sh-sm);
}

.kr-result-box__no {
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -.03em;
    background: linear-gradient(135deg, var(--ok-500) 0%, #0C8F58 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

/* Kronik hero */
.kr-hero {
    border: 1px solid var(--line-soft);
    border-radius: var(--r-xl);
    box-shadow: var(--sh-md);
}

.kr-hero__text h1 {
    background: var(--grad-brand);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.kr-info-dot {
    background: var(--grad-brand);
    box-shadow: var(--sh-glow-accent);
    transition: transform var(--dur-2) var(--ease);
}

.kr-info-dot:hover {
    transform: scale(1.15) rotate(8deg);
}

.kr-float-info {
    background: var(--grad-brand);
    box-shadow: var(--sh-glow);
    transition: transform var(--dur-2) var(--ease);
}

.kr-float-info:hover {
    transform: translateY(-4px) scale(1.05);
}

.kr-info-card {
    border-radius: var(--r-lg);
    box-shadow: var(--sh-sm);
    transition: transform var(--dur-2) var(--ease),
                box-shadow var(--dur-2) var(--ease-soft);
}

.kr-info-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--sh-lg);
}

.kr-info-card__overlay {
    background: linear-gradient(160deg, rgba(105, 38, 212, .93) 0%, rgba(206, 31, 91, .9) 100%);
    backdrop-filter: blur(2px);
}

/* Sekmeler */
.krp-tabs,
.kr-tabs {
    border-bottom: 1px solid var(--line-soft);
    gap: .2rem;
}

.krp-tabs .nav-link,
.kr-tabs .nav-link {
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: var(--r-sm) var(--r-sm) 0 0;
    font-weight: 600;
    color: var(--text-muted);
    transition: all var(--dur-2) var(--ease);
}

.krp-tabs .nav-link:hover,
.kr-tabs .nav-link:hover {
    background: var(--brand-50);
    color: var(--brand-600);
}

.krp-tabs .nav-link.active,
.kr-tabs .nav-link.active {
    background: transparent;
    border-bottom-color: var(--accent-500);
    color: var(--accent-600);
}

/* ----------------------------------------------------------
   8. ÖĞRENCİ DESTEK BALONLARI
   ---------------------------------------------------------- */

.stk-bubble {
    border-radius: var(--r-lg);
    box-shadow: var(--sh-sm);
    overflow: hidden;
}

.stk-bubble--user .stk-bubble__head {
    background: var(--grad-brand-alt);
}

.stk-bubble--admin .stk-bubble__head {
    background: linear-gradient(135deg, var(--ok-500) 0%, #0C8F58 100%);
}

.stk-bubble__head {
    font-weight: 700;
    letter-spacing: -.01em;
}

/* ----------------------------------------------------------
   9. CANLI DERS PANELİ
   ---------------------------------------------------------- */

.adk-live-panel {
    border: 1px solid var(--line-soft);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-sm);
}

.adk-live-panel__head {
    background: var(--ink-50);
    border-bottom: 1px solid var(--line-soft);
    font-weight: 700;
}

.adk-live-panel__head i {
    color: var(--info-500);
}

.adk-btn-indigo-sm {
    background: var(--grad-brand-alt);
    border-radius: var(--r-sm);
    font-weight: 600;
    transition: all var(--dur-2) var(--ease);
}

.adk-btn-indigo-sm:hover {
    transform: translateY(-2px);
    box-shadow: var(--sh-sm);
}

/* ----------------------------------------------------------
   10. SATIŞ ÜST BARI
   ---------------------------------------------------------- */

.shop-topbar {
    background: var(--ink-950);
    position: sticky;
    top: 0;
    z-index: 1030;
    box-shadow: var(--sh-md);
}

.shop-topbar__title {
    font-weight: 700;
    letter-spacing: -.02em;
}

.shop-back,
.shop-cart-btn {
    border-radius: var(--r-full);
    font-weight: 600;
    transition: all var(--dur-2) var(--ease);
}

.shop-back:hover,
.shop-cart-btn:hover {
    transform: translateY(-2px);
    box-shadow: var(--sh-md);
}

.shop-cart-btn__badge {
    background: var(--grad-brand);
    box-shadow: var(--sh-glow-accent);
    font-weight: 800;
}

.shop-panel {
    border: 1px solid var(--line-soft);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-md);
}

.shop-panel__title {
    font-weight: 700;
    letter-spacing: -.02em;
    color: var(--ink-900);
}

.shop-success__icon {
    width: 88px;
    height: 88px;
    background: var(--ok-50);
    color: var(--ok-500);
    font-size: 2.6rem;
    animation: successPop var(--dur-3) var(--ease);
}

@keyframes successPop {
    0%   { transform: scale(.6); opacity: 0; }
    60%  { transform: scale(1.08); }
    100% { transform: scale(1); opacity: 1; }
}

.shop-cart-line {
    border-bottom: 1px solid var(--line-soft);
    transition: background var(--dur-1) var(--ease-soft);
}

.shop-cart-line:hover {
    background: var(--ink-50);
}

/* ----------------------------------------------------------
   11. VİDEO VE DERS DETAY
   ---------------------------------------------------------- */

.adk-video-box {
    border-radius: var(--r-lg);
    box-shadow: var(--sh-lg);
    background: var(--ink-100);
}

.adk-panel {
    border-radius: var(--r-lg);
    box-shadow: var(--sh-sm);
    border: 1px solid var(--line-soft);
}

.adk-panel__head {
    font-weight: 700;
    letter-spacing: -.015em;
}

.adk-panel--navy .adk-panel__head {
    background: var(--grad-ink);
}

.adk-panel--green .adk-panel__head {
    background: linear-gradient(135deg, var(--ok-500) 0%, #0C8F58 100%);
}

.adk-panel__list li {
    font-size: .875rem;
    color: var(--text-soft);
}

.adk-tick {
    color: var(--ok-500);
}

.adk-lesson-title {
    font-size: 1.45rem;
    font-weight: 700;
    letter-spacing: -.025em;
    color: var(--ink-900);
}

/* ----------------------------------------------------------
   12. SAYFALAMA
   ---------------------------------------------------------- */

.pagination {
    gap: .3rem;
}

.page-link {
    border: 1px solid var(--line);
    border-radius: var(--r-sm) !important;
    color: var(--brand-600);
    font-weight: 600;
    font-size: .85rem;
    padding: .45rem .8rem;
    transition: all var(--dur-1) var(--ease-soft);
}

.page-link:hover {
    background: var(--brand-50);
    border-color: var(--brand-300);
    color: var(--brand-700);
}

.page-item.active .page-link {
    background: var(--grad-brand);
    border-color: transparent;
    box-shadow: var(--sh-glow);
}

.page-item.disabled .page-link {
    background: var(--ink-50);
    border-color: var(--line-soft);
    color: var(--ink-400);
}

/* ==========================================================
   ADIM 17 — Görsel yer tutucuları
   ========================================================== */

/* Ders kartı görseli yoksa ikon göster */
.adk-course-card__media:not([style*="background-image"])::before {
    content: '\f5da';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.6rem;
    color: var(--brand-300);
    opacity: .55;
}

/* Uzman fotoğrafı yüklenemezse */
.adk-expert-card__photo img {
    background: linear-gradient(160deg, var(--brand-100) 0%, var(--accent-100) 100%);
}

/* Satış kartı yer tutucusu */
.shop-card__placeholder i {
    background: var(--grad-brand);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    opacity: .45;
}

/* Kronik ürün yer tutucusu */
.kr-product__img i {
    background: var(--grad-brand);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    opacity: .4;
}

/* Kronik hero görselleri yoksa gradyan */
.kr-hero__img {
    background-color: transparent;
    background-image: linear-gradient(160deg, var(--brand-100) 0%, var(--accent-100) 100%);
}

.kr-hero__img--left {
    background-image: url('/images/kronik/hero-sol.jpg'),
                      linear-gradient(160deg, var(--brand-100) 0%, var(--accent-100) 100%);
}

.kr-hero__img--right {
    background-image: url('/images/kronik/hero-sag.jpg'),
                      linear-gradient(160deg, var(--accent-100) 0%, var(--brand-100) 100%);
}

/* Görsel yüklenirken yumuşak geçiş */
img {
    transition: opacity var(--dur-2) var(--ease-soft);
}

/* ==========================================================
   ADIM 18A — Feedback düzeltmeleri
   ========================================================== */

/* ---------- Navbar sağ blok ---------- */

.navbar-actions {
    display: flex;
    align-items: center;
    gap: .2rem;
    flex-shrink: 0;
}

.nav-flag {
    display: inline-block;
    background: var(--warn-500);
    border-radius: var(--r-full);
    color: #fff;
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .04em;
    padding: .08rem .4rem;
    margin-left: .3rem;
    vertical-align: middle;
    text-transform: uppercase;
}

/* ---------- Eğitim portalı çağrısı ---------- */

.portal-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1.5rem;
    background: linear-gradient(135deg, var(--brand-50) 0%, var(--accent-50) 100%);
    border: 1px solid var(--brand-100);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-sm);
    padding: 1.6rem 1.8rem;
    margin-bottom: 2.5rem;
}

.portal-cta__text {
    display: flex;
    align-items: flex-start;
    gap: 1.1rem;
    flex: 1 1 340px;
}

.portal-cta__icon {
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    border-radius: var(--r-md);
    background: var(--grad-brand);
    color: #fff;
    font-size: 1.15rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--sh-glow);
}

.portal-cta__text h3 {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--ink-900);
    margin-bottom: .3rem;
}

.portal-cta__text p {
    font-size: .875rem;
    color: var(--text-soft);
    margin: 0;
}

.portal-cta__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: .55rem;
    flex: 0 0 auto;
}

.portal-cta__link {
    font-size: .82rem;
    color: var(--brand-700);
    text-align: center;
    text-decoration: none;
    font-weight: 500;
}

.portal-cta__link:hover {
    text-decoration: underline;
}

.portal-cta--in {
    background: linear-gradient(135deg, var(--ok-50) 0%, var(--brand-50) 100%);
    border-color: #BFE9D3;
}

.portal-cta--in .portal-cta__icon {
    background: linear-gradient(135deg, var(--ok-500) 0%, #0C8F58 100%);
    box-shadow: 0 8px 24px rgba(15, 169, 104, .26);
}

/* ---------- Filtre ayırıcı ---------- */

.adk-filter-sep {
    width: 1px;
    align-self: stretch;
    background: var(--line);
    margin: 0 .35rem;
}

/* ---------- Marka rozeti ---------- */

.adk-pill--brand {
    background: var(--brand-100);
    color: var(--brand-700);
}

/* ---------- Sosyal medya kullanıcı adı ---------- */

.adk-social__handle {
    font-size: .85rem;
    color: var(--ink-400);
    margin: 0;
}

/* ==========================================================
   MOBİL YATAY (landscape) DÜZELTMESİ
   ========================================================== */

/* Yatay tutulan telefonlarda menü ekrana sığmıyordu */
@media (max-width: 991.98px) {

    .adk-navbar .navbar-collapse {
        max-height: calc(100vh - 70px);
        overflow-y: auto;
        overscroll-behavior: contain;
        padding-bottom: .8rem;
    }

    .adk-navbar .navbar-nav {
        margin: .6rem 0 !important;
    }

    .adk-navbar .nav-link {
        padding: .62rem .9rem !important;
        border-radius: var(--r-sm);
    }

    .adk-navbar .nav-link::after {
        display: none;
    }

    .navbar-actions {
        justify-content: flex-start;
        gap: .5rem;
        padding-top: .7rem;
        margin-top: .3rem;
        border-top: 1px solid rgba(255, 255, 255, .1);
    }

    .adk-btn-login {
        flex: 1 1 auto;
        justify-content: center;
    }

    .portal-cta {
        flex-direction: column;
        align-items: stretch;
        padding: 1.3rem;
    }

    .portal-cta__actions {
        width: 100%;
    }
}

/* Yatay mod: ekran kısa, menüyü iki sütuna böl */
@media (max-width: 991.98px) and (orientation: landscape) and (max-height: 520px) {

    .adk-navbar {
        padding: .4rem 0;
    }

    .adk-navbar .navbar-collapse {
        max-height: calc(100vh - 54px);
    }

    .adk-navbar .navbar-nav {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: .1rem .5rem;
    }

    .adk-navbar .nav-link {
        padding: .5rem .7rem !important;
        font-size: .8rem;
    }

    .adk-navbar .nav-link span {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .navbar-actions {
        grid-column: 1 / -1;
    }

    .hx-hero {
        min-height: 460px;
    }

    .hx-hero__content {
        padding: 2rem 0;
    }

    .hx-hero__content h1 {
        font-size: 1.6rem;
        margin-bottom: 1rem;
    }

    .hx-hero__content p {
        font-size: .85rem;
        line-height: 1.6;
    }
}

/* Çok dar ekranlarda marka adını kısalt */
@media (max-width: 400px) {
    .adk-navbar .navbar-brand {
        font-size: .9rem;
    }
}

/* ==========================================================
   ADIM 18B — Yasal sayfalar, şifre kuralları, bilgi kutusu
   ========================================================== */

/* ---------- Yasal sayfalar ---------- */

.legal-page {
    padding: 3.5rem 0 5rem;
    background: var(--canvas);
}

.legal-head {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 3rem;
}

.legal-head__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    border-radius: var(--r-lg);
    background: var(--grad-brand);
    color: #fff;
    font-size: 1.6rem;
    box-shadow: var(--sh-glow);
    margin-bottom: 1.3rem;
}

.legal-head h1 {
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    font-weight: 800;
    color: var(--ink-900);
    margin-bottom: .5rem;
}

.legal-head p {
    font-size: .87rem;
    color: var(--text-muted);
    margin: 0;
}

.legal-body {
    max-width: 820px;
    margin: 0 auto;
    background: var(--surface);
    border: 1px solid var(--line-soft);
    border-radius: var(--r-xl);
    box-shadow: var(--sh-md);
    padding: 2.8rem;
}

.legal-body h2 {
    font-size: 1.12rem;
    font-weight: 700;
    color: var(--ink-900);
    margin: 2.2rem 0 .9rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid var(--line-soft);
}

.legal-body h2:first-child {
    margin-top: 0;
}

.legal-body p {
    font-size: .92rem;
    line-height: 1.85;
    color: var(--text-soft);
    margin-bottom: 1rem;
}

.legal-body ul {
    padding-left: 0;
    list-style: none;
    margin-bottom: 1.2rem;
}

.legal-body ul li {
    position: relative;
    font-size: .92rem;
    line-height: 1.8;
    color: var(--text-soft);
    padding-left: 1.6rem;
    margin-bottom: .5rem;
}

.legal-body ul li::before {
    content: '';
    position: absolute;
    left: .35rem;
    top: .72rem;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--grad-brand);
}

.legal-body a {
    color: var(--brand-700);
    font-weight: 500;
}

.legal-callout {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    border-radius: var(--r-md);
    border-left: 4px solid;
    padding: 1.1rem 1.3rem;
    margin: 1.4rem 0;
    font-size: .89rem;
    line-height: 1.75;
}

.legal-callout > i {
    font-size: 1.05rem;
    margin-top: .15rem;
}

.legal-callout--warn {
    background: var(--warn-50);
    border-left-color: var(--warn-500);
    color: #8A6410;
}

.legal-callout--ok {
    background: var(--ok-50);
    border-left-color: var(--ok-500);
    color: #0A7A4B;
}

.legal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .88rem;
    margin: 1.2rem 0 1.5rem;
    border: 1px solid var(--line-soft);
    border-radius: var(--r-md);
    overflow: hidden;
}

.legal-table thead th {
    background: var(--ink-50);
    color: var(--ink-600);
    font-weight: 700;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    padding: .75rem 1rem;
    text-align: left;
}

.legal-table tbody td {
    padding: .75rem 1rem;
    border-top: 1px solid var(--line-soft);
    color: var(--text-soft);
}

.legal-foot {
    text-align: center;
    margin-top: 2.5rem;
}

.legal-link {
    color: var(--brand-700);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.legal-link:hover {
    color: var(--accent-600);
}

/* Footer yasal bağlantılar */
.adk-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .8rem;
    text-align: left;
}

.adk-footer__legal {
    display: flex;
    gap: 1.3rem;
}

.adk-footer__legal a {
    margin-bottom: 0;
    font-size: .82rem;
}

/* ---------- Şifre kuralları ---------- */

.pw-rules {
    list-style: none;
    padding: 0;
    margin: .6rem 0 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .3rem .8rem;
}

.pw-rules li {
    display: flex;
    align-items: center;
    gap: .45rem;
    font-size: .77rem;
    color: var(--ink-400);
    transition: color var(--dur-2) var(--ease-soft);
}

.pw-rules li i {
    font-size: .72rem;
    transition: color var(--dur-2) var(--ease-soft);
}

.pw-rules li.is-ok {
    color: var(--ok-500);
    font-weight: 600;
}

.pw-rules li.is-ok i {
    color: var(--ok-500);
}

/* ---------- Bilgi kutusu (ders detay) ---------- */

.adk-panel--info .adk-panel__head {
    background: linear-gradient(135deg, var(--info-500) 0%, #1E56C4 100%);
}

.term-list {
    padding: .6rem;
}

.term-item {
    border: 1px solid var(--line-soft);
    border-radius: var(--r-sm);
    margin-bottom: .5rem;
    overflow: hidden;
    transition: border-color var(--dur-2) var(--ease-soft);
}

.term-item:last-child {
    margin-bottom: 0;
}

.term-item[open] {
    border-color: var(--info-500);
}

.term-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .7rem .95rem;
    cursor: pointer;
    list-style: none;
    background: var(--ink-50);
    transition: background var(--dur-1) var(--ease-soft);
}

.term-item summary::-webkit-details-marker {
    display: none;
}

.term-item summary:hover {
    background: var(--info-50);
}

.term-item__word {
    font-size: .88rem;
    font-weight: 600;
    color: var(--ink-800);
}

.term-item summary i {
    font-size: .72rem;
    color: var(--ink-400);
    transition: transform var(--dur-2) var(--ease);
}

.term-item[open] summary i {
    transform: rotate(180deg);
    color: var(--info-500);
}

.term-item p {
    font-size: .85rem;
    line-height: 1.75;
    color: var(--text-soft);
    padding: .85rem .95rem;
    margin: 0;
    background: var(--surface);
}

/* ---------- Admin terim satırları ---------- */

.term-row {
    position: relative;
    background: var(--ink-50);
    border: 1px solid var(--line-soft);
    border-radius: var(--r-sm);
    padding: .8rem .8rem .8rem;
    padding-right: 2.8rem;
    margin-bottom: .7rem;
    animation: rowIn var(--dur-2) var(--ease);
}

.term-row:last-child {
    margin-bottom: 0;
}

.term-row__del {
    position: absolute;
    top: .8rem;
    right: .7rem;
    margin-left: 0;
}

/* ---------- Öğrenci menü ayırıcı ---------- */

.adk-side-sep {
    height: 1px;
    background: var(--line-soft);
    margin: .8rem .4rem;
}

.adk-side-link--out {
    color: var(--text-muted);
    font-size: .84rem;
}

.adk-side-link--out:hover {
    background: var(--ink-100);
    color: var(--ink-700);
}

.adk-portal-tag {
    display: inline-block;
    background: var(--brand-100);
    border-radius: var(--r-full);
    color: var(--brand-700);
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .04em;
    padding: .12rem .55rem;
    margin-left: .5rem;
    vertical-align: middle;
    text-transform: uppercase;
}

/* ---------- Mobil ---------- */

@media (max-width: 767.98px) {

    .legal-body {
        padding: 1.6rem 1.3rem;
    }

    .pw-rules {
        grid-template-columns: 1fr;
    }

    .adk-footer__bottom {
        flex-direction: column;
        text-align: center;
    }

    .adk-footer__legal {
        justify-content: center;
    }

    .adk-portal-tag {
        display: none;
    }
}

/* ==========================================================
   ADIM 18C — Blog
   ========================================================== */

.blog-page {
    padding: 3.5rem 0 5rem;
}

.blog-head {
    text-align: center;
    margin-bottom: 3rem;
}

/* ---------- Sol sütun ---------- */

.blog-side {
    position: sticky;
    top: 90px;
}

.blog-side__box {
    background: var(--surface);
    border: 1px solid var(--line-soft);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-xs);
    padding: 1.2rem;
    margin-bottom: 1rem;
}

.blog-side__box h6 {
    font-size: .74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--ink-400);
    margin-bottom: .9rem;
}

.blog-side__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .6rem;
    padding: .48rem .65rem;
    border-radius: var(--r-sm);
    font-size: .86rem;
    color: var(--text-soft);
    text-decoration: none;
    margin-bottom: .18rem;
    transition: all var(--dur-2) var(--ease);
}

.blog-side__link i {
    width: 16px;
    text-align: center;
    font-size: .8rem;
    margin-right: .45rem;
}

.blog-side__link:hover {
    background: var(--brand-50);
    color: var(--brand-700);
    transform: translateX(3px);
}

.blog-side__link.active {
    background: var(--grad-brand);
    color: #fff;
    box-shadow: var(--sh-glow);
}

.blog-side__link--static {
    cursor: default;
}

.blog-side__link--static:hover {
    background: none;
    color: var(--text-soft);
    transform: none;
}

.blog-side__count {
    background: var(--ink-100);
    border-radius: var(--r-full);
    font-size: .7rem;
    font-weight: 700;
    color: var(--ink-500);
    padding: .1rem .5rem;
}

.blog-side__link.active .blog-side__count {
    background: rgba(255, 255, 255, .25);
    color: #fff;
}

.blog-search {
    position: relative;
}

.blog-search i {
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ink-400);
    font-size: .82rem;
    pointer-events: none;
}

.blog-search input {
    padding-left: 36px;
}

.blog-side__cta {
    background: linear-gradient(150deg, var(--brand-50) 0%, var(--accent-50) 100%);
    border: 1px solid var(--brand-100);
    border-radius: var(--r-lg);
    padding: 1.4rem 1.2rem;
    text-align: center;
}

.blog-side__cta > i {
    font-size: 1.6rem;
    background: var(--grad-brand);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    margin-bottom: .7rem;
    display: block;
}

.blog-side__cta p {
    font-size: .85rem;
    color: var(--text-soft);
    margin-bottom: 1rem;
}

/* ---------- Öne çıkanlar ---------- */

.blog-featured {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 2rem;
}

.blog-featured__item {
    display: block;
    background: var(--surface);
    border: 1px solid var(--line-soft);
    border-radius: var(--r-lg);
    overflow: hidden;
    text-decoration: none;
    box-shadow: var(--sh-xs);
    transition: transform var(--dur-2) var(--ease),
                box-shadow var(--dur-2) var(--ease-soft);
}

.blog-featured__item:hover {
    transform: translateY(-5px);
    box-shadow: var(--sh-lg);
}

.blog-featured__media {
    position: relative;
    height: 130px;
    background: linear-gradient(135deg, var(--brand-100) 0%, var(--accent-100) 100%);
    background-size: cover;
    background-position: center;
}

.blog-featured__body {
    padding: .95rem 1rem 1.1rem;
}

.blog-featured__body h3 {
    font-size: .93rem;
    font-weight: 700;
    color: var(--ink-900);
    line-height: 1.45;
    margin-bottom: .5rem;
}

/* ---------- Yazı kartı ---------- */

.blog-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--surface);
    border: 1px solid var(--line-soft);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-sm);
    overflow: hidden;
    transition: transform var(--dur-2) var(--ease),
                border-color var(--dur-2) var(--ease-soft),
                box-shadow var(--dur-2) var(--ease-soft);
}

.blog-card:hover {
    transform: translateY(-6px);
    border-color: var(--brand-200);
    box-shadow: var(--sh-lg);
}

.blog-card__media {
    position: relative;
    display: block;
    height: 190px;
    background: linear-gradient(135deg, var(--brand-100) 0%, var(--accent-100) 100%);
    background-size: cover;
    background-position: center;
}

.blog-card__body {
    padding: 1.2rem 1.3rem .8rem;
    flex: 1 1 auto;
}

.blog-card__body h3 {
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.42;
    margin: .6rem 0 .7rem;
}

.blog-card__body h3 a {
    color: var(--ink-900);
    text-decoration: none;
    transition: color var(--dur-1) var(--ease-soft);
}

.blog-card__body h3 a:hover {
    color: var(--brand-700);
}

.blog-card__body p {
    font-size: .865rem;
    line-height: 1.7;
    color: var(--text-soft);
    margin: 0;
}

.blog-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .9rem 1.3rem 1.2rem;
    border-top: 1px solid var(--line-soft);
    margin-top: .8rem;
}

/* ---------- Rozet ve kategori ---------- */

.blog-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    border-radius: var(--r-full);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .05em;
    padding: .3rem .78rem;
    color: #fff;
    text-transform: uppercase;
    z-index: 1;
}

.blog-badge--uzman {
    background: var(--grad-brand);
    box-shadow: var(--sh-glow);
}

.blog-badge--deneyim {
    background: linear-gradient(135deg, var(--ok-500) 0%, #0C8F58 100%);
    box-shadow: 0 6px 18px rgba(15, 169, 104, .3);
}

.blog-cat {
    display: inline-block;
    background: var(--brand-50);
    border-radius: var(--r-full);
    color: var(--brand-700);
    font-size: .72rem;
    font-weight: 700;
    padding: .18rem .7rem;
    text-decoration: none;
}

.blog-cat:hover {
    background: var(--brand-100);
    color: var(--brand-800);
}

/* ---------- Yazar ---------- */

.blog-author {
    display: flex;
    align-items: center;
    gap: .6rem;
    min-width: 0;
}

.blog-author__avatar {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--grad-brand);
    color: #fff;
    font-size: .8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.blog-author strong {
    display: block;
    font-size: .8rem;
    font-weight: 600;
    color: var(--ink-800);
    line-height: 1.3;
}

.blog-author small {
    display: block;
    font-size: .7rem;
    color: var(--text-muted);
}

.blog-meta {
    font-size: .74rem;
    color: var(--text-muted);
    white-space: nowrap;
}

.blog-meta i {
    margin-right: .25rem;
}

/* ---------- Yazı detay ---------- */

.blog-post__hero {
    position: relative;
    min-height: 380px;
    display: flex;
    align-items: flex-end;
    background: var(--grad-ink);
    background-size: cover;
    background-position: center;
    padding: 3rem 0 2.6rem;
}

.blog-post__veil {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10, 15, 28, .58) 0%, rgba(10, 15, 28, .92) 100%);
}

.blog-post__head {
    position: relative;
    z-index: 1;
    max-width: 800px;
    color: #fff;
}

.blog-post__back {
    display: inline-flex;
    align-items: center;
    background: rgba(255, 255, 255, .13);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: var(--r-full);
    color: #fff;
    font-size: .82rem;
    font-weight: 600;
    padding: .42rem 1.05rem;
    text-decoration: none;
    backdrop-filter: blur(8px);
    margin-bottom: 1.4rem;
    transition: all var(--dur-2) var(--ease);
}

.blog-post__back:hover {
    background: rgba(255, 255, 255, .25);
    color: #fff;
    transform: translateX(-3px);
}

.blog-post__head .blog-badge {
    position: static;
    display: inline-block;
    margin-bottom: 1rem;
}

.blog-post__head h1 {
    font-size: clamp(1.6rem, 3.4vw, 2.5rem);
    font-weight: 800;
    line-height: 1.22;
    letter-spacing: -.03em;
    margin-bottom: 1.2rem;
    text-shadow: 0 2px 20px rgba(0, 0, 0, .35);
}

.blog-post__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1.3rem;
    font-size: .83rem;
    color: rgba(255, 255, 255, .78);
}

.blog-post__meta i {
    margin-right: .4rem;
    opacity: .8;
}

.blog-post .container {
    padding-top: 3rem;
    padding-bottom: 4rem;
}

.blog-post__lead {
    font-size: 1.08rem;
    line-height: 1.75;
    font-weight: 500;
    color: var(--ink-700);
    padding: 1.1rem 1.3rem;
    background: var(--brand-50);
    border-left: 4px solid var(--brand-500);
    border-radius: var(--r-sm);
    margin: 1.2rem 0 2rem;
}

.blog-post__body {
    font-size: 1rem;
    line-height: 1.95;
    color: var(--text-soft);
}

.blog-post__body br + br {
    content: '';
    display: block;
    margin-top: .9rem;
}

.blog-post__note {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    background: var(--warn-50);
    border: 1px solid #F5DFAF;
    border-left: 4px solid var(--warn-500);
    border-radius: var(--r-md);
    color: #8A6410;
    font-size: .87rem;
    line-height: 1.7;
    padding: 1rem 1.2rem;
    margin-top: 2.2rem;
}

.blog-post__author {
    display: flex;
    gap: 1.2rem;
    align-items: flex-start;
    background: var(--ink-50);
    border: 1px solid var(--line-soft);
    border-radius: var(--r-lg);
    padding: 1.4rem;
    margin-top: 2.5rem;
}

.blog-post__author-avatar {
    flex: 0 0 62px;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background: var(--grad-brand);
    color: #fff;
    font-size: 1.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.blog-post__author-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog-post__author strong {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    color: var(--ink-900);
}

.blog-post__author span {
    display: block;
    font-size: .82rem;
    color: var(--brand-700);
    font-weight: 600;
    margin-top: .1rem;
}

.blog-post__author p {
    font-size: .87rem;
    line-height: 1.7;
    color: var(--text-soft);
    margin: .6rem 0 0;
}

/* ---------- İlgili yazılar ---------- */

.blog-related__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink-900);
    margin: 3rem 0 1.2rem;
    padding-bottom: .7rem;
    border-bottom: 1px solid var(--line-soft);
}

.blog-related__item {
    display: block;
    text-decoration: none;
    transition: transform var(--dur-2) var(--ease);
}

.blog-related__item:hover {
    transform: translateY(-4px);
}

.blog-related__media {
    height: 105px;
    border-radius: var(--r-sm);
    background: linear-gradient(135deg, var(--brand-100) 0%, var(--accent-100) 100%);
    background-size: cover;
    background-position: center;
    margin-bottom: .6rem;
}

.blog-related__item strong {
    display: block;
    font-size: .87rem;
    font-weight: 600;
    color: var(--ink-800);
    line-height: 1.45;
}

.blog-related__item span {
    display: block;
    font-size: .74rem;
    color: var(--text-muted);
    margin-top: .25rem;
}

/* ---------- Deneyim paylaşma ---------- */

.blog-notice {
    display: flex;
    gap: .9rem;
    align-items: flex-start;
    background: var(--info-50);
    border: 1px solid #D3E0FA;
    border-left: 4px solid var(--info-500);
    border-radius: var(--r-md);
    color: #1E56C4;
    font-size: .845rem;
    line-height: 1.7;
    padding: .95rem 1.15rem;
}

.blog-mine {
    border-bottom: 1px solid var(--line-soft);
    padding-bottom: .9rem;
    margin-bottom: .9rem;
}

.blog-mine:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.blog-mine__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .7rem;
}

.blog-mine__top strong {
    font-size: .87rem;
    font-weight: 600;
    color: var(--ink-800);
}

.blog-mine__date {
    display: block;
    font-size: .74rem;
    color: var(--text-muted);
    margin-top: .3rem;
}

.blog-mine__note {
    font-size: .8rem;
    color: var(--danger-500);
    background: var(--danger-50);
    border-radius: var(--r-xs);
    padding: .5rem .7rem;
    margin: .5rem 0 0;
}

.blog-mine__link {
    display: inline-block;
    font-size: .8rem;
    font-weight: 600;
    color: var(--brand-700);
    text-decoration: none;
    margin-top: .45rem;
}

.blog-mine__link:hover {
    text-decoration: underline;
}

/* ---------- Mobil ---------- */

@media (max-width: 991.98px) {

    .blog-side {
        position: static;
    }

    .blog-featured {
        grid-template-columns: 1fr;
    }

    .blog-post__hero {
        min-height: 300px;
        padding: 2.2rem 0 2rem;
    }

    .blog-post__author {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}

/* ==========================================================
   ADIM 18C-2 — Admin blog yönetimi
   ========================================================== */

/* Menüde bekleyen sayısı */
.nav-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    border-radius: var(--r-full);
    background: var(--grad-brand);
    color: #fff;
    font-size: .68rem;
    font-weight: 800;
    padding: 0 6px;
    margin-left: auto;
    box-shadow: var(--sh-glow-accent);
}

.adk-admin-nav a.active .nav-dot {
    background: rgba(255, 255, 255, .28);
    box-shadow: none;
}

/* Öne çıkan yıldızı */
.adk-star {
    color: var(--warn-500);
    font-size: .75rem;
    margin-left: .35rem;
}

/* Yeni işlem butonu renkleri */
.adk-icon-action--green { background: var(--ok-50);   color: #0A7A4B; }
.adk-icon-action--amber { background: var(--warn-50); color: #8A6410; }

/* Uyarı kutusu */
.adk-alert--warn {
    background: var(--warn-50);
    border-left-color: var(--warn-500);
    color: #8A6410;
}

/* Reddedildi seçilince moderasyon kutusu vurgulanır */
#moderationBox {
    transition: border-color var(--dur-2) var(--ease-soft),
                box-shadow var(--dur-2) var(--ease-soft);
}

#moderationBox.is-highlight {
    border-color: var(--danger-500);
    box-shadow: 0 0 0 4px rgba(226, 61, 76, .1);
}

/* Yazı gövdesi editörü */
.adk-editor {
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    font-size: .9rem;
    line-height: 1.8;
    resize: vertical;
    min-height: 320px;
}

/* Bağlantı kutucuğu */
.adk-code {
    display: inline-block;
    background: var(--ink-100);
    border-radius: var(--r-xs);
    color: var(--brand-700);
    font-size: .78rem;
    padding: .15rem .5rem;
}

/* ==========================================================
   ADIM 19A — Sınıf sekmeleri, kurs kataloğu, Kurslarım
   ========================================================== */

/* ---------- Portal başlığı ---------- */

.portal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1.8rem;
}

.portal-header__btn {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    width: auto;
    padding: .6rem 1.3rem;
}

/* ---------- Sınıf tipi sekmeleri ---------- */

.class-tabs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: .8rem;
    margin-bottom: 1.8rem;
}

.class-tab {
    display: flex;
    align-items: center;
    gap: .85rem;
    background: var(--surface);
    border: 1.5px solid var(--line-soft);
    border-radius: var(--r-lg);
    padding: .95rem 1.1rem;
    text-decoration: none;
    box-shadow: var(--sh-xs);
    transition: all var(--dur-2) var(--ease);
}

.class-tab:hover {
    border-color: var(--tab-color, var(--brand-400));
    transform: translateY(-3px);
    box-shadow: var(--sh-md);
}

.class-tab.active {
    border-color: var(--tab-color, var(--brand-500));
    background: color-mix(in srgb, var(--tab-color, #7A38EE) 7%, var(--surface));
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--tab-color, #7A38EE) 12%, transparent);
}

.class-tab__icon {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: var(--r-sm);
    background: var(--tab-color, var(--brand-600));
    color: #fff;
    font-size: .95rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.class-tab__text {
    min-width: 0;
}

.class-tab__text strong {
    display: block;
    font-size: .88rem;
    font-weight: 700;
    color: var(--ink-800);
    line-height: 1.35;
}

.class-tab__text small {
    display: block;
    font-size: .74rem;
    color: var(--text-muted);
    margin-top: .12rem;
}

.class-tab.active .class-tab__text strong {
    color: var(--tab-color, var(--brand-700));
}

/* ---------- Sınıf paneli ---------- */

.class-panel {
    background: var(--surface);
    border: 1px solid var(--line-soft);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-sm);
    padding: 1.6rem;
}

.class-panel__head {
    margin-bottom: 1.3rem;
    padding-bottom: 1.1rem;
    border-bottom: 1px solid var(--line-soft);
}

.class-panel__head h2 {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--ink-900);
    margin-bottom: .35rem;
}

.class-panel__head p {
    font-size: .875rem;
    color: var(--text-soft);
    margin: 0;
    max-width: 720px;
}

/* ---------- Ders etiketleri ---------- */

.lesson-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .5rem;
}

.lesson-tag {
    display: inline-flex;
    align-items: center;
    border-radius: var(--r-full);
    font-size: .69rem;
    font-weight: 700;
    padding: .16rem .6rem;
}

.lesson-tag--free  { background: var(--ok-50);    color: #0A7A4B; }
.lesson-tag--owned { background: var(--brand-100); color: var(--brand-700); }
.lesson-tag--paid  { background: var(--accent-50); color: var(--accent-600); }
.lesson-tag--time  { background: var(--ink-100);  color: var(--ink-500); }

.adk-lesson-row.is-locked {
    opacity: .82;
}

.adk-lesson-row.is-locked:hover {
    opacity: 1;
    border-color: var(--accent-400);
}

.adk-lesson-row.is-locked .adk-lesson-row__play {
    color: var(--accent-500);
}

/* ---------- Kurs arama ---------- */

.course-search {
    position: relative;
    max-width: 420px;
    margin-bottom: 1.6rem;
}

.course-search i {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ink-400);
    font-size: .85rem;
    pointer-events: none;
}

.course-search input {
    padding-left: 38px;
}

/* ---------- Kurs kartı ---------- */

.course-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--surface);
    border: 1px solid var(--line-soft);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-sm);
    overflow: hidden;
    transition: transform var(--dur-2) var(--ease),
                border-color var(--dur-2) var(--ease-soft),
                box-shadow var(--dur-2) var(--ease-soft);
}

.course-card:hover {
    transform: translateY(-6px);
    border-color: var(--brand-200);
    box-shadow: var(--sh-lg);
}

.course-card__media {
    position: relative;
    display: block;
    height: 170px;
    background: linear-gradient(135deg, var(--brand-100) 0%, var(--accent-100) 100%);
    background-size: cover;
    background-position: center;
}

.course-card__playover {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(10, 15, 28, .35);
    color: #fff;
    font-size: 1.6rem;
    opacity: 0;
    transition: opacity var(--dur-2) var(--ease-soft);
}

.course-card:hover .course-card__playover {
    opacity: 1;
}

.course-chip {
    position: absolute;
    top: 12px;
    left: 12px;
    border-radius: var(--r-full);
    color: #fff;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .04em;
    padding: .26rem .72rem;
    z-index: 1;
    box-shadow: var(--sh-sm);
}

.course-chip--static {
    position: static;
    display: inline-block;
    margin-bottom: .9rem;
}

.course-owned {
    position: absolute;
    top: 12px;
    right: 12px;
    background: var(--ok-500);
    border-radius: var(--r-full);
    color: #fff;
    font-size: .66rem;
    font-weight: 700;
    padding: .26rem .7rem;
    z-index: 1;
}

.course-card__body {
    flex: 1 1 auto;
    padding: 1.1rem 1.2rem .7rem;
}

.course-card__body h3 {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.42;
    margin-bottom: .5rem;
}

.course-card__body h3 a {
    color: var(--ink-900);
    text-decoration: none;
}

.course-card__body h3 a:hover {
    color: var(--brand-700);
}

.course-card__body p {
    font-size: .84rem;
    line-height: 1.65;
    color: var(--text-soft);
    margin-bottom: .8rem;
}

.course-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .9rem;
    font-size: .75rem;
    color: var(--text-muted);
}

.course-card__meta i {
    margin-right: .28rem;
}

.course-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .85rem 1.2rem 1.1rem;
    border-top: 1px solid var(--line-soft);
    margin-top: .7rem;
}

.course-price {
    font-size: 1.12rem;
    font-weight: 800;
    background: var(--grad-brand);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.course-ref {
    font-size: .72rem;
    color: var(--ink-400);
    font-family: ui-monospace, monospace;
}

.course-card--owned {
    border-color: var(--brand-200);
}

/* ---------- Kurs detay ---------- */

.course-hero {
    border-radius: var(--r-lg);
    overflow: hidden;
    box-shadow: var(--sh-md);
    margin-bottom: 1.6rem;
}

.course-hero__media {
    position: relative;
    height: 300px;
    background: linear-gradient(135deg, var(--brand-100) 0%, var(--accent-100) 100%);
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.course-hero__play {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    background: rgba(255, 255, 255, .92);
    border: none;
    border-radius: var(--r-full);
    color: var(--ink-900);
    font-size: .9rem;
    font-weight: 700;
    padding: .75rem 1.6rem;
    box-shadow: var(--sh-lg);
    backdrop-filter: blur(6px);
    transition: transform var(--dur-2) var(--ease);
}

.course-hero__play:hover {
    transform: scale(1.05);
}

.course-hero__play i {
    color: var(--brand-600);
}

.course-detail {
    background: var(--surface);
    border: 1px solid var(--line-soft);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-sm);
    padding: 1.8rem;
}

.course-detail h1 {
    font-size: clamp(1.4rem, 2.4vw, 1.85rem);
    font-weight: 800;
    color: var(--ink-900);
    letter-spacing: -.025em;
    margin-bottom: .9rem;
}

.course-detail__lead {
    font-size: .96rem;
    line-height: 1.85;
    color: var(--text-soft);
    margin-bottom: 1.8rem;
}

.course-detail h2 {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--ink-900);
    margin: 1.8rem 0 .9rem;
    padding-bottom: .55rem;
    border-bottom: 1px solid var(--line-soft);
}

.course-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.course-list li {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    font-size: .89rem;
    line-height: 1.7;
    color: var(--text-soft);
    padding: .4rem 0;
}

.course-list li i {
    color: var(--brand-500);
    font-size: .82rem;
    margin-top: .28rem;
}

.course-list--ok li i {
    color: var(--ok-500);
}

.course-terms {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.course-term {
    background: var(--info-50);
    border: 1px solid #D3E0FA;
    border-radius: var(--r-full);
    color: #2456C9;
    font-size: .78rem;
    font-weight: 600;
    padding: .25rem .8rem;
}

/* ---------- Satın alma kutusu ---------- */

.course-buy {
    position: sticky;
    top: 76px;
    background: var(--surface);
    border: 1px solid var(--line-soft);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-md);
    padding: 1.6rem;
    text-align: center;
}

.course-buy__price {
    display: block;
    font-size: 2.1rem;
    font-weight: 800;
    letter-spacing: -.03em;
    background: var(--grad-brand);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    margin-bottom: 1.2rem;
}

.course-buy__owned {
    background: var(--ok-50);
    border-radius: var(--r-sm);
    color: #0A7A4B;
    font-size: .87rem;
    font-weight: 700;
    padding: .7rem;
    margin-bottom: .9rem;
}

.course-buy__link {
    display: block;
    font-size: .82rem;
    color: var(--brand-700);
    text-decoration: none;
    margin-top: .7rem;
}

.course-buy__link:hover {
    text-decoration: underline;
}

.course-buy__list {
    list-style: none;
    padding: 0;
    margin: 1.5rem 0 0;
    text-align: left;
    border-top: 1px solid var(--line-soft);
    padding-top: 1.2rem;
}

.course-buy__list li {
    display: flex;
    align-items: center;
    gap: .7rem;
    font-size: .83rem;
    color: var(--text-soft);
    padding: .35rem 0;
}

.course-buy__list i {
    width: 18px;
    text-align: center;
    color: var(--brand-500);
    font-size: .82rem;
}

/* ---------- İlgili kurslar ---------- */

.course-related__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--ink-900);
    margin: 2.2rem 0 1rem;
}

.course-related__item {
    display: block;
    text-decoration: none;
    transition: transform var(--dur-2) var(--ease);
}

.course-related__item:hover {
    transform: translateY(-4px);
}

.course-related__media {
    height: 95px;
    border-radius: var(--r-sm);
    background: linear-gradient(135deg, var(--brand-100) 0%, var(--accent-100) 100%);
    background-size: cover;
    background-position: center;
    margin-bottom: .55rem;
}

.course-related__item strong {
    display: block;
    font-size: .84rem;
    font-weight: 600;
    color: var(--ink-800);
    line-height: 1.42;
}

.course-related__item span {
    display: block;
    font-size: .78rem;
    font-weight: 700;
    color: var(--brand-700);
    margin-top: .22rem;
}

/* ---------- Ödeme özeti ---------- */

.checkout-item {
    display: flex;
    gap: .9rem;
    align-items: center;
}

.checkout-item__media {
    flex: 0 0 72px;
    width: 72px;
    height: 52px;
    border-radius: var(--r-sm);
    background: linear-gradient(135deg, var(--brand-100) 0%, var(--accent-100) 100%);
    background-size: cover;
    background-position: center;
}

.checkout-item strong {
    display: block;
    font-size: .89rem;
    font-weight: 700;
    color: var(--ink-900);
    line-height: 1.4;
}

.checkout-item small {
    display: block;
    font-size: .76rem;
    color: var(--text-muted);
    margin-top: .18rem;
}

/* ---------- Kurslarım toplamı ---------- */

.course-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .8rem;
    background: var(--ink-50);
    border: 1px solid var(--line-soft);
    border-radius: var(--r-md);
    font-size: .88rem;
    color: var(--text-soft);
    padding: 1rem 1.3rem;
}

.course-total strong {
    color: var(--ink-900);
}

/* ---------- Mobil ---------- */

@media (max-width: 991.98px) {

    .course-buy {
        position: static;
    }

    .portal-header {
        flex-direction: column;
        align-items: stretch;
    }

    .portal-header__btn {
        width: 100%;
        justify-content: center;
    }

    .class-tabs {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 575.98px) {
    .class-tabs {
        grid-template-columns: 1fr;
    }
}

/* ---------- Sınıf yönetimi ---------- */

.adk-color {
    height: 42px;
    padding: .25rem;
    cursor: pointer;
}

.class-dot {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    margin-right: .55rem;
    vertical-align: middle;
}

/* ==========================================================
   ADIM 19B — Video yükleme ve canlı dersler
   ========================================================== */

/* ---------- Portal sekmeleri ---------- */

.portal-tabs {
    display: flex;
    gap: .4rem;
    border-bottom: 1px solid var(--line-soft);
    margin-bottom: 1.8rem;
}

.portal-tab {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .75rem 1.2rem;
    border-radius: var(--r-sm) var(--r-sm) 0 0;
    font-size: .89rem;
    font-weight: 600;
    color: var(--text-muted);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: all var(--dur-2) var(--ease);
}

.portal-tab:hover {
    background: var(--brand-50);
    color: var(--brand-700);
}

.portal-tab.active {
    color: var(--brand-700);
    border-bottom-color: var(--brand-500);
}

.portal-tab__dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    border-radius: var(--r-full);
    background: var(--grad-brand);
    color: #fff;
    font-size: .68rem;
    font-weight: 800;
    padding: 0 6px;
}

/* ---------- Canlı ders bölüm başlığı ---------- */

.live-section__title {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--ink-900);
    margin-bottom: 1.1rem;
}

.live-section__title i {
    color: var(--brand-500);
    font-size: .95rem;
}

/* ---------- Canlı ders kartı ---------- */

.live-card {
    display: flex;
    align-items: stretch;
    gap: 1.3rem;
    background: var(--surface);
    border: 1px solid var(--line-soft);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-sm);
    padding: 1.2rem 1.4rem;
    margin-bottom: 1rem;
    transition: transform var(--dur-2) var(--ease),
                border-color var(--dur-2) var(--ease-soft),
                box-shadow var(--dur-2) var(--ease-soft);
}

.live-card:hover {
    transform: translateY(-3px);
    border-color: var(--brand-200);
    box-shadow: var(--sh-md);
}

.live-card.is-live {
    border-color: var(--accent-400);
    box-shadow: 0 0 0 4px rgba(230, 55, 113, .1), var(--sh-md);
}

/* Tarih bloğu */
.live-card__date {
    flex: 0 0 76px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(150deg, var(--brand-50) 0%, var(--accent-50) 100%);
    border: 1px solid var(--line-soft);
    border-radius: var(--r-md);
    padding: .8rem .4rem;
}

.live-card.is-live .live-card__date {
    background: var(--grad-brand);
    border-color: transparent;
}

.live-card__day {
    font-size: 1.7rem;
    font-weight: 800;
    line-height: 1;
    color: var(--brand-700);
    letter-spacing: -.03em;
}

.live-card__month {
    font-size: .74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--accent-600);
    margin-top: .2rem;
}

.live-card__year {
    font-size: .68rem;
    color: var(--text-muted);
    margin-top: .1rem;
}

.live-card.is-live .live-card__day,
.live-card.is-live .live-card__month,
.live-card.is-live .live-card__year {
    color: #fff;
}

/* Gövde */
.live-card__body {
    flex: 1 1 auto;
    min-width: 0;
}

.live-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .5rem;
}

.live-card__top h3 {
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--ink-900);
    line-height: 1.4;
    margin: 0;
}

.live-card__desc {
    font-size: .855rem;
    line-height: 1.65;
    color: var(--text-soft);
    margin-bottom: .8rem;
}

.live-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1.1rem;
    font-size: .78rem;
    color: var(--text-muted);
}

.live-card__meta i {
    margin-right: .35rem;
    opacity: .8;
}

/* Aksiyon */
.live-card__action {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
}

.live-card__action .btn {
    white-space: nowrap;
}

/* Canlı göstergesi */
.live-now {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    background: var(--accent-50);
    border-radius: var(--r-full);
    color: var(--accent-600);
    font-size: .72rem;
    font-weight: 800;
    padding: .26rem .78rem;
    white-space: nowrap;
}

.live-now__pulse {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--accent-500);
    animation: livePulse 1.6s ease-in-out infinite;
}

@keyframes livePulse {
    0%, 100% { opacity: 1;  transform: scale(1); }
    50%      { opacity: .4; transform: scale(1.35); }
}

/* Kilitli bağlantı */
.live-locked {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: .25rem;
    background: var(--ink-50);
    border: 1px dashed var(--line);
    border-radius: var(--r-md);
    padding: .85rem 1.1rem;
    max-width: 220px;
}

.live-locked i {
    color: var(--ink-400);
    font-size: 1rem;
    margin-bottom: .2rem;
}

.live-locked span {
    font-size: .78rem;
    color: var(--text-soft);
    line-height: 1.45;
}

.live-locked small {
    font-size: .72rem;
    font-weight: 700;
    color: var(--brand-700);
}

/* Bilgi notu */
.live-note {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    background: var(--info-50);
    border: 1px solid #D3E0FA;
    border-left: 4px solid var(--info-500);
    border-radius: var(--r-md);
    color: #1E56C4;
    font-size: .86rem;
    line-height: 1.75;
    padding: 1rem 1.2rem;
}

/* ---------- Video kaynağı seçici ---------- */

.video-source {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .6rem;
    margin-bottom: 1.1rem;
}

.video-source__opt {
    cursor: pointer;
}

.video-source__opt input {
    display: none;
}

.video-source__opt > span {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: .2rem;
    border: 1.5px solid var(--line);
    border-radius: var(--r-md);
    padding: .95rem .8rem;
    transition: all var(--dur-2) var(--ease);
}

.video-source__opt:hover > span {
    border-color: var(--brand-300);
}

.video-source__opt > span i {
    font-size: 1.25rem;
    color: var(--ink-400);
    margin-bottom: .25rem;
    transition: color var(--dur-2) var(--ease-soft);
}

.video-source__opt > span strong {
    font-size: .88rem;
    font-weight: 700;
    color: var(--ink-800);
}

.video-source__opt > span small {
    font-size: .73rem;
    color: var(--text-muted);
}

.video-source__opt.is-on > span {
    border-color: var(--brand-500);
    background: var(--brand-50);
    box-shadow: 0 0 0 4px rgba(139, 92, 246, .1);
}

.video-source__opt.is-on > span i {
    color: var(--brand-600);
}

.video-pane {
    display: none;
}

/* ---------- Sürükle bırak ---------- */

.dropzone {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: .3rem;
    width: 100%;
    border: 2px dashed var(--line);
    border-radius: var(--r-lg);
    background: var(--ink-50);
    padding: 2rem 1.2rem;
    cursor: pointer;
    transition: all var(--dur-2) var(--ease);
}

.dropzone:hover {
    border-color: var(--brand-400);
    background: var(--brand-50);
}

.dropzone.is-over {
    border-color: var(--brand-500);
    background: var(--brand-50);
    transform: scale(1.01);
    box-shadow: 0 0 0 4px rgba(139, 92, 246, .12);
}

.dropzone.has-file {
    border-style: solid;
    border-color: var(--ok-500);
    background: var(--ok-50);
}

.dropzone.is-error {
    border-color: var(--danger-500);
    background: var(--danger-50);
}

.dropzone__icon {
    font-size: 2rem;
    background: var(--grad-brand);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    margin-bottom: .4rem;
}

.dropzone.has-file .dropzone__icon {
    background: none;
    -webkit-text-fill-color: var(--ok-500);
    color: var(--ok-500);
}

.dropzone__title {
    font-size: .92rem;
    font-weight: 700;
    color: var(--ink-800);
}

.dropzone__sub {
    font-size: .82rem;
    color: var(--text-soft);
}

.dropzone__hint {
    font-size: .74rem;
    color: var(--ink-400);
    margin-top: .35rem;
}

.dropzone__file {
    display: inline-block;
    background: var(--surface);
    border-radius: var(--r-full);
    font-size: .8rem;
    font-weight: 600;
    color: var(--ok-500);
    padding: .3rem .9rem;
    margin-top: .7rem;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dropzone.is-error .dropzone__file {
    color: var(--danger-500);
}

.dropzone__bar {
    display: block;
    width: 100%;
    height: 5px;
    border-radius: var(--r-full);
    background: var(--ink-200);
    overflow: hidden;
    margin-top: .9rem;
}

.dropzone__fill {
    display: block;
    height: 100%;
    width: 0;
    border-radius: var(--r-full);
    background: var(--grad-brand);
    transition: width .4s var(--ease-soft);
}

/* Yüklü video bilgisi */
.video-current {
    display: flex;
    align-items: center;
    gap: .8rem;
    background: var(--ok-50);
    border: 1px solid #BFE9D3;
    border-radius: var(--r-md);
    padding: .8rem 1rem;
    margin-bottom: .9rem;
}

.video-current > i {
    color: var(--ok-500);
    font-size: 1.05rem;
}

.video-current strong {
    display: block;
    font-size: .87rem;
    font-weight: 700;
    color: #0A7A4B;
}

.video-current small {
    display: block;
    font-size: .74rem;
    color: var(--text-muted);
    word-break: break-all;
}

.video-current > div {
    flex: 1 1 auto;
    min-width: 0;
}

/* ---------- Yerel video oynatıcı ---------- */

.adk-video-box video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: #000;
}

/* ---------- Mobil ---------- */

@media (max-width: 767.98px) {

    .live-card {
        flex-direction: column;
        gap: 1rem;
    }

    .live-card__date {
        flex-direction: row;
        gap: .5rem;
        align-items: baseline;
        justify-content: flex-start;
        padding: .6rem 1rem;
    }

    .live-card__day {
        font-size: 1.25rem;
    }

    .live-card__action .btn,
    .live-locked {
        width: 100%;
        max-width: 100%;
    }

    .portal-tabs {
        overflow-x: auto;
        white-space: nowrap;
    }

    .video-source {
        grid-template-columns: 1fr;
    }
}

/* ---------- QR karanlık mod ---------- */

[data-theme="dark"] .qr-panel {
    background: var(--surface);
    border-color: var(--line-soft);
}

[data-theme="dark"] .qr-status {
    background: var(--surface-alt);
    border-bottom-color: var(--line-soft);
}

[data-theme="dark"] .qr-status.is-ok {
    background: var(--ok-50);
    color: #6EE7B7;
}

[data-theme="dark"] .qr-status.is-warn {
    background: var(--warn-50);
    color: #FCD9A0;
}

[data-theme="dark"] .link-copy input {
    background: var(--surface-alt);
    border-color: var(--line);
    color: var(--text-soft);
}

[data-theme="dark"] .link-copy__btn {
    background: var(--surface-alt);
    border-color: var(--line);
    color: var(--brand-300);
}

[data-theme="dark"] .link-copy__btn.is-done {
    background: var(--ok-50);
    color: #6EE7B7;
}

/* ==========================================================
   ADIM 20B — Hastalık çekmecesi ve kronik giriş sayfası
   ========================================================== */

/* ---------- Sidebar hastalık satırı ---------- */

.krp-disease-row {
    display: flex;
    align-items: stretch;
    gap: .3rem;
    margin-bottom: .35rem;
}

.krp-disease-row .krp-disease {
    flex: 1 1 auto;
    margin-bottom: 0;
    min-width: 0;
}

.krp-disease-row .krp-disease span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.krp-disease__info {
    flex: 0 0 34px;
    width: 34px;
    border: 1.5px solid var(--accent-200);
    border-radius: var(--r-sm);
    background: rgba(255, 255, 255, .65);
    color: var(--accent-500);
    font-size: .82rem;
    transition: all var(--dur-2) var(--ease);
}

.krp-disease__info:hover {
    background: var(--grad-brand);
    border-color: transparent;
    color: #fff;
    transform: scale(1.06);
    box-shadow: var(--sh-glow-accent);
}

/* ---------- Çekmece ---------- */

.dz-overlay {
    position: fixed;
    inset: 0;
    z-index: 1050;
    background: rgba(10, 15, 28, .45);
    backdrop-filter: blur(3px);
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--dur-2) var(--ease-soft),
                visibility var(--dur-2) var(--ease-soft);
}

.dz-overlay.is-on {
    opacity: 1;
    visibility: visible;
}

.dz {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1055;
    width: 400px;
    max-width: 92vw;
    background: var(--surface);
    box-shadow: -8px 0 40px rgba(10, 15, 28, .22);
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform var(--dur-3) var(--ease);
}

.dz.is-open {
    transform: translateX(0);
}

.dz__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: var(--accent-500);
    color: #fff;
    padding: 1.15rem 1.3rem;
    transition: background var(--dur-2) var(--ease-soft);
}

.dz__head h3 {
    display: flex;
    align-items: center;
    gap: .65rem;
    font-size: 1.02rem;
    font-weight: 700;
    letter-spacing: -.015em;
    margin: 0;
}

.dz__head i {
    font-size: 1.05rem;
    opacity: .92;
}

.dz__close {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border: none;
    border-radius: var(--r-sm);
    background: rgba(255, 255, 255, .18);
    color: #fff;
    font-size: .9rem;
    transition: background var(--dur-1) var(--ease-soft);
}

.dz__close:hover {
    background: rgba(255, 255, 255, .32);
}

.dz__body {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 1.3rem;
}

.dz__loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .8rem;
    color: var(--text-muted);
    font-size: .87rem;
    padding: 3rem 1rem;
}

.dz__loading i {
    font-size: 1.6rem;
    color: var(--brand-500);
}

.dz__block {
    margin-bottom: 1.8rem;
}

.dz__block h4 {
    display: flex;
    align-items: center;
    gap: .55rem;
    font-size: .92rem;
    font-weight: 700;
    color: var(--ink-900);
    margin-bottom: .9rem;
    padding-bottom: .6rem;
    border-bottom: 1px solid var(--line-soft);
}

.dz__block h4 i {
    color: var(--brand-500);
    font-size: .88rem;
}

.dz__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.dz__list li {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    font-size: .875rem;
    line-height: 1.65;
    color: var(--text-soft);
    padding: .55rem 0;
    animation: dzItemIn var(--dur-3) var(--ease) backwards;
}

.dz__list li:nth-child(1) { animation-delay: 40ms; }
.dz__list li:nth-child(2) { animation-delay: 90ms; }
.dz__list li:nth-child(3) { animation-delay: 140ms; }
.dz__list li:nth-child(4) { animation-delay: 190ms; }
.dz__list li:nth-child(n+5) { animation-delay: 240ms; }

@keyframes dzItemIn {
    from { opacity: 0; transform: translateX(14px); }
    to   { opacity: 1; transform: none; }
}

.dz__list li > i {
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
    border-radius: var(--r-sm);
    background: var(--ok-50);
    color: var(--ok-500);
    font-size: .74rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: .1rem;
}

.dz__list--food li > i {
    background: var(--warn-50);
    color: var(--warn-500);
}

.dz__empty {
    color: var(--ink-400);
    font-style: italic;
}

.dz__note {
    display: flex;
    gap: .7rem;
    align-items: flex-start;
    background: var(--warn-50);
    border: 1px solid #F5DFAF;
    border-radius: var(--r-sm);
    color: #8A6410;
    font-size: .8rem;
    line-height: 1.65;
    padding: .8rem 1rem;
    margin: 0;
}

/* ---------- Kronik giriş sayfası ---------- */

.kr-auth {
    position: relative;
    min-height: calc(100vh - 60px);
    display: flex;
    align-items: center;
    padding: 3rem 0 4rem;
    background: linear-gradient(160deg, var(--accent-50) 0%, var(--brand-50) 55%, var(--accent-50) 100%);
    overflow: hidden;
}

.kr-auth::before {
    content: '';
    position: absolute;
    top: -180px;
    right: -120px;
    width: 480px;
    height: 480px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(230, 55, 113, .12) 0%, transparent 68%);
    pointer-events: none;
}

.kr-auth::after {
    content: '';
    position: absolute;
    bottom: -200px;
    left: -140px;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(122, 56, 238, .12) 0%, transparent 68%);
    pointer-events: none;
}

.kr-auth .container {
    position: relative;
    z-index: 1;
}

.kr-auth__card {
    background: var(--surface);
    border: 1px solid var(--line-soft);
    border-radius: var(--r-xl);
    box-shadow: var(--sh-lg);
    padding: 2.6rem 2.2rem;
    text-align: center;
}

.kr-auth__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    border-radius: var(--r-lg);
    background: var(--grad-brand);
    color: #fff;
    font-size: 1.7rem;
    box-shadow: var(--sh-glow);
    margin-bottom: 1.3rem;
}

.kr-auth__card h1 {
    font-size: 1.65rem;
    font-weight: 800;
    letter-spacing: -.028em;
    background: var(--grad-brand);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    margin-bottom: .5rem;
}

.kr-auth__lead {
    font-size: .885rem;
    color: var(--text-muted);
    margin-bottom: 1.9rem;
}

.kr-auth__card form {
    text-align: left;
}

.kr-auth__link {
    font-size: .85rem;
    color: var(--accent-600);
    text-decoration: none;
    font-weight: 500;
}

.kr-auth__link:hover {
    text-decoration: underline;
}

.kr-auth__sep {
    position: relative;
    text-align: center;
    margin: 1.5rem 0 1.1rem;
}

.kr-auth__sep::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 1px;
    background: var(--line);
}

.kr-auth__sep span {
    position: relative;
    background: var(--surface);
    color: var(--ink-400);
    font-size: .78rem;
    padding: 0 .9rem;
}

.kr-auth__foot {
    font-size: .87rem;
    color: var(--text-muted);
    margin: 1.6rem 0 0;
}

.kr-auth__foot a {
    color: var(--accent-600);
    font-weight: 600;
    text-decoration: none;
}

.kr-auth__foot a:hover {
    text-decoration: underline;
}

.kr-auth__back {
    display: block;
    text-align: center;
    font-size: .85rem;
    color: var(--text-muted);
    text-decoration: none;
    margin-top: 1.3rem;
    transition: color var(--dur-1) var(--ease-soft);
}

.kr-auth__back:hover {
    color: var(--accent-600);
}

.kr-auth__divider {
    display: flex;
    align-items: center;
    gap: .8rem;
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--ink-400);
    margin: 1.7rem 0 1.1rem;
}

.kr-auth__divider::after {
    content: '';
    flex: 1 1 auto;
    height: 1px;
    background: var(--line);
}

/* ---------- Kronik admin hastalık kartları ---------- */

.dz-admin__head {
    display: flex;
    align-items: center;
    gap: .7rem;
    color: #fff;
    font-size: .98rem;
    padding: .95rem 1.2rem;
    margin: -1.3rem -1.3rem 0;
    border-radius: var(--r-lg) var(--r-lg) 0 0;
}

.dz-admin__head i {
    font-size: 1.05rem;
}

.dz-admin__group {
    margin-top: 1.4rem;
}

.dz-admin__group-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    font-size: .85rem;
    font-weight: 700;
    color: var(--ink-800);
    margin-bottom: .7rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid var(--line-soft);
}

.dz-admin__rows {
    display: flex;
    flex-direction: column;
    gap: .45rem;
}

.dz-admin__row {
    display: flex;
    gap: .4rem;
    align-items: center;
    animation: rowIn var(--dur-2) var(--ease);
}

.dz-admin__row input[data-name="content"] {
    flex: 1 1 auto;
}

.dz-admin__icon {
    flex: 0 0 130px;
    font-size: .74rem;
    font-family: ui-monospace, monospace;
}

.dz-admin__row .adk-icon-action {
    flex: 0 0 30px;
    margin-left: 0;
}

/* ---------- Mobil ---------- */

@media (max-width: 575.98px) {

    .dz {
        width: 100%;
        max-width: 100%;
    }

    .kr-auth__card {
        padding: 2rem 1.4rem;
    }

    .dz-admin__icon {
        flex: 0 0 92px;
    }
}

/* ==========================================================
   ADIM 20C — Görsel ikon seçici
   ========================================================== */

/* ---------- Seçim butonu ---------- */

.icon-pick {
    display: flex;
    align-items: center;
    gap: .6rem;
    width: 100%;
    border: 1.5px solid var(--line);
    border-radius: var(--r-sm);
    background: var(--surface);
    color: var(--text-soft);
    font-size: .84rem;
    font-weight: 500;
    padding: .5rem .8rem;
    transition: all var(--dur-2) var(--ease);
}

.icon-pick:hover {
    border-color: var(--brand-400);
    background: var(--brand-50);
    color: var(--brand-700);
}

.icon-pick > i {
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: var(--r-xs);
    background: var(--brand-50);
    color: var(--brand-600);
    font-size: .88rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all var(--dur-2) var(--ease-soft);
}

.icon-pick:hover > i {
    background: var(--grad-brand);
    color: #fff;
}

/* Satır içindeki küçük hâli */
.icon-pick--sm {
    flex: 0 0 42px;
    width: 42px;
    padding: 0;
    justify-content: center;
    height: 40px;
}

.icon-pick--sm > i {
    flex: 0 0 auto;
    width: auto;
    height: auto;
    background: none;
    font-size: .95rem;
}

.icon-pick--sm:hover > i {
    background: none;
    color: var(--brand-700);
}

/* ---------- Satır düzeni ---------- */

.dz-admin__row {
    display: flex;
    gap: .4rem;
    align-items: center;
    animation: rowIn var(--dur-2) var(--ease);
}

.dz-admin__row input[data-name="content"] {
    flex: 1 1 auto;
    min-width: 0;
}

.dz-admin__row .adk-icon-action {
    flex: 0 0 32px;
    margin-left: 0;
}

/* ---------- Seçici modalı ---------- */

.icon-search {
    position: relative;
    margin-bottom: 1.3rem;
}

.icon-search i {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ink-400);
    font-size: .85rem;
    pointer-events: none;
}

.icon-search input {
    padding-left: 38px;
}

.icon-group {
    margin-bottom: 1.6rem;
}

.icon-group h6 {
    font-size: .74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--ink-400);
    margin-bottom: .7rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid var(--line-soft);
}

.icon-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
    gap: .5rem;
}

.icon-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    border: 1.5px solid var(--line-soft);
    border-radius: var(--r-sm);
    background: var(--surface);
    padding: .8rem .4rem;
    transition: all var(--dur-2) var(--ease);
}

.icon-cell:hover {
    border-color: var(--brand-500);
    background: var(--brand-50);
    transform: translateY(-3px);
    box-shadow: var(--sh-sm);
}

.icon-cell i {
    font-size: 1.25rem;
    color: var(--brand-600);
    transition: transform var(--dur-2) var(--ease);
}

.icon-cell:hover i {
    transform: scale(1.15);
}

.icon-cell span {
    font-size: .68rem;
    color: var(--text-muted);
    text-align: center;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

.icon-cell:hover span {
    color: var(--brand-700);
}

.icon-empty {
    text-align: center;
    color: var(--ink-400);
    font-size: .88rem;
    padding: 2.5rem 1rem;
    margin: 0;
}

.icon-empty i {
    display: block;
    font-size: 1.8rem;
    margin-bottom: .7rem;
    opacity: .5;
}

/* ---------- Mobil ---------- */

@media (max-width: 575.98px) {
    .icon-grid {
        grid-template-columns: repeat(auto-fill, minmax(74px, 1fr));
    }

    .icon-cell {
        padding: .65rem .3rem;
    }

    .icon-cell span {
        font-size: .63rem;
    }
}

/* ==========================================================
   ADIM 21A — Soru-cevap, ders kaydı, kurs atama
   ========================================================== */

/* ---------- Soru-cevap blog rozeti ---------- */

.blog-badge--soru {
    background: linear-gradient(135deg, var(--info-500) 0%, #1E56C4 100%);
    box-shadow: 0 6px 18px rgba(47, 111, 237, .3);
}

.adk-published {
    color: var(--ok-500);
    font-size: .95rem;
}

/* ---------- Yayın durumu kutusu ---------- */

.publish-done {
    display: flex;
    align-items: center;
    gap: .85rem;
    background: var(--ok-50);
    border: 1px solid #BFE9D3;
    border-radius: var(--r-md);
    padding: .9rem 1.1rem;
}

.publish-done > i {
    color: var(--ok-500);
    font-size: 1.15rem;
}

.publish-done strong {
    display: block;
    font-size: .88rem;
    font-weight: 700;
    color: #0A7A4B;
}

.publish-done small {
    display: block;
    font-size: .76rem;
    color: var(--text-muted);
}

/* ---------- Geçmiş ders kartı ---------- */

.live-card--past {
    opacity: .92;
}

.live-card--past .live-card__date {
    background: var(--ink-50);
}

.live-card--past .live-card__day {
    color: var(--ink-500);
}

.live-card--past .live-card__month {
    color: var(--ink-400);
}

.live-rec__note {
    display: flex;
    align-items: flex-start;
    background: var(--info-50);
    border-radius: var(--r-sm);
    color: #1E56C4;
    font-size: .8rem;
    line-height: 1.6;
    padding: .6rem .85rem;
    margin: .8rem 0 0;
}

/* ---------- Kurs atama listesi ---------- */

.grant-search {
    position: relative;
    margin-bottom: .6rem;
}

.grant-search i {
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ink-400);
    font-size: .8rem;
    pointer-events: none;
}

.grant-search input {
    padding-left: 36px;
    font-size: .84rem;
}

.grant-list {
    max-height: 340px;
    overflow-y: auto;
    border: 1px solid var(--line);
    border-radius: var(--r-sm);
    padding: .4rem;
}

.grant-list__group {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--ink-400);
    padding: .55rem .6rem .3rem;
}

.grant-item {
    display: flex;
    align-items: center;
    gap: .7rem;
    border-radius: var(--r-sm);
    padding: .5rem .6rem;
    cursor: pointer;
    transition: background var(--dur-1) var(--ease-soft);
}

.grant-item:hover {
    background: var(--brand-50);
}

.grant-item input {
    display: none;
}

.grant-item__box {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    border: 1.5px solid var(--ink-300);
    border-radius: 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: transparent;
    font-size: .62rem;
    transition: all var(--dur-1) var(--ease-soft);
}

.grant-item input:checked + .grant-item__box {
    background: var(--grad-brand);
    border-color: transparent;
    color: #fff;
}

.grant-item__text {
    flex: 1 1 auto;
    min-width: 0;
}

.grant-item__text strong {
    display: block;
    font-size: .83rem;
    font-weight: 600;
    color: var(--ink-800);
    line-height: 1.35;
}

.grant-item__text small {
    display: block;
    font-size: .74rem;
    color: var(--accent-600);
    font-weight: 600;
}

.grant-item input:checked ~ .grant-item__text strong {
    color: var(--brand-700);
}

/* ==========================================================
   DÜZELTME — Uzun modallar kaydırılabilsin
   ========================================================== */

.modal-dialog-scrollable {
    height: calc(100% - 3.5rem);
}

.modal-dialog-scrollable .modal-content {
    max-height: 100%;
    overflow: hidden;
}

.modal-dialog-scrollable .modal-body {
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

/* Kaydırılabilir sınıfı olmayan uzun modallar için güvenlik ağı */
.modal-body {
    max-height: calc(100vh - 11rem);
    overflow-y: auto;
    overscroll-behavior: contain;
}

/* Video içeren modallarda kesme olmasın */
.modal-body.p-0 {
    max-height: none;
}

/* Modal içi ince kaydırma çubuğu */
.modal-body::-webkit-scrollbar {
    width: 8px;
}

.modal-body::-webkit-scrollbar-thumb {
    background: var(--ink-300);
    border-radius: var(--r-full);
    border: 2px solid transparent;
    background-clip: padding-box;
}

.modal-body::-webkit-scrollbar-thumb:hover {
    background: var(--ink-400);
    background-clip: padding-box;
}

/* ==========================================================
   ADIM 21B — Uzman paneli
   ========================================================== */

.adk-portal-tag--expert {
    background: var(--ok-50);
    color: var(--ok-500);
}

/* ---------- Uzman kartı ---------- */

.expert-hero {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
    background: linear-gradient(135deg, var(--brand-50) 0%, var(--accent-50) 100%);
    border: 1px solid var(--brand-100);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-sm);
    padding: 1.7rem;
    margin-bottom: 1.8rem;
}

.expert-hero__avatar {
    flex: 0 0 88px;
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background: var(--grad-brand);
    color: #fff;
    font-size: 2.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 3px solid #fff;
    box-shadow: var(--sh-md);
}

.expert-hero__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.expert-hero__text {
    flex: 1 1 280px;
    min-width: 0;
}

.expert-hero__text h1 {
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: -.025em;
    color: var(--ink-900);
    margin-bottom: .3rem;
}

.expert-hero__title {
    display: inline-block;
    background: var(--surface);
    border-radius: var(--r-full);
    color: var(--brand-700);
    font-size: .78rem;
    font-weight: 700;
    padding: .2rem .8rem;
}

.expert-hero__text p {
    font-size: .875rem;
    line-height: 1.7;
    color: var(--text-soft);
    margin: .7rem 0 0;
}

.expert-hero__btn {
    flex: 0 0 auto;
}

/* ---------- Yazı satırı ---------- */

.expert-post-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .8rem 0;
    border-bottom: 1px solid var(--line-soft);
    text-decoration: none;
    transition: padding var(--dur-1) var(--ease);
}

.expert-post-row:last-child {
    border-bottom: none;
}

.expert-post-row:hover {
    padding-left: .5rem;
}

.expert-post-row__text {
    min-width: 0;
}

.expert-post-row__text strong {
    display: block;
    font-size: .88rem;
    font-weight: 600;
    color: var(--ink-800);
    line-height: 1.4;
}

.expert-post-row__text small {
    display: block;
    font-size: .75rem;
    color: var(--text-muted);
    margin-top: .15rem;
}

.expert-link {
    font-size: .8rem;
    font-weight: 600;
    color: var(--brand-700);
    text-decoration: none;
}

.expert-link:hover {
    text-decoration: underline;
}

/* ---------- Yazı kartı ---------- */

.expert-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--surface);
    border: 1px solid var(--line-soft);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-sm);
    overflow: hidden;
    transition: transform var(--dur-2) var(--ease),
                box-shadow var(--dur-2) var(--ease-soft);
}

.expert-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--sh-lg);
}

.expert-card__media {
    position: relative;
    height: 140px;
    background: linear-gradient(135deg, var(--brand-100) 0%, var(--accent-100) 100%);
    background-size: cover;
    background-position: center;
}

.expert-card__media .adk-pill {
    position: absolute;
    top: 12px;
    left: 12px;
}

.expert-card__body {
    flex: 1 1 auto;
    padding: 1.1rem 1.2rem .7rem;
}

.expert-card__body h3 {
    font-size: 1rem;
    font-weight: 700;
    color: var(--ink-900);
    line-height: 1.42;
    margin-bottom: .5rem;
}

.expert-card__body p {
    font-size: .84rem;
    line-height: 1.65;
    color: var(--text-soft);
    margin: .6rem 0 .8rem;
}

.expert-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .9rem;
    font-size: .74rem;
    color: var(--text-muted);
}

.expert-card__meta i {
    margin-right: .28rem;
}

.expert-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .85rem 1.2rem 1.1rem;
    border-top: 1px solid var(--line-soft);
    margin-top: .7rem;
}

/* ---------- Reddedilme notu ---------- */

.expert-reject {
    display: flex;
    gap: .8rem;
    align-items: flex-start;
    background: var(--danger-50);
    border: 1px solid #F5C6CB;
    border-left: 4px solid var(--danger-500);
    border-radius: var(--r-sm);
    padding: .8rem 1rem;
    margin-bottom: .8rem;
}

.expert-reject--wide {
    margin-bottom: 0;
}

.expert-reject > i {
    color: var(--danger-500);
    font-size: .95rem;
    margin-top: .1rem;
}

.expert-reject strong {
    display: block;
    font-size: .8rem;
    font-weight: 700;
    color: #A3202D;
    margin-bottom: .15rem;
}

.expert-reject span {
    font-size: .82rem;
    line-height: 1.6;
    color: #A3202D;
}

/* ---------- Profil fotoğrafı ---------- */

.expert-photo {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: var(--grad-brand);
    color: #fff;
    font-size: 3.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    overflow: hidden;
    border: 4px solid var(--surface);
    box-shadow: var(--sh-md);
}

.expert-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ---------- Yazı gönderme butonları ---------- */

.expert-actions {
    position: sticky;
    top: 76px;
    margin-top: 1rem;
}

@media (max-width: 991.98px) {

    .expert-hero {
        flex-direction: column;
        text-align: center;
        align-items: stretch;
    }

    .expert-hero__avatar {
        margin: 0 auto;
    }

    .expert-hero__btn {
        width: 100%;
    }

    .expert-actions {
        position: static;
    }
}

/* ==========================================================
   Navbar logo simgesi
   ========================================================== */

/* Eski gradyan kareyi kaldır */
.adk-navbar .navbar-brand::before {
    display: none;
}

.adk-navbar .navbar-brand {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
}

.brand-mark {
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    object-fit: contain;
    border-radius: 8px;
    background: rgba(255, 255, 255, .1);
    padding: 2px;
    transition: transform var(--dur-2) var(--ease),
                background var(--dur-2) var(--ease-soft);
}

.adk-navbar .navbar-brand:hover .brand-mark {
    transform: scale(1.06);
    background: rgba(255, 255, 255, .18);
}

/* Navbar küçüldüğünde simge de küçülsün */
.adk-navbar.is-stuck .brand-mark {
    width: 27px;
    height: 27px;
    flex-basis: 27px;
}

@media (max-width: 575.98px) {
    .brand-mark {
        flex-basis: 26px;
        width: 26px;
        height: 26px;
    }
}

/* ==========================================================
   Soru-Cevap yazı blokları
   ========================================================== */

.qa-block {
    border-radius: var(--r-lg);
    padding: 1.4rem 1.6rem;
    margin-bottom: 1.2rem;
}

.qa-block__tag {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    border-radius: var(--r-full);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    padding: .28rem .85rem;
    margin-bottom: .9rem;
}

.qa-block p {
    font-size: .96rem;
    line-height: 1.85;
    margin: 0;
}

.qa-block--q {
    background: var(--ink-50);
    border-left: 4px solid var(--ink-400);
}

.qa-block--q .qa-block__tag {
    background: var(--ink-200);
    color: var(--ink-700);
}

.qa-block--q p {
    color: var(--text-soft);
    font-style: italic;
}

.qa-block--a {
    background: var(--brand-50);
    border-left: 4px solid var(--brand-500);
}

.qa-block--a .qa-block__tag {
    background: var(--grad-brand);
    color: #fff;
}

.qa-block--a p {
    color: var(--text);
}

/* ==========================================================
   ADIM 24 — Bunny Stream yükleme
   ========================================================== */

.dropzone.is-busy {
    border-color: var(--brand-500);
    background: var(--brand-50);
    cursor: wait;
    pointer-events: none;
}

.dropzone__pct {
    display: block;
    font-size: .82rem;
    font-weight: 600;
    color: var(--brand-700);
    margin-top: .5rem;
}

.dropzone.is-error .dropzone__pct {
    color: var(--danger-500);
}

.dropzone.has-file .dropzone__pct {
    color: var(--ok-500);
}
.adk-lesson-meta {
    font-size: .85rem;
    color: var(--text-muted);
    margin: -.8rem 0 1rem;
}