:root {
    color-scheme: light dark;
    --bg: #0f1419;
    --fg: #e7ecf1;
    --muted: #8b98a5;
    --accent: #3d9cf5;
    --card: #1a222c;
    --ok: #3ecf8e;
    --warn: #f5a623;
}

@media (prefers-color-scheme: light) {
    :root {
        --bg: #f6f7f9;
        --fg: #1a1f26;
        --muted: #5c6b7a;
        --card: #fff;
    }
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, sans-serif;
    background: var(--bg);
    color: var(--fg);
    line-height: 1.5;
}

.wrap {
    max-width: 52rem;
    margin: 0 auto;
    padding: 0 1.25rem;
}

.guest-header .guest-wrap {
    max-width: var(--guest-max, none);
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: clamp(1rem, 4vw, 2.5rem);
    padding-right: clamp(1rem, 4vw, 2.5rem);
}

.guest-header .nav a[aria-current="true"] {
    text-decoration: underline;
}

.customer-shell--guest {
    margin-left: 0;
}

.guest-header {
    position: sticky;
    top: 0;
    z-index: 30;
    background: color-mix(in srgb, var(--bg) 90%, transparent);
    backdrop-filter: blur(10px);
}

.site-header {
    border-bottom: 1px solid color-mix(in srgb, var(--fg) 12%, transparent);
    padding: 1rem 0;
}

.header-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.brand {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
}

.nav a {
    color: var(--fg);
    text-decoration: none;
    font-weight: 500;
}

.nav a:hover {
    color: var(--accent);
    text-decoration: underline;
}

.badge {
    display: inline-block;
    min-width: 1.25rem;
    padding: 0.05rem 0.35rem;
    border-radius: 999px;
    background: var(--accent);
    color: #fff;
    font-size: 0.75rem;
    text-align: center;
}

.flash {
    margin: 0 0 1rem;
    padding: 0.65rem 1rem;
    border-radius: 8px;
    background: color-mix(in srgb, var(--ok) 18%, transparent);
    border: 1px solid color-mix(in srgb, var(--ok) 35%, transparent);
}

.warn-card {
    border-color: color-mix(in srgb, var(--warn) 40%, transparent);
    color: var(--warn);
}

.btn {
    display: inline-block;
    padding: 0.45rem 1rem;
    border-radius: 8px;
    border: 1px solid color-mix(in srgb, var(--fg) 18%, transparent);
    background: transparent;
    color: var(--fg);
    font: inherit;
    text-decoration: none;
    cursor: pointer;
}

.btn-primary {
    background: var(--accent);
    border-color: transparent;
    color: #fff;
}

.btn-ghost {
    border-color: transparent;
    color: var(--muted);
}

.btn:hover {
    filter: brightness(1.05);
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
    gap: 1rem;
    margin-top: 0.75rem;
}

.product-shell {
    /* Keep consistent with other guest pages container width */
    max-width: var(--guest-max, 52rem);
    margin: 0 auto;
    padding: 0 clamp(1rem, 4vw, 2.5rem);
}

.product-breadcrumb {
    margin: 1rem 0 0.75rem;
}

.product-grid {
    grid-template-columns: 1fr;
    /* Stretch cards within a row so mixed content (özellikle açıklama) yükseklikleri hizalansın */
    align-items: stretch;
}

/* New product layout: media left, buybox right, tabs full width */
.product-page {
    display: grid;
    gap: 1rem;
}

.product-top {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    align-items: start;
}

.product-top__media img {
    width: 100%;
    aspect-ratio: 4 / 3;
    max-height: min(420px, 52vh);
    object-fit: cover;
    object-position: center;
    display: block;
}

.product-top__media {
    display: grid;
    place-items: center;
}

.product-top__media {
    /* Avoid giant image when right column is tall */
    height: auto;
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid color-mix(in srgb, var(--fg) 10%, transparent);
    background: color-mix(in srgb, var(--fg) 5%, transparent);
}

@media (min-width: 980px) {
    .product-top__media img {
        max-height: min(480px, 60vh);
        aspect-ratio: 16 / 10;
    }
}

.product-top__side {
    display: grid;
    gap: 0.7rem;
}

.product-top__side .card,
.product-top__side .product-buybox {
    /* default .card has margin-top; keep top aligned with image */
    margin-top: 0;
}

.product-summary {
    padding: 1rem;
}

.product-media__ph {
    width: 100%;
    height: 320px;
    border-radius: 16px;
    border: 1px solid color-mix(in srgb, var(--fg) 10%, transparent);
    background:
        radial-gradient(600px 240px at 30% 20%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 60%),
        linear-gradient(135deg, color-mix(in srgb, var(--fg) 10%, transparent), transparent);
}

.product-top__side,
.product-summary {
    min-width: 0;
}

.product-hero__desc {
    margin: 0.9rem 0 0;
    color: color-mix(in srgb, var(--fg) 88%, var(--muted));
    line-height: 1.65;
    font-size: 1rem;
}

.product-hero__desc--muted {
    color: var(--muted);
}

.product-title-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.75rem;
    align-items: baseline;
}

.product-title {
    margin: 0;
    font-size: clamp(1.15rem, 1.9vw, 1.7rem);
    letter-spacing: -0.01em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.product-price {
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    font-weight: 800;
    white-space: nowrap;
}

.product-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.product-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.5rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--fg) 14%, transparent);
    color: color-mix(in srgb, var(--fg) 84%, var(--muted));
    background: color-mix(in srgb, var(--card) 92%, transparent);
    font-size: 0.85rem;
}

.product-badge--ok {
    border-color: color-mix(in srgb, var(--ok) 40%, transparent);
    color: color-mix(in srgb, var(--ok) 85%, var(--fg));
}

.product-badge--warn {
    border-color: color-mix(in srgb, var(--warn) 45%, transparent);
    color: color-mix(in srgb, var(--warn) 85%, var(--fg));
}

.product-section {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid color-mix(in srgb, var(--fg) 10%, transparent);
}

.product-h2 {
    margin: 0 0 0.5rem;
    font-size: 1.05rem;
}

.product-desc {
    margin: 0;
    color: color-mix(in srgb, var(--fg) 88%, var(--muted));
}

.product-buybox {
    padding: 1rem;
}

.product-buybox__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid color-mix(in srgb, var(--fg) 10%, transparent);
}

.product-buybox__name {
    font-weight: 800;
}

.product-buybox__price {
    font-weight: 900;
    white-space: nowrap;
}

.product-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.85rem;
}

.product-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.55rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--fg) 12%, transparent);
    background: color-mix(in srgb, var(--card) 92%, transparent);
    color: color-mix(in srgb, var(--fg) 86%, var(--muted));
    font-size: 0.85rem;
    font-weight: 650;
}

.product-tabs {
    margin-top: 1rem;
    padding: 0;
    overflow: hidden;
}

.product-tabs__bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    padding: 0.85rem;
    border-bottom: 1px solid color-mix(in srgb, var(--fg) 10%, transparent);
    background: color-mix(in srgb, var(--card) 92%, transparent);
}

.product-tab {
    appearance: none;
    border: 1px solid color-mix(in srgb, var(--fg) 12%, transparent);
    background: #0000;
    color: color-mix(in srgb, var(--fg) 88%, var(--muted));
    border-radius: 999px;
    padding: 0.45rem 0.75rem;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
}

.product-tab.is-active {
    background: color-mix(in srgb, var(--accent) 18%, transparent);
    border-color: color-mix(in srgb, var(--accent) 55%, transparent);
    color: var(--fg);
}

.product-tabs__body {
    padding: 1rem 1rem 1.05rem;
}

.product-tabtext {
    margin: 0;
    color: color-mix(in srgb, var(--fg) 88%, var(--muted));
    line-height: 1.75;
}

.product-tabtext--muted {
    color: var(--muted);
}

.product-rich :is(p, ul, ol, li, blockquote, pre, table, h2, h3, h4) {
    margin-top: 0.75rem;
}

.product-rich :is(p, ul, ol, blockquote, pre, table, h2, h3, h4):first-child {
    margin-top: 0;
}

.product-rich ul,
.product-rich ol {
    padding-left: 1.25rem;
}

.product-rich a {
    color: var(--accent);
    font-weight: 700;
    text-decoration: none;
}

.product-rich a:hover {
    text-decoration: underline;
}

.admin-faqbuilder {
    display: grid;
    gap: .75rem;
}

.admin-faqbuilder__rows {
    display: grid;
    gap: .75rem;
}

.admin-faqbuilder__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    flex-wrap: wrap;
}

.admin-faqrow {
    border: 1px solid rgba(0,0,0,.08);
    border-radius: .9rem;
    padding: .75rem;
    background: #fff;
}

.admin-faqrow__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .5rem;
}

.admin-faqbuilder__json {
    margin-top: .5rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.product-faq__item {
    border: 1px solid color-mix(in srgb, var(--fg) 10%, transparent);
    border-radius: 14px;
    background: color-mix(in srgb, var(--card) 92%, transparent);
    padding: 0.25rem 0.7rem;
    margin-top: 0.65rem;
}

.product-faq__q {
    cursor: pointer;
    font-weight: 800;
    padding: 0.5rem 0;
}

.product-faq__a {
    color: color-mix(in srgb, var(--fg) 88%, var(--muted));
    padding: 0 0 0.65rem;
}

.product-related {
    margin-top: 1.25rem;
}

.product-related__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0 0 0.75rem;
}

.product-related__title {
    margin: 0;
    font-size: 1.1rem;
}

.product-related__more {
    color: var(--accent);
    font-weight: 700;
    text-decoration: none;
}

.product-related__more:hover {
    text-decoration: underline;
}

.product-related__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr));
    gap: 0.85rem;
}

.product-related__card {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.6rem;
    text-decoration: none;
    color: inherit;
    padding: 0.8rem;
    border-radius: 16px;
    border: 1px solid color-mix(in srgb, var(--fg) 10%, transparent);
    background: color-mix(in srgb, var(--card) 92%, transparent);
}

.product-related__card:hover {
    filter: brightness(1.03);
}

.product-related__img {
    width: 100%;
    height: 132px;
    border-radius: 14px;
    border: 1px solid color-mix(in srgb, var(--fg) 10%, transparent);
    background:
        radial-gradient(520px 220px at 30% 20%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 60%),
        linear-gradient(135deg, color-mix(in srgb, var(--fg) 10%, transparent), transparent);
    background-size: cover;
    background-position: center;
}

.product-related__name {
    font-weight: 850;
    line-height: 1.25;
}

.product-related__price {
    margin-top: 0.15rem;
    color: color-mix(in srgb, var(--fg) 86%, var(--muted));
    font-weight: 750;
}

@media (max-width: 560px) {
    .product-buybox__head {
        flex-wrap: wrap;
    }
}

@media (min-width: 980px) {
    .product-top {
        grid-template-columns: minmax(0, 1.1fr) 22rem;
        gap: 1.25rem;
        align-items: start;
    }
    .product-top__side {
        gap: 0.6rem;
    }
    .product-top__media img {
        /* Keep premium proportions instead of stretching */
        height: auto;
        max-height: min(520px, 62vh);
        aspect-ratio: 16 / 10;
    }
    .product-top__side .product-buybox {
        position: sticky;
        top: calc(var(--landing-header-h, 4.25rem) + 0.75rem);
    }
}

.product-card h3 {
    margin: 0 0 0.35rem;
    font-size: 1rem;
}

.product-card .price {
    font-weight: 600;
    margin: 0.5rem 0;
}

.small {
    font-size: 0.85rem;
}

.cart-add-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.product-card-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.product-fav-form {
    margin: 0;
}

.product-fav-inline {
    margin: 0.5rem 0 0;
}

.menu-insight h2 {
    margin-top: 0;
}

.menu-insight-label {
    font-weight: 600;
    font-size: 0.88rem;
    margin: 1rem 0 0.35rem;
}

.menu-insight-picks,
.menu-insight-pairs {
    margin: 0.25rem 0 0;
    padding-left: 1.2rem;
}

.menu-insight-picks a,
.menu-insight-pairs a {
    color: var(--accent);
    font-weight: 600;
    text-decoration: none;
}

.menu-insight-picks a:hover,
.menu-insight-pairs a:hover {
    text-decoration: underline;
}

.menu-insight-related a {
    color: var(--accent);
    font-weight: 600;
    text-decoration: none;
}

.menu-insight-related a:hover {
    text-decoration: underline;
}

.customer-main .product-card[id^='product-'] {
    scroll-margin-top: 1.25rem;
}

.checkout-payment-choices .checkout-payment-choice {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin-bottom: 0.45rem;
}

.cart-add-form select {
    padding: 0.35rem 0.5rem;
    border-radius: 6px;
    border: 1px solid color-mix(in srgb, var(--fg) 14%, transparent);
    background: var(--bg);
    color: var(--fg);
    font: inherit;
}

.cart-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0.5rem 0 1rem;
}

.cart-table th,
.cart-table td {
    text-align: left;
    padding: 0.5rem 0.35rem;
    border-bottom: 1px solid color-mix(in srgb, var(--fg) 10%, transparent);
}

.qty-input {
    width: 4rem;
    padding: 0.35rem;
    border-radius: 6px;
    border: 1px solid color-mix(in srgb, var(--fg) 14%, transparent);
    background: var(--bg);
    color: var(--fg);
    font: inherit;
}

.cart-total {
    margin: 1rem 0;
}

.category-block h2 {
    margin-top: 0;
}

.category-block .product-grid {
    align-items: stretch;
}

.category-block .product-card {
    box-sizing: border-box;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.category-block .product-card .product-fav-inline {
    margin: auto 0 0;
}

.category-block .product-card .price {
    margin: auto 0 0.35rem;
}

.product-card-summary {
    margin: 0.15rem 0 0;
    min-height: calc(1.45em * 2);
    line-height: 1.45;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    word-break: break-word;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.list.compact {
    margin: 0.5rem 0 0;
}

.list.compact li {
    margin: 0.25rem 0;
}

.form-stack .field,
.card > .field {
    margin-bottom: 1.1rem;
}

.form-stack label,
.card .field > label {
    display: block;
    font-weight: 600;
    font-size: 0.88rem;
    letter-spacing: 0.01em;
    margin-bottom: 0.4rem;
    color: var(--fg);
}

.admin-body .form-stack label,
.admin-body .field > label {
    display: block;
    font-weight: 600;
    font-size: 0.88rem;
    letter-spacing: 0.01em;
    margin-bottom: 0.4rem;
    color: var(--admin-main-fg);
}

.field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

@media (max-width: 40rem) {
    .field-row {
        grid-template-columns: 1fr;
    }
}

.hint {
    display: block;
    font-size: 0.8rem;
    color: var(--muted);
    margin-top: 0.25rem;
}

.form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    margin-top: 1rem;
}

.cart-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    margin-top: 1rem;
}

.inline-logout {
    display: inline;
    margin: 0;
}

.inline-logout button {
    vertical-align: baseline;
}

/* ——— Müşteri: sol sidebar (üst/alt çubuk yok) ——— */
.customer-body {
    --bg: #faf8f5;
    --fg: #1c1917;
    --muted: #57534e;
    --accent: #a16207;
    --card: #fff;
    --ok: #15803d;
    --warn: #c2410c;
    --customer-sidebar-w: 13.5rem;
    --control-bg: #fff;
    --control-border: #d6d3d1;
    --control-border-focus: #a16207;
    --control-placeholder: #a8a29e;
    --control-radius: 11px;
    --control-shadow: 0 1px 3px rgba(28, 25, 23, 0.07);
    --control-focus-ring: 0 0 0 3px rgba(161, 98, 7, 0.22);
    color-scheme: light;
    background: var(--bg);
    color: var(--fg);
    margin: 0;
    min-height: 100vh;
    display: flex;
}

.customer-body--guest {
    display: block;
    /* Landing ile aynı container genişliği */
    --guest-max: var(--landing-max, min(90rem, calc(100% - (clamp(1rem, 4vw, 2.5rem) * 2))));
}

.customer-body--guest.theme-foodz .customer-main {
    padding-top: calc(var(--landing-header-h, 4.25rem) + 0.25rem);
}

.customer-body--guest.theme-foodz .customer-main--full .hero {
    scroll-margin-top: calc(var(--landing-header-h, 4.25rem) + 1rem);
}

.customer-body--guest .customer-main--full,
.customer-body--guest .customer-footer--full {
    max-width: var(--guest-max);
    margin-left: auto;
    margin-right: auto;
}

.customer-sidebar {
    flex: 0 0 var(--customer-sidebar-w);
    width: var(--customer-sidebar-w);
    min-height: 100vh;
    position: sticky;
    top: 0;
    align-self: flex-start;
    display: flex;
    flex-direction: column;
    background: linear-gradient(180deg, #1c1917 0%, #292524 55%, #1a1816 100%);
    color: #f5f5f4;
    border-right: 1px solid color-mix(in srgb, #f5f5f4 10%, transparent);
    z-index: 40;
}

.customer-sidebar-brand {
    padding: 1.15rem 1rem 1rem;
    border-bottom: 1px solid color-mix(in srgb, #f5f5f4 10%, transparent);
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

.customer-sidebar-brand-mark {
    font-size: 1.35rem;
    font-weight: 200;
    line-height: 1;
    color: #fbbf24;
}

.customer-sidebar-brand-name {
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.25;
}

.customer-sidebar-brand-text {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
    flex: 1;
}

.customer-sidebar-brand-logo {
    max-height: 42px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    flex-shrink: 0;
}

.customer-sidebar-brand-tag {
    line-height: 1.25;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0.02em;
}

.customer-sidebar-nav {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.85rem 0.65rem;
    flex: 1;
}

.customer-sidebar-account {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.65rem 0.65rem 0.75rem;
    border-top: 1px solid color-mix(in srgb, #f5f5f4 10%, transparent);
}

.customer-sidebar-logout {
    margin: 0;
}

.customer-nav-link--button {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
    padding: 0.55rem 0.65rem;
    border-radius: 10px;
    border: none;
    background: transparent;
    color: #a8a29e;
    font: inherit;
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    text-align: left;
    transition: background 0.15s ease, color 0.15s ease;
}

.customer-nav-link--button:hover {
    background: color-mix(in srgb, #f5f5f4 9%, transparent);
    color: #f5f5f4;
}

.customer-nav-link {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.65rem;
    border-radius: 10px;
    color: #e7e5e4;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
    transition: background 0.15s ease, color 0.15s ease;
}

.customer-nav-link:hover {
    background: color-mix(in srgb, #f5f5f4 9%, transparent);
    color: #fff;
}

.customer-nav-mark {
    font-weight: 300;
    font-size: 1rem;
    color: #fbbf24;
    width: 1rem;
    text-align: center;
    flex-shrink: 0;
}

.customer-nav-link--subtle {
    font-size: 0.8rem;
    font-weight: 500;
    color: #a8a29e;
}

.customer-nav-link--subtle .customer-nav-mark {
    color: #78716c;
}

.customer-nav-link--subtle:hover {
    color: #f5f5f4;
}

.customer-sidebar-foot {
    padding: 0.75rem 0.65rem 1rem;
    border-top: 1px solid color-mix(in srgb, #f5f5f4 10%, transparent);
}

.customer-lang-switch {
    margin: 0 0 0.5rem;
    line-height: 1.35;
}

.customer-lang-link {
    color: #a8a29e;
    text-decoration: none;
}

.customer-lang-link:hover {
    color: #f5f5f4;
}

.customer-lang-link.is-current {
    color: #f5f5f4;
    font-weight: 600;
}

.customer-shell {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    max-width: none;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.customer-main {
    padding-top: 1.25rem;
    padding-bottom: 2rem;
    flex: 1;
    width: 100%;
    max-width: none;
}

.customer-footer {
    padding-bottom: 1.5rem;
    border-top: none;
}

.footer-mark {
    color: var(--muted);
    margin-right: 0.25rem;
}

@media (max-width: 640px) {
    .customer-body {
        --customer-sidebar-w: 5.25rem;
    }

    .customer-sidebar-brand-name,
    .customer-nav-link {
        font-size: 0.72rem;
    }

    .customer-nav-link {
        flex-direction: column;
        text-align: center;
        gap: 0.2rem;
        padding: 0.5rem 0.35rem;
    }

    .customer-nav-mark {
        font-size: 1.1rem;
    }

    .customer-sidebar-brand {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .customer-sidebar-brand-mark {
        font-size: 1.5rem;
    }

    .customer-sidebar-foot .customer-nav-link {
        font-size: 0.65rem;
    }
}

/* Müşteri içerik: tam genişlik (sidebar dışı alan) */
.customer-main--full {
    max-width: none;
    width: 100%;
    margin: 0;
    padding-left: clamp(1rem, 4vw, 2.5rem);
    padding-right: clamp(1rem, 4vw, 2.5rem);
    padding-top: clamp(1rem, 2vw, 1.5rem);
}

.customer-footer--full {
    max-width: none;
    width: 100%;
    margin: 0;
    padding-left: clamp(1rem, 4vw, 2.5rem);
    padding-right: clamp(1rem, 4vw, 2.5rem);
}

@media (max-width: 720px) {
    .customer-main--full,
    .customer-footer--full {
        padding-left: clamp(0.55rem, 2.6vw, 0.95rem);
        padding-right: clamp(0.55rem, 2.6vw, 0.95rem);
    }
}

/* Guest sayfalarda (sidebar yok): ana sayfa gibi ortalı container */
.customer-body--guest .customer-main--full,
.customer-body--guest .customer-footer--full {
    max-width: var(--guest-max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.customer-main--full .hero {
    padding: clamp(1.15rem, 2.5vw, 1.75rem) clamp(1rem, 3vw, 1.5rem);
    margin-bottom: 1.25rem;
    border-radius: 16px;
    background: linear-gradient(135deg, #fff 0%, #faf8f5 50%, color-mix(in srgb, var(--accent) 10%, #faf8f5) 100%);
    border: 1px solid color-mix(in srgb, var(--fg) 9%, transparent);
    box-shadow: 0 6px 24px rgba(28, 25, 23, 0.06);
}

/* Müşteri: ikincil düğmeler (sepet güncelle, sil, menü) */
.customer-body a.btn:not(.btn-primary):not(.btn-ghost),
.customer-body button.btn:not(.btn-primary):not(.btn-ghost) {
    background: linear-gradient(180deg, #fff 0%, #f5f5f0 100%);
    color: #292524;
    border-color: color-mix(in srgb, var(--fg) 16%, transparent);
    font-weight: 600;
    box-shadow: 0 1px 2px color-mix(in srgb, #000 5%, transparent);
}

.customer-body a.btn:not(.btn-primary):not(.btn-ghost):hover,
.customer-body button.btn:not(.btn-primary):not(.btn-ghost):hover {
    border-color: color-mix(in srgb, var(--accent) 55%, var(--fg) 8%);
    background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 55%, #fff 100%);
    filter: none;
}

.customer-main--full section.card:not(.warn-card):not(.blog-article):not(.blog-sss),
.customer-main--full form.card:not(.warn-card),
.customer-main--full .card:not(.warn-card):not(.blog-card):not(.blog-article):not(.blog-sss) {
    border-left: 4px solid #ca8a04;
    background: linear-gradient(165deg, #fff 0%, #faf8f5 100%);
    box-shadow: 0 2px 16px color-mix(in srgb, #000 5%, transparent);
}

.customer-body .dashboard-hero {
    padding: clamp(1.25rem, 3vw, 1.95rem) clamp(1.15rem, 3vw, 1.85rem);
    margin-bottom: 1.5rem;
    border-radius: 16px;
    background: linear-gradient(135deg, #1c1917 0%, #292524 40%, #422006 100%);
    color: #fafaf9;
    border: 1px solid color-mix(in srgb, #fbbf24 22%, transparent);
    box-shadow: 0 12px 32px color-mix(in srgb, #000 12%, transparent);
}

.customer-body .dashboard-eyebrow {
    color: #a8a29e;
}

.customer-body .dashboard-hero h1 {
    color: #fff;
}

.customer-body .dashboard-lead {
    color: #d6d3d1;
}

.customer-body .dashboard-card--action .dashboard-card-mark {
    color: #fbbf24;
}

.customer-main--full .product-card {
    background: #fff;
    border: 1px solid color-mix(in srgb, var(--fg) 9%, transparent);
    border-radius: 14px;
    padding: 1.1rem 1.2rem;
    box-shadow: 0 2px 12px color-mix(in srgb, #000 4%, transparent);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.customer-main--full .product-card:hover {
    border-color: color-mix(in srgb, var(--accent) 38%, transparent);
    box-shadow: 0 6px 22px color-mix(in srgb, var(--accent) 12%, transparent);
}

.customer-body .cart-table thead th {
    background: linear-gradient(180deg, #292524 0%, #1c1917 100%);
    color: #fafaf9;
    font-size: 0.78rem;
    font-weight: 650;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.65rem 0.55rem;
    border-bottom: 2px solid #ca8a04;
}

.customer-body .cart-table tbody tr:hover td {
    background: color-mix(in srgb, #fde68a 10%, #fff);
}

.customer-body .cart-form-card .table-wrap {
    margin-top: 0.35rem;
}

.customer-body .table-wrap {
    border-radius: 10px;
    border: 1px solid color-mix(in srgb, var(--fg) 8%, transparent);
    overflow: hidden;
}

.customer-main--full .product-grid {
    grid-template-columns: repeat(auto-fill, minmax(16.5rem, 1fr));
    gap: 1.15rem;
}

@media (min-width: 1100px) {
    .customer-main--full .product-grid {
        grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr));
    }
}

/* Müşteri paneli (dashboard) */
.dashboard {
    max-width: none;
    width: 100%;
}

.dashboard-hero {
    margin-bottom: 1.75rem;
}

.dashboard-eyebrow {
    margin: 0 0 0.35rem;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
}

.dashboard-eyebrow span {
    color: var(--accent);
    margin-right: 0.35rem;
}

.dashboard-hero h1 {
    margin: 0 0 0.5rem;
    font-size: clamp(1.65rem, 4vw, 2.25rem);
    line-height: 1.15;
}

.dashboard-lead {
    margin: 0;
    font-size: 1.05rem;
    color: var(--muted);
    max-width: 40rem;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.dashboard-card {
    display: block;
    padding: 1.2rem 1.35rem;
    border-radius: 14px;
    border: 1px solid color-mix(in srgb, var(--fg) 10%, transparent);
    background: var(--card);
    box-shadow: 0 2px 12px color-mix(in srgb, #000 5%, transparent);
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.dashboard-card--action:hover {
    border-color: color-mix(in srgb, var(--accent) 45%, transparent);
    box-shadow: 0 6px 24px color-mix(in srgb, var(--accent) 12%, transparent);
    transform: translateY(-2px);
}

.dashboard-card--info {
    cursor: default;
}

.dashboard-card--info a {
    color: var(--accent);
    font-weight: 600;
}

.dashboard-card--status.is-ok {
    border-color: color-mix(in srgb, var(--ok) 35%, transparent);
}

.dashboard-card--status.is-warn {
    border-color: color-mix(in srgb, var(--warn) 35%, transparent);
}

.dashboard-card-mark {
    display: block;
    font-size: 1.25rem;
    font-weight: 300;
    color: var(--accent);
    margin-bottom: 0.35rem;
}

.dashboard-card--info .dashboard-card-mark,
.dashboard-card--status .dashboard-card-mark {
    color: var(--muted);
}

.dashboard-card--status.is-ok .dashboard-card-mark {
    color: var(--ok);
}

.dashboard-card h2 {
    margin: 0 0 0.4rem;
    font-size: 1.05rem;
}

.dashboard-card p {
    margin: 0;
    font-size: 0.92rem;
    color: var(--muted);
}

.dashboard-card--action p {
    color: var(--muted);
}

.dashboard-footnote-title {
    margin: 0 0 0.5rem;
    font-size: 0.95rem;
}

.dashboard-footnote-title span {
    color: var(--accent);
    margin-right: 0.35rem;
}

/* Müşteri + yönetim: modern form kontrolleri */
.customer-body .form-stack h2,
.admin-body .form-stack h2 {
    margin: 0 0 1rem;
    font-size: 1.05rem;
}

.customer-body .form-stack input[type="text"],
.customer-body .form-stack input[type="tel"],
.customer-body .form-stack input[type="email"],
.customer-body .form-stack input[type="password"],
.customer-body .form-stack input[type="number"],
.customer-body .form-stack textarea,
.customer-body .form-stack select,
.customer-body .cart-add-form select,
.customer-body .card .field > input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
.customer-body .card .field > textarea,
.customer-body .qty-input,
.customer-body .coupon-input {
    width: 100%;
    max-width: 100%;
    padding: 0.7rem 0.95rem;
    border-radius: var(--control-radius);
    border: 1px solid var(--control-border);
    background: var(--control-bg);
    color: var(--fg);
    font: inherit;
    font-size: 1rem;
    line-height: 1.4;
    box-shadow: var(--control-shadow);
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease,
        background-color 0.15s ease;
}

.customer-body .form-stack textarea {
    min-height: 5.75rem;
    resize: vertical;
}

.customer-body .card .field > textarea {
    resize: vertical;
}

.customer-body .form-stack input::placeholder,
.customer-body .form-stack textarea::placeholder,
.customer-body .card .field > input::placeholder,
.customer-body .card .field > textarea::placeholder {
    color: var(--control-placeholder);
}

.customer-body .form-stack input:hover,
.customer-body .form-stack textarea:hover,
.customer-body .form-stack select:hover,
.customer-body .cart-add-form select:hover,
.customer-body .card .field > input:hover,
.customer-body .card .field > textarea:hover,
.customer-body .qty-input:hover,
.customer-body .coupon-input:hover {
    border-color: #a8a29e;
}

.customer-body .form-stack input:focus,
.customer-body .form-stack textarea:focus,
.customer-body .form-stack select:focus,
.customer-body .cart-add-form select:focus,
.customer-body .card .field > input:focus,
.customer-body .card .field > textarea:focus,
.customer-body .qty-input:focus,
.customer-body .coupon-input:focus {
    outline: none;
    border-color: var(--control-border-focus);
    box-shadow: var(--control-shadow), var(--control-focus-ring);
}

.customer-body .form-stack select,
.customer-body .cart-add-form select {
    cursor: pointer;
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, #57534e 50%),
        linear-gradient(135deg, #57534e 50%, transparent 50%);
    background-position: calc(100% - 1.1rem) calc(50% + 0.2rem), calc(100% - 0.75rem) calc(50% + 0.2rem);
    background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
    background-repeat: no-repeat;
    padding-right: 2.25rem;
}

.customer-body .cart-add-form select {
    width: auto;
    min-width: 4.75rem;
    max-width: 8rem;
}

.customer-body .cart-table .qty-input {
    width: auto;
    min-width: 3.5rem;
    max-width: 5.25rem;
}

.admin-body .form-stack input[type="text"],
.admin-body .form-stack input[type="tel"],
.admin-body .form-stack input[type="email"],
.admin-body .form-stack input[type="password"],
.admin-body .form-stack input[type="number"],
.admin-body .form-stack input[type="url"],
.admin-body .form-stack input[type="search"],
.admin-body .form-stack input[type="datetime-local"],
.admin-body .form-stack input[type="date"],
.admin-body .form-stack input[type="time"],
.admin-body .form-stack textarea,
.admin-body .form-stack select,
.admin-body .card .field > input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
.admin-body .card .field > textarea,
.admin-body .card .field > select,
.admin-body .small-input {
    width: 100%;
    max-width: 100%;
    padding: 0.65rem 0.85rem;
    border-radius: var(--control-radius);
    border: 1px solid var(--control-border);
    background: var(--control-bg);
    color: var(--admin-main-fg);
    font: inherit;
    font-size: 0.95rem;
    box-shadow: var(--control-shadow);
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease;
}

.admin-body .form-stack input:focus,
.admin-body .form-stack textarea:focus,
.admin-body .form-stack select:focus,
.admin-body .card .field > input:focus,
.admin-body .card .field > textarea:focus,
.admin-body .card .field > select:focus,
.admin-body .small-input:focus {
    outline: none;
    border-color: var(--control-border-focus);
    box-shadow: var(--control-shadow), var(--control-focus-ring);
}

/* TinyMCE (v7) — varsayılan mavi “focus” çerçevesini admin temasına uydur */
.admin-body .tox-tinymce,
.admin-body .tox.tox-tinymce {
    border-radius: var(--control-radius) !important;
    border: 1px solid var(--control-border) !important;
    box-shadow: var(--control-shadow) !important;
}

.admin-body .tox-tinymce:focus,
.admin-body .tox-tinymce:focus-within,
.admin-body .tox.tox-tinymce:focus,
.admin-body .tox.tox-tinymce:focus-within {
    outline: none !important;
    border-color: var(--control-border-focus) !important;
    box-shadow: var(--control-shadow), var(--control-focus-ring) !important;
}

.admin-body .tox .tox-edit-area__iframe,
.admin-body .tox .tox-edit-area iframe {
    outline: none !important;
}

.admin-body .form-stack textarea {
    min-height: 5rem;
    resize: vertical;
}

.admin-body .form-stack select,
.admin-body .card .field > select {
    cursor: pointer;
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, #78716c 50%),
        linear-gradient(135deg, #78716c 50%, transparent 50%);
    background-position: calc(100% - 1.1rem) calc(50% + 0.2rem), calc(100% - 0.75rem) calc(50% + 0.2rem);
    background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
    background-repeat: no-repeat;
    padding-right: 2.25rem;
}

.admin-body .form-stack input:hover,
.admin-body .form-stack textarea:hover,
.admin-body .form-stack select:hover,
.admin-body .card .field > input:hover,
.admin-body .card .field > textarea:hover,
.admin-body .card .field > select:hover,
.admin-body .small-input:hover {
    border-color: #a8a29e;
}

/* ——— Yönetim: sidebar + sıcak / lüks palet ——— */
.admin-body {
    --admin-sidebar-bg: linear-gradient(165deg, #1c1917 0%, #292524 48%, #1a1816 100%);
    --admin-sidebar-fg: #f5f5f4;
    --admin-sidebar-muted: #a8a29e;
    --admin-sidebar-border: color-mix(in srgb, #f5f5f4 9%, transparent);
    --admin-accent: #eab308;
    --admin-accent-dim: color-mix(in srgb, #eab308 22%, transparent);
    --admin-main-bg: #f5f5f4;
    --admin-main-fg: #1c1917;
    --admin-card: #fff;
    --control-bg: #fff;
    --control-border: #d6d3d1;
    --control-border-focus: #a16207;
    --control-placeholder: #78716c;
    --control-radius: 11px;
    --control-shadow: 0 1px 3px rgba(28, 25, 23, 0.07);
    --control-focus-ring: 0 0 0 3px rgba(161, 98, 7, 0.2);
    /* Grafik / rozet vb. için müşteri paneliyle uyumlu sıcak tonlar */
    --accent: #ca8a04;
    --ok: #15803d;
    --warn: #c2410c;
    margin: 0;
    color-scheme: light;
    background: var(--admin-main-bg);
    color: var(--admin-main-fg);
}

.admin-body .flash {
    background: color-mix(in srgb, #15803d 14%, transparent);
    border-color: color-mix(in srgb, #15803d 28%, transparent);
    color: #14532d;
}

.admin-shell {
    min-height: 100vh;
    display: grid;
}

.admin-shell--login {
    grid-template-columns: 1fr;
    background:
        radial-gradient(120% 80% at 100% 0%, color-mix(in srgb, #eab308 12%, transparent), transparent 55%),
        radial-gradient(90% 60% at 0% 100%, color-mix(in srgb, #78716c 14%, transparent), transparent 50%),
        var(--admin-main-bg);
}

.admin-shell--login .admin-main {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.admin-login-top {
    padding: 1rem 1.25rem 0;
}

.admin-login-back {
    font-size: 0.9rem;
    color: #57534e;
    text-decoration: none;
    font-weight: 500;
}

.admin-login-back:hover {
    color: #a16207;
}

.admin-body--app .admin-shell {
    grid-template-columns: 1fr;
}

@media (min-width: 720px) {
    .admin-body--app .admin-shell {
        grid-template-columns: 17.5rem minmax(0, 1fr);
    }
}

.admin-sidebar {
    background: #292524;
    background: var(--admin-sidebar-bg);
    color: var(--admin-sidebar-fg);
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--admin-sidebar-border);
    z-index: 5;
    position: relative;
    width: 100%;
    min-height: 0;
    /* İçerik uzadıkça scrollbar çıkıp hizayı kaydırmasın */
    overflow-x: hidden;
    scrollbar-gutter: stable;
}

@media (min-width: 720px) {
    .admin-sidebar {
        position: sticky;
        top: 0;
        align-self: start;
        height: 100vh;
        overflow-y: auto;
        width: auto;
    }
}

.admin-sidebar-head {
    padding: 1.35rem 1.25rem 1rem;
    border-bottom: 1px solid var(--admin-sidebar-border);
}

.admin-sidebar-brand {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    text-decoration: none;
    color: inherit;
}

.admin-sidebar-brand-mark {
    font-size: 1.5rem;
    font-weight: 200;
    line-height: 1;
    color: var(--admin-accent);
    margin-top: 0.1rem;
}

.admin-sidebar-brand-text {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.admin-sidebar-brand-title {
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.admin-sidebar-brand-sub {
    font-size: 0.8rem;
    color: var(--admin-sidebar-muted);
}

.admin-sidebar-nav {
    display: flex;
    flex-direction: column;
    padding: 0.75rem 0.65rem;
    gap: 0.2rem;
    flex: 1;
}

.admin-nav-link {
    display: grid;
    grid-template-columns: 1.25rem 1fr;
    align-items: center;
    column-gap: 0.55rem;
    padding: 0.65rem 0.85rem;
    border-radius: 10px;
    color: var(--admin-sidebar-fg);
    text-decoration: none;
    font-size: 0.92rem;
    font-weight: 500;
    transition: background 0.15s ease, color 0.15s ease;
}

.admin-nav-link--toggle {
    border: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
    width: 100%;
}

.admin-nav-link--toggle[aria-expanded="false"] + .admin-nav-sublinks {
    display: none;
}

.admin-nav-group {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.admin-nav-sublinks {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    margin-left: 0.35rem;
}

.admin-nav-sublink {
    padding-left: 1.35rem;
    font-size: 0.88rem;
    color: color-mix(in srgb, var(--admin-sidebar-fg) 88%, var(--admin-sidebar-muted));
}

.admin-nav-link:hover {
    background: color-mix(in srgb, #f5f5f4 7%, transparent);
    color: #fff;
}

.admin-nav-link--muted {
    color: var(--admin-sidebar-muted);
    font-size: 0.85rem;
}

.admin-nav-link--muted:hover {
    color: var(--admin-sidebar-fg);
}

.admin-nav-mark {
    font-weight: 300;
    font-size: 1.05rem;
    color: var(--admin-accent);
    text-align: center;
    flex-shrink: 0;
    width: 1.25rem;
    line-height: 1;
}

.admin-nav-link--muted .admin-nav-mark {
    color: var(--admin-sidebar-muted);
}

.admin-sidebar-foot {
    padding: 1rem 0.65rem 1.25rem;
    border-top: 1px solid var(--admin-sidebar-border);
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.admin-logout-form {
    margin: 0;
}

.admin-logout-btn {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    padding: 0.65rem 0.85rem;
    border: 1px solid var(--admin-sidebar-border);
    border-radius: 10px;
    background: color-mix(in srgb, #000 25%, transparent);
    color: var(--admin-sidebar-fg);
    font: inherit;
    font-size: 0.92rem;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.admin-logout-btn:hover {
    background: color-mix(in srgb, #ef4444 18%, transparent);
    border-color: color-mix(in srgb, #ef4444 35%, transparent);
}

.admin-page-actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: 0.75rem;
}

.admin-section-head {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-bottom: 0.9rem;
}

/* Admin: compact tabs (Optimia-style grouping) */
.admin-tabbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0.75rem 0 1rem;
}

.admin-tab {
    appearance: none;
    border: 1px solid color-mix(in srgb, var(--admin-main-fg) 14%, transparent);
    background: color-mix(in srgb, #fff 70%, transparent);
    color: var(--admin-main-fg);
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    font: inherit;
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
}

.admin-tab[aria-selected="true"] {
    border-color: color-mix(in srgb, var(--admin-accent) 55%, var(--admin-main-fg) 12%);
    background: color-mix(in srgb, var(--admin-accent) 18%, #fff);
}

.admin-tab:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--admin-accent) 55%, transparent);
    outline-offset: 2px;
}

.admin-panel[hidden] {
    display: none !important;
}

.admin-split {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

@media (min-width: 980px) {
    .admin-split {
        grid-template-columns: 0.95fr 1.05fr;
        align-items: start;
    }
}

.home-sections-list {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.home-section-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.65rem 0.8rem;
    border: 1px solid color-mix(in srgb, var(--admin-ink) 10%, transparent);
    border-radius: 14px;
    background: color-mix(in srgb, #fff 55%, transparent);
}

.home-section-item--off {
    opacity: 0.78;
    background: color-mix(in srgb, #fff 35%, transparent);
}

.home-section-item__main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.home-section-item__title {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.home-section-item__actions {
    display: flex;
    gap: 0.25rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.chip {
    display: inline-flex;
    align-items: center;
    padding: 0.18rem 0.5rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--admin-ink) 10%, transparent);
    background: color-mix(in srgb, #fff 70%, transparent);
}

/* Landing: slider background images (optional config) */
.theme-foodz .landing-slide {
    position: relative;
    overflow: hidden;
}

.theme-foodz .landing-slide__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 1;
    transform: scale(1.03);
    filter: none;
    pointer-events: none;
}

.theme-foodz .landing-slide__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    /* No dark overlay: keep slider image crisp */
    background: transparent;
}

/* Content layout is handled in theme-foodz.css */

.theme-foodz .landing-slide__content--left { margin-right: auto; text-align: left; }
.theme-foodz .landing-slide__content--center { margin-left: auto; margin-right: auto; text-align: center; }
.theme-foodz .landing-slide__content--right { margin-left: auto; text-align: right; }

.theme-foodz .landing-slide__content--top { justify-content: flex-start; }
.theme-foodz .landing-slide__content--center { justify-content: center; }
.theme-foodz .landing-slide__content--bottom { justify-content: flex-end; }

.theme-foodz .landing-slide__content--light { color: #fff; }
.theme-foodz .landing-slide__content--dark { color: #0c0a09; }

.theme-foodz .landing-slide__content .landing-slide__lead,
.theme-foodz .landing-slide__content .landing-slide__eyebrow {
    opacity: 0.92;
}

.admin-main {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 100vh;
    background: var(--admin-main-bg);
}

.admin-body--app .admin-main {
    background:
        radial-gradient(110% 55% at 100% 0%, color-mix(in srgb, #eab308 11%, transparent), transparent 48%),
        radial-gradient(75% 45% at 0% 100%, color-mix(in srgb, #78716c 10%, transparent), transparent 52%),
        var(--admin-main-bg);
}

.admin-content {
    flex: 1;
    max-width: none;
    margin: 0;
    width: 100%;
    padding: clamp(1rem, 2vw, 1.35rem) clamp(1rem, 4vw, 2.5rem) 2rem;
}

.admin-shell--login .admin-content {
    max-width: 26rem;
    margin: 0 auto;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2rem 1.25rem;
}

.admin-flash {
    margin-bottom: 1rem;
}

.admin-footer {
    padding: 1rem clamp(1rem, 4vw, 2.5rem) 1.5rem;
    color: #78716c;
    font-size: 0.85rem;
}

.admin-footer small {
    display: block;
    max-width: none;
    margin: 0;
}

.admin-body .card {
    background: var(--admin-card);
    border-color: color-mix(in srgb, var(--admin-main-fg) 8%, transparent);
    box-shadow: 0 1px 3px color-mix(in srgb, #000 6%, transparent);
}

.admin-body .hero .lead,
.admin-body .muted {
    color: #57534e;
}

.admin-body .btn-primary {
    background: linear-gradient(180deg, #ca8a04 0%, #a16207 100%);
    border-color: #a16207;
    color: #fff;
}

.admin-body .btn-primary:hover {
    filter: brightness(1.05);
}

.admin-body .btn {
    border-color: color-mix(in srgb, var(--admin-main-fg) 14%, transparent);
}

.admin-body .btn-ghost {
    color: #292524;
    border-color: color-mix(in srgb, var(--admin-main-fg) 20%, transparent);
    background: color-mix(in srgb, var(--admin-main-fg) 5%, #fff);
}

.admin-body .btn-ghost:hover {
    color: #1c1917;
    border-color: color-mix(in srgb, #ca8a04 45%, var(--admin-main-fg) 25%);
    background: linear-gradient(180deg, color-mix(in srgb, #fde68a 35%, #fff) 0%, color-mix(in srgb, #fcd34d 18%, #fff) 100%);
}

/* İkincil düğme (İptal, pano kısayolları): yüksek kontrast, restoran amber vurgusu */
.admin-body a.btn:not(.btn-primary):not(.btn-ghost),
.admin-body button.btn:not(.btn-primary):not(.btn-ghost) {
    background: linear-gradient(180deg, #fff 0%, #f5f5f4 100%);
    color: #292524;
    border-color: color-mix(in srgb, var(--admin-main-fg) 22%, transparent);
    font-weight: 650;
    text-decoration: none;
    box-shadow: 0 1px 2px color-mix(in srgb, #000 6%, transparent);
}

.admin-body a.btn:not(.btn-primary):not(.btn-ghost):hover,
.admin-body button.btn:not(.btn-primary):not(.btn-ghost):hover {
    color: #1c1917;
    border-color: color-mix(in srgb, #ca8a04 50%, var(--admin-main-fg) 20%);
    background: linear-gradient(180deg, color-mix(in srgb, #fde68a 22%, #fff) 0%, #fff 100%);
    filter: none;
}

/* İptal: ghost/ikincil kuralından sonra; yeterli özgüllük için .btn-small ile */
.admin-body button.btn.btn-small.btn-cancel,
.admin-body a.btn.btn-small.btn-cancel {
    background: linear-gradient(180deg, #fff 0%, #fff1f2 100%);
    color: #9f1239;
    border-color: color-mix(in srgb, #fb7185 42%, var(--admin-main-fg) 12%);
    box-shadow: 0 1px 2px color-mix(in srgb, #f43f5e 12%, transparent);
}

.admin-body button.btn.btn-small.btn-cancel:hover,
.admin-body a.btn.btn-small.btn-cancel:hover {
    color: #831843;
    border-color: #e11d48;
    background: linear-gradient(180deg, #ffe4e6 0%, #fecdd3 100%);
    filter: none;
}

.admin-body .hero {
    border-radius: 14px;
    padding: 1.35rem 1.5rem 1.45rem;
    margin-bottom: 1.25rem;
    background: linear-gradient(135deg, #1c1917 0%, #292524 42%, #422006 100%);
    color: #fafaf9;
    border: 1px solid color-mix(in srgb, #fde68a 14%, transparent);
    box-shadow: 0 10px 28px color-mix(in srgb, #000 12%, transparent);
}

.admin-body .hero h1 {
    color: #fff;
    margin: 0 0 0.45rem;
    font-size: clamp(1.35rem, 3vw, 1.75rem);
    font-weight: 750;
    letter-spacing: -0.02em;
}

.admin-body .hero .lead {
    color: #d6d3d1;
    margin: 0 0 0.85rem;
    line-height: 1.55;
    max-width: 52rem;
}

.admin-body .hero a:not(.btn) {
    color: #fde68a;
    font-weight: 600;
}

.admin-body .hero a:not(.btn):hover {
    color: #fef9c3;
}

.admin-body .hero .btn:not(.btn-primary) {
    background: linear-gradient(180deg, #fff 0%, #f5f5f4 100%);
    color: #292524;
    border-color: color-mix(in srgb, #fde68a 35%, #78716c);
}

.admin-body .hero .btn:not(.btn-primary):hover {
    background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 100%);
    color: #1c1917;
}

.admin-body .hero code {
    background: color-mix(in srgb, #000 28%, transparent);
    color: #fde68a;
    padding: 0.12rem 0.38rem;
    border-radius: 5px;
    font-size: 0.88em;
}

.admin-body .dashboard-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 0.65rem;
    margin: 0;
    align-items: center;
}

.admin-body section.card {
    border-radius: 12px;
    border-left: 4px solid #ca8a04;
    background: linear-gradient(165deg, #fff 0%, #fafaf9 55%, color-mix(in srgb, #eab308 5%, #fafaf9) 100%);
    box-shadow: 0 2px 14px color-mix(in srgb, #000 5%, transparent);
}

.admin-body .table-wrap {
    border-radius: 10px;
    border: 1px solid color-mix(in srgb, var(--admin-main-fg) 9%, transparent);
    background: #fff;
}

.admin-body .cart-table {
    border-collapse: separate;
    border-spacing: 0;
}

.admin-body .cart-table thead th {
    background: linear-gradient(180deg, #292524 0%, #1c1917 100%);
    color: #fafaf9;
    font-weight: 650;
    font-size: 0.8rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.65rem 0.75rem;
    border-bottom: 2px solid #ca8a04;
}

.admin-body .cart-table tbody td {
    padding: 0.55rem 0.75rem;
    vertical-align: middle;
}

.admin-body .cart-table tbody tr:nth-child(even) td {
    background: color-mix(in srgb, var(--admin-main-fg) 4%, #fff);
}

.admin-body .cart-table tbody tr:hover td {
    background: color-mix(in srgb, #fde68a 12%, #fff);
}

.admin-body .hourly-bar {
    background: linear-gradient(180deg, #fde68a 0%, #ca8a04 100%);
}

.admin-body .trend-bar {
    background: linear-gradient(180deg, #86efac 0%, #15803d 100%);
}

.admin-body .status-pill {
    background: color-mix(in srgb, #fde68a 55%, #fff);
    color: #713f12;
    border: 1px solid color-mix(in srgb, #ca8a04 35%, transparent);
    font-weight: 600;
    padding: 0.2rem 0.55rem;
}

.admin-body .kds-grid {
    margin-top: 1.15rem;
}

.admin-body .kds-card {
    border-left: 4px solid #ca8a04;
    box-shadow: 0 4px 18px color-mix(in srgb, #000 8%, transparent);
    background: linear-gradient(165deg, #fff 0%, #fafaf9 100%);
}

.admin-body .kds-actions .btn-primary {
    min-width: 10.5rem;
}

.admin-body .coupon-admin-form {
    margin-top: 0.5rem;
}

.admin-body .admin-payments-list li {
    padding: 0.35rem 0;
    border-bottom: 1px solid color-mix(in srgb, var(--admin-main-fg) 7%, transparent);
}

.admin-body .admin-payments-list li:last-child {
    border-bottom: none;
}

.admin-body .admin-payments-callbacks {
    margin-top: 1rem;
    padding: 0.85rem 1rem 1rem;
    border-radius: 10px;
    border: 1px solid color-mix(in srgb, var(--admin-main-fg) 10%, transparent);
    background: linear-gradient(165deg, #fff 0%, #fafaf9 100%);
}

.admin-body .admin-payments-callbacks code {
    font-size: 0.82rem;
    padding: 0.15rem 0.4rem;
    border-radius: 6px;
    background: color-mix(in srgb, #fde68a 22%, #fff);
    border: 1px solid color-mix(in srgb, #ca8a04 22%, transparent);
}

.admin-body .stat-card {
    background: linear-gradient(145deg, #fff 0%, #fafaf9 100%);
}

.admin-body .tag {
    background: var(--admin-accent-dim);
    color: #713f12;
}

.table-wrap {
    overflow-x: auto;
}

.admin-orders-table {
    min-width: 54rem;
}

.admin-body .admin-order-channel-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.85rem;
    align-items: center;
}

.admin-body .channel-pill--table {
    background: color-mix(in srgb, #fde68a 50%, #fff);
    color: #713f12;
    border: 1px solid color-mix(in srgb, #ca8a04 35%, transparent);
}

.admin-body .channel-pill--online {
    background: color-mix(in srgb, var(--admin-main-fg) 7%, #fff);
    color: #44403c;
    border: 1px solid color-mix(in srgb, var(--admin-main-fg) 14%, transparent);
}

.admin-body .hero .channel-pill {
    margin-left: 0.45rem;
    vertical-align: middle;
}


.admin-body .menu-product-cards,
.admin-body .menu-category-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(17.5rem, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.admin-body .menu-product-card-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
}

.admin-body .menu-product-title {
    margin: 0;
    font-size: 1.02rem;
    flex: 1 1 10rem;
}

.admin-body .menu-pill-off {
    opacity: 0.88;
    filter: grayscale(0.25);
}

.admin-body .menu-subtitle {
    margin: 0 0 0.75rem;
    font-size: 1rem;
}

.admin-body .menu-field-check {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem;
}

.admin-body .menu-product-actions {
    margin-top: 0.35rem;
}

.admin-body .menu-toggle-form {
    margin-top: 0.5rem;
}

.admin-body .menu-new-product {
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid color-mix(in srgb, var(--admin-main-fg) 8%, transparent);
}

/* Admin / Menü: ürünleri kart yerine listede göster */
.admin-body .menu-products-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin: 0.75rem 0 1rem;
}

.admin-body .menu-products-tablewrap {
    overflow: auto;
    border-radius: 14px;
    border: 1px solid color-mix(in srgb, var(--admin-main-fg) 12%, transparent);
    background: #fff;
    box-shadow:
        0 1px 2px color-mix(in srgb, #000 6%, transparent),
        0 10px 30px color-mix(in srgb, #000 4%, transparent);
}

.admin-body .menu-products-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 56rem;
}

.admin-body .menu-products-table th,
.admin-body .menu-products-table td {
    padding: 0.75rem 0.8rem;
    vertical-align: top;
    border-bottom: 1px solid color-mix(in srgb, var(--admin-main-fg) 10%, transparent);
    color: var(--admin-main-fg);
}

.admin-body .menu-products-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--admin-accent) 5%, #fff) 100%);
    text-align: left;
    font-size: 0.88rem;
    letter-spacing: 0.01em;
}

.admin-body .menu-cell-product {
    min-width: 18rem;
}

.admin-body .menu-prod {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 0.65rem;
    align-items: start;
}

.admin-body .menu-prod__img {
    width: 56px;
    height: 40px;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid color-mix(in srgb, var(--admin-main-fg) 12%, transparent);
    background: color-mix(in srgb, var(--admin-main-fg) 4%, #fff);
}

.admin-body .menu-prod__img--ph {
    display: inline-block;
}

.admin-body .menu-prod__title {
    font-weight: 700;
    line-height: 1.25;
}

.admin-body .menu-prod__desc {
    margin-top: 0.15rem;
    max-width: 34rem;
}

.admin-body .menu-cell-url {
    min-width: 16rem;
}

.admin-body .menu-url {
    color: var(--admin-accent);
    text-decoration: none;
    font-weight: 650;
    word-break: break-word;
}

.admin-body .menu-url:hover {
    text-decoration: underline;
}

.admin-body details.menu-row-details > summary {
    list-style: none;
}

.admin-body details.menu-row-details > summary::-webkit-details-marker {
    display: none;
}

.admin-body .menu-row-panel {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px dashed color-mix(in srgb, var(--admin-main-fg) 18%, transparent);
}

.admin-body .admin-product-form textarea {
    resize: vertical;
}

.admin-body .admin-product-checks {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    align-items: flex-end;
    padding-top: 1.55rem;
}

.admin-body .admin-product-imgrow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    margin-top: 0.6rem;
}

.admin-body .admin-product-imgprev {
    width: 140px;
    height: 92px;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid color-mix(in srgb, var(--admin-main-fg) 12%, transparent);
    background: color-mix(in srgb, var(--admin-main-fg) 4%, #fff);
}

/* Admin product standard form (tabs + sticky save) */
.admin-body .admin-product-page {
    padding-bottom: 5.25rem;
}

.admin-body .admin-product-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin-bottom: 1rem;
}

.admin-body .admin-product-h1 {
    margin: 0.15rem 0 0;
    font-size: clamp(1.35rem, 1.8vw, 1.8rem);
    letter-spacing: -0.01em;
}

.admin-body .admin-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    color: color-mix(in srgb, var(--admin-main-fg) 65%, transparent);
    font-size: 0.9rem;
}

.admin-body .admin-breadcrumb a {
    color: var(--admin-main-fg);
    text-decoration: none;
    font-weight: 650;
}

.admin-body .admin-breadcrumb a:hover {
    text-decoration: underline;
}

.admin-body .admin-product-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

.admin-body .admin-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0 0 0.75rem;
}

.admin-body .admin-tab {
    border: 1px solid color-mix(in srgb, var(--admin-main-fg) 14%, transparent);
    background: #fff;
    color: var(--admin-main-fg);
    border-radius: 999px;
    padding: 0.45rem 0.85rem;
    font: inherit;
    cursor: pointer;
    font-weight: 700;
}

.admin-body .admin-tab.is-active {
    border-color: color-mix(in srgb, var(--admin-accent) 60%, var(--admin-main-fg) 12%);
    background: color-mix(in srgb, var(--admin-accent) 18%, #fff);
}

.admin-body .admin-tabpanel {
    border: 1px solid color-mix(in srgb, var(--admin-main-fg) 8%, transparent);
}

.admin-body .admin-sidecard__title {
    font-weight: 800;
    margin-bottom: 0.75rem;
}

.admin-body .admin-sidekv {
    display: grid;
    grid-template-columns: 6.5rem 1fr;
    gap: 0.5rem;
    padding: 0.4rem 0;
    border-bottom: 1px dashed color-mix(in srgb, var(--admin-main-fg) 12%, transparent);
}

.admin-body .admin-sidekv:last-child {
    border-bottom: 0;
}

.admin-body .admin-sidekv__k {
    color: color-mix(in srgb, var(--admin-main-fg) 68%, transparent);
    font-size: 0.9rem;
}

.admin-body .admin-sidekv__v code {
    background: color-mix(in srgb, var(--admin-main-fg) 6%, #fff);
    border: 1px solid color-mix(in srgb, var(--admin-main-fg) 10%, transparent);
    padding: 0.2rem 0.4rem;
    border-radius: 10px;
    display: inline-block;
}

.admin-body .admin-stickybar {
    position: sticky;
    bottom: 0;
    margin-top: 1rem;
    border-top: 1px solid color-mix(in srgb, var(--admin-main-fg) 10%, transparent);
    background: color-mix(in srgb, #fff 86%, transparent);
    backdrop-filter: blur(10px);
}

.admin-body .admin-stickybar__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    padding: 0.75rem 0.85rem;
}

.admin-body .admin-stickybar__right {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

@media (min-width: 980px) {
    .admin-body .admin-product-grid {
        grid-template-columns: minmax(0, 1fr) 22rem;
        align-items: start;
    }
    .admin-body .admin-product-side .card {
        position: sticky;
        top: 1rem;
    }
}

/* Menü kartları dar olduğunda 2 sütunlu grid Kategori + Ad’ı yarım gösteriyordu; sütun sayısı içeriğe göre esner. */
.admin-body .menu-product-card .field-row,
.admin-body .menu-new-product .field-row,
.admin-body .menu-category-card .field-row,
.admin-body .menu-inline-form .field-row {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 11.5rem), 1fr));
}

.admin-body .menu-product-card .field-row > .field,
.admin-body .menu-new-product .field-row > .field,
.admin-body .menu-category-card .field-row > .field,
.admin-body .menu-inline-form .field-row > .field {
    min-width: 0;
}

.admin-body .coupon-actions-cell {
    min-width: 11rem;
    vertical-align: top;
}

.admin-body .coupon-actions-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem 0.65rem;
}

.admin-body .coupon-schedule-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem 0.65rem;
    margin: 0;
}

.admin-body .coupon-schedule-fields {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.55rem;
    padding: 0.4rem 0.65rem 0.45rem;
    border-radius: 12px;
    background: linear-gradient(
        165deg,
        #fff 0%,
        color-mix(in srgb, var(--admin-accent) 7%, #fafaf9) 100%
    );
    border: 1px solid color-mix(in srgb, var(--admin-main-fg) 11%, transparent);
    box-shadow:
        0 1px 2px color-mix(in srgb, #000 5%, transparent),
        0 4px 14px color-mix(in srgb, #000 4%, transparent);
}

.admin-body .coupon-schedule-fields--block {
    display: block;
    margin-bottom: 1rem;
    padding: 0.65rem 0.85rem 0.75rem;
}

.admin-body .coupon-schedule-fields--block .coupon-datetime-labeled-row {
    margin: 0;
}

.admin-body .coupon-schedule-fields--block .coupon-datetime-labeled-row > .field {
    margin-bottom: 0;
}

.admin-body .coupon-schedule-form input[type="datetime-local"] {
    font-size: 0.84rem;
    width: auto;
    min-width: 9.75rem;
    max-width: 11.5rem;
}

.admin-body .coupon-toggle-form {
    margin: 0;
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
}

.admin-body .coupon-toggle-form .btn {
    min-height: 2.35rem;
}

.admin-body .coupon-schedule-form .btn {
    min-height: 2.35rem;
}

.admin-body .coupon-admin-table {
    min-width: 52rem;
}

.admin-body .admin-reviews-table {
    min-width: 48rem;
}

.admin-body .admin-reports-preview-table {
    min-width: 36rem;
}

.admin-body .admin-review-body {
    max-width: 14rem;
    word-break: break-word;
    font-size: 0.88rem;
}

.admin-body .admin-review-actions {
    white-space: nowrap;
}

.admin-body .admin-review-actions .inline-actions {
    display: inline-block;
    margin-right: 0.25rem;
    margin-bottom: 0.25rem;
    vertical-align: middle;
}

.admin-body .admin-review-filters {
    flex-wrap: wrap;
}

.product-review-line {
    margin: 0.15rem 0 0.35rem;
}

.order-review-block {
    margin-top: 1.1rem;
    padding-top: 1rem;
    border-top: 1px solid color-mix(in srgb, var(--fg) 10%, transparent);
}

.order-review-block:first-of-type {
    margin-top: 0.5rem;
    padding-top: 0;
    border-top: none;
}

.order-review-product-title {
    margin: 0 0 0.5rem;
    font-size: 1rem;
}

.customer-body .cart-add-form .menu-modifier-field {
    width: 100%;
    margin: 0 0 0.65rem;
}

.customer-body .cart-add-form .menu-modifier-field label {
    display: block;
    font-weight: 600;
    font-size: 0.86rem;
    margin-bottom: 0.3rem;
    color: var(--muted);
}

.admin-body .menu-modifiers-admin {
    margin-top: 1rem;
    padding-top: 0.9rem;
    border-top: 1px solid color-mix(in srgb, var(--admin-main-fg) 9%, transparent);
}

.admin-body .menu-modifiers-title {
    margin: 0 0 0.65rem;
    font-size: 0.95rem;
}

.admin-body .menu-modifier-group-block {
    margin-bottom: 0.85rem;
    padding: 0.5rem 0.65rem;
    border-radius: 10px;
    background: color-mix(in srgb, var(--admin-main-fg) 4%, #fff);
    border: 1px solid color-mix(in srgb, var(--admin-main-fg) 8%, transparent);
}

.admin-body .menu-modifier-group-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    margin: 0 0 0.4rem;
}

.admin-body .menu-modifier-option-list {
    margin: 0.25rem 0 0.5rem;
    padding-left: 1.1rem;
    font-size: 0.88rem;
}

.admin-body .menu-modifier-mini-form {
    margin-top: 0.35rem;
}

.admin-body .menu-modifier-new-group {
    margin-top: 0.75rem;
    padding-top: 0.65rem;
    border-top: 1px dashed color-mix(in srgb, var(--admin-main-fg) 12%, transparent);
}

.menu-product-thumb-wrap {
    margin: 0 0 0.65rem;
}

.menu-product-thumb {
    display: block;
    width: 100%;
    max-width: 14rem;
    height: auto;
    border-radius: 10px;
    object-fit: cover;
    aspect-ratio: 5 / 3;
    border: 1px solid color-mix(in srgb, var(--fg) 10%, transparent);
}

.customer-main--full .menu-product-thumb {
    max-width: 100%;
    max-height: 11rem;
}

.admin-order-pay {
    max-width: 11rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-payments-list {
    margin: 0.5rem 0 0;
    padding-left: 1.25rem;
}

.admin-payments-callbacks {
    margin: 0.75rem 0 0;
}

.admin-payments-callbacks dt {
    font-weight: 600;
    margin-top: 0.75rem;
}

.admin-payments-callbacks dt:first-child {
    margin-top: 0;
}

.admin-payments-callbacks dd {
    margin: 0.35rem 0 0;
    word-break: break-all;
}

.status-pill {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    font-size: 0.8rem;
    background: color-mix(in srgb, var(--accent) 18%, transparent);
}

.site-footer a {
    color: var(--accent);
}

.table-banner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1rem;
}

.table-banner .btn {
    margin-left: auto;
}

.kds-hero h1 {
    font-size: clamp(1.35rem, 3vw, 1.75rem);
}

.kds-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.kds-card {
    padding: 1rem 1.15rem;
}

.kds-card-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    margin-bottom: 0.5rem;
}

.kds-id {
    font-size: 1.35rem;
    font-weight: 700;
}

.kds-status {
    font-size: 0.85rem;
}

.kds-table {
    font-weight: 600;
    margin-left: auto;
}

.kds-customer {
    margin: 0 0 0.35rem;
    font-weight: 600;
}

.kds-note {
    margin: 0 0 0.5rem;
    font-size: 0.9rem;
    color: var(--warn);
}

.kds-items {
    margin: 0.5rem 0 0.75rem;
    padding-left: 1.1rem;
}

.kds-items li {
    margin: 0.25rem 0;
    font-size: 1.05rem;
}

.kds-qty {
    font-weight: 700;
    margin-right: 0.25rem;
}

.kds-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.kds-actions .inline {
    display: inline;
    margin: 0;
}

.btn-kds {
    font-size: 1rem;
    padding: 0.55rem 1rem;
}

.kds-done {
    background: color-mix(in srgb, var(--ok) 75%, var(--accent));
    border-color: transparent;
}

.kds-empty {
    margin-top: 1rem;
}

.stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.stat-card h2 {
    margin: 0 0 0.5rem;
    font-size: 1rem;
}

.stat-big {
    font-size: 1.75rem;
    font-weight: 700;
    margin: 0 0 0.35rem;
}

.hourly-chart {
    display: flex;
    align-items: flex-end;
    gap: 2px;
    min-height: 120px;
    overflow-x: auto;
    padding: 0.5rem 0;
}

.hourly-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    min-width: 14px;
}

.hourly-bar {
    width: 100%;
    min-height: 2px;
    background: var(--accent);
    border-radius: 4px 4px 0 0;
}

.hourly-label {
    font-size: 0.65rem;
    color: var(--muted);
    margin-top: 0.25rem;
}

.trend-chart {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    min-height: 140px;
    padding: 0.5rem 0;
}

.trend-col {
    flex: 1;
    min-width: 28px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.trend-bar {
    width: 100%;
    min-height: 2px;
    background: color-mix(in srgb, var(--ok) 65%, var(--accent));
    border-radius: 4px 4px 0 0;
}

.trend-label {
    font-size: 0.7rem;
    color: var(--muted);
    margin-top: 0.25rem;
}

.tag {
    font-size: 0.75rem;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--accent) 22%, transparent);
    color: var(--fg);
}

main.wrap {
    padding: 2rem 1.25rem 3rem;
}

.hero h1 {
    margin: 0 0 0.5rem;
    font-size: clamp(1.5rem, 4vw, 2rem);
}

.lead {
    margin: 0;
    color: var(--muted);
}

.card {
    background: var(--card);
    border: 1px solid color-mix(in srgb, var(--fg) 10%, transparent);
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    margin-top: 1.25rem;
}

/* Menü sayfasında ilk kart headera daha yakın olsun */
.menu-page > .card:first-child {
    margin-top: 0;
}

.card h2 {
    margin: 0 0 0.75rem;
    font-size: 1.1rem;
}

.muted {
    color: var(--muted);
    font-size: 0.9rem;
}

.ok {
    color: var(--ok);
}

.warn {
    color: var(--warn);
}

code {
    font-size: 0.9em;
    padding: 0.1em 0.35em;
    border-radius: 6px;
    background: color-mix(in srgb, var(--fg) 8%, transparent);
}

.list {
    margin: 0;
    padding-left: 1.1rem;
}

.list li {
    margin: 0.35rem 0;
}

.site-footer {
    padding: 1.5rem 0 2rem;
    color: var(--muted);
    font-size: 0.85rem;
}

.product-sold-out {
    opacity: 0.92;
}

.form-inline-stock {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.form-inline-stock .small-input {
    width: 5.5rem;
}

.inline-check {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.85rem;
    white-space: nowrap;
}

.btn-small,
.btn-sm {
    padding: 0.35rem 0.75rem;
    font-size: 0.85rem;
}

.inline-form-row {
    display: inline-block;
    margin: 0 0.35rem 0.35rem 0;
    vertical-align: middle;
}

.admin-reservations-table {
    min-width: 46rem;
}

.map-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.maps-checkout-card {
    margin-bottom: 1rem;
}

.admin-table {
    width: 100%;
}

.cart-row-warn td {
    background: color-mix(in srgb, var(--warn) 12%, transparent);
}

.coupon-form {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.customer-body .coupon-form .coupon-input {
    flex: 1 1 12rem;
    min-width: 0;
}

.coupon-input {
    min-width: 12rem;
    padding: 0.45rem 0.65rem;
    border-radius: 8px;
    border: 1px solid color-mix(in srgb, var(--fg) 18%, transparent);
    background: var(--card);
    color: var(--fg);
}

.coupon-remove {
    margin-top: 0.5rem;
}

.card-title-inline {
    margin: 0 0 0.25rem;
    font-size: 1rem;
}

.coupon-admin-form .field-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 1rem;
}

.dashboard-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

/* Blog — breadcrumb, müşteri CTA, yönetim araç çubuğu */
.breadcrumb {
    margin-bottom: 1rem;
}

.breadcrumb-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.9rem;
    color: color-mix(in srgb, var(--fg) 65%, transparent);
}

.breadcrumb-list li:not(:last-child)::after {
    content: '/';
    margin-left: 0.5rem;
    opacity: 0.45;
}

.blog-admin-cta {
    margin-top: 1.25rem;
    border: 1px dashed color-mix(in srgb, var(--fg) 22%, transparent);
}

.blog-admin-cta-title {
    margin-top: 0;
}

.blog-admin-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0;
}

.blog-admin-toolbar {
    margin-bottom: 1rem;
}

.blog-admin-toolbar-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.blog-admin-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.blog-admin-cta-btn {
    padding: 0.65rem 1.15rem;
    font-size: 1.02rem;
}

.blog-admin-empty {
    text-align: center;
    padding: 1.5rem 1rem;
}

.blog-admin-empty h2 {
    margin-top: 0;
}

.blog-admin-table-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.blog-seo-hint {
    margin-bottom: 1rem;
}

.blog-admin-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Blog yazı düzenleyici (admin/blog/yeni, duzenle) — tam genişlik (admin-content alanı) */
.blog-editor-page {
    width: 100%;
    max-width: none;
}

.blog-editor-hero {
    border-radius: 14px;
    padding: 1.35rem 1.5rem 1.45rem;
    margin-bottom: 1.35rem;
    background: linear-gradient(135deg, #1c1917 0%, #292524 40%, #451a03 100%);
    color: #fafaf9;
    box-shadow: 0 10px 32px color-mix(in srgb, #000 14%, transparent);
    border: 1px solid color-mix(in srgb, #fde68a 16%, transparent);
}

.blog-editor-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.55rem;
    font-size: 0.82rem;
    margin-bottom: 0.65rem;
    color: #d6d3d1;
}

.blog-editor-breadcrumb a {
    color: #fde68a;
    text-decoration: none;
    font-weight: 600;
}

.blog-editor-breadcrumb a:hover {
    text-decoration: underline;
}

.blog-editor-hero h1 {
    margin: 0 0 0.35rem;
    font-size: clamp(1.35rem, 3vw, 1.65rem);
    font-weight: 750;
    letter-spacing: -0.02em;
    color: #fff;
}

.blog-editor-lead {
    margin: 0;
    font-size: 0.9rem;
    color: #d6d3d1;
    line-height: 1.55;
}

.blog-editor-lead a {
    color: #fde68a;
    font-weight: 600;
}

.blog-editor-lead a:hover {
    color: #fef3c7;
}

.blog-editor-lead-muted {
    opacity: 0.88;
}

.blog-editor-lead code {
    background: color-mix(in srgb, #000 28%, transparent);
    padding: 0.12rem 0.38rem;
    border-radius: 5px;
    font-size: 0.85em;
    color: #fde68a;
}

.blog-editor-form {
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
}

.blog-editor-panel {
    background: linear-gradient(165deg, #fff 0%, #fafaf9 52%, color-mix(in srgb, #eab308 6%, #fafaf9) 100%);
    border: 1px solid color-mix(in srgb, var(--admin-main-fg) 9%, transparent);
    border-radius: 12px;
    padding: 1.2rem 1.35rem 1.35rem;
    margin-bottom: 1rem;
    box-shadow: 0 2px 14px color-mix(in srgb, #000 5%, transparent);
    border-left: 4px solid #ca8a04;
}

.blog-editor-panel--schema {
    border-left-color: #92400e;
}

.blog-editor-panel-title {
    margin: 0 0 1rem;
    font-size: 0.7rem;
    font-weight: 750;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #78716c;
}

.blog-editor-slug-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    row-gap: 0.45rem;
    margin-top: 0.5rem;
    padding: 0.75rem 0.85rem;
    border-radius: 10px;
    background: linear-gradient(180deg, #fff 0%, color-mix(in srgb, #fde68a 8%, #fafaf9) 100%);
    border: 1px solid color-mix(in srgb, #ca8a04 22%, transparent);
}

.blog-editor-slug-row code {
    flex: 1;
    min-width: 10rem;
    font-size: 0.78rem;
    word-break: break-all;
    color: #44403c;
}

.blog-editor-slug-label {
    flex: 0 0 100%;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #57534e;
}

.blog-editor-publish-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    align-items: end;
}

@media (max-width: 52rem) {
    .blog-editor-publish-row {
        grid-template-columns: 1fr;
    }
}

.blog-editor-publish-row input[type="datetime-local"],
.blog-editor-publish-row input[type="date"],
.blog-editor-publish-row input[type="time"] {
    min-height: 2.85rem;
    box-sizing: border-box;
}

.blog-editor-body-field textarea#blog_body {
    min-height: 22rem;
}

.blog-editor-featured-field {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid color-mix(in srgb, var(--admin-main-fg) 8%, transparent);
}

.blog-editor-featured-label {
    display: block;
    font-weight: 650;
    font-size: 0.88rem;
    margin-bottom: 0.25rem;
    color: var(--admin-main-fg);
}

.blog-editor-featured-hint {
    margin-top: 0;
    margin-bottom: 0.65rem;
}

.blog-featured-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.blog-editor-featured-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    margin-bottom: 0.75rem;
}

.blog-featured-clear-label {
    font-size: 0.88rem;
    color: #44403c;
}

.blog-editor-featured-preview-wrap {
    margin-top: 0.35rem;
}

.blog-editor-featured-preview {
    display: block;
    max-width: min(100%, 22rem);
    height: auto;
    border-radius: 10px;
    border: 1px solid color-mix(in srgb, var(--admin-main-fg) 12%, transparent);
    background: #fff;
    object-fit: cover;
    aspect-ratio: 16 / 9;
}

.blog-editor-form .form-actions {
    margin-top: 0.35rem;
    padding: 1.1rem 1.25rem;
    border-radius: 12px;
    background: linear-gradient(180deg, #fff 0%, color-mix(in srgb, #fde68a 14%, #fff) 100%);
    border: 1px solid color-mix(in srgb, #ca8a04 30%, transparent);
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.65rem;
    box-shadow: 0 4px 18px color-mix(in srgb, #000 5%, transparent);
}

.blog-faq-builder--nested {
    border: 1px solid color-mix(in srgb, var(--admin-main-fg) 8%, transparent);
    background: linear-gradient(180deg, #fff 0%, #fafaf9 100%);
}

.blog-schema-card {
    margin-top: 0.25rem;
}

.blog-schema-quick-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.35rem;
}

.blog-faq-builder {
    margin-top: 0.75rem;
}

.blog-faq-builder-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.65rem;
}

.blog-faq-builder .faq-item + .faq-item {
    margin-top: 0.65rem;
}

.faq-item-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.35rem;
}

.blog-form-section-title {
    font-size: 1.05rem;
    margin: 0 0 0.75rem;
    font-weight: 650;
}

.blog-form-subtitle {
    font-size: 0.98rem;
    margin: 1.15rem 0 0.4rem;
    font-weight: 650;
    color: var(--admin-main-fg);
}

.blog-faq-jsonld-details {
    margin-top: 1rem;
}

.blog-faq-jsonld-details summary {
    cursor: pointer;
    font-weight: 600;
}

.blog-faq-jsonld-preview {
    max-height: 16rem;
    overflow: auto;
    margin: 0.5rem 0 0;
    padding: 0.65rem 0.75rem;
    font-size: 0.78rem;
    line-height: 1.45;
    border-radius: 6px;
    border: 1px solid color-mix(in srgb, var(--admin-main-fg) 12%, transparent);
    background: color-mix(in srgb, var(--admin-main-fg) 4%, transparent);
    white-space: pre-wrap;
    word-break: break-word;
}

.blog-form-section-lead {
    margin: 0 0 0.75rem;
}

.blog-featured-figure {
    margin: 1rem 0 0;
}

.blog-featured-img {
    width: 100%;
    max-height: 22rem;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid color-mix(in srgb, var(--fg) 10%, transparent);
}

.blog-body--content img {
    max-width: 100%;
    height: auto;
}

.blog-body--content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1rem 0;
    font-size: 0.95rem;
}

.blog-body--content th,
.blog-body--content td {
    border: 1px solid color-mix(in srgb, var(--fg) 14%, transparent);
    padding: 0.35rem 0.5rem;
}

.blog-body--content pre {
    overflow-x: auto;
    padding: 0.75rem 1rem;
    border-radius: 6px;
    background: color-mix(in srgb, var(--fg) 6%, transparent);
}

.blog-tags {
    margin: 0.25rem 0 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.blog-json-textarea {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.85rem;
    line-height: 1.45;
}

.blog-slug-preview-line {
    margin: 0.35rem 0 0;
}

.blog-slug-preview-code {
    word-break: break-all;
}

.faq-rows {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.faq-row {
    padding: 0.75rem 1rem;
}

.blog-sss {
    margin-top: 1.25rem;
    padding: 1rem 1.15rem;
}

.blog-sss-title {
    font-size: 1.15rem;
    margin: 0 0 0.75rem;
}

.blog-sss-list {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.blog-sss-item {
    border: 1px solid color-mix(in srgb, var(--fg) 12%, transparent);
    border-radius: 6px;
    padding: 0.35rem 0.65rem;
    background: var(--card);
}

.blog-sss-item summary {
    cursor: pointer;
    font-weight: 600;
}

.blog-sss-answer {
    padding: 0.5rem 0 0.25rem 0.25rem;
    color: var(--muted);
}

.no-margin {
    margin: 0;
}

/* —— Admin: sipariş fişi (admin/order/print) —— */
.admin-print-page {
    margin: 0;
    padding: 0.75rem 1rem 2rem;
    min-height: 100vh;
    background: var(--admin-main-bg, #f5f5f4);
}

.admin-print-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 1rem;
}

.admin-print-sheet {
    max-width: 42rem;
    margin: 0 auto;
    padding: 1.25rem 1.35rem;
}

.admin-print-head {
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid color-mix(in srgb, var(--fg) 12%, transparent);
}

.admin-print-title {
    margin: 0 0 0.25rem;
    font-size: 1.35rem;
}

.admin-print-meta {
    margin: 0 0 0.5rem;
}

.admin-print-status {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.admin-print-block {
    margin-top: 1rem;
}

.admin-print-h2 {
    margin: 0 0 0.5rem;
    font-size: 1rem;
}

.admin-print-table {
    font-size: 0.95rem;
}

.admin-print-totals {
    margin-top: 1.25rem;
    padding-top: 0.75rem;
    border-top: 1px solid color-mix(in srgb, var(--fg) 12%, transparent);
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

@media print {
    .no-print {
        display: none !important;
    }

    .admin-print-page {
        background: #fff;
        padding: 0;
    }

    .admin-print-sheet {
        box-shadow: none;
        border: 0;
        max-width: none;
        margin: 0;
        padding: 0.25rem 0;
    }

    .admin-print-sheet.card {
        border: 0;
    }
}

.admin-role-hint {
    margin: 0 0 0.35rem;
    padding: 0 0.15rem;
}

.admin-sms-hint {
    margin-top: 1rem;
    padding-top: 0.85rem;
    border-top: 1px solid color-mix(in srgb, var(--admin-main-fg) 10%, transparent);
}

.admin-sms-hint p {
    margin: 0.35rem 0 0;
}

.admin-sms-hint p:first-child {
    margin-top: 0;
}

.admin-sms-warn {
    margin-top: 0.5rem;
    font-weight: 600;
    color: var(--warn);
}

.admin-users-pw-input {
    min-width: 9rem;
}

/* —— Admin: masa tahtası (doluluk + yeni masa) —— */
.floor-page {
    margin-bottom: 2rem;
}

.floor-hero {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    padding: 1.6rem 1.5rem 1.45rem;
    margin-bottom: 1.35rem;
    background:
        radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--admin-accent) 28%, transparent) 0%, transparent 55%),
        linear-gradient(145deg, color-mix(in srgb, var(--admin-accent) 12%, var(--admin-card)) 0%, var(--admin-card) 42%, color-mix(in srgb, var(--admin-main-fg) 5%, var(--admin-card)) 100%);
    border: 1px solid color-mix(in srgb, var(--admin-main-fg) 11%, transparent);
    box-shadow:
        0 1px 0 color-mix(in srgb, #fff 35%, transparent) inset,
        0 18px 48px rgba(28, 25, 23, 0.09);
}

.floor-hero-text {
    max-width: 40rem;
}

.floor-hero-eyebrow {
    margin: 0 0 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--admin-sidebar-muted);
}

.floor-hero-title {
    margin: 0 0 0.4rem;
    font-size: clamp(1.45rem, 2.5vw, 1.85rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: var(--admin-main-fg);
}

.floor-hero-lead {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.55;
    color: color-mix(in srgb, var(--admin-main-fg) 72%, var(--admin-sidebar-muted));
}

.floor-hero-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin: 1.15rem 0 0;
}

.floor-chip {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.08rem;
    min-width: 4.6rem;
    padding: 0.55rem 0.75rem 0.5rem;
    border-radius: 12px;
    border: 1px solid color-mix(in srgb, var(--admin-main-fg) 10%, transparent);
    background: color-mix(in srgb, #fff 55%, var(--admin-card));
    box-shadow: 0 2px 8px rgba(28, 25, 23, 0.05);
}

.floor-chip-value {
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1;
    color: var(--admin-main-fg);
}

.floor-chip-label {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--admin-sidebar-muted);
}

.floor-chip--accent .floor-chip-value {
    color: #a16207;
}

.floor-chip--busy {
    border-color: color-mix(in srgb, #c2410c 35%, transparent);
    background: color-mix(in srgb, #c2410c 9%, var(--admin-card));
}

.floor-chip--busy .floor-chip-value {
    color: #9a3412;
}

.floor-chip--free {
    border-color: color-mix(in srgb, #15803d 32%, transparent);
    background: color-mix(in srgb, #15803d 10%, var(--admin-card));
}

.floor-chip--free .floor-chip-value {
    color: #166534;
}

.floor-chip--muted {
    opacity: 0.92;
}

.floor-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1.1rem;
}

.floor-split {
    display: grid;
    gap: 1.25rem;
    align-items: start;
}

@media (min-width: 960px) {
    .floor-split {
        grid-template-columns: minmax(17rem, 20rem) 1fr;
    }
}

.floor-add {
    position: sticky;
    top: 0.75rem;
    border-radius: 18px;
    padding: 1.2rem 1.25rem 1.3rem;
    border: 1px solid color-mix(in srgb, var(--admin-main-fg) 9%, transparent);
    box-shadow: 0 10px 36px rgba(28, 25, 23, 0.06);
}

.floor-add-title {
    margin: 0 0 0.35rem;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.floor-add-intro {
    margin: 0 0 1rem;
    line-height: 1.45;
}

.floor-add-form .field-hint {
    margin: 0.35rem 0 0;
}

.floor-add-submit {
    width: 100%;
    margin-top: 0.25rem;
}

.floor-code {
    font-size: 0.82em;
    padding: 0.08rem 0.28rem;
    border-radius: 5px;
    background: color-mix(in srgb, var(--admin-main-fg) 7%, transparent);
}

.floor-main {
    min-width: 0;
}

.floor-empty {
    border-radius: 18px;
    padding: 1.5rem 1.35rem;
    border: 1px dashed color-mix(in srgb, var(--admin-main-fg) 16%, transparent);
    background: color-mix(in srgb, var(--admin-main-fg) 3%, var(--admin-card));
}

.floor-empty-title {
    margin: 0 0 0.5rem;
    font-size: 1.1rem;
}

.floor-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(16.5rem, 1fr));
    gap: 1rem;
}

.floor-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    min-height: 10.5rem;
    padding: 1.15rem 1.2rem 1.1rem;
    border-radius: 16px;
    border: 1px solid color-mix(in srgb, var(--admin-main-fg) 9%, transparent);
    background: var(--admin-card);
    box-shadow: 0 4px 20px rgba(28, 25, 23, 0.05);
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        border-color 0.18s ease;
}

.floor-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 36px rgba(28, 25, 23, 0.1);
}

.floor-card-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem 0.75rem;
}

.floor-card-title {
    margin: 0;
    font-size: 1.18rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--admin-main-fg);
}

.floor-badge {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 0.28rem 0.55rem;
    border-radius: 999px;
    border: 1px solid transparent;
}

.floor-badge--free {
    color: #14532d;
    background: color-mix(in srgb, #15803d 16%, transparent);
    border-color: color-mix(in srgb, #15803d 28%, transparent);
}

.floor-badge--busy {
    color: #7c2d12;
    background: color-mix(in srgb, #c2410c 14%, transparent);
    border-color: color-mix(in srgb, #c2410c 26%, transparent);
}

.floor-badge--off {
    color: var(--admin-sidebar-muted);
    background: color-mix(in srgb, var(--admin-main-fg) 7%, transparent);
    border-color: color-mix(in srgb, var(--admin-main-fg) 12%, transparent);
}

.floor-card-path {
    margin: 0.15rem 0 0;
    word-break: break-all;
}

.floor-card-links {
    margin: 0;
}

.floor-card-body {
    flex: 1;
    margin-top: 0.35rem;
}

.floor-order-line {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

.floor-order-id {
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--admin-main-fg);
}

.floor-order-meta,
.floor-order-name {
    margin: 0.2rem 0 0;
}

.floor-card-foot {
    margin-top: auto;
    padding-top: 0.65rem;
}

.floor-card-free-note {
    margin: 0.25rem 0 0;
    flex: 1;
}

.floor-card--free {
    border-left: 4px solid #15803d;
}

.floor-card--busy {
    border-left: 4px solid #c2410c;
    box-shadow:
        0 4px 20px rgba(28, 25, 23, 0.05),
        inset 0 0 0 1px color-mix(in srgb, #c2410c 10%, transparent);
}

.floor-card--inactive {
    opacity: 0.78;
    filter: grayscale(0.12);
    background: color-mix(in srgb, var(--admin-main-fg) 5%, var(--admin-card));
}

.floor-multi {
    display: inline-block;
    padding: 0.12rem 0.45rem;
    border-radius: 6px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    background: color-mix(in srgb, var(--admin-main-fg) 11%, transparent);
    color: var(--admin-main-fg);
}

/* —— Site ayarları (admin) —— */
.site-settings-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 1fr;
}

@media (min-width: 900px) {
    .site-settings-grid {
        grid-template-columns: 1fr 1fr;
    }

    .site-settings-card--wide {
        grid-column: 1 / -1;
    }
}

.site-settings-card .site-settings-links {
    margin: 0.5rem 0 0;
    padding-left: 1.1rem;
}

.site-settings-preview-logo {
    max-height: 56px;
    width: auto;
    object-fit: contain;
    display: block;
}

.site-settings-preview-favicon {
    display: block;
    image-rendering: pixelated;
}

.site-settings-llms {
    width: 100%;
    min-height: 220px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.82rem;
    line-height: 1.45;
}

.site-settings-inline-grid {
    display: grid;
    gap: 0.65rem;
}

@media (min-width: 720px) {
    .site-settings-inline-grid {
        grid-template-columns: 1.2fr 1fr 1fr auto;
        align-items: end;
    }
}

.site-settings-nav-add {
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
}

.site-settings-nav-table .site-settings-nav-sort {
    white-space: nowrap;
    vertical-align: top;
}

.site-settings-nav-edit .field {
    margin-bottom: 0.45rem;
}

.site-settings-nav-edit .field label {
    font-size: 0.72rem;
}

/* Admin: Optimia-like menu settings layout */
.admin-subnav-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

@media (min-width: 980px) {
    .admin-subnav-layout {
        grid-template-columns: 280px 1fr;
        align-items: start;
    }
}

.admin-subnav {
    padding: 0.85rem;
}

.admin-subnav h2 {
    margin: 0 0 0.65rem;
    font-size: 0.95rem;
}

.admin-subnav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.35rem;
}

.admin-subnav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.55rem 0.7rem;
    border-radius: 12px;
    text-decoration: none;
    color: var(--admin-main-fg);
    border: 1px solid color-mix(in srgb, var(--admin-main-fg) 10%, transparent);
    background: color-mix(in srgb, #fff 68%, transparent);
    font-weight: 800;
    font-size: 0.9rem;
}

.admin-subnav-link small {
    font-weight: 600;
    color: color-mix(in srgb, var(--admin-main-fg) 70%, transparent);
}

.admin-subnav-link.is-active {
    border-color: color-mix(in srgb, var(--admin-accent) 55%, var(--admin-main-fg) 12%);
    background: color-mix(in srgb, var(--admin-accent) 16%, #fff);
}

.nav-row-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.65rem;
}

@media (min-width: 720px) {
    .nav-row-grid {
        grid-template-columns: 1.2fr 1fr 1fr auto;
        align-items: end;
    }
}

.nav-row-grid .inline-check {
    margin: 0;
}
