/* Kök Finans component styles. Every rule is token-driven; no literal colors. */

/* ---------- Icon (Lucide via CDN, masked so it inherits currentColor) ---------- */
.kf-icon{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.135em}
.kf-icon--mask{background-color:currentColor;-webkit-mask:var(--kf-icon) center/contain no-repeat;mask:var(--kf-icon) center/contain no-repeat;mask-mode:alpha;-webkit-mask-mode:alpha}

/* ---------- Button ---------- */
.kf-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);font-family:var(--font-body);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug);border:1px solid transparent;border-radius:var(--radius-button);cursor:pointer;text-decoration:none;white-space:nowrap;transition:var(--transition-color),transform var(--duration-instant) var(--ease-standard)}
.kf-btn:active:not(:disabled){transform:var(--press-scale)}
.kf-btn:disabled,.kf-btn[aria-disabled=true]{cursor:not-allowed;background:var(--action-disabled);border-color:transparent;color:var(--action-disabled-text)}
.kf-btn--sm{height:32px;padding:0 var(--space-4);font-size:var(--text-caption)}
.kf-btn--md{height:40px;padding:0 var(--space-6);font-size:var(--text-body-sm)}
.kf-btn--lg{height:50px;padding:0 var(--space-8);font-size:var(--text-body)}
.kf-btn--primary{background:var(--action-primary);color:var(--parchment-100)}
.kf-btn--primary:hover:not(:disabled){background:var(--action-primary-hover)}
.kf-btn--accent{background:var(--action-accent);color:var(--bark-900)}
.kf-btn--accent:hover:not(:disabled){background:var(--action-accent-hover);color:var(--parchment-50)}
.kf-btn--secondary{background:transparent;border-color:var(--border-strong);color:var(--text-body)}
.kf-btn--secondary:hover:not(:disabled){background:var(--action-quiet-hover);border-color:var(--text-body)}
.kf-btn--ghost{background:transparent;color:var(--text-body)}
.kf-btn--ghost:hover:not(:disabled){background:var(--action-quiet-hover)}
.kf-btn--link{background:transparent;color:var(--text-link);height:auto;padding:0;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.kf-btn--link:hover:not(:disabled){color:var(--text-link-hover)}
.kf-btn.is-full{display:flex;width:100%}

/* ---------- IconButton ---------- */
.kf-iconbtn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius-button);cursor:pointer;color:var(--text-body);background:transparent;transition:var(--transition-color)}
.kf-iconbtn--sm{width:32px;height:32px;font-size:15px}
.kf-iconbtn--md{width:40px;height:40px;font-size:18px}
.kf-iconbtn--lg{width:48px;height:48px;font-size:21px}
.kf-iconbtn--quiet:hover:not(:disabled){background:var(--action-quiet-hover)}
.kf-iconbtn--outline{border-color:var(--border-default)}
.kf-iconbtn--outline:hover:not(:disabled){border-color:var(--border-strong);background:var(--action-quiet-hover)}
.kf-iconbtn--solid{background:var(--action-primary);color:var(--parchment-100)}
.kf-iconbtn--solid:hover:not(:disabled){background:var(--action-primary-hover)}
.kf-iconbtn--round{border-radius:var(--radius-circle)}
.kf-iconbtn:disabled{opacity:.42;cursor:not-allowed}

/* ---------- Badge ---------- */
.kf-badge{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:var(--text-micro);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;padding:4px var(--space-3);border-radius:var(--radius-xs);border:1px solid transparent;line-height:1.1}
.kf-badge--soft{background:var(--kf-tone-soft);color:var(--kf-tone)}
.kf-badge--solid{background:var(--kf-tone);color:var(--parchment-50)}
.kf-badge--outline{border-color:var(--kf-tone);color:var(--kf-tone)}
.kf-badge[data-tone=neutral]{--kf-tone:var(--bark-600);--kf-tone-soft:var(--bark-100)}
.kf-badge[data-tone=finance]{--kf-tone:var(--cat-finance);--kf-tone-soft:var(--cat-finance-soft)}
.kf-badge[data-tone=history]{--kf-tone:var(--cat-history);--kf-tone-soft:var(--cat-history-soft)}
.kf-badge[data-tone=law]{--kf-tone:var(--cat-law);--kf-tone-soft:var(--cat-law-soft)}
.kf-badge[data-tone=positive]{--kf-tone:var(--status-positive);--kf-tone-soft:var(--status-positive-soft)}
.kf-badge[data-tone=caution]{--kf-tone:var(--status-caution);--kf-tone-soft:var(--status-caution-soft)}
.kf-badge[data-tone=critical]{--kf-tone:var(--status-critical);--kf-tone-soft:var(--status-critical-soft)}

/* ---------- Tag ---------- */
.kf-tag{display:inline-flex;align-items:center;gap:var(--space-3);font-size:var(--text-caption);font-weight:var(--weight-medium);color:var(--text-body);background:var(--surface-sunken);border:1px solid var(--border-hairline);border-radius:var(--radius-pill);padding:5px var(--space-4);transition:var(--transition-color)}
.kf-tag--interactive{cursor:pointer}
.kf-tag--interactive:hover{border-color:var(--border-strong);background:var(--surface-card)}
.kf-tag[aria-pressed=true]{background:var(--surface-inverse);border-color:var(--surface-inverse);color:var(--parchment-100)}
.kf-tag__x{display:inline-flex;opacity:.6;cursor:pointer;background:none;border:0;color:inherit;padding:0;font-size:12px}
.kf-tag__x:hover{opacity:1}

/* ---------- Card ---------- */
.kf-card{display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-card);overflow:hidden}
.kf-card--raised{border-color:transparent;box-shadow:var(--shadow-md)}
.kf-card--flat{background:transparent;border-color:transparent}
.kf-card--interactive{cursor:pointer;transition:var(--transition-lift),border-color var(--duration-fast) var(--ease-standard)}
.kf-card--interactive:hover{transform:var(--lift-hover);box-shadow:var(--shadow-md);border-color:var(--border-default)}
.kf-card__media{position:relative;aspect-ratio:16/9;background:var(--bark-700) url("../patterns/girih-tile.svg") center/120px repeat;overflow:hidden}
.kf-card__body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6)}
.kf-card__title{font-family:var(--font-display);font-size:var(--text-title);font-weight:var(--weight-semibold);color:var(--text-strong);line-height:var(--leading-snug);letter-spacing:var(--tracking-snug)}
.kf-card__meta{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-caption);color:var(--text-muted)}

/* ---------- Form fields ---------- */
.kf-field{display:flex;flex-direction:column;gap:var(--space-3)}
.kf-label{font-size:var(--text-caption);font-weight:var(--weight-semibold);color:var(--text-body);letter-spacing:var(--tracking-snug)}
.kf-label__opt{font-weight:var(--weight-regular);color:var(--text-subtle);margin-inline-start:var(--space-2)}
.kf-input,.kf-select{font-family:var(--font-body);font-size:var(--text-body-sm);color:var(--text-body);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-input);height:40px;padding:0 var(--space-4);width:100%;transition:var(--transition-color),box-shadow var(--duration-fast) var(--ease-standard)}
textarea.kf-input{height:auto;padding:var(--space-4);line-height:var(--leading-normal);resize:vertical}
.kf-input::placeholder{color:var(--text-subtle)}
.kf-input:hover:not(:disabled),.kf-select:hover:not(:disabled){border-color:var(--border-strong)}
.kf-input:focus,.kf-select:focus{outline:none;border-color:var(--coin-500);box-shadow:0 0 0 3px var(--surface-accent-soft)}
.kf-input:disabled,.kf-select:disabled{background:var(--surface-sunken);color:var(--text-subtle);cursor:not-allowed}
.kf-input[aria-invalid=true],.kf-select[aria-invalid=true]{border-color:var(--status-critical)}
.kf-input--sunken{background:var(--surface-sunken);box-shadow:var(--shadow-inset);border-color:transparent}
.kf-help{font-size:var(--text-caption);color:var(--text-muted)}
.kf-help--error{color:var(--status-critical)}
.kf-input-wrap{position:relative;display:flex;align-items:center}
.kf-input-wrap .kf-icon{position:absolute;inset-inline-start:var(--space-4);color:var(--text-subtle);font-size:16px;pointer-events:none}
.kf-input-wrap .kf-input{padding-inline-start:var(--space-9)}
.kf-select-wrap{position:relative;display:block}
.kf-select{appearance:none;padding-inline-end:var(--space-9);cursor:pointer}
.kf-select-wrap::after{content:"";position:absolute;inset-inline-end:var(--space-4);top:50%;width:8px;height:8px;margin-top:-5px;border-inline-end:1.5px solid var(--text-muted);border-block-end:1.5px solid var(--text-muted);transform:rotate(45deg);pointer-events:none}

/* ---------- Checkbox / Radio / Switch ---------- */
.kf-choice{display:inline-flex;align-items:flex-start;gap:var(--space-4);cursor:pointer;font-size:var(--text-body-sm);color:var(--text-body)}
.kf-choice input{position:absolute;opacity:0;width:0;height:0}
.kf-choice__box{width:18px;height:18px;flex:none;margin-top:2px;border:1.5px solid var(--border-strong);background:var(--surface-raised);display:inline-flex;align-items:center;justify-content:center;transition:var(--transition-color)}
.kf-choice--check .kf-choice__box{border-radius:var(--radius-xs)}
.kf-choice--radio .kf-choice__box{border-radius:var(--radius-circle)}
.kf-choice:hover .kf-choice__box{border-color:var(--bark-800)}
.kf-choice input:checked+.kf-choice__box{background:var(--action-primary);border-color:var(--action-primary)}
.kf-choice input:focus-visible+.kf-choice__box{box-shadow:var(--ring-focus)}
.kf-choice__tick{width:10px;height:10px;color:var(--parchment-50);opacity:0}
.kf-choice input:checked+.kf-choice__box .kf-choice__tick{opacity:1}
.kf-choice--radio input:checked+.kf-choice__box .kf-choice__tick{width:7px;height:7px;border-radius:var(--radius-circle);background:var(--parchment-50)}
.kf-choice input:disabled+.kf-choice__box{background:var(--action-disabled);border-color:var(--border-default)}
.kf-choice__text{display:flex;flex-direction:column;gap:2px}
.kf-choice__desc{font-size:var(--text-caption);color:var(--text-muted)}
.kf-switch{display:inline-flex;align-items:center;gap:var(--space-4);cursor:pointer;font-size:var(--text-body-sm)}
.kf-switch input{position:absolute;opacity:0;width:0;height:0}
.kf-switch__track{width:40px;height:22px;flex:none;border-radius:var(--radius-pill);background:var(--bark-200);position:relative;transition:background-color var(--duration-base) var(--ease-standard)}
.kf-switch__thumb{position:absolute;top:3px;inset-inline-start:3px;width:16px;height:16px;border-radius:var(--radius-circle);background:var(--parchment-50);box-shadow:var(--shadow-xs);transition:transform var(--duration-base) var(--ease-out)}
.kf-switch input:checked+.kf-switch__track{background:var(--leaf-700)}
.kf-switch input:checked+.kf-switch__track .kf-switch__thumb{transform:translateX(18px)}
.kf-switch input:disabled+.kf-switch__track{opacity:.45}

/* ---------- Tabs ---------- */
.kf-tabs{display:flex;gap:var(--space-8);border-bottom:1px solid var(--border-hairline)}
.kf-tab{appearance:none;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:0 0 var(--space-4);font-family:var(--font-body);font-size:var(--text-body-sm);font-weight:var(--weight-medium);color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-3);transition:var(--transition-color)}
.kf-tab:hover{color:var(--text-body)}
.kf-tab[aria-selected=true]{color:var(--text-strong);border-bottom-color:var(--coin-500);font-weight:var(--weight-semibold)}
.kf-tab__count{font-size:var(--text-micro);font-family:var(--font-mono);color:var(--text-subtle)}
.kf-tabs--pill{border:0;gap:var(--space-3)}
.kf-tabs--pill .kf-tab{border:1px solid var(--border-hairline);border-radius:var(--radius-pill);padding:6px var(--space-5);background:var(--surface-card)}
.kf-tabs--pill .kf-tab[aria-selected=true]{background:var(--surface-inverse);color:var(--parchment-100);border-color:var(--surface-inverse)}

/* ---------- Dialog ---------- */
.kf-dialog__backdrop{position:fixed;inset:0;background:var(--surface-overlay);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:var(--space-7);z-index:60;animation:kf-fade var(--duration-base) var(--ease-standard)}
.kf-dialog{background:var(--surface-card);border-radius:var(--radius-dialog);box-shadow:var(--shadow-dialog);width:min(520px,100%);max-height:88vh;overflow:auto;animation:kf-rise var(--duration-base) var(--ease-out)}
.kf-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6);padding:var(--space-7) var(--space-7) var(--space-4)}
.kf-dialog__title{font-family:var(--font-display);font-size:var(--text-display-sm);font-weight:var(--weight-semibold);color:var(--text-strong);letter-spacing:var(--tracking-tight)}
.kf-dialog__body{padding:0 var(--space-7) var(--space-7);color:var(--text-muted);font-size:var(--text-body-sm);line-height:var(--leading-relaxed)}
.kf-dialog__foot{display:flex;justify-content:flex-end;gap:var(--space-4);padding:var(--space-6) var(--space-7);border-top:1px solid var(--border-hairline);background:var(--surface-sunken)}
@keyframes kf-fade{from{opacity:0}to{opacity:1}}
@keyframes kf-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---------- Toast ---------- */
.kf-toast{display:flex;align-items:flex-start;gap:var(--space-4);background:var(--surface-inverse);color:var(--parchment-100);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow-lg);min-width:300px;max-width:420px;border-inline-start:3px solid var(--kf-tone,var(--coin-500));animation:kf-rise var(--duration-base) var(--ease-out)}
.kf-toast[data-tone=positive]{--kf-tone:var(--leaf-500)}
.kf-toast[data-tone=critical]{--kf-tone:var(--clay-600)}
.kf-toast__title{font-weight:var(--weight-semibold);font-size:var(--text-body-sm)}
.kf-toast__desc{font-size:var(--text-caption);color:var(--bark-200);margin-top:2px}

/* ---------- Tooltip ---------- */
.kf-tooltip{position:relative;display:inline-flex}
.kf-tooltip__bubble{position:absolute;z-index:40;background:var(--bark-900);color:var(--parchment-100);font-size:var(--text-caption);line-height:1.35;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);white-space:nowrap;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-standard)}
.kf-tooltip:hover .kf-tooltip__bubble,.kf-tooltip:focus-within .kf-tooltip__bubble{opacity:1}
.kf-tooltip__bubble[data-side=top]{bottom:calc(100% + 8px);left:50%;transform:translateX(-50%)}
.kf-tooltip__bubble[data-side=bottom]{top:calc(100% + 8px);left:50%;transform:translateX(-50%)}
.kf-tooltip__bubble[data-side=right]{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}

/* ---------- Logo lockup ---------- */
.kf-logo{display:inline-flex;align-items:center;gap:var(--space-4);text-decoration:none;color:inherit}
.kf-logo--seal{color:var(--text-strong)}
.kf-logo--stack{flex-direction:column;gap:var(--space-4);text-align:center}
.kf-logo__mark{flex:none;display:block}
.kf-logo__word{font-family:var(--font-display);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:1;display:flex;flex-direction:column;gap:3px}
.kf-logo__word b{font-weight:inherit}
.kf-logo__tag{font-family:var(--font-body);font-size:var(--text-micro);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted)}

/* ---------- SectionHeading ---------- */
.kf-sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-8);border-bottom:1px solid var(--border-hairline);padding-bottom:var(--space-5)}
.kf-sechead__t{display:flex;flex-direction:column;gap:var(--space-3)}
.kf-sechead__title{font-family:var(--font-display);font-size:var(--text-display-md);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);color:var(--text-strong);line-height:var(--leading-snug)}
.kf-sechead__sub{font-size:var(--text-body-sm);color:var(--text-muted);max-width:var(--measure-narrow)}

/* ---------- Breadcrumb ---------- */
.kf-crumbs{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-caption);color:var(--text-muted);flex-wrap:wrap}
.kf-crumbs a{color:var(--text-muted);text-decoration:none}
.kf-crumbs a:hover{color:var(--text-strong);text-decoration:underline;text-underline-offset:3px}
.kf-crumbs__sep{color:var(--text-subtle)}
.kf-crumbs__cur{color:var(--text-strong);font-weight:var(--weight-medium)}

/* ---------- VideoCard ---------- */
.kf-video{display:flex;flex-direction:column;gap:var(--space-5);cursor:pointer;text-decoration:none;color:inherit;transition:var(--transition-lift)}
.kf-video:hover{transform:var(--lift-hover)}
.kf-video__thumb{position:relative;aspect-ratio:16/9;border-radius:var(--radius-thumb);overflow:hidden;background:var(--bark-700) url("../patterns/girih-tile.svg") center/110px repeat;box-shadow:var(--shadow-sm)}
.kf-video__thumb::after{content:"";position:absolute;inset:0;background:var(--scrim-bottom);opacity:.85}
.kf-video__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.kf-video__play{position:absolute;inset:0;margin:auto;width:52px;height:52px;border-radius:var(--radius-circle);background:rgba(249,244,235,.92);color:var(--bark-800);display:flex;align-items:center;justify-content:center;font-size:20px;z-index:2;opacity:0;transform:scale(.92);transition:opacity var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}
.kf-video:hover .kf-video__play{opacity:1;transform:none}
.kf-video__dur{position:absolute;inset-block-end:var(--space-4);inset-inline-end:var(--space-4);z-index:2;font-family:var(--font-mono);font-size:var(--text-micro);color:var(--parchment-100);background:rgba(27,18,12,.72);padding:2px 6px;border-radius:var(--radius-xs)}
.kf-video__cat{position:absolute;inset-block-start:var(--space-4);inset-inline-start:var(--space-4);z-index:2}
.kf-video__title{font-family:var(--font-display);font-size:var(--text-title);font-weight:var(--weight-semibold);color:var(--text-strong);line-height:var(--leading-snug);letter-spacing:var(--tracking-snug)}
.kf-video:hover .kf-video__title{color:var(--coin-700)}
.kf-video__sum{font-size:var(--text-body-sm);color:var(--text-muted);line-height:var(--leading-relaxed);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.kf-video__meta{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-caption);color:var(--text-subtle)}
.kf-video--row{flex-direction:row;gap:var(--space-6);align-items:flex-start}
.kf-video--row .kf-video__thumb{width:190px;flex:none}
