/* ============================================================
   HUBIS v2 — Base
   Reset, body, scrollbar, selection, focus ring.
   Metronic bundle yuklendikten SONRA inject edilmelidir.
   ============================================================ */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
    text-rendering: optimizeLegibility;
}

body {
    font-family: var(--ff-sans);
    font-size: var(--fs-base);
    font-weight: var(--fw-regular);
    line-height: var(--lh-normal);
    letter-spacing: var(--ls-body);
    color: var(--text-primary);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'cv11', 'ss03', 'ss05';
    /* Mesh arkaplan — body bg image olarak fixed. Boylece tum app
       wrapperlari transparent ya da kendi bg'siyle calismaya devam eder,
       layout bozulmaz, ve glass kartlarda blur edilen renk dokusu olur. */
    background-color: var(--surface-bg);
    background-image:
        radial-gradient(60vw 50vh at 12% 18%, rgba(99, 110, 250, 0.18) 0%, transparent 60%),
        radial-gradient(50vw 50vh at 88% 22%, rgba(56, 189, 248, 0.14) 0%, transparent 65%),
        radial-gradient(55vw 55vh at 78% 86%, rgba(124, 58, 237, 0.13) 0%, transparent 60%),
        radial-gradient(45vw 45vh at 18% 92%, rgba(10, 17, 142, 0.10) 0%, transparent 65%);
    background-attachment: fixed;
    background-repeat: no-repeat;
}

/* Selection */
::selection {
    background-color: var(--brand-100);
    color: var(--brand-900);
}

/* Scrollbar — minimal, premium */
* {
    scrollbar-width: thin;
    scrollbar-color: var(--neutral-300) transparent;
}

*::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

*::-webkit-scrollbar-track {
    background: transparent;
}

*::-webkit-scrollbar-thumb {
    background-color: var(--neutral-300);
    border-radius: var(--radius-pill);
    border: 2px solid transparent;
    background-clip: content-box;
}

*::-webkit-scrollbar-thumb:hover {
    background-color: var(--neutral-400);
    background-clip: content-box;
}

/* Focus ring — :focus-visible kullan, :focus'u bastırma */
:focus {
    outline: none;
}

:focus-visible {
    outline: var(--ring-width) solid var(--ring-color);
    outline-offset: var(--ring-offset);
    border-radius: var(--radius-sm);
}

/* Link */
a {
    color: var(--text-link);
    text-decoration: none;
    transition: color var(--dur-1) var(--ease-out-quad);
}

a:hover {
    color: var(--brand-800);
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* HR */
hr {
    border: 0;
    border-top: 1px solid var(--border-subtle);
    margin: var(--space-6) 0;
}

/* Image, video, svg defaultlari */
img,
svg,
video,
canvas {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Form reset — Metronic ile catismayi azalt, sadece tipografi standardize */
button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: inherit;
    margin: 0;
}

/* Disabled state */
[disabled],
[aria-disabled='true'] {
    cursor: not-allowed;
    opacity: 0.6;
}

/* Hidden ama erisilebilir */
.v2-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
