/*
 * Warm Commerce — kullanıcı sitesi ve üye paneli skin'i
 * Admin paneli tema yükleyici tarafından kapsam dışında bırakılır.
 */

:root {
    --warm-terracotta: #b96543;
    --warm-terracotta-rgb: 185, 101, 67;
    --warm-terracotta-soft: #f4dfd2;
    --warm-sage: #dce8ce;
    --warm-gold: #c58c46;
    --warm-surface-raised: #fffdf8;
    --warm-surface-soft: #f3eddf;
    --warm-surface-muted: #ebe4d6;
    --warm-ink-soft: #485047;
    --warm-ring: rgba(54, 92, 70, 0.22);
    --warm-shadow-sm: 0 8px 24px rgba(67, 55, 39, 0.07);
    --warm-shadow-md: 0 18px 50px rgba(67, 55, 39, 0.11);
    --warm-shadow-lg: 0 28px 80px rgba(67, 55, 39, 0.15);
    --warm-radius-sm: 12px;
    --warm-radius-md: 18px;
    --warm-radius-lg: 26px;
    --warm-display-font: Georgia, "Times New Roman", serif;
}

[data-bs-theme="dark"] {
    --primary-color: #8fbe9a;
    --primary-rgb: 143, 190, 154;
    --primary-hover-color: #a5ccae;
    --bs-primary: #8fbe9a;
    --bs-primary-rgb: 143, 190, 154;
    --warm-terracotta: #dd8a66;
    --warm-terracotta-rgb: 221, 138, 102;
    --warm-terracotta-soft: #493126;
    --warm-sage: #314134;
    --warm-gold: #dda85f;
    --warm-surface-raised: #202620;
    --warm-surface-soft: #293029;
    --warm-surface-muted: #303830;
    --warm-ink-soft: #c9cfc5;
    --warm-ring: rgba(147, 184, 157, 0.25);
    --warm-shadow-sm: 0 8px 24px rgba(0, 0, 0, 0.18);
    --warm-shadow-md: 0 18px 50px rgba(0, 0, 0, 0.26);
    --warm-shadow-lg: 0 28px 80px rgba(0, 0, 0, 0.34);
}

html {
    color-scheme: light;
    scroll-behavior: smooth;
}

html[data-bs-theme="dark"] {
    color-scheme: dark;
}

body {
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--bg-body) 96%, var(--warm-sage) 4%), var(--bg-body) 34rem),
        var(--bg-body) !important;
    color: var(--text-main) !important;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

::selection {
    background: color-mix(in srgb, var(--primary-color) 24%, transparent);
    color: var(--text-main);
}

body a {
    color: var(--primary-color);
}

body a:hover {
    color: var(--primary-hover-color);
}

body .text-muted,
body .text-secondary,
body .text-theme-muted {
    color: var(--text-muted) !important;
    opacity: 1 !important;
}

body .border,
body .border-top,
body .border-bottom,
body .border-start,
body .border-end {
    border-color: var(--border-color) !important;
}

body hr {
    border-color: var(--border-color);
    opacity: 1;
}

body :focus-visible {
    outline: 3px solid var(--warm-ring);
    outline-offset: 2px;
}

/* Header */
body .site-ust {
    background: color-mix(in srgb, var(--header-bg) 94%, transparent) !important;
    border-bottom: 1px solid var(--border-color);
    box-shadow: 0 10px 34px color-mix(in srgb, var(--text-main) 6%, transparent) !important;
    backdrop-filter: blur(18px) saturate(120%);
    -webkit-backdrop-filter: blur(18px) saturate(120%);
}

body .site-ust .navbar {
    min-height: 74px;
}

body .site-ust .navbar-brand {
    color: var(--text-main) !important;
    letter-spacing: -0.035em;
}

body .site-ust .nav-link {
    color: var(--text-muted) !important;
    font-size: 0.9rem;
    font-weight: 650;
}

body .site-ust .nav-link:hover,
body .site-ust .nav-link.active,
body .site-ust .nav-link.show {
    color: var(--primary-color) !important;
}

body .site-ust .btn-circle-icon,
body .dmh-icon-btn,
body .dmh-menu-btn {
    background: var(--bg-input) !important;
    color: var(--text-main) !important;
    border-color: var(--border-color) !important;
    box-shadow: none !important;
}

body .site-ust .btn-circle-icon:hover,
body .dmh-icon-btn:hover,
body .dmh-menu-btn:hover {
    background: var(--primary-color) !important;
    color: #fff !important;
    border-color: var(--primary-color) !important;
}

body .header-btn,
body .site-ust .admin-menu-btn {
    min-height: 40px;
    border-width: 1px !important;
    border-radius: 999px !important;
    box-shadow: none !important;
}

/* Genel nav-link rengi yönetim rozetinin yazısını ezmemeli. */
body .site-ust .nav-link.admin-menu-btn,
body .site-ust .nav-link.admin-menu-btn:hover,
body .site-ust .nav-link.admin-menu-btn:focus,
body .site-ust .nav-link.admin-menu-btn.show {
    background: var(--primary-color) !important;
    color: #fff !important;
    border-color: var(--primary-color) !important;
    opacity: 1 !important;
}

body .site-ust .nav-link.admin-menu-btn i,
body .site-ust .nav-link.admin-menu-btn::after {
    color: inherit !important;
    opacity: 1 !important;
}

[data-bs-theme="dark"] body .site-ust .nav-link.admin-menu-btn,
[data-bs-theme="dark"] body .site-ust .nav-link.admin-menu-btn:hover,
[data-bs-theme="dark"] body .site-ust .nav-link.admin-menu-btn:focus,
[data-bs-theme="dark"] body .site-ust .nav-link.admin-menu-btn.show {
    color: #142018 !important;
}

body .header-btn-fill {
    background: var(--primary-color) !important;
    color: #fff !important;
}

body .header-btn-outline {
    background: transparent !important;
    color: var(--primary-color) !important;
}

body .header-btn-outline:hover {
    background: color-mix(in srgb, var(--primary-color) 10%, transparent) !important;
}

body .site-ust .dropdown-menu,
body .dmh-dropdown-menu,
body .dropdown-menu {
    padding: 0.55rem;
    background: color-mix(in srgb, var(--bg-card) 96%, transparent) !important;
    color: var(--text-main) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: var(--warm-radius-md) !important;
    box-shadow: var(--warm-shadow-md) !important;
    backdrop-filter: blur(18px);
}

body .dropdown-item {
    color: var(--text-main) !important;
    border-radius: 11px !important;
}

body .dropdown-item:hover,
body .dropdown-item:focus,
body .dropdown-item.active {
    background: color-mix(in srgb, var(--primary-color) 11%, var(--bg-card)) !important;
    color: var(--primary-color) !important;
}

/* Mobil header ve drawer */
body .dmh-header {
    background: color-mix(in srgb, var(--header-bg) 96%, transparent) !important;
    border-bottom: 1px solid var(--border-color) !important;
    box-shadow: var(--warm-shadow-sm) !important;
    backdrop-filter: blur(16px);
}

body .dmh-brand-title,
body .dmh-section-label,
body .dmh-offcanvas {
    color: var(--text-main) !important;
}

body .dmh-logo-fallback,
body .dmh-avatar {
    background: var(--primary-color) !important;
    color: #fff !important;
    border-radius: 50% !important;
}

body .dmh-offcanvas {
    background: var(--bg-card) !important;
    border-color: var(--border-color) !important;
}

body .dmh-user-card,
body .dmh-drawer-nav,
body .dmh-drawer-section {
    background: var(--bg-input) !important;
    border-color: var(--border-color) !important;
    border-radius: var(--warm-radius-md) !important;
}

body .dmh-drawer-nav a {
    color: var(--text-main) !important;
    border-radius: 12px !important;
}

body .dmh-drawer-nav a:hover {
    background: color-mix(in srgb, var(--primary-color) 10%, transparent) !important;
    color: var(--primary-color) !important;
}

/* Temel bileşenler */
body .card,
body .modal-content,
body .offcanvas,
body .toast,
body .list-group-item,
body .accordion-item {
    background-color: var(--bg-card) !important;
    color: var(--text-main) !important;
    border-color: var(--border-color) !important;
}

body .card {
    border-radius: var(--warm-radius-md) !important;
    box-shadow: var(--warm-shadow-sm) !important;
}

body .card-header,
body .card-footer,
body .modal-header,
body .modal-footer {
    background: color-mix(in srgb, var(--bg-card) 88%, var(--bg-input)) !important;
    color: var(--text-main) !important;
    border-color: var(--border-color) !important;
}

body .card-header:first-child {
    border-radius: var(--warm-radius-md) var(--warm-radius-md) 0 0 !important;
}

body .card-header.bg-primary {
    background: var(--primary-color) !important;
    color: #fff !important;
}

body .card-header.bg-success {
    background: var(--success-color) !important;
    color: #fff !important;
}

body .card-header.bg-warning {
    background: var(--warning-color) !important;
    color: #282117 !important;
}

body .card-header.bg-danger {
    background: var(--danger-color) !important;
    color: #fff !important;
}

body .modal-content {
    border-radius: var(--warm-radius-lg) !important;
    box-shadow: var(--warm-shadow-lg) !important;
}

body .modal-backdrop.show {
    background: #151914 !important;
    opacity: 0.58 !important;
    backdrop-filter: blur(8px);
}

body .btn-close {
    opacity: 0.72;
}

[data-bs-theme="dark"] body .btn-close {
    filter: invert(1) grayscale(100%);
}

body .btn {
    border-radius: 999px;
    font-weight: 700;
    letter-spacing: -0.01em;
}

body .btn-primary {
    background: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px color-mix(in srgb, var(--primary-color) 20%, transparent) !important;
}

body .btn-primary:hover,
body .btn-primary:focus,
body .btn-primary:active {
    background: var(--primary-hover-color) !important;
    border-color: var(--primary-hover-color) !important;
    color: #fff !important;
}

[data-bs-theme="dark"] body .btn-primary,
[data-bs-theme="dark"] body .btn-primary:hover,
[data-bs-theme="dark"] body .btn-primary:focus,
[data-bs-theme="dark"] body .btn-primary:active,
[data-bs-theme="dark"] body .header-btn-fill,
[data-bs-theme="dark"] body .floating-nav-btn,
[data-bs-theme="dark"] body div:where(.swal2-container) .swal2-confirm {
    color: #142018 !important;
}

[data-bs-theme="dark"] body .bg-primary,
[data-bs-theme="dark"] body .text-bg-primary,
[data-bs-theme="dark"] body .card-header.bg-primary,
[data-bs-theme="dark"] body .site-ust .btn-circle-icon:hover,
[data-bs-theme="dark"] body .dmh-icon-btn:hover,
[data-bs-theme="dark"] body .dmh-menu-btn:hover {
    color: #142018 !important;
}

body .btn-outline-primary {
    background: transparent !important;
    color: var(--primary-color) !important;
    border-color: color-mix(in srgb, var(--primary-color) 60%, var(--border-color)) !important;
}

body .btn-outline-primary:hover,
body .btn-outline-primary:active {
    background: color-mix(in srgb, var(--primary-color) 11%, var(--bg-card)) !important;
    color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

body .btn-outline-secondary,
body .btn-light,
body .btn-secondary {
    background: var(--bg-input) !important;
    color: var(--text-main) !important;
    border-color: var(--border-color) !important;
}

body .btn-outline-secondary:hover,
body .btn-light:hover,
body .btn-secondary:hover {
    background: color-mix(in srgb, var(--primary-color) 9%, var(--bg-input)) !important;
    color: var(--primary-color) !important;
    border-color: color-mix(in srgb, var(--primary-color) 44%, var(--border-color)) !important;
}

body .btn-success {
    background: var(--success-color) !important;
    border-color: var(--success-color) !important;
    color: #fff !important;
}

body .btn-warning {
    background: var(--warning-color) !important;
    border-color: var(--warning-color) !important;
    color: #fff !important;
}

body .btn-danger {
    background: var(--danger-color) !important;
    border-color: var(--danger-color) !important;
    color: #fff !important;
}

body .form-control,
body .form-select,
body .input-group-text,
body textarea,
body input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]) {
    background-color: var(--bg-input) !important;
    color: var(--text-main) !important;
    border-color: var(--border-color) !important;
    border-radius: var(--warm-radius-sm) !important;
}

body .form-control::placeholder,
body textarea::placeholder,
body input::placeholder {
    color: color-mix(in srgb, var(--text-muted) 78%, transparent) !important;
    opacity: 1;
}

body .form-control:focus,
body .form-select:focus,
body textarea:focus,
body input:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 0.24rem var(--warm-ring) !important;
}

body .form-check-input {
    background-color: var(--bg-input);
    border-color: color-mix(in srgb, var(--text-muted) 50%, var(--border-color));
}

body .form-check-input:checked {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

body .select2-container--default .select2-selection--single,
body .select2-container--default .select2-selection--multiple,
body .select2-dropdown,
body .select2-search__field {
    background: var(--bg-input) !important;
    color: var(--text-main) !important;
    border-color: var(--border-color) !important;
}

body .select2-container--default .select2-selection--single,
body .select2-container--default .select2-selection--multiple {
    border-radius: var(--warm-radius-sm) !important;
}

body .select2-container--default .select2-selection--single .select2-selection__rendered,
body .select2-results__option {
    color: var(--text-main) !important;
}

body .select2-results__option--highlighted,
body .select2-results__option[aria-selected="true"] {
    background: color-mix(in srgb, var(--primary-color) 12%, var(--bg-card)) !important;
    color: var(--primary-color) !important;
}

body .table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--text-main);
    --bs-table-border-color: var(--border-color);
    --bs-table-hover-bg: color-mix(in srgb, var(--primary-color) 6%, transparent);
    --bs-table-hover-color: var(--text-main);
    color: var(--text-main) !important;
}

body .table thead th {
    background: var(--bg-input) !important;
    color: var(--text-muted) !important;
    border-color: var(--border-color) !important;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

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

body .nav-tabs,
body .nav-pills {
    border-color: var(--border-color) !important;
}

body .nav-tabs .nav-link,
body .nav-pills .nav-link {
    color: var(--text-muted) !important;
    border-radius: 999px !important;
}

body .nav-tabs .nav-link.active,
body .nav-pills .nav-link.active {
    background: var(--primary-color) !important;
    color: #fff !important;
    border-color: var(--primary-color) !important;
}

body .pagination .page-link {
    margin-inline: 0.18rem;
    background: var(--bg-card) !important;
    color: var(--text-main) !important;
    border-color: var(--border-color) !important;
    border-radius: 10px !important;
}

body .pagination .active .page-link {
    background: var(--primary-color) !important;
    color: #fff !important;
    border-color: var(--primary-color) !important;
}

body .accordion-item {
    margin-bottom: 0.8rem;
    border: 1px solid var(--border-color) !important;
    border-radius: var(--warm-radius-md) !important;
    overflow: hidden;
    box-shadow: none !important;
}

body .accordion-button {
    background: var(--bg-card) !important;
    color: var(--text-main) !important;
    font-weight: 700;
    box-shadow: none !important;
}

body .accordion-button:not(.collapsed) {
    background: color-mix(in srgb, var(--primary-color) 8%, var(--bg-card)) !important;
    color: var(--primary-color) !important;
}

[data-bs-theme="dark"] body .accordion-button::after {
    filter: invert(1) grayscale(100%);
}

body .alert {
    border-radius: var(--warm-radius-md) !important;
    border-width: 1px !important;
}

body .alert-primary,
body .bg-primary.bg-opacity-10 {
    background: color-mix(in srgb, var(--primary-color) 11%, var(--bg-card)) !important;
    color: var(--primary-color) !important;
    border-color: color-mix(in srgb, var(--primary-color) 28%, var(--border-color)) !important;
}

body .badge {
    border-radius: 999px !important;
    letter-spacing: 0.01em;
}

/* Warm Commerce panel uygulama rayı */
.wc-panel-rail {
    position: fixed;
    z-index: 1030;
    top: 92px;
    bottom: 24px;
    left: max(20px, calc((100vw - 1680px) / 2));
    width: 248px;
    display: flex;
    flex-direction: column;
    padding: 22px 16px 16px;
    background: color-mix(in srgb, var(--bg-card) 96%, transparent);
    color: var(--text-main);
    border: 1px solid var(--border-color);
    border-radius: 24px;
    box-shadow: var(--warm-shadow-md);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.wc-rail-head {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0 10px 18px;
}

.wc-rail-head strong {
    color: var(--text-main);
    font-family: var(--warm-display-font);
    font-size: 1.45rem;
    font-weight: 500;
    letter-spacing: -0.035em;
}

.wc-rail-eyebrow {
    color: var(--warm-terracotta);
    font-size: 0.62rem;
    font-weight: 850;
    letter-spacing: 0.15em;
}

.wc-rail-buy {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 46px;
    margin-bottom: 18px;
    padding: 0 15px;
    background: var(--primary-color);
    color: #fff !important;
    border-radius: 14px;
    font-size: 0.86rem;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 12px 26px color-mix(in srgb, var(--primary-color) 22%, transparent);
}

[data-bs-theme="dark"] .wc-rail-buy {
    color: #142018 !important;
}

.wc-rail-buy:hover {
    background: var(--primary-hover-color);
    transform: translateY(-1px);
}

.wc-rail-nav {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.wc-rail-nav a,
.wc-rail-logout {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 43px;
    padding: 0 12px;
    color: var(--text-muted) !important;
    border-radius: 12px;
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none;
}

.wc-rail-nav a i,
.wc-rail-logout i {
    width: 20px;
    font-size: 1rem;
    text-align: center;
}

.wc-rail-nav a:hover {
    background: color-mix(in srgb, var(--primary-color) 8%, transparent);
    color: var(--primary-color) !important;
}

.wc-rail-nav a.is-active {
    background: color-mix(in srgb, var(--primary-color) 12%, var(--bg-input));
    color: var(--primary-color) !important;
}

.wc-rail-nav a.is-active::after {
    content: "";
    width: 6px;
    height: 6px;
    margin-left: auto;
    background: var(--primary-color);
    border-radius: 50%;
}

.wc-rail-spacer {
    flex: 1;
    min-height: 18px;
}

.wc-rail-user {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 10px;
    padding: 12px;
    background: var(--bg-input);
    border: 1px solid var(--border-color);
    border-radius: 16px;
}

.wc-rail-avatar {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    background: var(--warm-terracotta-soft);
    color: var(--warm-terracotta);
    border-radius: 50%;
    font-size: 0.8rem;
    font-weight: 850;
}

.wc-rail-user-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.wc-rail-user-copy strong {
    overflow: hidden;
    color: var(--text-main);
    font-size: 0.78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wc-rail-user-copy small {
    color: var(--text-muted);
    font-size: 0.65rem;
}

.wc-rail-user button {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    padding: 0;
    background: var(--bg-card);
    color: var(--text-main);
    border: 1px solid var(--border-color);
    border-radius: 10px;
}

.wc-rail-logout {
    margin-top: 7px;
    color: var(--danger-color) !important;
}

.wc-rail-logout:hover {
    background: color-mix(in srgb, var(--danger-color) 9%, transparent);
}

@media (min-width: 1200px) {
    body.wc-panel-shell-active > .container,
    body.wc-panel-shell-active > main.container,
    body.wc-panel-shell-active > .balance-shell,
    body.wc-panel-shell-active > .help-hero,
    body.wc-panel-shell-active > .wc-dashboard {
        width: auto !important;
        max-width: 1400px !important;
        margin-left: max(292px, calc((100vw - 1680px) / 2 + 272px)) !important;
        margin-right: max(24px, calc((100vw - 1680px) / 2)) !important;
    }

    /* Footer içeriğini de panel rayından sonra başlat. Footer zemini tam
     * genişlikte kalır; yalnızca okunabilir içerik rayın altına girmez. */
    body.wc-panel-shell-active .site-footer > .container {
        width: auto !important;
        max-width: none !important;
        margin-left: max(292px, calc((100vw - 1680px) / 2 + 272px)) !important;
        margin-right: max(24px, calc((100vw - 1680px) / 2)) !important;
        padding-inline: 0 !important;
    }
}

@media (max-width: 1199.98px) {
    .wc-panel-rail {
        display: none;
    }
}

/* Üye paneli */
body .welcome-card,
body .balance-card-mini,
body .quick-link-card,
body .filter-card,
body .custom-card,
body .payment-card,
body .experience-card,
body .insight-card,
body .empty-state-card,
body .kb-card {
    background: var(--bg-card) !important;
    color: var(--text-main) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: var(--warm-radius-lg) !important;
    box-shadow: var(--warm-shadow-sm) !important;
}

body .quick-link-card,
body .kb-card {
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}

body .quick-link-card:hover,
body .kb-card:hover {
    border-color: color-mix(in srgb, var(--primary-color) 44%, var(--border-color)) !important;
    box-shadow: var(--warm-shadow-md) !important;
    transform: translateY(-3px) !important;
}

body .quick-link-card .icon-box,
body .quick-link-card .icon-wrapper,
body .quick-link-card > i {
    background: color-mix(in srgb, var(--primary-color) 11%, var(--bg-card)) !important;
    color: var(--primary-color) !important;
}

body .balance-card-mini {
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--primary-color) 94%, #17271d), var(--primary-hover-color)) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 20px 44px color-mix(in srgb, var(--primary-color) 24%, transparent) !important;
}

body .stats-badge,
body .balance-chip {
    background: color-mix(in srgb, var(--primary-color) 10%, var(--bg-input)) !important;
    color: var(--primary-color) !important;
    border: 1px solid color-mix(in srgb, var(--primary-color) 20%, var(--border-color)) !important;
}

body .status-filter-btn {
    background: var(--bg-input) !important;
    color: var(--text-muted) !important;
    border: 1px solid var(--border-color) !important;
}

body .status-filter-btn.active,
body .status-filter-btn:hover {
    background: var(--primary-color) !important;
    color: #fff !important;
    border-color: var(--primary-color) !important;
}

body .method-card-label,
body .coin-select-item,
body .summary-panel-card,
body .summary-empty-state,
body .balance-announcement,
body .stripe-card-notice {
    background: var(--bg-card) !important;
    color: var(--text-main) !important;
    border-color: var(--border-color) !important;
}

body .method-card-label:hover,
body .coin-select-item:hover,
body .method-card-label.selected,
body .coin-select-item.selected {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 3px var(--warm-ring) !important;
}

/* Ana sayfa */
body.theme-warm-commerce-home main > section:first-child {
    position: relative;
    padding-top: clamp(3.5rem, 7vw, 6.5rem) !important;
    padding-bottom: clamp(3.5rem, 7vw, 6.5rem) !important;
    background:
        radial-gradient(circle at 84% 18%, color-mix(in srgb, var(--warm-sage) 72%, transparent) 0 12%, transparent 34%),
        linear-gradient(135deg, color-mix(in srgb, var(--bg-body) 92%, var(--warm-sage) 8%), var(--bg-body)) !important;
    border-bottom: 1px solid var(--border-color);
}

[data-bs-theme="dark"] body.theme-warm-commerce-home main > section:first-child {
    background:
        radial-gradient(circle at 84% 18%, color-mix(in srgb, var(--warm-sage) 44%, transparent) 0 10%, transparent 35%),
        linear-gradient(135deg, #171b17, #1b211b) !important;
}

body.theme-warm-commerce-home main > section:first-child .badge.text-primary {
    padding: 0.6rem 0.95rem !important;
    background: color-mix(in srgb, var(--warm-terracotta) 10%, var(--bg-card)) !important;
    color: var(--warm-terracotta) !important;
    border-color: color-mix(in srgb, var(--warm-terracotta) 28%, var(--border-color)) !important;
    box-shadow: none !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.085em;
    text-transform: uppercase;
}

body.theme-warm-commerce-home .hero-title {
    max-width: 760px;
    color: var(--text-main) !important;
    font-family: var(--warm-display-font);
    /*
     * İlk boyamada JavaScript ölçümü henüz oluşmamış olabilir. Önceki 5.8vw
     * değeri özellikle Safari'de başlığı bir kareliğine gereğinden büyük
     * çizdiriyordu. Bu taban ölçü, metin sığdırma kodunun ürettiği nihai
     * boyuta yakın tutulur; uzun yönetilebilir başlıklar için JS yine gerektiği
     * kadar küçültebilir.
     */
    font-size: var(--hero-title-fit-size, clamp(2.25rem, 3.66vw, 4.5rem)) !important;
    font-weight: 500 !important;
    line-height: 0.98 !important;
    letter-spacing: -0.055em;
}

body.theme-warm-commerce-home .hero-title-line {
    display: block;
}

body.theme-warm-commerce-home .hero-title-line.text-primary,
body.theme-warm-commerce-home .hero-title-line.gradient-text {
    color: var(--primary-color) !important;
    background: none !important;
    -webkit-text-fill-color: currentColor !important;
    font-style: italic;
}

body.theme-warm-commerce-home .hero-title + p,
body.theme-warm-commerce-home .premium-subtitle {
    max-width: 610px;
    color: var(--text-muted) !important;
    font-size: 1.05rem;
    line-height: 1.75;
}

body.theme-warm-commerce-home main > section:first-child .btn {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-inline: 1.35rem !important;
}

body.theme-warm-commerce-home .hero-feature-row {
    gap: 0.75rem !important;
}

body.theme-warm-commerce-home .hero-feature-badge {
    min-height: 62px;
    padding: 0.65rem 0.8rem;
    background: color-mix(in srgb, var(--bg-card) 82%, transparent) !important;
    border: 1px solid var(--border-color);
    border-radius: var(--warm-radius-md);
    box-shadow: var(--warm-shadow-sm);
    backdrop-filter: blur(12px);
}

body.theme-warm-commerce-home .sms-panel-card,
body.theme-warm-commerce-home .premium-sms-panel {
    background: color-mix(in srgb, var(--bg-card) 96%, transparent) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 30px !important;
    box-shadow: var(--warm-shadow-lg) !important;
    backdrop-filter: blur(16px);
}

body.theme-warm-commerce-home .sms-panel-card > h2,
body.theme-warm-commerce-home .premium-sms-panel > h2 {
    font-family: var(--warm-display-font);
    font-weight: 500 !important;
    letter-spacing: -0.035em;
}

body.theme-warm-commerce-home .sms-panel-card .form-select,
body.theme-warm-commerce-home .premium-sms-panel .form-select {
    min-height: 56px;
    padding-inline: 1rem;
    background-color: var(--bg-input) !important;
    box-shadow: none !important;
}

body.theme-warm-commerce-home .step-number {
    background: var(--warm-terracotta) !important;
    color: #fff !important;
    box-shadow: 0 6px 16px rgba(var(--warm-terracotta-rgb), 0.2);
}

body.theme-warm-commerce-home .oneri-kart {
    background: var(--bg-card) !important;
    color: var(--text-main) !important;
    border-color: var(--border-color) !important;
    border-radius: var(--warm-radius-md) !important;
}

body.theme-warm-commerce-home .oneri-kart:hover {
    border-color: var(--primary-color) !important;
    box-shadow: var(--warm-shadow-md) !important;
}

body.theme-warm-commerce-home .oneri-kart .tekrar-al-btn {
    background: var(--primary-color) !important;
    border-radius: 999px !important;
}

/* Hızlı satın alma adet kontrolü
 * Bootstrap input-group flex kuralı sayı alanını büyütüp son (+) butonunu
 * kesebiliyor. Üç parçayı kesin kolonlara ayırarak taşmayı engelle. */
body.theme-warm-commerce-home #fiyatAlani .quick-buy-quantity-control {
    display: grid !important;
    grid-template-columns: 36px 52px 36px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
    height: 42px !important;
    flex: 0 0 132px !important;
    gap: 0 !important;
    padding: 2px !important;
    overflow: hidden !important;
    background: var(--bg-input) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 999px !important;
    box-shadow: inset 0 1px 3px color-mix(in srgb, var(--text-main) 7%, transparent) !important;
}

body.theme-warm-commerce-home #fiyatAlani .quick-buy-quantity-button {
    position: static !important;
    z-index: 2 !important;
    display: grid !important;
    place-items: center !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--bg-card) !important;
    color: var(--text-main) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 50% !important;
    box-shadow: none !important;
}

body.theme-warm-commerce-home #fiyatAlani .quick-buy-quantity-button:hover,
body.theme-warm-commerce-home #fiyatAlani .quick-buy-quantity-button:focus-visible {
    background: color-mix(in srgb, var(--primary-color) 12%, var(--bg-card)) !important;
    color: var(--primary-color) !important;
    border-color: color-mix(in srgb, var(--primary-color) 48%, var(--border-color)) !important;
}

body.theme-warm-commerce-home #fiyatAlani .quick-buy-quantity-input {
    position: static !important;
    z-index: 1 !important;
    display: block !important;
    width: 52px !important;
    min-width: 0 !important;
    max-width: 52px !important;
    height: 36px !important;
    flex: 0 0 52px !important;
    margin: 0 !important;
    padding: 0 4px !important;
    background: transparent !important;
    color: var(--text-main) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 36px !important;
    text-align: center !important;
    appearance: textfield;
    -moz-appearance: textfield;
}

body.theme-warm-commerce-home #fiyatAlani .quick-buy-quantity-input:focus {
    outline: none !important;
    box-shadow: none !important;
}

body.theme-warm-commerce-home #fiyatAlani .quick-buy-quantity-button i {
    display: block;
    margin: 0;
    font-size: 1rem;
    line-height: 1;
}

body.theme-warm-commerce-home .homepage-stats-section {
    background: var(--primary-color) !important;
    border: 0 !important;
}

[data-bs-theme="dark"] body.theme-warm-commerce-home .homepage-stats-section {
    background: #263d2e !important;
}

body.theme-warm-commerce-home .homepage-stat-value,
body.theme-warm-commerce-home .homepage-stat-label {
    color: #fff !important;
}

body.theme-warm-commerce-home .homepage-stat-label {
    opacity: 0.66 !important;
}

body.theme-warm-commerce-home .homepage-stat-col {
    border-color: rgba(255, 255, 255, 0.17) !important;
}

body.theme-warm-commerce-home .popular-service-card,
body.theme-warm-commerce-home .feature-card,
body.theme-warm-commerce-home .step-card,
body.theme-warm-commerce-home .testimonial-card,
body.theme-warm-commerce-home .review-card {
    background: var(--bg-card) !important;
    color: var(--text-main) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: var(--warm-radius-md) !important;
    box-shadow: var(--warm-shadow-sm) !important;
}

body.theme-warm-commerce-home .popular-service-card:hover,
body.theme-warm-commerce-home .feature-card:hover,
body.theme-warm-commerce-home .step-card:hover {
    border-color: color-mix(in srgb, var(--primary-color) 42%, var(--border-color)) !important;
    box-shadow: var(--warm-shadow-md) !important;
    transform: translateY(-4px) !important;
}

body.theme-warm-commerce-home .service-icon {
    background: color-mix(in srgb, var(--bg-card) 92%, var(--warm-surface-soft)) !important;
    border: 1px solid var(--border-color);
    box-shadow: none !important;
}

body.theme-warm-commerce-home .bg-soft-gradient,
body.theme-warm-commerce-home [class*="homepage-builder"] {
    color: var(--text-main);
}

body.theme-warm-commerce-home section.bg-soft-gradient {
    background: color-mix(in srgb, var(--bg-body) 82%, var(--warm-surface-soft)) !important;
}

body.theme-warm-commerce-home main h2,
body.theme-warm-commerce-home main h3 {
    letter-spacing: -0.035em;
}

body.theme-warm-commerce-home main section > .container > .text-center h2 {
    font-family: var(--warm-display-font);
    font-weight: 500 !important;
    font-size: clamp(2rem, 4vw, 3.2rem);
}

/* Builder CSS'i bu dosyadan sonra yüklendiği için son CTA metnini açıkça
 * sabitle. Böylece yeşil zemin üzerinde koyu başlık oluşmaz. */
body.theme-warm-commerce-home .homepage-builder-final_cta,
body.theme-warm-commerce-home .homepage-builder-final_cta .homepage-builder-title,
body.theme-warm-commerce-home .homepage-builder-final_cta .homepage-builder-description {
    color: #fff !important;
}

body.theme-warm-commerce-home .homepage-builder-final_cta .homepage-builder-description {
    opacity: 0.78;
}

body.theme-warm-commerce-home .homepage-builder-final_cta .btn {
    background: #fff !important;
    color: #294735 !important;
    border-color: #fff !important;
    box-shadow: 0 12px 28px rgba(15, 28, 19, 0.18) !important;
}

/* Footer ve mobil alt navigasyon */
body .site-footer {
    background: var(--header-bg) !important;
    color: var(--text-main) !important;
    border-top: 1px solid var(--border-color) !important;
}

body .footer-link {
    color: var(--text-muted) !important;
}

body .footer-link:hover {
    color: var(--primary-color) !important;
}

body .mobile-bottom-nav {
    background: color-mix(in srgb, var(--header-bg) 96%, transparent) !important;
    border-top: 1px solid var(--border-color) !important;
    box-shadow: 0 -10px 30px color-mix(in srgb, var(--text-main) 7%, transparent) !important;
    backdrop-filter: blur(16px);
}

body .mobile-nav-item {
    color: var(--text-muted) !important;
}

body .mobile-nav-item.nav-icon-active,
body .nav-icon-active {
    color: var(--primary-color) !important;
}

body .floating-nav-btn {
    background: var(--primary-color) !important;
    border-color: var(--header-bg) !important;
    color: #fff !important;
    box-shadow: 0 10px 26px color-mix(in srgb, var(--primary-color) 28%, transparent) !important;
}

/* SweetAlert */
body div:where(.swal2-container) div:where(.swal2-popup) {
    background: var(--bg-card) !important;
    color: var(--text-main) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: var(--warm-radius-lg) !important;
    box-shadow: var(--warm-shadow-lg) !important;
}

body div:where(.swal2-container) .swal2-title,
body div:where(.swal2-container) .swal2-html-container {
    color: var(--text-main) !important;
}

body div:where(.swal2-container) .swal2-confirm {
    background: var(--primary-color) !important;
    border-radius: 999px !important;
}

@media (max-width: 991.98px) {
    body.theme-warm-commerce-home main > section:first-child {
        padding-top: 3.2rem !important;
    }

    body.theme-warm-commerce-home .hero-title {
        max-width: 720px;
        margin-inline: auto;
        font-size: var(--hero-title-fit-size, clamp(2.35rem, 7.5vw, 4rem)) !important;
    }

    body.theme-warm-commerce-home .hero-title + p,
    body.theme-warm-commerce-home .premium-subtitle {
        margin-inline: auto;
    }

    body.theme-warm-commerce-home .sms-panel-card,
    body.theme-warm-commerce-home .premium-sms-panel {
        max-width: 680px;
        margin-inline: auto;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    body .site-ust .navbar > .container {
        width: 100%;
        max-width: none;
        padding-inline: 30px;
    }

    body .site-ust .navbar-nav {
        gap: 0.55rem !important;
    }

    body .site-ust .nav-link,
    body .site-ust .header-btn {
        white-space: nowrap;
    }
}

@media (max-width: 575.98px) {
    body .card,
    body .welcome-card,
    body .balance-card-mini,
    body .quick-link-card,
    body .filter-card,
    body .custom-card,
    body .payment-card,
    body .experience-card,
    body .insight-card,
    body .empty-state-card,
    body .kb-card {
        border-radius: 18px !important;
    }

    body.theme-warm-commerce-home main > section:first-child {
        padding-top: 2.5rem !important;
        padding-bottom: 3rem !important;
    }

    body.theme-warm-commerce-home .hero-title {
        font-size: var(--hero-title-fit-size, clamp(1.72rem, 8.2vw, 2.35rem)) !important;
        line-height: 1.02 !important;
    }

    body.theme-warm-commerce-home .hero-feature-row {
        display: grid !important;
        grid-template-columns: 1fr;
        width: 100%;
    }

    body.theme-warm-commerce-home .hero-feature-col,
    body.theme-warm-commerce-home .hero-feature-badge {
        width: 100%;
    }

    body.theme-warm-commerce-home .sms-panel-card,
    body.theme-warm-commerce-home .premium-sms-panel {
        padding: 1.25rem !important;
        border-radius: 22px !important;
    }

    body.theme-warm-commerce-home .homepage-stat-col {
        padding-block: 0.7rem;
    }

    body.theme-page-services .main-container > header h1 {
        font-size: clamp(1.55rem, 7.5vw, 1.85rem) !important;
        line-height: 1.12;
        letter-spacing: -0.035em;
    }

    body.theme-page-services .main-container > header p {
        font-size: 0.92rem;
        line-height: 1.55;
    }

    body.theme-page-services .country-filter-bar {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start !important;
        gap: 0.65rem !important;
        width: 100%;
    }

    body.theme-page-services .country-filter-controls {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center !important;
        gap: 0.6rem !important;
        min-width: 0;
        width: 100%;
    }

    body.theme-page-services .country-filter-controls .card-title {
        min-width: 0;
        overflow: hidden;
        font-size: 0.9rem;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.theme-page-services .country-filter-controls .form-switch {
        margin-left: 0 !important;
        white-space: nowrap;
    }

    body.theme-page-services .country-filter-controls .ulke-sirala-wrap {
        grid-column: 1 / -1;
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr);
        width: 100%;
        margin-left: 0 !important;
    }

    body.theme-page-services .country-filter-controls .ulke-sirala-select {
        width: 100%;
        min-width: 0;
        min-height: 40px;
    }

    body.theme-page-services .selected-service-badge {
        max-width: 82px;
        overflow: hidden;
        align-self: start;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body .auth-brand {
        padding: 22px 20px 18px !important;
    }

    body .auth-brand-logo {
        margin-bottom: 12px !important;
    }

    body .auth-brand-sub {
        overflow: hidden;
        display: -webkit-box;
        line-height: 1.45 !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    body .auth-stats {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px !important;
        margin-top: 14px !important;
        padding-top: 14px !important;
    }

    body .auth-stats > div {
        min-width: 0 !important;
    }

    body .auth-stats .auth-stat-val {
        font-size: 0.98rem !important;
    }

    body .auth-stats .auth-stat-lbl {
        font-size: 0.58rem !important;
        line-height: 1.15 !important;
    }

    body .auth-panel {
        padding: 26px 20px !important;
    }

    body .table-responsive {
        border-radius: 16px;
    }

    body #cookieConsentBanner.cookie-consent-banner {
        top: auto !important;
        right: 12px !important;
        bottom: calc(94px + env(safe-area-inset-bottom, 0px)) !important;
        left: 12px !important;
        width: auto !important;
        max-width: none !important;
        padding: 0.9rem !important;
        border-radius: 18px !important;
        transform: none !important;
        animation: warmCookieSlideUp 0.38s cubic-bezier(0.16, 1, 0.3, 1) both !important;
    }

    body #cookieConsentBanner.cookie-fade-out {
        opacity: 0 !important;
        transform: translateY(16px) !important;
        transition: opacity 0.25s ease, transform 0.25s ease !important;
    }

    body #cookieConsentBanner > .row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0.75rem !important;
    }

    body #cookieConsentBanner .col-auto:first-child {
        display: none !important;
    }

    body #cookieConsentBanner .col,
    body #cookieConsentBanner .col-auto {
        width: auto !important;
        padding: 0 !important;
    }

    body #cookieConsentBanner .col {
        min-width: 0;
    }

    body #cookieConsentBanner h6 {
        font-size: 0.82rem !important;
    }

    body #cookieConsentBanner p {
        overflow: hidden;
        display: -webkit-box;
        font-size: 0.72rem !important;
        line-height: 1.3 !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    body #cookieConsentBanner .btn {
        min-height: 38px;
        padding-inline: 1rem !important;
        white-space: nowrap;
    }
}

@keyframes warmCookieSlideUp {
    from {
        opacity: 0;
        transform: translateY(22px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    body *,
    body *::before,
    body *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
