/*
 * Yediiklim ortak bileşen kütüphanesi (Aşama 2) — yalnızca tokens.css değişkenlerini kullanır.
 * Önek: .ds-  |  Blade: <x-ds.*>  |  Sayfaya özel kopya CSS yazmak yerine bunlar kullanılır.
 */
.ds :where(*,*::before,*::after){box-sizing:border-box}

/* Eyebrow */
.ds-eyebrow{margin:0 0 var(--space-3);font:var(--fw-bold) var(--fs-eyebrow)/1 var(--font-body);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--brand-red)}
.ds-eyebrow--on-dark{color:#ff7b82}

/* Bölüm başlığı */
.ds-heading{max-width:var(--container-narrow);margin-bottom:var(--space-6)}
.ds-heading h2{margin:0;font:var(--fw-bold) var(--fs-h2)/var(--lh-heading) var(--font-display);letter-spacing:var(--tracking-heading);color:var(--text-primary)}
.ds-heading p{margin:var(--space-3) 0 0;font-size:var(--fs-lead);line-height:var(--lh-body);color:var(--text-secondary)}
.ds-heading--center{margin-inline:auto;text-align:center}
.ds-heading--on-dark h2{color:var(--text-on-dark)}
.ds-heading--on-dark p{color:var(--text-on-dark-muted)}

/* Butonlar */
.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-5);border:2px solid transparent;border-radius:var(--radius-md);font:var(--fw-semibold) 15px/1.2 var(--font-body);text-align:center;text-decoration:none;cursor:pointer;transition:background-color var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard)}
.ds-btn:focus-visible{outline:3px solid var(--focus-ring-light);outline-offset:3px}
.ds-btn--primary{background:var(--action);color:var(--text-on-dark)}
.ds-btn--primary:hover{background:var(--action-hover);transform:translateY(-2px)}
.ds-btn--secondary{background:var(--brand-navy);color:var(--text-on-dark)}
.ds-btn--secondary:hover{background:var(--brand-navy-2);transform:translateY(-2px)}
.ds-btn--outline{background:transparent;border-color:var(--brand-navy);color:var(--brand-navy)}
.ds-btn--outline:hover{background:var(--brand-navy);color:var(--text-on-dark)}
.ds-btn--on-dark{border-color:rgb(255 255 255 / .45);color:var(--text-on-dark)}
.ds-btn--on-dark:hover{border-color:#fff;background:rgb(255 255 255 / .1)}
.ds-btn--block{width:100%}
.ds-btn--sm{min-height:40px;padding:var(--space-2) var(--space-4);font-size:14px}
.ds-on-dark .ds-btn:focus-visible{outline-color:var(--focus-ring)}

/* Kart (taban) */
.ds-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);color:var(--text-primary);transition:transform var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard)}
a.ds-card:hover,.ds-card--hover:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--border-strong)}
a.ds-card:focus-visible{outline:3px solid var(--focus-ring-light);outline-offset:3px}
.ds-card--accent{border-top:5px solid var(--brand-red)}
.ds-card h3{margin:0;font:var(--fw-bold) var(--fs-h3)/var(--lh-heading) var(--font-display);color:inherit}
.ds-card p{margin:0;line-height:var(--lh-body);color:var(--text-secondary)}

/* Program kartı */
.ds-program__tag{margin:0;font:var(--fw-bold) var(--fs-eyebrow)/1 var(--font-body);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--brand-red)}
.ds-program__figure{margin:0;font:var(--fw-bold) clamp(2.5rem,2rem + 2vw,3.5rem)/1 var(--font-display);letter-spacing:-.04em;color:var(--brand-navy)}
.ds-program__figure small{font-size:1.125rem;letter-spacing:0;color:var(--text-secondary)}
.ds-program ul{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-2);font-size:15px;color:var(--text-secondary)}
.ds-program li{position:relative;padding-left:var(--space-5)}
.ds-program li::before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;border-radius:50%;background:var(--brand-red)}
.ds-program__go{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--brand-navy);color:var(--text-on-dark);font-weight:var(--fw-bold)}

/* Deneme takvimi kartı */
.ds-exam__code{font:var(--fw-bold) clamp(2.5rem,2rem + 2.4vw,3.75rem)/.95 var(--font-display);letter-spacing:-.05em;color:var(--brand-navy)}
.ds-exam__count{font-size:14px;color:var(--text-secondary)}
.ds-exam__count b{margin-right:var(--space-1);font:var(--fw-bold) 1.625rem/1 var(--font-display);color:var(--brand-red)}
.ds-exam dl{margin:0;padding-top:var(--space-3);border-top:1px solid var(--border-subtle);display:grid;gap:var(--space-2)}
.ds-exam dl div{display:flex;justify-content:space-between;gap:var(--space-3);font-size:14px}
.ds-exam dt{color:var(--text-secondary)}
.ds-exam dd{margin:0;font-weight:var(--fw-semibold);text-align:right}
.ds-exam .is-next dd{color:var(--brand-red)}

/* İstatistik kartı */
.ds-stat{padding:var(--space-5);background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}
.ds-stat dl{margin:0;display:flex;flex-direction:column-reverse}
.ds-stat dd{margin:0;font:var(--fw-bold) clamp(2.5rem,2rem + 3vw,4rem)/1 var(--font-display);letter-spacing:-.04em;color:var(--brand-navy)}
.ds-stat dt{margin-top:var(--space-2);font-size:13px;font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}
.ds-stat--accent dd{color:var(--brand-red)}
.ds-stat--on-dark{background:transparent;border-color:rgb(255 255 255 / .2)}
.ds-stat--on-dark dd{color:var(--text-on-dark)}
.ds-stat--on-dark dt{color:var(--text-on-dark-muted)}

/* Yorum kartı */
.ds-testimonial blockquote{margin:0;font-size:var(--fs-lead);line-height:var(--lh-body);color:var(--text-primary)}
.ds-testimonial figcaption{display:flex;flex-direction:column;gap:2px;margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--border-subtle);font-size:14px;color:var(--text-secondary)}
.ds-testimonial figcaption b{color:var(--text-primary);font-weight:var(--fw-semibold)}

/* Öğretmen kartı */
.ds-teacher{padding:0;overflow:hidden}
.ds-teacher__media{margin:0;aspect-ratio:4/5;background:var(--surface-muted)}
.ds-teacher__media img{display:block;width:100%;height:100%;object-fit:cover}
.ds-teacher__body{padding:var(--space-4) var(--space-5) var(--space-5)}
.ds-teacher__body h3{margin:0;font:var(--fw-bold) 1.125rem/1.25 var(--font-display)}
.ds-teacher__body p{margin:var(--space-1) 0 0;font-size:14px;color:var(--text-secondary)}

/* SSS akordeon */
.ds-faq{border-top:1px solid var(--border-subtle)}
.ds-faq details{border-bottom:1px solid var(--border-subtle)}
.ds-faq summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:60px;padding:var(--space-4) 0;cursor:pointer;list-style:none}
.ds-faq summary::-webkit-details-marker{display:none}
.ds-faq summary::after{content:"+";flex:none;font:var(--fw-semibold) 1.625rem/1 var(--font-display);color:var(--brand-red);transition:transform var(--dur-base) var(--ease-standard)}
.ds-faq details[open] summary::after{transform:rotate(45deg)}
.ds-faq summary:focus-visible{outline:3px solid var(--focus-ring-light);outline-offset:2px}
.ds-faq h3{margin:0;font:var(--fw-semibold) 1.0625rem/1.35 var(--font-display);letter-spacing:-.01em}
.ds-faq details p{margin:0 0 var(--space-4);line-height:var(--lh-body);color:var(--text-secondary)}

/* CTA bandı */
.ds-cta{display:grid;gap:var(--space-5);padding:var(--space-6) var(--space-5);background:var(--brand-navy);border-radius:var(--radius-lg);color:var(--text-on-dark)}
.ds-cta h2{margin:0;font:var(--fw-bold) var(--fs-h2)/var(--lh-heading) var(--font-display);letter-spacing:var(--tracking-heading)}
.ds-cta p{margin:var(--space-3) 0 0;max-width:58ch;line-height:var(--lh-body);color:var(--text-on-dark-muted)}
.ds-cta__actions{display:grid;gap:var(--space-3)}
@media (min-width:760px){.ds-cta{grid-template-columns:1fr auto;align-items:center;padding:var(--space-7)}}

/* Breadcrumb */
.ds-breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);font-size:13px;color:var(--text-secondary)}
.ds-breadcrumb li+li::before{content:"/";margin-right:var(--space-3);opacity:.5}
.ds-breadcrumb a:hover{color:var(--text-primary);text-decoration:underline}
.ds-breadcrumb--on-dark ol{color:var(--text-on-dark-muted)}
.ds-breadcrumb--on-dark a:hover{color:#fff}

/* Form alanı */
.ds-field{display:grid;gap:var(--space-2)}
.ds-field label{font-size:14px;font-weight:var(--fw-semibold);color:var(--text-primary)}
.ds-field :is(input,select,textarea){width:100%;min-height:48px;padding:var(--space-3) var(--space-4);border:1.5px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);font:var(--fw-regular) 1rem/1.4 var(--font-body);color:var(--text-primary);transition:border-color var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard)}
.ds-field textarea{min-height:120px;resize:vertical}
.ds-field :is(input,select,textarea):hover{border-color:var(--text-secondary)}
.ds-field :is(input,select,textarea):focus-visible{outline:none;border-color:var(--brand-navy);box-shadow:0 0 0 3px rgb(16 29 57 / .18)}
.ds-field__hint{font-size:13px;color:var(--text-secondary)}
.ds-field__error{font-size:13px;font-weight:var(--fw-semibold);color:var(--brand-red-dark)}
.ds-field.has-error :is(input,select,textarea){border-color:var(--brand-red-dark)}

/* Boş durum */
.ds-empty{padding:var(--space-6);background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);text-align:center;color:var(--text-secondary)}
.ds-empty h3{margin:0 0 var(--space-2);font:var(--fw-bold) var(--fs-h3)/var(--lh-heading) var(--font-display);color:var(--text-primary)}
.ds-empty p{margin:0 auto;max-width:48ch;line-height:var(--lh-body)}

/* Durum etiketi */
.ds-status{display:inline-flex;align-items:center;padding:3px var(--space-3);border-radius:var(--radius-pill);background:var(--surface-muted);border:1px solid var(--border-subtle);font-size:12px;font-weight:var(--fw-semibold);line-height:1.4;color:var(--text-secondary);white-space:nowrap}
.ds-status--active{background:var(--brand-red);border-color:var(--brand-red);color:var(--text-on-dark)}
.ds-status--done{background:var(--surface-muted);color:var(--text-secondary)}
.ds-status--success{background:#e8f4ee;border-color:#bfe0cf;color:var(--success)}
.ds-status--warning{background:#fdf2e0;border-color:#f1d9ad;color:var(--warning)}

@media (prefers-reduced-motion:reduce){.ds-btn,.ds-card,.ds-faq summary::after,.ds-field :is(input,select,textarea){transition:none!important}}
