/* ============================================================
   GRI WORKSHOP THEME — Override layer for grinow-front.css
   ============================================================
   Tasarim sistemi: ink + paper + ash + beam (lime-yellow accent)
   Tipografi: Unbounded (display) + DM Sans (body)
   Bu dosya grinow-front.css'ten SONRA yuklenir; degiskenleri
   ve hedeflenen bilesenleri override eder. Paket yapisina
   dokunmadan gorsel kimligi donusturur.
   ============================================================ */

:root {
    /* ── Palette (Gri Workshop) ── */
    --gri-ink: #0a0a08;
    --gri-paper: #f2f0eb;
    --gri-ash: #b8b5ae;
    --gri-beam: #e8ff47;
    --gri-beam-dim: rgba(232, 255, 71, 0.12);
    --gri-beam-mid: rgba(232, 255, 71, 0.40);
    --gri-border: rgba(255, 255, 255, 0.07);
    --gri-border-mid: rgba(255, 255, 255, 0.14);

    /* ── Tipografi ── */
    --gri-display: 'Unbounded', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --gri-body: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    /* ── Paketin degiskenlerini ezerek temayi degistiriyoruz ── */
    --gn-primary: var(--gri-beam);
    --gn-primary-hover: #d4eb1f;
    --gn-primary-light: rgba(232, 255, 71, 0.28);
    --gn-primary-dark: #c8e133;
    --gn-primary-rgb: 232, 255, 71;

    --gn-dark: var(--gri-ink);
    --gn-dark-rgb: 10, 10, 8;
    --gn-dark-surface: #111110;
    --gn-dark-border: var(--gri-border);

    --gn-white: var(--gri-paper);
    --gn-gray-50: #15140f;
    --gn-gray-100: #1a1916;
    --gn-gray-200: #1f1e1a;
    --gn-gray-300: #2a2823;
    --gn-gray-400: #3a3832;
    --gn-gray-500: var(--gri-ash);
    --gn-gray-600: #d4d2cc;
    --gn-gray-700: #e8e5dd;
    --gn-gray-800: var(--gri-paper);
    --gn-gray-900: #ffffff;

    --gn-font: var(--gri-body);
}

/* ── Base — body koyu zemine, paper renkli yaziya ── */
html,
body {
    background: var(--gri-ink);
    color: var(--gri-paper);
    font-family: var(--gri-body);
    font-weight: 300;
    -webkit-font-smoothing: antialiased;
    cursor: none;
}

body {
    background-color: var(--gri-ink) !important;
    color: var(--gri-paper) !important;
}

/* ── Tipografi — basliklar Unbounded ── */
h1,
h2,
h3,
h4,
h5,
h6,
.gn-section__title,
.gn-product-card__title,
.gn-hero__title,
.gn-cta__title,
.display-1,
.display-2,
.display-3,
.display-4 {
    font-family: var(--gri-display);
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--gri-paper);
}

p {
    color: var(--gri-ash);
    line-height: 1.8;
    font-weight: 300;
}

a {
    color: var(--gri-beam);
}

a:hover {
    color: var(--gri-beam);
    opacity: .85;
}

/* ── Custom cursor ── */
#gri-cursor {
    position: fixed;
    width: 10px;
    height: 10px;
    background: var(--gri-beam);
    border-radius: 50%;
    pointer-events: none;
    z-index: 9999;
    transform: translate(-50%, -50%);
    transition: width .2s, height .2s, background .2s;
    mix-blend-mode: difference;
    top: 0;
    left: 0;
}

#gri-cursor.big {
    width: 60px;
    height: 60px;
}

@media (max-width: 768px) {
    #gri-cursor {
        display: none;
    }

    html,
    body {
        cursor: auto;
    }
}

/* ── Top bar (varsa) — koyulastirilmis ── */
.gn-topbar {
    background: #050504 !important;
    border-bottom: 1px solid var(--gri-border) !important;
    color: var(--gri-ash) !important;
    font-size: 11px !important;
    letter-spacing: .08em !important;
}

.gn-topbar__link,
.gn-topbar a {
    color: var(--gri-ash) !important;
    text-decoration: none !important;
}

.gn-topbar__link:hover,
.gn-topbar a:hover {
    color: var(--gri-beam) !important;
}

/* ── Header ── */
.gn-header {
    background: transparent !important;
    border-bottom: 1px solid var(--gri-border) !important;
    backdrop-filter: blur(0);
    transition: backdrop-filter .3s, background .3s, border-color .3s;
}

.gn-header>.container,
.gn-header>.container-fluid {
    max-width: none !important;
    padding: 0 48px !important;
}

.gn-header__inner {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap;
    gap: 0 !important;
}

/* Sira: logo (sol) → bosluk → nav (sag) → dil (en sag) → actions (mobil hamburger) */
.gn-header__logo {
    margin-right: auto !important;
}

.gn-nav {
    gap: 36px !important;
    margin: 0 !important;
}

.gn-header__lang {
    margin-left: 32px;
    position: relative;
}

.gn-header__actions {
    margin-left: 16px;
}

/* ── Dil seçici (header sag) ── */
.gn-header__lang-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: 1px solid var(--gri-border-mid);
    padding: 9px 14px;
    color: var(--gri-paper);
    font-family: var(--gri-display);
    font-weight: 400;
    font-size: 11px;
    letter-spacing: .15em;
    text-transform: uppercase;
    cursor: pointer;
    transition: border-color .25s, color .25s, background .25s;
    line-height: 1;
}

.gn-header__lang-btn:hover {
    border-color: var(--gri-beam);
    color: var(--gri-beam);
}

.gn-header__lang-flag {
    font-size: 13px;
    line-height: 1;
}

.gn-header__lang-code {
    line-height: 1;
}

.gn-header__lang-btn svg {
    transition: transform .25s;
    opacity: .7;
}

.gn-header__lang.is-open .gn-header__lang-btn {
    border-color: var(--gri-beam);
    color: var(--gri-beam);
}

.gn-header__lang.is-open .gn-header__lang-btn svg {
    transform: rotate(180deg);
}

.gn-header__lang-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 180px;
    background: var(--gri-ink);
    border: 1px solid var(--gri-border-mid);
    padding: 6px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity .2s, visibility .2s, transform .2s;
    z-index: 200;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.gn-header__lang.is-open .gn-header__lang-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.gn-header__lang-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    color: var(--gri-ash) !important;
    font-family: var(--gri-display) !important;
    font-weight: 400 !important;
    font-size: 12px !important;
    letter-spacing: .12em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    background: transparent;
    transition: color .2s, background .2s;
}

.gn-header__lang-option:hover {
    color: var(--gri-beam) !important;
    background: rgba(232, 255, 71, .06);
}

.gn-header__lang-option.is-active {
    color: var(--gri-beam) !important;
}

@media (max-width: 1024px) {

    .gn-header>.container,
    .gn-header>.container-fluid {
        padding: 0 32px !important;
    }

    .gn-nav {
        gap: 24px !important;
    }

    .gn-header__lang {
        margin-left: 24px;
    }
}

@media (max-width: 640px) {

    .gn-header>.container,
    .gn-header>.container-fluid {
        padding: 0 20px !important;
    }
}

.gn-header.scrolled,
.gn-header--solid {
    background: rgba(10, 10, 8, .82) !important;
    backdrop-filter: blur(20px);
    border-bottom-color: var(--gri-border-mid) !important;
}

.gn-header__logo {
    font-family: var(--gri-display) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
    color: var(--gri-paper) !important;
    display: inline-flex !important;
    align-items: center;
    line-height: 1;
}
.gn-header__logo span { color: var(--gri-beam); }

/* Settings → site_logo image varsa header/footer/mobil markada bu kullanilir */
.gn-header__logo .gri-brand-img,
.gri-footer__logo .gri-brand-img {
    display: block;
    height: 32px;
    width: auto;
    max-width: 240px;
    object-fit: contain;
}
.gri-footer__logo .gri-brand-img { height: 28px; max-width: 200px; }
.gn-mobile-menu__header .gn-header__logo .gri-brand-img { height: 28px; max-width: 200px; }

.gn-nav__link,
.gn-header a:not(.gn-btn):not(.gn-header__logo) {
    font-family: var(--gri-body) !important;
    font-size: 12px !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    color: var(--gri-ash) !important;
    font-weight: 400 !important;
}

.gn-nav__link:hover,
.gn-header a:not(.gn-btn):hover {
    color: var(--gri-beam) !important;
}

.gn-nav__link.active,
.gn-nav__item--active>.gn-nav__link {
    color: var(--gri-beam) !important;
}

.gn-nav__dropdown,
.gn-nav__megamenu {
    background: var(--gri-ink) !important;
    border: 1px solid var(--gri-border) !important;
}

/* Header icon butons (search, cart, wishlist, user) */
.gn-header__action,
.gn-header__action-btn,
.gn-header [class*='__icon-btn'],
.gn-header .btn-icon {
    color: var(--gri-paper) !important;
    background: transparent !important;
    border: 1px solid transparent !important;
}

.gn-header__action:hover {
    color: var(--gri-beam) !important;
}

.gn-header__badge,
.gn-cart-count,
.gn-wishlist-count {
    background: var(--gri-beam) !important;
    color: var(--gri-ink) !important;
    font-family: var(--gri-display) !important;
    font-weight: 700 !important;
}

/* ── Section base ── */
section,
.gn-section {
    background: var(--gri-ink);
}

.gn-section__eyebrow,
.gn-eyebrow,
.section-label {
    font-size: 10px;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--gri-beam);
    display: inline-flex;
    align-items: center;
    gap: 16px;
    font-family: var(--gri-body);
    font-weight: 400;
}

.gn-section__eyebrow::before,
.gn-eyebrow::before {
    content: '';
    width: 32px;
    height: 1px;
    background: var(--gri-beam);
    display: inline-block;
}

/* ── Hero ── */
.gn-hero,
.hero,
[class*='hero'] {
    color: var(--gri-paper) !important;
    position: relative;
    overflow: hidden;
}

.gn-hero__title,
.hero-title {
    font-family: var(--gri-display) !important;
    font-weight: 900 !important;
    font-size: clamp(48px, 8vw, 132px) !important;
    line-height: .92 !important;
    letter-spacing: -.02em !important;
    color: var(--gri-paper) !important;
}

.gn-hero__title .accent {
    color: var(--gri-beam) !important;
}

.gn-hero__title .outline {
    -webkit-text-stroke: 1.5px var(--gri-ash);
    color: transparent !important;
}

.gn-hero__subtitle,
.gn-hero__desc {
    color: var(--gri-ash) !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    font-weight: 300 !important;
}

.gn-hero__label,
.hero-label {
    font-size: 11px;
    letter-spacing: .25em;
    text-transform: uppercase;
    color: var(--gri-ash);
    font-family: var(--gri-body);
}

/* Hero beam canvas (paketin home view'inda eklenirse) */
.gri-beam-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}

/* ── Butonlar ── */
.btn,
.gn-btn {
    font-family: var(--gri-display) !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
    padding: 16px 36px !important;
    font-size: 12px !important;
    border-width: 1px !important;
    transition: transform .2s, box-shadow .2s, background .25s, color .25s, border-color .25s;
}

.btn-primary,
.gn-btn--primary,
.gn-btn-primary {
    background: var(--gri-beam) !important;
    color: var(--gri-ink) !important;
    border-color: var(--gri-beam) !important;
}

.btn-primary:hover,
.gn-btn--primary:hover,
.gn-btn-primary:hover {
    background: #d4eb1f !important;
    border-color: #d4eb1f !important;
    color: var(--gri-ink) !important;
    transform: translateY(-2px);
    box-shadow: 0 20px 60px rgba(232, 255, 71, .25);
}

.btn-outline-primary,
.gn-btn--outline {
    background: transparent !important;
    color: var(--gri-beam) !important;
    border-color: var(--gri-beam) !important;
}

.btn-outline-primary:hover,
.gn-btn--outline:hover {
    background: var(--gri-beam) !important;
    color: var(--gri-ink) !important;
}

.btn-secondary,
.gn-btn--secondary {
    background: transparent !important;
    color: var(--gri-paper) !important;
    border-color: var(--gri-border-mid) !important;
}

.btn-secondary:hover,
.gn-btn--secondary:hover {
    border-color: var(--gri-beam) !important;
    color: var(--gri-beam) !important;
}

/* ── Kartlar (urun, kategori, blog, generic) ── */
.gn-card,
.gn-product-card,
.gn-category-card,
.gn-blog-card,
.card,
.gn-feature-card {
    background: #111110 !important;
    border: 1px solid var(--gri-border) !important;
    border-radius: 0 !important;
    overflow: hidden;
    transition: border-color .3s, transform .3s, background .3s;
}

.gn-card:hover,
.gn-product-card:hover,
.gn-category-card:hover,
.gn-blog-card:hover,
.card:hover {
    border-color: var(--gri-beam-mid) !important;
    background: rgba(255, 255, 255, .025) !important;
}

.gn-product-card__title,
.gn-card__title,
.card-title,
.gn-blog-card__title {
    font-family: var(--gri-display) !important;
    font-weight: 700 !important;
    color: var(--gri-paper) !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    transition: color .25s;
}

.gn-product-card:hover .gn-product-card__title {
    color: var(--gri-beam) !important;
}

.gn-product-card__price,
.gn-price {
    font-family: var(--gri-display) !important;
    font-weight: 700 !important;
    color: var(--gri-beam) !important;
}

.gn-product-card__compare-price,
.gn-price--compare {
    color: var(--gri-ash) !important;
    text-decoration: line-through;
}

.gn-product-card__badge,
.gn-badge {
    background: var(--gri-beam) !important;
    color: var(--gri-ink) !important;
    font-family: var(--gri-display) !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
    font-size: 10px !important;
    padding: 6px 12px !important;
}

.gn-product-card__category,
.gn-cat-tag {
    color: var(--gri-beam) !important;
    font-size: 10px !important;
    letter-spacing: .2em !important;
    text-transform: uppercase !important;
}

/* Yildiz puanlar */
.gn-rating,
.gn-star-rating {
    color: var(--gri-beam) !important;
}

.gn-rating__empty {
    color: rgba(255, 255, 255, .12) !important;
}

/* ── Form alanlari ── */
.form-control,
.gn-input,
input[type='text'],
input[type='email'],
input[type='tel'],
input[type='password'],
input[type='number'],
input[type='search'],
textarea,
select {
    background: rgba(255, 255, 255, .025) !important;
    color: var(--gri-paper) !important;
    border: 1px solid var(--gri-border) !important;
    border-radius: 0 !important;
    font-family: var(--gri-body) !important;
    font-weight: 300 !important;
    padding: 14px 18px !important;
    font-size: 14px !important;
}

.form-control:focus,
.gn-input:focus,
input:focus,
textarea:focus,
select:focus {
    background: rgba(255, 255, 255, .04) !important;
    border-color: var(--gri-beam-mid) !important;
    box-shadow: 0 0 0 3px var(--gri-beam-dim) !important;
    color: var(--gri-paper) !important;
    outline: none;
}

.form-label,
label {
    color: var(--gri-paper) !important;
    font-size: 11px !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    font-family: var(--gri-body) !important;
}

::placeholder {
    color: rgba(255, 255, 255, .25) !important;
}

/* ── Trust bar / newsletter / CTA panelleri ── */
.gn-trust-bar,
.gn-trustbar {
    background: rgba(255, 255, 255, .015) !important;
    border-top: 1px solid var(--gri-border) !important;
    border-bottom: 1px solid var(--gri-border) !important;
    color: var(--gri-ash) !important;
}

.gn-trust-bar__icon,
.gn-trustbar__icon {
    color: var(--gri-beam) !important;
}

.gn-newsletter {
    background: var(--gri-ink) !important;
    border-top: 1px solid var(--gri-border) !important;
    color: var(--gri-paper) !important;
}

.gn-cta-section,
.cta-section {
    background: var(--gri-ink) !important;
    border-top: 1px solid var(--gri-border) !important;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.gn-cta__title {
    color: var(--gri-paper) !important;
    font-size: clamp(36px, 7vw, 96px) !important;
    font-weight: 900 !important;
}

/* ── Mini cart, modaller, dropdown'lar ── */
.gn-minicart,
.gn-search-overlay,
.gn-modal,
.modal-content,
.offcanvas {
    background: var(--gri-ink) !important;
    color: var(--gri-paper) !important;
    border-color: var(--gri-border) !important;
}

.gn-minicart__title {
    font-family: var(--gri-display) !important;
    color: var(--gri-paper) !important;
}

/* ── Tablolar ── */
.table,
table {
    color: var(--gri-paper) !important;
    border-color: var(--gri-border) !important;
}

.table th,
table th {
    color: var(--gri-ash) !important;
    border-color: var(--gri-border) !important;
    font-family: var(--gri-display) !important;
    font-weight: 700 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    font-size: 11px !important;
    background: rgba(255, 255, 255, .02) !important;
}

.table td,
table td {
    border-color: var(--gri-border) !important;
    color: var(--gri-paper) !important;
}

.table-hover>tbody>tr:hover>td {
    background: rgba(232, 255, 71, .03) !important;
}

/* ── Footer ── */
footer,
.gn-footer {
    background: var(--gri-ink) !important;
    border-top: 1px solid var(--gri-border) !important;
    color: var(--gri-ash) !important;
}

.gn-footer__title,
.gn-footer h5,
.gn-footer h6 {
    font-family: var(--gri-display) !important;
    color: var(--gri-paper) !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
}

.gn-footer a,
footer a {
    color: var(--gri-ash) !important;
    text-decoration: none !important;
    font-size: 13px !important;
    transition: color .2s;
}

.gn-footer a:hover,
footer a:hover {
    color: var(--gri-beam) !important;
}

.gn-footer__copy,
.gn-footer__bottom {
    border-top: 1px solid var(--gri-border) !important;
    color: rgba(255, 255, 255, .25) !important;
    font-size: 11px !important;
    letter-spacing: .08em !important;
}

/* ── Breadcrumb ── */
.breadcrumb,
.gn-breadcrumb {
    background: transparent !important;
    color: var(--gri-ash) !important;
    font-size: 11px !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
}

.breadcrumb a,
.gn-breadcrumb a {
    color: var(--gri-ash) !important;
}

.breadcrumb a:hover,
.gn-breadcrumb a:hover {
    color: var(--gri-beam) !important;
}

.breadcrumb-item.active,
.gn-breadcrumb__current {
    color: var(--gri-beam) !important;
}

/* ── Pagination ── */
.pagination .page-link,
.gn-pagination__link {
    background: transparent !important;
    border: 1px solid var(--gri-border) !important;
    color: var(--gri-ash) !important;
    border-radius: 0 !important;
    font-family: var(--gri-display) !important;
    font-weight: 400 !important;
    font-size: 12px !important;
}

.pagination .page-link:hover {
    color: var(--gri-beam) !important;
    border-color: var(--gri-beam-mid) !important;
    background: transparent !important;
}

.pagination .page-item.active .page-link {
    background: var(--gri-beam) !important;
    color: var(--gri-ink) !important;
    border-color: var(--gri-beam) !important;
}

/* ── Filtreler / kategori sidebar ── */
.gn-filter,
.gn-sidebar,
.gn-products__sidebar {
    background: rgba(255, 255, 255, .015) !important;
    border: 1px solid var(--gri-border) !important;
    border-radius: 0 !important;
    color: var(--gri-paper) !important;
}

.gn-filter__title {
    font-family: var(--gri-display) !important;
    color: var(--gri-paper) !important;
    font-size: 12px !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
}

.form-check-input {
    background-color: transparent !important;
    border: 1px solid var(--gri-border-mid) !important;
    border-radius: 0 !important;
}

.form-check-input:checked {
    background-color: var(--gri-beam) !important;
    border-color: var(--gri-beam) !important;
}

.form-check-label {
    color: var(--gri-ash) !important;
}

/* ── Alerts ── */
.alert {
    background: rgba(232, 255, 71, .04) !important;
    border: 1px solid var(--gri-beam-mid) !important;
    color: var(--gri-paper) !important;
    border-radius: 0 !important;
}

.alert-danger {
    background: rgba(255, 71, 87, .06) !important;
    border-color: rgba(255, 71, 87, .35) !important;
    color: #ffb3b8 !important;
}

.alert-success {
    background: rgba(232, 255, 71, .06) !important;
    border-color: var(--gri-beam-mid) !important;
    color: var(--gri-beam) !important;
}

/* ── Badges (status, stock vs.) ── */
.badge,
.gn-status-badge {
    border-radius: 0 !important;
    font-family: var(--gri-display) !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
}

/* ── Section divider — ince beam aksanı ── */
hr,
.gn-divider {
    border-color: var(--gri-border) !important;
    opacity: 1 !important;
}

/* ── Ticker (hero altinda akan band — paketin home'unda ekleyebiliriz) ── */
.gri-ticker-wrap {
    border-top: 1px solid var(--gri-border);
    border-bottom: 1px solid var(--gri-border);
    overflow: hidden;
    padding: 18px 0;
    background: rgba(255, 255, 255, .02);
}

.gri-ticker-track {
    display: flex;
    white-space: nowrap;
    animation: gri-ticker 28s linear infinite;
}

.gri-ticker-item {
    font-family: var(--gri-display);
    font-size: 11px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--gri-ash);
    padding: 0 40px;
    display: flex;
    align-items: center;
    gap: 40px;
    font-weight: 400;
}

.gri-ticker-item::after {
    content: '';
    width: 4px;
    height: 4px;
    background: var(--gri-beam);
    border-radius: 50%;
}

@keyframes gri-ticker {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

/* ── Reveal animation ── */
.gri-reveal {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity .8s cubic-bezier(.16, 1, .3, 1), transform .8s cubic-bezier(.16, 1, .3, 1);
}

.gri-reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ── Bootstrap utility renk override (text-* / bg-*) ── */
.text-primary,
.gn-text-primary {
    color: var(--gri-beam) !important;
}

.bg-primary {
    background-color: var(--gri-beam) !important;
}

.text-dark {
    color: var(--gri-paper) !important;
}

.bg-dark {
    background-color: var(--gri-ink) !important;
}

.text-muted {
    color: var(--gri-ash) !important;
}

.bg-light,
.bg-white {
    background-color: #111110 !important;
    color: var(--gri-paper) !important;
}

/* ── Scrollbar ── */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--gri-ink);
}

::-webkit-scrollbar-thumb {
    background: var(--gri-border-mid) !important;
    border-radius: 0 !important;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--gri-beam-mid) !important;
}

/* ── Selection ── */
::selection {
    background: var(--gri-beam);
    color: var(--gri-ink);
}

/* ============================================================
   FOOTER — grifront/index.html birebir minimal
   3 bolge: logo (sol) | copy (orta) | sosyal linkler (sag)
   ============================================================ */
.gri-footer {
    border-top: 1px solid var(--gri-border) !important;
    padding: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: var(--gri-ink) !important;
    color: var(--gri-paper);
    gap: 24px;
    flex-wrap: wrap;
}
.gri-footer__logo {
    font-family: var(--gri-display) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    letter-spacing: .12em !important;
    color: var(--gri-paper) !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: opacity .2s;
}
.gri-footer__logo:hover { opacity: .85; }
.gri-footer__logo span { color: var(--gri-beam); }
.gri-footer__copy {
    font-size: 12px !important;
    color: rgba(255, 255, 255, .25) !important;
    letter-spacing: .08em !important;
    font-family: var(--gri-body);
}
.gri-footer__links {
    display: flex;
    gap: 28px;
    flex-wrap: wrap;
}
.gri-footer__links a {
    font-size: 11px !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    color: var(--gri-ash) !important;
    text-decoration: none !important;
    font-family: var(--gri-body);
    transition: color .2s;
}
.gri-footer__links a:hover { color: var(--gri-beam) !important; }

@media (max-width: 768px) {
    .gri-footer {
        padding: 32px 24px !important;
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }
}

/* ============================================================
   HOME-SECTIONS WRAPPER — paneller arasi paylasilan section kabugu
   ============================================================ */
.gn-home-section {
    --gap: clamp(48px, 8vw, 120px);
    padding: var(--gap) 48px !important;
    background: var(--gri-ink) !important;
    border-top: 1px solid var(--gri-border) !important;
    position: relative;
    overflow: hidden;
}

.gn-home-section .container {
    max-width: 1400px !important;
    padding: 0 !important;
}

.gn-home-section .row {
    --bs-gutter-x: 12px;
    --bs-gutter-y: 12px;
}

/* Eyebrow / heading helper'lari (panel partial'lari her zaman bunlari kullanir) */
.gri-eyebrow {
    font-size: 10px;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--gri-beam);
    display: inline-flex;
    align-items: center;
    gap: 16px;
    font-family: var(--gri-body);
    font-weight: 400;
    margin-bottom: 24px;
}

.gri-eyebrow::before {
    content: '';
    width: 32px;
    height: 1px;
    background: var(--gri-beam);
    display: inline-block;
}

.gri-heading {
    font-family: var(--gri-display);
    font-size: clamp(28px, 4vw, 56px);
    font-weight: 900;
    color: var(--gri-paper);
    line-height: 1.05;
    margin: 0 0 56px;
}

.gri-heading--center {
    text-align: center;
}

.gri-heading--lg {
    font-size: clamp(32px, 5vw, 80px);
}

.gri-heading .dim {
    color: var(--gri-ash);
    font-weight: 400;
}

@media (max-width: 1024px) {
    .gn-home-section {
        padding: var(--gap) 32px !important;
    }
}

@media (max-width: 640px) {
    .gn-home-section {
        padding: var(--gap) 20px !important;
    }
}

.stat-row {
    --beam: #e8ff47;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px;
    margin-top: 48px;
}

.stat {
    padding: 28px 24px;
    border: 1px solid rgba(255, 255, 255, .07);
}

.stat-num {
    font-family: 'Unbounded', sans-serif;
    font-size: 38px;
    font-weight: 700;
    color: var(--beam);
    display: block;
    line-height: 1;
    margin-bottom: 8px;
}

.stat-label {
    font-size: 11px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--ash);
}