:root {
    /* Base */
    --color-bg: #FAF9F6;
    --hover-bg: rgba(var(--color-primary-rgb), .15);
    --color-trans: rgba(0,0,0,.08);
    --color-surface: #FFFFFF;
    --color-border: #E6E6E6;
    --color-text: #1F1F1F;
    --color-text-highlight: #FFFFFF;
    --color-muted: #6B7280;

    /* Z-index levels */
    --z-dropdown: 10;
    --z-nav: 20;
    --z-inner-overlay: 9;
    --z-full-overlay: 50;
    --z-ui-buttons: 8;
    --z-sticky-menus: 8;
    --z-page: 51;
    --z-modal-dropdown: 100000;
    --z-modal-dropdown-down: 99999;
    --z-map-show: 7;

    --color-error-hover: #C82333;
    --color-success-hover: #218838;

    /* Primary System */
    --color-primary: #F5475B;               /* Ana vurgu rengi (modern kırmızı-turuncu) */
    --color-primary-rgb: 245, 71, 91;
    --color-primary-hover: #E13E51;         /* Bir ton koyusu */
    --color-primary-bg: #FFE7EA;            /* Çok açık arka plan */

    /* Secondary System */
    --color-secondary: #FF7B54;             /* Sıcak turuncu */
    --color-secondary-rgb: 255, 123, 84;
    --color-secondary-hover: #E36E4B;
    --color-secondary-bg: #FFF1EB;

    /* Tertiary System */
    --color-tertiary: #FFC65A;              /* Enerjik sıcak sarı */
    --color-tertiary-rgb: 255, 198, 90;
    --color-tertiary-hover: #E6B24F;
    --color-tertiary-bg: #FFF8E5;

    /* Light & Dark */
    --color-light: #FAF9F6;                 /* Soft beyaz */
    --color-dark: #1F1F1F;                  /* Ana siyah ton */

    /* Accent + States */
    --color-accent: #6EE7B7;
    --color-accent-rgb: 110, 231, 183;
    --color-error: #DC3545;
    --color-error-rgb: 220, 53, 69;
    --color-success: #28A745;
    --color-success-rgb: 40, 167, 69;
    --color-warning: #FFB347;
    --color-warning-rgb: 255, 179, 71;
    --color-info: #17A2B8;
    --color-info-rgb: 23, 162, 184;
    --color-accept: #007942;
    --color-accept-rgb: 0, 121, 66;

    /* Gradient (Primary + Secondary) */
    --bg-gradient: linear-gradient(
            135deg,
            rgba(var(--color-primary-rgb), 0.9) 0%,
            rgba(var(--color-secondary-rgb), 0.9) 100%
    );

    /* Typography */
    --font-base: 'Manrope', sans-serif;
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-base: 1rem;
    --font-size-md: .95rem;
    --font-size-lg: 1.25rem;
    --font-size-xl: 1.5rem;
    --font-size-2xl: 1.875rem;
    --font-size-3xl: 2.25rem;
    --font-size-4xl: 3rem;
    --font-size-5xl: 3.75rem;

    /* Font Weights */
    --fw-light: 400;
    --fw-regular: 500;
    --fw-medium: 600;
    --fw-semibold: 700;
    --fw-bold: 800;

    /* UI Design */
    --radius: 0.375rem;
    --radius-md: 0.5rem;
    --radius-lg: 0.75rem;
    --radius-full: 9999px;

    /* Spacing */
    --space-xs: 0.25rem;
    --space-sm: 0.5rem;
    --space-md: .75rem;
    --space: 1rem;
    --space-sl: 1.5rem;
    --space-lg: 2rem;
    --space-xl: 2.75rem;

    /* Transition */
    --transition-slow: 1s ease;
    --transition-normal: .4s ease;
    --transition-fast: .2s ease;

    /* Shadows */
    --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
    --shadow-md: 0 2px 6px rgba(0, 0, 0, 0.10), 0 4px 12px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 4px 16px rgba(0, 0, 0, 0.10);
    --shadow-xl: 0 8px 24px rgba(0, 0, 0, 0.35);

    --shadow-primary: 0 4px 12px rgba(var(--color-primary-rgb), 0.25);
    --shadow-tertiary: 0 4px 12px rgba(var(--color-tertiary-rgb), 0.25);

    /* Top Shadows */
    --shadow-xs-top: 0 -1px 2px -1px rgba(0, 0, 0, 0.04);
    --shadow-sm-top: 0 -1px 3px -1px rgba(0, 0, 0, 0.08);
    --shadow-md-top: 0 -2px 6px -3px rgba(0, 0, 0, 0.10), 0 -4px 12px -6px rgba(0, 0, 0, 0.06);
    --shadow-lg-top: 0 2px 8px 1px rgba(0, 0, 0, 0.3);
    --shadow-primary-top: 0 -4px 12px -6px rgba(var(--color-primary-rgb), 0.25);
    --shadow-tertiary-top: 0 -4px 12px -6px rgba(var(--color-tertiary-rgb), 0.25);

    /* Bottom Shadows */
    --shadow-xs-bottom: 0 1px 2px -1px rgba(0, 0, 0, 0.04);
    --shadow-sm-bottom: 0 1px 3px -1px rgba(0, 0, 0, 0.08);
    --shadow-md-bottom: 0 2px 6px -3px rgba(0, 0, 0, 0.10), 0 12px 18px -6px rgba(0, 0, 0, 0.06);
    --shadow-lg-bottom: 0 2px 8px -1px rgba(0, 0, 0, 0.3);
    --shadow-primary-bottom: 0 4px 12px -6px rgba(var(--color-primary-rgb), 0.25);
    --shadow-tertiary-bottom: 0 4px 12px -6px rgba(var(--color-tertiary-rgb), 0.25);
}
/* _reset.css */
.custom-lang-button {
    position: relative;
    margin-right: 1rem;
    display: inline-block;
}

.lang-btn {
    display: flex;
    align-items: center;
    background: var(--color-bg);
    color: var(--color-primary);
    border: 1px solid var(--color-primary, #ccc);
    border-radius: var(--radius-md, 0.5rem);
    padding: 0.4rem 0.8rem;
    cursor: pointer;
    font-family: 'Manrope', sans-serif;
    font-size: 0.9rem;
    transition: background 0.2s ease, color 0.2s ease;
}

.lang-btn:hover {
    background: var(--color-primary, #007bff);
    color: #fff;
}

.lang-flag {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    object-fit: cover;
    margin-right: 0.5rem;
}

.custom-lang-menu {
    margin: 0;
    padding: 0;
    overflow: hidden;
    min-width: 230px;
    position: absolute;
    top: 100%;
    right: 0;
    z-index: var(--z-dropdown, 1000);
    background: var(--color-bg);
    color: var(--color-text);
    border-radius: var(--radius-md, 0.5rem);
    box-shadow: 0 6px 15px rgba(0,0,0,0.12);
    font-family: 'Manrope', sans-serif;
    font-size: 0.9rem;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

.custom-lang-menu.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.custom-lang-item {
    display: flex;
    align-items: center;
    padding: 0.5rem 0.8rem;
    cursor: pointer;
    transition: background 0.2s ease;
}

.custom-lang-item:hover {
    background: var(--color-primary, #007bff);
    color: #fff;
}

.custom-lang-item .lang-flag {
    margin-right: 0.5rem;
}
.side-lang-dropdown {
    position: relative;
}

#langButtonMobile {
    width: 100%;
    display: flex;
    align-items: center;
    padding: 0.5rem 1rem;
    background: var(--color-bg);
    border: none;
    color: var(--color-text);
    font-size: 0.95rem;
    cursor: pointer;
}

#langButtonMobile .lang-flag {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    object-fit: cover;
}

#langMenuMobile {
    list-style: none;
    margin: 0;
    padding: 0;
    background: var(--color-bg);
    border-radius: var(--radius-md);
    box-shadow: 0 6px 15px rgba(0,0,0,0.12);
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
    z-index: var(--z-dropdown, 1000);
}

#langMenuMobile.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

#langMenuMobile .custom-lang-item {
    display: flex;
    align-items: center;
    padding: 0.5rem 1rem;
    cursor: pointer;
}

#langMenuMobile .custom-lang-item:hover {
    background: var(--color-primary, #007bff);
    color: #fff;
}
.ml-auto {
    margin-left: auto;
}
/* Box sizing border-box yap, her şeyi sıfırla */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* HTML5 elementler için block davranışı */
article, aside, details, figcaption, figure,
footer, header, main, menu, nav, section {
    display: block;
}

/* Body default ayarlar */
body {
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    background-color: #fff;
    color: #000;
}

/* Lists sıfırla */
ol, ul {
    list-style: none;
}

/* Linkleri düzgünleştir */
a {
    text-decoration: none;
    color: inherit;
}

/* Form elemanları normalize */
input,
button,
textarea,
select {
    font: inherit;
    color: inherit;
    background: none;
    border: none;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

/* Image ve media */
img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%;
    height: auto;
}


/* Table’lar */
table {
    border-collapse: collapse;
    border-spacing: 0;
}
/* Font Yüklemesi */
@font-face {
    font-family: 'Manrope';
    src: url('../fonts/Manrope-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

/* Temel font ayarları */
body {
    font-family: 'Manrope', sans-serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Başlıklar */
h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 0.5em 0;
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1.125rem; }

/* Paragraflar */
p {
    margin: 0 0 1em 0;
}

/* Linkler */
a {
    color: var(--color-primary);
    text-decoration: underline;
    transition: color 0.2s ease;
}

a.plain-link {
    text-decoration: none;
    color: inherit;
}

a.link-hoverable {
    text-decoration: none;
}
a.link-hoverable:hover {
    text-decoration: underline !important;
}

/* Listeler */
ul, ol {
    padding-left: 1.5em;
    margin-bottom: 1em;
}

li {
    margin-bottom: 0.5em;
}

/* Blockquote */
blockquote {
    margin: 1em 0;
    padding: 0.5em 1em;
    border-left: 4px solid var(--color-accent);
    background-color: #f9f9f9;
    font-style: italic;
}

/* Form Elemanları */
input,
textarea,
select,
button {
    font-family: inherit;
    font-size: 1rem;
}

/* Kod ve Pre */
code {
    font-family: monospace;
    background-color: #eee;
    padding: 0.2em 0.4em;
    border-radius: 4px;
}

pre {
    font-family: monospace;
    background-color: #f4f4f4;
    padding: 1em;
    overflow-x: auto;
    border-radius: 4px;
}
/* ==== MARGIN ==== */
.m-0  { margin: 0 !important; }
.m-1  { margin: 0.25rem !important; }
.m-2  { margin: 0.5rem !important; }
.m-3  { margin: 1rem !important; }
.m-4  { margin: 1.5rem !important; }
.m-5  { margin: 3rem !important; }
.m-auto { margin: auto; }

.mt-0 { margin-top: 0 !important; }
.mt-1 { margin-top: 0.25rem !important; }
.mt-2 { margin-top: 0.5rem !important; }
.mt-3 { margin-top: 1rem !important; }
.mt-4 { margin-top: 1.5rem !important; }
.mt-5 { margin-top: 3rem !important; }
.mt-auto {margin-top: auto}

.mb-0 { margin-bottom: 0 !important; }
.mb-1 { margin-bottom: 0.25rem !important; }
.mb-2 { margin-bottom: 0.5rem !important; }
.mb-3 { margin-bottom: 1rem !important; }
.mb-4 { margin-bottom: 1.5rem !important; }
.mb-5 { margin-bottom: 3rem !important; }

.ml-0 { margin-left: 0 !important; }
.ml-1 { margin-left: 0.25rem !important; }
.ml-2 { margin-left: 0.5rem !important; }
.ml-3 { margin-left: 1rem !important; }
.ml-4 { margin-left: 1.5rem !important; }
.ml-5 { margin-left: 3rem !important; }

.mr-0 { margin-right: 0 !important; }
.mr-1 { margin-right: 0.25rem !important; }
.mr-2 { margin-right: 0.5rem !important; }
.mr-3 { margin-right: 1rem !important; }
.mr-4 { margin-right: 1.5rem !important; }
.mr-5 { margin-right: 3rem !important; }

/* ==== PADDING ==== */
.p-0  { padding: 0 !important; }
.p-1  { padding: 0.25rem !important; }
.p-2  { padding: 0.5rem !important; }
.p-3  { padding: 1rem !important; }
.p-4  { padding: 1.5rem !important; }
.p-5  { padding: 3rem !important; }

.pt-0 { padding-top: 0 !important; }
.pt-1 { padding-top: 0.25rem !important; }
.pt-2 { padding-top: 0.5rem !important; }
.pt-3 { padding-top: 1rem !important; }
.pt-4 { padding-top: 1.5rem !important; }
.pt-5 { padding-top: 3rem !important; }

.pb-0 { padding-bottom: 0 !important; }
.pb-1 { padding-bottom: 0.25rem !important; }
.pb-2 { padding-bottom: 0.5rem !important; }
.pb-3 { padding-bottom: 1rem !important; }
.pb-4 { padding-bottom: 1.5rem !important; }
.pb-5 { padding-bottom: 3rem !important; }

.pl-0 { padding-left: 0 !important; }
.pl-1 { padding-left: 0.25rem !important; }
.pl-2 { padding-left: 0.5rem !important; }
.pl-3 { padding-left: 1rem !important; }
.pl-4 { padding-left: 1.5rem !important; }
.pl-5 { padding-left: 3rem !important; }

.pr-0 { padding-right: 0 !important; }
.pr-1 { padding-right: 0.25rem !important; }
.pr-2 { padding-right: 0.5rem !important; }
.pr-3 { padding-right: 1rem !important; }
.pr-4 { padding-right: 1.5rem !important; }
.pr-5 { padding-right: 3rem !important; }


/* ==== MARGIN X & Y ==== */
.mx-0  { margin-left: 0 !important; margin-right: 0 !important; }
.mx-1  { margin-left: 0.25rem !important; margin-right: 0.25rem !important; }
.mx-2  { margin-left: 0.5rem !important; margin-right: 0.5rem !important; }
.mx-3  { margin-left: 1rem !important; margin-right: 1rem !important; }
.mx-4  { margin-left: 1.5rem !important; margin-right: 1.5rem !important; }
.mx-5  { margin-left: 3rem !important; margin-right: 3rem !important; }
.mx-auto { margin-left: auto !important; margin-right: auto !important; }

.my-0  { margin-top: 0 !important; margin-bottom: 0 !important; }
.my-1  { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; }
.my-2  { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; }
.my-3  { margin-top: 1rem !important; margin-bottom: 1rem !important; }
.my-4  { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
.my-5  { margin-top: 3rem !important; margin-bottom: 3rem !important; }
.my-auto { margin-top: auto !important; margin-bottom: auto !important; }

/* ==== PADDING X & Y ==== */
.px-0  { padding-left: 0 !important; padding-right: 0 !important; }
.px-1  { padding-left: 0.25rem !important; padding-right: 0.25rem !important; }
.px-2  { padding-left: 0.5rem !important; padding-right: 0.5rem !important; }
.px-3  { padding-left: 1rem !important; padding-right: 1rem !important; }
.px-4  { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.px-5  { padding-left: 3rem !important; padding-right: 3rem !important; }

.py-0  { padding-top: 0 !important; padding-bottom: 0 !important; }
.py-1  { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; }
.py-2  { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
.py-3  { padding-top: 1rem !important; padding-bottom: 1rem !important; }
.py-4  { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
.py-5  { padding-top: 3rem !important; padding-bottom: 3rem !important; }

/* === Gap Utilities === */
.g-0  { gap: 0 !important; }
.g-1  { gap: 0.25rem !important; }
.g-2  { gap: 0.5rem !important; }
.g-3  { gap: 1rem !important; }
.g-4  { gap: 1.5rem !important; }
.g-5  { gap: 3rem !important; }

.gx-0 { column-gap: 0 !important; }
.gx-1 { column-gap: 0.25rem !important; }
.gx-2 { column-gap: 0.5rem !important; }
.gx-3 { column-gap: 1rem !important; }
.gx-4 { column-gap: 1.5rem !important; }
.gx-5 { column-gap: 3rem !important; }

.gy-0 { row-gap: 0 !important; }
.gy-1 { row-gap: 0.25rem !important; }
.gy-2 { row-gap: 0.5rem !important; }
.gy-3 { row-gap: 1rem !important; }
.gy-4 { row-gap: 1.5rem !important; }
.gy-5 { row-gap: 3rem !important; }


.w-100 {
    width: 100% !important;
}

.h-100 {
    height: 100% !important;
}




/* Default (mobil) */
.text-left {
    text-align: left;
}
.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}


.shadow-lg-top {
    box-shadow: var(--shadow-lg-top);
}



.shadow-lg-bottom {
    box-shadow: var(--shadow-lg-bottom);
}
/* Small (sm: ≥576px) */
@media (min-width: 576px) {
    .text-sm-left {
        text-align: left;
    }
    .text-sm-center {
        text-align: center;
    }
    .text-sm-right {
        text-align: right;
    }
}

/* Medium (md: ≥768px) */
@media (min-width: 768px) {
    .text-md-left {
        text-align: left;
    }
    .text-md-center {
        text-align: center;
    }
    .text-md-right {
        text-align: right;
    }
}

/* Large (lg: ≥992px) */
@media (min-width: 992px) {
    .text-lg-left {
        text-align: left;
    }
    .text-lg-center {
        text-align: center;
    }
    .text-lg-right {
        text-align: right;
    }
}

/* Extra Large (xl: ≥1200px) */
@media (min-width: 1200px) {
    .text-xl-left {
        text-align: left;
    }
    .text-xl-center {
        text-align: center;
    }
    .text-xl-right {
        text-align: right;
    }
}

/* XXL (xxl: ≥1400px) */
@media (min-width: 1400px) {
    .text-xxl-left {
        text-align: left;
    }
    .text-xxl-center {
        text-align: center;
    }
    .text-xxl-right {
        text-align: right;
    }
}


.text-xs      { font-size: 0.75rem !important; }
.text-sm      { font-size: 0.875rem !important; }
.text-base    { font-size: 1rem !important; }
.text-lg      { font-size: 1.125rem !important; }
.text-xl      { font-size: 1.25rem !important; }

/* === Display Utilities (Global) === */
.d-block        { display: block !important; }
.d-inline       { display: inline !important; }
.d-inline-block { display: inline-block !important; }
.d-flex         { display: flex !important; }
.d-inline-flex  { display: inline-flex !important; }
.d-none         { display: none !important; }

/* === Responsive Display Utilities === */
@media (min-width: 576px) {
    .d-sm-block        { display: block !important; }
    .d-sm-inline       { display: inline !important; }
    .d-sm-inline-block { display: inline-block !important; }
    .d-sm-flex         { display: flex !important; }
    .d-sm-inline-flex  { display: inline-flex !important; }
    .d-sm-none         { display: none !important; }
}

@media (min-width: 768px) {
    .d-md-block        { display: block !important; }
    .d-md-inline       { display: inline !important; }
    .d-md-inline-block { display: inline-block !important; }
    .d-md-flex         { display: flex !important; }
    .d-md-inline-flex  { display: inline-flex !important; }
    .d-md-none         { display: none !important; }
}

@media (min-width: 992px) {
    .d-lg-block        { display: block !important; }
    .d-lg-inline       { display: inline !important; }
    .d-lg-inline-block { display: inline-block !important; }
    .d-lg-flex         { display: flex !important; }
    .d-lg-inline-flex  { display: inline-flex !important; }
    .d-lg-none         { display: none !important; }
}

@media (min-width: 1200px) {
    .d-xl-block        { display: block !important; }
    .d-xl-inline       { display: inline !important; }
    .d-xl-inline-block { display: inline-block !important; }
    .d-xl-flex         { display: flex !important; }
    .d-xl-inline-flex  { display: inline-flex !important; }
    .d-xl-none         { display: none !important; }
}

@media (min-width: 1400px) {
    .d-xxl-block        { display: block !important; }
    .d-xxl-inline       { display: inline !important; }
    .d-xxl-inline-block { display: inline-block !important; }
    .d-xxl-flex         { display: flex !important; }
    .d-xxl-inline-flex  { display: inline-flex !important; }
    .d-xxl-none         { display: none !important; }
}


/* Position Utilities */
.position-static    { position: static !important; }
.position-relative  { position: relative !important; }
.position-absolute  { position: absolute !important; }
.position-fixed     { position: fixed !important; }
.position-sticky    { position: sticky !important; }

/* Top Utilities */
.top-0    { top: 0 !important; }
.top-1    { top: 0.25rem !important; }
.top-2    { top: 0.5rem !important; }
.top-3    { top: 1rem !important; }
.top-4    { top: 1.5rem !important; }
.top-5    { top: 3rem !important; }

/* Bottom Utilities */
.bottom-0  { bottom: 0 !important; }
.bottom-1  { bottom: 0.25rem !important; }
.bottom-2  { bottom: 0.5rem !important; }
.bottom-3  { bottom: 1rem !important; }
.bottom-4  { bottom: 1.5rem !important; }
.bottom-5  { bottom: 3rem !important; }

/* Left Utilities */
.left-0    { left: 0 !important; }
.left-1    { left: 0.25rem !important; }
.left-2    { left: 0.5rem !important; }
.left-3    { left: 1rem !important; }
.left-4    { left: 1.5rem !important; }
.left-5    { left: 3rem !important; }

/* Right Utilities */
.right-0   { right: 0 !important; }
.right-1   { right: 0.25rem !important; }
.right-2   { right: 0.5rem !important; }
.right-3   { right: 1rem !important; }
.right-4   { right: 1.5rem !important; }
.right-5   { right: 3rem !important; }


.top-50 { top: 50% !important; }
.left-50 {left: 50% !important;}
.end-0 { right: 0 !important; }
.translate-middle-y { transform: translateY(-50%) !important; }
.translate-middle-x { transform: translateX(-50%) !important; }
.translate-middle { transform: translate(-50%, -50%) !important; }
.cursor-pointer { cursor: pointer !important; }

.border        { border: 1px solid var(--color-trans) !important; }
.border-top    { border-top: 1px solid var(--color-trans) !important; }
.border-end    { border-right: 1px solid var(--color-trans) !important; }
.border-bottom { border-bottom: 1px solid var(--color-trans) !important; }
.border-start  { border-left: 1px solid var(--color-trans) !important; }

/* === Border Remove === */
.border-0        { border: 0 !important; }
.border-top-0    { border-top: 0 !important; }
.border-end-0    { border-right: 0 !important; }
.border-bottom-0 { border-bottom: 0 !important; }
.border-start-0  { border-left: 0 !important; }


.overflow-hidden {
    overflow: hidden;
}

/* Base Flex Utilities */
.flex-1 {flex: 1 !important;}
/* Base (her zaman geçerli) */
.flex-row { flex-direction: row !important; }
.flex-col { flex-direction: column !important; }
.flex-row-reverse {flex-direction: row-reverse !important;}
.flex-col-reverse {flex-direction: column-reverse !important;}
.justify-start { justify-content: flex-start !important; }
.justify-center { justify-content: center !important; }
.justify-end { justify-content: flex-end !important; }
.justify-between { justify-content: space-between !important; }
.align-start { align-items: flex-start !important; }
.align-center { align-items: center !important; }
.align-end { align-items: flex-end !important; }

/* Responsive Breakpoints */
@media (min-width: 576px) {
    .flex-sm-row { flex-direction: row !important; }
    .flex-sm-col { flex-direction: column !important; }
    .justify-sm-start { justify-content: flex-start !important; }
    .justify-sm-center { justify-content: center !important; }
    .justify-sm-end { justify-content: flex-end !important; }
    .justify-sm-between { justify-content: space-between !important; }
    .align-sm-start { align-items: flex-start !important; }
    .align-sm-center { align-items: center !important; }
    .align-sm-end { align-items: flex-end !important; }
}

@media (min-width: 768px) {
    .flex-md-row { flex-direction: row !important; }
    .flex-md-col { flex-direction: column !important; }
    .justify-md-start { justify-content: flex-start !important; }
    .justify-md-center { justify-content: center !important; }
    .justify-md-end { justify-content: flex-end !important; }
    .justify-md-between { justify-content: space-between !important; }
    .align-md-start { align-items: flex-start !important; }
    .align-md-center { align-items: center !important; }
    .align-md-end { align-items: flex-end !important; }
}

@media (min-width: 992px) {
    .flex-lg-row { flex-direction: row !important; }
    .flex-lg-col { flex-direction: column !important; }
    .justify-lg-start { justify-content: flex-start !important; }
    .justify-lg-center { justify-content: center !important; }
    .justify-lg-end { justify-content: flex-end !important; }
    .justify-lg-between { justify-content: space-between !important; }
    .align-lg-start { align-items: flex-start !important; }
    .align-lg-center { align-items: center !important; }
    .align-lg-end { align-items: flex-end !important; }
}

@media (min-width: 1200px) {
    .flex-xl-row { flex-direction: row !important; }
    .flex-xl-col { flex-direction: column !important; }
    .justify-xl-start { justify-content: flex-start !important; }
    .justify-xl-center { justify-content: center !important; }
    .justify-xl-end { justify-content: flex-end !important; }
    .justify-xl-between { justify-content: space-between !important; }
    .align-xl-start { align-items: flex-start !important; }
    .align-xl-center { align-items: center !important; }
    .align-xl-end { align-items: flex-end !important; }
}

@media (min-width: 1400px) {
    .flex-xxl-row { flex-direction: row !important; }
    .flex-xxl-col { flex-direction: column !important; }
    .justify-xxl-start { justify-content: flex-start !important; }
    .justify-xxl-center { justify-content: center !important; }
    .justify-xxl-end { justify-content: flex-end !important; }
    .justify-xxl-between { justify-content: space-between !important; }
    .align-xxl-start { align-items: flex-start !important; }
    .align-xxl-center { align-items: center !important; }
    .align-xxl-end { align-items: flex-end !important; }
}


/* Border Radius */
.rounded      { border-radius: 0.25rem !important; }
.rounded-md   { border-radius: var(--radius-md) !important; }
.rounded-lg   { border-radius: var(--radius-lg) !important; }
.rounded-full { border-radius: 9999px !important; }
.rounded-bottom {border-radius: 0 0 var(--radius-lg) var(--radius-lg)}
.rounded-top {border-radius: var(--radius-lg) var(--radius-lg) 0 0}
.rounded-left {border-radius: var(--radius-lg) 0 0 var(--radius-lg)}
.rounded-right {border-radius: 0 var(--radius-lg) var(--radius-lg) 0}

/* Width / Height */
.w-full    { width: 100% !important; }
.w-half    { width: 50% !important; }
.h-full    { height: 100% !important; }

/* Color Utilities – bunlar variables.css’e bağlı */
.bg-default {background-color: var(--color-bg) !important;}
.bg-primary      { background-color: var(--color-primary) !important; }
.bg-secondary    { background-color: var(--color-secondary) !important; }
.bg-tertiary    { background-color: var(--color-tertiary) !important; }
.bg-success     { background-color: var(--color-success) !important; }
.bg-accept     { background-color: var(--color-accept) !important; }
.bg-error       { background-color: var(--color-error) !important; }
.bg-warning     { background-color: var(--color-warning) !important; }

.bg-primary-trans   { background-color: rgba(var(--color-primary-rgb), 0.2) !important; }
.bg-secondary-trans { background-color: rgba(var(--color-secondary-rgb), 0.2) !important; }
.bg-tertiary-trans  { background-color: rgba(var(--color-tertiary-rgb), 0.2) !important; }
.bg-success-trans   { background-color: rgba(var(--color-success-rgb), 0.2) !important; }
.bg-accept-trans    { background-color: rgba(var(--color-accept-rgb), 0.2) !important; }
.bg-error-trans     { background-color: rgba(var(--color-error-rgb), 0.2) !important; }
.bg-warning-trans   { background-color: rgba(var(--color-warning-rgb), 0.2) !important; }


.text {color: var(--color-text)}
.text-primary    { color: var(--color-primary) !important; }
.text-secondary  { color: var(--color-secondary) !important; }
.text-tertiary {color: var(--color-tertiary) !important;}
.text-success   { color: var(--color-success) !important; }
.text-accept   { color: var(--color-accept) !important; }
.text-error     { color: var(--color-error) !important; }
.text-warning   { color: var(--color-warning) !important; }
.text-hightlight {color: var(--color-text-highlight) !important;}

.bg-surface {
    background-color: var(--color-surface);
}


.text-decoration-none {
    text-decoration: none;
}

.text-decoration-underline {
    text-decoration: underline;
}


/* Font Weight */
.fw-thin    { font-weight: 100 !important; }
.fw-extra-light { font-weight: 200 !important; }
.fw-light   { font-weight: 300 !important; }
.fw-normal  { font-weight: 400 !important; }
.fw-medium  { font-weight: 500 !important; }
.fw-semibold{ font-weight: 600 !important; }
.fw-bold    { font-weight: 700 !important; }
.fw-extra-bold { font-weight: 800 !important; }
.fw-black   { font-weight: 900 !important; }

/* Letter Spacing */
.ls-tight   { letter-spacing: -0.05em !important; }
.ls-normal  { letter-spacing: 0 !important; }
.ls-wide    { letter-spacing: 0.05em !important; }
.ls-wider   { letter-spacing: 0.1em !important; }
.ls-widest  { letter-spacing: 0.25em !important; }

/* Line Height */
.lh-1       { line-height: 1 !important; }
.lh-tight   { line-height: 1.1 !important; }
.lh-normal  { line-height: 1.5 !important; }
.lh-relaxed { line-height: 1.75 !important; }
.lh-loose   { line-height: 2 !important; }

/* Text Transform */
.text-uppercase   { text-transform: uppercase !important; }
.text-lowercase   { text-transform: lowercase !important; }
.text-capitalize  { text-transform: capitalize !important; }
.text-normalcase  { text-transform: none !important; }

/* Font Style */
.font-italic   { font-style: italic !important; }
.font-normal   { font-style: normal !important; }


.fs-xs   { font-size: var(--font-size-xs) !important; }
.fs-sm   { font-size: var(--font-size-sm) !important; }
.fs-base { font-size: var(--font-size-base) !important; }
.fs-md   { font-size: var(--font-size-md) !important; }
.fs-lg   { font-size: var(--font-size-lg) !important; }
.fs-xl   { font-size: var(--font-size-xl) !important; }
.fs-2xl  { font-size: var(--font-size-2xl) !important; }
.fs-3xl  { font-size: var(--font-size-3xl) !important; }
.fs-4xl  { font-size: var(--font-size-4xl) !important; }
.fs-5xl  { font-size: var(--font-size-5xl) !important; }



@media (min-width: 576px) {
    .fs-sm-sm   { font-size: var(--font-size-sm) !important; }
    .fs-base-sm { font-size: var(--font-size-base) !important; }
    .fs-md-sm   { font-size: var(--font-size-md) !important; }
    .fs-lg-sm   { font-size: var(--font-size-lg) !important; }
    .fs-xl-sm   { font-size: var(--font-size-xl) !important; }
    .fs-2xl-sm  { font-size: var(--font-size-2xl) !important; }
    .fs-3xl-sm  { font-size: var(--font-size-3xl) !important; }
    .fs-4xl-sm  { font-size: var(--font-size-4xl) !important; }
    .fs-5xl-sm  { font-size: var(--font-size-5xl) !important; }
    .m-sm-0 { margin: 0 !important; }
    .m-sm-1 { margin: 0.25rem !important; }
    .m-sm-2 { margin: 0.5rem !important; }
    .m-sm-3 { margin: 1rem !important; }
    .m-sm-4 { margin: 1.5rem !important; }
    .m-sm-5 { margin: 3rem !important; }
    .mt-sm-0 { margin-top: 0 !important; }
    .mt-sm-1 { margin-top: 0.25rem !important; }
    .mt-sm-2 { margin-top: 0.5rem !important; }
    .mt-sm-3 { margin-top: 1rem !important; }
    .mt-sm-4 { margin-top: 1.5rem !important; }
    .mt-sm-5 { margin-top: 3rem !important; }
    .mb-sm-0 { margin-bottom: 0 !important; }
    .mb-sm-1 { margin-bottom: 0.25rem !important; }
    .mb-sm-2 { margin-bottom: 0.5rem !important; }
    .mb-sm-3 { margin-bottom: 1rem !important; }
    .mb-sm-4 { margin-bottom: 1.5rem !important; }
    .mb-sm-5 { margin-bottom: 3rem !important; }
    .ml-sm-0 { margin-left: 0 !important; }
    .ml-sm-1 { margin-left: 0.25rem !important; }
    .ml-sm-2 { margin-left: 0.5rem !important; }
    .ml-sm-3 { margin-left: 1rem !important; }
    .ml-sm-4 { margin-left: 1.5rem !important; }
    .ml-sm-5 { margin-left: 3rem !important; }
    .mr-sm-0 { margin-right: 0 !important; }
    .mr-sm-1 { margin-right: 0.25rem !important; }
    .mr-sm-2 { margin-right: 0.5rem !important; }
    .mr-sm-3 { margin-right: 1rem !important; }
    .mr-sm-4 { margin-right: 1.5rem !important; }
    .mr-sm-5 { margin-right: 3rem !important; }
    .mx-sm-0 {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .mx-sm-1 {
        margin-left: 0.25rem !important;
        margin-right: 0.25rem !important;
    }
    .mx-sm-2 {
        margin-left: 0.5rem !important;
        margin-right: 0.5rem !important;
    }
    .mx-sm-3 {
        margin-left: 1rem !important;
        margin-right: 1rem !important;
    }
    .mx-sm-4 {
        margin-left: 1.5rem !important;
        margin-right: 1.5rem !important;
    }
    .mx-sm-5 {
        margin-left: 3rem !important;
        margin-right: 3rem !important;
    }
    .my-sm-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    .my-sm-1 {
        margin-top: 0.25rem !important;
        margin-bottom: 0.25rem !important;
    }
    .my-sm-2 {
        margin-top: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }
    .my-sm-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important;
    }
    .my-sm-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important;
    }
    .my-sm-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important;
    }
    .p-sm-0 { padding: 0 !important; }
    .p-sm-1 { padding: 0.25rem !important; }
    .p-sm-2 { padding: 0.5rem !important; }
    .p-sm-3 { padding: 1rem !important; }
    .p-sm-4 { padding: 1.5rem !important; }
    .p-sm-5 { padding: 3rem !important; }
    .pt-sm-0 { padding-top: 0 !important; }
    .pt-sm-1 { padding-top: 0.25rem !important; }
    .pt-sm-2 { padding-top: 0.5rem !important; }
    .pt-sm-3 { padding-top: 1rem !important; }
    .pt-sm-4 { padding-top: 1.5rem !important; }
    .pt-sm-5 { padding-top: 3rem !important; }
    .pb-sm-0 { padding-bottom: 0 !important; }
    .pb-sm-1 { padding-bottom: 0.25rem !important; }
    .pb-sm-2 { padding-bottom: 0.5rem !important; }
    .pb-sm-3 { padding-bottom: 1rem !important; }
    .pb-sm-4 { padding-bottom: 1.5rem !important; }
    .pb-sm-5 { padding-bottom: 3rem !important; }
    .pl-sm-0 { padding-left: 0 !important; }
    .pl-sm-1 { padding-left: 0.25rem !important; }
    .pl-sm-2 { padding-left: 0.5rem !important; }
    .pl-sm-3 { padding-left: 1rem !important; }
    .pl-sm-4 { padding-left: 1.5rem !important; }
    .pl-sm-5 { padding-left: 3rem !important; }
    .pr-sm-0 { padding-right: 0 !important; }
    .pr-sm-1 { padding-right: 0.25rem !important; }
    .pr-sm-2 { padding-right: 0.5rem !important; }
    .pr-sm-3 { padding-right: 1rem !important; }
    .pr-sm-4 { padding-right: 1.5rem !important; }
    .pr-sm-5 { padding-right: 3rem !important; }
    .px-sm-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .px-sm-1 {
        padding-left: 0.25rem !important;
        padding-right: 0.25rem !important;
    }
    .px-sm-2 {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }
    .px-sm-3 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
    .px-sm-4 {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }
    .px-sm-5 {
        padding-left: 3rem !important;
        padding-right: 3rem !important;
    }
    .py-sm-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    .py-sm-1 {
        padding-top: 0.25rem !important;
        padding-bottom: 0.25rem !important;
    }
    .py-sm-2 {
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }
    .py-sm-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
    .py-sm-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }
    .py-sm-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
    .g-sm-0 { gap: 0 !important; }
    .g-sm-1 { gap: 0.25rem !important; }
    .g-sm-2 { gap: 0.5rem !important; }
    .g-sm-3 { gap: 1rem !important; }
    .g-sm-4 { gap: 1.5rem !important; }
    .g-sm-5 { gap: 3rem !important; }
    .gx-sm-0 { column-gap: 0 !important; }
    .gx-sm-1 { column-gap: 0.25rem !important; }
    .gx-sm-2 { column-gap: 0.5rem !important; }
    .gx-sm-3 { column-gap: 1rem !important; }
    .gx-sm-4 { column-gap: 1.5rem !important; }
    .gx-sm-5 { column-gap: 3rem !important; }
    .gy-sm-0 { row-gap: 0 !important; }
    .gy-sm-1 { row-gap: 0.25rem !important; }
    .gy-sm-2 { row-gap: 0.5rem !important; }
    .gy-sm-3 { row-gap: 1rem !important; }
    .gy-sm-4 { row-gap: 1.5rem !important; }
    .gy-sm-5 { row-gap: 3rem !important; }
}
@media (min-width: 768px) {
    .fs-sm-md   { font-size: var(--font-size-sm) !important; }
    .fs-base-md { font-size: var(--font-size-base) !important; }
    .fs-md-md   { font-size: var(--font-size-md) !important; }
    .fs-lg-md   { font-size: var(--font-size-lg) !important; }
    .fs-xl-md   { font-size: var(--font-size-xl) !important; }
    .fs-2xl-md  { font-size: var(--font-size-2xl) !important; }
    .fs-3xl-md  { font-size: var(--font-size-3xl) !important; }
    .fs-4xl-md  { font-size: var(--font-size-4xl) !important; }
    .fs-5xl-md  { font-size: var(--font-size-5xl) !important; }
    .m-md-0 { margin: 0 !important; }
    .m-md-1 { margin: 0.25rem !important; }
    .m-md-2 { margin: 0.5rem !important; }
    .m-md-3 { margin: 1rem !important; }
    .m-md-4 { margin: 1.5rem !important; }
    .m-md-5 { margin: 3rem !important; }
    .mt-md-0 { margin-top: 0 !important; }
    .mt-md-1 { margin-top: 0.25rem !important; }
    .mt-md-2 { margin-top: 0.5rem !important; }
    .mt-md-3 { margin-top: 1rem !important; }
    .mt-md-4 { margin-top: 1.5rem !important; }
    .mt-md-5 { margin-top: 3rem !important; }
    .mb-md-0 { margin-bottom: 0 !important; }
    .mb-md-1 { margin-bottom: 0.25rem !important; }
    .mb-md-2 { margin-bottom: 0.5rem !important; }
    .mb-md-3 { margin-bottom: 1rem !important; }
    .mb-md-4 { margin-bottom: 1.5rem !important; }
    .mb-md-5 { margin-bottom: 3rem !important; }
    .ml-md-0 { margin-left: 0 !important; }
    .ml-md-1 { margin-left: 0.25rem !important; }
    .ml-md-2 { margin-left: 0.5rem !important; }
    .ml-md-3 { margin-left: 1rem !important; }
    .ml-md-4 { margin-left: 1.5rem !important; }
    .ml-md-5 { margin-left: 3rem !important; }
    .mr-md-0 { margin-right: 0 !important; }
    .mr-md-1 { margin-right: 0.25rem !important; }
    .mr-md-2 { margin-right: 0.5rem !important; }
    .mr-md-3 { margin-right: 1rem !important; }
    .mr-md-4 { margin-right: 1.5rem !important; }
    .mr-md-5 { margin-right: 3rem !important; }
    .mx-md-0 {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .mx-md-1 {
        margin-left: 0.25rem !important;
        margin-right: 0.25rem !important;
    }
    .mx-md-2 {
        margin-left: 0.5rem !important;
        margin-right: 0.5rem !important;
    }
    .mx-md-3 {
        margin-left: 1rem !important;
        margin-right: 1rem !important;
    }
    .mx-md-4 {
        margin-left: 1.5rem !important;
        margin-right: 1.5rem !important;
    }
    .mx-md-5 {
        margin-left: 3rem !important;
        margin-right: 3rem !important;
    }
    .my-md-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    .my-md-1 {
        margin-top: 0.25rem !important;
        margin-bottom: 0.25rem !important;
    }
    .my-md-2 {
        margin-top: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }
    .my-md-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important;
    }
    .my-md-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important;
    }
    .my-md-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important;
    }
    .p-md-0 { padding: 0 !important; }
    .p-md-1 { padding: 0.25rem !important; }
    .p-md-2 { padding: 0.5rem !important; }
    .p-md-3 { padding: 1rem !important; }
    .p-md-4 { padding: 1.5rem !important; }
    .p-md-5 { padding: 3rem !important; }
    .pt-md-0 { padding-top: 0 !important; }
    .pt-md-1 { padding-top: 0.25rem !important; }
    .pt-md-2 { padding-top: 0.5rem !important; }
    .pt-md-3 { padding-top: 1rem !important; }
    .pt-md-4 { padding-top: 1.5rem !important; }
    .pt-md-5 { padding-top: 3rem !important; }
    .pb-md-0 { padding-bottom: 0 !important; }
    .pb-md-1 { padding-bottom: 0.25rem !important; }
    .pb-md-2 { padding-bottom: 0.5rem !important; }
    .pb-md-3 { padding-bottom: 1rem !important; }
    .pb-md-4 { padding-bottom: 1.5rem !important; }
    .pb-md-5 { padding-bottom: 3rem !important; }
    .pl-md-0 { padding-left: 0 !important; }
    .pl-md-1 { padding-left: 0.25rem !important; }
    .pl-md-2 { padding-left: 0.5rem !important; }
    .pl-md-3 { padding-left: 1rem !important; }
    .pl-md-4 { padding-left: 1.5rem !important; }
    .pl-md-5 { padding-left: 3rem !important; }
    .pr-md-0 { padding-right: 0 !important; }
    .pr-md-1 { padding-right: 0.25rem !important; }
    .pr-md-2 { padding-right: 0.5rem !important; }
    .pr-md-3 { padding-right: 1rem !important; }
    .pr-md-4 { padding-right: 1.5rem !important; }
    .pr-md-5 { padding-right: 3rem !important; }
    .px-md-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .px-md-1 {
        padding-left: 0.25rem !important;
        padding-right: 0.25rem !important;
    }
    .px-md-2 {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }
    .px-md-3 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
    .px-md-4 {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }
    .px-md-5 {
        padding-left: 3rem !important;
        padding-right: 3rem !important;
    }
    .py-md-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    .py-md-1 {
        padding-top: 0.25rem !important;
        padding-bottom: 0.25rem !important;
    }
    .py-md-2 {
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }
    .py-md-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
    .py-md-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }
    .py-md-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
    .g-md-0 { gap: 0 !important; }
    .g-md-1 { gap: 0.25rem !important; }
    .g-md-2 { gap: 0.5rem !important; }
    .g-md-3 { gap: 1rem !important; }
    .g-md-4 { gap: 1.5rem !important; }
    .g-md-5 { gap: 3rem !important; }
    .gx-md-0 { column-gap: 0 !important; }
    .gx-md-1 { column-gap: 0.25rem !important; }
    .gx-md-2 { column-gap: 0.5rem !important; }
    .gx-md-3 { column-gap: 1rem !important; }
    .gx-md-4 { column-gap: 1.5rem !important; }
    .gx-md-5 { column-gap: 3rem !important; }
    .gy-md-0 { row-gap: 0 !important; }
    .gy-md-1 { row-gap: 0.25rem !important; }
    .gy-md-2 { row-gap: 0.5rem !important; }
    .gy-md-3 { row-gap: 1rem !important; }
    .gy-md-4 { row-gap: 1.5rem !important; }
    .gy-md-5 { row-gap: 3rem !important; }
}
@media (min-width: 992px) {
    .fs-sm-lg   { font-size: var(--font-size-sm) !important; }
    .fs-base-lg { font-size: var(--font-size-base) !important; }
    .fs-md-lg   { font-size: var(--font-size-md) !important; }
    .fs-lg-lg   { font-size: var(--font-size-lg) !important; }
    .fs-xl-lg   { font-size: var(--font-size-xl) !important; }
    .fs-2xl-lg  { font-size: var(--font-size-2xl) !important; }
    .fs-3xl-lg  { font-size: var(--font-size-3xl) !important; }
    .fs-4xl-lg  { font-size: var(--font-size-4xl) !important; }
    .fs-5xl-lg  { font-size: var(--font-size-5xl) !important; }
    .m-lg-0 { margin: 0 !important; }
    .m-lg-1 { margin: 0.25rem !important; }
    .m-lg-2 { margin: 0.5rem !important; }
    .m-lg-3 { margin: 1rem !important; }
    .m-lg-4 { margin: 1.5rem !important; }
    .m-lg-5 { margin: 3rem !important; }
    .mt-lg-0 { margin-top: 0 !important; }
    .mt-lg-1 { margin-top: 0.25rem !important; }
    .mt-lg-2 { margin-top: 0.5rem !important; }
    .mt-lg-3 { margin-top: 1rem !important; }
    .mt-lg-4 { margin-top: 1.5rem !important; }
    .mt-lg-5 { margin-top: 3rem !important; }
    .mb-lg-0 { margin-bottom: 0 !important; }
    .mb-lg-1 { margin-bottom: 0.25rem !important; }
    .mb-lg-2 { margin-bottom: 0.5rem !important; }
    .mb-lg-3 { margin-bottom: 1rem !important; }
    .mb-lg-4 { margin-bottom: 1.5rem !important; }
    .mb-lg-5 { margin-bottom: 3rem !important; }
    .ml-lg-0 { margin-left: 0 !important; }
    .ml-lg-1 { margin-left: 0.25rem !important; }
    .ml-lg-2 { margin-left: 0.5rem !important; }
    .ml-lg-3 { margin-left: 1rem !important; }
    .ml-lg-4 { margin-left: 1.5rem !important; }
    .ml-lg-5 { margin-left: 3rem !important; }
    .mr-lg-0 { margin-right: 0 !important; }
    .mr-lg-1 { margin-right: 0.25rem !important; }
    .mr-lg-2 { margin-right: 0.5rem !important; }
    .mr-lg-3 { margin-right: 1rem !important; }
    .mr-lg-4 { margin-right: 1.5rem !important; }
    .mr-lg-5 { margin-right: 3rem !important; }
    .mx-lg-0 {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .mx-lg-1 {
        margin-left: 0.25rem !important;
        margin-right: 0.25rem !important;
    }
    .mx-lg-2 {
        margin-left: 0.5rem !important;
        margin-right: 0.5rem !important;
    }
    .mx-lg-3 {
        margin-left: 1rem !important;
        margin-right: 1rem !important;
    }
    .mx-lg-4 {
        margin-left: 1.5rem !important;
        margin-right: 1.5rem !important;
    }
    .mx-lg-5 {
        margin-left: 3rem !important;
        margin-right: 3rem !important;
    }
    .my-lg-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    .my-lg-1 {
        margin-top: 0.25rem !important;
        margin-bottom: 0.25rem !important;
    }
    .my-lg-2 {
        margin-top: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }
    .my-lg-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important;
    }
    .my-lg-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important;
    }
    .my-lg-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important;
    }
    .p-lg-0 { padding: 0 !important; }
    .p-lg-1 { padding: 0.25rem !important; }
    .p-lg-2 { padding: 0.5rem !important; }
    .p-lg-3 { padding: 1rem !important; }
    .p-lg-4 { padding: 1.5rem !important; }
    .p-lg-5 { padding: 3rem !important; }
    .pt-lg-0 { padding-top: 0 !important; }
    .pt-lg-1 { padding-top: 0.25rem !important; }
    .pt-lg-2 { padding-top: 0.5rem !important; }
    .pt-lg-3 { padding-top: 1rem !important; }
    .pt-lg-4 { padding-top: 1.5rem !important; }
    .pt-lg-5 { padding-top: 3rem !important; }
    .pb-lg-0 { padding-bottom: 0 !important; }
    .pb-lg-1 { padding-bottom: 0.25rem !important; }
    .pb-lg-2 { padding-bottom: 0.5rem !important; }
    .pb-lg-3 { padding-bottom: 1rem !important; }
    .pb-lg-4 { padding-bottom: 1.5rem !important; }
    .pb-lg-5 { padding-bottom: 3rem !important; }
    .pl-lg-0 { padding-left: 0 !important; }
    .pl-lg-1 { padding-left: 0.25rem !important; }
    .pl-lg-2 { padding-left: 0.5rem !important; }
    .pl-lg-3 { padding-left: 1rem !important; }
    .pl-lg-4 { padding-left: 1.5rem !important; }
    .pl-lg-5 { padding-left: 3rem !important; }
    .pr-lg-0 { padding-right: 0 !important; }
    .pr-lg-1 { padding-right: 0.25rem !important; }
    .pr-lg-2 { padding-right: 0.5rem !important; }
    .pr-lg-3 { padding-right: 1rem !important; }
    .pr-lg-4 { padding-right: 1.5rem !important; }
    .pr-lg-5 { padding-right: 3rem !important; }
    .px-lg-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .px-lg-1 {
        padding-left: 0.25rem !important;
        padding-right: 0.25rem !important;
    }
    .px-lg-2 {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }
    .px-lg-3 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
    .px-lg-4 {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }
    .px-lg-5 {
        padding-left: 3rem !important;
        padding-right: 3rem !important;
    }
    .py-lg-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    .py-lg-1 {
        padding-top: 0.25rem !important;
        padding-bottom: 0.25rem !important;
    }
    .py-lg-2 {
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }
    .py-lg-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
    .py-lg-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }
    .py-lg-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
    .g-lg-0 { gap: 0 !important; }
    .g-lg-1 { gap: 0.25rem !important; }
    .g-lg-2 { gap: 0.5rem !important; }
    .g-lg-3 { gap: 1rem !important; }
    .g-lg-4 { gap: 1.5rem !important; }
    .g-lg-5 { gap: 3rem !important; }
    .gx-lg-0 { column-gap: 0 !important; }
    .gx-lg-1 { column-gap: 0.25rem !important; }
    .gx-lg-2 { column-gap: 0.5rem !important; }
    .gx-lg-3 { column-gap: 1rem !important; }
    .gx-lg-4 { column-gap: 1.5rem !important; }
    .gx-lg-5 { column-gap: 3rem !important; }
    .gy-lg-0 { row-gap: 0 !important; }
    .gy-lg-1 { row-gap: 0.25rem !important; }
    .gy-lg-2 { row-gap: 0.5rem !important; }
    .gy-lg-3 { row-gap: 1rem !important; }
    .gy-lg-4 { row-gap: 1.5rem !important; }
    .gy-lg-5 { row-gap: 3rem !important; }
}
@media (min-width: 1200px) {
    .fs-sm-xl   { font-size: var(--font-size-sm) !important; }
    .fs-base-xl { font-size: var(--font-size-base) !important; }
    .fs-md-xl   { font-size: var(--font-size-md) !important; }
    .fs-lg-xl   { font-size: var(--font-size-lg) !important; }
    .fs-xl-xl   { font-size: var(--font-size-xl) !important; }
    .fs-2xl-xl  { font-size: var(--font-size-2xl) !important; }
    .fs-3xl-xl  { font-size: var(--font-size-3xl) !important; }
    .fs-4xl-xl  { font-size: var(--font-size-4xl) !important; }
    .fs-5xl-xl  { font-size: var(--font-size-5xl) !important; }
    .m-xl-0 { margin: 0 !important; }
    .m-xl-1 { margin: 0.25rem !important; }
    .m-xl-2 { margin: 0.5rem !important; }
    .m-xl-3 { margin: 1rem !important; }
    .m-xl-4 { margin: 1.5rem !important; }
    .m-xl-5 { margin: 3rem !important; }
    .mt-xl-0 { margin-top: 0 !important; }
    .mt-xl-1 { margin-top: 0.25rem !important; }
    .mt-xl-2 { margin-top: 0.5rem !important; }
    .mt-xl-3 { margin-top: 1rem !important; }
    .mt-xl-4 { margin-top: 1.5rem !important; }
    .mt-xl-5 { margin-top: 3rem !important; }
    .mb-xl-0 { margin-bottom: 0 !important; }
    .mb-xl-1 { margin-bottom: 0.25rem !important; }
    .mb-xl-2 { margin-bottom: 0.5rem !important; }
    .mb-xl-3 { margin-bottom: 1rem !important; }
    .mb-xl-4 { margin-bottom: 1.5rem !important; }
    .mb-xl-5 { margin-bottom: 3rem !important; }
    .ml-xl-0 { margin-left: 0 !important; }
    .ml-xl-1 { margin-left: 0.25rem !important; }
    .ml-xl-2 { margin-left: 0.5rem !important; }
    .ml-xl-3 { margin-left: 1rem !important; }
    .ml-xl-4 { margin-left: 1.5rem !important; }
    .ml-xl-5 { margin-left: 3rem !important; }
    .mr-xl-0 { margin-right: 0 !important; }
    .mr-xl-1 { margin-right: 0.25rem !important; }
    .mr-xl-2 { margin-right: 0.5rem !important; }
    .mr-xl-3 { margin-right: 1rem !important; }
    .mr-xl-4 { margin-right: 1.5rem !important; }
    .mr-xl-5 { margin-right: 3rem !important; }
    .mx-xl-0 {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .mx-xl-1 {
        margin-left: 0.25rem !important;
        margin-right: 0.25rem !important;
    }
    .mx-xl-2 {
        margin-left: 0.5rem !important;
        margin-right: 0.5rem !important;
    }
    .mx-xl-3 {
        margin-left: 1rem !important;
        margin-right: 1rem !important;
    }
    .mx-xl-4 {
        margin-left: 1.5rem !important;
        margin-right: 1.5rem !important;
    }
    .mx-xl-5 {
        margin-left: 3rem !important;
        margin-right: 3rem !important;
    }
    .my-xl-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    .my-xl-1 {
        margin-top: 0.25rem !important;
        margin-bottom: 0.25rem !important;
    }
    .my-xl-2 {
        margin-top: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }
    .my-xl-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important;
    }
    .my-xl-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important;
    }
    .my-xl-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important;
    }
    .p-xl-0 { padding: 0 !important; }
    .p-xl-1 { padding: 0.25rem !important; }
    .p-xl-2 { padding: 0.5rem !important; }
    .p-xl-3 { padding: 1rem !important; }
    .p-xl-4 { padding: 1.5rem !important; }
    .p-xl-5 { padding: 3rem !important; }
    .pt-xl-0 { padding-top: 0 !important; }
    .pt-xl-1 { padding-top: 0.25rem !important; }
    .pt-xl-2 { padding-top: 0.5rem !important; }
    .pt-xl-3 { padding-top: 1rem !important; }
    .pt-xl-4 { padding-top: 1.5rem !important; }
    .pt-xl-5 { padding-top: 3rem !important; }
    .pb-xl-0 { padding-bottom: 0 !important; }
    .pb-xl-1 { padding-bottom: 0.25rem !important; }
    .pb-xl-2 { padding-bottom: 0.5rem !important; }
    .pb-xl-3 { padding-bottom: 1rem !important; }
    .pb-xl-4 { padding-bottom: 1.5rem !important; }
    .pb-xl-5 { padding-bottom: 3rem !important; }
    .pl-xl-0 { padding-left: 0 !important; }
    .pl-xl-1 { padding-left: 0.25rem !important; }
    .pl-xl-2 { padding-left: 0.5rem !important; }
    .pl-xl-3 { padding-left: 1rem !important; }
    .pl-xl-4 { padding-left: 1.5rem !important; }
    .pl-xl-5 { padding-left: 3rem !important; }
    .pr-xl-0 { padding-right: 0 !important; }
    .pr-xl-1 { padding-right: 0.25rem !important; }
    .pr-xl-2 { padding-right: 0.5rem !important; }
    .pr-xl-3 { padding-right: 1rem !important; }
    .pr-xl-4 { padding-right: 1.5rem !important; }
    .pr-xl-5 { padding-right: 3rem !important; }
    .px-xl-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .px-xl-1 {
        padding-left: 0.25rem !important;
        padding-right: 0.25rem !important;
    }
    .px-xl-2 {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }
    .px-xl-3 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
    .px-xl-4 {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }
    .px-xl-5 {
        padding-left: 3rem !important;
        padding-right: 3rem !important;
    }
    .py-xl-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    .py-xl-1 {
        padding-top: 0.25rem !important;
        padding-bottom: 0.25rem !important;
    }
    .py-xl-2 {
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }
    .py-xl-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
    .py-xl-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }
    .py-xl-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
    .g-xl-0 { gap: 0 !important; }
    .g-xl-1 { gap: 0.25rem !important; }
    .g-xl-2 { gap: 0.5rem !important; }
    .g-xl-3 { gap: 1rem !important; }
    .g-xl-4 { gap: 1.5rem !important; }
    .g-xl-5 { gap: 3rem !important; }
    .gx-xl-0 { column-gap: 0 !important; }
    .gx-xl-1 { column-gap: 0.25rem !important; }
    .gx-xl-2 { column-gap: 0.5rem !important; }
    .gx-xl-3 { column-gap: 1rem !important; }
    .gx-xl-4 { column-gap: 1.5rem !important; }
    .gx-xl-5 { column-gap: 3rem !important; }
    .gy-xl-0 { row-gap: 0 !important; }
    .gy-xl-1 { row-gap: 0.25rem !important; }
    .gy-xl-2 { row-gap: 0.5rem !important; }
    .gy-xl-3 { row-gap: 1rem !important; }
    .gy-xl-4 { row-gap: 1.5rem !important; }
    .gy-xl-5 { row-gap: 3rem !important; }
}

/* === Row === */
.row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -0.75rem;
    margin-right: -0.75rem;
}

.row > [class^="col"],
.row > [class*=" col"] {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    box-sizing: border-box;
}


/* === Default col (auto grow) === */
.col {
    flex: 1 0 0%;
    max-width: 100%;
}



/* === Base (no breakpoint) === */
.col-1  { flex: 0 0 8.3333%;  max-width: 8.3333%; }
.col-2  { flex: 0 0 16.6667%; max-width: 16.6667%; }
.col-3  { flex: 0 0 25%;      max-width: 25%; }
.col-4  { flex: 0 0 33.3333%; max-width: 33.3333%; }
.col-5  { flex: 0 0 41.6667%; max-width: 41.6667%; }
.col-6  { flex: 0 0 50%;      max-width: 50%; }
.col-7  { flex: 0 0 58.3333%; max-width: 58.3333%; }
.col-8  { flex: 0 0 66.6667%; max-width: 66.6667%; }
.col-9  { flex: 0 0 75%;      max-width: 75%; }
.col-10 { flex: 0 0 83.3333%; max-width: 83.3333%; }
.col-11 { flex: 0 0 91.6667%; max-width: 91.6667%; }
.col-12 { flex: 0 0 100%;     max-width: 100%; }

/* === SM === */
@media (min-width: 576px) {
    .col-sm-1  { flex: 0 0 8.3333%;  max-width: 8.3333%; }
    .col-sm-2  { flex: 0 0 16.6667%; max-width: 16.6667%; }
    .col-sm-3  { flex: 0 0 25%;      max-width: 25%; }
    .col-sm-4  { flex: 0 0 33.3333%; max-width: 33.3333%; }
    .col-sm-5  { flex: 0 0 41.6667%; max-width: 41.6667%; }
    .col-sm-6  { flex: 0 0 50%;      max-width: 50%; }
    .col-sm-7  { flex: 0 0 58.3333%; max-width: 58.3333%; }
    .col-sm-8  { flex: 0 0 66.6667%; max-width: 66.6667%; }
    .col-sm-9  { flex: 0 0 75%;      max-width: 75%; }
    .col-sm-10 { flex: 0 0 83.3333%; max-width: 83.3333%; }
    .col-sm-11 { flex: 0 0 91.6667%; max-width: 91.6667%; }
    .col-sm-12 { flex: 0 0 100%;     max-width: 100%; }
}

/* === MD === */
@media (min-width: 768px) {
    .col-md-1  { flex: 0 0 8.3333%;  max-width: 8.3333%; }
    .col-md-2  { flex: 0 0 16.6667%; max-width: 16.6667%; }
    .col-md-3  { flex: 0 0 25%;      max-width: 25%; }
    .col-md-4  { flex: 0 0 33.3333%; max-width: 33.3333%; }
    .col-md-5  { flex: 0 0 41.6667%; max-width: 41.6667%; }
    .col-md-6  { flex: 0 0 50%;      max-width: 50%; }
    .col-md-7  { flex: 0 0 58.3333%; max-width: 58.3333%; }
    .col-md-8  { flex: 0 0 66.6667%; max-width: 66.6667%; }
    .col-md-9  { flex: 0 0 75%;      max-width: 75%; }
    .col-md-10 { flex: 0 0 83.3333%; max-width: 83.3333%; }
    .col-md-11 { flex: 0 0 91.6667%; max-width: 91.6667%; }
    .col-md-12 { flex: 0 0 100%;     max-width: 100%; }
}

/* === LG === */
@media (min-width: 992px) {
    .col-lg-1  { flex: 0 0 8.3333%;  max-width: 8.3333%; }
    .col-lg-2  { flex: 0 0 16.6667%; max-width: 16.6667%; }
    .col-lg-3  { flex: 0 0 25%;      max-width: 25%; }
    .col-lg-4  { flex: 0 0 33.3333%; max-width: 33.3333%; }
    .col-lg-5  { flex: 0 0 41.6667%; max-width: 41.6667%; }
    .col-lg-6  { flex: 0 0 50%;      max-width: 50%; }
    .col-lg-7  { flex: 0 0 58.3333%; max-width: 58.3333%; }
    .col-lg-8  { flex: 0 0 66.6667%; max-width: 66.6667%; }
    .col-lg-9  { flex: 0 0 75%;      max-width: 75%; }
    .col-lg-10 { flex: 0 0 83.3333%; max-width: 83.3333%; }
    .col-lg-11 { flex: 0 0 91.6667%; max-width: 91.6667%; }
    .col-lg-12 { flex: 0 0 100%;     max-width: 100%; }
}

/* === XL === */
@media (min-width: 1200px) {
    .col-xl-1  { flex: 0 0 8.3333%;  max-width: 8.3333%; }
    .col-xl-2  { flex: 0 0 16.6667%; max-width: 16.6667%; }
    .col-xl-3  { flex: 0 0 25%;      max-width: 25%; }
    .col-xl-4  { flex: 0 0 33.3333%; max-width: 33.3333%; }
    .col-xl-5  { flex: 0 0 41.6667%; max-width: 41.6667%; }
    .col-xl-6  { flex: 0 0 50%;      max-width: 50%; }
    .col-xl-7  { flex: 0 0 58.3333%; max-width: 58.3333%; }
    .col-xl-8  { flex: 0 0 66.6667%; max-width: 66.6667%; }
    .col-xl-9  { flex: 0 0 75%;      max-width: 75%; }
    .col-xl-10 { flex: 0 0 83.3333%; max-width: 83.3333%; }
    .col-xl-11 { flex: 0 0 91.6667%; max-width: 91.6667%; }
    .col-xl-12 { flex: 0 0 100%;     max-width: 100%; }
}

/* === XXL === */
@media (min-width: 1400px) {
    .col-xxl-1  { flex: 0 0 8.3333%;  max-width: 8.3333%; }
    .col-xxl-2  { flex: 0 0 16.6667%; max-width: 16.6667%; }
    .col-xxl-3  { flex: 0 0 25%;      max-width: 25%; }
    .col-xxl-4  { flex: 0 0 33.3333%; max-width: 33.3333%; }
    .col-xxl-5  { flex: 0 0 41.6667%; max-width: 41.6667%; }
    .col-xxl-6  { flex: 0 0 50%;      max-width: 50%; }
    .col-xxl-7  { flex: 0 0 58.3333%; max-width: 58.3333%; }
    .col-xxl-8  { flex: 0 0 66.6667%; max-width: 66.6667%; }
    .col-xxl-9  { flex: 0 0 75%;      max-width: 75%; }
    .col-xxl-10 { flex: 0 0 83.3333%; max-width: 83.3333%; }
    .col-xxl-11 { flex: 0 0 91.6667%; max-width: 91.6667%; }
    .col-xxl-12 { flex: 0 0 100%;     max-width: 100%; }
}

/* === General gap (both row & column) === */
.gap-0 { gap: 0; }
.gap-1 { gap: 0.25rem; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 1rem; }
.gap-4 { gap: 1.5rem; }
.gap-5 { gap: 3rem; }

/* === Horizontal spacing only (column-gap) === */
.gx-0 { column-gap: 0; }
.gx-1 { column-gap: 0.25rem; }
.gx-2 { column-gap: 0.5rem; }
.gx-3 { column-gap: 1rem; }
.gx-4 { column-gap: 1.5rem; }
.gx-5 { column-gap: 3rem; }

/* === Vertical spacing only (row-gap) === */
.gy-0 { row-gap: 0; }
.gy-1 { row-gap: 0.25rem; }
.gy-2 { row-gap: 0.5rem; }
.gy-3 { row-gap: 1rem; }
.gy-4 { row-gap: 1.5rem; }
.gy-5 { row-gap: 3rem; }

.shadow-xs {
    box-shadow: var(--shadow-xs);
}

.shadow-sm {
    box-shadow: var(--shadow-sm);
}

.shadow-md {
    box-shadow: var(--shadow-md);
}

.shadow-lg {
    box-shadow: var(--shadow-lg);
}

.shadow-primary {
    box-shadow: var(--shadow-primary);
}

.shadow-tertiary {
    box-shadow: var(--shadow-tertiary);
}

.icerik-area {
    background-color: var(--color-bg);
}

.icerik-header {
    font-size: var(--font-size-xl);
    font-weight: var(--fw-semibold);
    margin-bottom: var(--space);
    color: var(--color-text);
}

.icerik-area.type-restoran .icerik-body {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--space);
}
.icerik-area.type-siparisler .icerik-body {
    display: flex;
    flex-direction: column;
    gap: var(--space);
}
.icerik-item {
    /* Her ürün kartı zaten kendi stiline sahip */
    display: flex;
    flex-direction: column;
    height: 100%;
}
/* === Temel Buton Stili === */
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1.25rem;
    font-family: var(--font-base);
    font-weight: 600;
    font-size: var(--font-size-md);
    border-radius: var(--radius-md);
    cursor: pointer;
    border: none;
    transition: background-color 0.25s ease, color 0.25s ease,
    box-shadow 0.25s ease, transform 0.15s ease;
    text-align: center;
    text-decoration: none;
    gap: 0.5rem;
    position: relative;
    min-height: 42px;
    white-space: nowrap;
    user-select: none;
    user-select: none;

    outline-offset: 2px;
}

.button-saydam {
    color: var(--color-text);
    background: transparent;
}

.button-saydam:hover {
    background: var(--color-border);
}

.button-transparent {
    box-shadow: none !important;
}

.button:not(.button-icon) i {
    width: 25px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

/* === Temel Durumlar === */
.button:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px var(--shadow-color);
}

.button:disabled,
.button[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
    box-shadow: none;
    pointer-events: none;
}

.button:active:not(:disabled) {
    transform: scale(0.95);
}

/* === Primary Tema === */
.button-primary {
    --theme-color: var(--color-primary);
    --theme-color-rgb: var(--color-primary-rgb);
    --theme-color-hover: var(--color-primary-hover);

    background-color: var(--theme-color);
    color: var(--color-bg);
    box-shadow: 0 2px 6px rgba(var(--theme-color-rgb), 0.25);
    --shadow-color: rgba(var(--theme-color-rgb), 0.5);
}

.button-primary:hover:not(:disabled) {
    background-color: var(--theme-color-hover);
    box-shadow: 0 4px 15px rgba(var(--theme-color-rgb), 0.4);
}

/* === Secondary Tema === */
.button-secondary {
    --theme-color: var(--color-secondary);
    --theme-color-rgb: var(--color-secondary-rgb);
    --theme-color-hover: var(--color-secondary-hover);

    background-color: var(--theme-color);
    color: var(--color-text-highlight);
    box-shadow: 0 2px 6px rgba(var(--theme-color-rgb), 0.25);
    --shadow-color: rgba(var(--theme-color-rgb), 0.5);
}

.button-secondary:hover:not(:disabled) {
    background-color: var(--theme-color-hover);
    box-shadow: 0 4px 15px rgba(var(--theme-color-rgb), 0.4);
}

/* === Tertiary Tema === */
.button-tertiary {
    --theme-color: var(--color-tertiary);
    --theme-color-rgb: var(--color-tertiary-rgb);
    --theme-color-hover: var(--color-tertiary-hover);

    background-color: var(--theme-color);
    color: var(--color-bg);
    box-shadow: 0 2px 6px rgba(var(--theme-color-rgb), 0.25);
    --shadow-color: rgba(var(--theme-color-rgb), 0.5);
}

.button-tertiary:hover:not(:disabled) {
    background-color: var(--theme-color-hover);
    box-shadow: 0 4px 15px rgba(var(--theme-color-rgb), 0.4);
}

/* === Outline Variants === */
.button-outline-primary {
    --theme-color: var(--color-primary);
    --theme-color-rgb: var(--color-primary-rgb);
    --theme-color-hover: var(--color-primary-hover);

    background: transparent;
    border: 1.5px solid var(--theme-color);
    color: var(--theme-color);
    box-shadow: none;
    --shadow-color: rgba(var(--theme-color-rgb), 0.5);
}

.button-outline-primary:hover:not(:disabled),
.button-outline-primary.active {
    background-color: var(--theme-color);
    color: var(--color-bg);
    box-shadow: 0 4px 15px rgba(var(--theme-color-rgb), 0.4);
}
.button-outline-secondary {
    --theme-color: var(--color-secondary);
    --theme-color-rgb: var(--color-secondary-rgb);
    --theme-color-hover: var(--color-secondary-hover);

    background: transparent;
    border: 1.5px solid var(--theme-color);
    color: var(--theme-color);
    box-shadow: none;
    --shadow-color: rgba(var(--theme-color-rgb), 0.5);
}

.button-outline-secondary:hover:not(:disabled),
.button-outline-secondary.active {
    background-color: var(--theme-color);
    color: var(--color-bg);
    box-shadow: 0 4px 15px rgba(var(--theme-color-rgb), 0.4);
}

.button-outline-tertiary {
    --theme-color: var(--color-tertiary);
    --theme-color-rgb: var(--color-tertiary-rgb);
    --theme-color-hover: var(--color-tertiary-hover);

    background: transparent;
    border: 1.5px solid var(--theme-color);
    color: var(--theme-color);
    box-shadow: none;
    --shadow-color: rgba(var(--theme-color-rgb), 0.5);
}

.button-outline-tertiary:hover:not(:disabled),
.button-outline-tertiary.active {
    background-color: var(--theme-color);
    color: var(--color-bg);
    box-shadow: 0 4px 15px rgba(var(--theme-color-rgb), 0.4);
}

/* === Small Variant === */
.button-sm {
    font-size: var(--font-size-sm);
    font-weight: 600;
    padding: 0.4rem 1.5rem;
    min-height: 34px;
    border-radius: calc(var(--radius-md) - 2px);
}

/* === Full Width === */
.button-full {
    width: 100%;
}

/* === Loading Spinner === */
.button.loading {
    color: transparent !important;
    pointer-events: none;
    opacity: 0.8;
}

.button.loading::after {
    content: "";
    position: absolute;
    width: 1rem;
    height: 1rem;
    border: 2px solid var(--color-bg);
    border-top-color: transparent !important;
    border-radius: 50%;
    animation: buttonSpin 0.6s linear infinite;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}

/* === Button Icon Temeli === */
.button-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 1.3rem;
    user-select: none;
    border: 2px solid transparent;
    background: transparent;
    color: var(--theme-color);
    transition: background-color 0.25s ease, color 0.25s ease,
    box-shadow 0.25s ease, transform 0.15s ease;
    box-shadow: var(--shadow-sm);
    position: relative;
}

.button-icon-sm {
    width: 35px;
    height: 35px;
    font-size: var(--font-size-md);
}

.button-icon-saydam {
    box-shadow: var(--shadow-lg) !important;
    color: var(--color-muted) !important;
    background: var(--color-surface) !important;
}

.button-icon-saydam:hover {
    background: var(--color-border) !important;
}

.button-icon:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
    box-shadow: none;
}

/* Hover & Active */
@media (hover: hover) and (pointer: fine) {
    .button-icon:hover:not(:disabled) {
        background-color: var(--theme-color);
        color: var(--color-bg);
        box-shadow: 0 6px 15px rgba(var(--theme-color-rgb), 0.3);
    }
}

.button-icon:active:not(:disabled) {
    transform: scale(0.95);
}

/* === Button Icon Tema Sınıfları === */

.button-icon-primary {
    --theme-color: var(--color-primary);
    --theme-color-rgb: var(--color-primary-rgb);
    color: var(--color-primary);
    border-color: var(--color-primary);
}

.button-icon-secondary {
    --theme-color: var(--color-secondary);
    --theme-color-rgb: var(--color-secondary-rgb);
    color: var(--color-secondary);
    border-color: var(--color-secondary);
}

.button-icon-tertiary {
    --theme-color: var(--color-tertiary);
    --theme-color-rgb: var(--color-tertiary-rgb);
    color: var(--color-tertiary);
    border-color: var(--color-tertiary);
}

.button-transparent.loading::after {
    border-color: transparent var(--color-primary) !important;
    border-top-color: transparent !important;
}

.button-error {
    --theme-color: var(--color-error);
    --theme-color-rgb: var(--color-error-rgb);
    --theme-color-hover: var(--color-error-hover);

    background-color: var(--theme-color);
    color: var(--color-bg);
    box-shadow: 0 2px 6px rgba(var(--theme-color-rgb), 0.25);
    --shadow-color: rgba(var(--theme-color-rgb), 0.5);
}

.button-error:hover:not(:disabled) {
    background-color: var(--theme-color-hover);
    box-shadow: 0 4px 15px rgba(var(--theme-color-rgb), 0.4);
}

.button-outline-error {
    --theme-color: var(--color-error);
    --theme-color-rgb: var(--color-error-rgb);
    --theme-color-hover: var(--color-error-hover);

    background: transparent;
    border: 1.5px solid var(--theme-color);
    color: var(--theme-color);
    box-shadow: none;
    --shadow-color: rgba(var(--theme-color-rgb), 0.5);
}

.button-outline-error:hover:not(:disabled) {
    background-color: var(--theme-color);
    color: var(--color-bg);
    box-shadow: 0 4px 15px rgba(var(--theme-color-rgb), 0.4);
}

.button-success {
    --theme-color: var(--color-success);
    --theme-color-rgb: var(--color-success-rgb);
    --theme-color-hover: var(--color-success-hover);

    background-color: var(--theme-color);
    color: var(--color-bg);
    box-shadow: 0 2px 6px rgba(var(--theme-color-rgb), 0.25);
    --shadow-color: rgba(var(--theme-color-rgb), 0.5);
}

.button-success:hover:not(:disabled) {
    background-color: var(--theme-color-hover);
    box-shadow: 0 4px 15px rgba(var(--theme-color-rgb), 0.4);
}

.button-outline-success {
    --theme-color: var(--color-success);
    --theme-color-rgb: var(--color-success-rgb);
    --theme-color-hover: var(--color-success-hover);

    background: transparent;
    border: 1.5px solid var(--theme-color);
    color: var(--theme-color);
    box-shadow: none;
    --shadow-color: rgba(var(--theme-color-rgb), 0.5);
}

.button-outline-success:hover:not(:disabled) {
    background-color: var(--theme-color);
    color: var(--color-bg);
    box-shadow: 0 4px 15px rgba(var(--theme-color-rgb), 0.4);
}

.button-icon-error {
    --theme-color: var(--color-error);
    --theme-color-rgb: var(--color-error-rgb);
    color: var(--color-error);
    border-color: var(--color-error);
}

.button-icon-success {
    --theme-color: var(--color-success);
    --theme-color-rgb: var(--color-success-rgb);
    color: var(--color-success);
    border-color: var(--color-success);
}

@keyframes buttonSpin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
.form-group {
    position: relative;
    margin-bottom: var(--space);
}

.form-input {
    width: 100%;
    padding: var(--space-md);
    font-size: var(--font-size-md);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    background: var(--color-surface);
    color: var(--color-text);
    outline: none;
    transition: border-color 0.3s ease;
}


.phone-verify-group.cancelable {
    display: flex
;
    flex-direction: column;
    align-items: flex-end;
    flex-direction: column;
    gap: 5px;

}

.form-input.form-input-search {
    padding-right: 50px;
}

.form-input.input-error-border {
    border-color: var(--color-error);
    box-shadow: 0 0 0 3px rgba(var(--color-error-rgb), 0.3);
}

.form-input.input-success-border {
    border-color: var(--color-success);
    box-shadow: 0 0 0 3px rgba(var(--color-success-rgb), 0.3);
}
.form-input.input-success-border+.form-label {
    color: var(--color-success) !important;
}


.form-input.input-error-border+.form-label {
    color: var(--color-error) !important;
}

.input-wrapper {
    position: relative;
}

.form-label {
    position: absolute;
    top: .85rem;
    padding-inline: 30px;
    left: 0.75rem;
    color: var(--color-muted);
    font-size: var(--font-size-xs);
    font-weight: 600;
    pointer-events: none;
    background: var(--color-surface);
    padding: 0 0.25rem;
    transition: var(--transition-fast);
    user-select: none;
}



.input-clear-button {
    display: none;
    padding-inline: .7rem;
    position: absolute;
    right: 2px;
    --color-bg: var(--color-primary);
}

.form-input:focus ~ .input-clear-button,
.form-input:valid ~ .input-clear-button{
    display: flex !important;
}

.form-input:focus ~ .input-focus-disable,
.form-input:valid ~ .input-focus-disable{
    display: none !important;
}

.form-input-icon {
    width: 32px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}
.iti__selected-flag {
    background: transparent !important;
}

/* Input doluyken label yukarı çıksın */
.form-group:has(.form-input:not(:placeholder-shown)) .form-label,
.form-input:not(:placeholder-shown) + .form-label,
.form-input:focus + .form-label,
.form-group.label-active > .form-label,
.form-label.active{
    border-radius: 4px 4px 0 0;
    padding-inline: 8px;
    top: -.7rem;
    left: 0.5rem;
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    font-weight: 700;
}


.toggle-label {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    font-size: 1rem;
    user-select: none;
}

.toggle-input {
    opacity: 0;
    position: absolute;
}

.toggle-slider {
    width: 50px;
    height: 26px;
    background-color: #ccc;
    border-radius: 9999px;
    position: relative;
    transition: background-color 0.3s ease;
}

.toggle-slider::before {
    content: '';
    position: absolute;
    height: 20px;
    width: 20px;
    left: 3px;
    bottom: 3px;
    background-color: #fff;
    border-radius: 50%;
    transition: transform 0.3s ease;
}

.toggle-input:checked + .toggle-slider {
    background-color: var(--color-primary, #6C8ED9);
}

.toggle-input:checked + .toggle-slider::before {
    transform: translateX(24px);
}

.toggle-text {
    margin-left: 0.5rem;
    font-weight: 600;
    color: var(--color-text, #333);
}
/* === Container Base === */
.container,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
}

/* === Breakpoints === */
@media (min-width: 576px) {
    .container-sm,
    .container {
        max-width: 540px;
    }
}

@media (min-width: 768px) {
    .container-md,
    .container {
        max-width: 720px;
    }
}

@media (min-width: 992px) {
    .container-lg,
    .container {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {
    .container-xl,
    .container {
        max-width: 1140px;
    }
}

@media (min-width: 1400px) {
    .container-xxl,
    .container {
        max-width: 1440px;
    }
}

/* === Fluid Container === */
.container-fluid {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
}

.searchbar {
    display: flex;
    align-items: center;
    position: relative;
    background: var(--color-primary);
    padding-left: 100px;
    padding-right: 48px;
    border-radius: var(--radius-full);
    box-shadow: var(--shadow-sm);
    max-width: 600px;
    width: 100%;
}

.searchbar-wrapper {
    flex: 1;
    padding-inline: 2.5rem;
    display: flex;
    justify-content: center;
}

.searchbar .searchbar-input {
    width: 100%;
    min-height: 42px;
    border-radius: var(--radius-full);
    background: var(--color-bg);
}

.search-kategori-select {
    height: 100%;
    left: 15px;
    top: 1px;
    font-size: var(--font-size-md);
}


.search-kategori-selected {
    height: 100%;
    display: flex
;
    cursor: pointer ;
    align-items: center;
    gap: 8px;
    width: 90px;
    color: var(--color-text-highlight);
}

.searchbar-toggler {
    display: none;
}

.searchbar-closer {
    display: none;
}


.search-kategori-selected i {
    margin-bottom: 0.08rem;
}

.searchbar-input {
    padding: 0rem 1.2rem;
}

.search-button {
    position: absolute;
    right: 20px;
    top: 9px;
    cursor: pointer;
    color: var(--color-text-highlight);
}



@media screen and (max-width: 991px) {

    .searchbar-wrapper {
        padding-left: 0 !important;
    }

    .searchbar {
        height: 100%;
        border-radius: 0;
    }

    .search-button {
        top: 32% !important;
    }
    .searchbar-toggler {
        display: flex;
    }
    .searchbar-wrapper:not(.active) .searchbar{
        display: none;
    }

    .searchbar-wrapper.active .searchbar-toggler {
        display: none !important;
    }
    .searchbar-wrapper.active .searchbar-closer {
        display: flex !important;
    }

    .searchbar-wrapper {
        flex: none !important;
        margin-left: auto;
        padding-inline: .5rem;
    }


    .searchbar-wrapper.active {
        position: absolute;
        width: 100%;
        background: var(--color-bg);
        height: 100%;
        z-index: 5;
        align-items: center;
        display: flex;
        left: 0;
    }

    .searchbar-wrapper.active .searchbar {
        width: calc(100% - 42px + 1rem);
    }


}
.dropdown {
    margin: 0;
    background: var(--color-bg);
    color: var(--color-text);
    padding: 0;
    overflow: hidden;
    min-width: 230px;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.12);
    position: absolute;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
    pointer-events: none;
    z-index: var(--z-dropdown);
    border-radius: var(--radius-md);
    font-family: 'Manrope', sans-serif;
    font-size: 0.9rem;
    user-select: none;
}

.dropdown-divider {
    border-bottom: 1px solid var(--color-trans);
    margin-block: 1rem;
    margin-inline: .7rem;
}

.dropdown.dropdown-left {
    right: 0;
}

.dropdown-container {
    position: relative !important;
}

.dropdown.active {
    opacity: 1;
    pointer-events: all;
    visibility: visible;
}

.dropdown .dropdown-item {
    padding: 0 !important;
    margin: 0 !important;
}



.dropdown .dropdown-item .dropdown-link {
    display: flex;
    align-items: flex-end;
    padding: 0.6rem 1rem;
    font-weight: var(--fw-semibold);
    color: inherit !important;
    text-decoration: none;
    transition: background-color 0.2s ease;
    cursor: pointer;
    border-radius: 4px;
}

.dropdown .dropdown-item .dropdown-link i {
    min-width: 20px;
    min-height: 20px;
    margin-right: 0.6rem;
    font-size: 1.1rem;
    text-align: center;
    color: var(--color-primary);
    flex-shrink: 0;
}

.dropdown .dropdown-item:hover .dropdown-link,
.dropdown-item.active .dropdown-link {
    background-color: var(--hover-bg);
    color: var(--color-primary);
}

.dropdown .dropdown-item:last-child .dropdown-link {
    border-bottom: none;
}
.modal {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;

    /* Başlangıçta görünmez, tıklamalar engellenir */
    opacity: 0;
    pointer-events: none;

    /* Animasyon için */
    transition: opacity 0.3s ease;
}



.modal.is-open {
    opacity: 1;
    pointer-events: auto;
}

.modal-map {
    width: 100%;
    height: 480px;
}

.modal-map-wrapper {
    position: relative;
}

.modal__icon-center {
    display: flex
;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-5xl);
    color: var(--color-primary);
    padding: 0 0 var(--space-md) 0;
}

.modal__text {
    font-size: var(--font-size-md);
    font-weight: var(--fw-semibold);
    text-align: center;
    color: var(--color-text);
}

.map-error {
    top: 0;
    left: 0;
    position: absolute;
    background: rgba(255, 255, 255, .8);
    font-size: var(--font-size-sm);
    padding: var(--space);
    color: var(--color-error);
    font-weight: var(--fw-semibold);
    z-index: var(--z-modal-dropdown-down);
    width: 100%;
    display: none;
}
.map-error.active {
    display: block;
}

.modal__title {
    font-size: var(--font-size-lg);
    font-weight: var(--fw-semibold);
    color: var(--color-text);
    padding: 1rem;
    position: relative;
    text-align: center;
    z-index: 1;
}

.urun-secim-area .modal__title {
    box-shadow: var(--shadow-lg-bottom);
    position: relative;
}

.modal__overlay {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;

    /* Yumuşak zoom efekti için başlangıç */
    transform: scale(0.9);
    transition: transform 0.3s ease;
}

.modal.is-open .modal__overlay {
    transform: scale(1);
}

.modal__loader {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: var(--color-bg);
    display: flex
;
    align-items: center;
    justify-content: center;
}

.modal__container {
    position: relative; /* close butonun absolute pozisyonu için */
    background-color: var(--color-bg);
    border-radius: 1rem;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    max-width: 480px;
    width: 100%;
    transition: opacity 0.3s ease;
    overflow: hidden;
}


#confirm-modal .modal__container{
    padding: var(--space);
}

.modal.modal-lg .modal__container {
    max-width: 600px;
}

.modal-loader {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: var(--color-bg);
    z-index: 3;
}

.modal__close {
    z-index: 999;
    background: transparent;
    border: none;
    color: var(--color-text, #000);
    font-size: 1.5rem;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    transition: color 0.3s ease;
}

.modal__body.not-scroll {
    overflow-y: visible !important;
}


.modal.overflow-visible .modal__container{
    overflow: visible !important;
}

.modal:has([data-view="paymentModal"]) .modal__close {
    top: -2.5rem;
    right: .5rem;
    background: var(--color-bg);
    color: var(--color-text);
    border-radius: var(--radius-full);
}
.modal__header {
    z-index: 10;
    position: relative;
    height: 60px;

    color: var(--color-text);
    color: var(--color-text);
    justify-content: space-between;
    display: flex
;
    align-items: center;
    padding: var(--space);
    font-weight: var(--fw-semibold);
    font-size: var(--font-size-lg);
}

.modal__header.shadowed {
    box-shadow: var(--shadow-lg-bottom);
}

.modal__body {
    padding: var(--space-md);
    padding-top: var(--space-lg);
    max-height: 75vh;
    overflow-y: auto;
}

.modal__back {


    background: transparent;
    border: none;
    color: var(--color-text, #000);
    font-size: 1.5rem;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    transition: color 0.3s ease;

}

.modal__close:hover,
.modal__back:hover{
    color: var(--color-primary, #F4A261);
}







@media (max-width: 480px) {
    .modal__container {
        max-width: 90vw;
    }
}
.side-menu {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background-color: var(--color-bg, #fff);
    color: var(--color-text, #1a1a1a);
    display: flex;
    flex-direction: column;
    padding: 2rem 1.5rem;
    transform: translateX(-100%);
    transition: transform 0.35s ease-in-out;
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    overflow-y: auto;
    border-radius: 0 1rem 1rem 0;
}

.side-menu.active {
    transform: translateX(0);
    box-shadow: 6px 0 20px rgba(0, 0, 0, 0.15);
}

.side-menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
}

.side-menu-header h2 {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--color-primary, #6C8ED9);
}

.menu-close {
    background: none;
    border: none;
    font-size: 2rem;
    color: var(--color-primary, #6C8ED9);
    cursor: pointer;
    transition: transform 0.2s ease;
}

.menu-close:hover {
    transform: rotate(90deg);
}

.side-menu-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.side-menu-list li a {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.2rem;
    border-radius: 1rem;
    background-color: var(--color-surface, #f4f4f6);
    color: var(--color-text, #333);
    font-weight: 600;
    font-size: 1.1rem;
    text-decoration: none;
    transition: all 0.25s ease;
}

.side-menu-list li a:hover {
    background-color: var(--color-primary, #6C8ED9);
    color: #fff;
}

.side-menu-list li a i {
    font-size: 1.4rem;
    min-width: 1.6rem;
    color: var(--color-primary, #6C8ED9);
    transition: color 0.3s ease;
}

.side-menu-list li a:hover i {
    color: #fff;
}



/* Main Card */
.icerik-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 1.5rem;
    min-height: 70px;
}

.icerik-kategori {
    margin-block: 8px;
    text-align: left;
}
.icerik-kategori-box {
    background: var(--color-primary);
    font-size: var(--font-size-xs);
    font-weight: var(--fw-semibold);
    color: var(--color-text-highlight) !important;
    padding: .3em .6em;
    border-radius: var(--radius);
    box-shadow: var(--shadow-md);
}



/* Kart */
.icerik-box {
    background: var(--color-bg);
    border: 1px solid var(--color-trans);
    border-radius: 12px;
    padding: 1rem;
    text-decoration: none;
    box-shadow: var(--shadow-sm);
    cursor: pointer;
    transition: var(--transition-fast);
    display: flex;
    flex-direction: column;
}
.icerik-box:hover {
    box-shadow: var(--shadow-md);
}
.icerik-header {
    font-weight: 600;
    font-size: 1.1rem;
    color: var(--color-tertiary);
    margin-bottom: 0.5rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.icerik-content {
    font-size: 0.95rem;
    line-height: 1.4em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4; /* kaç satır göstermek istiyorsan */
    overflow: hidden;
    color: var(--color-text);
    height: 84px;
}


.icerik-bottom {
    font-size: 0.85rem;
    color: var(--color-muted);
}

.icerik-box:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-3px);
}

.icerik-butce {
    font-weight: 600;
    font-size: 0.95rem;
    margin-bottom: 0.75rem;
    padding-top: 10px;
    border-top: 1px solid var(--color-trans);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.icerik-butce .butce-label {
    color: var(--color-tertiary);
}

.icerik-butce .butce-label::after {
    content: ":";
    padding-left: 6px;
    padding-right: 4px;
}

.icerik-butce .butce {
    color: var(--color-primary);
}
.section-hero-title {
    font-size: var(--font-size-3xl);
    font-weight: var(--fw-semibold);
    margin-bottom: 2rem;
}


.section-hero-searchbar {
    width: clamp(300px, 100%, 800px) !important;
    background: var(--color-surface);
    padding: 1.5rem 2rem;
    padding-bottom: 1rem;
    align-items: stretch !important;
    border-radius: var(--radius-lg);
}



.section-hero-container {
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
}


.section-hero-box {
    width: 100%;
    padding-left: 1.3rem;
    padding-right: 1.3rem;
    display: flex;
    align-items: center;
    flex-direction: column;
}


@media screen and (max-width: 991px) {
    .section-hero-box {
        padding-left: .7rem !important;
        padding-right: .7rem !important;
    }

    .section-hero-title {
        font-size: var(--font-size-xl) !important;
    }
}


/* === PRODUCT CARD === */
.product-card {
    background-color: var(--color-surface);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.25s ease;
    height: 100%;
    border: 1px solid var(--color-border);
    text-decoration: none;
    user-select: none;
    max-width: 400px;
}

.product-card:hover {
    box-shadow: var(--shadow-md);
}

.product-card-top {
    position: relative;
}

.product-card-image-wrapper {
    width: 100%;
    padding-top: 56.25%; /* 16:9 oran, daha yatay ve ufak görsel */
    position: relative;
    overflow: hidden;
    background: var(--color-light);
}


.product-card-image-wrapper::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle,
    rgba(0,0,0,0) 50%,      /* Ortası tamamen şeffaf */
    rgba(0,0,0,0.1) 100%,   /* Yavaşça köşelere doğru siyahlaşıyor */
    rgba(0,0,0,0.1) 100%    /* Köşeler biraz daha koyu */
    );
    transition: background 0.3s ease;
}

/* === PRODUCT CARD HOVER GÖRSEL ÖZELİ === */
.product-card:hover .product-card-image {
    transform: scale(1.05);
    transition: transform 0.3s ease;
}

/* Görsele transition ekle */
.product-card-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: 500px;
    max-height: 500px;
    object-fit: cover;
    transition: transform 0.3s ease;
}

/* === BADGE / TICKET === */
.product-card-ticket {
    position: absolute;
    left: var(--space-xs);
    background-color: var(--color-primary);
    color: white;
    font-size: var(--font-size-xs);
    font-weight: var(--fw-bold);
    padding: 2px 8px;
    border-radius: var(--radius);
    z-index: 2;
    white-space: nowrap;
}

.product-card-ticket-primary {
    background-color: var(--color-primary);
}

/* === FAVORİ BUTONU === */
.product-card-top-button {
    z-index: 3;
}

.product-card-top-button-item {
    background: white;
    border-radius: var(--radius-full);
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primary);
    transition: background-color 0.3s ease;
    cursor: pointer;
}

.product-card-top-button-item:hover {
    background-color: var(--color-primary-bg);
}

/* === CARD CONTENT === */
.product-card-content {
    padding: var(--space);
    display: flex;
    flex-direction: column;
}

.product-card-name {
    font-size: var(--font-size-base);
    font-weight: var(--fw-semibold);
    color: var(--color-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.product-card-rate {
    color: var(--color-warning);
    font-size: var(--font-size-sm);
    font-weight: var(--fw-medium);

}


.product-card-info-header {
    justify-content: space-between;
    display: flex;
    align-items: center;
    margin-bottom: .4rem
}




.product-card-info-row {
    display: flex
;
    font-size: var(--font-size-xs);
    font-weight: var(--fw-semibold);
}
.product-card-info-item {
    display: flex;
    background: var(--color-primary);
    color: var(--color-light);
    padding: 1px 8px;
    border-radius: 15px;
    margin-right: 4px;
}


.product-card-info-item_deleted:not(:last-child)::after {
    content: "•";
    padding-inline: 4px;
    color: var(--color-muted);
}

.product-card-info-body {
    font-size: var(--font-size-sm);
    color: var(--color-muted);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.product-card-info-footer {
    color: var(--color-muted);
    font-size: var(--font-size-xs);
    font-weight: var(--fw-semibold);
    justify-content: space-between;
    display: flex;
    align-items: center;

}
/* === Swiper pagination & navigation === */
.swiper-pagination {
    margin-top: var(--space-sm);
    text-align: center;
}

.swiper-pagination-bullet {
    background-color: var(--color-border);
    opacity: 1;
    margin: 0 4px;
    transition: background-color 0.3s;
}

.swiper-pagination-bullet-active {
    background-color: var(--color-primary);
}

.swiper-button-next,
.swiper-button-prev {
    color: var(--color-primary);
    transition: color 0.3s ease;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
    color: var(--color-primary-hover);
}

.product-card-ticket-danger {
    background-color: var(--color-error);
    color: var(--color-light);
}

.product-card-ticket-success {
    background-color: var(--color-success);
    color: var(--color-light);
}

@media (min-width: 768px) {
    .product-card-content {
        padding: var(--space-md);
    }

}
/* Genel panel stil */
.filter-panel {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: var(--space);
    box-shadow: var(--shadow-sm);
    font-family: var(--font-base);
    color: var(--color-text);
    margin-top: 1.5rem;
}

.filter-panel-header {
    display: flex
;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
}

.filter-panel-inner {
    overflow-y: auto;
    height: 82vh;
}

.filter-panel.filter-panel-sticky {
    position: sticky;
    top: 95px;
}

.filter-panel-title {
    font-size: var(--font-size-md);
    font-weight: var(--fw-semibold);
    color: var(--color-text);
}

.filter-panel-list {
    display: flex;
    flex-direction: column;
    gap: var(--space);
}

.filter-panel-item {
    border-top: 1px solid var(--color-border);
    padding-top: var(--space-sm);
}

.filter-panel-content {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    max-height: none;
    overflow: hidden;
    position: relative;
}
/* Daha fazla içerik gizlenecek */
.filter-panel-content .filter-panel-filter {
    display: flex;
    align-items: center;
}

/* Toggle edilen kısımlar için gizli class */
.filter-hidden {
    display: none !important;
}

.filter-panel-filter-range {
    flex-direction: column;
    gap: 10px;
    padding-block: 30px;
}
.filter-panel-filter-range .filter-panel-label {
    font-size: var(--font-size-md);
    font-weight: var(--fw-semibold);
}
.filter-panel-filter-range input {
    width: 90%;
}

/* Göster/Gizle butonu */
.filter-toggle-button {
    margin-top: var(--space-xs);
    padding: 0.4rem 0.75rem;
    background: var(--color-primary-bg);
    border: 1px solid var(--color-primary);
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    font-weight: var(--fw-medium);
    border-radius: var(--radius);
    cursor: pointer;
    transition: all var(--transition-fast);
    width: fit-content;
}


.filter-toggle-button:hover {
    background-color: var(--color-primary-hover);
    color: white;
}

/* Input gizle */
.filter-panel-filter input[type="checkbox"],
.filter-panel-filter input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 1.2rem;
    height: 1.2rem;
    margin: 0;
    margin-right: var(--space-xs);
    border: 2px solid var(--color-border);
    border-radius: var(--radius);
    background-color: #fff;
    transition: all var(--transition-fast);
    cursor: pointer;
    position: relative;
}

.filter-panel-filter input[type="radio"] {
    border-radius: var(--radius-full);
}

/* Checked */
.filter-panel-filter input[type="checkbox"]:checked {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    box-shadow: var(--shadow-primary);
}

.filter-panel-filter input[type="radio"]:checked {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    box-shadow: var(--shadow-primary);
}

/* Tik işareti veya dot efekti */
.filter-panel-filter input[type="checkbox"]::after {
    content: '';
    position: absolute;
    top: 0.25rem;
    left: 0.35rem;
    width: 0.25rem;
    height: 0.5rem;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    opacity: 0;
    transition: all var(--transition-fast);
}

.filter-panel-filter input[type="checkbox"]:checked::after {
    opacity: 1;
}

.filter-panel-filter input[type="radio"]::after {
    content: '';
    position: absolute;
    top: 0.25rem;
    left: 0.249rem;
    width: 0.51rem;
    height: 0.51rem;
    background-color: white;
    border-radius: var(--radius-full);
    opacity: 0;
    transition: all var(--transition-fast);
}

.filter-panel-filter input[type="radio"]:checked::after {
    opacity: 1;
}



/* Label */
.filter-panel-label {
    font-size: var(--font-size-sm);
    color: var(--color-text);
    cursor: pointer;
    user-select: none;
    transition: color var(--transition-fast);
}

.filter-panel-label:hover {
    color: var(--color-primary);
}



.range-wrapper {
    width: 100%;
    text-align: center;
}

/* Tooltip */
.range-tooltip {
    position: absolute;
    top: -28px;
    padding: 4px 8px;
    background: var(--color-primary);
    color: #fff;
    border-radius: 4px;
    font-size: 0.85em;
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
    z-index: 10;
}


@media (max-width: 768px) {
    .filter-panel-content {
        flex-direction: column;
    }
}

/* Mobilde panel gizli olsun */
@media (max-width: 992px) {
    .filter-wrapper-col {
        position: sticky;
        top: 74px;
        z-index: var(--z-inner-overlay);
        background: var(--color-surface);
    }

    .filter-panel {
        position: fixed !important;
        top: 0 !important;
        right: 0;
        margin: 0 !important;
        width: 100%;
        height: 100%;
        background: var(--color-surface);
        z-index: var(--z-full-overlay);
        transform: translateX(100%);
        transition: transform var(--transition-normal);
    }

    .filter-wrapper-col:has(.filter-panel.active) {
        z-index: var(--z-nav);

    }

    .filter-panel-inner {
        height: 100% !important;
    }

    .filter-panel.active {
        transform: translateX(0%);
    }

    .filter-toggle-btn {
        position: fixed;
        bottom: 1rem;
        right: 1rem;
        background: var(--color-primary);
        color: white;
        border: none;
        padding: 0.75rem 1rem;
        border-radius: var(--radius-md);
        z-index: var(--z-full-overlay);
        box-shadow: var(--shadow-primary);
    }
}
.breadcrumb-container {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.25rem;
    font-size: 0.875rem;
    padding: 1.5rem 1rem;
}

.breadcrumb-item a {
    color: var(--color-primary);
    text-decoration: none;
    font-weight: var(--fw-semibold);
    font-size: var(--font-size-md);

}

.breadcrumb-item.active span {
    font-weight: var(--fw-semibold);
    color: var(--color-text);
}

.breadcrumb-separator {
    color: var(--color-muted);
    font-size: .5rem;
    margin-inline: .8rem;
}

.breadcrumb-dropdown {
    display: flex;
    align-items: center;
    position: relative;
}

.breadcrumb-toggle-checkbox {
    display: none;
}

.breadcrumb-toggle-label {
    display: none;
    cursor: pointer;
    padding: 4px 6px;
    width: 31px;
    align-items: center;
    justify-content: center;
    height: 31px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
}

.breadcrumb-middle {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

/* ✅ Mobil görünüm: dropdown */
@media (max-width: 768px) {
    .breadcrumb-middle {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        flex-direction: column;
        background: var(--color-surface);
        box-shadow: var(--shadow-md);
        padding: 0.5rem;
        border-radius: var(--radius-md);
        z-index: var(--z-dropdown);
        min-width: 160px;
    }

    .breadcrumb-middle .breadcrumb-item {
        width: 100%;
    }

    .breadcrumb-middle .breadcrumb-item a {
        display: block;
        text-align: center;
        padding: .3rem .6rem;
        transition: var(--transition-fast);
        border-radius: var(--radius-md);
    }

    .breadcrumb-middle .breadcrumb-item:hover a {
        color: var(--color-primary);
        background: rgba(var(--color-primary-rgb), .1);

    }

    .breadcrumb-toggle-label {
        display: flex;
    }

    .breadcrumb-toggle-checkbox:checked + .breadcrumb-toggle-label + .breadcrumb-middle {
        display: flex;
    }

    .breadcrumb-middle .breadcrumb-separator {
        display: none !important;
    }
}
.restoran-container {
    background: var(--color-bg);
}
.restoran-header-grid {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto auto auto auto;
    grid-template-areas:
    "image characteristics"
    "image title"
    "image tags"
    "image fees"
    "image meta";
    gap: .3rem 1rem;
    border-radius: var(--radius-lg);
    align-items: start;
}


.restoran-kapali-mesaj {
    padding: var(--space-sm);
    background: rgba(var(--color-primary-rgb), .1);
    border-radius: var(--radius-md);
    text-align: center;
    font-size: var(--font-size-sm);
    color: var(--color-error);
    font-weight: var(--fw-semibold);
    cursor: not-allowed;
}

.menu-item-row {
    row-gap: 20px;
}
.restoran-header-bottom {
    box-shadow: var(--shadow-md-bottom);
    position: sticky;
    top: 80px;
    z-index: var(--z-sticky-menus);
    background: var(--color-bg);
}

/* Görsel kutu ve resim */
.restoran-header-image-wrapper {
    grid-area: image;
    width: 150px;
    height: 150px;
    overflow: hidden;
    border-radius: var(--radius-lg);
    align-self: stretch;
    border: 1px solid var(--color-border);
}
.restoran-teslimat-secenek-wrapper {
    flex: 1;
    display: flex;
}
.restoran-teslimat-secenek-wrapper input:disabled~label {
    cursor: not-allowed;
    opacity: .5;
}


.restoran-header-tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.restoran-header-tags .tag-item {
    padding: 6px 12px;
    background: var(--color-primary);
    color: var(--color-light);
    font-size: var(--font-size-xs);
    font-weight: var(--fw-semibold);
    border-radius: var(--radius-full);
    display: flex
;
}

.restoran-header-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Diğer içerikler */
.restoran-header-characteristics { grid-area: characteristics; font-size: var(--font-size-sm); color: var(--color-muted); }
.restoran-header-title           { grid-area: title; font-size: var(--font-size-xl); font-weight: var(--fw-semibold); color: var(--color-text); }
.restoran-header-tags            { grid-area: tags; font-size: var(--font-size-sm); color: var(--color-muted); }
.restoran-header-fees            { grid-area: fees; font-weight:  var(--fw-semibold); margin-bottom: 10px; font-size: var(--font-size-sm); color: var(--color-muted); }

.restoran-header-meta {
    grid-area: meta;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--space-sm);
}
.restoran-header-meta .left,
.restoran-header-meta .right {
    display: flex;
    gap: var(--space-sm);
}
.restoran-header-meta .right {
    margin-left: auto;
}
.menu-item-card {
    display: flex;
    flex-direction: row;
    position: relative;
    padding: var(--space);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background-color: var(--color-surface);
    align-items: center;
    gap: var(--space);
    cursor: pointer;
    transition: box-shadow var(--transition-normal), transform var(--transition-fast);
}

.menu-item-card:hover {
    box-shadow: var(--shadow-md);



}


.restoran_modal_bilgi_box {
    margin-bottom: 16px;
    font-family: var(--font-base);
    color: var(--color-text);
}

.restoran-detay__section-title {
    font-size: 0.95rem;
    font-weight: var(--fw-semibold);
    margin-bottom: 8px;
    color: var(--color-text);
}

.restoran-detay__bilgi {
    display: flex;
    justify-content: space-between;
    font-size: 0.8rem;
    color: var(--color-muted);
    margin-bottom: 4px;
}

.restoran-detay__bilgi strong {
    flex-shrink: 0;
}

.restoran-detay__bilgi span {
    text-align: right;
    flex-grow: 1;
    padding-left: 10px;
}

.restoran-detay__odeme-tipleri,
.restoran-detay__teslimat-ucreti,
.restoran-detay__minimum-sepet {
    font-size: 0.8rem;
    color: var(--color-muted);
    line-height: 1.3;
    padding-left: 4px;
}

/* Accordion butonu */
#calisma-toggle button.button {
    font-size: 0.8rem;
    padding: 3px 8px;
}

#restoran-harita {
    width: 100%;
    height: 150px;
    margin-bottom: 10px;

}

.menu-item-card .menu-item-action button {
    width: 36px;
    height: 36px;
    border-radius: var(--radius-full);
    border: none;
    background-color: var(--color-primary);
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: var(--shadow-sm);
    transition: background-color var(--transition-fast);
}

.menu-item-card .menu-item-action:has(.button-count) .add-show-button {
    display: none;
}
.menu-item-card .menu-item-action button:hover {
    background-color: var(--color-primary-hover);
}

.menu-item-card .menu-item-info {
    flex: 1;
    font-family: var(--font-base);
}

.menu-item-card .menu-item-info h5 {
    font-size: var(--font-size-lg);
    font-weight: var(--fw-semibold);
    color: var(--color-text);
    margin-bottom: var(--space-xs);
}

.menu-item-card .menu-item-info .price {
    font-weight: var(--fw-bold);
    color: var(--color-primary);
    margin-bottom: var(--space-xs);
}

.menu-item-card .menu-item-info p {
    font-size: var(--font-size-sm);
    color: var(--color-muted);
    margin: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
}


.custom-tab-nav {
    height: 62px;
}

.menu-item-card .menu-item-image {
    width: 120px;
    height: 120px;
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid var(--color-border);
}

.menu-item-card .menu-item-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}

/* + butonu */
.menu-item-card .menu-item-action {
    position: absolute;
    bottom: var(--space-sm);
    right: var(--space-sm);
}

.menu-item-card .menu-item-action button {
    width: 36px;
    height: 36px;
}



@media (min-width: 1400px) {
    .restoran-header-image-wrapper {
        width: 180px;
        height: 180px;
    }
}

@media (min-width: 1200px) and (max-width: 1399px) {
    .restoran-header-image-wrapper {
        width: 160px;
        height: 160px;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .restoran-header-image-wrapper {
        width: 140px;
        height: 140px;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .restoran-header-image-wrapper {
        width: 120px;
        height: 120px;
    }
}

@media (min-width: 576px) and (max-width: 767px) {
    .restoran-header-image-wrapper {
        width: 100px;
        height: 100px;
    }
}

@media screen and (max-width: 991px) {
    .restoran-header-bottom {
        top: 128px !important;
    }
}

@media (max-width: 575px) {
    .restoran-header-grid {
        grid-template-columns: 120px 1fr;
        grid-template-rows: auto auto auto auto auto;
        grid-template-areas:
            "image title"
            "image characteristics"
            "tags tags"
            "fees fees"
            "meta meta";
        gap: 1rem 1rem;
    }

    .restoran-header-image-wrapper {
        width: 120px;
        height: 120px;
        border-radius: var(--radius-lg);
        align-self: start; /* stretch değil, üstte sabit kalsın */
    }
}
.custom-tabs-container {
    font-family: var(--font-base);
}

.custom-tab-nav {
    user-select: none;
    margin-top: 1rem;
}

.tab-empty-div {
    padding-block: 10px 40px;
    color: var(--color-text);
}



.custom-tab-btn,
.custom-tab-link {
    flex: none; /* swiper-slide kendisi genişliği ayarlıyor */
    min-width: 80px; /* minimum genişlik */
    text-align: center;
    background: none;
    border: none;
    cursor: pointer;
    font-weight: var(--fw-semibold);
    font-size: var(--font-size-base);
    color: var(--color-text);
    transition: border-color var(--transition-normal), color var(--transition-normal);
    text-decoration: none;
    white-space: nowrap;
    width: fit-content;
    position: relative;
    padding: 1rem 3.5rem;
    border-radius: var(--radius-md);
}


.custom-tab-btn.active::after,
.custom-tab-link.active::after {
    content: "";
    bottom: 0;
    height: 4px;
    width: 100%;
    left: 0;
    position: absolute;
    display: block;
    background: var(--color-primary);
}


.tab-arrow-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    background: var(--color-bg);
    box-shadow: var(--shadow-md);
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-ui-buttons);
    cursor: pointer;
}

.tab-arrow-left {
    left: 5px;
}

.tab-arrow-right {
    right: 5px;
}

.custom-tab-btn:first-child,
.custom-tab-link:first-child {
    border-left: none;
}



.custom-tab-contents {
    position: relative;
    padding-block: var(--space)
}

.custom-tab-content {
    display: block;
    color: var(--color-text);
    margin-bottom: var(--space-lg);
}

.custom-tab-title {
    font-size: var(--font-size-xl);
    font-weight: var(--fw-semibold);
    margin-bottom: var(--space);
    color: var(--color-text);
}

.custom-tab-content.hidden {
    display: none;
}

/* Show-all mod için */

.custom-tabs-container.show-all .custom-tab-nav {
    border-bottom: none;
    margin-bottom: var(--space-lg);
}

/* Show-all modda içerikler her zaman görünür */
.custom-tabs-container.show-all .custom-tab-content {
    display: block !important;
    margin-bottom: var(--space-lg);
    border-top: 1px solid var(--color-primary-bg);
    border-radius: var(--radius-md);
    scroll-margin-top: 80px; /* Header sabitse scroll da boşluk için */
}
.restoran-sepet-container {
    width: 100%;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md-bottom);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    font-family: var(--font-base);
    height: 100%;
    position: sticky;
    top: 148px;
    max-height: 84vh;
}
.restoran-sepet-container input[type="radio"] {
    display: none;
}


.restoran-sepet-wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--color-bg);
}

.restoran-sepet-header {
    padding: var(--space-sm) var(--space);
    border-bottom: 1px solid var(--color-border);
    background: var(--color-surface);
}

.restoran-teslimat-secim {
    display: flex;
    background: var(--color-light);
    border-radius: var(--radius-full);
    padding: 2px;
    gap: 4px;
    border: 1px solid var(--color-border);
}

.restoran-empty-sepet {
    text-align: center;
    padding: 40px 20px;
    color: var(--color-muted);
    font-size: 16px;
    margin-block: auto;
}

.restoran-empty-sepet .empty-icon {
    font-size: 40px;
    margin-bottom: 10px;
    color: var(--color-muted);
}


.restoran-teslimat-secenek {
    flex: 1;
    text-align: center;
    padding: 0.4rem 0.75rem;
    border-radius: var(--radius-full);
    font-size: var(--font-size-sm);
    font-weight: var(--fw-medium);
    cursor: pointer;
    transition: var(--transition-fast);
    color: var(--color-muted);
    user-select: none;
}


input#teslimat:checked:not(:disabled) ~ label[for="teslimat"],
input#gelal:checked:not(:disabled) ~ label[for="gelal"] {
    background: var(--color-primary-bg);
    color: var(--color-primary);
    font-weight: var(--fw-semibold);
}



.restoran-sepet-inner {
    padding: 0;
    flex: 1;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}
.sepet-item-secenekler {
    font-size: var(--font-size-xs);
    font-weight: var(--fw-semibold);
    padding: 6px 10px;
    border-top: 1px solid var(--color-border);
    margin-top: 10px;
    color: var(--color-muted);
}

.sepet-item-secenek-row .secenek-ad {
    max-width: 150px;
    display: inline-block;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.sepet-item-secenek-row {
    display: flex
;
    justify-content: space-between;
}

.sepet-item {
    display: flex;
    gap: var(--space-sm);
    margin-bottom: var(--space-sm);
    background: var(--color-surface);
    padding: var(--space-md);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-xs);
    width: 100%;
    max-width: 100%; /* container dışına çıkmayı engelle */
    box-sizing: border-box;
}

.sepet-item-image-wrapper {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: var(--radius-md);
    overflow: hidden;
    background: var(--color-bg);
    border: 1px solid var(--color-border);
}

.sepet-item-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.sepet-item-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    max-width: 100%; /* Görsel taşarsa buraya sıkış */
    overflow: hidden;
}


.sepet-item-title {
    font-size: var(--font-size-sm);
    font-weight: var(--fw-medium);
    color: var(--color-text);
    line-height: 1.4;
    height: calc(1.4em * 2);
    margin-bottom: .2rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    max-width: 100%;
    word-break: break-word;
}

.sepet-item-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: var(--font-size-xs);
    color: var(--color-muted);
}

.sepet-item-price {
    font-weight: var(--fw-semibold);
    font-size: var(--font-size-sm);
    color: var(--color-text);
}

.sepet-item-count {
    font-weight: var(--fw-regular);
}

.restoran-sepet-bottom {
    padding: var(--space-sm) var(--space);
    border-top: 1px solid var(--color-border);
    background: var(--color-surface);
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.restoran-sepet-total {
    font-size: var(--font-size-base);
    font-weight: var(--fw-bold);
    color: var(--color-text);
    text-align: right;
    display: flex;
    justify-content: space-between;
}

.restoran-sepet-mobil-button {
    position: fixed;
    width: 100%;
    bottom: 0;
    left: 0;
    padding: var(--space);
    background: var(--color-bg);
    box-shadow: var(--shadow-md-top);
    transition: var(--transition-fast);

}

.restoran-sepet-mobile-header {
    align-items: center;
    justify-content: space-between;
    padding: var(--space);
    border-bottom: 1px solid var(--color-border);
}

.restoran-sepet-mobil-button button {
    padding: var(--space) !important;

}


.sepet-icerik-box-item {
    border-bottom: 1px solid var(--color-border);
    padding: var(--space-md) var(--space-sm);
}

.sepet-icerik-box-item .secilen-secenekler {
    padding: 5px 15px 15px 15px;
}
.sepet-item-head {
    display: flex;
    align-items: center;
    gap: 10px;
}


.sepet-icerik-box-item-info {
    flex: 1;
}

.sepet-bilgileri-box-total {
    margin-top: var(--space-md);
    font-weight: var(--fw-bold);
}
.odeme-tamamla-mobil-info {
    align-items: center;
    justify-content: space-between;
    padding-block: var(--space-sm);
}


/* Mobilde 768px ve altında davranış */
@media (min-width: 991px) {

    .restoran-sepet-mobil-button {
        opacity: 0;
        visibility: hidden;
    }

    .odeme-tamamla-mobil-info {
        display: none;
    }
}
/* Mobilde 768px ve altında davranış */
@media (max-width: 991px) {
    .restoran-sepet-container.active {
        z-index: var(--z-page);
    }

    .odeme-tamamla-mobil-info {
        display: flex !important;
    }


    .odeme-tamamla-button {
        position: fixed;
        bottom: 0;
        box-shadow: var(--shadow-lg-top);
        left: 0;
        width: 100%;
        background: var(--color-surface);
        padding: var(--space-sm);
    }

    .restoran-sepet-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: var(--transition-fast);
    }

    .restoran-sepet-container.active .restoran-sepet-wrapper {
        opacity: 1;
        pointer-events: all;
        visibility: visible;
    }

    .restoran-sepet-container.active .restoran-sepet-mobil-button {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }


}
input[type="range"].custom-range {
    -webkit-appearance: none;
    height: 6px;
    background: var(--color-primary); /* Track rengi */
    border-radius: 3px;
    outline: none;
}

/* Webkit tarayıcılar için track */
input[type="range"].custom-range::-webkit-slider-runnable-track {
    height: 6px;
    background: var(--color-primary); /* Track rengi */


    border-radius: 3px;
}

/* Thumb (yuvarlak) */
input[type="range"].custom-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    background: var(--color-primary);
    border-radius: 50%;
    cursor: pointer;
    margin-top: -6px; /* track ortasında görünmesi için */
    border: none;
}

/* Firefox */
input[type="range"].custom-range::-moz-range-track {
    height: 6px;
    background: var(--color-primary); /* Track rengi */


    border-radius: 3px;
}

input[type="range"].custom-range::-moz-range-thumb {
    width: 18px;
    height: 18px;
    background: var(--color-primary);
    border-radius: 50%;
    cursor: pointer;
    border: none;
}
.dynamic-container-loader {
    min-height: 100vh;
    justify-content: center;
    align-items: center;
    display: none;
}

.dynamic-container-title{
    color: var(--color-text);
    font-size: var(--font-size-xl);
    font-weight: var(--fw-semibold);
    margin-bottom: var(--space-sm);
}
.dynamic-container-end-message {
    text-align: center;
    color: var(--color-muted);
    padding: 12px 0;
    font-size: 14px;
    font-style: italic;
    grid-column: 1 / -1;
    padding-block: 20px;
}


.dynamic-container.loading .dynamic-container-loader {
    display: flex !important;
}

.dynamic-container.loading .dynamic-container-body,
.dynamic-container.loading .dynamic-container-header {
    display: none !important;
}

.dynamic-container-empty-message {
    grid-column: 1 / -1;
    padding-block: 20px;
    text-align: center;
    font-size: var(--font-size-lg);
    font-weight: var(--fw-semibold);
    color: var(--color-error);
}
/* === GENEL GRUP === */
.product_options_option-group {
    margin-bottom: var(--space-lg);
    padding: var(--space-md);
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    transition: box-shadow var(--transition-fast), border-color var(--transition-fast);
}

.product_options_option-group[data-required="1"] {
    background-color: rgba(var(--color-error-rgb), 0.05);
}

.product_options_option-group.has-error {
    border-color: #e74c3c;
    background-color: #fff6f6;
}

.product_options_option-group.need-trigger {
    display: none;
    opacity: 0;
    pointer-events: none;
    max-height: 0;
    overflow: hidden;
    transition: opacity var(--transition-fast), max-height var(--transition-fast);
}

.product_options_option-group.need-trigger.active {
    display: block;
    opacity: 1;
    pointer-events: auto;
    max-height: 1000px;
}

.product_options_price-text {
    display: flex;
    justify-content: center;
    flex-direction: column ;
    margin-bottom: 10px;
}

.has-discount.product_options_price-text .fiyat{
    font-size: var(--font-size-sm);
    text-decoration: line-through;
    margin-bottom: -5px;
    color: var(--color-muted);
}
.product_options_price-text .indirimli-fiyat{
    font-size: var(--font-size-lg);
}

/* === GRUP BAŞLIKLARI === */
.product_options_option-group-name {
    font-size: var(--font-size-base);
    font-weight: var(--fw-semibold);
    margin-bottom: var(--space-md);
    color: var(--color-text);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.options-badge-wrapper {
    display: inline-flex;
    gap: 6px;
    margin-left: 8px;
}

.option-badge {
    display: inline-block;
    background: var(--color-primary);
    color: white;
    font-size: 0.7rem;
    padding: 4px 12px;
    border-radius: 10px;
    font-weight: 700;
    user-select: none;
    vertical-align: middle;
}

.option-badge.badge-primary {
    background: var(--color-primary);
    font-weight: 600;
}
.option-badge.badge-secondary {
    background: var(--color-secondary);
    font-weight: 600;
}

.option-badge.badge-tertiary {
    background: var(--color-tertiary);
    font-weight: 600;
}

/* === BODY === */
.product_options_body {
    max-height: 80vh;
    overflow-y: auto;
    padding: 0 !important;
}

.product_options_options {
    padding: var(--space-sm);
    margin-bottom: var(--space-md);
}

.product_options_static-options {
    margin-bottom: var(--space-lg);
    padding: var(--space);
}

.option-list {
    display: grid;
    gap: var(--space-sm);
}

/* === SEÇENEK === */
.product_options_option-item {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    background-color: var(--color-light);
    font-size: var(--font-size-sm);
    font-weight: var(--fw-regular);
    color: var(--color-text);
    min-height: 60px;
    cursor: pointer;
    position: relative;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
}

@media (hover: hover) {
    .product_options_option-item:hover {
        background-color: var(--hover-bg);
        border-color: var(--color-primary);
    }
}

@media (hover: none) {
    .product_options_option-item:hover {
        background-color: var(--color-light);
        border-color: var(--color-border);
    }
}

/* === INPUT & KUTUCUK === */
.product_options_option-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.custom-checkmark {
    width: 20px;
    height: 20px;
    border: 2px solid var(--color-border);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: var(--space-sm);
    flex-shrink: 0;
    transition: all var(--transition-fast);
}

/* RADIO → yuvarlak */
.product_options_option-item[data-type="radio"] .custom-checkmark {
    border-radius: 50%;
}

/* CHECKBOX → kare */
.product_options_option-item[data-type="checkbox"] .custom-checkmark {
    border-radius: 4px;
}

/* Checked Durum */
.product_options_option-input:checked + .custom-checkmark {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

/* RADIO içi nokta */
.product_options_option-item[data-type="radio"] .product_options_option-input:checked + .custom-checkmark::after {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: white;
    display: block;
}

/* CHECKBOX içi tik */
.product_options_option-item[data-type="checkbox"] .product_options_option-input:checked + .custom-checkmark::after {
    content: '';
    width: 6px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    display: block;
}

/* === GÖRSEL (varsa) === */
.product_options_option-image-wrapper {
    width: 50px;
    height: 50px;
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
    overflow: hidden;
    flex-shrink: 0;
}

.product_options_option-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* === İSİM === */
.product_options_option-name {
    flex: 1;
    color: var(--color-text);
}

/* === FİYAT === */
.product_options_option-price {
    margin-left: auto;
    display: flex;
    align-items: center;
    flex-direction: column;
    font-weight: var(--fw-semibold);
}

.product_options_option-price del {
    color: var(--color-muted);
    font-size: var(--font-size-xs);
}

.product_options_option-price strong {
    color: var(--color-accept);
    font-size: var(--font-size-md);
}

/* === DİĞER === */
.product_options_image {
    width: 100%;
    max-height: 220px;
    object-fit: cover;
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}

.product_options_info {
    padding: var(--space-md);
    margin-bottom: var(--space-md);
}

.product_options_total-price-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-around;
    font-weight: var(--fw-semibold);
    padding-top: .4rem;

    position: relative;
}
.product_options_title {
    font-weight: var(--fw-bold);
    font-size: var(--font-size-lg);
    margin-bottom: 4px;
}

.product_options_footer {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 10px;
}

.product_options_count-button {
    min-width: 106px;
}

.product_options_count-button button {
    height: 100%;
}
.custom-select {
    position: relative;
    font-family: var(--font-base);
    width: 100%;
    cursor: pointer;
    user-select: none;
    z-index: var(--z-ui-buttons);
}

.custom-select__trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-sm) var(--space);
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    transition: box-shadow var(--transition-fast), border-color var(--transition-fast);
}

.custom-select:hover .custom-select__trigger {
    box-shadow: var(--shadow-md);
    border-color: var(--color-primary);
}

.custom-select__arrow {
    font-size: var(--font-size-sm);
    color: var(--color-muted);
}

.custom-select__options {
    display: none;
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg-bottom);
    z-index: var(--z-dropdown);
    max-height: 240px;
    overflow-y: auto;
}

.custom-select.open .custom-select__options {
    display: block;
}

.custom-select__option {
    padding: var(--space-sm) var(--space);
    font-size: var(--font-size-sm);
    color: var(--color-text);
    transition: background-color var(--transition-fast);
}

.custom-select__option:hover {
    background-color: var(--hover-bg);
}

.custom-select__option.selected {
    font-weight: var(--fw-medium);
    background-color: var(--color-primary-bg);
    color: var(--color-primary);
}
.multi-form {
    margin-bottom: var(--space-lg);
}
.multi-form-container {
    transition: var(--transition-fast);
}

.multi-form-header {
    display: flex;
    padding-inline: 0 !important;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--space);
    padding-bottom: var(--space-sm);
}
.multi-form-item-content {width: 100%}

.multi-form-title {
    font-size: var(--font-size-lg);
    font-weight: var(--fw-semibold);
    color: var(--color-text);
}

.multi-form-add-btn {
    /* Kendi sisteminde: button, button-primary, button-sm bekleniyor */
}

.multi-form-item-actions .btn-edit{
    font-size: var(--font-size-sm);
    display: flex
;
    align-items: center;
    gap: 7px;
    padding: var(--space-sm);
    font-weight: var(--fw-semibold);
}

.multi-form-list {
    display: flex;
    flex-direction: column;
    gap: var(--space);
}

.multi-form-item {
    position: relative;
    background: var(--color-light);
    padding: var(--space-lg);
    padding-top: var(--space-xl);
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-border);
    margin-bottom: 20px;
    box-shadow: var(--shadow-sm);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.multi-form-item:hover {
    box-shadow: var(--shadow-md);
}

.multi-form-item.checkable {
    padding-left: 2.5rem;
}

.multi-form-item-content {
    font-size: var(--font-size-md);
    color: var(--color-text);
    line-height: 1.6;
}

.multi-form-item-actions {
    position: absolute;
    top: var(--space-sm);
    right: var(--space-sm);
    display: flex;
    gap: var(--space-xs);
}

.multi-form-item-actions button {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-muted);
    font-size: 1.2rem;
}
.multi-form-item-actions button:hover {
    color: var(--color-primary);
}

.multi-form-editor {
    background: var(--color-bg);
    padding: var(--space-lg);
    border-radius: var(--radius-lg);
    border: 1px dashed var(--color-border);
    animation: fadeIn 0.3s ease;
}
@keyframes fadeIn {
    from { opacity: 0; transform: scale(0.98); }
    to { opacity: 1; transform: scale(1); }
}

.multi-form-footer {
    display: flex;
    justify-content: flex-end;
    gap: var(--space);
}
.summary-line.two-column {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: var(--font-size-sm);
    padding: 2px 0;
}


.summary-line.two-column span {
    flex: 1 1 45%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}
.multi-form-page-header {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-bottom: var(--space-lg);
}
/* === Custom Radio === */
.multi-form-check.custom-radio {
    appearance: none;
    -webkit-appearance: none;
    background-color: var(--color-bg);
    border: 2px solid var(--color-primary, #6C8ED9);
    border-radius: 50%;
    width: 18px;
    height: 18px;
    left: var(--space-md);
    top: var(--space-md);
    display: inline-block;
    position: absolute;
    cursor: pointer;
    transition: border-color 0.2s ease-in-out;
    margin-right: 0.75rem;
    flex-shrink: 0;
}

.multi-form-check.custom-radio:checked {
    border-color: var(--color-primary, #6C8ED9);
    background-color: var(--color-primary, #6C8ED9);
}

.multi-form-check.custom-radio:checked::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6px;
    height: 6px;
    background-color: white;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

/* Opsiyonel: hover efekti */
.multi-form-check.custom-radio:hover {
    border-color: var(--color-primary, #6C8ED9);
    box-shadow: 0 0 0 2px rgba(108, 142, 217, 0.3);
}
.multi-form-item.checkable {
    display: flex;
    align-items: center;
}

.multi-form-item.checkable {
    cursor: pointer;
    transition: background 0.2s;
}

.multi-form-item.checkable:hover {
    background-color: #f9f9f9;
}

.summary-line.two-column {
    display: flex;
    flex-wrap: wrap; /* Mobilde alt alta geçebilir */
    justify-content: space-between;
    gap: 0.5rem;
    font-size: var(--font-size-sm);
    padding: 2px 0;
}


/* === Mobilde tek sütun göster === */
@media (max-width: 576px) {
    .summary-line.two-column {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-xs);
    }

    .summary-line.two-column span {
        flex: 1 1 100%;
        width: 100%;
        white-space: normal;
        overflow: visible;
        text-overflow: unset;
    }
}
.accordion {
    border-radius: var(--radius-md);
    font-family: var(--font-base);
}

/* Accordion itemlar ayrı dursun */
.accordion-item {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    margin-bottom: var(--space-sm);
    overflow: hidden;
}

/* Başlık kısmı */
.accordion-header {
    cursor: pointer;
    padding: var(--space-md) var(--space);
    background: var(--color-primary-bg);
    color: var(--color-text);
    font-weight: var(--fw-semibold);
    display: flex;
    align-items: center;
    gap: var(--space-sm); /* radio ile başlık arasında boşluk */
    user-select: none;
    position: relative;
}

/* Açık itemde başlık rengi değişsin */
.accordion-item.active .accordion-header {
    background: var(--color-primary);
    color: var(--color-text-highlight);
}

/* Panel: kapalıyken gizli */
.accordion-panel {
    display: none;
    padding: var(--space-md) var(--space);
    background: var(--color-surface);
    color: var(--color-text);
    font-size: var(--font-size-sm);
}

/* Açık itemde panel görünür */
.accordion-item.active .accordion-panel {
    display: block;
}

.accordion-radio {
    appearance: none;
    -webkit-appearance: none;
    background-color: var(--color-bg);
    border: 2px solid var(--color-primary);
    border-radius: 50%;
    width: 18px;
    height: 18px;
    display: inline-block;
    position: relative;
    cursor: pointer;
    margin-right: 0.5rem;
    flex-shrink: 0;
    transition: all 0.2s ease-in-out;
}

.accordion-radio:checked {
    background-color: var(--color-primary);
    border-color: var(--color-light);
}

.accordion-radio:checked::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6px;
    height: 6px;
    background-color: white;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}
.siparis-kart {
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    padding: var(--space);
    font-family: var(--font-base);
    color: var(--color-text);
    transition: box-shadow var(--transition-normal);
    cursor: pointer;
    position: relative;
    text-decoration: none;

    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}
.siparis-durum-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    padding: 4px 10px;
    border-radius: 6px;
    color: white;
    font-size: 12px;
    font-weight: 600;
    z-index: 2;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

.siparis-durum-badge.beklemede {
    background-color: var(--color-warning);
}
.siparis-durum-badge.hazırlanıyor,
.siparis-durum-badge.hazirlaniyor{
    background-color: rgba(var(--color-warning-rgb), .85);
}
.siparis-durum-badge.yolda {
    background-color: var(--color-accept);
}
.siparis-durum-badge.tamamlandı {
    background-color: var(--color-success);
}
.siparis-durum-badge.teslim {
    background-color: var(--color-success);
}
.siparis-durum-badge.iptal {
    background-color: var(--color-error);
}

.siparis-kart:hover {
    box-shadow: var(--shadow-md);
    background-color: var(--color-primary-bg);
}

/* Başlık alanı */
.siparis-baslik {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-md);
    flex-wrap: wrap;
}

.siparis-baslik h3 {
    font-weight: var(--fw-semibold);
    font-size: var(--font-size-lg);
    margin: 0;
    color: var(--color-primary);
}

.siparis-baslik small {
    color: var(--color-muted);
    font-size: var(--font-size-sm);
}

/* Durumlar */
.siparis-durumlar {
    font-size: var(--font-size-sm);
    color: var(--color-muted);
    display: flex;
    gap: var(--space-md);
    flex-wrap: wrap;
}

.odeme-durumu {
    font-weight: var(--fw-medium);
    color: var(--color-success);
}

.siparis-durumu {
    font-weight: var(--fw-medium);
    color: var(--color-primary);
}

/* Tutar */
.siparis-tutar {
    font-weight: var(--fw-bold);
    font-size: var(--font-size-md);
    color: var(--color-dark);
}

/* Teslimat bilgileri */
.siparis-teslimat {
    font-size: var(--font-size-xs);
    color: var(--color-muted);
    display: flex;
    gap: var(--space-md);
    flex-wrap: wrap;
}

.siparis-teslimat small {
    white-space: nowrap;
}

/* Ürün listesi (her ürün alt alta) */
.siparis-urun-listesi {
    list-style: none;
    padding-left: 0;
    margin-top: var(--space-md);
}

.siparis-urun-listesi li {
    padding: var(--space-xs) 0;
    border-bottom: 1px solid var(--color-border);
    display: flex;
    justify-content: space-between;
    font-size: var(--font-size-sm);
    color: var(--color-text);
}

.siparis-urun-listesi li:last-child {
    border-bottom: none;
}

.urun-fiyat {
    color: var(--color-muted);
    font-style: italic;
    white-space: nowrap;
    margin-left: var(--space-sm);
}

/* İstersen büyük ekranlarda 2 sütun yapabiliriz */
@media (min-width: 900px) {
    .siparis-kart {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--space-lg);
    }

    .siparis-baslik,
    .siparis-durumlar,
    .siparis-tutar,
    .siparis-teslimat {
        grid-column: 1 / 2;
    }

    .siparis-urunler {
        grid-column: 2 / 3;
    }

    .siparis-urun-listesi li {
        justify-content: flex-start;
        gap: var(--space-lg);
    }
}
/* Header */
.odsp-header {
    margin-bottom: var(--space-lg);
    border-bottom: 1px solid var(--color-border);
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    padding: var(--space-lg) 0;
}

.odsp-title {
    font-size: var(--font-size-xl);
    font-weight: var(--fw-bold);
    letter-spacing: 0.02em;
}

.odsp-ref {
    color: var(--color-secondary);
}

.odsp-product-cancel-info {
    background: #ffe6e6;
    border-left: 4px solid #ff4d4f;
    padding: 8px 12px;
    border-radius: 8px;
    margin-top: 6px;
    font-size: 14px;
    color: #333;
}
.odsp-cancel-title {
    font-weight: 600;
    color: #d32f2f;
}
.odsp-cancel-date {
    font-size: 12px;
    color: #777;
    margin-top: 4px;
}
/* İptal edilmiş ürün stili */
.odsp-product-cancelled {
    position: relative;
    background-color: rgba(var(--color-error-rgb), 0.08);
    border: 1px solid rgba(var(--color-error-rgb), 0.4);
    box-shadow: 0 0 8px rgba(var(--color-error-rgb), 0.15);
    transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}





/* Meta bilgi */
.odsp-meta {
    display: flex;
    gap: var(--space-lg);
    flex-wrap: wrap;
    font-size: var(--font-size-sm);
    color: var(--color-muted);
    user-select: none;
}

.odsp-meta strong {
    color: var(--color-text);
}

/* Kart genel */
.odsp-card {
    background: var(--color-surface);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    padding: var(--space-lg);
    margin-bottom: var(--space-lg);
    transition: box-shadow var(--transition-normal);
}

.odsp-card:hover {
    box-shadow: var(--shadow-lg);
}

/* Bölüm başlıkları */
.odsp-section-title {
    font-size: var(--font-size-lg);
    font-weight: var(--fw-semibold);
    margin-bottom: var(--space-md);
    border-left: 4px solid var(--color-primary);
    padding-left: var(--space-sm);
    color: var(--color-text);
}

/* Restoran, Kullanıcı, Adres, Sipariş Bilgileri */
.odsp-card p {
    margin: var(--space-xs) 0;
    font-size: var(--font-size-base);
    color: var(--color-text);
}

/* Sipariş Bilgileri Listesi */
.odsp-info-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.odsp-info-list li {
    padding-block: var(--space-xs);
    border-bottom: 1px solid var(--color-border);
    font-weight: var(--fw-medium);
    font-size: var(--font-size-base);
    color: var(--color-text);
}

.odsp-info-list li:last-child {
    border-bottom: none;
}

/* Ürünler listesi */
.odsp-product-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.odsp-product-item {
    background: var(--color-primary-bg);
    border-radius: var(--radius);
    padding: var(--space-md);
    box-shadow: var(--shadow-sm);
    transition: background-color var(--transition-normal);
}



.odsp-product-main {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--space-sm);
    font-weight: var(--fw-semibold);
    font-size: var(--font-size-base);
}

.odsp-product-name {
    flex: 1 1 50%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.odsp-product-qty,
.odsp-product-price,
.odsp-product-total {
    flex: 0 0 auto;
    font-size: var(--font-size-sm);
}

/* Ürün notu */
.odsp-product-note {
    margin-top: var(--space-xs);
    font-style: italic;
    color: var(--color-muted);
    font-size: var(--font-size-sm);
}

/* Ürün seçenekleri */
.odsp-product-options {
    margin-top: var(--space-sm);
    border-top: 1px solid var(--color-border);
    padding-top: var(--space-sm);
}

.odsp-option-group {
    margin-bottom: var(--space-sm);
}

.odsp-option-group-title {
    font-weight: var(--fw-semibold);
    margin-bottom: var(--space-xs);
    color: var(--color-secondary);
}

.odsp-option-list {
    list-style: none;
    padding-left: var(--space-md);
    margin: 0;
    font-size: var(--font-size-sm);
    color: var(--color-text);
}

.odsp-option-item {
    display: flex;
    justify-content: space-between;
    padding-block: 2px;
}

.odsp-option-price {
    color: var(--color-primary);
    font-weight: var(--fw-semibold);
}

/* Boş seçenek mesajı */
.odsp-option-empty {
    font-style: italic;
    color: var(--color-muted);
    font-size: var(--font-size-sm);
}

/* Ödeme bilgileri */
.odsp-payment-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.odsp-payment-item {
    background: var(--color-tertiary-bg);
    padding: var(--space-md);
    border-radius: var(--radius);
    box-shadow: var(--shadow-xs);
    font-size: var(--font-size-base);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-lg);
    color: var(--color-text);
    font-weight: var(--fw-medium);
}

.odsp-payment-item span {
    flex: 1 1 200px;
}

.odsp-meta-boxes {
    display: flex;
    gap: var(--space-lg);
    margin-top: var(--space-xs);
}

.odsp-box {
    flex: 1;
    padding: var(--space-md);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    user-select: none;
    font-weight: var(--fw-semibold);
    font-size: var(--font-size-base);
    color: var(--color-text);

    background-color: var(--color-surface);
    transition: background-color var(--transition-normal), box-shadow var(--transition-normal);
}

.odsp-box.beklemede {
    background-color: rgba(var(--color-warning-rgb), 0.12);
    box-shadow: 0 0 8px rgba(var(--color-warning-rgb), 0.4);
}

.odsp-box.hazirlaniyor {
    background-color: rgba(var(--color-info-rgb), 0.12);
    box-shadow: 0 0 8px rgba(var(--color-info-rgb), 0.4);
}

.odsp-box.yolda {
    background-color: rgba(var(--color-accept-rgb), 0.12);
    box-shadow: 0 0 8px rgba(var(--color-accept-rgb), 0.4);
}

.odsp-box.teslim {
    background-color: rgba(var(--color-success-rgb), 0.12);
    box-shadow: 0 0 8px rgba(var(--color-success-rgb), 0.5);
}

.odsp-box.iptal {
    background-color: rgba(var(--color-error-rgb), 0.12);
    box-shadow: 0 0 8px rgba(var(--color-error-rgb), 0.5);
}

/* Ödeme tipi kutusu için renk verilmemiş, dilersen buraya da ekleyebilirsin */

/* Responsive (dar ekranlarda) */
@media (max-width: 600px) {
    .odsp-meta-boxes {
        flex-direction: column;
    }
}


/* Responsive düzenleme */
@media (max-width: 768px) {
    .odsp-product-main {
        flex-direction: column;
        gap: var(--space-xs);
    }

    .odsp-payment-item {
        flex-direction: column;
    }

    .odsp-meta {
        flex-direction: column;
    }
}
.address-suggestion-items {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;

    margin-top: var(--space-xs);
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg);
    z-index: var(--z-dropdown);
    max-height: 250px;
    overflow-y: auto;
    padding: 0;
    list-style: none;
    display: none;
}



.adres-form-header {
    font-weight: var(--fw-semibold);
    font-size: var(--font-size-lg);
}

.adres-items {
    max-height: 50vh;
    overflow-y: auto;
}

.address-suggestion-items-modal {
    z-index: var(--z-modal-dropdown);
}

.address-suggestion-items:has(.address-suggestion-item) {
    display: block;
}

.address-suggestion-item {
    display: flex;
    align-items: center;

    gap: var(--space-md);
    padding: var(--space-md) var(--space-sm);
    border-bottom: 1px solid var(--color-border);
    font-size: var(--font-size-sm);
    color: var(--color-text);
    margin: 0;
    cursor: pointer;
    text-align: left;
    transition: background-color var(--transition-fast), color var(--transition-fast);
}



.address-suggestion-item i {
    font-size: var(--font-size-base);
    color: var(--color-muted);
    width: 30px;
    height: 30px;
    display: flex
;
    align-items: center;
    justify-content: center;
}

.address-suggestion-item:hover {
    background-color: var(--hover-bg);
}

.address-suggestion-item:hover svg {
    fill: var(--color-primary);
}

.address-suggestion-item--is-focus {
    background-color: var(--color-primary-bg);
    color: var(--color-primary);
}

.address-suggestion-item--is-focus svg {
    fill: var(--color-primary);
}
/* Location Card */
.location-card {
    display: flex
;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-sm) var(--space-md);
    transition: var(--transition-fast);
    border-radius: var(--radius-md);
    cursor: pointer;
    gap: var(--space);
    margin-top: 4px;
    position: relative;
}


.location-card.checkable .location-card-info {
    padding-left: var(--space-md);
}

.location-card-title {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-text);
    font-weight: var(--fw-bold);
}





.location-card .location-card-error {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: var(--color-error);
    color: var(--color-light);
    border: 1px solid var(--color-error);
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: var(--fw-bold);
    font-size: var(--font-size-sm);
    padding: var(--space-md);
}

.location-card.has-error {
    position: relative !important;
    padding-bottom: 80px !important;
}

.location-card.checkable {
    border: 1px solid var(--color-border);
    position: relative;
    margin-bottom: var(--space-sm);
    padding: var(--space-md) var(--space-xl);
}

.location-card.checkable:has(input:checked) {
    background: var(--color-border);
}

.location-card.hoverable:hover {
    background: var(--color-border);
}

.location-card-left {
    display: flex
;
    gap: 10px;
}

.location-card-icon {
    font-size: var(--font-size-lg);
}
.location-card-info {
    font-size: var(--font-size-sm);

}
/* MODEL 1 için sade yazı tasarımı */
.location-card.model-1 {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: var(--space-md) var(--space-lg);
    margin-bottom: var(--space-sm);
    box-shadow: var(--shadow-xs);
    transition: var(--transition-fast);
}
.location-card.model-1:hover {
    box-shadow: var(--shadow-sm);
    background: var(--color-secondary-bg);
}

/* ikon artık başlık içinde */
.location-card.model-1 .location-card-title {
    font-size: var(--font-size-md);
    font-weight: var(--fw-bold);
    color: var(--color-dark);
    display: flex
;
    align-items: center;
    margin-bottom: var(--space-sm);
}
.location-card .location-card-title i {
    font-size: var(--font-size-xl);
    color: var(--color-primary);
}

/* adres satırı */
.location-card.model-1 .location-card-addressline {
    font-size: var(--font-size-sm);
    color: var(--color-text);
    margin-bottom: var(--space-xs);
}

/* detaylar artık badge değil, yan yana kısa yazı */
.location-card.model-1 .location-card-details {
    font-size: var(--font-size-sm);
    color: var(--color-muted);
    margin-bottom: var(--space-xs);
}
.location-card.model-1 .location-card-details span {
    margin-right: var(--space-sm);
}

/* not alanı */
.location-card.model-1 .location-card-note {
    color: var(--color-muted);
    margin-top: var(--space-xs);
    padding-top: var(--space-xs);
    border-top: 1px dashed var(--color-border);
    font-style: italic;
    font-size: var(--font-size-xs);
    font-weight: var(--fw-semibold);
}

.location-card.model-1 .location-card-note:before {
    content:'" ';
    padding-right: 2px;
}

.location-card.model-1 .location-card-note:after {
    content:' "';
    padding-left: 2px;


}

.location-card-right {
    display: flex;
}


.adres-items {
    margin-top: var(--space);
    border: 1px solid rgba(0, 0, 0, .1);
    border-radius: 6px;
}

.adres-items .location-card::before {
    content: "";
    position: absolute;
    border-top: 1px solid var(--color-border);
    width: 95%;
    height: 1px;
    left: 50%;
    bottom: -2px;
    transform: translateX(-50%);
}

.location-card-fullname {
    font-weight: var(--fw-semibold);
}



@media screen and (min-width: 991px) {
    .location-card {
        padding-right: var(--space-lg) !important;
    }
}

@media screen and (max-width: 991px) {
    .location-card {
        padding-right: var(--space-md) !important;
    }
}
/* Badge Temel Stili */
.badge {
    display: inline-block;
    padding: 0.25em 0.75em;
    font-size: var(--font-size-sm);
    font-weight: var(--fw-semibold);
    border-radius: var(--radius-full);
    color: var(--color-text-highlight);
    user-select: none;
    transition: background-color var(--transition-normal);
    white-space: nowrap;
}


/* Badge Renkleri */
.badge-success {
    background-color: var(--color-success);
    box-shadow: var(--shadow-primary);
}


.badge-warning {
    background-color: var(--color-warning);
    color: #2f2f2f; /* kontrast için koyu yazı */
    box-shadow: 0 4px 12px rgba(var(--color-warning-rgb, 251,191,36), 0.3);
}


.badge-error {
    background-color: var(--color-error);
    box-shadow: var(--shadow-primary);
}

.badge-secondary {
    background-color: var(--color-secondary);
    box-shadow: var(--shadow-primary);
    color: var(--color-text-highlight);
}

.badge-info {
    background-color: var(--color-info);
    box-shadow: 0 4px 12px rgba(var(--color-info-rgb), 0.25);
    color: var(--color-text-highlight);
}


.uyari-liste ul {
    list-style: none;
    padding-left: 0;
}

.uyari-liste li {
    margin-bottom: 12px;
    border-left: 4px solid #F4A261;
    padding-left: 10px;
}

.uyari-liste .mesaj {
    display: block;
    color: #444;
    font-size: 0.95rem;
    margin-top: 4px;
}

.map-container {
    position: relative;
}
.nav-top {
    display: flex
;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.nav-bottom {
    width: 100%;
}


body {
    background-color: var(--color-bg);
    color: var(--color-text);
    font-family: var(--font-base);
}


.login-container {
    max-width: 475px;
}
.register-container {
    max-width: 475px;
}


.surface {
    background-color: var(--color-surface);
    color: var(--color-text);
    border-radius: var(--radius);
    box-shadow: var(--shadow-md); /* İstersen hafif gölge de ekleyebilirsin */
    padding: var(--space);
}

.surface-high {
    background-color: var(--color-bg);
}

.fixed-button {
    position: fixed;
    bottom: var(--space-md);
    right: var(--space-md);
    background: var(--color-surface);
    border-radius: var(--radius-lg);
}

.fixed-button .button {
    background: var(--color-surface);
    color: var(--color-primary);
    box-shadow: var(--shadow-lg);
    border: 2px solid var(--color-primary);
}

.fixed-button .button:hover {
    background: rgba(var(--color-primary-rgb), .1);
}

.inner-overlay {
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, .6);
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    z-index: -1;
    pointer-events: none;
}
body.overlay-active .inner-overlay,
body:has(.header-address-picker-content.active) .inner-overlay{
    z-index: var(--z-inner-overlay);
    visibility: visible;
    opacity: 1;
    pointer-events: all;
}

body.modal-open {
    overflow: hidden !important;
    padding-right: 14px !important;
}


body.overlay-active {
    overflow: hidden;
    padding-right: 15px;
}



.background-gradient {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(
            135deg,
            rgba(var(--color-primary-rgb), 0.85) 0%,
            rgba(var(--color-secondary-rgb), 0.8) 40%,
            rgba(var(--color-tertiary-rgb), 0.6) 80%
    );
    z-index: -1;
}


.theme-area {
    background-color: var(--color-surface) !important;
    color: var(--color-text) !important;
}

.swiper.padding-swiper {
    padding-block: 15px;
}

.page-fullscreen {
    height: 100vh;
    width: 100vw;
    overflow: hidden;
}

.input-wrapper {
    display: flex;
    align-items: center;
    width: 100%;
}

.divider {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 1.5rem 0;
    color: var(--color-muted);
    font-weight: 600;
    font-size: var(--font-size-sm);
    position: relative;
}

.divider::before,
.divider::after {
    content: "";
    flex: 1;
    border-bottom: 1px solid var(--color-border);
    margin: 0 1rem;
}

.input-error {
    font-size: var(--font-size-xs);
    margin-top: 0.2rem;
    color: var(--color-error);
    padding-left: .5em;
    font-weight: var(--fw-bold);
}

.payment-iframe {
    width: 100%;
    height: 70vh;
}

.input-error-border {
    border-color: var(--color-error) !important;
}

.input-success-border {
    border-color: var(--color-success) !important;
}
.phone-verify-group {
    margin: 0;
    max-height: 0;
    overflow: hidden;
    transition: .3s ease;
}
.phone-verify-group.active {
    max-height: 100px; /* yeterli yüksekliği ver */
    margin-bottom: 1.5rem;
    display: flex;
    margin-top: -.5rem;
}
.phone-verify-group.active.cancelable {
    max-height: 120px;
}

/* 📧 Email doğrulama grubu */
.email-verify-group {
    margin: 0;
    max-height: 0;
    overflow: hidden;
    transition: .3s ease;
}
.email-verify-group.active {
    max-height: 100px; /* yeterli yüksekliği ver */
    margin-bottom: 1.5rem;
    display: flex;
    margin-top: -.5rem;
}
.email-verify-group.active.cancelable {
    max-height: 120px;
}


input {
    color: var(--color-text);
}


.filter-button-swiper .swiper-slide {
    width: auto !important;
}




.act-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: var(--transition-fast);
    height: 0;
}

.act-hidden.active {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    height: auto;

}


#nav {
    z-index: var(--z-nav);
    position: sticky !important;
    top: 0;
}

.custom-swiper-button:hover {
}

.swiper-button-prev,
.swiper-button-next {
    opacity: 1;
    visibility: visible;
    transition: var(--transition-fast);
}

.swiper-button-disabled {
    opacity: .3 !important;
    pointer-events: all !important;
}






.theme-primary {
    background-color: var(--color-primary);
    color: var(--color-light);
}

main.page-wrapper {
    min-height: 75vh;
}

main.page-bg-2 {
    background-color: var(--color-bg);
}

.bg-gradient {
    background: var(--bg-gradient);
    color: var(--color-text-highlight);
}

.swiper-button-static {
    position: static !important;
    border-radius: var(--radius-md) !important;
    transform: none !important;
    width: 50px;
}



.loader {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: inline-block;

    border-top: 3px solid var(--color-text-highlight);
    border-right: 3px solid transparent;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}

.loader-primary {
    border-top-color: var(--color-primary) !important;;
}

.grid-loader-wrapper {
    text-align: center;
    padding-block: 1rem;
    grid-column: 1 / -1;
}


.form-selection-loader {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;

    z-index: 10;
    background: var(--color-trans);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition-fast);
}

.form-selection-area.loading .form-selection-loader{
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

.form-selection-area .selected-value {
    display: none;
}

.form-selection-area.selected .selected-value {
    display: block !important;
}

.form-selection-area.selected {
    border-color: var(--color-success) !important;
}

.ss-content.ss-open-above,
.ss-content.ss-open-below{
    background: var(--color-bg);
}

.link-tab {
    display: flex;
    width: 100%;
    border-bottom: 2px solid var(--color-border);
    background-color: var(--color-bg);
    user-select: none;
    box-sizing: border-box;
}

.link-tab-item {
    flex: 1;
    text-align: center;
    cursor: pointer;
    font-weight: 600;
    font-size: 1rem;
    color: var(--color-muted);
    border-bottom: 3px solid transparent;
    transition: all 0.3s ease;
    position: relative;
    white-space: nowrap;
}

.link-tab-item.active {
    color: var(--color-primary);
    border-bottom-color: var(--color-primary);
    font-weight: 700;
}

.bulunamadi-mesaj {
    width: 100%;
    grid-column: 1 / -1;
}

.link-tab-item:hover:not(.active) {
    color: var(--color-primary-hover);
    background-color: var(--color-primary-bg);
}

.link-tab-item a {
    color: inherit;
    text-decoration: none;
    display: block;
    width: 100%;
    padding: 1rem 0;
    white-space: nowrap;
    height: 100%;
}

.link-tab.swiper-container .swiper-slide {
    width: fit-content;
}





/* Button Count
*/

.button-count {
    display: flex;
    align-items: center;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-full);
    overflow: hidden;
    background: var(--color-surface);
    font-size: var(--font-size-sm);
    font-weight: var(--fw-medium);
    color: var(--color-text);
    user-select: none;
}

.button-count  button.is-disabled {
    background: var(--color-border);
    opacity: .7;
    pointer-events: none;
}

.button-count button {
    background: transparent;
    border: none;
    padding: 0.25rem 0.75rem;
    color: var(--color-primary);
    font-size: var(--font-size-sm);
    font-weight: var(--fw-bold);
    cursor: pointer;
    transition: background var(--transition-fast);
}


.button-count button:hover {
    background-color: var(--color-primary-bg);
}

.button-count .count-value {
    width: 2rem;          /* Sabit genişlik */
    min-width: 2rem;      /* Minimum genişlik de garanti */
    text-align: center;
    display: inline-block;
}



@media (max-width: 600px) {
    .link-tab-item {
        font-size: 0.9rem;
    }
}


/* Sayfalama */
.icerik-pagination {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.page-button {
    border: 1px solid var(--color-trans);
    padding: 0.5rem 1rem;
    background: var(--color-bg);
    border-radius: 6px;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.2s ease;
}
.page-button:hover {
    background: var(--color-trans);
}
.page-button.active {
    background: var(--color-primary, #6C8ED9);
    color: white;
    border-color: var(--color-primary, #6C8ED9);
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px var(--color-surface) inset !important; /* veya istediğin bg rengi */
    -webkit-text-fill-color: var(--color-text) important; /* yazı rengini ayarla */
}

.section-mobile-app .mobile-app-img-wrapper {
    position: relative;
    width: 100%;
}

.section-mobile-app {
    padding-block: 60px;
    padding-inline: 1.2rem;
    color: var(--color-text-highlight);
    margin-bottom: 80px;
}


.img-wrapper img {
    width: 100%;
    height: 100%;
}

.section-mobile-app .mobile-app-img {
    position: absolute;
    left: 0;
    top: 15%;
}

.section-content .section-loader {
    position: absolute;
    width: 100%;
    height: 100%;
    background: var(--color-trans);
    border-radius: var(--radius-md);
    left: 0;
    top: 0;
    display: flex;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    align-items: center;
    justify-content: center;
    transition: var(--transition-fast);
}


.section-content.loading .section-loader {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

.selected-kategori-label {
    max-width: 65px;
    font-size: var(--font-size-sm);
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.loader-slide {
    display: flex;
    align-items: center;
    min-width: 91px;
    width: 346px;
    margin-right: 16px;
    height: 100%;
    padding-left: 40px;
}

.swiper-loader {
    border: 4px solid var(--color-surface);
    border-top: 4px solid var(--color-primary);
    border-radius: 50%;
    width: 24px;
    height: 24px;
    animation: rotation 1s linear infinite;
    position: absolute;
    top: 130px;
}

/* === SLIDE AREA === */
.slide-area {
    margin-bottom: var(--space-lg);
    padding-block: 25px;

}

.slide-area-swiper {
    padding-block: 8px;
}

.custom-swiper-button {
    width: 36px;
    height: 36px;
    background-color: var(--color-bg);
    border-radius: 50%;
    color: var(--color-primary);
    box-shadow: var(--shadow-sm);
    transition: background-color 0.3s ease, color 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 50%;
    transform: translateY(-50%);
}

.custom-swiper-button:hover {
    background-color: var(--color-border);
}

.custom-swiper-button-prev {
    left: 4px;
}

.custom-swiper-button-next {
    right: 4px;
}

/* İkonun boyutu */
.custom-swiper-button::after {
    font-size: 18px;
    font-weight: 900;
}


.slide-title {
    font-weight: var(--fw-semibold);
    color: var(--color-text);
}


.leaflet-top.leaflet-left {
    bottom: 15px !important;
    right: 10px !important;
    left: auto !important;
    top: auto !important;
}


.header-address-picker-inner {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: var(--font-size-sm);
    font-weight: var(--fw-semibold);
    color: var(--color-text);
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-md);

    transition: var(--transition-fast);
    cursor: pointer;
    justify-content: center;
}

.header-address-picker-label {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.header-address-picker {
    display: none;
    position: relative;
    max-width: 100%;
    width: 600px;
}
.header-address-picker.active {
    display: block;
}

.header-address-picker-inner:hover {
    background: var(--color-border);
}

.header-address-picker-icon {
    font-size: var(--font-size-lg);
}

.header-address-picker-content {
    display: none;
    position: absolute;
    width: 100%;
    background: var(--color-bg);
    padding: var(--space-xl) var(--space-md) var(--space-md) var(--space-md);
    border-radius: var(--radius);
    box-shadow: var(--shadow-xl);
}

.header-address-picker-content.active {
    display: block;
}

.single-line {
    white-space: nowrap;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.price-highlight {
    color: var(--color-accept);
    font-weight: var(--fw-semibold);
}

#map-only-show {
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--color-border);
    margin-bottom: 10px;
    z-index: var(--z-map-show);
}

#map-center-marker {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -100%);
    pointer-events: none;
    width: 32px;
    height: 32px;
    background-image: url('https://cdn-icons-png.flaticon.com/512/684/684908.png');
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 10000;
}

#fixed-marker {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -100%);
    pointer-events: none;
    z-index: 1000;
}

#fixed-marker svg {
    width: 35px !important;
    height: 35px !important;
    fill: var(--color-primary) !important;
}
.form-check {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}

.form-check-input {
    width: 18px;
    height: 18px;
    cursor: pointer;
    accent-color: var(--color-primary, #007bff); /* Tema rengine göre */
}

.form-check-label {
    font-size: 0.95rem;
    color: var(--color-text, #333);
    cursor: pointer;
}

.form-check a {
    color: var(--color-primary, #007bff);
    text-decoration: underline;
}

.form-check a:hover {
    text-decoration: none;
}
/* Checkbox görünürlüğünü garanti altına al */
.form-check-input {
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    width: 18px;
    height: 18px;
    margin: 0;
    cursor: pointer;
    accent-color: var(--color-primary, #007bff);
    flex-shrink: 0;
}

/* Satır hizalama */
.form-check {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
}

/* Etiket ve link stilleri */
.form-check-label {
    font-size: 0.95rem;
    color: var(--color-text, #333);
    line-height: 1.3;
    cursor: pointer;
}
.iti {
    width: 100%;
}
.form-check a {
    color: var(--color-primary, #007bff);
    text-decoration: underline;
}

.form-check a:hover {
    text-decoration: none;
}

#main-logo {
    width: 216px;
    display: flex
;
    margin-block: -20px;
    margin-left: -25px;
}

.kupon-listesi {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    border: 1px solid var(--color-border);
    border-radius: 0 0 10px 10px;
    padding: 10px;
    margin-bottom: 10px;
}
.kupon-listesi-baslik {
    border-radius: 10px 10px 0 0;
    font-size: 15px;
    padding: 6px 12px;
    margin: 0;
    font-weight: 600;
    background: var(--color-bg);
    color: var(--color-text);
    border: 1px solid var(--color-border);
    border-bottom: none;
}

.kupon-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--color-bg);
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 10px 14px;
    position: relative;
    transition: all 0.2s ease;
    font-size: 14px;
}

/* içerik kısmı */
.kupon-item > div {
    min-width: 0;
}

.kupon-item .fw-bold {
    font-size: 1.05rem;
    letter-spacing: .2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.kupon-info .kupon-indirim {
    color: var(--color-success);
}
.kupon-info .kupon-detay {
    color: #6b7280;
}
.btn-cancel {
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    color: #333;
}

.btn-cancel:hover {
    background: #e5e7eb;
}
.kupon-item .text-sm { color: var(--muted); font-size: .9rem; }
.kupon-item .text-xs { color: #9aa0a6; font-size: .78rem; }

/* buton */
.kupon-item .btn-kupon-kullan {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: var(--color-primary);
    color: #fff;
    padding: 8px 14px;
    border-radius: 10px;
    font-weight: 600;
    font-size: .92rem;
    box-shadow: 0 6px 14px rgba(0,123,255,0.12);
    transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease;
}
.kupon-item .btn-kupon-kullan:active { transform: translateY(1px) scale(.997); }
.kupon-item .btn-kupon-kullan[disabled] { opacity: .6; cursor: not-allowed; box-shadow: none; }

/* hover efekti */
.kupon-item:hover {
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
    transform: translateY(-1px);
}


/* active (seçili ya da uygulanmış kupon) */
.kupon-item.active {
    background: linear-gradient(90deg, var(--color-primary)10%, rgba(255,255,255,0.02));
    color: #fff;
}
.kupon-left {
    display: flex;
    align-items: center;
    gap: 10px;
}
.kupon-left i {
    font-size: 1.6rem;
    color: var(--color-primary);
}

.kupon-item.active i {
    color: var(--color-bg);
}

.kupon-info {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}
.kupon-actions .btn {
    padding: 5px 12px;
    border-radius: 8px;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background 0.25s;
}

.kupon-item.active .fw-bold,
.kupon-item.active .text-sm,
.kupon-item.active .text-xs {
    color: #ffffff;
    opacity: .98;
}
.kupon-item.active .btn-kupon-kullan {
    background: #fff;
    color: var(--color-primary);
    font-weight: 700;
    box-shadow: 0 8px 18px rgba(0,0,0,0.06);
}

/* pulsate / small indicator for active */
.kupon-item.active::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 12px;
    pointer-events: none;
    box-shadow: 0 0 0 4px rgba(0,123,255,0.06), 0 0 30px rgba(0,123,255,0.04) inset;
}

/* loader inside kupon list (küçük) */
.kupon-loader {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 3px solid rgba(0,0,0,0.08);
    border-top-color: var(--color-primary);
    border-radius: 50%;
    animation: spin .8s linear infinite;
    vertical-align: middle;
}

/* Tüm sayfa scroll barları için */
*::-webkit-scrollbar {
    width: 8px; /* scrollbar kalınlığı */
    height: 8px; /* yatay scrollbar */
}

*::-webkit-scrollbar-track {
    background-color: var(--color-bg); /* track rengi */
}

*::-webkit-scrollbar-thumb {
    background-color: var(--color-primary); /* kaydırıcı rengi */
    border-radius: 4px;
}

/* Firefox uyumluluğu */
* {
    scrollbar-width: thin;
    scrollbar-color: var(--color-primary) var(--color-bg); /* thumb ve track */
}

@keyframes spin { 100% { transform: rotate(360deg); } }

/* responsive: küçük ekranlarda butonu daha küçük yap */
@media (max-width: 520px) {
    .kupon-item { padding: 12px; gap: 8px; }
    .kupon-item .fw-bold { font-size: 1rem; }
    .kupon-item .btn-kupon-kullan { padding: 6px 10px; font-size: .86rem; border-radius: 8px; }
}

@media screen and (max-width: 991px) {
    #main-logo {
        font-size: 1.2rem !important;
    }


    .global-padding {
        padding-inline: var(--space-md);
    }


    .mobile-app-img {
        max-width: clamp(0%, 100%, 500px);
        left: 50% !important;
        transform: translateX(-50%);
    }

    .nav-bottom {
        margin-top: var(--space-sm);
    }

    body[data-page="restoran-detay"] .fixed-button,
    body[data-page="odeme"] .fixed-button{
        left: var(--space-md) !important;
        bottom: 88px !important;
        right: auto !important;
        width: fit-content;
    }

}

@media screen and (min-width: 991px) {
    .surface {
        padding: var(--space-lg);
    }

    .mobile-app-img {
        top: 50% !important;
        transform: translateY(-50%);

    }


    .global-padding {
        padding-inline: var(--space-xs);
    }

}


@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* File input için modern tasarım */
.input-wrapper input[type="file"] {
    position: relative;
    display: block;
    width: 100%;
    padding: 10px 14px;
    font-size: 14px;
    font-weight: 500;
    color: #555;
    border: 2px dashed var(--color-primary);
    border-radius: 10px;
    background-color: #f9f9f9;
    cursor: pointer;
    transition: all 0.25s ease;
}

.input-wrapper input[type="file"]::file-selector-button {
    background-color: var(--color-primary);
    color: #fff;
    border-radius: 6px;
    padding: 8px 16px;
    margin-right: 12px;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid var(--color-primary);
    transition: background-color 0.25s ease, transform 0.15s ease;
}

.input-wrapper input[type="file"]::file-selector-button:hover {
    background: var(--color-bg);
    color: var(--color-primary)
}

.input-wrapper input[type="file"]:hover {
    background: var(--color-bg);
    color: var(--color-primary)
}

.input-wrapper input[type="file"]:focus {
    outline: none;
    border-color: var(--color-primary);
    background-color: #fff;
    box-shadow: 0 0 0 3px rgba(0, 128, 255, 0.15);
}

/* Label uyumlu görünüm */
.input-wrapper .form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
    color: #333;
}

/* Hata durumları */
.input-error {
    font-size: 13px;
    color: #e74c3c;
    margin-top: 5px;
}



