/* Nika Yayınevi — Bootstrap 5 vitrin teması */

:root {
    --nika-ink: #2a2420;
    --nika-warm: #c45c26;
    --nika-warm-dark: #a34a1e;
    --nika-gold: #e8a84b;
    --nika-cream: #faf6f0;
    --nika-panel: #3d342e;
    --nika-muted: #6b5a4e;
    --nika-line: #e8dfd4;
    --bs-body-bg: var(--nika-cream);
    --bs-body-color: var(--nika-ink);
    --bs-primary: var(--nika-warm);
    --bs-primary-rgb: 196, 92, 38;
    --bs-border-radius: 12px;
}

html {
    margin: 0;
    padding: 0;
}

body.nika-body {
    font-family: "Source Sans 3", "Segoe UI", sans-serif;
    background: var(--nika-cream);
    color: var(--nika-ink);
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
}

body.nika-body > .modal {
    margin: 0;
}

body.nika-body > .nika-topbar:first-child,
#top-take-away.nika-topbar {
    margin-top: 0;
}

/* Legacy toast + sepet hash kancaları akıştan çıkar */
.nika-basket-modal-hook {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

#uyariKutusu-green.nika-flash-toast,
#uyariKutusu-green {
    display: none;
    position: fixed;
    top: 1rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
    width: min(520px, calc(100% - 2rem));
    min-height: 0;
    height: auto;
    margin: 0;
    padding: 0.75rem 1rem;
    border-radius: 10px;
    background: #0c992f;
    color: #fff;
    text-align: center;
    line-height: 1.4;
    font-size: 0.9375rem;
    font-weight: 600;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
}

#uyariKutusu-green.nika-flash-toast:not(:empty),
#uyariKutusu-green:not(:empty) {
    display: block;
}

#uyariKutusu-grey {
    display: none !important;
}

.nika-cms-content {
    background: #fff;
    border: 1px solid var(--nika-line);
    border-radius: 14px;
    padding: 1.25rem 1.5rem 1.75rem;
    box-shadow: 0 8px 28px rgba(42, 36, 32, 0.06);
}

.nika-cms-content p,
.nika-cms-content li {
    max-width: 72ch;
}

/* legacy alias — eski include'lar için */

@media (min-width: 992px) {
    .nika-nav > .container {
        justify-content: center;
    }

    .nika-nav .navbar-collapse {
        flex-grow: 0;
    }
}

.font-serif,
.font-serif h1,
.font-serif h2,
.font-serif h3 {
    font-family: "Fraunces", Georgia, serif;
}

.text-nika { color: var(--nika-warm) !important; }
.text-nika-dark { color: var(--nika-panel) !important; }
.text-nika-gold { color: var(--nika-gold) !important; }
.border-nika { border-color: rgba(232, 168, 75, 0.45) !important; }
.bg-nika-discount { background: var(--nika-warm) !important; }

.btn-nika-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--nika-warm);
    --bs-btn-border-color: var(--nika-warm);
    --bs-btn-hover-bg: var(--nika-warm-dark);
    --bs-btn-hover-border-color: var(--nika-warm-dark);
    --bs-btn-focus-shadow-rgb: 196, 92, 38;
    font-weight: 600;
}

.btn-nika-gold {
    --bs-btn-color: var(--nika-ink);
    --bs-btn-bg: var(--nika-gold);
    --bs-btn-border-color: var(--nika-gold);
    --bs-btn-hover-bg: #f0bc62;
    --bs-btn-hover-border-color: #f0bc62;
    font-weight: 700;
}

.btn-outline-nika {
    --bs-btn-color: var(--nika-warm);
    --bs-btn-border-color: var(--nika-line);
    --bs-btn-hover-bg: #fff4e8;
    --bs-btn-hover-border-color: var(--nika-warm);
    --bs-btn-hover-color: var(--nika-warm);
    font-weight: 600;
}

/* Topbar */
.nika-topbar {
    background: var(--nika-panel);
    color: #f5ebe0;
    margin: 0;
}

.nika-topbar-item {
    color: #ffe8cc;
}

.nika-topbar a.nika-topbar-item:hover {
    color: #fff;
}

/* Header search */
.nika-search-group .form-control {
    border-color: var(--nika-line);
    background: #fff;
    box-shadow: none;
}

.nika-search-group .form-control:focus {
    border-color: var(--nika-warm);
    box-shadow: 0 0 0 0.2rem rgba(196, 92, 38, 0.15);
}

.nika-search-group .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.nika-brand img {
    max-height: 52px;
    width: auto;
}

/* Nav */
.nika-nav {
    background: linear-gradient(90deg, var(--nika-panel) 0%, #5c4d44 100%);
}

.nika-nav .nav-link {
    color: rgba(255, 255, 255, 0.92) !important;
    font-weight: 600;
    padding: 0.55rem 0.85rem;
    border-radius: 8px;
}

.nika-nav .nav-link:hover,
.nika-nav .nav-link:focus,
.nika-nav .nav-link.show {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.1);
}

.nika-nav .dropdown-menu {
    border: 0;
    border-radius: 12px;
    max-height: 360px;
    overflow-y: auto;
}

/* Hero */
.nika-hero-carousel .carousel-item img {
    min-height: 280px;
}

.nika-hero-carousel .carousel-caption {
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.55));
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1.5rem 2rem;
}

/* Book cards */
.nika-book-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border-radius: 14px !important;
    overflow: hidden;
}

.nika-book-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(42, 36, 32, 0.12) !important;
}

.nika-cover-wrap {
    background: linear-gradient(180deg, #f3ece4 0%, #ebe4dc 100%);
}

.nika-cover {
    display: block;
    width: 100%;
    height: 280px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.nika-discount {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    font-size: 0.8rem;
    padding: 0.4em 0.65em;
}

.nika-product-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.35;
}

.nika-product-author {
    font-style: italic;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Inner pages */
.ParcelProduct {
    background: #fff;
    border: 1px solid var(--nika-line);
    border-radius: 14px;
    padding: 1.25rem 1.5rem 1.75rem;
    margin: 1.5rem auto;
    box-shadow: 0 8px 28px rgba(42, 36, 32, 0.06);
}

.container .ParcelProduct,
.nika-page-wrap .ParcelProduct {
    max-width: 100%;
}

.ParcelTitle {
    border-bottom: 2px solid rgba(232, 168, 75, 0.45);
    color: var(--nika-panel);
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.25rem;
    padding: 0.75rem 0.25rem;
    margin-bottom: 1rem;
}

.ParcelTitle a { color: var(--nika-warm); text-decoration: none; }

.productTopFilter {
    background: var(--nika-cream);
    border: 1px solid var(--nika-line);
    border-radius: 12px;
    padding: 1rem;
    margin-bottom: 1.25rem;
}

.productTopFilter #filterSutunTop,
.productTopFilter #filterSutunDown {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.75rem;
}

.productTopFilter select {
    width: 100%;
    border: 1px solid var(--nika-line);
    border-radius: 8px;
    padding: 0.45rem 0.6rem;
    font-size: 0.875rem;
}

/* Product detail */
.nika-cover-wrap--detail .nika-cover,
.nika-cover--detail {
    height: 420px;
    border-radius: 12px;
    border: 1px solid var(--nika-line);
}

.nika-product-detail .productBorder {
    display: flex;
    flex-wrap: wrap;
    gap: 1.75rem;
}

.nika-product-detail .proLeft { flex: 0 0 320px; max-width: 100%; }
.nika-product-detail .proRight { flex: 1 1 360px; min-width: 0; }

.nika-product-detail .nika-book-title {
    font-family: "Fraunces", Georgia, serif;
    color: var(--nika-panel);
    font-size: clamp(1.5rem, 3vw, 2rem);
}

.proPriceX {
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border-radius: 12px;
    background: var(--nika-panel) !important;
    color: #fff !important;
    min-height: 72px;
}

.proPriceX #priceLeft,
.proPriceX #priceCenter,
.proPriceX #priceRight {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.65rem 0.75rem;
    text-align: center;
    color: #fff !important;
}

.proPriceX #priceLeft { flex: 1; text-decoration: line-through; opacity: 0.75; }
.proPriceX #priceCenter { flex: 0 0 88px; background: var(--nika-gold) !important; color: var(--nika-ink) !important; font-weight: 700; }
.proPriceX #priceRight { flex: 1.2; font-size: 1.35rem; font-weight: 700; color: var(--nika-gold) !important; }

/* Overlays */
.overlay {
    position: fixed;
    inset: 0;
    background: rgba(24, 18, 14, 0.55);
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    z-index: 10050;
    display: flex !important;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.overlay:target {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.overlay .popup {
    position: relative;
    width: min(360px, 92vw);
    background: #fff;
    border-radius: 16px;
    padding: 2rem 1.5rem;
    text-align: center;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
}

.overlay .popup .close {
    position: absolute;
    top: 8px;
    right: 14px;
    font-size: 1.75rem;
    text-decoration: none;
    color: var(--nika-muted);
}

/* Basket */
.nika-basket-steps {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin: 1rem 0 1.25rem;
}

.nika-step {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.875rem;
    border-radius: 999px;
    border: 1px solid var(--nika-line);
    background: #fff;
    color: var(--nika-muted);
    font-size: 0.875rem;
    font-weight: 600;
}

.nika-step.is-active { border-color: var(--nika-warm); color: var(--nika-warm); }
.nika-step.is-done { border-color: #9fd19f; color: #2d6a2d; }

.nika-step i {
    font-size: 0.85rem;
}

.nika-step.is-active i { color: var(--nika-warm); }
.nika-step.is-done i { color: #2d6a2d; }

.nika-modal .modal-content { border-radius: 18px; }

.nika-modal-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
}

.nika-modal-icon--success {
    background: rgba(46, 204, 113, 0.15);
    color: #27ae60;
}

.nika-modal-icon--info {
    background: rgba(196, 92, 38, 0.12);
    color: var(--nika-warm);
}

.nika-order-result-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
}

.nika-order-result-icon--fail {
    background: rgba(220, 53, 69, 0.12);
    color: #b42318;
}

.nika-order-success-banner {
    background: rgba(25, 135, 84, 0.1) !important;
    color: #1e5f3f;
}

.nika-order-ref {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    letter-spacing: 0.04em;
}

.nika-order-result-body {
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}

.nika-track-page { border-radius: 16px !important; }

.nika-track-input {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.nika-track-steps {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.35rem;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: 0.25rem 0 0.5rem;
}

.nika-track-step {
    flex: 1 1 0;
    min-width: 88px;
    text-align: center;
    color: var(--nika-muted);
}

.nika-track-step-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 2px solid var(--nika-line);
    background: #fff;
    margin-bottom: 0.5rem;
    font-size: 1rem;
}

.nika-track-step-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.35;
}

.nika-track-step.is-active .nika-track-step-icon {
    border-color: var(--nika-warm);
    background: rgba(196, 92, 38, 0.1);
    color: var(--nika-warm);
}

.nika-track-step.is-active .nika-track-step-label { color: var(--nika-warm); }

.nika-track-step.is-done .nika-track-step-icon {
    border-color: #9fd19f;
    background: rgba(47, 133, 47, 0.12);
    color: #2d6a2d;
}

.nika-track-step.is-done .nika-track-step-label { color: #2d6a2d; }

.nika-track-step-line {
    flex: 0 0 18px;
    height: 2px;
    background: var(--nika-line);
    margin-top: 22px;
}

.nika-track-step-line.is-done { background: #9fd19f; }

.bg-nika-track-status {
    background: rgba(196, 92, 38, 0.12) !important;
    color: var(--nika-warm-dark) !important;
    font-weight: 700;
    padding: 0.45rem 0.85rem;
}

.nika-track-success-banner {
    background: rgba(25, 135, 84, 0.1) !important;
    color: #1e5f3f;
}

.nika-track-empty i { opacity: 0.85; }

@media (max-width: 575.98px) {
    .nika-track-step { min-width: 72px; }
    .nika-track-step-icon { width: 38px; height: 38px; font-size: 0.9rem; }
    .nika-track-step-line { flex-basis: 10px; margin-top: 19px; }
}

.nika-checkout-card { border-radius: 16px !important; }

#nikaAddressForm .form-select:disabled {
    background-color: #f8f4ef;
    opacity: 0.85;
}

.nika-crumb-home {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin-right: 0.35rem;
    border-radius: 6px;
    background: var(--nika-warm);
    color: #fff;
    text-decoration: none;
}

/* Footer */
.nika-pay-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.75rem;
    border: 1px solid var(--nika-line);
    border-radius: 8px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--nika-muted);
    background: var(--nika-cream);
}

.nika-footer {
    background: var(--nika-panel);
}

.nika-footer-brand {
    padding: 0.65rem 0.85rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.nika-footer-brand:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16);
}

.nika-footer-logo {
    display: block;
    max-height: 52px;
    width: auto;
    max-width: 160px;
}

.nika-footer a:hover {
    color: #fff !important;
}

.nika-footer-social {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.nika-social-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.06);
    color: #fff !important;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease, color 0.2s ease;
}

.nika-social-btn:hover {
    background: var(--nika-warm);
    border-color: var(--nika-warm);
    color: #fff !important;
    transform: translateY(-1px);
}

.nika-scroll-up {
    position: fixed;
    right: 18px;
    bottom: 70px;
    z-index: 900;
    display: none;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0;
}

#footerMiniBar {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0.65rem 1rem;
    text-align: center;
    background: var(--nika-panel);
    color: #f5ebe0;
    font-size: 0.8125rem;
    font-weight: 600;
    z-index: 890;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.12);
}

.clear { clear: both; }

@media (max-width: 991.98px) {
    .nika-cover { height: 220px; }
    .nika-search-form { margin-top: 0.25rem; }
}

/* Product detail */
.nika-breadcrumb {
    --bs-breadcrumb-divider: "›";
    font-size: 0.9rem;
}

.nika-breadcrumb a {
    color: var(--nika-warm);
    text-decoration: none;
}

.nika-detail-card {
    border-radius: 16px !important;
    overflow: hidden;
}

.nika-detail-cover-wrap {
    background: linear-gradient(180deg, #f3ece4 0%, #ebe4dc 100%);
    border-radius: 14px;
    padding: 1rem;
}

.nika-cover--detail {
    height: 460px;
    width: 100%;
    border: 1px solid var(--nika-line);
}

.nika-detail-discount {
    position: absolute;
    top: 14px;
    left: 14px;
    font-size: 0.85rem;
    padding: 0.45em 0.75em;
}

.nika-detail-trust li {
    padding: 0.35rem 0;
    color: var(--nika-muted);
}

.nika-detail-title {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    line-height: 1.2;
    color: var(--nika-panel);
}

.nika-detail-author a {
    color: var(--nika-warm);
    font-weight: 600;
}

.nika-detail-author a:hover {
    text-decoration: underline !important;
}

.nika-detail-price-now {
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: 800;
    color: var(--nika-warm);
    line-height: 1;
}

.nika-detail-price-old {
    color: #9a8b7e;
    font-size: 1.1rem;
}

.nika-detail-buy {
    border-color: var(--nika-line) !important;
}

.nika-qty-group {
    max-width: 140px;
}

.nika-qty-group .form-control {
    border-left: 0;
    border-right: 0;
}

.nika-detail-accordion .accordion-button {
    background: #fff;
    color: var(--nika-panel);
    font-size: 1.05rem;
}

.nika-detail-accordion .accordion-button:not(.collapsed) {
    background: #fff9f0;
    color: var(--nika-panel);
    box-shadow: none;
}

.nika-detail-content {
    color: var(--nika-ink);
    line-height: 1.7;
}

.nika-detail-prose p:last-child,
.nika-detail-content p:last-child {
    margin-bottom: 0;
}

.nika-detail-prose p {
    margin-bottom: 0.85rem;
}

.nika-pay-summary hr { opacity: 0.2; }

.nika-paytr-wrap iframe {
    display: block;
    border: 0;
}

.nika-kunye-list {
    display: grid;
    gap: 0;
}

.nika-kunye-row {
    display: grid;
    grid-template-columns: minmax(140px, 34%) 1fr;
    gap: 1rem;
    padding: 0.75rem 0;
    border-bottom: 1px dashed var(--nika-line);
}

.nika-kunye-row:last-child {
    border-bottom: 0;
}

.nika-kunye-row dt {
    margin: 0;
    font-weight: 700;
    color: var(--nika-panel);
}

.nika-kunye-row dd {
    margin: 0;
    color: var(--nika-ink);
}

@media (max-width: 575.98px) {
    .nika-kunye-row {
        grid-template-columns: 1fr;
        gap: 0.25rem;
    }
}

.nika-cover--related {
    height: 180px;
    border-bottom: 1px solid var(--nika-line);
}

.nika-related-card {
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    border-radius: 12px !important;
    overflow: hidden;
}

.nika-related-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(42, 36, 32, 0.12) !important;
}

.nika-related-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Smart search suggestions */
.nika-search-suggest {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 1200;
    background: #fff;
    border: 1px solid var(--nika-line);
    border-radius: 14px;
    overflow: hidden;
    max-height: 420px;
    overflow-y: auto;
}

.nika-search-suggest-item {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 10px 14px;
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid #f1ebe4;
}

.nika-search-suggest-item:hover {
    background: #fff9f0;
}

.nika-search-suggest-cover {
    width: 44px;
    height: 58px;
    flex: 0 0 44px;
    border-radius: 6px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #f3ece4;
    border: 1px solid var(--nika-line);
}

.nika-search-suggest-body {
    min-width: 0;
    flex: 1;
}

.nika-search-suggest-title {
    display: block;
    font-weight: 700;
    font-size: 0.92rem;
    line-height: 1.3;
}

.nika-search-suggest-author {
    font-size: 0.8rem;
    color: var(--nika-muted);
    font-style: italic;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nika-search-suggest-price {
    display: block;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--nika-warm);
    margin-top: 2px;
}

.nika-search-suggest-all,
.nika-search-suggest-empty {
    display: block;
    padding: 12px 14px;
    text-align: center;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--nika-warm);
    text-decoration: none;
    background: #fffaf3;
}

.nika-search-suggest-empty {
    color: var(--nika-muted);
    font-weight: 500;
}

.nika-search-suggest-section + .nika-search-suggest-section {
    border-top: 1px solid #f1ebe4;
}

.nika-search-suggest-label {
    padding: 0.55rem 14px 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--nika-muted);
    background: #faf6f0;
}

.nika-search-suggest-author-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.7rem 14px;
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid #f1ebe4;
}

.nika-search-suggest-author-item:hover {
    background: #fff9f0;
    color: var(--nika-panel);
}

.nika-search-suggest-author-name {
    font-weight: 600;
    font-size: 0.92rem;
}

.nika-search-suggest-author-count {
    font-size: 0.78rem;
    color: var(--nika-muted);
    white-space: nowrap;
}

@media (max-width: 991.98px) {
    .nika-cover--detail { height: 360px; }
}

.nika-filter-bar {
    border-radius: 14px !important;
    background: linear-gradient(180deg, #fff 0%, #fffaf5 100%);
}

.nika-filter-bar .form-select {
    border-color: var(--nika-line);
    background-color: #fff;
}

.nika-filter-bar .form-select:focus {
    border-color: var(--nika-warm);
    box-shadow: 0 0 0 0.15rem rgba(196, 92, 38, 0.12);
}

.nika-listing-page .ParcelProduct {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
    margin: 0;
}

.nika-basket-table th {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--nika-muted);
}

.nika-basket-thumb {
    display: block;
    width: 52px;
    height: 68px;
    border-radius: 6px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #f3ece4;
    border: 1px solid var(--nika-line);
}

.nika-basket-qty {
    max-width: 52px;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
    -moz-appearance: textfield;
}

.nika-basket-qty::-webkit-outer-spin-button,
.nika-basket-qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.nika-qty-stepper {
    display: inline-flex;
    align-items: stretch;
    justify-content: center;
    border: 1px solid var(--nika-line);
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}

.nika-qty-stepper.is-loading {
    opacity: 0.65;
    pointer-events: none;
}

.nika-qty-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    border: 0;
    background: #fff9f0;
    color: var(--nika-accent);
    padding: 0;
    line-height: 1;
}

.nika-qty-btn:hover:not(:disabled) {
    background: var(--nika-accent);
    color: #fff;
}

.nika-qty-btn:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.nika-basket-summary {
    border-radius: 14px !important;
}

.nika-discount-box {
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(42, 36, 32, 0.08);
}

.nika-discount-row {
    display: flex;
    gap: 0.5rem;
    align-items: stretch;
}

.nika-discount-row .form-control {
    flex: 1 1 75%;
    min-width: 0;
    border-style: dashed;
    border-color: var(--nika-primary, #2e8b57);
    font-weight: 600;
    color: var(--nika-primary, #2e8b57);
    background: rgba(189, 231, 207, 0.35);
}

.nika-discount-row .btn {
    flex: 0 0 auto;
    min-width: 5.5rem;
    white-space: nowrap;
}

.nika-discount-applied .badge {
    font-size: 0.78rem;
    padding: 0.45rem 0.65rem;
}

.nika-basket-sidebar {
    position: sticky;
    top: 1rem;
}

.nika-shipping-box {
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(42, 36, 32, 0.08);
}

.nika-shipping-meta {
    background: rgba(255, 255, 255, 0.72);
    border: 1px dashed rgba(46, 139, 87, 0.35);
    border-radius: 10px;
    padding: 0.55rem 0.75rem;
}

.nika-kargo-options {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.nika-kargo-options.is-loading {
    opacity: 0.72;
    pointer-events: none;
}

.nika-kargo-option {
    display: flex;
    align-items: stretch;
    margin: 0;
    cursor: pointer;
}

.nika-kargo-option__input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.nika-kargo-option__body {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.55rem 0.7rem;
    border: 1px solid rgba(42, 36, 32, 0.12);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.88);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.nika-kargo-option__name {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--nika-panel);
}

.nika-kargo-option__price {
    font-size: 0.8125rem;
    font-weight: 700;
    white-space: nowrap;
}

.nika-kargo-option:hover .nika-kargo-option__body,
.nika-kargo-option.is-selected .nika-kargo-option__body {
    border-color: rgba(196, 92, 38, 0.45);
    box-shadow: inset 0 0 0 1px rgba(196, 92, 38, 0.18);
    background: #fff;
}

.nika-kargo-option.is-selected .nika-kargo-option__body {
    background: linear-gradient(135deg, rgba(255, 244, 230, 0.95) 0%, rgba(255, 255, 255, 0.98) 100%);
}

.nika-free-ship-band {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0;
    padding: 0.85rem 0.95rem;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, #fff4e6 0%, #ffe8c8 52%, #ffd89a 100%);
    box-shadow: inset 0 0 0 1px rgba(196, 92, 38, 0.22), 0 8px 22px rgba(196, 92, 38, 0.14);
    color: var(--nika-panel);
    line-height: 1.35;
}

.nika-free-ship-band__icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, var(--nika-warm), var(--nika-gold));
    color: #fff;
    font-size: 1.05rem;
    box-shadow: 0 4px 12px rgba(196, 92, 38, 0.28);
}

.nika-free-ship-band__text {
    flex: 1 1 auto;
    font-size: 0.92rem;
    font-weight: 600;
}

.nika-free-ship-band__amount {
    display: inline-block;
    margin: 0 0.2rem;
    padding: 0.08rem 0.45rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--nika-warm-dark);
    font-size: 0.98rem;
    font-weight: 800;
    box-shadow: inset 0 0 0 1px rgba(196, 92, 38, 0.18);
}

.nika-free-ship-band--success {
    background: linear-gradient(135deg, #e8f8ef 0%, #d7f2e1 100%);
    box-shadow: inset 0 0 0 1px rgba(46, 139, 87, 0.22), 0 8px 22px rgba(46, 139, 87, 0.12);
    color: #1f5f3f;
}

.nika-free-ship-band--success .nika-free-ship-band__icon {
    background: linear-gradient(145deg, #2e8b57, #43b173);
    box-shadow: 0 4px 12px rgba(46, 139, 87, 0.24);
}

.nika-free-ship-band--success .nika-free-ship-band__amount {
    color: #1f5f3f;
    box-shadow: inset 0 0 0 1px rgba(46, 139, 87, 0.2);
}

/* Müşteri yorumları */
.nika-reviews-section .nika-review-score {
    font-size: 2.4rem;
    font-weight: 800;
    line-height: 1;
    color: var(--nika-panel);
}

.nika-review-stars {
    color: var(--nika-gold);
    font-size: 0.85rem;
    letter-spacing: 0.04em;
}

.nika-review-stars--lg {
    font-size: 1rem;
}

.nika-review-bars {
    display: grid;
    gap: 0.35rem;
}

.nika-review-bar-row {
    display: grid;
    grid-template-columns: 42px 1fr 28px;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.78rem;
    color: var(--nika-muted);
}

.nika-review-bar-track {
    height: 7px;
    border-radius: 999px;
    background: rgba(42, 36, 32, 0.08);
    overflow: hidden;
}

.nika-review-bar-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--nika-gold), var(--nika-warm));
}

.nika-review-form-box {
    padding: 1rem 1.1rem;
    border: 1px solid var(--nika-line);
    border-radius: 14px;
    background: #fffdf9;
}

.nika-star-input {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 0.15rem;
}

.nika-star-input input {
    display: none;
}

.nika-star-input label {
    font-size: 1.35rem;
    color: #ddd5c8;
    cursor: pointer;
    transition: color 0.15s ease, transform 0.15s ease;
}

.nika-star-input input:checked ~ label,
.nika-star-input label:hover,
.nika-star-input label:hover ~ label {
    color: var(--nika-gold);
}

.nika-star-input.is-invalid {
    display: inline-flex;
    padding: 0.2rem 0.35rem;
    border-radius: 8px;
    box-shadow: inset 0 0 0 1px rgba(220, 53, 69, 0.45);
    background: rgba(220, 53, 69, 0.06);
}

.nika-star-input.is-invalid label {
    color: #e07a7a;
}

.nika-review-error {
    font-weight: 600;
}

.nika-review-form textarea.is-invalid,
.nika-review-form .form-control.is-invalid {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.15rem rgba(220, 53, 69, 0.12);
}

.nika-review-list {
    display: grid;
    gap: 1rem;
}

.nika-review-item {
    display: flex;
    gap: 0.85rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(42, 36, 32, 0.08);
}

.nika-review-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.nika-review-avatar {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, var(--nika-warm), var(--nika-gold));
    color: #fff;
    font-weight: 700;
}

.nika-review-name {
    color: var(--nika-panel);
}

.nika-review-text {
    margin-top: 0.45rem;
    color: var(--nika-muted);
    line-height: 1.55;
}

.nika-review-photo img {
    width: 88px;
    height: 88px;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid var(--nika-line);
}

.nika-cover--review {
    height: 150px;
}

.nika-review-empty {
    border: 1px dashed var(--nika-line);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.65);
}

@media (max-width: 575.98px) {
    .nika-review-bar-row {
        grid-template-columns: 36px 1fr 24px;
    }
    .nika-cover--review {
        height: 180px;
    }
}

.nika-order-summary {
    margin-bottom: 1rem;
}

.nika-order-summary .letter-spacing-1 {
    letter-spacing: 0.06em;
}

@media (max-width: 991.98px) {
    .nika-basket-sidebar {
        position: static;
    }
}

.nika-basket-empty i {
    opacity: 0.85;
}

.nika-contact-page .nika-contact-card {
    border-radius: 14px !important;
}

.nika-contact-list {
    margin: 0;
}

.nika-contact-row {
    display: grid;
    grid-template-columns: minmax(110px, 34%) 1fr;
    gap: 0.75rem 1rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid rgba(42, 36, 32, 0.08);
}

.nika-contact-row:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.nika-contact-row dt {
    margin: 0;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--nika-muted);
}

.nika-contact-row dd {
    margin: 0;
    color: var(--nika-ink);
    line-height: 1.6;
}

.nika-contact-tile {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-height: 100%;
    padding: 1rem 1.1rem;
    border: 1px solid var(--nika-line);
    border-radius: 12px;
    background: #fff;
    color: var(--nika-ink);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

a.nika-contact-tile:hover {
    border-color: var(--nika-warm);
    box-shadow: 0 8px 24px rgba(42, 36, 32, 0.08);
    transform: translateY(-1px);
    color: var(--nika-panel);
}

.nika-contact-tile-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #fff9f0;
    color: var(--nika-warm);
    flex-shrink: 0;
}

.nika-contact-tile-body {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.nika-contact-tile-label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--nika-muted);
}

.nika-contact-tile-value {
    font-weight: 600;
    word-break: break-word;
}

.nika-contact-map {
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid var(--nika-line);
    background: #f3ece4;
}

.nika-contact-map iframe {
    width: 100% !important;
    height: 100% !important;
    min-height: 360px;
    border: 0;
    display: block;
}

.nika-cms-page,
.nika-authors-page {
    border-radius: 14px !important;
}

.nika-cms-intro p:last-child,
.nika-authors-intro p:last-child {
    margin-bottom: 0;
}

.nika-cms-prose img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
}

.nika-author-letters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.nika-author-letter.is-active {
    pointer-events: none;
}

.nika-author-card {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-height: 100%;
    padding: 1rem 1rem;
    border: 1px solid var(--nika-line);
    border-radius: 12px;
    background: #fff;
    color: var(--nika-ink);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.nika-author-card:hover {
    border-color: var(--nika-warm);
    box-shadow: 0 8px 24px rgba(42, 36, 32, 0.08);
    transform: translateY(-1px);
    color: var(--nika-panel);
}

.nika-author-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #fff9f0;
    color: var(--nika-warm);
    flex-shrink: 0;
}

.nika-author-card-body {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1 1 auto;
}

.nika-author-card-name {
    font-weight: 600;
    line-height: 1.35;
    word-break: break-word;
}

.nika-author-card-count {
    font-size: 0.78rem;
    color: var(--nika-muted);
}

.nika-author-card-arrow {
    color: var(--nika-warm);
    opacity: 0.65;
    flex-shrink: 0;
}

@media (max-width: 767.98px) {
    .nika-contact-row {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }
}

@media (max-width: 575.98px) {
    .nika-cover--detail { height: 300px; }
    .nika-detail-buy .btn-lg { font-size: 1rem; }
    .nika-hero-carousel .carousel-item img { height: 240px !important; }
}

/* Flash uyarı popup (panel reklamlar) */
body.nika-flash-open {
    overflow: hidden;
}

.nika-flash-overlay {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    background: rgba(42, 36, 32, 0.55);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    opacity: 0;
    transition: opacity 0.22s ease;
}

.nika-flash-overlay.is-visible {
    opacity: 1;
}

.nika-flash-dialog {
    position: relative;
    width: min(560px, 100%);
    max-height: min(90vh, 720px);
    overflow: auto;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 24px 60px rgba(42, 36, 32, 0.28);
    transform: translateY(12px) scale(0.98);
    transition: transform 0.22s ease;
}

.nika-flash-overlay.is-visible .nika-flash-dialog {
    transform: translateY(0) scale(1);
}

.nika-flash-close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: var(--nika-panel);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.nika-flash-close:hover {
    background: #fff;
    color: var(--nika-warm);
}

.nika-flash-meta {
    margin-bottom: 0.85rem;
    padding-right: 2.75rem;
}

.nika-flash-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--nika-warm), var(--nika-gold));
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    box-shadow: 0 4px 14px rgba(196, 92, 38, 0.35);
}

.nika-flash-media img {
    display: block;
    width: 100%;
    max-height: 280px;
    object-fit: cover;
    border-radius: 20px 20px 0 0;
}

.nika-flash-content {
    padding: 1.65rem 1.5rem 1.35rem;
}

.nika-flash-title {
    margin: 0 0 0.75rem;
    font-size: 1.45rem;
    line-height: 1.25;
    color: var(--nika-panel);
}

.nika-flash-text {
    margin: 0 0 0.85rem;
    color: var(--nika-muted);
    font-size: 0.98rem;
    line-height: 1.55;
}

.nika-flash-html {
    margin: 0 0 1rem;
    color: var(--nika-ink);
    font-size: 0.95rem;
    line-height: 1.6;
}

.nika-flash-html img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
}

.nika-flash-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 0.5rem;
}

.nika-flash-actions .btn {
    flex: 1 1 auto;
    min-width: 140px;
}

@media (max-width: 575.98px) {
    .nika-flash-content {
        padding: 1.25rem 1.15rem 1.15rem;
    }
    .nika-flash-meta {
        margin-bottom: 0.75rem;
        padding-right: 2.5rem;
    }
    .nika-flash-title {
        font-size: 1.25rem;
    }
    .nika-flash-actions {
        flex-direction: column;
    }
    .nika-flash-actions .btn {
        width: 100%;
    }
}

/* Çerez bilgilendirme çubuğu */
.nika-cookie-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10040;
    padding: 0.75rem 0 calc(0.75rem + env(safe-area-inset-bottom, 0px));
    background: rgba(42, 36, 32, 0.94);
    color: #f5efe6;
    box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.18);
    transform: translateY(110%);
    transition: transform 0.25s ease;
}

.nika-cookie-bar.is-visible {
    transform: translateY(0);
}

.nika-cookie-bar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.nika-cookie-text {
    flex: 1 1 280px;
    font-size: 0.88rem;
    line-height: 1.45;
}

.nika-cookie-link {
    color: var(--nika-gold);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.nika-cookie-link:hover {
    color: #fff;
}

.nika-cookie-accept {
    flex: 0 0 auto;
    white-space: nowrap;
}

body.nika-flash-open .nika-cookie-bar,
body.nika-flash-open #footerMiniBar {
    z-index: 10030;
}
