/* =========================================================
   Spa Rehberi — App-wide styles (Twig/PHP version)
   Editorial aesthetic
   ========================================================= */

html,
body {
    height: 100%;
}

.app {
    min-height: 100vh;
    background: var(--sr-bg);
    color: var(--sr-ink);
    display: flex;
    flex-direction: column;
}

.container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 32px;
    width: 100%;
}

.narrow {
    max-width: 880px;
    margin: 0 auto;
    padding: 0 32px;
    width: 100%;
}

/* ---------- Legacy topnav alias — mevcut admin/owner layout'ları için ---------- */
.topnav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 32px;
    border-bottom: 1px solid var(--sr-line);
    background: rgba(250, 249, 246, 0.9);
    position: sticky;
    top: 0;
    z-index: 30;
    backdrop-filter: saturate(140%) blur(6px);
}

.topnav .brand {
    font-family: var(--sr-font-serif);
    font-size: 22px;
    letter-spacing: -0.01em;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--sr-ink);
}

.topnav .brand .dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--sr-clay);
    display: inline-block;
}

.topnav nav {
    display: flex;
    gap: 26px;
    font-size: 14px;
    color: var(--sr-ink-2);
}

.topnav nav a {
    transition: color var(--sr-dur);
}

.topnav nav a:hover,
.topnav nav a.active {
    color: var(--sr-ink);
}

.topnav .right {
    display: flex;
    gap: 10px;
    align-items: center;
}

/* =========================================================
   Header — sr-header (redesigned)
   ========================================================= */
.sr-header {
    position: sticky;
    top: 0;
    z-index: 40;
    background: rgba(250, 249, 246, 0.88);
    border-bottom: 1px solid rgba(43, 39, 36, 0.07);
    backdrop-filter: saturate(160%) blur(16px);
    -webkit-backdrop-filter: saturate(160%) blur(16px);
}

/* Üst ince clay accent — premium hissi */
.sr-header::before {
    content: '';
    display: block;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--sr-clay) 35%, #d4a574 50%, var(--sr-clay) 65%, transparent 100%);
    opacity: 0.75;
}

.sr-header-inner {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 12px 32px;
    max-width: 1320px;
    margin: 0 auto;
}

/* Brand — full logo (mark + wordmark SVG) */
.sr-brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    flex-shrink: 0;
    color: inherit;
}

.sr-brand-logo {
    height: 48px;
    width: auto;
    display: block;
    max-width: 100%;
}

/* Legacy support — bazı yerlerde mark/text kullanımı kalırsa çalışsın */
.sr-brand-mark {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--sr-clay);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.sr-brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1;
    margin-left: 10px;
}

.sr-brand-name {
    font-family: var(--sr-font-serif);
    font-size: 20px;
    letter-spacing: -0.01em;
    font-weight: 400;
}

.sr-brand-sub {
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    margin-top: 2px;
}

/* Main nav */
.sr-header-nav {
    display: flex;
    gap: 4px;
    align-items: center;
    margin-left: 18px;
}

.sr-header-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 10px 14px;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--sr-ink-2);
    text-decoration: none;
    border-radius: 10px;
    background: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
    letter-spacing: 0;
    transition: all 0.18s var(--sr-ease);
    position: relative;
}

.sr-header-link::after {
    content: '';
    position: absolute;
    bottom: 5px;
    left: 50%;
    width: 18px;
    height: 1.5px;
    background: var(--sr-clay);
    border-radius: 2px;
    opacity: 0;
    transform: translateX(-50%) scaleX(0.4);
    transition: all 0.22s var(--sr-ease);
}

.sr-header-link:hover {
    color: var(--sr-ink);
}

.sr-header-link:hover::after,
.sr-header-link.is-active::after {
    opacity: 1;
    transform: translateX(-50%) scaleX(1);
}

/* Dropdown */
.sr-header-dd {
    position: relative;
}

/* Görünmez köprü — button ile menu arasındaki boşlukta hover kaybolmasın */
.sr-header-dd::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 10px;
    display: none;
}

.sr-header-dd:hover::after,
.sr-header-dd:focus-within::after {
    display: block;
}

.sr-header-dd:hover .sr-header-dd-menu,
.sr-header-dd:focus-within .sr-header-dd-menu {
    display: block;
}

.sr-header-dd-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 10px;
    min-width: 200px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    padding: 6px 0;
    box-shadow: 0 20px 44px rgba(43, 39, 36, 0.12);
    z-index: 50;
}

/* Menu'nun kendisi hover'dayken kapanmasın */
.sr-header-dd-menu:hover {
    display: block !important;
}

.sr-header-dd-menu a,
.sr-header-dd-menu .sr-user-logout {
    display: block;
    padding: 9px 16px;
    font-size: 13.5px;
    color: var(--sr-ink-2);
    text-decoration: none;
    background: none;
    border: none;
    cursor: pointer;
    width: 100%;
    text-align: left;
    font-family: inherit;
    transition: background var(--sr-dur);
}

.sr-header-dd-menu a:hover,
.sr-header-dd-menu .sr-user-logout:hover {
    background: var(--sr-surface);
    color: var(--sr-ink);
}

.sr-header-dd-divider {
    height: 1px;
    background: var(--sr-line);
    margin: 4px 0;
}

/* Search box — premium pill */
.sr-header-search {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 6px 0 14px;
    height: 38px;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(43, 39, 36, 0.1);
    border-radius: 999px;
    width: 240px;
    margin-left: 8px;
    transition: all 0.25s var(--sr-ease);
    box-shadow: 0 1px 0 rgba(43, 39, 36, 0.02);
}

.sr-header-search:hover {
    border-color: rgba(43, 39, 36, 0.18);
    background: var(--sr-bg);
}

.sr-header-search:focus-within {
    border-color: var(--sr-clay);
    background: var(--sr-bg);
    box-shadow: 0 0 0 4px rgba(201, 100, 66, 0.1);
    width: 340px;
}

.sr-header-search svg {
    color: var(--sr-ink-3);
    flex-shrink: 0;
}

.sr-header-search input {
    border: none;
    background: transparent;
    outline: none;
    font-size: 13.5px;
    color: var(--sr-ink);
    font-family: inherit;
    width: 100%;
    padding: 0;
    letter-spacing: -0.005em;
}

.sr-header-search input::placeholder {
    color: var(--sr-ink-3);
    font-style: italic;
}

.sr-header-kbd {
    flex-shrink: 0;
    font-family: var(--sr-mono, ui-monospace, monospace);
    font-size: 10.5px;
    color: var(--sr-ink-3);
    background: rgba(43, 39, 36, 0.05);
    padding: 4px 7px;
    border-radius: 6px;
    border: 1px solid rgba(43, 39, 36, 0.06);
    letter-spacing: 0.02em;
    line-height: 1;
    font-weight: 500;
}

.sr-header-search:focus-within .sr-header-kbd {
    opacity: 0;
    pointer-events: none;
}

/* Mega dropdown — şehirler & ritüeller */
.sr-header-dd-mega {
    min-width: 460px;
    padding: 18px;
    border-radius: 16px;
    box-shadow: 0 24px 56px rgba(43, 39, 36, 0.16), 0 4px 12px rgba(43, 39, 36, 0.06);
    border-color: rgba(43, 39, 36, 0.08);
}

.dd-mega-head {
    display: flex;
    flex-direction: column;
    padding: 0 8px 14px;
    border-bottom: 1px solid var(--sr-line);
    margin-bottom: 12px;
}

.dd-mega-eyebrow {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--sr-clay);
    margin-bottom: 4px;
}

.dd-mega-title {
    font-family: var(--sr-serif);
    font-size: 17px;
    font-weight: 400;
    color: var(--sr-ink);
    letter-spacing: -0.01em;
}

.dd-mega-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
}

.dd-mega-item {
    display: flex !important;
    flex-direction: column;
    gap: 2px;
    padding: 10px 12px !important;
    border-radius: 10px !important;
    transition: background 0.15s var(--sr-ease);
}

.dd-mega-item:hover {
    background: var(--sr-surface) !important;
}

.dd-mega-name {
    font-size: 14px;
    font-weight: 500;
    color: var(--sr-ink);
    letter-spacing: -0.005em;
}

.dd-mega-desc {
    font-size: 11.5px;
    color: var(--sr-ink-3);
    letter-spacing: 0.005em;
    line-height: 1.3;
}

.dd-mega-foot {
    display: block;
    margin: 12px -18px -18px;
    padding: 13px 22px !important;
    background: var(--sr-surface);
    border-radius: 0 0 16px 16px;
    color: var(--sr-clay) !important;
    font-weight: 600 !important;
    font-size: 12.5px !important;
    letter-spacing: 0.01em;
    border-top: 1px solid var(--sr-line);
    text-align: center;
}

.dd-mega-foot:hover {
    background: rgba(201, 100, 66, 0.05) !important;
    color: var(--sr-clay) !important;
}

/* Right area */
.sr-header-right {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

/* Header konum pill */
.sr-header-loc {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 13px;
    height: 36px;
    background: transparent;
    border: 1px solid rgba(43, 39, 36, 0.1);
    border-radius: 999px;
    font-family: inherit;
    font-size: 12.5px;
    color: var(--sr-ink-2);
    cursor: pointer;
    transition: all 0.18s var(--sr-ease);
    letter-spacing: -0.005em;
    font-weight: 500;
}

.sr-header-loc svg {
    color: var(--sr-ink-3);
    flex-shrink: 0;
}

.sr-header-loc:hover {
    border-color: var(--sr-clay);
    color: var(--sr-ink);
    background: rgba(201, 100, 66, 0.04);
}

.sr-header-loc:hover svg {
    color: var(--sr-clay);
}

.sr-header-loc.is-set {
    background: rgba(201, 100, 66, 0.06);
    border-color: rgba(201, 100, 66, 0.2);
    color: var(--sr-ink);
}

.sr-header-loc.is-set svg {
    color: var(--sr-clay);
}

/* btn-clay-outline — clay border, transparent bg */
.btn-clay-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 36px;
    padding: 0 14px;
    background: transparent;
    border: 1px solid var(--sr-clay);
    border-radius: 8px;
    color: var(--sr-clay) !important;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: -0.005em;
    text-decoration: none;
    transition: all 0.18s var(--sr-ease);
    cursor: pointer;
    font-family: inherit;
}

.btn-clay-outline:hover {
    background: var(--sr-clay);
    color: #fff !important;
    transform: translateY(-1px);
}

.btn-clay-outline svg {
    flex-shrink: 0;
}

/* btn-clay — solid clay (Üye ol) */
.btn-clay {
    background: var(--sr-clay);
    color: #fff !important;
    border: 0;
    height: 36px;
    padding: 0 16px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 12.5px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.18s var(--sr-ease);
}

.btn-clay:hover {
    background: #b8552e;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(201, 100, 66, 0.3);
}

/* User menu head — name + email block */
.sr-user-menu-head {
    padding: 12px 14px 10px;
    border-bottom: 1px solid var(--sr-line);
    margin-bottom: 4px;
}

.sr-user-menu-name {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--sr-ink);
    letter-spacing: -0.005em;
    line-height: 1.2;
}

.sr-user-menu-mail {
    font-size: 11.5px;
    color: var(--sr-ink-3);
    margin-top: 3px;
    word-break: break-all;
    line-height: 1.3;
}

/* Konum pill — header içi */
.sr-loc-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    background: var(--sr-surface);
    border: 1px solid var(--sr-line);
    border-radius: 999px;
    font-size: 11.5px;
    color: var(--sr-ink-2);
    cursor: pointer;
    transition: all var(--sr-dur);
    white-space: nowrap;
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sr-loc-pill svg {
    color: var(--sr-clay);
    flex-shrink: 0;
}

.sr-loc-pill:hover {
    border-color: var(--sr-clay);
    color: var(--sr-ink);
}

@media (max-width: 900px) {
    .sr-loc-pill {
        display: none;
    }
}

/* Konum reddedildi bildirimi */
.cat-geo-denied-notice {
    padding: 10px 16px;
    background: var(--sr-surface);
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    font-size: 13px;
    color: var(--sr-ink-2);
    margin-bottom: 12px;
}

.sr-header-right .btn-sm {
    height: 42px;
    padding: 0 18px;
    border-radius: 999px;
    font-weight: 500;
    font-size: 13.5px;
}

/* User menu */
.sr-user-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 36px;
    padding: 3px 11px 3px 3px;
    background: transparent;
    border: 1px solid rgba(43, 39, 36, 0.1);
    border-radius: 999px;
    cursor: pointer;
    font-family: inherit;
    color: var(--sr-ink-2);
    transition: all 0.18s var(--sr-ease);
}

.sr-user-btn:hover {
    border-color: rgba(43, 39, 36, 0.2);
    background: var(--sr-surface);
}

.sr-user-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--sr-clay) 0%, #b8552e 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--sr-font-serif);
    font-size: 13px;
    font-weight: 500;
    flex-shrink: 0;
    box-shadow: 0 1px 3px rgba(201, 100, 66, 0.2);
}

.sr-user-name {
    font-size: 13.5px;
    font-weight: 500;
    color: var(--sr-ink);
}

.sr-user-menu {
    right: 0;
    left: auto;
    min-width: 220px;
}

/* Mobile triggers */
.sr-header-mobile-search,
.sr-header-burger {
    display: none;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(43, 39, 36, 0.1);
    border-radius: 12px;
    background: var(--sr-bg);
    color: var(--sr-ink);
    cursor: pointer;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: all 0.18s var(--sr-ease);
    -webkit-tap-highlight-color: transparent;
}

.sr-header-mobile-search:hover,
.sr-header-burger:hover,
.sr-header-mobile-search:active,
.sr-header-burger:active {
    background: var(--sr-surface);
    border-color: var(--sr-clay);
    color: var(--sr-clay);
}

.sr-header-burger {
    background: var(--sr-ink);
    color: var(--sr-bg);
    border-color: var(--sr-ink);
}

.sr-header-burger:hover,
.sr-header-burger:active {
    background: var(--sr-clay);
    border-color: var(--sr-clay);
    color: #fff;
}

/* --- Desktop 1100px'te nav kısılır, 900px'te tamamen gizli --- */
@media (max-width: 1200px) {
    .sr-header-inner {
        gap: 20px;
        padding: 16px 24px;
    }

    .sr-header-link {
        padding: 10px 12px;
        font-size: 13.5px;
    }

    .sr-header-search {
        width: 180px;
    }

    .sr-header-search:focus-within {
        width: 240px;
    }

    .sr-brand-sub {
        display: none;
    }

    .sr-brand-logo {
        height: 52px;
    }
}

@media (max-width: 1000px) {

    .sr-header-nav,
    .sr-header-search,
    .sr-header-ghost,
    .sr-header-loc {
        display: none;
    }

    .sr-header-mobile-search,
    .sr-header-burger {
        display: inline-flex;
    }

    .sr-header-cta,
    .sr-header-right .btn:not(.btn-ink) {
        display: none;
    }

    .sr-user-btn .sr-user-name {
        display: none;
    }

    .sr-header-inner {
        gap: 16px;
    }
}

@media (max-width: 700px) {
    .sr-header-inner {
        padding: 10px 14px;
        gap: 0;
        justify-content: space-between;
    }

    .sr-brand {
        margin-right: auto;
    }

    .sr-header-right {
        gap: 6px;
        margin-left: 8px;
    }

    .sr-header-mobile-search,
    .sr-header-burger {
        margin-left: 6px;
    }

    .sr-brand-logo {
        height: 36px;
    }

    .sr-brand-mark {
        width: 30px;
        height: 30px;
    }

    .sr-brand-mark svg {
        width: 16px;
        height: 16px;
    }

    .sr-brand-name {
        font-size: 17px;
    }

    .sr-header-mobile-search,
    .sr-header-burger {
        width: 42px;
        height: 42px;
        border-radius: 10px;
    }

    /* Mobilde "Kayıt ol" / "İşletmemi ekle" butonları gizlensin — drawer'da var */
    .sr-header-right .btn:not(.btn-ink),
    .sr-header-right > a.btn {
        display: none;
    }

    .sr-user-btn {
        height: 40px;
        padding: 3px 10px 3px 3px;
    }

    .sr-user-avatar {
        width: 32px;
        height: 32px;
        font-size: 14px;
    }
}

/* =========================================================
   Mobile search overlay
   ========================================================= */
.sr-mobile-search {
    position: fixed;
    inset: 0;
    background: rgba(250, 249, 246, 0.98);
    backdrop-filter: blur(8px);
    z-index: 100;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 80px 20px 20px;
}

.sr-mobile-search[hidden] {
    display: none !important;
}

.sr-mobile-search form {
    width: 100%;
    max-width: 600px;
    display: grid;
    grid-template-columns: 40px 1fr auto;
    gap: 10px;
    align-items: center;
    padding: 16px 20px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    box-shadow: 0 20px 48px rgba(43, 39, 36, 0.12);
}

.sr-mobile-search-close {
    width: 40px;
    height: 40px;
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    background: var(--sr-bg);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--sr-ink);
}

.sr-mobile-search input {
    border: none;
    outline: none;
    background: transparent;
    font-size: 16px;
    color: var(--sr-ink);
    font-family: inherit;
    padding: 8px 0;
}

/* =========================================================
   Mobile drawer (sağdan açılır)
   ========================================================= */
.sr-drawer {
    position: fixed;
    inset: 0;
    z-index: 200;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.25s;
}

body.sr-drawer-open .sr-drawer {
    pointer-events: auto;
    opacity: 1;
}

.sr-drawer-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(43, 39, 36, 0.5);
    backdrop-filter: blur(2px);
}

.sr-drawer-panel {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 320px;
    max-width: 85vw;
    background: var(--sr-bg);
    box-shadow: -20px 0 48px rgba(43, 39, 36, 0.15);
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.3s cubic-bezier(0.2, 0.9, 0.3, 1);
    overflow-y: auto;
}

body.sr-drawer-open .sr-drawer-panel {
    transform: translateX(0);
}

body.sr-drawer-open {
    overflow: hidden;
}

.sr-drawer-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 20px;
    border-bottom: 1px solid var(--sr-line);
}

.sr-drawer-close {
    width: 36px;
    height: 36px;
    border: 1px solid var(--sr-line);
    border-radius: 8px;
    background: var(--sr-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--sr-ink);
}

.sr-drawer-user {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    background: var(--sr-surface);
    border-bottom: 1px solid var(--sr-line);
}

.sr-drawer-user .sr-user-avatar {
    width: 40px;
    height: 40px;
    font-size: 16px;
}

.sr-drawer-nav {
    padding: 12px 0;
    flex: 1;
}

/* yeni drawer satırları */
.dn-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 20px;
    color: var(--sr-ink);
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    min-height: 48px;
    border-radius: 0;
    transition: background 0.15s var(--sr-ease);
    -webkit-tap-highlight-color: transparent;
}

.dn-row:hover,
.dn-row:active {
    background: var(--sr-surface);
}

.dn-row .dn-ic {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--sr-surface);
    border: 1px solid var(--sr-line);
    border-radius: 8px;
    color: var(--sr-ink-2);
    flex-shrink: 0;
}

.dn-row .dn-lb {
    flex: 1;
}

.dn-row .dn-arr {
    color: var(--sr-ink-3);
    display: flex;
    align-items: center;
}

.dn-row.dn-sub {
    padding: 10px 20px 10px 24px;
    font-size: 14px;
    font-weight: 400;
    color: var(--sr-ink-2);
    min-height: 40px;
}

.dn-row.dn-sub:hover {
    color: var(--sr-ink);
}

.dn-row.dn-more {
    color: var(--sr-clay);
    font-weight: 500;
}

.dn-row.dn-cta {
    background: linear-gradient(135deg, rgba(201, 100, 66, 0.08), rgba(201, 100, 66, 0.02));
    color: var(--sr-clay);
    font-weight: 600;
}

.dn-row.dn-cta .dn-ic {
    background: var(--sr-clay);
    color: #fff;
    border-color: transparent;
}

.dn-row.dn-cta:hover {
    background: linear-gradient(135deg, rgba(201, 100, 66, 0.14), rgba(201, 100, 66, 0.05));
}

.sr-drawer-section {
    padding: 6px 0;
    border-top: 1px solid var(--sr-line);
    margin-top: 6px;
}

.sr-drawer-head-sm {
    padding: 14px 20px 6px;
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    font-weight: 600;
}

.sr-drawer-foot {
    padding: 16px 20px 20px;
    border-top: 1px solid var(--sr-line);
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-bottom: calc(20px + env(safe-area-inset-bottom, 0));
}

/* ---------- Rules / heads ---------- */
.rule {
    height: 1px;
    background: var(--sr-line);
    width: 100%;
}

.section-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    margin: 0 0 28px;
}

.section-head h2 {
    font-family: var(--sr-font-serif);
    font-weight: 400;
    font-size: 34px;
    letter-spacing: -0.02em;
    margin: 6px 0 0;
}

.section-head a {
    font-size: 13px;
    color: var(--sr-ink-2);
    border-bottom: 1px solid var(--sr-line-2);
    padding-bottom: 2px;
}

/* ---------- Buttons ---------- */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--sr-font-sans);
    font-size: 14px;
    font-weight: 500;
    padding: 10px 18px;
    border-radius: 10px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background var(--sr-dur), border-color var(--sr-dur), color var(--sr-dur);
    text-decoration: none;
    line-height: 1;
}

.btn-primary {
    background: var(--sr-clay);
    color: #fff;
}

.btn-primary:hover {
    background: var(--sr-clay-hover);
}

.btn-secondary {
    background: var(--sr-bg);
    color: var(--sr-ink);
    border-color: var(--sr-line-2);
}

.btn-secondary:hover {
    border-color: var(--sr-ink-3);
}

.btn-ghost {
    background: transparent;
    color: var(--sr-ink-2);
}

.btn-ghost:hover {
    color: var(--sr-ink);
    background: var(--sr-surface);
}

.btn-sm {
    padding: 7px 12px;
    font-size: 13px;
    border-radius: 8px;
}

.btn-lg {
    padding: 14px 24px;
    font-size: 15px;
}

.btn-ink {
    background: var(--sr-ink);
    color: var(--sr-bg);
}

.btn-ink:hover {
    background: #3d3832;
}

.btn-danger {
    background: var(--sr-error);
    color: #fff;
}

.btn-danger:hover {
    background: #8f3a31;
}

/* ---------- Form atoms ---------- */
.input,
.select,
.textarea {
    width: 100%;
    font-family: inherit;
    font-size: 14px;
    color: var(--sr-ink);
    background: var(--sr-bg);
    border: 1px solid var(--sr-line-2);
    border-radius: 10px;
    padding: 11px 14px;
    outline: none;
    transition: border-color var(--sr-dur), box-shadow var(--sr-dur);
}

.input::placeholder,
.textarea::placeholder {
    color: var(--sr-ink-4);
}

.input:focus,
.select:focus,
.textarea:focus {
    border-color: var(--sr-clay);
    box-shadow: 0 0 0 3px var(--sr-focus-ring);
}

.select {
    appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M3 4.5L6 7.5L9 4.5' stroke='%238a7f74' stroke-width='1.5' fill='none'/></svg>");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 34px;
    cursor: pointer;
}

.textarea {
    resize: vertical;
    min-height: 96px;
    line-height: 1.5;
}

.label {
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: var(--sr-ink-2);
    margin-bottom: 6px;
}

.help {
    font-size: 12px;
    color: var(--sr-ink-3);
    margin-top: 4px;
}

.field-check {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--sr-ink-2);
    cursor: pointer;
}

.field-check input {
    accent-color: var(--sr-clay);
    width: 16px;
    height: 16px;
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.form-grid.triple {
    grid-template-columns: 1fr 1fr 1fr;
}

.form-grid .full {
    grid-column: 1/-1;
}

@media (max-width: 720px) {

    .form-grid,
    .form-grid.triple {
        grid-template-columns: 1fr;
    }
}

/* ---------- Chips ---------- */
.chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--sr-ink-2);
    padding: 6px 12px;
    background: var(--sr-surface);
    border: 1px solid var(--sr-line);
    border-radius: 999px;
    transition: all var(--sr-dur);
    text-decoration: none;
}

.chip:hover {
    border-color: var(--sr-ink-3);
    color: var(--sr-ink);
}

.chip.active {
    background: var(--sr-ink);
    color: var(--sr-bg);
    border-color: var(--sr-ink);
}

.chip.sage {
    color: var(--sr-sage-ink);
    background: var(--sr-sage-tint);
    border-color: transparent;
}

/* ---------- Badges ---------- */
.badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.04em;
    padding: 3px 9px;
    border-radius: 999px;
}

.badge-sage {
    background: var(--sr-sage-tint);
    color: var(--sr-sage-ink);
}

.badge-clay {
    background: var(--sr-clay-tint);
    color: var(--sr-clay-ink);
}

.badge-warn {
    background: var(--sr-warn-tint);
    color: var(--sr-warn);
}

.badge-line {
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    color: var(--sr-ink-2);
}

/* ---------- Cards ---------- */
.card {
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    overflow: hidden;
}

.card-cream {
    background: var(--sr-surface);
    border-color: transparent;
}

.card-body {
    padding: 24px;
}

/* ---------- Spa card ---------- */
.spa-card {
    display: flex;
    flex-direction: column;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    overflow: hidden;
    transition: border-color var(--sr-dur);
    text-decoration: none;
    color: inherit;
}

.spa-card:hover {
    border-color: var(--sr-ink-3);
}

.spa-card .img {
    aspect-ratio: 4/5;
    background-size: cover;
    background-position: center;
    background-color: var(--sr-surface-2);
    position: relative;
}

.spa-card .img .pin {
    position: absolute;
    top: 12px;
    left: 12px;
}

.spa-card .body {
    padding: 14px 18px 20px;
}

.spa-card .kicker {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-clay);
    font-weight: 500;
}

.spa-card .top-line {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--sr-ink-3);
    margin: 6px 0 2px;
}

.spa-card h3 {
    font-family: var(--sr-font-serif);
    font-size: 22px;
    letter-spacing: -0.01em;
    margin: 4px 0 10px;
    font-weight: 400;
    color: var(--sr-ink);
}

.spa-card .row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    color: var(--sr-ink-2);
}

.spa-card .tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
}

.spa-card .tags span {
    font-size: 11px;
    color: var(--sr-ink-2);
    padding: 3px 9px;
    background: var(--sr-surface);
    border-radius: 999px;
}

/* ---------- Stars ---------- */
.stars {
    display: inline-flex;
    gap: 2px;
    color: var(--sr-clay);
    font-size: 13px;
}

.stars .dim {
    color: var(--sr-line-2);
}

/* ---------- Breadcrumb ---------- */
.breadcrumb {
    display: flex;
    gap: 8px;
    align-items: center;
    font-size: 12px;
    color: var(--sr-ink-3);
    padding: 20px 0 0;
}

.breadcrumb a:hover {
    color: var(--sr-ink);
}

.breadcrumb .sep {
    color: var(--sr-ink-4);
}

/* ---------- Tabs ---------- */
.tabs {
    display: flex;
    gap: 0;
    border-bottom: 1px solid var(--sr-line);
}

.tabs .tab {
    padding: 14px 18px;
    font-size: 14px;
    color: var(--sr-ink-2);
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: color var(--sr-dur), border-color var(--sr-dur);
    cursor: pointer;
    background: none;
    border-left: 0;
    border-right: 0;
    border-top: 0;
}

.tabs .tab:hover {
    color: var(--sr-ink);
}

.tabs .tab.active {
    color: var(--sr-ink);
    border-color: var(--sr-clay);
}

/* ---------- Pagination ---------- */
.pagination {
    display: flex;
    gap: 6px;
    align-items: center;
}

.pagination .p {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    color: var(--sr-ink-2);
    border: 1px solid transparent;
    border-radius: 8px;
}

.pagination .p:hover {
    border-color: var(--sr-line-2);
    color: var(--sr-ink);
}

.pagination .p.active {
    background: var(--sr-ink);
    color: var(--sr-bg);
    border-color: var(--sr-ink);
}

/* ---------- Sidebar (admin / owner) ---------- */
.sidenav {
    background: var(--sr-surface);
    border-right: 1px solid var(--sr-line);
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 26px 16px;
    width: 240px;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    overflow-y: auto;
}

.sidenav .brandrow {
    padding: 4px 12px 22px;
    border-bottom: 1px solid var(--sr-line);
    margin-bottom: 12px;
}

.sidenav .brandrow .h {
    font-family: var(--sr-font-serif);
    font-size: 18px;
    color: var(--sr-ink);
    letter-spacing: -0.01em;
}

.sidenav .brandrow .s {
    font-size: 10px;
    color: var(--sr-ink-3);
    margin-top: 2px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.sidenav .navgroup {
    margin-top: 14px;
}

.sidenav .navhead {
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    padding: 8px 12px;
}

.sidenav a,
.sidenav button {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border-radius: 8px;
    font-size: 14px;
    color: var(--sr-ink-2);
    background: transparent;
    border: 0;
    text-align: left;
    width: 100%;
    transition: background var(--sr-dur), color var(--sr-dur);
    cursor: pointer;
}

.sidenav a:hover,
.sidenav button:hover {
    background: var(--sr-surface-2);
    color: var(--sr-ink);
}

.sidenav a.active {
    background: var(--sr-ink);
    color: var(--sr-bg);
}

.sidenav a .nav-badge {
    margin-left: auto;
    background: var(--sr-clay);
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 999px;
    min-width: 18px;
    text-align: center;
}

.sidenav .foot {
    margin-top: auto;
    padding: 20px 12px 0;
    border-top: 1px solid var(--sr-line);
    font-size: 12px;
    color: var(--sr-ink-3);
}

/* --- Notification bell --- */
.notif-wrap {
    position: relative;
    display: inline-block;
}

.notif-bell {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(43, 39, 36, 0.1);
    background: transparent;
    color: var(--sr-ink-2);
    cursor: pointer;
    transition: all 0.18s var(--sr-ease);
    text-decoration: none;
}

.notif-bell:hover {
    border-color: rgba(43, 39, 36, 0.2);
    background: var(--sr-surface);
    color: var(--sr-ink);
}

.notif-wrap.open .notif-bell {
    border-color: var(--sr-clay);
    color: var(--sr-clay);
    background: var(--sr-bg);
}

.notif-bell .notif-count {
    position: absolute;
    top: 2px;
    right: 2px;
    background: var(--sr-clay);
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    padding: 1px 5px;
    border-radius: 999px;
    min-width: 16px;
    text-align: center;
    line-height: 1.5;
    border: 2px solid var(--sr-surface);
    letter-spacing: -0.02em;
}

.notif-wrap.open .notif-bell .notif-count {
    border-color: var(--sr-bg);
}

.notif-pop {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 360px;
    max-width: calc(100vw - 32px);
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    overflow: hidden;
    z-index: 50;
    display: none;
    box-shadow: 0 10px 30px rgba(43, 39, 36, 0.08);
}

.notif-wrap.open .notif-pop {
    display: block;
}

@media (max-width: 900px) {
    .notif-pop {
        position: fixed;
        top: 64px;
        right: 12px;
        left: 12px;
        width: auto;
    }
}

/* --- Responsive layout helpers --- */
.sr-split {
    display: grid;
    gap: 32px;
}

.sr-split-hero {
    grid-template-columns: 1.05fr 1fr;
}

.sr-split-detail {
    grid-template-columns: 2fr 1fr;
    gap: 64px;
}

.sr-split-wide {
    grid-template-columns: 2fr 1fr;
    gap: 20px;
}

.sr-split-2 {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.sr-grid-5 {
    grid-template-columns: repeat(5, 1fr);
}

@media (max-width: 1100px) {
    .sr-grid-5 {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 700px) {
    .sr-grid-5 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 900px) {

    .sr-split-hero,
    .sr-split-detail,
    .sr-split-wide,
    .sr-split-2 {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    .sr-hero-image {
        min-height: 280px;
        aspect-ratio: 16/10;
    }

    .sr-hero-copy {
        padding: 40px 20px !important;
    }

    .sr-cta-band {
        padding: 32px 24px !important;
    }

    .sr-cta-band h2 {
        font-size: 28px !important;
    }
}

/* Business detail galeri mobile */
@media (max-width: 700px) {
    .sr-detail-photos {
        grid-template-columns: 1fr !important;
        max-height: none !important;
    }

    .sr-detail-photos> :first-child {
        grid-row: auto !important;
    }

    h1.sr-h1,
    section h1 {
        font-size: clamp(30px, 8vw, 48px) !important;
    }

    h2.sr-h2,
    section h2 {
        font-size: clamp(22px, 6vw, 30px) !important;
    }
}

/* Touch target boyutları */
@media (pointer: coarse) {

    .btn,
    .chip,
    .select,
    .input,
    input[type="text"],
    input[type="email"],
    textarea {
        min-height: 44px;
    }

    .btn-sm,
    .chip {
        min-height: 40px;
    }
}

.admin-main {
    margin-left: 240px;
    padding: 32px 40px 80px;
    min-height: 100vh;
}

.admin-page-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 28px;
}

.admin-page-head h1 {
    font-family: var(--sr-font-serif);
    font-size: 34px;
    font-weight: 400;
    letter-spacing: -0.02em;
    margin: 0;
}

.admin-page-head .eyebrow {
    margin-bottom: 6px;
}

/* ---------- Stat card ---------- */
.stat {
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    padding: 20px 22px;
    background: var(--sr-bg);
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.stat .k {
    font-size: 11px;
    color: var(--sr-ink-3);
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

.stat .v {
    font-family: var(--sr-font-serif);
    font-size: 34px;
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 1;
}

.stat .d {
    font-size: 12px;
    color: var(--sr-ink-2);
}

.stat .d.up {
    color: var(--sr-sage-ink);
}

.stat .d.down {
    color: var(--sr-error);
}

/* ---------- Alerts / flash ---------- */
.alert {
    padding: 12px 16px;
    border-radius: 12px;
    font-size: 13px;
    margin-bottom: 14px;
}

.alert-success {
    background: var(--sr-sage-tint);
    color: var(--sr-sage-ink);
}

.alert-warn {
    background: var(--sr-warn-tint);
    color: var(--sr-warn);
}

.alert-error {
    background: var(--sr-error-tint);
    color: var(--sr-error);
}

.alert-info {
    background: var(--sr-info-tint);
    color: var(--sr-info);
}

/* ---------- Table ---------- */
.table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    overflow: hidden;
}

.table thead th {
    text-align: left;
    padding: 14px 18px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    background: var(--sr-surface);
    border-bottom: 1px solid var(--sr-line);
}

.table tbody td {
    padding: 14px 18px;
    font-size: 14px;
    border-bottom: 1px solid var(--sr-line);
    color: var(--sr-ink);
    vertical-align: middle;
}

.table tbody tr:last-child td {
    border-bottom: 0;
}

.table tbody tr:hover td {
    background: var(--sr-surface-sunk);
}

.table a.row-link {
    color: var(--sr-ink);
    font-weight: 500;
}

.table a.row-link:hover {
    color: var(--sr-clay);
}

/* ---------- Section (admin form) ---------- */
.section {
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    padding: 28px 32px;
    margin-bottom: 20px;
}

.section h2 {
    font-family: var(--sr-font-serif);
    font-size: 22px;
    font-weight: 400;
    letter-spacing: -0.01em;
    margin: 0 0 18px;
}

.section .section-sub {
    color: var(--sr-ink-3);
    font-size: 13px;
    margin-top: -10px;
    margin-bottom: 18px;
}

/* ---------- Footer ---------- */
/* ---------- Legacy footer alias ---------- */
.footer {
    margin-top: 96px;
    border-top: 1px solid var(--sr-line);
    padding: 56px 0 40px;
    background: var(--sr-surface);
}

.footer .cols {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr;
    gap: 40px;
}

.footer h5 {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    margin: 0 0 14px;
    font-weight: 500;
}

.footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer ul a {
    font-size: 13px;
    color: var(--sr-ink-2);
}

.footer ul a:hover {
    color: var(--sr-ink);
}

.footer .tagline {
    font-family: var(--sr-font-serif);
    font-size: 17px;
    color: var(--sr-ink);
    line-height: 1.5;
    max-width: 280px;
}

.footer .bottomline {
    margin-top: 48px;
    padding-top: 24px;
    border-top: 1px solid var(--sr-line);
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: var(--sr-ink-3);
}

/* =========================================================
   Footer — sr-footer (premium editorial v3)
   ========================================================= */
.sr-footer {
    margin-top: 96px;
    background: var(--sr-bg);
    border-top: 1px solid var(--sr-line);
    color: var(--sr-ink-2);
    position: relative;
    z-index: 1;
}

/* === CTA band === */
.sr-footer-cta {
    background:
        radial-gradient(ellipse at top right, rgba(196, 127, 86, 0.18), transparent 60%),
        radial-gradient(ellipse at bottom left, rgba(61, 123, 73, 0.10), transparent 60%),
        linear-gradient(135deg, #1c1816 0%, #2a2420 100%);
    color: #faf9f6;
    padding: 56px 0;
    position: relative;
    overflow: hidden;
}

.sr-footer-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
    background-size: 56px 56px;
    pointer-events: none;
    opacity: 0.6;
}

.sr-footer-cta-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 32px;
    align-items: center;
    position: relative;
    z-index: 1;
}

.sr-footer-cta-eyebrow {
    display: inline-block;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--sr-clay);
    margin-bottom: 14px;
    position: relative;
    padding-left: 22px;
}

.sr-footer-cta-eyebrow::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 14px;
    height: 1px;
    background: var(--sr-clay);
    transform: translateY(-50%);
}

.sr-footer-cta-title {
    font-family: var(--sr-font-serif);
    font-size: clamp(24px, 3.2vw, 34px);
    font-weight: 400;
    letter-spacing: -0.018em;
    margin: 0 0 10px;
    color: #faf9f6;
    line-height: 1.2;
}

.sr-footer-cta-sub {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.6;
    color: rgba(250, 249, 246, 0.7);
}

.sr-footer-cta-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

.sr-footer-cta-secondary,
.sr-footer-cta-primary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 44px;
    padding: 0 20px;
    border-radius: 999px;
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: 0.005em;
    text-decoration: none;
    transition: transform 180ms, background 180ms, border-color 180ms, color 180ms;
    white-space: nowrap;
}

.sr-footer-cta-secondary {
    color: #faf9f6;
    background: transparent;
    border: 1px solid rgba(250, 249, 246, 0.22);
}

.sr-footer-cta-secondary:hover {
    background: rgba(250, 249, 246, 0.08);
    border-color: rgba(250, 249, 246, 0.4);
}

.sr-footer-cta-primary {
    color: #1c1816;
    background: var(--sr-clay);
    border: 1px solid var(--sr-clay);
    box-shadow: 0 4px 18px rgba(196, 127, 86, 0.25);
}

.sr-footer-cta-primary:hover {
    transform: translateY(-1px);
    background: #d8916a;
    border-color: #d8916a;
}

/* === Ana footer === */
.sr-footer-main {
    padding: 56px 0 28px;
}

/* Brand satırı: logo solda, sosyal+iletişim sağda */
.sr-footer-top {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 32px;
    align-items: flex-start;
    padding-bottom: 36px;
    border-bottom: 1px solid var(--sr-line);
}

.sr-footer-brand {
    max-width: 420px;
}

.sr-footer-mark {
    display: inline-block;
    margin-bottom: 14px;
    text-decoration: none;
}

.sr-footer-logo {
    height: 64px;
    width: auto;
    display: block;
}

.sr-footer-tagline {
    font-family: var(--sr-font-serif);
    font-size: 15px;
    color: var(--sr-ink-2);
    line-height: 1.55;
    margin: 0;
    font-style: italic;
    letter-spacing: 0.005em;
}

.sr-footer-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 14px;
}

.sr-footer-socials {
    display: flex;
    gap: 8px;
}

.sr-footer-socials a {
    width: 36px;
    height: 36px;
    border: 1px solid var(--sr-line);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--sr-ink-2);
    background: #fff;
    transition: all 180ms;
}

.sr-footer-socials a:hover {
    background: var(--sr-ink);
    color: #fff;
    border-color: var(--sr-ink);
    transform: translateY(-1px);
}

.sr-footer-contact-quick {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.sr-footer-contact-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 30px;
    padding: 0 12px;
    background: #fff;
    border: 1px solid var(--sr-line);
    border-radius: 999px;
    font-size: 12px;
    color: var(--sr-ink-2);
    text-decoration: none;
    transition: all 180ms;
}

.sr-footer-contact-chip:hover {
    border-color: var(--sr-clay);
    color: var(--sr-clay);
}

/* === Kolon grid === */
.sr-footer-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 32px;
    padding: 40px 0 36px;
    border-bottom: 1px solid var(--sr-line);
}

/* <details> kullanıyoruz — desktop'ta her zaman open, mobilde toggleable */
.sr-footer-col {
    border: 0;
    margin: 0;
    padding: 0;
}

.sr-footer-col > summary {
    list-style: none;
    cursor: default;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 14px;
    padding: 0;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
}

.sr-footer-col > summary::-webkit-details-marker { display: none; }
.sr-footer-col > summary::marker { content: ''; }

.sr-footer-coltitle {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-ink);
    line-height: 1;
}

.sr-footer-caret {
    display: none;
    width: 10px;
    height: 10px;
    position: relative;
    flex-shrink: 0;
}

.sr-footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.sr-footer-col ul a {
    font-size: 13px;
    color: var(--sr-ink-2);
    text-decoration: none;
    transition: color 180ms, transform 180ms;
    display: inline-flex;
    align-items: center;
    line-height: 1.4;
    position: relative;
}

.sr-footer-col ul a::before {
    content: '';
    width: 0;
    height: 1px;
    background: currentColor;
    margin-right: 0;
    transition: width 220ms, margin-right 220ms;
}

.sr-footer-col ul a:hover {
    color: var(--sr-clay);
}

.sr-footer-col ul a:hover::before {
    width: 10px;
    margin-right: 6px;
}

.sr-footer-takedown-link {
    color: var(--sr-clay) !important;
}

/* === Yer Bildirici minimal disclosure === */
.sr-footer-disclosure {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 24px;
    padding: 12px 16px;
    background: var(--sr-surface);
    border-radius: 10px;
    font-size: 12px;
    line-height: 1.55;
    color: var(--sr-ink-3);
}

.sr-footer-disclosure-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 22px;
    padding: 0 9px;
    border-radius: 999px;
    background: rgba(196, 127, 86, 0.12);
    color: var(--sr-clay);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    flex-shrink: 0;
}

.sr-footer-disclosure-text {
    flex: 1 1 240px;
    font-style: italic;
    min-width: 0;
}

.sr-footer-disclosure-more {
    color: var(--sr-clay);
    text-decoration: none;
    font-weight: 600;
    font-size: 12px;
    white-space: nowrap;
    transition: color 180ms;
}

.sr-footer-disclosure-more:hover {
    color: var(--sr-ink);
}

/* === Bottom band === */
.sr-footer-bottom {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--sr-line);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 12px;
    color: var(--sr-ink-3);
}

.sr-footer-bottom-left,
.sr-footer-bottom-right {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.sr-footer-bottom-right a {
    color: var(--sr-ink-3);
    text-decoration: none;
    transition: color 180ms;
}

.sr-footer-bottom-right a:hover {
    color: var(--sr-clay);
}

.sr-footer-copy {
    color: var(--sr-ink-2);
    font-weight: 500;
}

.sr-footer-copy-tail {
    color: var(--sr-ink-3);
}

.sr-footer-bottom-sep {
    color: var(--sr-ink-4);
    user-select: none;
}

.sr-footer-identity {
    margin-top: 8px;
    font-size: 11px;
    color: var(--sr-ink-4);
    line-height: 1.6;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

/* === Tablet === */
@media (max-width: 1100px) {
    .sr-footer-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 28px 24px;
    }
}

/* === Mobile (≤900) === */
@media (max-width: 900px) {
    .sr-footer {
        margin-top: 56px;
    }
    .sr-footer-cta {
        padding: 36px 0;
    }
    .sr-footer-cta-inner {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .sr-footer-cta-actions {
        width: 100%;
    }
    .sr-footer-cta-secondary,
    .sr-footer-cta-primary {
        flex: 1 1 auto;
        justify-content: center;
    }
    .sr-footer-main {
        padding: 36px 0 18px;
    }
    .sr-footer-top {
        grid-template-columns: 1fr;
        padding-bottom: 24px;
        gap: 18px;
    }
    .sr-footer-meta {
        align-items: flex-start;
    }
    .sr-footer-contact-quick {
        justify-content: flex-start;
    }
    .sr-footer-grid {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 8px 0 8px;
        border-bottom: none;
    }
    .sr-footer-col {
        border-bottom: 1px solid var(--sr-line);
    }
    .sr-footer-col > summary {
        cursor: pointer;
        padding: 16px 0;
        margin: 0;
        min-height: 52px;
    }
    .sr-footer-col > summary:active {
        background: var(--sr-surface);
    }
    .sr-footer-coltitle {
        font-size: 13px;
        text-transform: none;
        letter-spacing: 0.005em;
        font-weight: 600;
        color: var(--sr-ink);
    }
    .sr-footer-caret {
        display: block;
    }
    .sr-footer-caret::before,
    .sr-footer-caret::after {
        content: '';
        position: absolute;
        background: var(--sr-ink-3);
        transition: transform 200ms;
    }
    .sr-footer-caret::before {
        top: 50%;
        left: 0;
        right: 0;
        height: 1.5px;
        transform: translateY(-50%);
    }
    .sr-footer-caret::after {
        left: 50%;
        top: 0;
        bottom: 0;
        width: 1.5px;
        transform: translateX(-50%);
    }
    .sr-footer-col[open] .sr-footer-caret::after {
        transform: translateX(-50%) scaleY(0);
    }
    .sr-footer-col ul {
        padding: 4px 0 18px;
        gap: 0;
    }
    .sr-footer-col ul a {
        padding: 10px 0;
        min-height: 40px;
        font-size: 14px;
    }
    .sr-footer-col ul a::before {
        display: none;
    }
    .sr-footer-disclosure {
        margin-top: 18px;
        padding: 12px 14px;
        gap: 10px;
        flex-direction: column;
        align-items: flex-start;
    }
    .sr-footer-disclosure-text {
        font-size: 11.5px;
        line-height: 1.5;
    }
    .sr-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    .sr-footer-bottom-left,
    .sr-footer-bottom-right {
        font-size: 11.5px;
    }
}

/* Safe area for mobile bottom-nav (mbn) — son link alttaki nav'ın altında kalmasın */
@media (max-width: 700px) {
    .sr-footer {
        padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px));
    }
    .sr-footer-cta {
        padding: 28px 0;
    }
    .sr-footer-cta-title {
        font-size: 22px;
    }
    .sr-footer-cta-sub {
        font-size: 12.5px;
    }
    .sr-footer-logo {
        height: 56px;
    }
    .sr-footer-tagline {
        font-size: 13.5px;
    }
    .sr-footer-identity {
        font-size: 10.5px;
    }
}

/* === Dark surface override (eğer ileride dark mode eklenirse zaten hazır) === */
@media (prefers-color-scheme: dark) {
    .sr-footer-cta-secondary {
        background: rgba(250, 249, 246, 0.05);
    }
}

/* ---------- Misc ---------- */
.divider-dot::before {
    content: '·';
    margin: 0 8px;
    color: var(--sr-ink-4);
}

.muted {
    color: var(--sr-ink-3);
}

.small {
    font-size: 12px;
}

.flex {
    display: flex;
}

.gap-2 {
    gap: 8px;
}

.gap-3 {
    gap: 12px;
}

.gap-4 {
    gap: 16px;
}

.mt-4 {
    margin-top: 16px;
}

.mb-4 {
    margin-bottom: 16px;
}

.grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

@media (max-width: 900px) {

    .grid-2,
    .grid-3,
    .grid-4 {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 600px) {

    .grid-2,
    .grid-3,
    .grid-4 {
        grid-template-columns: 1fr;
    }
}

@keyframes fadein {
    from {
        opacity: 0;
        transform: translateY(4px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.fade-in {
    animation: fadein 240ms var(--sr-ease);
}

/* ---------- Mobile bottom nav (.mbn) — pill v3 (icon-only minimal) ---------- */
.mbn {
    display: none;
    position: fixed;
    left: 50%;
    right: auto;
    bottom: calc(12px + env(safe-area-inset-bottom));
    transform: translateX(-50%);
    z-index: 1001;  /* Leaflet harita pane (400) ve controls (1000) üzerinde kal */
    background: rgba(28, 24, 22, 0.92);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    backdrop-filter: saturate(180%) blur(20px);
    border-radius: 999px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18), 0 2px 8px rgba(0, 0, 0, 0.10);
    padding: 6px;
    grid-template-columns: repeat(5, 44px);
    gap: 4px;
    align-items: center;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.mbn-item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    color: rgba(250, 249, 246, 0.55);
    text-decoration: none;
    background: transparent;
    border: 0;
    cursor: pointer;
    font-family: inherit;
    transition: color 0.18s var(--sr-ease), background 0.18s var(--sr-ease);
    -webkit-tap-highlight-color: transparent;
}

.mbn-item:hover,
.mbn-item:focus-visible {
    color: rgba(250, 249, 246, 0.95);
    background: rgba(255, 255, 255, 0.06);
    outline: none;
}

.mbn-item.is-active {
    color: #fff;
    background: rgba(196, 127, 86, 0.22);
}

.mbn-item.is-active::before { content: none; }

.mbn-ic {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mbn-ic svg { width: 20px; height: 20px; }

/* Label gizli — ikon-only modern */
.mbn-lb {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

/* Center FAB — sana özel (44px tam yuvarlak, accent renk) */
.mbn-fab {
    width: 44px;
    height: 44px;
    transform: none;
    padding: 0;
}

.mbn-fab .mbn-fab-ico {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #d8916a 0%, #b8552e 100%);
    color: #fff;
    box-shadow: 0 2px 10px rgba(201, 100, 66, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.18);
    margin: 0;
    transition: transform 0.2s var(--sr-ease), box-shadow 0.2s var(--sr-ease);
}

.mbn-fab .mbn-fab-ico svg { width: 18px; height: 18px; }

.mbn-fab:hover .mbn-fab-ico,
.mbn-fab:active .mbn-fab-ico {
    transform: scale(1.08);
    box-shadow: 0 4px 14px rgba(201, 100, 66, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.mbn-fab .mbn-lb { color: transparent; }
.mbn-fab.is-active { background: transparent; }

/* ---------- Sticky action bar (business detail, mobile) ---------- */
.sticky-cta {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 41;
    background: var(--sr-bg);
    border-top: 1px solid var(--sr-line);
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
    gap: 8px;
}

.sticky-cta a {
    flex: 1;
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    text-decoration: none;
}

.sticky-cta .cta-primary {
    background: var(--sr-clay);
    color: #fff;
}

.sticky-cta .cta-secondary {
    background: var(--sr-ink);
    color: var(--sr-bg);
}

.sticky-cta .cta-ghost {
    background: var(--sr-surface);
    color: var(--sr-ink);
}

/* ---------- Responsive topnav ---------- */
@media (max-width: 900px) {

    .container,
    .narrow {
        padding: 0 20px;
    }

    .topnav {
        padding: 14px 20px;
    }

    .topnav nav {
        display: none;
    }

    .topnav .right a.btn {
        padding: 7px 12px;
        font-size: 12px;
    }

    .footer .cols {
        grid-template-columns: 1fr 1fr;
    }

    .admin-main {
        margin-left: 0;
        padding: 20px;
    }

    .sidenav {
        position: static;
        width: 100%;
        min-height: auto;
    }

    body.has-bottomnav {
        padding-bottom: 92px;
    }

    body.has-bottomnav .mbn {
        display: grid;
    }

    body.has-sticky-cta {
        padding-bottom: 96px;
    }

    .sticky-cta.active {
        display: flex;
    }
}

/* Mobil sticky CTA + bottom nav çakışmasın — detay sayfalarında CTA kazansın */
body.has-sticky-cta .mbn {
    display: none !important;
}

/* =========================================================
   Unified listing card — all variants
   ========================================================= */
.sr-card {
    display: block;
    text-decoration: none;
    color: var(--sr-ink);
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    overflow: hidden;
    transition: all var(--sr-dur);
}

.sr-card:hover {
    border-color: var(--sr-line-2);
    transform: translateY(-2px);
    box-shadow: 0 16px 36px rgba(43, 39, 36, 0.08);
}

/* Image zones */
.sr-card-img {
    position: relative;
    background-size: cover;
    background-position: center;
    background-color: var(--sr-surface-2);
    background-repeat: no-repeat;
}

.sr-card-img-wide {
    aspect-ratio: 5/4;
}

.sr-card-img-square {
    aspect-ratio: 1/1;
}

.sr-card-img-hero {
    aspect-ratio: 3/4;
    min-height: 280px;
}

/* Body */
.sr-card-body {
    padding: 14px 16px 16px;
}

.sr-card-kicker {
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    font-weight: 600;
    margin-bottom: 6px;
}

.sr-card-topline {
    display: flex;
    gap: 6px;
    align-items: center;
    font-size: 12px;
    color: var(--sr-ink-3);
    margin-bottom: 4px;
}

.sr-card-dot {
    color: var(--sr-ink-4);
}

.sr-card-name {
    font-family: var(--sr-font-serif);
    font-size: 17px;
    font-weight: 400;
    letter-spacing: -0.012em;
    color: var(--sr-ink);
    margin: 0 0 4px;
    line-height: 1.22;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sr-card-name-sm {
    font-size: 16px;
}

.sr-card-name-hero {
    font-size: 26px;
    color: #fff;
    white-space: normal;
    line-height: 1.1;
    margin-bottom: 4px;
}

.sr-card-desc {
    font-size: 13px;
    line-height: 1.5;
    color: var(--sr-ink-3);
    margin: 6px 0 0;
}

/* Foot meta row */
.sr-card-foot {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.sr-card-rating {
    font-size: 13px;
    color: var(--sr-ink);
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.sr-card-rating-hero {
    font-size: 14px;
    color: #fff;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.sr-card-stars {
    color: var(--sr-clay);
}

.sr-card-rating-n {
    color: var(--sr-ink-3);
    font-weight: 400;
    font-size: 12px;
}

.sr-card-price {
    font-size: 13px;
    color: var(--sr-ink-2);
}

.sr-card-chip {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 999px;
    background: var(--sr-surface-2);
    color: var(--sr-ink-2);
    border: 1px solid var(--sr-line);
}

.sr-card-chip-sage {
    background: rgba(127, 196, 138, 0.14);
    color: #3d7b49;
    border-color: rgba(127, 196, 138, 0.3);
}

.sr-card-chip-hero {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(6px);
}

/* Floating tag on image */
.sr-card-tag {
    position: absolute;
    top: 10px;
    left: 10px;
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--sr-ink);
    font-weight: 500;
    letter-spacing: 0.02em;
    backdrop-filter: blur(4px);
}

.sr-card-tag-sage {
    background: rgba(127, 196, 138, 0.92);
    color: #fff;
}

.sr-card-tag-featured {
    background: var(--sr-clay);
    color: #fff;
    left: auto;
    right: 10px;
}

/* Horizontal variant */
.sr-card-horizontal {
    display: grid;
    grid-template-columns: 180px 1fr;
    align-items: stretch;
}

.sr-card-horizontal .sr-card-img {
    aspect-ratio: auto;
    height: 100%;
    min-height: 140px;
}

.sr-card-horizontal .sr-card-body {
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
}

@media (max-width: 600px) {
    .sr-card-horizontal {
        grid-template-columns: 110px 1fr;
    }

    .sr-card-horizontal .sr-card-name {
        font-size: 16px;
    }

    .sr-card-horizontal .sr-card-desc {
        display: none;
    }
}

/* Featured variant — photo with overlay text */
.sr-card-featured {
    border: none;
}

.sr-card-featured .sr-card-img {
    display: flex;
    align-items: flex-end;
}

.sr-card-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0.75) 100%);
}

.sr-card-hero-content {
    position: relative;
    padding: 20px;
    width: 100%;
    color: #fff;
}

/* Mini variant — dropdown search result */
.sr-card-mini {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: none;
    border-radius: 0;
    border-bottom: 1px solid var(--sr-line);
    padding: 12px 16px;
    background: transparent;
    transition: background var(--sr-dur);
}

.sr-card-mini:hover {
    transform: none;
    box-shadow: none;
    background: var(--sr-surface);
    border-color: var(--sr-line);
}

.sr-card-mini-body {
    min-width: 0;
    flex: 1;
}

.sr-card-mini-name {
    font-family: var(--sr-font-serif);
    font-size: 15px;
    color: var(--sr-ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sr-card-mini-meta {
    font-size: 12px;
    color: var(--sr-ink-3);
    margin-top: 2px;
}

.sr-card-mini-cat {
    color: var(--sr-clay);
}

.sr-card-mini-rating {
    font-size: 12px;
    color: var(--sr-ink);
    font-weight: 500;
    background: var(--sr-surface-2);
    padding: 3px 8px;
    border-radius: 6px;
    white-space: nowrap;
}

/* Legacy alias — eski .spa-card ve .card class'ları için geriye-uyumlu stil */
.spa-card {
    display: block;
    text-decoration: none;
    color: var(--sr-ink);
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    overflow: hidden;
    transition: all var(--sr-dur);
}

.spa-card:hover {
    border-color: var(--sr-line-2);
    transform: translateY(-2px);
    box-shadow: 0 16px 36px rgba(43, 39, 36, 0.08);
}

.spa-card .img {
    aspect-ratio: 4/3;
    background-size: cover;
    background-position: center;
    background-color: var(--sr-surface-2);
    position: relative;
}

.spa-card .body {
    padding: 14px 16px 16px;
}

.spa-card .kicker {
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    font-weight: 600;
    margin-bottom: 6px;
}

.spa-card .top-line {
    display: flex;
    gap: 6px;
    font-size: 12px;
    color: var(--sr-ink-3);
    margin-bottom: 4px;
    align-items: center;
}

.spa-card h3 {
    font-family: var(--sr-font-serif);
    font-size: 19px;
    font-weight: 400;
    margin: 0 0 6px;
    letter-spacing: -0.012em;
}

.spa-card .pin {
    position: absolute;
    top: 10px;
    left: 10px;
}

.divider-dot {
    width: 3px;
    height: 3px;
    background: var(--sr-ink-4);
    border-radius: 50%;
    display: inline-block;
}

/* =========================================================
   Home — TripAdvisor-style hero + sections
   ========================================================= */
.sr-section {
    padding: 72px 0 32px;
}

@media (max-width: 700px) {
    .sr-section {
        padding: 44px 0 16px;
    }
}

/* ---------- Split hero: search sol (geniş), harita sağ ---------- */
.sr-hero2 {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    min-height: 640px;
    border-bottom: 1px solid var(--sr-line);
    position: relative;
}

.sr-hero2-left {
    padding: 88px 72px 88px max(72px, calc((100vw - 1240px) / 2 + 32px));
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: var(--sr-bg);
    max-width: 100%;
    min-width: 0;
    position: relative;
}

/* Premium eyebrow — çizgi + metin */
.sr-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    margin-bottom: 28px;
}

.sr-hero-eyebrow-line {
    display: inline-block;
    width: 36px;
    height: 1px;
    background: var(--sr-clay);
}

.sr-hero2-title {
    font-family: var(--sr-font-serif);
    font-weight: 300;
    font-size: clamp(42px, 5vw, 74px);
    letter-spacing: -0.03em;
    line-height: 0.98;
    margin: 0 0 26px;
    color: var(--sr-ink);
}

.sr-hero-emph {
    position: relative;
    font-style: italic;
    color: var(--sr-clay);
    font-weight: 400;
    display: inline-block;
}

.sr-hero-underline {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px;
    width: 100%;
    height: 14px;
    color: var(--sr-clay);
    opacity: 0.6;
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    animation: sr-underline-draw 1.6s ease-out 0.4s forwards;
}

@keyframes sr-underline-draw {
    to {
        stroke-dashoffset: 0;
    }
}

.sr-hero2-title em {
    font-style: italic;
    color: var(--sr-clay);
    font-weight: 400;
}

.sr-hero2-sub {
    font-size: 16px;
    line-height: 1.6;
    color: var(--sr-ink-2);
    max-width: 480px;
    margin: 0 0 32px;
}

/* Premium searchbox — large pill with integrated icon */
.sr-hero2-searchbox {
    max-width: 600px;
    margin-top: 8px;
}

.sr-hero2-title {
    max-width: 700px;
}

.sr-hero2-sub {
    max-width: 560px;
    margin-bottom: 36px !important;
}

.sr-hero2-searchbox .sr-home-searchform {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0;
    align-items: center;
    background: var(--sr-bg);
    border: 1.5px solid var(--sr-line-2);
    border-radius: 100px;
    padding: 6px 6px 6px 22px;
    transition: all var(--sr-dur);
    box-shadow: 0 2px 8px rgba(43, 39, 36, 0.04);
}

.sr-hero2-searchbox .sr-home-searchform:focus-within {
    border-color: var(--sr-clay);
    box-shadow: 0 8px 24px rgba(201, 100, 66, 0.15);
}

.sr-home-search-ico {
    display: flex;
    align-items: center;
    color: var(--sr-ink-3);
    margin-right: 10px;
}

.sr-home-search-field {
    padding: 10px 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.sr-home-search-field label {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
}

.sr-home-search-field input {
    border: none;
    background: transparent;
    padding: 0;
    font-size: 15px;
    color: var(--sr-ink);
    outline: none;
    font-family: inherit;
    width: 100%;
}

.sr-home-search-btn {
    width: 52px;
    height: 52px;
    padding: 0 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0;
    box-shadow: 0 6px 18px rgba(201, 100, 66, 0.28);
    transition: all var(--sr-dur);
}

.sr-home-search-btn:hover {
    transform: translateX(2px) scale(1.04);
    box-shadow: 0 8px 22px rgba(201, 100, 66, 0.38);
}

.sr-home-search-btn svg {
    stroke-width: 2.2;
}

/* Tabs — search'ün altında, pill */
.sr-hero2-searchbox .sr-home-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 14px;
    padding: 0 4px;
}

.sr-home-tabs--light .sr-home-tab {
    color: var(--sr-ink-3);
    border: 1px solid var(--sr-line);
    background: var(--sr-bg);
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 12.5px;
    font-weight: 500;
    cursor: pointer;
    transition: all var(--sr-dur);
    font-family: inherit;
}

.sr-home-tabs--light .sr-home-tab:hover {
    background: var(--sr-surface);
    color: var(--sr-ink);
    border-color: var(--sr-ink-3);
}

.sr-home-tabs--light .sr-home-tab.active {
    background: var(--sr-ink);
    color: var(--sr-bg);
    border-color: var(--sr-ink);
}

/* Premium trust bar (metrics yerine) */
.sr-hero-trust {
    margin-top: 44px;
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    padding-top: 28px;
    border-top: 1px solid var(--sr-line);
    max-width: 600px;
}

.sr-hero-trust-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--sr-ink-2);
}

.sr-hero-trust-item svg {
    color: var(--sr-clay);
    flex-shrink: 0;
}

/* Legacy metrics (unused ama korunur) */
.sr-hero2-metrics {
    margin-top: 32px;
    display: flex;
    gap: 20px;
    align-items: center;
    flex-wrap: wrap;
    font-size: 13px;
    color: var(--sr-ink-3);
}

.sr-hero2-metrics strong {
    font-family: var(--sr-font-serif);
    font-size: 18px;
    color: var(--sr-ink);
    margin-right: 6px;
    font-weight: 400;
}

.sr-hero2-metrics .sep {
    width: 1px;
    height: 14px;
    background: var(--sr-line-2);
}

/* ---------- Hero right — animated collage (2026 trend) ---------- */
.sr-hero2-right {
    position: relative;
    overflow: hidden;
    background: var(--sr-surface);
    min-height: 640px;
}

/* Gradient mesh arka plan — yavaş morph eden blob'lar */
.sr-hero-mesh {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #f5ede4 0%, #ede3d4 50%, #f2e9dc 100%);
    overflow: hidden;
}

.sr-hero-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    opacity: 0.55;
    mix-blend-mode: multiply;
    will-change: transform;
}

.sr-hero-blob-1 {
    width: 460px;
    height: 460px;
    top: -80px;
    right: -120px;
    background: radial-gradient(circle, rgba(201, 100, 66, 0.55) 0%, transparent 65%);
    animation: sr-blob-1 18s ease-in-out infinite;
}

.sr-hero-blob-2 {
    width: 380px;
    height: 380px;
    bottom: -60px;
    left: -100px;
    background: radial-gradient(circle, rgba(139, 170, 145, 0.45) 0%, transparent 65%);
    animation: sr-blob-2 22s ease-in-out infinite;
}

.sr-hero-blob-3 {
    width: 320px;
    height: 320px;
    top: 40%;
    left: 30%;
    background: radial-gradient(circle, rgba(212, 165, 116, 0.4) 0%, transparent 70%);
    animation: sr-blob-3 26s ease-in-out infinite;
}

@keyframes sr-blob-1 {

    0%,
    100% {
        transform: translate(0, 0) scale(1);
    }

    33% {
        transform: translate(-40px, 60px) scale(1.15);
    }

    66% {
        transform: translate(30px, -40px) scale(0.9);
    }
}

@keyframes sr-blob-2 {

    0%,
    100% {
        transform: translate(0, 0) scale(1);
    }

    40% {
        transform: translate(50px, -30px) scale(1.1);
    }

    70% {
        transform: translate(-20px, 40px) scale(0.95);
    }
}

@keyframes sr-blob-3 {

    0%,
    100% {
        transform: translate(-50%, -50%) scale(1);
    }

    50% {
        transform: translate(-30%, -70%) scale(1.2);
    }
}

/* İstanbul topografya overlay */
.sr-hero-topo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0.85;
    pointer-events: none;
}

/* Noise grain (soft texture) */
.sr-hero-grain-noise {
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 20% 30%, rgba(0, 0, 0, 0.015) 0%, transparent 0.5%),
        radial-gradient(circle at 60% 70%, rgba(0, 0, 0, 0.015) 0%, transparent 0.5%),
        radial-gradient(circle at 80% 20%, rgba(0, 0, 0, 0.015) 0%, transparent 0.5%),
        radial-gradient(circle at 40% 90%, rgba(0, 0, 0, 0.015) 0%, transparent 0.5%);
    background-size: 120px 120px, 180px 180px, 150px 150px, 140px 140px;
    mix-blend-mode: multiply;
    opacity: 0.4;
    pointer-events: none;
}

/* Live chip (sağ üst) */
.sr-hero-live {
    position: absolute;
    top: 24px;
    right: 24px;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px 8px 10px;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 999px;
    font-size: 12px;
    color: var(--sr-ink);
    box-shadow: 0 4px 20px rgba(43, 39, 36, 0.08);
}

.sr-hero-live strong {
    font-family: var(--sr-font-serif);
    font-weight: 500;
    color: var(--sr-ink);
    margin: 0 2px;
}

.sr-hero-live-pulse {
    width: 8px;
    height: 8px;
    background: #7fc48a;
    border-radius: 50%;
    position: relative;
}

.sr-hero-live-pulse::before,
.sr-hero-live-pulse::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: #7fc48a;
    opacity: 0;
    animation: sr-live-ping 2.4s ease-out infinite;
}

.sr-hero-live-pulse::after {
    animation-delay: 1.2s;
}

@keyframes sr-live-ping {
    0% {
        transform: scale(1);
        opacity: 0.7;
    }

    80%,
    100% {
        transform: scale(3.2);
        opacity: 0;
    }
}

/* Floating işletme kartları stack */
.sr-hero-stack {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 80px 40px 120px;
    perspective: 1000px;
    z-index: 2;
    transform: translate3d(var(--px, 0), var(--py, 0), 0);
    transition: transform 0.3s cubic-bezier(0.2, 0.9, 0.3, 1);
}

.sr-hero-float {
    position: absolute;
    width: min(300px, 70%);
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 16px;
    padding: 12px;
    box-shadow:
        0 20px 48px rgba(43, 39, 36, 0.14),
        0 0 0 1px rgba(0, 0, 0, 0.02);
    text-decoration: none;
    color: var(--sr-ink);
    display: flex;
    gap: 12px;
    align-items: center;
    transform-style: preserve-3d;
    transition: transform 0.4s cubic-bezier(0.2, 0.9, 0.3, 1), box-shadow 0.4s;
}

.sr-hero-float-1 {
    transform: translate(-80px, -60px) rotate(-6deg) rotateX(var(--rx, 0)) rotateY(var(--ry, 0));
    z-index: 3;
    animation: sr-float-in 0.9s cubic-bezier(0.2, 0.9, 0.3, 1) 0.2s both, sr-float-idle-1 8s ease-in-out 1.2s infinite;
}

.sr-hero-float-2 {
    transform: translate(60px, 20px) rotate(4deg) rotateX(var(--rx, 0)) rotateY(var(--ry, 0));
    z-index: 2;
    animation: sr-float-in 0.9s cubic-bezier(0.2, 0.9, 0.3, 1) 0.5s both, sr-float-idle-2 9s ease-in-out 1.6s infinite;
}

.sr-hero-float-3 {
    transform: translate(-30px, 110px) rotate(-3deg) rotateX(var(--rx, 0)) rotateY(var(--ry, 0));
    z-index: 1;
    animation: sr-float-in 0.9s cubic-bezier(0.2, 0.9, 0.3, 1) 0.8s both, sr-float-idle-3 11s ease-in-out 2s infinite;
}

@keyframes sr-float-in {
    from {
        opacity: 0;
        transform: translateY(30px) scale(0.9);
    }
}

@keyframes sr-float-idle-1 {

    0%,
    100% {
        transform: translate(-80px, -60px) rotate(-6deg);
    }

    50% {
        transform: translate(-80px, -70px) rotate(-6deg);
    }
}

@keyframes sr-float-idle-2 {

    0%,
    100% {
        transform: translate(60px, 20px) rotate(4deg);
    }

    50% {
        transform: translate(60px, 12px) rotate(4deg);
    }
}

@keyframes sr-float-idle-3 {

    0%,
    100% {
        transform: translate(-30px, 110px) rotate(-3deg);
    }

    50% {
        transform: translate(-30px, 100px) rotate(-3deg);
    }
}

.sr-hero-float:hover {
    transform: translate(var(--px, 0), var(--py, 0)) rotate(0deg) scale(1.04) !important;
    box-shadow: 0 28px 60px rgba(43, 39, 36, 0.22);
    animation-play-state: paused;
    z-index: 10;
}

.sr-hero-float-img {
    width: 64px;
    height: 64px;
    border-radius: 12px;
    background-size: cover;
    background-position: center;
    background-color: var(--sr-surface-2);
    flex-shrink: 0;
}

.sr-hero-float-img-empty {
    background: linear-gradient(135deg, var(--sr-clay) 0%, #d87c5f 100%);
}

.sr-hero-float-body {
    flex: 1;
    min-width: 0;
}

.sr-hero-float-kicker {
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sr-clay);
    font-weight: 600;
    margin-bottom: 4px;
}

.sr-hero-float-name {
    font-family: var(--sr-font-serif);
    font-size: 15px;
    letter-spacing: -0.01em;
    color: var(--sr-ink);
    line-height: 1.2;
    margin-bottom: 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sr-hero-float-meta {
    display: flex;
    gap: 8px;
    align-items: center;
    font-size: 11px;
}

.sr-hero-float-rating {
    color: var(--sr-ink);
    font-weight: 600;
}

.sr-hero-float-verified {
    color: #3d7b49;
    background: rgba(127, 196, 138, 0.14);
    padding: 2px 7px;
    border-radius: 999px;
    font-weight: 500;
}

/* Aktivite ticker (alt) */
.sr-hero-ticker {
    position: absolute;
    bottom: 72px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 4;
    width: calc(100% - 48px);
    max-width: 440px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    background: rgba(43, 39, 36, 0.88);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 999px;
    color: rgba(250, 249, 246, 0.9);
    font-size: 11px;
    overflow: hidden;
}

.sr-hero-ticker-icon {
    width: 24px;
    height: 24px;
    background: rgba(250, 249, 246, 0.12);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--sr-clay);
    flex-shrink: 0;
}

.sr-hero-ticker-rail {
    position: relative;
    flex: 1;
    min-width: 0;
    height: 18px;
}

.sr-hero-ticker-item {
    position: absolute;
    inset: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.5s, transform 0.5s;
    pointer-events: none;
}

.sr-hero-ticker-item.is-active {
    opacity: 1;
    transform: translateY(0);
}

.sr-hero-ticker-item strong {
    color: #fff;
    font-weight: 500;
}

.sr-hero-ticker-item span {
    color: var(--sr-clay);
}

/* Stats (alt sol) */
.sr-hero-stats {
    position: absolute;
    bottom: 22px;
    left: 24px;
    z-index: 4;
    display: flex;
    gap: 18px;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 14px;
    box-shadow: 0 4px 20px rgba(43, 39, 36, 0.06);
}

.sr-hero-stat {
    text-align: left;
    line-height: 1;
}

.sr-hero-stat-n {
    font-family: var(--sr-font-serif);
    font-size: 22px;
    font-weight: 400;
    color: var(--sr-ink);
    letter-spacing: -0.02em;
}

.sr-hero-stat-l {
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    margin-top: 4px;
}

/* Reduced motion — animasyonları durdur */
@media (prefers-reduced-motion: reduce) {

    .sr-hero-blob,
    .sr-hero-float,
    .sr-hero-live-pulse::before,
    .sr-hero-live-pulse::after {
        animation: none !important;
    }

    .sr-hero-ticker-item {
        transition: none;
    }
}

/* Mobil (≤900px hero stack oluyor zaten, sadece sağ alan küçülür) */
@media (max-width: 900px) {
    .sr-hero2-right {
        min-height: 460px;
    }

    .sr-hero-stack {
        padding: 60px 20px 100px;
    }

    .sr-hero-float {
        width: min(280px, 80%);
    }

    .sr-hero-float-1 {
        transform: translate(-40px, -40px) rotate(-4deg);
        animation-name: sr-float-in;
    }

    .sr-hero-float-2 {
        transform: translate(40px, 20px) rotate(3deg);
        animation-name: sr-float-in;
    }

    .sr-hero-float-3 {
        transform: translate(-20px, 80px) rotate(-2deg);
        animation-name: sr-float-in;
    }

    .sr-hero-stats {
        left: 16px;
        bottom: 16px;
        padding: 10px 14px;
        gap: 14px;
    }

    .sr-hero-stat-n {
        font-size: 18px;
    }

    .sr-hero-live {
        top: 16px;
        right: 16px;
        font-size: 11px;
        padding: 6px 12px 6px 8px;
    }

    .sr-hero-ticker {
        bottom: 68px;
        max-width: calc(100% - 32px);
    }
}

@media (max-width: 520px) {
    .sr-hero2-right {
        min-height: 520px;
    }

    .sr-hero-float-img {
        width: 56px;
        height: 56px;
    }

    .sr-hero-float-name {
        font-size: 14px;
    }

    .sr-hero-ticker {
        max-width: calc(100% - 24px);
        font-size: 10px;
        padding: 8px 12px;
    }

    .sr-hero-stats {
        gap: 12px;
    }

    .sr-hero-stat-n {
        font-size: 16px;
    }

    .sr-hero-stat-l {
        font-size: 9px;
    }
}

.sr-hero-map .leaflet-control-zoom {
    border: 1px solid var(--sr-line) !important;
    box-shadow: 0 8px 20px rgba(43, 39, 36, 0.08) !important;
    border-radius: 10px !important;
    overflow: hidden;
}

.sr-hero-map .leaflet-control-zoom a {
    background: var(--sr-bg) !important;
    color: var(--sr-ink) !important;
    border-bottom-color: var(--sr-line) !important;
    font-family: var(--sr-font-sans);
}

/* Custom pin */
.sr-map-pin {
    background: transparent;
    border: none;
}

.sr-map-pin-inner {
    display: block;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--sr-clay);
    border: 3px solid #fff;
    box-shadow: 0 4px 10px rgba(201, 100, 66, 0.35), 0 0 0 0 rgba(201, 100, 66, 0.5);
    transition: transform 0.2s;
    position: relative;
}

.sr-map-pin-inner::after {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    background: rgba(201, 100, 66, 0.35);
    z-index: -1;
    animation: sr-pin-pulse 2.4s ease-out infinite;
}

@keyframes sr-pin-pulse {
    0% {
        transform: scale(0.8);
        opacity: 0.7;
    }

    70% {
        transform: scale(2.5);
        opacity: 0;
    }

    100% {
        transform: scale(2.5);
        opacity: 0;
    }
}

.sr-map-pin:hover .sr-map-pin-inner {
    transform: scale(1.25);
}

/* Leaflet popup restyle */
.sr-hero-map .leaflet-popup-content-wrapper {
    border-radius: 14px;
    padding: 0;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(43, 39, 36, 0.18);
}

.sr-hero-map .leaflet-popup-content {
    margin: 0;
    width: 240px !important;
}

.sr-hero-map .leaflet-popup-tip {
    background: var(--sr-bg);
}

.sr-map-pop {
    display: block;
    text-decoration: none;
    color: var(--sr-ink);
    background: var(--sr-bg);
}

.sr-map-pop-img {
    width: 100%;
    aspect-ratio: 16/10;
    background-size: cover;
    background-position: center;
    background-color: var(--sr-surface-2);
}

.sr-map-pop-body {
    padding: 12px 14px;
}

.sr-map-pop-kicker {
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-clay);
    font-weight: 600;
    margin-bottom: 4px;
}

.sr-map-pop-name {
    font-family: var(--sr-font-serif);
    font-size: 16px;
    color: var(--sr-ink);
    margin-bottom: 4px;
    line-height: 1.2;
}

.sr-map-pop-meta {
    font-size: 12px;
    color: var(--sr-ink-3);
}

/* Map live count chip */
.sr-map-overlay-chip {
    position: absolute;
    bottom: 20px;
    left: 20px;
    z-index: 400;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid var(--sr-line);
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 12px;
    color: var(--sr-ink);
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 8px 20px rgba(43, 39, 36, 0.08);
}

.sr-map-overlay-chip strong {
    color: var(--sr-ink);
    font-weight: 600;
    font-family: var(--sr-font-serif);
    margin-right: 2px;
}

.sr-live-dot {
    width: 7px;
    height: 7px;
    background: #7fc48a;
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(127, 196, 138, 0.7);
    animation: sr-live-pulse 2s infinite;
    display: inline-block;
}

@keyframes sr-live-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(127, 196, 138, 0.7);
    }

    70% {
        box-shadow: 0 0 0 10px rgba(127, 196, 138, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(127, 196, 138, 0);
    }
}

/* ---------- Live search dropdown ---------- */
.sr-home-searchform {
    position: relative;
}

.sr-live-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    z-index: 100;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    box-shadow: 0 24px 48px rgba(43, 39, 36, 0.15);
    max-height: 440px;
    overflow-y: auto;
    padding: 6px 0;
}

.sr-live-dropdown[hidden] {
    display: none !important;
}

.sr-live-group+.sr-live-group {
    border-top: 1px solid var(--sr-line);
    margin-top: 4px;
    padding-top: 4px;
}

.sr-live-group-head {
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    font-weight: 600;
    padding: 8px 16px 4px;
}

.sr-live-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    font-size: 14px;
    color: var(--sr-ink);
    text-decoration: none;
    transition: background var(--sr-dur);
}

.sr-live-row:hover {
    background: var(--sr-surface);
}

.sr-live-icon {
    width: 20px;
    text-align: center;
    color: var(--sr-clay);
    font-size: 13px;
}

.sr-live-empty {
    padding: 24px;
    text-align: center;
    color: var(--sr-ink-3);
    font-size: 13px;
}

/* Hero responsive */
@media (max-width: 900px) {
    .sr-hero2 {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .sr-hero2-left {
        padding: 48px 24px 32px;
    }

    .sr-hero2-right {
        min-height: 360px;
    }
}

/* =========================================================
   Wizard — shared form UI (bilgi, iletisim, saat-hizmet, foto-onay)
   ========================================================= */
.wiz-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 32px;
    align-items: flex-start;
}

.wiz-form {
    /* existing .card already styles it */
}

.wiz-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 18px;
}

.wiz-field .label {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-weight: 500;
    font-size: 14px;
    color: var(--sr-ink);
    margin-bottom: 2px;
}

.wiz-field .label .req {
    color: var(--sr-clay);
    font-weight: 700;
}

.wiz-field-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    opacity: 0.85;
}

.wiz-hint {
    font-size: 12px;
    color: var(--sr-ink-3);
    line-height: 1.4;
    margin-top: 2px;
}

.wiz-hint code {
    background: var(--sr-surface-2);
    padding: 1px 6px;
    border-radius: 4px;
    font-size: 11px;
}

.wiz-input {
    transition: border-color var(--sr-dur), box-shadow var(--sr-dur);
}

.wiz-input:focus {
    border-color: var(--sr-clay) !important;
    box-shadow: 0 0 0 3px rgba(201, 100, 66, 0.12);
    outline: none;
}

/* Icon'lu input wrap */
.wiz-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.wiz-input-wrap.disabled {
    opacity: 0.55;
    pointer-events: none;
}

.wiz-input-ico {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    color: var(--sr-ink-3);
    pointer-events: none;
    z-index: 1;
}

.wiz-input-icon {
    padding-left: 40px !important;
}

.wiz-input-prefix {
    position: absolute;
    left: 38px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    color: var(--sr-ink-3);
    font-weight: 500;
    pointer-events: none;
    z-index: 1;
}

.wiz-input-with-prefix {
    padding-left: 52px !important;
}

/* Fieldset (section) style */
.wiz-fs {
    padding: 20px 0;
    border-bottom: 1px solid var(--sr-line);
    margin-bottom: 10px;
}

.wiz-fs:last-of-type {
    border-bottom: none;
}

.wiz-fs:first-of-type {
    padding-top: 0;
}

.wiz-fs-head {
    margin-bottom: 16px;
}

.wiz-fs-title {
    font-family: var(--sr-font-serif);
    font-size: 20px;
    font-weight: 400;
    letter-spacing: -0.01em;
}

.wiz-fs-sub {
    font-size: 12px;
    color: var(--sr-ink-3);
    margin-top: 3px;
}

/* Lock tag */
.wiz-lock {
    display: inline-flex;
    align-items: center;
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    background: var(--sr-surface-2);
    color: var(--sr-ink-3);
    padding: 2px 8px;
    border-radius: 999px;
    font-weight: 600;
    border: 1px dashed var(--sr-line-2);
}

/* Form grid (2-col) */
.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 18px;
}

@media (max-width: 640px) {
    .form-grid {
        grid-template-columns: 1fr;
    }
}

/* Price chip (tıklanabilir kart radio) */
.wiz-price-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.wiz-price-chip {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 96px;
    padding: 14px 18px;
    border: 1.5px solid var(--sr-line);
    border-radius: 12px;
    background: var(--sr-bg);
    cursor: pointer;
    transition: all var(--sr-dur);
    text-align: center;
    gap: 4px;
}

.wiz-price-chip input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.wiz-price-chip:hover {
    border-color: var(--sr-ink-3);
    transform: translateY(-1px);
}

.wiz-price-chip.selected {
    border-color: var(--sr-clay);
    background: linear-gradient(180deg, rgba(201, 100, 66, 0.06) 0%, var(--sr-bg) 100%);
    box-shadow: 0 0 0 1px var(--sr-clay) inset;
}

.wiz-price-sym {
    font-family: var(--sr-font-serif);
    font-size: 22px;
    color: var(--sr-ink);
    line-height: 1;
}

.wiz-price-label {
    font-size: 11px;
    color: var(--sr-ink-3);
    letter-spacing: 0.04em;
}

.wiz-price-chip.selected .wiz-price-label {
    color: var(--sr-clay);
    font-weight: 500;
}

/* Kategori seçici */
.wiz-cat-toolbar {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 10px;
}

.wiz-cat-search {
    flex: 1;
}

.wiz-cat-count {
    font-size: 12px;
    color: var(--sr-ink-3);
    padding: 8px 14px;
    background: var(--sr-surface);
    border-radius: 999px;
    white-space: nowrap;
}

.wiz-cat-count span {
    color: var(--sr-clay);
    font-weight: 600;
}

.wiz-cat-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 0;
    margin-bottom: 14px;
}

.wiz-cat-chips:empty {
    display: none;
}

.wiz-cat-sel-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--sr-surface);
    border: 1px solid var(--sr-line);
    padding: 4px 8px 4px 12px;
    border-radius: 999px;
    font-size: 12px;
    color: var(--sr-ink-2);
}

.wiz-cat-sel-chip.primary {
    background: var(--sr-clay);
    color: #fff;
    border-color: var(--sr-clay);
}

.wiz-cat-sel-chip button {
    background: transparent;
    border: none;
    color: inherit;
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    padding: 2px 4px;
    border-radius: 50%;
    opacity: 0.7;
}

.wiz-cat-sel-chip button:hover {
    opacity: 1;
    background: rgba(0, 0, 0, 0.08);
}

.wiz-cat-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    max-height: 420px;
    overflow-y: auto;
    padding: 6px;
    border: 1px solid var(--sr-line);
    border-radius: 12px;
}

@media (max-width: 700px) {
    .wiz-cat-list {
        grid-template-columns: 1fr;
    }
}

.wiz-cat-group {
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    overflow: hidden;
    transition: border-color var(--sr-dur), background var(--sr-dur);
}

.wiz-cat-group[open] {
    border-color: var(--sr-line-2);
}

.wiz-cat-group.has-selected {
    border-color: var(--sr-clay);
    background: rgba(201, 100, 66, 0.03);
}

.wiz-cat-parent {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 14px;
    cursor: pointer;
    user-select: none;
    font-family: var(--sr-font-serif);
    font-size: 15px;
    font-weight: 500;
    color: var(--sr-ink);
}

.wiz-cat-parent::-webkit-details-marker {
    display: none;
}

.wiz-cat-parent:hover {
    background: var(--sr-surface);
}

.wiz-cat-parent-name {
    flex: 1;
}

.wiz-cat-arrow {
    color: var(--sr-ink-3);
    font-size: 14px;
    transition: transform 0.2s;
    width: 12px;
    line-height: 1;
}

.wiz-cat-group[open] .wiz-cat-arrow {
    transform: rotate(90deg);
    color: var(--sr-clay);
}

.wiz-cat-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    cursor: pointer;
    padding: 6px 0;
    line-height: 1.3;
}

.wiz-cat-item input {
    accent-color: var(--sr-clay);
    width: 15px;
    height: 15px;
    cursor: pointer;
    flex: none;
}

.wiz-cat-cnt-sel {
    color: var(--sr-clay);
    font-weight: 600;
}

.wiz-cat-name {
    flex: 1;
}

.wiz-cat-cnt {
    font-size: 10.5px;
    color: var(--sr-ink-3);
    background: var(--sr-surface-2);
    padding: 3px 8px;
    border-radius: 10px;
    letter-spacing: 0.02em;
    font-family: var(--sr-font-sans, inherit);
    font-weight: 500;
}

.wiz-cat-group.has-selected .wiz-cat-cnt {
    background: rgba(201, 100, 66, 0.14);
    color: var(--sr-clay);
}

.wiz-cat-children {
    padding: 6px 16px 14px 34px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    border-top: 1px solid var(--sr-line);
    background: rgba(43, 39, 36, 0.012);
}

.wiz-cat-child {
    font-size: 13px;
    color: var(--sr-ink-2);
}

.wiz-cat-child:hover {
    color: var(--sr-ink);
}

/* Child'ı olmayan root kategoriler — "Diğer kategoriler" başlığı altında kompakt chip'ler */
.wiz-cat-leaf-section {
    margin-top: 14px;
    padding: 14px 16px;
    background: var(--sr-surface);
    border: 1px dashed var(--sr-line);
    border-radius: 10px;
}

.wiz-cat-leaf-head {
    margin-bottom: 10px;
    font-size: 10.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    font-weight: 600;
}

.wiz-cat-leaf-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.wiz-cat-leaf-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 999px;
    font-size: 13px;
    color: var(--sr-ink-2);
    cursor: pointer;
    user-select: none;
    transition: all var(--sr-dur);
}

.wiz-cat-leaf-chip:hover {
    border-color: var(--sr-ink-3);
    color: var(--sr-ink);
}

.wiz-cat-leaf-chip input {
    accent-color: var(--sr-clay);
    width: 13px;
    height: 13px;
    cursor: pointer;
    margin: 0;
}

.wiz-cat-leaf-chip:has(input:checked) {
    background: rgba(201, 100, 66, 0.1);
    border-color: var(--sr-clay);
    color: var(--sr-clay);
    font-weight: 500;
}

/* Sidebar tips */
.wiz-tips {
    position: sticky;
    top: 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.wiz-tip-card {
    padding: 18px 20px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
}

.wiz-tip-card .eyebrow {
    font-size: 10px;
    margin-bottom: 6px;
}

.wiz-tip-title {
    font-family: var(--sr-font-serif);
    font-size: 16px;
    font-weight: 400;
    margin: 4px 0 8px;
    letter-spacing: -0.01em;
}

.wiz-tip-card p {
    font-size: 13px;
    line-height: 1.55;
    color: var(--sr-ink-2);
    margin: 0 0 8px;
}

.wiz-tip-card p:last-of-type {
    margin-bottom: 0;
}

.wiz-tip-list {
    list-style: none;
    padding: 0;
    margin: 10px 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.wiz-tip-list li {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    font-size: 12px;
    padding-bottom: 8px;
    border-bottom: 1px dashed var(--sr-line);
}

.wiz-tip-list li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.wiz-tip-list span {
    color: var(--sr-ink-3);
}

.wiz-tip-list strong {
    color: var(--sr-ink);
    font-weight: 500;
    font-size: 13px;
}

.wiz-tip-plan {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 4px;
}

.wiz-tip-plan-code {
    font-family: var(--sr-font-serif);
    font-size: 24px;
    letter-spacing: 0.02em;
    color: var(--sr-ink);
    font-weight: 400;
}

.wiz-tip-plan-change {
    font-size: 11px;
    color: var(--sr-clay);
    text-decoration: none;
    border: 1px solid var(--sr-line);
    padding: 4px 10px;
    border-radius: 999px;
    transition: all var(--sr-dur);
}

.wiz-tip-plan-change:hover {
    border-color: var(--sr-clay);
    background: var(--sr-clay);
    color: #fff;
}

.wiz-tip-upsell {
    background: linear-gradient(180deg, rgba(201, 100, 66, 0.05) 0%, var(--sr-bg) 100%);
    border-color: rgba(201, 100, 66, 0.3);
}

@media (max-width: 900px) {
    .wiz-layout {
        grid-template-columns: 1fr;
    }

    .wiz-tips {
        position: static;
    }
}

/* Wizard — hours table + bulk toolbar */
.wiz-hours-bulk {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin-bottom: 14px;
    padding: 12px 14px;
    background: var(--sr-surface);
    border-radius: 10px;
}

.wiz-hours-bulk-lbl {
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    font-weight: 600;
    margin-right: 4px;
}

.wiz-hours-table {
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    overflow: hidden;
}

.wiz-hour-row {
    display: grid;
    grid-template-columns: 120px 1fr auto;
    gap: 16px;
    align-items: center;
    padding: 10px 16px;
    border-bottom: 1px solid var(--sr-line);
    background: var(--sr-bg);
    transition: background var(--sr-dur);
}

.wiz-hour-row:last-child {
    border-bottom: none;
}

.wiz-hour-row.is-24h {
    background: rgba(127, 196, 138, 0.06);
}

.wiz-hour-row.is-closed {
    background: var(--sr-surface-2);
    opacity: 0.75;
}

.wiz-hour-day {
    font-weight: 500;
    color: var(--sr-ink);
    font-size: 14px;
}

.wiz-hour-times {
    display: flex;
    gap: 8px;
    align-items: center;
}

.wiz-time {
    width: 110px;
    font-family: var(--sr-font-mono);
    font-size: 13px;
    padding: 8px 10px;
}

.wiz-time:disabled {
    background: var(--sr-surface-2);
    color: var(--sr-ink-3);
    cursor: not-allowed;
}

.wiz-hour-toggles {
    display: flex;
    gap: 14px;
    align-items: center;
}

.wiz-hour-tog {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--sr-ink-2);
    cursor: pointer;
}

.wiz-hour-tog input {
    accent-color: var(--sr-clay);
    width: 15px;
    height: 15px;
}

@media (max-width: 700px) {
    .wiz-hour-row {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 12px 14px;
    }

    .wiz-hour-day {
        font-size: 12.5px;
        font-weight: 600;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--sr-ink-2);
    }

    .wiz-hour-times {
        flex-wrap: wrap;
        gap: 6px;
    }

    .wiz-time {
        flex: 1 1 0;
        min-width: 0;
        width: auto;
        max-width: 130px;
    }

    .wiz-hour-toggles {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 14px;
    }

    .wiz-hour-tog {
        font-size: 12px;
    }
}

/* Wizard — amenities grid */
.wiz-amen-toolbar {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 16px;
}

.wiz-amen-search {
    flex: 1;
}

.wiz-amen-groups {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.wiz-amen-group {
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    padding: 16px 18px;
    background: var(--sr-bg);
}

.wiz-amen-group-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.wiz-amen-group-ico {
    font-size: 18px;
}

.wiz-amen-group-label {
    font-family: var(--sr-font-serif);
    font-size: 15px;
    letter-spacing: -0.005em;
    color: var(--sr-ink);
}

.wiz-amen-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.wiz-amen-chip {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px 7px 10px;
    border: 1px solid var(--sr-line);
    border-radius: 999px;
    background: var(--sr-bg);
    cursor: pointer;
    transition: all var(--sr-dur);
    font-size: 13px;
    color: var(--sr-ink-2);
}

.wiz-amen-chip input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.wiz-amen-chip:hover {
    border-color: var(--sr-ink-3);
    color: var(--sr-ink);
}

.wiz-amen-chip.selected {
    background: var(--sr-ink);
    border-color: var(--sr-ink);
    color: var(--sr-bg);
}

.wiz-amen-chip.selected .wiz-amen-ico {
    filter: none;
}

.wiz-amen-ico {
    font-size: 14px;
}

/* =========================================================
   Owner edit — tab nav
   ========================================================= */
.edit-tabs {
    display: flex;
    gap: 4px;
    border-bottom: 1px solid var(--sr-line);
    margin-bottom: 24px;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.edit-tabs::-webkit-scrollbar {
    display: none;
}

.edit-tabs a {
    flex-shrink: 0;
    padding: 12px 18px;
    font-size: 13.5px;
    color: var(--sr-ink-3);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: all var(--sr-dur);
    white-space: nowrap;
}

.edit-tabs a:hover {
    color: var(--sr-ink);
}

.edit-tabs a.active {
    color: var(--sr-clay);
    border-bottom-color: var(--sr-clay);
    font-weight: 500;
}

/* Drawer (mobile) concierge CTA */
.sr-drawer-concierge {
    display: flex;
    align-items: center;
    gap: 10px;
    width: calc(100% - 32px);
    margin: 8px 16px 14px;
    padding: 14px 18px;
    background: linear-gradient(135deg, var(--sr-clay) 0%, #d87c5f 100%);
    color: #fff;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    font-family: inherit;
    font-size: 14.5px;
    font-weight: 500;
    box-shadow: 0 6px 18px rgba(201, 100, 66, 0.28);
}

.sr-drawer-concierge svg {
    flex-shrink: 0;
}

/* Header concierge CTA — nav ile search arası */
.sr-header-concierge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 42px;
    padding: 0 18px;
    background: linear-gradient(135deg, var(--sr-clay) 0%, #d87c5f 100%);
    color: #fff;
    border: none;
    border-radius: 999px;
    cursor: pointer;
    font-family: inherit;
    font-size: 13.5px;
    font-weight: 500;
    letter-spacing: -0.005em;
    box-shadow: 0 4px 14px rgba(201, 100, 66, 0.28);
    transition: all var(--sr-dur);
    white-space: nowrap;
}

.sr-header-concierge:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(201, 100, 66, 0.4);
}

.sr-header-concierge svg {
    animation: concierge-sparkle 3s ease-in-out infinite;
}

@keyframes concierge-sparkle {

    0%,
    100% {
        transform: rotate(0deg) scale(1);
    }

    50% {
        transform: rotate(10deg) scale(1.15);
    }
}

@media (max-width: 1200px) {
    .sr-header-concierge span {
        display: none;
    }

    .sr-header-concierge {
        width: 42px;
        padding: 0;
        justify-content: center;
    }
}

@media (max-width: 1000px) {
    .sr-header-concierge {
        display: none;
    }
}

/* =========================================================
   Concierge — öneri widget'ı
   ========================================================= */
.concierge-toggle {
    /* Mobile: bottom-nav FAB zaten Concierge'i açıyor → toggle'ı tamamen gizle.
       Desktop: kullanıcı tercihine göre kaldırıldı. */
    display: none !important;
}

.concierge-toggle:hover {
    transform: translateY(-2px);
    border-color: rgba(201, 100, 66, 0.35);
    box-shadow: 0 22px 44px -18px rgba(201, 100, 66, 0.35), 0 4px 10px rgba(43, 39, 36, 0.08);
}

.concierge-toggle-mark {
    position: relative;
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(201, 100, 66, 0.10);
    border-radius: 50%;
    flex: none;
}

.concierge-toggle-mark img {
    width: 28px;
    height: 28px;
    display: block;
    position: relative;
    z-index: 2;
}

.concierge-toggle-pulse {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 2px solid rgba(201, 100, 66, 0.55);
    animation: concierge-pulse 2.4s cubic-bezier(0.2, 0.9, 0.3, 1) infinite;
    pointer-events: none;
}

@keyframes concierge-pulse {
    0% {
        transform: scale(1);
        opacity: 0.7;
    }

    70% {
        transform: scale(1.45);
        opacity: 0;
    }

    100% {
        transform: scale(1.45);
        opacity: 0;
    }
}

.concierge-toggle-body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.15;
}

.concierge-toggle-kicker {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sr-clay);
}

.concierge-toggle-main {
    font-family: var(--sr-serif, "Fraunces", Georgia, serif);
    font-size: 16px;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: var(--sr-ink);
}

.concierge-toggle-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: var(--sr-muted);
    transition: transform var(--sr-dur), color var(--sr-dur);
}

.concierge-toggle:hover .concierge-toggle-arrow {
    transform: translateX(3px);
    color: var(--sr-clay);
}

/* Mobilde concierge floating buton gizli — bottom-nav FAB var */
@media (max-width: 900px) {
    .concierge-toggle {
        display: none !important;
    }
}

@media (max-width: 420px) {
    .concierge-toggle-body {
        display: none;
    }

    .concierge-toggle {
        padding: 6px;
        border-radius: 50%;
        gap: 0;
    }
}

/* Panel */
.concierge-panel {
    position: fixed;
    inset: 0;
    z-index: 200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

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

.concierge-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(20, 15, 12, 0.55);
    backdrop-filter: blur(4px);
    animation: concierge-fade 0.3s ease-out;
}

@keyframes concierge-fade {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.concierge-dialog {
    position: relative;
    width: 100%;
    max-width: 560px;
    max-height: calc(100vh - 48px);
    background: var(--sr-bg);
    border-radius: 20px;
    box-shadow: 0 40px 80px rgba(0, 0, 0, 0.3);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    animation: concierge-slide 0.35s cubic-bezier(0.2, 0.9, 0.3, 1);
}

@keyframes concierge-slide {
    from {
        opacity: 0;
        transform: translateY(30px) scale(0.96);
    }

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

.concierge-head {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 16px;
    align-items: start;
    padding: 24px 28px 20px;
    border-bottom: 1px solid var(--sr-line);
}

.concierge-kicker {
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--sr-clay);
    font-weight: 600;
    margin-bottom: 6px;
}

.concierge-title {
    font-family: var(--sr-font-serif);
    font-size: 26px;
    font-weight: 300;
    letter-spacing: -0.02em;
    line-height: 1.1;
    margin: 0 0 6px;
    color: var(--sr-ink);
}

.concierge-title em {
    font-style: italic;
    color: var(--sr-clay);
    font-weight: 400;
}

.concierge-sub {
    font-size: 13.5px;
    color: var(--sr-ink-2);
    margin: 0;
    line-height: 1.5;
}

.concierge-close {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--sr-surface);
    border: 1px solid var(--sr-line);
    cursor: pointer;
    color: var(--sr-ink);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--sr-dur);
}

.concierge-close:hover {
    background: var(--sr-bg);
    color: var(--sr-clay);
}

.concierge-progress {
    height: 3px;
    background: var(--sr-line);
}

.concierge-progress-bar {
    height: 100%;
    background: linear-gradient(90deg, var(--sr-clay) 0%, #d87c5f 100%);
    transition: width 0.4s cubic-bezier(0.2, 0.9, 0.3, 1);
}

.concierge-body {
    flex: 1;
    overflow-y: auto;
    padding: 24px 28px;
}

.concierge-step-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.concierge-step-num {
    width: 32px;
    height: 32px;
    background: var(--sr-clay);
    color: #fff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--sr-font-mono);
    font-size: 12px;
    font-weight: 600;
    flex-shrink: 0;
}

.concierge-step-head h3 {
    font-family: var(--sr-font-serif);
    font-size: 20px;
    font-weight: 400;
    letter-spacing: -0.01em;
    margin: 0;
    color: var(--sr-ink);
    line-height: 1.2;
}

.concierge-sub-label {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    font-weight: 600;
    margin-bottom: 10px;
}

.concierge-options {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.concierge-options button {
    padding: 10px 16px;
    background: var(--sr-bg);
    border: 1.5px solid var(--sr-line);
    border-radius: 999px;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--sr-ink-2);
    cursor: pointer;
    font-family: inherit;
    transition: all var(--sr-dur);
    letter-spacing: -0.005em;
}

.concierge-options button:hover {
    border-color: var(--sr-ink-3);
    color: var(--sr-ink);
    transform: translateY(-1px);
}

.concierge-options button.selected {
    background: var(--sr-ink);
    color: #fff;
    border-color: var(--sr-ink);
}

.concierge-options-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
}

.concierge-options-grid button {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 14px;
    text-align: left;
    border-radius: 10px;
}

.concierge-opt-cnt {
    font-size: 11px;
    background: var(--sr-surface-2);
    color: var(--sr-ink-3);
    padding: 1px 7px;
    border-radius: 999px;
    font-weight: 600;
    margin-left: 8px;
}

.concierge-options-grid button.selected .concierge-opt-cnt {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

/* Sonuç */
.concierge-loading {
    padding: 40px 20px;
    text-align: center;
}

.concierge-spinner {
    width: 36px;
    height: 36px;
    border: 3px solid var(--sr-line);
    border-top-color: var(--sr-clay);
    border-radius: 50%;
    margin: 0 auto 16px;
    animation: concierge-spin 0.8s linear infinite;
}

@keyframes concierge-spin {
    to {
        transform: rotate(360deg);
    }
}

.concierge-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.concierge-biz {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 14px;
    padding: 12px 14px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: all var(--sr-dur);
}

.concierge-biz:hover {
    border-color: var(--sr-clay);
    transform: translateX(2px);
    box-shadow: 0 8px 20px rgba(43, 39, 36, 0.08);
}

.concierge-biz-img {
    width: 64px;
    height: 64px;
    border-radius: 10px;
    background: var(--sr-surface-2);
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
}

.concierge-biz-body {
    min-width: 0;
}

.concierge-biz-kicker {
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sr-clay);
    font-weight: 600;
    margin-bottom: 3px;
}

.concierge-biz-name {
    font-family: var(--sr-font-serif);
    font-size: 16px;
    font-weight: 400;
    color: var(--sr-ink);
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.concierge-biz-meta {
    font-size: 12px;
    color: var(--sr-ink-3);
}

.concierge-biz-ver {
    color: #3d7b49;
    font-weight: 500;
}

.concierge-empty {
    padding: 20px 0;
    text-align: center;
}

.concierge-empty p {
    font-size: 13px;
    color: var(--sr-ink-2);
    margin: 8px 0 0;
    line-height: 1.55;
}

.concierge-foot {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    border-top: 1px solid var(--sr-line);
    background: var(--sr-surface);
}

.concierge-step-counter {
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    font-weight: 600;
}

@media (max-width: 600px) {
    .concierge-panel {
        padding: 0;
        align-items: flex-end;
    }

    .concierge-dialog {
        max-width: none;
        max-height: 92vh;
        border-radius: 20px 20px 0 0;
    }

    .concierge-head {
        padding: 20px 20px 16px;
    }

    .concierge-title {
        font-size: 22px;
    }

    .concierge-body {
        padding: 20px;
    }

    .concierge-foot {
        padding: 12px 20px;
    }

    @keyframes concierge-slide {
        from {
            opacity: 0;
            transform: translateY(100%);
        }

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

/* =========================================================
   Admin blog
   ========================================================= */
.admin-blog-filters {
    display: grid;
    grid-template-columns: 1fr 200px auto auto;
    gap: 10px;
    align-items: center;
    margin-bottom: 20px;
    padding: 16px 18px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 12px;
}

@media (max-width: 700px) {
    .admin-blog-filters {
        grid-template-columns: 1fr;
    }
}

.admin-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.admin-blog-card {
    display: flex;
    flex-direction: column;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: all var(--sr-dur);
}

.admin-blog-card:hover {
    border-color: var(--sr-clay);
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(43, 39, 36, 0.08);
}

.admin-blog-card-img {
    aspect-ratio: 16/10;
    background: var(--sr-surface-2);
    background-size: cover;
    background-position: center;
    position: relative;
}

.admin-blog-card-status {
    position: absolute;
    top: 10px;
    right: 10px;
}

.admin-blog-card-body {
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.admin-blog-card-title {
    font-family: var(--sr-font-serif);
    font-size: 17px;
    font-weight: 400;
    letter-spacing: -0.01em;
    line-height: 1.25;
    margin: 0 0 8px;
}

.admin-blog-card-excerpt {
    font-size: 12px;
    color: var(--sr-ink-2);
    line-height: 1.5;
    margin: 0 0 12px;
    flex: 1;
}

.admin-blog-card-meta {
    display: flex;
    gap: 6px;
    align-items: center;
    font-size: 11px;
    color: var(--sr-ink-3);
    padding-top: 10px;
    border-top: 1px solid var(--sr-line);
}

@media (max-width: 900px) {
    .admin-blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .admin-blog-grid {
        grid-template-columns: 1fr;
    }
}

/* Blog edit layout */
.admin-blog-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 20px;
    align-items: start;
}

.admin-blog-main {
    min-width: 0;
}

.admin-blog-side {
    position: sticky;
    top: 20px;
}

@media (max-width: 1000px) {
    .admin-blog-layout {
        grid-template-columns: 1fr;
    }

    .admin-blog-side {
        position: static;
    }
}

/* Editor toolbar */
.admin-editor-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 6px;
    padding: 6px;
    background: var(--sr-surface);
    border: 1px solid var(--sr-line);
    border-radius: 8px 8px 0 0;
}

.admin-editor-bar button {
    padding: 5px 10px;
    font-size: 12px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 6px;
    cursor: pointer;
    color: var(--sr-ink);
    font-family: inherit;
    transition: all var(--sr-dur);
    min-width: 32px;
}

.admin-editor-bar button:hover {
    border-color: var(--sr-clay);
    color: var(--sr-clay);
}

.admin-blog-main .textarea {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.admin-blog-cover-preview {
    aspect-ratio: 16/9;
    background-size: cover;
    background-position: center;
    background-color: var(--sr-surface-2);
    border-radius: 10px;
    margin-bottom: 14px;
}

/* =========================================================
   Admin dashboard
   ========================================================= */
.admin-dash-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

.admin-dash-head h1 {
    font-family: var(--sr-font-serif);
    font-size: clamp(28px, 3vw, 36px);
    font-weight: 300;
    letter-spacing: -0.02em;
    margin: 4px 0 0;
}

/* Bekleyen iş kuyruğu */
.admin-dash-pending {
    padding: 20px 24px;
    background: linear-gradient(135deg, rgba(201, 100, 66, 0.06) 0%, var(--sr-bg) 80%);
    border: 1px solid rgba(201, 100, 66, 0.2);
    border-radius: 16px;
    margin-bottom: 24px;
}

.admin-dash-pending-head {
    margin-bottom: 14px;
}

.admin-dash-pending-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 8px;
}

.admin-dash-queue {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 14px 16px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    text-decoration: none;
    color: inherit;
    transition: all var(--sr-dur);
}

.admin-dash-queue:hover {
    border-color: var(--sr-clay);
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(43, 39, 36, 0.06);
}

.admin-dash-queue .n {
    font-family: var(--sr-font-serif);
    font-size: 24px;
    font-weight: 400;
    color: var(--sr-clay);
    line-height: 1;
    letter-spacing: -0.02em;
}

.admin-dash-queue .l {
    font-size: 11px;
    color: var(--sr-ink-3);
    letter-spacing: 0.04em;
    margin-top: 4px;
}

.admin-dash-zero {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 22px;
    background: rgba(127, 196, 138, 0.08);
    border: 1px solid rgba(127, 196, 138, 0.3);
    border-radius: 14px;
    margin-bottom: 24px;
}

.admin-dash-zero-ico {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #3d7b49;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* KPI */
.admin-dash-kpi {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 20px;
}

.kpi-card {
    padding: 20px 22px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
}

.kpi-k {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    font-weight: 600;
    margin-bottom: 10px;
}

.kpi-v {
    font-family: var(--sr-font-serif);
    font-size: 32px;
    font-weight: 300;
    letter-spacing: -0.02em;
    line-height: 1;
    color: var(--sr-ink);
}

.kpi-d {
    font-size: 12px;
    color: var(--sr-ink-3);
    margin-top: 10px;
    line-height: 1.5;
}

.kpi-revenue {
    background: linear-gradient(135deg, rgba(201, 100, 66, 0.06) 0%, var(--sr-bg) 100%);
}

@media (max-width: 1100px) {
    .admin-dash-kpi {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 500px) {
    .admin-dash-kpi {
        grid-template-columns: 1fr;
    }
}

/* Split layout */
.admin-dash-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 20px;
}

@media (max-width: 900px) {
    .admin-dash-split {
        grid-template-columns: 1fr;
    }
}

.admin-card {
    padding: 20px 22px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
}

.admin-card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 16px;
    gap: 10px;
}

.admin-card-head h3 {
    font-family: var(--sr-font-serif);
    font-size: 18px;
    font-weight: 400;
    letter-spacing: -0.01em;
    margin: 4px 0 0;
}

/* Chart */
.admin-chart {
    display: flex;
    gap: 10px;
    align-items: flex-end;
    height: 160px;
}

.admin-chart-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    min-width: 0;
}

.admin-chart-bars {
    flex: 1;
    display: flex;
    gap: 2px;
    align-items: flex-end;
}

.admin-chart-bar {
    flex: 1;
    border-radius: 4px 4px 0 0;
    min-height: 3px;
    transition: height 0.3s ease-out;
}

.admin-chart-bar.b1 {
    background: var(--sr-clay);
}

.admin-chart-bar.b2 {
    background: #3d7b49;
}

.admin-chart-bar.b3 {
    background: var(--sr-ink-3);
}

.admin-chart-lbl {
    font-size: 10px;
    color: var(--sr-ink-3);
    text-align: center;
    letter-spacing: 0.04em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-chart-legend {
    display: flex;
    gap: 10px;
    font-size: 11px;
    color: var(--sr-ink-3);
}

.admin-chart-legend span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.admin-chart-legend i {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    display: inline-block;
}

/* Funnel */
.admin-funnel {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.admin-funnel-row {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 10px;
    align-items: center;
}

.admin-funnel-lbl {
    font-size: 12px;
    color: var(--sr-ink-2);
    font-weight: 500;
}

.admin-funnel-bar {
    height: 26px;
    background: var(--sr-surface);
    border-radius: 4px;
    overflow: hidden;
    position: relative;
}

.admin-funnel-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--sr-clay) 0%, #d87c5f 100%);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    display: flex;
    align-items: center;
    padding: 0 10px;
    border-radius: 4px;
    min-width: 32px;
    transition: width 0.5s ease-out;
}

.admin-funnel-meta {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px dashed var(--sr-line);
    font-size: 12px;
    color: var(--sr-ink-3);
}

.admin-funnel-meta strong {
    color: var(--sr-ink);
    font-weight: 500;
}

/* Plan dağılımı */
.admin-plan-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.admin-plan-row {
    display: grid;
    grid-template-columns: 120px 1fr 40px;
    gap: 12px;
    align-items: center;
}

.admin-plan-name {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--sr-ink);
    font-weight: 500;
}

.admin-plan-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.admin-plan-dot.admin-plan-free,
.admin-plan-fill.admin-plan-free {
    background: var(--sr-ink-4);
}

.admin-plan-dot.admin-plan-basic,
.admin-plan-fill.admin-plan-basic {
    background: #7fc48a;
}

.admin-plan-dot.admin-plan-pro,
.admin-plan-fill.admin-plan-pro {
    background: var(--sr-clay);
}

.admin-plan-dot.admin-plan-premium,
.admin-plan-fill.admin-plan-premium {
    background: var(--sr-ink);
}

.admin-plan-bar {
    height: 20px;
    background: var(--sr-surface);
    border-radius: 4px;
    overflow: hidden;
}

.admin-plan-fill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.5s ease-out;
}

.admin-plan-cnt {
    font-family: var(--sr-font-serif);
    font-size: 17px;
    color: var(--sr-ink);
    text-align: right;
}

/* Top list */
.admin-top-list,
.admin-recent-list {
    display: flex;
    flex-direction: column;
}

.admin-top-row,
.admin-recent-row {
    display: grid;
    grid-template-columns: 32px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 10px 0;
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid var(--sr-line);
    transition: background var(--sr-dur);
}

.admin-top-row:hover,
.admin-recent-row:hover {
    background: var(--sr-surface);
    margin: 0 -10px;
    padding: 10px 10px;
    border-radius: 6px;
}

.admin-top-row:last-child,
.admin-recent-row:last-child {
    border-bottom: none;
}

.admin-top-rank {
    width: 28px;
    height: 28px;
    background: var(--sr-surface-2);
    color: var(--sr-ink-3);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--sr-font-serif);
    font-size: 14px;
    font-weight: 500;
}

.admin-top-row:nth-child(1) .admin-top-rank {
    background: var(--sr-clay);
    color: #fff;
}

.admin-top-name {
    font-size: 13.5px;
    color: var(--sr-ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.admin-top-views {
    font-size: 11px;
    color: var(--sr-ink-3);
    white-space: nowrap;
}

.admin-top-views strong {
    font-family: var(--sr-font-serif);
    color: var(--sr-ink);
    font-size: 14px;
    font-weight: 500;
    margin-right: 3px;
}

/* Recent avatar */
.admin-recent-avatar {
    width: 32px;
    height: 32px;
    background: var(--sr-clay);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--sr-font-serif);
    font-size: 14px;
}

.admin-recent-body {
    min-width: 0;
}

.admin-recent-name {
    font-size: 13px;
    color: var(--sr-ink);
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.admin-recent-meta {
    font-size: 11px;
    color: var(--sr-ink-3);
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Meta footer */
.admin-dash-meta {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    padding: 18px 22px;
    background: var(--sr-surface);
    border-radius: 12px;
    margin-top: 20px;
    font-size: 12px;
    color: var(--sr-ink-2);
}

.admin-dash-meta-item .eyebrow {
    margin-bottom: 4px;
    font-size: 10px;
}

.admin-dash-meta-item a {
    color: var(--sr-clay);
    text-decoration: none;
}

.admin-dash-meta-item a:hover {
    text-decoration: underline;
}

@media (max-width: 700px) {
    .admin-dash-meta {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   Admin — iş öneri kuyruğu
   ========================================================= */
.sug-filter-tabs {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--sr-line);
}

.sug-tab {
    padding: 8px 14px;
    font-size: 13px;
    color: var(--sr-ink-2);
    text-decoration: none;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all var(--sr-dur);
}

.sug-tab:hover {
    border-color: var(--sr-ink-3);
    color: var(--sr-ink);
}

.sug-tab.active {
    background: var(--sr-ink);
    color: #fff;
    border-color: var(--sr-ink);
}

.sug-tab span {
    font-size: 11px;
    background: var(--sr-surface-2);
    color: var(--sr-ink-3);
    padding: 1px 7px;
    border-radius: 999px;
}

.sug-tab.active span {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.sug-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.sug-card {
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    padding: 20px 22px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.sug-card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
}

.sug-card-name {
    font-family: var(--sr-font-serif);
    font-size: 20px;
    font-weight: 400;
    letter-spacing: -0.015em;
    margin: 0 0 4px;
}

.sug-card-loc {
    font-size: 13px;
    color: var(--sr-ink-3);
}

.sug-card-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    padding: 14px 0;
    border-top: 1px dashed var(--sr-line);
    border-bottom: 1px dashed var(--sr-line);
}

.sug-card-info ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 13px;
    color: var(--sr-ink-2);
    line-height: 1.5;
}

.sug-card-info a {
    color: var(--sr-clay);
    text-decoration: none;
}

.sug-card-info a:hover {
    text-decoration: underline;
}

.sug-linked-biz {
    padding: 10px 14px;
    background: rgba(127, 196, 138, 0.08);
    border: 1px solid rgba(127, 196, 138, 0.3);
    border-radius: 10px;
    font-size: 13px;
}

.sug-linked-biz a {
    color: #3d7b49;
    text-decoration: none;
    font-weight: 500;
}

.sug-admin-note {
    padding: 10px 14px;
    background: rgba(201, 100, 66, 0.05);
    border-left: 3px solid var(--sr-clay);
    border-radius: 6px;
}

.sug-admin-note p {
    font-size: 13px;
    line-height: 1.5;
    color: var(--sr-ink-2);
    margin: 4px 0 0;
}

.sug-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
    padding-top: 6px;
}

.sug-action-inline {
    margin: 0;
}

.sug-reject {
    position: relative;
}

.sug-reject summary {
    list-style: none;
    cursor: pointer;
    display: inline-block;
}

.sug-reject summary::-webkit-details-marker {
    display: none;
}

.sug-reject-form {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    min-width: 280px;
    padding: 12px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
    z-index: 10;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

@media (max-width: 700px) {
    .sug-card-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .sug-card-head {
        flex-direction: column;
        gap: 6px;
    }
}

/* =========================================================
   İşletme öner sayfası
   ========================================================= */
.sug-hero {
    padding: 40px 0 32px;
    background: linear-gradient(135deg, #fbf5ed 0%, var(--sr-bg) 70%);
    border-bottom: 1px solid var(--sr-line);
}

.sug-hero-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 40px;
    align-items: start;
    margin-top: 24px;
}

.sug-title {
    font-family: var(--sr-font-serif);
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 300;
    letter-spacing: -0.025em;
    line-height: 1.05;
    margin: 0 0 18px;
}

.sug-title em {
    font-style: italic;
    color: var(--sr-clay);
    font-weight: 400;
}

.sug-sub {
    font-size: 15px;
    line-height: 1.65;
    color: var(--sr-ink-2);
    max-width: 560px;
    margin: 0;
}

.sug-hero-note {
    padding: 22px 24px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
}

.sug-steps {
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: step;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sug-steps li {
    counter-increment: step;
    padding-left: 32px;
    position: relative;
    font-size: 14px;
    color: var(--sr-ink);
    line-height: 1.5;
}

.sug-steps li::before {
    content: counter(step, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 0;
    width: 24px;
    height: 24px;
    background: var(--sr-clay);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 600;
    font-family: var(--sr-font-mono);
}

@media (max-width: 800px) {
    .sug-hero-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

/* =========================================================
   Blog listing + detay
   ========================================================= */
.blog-hero {
    padding: 40px 0 28px;
    background: linear-gradient(135deg, #f8f1e7 0%, var(--sr-bg) 60%);
    border-bottom: 1px solid var(--sr-line);
}

.blog-hero-grid {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 36px;
    align-items: end;
    margin-top: 24px;
}

.blog-title {
    font-family: var(--sr-font-serif);
    font-size: clamp(42px, 5vw, 66px);
    font-weight: 300;
    letter-spacing: -0.03em;
    line-height: 1.02;
    margin: 0 0 18px;
}

.blog-title em {
    font-style: italic;
    color: var(--sr-clay);
    font-weight: 400;
}

.blog-sub {
    font-size: 16px;
    line-height: 1.65;
    color: var(--sr-ink-2);
    max-width: 580px;
    margin: 0;
}

.blog-hero-cats {
    min-width: 200px;
}

.blog-cat-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.blog-cat-link {
    padding: 6px 0;
    font-size: 14px;
    color: var(--sr-ink-2);
    text-decoration: none;
    border-bottom: 1px solid var(--sr-line);
    transition: color var(--sr-dur);
}

.blog-cat-link:hover {
    color: var(--sr-clay);
}

.blog-cat-link:last-child {
    border-bottom: none;
}

@media (max-width: 800px) {
    .blog-hero-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

/* Featured post — büyük split */
.blog-featured {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 0;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 18px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: all var(--sr-dur);
}

.blog-featured:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 50px rgba(43, 39, 36, 0.1);
}

.blog-featured-img {
    min-height: 360px;
    background-size: cover;
    background-position: center;
    background-color: var(--sr-surface-2);
}

.blog-featured-img-empty {
    background: linear-gradient(135deg, var(--sr-surface) 0%, var(--sr-surface-2) 100%);
}

.blog-featured-body {
    padding: 40px 44px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
}

.blog-featured-title {
    font-family: var(--sr-font-serif);
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 300;
    letter-spacing: -0.025em;
    line-height: 1.08;
    margin: 10px 0 12px;
    color: var(--sr-ink);
}

.blog-featured-excerpt {
    font-size: 15px;
    line-height: 1.6;
    color: var(--sr-ink-2);
    margin: 0 0 16px;
}

.blog-featured-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    font-size: 13px;
    color: var(--sr-ink-3);
    padding-top: 16px;
    border-top: 1px solid var(--sr-line);
}

.blog-featured-cta {
    color: var(--sr-clay);
    font-weight: 500;
    margin-left: auto;
}

@media (max-width: 900px) {
    .blog-featured {
        grid-template-columns: 1fr;
    }

    .blog-featured-img {
        min-height: 240px;
    }

    .blog-featured-body {
        padding: 28px 24px;
    }
}

/* Blog grid (home'da home-blog-grid ile aynı ama blog içinde) */
.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.blog-card {
    display: flex;
    flex-direction: column;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: all var(--sr-dur);
}

.blog-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 36px rgba(43, 39, 36, 0.08);
}

.blog-card-img {
    aspect-ratio: 16/10;
    background-size: cover;
    background-position: center;
    background-color: var(--sr-surface-2);
}

.blog-card-img-empty {
    background: linear-gradient(135deg, var(--sr-surface-2) 0%, var(--sr-line) 100%);
}

.blog-card-body {
    padding: 18px 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.blog-card-title {
    font-family: var(--sr-font-serif);
    font-size: 19px;
    font-weight: 400;
    letter-spacing: -0.012em;
    line-height: 1.25;
    margin: 0 0 8px;
    color: var(--sr-ink);
}

.blog-card-excerpt {
    font-size: 13px;
    line-height: 1.55;
    color: var(--sr-ink-2);
    margin: 0 0 12px;
    flex: 1;
}

.blog-card-meta {
    font-size: 12px;
    color: var(--sr-ink-3);
    display: flex;
    gap: 6px;
    padding-top: 12px;
    border-top: 1px solid var(--sr-line);
    margin-top: auto;
}

@media (max-width: 900px) {
    .blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .blog-grid {
        grid-template-columns: 1fr;
    }
}

/* Newsletter */
.blog-nl {
    text-align: center;
    padding: 44px 32px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 18px;
}

.blog-nl-form {
    display: flex;
    gap: 8px;
    max-width: 440px;
    margin: 0 auto;
}

.blog-nl-form input {
    flex: 1;
    padding: 12px 18px;
    border: 1px solid var(--sr-line-2);
    border-radius: 999px;
    font-size: 14px;
    background: var(--sr-bg);
    font-family: inherit;
    outline: none;
}

.blog-nl-form input:focus {
    border-color: var(--sr-clay);
    box-shadow: 0 0 0 3px rgba(201, 100, 66, 0.12);
}

.blog-nl-form button {
    border-radius: 999px !important;
    padding: 12px 24px;
}

@media (max-width: 500px) {
    .blog-nl-form {
        flex-direction: column;
    }

    .blog-nl-form button {
        width: 100%;
    }
}

/* ==== POST DETAY ==== */
.post {}

.post-header {
    padding: 40px 0 28px;
    background: var(--sr-bg);
    border-bottom: 1px solid var(--sr-line);
}

.post-header-inner {
    max-width: 780px;
    margin: 0 auto;
}

.post-cat {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 600;
    margin: 18px 0 14px;
}

.post-cat a {
    color: var(--sr-clay);
    text-decoration: none;
}

.post-title {
    font-family: var(--sr-font-serif);
    font-size: clamp(32px, 4.2vw, 54px);
    font-weight: 300;
    letter-spacing: -0.025em;
    line-height: 1.05;
    margin: 0 0 18px;
    color: var(--sr-ink);
}

.post-dek {
    font-family: var(--sr-font-serif);
    font-style: italic;
    font-size: clamp(17px, 2vw, 21px);
    line-height: 1.5;
    color: var(--sr-ink-2);
    margin: 0 0 24px;
}

.post-byline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    padding-top: 20px;
    border-top: 1px solid var(--sr-line);
}

.post-author {
    display: flex;
    gap: 12px;
    align-items: center;
}

.post-author-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--sr-clay);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--sr-font-serif);
    font-size: 16px;
}

.post-author-name {
    font-size: 14px;
    font-weight: 500;
    color: var(--sr-ink);
}

.post-author-meta {
    font-size: 12px;
    color: var(--sr-ink-3);
    margin-top: 2px;
}

.post-share {
    display: flex;
    gap: 6px;
    align-items: center;
}

.post-share-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid var(--sr-line);
    background: var(--sr-bg);
    color: var(--sr-ink-2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    text-decoration: none;
    transition: all var(--sr-dur);
}

.post-share-btn:hover {
    border-color: var(--sr-clay);
    color: var(--sr-clay);
}

.post-cover-wrap {
    padding: 32px 0 0;
}

.post-cover {
    aspect-ratio: 16/9;
    background-size: cover;
    background-position: center;
    background-color: var(--sr-surface-2);
    border-radius: 16px;
    max-width: 1100px;
    margin: 0 auto;
}

.post-body {
    padding: 48px 0 72px;
}

.post-content {
    max-width: 720px;
    margin: 0 auto;
    font-size: 17px;
    line-height: 1.75;
    color: var(--sr-ink);
}

.post-content h2 {
    font-family: var(--sr-font-serif);
    font-size: 28px;
    font-weight: 400;
    letter-spacing: -0.015em;
    margin: 40px 0 14px;
}

.post-content h3 {
    font-family: var(--sr-font-serif);
    font-size: 22px;
    font-weight: 400;
    margin: 32px 0 10px;
}

.post-content p {
    margin: 0 0 18px;
}

.post-content a {
    color: var(--sr-clay);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.post-content img {
    max-width: 100%;
    border-radius: 12px;
    margin: 20px 0;
    height: auto;
}

.post-content blockquote {
    border-left: 3px solid var(--sr-clay);
    padding: 6px 0 6px 20px;
    margin: 24px 0;
    font-family: var(--sr-font-serif);
    font-style: italic;
    font-size: 19px;
    color: var(--sr-ink-2);
    line-height: 1.5;
}

.post-content ul,
.post-content ol {
    margin: 0 0 18px;
    padding-left: 24px;
}

.post-content li {
    margin-bottom: 6px;
}

.post-content hr {
    border: none;
    border-top: 1px solid var(--sr-line);
    margin: 32px auto;
    max-width: 200px;
}

@media (max-width: 700px) {
    .post-header {
        padding: 28px 0 20px;
    }

    .post-body {
        padding: 32px 0 48px;
    }

    .post-content {
        font-size: 16px;
    }

    .post-cover-wrap {
        padding: 20px 0 0;
    }
}

/* =========================================================
   FAQ sayfası (/sss)
   ========================================================= */
.faq-hero {
    padding: 40px 0 0;
    background: linear-gradient(135deg, #fbf5ed 0%, var(--sr-bg) 70%);
    border-bottom: 1px solid var(--sr-line);
}

.faq-hero-grid {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 32px;
    align-items: end;
    margin-top: 28px;
}

.faq-title {
    font-family: var(--sr-font-serif);
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 300;
    letter-spacing: -0.03em;
    line-height: 1.02;
    margin: 0 0 16px;
}

.faq-sub {
    font-size: 16px;
    line-height: 1.65;
    color: var(--sr-ink-2);
    max-width: 620px;
    margin: 0;
}

.faq-hero-cta {
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    padding: 18px 22px;
    max-width: 280px;
}

.faq-tabs {
    display: flex;
    gap: 4px;
    margin-top: 32px;
    overflow-x: auto;
    scrollbar-width: none;
    padding-bottom: 12px;
}

.faq-tabs::-webkit-scrollbar {
    display: none;
}

.faq-tab {
    flex-shrink: 0;
    padding: 10px 16px;
    font-size: 13px;
    color: var(--sr-ink-2);
    text-decoration: none;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 999px;
    transition: all var(--sr-dur);
    white-space: nowrap;
}

.faq-tab:hover {
    border-color: var(--sr-clay);
    color: var(--sr-clay);
}

@media (max-width: 800px) {
    .faq-hero-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .faq-hero-cta {
        max-width: none;
    }
}

.faq-layout {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 40px;
    align-items: start;
}

.faq-nav {
    position: sticky;
    top: 88px;
    align-self: start;
}

.faq-nav-head {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    font-weight: 600;
    margin-bottom: 10px;
}

.faq-nav-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 6px 0;
}

.faq-nav-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 12px;
    margin: 0 -6px;
    border-radius: 8px;
    font-size: 13.5px;
    color: var(--sr-ink-2);
    text-decoration: none;
    transition: all var(--sr-dur);
}

.faq-nav-link:hover {
    background: var(--sr-surface);
    color: var(--sr-ink);
}

.faq-nav-cnt {
    font-size: 11px;
    color: var(--sr-ink-3);
    background: var(--sr-surface-2);
    padding: 2px 8px;
    border-radius: 999px;
}

.faq-nav-help {
    margin-top: 20px;
    padding: 16px;
    background: var(--sr-surface);
    border-radius: 12px;
}

.faq-nav-help .eyebrow {
    font-size: 10px;
    margin-bottom: 6px;
}

.faq-nav-help p {
    font-size: 12px;
    line-height: 1.6;
    color: var(--sr-ink-2);
    margin: 0;
}

.faq-nav-help a {
    color: var(--sr-clay);
}

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

.faq-group {
    margin-bottom: 44px;
    scroll-margin-top: 88px;
}

.faq-group-title {
    font-family: var(--sr-font-serif);
    font-size: 26px;
    font-weight: 400;
    letter-spacing: -0.015em;
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--sr-line);
}

.faq-foot {
    margin-top: 32px;
    padding: 28px 32px;
    background: linear-gradient(135deg, rgba(201, 100, 66, 0.05) 0%, rgba(139, 170, 145, 0.04) 100%);
    border: 1px solid rgba(201, 100, 66, 0.2);
    border-radius: 16px;
}

.faq-foot h3 {
    font-family: var(--sr-font-serif);
    font-size: 22px;
    font-weight: 400;
    letter-spacing: -0.015em;
    margin: 0 0 6px;
}

@media (max-width: 900px) {
    .faq-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .faq-nav {
        position: static;
    }
}

/* =========================================================
   Search sonuç sayfası (/ara)
   ========================================================= */
.search-hero {
    padding: 36px 0 28px;
    background: var(--sr-surface);
    border-bottom: 1px solid var(--sr-line);
}

.search-form {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 12px;
    align-items: center;
    background: var(--sr-bg);
    border: 1.5px solid var(--sr-line-2);
    border-radius: 100px;
    padding: 8px 8px 8px 24px;
    margin: 20px 0 28px;
    max-width: 780px;
    transition: all var(--sr-dur);
}

.search-form:focus-within {
    border-color: var(--sr-clay);
    box-shadow: 0 10px 32px rgba(201, 100, 66, 0.14);
}

.search-form svg {
    color: var(--sr-ink-3);
    flex-shrink: 0;
}

.search-form input {
    border: none;
    outline: none;
    background: transparent;
    padding: 12px 0;
    font-size: 16px;
    color: var(--sr-ink);
    font-family: inherit;
}

.search-form button {
    padding: 12px 28px;
    border-radius: 999px !important;
}

.search-summary {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    flex-wrap: wrap;
}

.search-title {
    font-family: var(--sr-font-serif);
    font-size: clamp(26px, 3.5vw, 38px);
    font-weight: 300;
    letter-spacing: -0.02em;
    margin: 0;
    color: var(--sr-ink);
}

.search-title em {
    font-style: italic;
    color: var(--sr-clay);
    font-weight: 400;
}

.search-meta {
    font-size: 13px;
    color: var(--sr-ink-2);
}

.search-meta strong {
    font-family: var(--sr-font-serif);
    font-size: 16px;
    color: var(--sr-ink);
    font-weight: 500;
    margin-right: 2px;
}

/* Quick results (şehir, ilçe, kategori) */
.search-quick {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 40px;
}

.search-quick-group {
    padding: 18px 20px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
}

.search-quick-head {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    font-weight: 600;
    margin-bottom: 10px;
}

.search-quick-items {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.search-quick-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    margin: 0 -6px;
    border-radius: 8px;
    font-size: 13.5px;
    color: var(--sr-ink);
    text-decoration: none;
    transition: all var(--sr-dur);
}

.search-quick-item:hover {
    background: var(--sr-surface);
    color: var(--sr-clay);
}

.search-quick-item svg {
    color: var(--sr-clay);
    flex-shrink: 0;
}

.search-quick-name {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.search-quick-name .muted {
    color: var(--sr-ink-3);
    font-size: 12px;
}

.search-quick-cnt {
    font-size: 11px;
    color: var(--sr-ink-3);
    background: var(--sr-surface-2);
    padding: 2px 8px;
    border-radius: 999px;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .search-quick {
        grid-template-columns: 1fr;
    }
}

/* Results head */
.search-results-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.search-section-title {
    font-family: var(--sr-font-serif);
    font-size: 26px;
    font-weight: 400;
    letter-spacing: -0.015em;
    margin: 0;
}

.search-filter-bar {
    display: flex;
    align-items: center;
    gap: 10px;
}

.search-filter-bar .select {
    padding: 8px 14px;
    font-size: 13px;
    min-width: 180px;
}

/* Empty state */
.search-empty {
    padding: 64px 24px;
    text-align: center;
    border: 1px dashed var(--sr-line);
    border-radius: 18px;
    background: var(--sr-bg);
}

.search-empty h2 {
    font-family: var(--sr-font-serif);
    font-size: 26px;
    font-weight: 400;
    letter-spacing: -0.015em;
    margin: 0 0 8px;
}

.search-empty p {
    max-width: 440px;
    margin: 0 auto;
    font-size: 14px;
    line-height: 1.55;
}

.search-suggest {
    margin-top: 36px;
    padding-top: 24px;
    border-top: 1px solid var(--sr-line);
}

.search-suggest-head {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    font-weight: 600;
    margin-bottom: 12px;
}

.search-suggest-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: center;
}

.search-suggest-chip {
    padding: 7px 14px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 999px;
    font-size: 13px;
    color: var(--sr-ink-2);
    text-decoration: none;
    transition: all var(--sr-dur);
}

.search-suggest-chip:hover {
    border-color: var(--sr-clay);
    color: var(--sr-clay);
}

/* =========================================================
   Kategori sayfası (/hizmet/slug)
   ========================================================= */
.cat-hero {
    padding: 40px 0 56px;
    background: linear-gradient(135deg, #fbf5ed 0%, var(--sr-bg) 60%);
    border-bottom: 1px solid var(--sr-line);
}

.cat-hero-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 48px;
    align-items: start;
    margin-top: 28px;
}

.cat-title {
    font-family: var(--sr-font-serif);
    font-size: clamp(40px, 5vw, 64px);
    font-weight: 300;
    letter-spacing: -0.03em;
    line-height: 1.02;
    margin: 0 0 20px;
    color: var(--sr-ink);
}

.cat-desc {
    font-size: 16px;
    line-height: 1.65;
    color: var(--sr-ink-2);
    max-width: 620px;
    margin: 0 0 24px;
}

.cat-meta-row {
    display: flex;
    gap: 28px;
    padding-top: 20px;
    border-top: 1px solid var(--sr-line);
}

.cat-meta-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cat-meta-k {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    font-weight: 600;
}

.cat-meta-item strong {
    font-family: var(--sr-font-serif);
    font-size: 18px;
    font-weight: 400;
    color: var(--sr-ink);
}

/* Hero sağ kutu */
.cat-hero-side {
    padding: 22px 24px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 16px;
}

.cat-side-head {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    font-weight: 600;
    margin-bottom: 14px;
}

.cat-sub-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cat-sub-chip {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 14px;
    margin: 0 -6px;
    border-radius: 8px;
    font-size: 13.5px;
    color: var(--sr-ink);
    text-decoration: none;
    transition: all var(--sr-dur);
}

.cat-sub-chip:hover {
    background: var(--sr-surface);
    color: var(--sr-clay);
}

.cat-sub-chip span {
    font-size: 11px;
    color: var(--sr-ink-3);
    background: var(--sr-surface-2);
    padding: 2px 8px;
    border-radius: 999px;
}

.cat-sub-more {
    font-size: 12px;
    color: var(--sr-ink-3);
    padding: 10px 8px 4px;
    font-style: italic;
}

@media (max-width: 900px) {
    .cat-hero-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

/* Alt hizmet grid (tüm çocuklar) */
.cat-sub-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.cat-sub-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 18px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: all var(--sr-dur);
}

.cat-sub-card:hover {
    border-color: var(--sr-clay);
    transform: translateX(2px);
}

.cat-sub-card-body {
    min-width: 0;
}

.cat-sub-card-name {
    font-family: var(--sr-font-serif);
    font-size: 15px;
    font-weight: 400;
    color: var(--sr-ink);
    letter-spacing: -0.01em;
    line-height: 1.2;
}

.cat-sub-card-meta {
    font-size: 11px;
    color: var(--sr-ink-3);
    margin-top: 3px;
    letter-spacing: 0.04em;
}

.cat-sub-card-arrow {
    color: var(--sr-ink-4);
    font-size: 16px;
    transition: all 0.25s;
    flex-shrink: 0;
    margin-left: 10px;
}

.cat-sub-card:hover .cat-sub-card-arrow {
    color: var(--sr-clay);
    transform: translateX(3px);
}

@media (max-width: 900px) {
    .cat-sub-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 500px) {
    .cat-sub-grid {
        grid-template-columns: 1fr;
    }
}

/* Şehir grid (kategori içinde) */
.cat-city-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.cat-city-chip {
    display: flex;
    flex-direction: column;
    padding: 16px 18px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: all var(--sr-dur);
}

.cat-city-chip:hover {
    border-color: var(--sr-clay);
    background: var(--sr-surface);
}

.cat-city-name {
    font-family: var(--sr-font-serif);
    font-size: 17px;
    font-weight: 400;
    color: var(--sr-ink);
    letter-spacing: -0.01em;
}

.cat-city-cnt {
    font-size: 11px;
    color: var(--sr-ink-3);
    letter-spacing: 0.06em;
    margin-top: 3px;
}

@media (max-width: 900px) {
    .cat-city-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 600px) {
    .cat-city-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* =========================================================
   İlçe sayfası (/il/ilce)
   ========================================================= */
.dist-hero {
    padding: 40px 0 56px;
    background: linear-gradient(135deg, #f8f1e7 0%, var(--sr-bg) 50%);
    border-bottom: 1px solid var(--sr-line);
}

.dist-hero-grid {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 40px;
    align-items: center;
    margin-top: 28px;
}

.dist-title {
    font-family: var(--sr-font-serif);
    font-size: clamp(34px, 4.5vw, 58px);
    font-weight: 300;
    letter-spacing: -0.03em;
    line-height: 1.02;
    margin: 0 0 16px;
}

.dist-title em {
    font-style: italic;
    color: var(--sr-clay);
    font-weight: 400;
}

.dist-sub {
    font-size: 15px;
    line-height: 1.65;
    color: var(--sr-ink-2);
    max-width: 580px;
    margin: 0 0 24px;
}

.dist-hero-side {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 160px;
}

.dist-stat-box {
    padding: 14px 20px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
}

.dist-stat-n {
    font-family: var(--sr-font-serif);
    font-size: 26px;
    font-weight: 300;
    color: var(--sr-ink);
    letter-spacing: -0.02em;
    line-height: 1;
}

.dist-stat-l {
    font-size: 11px;
    color: var(--sr-ink-3);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

@media (max-width: 800px) {
    .dist-hero-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .dist-hero-side {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .dist-stat-box {
        flex: 1;
        min-width: 110px;
    }
}

.dist-map {
    height: 420px;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid var(--sr-line);
    filter: saturate(0.82) contrast(1.02);
}

@media (max-width: 700px) {
    .dist-map {
        height: 320px;
    }
}

/* =========================================================
   Ajans hizmetleri sayfası
   ========================================================= */
.ag-hero {
    position: relative;
    padding: 48px 0 72px;
    overflow: hidden;
    border-bottom: 1px solid var(--sr-line);
}

.ag-hero-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 20% 20%, rgba(201, 100, 66, 0.12) 0%, transparent 50%),
        radial-gradient(ellipse at 85% 80%, rgba(139, 170, 145, 0.1) 0%, transparent 50%),
        linear-gradient(135deg, var(--sr-bg) 0%, var(--sr-surface) 100%);
    z-index: -1;
}

.ag-hero-inner {
    position: relative;
}

.ag-hero-grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 48px;
    align-items: center;
}

.ag-title {
    font-family: var(--sr-font-serif);
    font-size: clamp(42px, 5.5vw, 68px);
    font-weight: 300;
    letter-spacing: -0.03em;
    line-height: 1.02;
    margin: 0 0 20px;
    color: var(--sr-ink);
}

.ag-title em {
    font-style: italic;
    color: var(--sr-clay);
    font-weight: 400;
}

.ag-sub {
    font-size: 16px;
    line-height: 1.65;
    color: var(--sr-ink-2);
    max-width: 580px;
    margin: 0 0 24px;
}

.ag-hero-cta {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.ag-hero-stat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.ag-hero-stat {
    padding: 22px 20px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
}

.ag-hero-stat .n {
    font-family: var(--sr-font-serif);
    font-size: 32px;
    font-weight: 300;
    letter-spacing: -0.02em;
    color: var(--sr-clay);
    line-height: 1;
}

.ag-hero-stat .l {
    font-size: 11px;
    color: var(--sr-ink-3);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-top: 8px;
}

@media (max-width: 900px) {
    .ag-hero-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}

/* Hizmetler grid */
.ag-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.ag-service {
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 16px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    transition: all var(--sr-dur);
}

.ag-service:hover {
    border-color: var(--sr-clay);
    transform: translateY(-3px);
    box-shadow: 0 20px 44px rgba(43, 39, 36, 0.08);
}

.ag-service-num {
    font-family: var(--sr-font-serif);
    font-size: 32px;
    font-weight: 300;
    color: var(--sr-clay);
    letter-spacing: -0.02em;
    line-height: 1;
    margin-bottom: 12px;
}

.ag-service h3 {
    font-family: var(--sr-font-serif);
    font-size: 22px;
    font-weight: 400;
    letter-spacing: -0.015em;
    margin: 0 0 10px;
    color: var(--sr-ink);
}

.ag-service-desc {
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--sr-ink-2);
    margin: 0 0 16px;
}

.ag-service-list {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.ag-service-list li {
    font-size: 13px;
    color: var(--sr-ink-2);
    padding-left: 18px;
    position: relative;
    line-height: 1.5;
}

.ag-service-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 9px;
    width: 6px;
    height: 6px;
    background: var(--sr-clay);
    border-radius: 50%;
}

.ag-service-foot {
    padding-top: 16px;
    border-top: 1px solid var(--sr-line);
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ag-service-price {
    font-family: var(--sr-font-serif);
    font-size: 15px;
    color: var(--sr-ink);
    font-weight: 500;
}

.ag-service-note {
    font-size: 11px;
    color: var(--sr-ink-3);
}

@media (max-width: 1000px) {
    .ag-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .ag-services-grid {
        grid-template-columns: 1fr;
    }

    .ag-service {
        padding: 22px 20px;
    }
}

/* Neden biz */
.ag-why-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-top: 28px;
}

.ag-why-card {
    padding: 24px 22px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
}

.ag-why-card h4 {
    font-family: var(--sr-font-serif);
    font-size: 17px;
    font-weight: 400;
    letter-spacing: -0.01em;
    margin: 0 0 8px;
}

.ag-why-card p {
    font-size: 13px;
    line-height: 1.6;
    color: var(--sr-ink-2);
    margin: 0;
}

@media (max-width: 900px) {
    .ag-why-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 500px) {
    .ag-why-grid {
        grid-template-columns: 1fr;
    }
}

/* Süreç */
.ag-process {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 28px;
}

.ag-step {
    padding: 22px 20px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    position: relative;
}

.ag-step-num {
    font-family: var(--sr-font-serif);
    font-size: 20px;
    font-weight: 400;
    color: var(--sr-clay);
    letter-spacing: 0.04em;
    margin-bottom: 8px;
}

.ag-step h4 {
    font-family: var(--sr-font-serif);
    font-size: 16px;
    font-weight: 400;
    letter-spacing: -0.01em;
    margin: 0 0 8px;
}

.ag-step p {
    font-size: 12.5px;
    line-height: 1.55;
    color: var(--sr-ink-2);
    margin: 0;
}

@media (max-width: 900px) {
    .ag-process {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 500px) {
    .ag-process {
        grid-template-columns: 1fr;
    }
}

/* İletişim CTA */
.ag-contact {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    padding: 48px;
    background: linear-gradient(135deg, rgba(201, 100, 66, 0.05) 0%, rgba(139, 170, 145, 0.04) 100%);
    border: 1px solid var(--sr-line);
    border-radius: 20px;
}

.ag-contact-title {
    font-family: var(--sr-font-serif);
    font-size: clamp(28px, 3.5vw, 38px);
    font-weight: 300;
    letter-spacing: -0.02em;
    line-height: 1.1;
    margin: 8px 0 0;
}

.ag-contact-title em {
    font-style: italic;
    color: var(--sr-clay);
    font-weight: 400;
}

.ag-contact-info {
    padding: 24px 28px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
}

.ag-contact-info h4 {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    font-weight: 600;
    margin: 0 0 14px;
}

.ag-contact-row {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 0;
    border-bottom: 1px solid var(--sr-line);
}

.ag-contact-row:last-child {
    border-bottom: none;
}

.ag-contact-row strong {
    font-size: 14px;
    color: var(--sr-ink);
}

.ag-contact-row a {
    color: var(--sr-ink);
    text-decoration: none;
}

.ag-contact-row a:hover {
    color: var(--sr-clay);
}

@media (max-width: 800px) {
    .ag-contact {
        grid-template-columns: 1fr;
        padding: 28px 24px;
    }
}

/* =========================================================
   İl sayfası (/istanbul vb.)
   ========================================================= */
.prov-hero {
    position: relative;
    padding: 40px 0 64px;
    border-bottom: 1px solid var(--sr-line);
    overflow: hidden;
}

.prov-hero-bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #f8f1e7 0%, #f2e8d9 100%);
    z-index: -1;
}

.prov-hero-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.4;
    pointer-events: none;
}

.prov-hero-blob-1 {
    width: 500px;
    height: 500px;
    top: -100px;
    right: -100px;
    background: radial-gradient(circle, rgba(201, 100, 66, 0.5) 0%, transparent 70%);
}

.prov-hero-blob-2 {
    width: 360px;
    height: 360px;
    bottom: -80px;
    left: -80px;
    background: radial-gradient(circle, rgba(139, 170, 145, 0.4) 0%, transparent 70%);
}

.prov-hero-inner {
    position: relative;
    z-index: 1;
}

.prov-crumbs {
    display: flex;
    gap: 6px;
    align-items: center;
    font-size: 12px;
    color: var(--sr-ink-3);
    margin-bottom: 28px;
}

.prov-crumbs a {
    color: var(--sr-ink-3);
    text-decoration: none;
}

.prov-crumbs a:hover {
    color: var(--sr-clay);
}

.prov-hero-grid {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 48px;
    align-items: start;
}

.prov-title {
    font-family: var(--sr-font-serif);
    font-size: clamp(40px, 5vw, 72px);
    font-weight: 300;
    letter-spacing: -0.03em;
    line-height: 1.02;
    margin: 0 0 20px;
    color: var(--sr-ink);
}

.prov-title em {
    font-style: italic;
    color: var(--sr-clay);
    font-weight: 400;
}

.prov-sub {
    font-size: 16px;
    line-height: 1.65;
    color: var(--sr-ink-2);
    max-width: 620px;
    margin: 0 0 28px;
}

.prov-search {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 10px;
    align-items: center;
    background: var(--sr-bg);
    border: 1.5px solid var(--sr-line-2);
    border-radius: 999px;
    padding: 6px 6px 6px 20px;
    max-width: 540px;
    transition: all var(--sr-dur);
}

.prov-search:focus-within {
    border-color: var(--sr-clay);
    box-shadow: 0 8px 24px rgba(201, 100, 66, 0.12);
}

.prov-search svg {
    color: var(--sr-ink-3);
}

.prov-search input {
    border: none;
    background: transparent;
    outline: none;
    padding: 10px 0;
    font-size: 14px;
    color: var(--sr-ink);
    font-family: inherit;
}

.prov-quick-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 20px;
}

.prov-quick-cat {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 999px;
    font-size: 12.5px;
    color: var(--sr-ink-2);
    text-decoration: none;
    transition: all var(--sr-dur);
}

.prov-quick-cat:hover {
    border-color: var(--sr-clay);
    color: var(--sr-ink);
}

.prov-quick-cat span {
    color: var(--sr-ink-4);
    font-size: 11px;
}

.prov-hero-stats {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2px;
    background: var(--sr-line);
    border: 1px solid var(--sr-line);
    border-radius: 16px;
    overflow: hidden;
    padding: 2px;
}

.prov-stat {
    background: var(--sr-bg);
    padding: 20px 14px;
    text-align: center;
    border-radius: 14px;
}

.prov-stat-n {
    font-family: var(--sr-font-serif);
    font-size: 32px;
    font-weight: 300;
    letter-spacing: -0.02em;
    color: var(--sr-ink);
    line-height: 1;
}

.prov-stat-l {
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    margin-top: 8px;
}

@media (max-width: 900px) {
    .prov-hero-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .prov-hero-stats {
        grid-template-columns: 1fr 1fr 1fr;
        max-width: 420px;
    }
}

@media (max-width: 500px) {
    .prov-hero {
        padding: 24px 0 40px;
    }

    .prov-title {
        font-size: 36px;
    }

    .prov-sub {
        font-size: 14px;
    }

    .prov-stat {
        padding: 14px 8px;
    }

    .prov-stat-n {
        font-size: 22px;
    }
}

/* İki yaka layout */
.prov-sides {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
}

.prov-side-head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-bottom: 16px;
    margin-bottom: 18px;
    border-bottom: 1px solid var(--sr-line);
}

.prov-side-num {
    font-family: var(--sr-font-serif);
    font-size: 34px;
    font-weight: 300;
    color: var(--sr-clay);
    letter-spacing: -0.02em;
    line-height: 1;
}

.prov-side-name {
    font-family: var(--sr-font-serif);
    font-size: 22px;
    font-weight: 400;
    letter-spacing: -0.015em;
}

.prov-side-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

@media (max-width: 900px) {
    .prov-sides {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .prov-side-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* İlçe kartları */
.prov-dist-card {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 10px 14px 10px 10px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: all var(--sr-dur);
    overflow: hidden;
}

.prov-dist-card::after {
    content: '→';
    margin-left: auto;
    color: var(--sr-ink-4);
    font-size: 14px;
    transition: all 0.25s;
}

.prov-dist-card:hover {
    border-color: var(--sr-clay);
    transform: translateX(2px);
}

.prov-dist-card:hover::after {
    color: var(--sr-clay);
    transform: translateX(3px);
}

.prov-dist-card:hover .prov-dist-img {
    transform: scale(1.08);
}

.prov-dist-img {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background-size: cover;
    background-position: center;
    background-color: var(--sr-surface-2);
    flex-shrink: 0;
    transition: transform 0.4s;
}

.prov-dist-body {
    min-width: 0;
}

.prov-dist-name {
    font-family: var(--sr-font-serif);
    font-size: 15px;
    font-weight: 400;
    color: var(--sr-ink);
    line-height: 1.2;
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.prov-dist-meta {
    font-size: 11px;
    color: var(--sr-ink-3);
    letter-spacing: 0.04em;
}

/* Tam ilçe tag listesi (alt kısım) */
.prov-dist-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.prov-dist-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 999px;
    font-size: 13px;
    color: var(--sr-ink-2);
    text-decoration: none;
    transition: all var(--sr-dur);
}

.prov-dist-tag:hover {
    border-color: var(--sr-clay);
    background: var(--sr-surface);
    color: var(--sr-ink);
}

.prov-dist-tag span {
    background: var(--sr-surface-2);
    color: var(--sr-ink-3);
    padding: 1px 7px;
    border-radius: 999px;
    font-size: 11px;
}

/* CTA — alt kısım */
.prov-cta {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
    align-items: center;
    padding: 28px 32px;
    background: linear-gradient(135deg, rgba(201, 100, 66, 0.06) 0%, rgba(139, 170, 145, 0.04) 100%);
    border: 1px solid rgba(201, 100, 66, 0.2);
    border-radius: 16px;
}

.prov-cta-title {
    font-family: var(--sr-font-serif);
    font-size: 22px;
    font-weight: 400;
    letter-spacing: -0.015em;
    margin: 6px 0 0;
    color: var(--sr-ink);
}

@media (max-width: 600px) {
    .prov-cta {
        grid-template-columns: 1fr;
        text-align: left;
        padding: 22px 20px;
    }

    .prov-side-grid {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   Province — Top district cards (yeni görsel format)
   ========================================================= */

.prov-top-dist-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 28px;
}

.prov-top-dist-grid--wide {
    grid-template-columns: repeat(4, 1fr);
}

.prov-top-dist-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid var(--sr-line);
    background: var(--sr-bg);
    transition: box-shadow var(--sr-dur), transform var(--sr-dur);
}

.prov-top-dist-card:hover {
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.10);
    transform: translateY(-3px);
}

.prov-top-dist-img {
    width: 100%;
    aspect-ratio: 4/3;
    background-size: cover;
    background-position: center;
    background-color: var(--sr-surface-2);
    transition: transform 0.4s;
}

.prov-top-dist-card:hover .prov-top-dist-img {
    transform: scale(1.04);
}

.prov-top-dist-name {
    font-family: var(--sr-font-serif);
    font-size: 15px;
    font-weight: 500;
    color: var(--sr-ink);
    padding: 10px 12px 2px;
    line-height: 1.25;
}

.prov-top-dist-count {
    font-size: 11px;
    color: var(--sr-ink-3);
    padding: 0 12px 10px;
    letter-spacing: 0.03em;
}

/* Diğer ilçeler — pill grubu */
.prov-more-districts {
    border-top: 1px solid var(--sr-line);
    padding-top: 20px;
    margin-top: 4px;
}

.prov-more-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--sr-ink-4);
    margin-bottom: 12px;
}

.prov-dist-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.prov-dist-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 999px;
    font-size: 13px;
    color: var(--sr-ink-2);
    text-decoration: none;
    transition: all var(--sr-dur);
}

.prov-dist-pill:hover {
    border-color: var(--sr-clay);
    color: var(--sr-ink);
    background: var(--sr-surface);
}

.prov-dist-pill span {
    background: var(--sr-surface-2);
    color: var(--sr-ink-3);
    padding: 0 6px;
    border-radius: 999px;
    font-size: 11px;
}

/* Editorial bölümü */
.prov-editorial {
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 20px;
    padding: 40px 48px;
    position: relative;
    overflow: hidden;
}

.prov-editorial::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(201, 100, 66, 0.06) 0%, transparent 70%);
    pointer-events: none;
}

.prov-editorial-label {
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--sr-clay);
    margin-bottom: 12px;
}

.prov-editorial-title {
    font-family: var(--sr-font-serif);
    font-size: 28px;
    font-weight: 400;
    letter-spacing: -0.02em;
    margin: 0 0 20px;
    color: var(--sr-ink);
    max-width: 640px;
}

.prov-editorial-body {
    font-size: 15px;
    line-height: 1.7;
    color: var(--sr-ink-2);
    max-width: 680px;
    margin-bottom: 28px;
}

.prov-editorial-body p {
    margin: 0 0 14px;
}

.prov-editorial-body p:last-child {
    margin-bottom: 0;
}

.prov-editorial-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    border-top: 1px solid var(--sr-line);
    padding-top: 24px;
}

.prov-editorial-cat {
    display: flex;
    flex-direction: column;
    padding: 10px 16px;
    background: var(--sr-surface);
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    text-decoration: none;
    transition: all var(--sr-dur);
    min-width: 90px;
}

.prov-editorial-cat:hover {
    border-color: var(--sr-clay);
    background: var(--sr-bg);
}

.prov-editorial-cat-name {
    font-size: 13px;
    font-weight: 500;
    color: var(--sr-ink);
}

.prov-editorial-cat-count {
    font-size: 11px;
    color: var(--sr-ink-3);
    margin-top: 2px;
}

/* SSS (FAQ) */
.prov-faq {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.prov-faq-item {
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    overflow: hidden;
    background: var(--sr-bg);
    transition: border-color var(--sr-dur);
}

.prov-faq-item[open] {
    border-color: var(--sr-clay);
}

.prov-faq-q {
    padding: 18px 20px;
    font-size: 15px;
    font-weight: 500;
    color: var(--sr-ink);
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    line-height: 1.4;
    user-select: none;
}

.prov-faq-q::-webkit-details-marker {
    display: none;
}

.prov-faq-q::after {
    content: '+';
    font-size: 20px;
    font-weight: 300;
    color: var(--sr-clay);
    flex-shrink: 0;
    transition: transform 0.2s;
}

.prov-faq-item[open] .prov-faq-q::after {
    transform: rotate(45deg);
}

.prov-faq-a {
    padding: 0 20px 18px;
    font-size: 14px;
    line-height: 1.7;
    color: var(--sr-ink-2);
    border-top: 1px solid var(--sr-line);
    padding-top: 16px;
    margin-top: -1px;
}

.prov-faq-a a {
    color: var(--sr-clay);
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (max-width: 900px) {
    .prov-top-dist-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .prov-top-dist-grid--wide {
        grid-template-columns: repeat(2, 1fr);
    }

    .prov-editorial {
        padding: 28px 24px;
    }

    .prov-editorial-title {
        font-size: 22px;
    }
}

@media (max-width: 500px) {

    .prov-top-dist-grid,
    .prov-top-dist-grid--wide {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .prov-editorial {
        padding: 20px 16px;
    }
}

/* =========================================================
   Home — İstanbul odaklı sections
   ========================================================= */

/* İstanbul ilçe grid — minimal horizontal kart (top 6) */
.home-ist-head {
    align-items: flex-end;
}

.home-ist-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.home-ist-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 14px 10px 10px;
    border-radius: 14px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    text-decoration: none;
    color: inherit;
    transition: all var(--sr-dur);
    overflow: hidden;
}

.home-ist-card::after {
    content: '→';
    margin-left: auto;
    color: var(--sr-ink-4);
    font-size: 16px;
    transition: all 0.25s;
}

.home-ist-card:hover {
    border-color: var(--sr-clay);
    transform: translateX(2px);
    box-shadow: 0 8px 24px rgba(43, 39, 36, 0.06);
}

.home-ist-card:hover::after {
    color: var(--sr-clay);
    transform: translateX(3px);
}

.home-ist-card:hover .home-ist-img {
    transform: scale(1.08);
}

.home-ist-img {
    width: 56px;
    height: 56px;
    border-radius: 10px;
    background-size: cover;
    background-position: center;
    background-color: var(--sr-surface-2);
    flex-shrink: 0;
    transition: transform 0.4s cubic-bezier(0.2, 0.9, 0.3, 1);
}

.home-ist-overlay {
    display: none;
}

.home-ist-label {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.home-ist-name {
    font-family: var(--sr-font-serif);
    font-size: 17px;
    font-weight: 400;
    letter-spacing: -0.012em;
    color: var(--sr-ink);
    line-height: 1.15;
    margin-bottom: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.home-ist-meta {
    font-size: 11px;
    color: var(--sr-ink-3);
    letter-spacing: 0.04em;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .home-ist-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 500px) {
    .home-ist-grid {
        grid-template-columns: 1fr !important;
        gap: 8px;
    }

    .home-ist-name {
        font-size: 15px;
    }
}

@media (max-width: 900px) {
    .home-ist-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 500px) {
    .home-ist-grid {
        grid-template-columns: 1fr;
    }
}

/* Editor's pick — büyük hero card */
.home-editor {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 0;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 18px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: all var(--sr-dur);
}

.home-editor:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 50px rgba(43, 39, 36, 0.1);
}

.home-editor-img {
    position: relative;
    min-height: 360px;
    background-size: cover;
    background-position: center;
    background-color: var(--sr-surface-2);
}

.home-editor-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 50%, rgba(43, 39, 36, 0.35) 100%);
}

.home-editor-tag {
    position: absolute;
    top: 18px;
    left: 18px;
    background: rgba(255, 255, 255, 0.95);
    color: var(--sr-ink);
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 600;
    backdrop-filter: blur(8px);
}

.home-editor-body {
    padding: 40px 44px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
}

.home-editor-name {
    font-family: var(--sr-font-serif);
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 300;
    letter-spacing: -0.025em;
    line-height: 1.08;
    margin: 8px 0 6px;
}

.home-editor-desc {
    font-family: var(--sr-font-serif);
    font-style: italic;
    font-size: 17px;
    color: var(--sr-ink-2);
    line-height: 1.5;
    margin: 10px 0;
}

.home-editor-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    font-size: 13px;
    color: var(--sr-ink-2);
    margin-top: 8px;
}

.home-editor-rating {
    color: var(--sr-ink);
    font-weight: 500;
}

.home-editor-rating .muted {
    color: var(--sr-ink-3);
    font-weight: 400;
}

.home-editor-dot {
    color: var(--sr-ink-4);
}

.home-editor-cta {
    display: inline-block;
    margin-top: 18px;
    color: var(--sr-clay);
    font-weight: 500;
    font-size: 14px;
}

.home-editor:hover .home-editor-cta {
    text-decoration: underline;
}

@media (max-width: 900px) {
    .home-editor {
        grid-template-columns: 1fr;
    }

    .home-editor-img {
        min-height: 240px;
    }

    .home-editor-body {
        padding: 28px 24px;
    }
}

/* Ritüeller (büyük görselli kategori) */
.home-rituels {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.home-rituel {
    display: flex;
    flex-direction: column;
    border-radius: 14px;
    overflow: hidden;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    text-decoration: none;
    color: inherit;
    transition: all var(--sr-dur);
}

.home-rituel:hover {
    transform: translateY(-3px);
    border-color: var(--sr-clay);
    box-shadow: 0 18px 40px rgba(43, 39, 36, 0.08);
}

.home-rituel-img {
    aspect-ratio: 16/10;
    background-size: cover;
    background-position: center;
    position: relative;
}

.home-rituel-img::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(43, 39, 36, 0.35) 100%);
}

.home-rituel-ico {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.92);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: var(--sr-clay);
    backdrop-filter: blur(6px);
    z-index: 1;
}

.home-rituel-body {
    padding: 16px 20px;
}

.home-rituel-name {
    font-family: var(--sr-font-serif);
    font-size: 20px;
    font-weight: 400;
    letter-spacing: -0.01em;
    margin: 0 0 4px;
}

.home-rituel-desc {
    font-size: 13px;
    color: var(--sr-ink-3);
    margin: 0;
    line-height: 1.5;
}

@media (max-width: 800px) {
    .home-rituels {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 500px) {
    .home-rituels {
        grid-template-columns: 1fr;
    }
}

/* Neden Spa Rehber — trust strip */
.home-why-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 28px;
}

.home-why-card {
    text-align: center;
    padding: 28px 20px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
}

.home-why-ico {
    width: 54px;
    height: 54px;
    margin: 0 auto 14px;
    background: var(--sr-clay);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-family: var(--sr-font-serif);
}

.home-why-card h4 {
    font-family: var(--sr-font-serif);
    font-size: 17px;
    font-weight: 400;
    letter-spacing: -0.01em;
    margin: 0 0 8px;
}

.home-why-card p {
    font-size: 13px;
    color: var(--sr-ink-2);
    line-height: 1.55;
    margin: 0;
}

@media (max-width: 900px) {
    .home-why-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 500px) {
    .home-why-grid {
        grid-template-columns: 1fr;
    }
}

/* Topluluk yorumları */
.home-reviews {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.home-review {
    display: flex;
    flex-direction: column;
    padding: 20px 22px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    text-decoration: none;
    color: inherit;
    transition: all var(--sr-dur);
}

.home-review:hover {
    border-color: var(--sr-clay);
    transform: translateY(-2px);
    box-shadow: 0 16px 36px rgba(43, 39, 36, 0.06);
}

.home-review-head {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 10px;
}

.home-review-biz-img {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background-size: cover;
    background-position: center;
    background-color: var(--sr-surface-2);
    flex-shrink: 0;
}

.home-review-biz-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--sr-font-serif);
    font-size: 20px;
    color: var(--sr-ink-4);
}

.home-review-biz-name {
    font-family: var(--sr-font-serif);
    font-size: 15px;
    color: var(--sr-ink);
}

.home-review-stars {
    color: var(--sr-clay);
    font-size: 12px;
    margin-top: 2px;
}

.home-review-stars .dim {
    color: var(--sr-line-2);
}

.home-review-title {
    font-family: var(--sr-font-serif);
    font-style: italic;
    font-size: 15px;
    color: var(--sr-ink);
    margin: 8px 0 4px;
    line-height: 1.3;
}

.home-review-body {
    font-size: 13px;
    color: var(--sr-ink-2);
    line-height: 1.55;
    margin: 4px 0 10px;
}

.home-review-foot {
    font-size: 12px;
    color: var(--sr-ink-3);
    margin-top: auto;
}

@media (max-width: 700px) {
    .home-reviews {
        grid-template-columns: 1fr;
    }
}

/* Blog preview */
.home-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.home-blog-card {
    display: flex;
    flex-direction: column;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: all var(--sr-dur);
}

.home-blog-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 36px rgba(43, 39, 36, 0.08);
}

.home-blog-img {
    aspect-ratio: 16/10;
    background-size: cover;
    background-position: center;
    background-color: var(--sr-surface-2);
}

.home-blog-img-empty {
    background: linear-gradient(135deg, var(--sr-surface-2) 0%, var(--sr-line) 100%);
}

.home-blog-body {
    padding: 18px 20px;
}

.home-blog-title {
    font-family: var(--sr-font-serif);
    font-size: 18px;
    font-weight: 400;
    letter-spacing: -0.01em;
    line-height: 1.3;
    margin: 0 0 8px;
}

.home-blog-excerpt {
    font-size: 13px;
    color: var(--sr-ink-2);
    line-height: 1.55;
    margin: 0 0 12px;
}

@media (max-width: 900px) {
    .home-blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .home-blog-grid {
        grid-template-columns: 1fr;
    }
}

/* FAQ */
.home-faq {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.home-faq-item {
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    padding: 0 20px;
    transition: border-color var(--sr-dur);
}

.home-faq-item[open] {
    border-color: var(--sr-clay);
}

.home-faq-item summary {
    font-family: var(--sr-font-serif);
    font-size: 16px;
    color: var(--sr-ink);
    padding: 16px 0;
    cursor: pointer;
    list-style: none;
    position: relative;
    padding-right: 32px;
    user-select: none;
}

.home-faq-item summary::-webkit-details-marker {
    display: none;
}

.home-faq-item summary::after {
    content: '+';
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 22px;
    color: var(--sr-ink-3);
    transition: transform 0.2s;
    font-weight: 300;
}

.home-faq-item[open] summary::after {
    transform: translateY(-50%) rotate(45deg);
    color: var(--sr-clay);
}

.home-faq-item p {
    font-size: 14px;
    line-height: 1.65;
    color: var(--sr-ink-2);
    margin: 0 0 18px;
}

.home-faq-item p a {
    color: var(--sr-clay);
}

/* =========================================================
   Owner panel — layout (sol sidebar + main)
   ========================================================= */
.owner-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    min-height: calc(100vh - 80px);
}

.owner-sidenav {
    position: sticky;
    top: 64px;
    align-self: flex-start;
    height: calc(100vh - 64px);
    background: var(--sr-surface);
    border-right: 1px solid var(--sr-line);
    padding: 24px 14px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.owner-side-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0 8px 16px;
    margin-bottom: 6px;
    border-bottom: 1px solid var(--sr-line);
}

.owner-side-head .eyebrow {
    font-size: 10px;
    margin-bottom: 2px;
}

.owner-side-user {
    font-family: var(--sr-font-serif);
    font-size: 17px;
    color: var(--sr-ink);
    letter-spacing: -0.01em;
}

.owner-side-head-biz {
    flex: 1;
    min-width: 0;
    padding: 10px 12px;
    background: rgba(201, 100, 66, 0.05);
    border: 1px solid rgba(201, 100, 66, 0.2);
    border-radius: 10px;
}

.owner-side-switcher {
    margin: 0 !important;
}

.owner-side-switcher .owner-nav-switcher-btn {
    background: rgba(201, 100, 66, 0.05);
    border-color: rgba(201, 100, 66, 0.2);
    padding: 10px 12px;
}

.owner-side-switcher .owner-nav-switcher-btn:hover {
    border-color: rgba(201, 100, 66, 0.45);
    background: rgba(201, 100, 66, 0.08);
}

.owner-side-head-biz .owner-nav-biz-name,
.owner-side-switcher .owner-nav-biz-name {
    font-size: 15px;
}

/* === Glossary (Spa & Wellness Sözlüğü) === */
.gloss-hero {
    padding: 64px 0 40px;
    background: linear-gradient(180deg, rgba(201, 100, 66, 0.04) 0%, transparent 100%);
    border-bottom: 1px solid var(--sr-line);
}

.gloss-title {
    font-family: var(--sr-font-serif);
    font-size: 48px;
    font-weight: 300;
    letter-spacing: -0.025em;
    margin: 0 0 12px;
    line-height: 1.05;
}

.gloss-lede {
    color: var(--sr-muted);
    font-size: 17px;
    line-height: 1.55;
    max-width: 640px;
    margin: 0 0 28px;
}

.gloss-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding-top: 12px;
    border-top: 1px solid var(--sr-line);
}

.gloss-nav-letter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    color: var(--sr-ink);
    text-decoration: none;
    font-family: var(--sr-font-serif);
    font-size: 15px;
    font-weight: 500;
    transition: all var(--sr-dur);
}

.gloss-nav-letter:hover {
    border-color: var(--sr-clay);
    color: var(--sr-clay);
    transform: translateY(-1px);
}

.gloss-body {
    padding: 48px 0 24px;
}

.gloss-group {
    padding-bottom: 40px;
    margin-bottom: 40px;
    border-bottom: 1px solid var(--sr-line);
}

.gloss-group:last-child {
    border-bottom: none;
}

.gloss-letter {
    font-family: var(--sr-font-serif);
    font-size: 64px;
    font-weight: 300;
    letter-spacing: -0.03em;
    margin: 0 0 20px;
    color: var(--sr-clay);
    line-height: 1;
    scroll-margin-top: 90px;
}

.gloss-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

@media (max-width: 860px) {
    .gloss-list {
        grid-template-columns: 1fr;
    }
}

.gloss-item {
    padding: 22px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    transition: border-color var(--sr-dur), transform var(--sr-dur);
}

.gloss-item:hover {
    border-color: rgba(201, 100, 66, 0.4);
    transform: translateY(-1px);
}

.gloss-item-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 8px;
}

.gloss-item-term {
    font-family: var(--sr-font-serif);
    font-size: 20px;
    font-weight: 500;
    letter-spacing: -0.01em;
    margin: 0;
    line-height: 1.2;
}

.gloss-item-cat {
    flex: none;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sr-clay);
    padding: 3px 8px;
    background: rgba(201, 100, 66, 0.1);
    border-radius: 999px;
    white-space: nowrap;
}

.gloss-item-short {
    color: var(--sr-ink);
    font-size: 14px;
    font-weight: 500;
    margin: 6px 0 10px;
    line-height: 1.45;
}

.gloss-item-def {
    color: var(--sr-muted);
    font-size: 13.5px;
    line-height: 1.6;
    margin: 0;
}

.gloss-cta {
    padding: 28px 32px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

@media (max-width: 700px) {
    .gloss-hero {
        padding: 40px 0 28px;
    }

    .gloss-title {
        font-size: 36px;
    }

    .gloss-letter {
        font-size: 48px;
    }

    .gloss-item {
        padding: 18px;
    }

    .gloss-cta {
        padding: 22px;
    }
}

.owner-side-close {
    display: none;
    width: 32px;
    height: 32px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 8px;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    color: var(--sr-ink);
}

.owner-nav {
    display: flex;
    flex-direction: column;
    gap: 0;
    flex: 1;
}

.owner-nav-group {
    padding: 6px 0 10px;
    border-bottom: 0;
    margin-bottom: 4px;
}

.owner-nav-group:last-child {
    border-bottom: none;
}

.owner-nav-head {
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    font-weight: 700;
    padding: 12px 12px 6px;
    margin-top: 4px;
    border-top: 1px solid var(--sr-line);
}

.owner-nav-group:first-child .owner-nav-head { border-top: 0; margin-top: 0; padding-top: 4px; }

.owner-nav a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    font-size: 13px;
    color: var(--sr-ink-2);
    text-decoration: none;
    border-radius: 8px;
    position: relative;
    transition: background 0.15s, color 0.15s;
    min-height: 34px;
}

.owner-nav a svg {
    color: var(--sr-ink-3);
    flex-shrink: 0;
    transition: color 0.15s;
    width: 16px;
    height: 16px;
}

.owner-nav a:hover {
    background: var(--sr-surface);
    color: var(--sr-ink);
}

.owner-nav a:hover svg { color: var(--sr-clay); }

.owner-nav a.active {
    background: var(--sr-ink);
    color: #fff;
    font-weight: 500;
}

.owner-nav a.active svg { color: var(--sr-clay); }
.owner-nav a.active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: var(--sr-clay);
}

.owner-nav-badge {
    background: var(--sr-clay);
    color: #fff;
    font-size: 11px;
    padding: 1px 7px;
    border-radius: 999px;
    margin-left: auto;
    font-weight: 600;
}

.owner-nav a.active .owner-nav-badge {
    background: rgba(250, 249, 246, 0.2);
}

.owner-nav-biz {
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    padding: 10px 12px;
    margin: 4px 0 8px;
}

.owner-nav-biz-name {
    font-family: var(--sr-font-serif);
    font-size: 14px;
    color: var(--sr-ink);
    line-height: 1.25;
    margin-bottom: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.owner-nav-biz-meta {
    font-size: 11px;
}

/* Switcher (çoklu işletme) */
.owner-nav-switcher {
    position: relative;
    margin: 4px 0 8px;
}

.owner-nav-switcher-btn {
    width: 100%;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    padding: 10px 12px;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    transition: border-color var(--sr-dur), background var(--sr-dur);
}

.owner-nav-switcher-btn:hover {
    border-color: var(--sr-ink-3);
}

.owner-nav-switcher-btn .owner-nav-biz-name,
.owner-nav-switcher-btn .owner-nav-biz-meta {
    flex: 1;
    min-width: 0;
}

.owner-nav-switcher-caret {
    margin-top: 4px;
    color: var(--sr-muted);
    flex: none;
    transition: transform var(--sr-dur);
}

.owner-nav-switcher.open .owner-nav-switcher-caret {
    transform: rotate(180deg);
}

.owner-nav-switcher-menu {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    box-shadow: 0 12px 28px -12px rgba(43, 39, 36, 0.25);
    padding: 4px;
    max-height: 320px;
    overflow-y: auto;
    z-index: 30;
    display: none;
}

.owner-nav-switcher.open .owner-nav-switcher-menu {
    display: block;
}

.owner-nav-switcher-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 10px;
    border-radius: 8px;
    color: var(--sr-ink);
    text-decoration: none;
    transition: background var(--sr-dur);
}

.owner-nav-switcher-item:hover {
    background: rgba(43, 39, 36, 0.05);
}

.owner-nav-switcher-item.active {
    background: rgba(201, 100, 66, 0.08);
    color: var(--sr-clay);
}

.owner-nav-switcher-item-name {
    font-family: var(--sr-font-serif);
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.owner-nav-switcher-item-status {
    font-size: 11px;
    color: var(--sr-muted);
}

.owner-nav-switcher-item.active .owner-nav-switcher-item-status {
    color: var(--sr-clay);
}

.owner-nav-switcher-add {
    display: block;
    padding: 8px 10px;
    margin-top: 4px;
    border-top: 1px solid var(--sr-line);
    color: var(--sr-clay);
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
}

.owner-nav-switcher-add:hover {
    background: rgba(201, 100, 66, 0.05);
}

.owner-side-foot {
    padding-top: 14px;
    border-top: 1px solid var(--sr-line);
    margin-top: 6px;
}

.owner-side-foot-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    font-size: 12px;
    color: var(--sr-ink-3);
    text-decoration: none;
}

.owner-side-foot-link:hover {
    color: var(--sr-clay);
}

.owner-side-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(43, 39, 36, 0.5);
    z-index: 95;
}

/* Main */
.owner-main {
    min-width: 0;
    padding: 0;
}

.owner-main-topbar {
    display: none;
    position: sticky;
    top: 70px;
    z-index: 20;
    padding: 12px 16px;
    background: rgba(250, 249, 246, 0.95);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--sr-line);
    align-items: center;
    gap: 12px;
}

.owner-side-toggle {
    width: 36px;
    height: 36px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--sr-ink);
}

.owner-main-title {
    font-family: var(--sr-font-serif);
    font-size: 17px;
    color: var(--sr-ink);
    letter-spacing: -0.01em;
}

.owner-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 32px 40px 96px;
}

/* Mobile */
@media (max-width: 900px) {
    .owner-layout {
        grid-template-columns: 1fr;
    }

    .owner-sidenav {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        width: 280px;
        z-index: 100;
        transform: translateX(-100%);
        transition: transform 0.25s cubic-bezier(0.2, 0.9, 0.3, 1);
        padding-top: 20px;
    }

    body.owner-side-open .owner-sidenav {
        transform: translateX(0);
    }

    body.owner-side-open .owner-side-backdrop {
        display: block;
    }

    body.owner-side-open {
        overflow: hidden;
    }

    .owner-side-close {
        display: inline-flex;
    }

    .owner-main-topbar {
        display: flex;
    }

    .owner-page {
        padding: 20px 16px 64px;
    }
}

/* =========================================================
   Member hesap sayfası (/hesap)
   ========================================================= */
.acc-info-card {
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    padding: 4px 0;
}

.acc-info-row {
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 20px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--sr-line);
    align-items: center;
}

.acc-info-row:last-child {
    border-bottom: none;
}

.acc-info-k {
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    font-weight: 600;
}

.acc-info-v {
    font-size: 14px;
    color: var(--sr-ink);
}

@media (max-width: 600px) {
    .acc-info-row {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 12px 16px;
    }
}

.acc-biz-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    transition: border-color var(--sr-dur);
}

.acc-biz-row:hover {
    border-color: var(--sr-line-2);
}

.acc-biz-name {
    font-family: var(--sr-font-serif);
    font-size: 16px;
    color: var(--sr-ink);
    letter-spacing: -0.01em;
    margin-bottom: 4px;
}

.acc-biz-meta {
    font-size: 12px;
}

.acc-biz-actions {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}

.acc-claim-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 18px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: border-color var(--sr-dur);
}

.acc-claim-row:hover {
    border-color: var(--sr-clay);
}

.acc-review {
    padding: 18px 20px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 12px;
}

.acc-review-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.acc-review-biz {
    font-family: var(--sr-font-serif);
    font-size: 16px;
    color: var(--sr-ink);
    text-decoration: none;
    letter-spacing: -0.01em;
}

.acc-review-biz:hover {
    color: var(--sr-clay);
}

.acc-review-title {
    font-family: var(--sr-font-serif);
    font-style: italic;
    font-size: 15px;
    color: var(--sr-ink);
    margin: 4px 0 6px;
}

.acc-review-body {
    font-size: 13px;
    line-height: 1.55;
    color: var(--sr-ink-2);
    margin: 4px 0 8px;
}

/* =========================================================
   Owner — hub (/isletme dashboard)
   ========================================================= */
.hub-welcome {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 28px;
}

.hub-greeting {
    font-family: var(--sr-font-serif);
    font-size: clamp(32px, 4vw, 42px);
    font-weight: 300;
    letter-spacing: -0.025em;
    line-height: 1.1;
    margin: 4px 0 0;
}

.hub-greeting em {
    font-style: italic;
    color: var(--sr-clay);
    font-weight: 400;
}

.hub-welcome-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.hub-empty {
    text-align: center;
    padding: 80px 24px;
    border: 1px solid var(--sr-line);
    border-radius: 16px;
    background: var(--sr-bg);
}

.hub-empty-ico {
    font-size: 48px;
    margin-bottom: 16px;
    opacity: 0.6;
}

.hub-empty h2 {
    font-family: var(--sr-font-serif);
    font-size: 26px;
    font-weight: 400;
    margin: 0 0 8px;
    letter-spacing: -0.015em;
}

.hub-empty p {
    max-width: 440px;
    margin: 0 auto;
    line-height: 1.55;
}

.hub-empty-mini {
    text-align: center;
    padding: 36px 20px;
    border: 1px dashed var(--sr-line);
    border-radius: 12px;
}

.hub-section-title {
    font-family: var(--sr-font-serif);
    font-size: 22px;
    font-weight: 400;
    letter-spacing: -0.015em;
    margin: 32px 0 16px;
}

/* KPI row */
.hub-kpi {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 12px;
}

.hub-kpi-card {
    display: flex;
    gap: 14px;
    align-items: center;
    padding: 18px 20px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
}

.hub-kpi-ico {
    width: 44px;
    height: 44px;
    background: var(--sr-surface);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}

.hub-kpi-n {
    font-family: var(--sr-font-serif);
    font-size: 28px;
    font-weight: 300;
    line-height: 1;
    letter-spacing: -0.02em;
    color: var(--sr-ink);
}

.hub-kpi-l {
    font-size: 12px;
    color: var(--sr-ink-2);
    line-height: 1.4;
    margin-top: 4px;
}

@media (max-width: 900px) {
    .hub-kpi {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 500px) {
    .hub-kpi {
        grid-template-columns: 1fr;
    }
}

/* Business cards */
.hub-biz-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}

.hub-biz-card {
    display: flex;
    flex-direction: column;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: all var(--sr-dur);
}

.hub-biz-card:hover {
    border-color: var(--sr-line-2);
    transform: translateY(-2px);
    box-shadow: 0 16px 36px rgba(43, 39, 36, 0.08);
}

.hub-biz-cover {
    position: relative;
    aspect-ratio: 16/9;
    background-size: cover;
    background-position: center;
    background-color: var(--sr-surface-2);
}

.hub-biz-cover-empty {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--sr-font-serif);
    font-size: 48px;
    color: var(--sr-ink-4);
}

.hub-biz-plan {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 9px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 999px;
    backdrop-filter: blur(6px);
}

.hub-biz-plan-free {
    background: rgba(255, 255, 255, 0.85);
    color: var(--sr-ink-3);
}

.hub-biz-plan-basic {
    background: rgba(127, 196, 138, 0.9);
    color: #fff;
}

.hub-biz-plan-pro {
    background: rgba(201, 100, 66, 0.9);
    color: #fff;
}

.hub-biz-plan-premium {
    background: rgba(43, 39, 36, 0.88);
    color: #fff;
}

.hub-biz-body {
    padding: 14px 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.hub-biz-status {
    margin-bottom: 2px;
}

.hub-biz-name {
    font-family: var(--sr-font-serif);
    font-size: 18px;
    font-weight: 400;
    letter-spacing: -0.01em;
    margin: 0;
    line-height: 1.25;
}

.hub-biz-meta {
    font-size: 12px;
    color: var(--sr-ink-3);
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
}

.hub-biz-actions {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid var(--sr-line);
    font-size: 12px;
}

.hub-biz-link {
    color: var(--sr-clay);
    font-weight: 500;
}

.hub-biz-link-ghost {
    color: var(--sr-ink-3);
    cursor: pointer;
}

.hub-biz-link-ghost:hover {
    color: var(--sr-ink);
}

/* Yeni işletme CTA kartı */
.hub-biz-add {
    border-style: dashed;
    background: transparent;
    min-height: 200px;
}

.hub-biz-add:hover {
    background: rgba(201, 100, 66, 0.04);
    border-color: var(--sr-clay);
}

.hub-biz-add-inner {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: center;
    justify-content: center;
    padding: 32px 20px;
    text-align: center;
}

.hub-biz-add-ico {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--sr-clay);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 300;
}

.hub-biz-add-title {
    font-family: var(--sr-font-serif);
    font-size: 18px;
    color: var(--sr-ink);
}

/* Split (reviews + actions) */
.hub-split {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 28px;
    margin-top: 20px;
}

@media (max-width: 900px) {
    .hub-split {
        grid-template-columns: 1fr;
    }
}

.hub-col {
    min-width: 0;
}

/* Reviews list */
.hub-reviews {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.hub-review {
    display: block;
    padding: 16px 18px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: all var(--sr-dur);
}

.hub-review:hover {
    border-color: var(--sr-clay);
    background: rgba(201, 100, 66, 0.02);
}

.hub-review-head {
    display: grid;
    grid-template-columns: 36px 1fr auto;
    gap: 12px;
    align-items: center;
    margin-bottom: 8px;
}

.hub-review-avatar {
    width: 36px;
    height: 36px;
    background: var(--sr-clay);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--sr-font-serif);
    font-size: 15px;
    flex-shrink: 0;
}

.hub-review-who strong {
    font-size: 13px;
    color: var(--sr-ink);
}

.hub-review-stars {
    color: var(--sr-clay);
    margin-left: 6px;
    font-size: 12px;
}

.hub-review-stars .dim {
    color: var(--sr-line-2);
}

.hub-review-title {
    font-family: var(--sr-font-serif);
    font-size: 14px;
    margin: 6px 0 4px;
}

.hub-review-body {
    font-size: 13px;
    line-height: 1.5;
    color: var(--sr-ink-2);
    margin: 0;
}

/* Quick actions */
.hub-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 20px;
}

.hub-action {
    display: grid;
    grid-template-columns: 40px 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 12px 16px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    text-decoration: none;
    color: var(--sr-ink);
    transition: all var(--sr-dur);
}

.hub-action:hover {
    border-color: var(--sr-clay);
    background: rgba(201, 100, 66, 0.03);
}

.hub-action-ico {
    width: 40px;
    height: 40px;
    background: var(--sr-surface);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}

.hub-action strong {
    font-size: 13px;
    display: block;
}

.hub-action .small {
    font-size: 11px;
}

.hub-action-arrow {
    color: var(--sr-ink-3);
    font-size: 16px;
    transition: transform 0.2s;
}

.hub-action:hover .hub-action-arrow {
    transform: translateX(3px);
    color: var(--sr-clay);
}

/* Tip card */
.hub-tip-card {
    padding: 18px 20px;
    background: linear-gradient(180deg, rgba(201, 100, 66, 0.05) 0%, var(--sr-bg) 100%);
    border: 1px solid rgba(201, 100, 66, 0.2);
    border-radius: 12px;
}

.hub-tip-card h4 {
    font-family: var(--sr-font-serif);
    font-size: 16px;
    font-weight: 400;
    margin: 6px 0 8px;
    letter-spacing: -0.01em;
}

.hub-tip-card p {
    font-size: 13px;
    line-height: 1.55;
    color: var(--sr-ink-2);
    margin: 0;
}

/* Owner — subscription upgrade flow */
.sub-current {
    display: grid;
    grid-template-columns: 1.1fr 2fr;
    gap: 28px;
    align-items: center;
    padding: 24px 28px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 16px;
    margin-bottom: 24px;
}

.sub-current-free {
    border-left: 4px solid var(--sr-ink-4);
}

.sub-current-basic {
    border-left: 4px solid #7fc48a;
}

.sub-current-pro {
    border-left: 4px solid var(--sr-clay);
}

.sub-current-premium {
    border-left: 4px solid var(--sr-ink);
    background: linear-gradient(135deg, rgba(43, 39, 36, 0.03) 0%, var(--sr-bg) 50%);
}

.sub-current-badge {
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-clay);
    font-weight: 700;
    margin-bottom: 8px;
}

.sub-current-name {
    font-family: var(--sr-font-serif);
    font-size: 32px;
    font-weight: 300;
    letter-spacing: -0.02em;
    margin: 0 0 6px;
}

.sub-current-meta {
    font-size: 13px;
    color: var(--sr-ink-2);
    display: flex;
    gap: 8px;
    align-items: center;
}

.sub-current-meta .sep {
    color: var(--sr-ink-4);
}

.sub-current-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.sub-current-cell .eyebrow {
    font-size: 10px;
    margin-bottom: 3px;
}

.sub-current-val {
    font-family: var(--sr-font-serif);
    font-size: 17px;
    color: var(--sr-ink);
}

.sub-current-link {
    font-size: 13px;
    color: var(--sr-clay);
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: inherit;
    text-decoration: underline;
}

.sub-current-link:hover {
    color: #a34d30;
}

@media (max-width: 800px) {
    .sub-current {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .sub-current-grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* Cycle toggle */
.sub-cycle-toggle {
    display: inline-flex;
    background: var(--sr-surface);
    border: 1px solid var(--sr-line);
    border-radius: 999px;
    padding: 4px;
    margin: 0 auto 28px;
    gap: 4px;
}

.sub-cycle-toggle {
    display: flex;
    justify-content: center;
    max-width: max-content;
    margin-left: auto;
    margin-right: auto;
}

.sub-cycle-opt {
    position: relative;
    padding: 8px 20px;
    border-radius: 999px;
    font-size: 13px;
    color: var(--sr-ink-2);
    cursor: pointer;
    transition: all var(--sr-dur);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.sub-cycle-opt input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.sub-cycle-opt:hover {
    color: var(--sr-ink);
}

.sub-cycle-opt.active {
    background: var(--sr-ink);
    color: var(--sr-bg);
}

.sub-cycle-save {
    font-size: 10px;
    background: var(--sr-clay);
    color: #fff;
    padding: 2px 8px;
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.sub-cycle-opt.active .sub-cycle-save {
    background: rgba(255, 255, 255, 0.2);
}

/* Plan card — mevcut paket şeridi */
.wiz-plan-current-ribbon {
    position: absolute;
    top: -10px;
    right: 16px;
    background: var(--sr-clay);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 999px;
}

/* Payment method cards */
.sub-payment-section {
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 16px;
    padding: 28px 32px;
}

.sub-section-title {
    font-family: var(--sr-font-serif);
    font-size: 22px;
    font-weight: 400;
    letter-spacing: -0.01em;
    margin: 0 0 16px;
}

.sub-methods {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 20px;
}

.sub-method {
    position: relative;
    display: grid;
    grid-template-columns: 44px 1fr 24px;
    gap: 14px;
    align-items: center;
    padding: 16px 18px;
    border: 1.5px solid var(--sr-line);
    border-radius: 12px;
    cursor: pointer;
    transition: all var(--sr-dur);
    background: var(--sr-bg);
}

.sub-method input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.sub-method:hover {
    border-color: var(--sr-ink-3);
}

.sub-method.active {
    border-color: var(--sr-clay);
    background: linear-gradient(180deg, rgba(201, 100, 66, 0.04) 0%, var(--sr-bg) 100%);
    box-shadow: 0 0 0 1px var(--sr-clay) inset;
}

.sub-method-ico {
    width: 44px;
    height: 44px;
    background: var(--sr-surface);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.sub-method-title {
    font-size: 14px;
    font-weight: 500;
    color: var(--sr-ink);
}

.sub-method-desc {
    font-size: 12px;
    color: var(--sr-ink-3);
    margin-top: 3px;
    line-height: 1.4;
}

.sub-method-mark {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1.5px solid var(--sr-line);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: transparent;
    transition: all var(--sr-dur);
}

.sub-method.active .sub-method-mark {
    background: var(--sr-clay);
    border-color: var(--sr-clay);
    color: #fff;
}

@media (max-width: 700px) {
    .sub-methods {
        grid-template-columns: 1fr;
    }
}

/* Legal checkbox */
.sub-legal-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 18px;
    background: var(--sr-surface);
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.55;
    cursor: pointer;
    margin-bottom: 20px;
}

.sub-legal-check input {
    margin-top: 2px;
    accent-color: var(--sr-clay);
    flex-shrink: 0;
}

.sub-legal-check a {
    color: var(--sr-clay);
    text-decoration: underline;
}

/* Summary */
.sub-summary {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
    align-items: center;
    padding: 20px 24px;
    background: var(--sr-ink);
    color: var(--sr-bg);
    border-radius: 12px;
}

.sub-summary-left {
    color: rgba(250, 249, 246, 0.95);
}

.sub-summary-left .eyebrow {
    color: rgba(250, 249, 246, 0.6);
    margin-bottom: 4px;
}

.sub-summary-row {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.sub-summary-row strong {
    font-family: var(--sr-font-serif);
    font-size: 20px;
    font-weight: 400;
}

.sub-summary-row .muted {
    color: rgba(250, 249, 246, 0.6);
    font-size: 13px;
}

.sub-summary-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

.sub-summary-amount {
    font-family: var(--sr-font-serif);
    font-size: 28px;
    letter-spacing: -0.02em;
}

.sub-summary-right .btn {
    padding: 14px 28px;
}

@media (max-width: 700px) {
    .sub-summary {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .sub-summary-right {
        justify-content: space-between;
    }
}

/* Owner — status banners (draft/suspended) */
.owner-status-banner {
    display: grid;
    grid-template-columns: 48px 1fr auto;
    gap: 16px;
    align-items: center;
    padding: 16px 20px;
    border-radius: 12px;
    margin-bottom: 28px;
}

.owner-status-draft {
    background: rgba(201, 100, 66, 0.06);
    border: 1px solid rgba(201, 100, 66, 0.2);
}

.owner-status-suspended {
    background: rgba(163, 64, 54, 0.06);
    border: 1px solid rgba(163, 64, 54, 0.2);
}

.owner-status-icon {
    width: 44px;
    height: 44px;
    background: var(--sr-bg);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04);
}

.owner-status-title {
    font-family: var(--sr-font-serif);
    font-size: 18px;
    color: var(--sr-ink);
    margin-bottom: 2px;
}

.owner-status-text {
    font-size: 13px;
    color: var(--sr-ink-2);
    margin: 0;
    line-height: 1.5;
}

.owner-status-text a {
    color: var(--sr-clay);
    text-decoration: underline;
}

@media (max-width: 640px) {
    .owner-status-banner {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .owner-status-icon {
        margin: 0 auto;
    }
}

/* Admin — approval queue */
.approval-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(420px, 1fr));
    gap: 20px;
}

.approval-card {
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    padding: 20px 22px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.approval-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.approval-head-left {
    display: flex;
    gap: 12px;
    flex: 1;
    min-width: 0;
}

.approval-cover {
    width: 60px;
    height: 60px;
    border-radius: 10px;
    background-size: cover;
    background-position: center;
    background-color: var(--sr-surface-2);
    flex-shrink: 0;
}

.approval-cover-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: var(--sr-ink-4);
    font-family: var(--sr-font-serif);
}

.approval-name {
    font-family: var(--sr-font-serif);
    font-size: 18px;
    font-weight: 400;
    margin: 0;
    letter-spacing: -0.01em;
}

.approval-loc {
    font-size: 12px;
    color: var(--sr-ink-3);
    margin: 3px 0;
}

.approval-plan {
    display: inline-block;
    font-size: 9px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    padding: 2px 8px;
    border-radius: 999px;
    font-weight: 700;
    margin-top: 4px;
}

.approval-plan-free {
    background: var(--sr-surface-2);
    color: var(--sr-ink-3);
}

.approval-plan-basic {
    background: rgba(127, 196, 138, 0.16);
    color: #3d7b49;
}

.approval-plan-pro {
    background: rgba(201, 100, 66, 0.14);
    color: #a34d30;
}

.approval-plan-premium {
    background: var(--sr-ink);
    color: #fff;
}

.approval-desc {
    font-size: 13px;
    line-height: 1.5;
    color: var(--sr-ink-2);
    margin: 0;
    padding: 10px 12px;
    background: var(--sr-surface);
    border-radius: 8px;
    border-left: 2px solid var(--sr-line-2);
}

.approval-meta {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    padding: 12px 0;
    border-top: 1px dashed var(--sr-line);
    border-bottom: 1px dashed var(--sr-line);
}

.approval-meta-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
    text-align: center;
}

.approval-meta-k {
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
}

.approval-meta-item strong {
    font-size: 14px;
    color: var(--sr-ink);
}

.approval-owner {
    font-size: 13px;
    color: var(--sr-ink-2);
    line-height: 1.5;
}

.approval-owner .eyebrow {
    display: block;
    font-size: 10px;
    margin-bottom: 3px;
}

.approval-submitted {
    padding-bottom: 6px;
}

.approval-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-top: auto;
}

.approval-reject-form {
    padding: 14px;
    background: rgba(163, 64, 54, 0.05);
    border: 1px solid rgba(163, 64, 54, 0.2);
    border-radius: 10px;
}

.approval-reject-form .label {
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #a34;
    margin-bottom: 6px;
    font-weight: 600;
}

/* Owner — services table */
.svc-head,
.svc-row {
    display: grid;
    grid-template-columns: 30px 2fr 80px 110px 2fr 40px;
    gap: 10px;
    align-items: center;
    padding: 10px 14px;
}

.svc-head {
    background: var(--sr-surface);
    border-bottom: 1px solid var(--sr-line);
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    font-weight: 600;
}

.svc-row {
    border-bottom: 1px solid var(--sr-line);
    background: var(--sr-bg);
    transition: background var(--sr-dur);
}

.svc-row:last-of-type {
    border-bottom: none;
}

.svc-row:hover {
    background: rgba(201, 100, 66, 0.02);
}

.svc-row.dragging {
    opacity: 0.4;
}

.svc-row .input {
    padding: 8px 10px;
    font-size: 13px;
}

.svc-drag {
    cursor: grab;
    color: var(--sr-ink-4);
    font-size: 14px;
    user-select: none;
}

.svc-drag:active {
    cursor: grabbing;
}

.svc-row-del {
    color: var(--sr-ink-3);
    padding: 6px 10px;
    min-height: auto;
}

.svc-row-del:hover {
    color: #a34;
}

@media (max-width: 900px) {
    .svc-head {
        display: none;
    }

    .svc-row {
        grid-template-columns: 20px 1fr 30px;
        grid-template-rows: auto auto auto;
        padding: 12px;
        gap: 8px;
        border-radius: 10px;
        border: 1px solid var(--sr-line);
        margin: 8px;
    }

    .svc-col-drag {
        grid-row: 1 / -1;
    }

    .svc-col-name {
        grid-column: 2 / 3;
    }

    .svc-col-action {
        grid-row: 1 / -1;
        grid-column: 3;
    }

    .svc-col-dur,
    .svc-col-price {
        grid-column: 2 / 3;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .svc-col-dur::before {
        content: 'Süre:';
        font-size: 11px;
        color: var(--sr-ink-3);
        min-width: 50px;
    }

    .svc-col-price::before {
        content: 'Fiyat:';
        font-size: 11px;
        color: var(--sr-ink-3);
        min-width: 50px;
    }

    .svc-col-desc {
        grid-column: 2 / 3;
    }
}

/* Wizard — foto manager */
.wiz-dropzone {
    position: relative;
    border: 2px dashed var(--sr-line-2);
    border-radius: 14px;
    padding: 32px 20px;
    text-align: center;
    cursor: pointer;
    transition: all var(--sr-dur);
    background: var(--sr-bg);
    margin-bottom: 18px;
}

.wiz-dropzone:hover {
    border-color: var(--sr-clay);
    background: rgba(201, 100, 66, 0.02);
}

.wiz-dropzone.drag-over {
    border-color: var(--sr-clay);
    background: rgba(201, 100, 66, 0.06);
    transform: scale(0.99);
}

.wiz-dropzone.disabled {
    cursor: not-allowed;
    background: var(--sr-surface);
    border-style: solid;
}

/* Upload queue */
.upload-queue {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 18px;
}

.upload-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 6px 12px;
    align-items: center;
    padding: 10px 14px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    transition: opacity 0.3s;
}

.upload-row-name {
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.upload-row-status {
    font-size: 12px;
    color: var(--sr-muted);
    white-space: nowrap;
}

.upload-row-status.ok {
    color: #2a7f36;
    font-weight: 500;
}

.upload-row-status.error {
    color: #a33;
    font-weight: 500;
}

.upload-row-bar {
    grid-column: 1 / -1;
    height: 3px;
    background: rgba(43, 39, 36, 0.08);
    border-radius: 2px;
    overflow: hidden;
}

.upload-row-bar-fill {
    height: 100%;
    width: 0;
    background: var(--sr-clay);
    transition: width 0.2s;
}

.wiz-drop-inner {
    pointer-events: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.wiz-drop-inner>* {
    pointer-events: auto;
}

.wiz-drop-ico {
    font-size: 28px;
}

.wiz-drop-title {
    font-family: var(--sr-font-serif);
    font-size: 16px;
    color: var(--sr-ink);
}

.wiz-drop-link {
    background: none;
    border: none;
    color: var(--sr-clay);
    font-weight: 500;
    text-decoration: underline;
    cursor: pointer;
    font-family: inherit;
    font-size: inherit;
}

.wiz-drop-hint {
    font-size: 12px;
    color: var(--sr-ink-3);
    margin-top: 4px;
}

.wiz-drop-hint strong {
    color: var(--sr-ink);
}

.wiz-quota-bar {
    width: 160px;
    height: 8px;
    background: var(--sr-surface-2);
    border-radius: 4px;
    overflow: hidden;
}

.wiz-quota-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--sr-clay) 0%, #d87c5f 100%);
    border-radius: 4px;
    transition: width 0.3s;
}

.wiz-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 10px;
}

.wiz-gal-item {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--sr-line);
    position: relative;
    cursor: grab;
    transition: all var(--sr-dur);
    user-select: none;
}

.wiz-gal-item:hover {
    border-color: var(--sr-clay);
    transform: translateY(-2px);
}

.wiz-gal-item.dragging {
    opacity: 0.4;
    cursor: grabbing;
}

.wiz-gal-item.is-cover {
    border-color: var(--sr-clay);
    box-shadow: 0 0 0 2px rgba(201, 100, 66, 0.25);
}

.wiz-gal-img {
    aspect-ratio: 1/1;
    background-size: cover;
    background-position: center;
    background-color: var(--sr-surface-2);
    position: relative;
}

.wiz-gal-cover-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    background: var(--sr-clay);
    color: #fff;
    font-size: 10px;
    padding: 3px 8px;
    border-radius: 999px;
    letter-spacing: 0.06em;
    font-weight: 500;
}

.wiz-gal-actions {
    position: absolute;
    top: 8px;
    right: 8px;
    display: flex;
    gap: 4px;
    opacity: 0;
    transition: opacity var(--sr-dur);
}

.wiz-gal-item:hover .wiz-gal-actions {
    opacity: 1;
}

.wiz-gal-btn {
    width: 28px;
    height: 28px;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 50%;
    font-size: 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(6px);
    transition: all var(--sr-dur);
}

.wiz-gal-btn:hover {
    background: #fff;
    transform: scale(1.1);
}

.wiz-gal-btn.danger {
    color: #a34;
}

.wiz-gal-btn.danger:hover {
    background: #a34;
    color: #fff;
}

.wiz-gal-drag {
    position: absolute;
    bottom: 8px;
    right: 8px;
    width: 26px;
    height: 26px;
    background: rgba(0, 0, 0, 0.45);
    color: #fff;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    opacity: 0;
    transition: opacity var(--sr-dur);
    cursor: grab;
    backdrop-filter: blur(4px);
}

.wiz-gal-item:hover .wiz-gal-drag {
    opacity: 1;
}

.wiz-gal-empty {
    text-align: center;
    padding: 40px 20px;
    border: 1px dashed var(--sr-line);
    border-radius: 12px;
    color: var(--sr-ink-3);
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
}

.wiz-gal-empty p {
    margin: 0;
    font-size: 13px;
}

.wiz-tip-plan-quota {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed var(--sr-line);
    color: var(--sr-ink-3);
}

.wiz-tip-plan-quota strong {
    color: var(--sr-ink);
    font-family: var(--sr-font-serif);
}

/* Wizard — location map */
.wiz-map {
    height: 360px;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--sr-line);
    filter: saturate(0.82) contrast(1.02);
    cursor: crosshair;
}

.wiz-map-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 10px;
}

/* =========================================================
   Wizard — plan selection
   ========================================================= */
.wizard-plans {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 12px;
}

.wiz-plan-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 28px 22px 22px;
    background: var(--sr-bg);
    border: 1.5px solid var(--sr-line);
    border-radius: 16px;
    cursor: pointer;
    transition: all var(--sr-dur);
}

.wiz-plan-card input[type=radio] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.wiz-plan-card:hover {
    border-color: var(--sr-ink-3);
    transform: translateY(-2px);
}

.wiz-plan-card.selected {
    border-color: var(--sr-clay);
    box-shadow: 0 16px 36px rgba(201, 100, 66, 0.14), 0 0 0 1px var(--sr-clay) inset;
    background: linear-gradient(180deg, rgba(201, 100, 66, 0.03) 0%, var(--sr-bg) 100%);
}

.wiz-plan-card.popular {
    border-color: var(--sr-ink);
}

.wiz-plan-card.popular.selected {
    border-color: var(--sr-clay);
}

.wiz-plan-card.locked {
    cursor: not-allowed;
    opacity: 0.55;
    background: repeating-linear-gradient(135deg, transparent, transparent 10px, rgba(43, 39, 36, 0.03) 10px, rgba(43, 39, 36, 0.03) 20px);
}

.wiz-plan-card.locked:hover {
    border-color: var(--sr-line);
    transform: none;
}

.wiz-plan-badge.wiz-plan-badge-lock {
    background: var(--sr-ink-3, #7a6f65);
    color: var(--sr-bg);
}

/* === Plan explainer (subscription page detailed features) === */
.plan-explainer {
    margin: 48px 0 32px;
    padding: 32px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 16px;
}

.plan-explainer-head {
    margin-bottom: 24px;
}

.plan-explainer-head h2 {
    font-family: var(--sr-font-serif);
    font-size: 28px;
    font-weight: 400;
    letter-spacing: -0.01em;
}

.plan-feature-list {
    display: grid;
    gap: 16px;
}

.plan-feature-row {
    display: flex;
    gap: 16px;
    padding: 18px;
    background: rgba(43, 39, 36, 0.02);
    border: 1px solid var(--sr-line);
    border-radius: 12px;
}

.plan-feature-ico {
    flex: none;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.plan-feature-body {
    flex: 1;
    min-width: 0;
}

.plan-feature-title {
    font-family: var(--sr-font-serif);
    font-size: 18px;
    font-weight: 500;
    letter-spacing: -0.005em;
    margin-bottom: 4px;
}

.plan-feature-desc {
    color: var(--sr-ink-2, #55504a);
    font-size: 14px;
    line-height: 1.55;
    margin: 0 0 10px;
}

.plan-feature-tiers {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.plan-feature-tiers>span {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: 0.01em;
}

.plan-feature-tiers .tier-no {
    background: rgba(43, 39, 36, 0.06);
    color: var(--sr-muted);
}

.plan-feature-tiers .tier-mid {
    background: #f1ebe4;
    color: #6b5948;
}

.plan-feature-tiers .tier-yes {
    background: rgba(201, 100, 66, 0.12);
    color: var(--sr-clay);
    font-weight: 600;
}

.plan-explainer-foot {
    margin-top: 20px;
    padding: 14px 18px;
    background: rgba(201, 100, 66, 0.05);
    border-radius: 10px;
    font-size: 14px;
    line-height: 1.5;
}

@media (max-width: 700px) {
    .plan-explainer {
        padding: 20px;
    }

    .plan-feature-row {
        padding: 14px;
        gap: 12px;
    }

    .plan-feature-ico {
        width: 38px;
        height: 38px;
    }

    .plan-feature-title {
        font-size: 16px;
    }

    .plan-feature-desc {
        font-size: 13.5px;
    }
}

.wiz-plan-badge {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--sr-ink);
    color: var(--sr-bg);
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 999px;
    white-space: nowrap;
}

.wiz-plan-head {
    margin-bottom: 16px;
}

.wiz-plan-code {
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--sr-clay);
    font-weight: 700;
    margin-bottom: 6px;
}

.wiz-plan-name {
    font-family: var(--sr-font-serif);
    font-size: 24px;
    font-weight: 400;
    letter-spacing: -0.01em;
    color: var(--sr-ink);
}

.wiz-plan-price {
    padding: 14px 0 18px;
    border-bottom: 1px solid var(--sr-line);
    margin-bottom: 14px;
}

.wiz-plan-amount {
    font-family: var(--sr-font-serif);
    font-size: 32px;
    font-weight: 300;
    color: var(--sr-ink);
    letter-spacing: -0.02em;
}

.wiz-plan-period {
    font-size: 13px;
    color: var(--sr-ink-3);
    margin-left: 4px;
}

.wiz-plan-yearly {
    margin-top: 4px;
    font-size: 11px;
}

.wiz-plan-promo {
    display: inline-block;
    margin-top: 8px;
    padding: 3px 10px;
    background: rgba(201, 100, 66, 0.12);
    color: var(--sr-clay);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.wiz-plan-features {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    font-size: 13px;
    color: var(--sr-ink-2);
    flex: 1;
    line-height: 1.45;
}

.wiz-plan-features li.dim {
    color: var(--sr-ink-4);
}

.wiz-plan-select-btn {
    text-align: center;
    padding: 10px 14px;
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    font-size: 13px;
    font-weight: 500;
    color: var(--sr-ink);
    transition: all var(--sr-dur);
}

.wiz-plan-select-btn .picked {
    display: none;
}

.wiz-plan-card.selected .wiz-plan-select-btn {
    background: var(--sr-clay);
    color: #fff;
    border-color: var(--sr-clay);
}

.wiz-plan-card.selected .wiz-plan-select-btn .pick {
    display: none;
}

.wiz-plan-card.selected .wiz-plan-select-btn .picked {
    display: inline;
}

.wiz-plan-info-bar {
    margin-top: 20px;
    padding: 14px 18px;
    background: var(--sr-surface);
    border-radius: 12px;
    font-size: 13px;
    line-height: 1.6;
    color: var(--sr-ink-2);
}

.wiz-plan-info-bar strong {
    color: var(--sr-ink);
}

@media (max-width: 1100px) {
    .wizard-plans {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 560px) {
    .wizard-plans {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   Business detail — header, gallery, layout, contact sidebar
   ========================================================= */

/* Üst breadcrumb */
.bd-top {
    padding: 20px 0 0;
}

.bd-crumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    font-size: 12.5px;
    color: var(--sr-ink-3);
    margin: 0;
}

.bd-crumbs a {
    color: var(--sr-ink-3);
    text-decoration: none;
    transition: color var(--sr-dur);
}

.bd-crumbs a:hover {
    color: var(--sr-clay);
}

.bd-crumb-sep {
    color: var(--sr-ink-4);
}

/* Hero gallery — cinematic görünüm, başlık + meta overlay içinde */
.bd-hero-gallery {
    padding: 12px 0 16px;
}

.bd-hero-wrap {
    border-radius: 18px;
    overflow: hidden;
    background: var(--sr-surface);
}

.bd-hero-main {
    position: relative;
    width: 100%;
    aspect-ratio: 21 / 9;
    background-size: cover;
    background-position: center;
    background-color: var(--sr-surface-2);
    cursor: pointer;
    transition: filter var(--sr-dur);
}

.bd-hero-main:hover {
    filter: brightness(0.97);
}

.bd-hero-gallery-noimg .bd-hero-main {
    background: linear-gradient(135deg, var(--sr-surface) 0%, var(--sr-surface-2) 100%);
    cursor: default;
    aspect-ratio: 16 / 7;
}

/* Üst-sağ — paylaş/sahiplen tools */
.bd-hero-tools {
    position: absolute;
    top: 14px;
    right: 14px;
    display: flex;
    gap: 6px;
    z-index: 5;
}

.bd-hero-tool {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    background: rgba(255, 255, 255, 0.92);
    border: none;
    border-radius: 999px;
    font-family: inherit;
    font-size: 12px;
    font-weight: 500;
    color: var(--sr-ink);
    text-decoration: none;
    cursor: pointer;
    backdrop-filter: blur(10px);
    box-shadow: 0 2px 8px rgba(43, 39, 36, 0.12);
    transition: transform var(--sr-dur), background var(--sr-dur);
}

.bd-hero-tool:hover {
    background: #fff;
    transform: translateY(-1px);
}

/* Alt-sağ — "X fotoğraf" butonu */
.bd-hero-all {
    position: absolute;
    bottom: 16px;
    right: 16px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.95);
    border: none;
    padding: 9px 16px;
    border-radius: 999px;
    font-size: 12.5px;
    font-weight: 500;
    color: var(--sr-ink);
    cursor: pointer;
    backdrop-filter: blur(8px);
    box-shadow: 0 2px 8px rgba(43, 39, 36, 0.12);
    font-family: inherit;
    transition: transform var(--sr-dur), background var(--sr-dur);
    z-index: 5;
}

.bd-hero-all:hover {
    background: #fff;
    transform: translateY(-1px);
}

/* Alt overlay — kategori, başlık, meta, badges */
.bd-hero-overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 80px 28px 24px;
    background: linear-gradient(to bottom,
            rgba(0, 0, 0, 0) 0%,
            rgba(0, 0, 0, 0.35) 50%,
            rgba(0, 0, 0, 0.75) 100%);
    color: #fff;
    pointer-events: none;
}

.bd-hero-overlay>* {
    pointer-events: auto;
}

.bd-hero-cat {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    margin-bottom: 10px;
    padding: 3px 10px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 999px;
    backdrop-filter: blur(6px);
}

.bd-hero-cat:hover {
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
}

.bd-hero-title {
    font-family: var(--sr-font-serif);
    font-size: clamp(30px, 4.2vw, 44px);
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 1.08;
    margin: 0 0 10px;
    color: #fff;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
}

.bd-hero-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    font-size: 13.5px;
    color: rgba(255, 255, 255, 0.95);
    margin-bottom: 10px;
}

.bd-hero-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.bd-hero-meta-item svg {
    color: rgba(255, 255, 255, 0.75);
    flex: none;
}

.bd-hero-meta-item strong {
    font-family: var(--sr-font-serif);
    font-weight: 500;
    color: #fff;
}

.bd-hero-meta-muted {
    color: rgba(255, 255, 255, 0.65);
}

.bd-hero-meta-sep {
    color: rgba(255, 255, 255, 0.45);
    font-size: 12px;
}

.bd-hero-meta .bd-stars {
    color: #f9c06a;
}

.bd-hero-meta .bd-stars .dim {
    color: rgba(255, 255, 255, 0.3);
}

.bd-hero-meta .bd-open-state {
    color: rgba(255, 255, 255, 0.95);
}

.bd-hero-meta .bd-open-state.open {
    color: #9fe5a8;
}

.bd-hero-meta .bd-open-state.open .bd-open-dot {
    background: #7fc48a;
    box-shadow: 0 0 0 3px rgba(127, 196, 138, 0.3);
}

.bd-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 2px;
}

.bd-hero-badge {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 999px;
    font-weight: 500;
    letter-spacing: 0.02em;
    backdrop-filter: blur(4px);
}

.bd-hero-badge-sage {
    background: rgba(127, 196, 138, 0.22);
    color: #c6e8cb;
    border: 1px solid rgba(127, 196, 138, 0.35);
}

.bd-hero-badge-clay {
    background: rgba(201, 100, 66, 0.28);
    color: #ffc6ab;
    border: 1px solid rgba(201, 100, 66, 0.5);
}

.bd-hero-badge-ink {
    background: rgba(0, 0, 0, 0.45);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.bd-hero-thumbs {
    display: flex;
    gap: 6px;
    padding: 6px;
    background: var(--sr-bg);
    overflow-x: auto;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}

.bd-hero-thumbs::-webkit-scrollbar {
    height: 4px;
}

.bd-hero-thumbs::-webkit-scrollbar-thumb {
    background: var(--sr-line-2);
    border-radius: 2px;
}

.bd-hero-thumb {
    flex: none;
    width: 100px;
    height: 68px;
    border-radius: 8px;
    overflow: hidden;
    border: 2px solid transparent;
    background: var(--sr-surface-2);
    padding: 0;
    cursor: pointer;
    transition: border-color var(--sr-dur), transform var(--sr-dur);
}

.bd-hero-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.bd-hero-thumb:hover {
    border-color: rgba(201, 100, 66, 0.4);
    transform: translateY(-1px);
}

.bd-hero-thumb.active {
    border-color: var(--sr-clay);
}

/* Header (gallery'nin altında) */
.bd-header-sec {
    padding: 20px 0 8px;
}

.bd-header {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
    align-items: flex-start;
}

.bd-header-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.bd-cat-label {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-clay);
    text-decoration: none;
    margin-bottom: 8px;
    transition: opacity var(--sr-dur);
}

.bd-cat-label:hover {
    opacity: 0.7;
}

.bd-title {
    font-family: var(--sr-font-serif);
    font-size: clamp(32px, 4.6vw, 48px);
    font-weight: 300;
    letter-spacing: -0.025em;
    line-height: 1.06;
    margin: 0 0 12px;
    color: var(--sr-ink);
}

/* Meta satırı — ayırıcılı tek satır */
.bd-meta-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    font-size: 13.5px;
    color: var(--sr-ink-2);
    margin-bottom: 10px;
}

.bd-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.bd-meta-item svg {
    color: var(--sr-ink-3);
    flex: none;
}

.bd-meta-item strong {
    font-family: var(--sr-font-serif);
    font-weight: 500;
    color: var(--sr-ink);
}

.bd-meta-sep {
    color: var(--sr-line-2);
    font-size: 12px;
}

.bd-rating-summary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.bd-stars {
    color: var(--sr-clay);
    letter-spacing: 0.5px;
}

.bd-stars .dim {
    color: var(--sr-line-2);
}

.bd-badges-compact {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
}

.bd-badge {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 999px;
    font-weight: 500;
    letter-spacing: 0.02em;
}

.bd-badge-sage {
    background: rgba(127, 196, 138, 0.16);
    color: #3d7b49;
}

.bd-badge-clay {
    background: rgba(201, 100, 66, 0.14);
    color: #a34d30;
}

.bd-badge-ink {
    background: var(--sr-ink);
    color: var(--sr-bg);
}

.bd-badge-line {
    background: var(--sr-surface-2);
    color: var(--sr-ink-2);
    border: 1px solid var(--sr-line);
}

.bd-open-state {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.bd-open-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #a34;
}

.bd-open-state.open {
    color: #3d7b49;
    font-weight: 500;
}

.bd-open-state.open .bd-open-dot {
    background: #7fc48a;
    box-shadow: 0 0 0 3px rgba(127, 196, 138, 0.2);
}

.bd-tagline {
    font-family: var(--sr-font-serif);
    font-style: italic;
    font-size: clamp(15px, 1.5vw, 17px);
    color: var(--sr-ink-2);
    line-height: 1.55;
    margin: 8px 0 0;
    max-width: 720px;
}

/* Quick facts — Hakkında'nın altında ikonlu satırlar */
.bd-quick-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px 20px;
    padding: 16px 20px;
    margin: 20px 0 0;
    background: var(--sr-surface);
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--sr-ink-2);
}

.bd-quick-fact {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.bd-quick-fact svg {
    color: var(--sr-clay);
    flex: none;
    margin-top: 2px;
}

.bd-cat-extra {
    margin-top: 14px;
    font-size: 13px;
}

.bd-cat-extra-link {
    color: var(--sr-ink-2);
    text-decoration: underline;
    text-decoration-color: var(--sr-line-2);
    text-underline-offset: 3px;
    margin: 0 3px;
}

.bd-cat-extra-link:hover {
    color: var(--sr-clay);
    text-decoration-color: var(--sr-clay);
}

/* Title row — başlık + inline paylaş/sahiplen butonları */
.bd-title-row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    justify-content: space-between;
    flex-wrap: wrap;
}

.bd-title-row .bd-title {
    flex: 1;
    min-width: 0;
}

.bd-title-actions {
    display: flex;
    gap: 4px;
    align-items: center;
    flex-shrink: 0;
    margin-top: 6px;
}

.bd-icon-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    background: transparent;
    border: 1px solid var(--sr-line);
    border-radius: 999px;
    font-family: inherit;
    font-size: 12.5px;
    color: var(--sr-ink-2);
    text-decoration: none;
    cursor: pointer;
    transition: all var(--sr-dur);
}

.bd-icon-btn:hover {
    border-color: var(--sr-clay);
    color: var(--sr-clay);
    background: rgba(201, 100, 66, 0.04);
}

.bd-icon-btn svg {
    color: inherit;
}

/* Tagline + olanak pill strip (hero altı, container içinde) */
.bd-hero-gallery .bd-tagline {
    font-family: var(--sr-font-serif);
    font-style: italic;
    font-size: clamp(15px, 1.4vw, 17px);
    color: var(--sr-ink-2);
    line-height: 1.55;
    margin: 18px 4px 0;
    max-width: 720px;
}

/* Hızlı bilgi şeridi (hero altı) */
.bd-quick-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 12px 0 0;
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    overflow: hidden;
    background: var(--sr-surface);
}

.bd-quick-strip-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    font-size: 12.5px;
    color: var(--sr-ink-2);
    border-right: 1px solid var(--sr-line);
    flex: 1 1 auto;
    white-space: nowrap;
}

.bd-quick-strip-item:last-child {
    border-right: none;
}

.bd-quick-strip-item svg {
    flex-shrink: 0;
    color: var(--sr-clay);
}

@media (max-width: 600px) {
    .bd-quick-strip {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .bd-quick-strip-item:nth-child(odd) {
        border-right: 1px solid var(--sr-line);
    }

    .bd-quick-strip-item {
        border-bottom: 1px solid var(--sr-line);
    }

    .bd-quick-strip-item:nth-last-child(-n+2):not(:nth-child(odd) ~ *) {
        border-bottom: none;
    }
}

/* Meta pill'ler — hero altı (hizmet sayısı, olanak vs.) */
.bd-meta-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 14px 0 0;
}

.bd-meta-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    background: var(--sr-surface);
    border: 1px solid var(--sr-line);
    border-radius: 999px;
    font-size: 12.5px;
    color: var(--sr-ink-2);
    text-decoration: none;
    transition: all var(--sr-dur);
}

a.bd-meta-pill:hover {
    border-color: var(--sr-clay);
    color: var(--sr-clay);
}

.bd-meta-pill svg {
    color: var(--sr-clay);
    flex-shrink: 0;
}

/* Kategoriler — chip listesi (genel bakış section altı) */
.bd-cat-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 20px;
}

.bd-cat-chip {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    background: var(--sr-surface);
    border: 1px solid var(--sr-line);
    border-radius: 999px;
    font-size: 13px;
    color: var(--sr-ink-2);
    text-decoration: none;
    transition: all var(--sr-dur);
}

.bd-cat-chip:hover {
    border-color: var(--sr-clay);
    color: var(--sr-ink);
}

.bd-cat-chip-primary {
    background: rgba(201, 100, 66, 0.06);
    border-color: rgba(201, 100, 66, 0.3);
    color: var(--sr-clay);
    font-weight: 500;
}

/* Sidebar çalışma saatleri */
.bd-side-hours {
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    overflow: hidden;
}

.bd-side-hours-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid var(--sr-line);
    background: var(--sr-surface);
}

.bd-side-hours-title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 500;
    color: var(--sr-ink);
}

.bd-side-hours-title svg {
    color: var(--sr-clay);
}

.bd-side-hours-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.bd-side-hours-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 16px;
    font-size: 13px;
    color: var(--sr-ink-2);
    border-bottom: 1px solid var(--sr-line);
}

.bd-side-hours-row:last-child {
    border-bottom: none;
}

.bd-side-hours-row.today {
    background: rgba(201, 100, 66, 0.04);
    color: var(--sr-ink);
    font-weight: 500;
}

.bd-side-hours-row.today span:first-child {
    color: var(--sr-clay);
}

/* Olanak grupları */
.bd-amenity-group {
    margin-bottom: 20px;
}

.bd-amenity-group:last-child {
    margin-bottom: 0;
}

.bd-amenity-group-title {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--sr-ink-4);
    margin-bottom: 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--sr-line);
}

/* (legacy pill strip — artık kullanılmıyor, bırakıyoruz geriye dönük uyumluluk için) */
.bd-amenity-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 16px 4px 0;
}

.bd-amenity-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11.5px;
    padding: 4px 10px 4px 8px;
    background: var(--sr-surface);
    border: 1px solid var(--sr-line);
    border-radius: 999px;
    color: var(--sr-ink-2);
    text-decoration: none;
}

.bd-amenity-pill svg {
    color: #7fc48a;
    flex: none;
}

.bd-amenity-pill-more {
    background: transparent;
    border-style: dashed;
    color: var(--sr-muted);
    cursor: pointer;
}

.bd-amenity-pill-more:hover {
    color: var(--sr-clay);
    border-color: var(--sr-clay);
}

/* Section başlık head — count badge ile */
.bd-sec-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.bd-sec-head .bd-sec-title {
    margin: 0;
}

.bd-sec-count {
    font-size: 12px;
    color: var(--sr-muted);
    font-variant-numeric: tabular-nums;
}

/* Yeni hizmet listesi tasarımı */
.bd-services {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    overflow: hidden;
    background: var(--sr-bg);
}

.bd-service {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 20px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--sr-line);
    transition: background var(--sr-dur);
}

.bd-service:last-child {
    border-bottom: none;
}

.bd-service:hover {
    background: rgba(201, 100, 66, 0.025);
}

.bd-service-main {
    min-width: 0;
}

.bd-service-name {
    font-family: var(--sr-font-serif);
    font-size: 16px;
    font-weight: 500;
    letter-spacing: -0.005em;
    margin: 0 0 4px;
    color: var(--sr-ink);
}

.bd-service-desc {
    font-size: 13px;
    line-height: 1.5;
    color: var(--sr-ink-3);
    margin: 0 0 6px;
}

.bd-service-duration {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11.5px;
    color: var(--sr-muted);
}

.bd-service-duration svg {
    color: var(--sr-ink-4);
}

.bd-service-price {
    align-self: center;
    text-align: right;
    white-space: nowrap;
}

.bd-service-price strong {
    font-family: var(--sr-font-serif);
    font-size: 20px;
    font-weight: 500;
    color: var(--sr-clay);
    letter-spacing: -0.01em;
}

.bd-service-currency {
    font-family: var(--sr-font-sans, inherit);
    font-size: 13px;
    color: var(--sr-ink-3);
    font-weight: 400;
}

.bd-services-cta {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 14px;
}

/* Sidebar harita kartı */
.bd-map-card {
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    overflow: hidden;
    background: var(--sr-bg);
}

.bd-map-card .bd-map {
    border-radius: 0;
    border-bottom: 1px solid var(--sr-line);
}

.bd-map {
    width: 100%;
    height: 240px;
    background: var(--sr-surface-2);
}

.bd-map-actions {
    display: flex;
    gap: 8px;
    padding: 10px;
    border-top: 1px solid var(--sr-line);
    background: var(--sr-surface);
}

.bd-map-actions .bd-map-btn {
    flex: 1;
    justify-content: center;
}

.bd-map-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 14px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    color: var(--sr-ink);
    text-decoration: none;
    transition: all var(--sr-dur);
}

.bd-map-btn:hover {
    border-color: var(--sr-clay);
    color: var(--sr-clay);
}

.bd-map-btn-primary {
    background: var(--sr-clay);
    color: #fff;
    border-color: var(--sr-clay);
}

.bd-map-btn-primary:hover {
    background: #b55a3e;
}

.bd-map-addr {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 12px 14px;
    font-size: 12.5px;
    color: var(--sr-ink-2);
    line-height: 1.45;
    border-top: 1px solid var(--sr-line);
    background: var(--sr-surface);
}

.bd-map-addr svg {
    color: var(--sr-clay);
    flex: none;
    margin-top: 2px;
}

@media (max-width: 700px) {
    .bd-title-row {
        gap: 8px;
    }

    .bd-title-actions {
        margin-top: 0;
        gap: 4px;
    }

    .bd-icon-btn {
        padding: 6px 10px;
        font-size: 11.5px;
    }

    .bd-icon-label {
        display: none;
    }

    .bd-icon-btn {
        padding: 8px;
    }

    .bd-service {
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 14px 16px;
    }

    .bd-service-price {
        text-align: left;
    }

    .bd-amenity-pills {
        gap: 5px;
        margin-top: 14px;
        padding-top: 14px;
    }

    .bd-amenity-pill {
        font-size: 11px;
    }
}

@media (max-width: 700px) {
    .bd-hero-main {
        aspect-ratio: 4 / 3;
    }

    .bd-hero-all {
        bottom: 10px;
        right: 10px;
        padding: 7px 14px;
        font-size: 12px;
    }

    .bd-hero-thumb {
        width: 72px;
        height: 52px;
    }

    .bd-hero-overlay {
        padding: 60px 18px 18px;
    }

    .bd-hero-tool-label {
        display: none;
    }

    .bd-hero-tool {
        padding: 8px;
    }

    .bd-hero-tools {
        top: 10px;
        right: 10px;
    }

    .bd-hero-title {
        font-size: 26px;
    }

    .bd-hero-meta {
        gap: 6px 8px;
        font-size: 12px;
    }

    .bd-hero-cat {
        font-size: 10px;
        margin-bottom: 8px;
    }

    .bd-quick-facts {
        grid-template-columns: 1fr;
        padding: 14px 16px;
    }
}

/* Main + sidebar layout */
.bd-body {
    padding: 16px 0 72px;
}

.bd-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 48px;
    align-items: flex-start;
}

/* Tab nav */
.bd-nav {
    display: flex;
    gap: 4px;
    border-bottom: 1px solid var(--sr-line);
    margin-bottom: 32px;
    overflow-x: auto;
    scrollbar-width: none;
    position: sticky;
    top: 0;
    background: var(--sr-bg);
    z-index: 20;
    padding-top: 8px;
}

.bd-nav::-webkit-scrollbar {
    display: none;
}

.bd-nav-item {
    flex-shrink: 0;
    padding: 14px 18px;
    font-size: 14px;
    color: var(--sr-ink-3);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: all var(--sr-dur);
}

.bd-nav-item:hover {
    color: var(--sr-ink);
}

.bd-nav-item.active {
    color: var(--sr-ink);
    border-bottom-color: var(--sr-clay);
    font-weight: 500;
}

/* Sections */
.bd-sec {
    padding: 8px 0 28px;
    scroll-margin-top: 80px;
}

.bd-sec-title {
    font-family: var(--sr-font-serif);
    font-size: 24px;
    font-weight: 400;
    letter-spacing: -0.015em;
    margin: 0 0 16px;
}

.bd-prose {
    font-size: 15px;
    line-height: 1.7;
    color: var(--sr-ink-2);
    max-width: 680px;
}

/* Highlights row */
.bd-highlights {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 14px;
    margin-top: 24px;
    padding: 20px;
    background: var(--sr-surface);
    border-radius: 14px;
}

.bd-highlight {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.bd-hi-icon {
    width: 36px;
    height: 36px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}

.bd-hi-k {
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    font-weight: 600;
}

.bd-hi-v {
    font-size: 14px;
    color: var(--sr-ink);
    margin-top: 2px;
}

/* Opening hours — collapsible minimal */
.bd-hours-details {
    margin: 20px 0 0;
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    overflow: hidden;
    background: var(--sr-bg);
}

.bd-hours-summary {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    cursor: pointer;
    list-style: none;
    font-size: 13.5px;
    transition: background var(--sr-dur);
}

.bd-hours-summary::-webkit-details-marker {
    display: none;
}

.bd-hours-summary:hover {
    background: var(--sr-surface);
}

.bd-hours-sum-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--sr-ink);
    font-weight: 500;
}

.bd-hours-sum-label svg {
    color: var(--sr-ink-3);
}

.bd-hours-sum-today {
    flex: 1;
    color: var(--sr-ink-2);
    font-family: var(--sr-font-serif);
    font-size: 13px;
}

.bd-hours-sum-chevron {
    color: var(--sr-ink-3);
    transition: transform var(--sr-dur);
    flex: none;
}

.bd-hours-details[open] .bd-hours-sum-chevron {
    transform: rotate(180deg);
}

.bd-hours-list {
    list-style: none;
    margin: 0;
    padding: 4px 0 8px;
    border-top: 1px solid var(--sr-line);
}

.bd-hours-row {
    display: flex;
    justify-content: space-between;
    padding: 7px 16px;
    font-size: 13px;
    color: var(--sr-ink-2);
}

.bd-hours-row.today {
    color: var(--sr-clay);
    font-weight: 500;
}

.bd-hours-time {
    font-variant-numeric: tabular-nums;
    font-family: var(--sr-font-serif);
}

/* Menu / services */
.bd-menu {
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    overflow: hidden;
}

.bd-menu-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--sr-line);
    transition: background var(--sr-dur);
}

.bd-menu-item:last-child {
    border-bottom: none;
}

.bd-menu-item:hover {
    background: var(--sr-surface);
}

.bd-menu-name {
    font-family: var(--sr-font-serif);
    font-size: 16px;
    color: var(--sr-ink);
}

.bd-menu-desc {
    font-size: 13px;
    color: var(--sr-ink-3);
    margin-top: 4px;
    line-height: 1.5;
}

.bd-menu-meta {
    font-size: 12px;
    color: var(--sr-ink-3);
    margin-top: 6px;
}

.bd-menu-price {
    text-align: right;
    white-space: nowrap;
    font-family: var(--sr-font-serif);
    font-size: 16px;
    color: var(--sr-ink);
}

/* Amenities — minimal */
.bd-amenities {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 6px;
}

.bd-amenity {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border: 1px solid var(--sr-line);
    border-radius: 8px;
    font-size: 13px;
    background: var(--sr-bg);
    color: var(--sr-ink-2);
}

.bd-amenity-check {
    color: #7fc48a;
    flex-shrink: 0;
}

/* Map card — sidebar */
.bd-map {
    height: 200px;
    border-radius: 14px 14px 0 0;
    overflow: hidden;
    border-bottom: 1px solid var(--sr-line);
    filter: saturate(0.75) contrast(1.02);
}

.bd-map-address {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 14px 16px;
    border-bottom: 1px solid var(--sr-line);
}

.bd-loc-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 14px;
}

/* Pending yorum kutusu */
.bd-pending-review {
    background: rgba(201, 100, 66, 0.04);
    border: 1px solid rgba(201, 100, 66, 0.2);
    border-radius: 12px;
    padding: 16px 18px;
    margin-bottom: 20px;
}

.bd-pending-review-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

/* Reviews */
.bd-rating-block {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 32px;
    padding: 24px;
    background: var(--sr-surface);
    border-radius: 14px;
    margin-bottom: 24px;
}

.bd-rating-big {
    text-align: center;
    border-right: 1px solid var(--sr-line);
    padding-right: 24px;
}

.bd-rating-num {
    font-family: var(--sr-font-serif);
    font-size: 56px;
    font-weight: 300;
    line-height: 1;
    letter-spacing: -0.02em;
    color: var(--sr-ink);
    margin-bottom: 4px;
}

.bd-rating-big .bd-stars {
    font-size: 16px;
    margin-bottom: 6px;
}

.bd-rating-breakdown {
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
}

.bd-breakdown-row {
    display: grid;
    grid-template-columns: 32px 1fr 32px;
    align-items: center;
    gap: 10px;
    font-size: 13px;
}

.bd-breakdown-star {
    color: var(--sr-ink-2);
    font-weight: 500;
}

.bd-breakdown-bar {
    height: 8px;
    background: var(--sr-line);
    border-radius: 4px;
    overflow: hidden;
}

.bd-breakdown-fill {
    height: 100%;
    background: var(--sr-clay);
    border-radius: 4px;
    transition: width 0.5s;
}

.bd-breakdown-n {
    color: var(--sr-ink-3);
    font-size: 12px;
    text-align: right;
}

@media (max-width: 600px) {
    .bd-rating-block {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .bd-rating-big {
        border-right: none;
        padding-right: 0;
        border-bottom: 1px solid var(--sr-line);
        padding-bottom: 20px;
    }
}

.bd-review-write {
    margin-bottom: 24px;
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    padding: 14px 18px;
    background: var(--sr-bg);
}

.bd-review-write summary {
    cursor: pointer;
    font-weight: 500;
    font-size: 14px;
    color: var(--sr-ink);
}

.bd-review-form {
    margin-top: 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.bd-star-picker {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 2px;
}

.bd-star-picker input {
    display: none;
}

.bd-star-picker label {
    font-size: 28px;
    color: var(--sr-line-2);
    cursor: pointer;
    transition: color 0.15s;
}

.bd-star-picker label:hover,
.bd-star-picker label:hover~label,
.bd-star-picker input:checked~label {
    color: var(--sr-clay);
}

.bd-review-cta {
    margin-bottom: 24px;
}

.bd-reviews {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.bd-review {
    padding: 20px 22px;
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    background: var(--sr-bg);
}

.bd-review-head {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 10px;
}

.bd-review-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--sr-clay);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--sr-font-serif);
    font-size: 18px;
    flex-shrink: 0;
}

.bd-review-user {
    font-weight: 500;
    color: var(--sr-ink);
    font-size: 14px;
}

.bd-review-meta {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 12px;
    color: var(--sr-ink-3);
    margin-top: 2px;
}

.bd-review-title {
    font-family: var(--sr-font-serif);
    font-size: 17px;
    margin: 6px 0 6px;
    font-weight: 400;
}

.bd-review-body {
    font-size: 14px;
    line-height: 1.6;
    color: var(--sr-ink-2);
    margin: 0;
}

.bd-review-reply {
    margin-top: 14px;
    padding: 12px 14px;
    background: var(--sr-surface);
    border-left: 3px solid var(--sr-clay);
    border-radius: 8px;
}

.bd-review-reply p {
    font-size: 13px;
    line-height: 1.55;
    color: var(--sr-ink-2);
    margin: 4px 0 0;
}

/* Similar grid */
.bd-similar-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

@media (max-width: 900px) {
    .bd-similar-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 500px) {
    .bd-similar-grid {
        grid-template-columns: 1fr;
    }
}

/* Sidebar — contact card */
.bd-side {
    position: sticky;
    top: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.bd-contact-card {
    border: 1px solid var(--sr-line);
    border-radius: 16px;
    padding: 22px 22px 20px;
    background: var(--sr-bg);
    box-shadow: 0 8px 24px rgba(43, 39, 36, 0.04);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.bd-contact-plan {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 4px;
}

.bd-plan-badge {
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 999px;
}

.bd-plan-free {
    background: var(--sr-surface-2);
    color: var(--sr-ink-3);
}

.bd-plan-basic {
    background: rgba(127, 196, 138, 0.14);
    color: #3d7b49;
}

.bd-plan-pro {
    background: rgba(201, 100, 66, 0.14);
    color: #a34d30;
}

.bd-plan-premium {
    background: var(--sr-ink);
    color: #fff;
}

.bd-contact-primary {
    padding: 16px 18px !important;
    display: flex;
    gap: 14px;
    align-items: center;
    text-align: left;
    justify-content: flex-start !important;
    font-family: inherit;
}

.bd-contact-ico {
    font-size: 18px;
    flex-shrink: 0;
}

.bd-contact-labels {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.bd-contact-lab {
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    opacity: 0.75;
}

.bd-contact-val {
    font-size: 15px;
    font-weight: 500;
    margin-top: 2px;
}

.bd-contact-secondary,
.bd-contact-ghost {
    padding: 12px 16px !important;
    display: flex !important;
    gap: 10px;
    align-items: center;
    justify-content: flex-start !important;
    font-size: 14px;
}

.btn-sage {
    background: #3d7b49;
    color: #fff;
    border: 1px solid #3d7b49;
    padding: 12px 16px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 500;
    transition: all var(--sr-dur);
    font-family: inherit;
}

.btn-sage:hover {
    background: #326238;
    border-color: #326238;
}

.bd-contact-locked {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 12px 14px;
    background: var(--sr-surface);
    border: 1px dashed var(--sr-line-2);
    border-radius: 10px;
    font-size: 12px;
    color: var(--sr-ink-3);
}

.bd-socials {
    margin-top: 10px;
    padding-top: 16px;
    border-top: 1px solid var(--sr-line);
}

.bd-social-row {
    display: flex;
    gap: 8px;
}

.bd-social {
    width: 38px;
    height: 38px;
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--sr-ink-2);
    text-decoration: none;
    transition: all var(--sr-dur);
    background: var(--sr-bg);
}

.bd-social:hover {
    background: var(--sr-ink);
    color: #fff;
    border-color: var(--sr-ink);
    transform: translateY(-1px);
}

.bd-report {
    font-size: 11px;
    text-align: center;
    padding-top: 12px;
    margin-top: 6px;
    border-top: 1px solid var(--sr-line);
}

.bd-report a {
    color: var(--sr-ink-3);
    text-decoration: none;
}

.bd-report a:hover {
    color: var(--sr-clay);
    text-decoration: underline;
}

/* Quick card */
.bd-quick-card {
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    padding: 18px 20px;
    background: var(--sr-bg);
}

.bd-quick-list {
    list-style: none;
    padding: 0;
    margin: 12px 0 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.bd-quick-list li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-size: 13px;
    padding-bottom: 10px;
    border-bottom: 1px dashed var(--sr-line);
}

.bd-quick-list li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.bd-quick-list li span {
    color: var(--sr-ink-3);
}

.bd-quick-list li strong {
    color: var(--sr-ink);
    font-weight: 500;
    text-align: right;
}

@media (max-width: 900px) {
    .bd-layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .bd-side {
        position: static;
        order: 2;
    }

    .bd-main {
        order: 1;
    }

    .bd-header {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .bd-header-actions {
        order: -1;
    }
}

/* Lightbox */
.sr-lightbox {
    position: fixed;
    inset: 0;
    background: rgba(20, 15, 12, 0.96);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sr-lightbox[hidden] {
    display: none !important;
}

.sr-lb-close,
.sr-lb-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50%;
    width: 48px;
    height: 48px;
    font-size: 22px;
    cursor: pointer;
    backdrop-filter: blur(6px);
    transition: background 0.2s;
    font-family: inherit;
}

.sr-lb-close {
    top: 20px;
    right: 20px;
    transform: none;
}

.sr-lb-prev {
    left: 20px;
}

.sr-lb-next {
    right: 20px;
}

.sr-lb-close:hover,
.sr-lb-nav:hover {
    background: rgba(255, 255, 255, 0.18);
}

.sr-lb-stage {
    max-width: 90vw;
    max-height: 85vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sr-lb-stage img {
    max-width: 100%;
    max-height: 85vh;
    object-fit: contain;
    border-radius: 8px;
}

.sr-lb-counter {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(255, 255, 255, 0.8);
    font-size: 13px;
    letter-spacing: 0.1em;
}

/* =========================================================
   Listing layout — sidebar + grid
   ========================================================= */
.sr-listing-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 36px;
    align-items: flex-start;
}

.sr-sidebar {
    position: sticky;
    top: 20px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 16px;
    padding: 20px;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
}

.sr-filter-block+.sr-filter-block {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--sr-line);
}

.sr-filter-head {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    font-weight: 600;
    margin-bottom: 10px;
}

.sr-filter-scroll {
    max-height: 220px;
    overflow-y: auto;
    padding-right: 4px;
    scrollbar-width: thin;
}

.sr-filter-scroll::-webkit-scrollbar {
    width: 6px;
}

.sr-filter-scroll::-webkit-scrollbar-thumb {
    background: var(--sr-line-2);
    border-radius: 3px;
}

.sr-filter-radio,
.sr-filter-check {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
    cursor: pointer;
    font-size: 13px;
    color: var(--sr-ink);
    line-height: 1.3;
}

.sr-filter-radio input,
.sr-filter-check input {
    margin: 0;
    accent-color: var(--sr-clay);
}

.sr-filter-radio span:first-of-type,
.sr-filter-check span {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sr-filter-count {
    font-size: 11px;
    color: var(--sr-ink-3);
    background: var(--sr-surface-2);
    padding: 1px 7px;
    border-radius: 10px;
}

.sr-filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.sr-filter-chip {
    position: relative;
    padding: 8px 14px;
    border: 1px solid var(--sr-line);
    border-radius: 999px;
    font-size: 13px;
    color: var(--sr-ink-2);
    cursor: pointer;
    transition: all var(--sr-dur);
    background: var(--sr-bg);
    font-family: var(--sr-font-serif);
}

.sr-filter-chip input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.sr-filter-chip:hover {
    border-color: var(--sr-ink-3);
    color: var(--sr-ink);
}

.sr-filter-chip.active {
    background: var(--sr-ink);
    border-color: var(--sr-ink);
    color: var(--sr-bg);
}

.sr-clear-filters {
    color: var(--sr-clay);
    text-decoration: none;
    font-weight: 500;
}

.sr-clear-filters:hover {
    text-decoration: underline;
}

.sr-results-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.sr-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 40px;
}

.sr-pagination-info {
    font-family: var(--sr-font-serif);
    font-size: 14px;
    color: var(--sr-ink-3);
    padding: 0 8px;
}

@media (max-width: 1100px) {
    .sr-results-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 900px) {
    .sr-listing-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .sr-sidebar {
        position: static;
        max-height: none;
    }

    /* Mobilde sidebar'ı accordion yap — tek grup filtre paneli */
    .sr-sidebar {
        padding: 16px;
    }
}

@media (max-width: 600px) {
    .sr-results-grid {
        grid-template-columns: 1fr;
    }
}

/* Eski hero stillerini geriye-uyumlu tut (başka yerlerde kullanılıyorsa) */

/* ---------- Immersive hero ---------- */
.sr-home-hero {
    position: relative;
    min-height: 620px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 80px 0 180px;
    overflow: hidden;
    color: #fff;
    border-bottom: 1px solid var(--sr-line);
}

.sr-home-hero-img {
    position: absolute;
    inset: 0;
    background: url('https://images.unsplash.com/photo-1540555700478-4be289fbecef?w=2400&q=80') center/cover;
    transform: scale(1.02);
}

.sr-home-hero-tint {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(43, 39, 36, 0.35) 0%, rgba(43, 39, 36, 0.25) 40%, rgba(43, 39, 36, 0.75) 100%),
        radial-gradient(ellipse at center, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.5) 100%);
}

.sr-home-hero-inner {
    position: relative;
    text-align: center;
    max-width: 920px;
    padding: 0 24px;
}

.sr-home-hero-eyebrow {
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 24px;
    letter-spacing: 0.18em;
}

.sr-home-hero-title {
    font-family: var(--sr-font-serif);
    font-weight: 300;
    font-size: clamp(38px, 6.2vw, 76px);
    letter-spacing: -0.03em;
    line-height: 1.02;
    margin: 0 0 22px;
    color: #fff;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.25);
}

.sr-home-hero-title em {
    font-style: italic;
    color: #f4c8b3;
    font-weight: 400;
}

.sr-home-hero-sub {
    font-size: clamp(15px, 1.7vw, 18px);
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
    max-width: 640px;
    margin: 0 auto 40px;
}

/* Searchbox with tabs */
.sr-home-searchbox {
    max-width: 780px;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 18px;
    padding: 10px;
}

.sr-home-tabs {
    display: flex;
    gap: 4px;
    overflow-x: auto;
    padding: 2px;
    margin-bottom: 8px;
    scrollbar-width: none;
}

.sr-home-tabs::-webkit-scrollbar {
    display: none;
}

.sr-home-tab {
    flex-shrink: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.8);
    border: 1px solid transparent;
    padding: 10px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.02em;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all var(--sr-dur);
    white-space: nowrap;
    font-family: inherit;
}

.sr-home-tab span {
    opacity: 0.7;
    font-size: 12px;
}

.sr-home-tab:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

.sr-home-tab.active {
    background: #fff;
    color: var(--sr-ink);
    border-color: #fff;
}

.sr-home-tab.active span {
    opacity: 1;
    color: var(--sr-clay);
}

.sr-home-searchform {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 6px;
    background: #fff;
    border-radius: 12px;
    padding: 6px;
}

.sr-home-search-field {
    padding: 10px 18px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    text-align: left;
}

.sr-home-search-field label {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
}

.sr-home-search-field input {
    border: none;
    background: transparent;
    padding: 0;
    font-size: 15px;
    color: var(--sr-ink);
    outline: none;
    font-family: inherit;
    width: 100%;
}

.sr-home-search-btn {
    padding: 0 28px;
    font-size: 15px;
    min-height: 52px;
}

.sr-home-hero-footer {
    position: absolute;
    bottom: 32px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.85);
    flex-wrap: wrap;
    padding: 0 24px;
    text-align: center;
}

.sr-home-hero-footer strong {
    font-family: var(--sr-font-serif);
    font-size: 18px;
    color: #fff;
    margin-right: 6px;
    font-weight: 400;
}

.sr-home-hero-footer .sep {
    width: 1px;
    height: 14px;
    background: rgba(255, 255, 255, 0.3);
}

@media (max-width: 700px) {
    .sr-home-hero {
        min-height: 540px;
        padding: 60px 0 140px;
    }

    .sr-home-searchform {
        grid-template-columns: 1fr;
    }

    .sr-home-search-btn {
        min-height: 48px;
    }

    .sr-home-hero-footer {
        gap: 12px;
        font-size: 12px;
    }

    .sr-home-hero-footer .sep {
        display: none;
    }
}

/* ---------- Awards strip ---------- */
.sr-awards {
    padding: 64px 0 32px;
    background: linear-gradient(180deg, var(--sr-bg) 0%, var(--sr-surface) 100%);
}

.sr-awards-row {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 40px;
    align-items: center;
}

.sr-awards-badge {
    width: 200px;
    height: 220px;
    background: var(--sr-clay);
    color: #fff;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 24px 16px;
    position: relative;
    box-shadow: 0 18px 40px rgba(201, 100, 66, 0.22);
}

.sr-awards-badge::before,
.sr-awards-badge::after {
    content: '';
    position: absolute;
    bottom: -14px;
    width: 40px;
    height: 24px;
    background: var(--sr-clay);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.sr-awards-badge::before {
    left: 34px;
    transform: rotate(-6deg);
}

.sr-awards-badge::after {
    right: 34px;
    transform: rotate(6deg);
}

.sr-awards-badge-ribbon {
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    opacity: 0.85;
    margin-bottom: 10px;
}

.sr-awards-badge-year {
    font-family: var(--sr-font-serif);
    font-size: 56px;
    font-weight: 300;
    line-height: 1;
    letter-spacing: -0.03em;
}

.sr-awards-badge-title {
    font-family: var(--sr-font-serif);
    font-size: 14px;
    font-style: italic;
    margin-top: 8px;
    text-align: center;
}

@media (max-width: 700px) {
    .sr-awards-row {
        grid-template-columns: 1fr;
        gap: 24px;
        text-align: center;
    }

    .sr-awards-badge {
        margin: 0 auto;
    }
}

/* ---------- Collections ---------- */
.sr-collections {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.sr-collection {
    position: relative;
    aspect-ratio: 3/4;
    background-size: cover;
    background-position: center;
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none;
    color: #fff;
    display: flex;
    align-items: flex-end;
    transition: transform var(--sr-dur);
}

.sr-collection::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(43, 39, 36, 0.85) 100%);
}

.sr-collection:hover {
    transform: translateY(-2px);
}

.sr-collection-body {
    position: relative;
    padding: 24px;
    width: 100%;
}

.sr-collection-body h3 {
    font-family: var(--sr-font-serif);
    font-size: 22px;
    font-weight: 400;
    letter-spacing: -0.01em;
    margin: 8px 0 6px;
    line-height: 1.15;
}

.sr-collection-body p {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
    line-height: 1.5;
}

@media (max-width: 900px) {
    .sr-collections {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 500px) {
    .sr-collection-body h3 {
        font-size: 18px;
    }
}

/* ---------- Cities ---------- */
.sr-cities {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.sr-city {
    display: block;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none;
    color: var(--sr-ink);
    transition: all var(--sr-dur);
}

.sr-city:hover {
    border-color: var(--sr-line-2);
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(43, 39, 36, 0.08);
}

.sr-city-img {
    aspect-ratio: 16/10;
    background-size: cover;
    background-position: center;
    background-color: var(--sr-surface-2);
}

.sr-city-body {
    padding: 16px 20px;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.sr-city-name {
    font-family: var(--sr-font-serif);
    font-size: 22px;
    letter-spacing: -0.01em;
}

.sr-city-meta {
    font-size: 12px;
    color: var(--sr-ink-3);
    letter-spacing: 0.04em;
}

@media (max-width: 900px) {
    .sr-cities {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 500px) {
    .sr-cities {
        grid-template-columns: 1fr;
    }
}

/* ---------- Category card ---------- */
.sr-category-card {
    cursor: pointer;
    transition: border-color var(--sr-dur);
    overflow: hidden;
}

.sr-category-card:hover {
    border-color: var(--sr-clay);
}

.sr-category-icon {
    aspect-ratio: 1/1;
    background: var(--sr-surface-2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--sr-font-serif);
    font-size: 48px;
    color: var(--sr-ink-4);
}

.sr-category-body {
    padding: 14px 16px;
}

.sr-category-name {
    font-family: var(--sr-font-serif);
    font-size: 18px;
    letter-spacing: -0.01em;
}

/* ---------- Community strip ---------- */
.sr-community {
    padding: 80px 0;
    background: var(--sr-bg);
    border-top: 1px solid var(--sr-line);
    border-bottom: 1px solid var(--sr-line);
}

.sr-community-row {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 56px;
    align-items: center;
}

.sr-community-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.sr-stat-big {
    background: var(--sr-surface);
    border-radius: 14px;
    padding: 24px 16px;
    text-align: center;
}

.sr-stat-big .n {
    font-family: var(--sr-font-serif);
    font-size: 36px;
    font-weight: 300;
    color: var(--sr-ink);
    letter-spacing: -0.02em;
    line-height: 1;
}

.sr-stat-big .l {
    font-size: 12px;
    color: var(--sr-ink-3);
    margin-top: 8px;
    letter-spacing: 0.04em;
}

@media (max-width: 900px) {
    .sr-community-row {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .sr-community {
        padding: 56px 0;
    }
}

@media (max-width: 500px) {
    .sr-community-stats {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   MOBİL UYUM — kapsamlı patch (tüm sayfaları etkiler)
   ========================================================= */

/* --- Container padding tutarlı ---- */
@media (max-width: 700px) {

    .container,
    .narrow {
        padding: 0 16px;
    }
}

/* --- Topnav — brand küçült, right grupta wrap ---- */
@media (max-width: 700px) {
    .topnav {
        padding: 12px 16px;
        gap: 8px;
    }

    .topnav .brand {
        font-size: 18px;
    }

    .topnav .right {
        gap: 6px;
        flex-wrap: nowrap;
    }

    .topnav .right a.btn {
        padding: 6px 10px;
        font-size: 11px;
    }

    .topnav .right a.btn-ghost {
        display: none;
    }
}

@media (max-width: 420px) {
    .topnav .brand {
        font-size: 16px;
    }

    .topnav .brand .dot {
        width: 6px;
        height: 6px;
    }
}

/* --- Section-head — mobilde sağdaki "Tümünü gör" alt satıra inmesin kaybolmasın ---- */
@media (max-width: 600px) {
    .section-head {
        flex-wrap: wrap;
        gap: 6px;
        margin-bottom: 16px;
    }

    .section-head h2 {
        font-size: 24px;
    }

    .section-head>a,
    .section-head>.btn {
        font-size: 12px;
        align-self: flex-start;
    }
}

/* --- Hero: sol tarafı daha ferah, buton min 44px ---- */
@media (max-width: 700px) {
    .sr-hero2-left {
        padding: 32px 16px 24px;
    }

    .sr-hero2-title {
        font-size: 32px;
        margin-bottom: 14px;
    }

    .sr-hero2-sub {
        font-size: 14px;
        margin-bottom: 20px;
    }

    .sr-hero2-searchbox {
        padding: 8px;
    }

    .sr-home-tabs {
        gap: 2px;
        padding: 0;
    }

    .sr-home-tab {
        padding: 8px 12px;
        font-size: 12px;
        min-height: 38px;
    }

    .sr-home-search-field {
        padding: 8px 12px;
    }

    .sr-home-search-field input {
        font-size: 14px;
    }

    .sr-home-search-btn {
        min-height: 48px;
        width: 100%;
    }

    .sr-hero2-metrics {
        gap: 10px;
        font-size: 11px;
        margin-top: 18px;
    }

    .sr-hero2-metrics strong {
        font-size: 15px;
    }

    .sr-hero2-metrics .sep {
        display: none;
    }

    .sr-map-overlay-chip {
        left: 12px;
        bottom: 12px;
        font-size: 10px;
        padding: 6px 10px;
    }

    .sr-hero2-right {
        min-height: 280px;
    }
}

/* Live dropdown mobilde container'dan taşmasın */
@media (max-width: 700px) {
    .sr-live-dropdown {
        max-height: 60vh;
    }

    .sr-live-row {
        padding: 12px 14px;
        font-size: 13px;
        min-height: 44px;
    }

    .sr-card-mini {
        padding: 10px 14px;
    }
}

/* --- Awards strip ---- */
@media (max-width: 700px) {
    .sr-awards {
        padding: 32px 0 16px;
    }

    .sr-awards-badge {
        width: 160px;
        height: 180px;
        padding: 18px 14px;
    }

    .sr-awards-badge-year {
        font-size: 44px;
    }

    .sr-awards-badge-title {
        font-size: 12px;
    }

    .sr-awards-copy h2 {
        font-size: 22px !important;
    }

    .sr-awards-copy p {
        font-size: 13px !important;
    }
}

/* --- İstanbul ilçe grid mobilde 2-kolon kalsın, tek kolon çok büyük ---- */
@media (max-width: 500px) {
    .home-ist-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px;
    }

    .home-ist-name {
        font-size: 15px;
    }

    .home-ist-body {
        padding: 10px 12px;
    }

    .home-ist-meta {
        font-size: 10px;
    }
}

/* --- Editor's pick hero ---- */
@media (max-width: 700px) {
    .home-editor-img {
        min-height: 200px;
    }

    .home-editor-body {
        padding: 22px 18px;
    }

    .home-editor-tag {
        top: 12px;
        left: 12px;
        font-size: 10px;
        padding: 5px 10px;
    }

    .home-editor-name {
        font-size: 26px;
    }

    .home-editor-desc {
        font-size: 14px;
    }
}

/* --- Rituel cards mobilde 1 kolon ---- */
@media (max-width: 500px) {
    .home-rituels {
        grid-template-columns: 1fr !important;
    }

    .home-rituel-img {
        aspect-ratio: 16/9;
    }

    .home-rituel-name {
        font-size: 18px;
    }
}

/* --- Why trust cards mobilde 1 kolon ---- */
@media (max-width: 500px) {
    .home-why-grid {
        grid-template-columns: 1fr !important;
        gap: 12px;
    }

    .home-why-card {
        padding: 20px 16px;
    }

    .home-why-ico {
        width: 44px;
        height: 44px;
        font-size: 18px;
    }
}

/* --- Topluluk yorumları ---- */
@media (max-width: 600px) {
    .home-review {
        padding: 16px 18px;
    }

    .home-review-title {
        font-size: 14px;
    }

    .home-review-body {
        font-size: 12px;
    }
}

/* --- Blog preview mobilde 1 kolon ---- */
@media (max-width: 600px) {
    .home-blog-grid {
        grid-template-columns: 1fr !important;
    }

    .home-blog-title {
        font-size: 16px;
    }
}

/* --- FAQ home ---- */
@media (max-width: 600px) {
    .home-faq-item summary {
        font-size: 15px;
        padding: 14px 0;
        padding-right: 28px;
    }

    .home-faq-item p {
        font-size: 13px;
    }
}

/* =========================================================
   Business detail — mobile
   ========================================================= */
@media (max-width: 700px) {
    .bd-hero {
        padding: 16px 0 0;
    }

    .bd-crumbs {
        margin-bottom: 12px;
        font-size: 11px;
    }

    .bd-title {
        font-size: 28px;
        margin-bottom: 12px;
    }

    .bd-badges {
        gap: 6px;
        margin-bottom: 10px;
    }

    .bd-badge {
        font-size: 10px;
        padding: 3px 8px;
    }

    .bd-rating-summary strong {
        font-size: 15px;
    }

    .bd-rating-n {
        font-size: 11px;
    }

    .bd-loc {
        font-size: 13px;
    }

    .bd-tagline {
        font-size: 16px;
        line-height: 1.45;
    }

    .bd-gallery-section {
        padding: 12px 0 20px;
    }

    .bd-gallery-all-btn {
        bottom: 16px;
        right: 12px;
        font-size: 11px;
        padding: 8px 14px;
    }

    .bd-body {
        padding: 16px 0 100px;
    }

    .bd-nav {
        margin-bottom: 20px;
        padding-top: 4px;
    }

    .bd-nav-item {
        padding: 12px 14px;
        font-size: 13px;
        min-height: 44px;
        display: flex;
        align-items: center;
    }

    .bd-sec {
        padding: 8px 0 28px;
    }

    .bd-sec-title {
        font-size: 20px;
        margin-bottom: 12px;
    }

    .bd-prose {
        font-size: 14px;
    }

    .bd-highlights {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px;
        padding: 14px;
    }

    .bd-hi-icon {
        width: 30px;
        height: 30px;
    }

    .bd-hi-k {
        font-size: 10px;
    }

    .bd-hi-v {
        font-size: 12px;
    }

    .bd-menu-item {
        padding: 14px 16px;
        gap: 10px;
    }

    .bd-menu-name {
        font-size: 14px;
    }

    .bd-menu-desc {
        font-size: 12px;
    }

    .bd-menu-price {
        font-size: 14px;
    }

    .bd-amenities {
        grid-template-columns: 1fr 1fr !important;
        gap: 6px;
    }

    .bd-amenity {
        padding: 8px 10px;
        font-size: 12px;
    }

    .bd-map {
        height: 260px;
    }

    .bd-rating-num {
        font-size: 44px;
    }

    .bd-review {
        padding: 16px 18px;
    }

    .bd-review-title {
        font-size: 15px;
    }

    .bd-review-body {
        font-size: 13px;
    }

    /* Sidebar contact card mobilde üstte kalsın */
    .bd-side {
        order: -1 !important;
        position: static;
    }

    .bd-main {
        order: 0;
    }

    .bd-contact-card {
        padding: 18px 18px 16px;
    }

    .bd-contact-primary {
        padding: 14px 16px !important;
    }

    .bd-contact-val {
        font-size: 14px;
    }

    .bd-gallery-all-btn svg {
        width: 12px;
        height: 12px;
    }
}

@media (max-width: 420px) {
    .bd-badges {
        gap: 4px;
    }

    .bd-amenities {
        grid-template-columns: 1fr !important;
    }
}

/* Lightbox mobile */
@media (max-width: 700px) {
    .sr-lb-close {
        top: 12px;
        right: 12px;
        width: 40px;
        height: 40px;
        font-size: 18px;
    }

    .sr-lb-prev,
    .sr-lb-next {
        width: 40px;
        height: 40px;
        font-size: 18px;
    }

    .sr-lb-prev {
        left: 8px;
    }

    .sr-lb-next {
        right: 8px;
    }

    .sr-lb-counter {
        bottom: 14px;
        font-size: 11px;
    }
}

/* Sticky CTA yükseklik ayarı + safe-area */
@media (max-width: 700px) {
    .sticky-cta {
        padding: 10px 12px;
        gap: 6px;
        padding-bottom: calc(10px + env(safe-area-inset-bottom, 0));
    }

    .sticky-cta a {
        padding: 12px 10px;
        font-size: 13px;
        min-height: 44px;
        flex: 1;
        justify-content: center;
    }

    body.has-sticky-cta {
        padding-bottom: calc(72px + env(safe-area-inset-bottom, 0));
    }
}

/* =========================================================
   Wizard — mobile
   ========================================================= */
@media (max-width: 700px) {
    .wiz-form {
        padding: 20px 16px !important;
    }

    .wiz-fs {
        padding: 16px 0;
    }

    .wiz-fs-title {
        font-size: 17px;
    }

    .wiz-fs-sub {
        font-size: 11px;
    }

    .wiz-field {
        margin-bottom: 14px;
    }

    .wiz-price-chip {
        min-width: 78px;
        padding: 10px 12px;
    }

    .wiz-price-sym {
        font-size: 18px;
    }

    .wiz-price-label {
        font-size: 10px;
    }

    .wiz-cat-list {
        grid-template-columns: 1fr !important;
        max-height: 320px;
    }

    .wiz-cat-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    .wiz-hours-bulk {
        gap: 4px;
        padding: 10px;
    }

    .wiz-hours-bulk .btn {
        font-size: 11px;
        padding: 6px 10px;
        min-height: 36px;
    }

    .wiz-hours-bulk-lbl {
        font-size: 10px;
        width: 100%;
    }

    .wiz-amen-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    .wiz-amen-group {
        padding: 12px 14px;
    }

    .wiz-amen-chip {
        font-size: 12px;
        padding: 6px 10px;
    }

    .wiz-map {
        height: 280px;
    }

    .wiz-map-actions {
        gap: 6px;
    }

    .wiz-map-actions .btn {
        flex: 1;
        min-width: 0;
        font-size: 11px;
        padding: 8px 10px;
    }

    .wiz-map-actions span {
        display: block;
        width: 100%;
        text-align: center;
        font-size: 11px;
    }

    .wiz-dropzone {
        padding: 20px 16px;
    }

    .wiz-drop-ico {
        font-size: 24px;
    }

    .wiz-drop-title {
        font-size: 14px;
    }

    .wiz-drop-hint {
        font-size: 11px;
    }

    .wiz-gallery {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px;
    }

    .wiz-gal-actions {
        opacity: 1 !important;
    }

    /* mobilde hover yok, hep görünür */
    .wiz-gal-drag {
        display: none;
    }

    /* mobilde touch drag zor, kaldır */

    .wizard-plans {
        grid-template-columns: 1fr !important;
        gap: 12px;
    }

    .wiz-plan-card {
        padding: 22px 18px 18px;
    }

    .wiz-plan-name {
        font-size: 20px;
    }

    .wiz-plan-amount {
        font-size: 26px;
    }
}

/* =========================================================
   Owner — hub (dashboard) mobile
   ========================================================= */
@media (max-width: 700px) {
    .hub-welcome {
        margin-bottom: 18px;
    }

    .hub-greeting {
        font-size: 28px;
    }

    .hub-kpi {
        grid-template-columns: 1fr 1fr !important;
        gap: 10px;
    }

    .hub-kpi-card {
        padding: 14px 14px;
        gap: 10px;
    }

    .hub-kpi-ico {
        width: 36px;
        height: 36px;
        font-size: 16px;
    }

    .hub-kpi-n {
        font-size: 22px;
    }

    .hub-kpi-l {
        font-size: 11px;
    }

    .hub-biz-grid {
        grid-template-columns: 1fr !important;
    }

    .hub-biz-card {
        flex-direction: row;
        align-items: stretch;
    }

    .hub-biz-cover {
        width: 120px;
        min-width: 120px;
        aspect-ratio: auto;
    }

    .hub-biz-body {
        padding: 12px 14px;
        flex: 1;
        min-width: 0;
    }

    .hub-biz-name {
        font-size: 16px;
    }

    .hub-biz-meta {
        font-size: 11px;
    }

    .hub-biz-add {
        flex-direction: column !important;
    }

    .hub-biz-add-inner {
        padding: 24px 16px;
    }

    .hub-action {
        padding: 12px 14px;
        gap: 10px;
    }

    .hub-action strong {
        font-size: 13px;
    }

    .hub-review-head {
        grid-template-columns: 32px 1fr;
    }

    .hub-review-avatar {
        width: 32px;
        height: 32px;
        font-size: 13px;
    }

    .hub-review-body {
        font-size: 12px;
    }
}

@media (max-width: 400px) {
    .hub-kpi {
        grid-template-columns: 1fr !important;
    }

    .hub-biz-card {
        flex-direction: column;
    }

    .hub-biz-cover {
        width: 100%;
        aspect-ratio: 16/9;
    }
}

/* =========================================================
   Subscription upgrade mobile
   ========================================================= */
@media (max-width: 700px) {
    .sub-current {
        padding: 18px 18px;
        gap: 18px;
    }

    .sub-current-name {
        font-size: 24px;
    }

    .sub-current-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 10px;
    }

    .sub-current-val {
        font-size: 14px;
    }

    .sub-cycle-toggle {
        margin-bottom: 20px;
    }

    .sub-cycle-opt {
        padding: 8px 14px;
        font-size: 12px;
    }

    .sub-payment-section {
        padding: 20px 18px;
    }

    .sub-methods {
        grid-template-columns: 1fr !important;
    }

    .sub-method {
        padding: 14px 16px;
        grid-template-columns: 40px 1fr 20px;
    }

    .sub-legal-check {
        padding: 12px 14px;
        font-size: 12px;
    }

    .sub-summary {
        padding: 16px 18px;
    }

    .sub-summary-right {
        width: 100%;
        justify-content: space-between;
        align-items: center;
    }

    .sub-summary-amount {
        font-size: 22px;
    }

    .sub-summary-right .btn {
        padding: 12px 20px;
        font-size: 14px;
    }
}

/* =========================================================
   Admin — approval queue mobile
   ========================================================= */
@media (max-width: 700px) {
    .approval-grid {
        grid-template-columns: 1fr !important;
        gap: 14px;
    }

    .approval-card {
        padding: 16px 18px;
    }

    .approval-name {
        font-size: 16px;
    }

    .approval-meta {
        grid-template-columns: repeat(3, 1fr);
        gap: 6px;
    }

    .approval-meta-item strong {
        font-size: 13px;
    }

    .approval-actions {
        flex-direction: column;
        gap: 6px;
    }

    .approval-actions>* {
        width: 100%;
    }
}

/* =========================================================
   Listing + sidebar filter mobile
   ========================================================= */
@media (max-width: 700px) {
    .sr-listing-layout {
        gap: 12px;
    }

    .sr-sidebar {
        padding: 14px;
        max-height: none;
    }

    .sr-filter-block+.sr-filter-block {
        margin-top: 14px;
        padding-top: 14px;
    }

    .sr-filter-scroll {
        max-height: 180px;
    }

    .sr-results-grid {
        grid-template-columns: 1fr !important;
        gap: 12px;
    }

    .sr-pagination {
        gap: 8px;
        flex-wrap: wrap;
    }
}

/* =========================================================
   Services table (owner) mobile
   ========================================================= */
@media (max-width: 600px) {
    .svc-row {
        margin: 6px;
        padding: 10px;
    }

    .svc-row .input {
        font-size: 12px;
        padding: 8px 10px;
    }
}

/* =========================================================
   Home — share button feedback (paylaş)
   ========================================================= */
.bd-header-actions .btn {
    min-height: 36px;
}

/* Accessible focus ring — tüm interactive elementlerde */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--sr-clay);
    outline-offset: 2px;
}

/* Scroll güvenliği — input focus'ta iOS zoom atmasın */
@media (max-width: 700px) {

    .input,
    .select,
    .textarea,
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    input[type="search"],
    input[type="url"] {
        font-size: 16px !important;
        /* iOS 16px altında zoom'lar */
    }
}

/* İstek: fluid typography home başlıklar */
@media (max-width: 500px) {
    h1 {
        font-size: clamp(26px, 7vw, 36px) !important;
    }

    h2 {
        font-size: clamp(22px, 5.5vw, 28px) !important;
    }
}

/* =========================================================
   Kategori sayfası — YENİ minimize tasarım
   ========================================================= */
.cat-top {
    padding: 24px 0 18px;
}

.cat-top .bd-crumbs {
    margin-bottom: 12px;
}

.cat-top-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    flex-wrap: wrap;
}

.cat-top .cat-title {
    font-family: var(--sr-font-serif);
    font-size: clamp(28px, 3.8vw, 40px);
    font-weight: 300;
    letter-spacing: -0.02em;
    line-height: 1.1;
    margin: 0 0 6px;
}

.cat-top .cat-subtitle {
    font-size: 14px;
    color: var(--sr-muted);
    margin: 0;
}

.cat-body {
    padding: 28px 0 72px;
}

.cat-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 32px;
    align-items: flex-start;
}

/* ===== FİLTRELER ===== */
.cat-filters {
    position: sticky;
    top: 16px;
}

.cat-filter-inner {
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.cat-filter-block+.cat-filter-block {
    padding-top: 14px;
    border-top: 1px solid var(--sr-line);
}

.cat-filter-head {
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    margin-bottom: 8px;
}

.cat-filter-search {
    width: 100%;
    padding: 9px 12px;
    border: 1px solid var(--sr-line);
    border-radius: 8px;
    font-family: inherit;
    font-size: 13px;
    background: var(--sr-bg);
    color: var(--sr-ink);
}

.cat-filter-search:focus {
    outline: none;
    border-color: var(--sr-clay);
}

.cat-filter-select {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--sr-line);
    border-radius: 8px;
    font-family: inherit;
    font-size: 13px;
    background: var(--sr-bg);
    cursor: pointer;
}

.cat-filter-select:focus {
    outline: none;
    border-color: var(--sr-clay);
}

.cat-filter-chips {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-height: 260px;
    overflow-y: auto;
}

.cat-filter-chip {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 4px;
    cursor: pointer;
    font-size: 13px;
    color: var(--sr-ink-2);
    border-radius: 6px;
    transition: color var(--sr-dur);
}

.cat-filter-chip:hover {
    color: var(--sr-ink);
}

.cat-filter-chip input {
    accent-color: var(--sr-clay);
    width: 14px;
    height: 14px;
    flex: none;
    cursor: pointer;
}

.cat-filter-chip span:first-of-type {
    flex: 1;
}

.cat-filter-chip.selected {
    color: var(--sr-clay);
    font-weight: 500;
}

.cat-filter-cnt {
    font-size: 10.5px;
    color: var(--sr-muted);
    font-variant-numeric: tabular-nums;
}

.cat-price-chips {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}

.cat-price-chip {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1px;
    padding: 8px 4px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 8px;
    cursor: pointer;
    text-align: center;
    transition: all var(--sr-dur);
}

.cat-price-chip input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.cat-price-chip:hover {
    border-color: var(--sr-ink-3);
}

.cat-price-chip.selected {
    background: rgba(201, 100, 66, 0.08);
    border-color: var(--sr-clay);
}

.cat-price-sym {
    font-family: var(--sr-font-serif);
    font-size: 15px;
    color: var(--sr-ink);
}

.cat-price-chip.selected .cat-price-sym {
    color: var(--sr-clay);
}

.cat-price-lab {
    font-size: 10.5px;
    color: var(--sr-muted);
}

.cat-filter-clear {
    display: block;
    padding: 8px;
    text-align: center;
    font-size: 12px;
    color: var(--sr-clay);
    text-decoration: none;
    background: rgba(201, 100, 66, 0.06);
    border-radius: 6px;
    transition: background var(--sr-dur);
}

.cat-filter-clear:hover {
    background: rgba(201, 100, 66, 0.12);
}

/* ===== RESULTS ===== */
.cat-active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 16px;
}

.cat-active-pill {
    display: inline-flex;
    align-items: center;
    padding: 5px 12px;
    background: rgba(201, 100, 66, 0.1);
    color: var(--sr-clay);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
}

.cat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 18px;
}

.cat-empty {
    padding: 64px 24px;
    text-align: center;
    background: var(--sr-bg);
    border: 1px dashed var(--sr-line);
    border-radius: 14px;
}

.cat-empty-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    background: var(--sr-surface);
    border-radius: 50%;
    color: var(--sr-ink-3);
    margin-bottom: 16px;
}

.cat-empty h3 {
    font-family: var(--sr-font-serif);
    font-size: 22px;
    font-weight: 400;
    margin: 0 0 6px;
}

.cat-empty p {
    max-width: 380px;
    margin: 0 auto 16px;
    font-size: 14px;
}

/* Mobile filter toggle */
.cat-filter-toggle-mobile,
.cat-filter-close-mobile {
    display: none;
}

@media (max-width: 900px) {
    .cat-layout {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .cat-filters {
        position: static;
    }

    .cat-filter-toggle-mobile {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 16px;
        background: var(--sr-ink);
        color: var(--sr-bg);
        border: none;
        border-radius: 999px;
        font-family: inherit;
        font-size: 13px;
        font-weight: 500;
        cursor: pointer;
        margin-bottom: 12px;
    }

    .cat-filter-inner {
        display: none;
        position: fixed;
        inset: 0;
        background: var(--sr-bg);
        z-index: 100;
        padding: 60px 20px 20px;
        overflow-y: auto;
        border-radius: 0;
        border: none;
        gap: 18px;
    }

    .cat-filter-close-mobile {
        display: none;
    }

    body.cat-filters-open .cat-filter-inner {
        display: flex;
    }

    body.cat-filters-open .cat-filter-close-mobile {
        display: block;
        position: fixed;
        top: 14px;
        right: 14px;
        z-index: 101;
        background: var(--sr-ink);
        color: var(--sr-bg);
        border: none;
        padding: 8px 16px;
        border-radius: 999px;
        font-family: inherit;
        font-size: 13px;
        cursor: pointer;
    }

    body.cat-filters-open {
        overflow: hidden;
    }
}

@media (max-width: 500px) {
    .cat-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   Kategori top filter bar (sticky)
   ========================================================= */
.cat-topbar {
    position: sticky;
    top: 0;
    z-index: 30;
    background: rgba(253, 246, 238, 0.96);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--sr-line);
    padding: 12px 0;
}

.cat-topbar-form {
    display: flex;
    align-items: flex-end;
    gap: 14px;
    flex-wrap: wrap;
}

.cat-topbar-field,
.cat-topbar-price,
.cat-topbar-near {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.cat-topbar-field label,
.cat-topbar-price label,
.cat-topbar-near label {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
}

.cat-topbar-field select {
    min-width: 140px;
    padding: 8px 12px;
    border: 1px solid var(--sr-line);
    border-radius: 8px;
    background: var(--sr-bg);
    font-family: inherit;
    font-size: 13px;
    color: var(--sr-ink);
    cursor: pointer;
}

.cat-topbar-field select:focus {
    outline: none;
    border-color: var(--sr-clay);
}

.cat-topbar-price-pills {
    display: inline-flex;
    gap: 2px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 8px;
    padding: 3px;
}

.cat-topbar-price-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    padding: 5px 10px;
    border-radius: 6px;
    font-family: var(--sr-font-serif);
    font-size: 13px;
    color: var(--sr-ink-2);
    text-decoration: none;
    transition: all var(--sr-dur);
}

.cat-topbar-price-pill:hover {
    background: var(--sr-surface);
    color: var(--sr-ink);
}

.cat-topbar-price-pill.active {
    background: var(--sr-clay);
    color: #fff;
}

.cat-topbar-near-ctrl {
    display: inline-flex;
    gap: 6px;
    align-items: center;
}

.cat-topbar-near-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 8px;
    font-family: inherit;
    font-size: 13px;
    color: var(--sr-ink);
    cursor: pointer;
    transition: all var(--sr-dur);
}

.cat-topbar-near-btn:hover {
    border-color: var(--sr-clay);
    color: var(--sr-clay);
}

.cat-topbar-near-btn.active {
    background: var(--sr-clay);
    color: #fff;
    border-color: var(--sr-clay);
}

.cat-topbar-radius {
    padding: 8px 10px;
    border: 1px solid var(--sr-line);
    border-radius: 8px;
    background: var(--sr-bg);
    font-family: inherit;
    font-size: 13px;
    cursor: pointer;
}

.cat-topbar-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: var(--sr-surface);
    border: 1px solid var(--sr-line);
    border-radius: 8px;
    color: var(--sr-ink-2);
    text-decoration: none;
    margin-left: auto;
    align-self: flex-end;
    transition: all var(--sr-dur);
}

.cat-topbar-clear:hover {
    background: rgba(201, 100, 66, 0.1);
    color: var(--sr-clay);
    border-color: var(--sr-clay);
}

/* Geo banner */
.cat-geo-banner {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    margin-top: 10px;
    background: linear-gradient(90deg, rgba(201, 100, 66, 0.08), rgba(201, 100, 66, 0.03));
    border: 1px solid rgba(201, 100, 66, 0.25);
    border-radius: 10px;
    font-size: 13px;
}

.cat-geo-ico {
    color: var(--sr-clay);
    display: flex;
}

.cat-geo-text {
    flex: 1;
    color: var(--sr-ink-2);
}

.cat-geo-btn {
    padding: 6px 14px;
    background: var(--sr-clay);
    color: #fff;
    border: none;
    border-radius: 6px;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 500;
    cursor: pointer;
    transition: background var(--sr-dur);
}

.cat-geo-btn:hover {
    background: #b55a3e;
}

.cat-geo-btn:disabled {
    opacity: 0.6;
    cursor: wait;
}

.cat-geo-skip {
    width: 24px;
    height: 24px;
    background: none;
    border: none;
    color: var(--sr-muted);
    font-size: 18px;
    cursor: pointer;
    line-height: 1;
}

.cat-active-pill-geo {
    background: rgba(201, 100, 66, 0.15) !important;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* =========================================================
   Kategori card (mesafe rozeti ile)
   ========================================================= */
.cat-card {
    display: flex;
    flex-direction: column;
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: border-color var(--sr-dur), transform var(--sr-dur), box-shadow var(--sr-dur);
}

.cat-card:hover {
    border-color: rgba(201, 100, 66, 0.35);
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -14px rgba(43, 39, 36, 0.16);
}

.cat-card-cover {
    position: relative;
    aspect-ratio: 4 / 3;
    background: var(--sr-surface-2);
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cat-card-cover-empty {
    font-family: var(--sr-font-serif);
    font-size: 48px;
    color: var(--sr-ink-3);
    opacity: 0.4;
}

.cat-card-featured {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 4px 10px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 600;
    color: var(--sr-clay);
    letter-spacing: 0.02em;
    backdrop-filter: blur(6px);
}

.cat-card-distance {
    position: absolute;
    bottom: 10px;
    right: 10px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    background: rgba(43, 39, 36, 0.9);
    color: #fff;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.01em;
    backdrop-filter: blur(4px);
}

.cat-card-distance svg {
    color: rgba(255, 255, 255, 0.85);
}

.cat-card-body {
    padding: 14px 16px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cat-card-meta-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 12.5px;
    margin-bottom: 2px;
}

.cat-card-rating {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.cat-card-rating .bd-stars {
    font-size: 11px;
}

.cat-card-rating strong {
    font-family: var(--sr-font-serif);
    font-weight: 500;
    color: var(--sr-ink);
}

.cat-card-verified {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    background: rgba(127, 196, 138, 0.2);
    color: #2a7f36;
    border-radius: 50%;
    font-size: 10px;
    font-weight: 700;
}

.cat-card-name {
    font-family: var(--sr-font-serif);
    font-size: 17px;
    font-weight: 500;
    letter-spacing: -0.005em;
    margin: 0;
    line-height: 1.3;
    color: var(--sr-ink);
}

.cat-card-loc {
    font-size: 12.5px;
    color: var(--sr-muted);
    margin-top: 2px;
}

.cat-card-desc {
    font-size: 13px;
    line-height: 1.5;
    color: var(--sr-ink-3);
    margin: 6px 0 0;
}

/* Mobile: topbar wrap */
@media (max-width: 900px) {
    .cat-topbar {
        padding: 10px 0;
    }

    .cat-topbar-form {
        gap: 10px;
    }

    .cat-topbar-field select {
        min-width: 120px;
        font-size: 12px;
    }

    .cat-topbar-price-pill {
        min-width: 30px;
        padding: 4px 8px;
        font-size: 12px;
    }

    .cat-topbar-clear {
        margin-left: 0;
        width: 32px;
        height: 32px;
    }

    .cat-geo-banner {
        flex-wrap: wrap;
        font-size: 12px;
        padding: 10px;
    }

    .cat-geo-text {
        min-width: 0;
        flex: 1 1 180px;
    }
}

/* === Mobile (≤700) — kompakt 2-sütun grid === */
@media (max-width: 700px) {
    .cat-topbar {
        position: static !important;
        padding: 10px 0 !important;
        background: transparent !important;
        backdrop-filter: none !important;
        border-bottom: 0 !important;
    }

    .cat-topbar-form {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        align-items: stretch;
    }

    .cat-topbar-field,
    .cat-topbar-price,
    .cat-topbar-near {
        flex: none;
        gap: 3px;
        min-width: 0;
    }

    .cat-topbar-field label,
    .cat-topbar-price label,
    .cat-topbar-near label {
        font-size: 9.5px;
        letter-spacing: 0.1em;
    }

    .cat-topbar-field select {
        min-width: 0;
        width: 100%;
        font-size: 13px;
        padding: 8px 28px 8px 10px;
    }

    /* Fiyat, konum ve sırala tam satır kapla — il + ilçe yan yana, gerisi alt alta */
    .cat-topbar-price,
    .cat-topbar-near {
        grid-column: 1 / -1;
    }
    /* Sırala field — son cat-topbar-field, full row */
    .cat-topbar-field:has(select[name="sirala"]) {
        grid-column: 1 / -1;
    }

    .cat-topbar-price-pills {
        width: 100%;
        justify-content: space-between;
        gap: 0;
    }
    .cat-topbar-price-pill {
        flex: 1;
        min-width: 0;
        font-size: 13px;
        padding: 7px 4px;
    }

    .cat-topbar-near-ctrl {
        width: 100%;
        gap: 6px;
        flex-wrap: nowrap;
        min-width: 0;
    }
    .cat-topbar-near-btn {
        flex: 1 1 0;
        min-width: 0;
        justify-content: center;
        padding: 8px 8px;
        font-size: 12.5px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .cat-topbar-near-btn svg { flex-shrink: 0; }
    .cat-topbar-near-btn span#nearbyLabel {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .cat-topbar-radius {
        flex: 0 0 76px;
        width: 76px;
        font-size: 12.5px;
        padding: 8px 8px;
    }
}

/* Çok küçük ekranlar: ✓ ikonunu CSS ile sınırla, "Yakınımda" tek satır kalsın */
@media (max-width: 380px) {
    .cat-topbar-near-btn {
        font-size: 12px;
    }
    .cat-topbar-radius {
        flex: 0 0 70px;
        width: 70px;
        padding: 8px 6px;
    }

    .cat-topbar-clear {
        position: absolute;
        top: 10px;
        right: 16px;
        margin: 0;
    }
}

/* === Tek sütun çok dar ekranlar === */
@media (max-width: 380px) {
    .cat-topbar-form {
        grid-template-columns: 1fr;
    }
    .cat-topbar-field,
    .cat-topbar-price,
    .cat-topbar-near {
        grid-column: 1 / -1;
    }
}

/* ==========================================================================
   HERO SOL — rotating word başlık
   ========================================================================== */

.sr-hero-title-line1,
.sr-hero-title-line3 {
    display: block;
    font-weight: 300;
    color: var(--sr-ink);
}

.sr-hero-title-line3 {
    font-style: italic;
    color: var(--sr-clay);
    position: relative;
    display: inline-block;
}

.sr-hero-rotating-wrap {
    display: block;
    overflow: hidden;
    height: 1.05em;
    margin: 2px 0;
}

.sr-hero-rotating {
    display: flex;
    flex-direction: column;
}

.sr-rw-item {
    display: block;
    font-weight: 700;
    font-style: normal;
    color: var(--sr-clay);
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.45s cubic-bezier(.4, 0, .2, 1), transform 0.45s cubic-bezier(.4, 0, .2, 1);
    position: absolute;
    white-space: nowrap;
}

.sr-rw-item.is-active {
    opacity: 1;
    transform: translateY(0);
    position: relative;
}

/* ==========================================================================
   HERO HARİTA — map panel
   ========================================================================== */

.sr-hero2-right--map {
    position: relative;
    overflow: hidden;
    background: var(--sr-surface);
    display: flex;
    flex-direction: column;
}

/* Leaflet harita tam doldurur */
.sr-hero-map {
    position: absolute;
    inset: 0;
    z-index: 0;
}

/* Overlay elemanlar haritanın üstünde */
.sr-hero2-right--map .sr-hero-live,
.sr-hero2-right--map .sr-hero-stats,
.sr-hero2-right--map .sr-hero-nearby,
.sr-hero2-right--map .sr-hero-locate-btn {
    position: absolute;
    z-index: 10;
}

/* Canlı chip — sağ üst */
.sr-hero2-right--map .sr-hero-live {
    top: 18px;
    right: 18px;
}

/* İstatistikler — sol alt */
.sr-hero2-right--map .sr-hero-stats {
    bottom: 18px;
    left: 18px;
    background: rgba(250, 249, 246, 0.88);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: var(--sr-radius-md);
    padding: 10px 16px;
    gap: 20px;
    border: 1px solid var(--sr-line);
    box-shadow: 0 2px 12px rgba(43, 39, 36, 0.08);
}

/* Konum butonu — sağ alt */
.sr-hero-locate-btn {
    bottom: 18px;
    right: 18px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--sr-paper);
    border: 1px solid var(--sr-line);
    box-shadow: 0 2px 10px rgba(43, 39, 36, 0.12);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--sr-ink-2);
    transition: background 0.15s, color 0.15s, transform 0.15s;
}

.sr-hero-locate-btn:hover {
    background: var(--sr-clay-tint);
    color: var(--sr-clay);
}

.sr-hero-locate-btn.is-active {
    background: var(--sr-clay);
    color: #fff;
    border-color: var(--sr-clay);
}

.sr-hero-locate-btn.is-loading {
    animation: sr-spin 0.9s linear infinite;
    pointer-events: none;
}

@keyframes sr-spin {
    to {
        transform: rotate(360deg);
    }
}

/* Yakınımda panel — sol üst (konum alındığında görünür) */
.sr-hero-nearby {
    top: 18px;
    left: 18px;
    background: rgba(250, 249, 246, 0.94);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid var(--sr-line);
    border-radius: var(--sr-radius-lg);
    box-shadow: 0 4px 20px rgba(43, 39, 36, 0.12);
    padding: 14px;
    width: 230px;
    max-width: calc(100% - 36px);
}

.sr-hero-nearby-head {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--sr-clay);
    margin-bottom: 10px;
}

.sr-hero-nearby-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sr-nearby-card {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: var(--sr-ink);
    padding: 6px;
    border-radius: var(--sr-radius-sm);
    transition: background 0.12s;
}

.sr-nearby-card:hover {
    background: var(--sr-surface);
}

.sr-nearby-img {
    width: 36px;
    height: 36px;
    border-radius: 6px;
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
    background-color: var(--sr-surface-2);
}

.sr-nearby-img-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-family: var(--sr-font-serif);
    color: var(--sr-ink-3);
}

.sr-nearby-name {
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sr-nearby-meta {
    font-size: 11px;
    color: var(--sr-ink-3);
    display: flex;
    gap: 6px;
    margin-top: 1px;
}

.sr-nearby-dist {
    background: var(--sr-clay-tint);
    color: var(--sr-clay-ink);
    border-radius: 4px;
    padding: 0 5px;
    font-size: 10px;
    font-weight: 600;
}

.sr-hero-nearby-more {
    display: block;
    margin-top: 10px;
    font-size: 11.5px;
    color: var(--sr-clay);
    text-decoration: none;
    text-align: center;
    border-top: 1px solid var(--sr-line);
    padding-top: 8px;
}

.sr-hero-nearby-more:hover {
    text-decoration: underline;
}

/* Leaflet popup özelleştirme */
.sr-map-popup .leaflet-popup-content-wrapper {
    border-radius: var(--sr-radius-md);
    padding: 0;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(43, 39, 36, 0.15);
    border: 1px solid var(--sr-line);
}

.sr-map-popup .leaflet-popup-content {
    margin: 0;
    width: auto !important;
}

.sr-map-popup .leaflet-popup-tip-container {
    display: none;
}

.sr-mpop {
    display: flex;
    gap: 10px;
    align-items: center;
    text-decoration: none;
    color: var(--sr-ink);
    padding: 12px;
    min-width: 200px;
    transition: background 0.12s;
}

.sr-mpop:hover {
    background: var(--sr-surface);
}

.sr-mpop-img {
    width: 44px;
    height: 44px;
    border-radius: 6px;
    background-size: cover;
    background-position: center;
    background-color: var(--sr-surface-2);
    flex-shrink: 0;
}

.sr-mpop-loc {
    font-size: 10px;
    color: var(--sr-ink-3);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.sr-mpop-name {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    margin: 2px 0;
}

.sr-mpop-meta {
    display: flex;
    gap: 6px;
    align-items: center;
}

.sr-mpop-rating {
    font-size: 11px;
    color: var(--sr-clay);
    font-weight: 600;
}

.sr-mpop-price {
    font-size: 11px;
    color: var(--sr-ink-3);
}

/* Özel pin */
.sr-map-pin {
    width: 14px;
    height: 14px;
    background: var(--sr-clay);
    border: 2.5px solid #fff;
    border-radius: 50%;
    box-shadow: 0 1px 6px rgba(201, 100, 66, 0.45);
    transition: transform 0.15s;
}

.sr-map-pin:hover {
    transform: scale(1.3);
}

/* Konum pin */
.sr-map-loc-pin {
    width: 16px;
    height: 16px;
    background: #4285f4;
    border: 3px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(66, 133, 244, 0.25);
}

/* Cluster */
.sr-map-cluster {
    width: 32px;
    height: 32px;
    background: var(--sr-clay);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    border: 2.5px solid #fff;
    box-shadow: 0 2px 8px rgba(201, 100, 66, 0.35);
}

/* ==========================================================================
   HERO MINI WIZARD
   ========================================================================== */
@keyframes sr-guide-pop {
    from {
        opacity: 0;
        transform: translateY(16px) scale(0.97);
    }

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

@keyframes sr-wiz-step-in {
    from {
        opacity: 0;
        transform: translateX(10px);
    }

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

@keyframes sr-spin {
    to {
        transform: rotate(360deg);
    }
}

.sr-hero-wizard {
    position: absolute;
    bottom: 64px;
    left: 14px;
    z-index: 20;
    width: 270px;
    background: var(--sr-paper);
    border: 1px solid var(--sr-line);
    border-radius: var(--sr-radius-xl);
    box-shadow: 0 6px 28px rgba(43, 39, 36, 0.14);
    padding: 18px 16px 16px;
    animation: sr-guide-pop 0.5s cubic-bezier(.34, 1.56, .64, 1) 1s both;
    transition: opacity 0.3s, transform 0.3s;
}

.sr-hero-wizard.is-hidden {
    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
}

.sr-wiz-step {
    display: none;
}

.sr-wiz-step.is-active {
    display: block;
    animation: sr-wiz-step-in 0.28s ease both;
}

.sr-wiz-eyebrow {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sr-clay);
    margin-bottom: 8px;
}

.sr-wiz-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--sr-clay);
    animation: sr-guide-pulse 2s ease-out infinite;
}

@keyframes sr-guide-pulse {
    0% {
        opacity: 0.7;
        transform: scale(0.85);
        box-shadow: 0 0 0 0 rgba(201, 100, 66, 0.4);
    }

    70% {
        box-shadow: 0 0 0 6px rgba(201, 100, 66, 0);
    }

    100% {
        opacity: 0.7;
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(201, 100, 66, 0);
    }
}

.sr-wiz-q {
    font-family: var(--sr-font-serif);
    font-size: 17px;
    font-weight: 400;
    color: var(--sr-ink);
    margin: 0 0 12px;
    line-height: 1.3;
}

.sr-wiz-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.sr-wiz-chip {
    background: var(--sr-surface);
    border: 1px solid var(--sr-line);
    border-radius: var(--sr-radius-full);
    padding: 6px 13px;
    font-size: 12.5px;
    font-weight: 500;
    color: var(--sr-ink-2);
    cursor: pointer;
    transition: background 0.14s, border-color 0.14s, color 0.14s, transform 0.1s;
}

.sr-wiz-chip:hover {
    background: var(--sr-clay-tint);
    border-color: var(--sr-clay);
    color: var(--sr-clay-ink);
    transform: translateY(-1px);
}

.sr-wiz-chip.is-selected {
    background: var(--sr-clay);
    border-color: var(--sr-clay);
    color: #fff;
}

/* Loading spinner */
.sr-wiz-loading {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    color: var(--sr-ink-3);
    font-size: 13px;
}

.sr-wiz-spinner {
    width: 18px;
    height: 18px;
    border: 2px solid var(--sr-line);
    border-top-color: var(--sr-clay);
    border-radius: 50%;
    animation: sr-spin 0.7s linear infinite;
    flex-shrink: 0;
}

/* Sonuç listesi */
.sr-wiz-results {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 4px;
}

.sr-wiz-result-card {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: var(--sr-ink);
    padding: 7px 8px;
    border-radius: var(--sr-radius-md);
    transition: background 0.12s;
    border: 1px solid transparent;
}

.sr-wiz-result-card:hover {
    background: var(--sr-surface);
    border-color: var(--sr-line);
}

.sr-wiz-result-img {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background-size: cover;
    background-position: center;
    background-color: var(--sr-surface-2);
    flex-shrink: 0;
}

.sr-wiz-result-img-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--sr-font-serif);
    font-size: 15px;
    color: var(--sr-ink-3);
}

.sr-wiz-result-name {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sr-wiz-result-meta {
    font-size: 11px;
    color: var(--sr-ink-3);
    margin-top: 2px;
    display: flex;
    gap: 5px;
}

.sr-wiz-result-rating {
    color: var(--sr-clay);
    font-weight: 600;
}

.sr-wiz-summary {
    font-size: 11px;
    color: var(--sr-ink-3);
    margin-bottom: 8px;
    font-style: italic;
}

.sr-wiz-empty {
    font-size: 13px;
    color: var(--sr-ink-3);
    padding: 8px 0;
    text-align: center;
}

.sr-wiz-more {
    display: block;
    margin-top: 10px;
    font-size: 12px;
    color: var(--sr-clay);
    text-decoration: none;
    text-align: center;
    border-top: 1px solid var(--sr-line);
    padding-top: 9px;
    font-weight: 600;
}

.sr-wiz-more:hover {
    text-decoration: underline;
}

.sr-wiz-restart {
    display: block;
    margin-top: 8px;
    font-size: 11.5px;
    color: var(--sr-ink-3);
    text-align: center;
    cursor: pointer;
    background: none;
    border: none;
    width: 100%;
    padding: 4px 0;
}

.sr-wiz-restart:hover {
    color: var(--sr-ink);
}

.sr-wiz-close {
    position: absolute;
    top: 12px;
    right: 12px;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--sr-ink-4);
    padding: 4px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.12s, background 0.12s;
}

.sr-wiz-close:hover {
    color: var(--sr-ink-2);
    background: var(--sr-surface);
}

/* Harita mobile'da daha kısa */
@media (max-width: 900px) {
    .sr-hero-map {
        min-height: 260px;
    }

    .sr-hero-nearby {
        width: 190px;
    }

    .sr-map-guide-inner {
        max-width: 200px;
        padding: 24px 20px 18px;
    }
}

/* ==========================================================================
   AUTH — split layout (giriş + kayıt)
   ========================================================================== */

.sr-auth-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 100dvh;
}

/* Sol panel */
.sr-auth-side {
    background: var(--sr-ink);
    color: var(--sr-bg);
    display: flex;
    flex-direction: column;
    padding: 40px 48px;
    position: sticky;
    top: 0;
    height: 100dvh;
    overflow: hidden;
}

.sr-auth-brand {
    display: inline-block;
    margin-bottom: auto;
}

.sr-auth-logo {
    height: 36px;
    filter: brightness(0) invert(1);
}

.sr-auth-side-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 48px 0 32px;
}

.sr-auth-side-eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--sr-clay);
    margin-bottom: 12px;
}

.sr-auth-side-title {
    font-family: var(--sr-font-serif);
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 300;
    letter-spacing: -0.02em;
    line-height: 1.15;
    color: var(--sr-bg);
    margin: 0 0 32px;
}

.sr-auth-perks {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.sr-auth-perk {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

.sr-auth-perk-ico {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(250, 249, 246, 0.08);
    border: 1px solid rgba(250, 249, 246, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    flex-shrink: 0;
    color: var(--sr-clay);
    margin-top: 1px;
}

.sr-auth-perk strong {
    display: block;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--sr-bg);
    margin-bottom: 2px;
}

.sr-auth-perk span {
    font-size: 12.5px;
    color: rgba(250, 249, 246, 0.55);
    line-height: 1.45;
}

.sr-auth-side-quote {
    border-top: 1px solid rgba(250, 249, 246, 0.1);
    padding-top: 20px;
}

.sr-auth-side-quote p {
    font-family: var(--sr-font-serif);
    font-size: 14px;
    font-style: italic;
    color: rgba(250, 249, 246, 0.7);
    margin: 0 0 6px;
    line-height: 1.5;
}

.sr-auth-side-quote span {
    font-size: 11.5px;
    color: rgba(250, 249, 246, 0.4);
}

/* Sağ panel */
.sr-auth-main {
    background: var(--sr-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 32px;
    overflow-y: auto;
}

.sr-auth-form-wrap {
    width: 100%;
    max-width: 400px;
}

.sr-auth-head {
    margin-bottom: 28px;
}

.sr-auth-title {
    font-family: var(--sr-font-serif);
    font-size: 36px;
    font-weight: 300;
    letter-spacing: -0.02em;
    margin: 0 0 6px;
    color: var(--sr-ink);
}

.sr-auth-sub {
    font-size: 13.5px;
    color: var(--sr-ink-3);
    margin: 0;
}

.sr-auth-sub a {
    color: var(--sr-clay);
    text-decoration: none;
    font-weight: 500;
}

.sr-auth-sub a:hover {
    text-decoration: underline;
}

/* Google butonu */
.sr-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 11px 16px;
    border: 1.5px solid var(--sr-line-2);
    border-radius: var(--sr-radius-md);
    background: var(--sr-paper);
    color: var(--sr-ink);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: border-color 0.15s, box-shadow 0.15s, background 0.12s;
    cursor: pointer;
}

.sr-social-btn:hover {
    border-color: var(--sr-ink-3);
    box-shadow: 0 2px 10px rgba(43, 39, 36, 0.08);
    background: var(--sr-surface);
}

/* Divider */
.sr-auth-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 20px 0;
    color: var(--sr-ink-4);
    font-size: 12px;
}

.sr-auth-divider::before,
.sr-auth-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--sr-line);
}

/* Form */
.sr-auth-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.sr-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.sr-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--sr-ink-2);
    display: flex;
    align-items: center;
    gap: 6px;
}

.sr-label-hint {
    font-weight: 400;
    color: var(--sr-ink-4);
    font-size: 11.5px;
}

.sr-label-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sr-label-link {
    font-size: 12px;
    color: var(--sr-clay);
    text-decoration: none;
}

.sr-label-link:hover {
    text-decoration: underline;
}

.sr-input {
    width: 100%;
    padding: 10px 14px;
    border: 1.5px solid var(--sr-line);
    border-radius: var(--sr-radius-md);
    background: var(--sr-paper);
    font-size: 14px;
    color: var(--sr-ink);
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
    box-sizing: border-box;
}

.sr-input:focus {
    border-color: var(--sr-clay);
    box-shadow: 0 0 0 3px var(--sr-focus-ring);
}

.sr-input::placeholder {
    color: var(--sr-ink-4);
}

.sr-input-wrap {
    position: relative;
}

.sr-input-wrap .sr-input {
    padding-right: 42px;
}

.sr-input-eye {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    color: var(--sr-ink-4);
    padding: 2px;
    display: flex;
    align-items: center;
    transition: color 0.12s;
}

.sr-input-eye:hover {
    color: var(--sr-ink-2);
}

.sr-check-label {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-size: 12.5px;
    color: var(--sr-ink-3);
    line-height: 1.5;
    cursor: pointer;
}

.sr-check-label a {
    color: var(--sr-clay);
}

.sr-check {
    margin-top: 3px;
    flex-shrink: 0;
    accent-color: var(--sr-clay);
}

.sr-submit-btn {
    width: 100%;
    padding: 12px 20px;
    background: var(--sr-clay);
    color: #fff;
    border: none;
    border-radius: var(--sr-radius-md);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, transform 0.1s;
    margin-top: 4px;
}

.sr-submit-btn:hover {
    background: var(--sr-clay-hover);
    transform: translateY(-1px);
}

.sr-submit-btn:active {
    transform: translateY(0);
}

/* Mobile — tek kolon */
@media (max-width: 860px) {
    .sr-auth-wrap {
        grid-template-columns: 1fr;
    }

    .sr-auth-side {
        display: none;
    }

    .sr-auth-main {
        padding: 40px 20px 64px;
        min-height: 100dvh;
    }
}

/* ── Business Banner (dashboard) ── */
.sr-biz-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 20px;
    background: linear-gradient(135deg, var(--sr-clay) 0%, #b85c3a 100%);
    border-radius: var(--sr-radius-md);
    color: #fff;
    margin-bottom: 24px;
    flex-wrap: wrap;
}

.sr-biz-banner-left {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.sr-biz-banner-ico {
    font-size: 22px;
    flex-shrink: 0;
    opacity: 0.9;
}

.sr-biz-banner-left strong {
    display: block;
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 2px;
}

.sr-biz-banner-left span {
    font-size: 13px;
    opacity: 0.88;
}

.sr-biz-banner-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.sr-biz-banner-actions .btn-primary {
    background: #fff;
    color: var(--sr-clay);
    border-color: transparent;
}

.sr-biz-banner-actions .btn-primary:hover {
    background: #f5ece8;
}

.sr-biz-banner-close {
    background: rgba(255, 255, 255, 0.18);
    border: none;
    border-radius: 50%;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #fff;
    transition: background 0.15s;
    flex-shrink: 0;
}

.sr-biz-banner-close:hover {
    background: rgba(255, 255, 255, 0.32);
}

@media (max-width: 640px) {
    .sr-biz-banner {
        flex-direction: column;
        align-items: flex-start;
    }

    .sr-biz-banner-actions {
        width: 100%;
        justify-content: flex-end;
    }
}

/* ── Member Dashboard ── */
.mem-dashboard {
    padding: 28px 32px 48px;
}

.mem-welcome {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 28px;
}

.mem-welcome-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--sr-clay);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 700;
    flex-shrink: 0;
}

.mem-welcome-name {
    font-size: 22px;
    font-weight: 700;
    color: var(--sr-ink);
    margin: 0 0 4px;
    line-height: 1.2;
}

.mem-welcome-name em {
    color: var(--sr-clay);
    font-style: normal;
}

.mem-welcome-sub {
    margin: 0;
    font-size: 13px;
    color: var(--sr-muted);
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

/* Stat bar */
.mem-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 28px;
}

.mem-stat-card {
    background: var(--sr-card);
    border: 1px solid var(--sr-border);
    border-radius: var(--sr-radius-md);
    padding: 16px;
    text-align: center;
}

.mem-stat-ico {
    font-size: 18px;
    margin-bottom: 6px;
    color: var(--sr-clay);
}

.mem-stat-val {
    font-size: 26px;
    font-weight: 700;
    color: var(--sr-ink);
    line-height: 1;
}

.mem-stat-lbl {
    font-size: 11px;
    color: var(--sr-muted);
    margin-top: 4px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

/* Grid */
.mem-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

/* Section card */
.mem-section {
    background: var(--sr-card);
    border: 1px solid var(--sr-border);
    border-radius: var(--sr-radius-md);
    padding: 20px;
}

.mem-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.mem-section-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--sr-ink);
    margin: 4px 0 0;
}

/* Empty state */
.mem-empty-state {
    text-align: center;
    padding: 20px 0 8px;
    color: var(--sr-muted);
}

.mem-empty-ico {
    font-size: 28px;
    margin-bottom: 8px;
    opacity: .5;
}

.mem-empty-state p {
    font-size: 13px;
    margin: 0 0 12px;
}

/* Reviews */
.mem-review-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.mem-review-row {
    padding-bottom: 12px;
    border-bottom: 1px solid var(--sr-border);
}

.mem-review-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.mem-review-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 4px;
    flex-wrap: wrap;
}

.mem-review-biz {
    font-weight: 600;
    font-size: 13px;
    color: var(--sr-clay);
    text-decoration: none;
}

.mem-review-biz:hover {
    text-decoration: underline;
}

.mem-review-title {
    font-weight: 600;
    font-size: 13px;
    color: var(--sr-ink);
    margin-bottom: 2px;
}

.mem-review-body {
    font-size: 13px;
    color: var(--sr-muted);
    margin: 0 0 4px;
}

/* Businesses */
.mem-biz-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.mem-biz-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-border);
    border-radius: var(--sr-radius-sm);
}

.mem-biz-name {
    font-weight: 600;
    font-size: 13px;
    color: var(--sr-ink);
}

/* Claims */
.mem-claim-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mem-claim-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    background: var(--sr-bg);
    border: 1px solid var(--sr-border);
    border-radius: var(--sr-radius-sm);
    text-decoration: none;
    color: inherit;
    transition: border-color .15s;
}

.mem-claim-row:hover {
    border-color: var(--sr-clay);
}

/* Info list */
.mem-info-list {
    display: flex;
    flex-direction: column;
}

.mem-info-row {
    display: flex;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--sr-border);
    font-size: 13px;
}

.mem-info-row:last-child {
    border-bottom: none;
}

.mem-info-k {
    color: var(--sr-muted);
    min-width: 90px;
    flex-shrink: 0;
}

.mem-info-v {
    color: var(--sr-ink);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

/* Responsive */
@media (max-width: 900px) {
    .mem-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .mem-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .mem-dashboard {
        padding: 20px 16px 40px;
    }

    .mem-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }
}

/* ── 404 Error Page ── */
.sr-error-page {
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 24px;
}

.sr-error-inner {
    text-align: center;
    max-width: 480px;
}

.sr-error-code {
    font-size: 96px;
    font-weight: 800;
    color: var(--sr-clay);
    opacity: .15;
    line-height: 1;
    margin-bottom: -16px;
    font-family: var(--sr-font-display, serif);
}

.sr-error-title {
    font-size: 28px;
    font-weight: 700;
    color: var(--sr-ink);
    margin: 0 0 12px;
}

.sr-error-sub {
    font-size: 15px;
    color: var(--sr-muted);
    margin: 0 0 28px;
}

.sr-error-actions {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

.sr-error-links {
    display: flex;
    gap: 8px;
    justify-content: center;
    align-items: center;
    font-size: 13px;
    color: var(--sr-muted);
}

.sr-error-links a {
    color: var(--sr-clay);
    text-decoration: none;
}

.sr-error-links a:hover {
    text-decoration: underline;
}

/* ============================================================
   HOME — yeni tasarım (h- prefix)
   ============================================================ */

/* HERO */
.h-hero {
    position: relative;
    height: 100vh;
    min-height: 600px;
    max-height: 860px;
    overflow: hidden;
}

.h-hero-map {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.h-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    pointer-events: none;
}

.h-hero-inner {
    pointer-events: auto;
    width: 100%;
    max-width: 680px;
    padding: 0 max(32px, calc((100vw - 1240px)/2 + 32px));
}

.h-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--sr-ink-2);
    background: rgba(250, 249, 246, 0.88);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid var(--sr-line);
    border-radius: 99px;
    padding: 5px 12px 5px 8px;
    margin-bottom: 22px;
}

.h-hero-pulse {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #4caf50;
    box-shadow: 0 0 0 0 rgba(76, 175, 80, 0.5);
    animation: h-pulse 2s infinite;
    flex-shrink: 0;
}

@keyframes h-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(76, 175, 80, 0.5);
    }

    70% {
        box-shadow: 0 0 0 6px rgba(76, 175, 80, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(76, 175, 80, 0);
    }
}

.h-hero-title {
    font-family: var(--sr-font-serif);
    font-size: clamp(40px, 5.5vw, 72px);
    font-weight: 300;
    line-height: 1.08;
    letter-spacing: -0.025em;
    color: var(--sr-ink);
    margin: 0 0 24px;
    text-shadow: 0 1px 3px rgba(250, 249, 246, 0.6);
}

.h-hero-title em {
    font-style: italic;
    color: var(--sr-clay);
}

.h-rw {
    display: none;
}

.h-rw.is-active {
    display: inline;
}

.h-hero-search {
    background: rgba(250, 249, 246, 0.96);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--sr-line);
    border-radius: 18px;
    padding: 6px 6px 10px;
    box-shadow: 0 8px 40px rgba(43, 39, 36, 0.14);
    margin-bottom: 16px;
}

.h-search-form {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0;
    border-bottom: 1px solid var(--sr-line);
    padding-bottom: 8px;
    margin-bottom: 8px;
}

.h-search-ico {
    flex-shrink: 0;
    color: var(--sr-ink-3);
    margin: 0 8px 0 10px;
}

.h-search-input {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 15px;
    color: var(--sr-ink);
    outline: none;
    padding: 8px 0;
    min-width: 0;
}

.h-search-input::placeholder {
    color: var(--sr-ink-3);
}

.h-search-btn {
    flex-shrink: 0;
    background: var(--sr-clay);
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 18px;
    cursor: pointer;
    transition: opacity 0.15s;
}

.h-search-btn:hover {
    opacity: 0.88;
}

.h-search-pills {
    display: flex;
    gap: 6px;
    padding: 0 4px;
    flex-wrap: wrap;
}

.h-pill {
    background: transparent;
    border: 1px solid var(--sr-line);
    border-radius: 99px;
    font-size: 12px;
    font-weight: 500;
    color: var(--sr-ink-2);
    padding: 4px 12px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.h-pill:hover {
    background: var(--sr-surface);
    border-color: var(--sr-ink-3);
}

.h-pill.active {
    background: var(--sr-clay);
    color: #fff;
    border-color: var(--sr-clay);
}

.h-hero-trust {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    color: var(--sr-ink-2);
    background: rgba(250, 249, 246, 0.82);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border-radius: 99px;
    padding: 6px 14px;
    width: fit-content;
}

.h-hero-trust svg {
    vertical-align: middle;
}

.h-hero-trust-sep {
    color: var(--sr-ink-3);
}

/* Yakınımda panel */
.h-nearby {
    pointer-events: auto;
    position: absolute;
    top: 20px;
    right: 20px;
    background: rgba(250, 249, 246, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    padding: 14px;
    width: 220px;
    box-shadow: 0 4px 20px rgba(43, 39, 36, 0.12);
    z-index: 10;
}

.h-nearby-head {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    margin-bottom: 10px;
}

.h-nearby-more {
    display: block;
    font-size: 12px;
    color: var(--sr-clay);
    text-decoration: none;
    margin-top: 10px;
    font-weight: 500;
}

.h-locate-btn {
    pointer-events: auto;
    position: absolute;
    bottom: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(250, 249, 246, 0.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid var(--sr-line);
    box-shadow: 0 2px 12px rgba(43, 39, 36, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--sr-ink-2);
    transition: background 0.15s;
    z-index: 10;
}

.h-locate-btn:hover {
    background: var(--sr-surface);
}

.h-locate-btn.is-active {
    color: var(--sr-clay);
}

/* KATEGORILER */
.h-cats {
    border-bottom: 1px solid var(--sr-line);
    background: var(--sr-bg);
    overflow: hidden;
}

.h-cats-inner {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -ms-overflow-style: none;
    scrollbar-width: none;
    padding: 0 max(16px, calc((100vw - 1240px)/2 + 32px));
    gap: 0;
}

.h-cats-inner::-webkit-scrollbar {
    display: none;
}

.h-cat-card {
    flex-shrink: 0;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 20px 28px;
    text-decoration: none;
    border-right: 1px solid var(--sr-line);
    transition: background 0.15s;
    min-width: 130px;
}

.h-cat-card:last-child {
    border-right: none;
}

.h-cat-card:hover {
    background: var(--sr-surface);
}

.h-cat-img {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    border: 2px solid var(--sr-line);
    flex-shrink: 0;
    transition: transform 0.2s;
}

.h-cat-card:hover .h-cat-img {
    transform: scale(1.06);
}

.h-cat-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--sr-ink);
    text-align: center;
}

.h-cat-cnt {
    font-size: 11px;
    color: var(--sr-ink-3);
    text-align: center;
}

/* EDİTÖR SEÇİMİ */
/* Editor pick — premium magazine-style featured card */
.h-editor {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid rgba(0,0,0,0.06);
    background: #fff;
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    min-height: 380px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.04);
    position: relative;
}

.h-editor:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 42px rgba(0,0,0,0.10);
}

.h-editor-img {
    background-size: cover;
    background-position: center;
    background-color: #d8c8ad;
    min-height: 380px;
    position: relative;
}
.h-editor-img::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,0) 70%, rgba(0,0,0,0.04) 100%);
    pointer-events: none;
}

.h-editor-body {
    padding: 44px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #fff;
    gap: 14px;
}

.h-editor-body .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--sr-clay, #c47f56);
    margin: 0;
}

.h-editor-name {
    font-family: var(--sr-serif, 'Playfair Display', Georgia, serif);
    font-size: clamp(28px, 2.8vw, 36px);
    font-weight: 500;
    letter-spacing: -0.015em;
    color: var(--sr-ink);
    margin: 0;
    line-height: 1.12;
}

.h-editor-loc {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13.5px;
    color: var(--sr-ink-2, #6c625d);
    margin: 0;
}
.h-editor-loc::before {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    background: currentColor;
    color: var(--sr-clay, #c47f56);
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 22s-7-7-7-12a7 7 0 1 1 14 0c0 5-7 12-7 12z'/><circle cx='12' cy='10' r='2.5'/></svg>") no-repeat center / contain;
            mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 22s-7-7-7-12a7 7 0 1 1 14 0c0 5-7 12-7 12z'/><circle cx='12' cy='10' r='2.5'/></svg>") no-repeat center / contain;
}

.h-editor-desc {
    font-size: 14.5px;
    color: var(--sr-ink-2, #6c625d);
    line-height: 1.65;
    margin: 0;
}

.h-editor-meta {
    display: flex;
    gap: 14px;
    align-items: center;
    font-size: 13.5px;
    flex-wrap: wrap;
    margin: 4px 0 0;
}
.h-editor-meta > span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.h-editor-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    font-weight: 600;
    color: #fff;
    background: var(--sr-ink, #1c1816);
    padding: 12px 22px;
    border-radius: 999px;
    margin-top: 10px;
    align-self: flex-start;
    transition: background 0.2s ease, transform 0.2s ease;
}

.h-editor:hover .h-editor-cta {
    background: var(--sr-clay, #c47f56);
    transform: translateX(2px);
}

@media (max-width: 900px) {
    .h-editor { grid-template-columns: 1fr; min-height: auto; }
    .h-editor-img { min-height: 240px; }
    .h-editor-body { padding: 28px 24px; gap: 10px; }
    .h-editor-name { font-size: 24px; }
}

/* İSTANBUL DİSTRİCT GRID */
.h-dist-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.h-dist-card {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    aspect-ratio: 4/3;
    display: block;
}

.h-dist-card:hover .h-dist-img {
    transform: scale(1.05);
}

.h-dist-img {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 0.4s;
}

.h-dist-label {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 28px 14px 12px;
    background: linear-gradient(to top, rgba(20, 18, 15, 0.75) 0%, transparent 100%);
}

.h-dist-name {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    line-height: 1.2;
}

.h-dist-cnt {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.7);
    margin-top: 2px;
}

/* YORUMLAR */
.h-reviews {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.h-review {
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    padding: 20px;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: box-shadow 0.2s, border-color 0.2s;
}

.h-review:hover {
    box-shadow: 0 4px 20px rgba(43, 39, 36, 0.08);
    border-color: var(--sr-ink-3);
}

.h-review-top {
    display: flex;
    align-items: center;
    gap: 10px;
}

.h-review-avatar {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
    border: 1px solid var(--sr-line);
}

.h-review-avatar-empty {
    background: var(--sr-surface);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 16px;
    color: var(--sr-ink-2);
}

.h-review-biz {
    font-size: 13px;
    font-weight: 600;
    color: var(--sr-ink);
    line-height: 1.3;
}

.h-review-stars {
    font-size: 12px;
    color: var(--sr-clay);
    letter-spacing: 1px;
}

.h-review-stars .dim {
    color: var(--sr-line);
}

.h-review-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--sr-ink);
}

.h-review-body {
    font-size: 13px;
    color: var(--sr-ink-2);
    line-height: 1.6;
    flex: 1;
    margin: 0;
}

.h-review-foot {
    font-size: 11px;
    color: var(--sr-ink-3);
    margin-top: auto;
}

/* NEDEN */
.h-why-head {
    text-align: center;
    margin-bottom: 40px;
}

.h-why-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.h-why-card {
    background: var(--sr-bg);
    border: 1px solid var(--sr-line);
    border-radius: 16px;
    padding: 28px 24px;
}

.h-why-ico {
    font-size: 22px;
    color: var(--sr-clay);
    margin-bottom: 14px;
    line-height: 1;
}

.h-why-card h4 {
    font-size: 15px;
    font-weight: 600;
    color: var(--sr-ink);
    margin: 0 0 8px;
}

.h-why-card p {
    font-size: 13px;
    color: var(--sr-ink-2);
    line-height: 1.6;
    margin: 0;
}

/* CTA BAND */
.h-cta-band {
    background: var(--sr-ink);
    color: var(--sr-bg);
    border-radius: 20px;
    padding: 56px 64px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 48px;
}

.h-cta-text .eyebrow {
    color: rgba(250, 249, 246, 0.55);
}

.h-cta-title {
    font-family: var(--sr-font-serif);
    font-size: 38px;
    font-weight: 300;
    letter-spacing: -0.02em;
    color: var(--sr-bg);
    margin: 10px 0 12px;
    line-height: 1.1;
}

.h-cta-sub {
    font-size: 15px;
    color: rgba(250, 249, 246, 0.7);
    line-height: 1.55;
    margin: 0 0 24px;
    max-width: 460px;
}

.h-cta-btns {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.h-cta-card {
    border: 1px solid rgba(250, 249, 246, 0.15);
    border-radius: 14px;
    padding: 24px 28px;
    background: rgba(250, 249, 246, 0.05);
    min-width: 200px;
}

.h-cta-card-head {
    font-family: var(--sr-font-serif);
    font-size: 18px;
    color: var(--sr-bg);
    margin-bottom: 16px;
}

.h-cta-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 13px;
    color: rgba(250, 249, 246, 0.85);
}

/* Mobil */
@media (max-width: 900px) {
    .h-hero {
        height: 85svh;
        max-height: none;
    }

    .h-hero-title {
        font-size: clamp(32px, 7vw, 48px);
    }

    .h-hero-inner {
        max-width: 100%;
        padding: 0 20px;
    }

    .h-dist-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .h-reviews {
        grid-template-columns: 1fr;
    }

    .h-why-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .h-cta-band {
        grid-template-columns: 1fr;
        padding: 36px 28px;
        gap: 28px;
    }

    .h-editor {
        grid-template-columns: 1fr;
    }

    .h-editor-img {
        min-height: 200px;
    }
}

@media (max-width: 600px) {
    .h-hero-eyebrow {
        font-size: 10px;
    }

    .h-dist-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }

    .h-why-grid {
        grid-template-columns: 1fr;
    }

    .h-cta-title {
        font-size: 26px;
    }

    .h-reviews {
        grid-template-columns: 1fr;
    }
}

/* TR locale-aware title case — UPPERCASE'den (KADIKÖY) Title Case'e (Kadıköy) */
/* Tarayıcı browser locale'ine göre küçültür, sonra her kelimeyi capitalize eder */
.tr-title {
    text-transform: lowercase;
    -moz-text-transform: lowercase;
}
.tr-title::first-line { /* fallback */ }
.tr-title-words {
    text-transform: lowercase;
}
.tr-title-words::first-letter,
.tr-title-words {
    /* CSS capitalize TR'de doğru çalışmaz, JS ile kelime başlarını büyük yapacağız */
}
/* tr-cap: tek-kelime için inline display + locale-aware capitalize */
.tr-cap {
    display: inline-block;
    text-transform: lowercase;
}
.tr-cap::first-letter {
    text-transform: uppercase;
}

/* =========================================================================
   HERO V1 — Cinematic hamam atmosferi (animasyonlu buhar + ışık huzmesi)
   ========================================================================= */
.h-hero-v1 {
    position: relative;
    min-height: 88vh;
    max-height: 920px;
    overflow: hidden;
    background:
        radial-gradient(ellipse at 50% 30%, rgba(80,55,38,0.4) 0%, transparent 60%),
        linear-gradient(180deg, #1a1410 0%, #2b1f18 45%, #14100c 100%);
    color: #fdf6ee;
    isolation: isolate;
}

.h-hero-v1 .h-hero-atmos {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.h-hero-marble {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0.4;
    mix-blend-mode: screen;
}

/* Light beam — üstten 20deg gelen ışık huzmesi */
.h-hero-beam {
    position: absolute;
    top: -10%;
    left: 30%;
    width: 60%;
    height: 130%;
    background: linear-gradient(20deg,
        transparent 0%,
        transparent 35%,
        rgba(253, 220, 165, 0.10) 50%,
        rgba(253, 220, 165, 0.06) 60%,
        transparent 70%,
        transparent 100%);
    transform: rotate(15deg);
    filter: blur(40px);
    pointer-events: none;
    animation: beamShimmer 12s ease-in-out infinite;
}

@keyframes beamShimmer {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.7; }
}

/* Buhar katmanları */
.h-hero-steam {
    position: absolute;
    width: 140%;
    height: 60%;
    border-radius: 50%;
    filter: blur(70px);
    pointer-events: none;
    will-change: transform, opacity;
}

.h-hero-steam-1 {
    bottom: -25%;
    left: -20%;
    background: radial-gradient(ellipse at 40% 60%, rgba(253, 220, 165, 0.18) 0%, transparent 55%);
    animation: steamRise1 22s ease-in-out infinite;
}

.h-hero-steam-2 {
    bottom: -15%;
    left: 10%;
    width: 100%;
    background: radial-gradient(ellipse at 50% 50%, rgba(255, 233, 200, 0.12) 0%, transparent 60%);
    animation: steamRise2 28s ease-in-out infinite;
    animation-delay: -8s;
}

.h-hero-steam-3 {
    bottom: -30%;
    right: -10%;
    width: 110%;
    background: radial-gradient(ellipse at 50% 50%, rgba(201, 100, 66, 0.10) 0%, transparent 55%);
    animation: steamRise3 26s ease-in-out infinite;
    animation-delay: -15s;
}

@keyframes steamRise1 {
    0%   { transform: translateY(0) translateX(0) scale(1); opacity: 0.7; }
    50%  { transform: translateY(-30%) translateX(8%) scale(1.15); opacity: 1; }
    100% { transform: translateY(-60%) translateX(-5%) scale(0.95); opacity: 0; }
}

@keyframes steamRise2 {
    0%   { transform: translateY(0) translateX(0) scale(1); opacity: 0.5; }
    50%  { transform: translateY(-25%) translateX(-10%) scale(1.2); opacity: 0.9; }
    100% { transform: translateY(-50%) translateX(5%) scale(1); opacity: 0; }
}

@keyframes steamRise3 {
    0%   { transform: translateY(0) translateX(0) scale(1); opacity: 0.6; }
    50%  { transform: translateY(-35%) translateX(12%) scale(1.1); opacity: 0.85; }
    100% { transform: translateY(-65%) translateX(-8%) scale(0.9); opacity: 0; }
}

/* Vignette — kenar koyulaşma */
.h-hero-vignette {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at center, transparent 30%, rgba(15,10,7,0.6) 90%),
        linear-gradient(180deg, rgba(15,10,7,0.3) 0%, transparent 30%, rgba(15,10,7,0.55) 100%);
    pointer-events: none;
}

.h-hero-v1 .h-hero-content {
    position: relative;
    z-index: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 120px 0 80px;
}

.h-hero-v1 .h-hero-inner {
    max-width: 920px;
    margin: 0 auto;
    padding: 0 32px;
    text-align: center;
}

.h-hero-v1 .h-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 8px 16px;
    background: rgba(253, 246, 238, 0.08);
    border: 1px solid rgba(253, 246, 238, 0.14);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.12em;
    color: rgba(253, 246, 238, 0.85);
    backdrop-filter: blur(10px);
    margin-bottom: 32px;
    text-transform: none;
}

.h-hero-v1 .h-hero-eyebrow strong {
    color: #fdf6ee;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.h-hero-v1 .h-hero-pulse {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #c96442;
    box-shadow: 0 0 0 3px rgba(201, 100, 66, 0.3);
    animation: heroPulse 2.4s ease-in-out infinite;
}

@keyframes heroPulse {
    0%, 100% { box-shadow: 0 0 0 3px rgba(201, 100, 66, 0.25); }
    50%      { box-shadow: 0 0 0 8px rgba(201, 100, 66, 0); }
}

.h-hero-v1 .h-hero-title {
    font-family: var(--sr-font-serif, 'Fraunces', Georgia, serif);
    font-weight: 300;
    line-height: 1.04;
    letter-spacing: -0.025em;
    margin: 0 0 24px;
    color: #fdf6ee;
}

.h-hero-v1 .h-hero-tline-1 {
    display: block;
    font-size: clamp(38px, 6.2vw, 78px);
}

.h-hero-v1 .h-hero-tline-2 {
    display: block;
    font-size: clamp(38px, 6.2vw, 78px);
}

.h-hero-v1 .h-hero-tline-2 em {
    font-style: italic;
    color: #d97e58;
    font-weight: 400;
}

.h-hero-v1 .h-hero-sub {
    font-size: clamp(15px, 1.5vw, 17px);
    line-height: 1.55;
    color: rgba(253, 246, 238, 0.75);
    max-width: 640px;
    margin: 0 auto 40px;
    font-weight: 300;
}

.h-hero-v1 .h-hero-search {
    max-width: 640px;
    margin: 0 auto 28px;
}

.h-hero-v1 .h-search-form {
    display: flex;
    align-items: center;
    background: rgba(253, 246, 238, 0.96);
    border: 1px solid rgba(253, 246, 238, 0.2);
    border-radius: 999px;
    padding: 6px 6px 6px 22px;
    box-shadow: 0 22px 55px -20px rgba(0, 0, 0, 0.6),
                0 0 0 1px rgba(255, 200, 150, 0.1);
    position: relative;
}

.h-hero-v1 .h-search-ico {
    color: #2b1f18;
    flex: none;
}

.h-hero-v1 .h-search-input {
    flex: 1;
    border: none;
    background: transparent;
    padding: 16px 14px;
    font-family: inherit;
    font-size: 15px;
    color: #1a1410;
    outline: none;
}

.h-hero-v1 .h-search-input::placeholder {
    color: rgba(43, 31, 24, 0.55);
}

.h-hero-v1 .h-search-btn {
    background: #c96442;
    color: #fdf6ee;
    border: none;
    padding: 14px 28px;
    border-radius: 999px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.18s, transform 0.18s;
    letter-spacing: 0.02em;
}

.h-hero-v1 .h-search-btn:hover {
    background: #b55432;
    transform: translateY(-1px);
}

.h-hero-v1 .h-search-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-top: 18px;
}

.h-hero-v1 .h-pill {
    padding: 7px 16px;
    background: rgba(253, 246, 238, 0.08);
    border: 1px solid rgba(253, 246, 238, 0.18);
    border-radius: 999px;
    font-family: inherit;
    font-size: 12.5px;
    color: rgba(253, 246, 238, 0.82);
    cursor: pointer;
    transition: all 0.18s;
    backdrop-filter: blur(8px);
}

.h-hero-v1 .h-pill:hover {
    background: rgba(253, 246, 238, 0.14);
    color: #fdf6ee;
    border-color: rgba(253, 246, 238, 0.32);
}

.h-hero-v1 .h-pill.active {
    background: #c96442;
    color: #fdf6ee;
    border-color: #c96442;
}

/* Konsept moods (Türkiye'de ilk!) */
.h-hero-v1 .h-hero-moods {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    align-items: center;
    margin: 36px auto 32px;
    max-width: 800px;
}

.h-hero-v1 .h-hero-moods-label {
    font-size: 12px;
    color: rgba(253, 246, 238, 0.55);
    letter-spacing: 0.04em;
    margin-right: 4px;
    font-style: italic;
}

.h-hero-v1 .h-mood {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 16px;
    background: rgba(253, 246, 238, 0.06);
    border: 1px solid rgba(253, 246, 238, 0.16);
    border-radius: 12px;
    color: rgba(253, 246, 238, 0.92);
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.22s;
    backdrop-filter: blur(8px);
    letter-spacing: 0.005em;
}

.h-hero-v1 .h-mood:hover {
    background: rgba(217, 126, 88, 0.18);
    border-color: rgba(217, 126, 88, 0.5);
    color: #fdf6ee;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px -10px rgba(217, 126, 88, 0.5);
}

.h-hero-v1 .h-mood svg {
    color: #d97e58;
    flex: none;
}

.h-hero-v1 .h-hero-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    align-items: center;
    justify-content: center;
    font-size: 11.5px;
    color: rgba(253, 246, 238, 0.6);
    letter-spacing: 0.04em;
}

.h-hero-v1 .h-hero-trust span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.h-hero-v1 .h-hero-trust svg {
    color: rgba(217, 126, 88, 0.85);
}

.h-hero-v1 .h-hero-trust-sep {
    color: rgba(253, 246, 238, 0.25);
}

/* Yakınımda paneli — koyu zemine uygun */
.h-hero-v1 .h-nearby {
    background: rgba(20, 16, 12, 0.85);
    border: 1px solid rgba(253, 246, 238, 0.12);
    color: #fdf6ee;
    backdrop-filter: blur(20px);
}

.h-hero-v1 .h-locate-btn {
    background: rgba(253, 246, 238, 0.92);
    color: #1a1410;
}

@media (max-width: 700px) {
    .h-hero-v1 { min-height: 92vh; }
    .h-hero-v1 .h-hero-content { padding: 90px 0 60px; }
    .h-hero-v1 .h-hero-inner { padding: 0 20px; }
    .h-hero-v1 .h-hero-tline-1, .h-hero-v1 .h-hero-tline-2 { font-size: clamp(34px, 9vw, 48px); }
    .h-hero-v1 .h-hero-eyebrow { font-size: 10px; padding: 6px 12px; margin-bottom: 22px; }
    .h-hero-v1 .h-hero-sub { font-size: 14px; margin-bottom: 28px; }
    .h-hero-v1 .h-search-form { padding: 5px 5px 5px 16px; }
    .h-hero-v1 .h-search-input { padding: 13px 10px; font-size: 14px; }
    .h-hero-v1 .h-search-btn { padding: 11px 18px; font-size: 13px; }
    .h-hero-v1 .h-hero-moods { gap: 7px; margin: 28px auto 24px; }
    .h-hero-v1 .h-hero-moods-label { width: 100%; text-align: center; margin-bottom: 4px; }
    .h-hero-v1 .h-mood { padding: 7px 12px; font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    .h-hero-v1 .h-hero-steam,
    .h-hero-v1 .h-hero-pulse,
    .h-hero-v1 .h-hero-beam {
        animation: none;
    }
}

/* =========================================================================
   HERO V2 — Cinematic video background
   ========================================================================= */
.h-hero-v2 {
    position: relative;
    min-height: 88vh;
    max-height: 920px;
    overflow: hidden;
    background: #0a0807;
    color: #fdf6ee;
    isolation: isolate;
}

.h-hero-v2 .h-hero-video-wrap {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.h-hero-v2 .h-hero-video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.55) saturate(0.95) contrast(1.05);
}

.h-hero-vignette-v2 {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at center, rgba(15,10,7,0.25) 0%, rgba(15,10,7,0.55) 70%, rgba(15,10,7,0.85) 100%),
        linear-gradient(180deg, rgba(15,10,7,0.35) 0%, transparent 30%, rgba(15,10,7,0.7) 100%);
    pointer-events: none;
}

.h-hero-v2 .h-hero-content {
    position: relative;
    z-index: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 120px 0 80px;
}

.h-hero-v2 .h-hero-inner {
    max-width: 920px;
    margin: 0 auto;
    padding: 0 32px;
    text-align: center;
}

.h-hero-v2 .h-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 8px 16px;
    background: rgba(0,0,0,0.4);
    border: 1px solid rgba(253, 246, 238, 0.2);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.12em;
    color: rgba(253, 246, 238, 0.9);
    backdrop-filter: blur(14px);
    margin-bottom: 32px;
    text-transform: none;
}

.h-hero-v2 .h-hero-eyebrow strong {
    color: #fdf6ee;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.h-hero-v2 .h-hero-pulse {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #c96442;
    box-shadow: 0 0 0 3px rgba(201, 100, 66, 0.4);
    animation: heroPulse 2.4s ease-in-out infinite;
}

.h-hero-v2 .h-hero-title {
    font-family: var(--sr-font-serif, 'Fraunces', Georgia, serif);
    font-weight: 300;
    line-height: 1.04;
    letter-spacing: -0.025em;
    margin: 0 0 24px;
    color: #fdf6ee;
    text-shadow: 0 4px 30px rgba(0,0,0,0.5);
}

.h-hero-v2 .h-hero-tline-1,
.h-hero-v2 .h-hero-tline-2 {
    display: block;
    font-size: clamp(38px, 6.2vw, 80px);
}

.h-hero-v2 .h-hero-tline-2 em {
    font-style: italic;
    color: #f4a87f;
    font-weight: 400;
}

.h-hero-v2 .h-hero-sub {
    font-size: clamp(15px, 1.5vw, 17px);
    line-height: 1.55;
    color: rgba(253, 246, 238, 0.85);
    max-width: 640px;
    margin: 0 auto 40px;
    font-weight: 300;
    text-shadow: 0 2px 20px rgba(0,0,0,0.5);
}

.h-hero-v2 .h-hero-search {
    max-width: 720px;
    margin: 0 auto 22px;
}

/* Modern search bar — pill ile birleşik tek kart */
.h-hero-v2 .h-search-form {
    display: flex;
    align-items: center;
    background: #fdf6ee;
    border: 0;
    border-radius: 16px;
    padding: 10px 10px 10px 24px;
    box-shadow:
        0 32px 90px -28px rgba(0, 0, 0, 0.7),
        0 0 0 1px rgba(255, 240, 220, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.6);
    transition: box-shadow 0.22s, transform 0.22s;
}

.h-hero-v2 .h-search-form:focus-within {
    box-shadow:
        0 36px 100px -28px rgba(0, 0, 0, 0.75),
        0 0 0 2px rgba(217, 126, 88, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.6);
    transform: translateY(-1px);
}

.h-hero-v2 .h-search-ico {
    color: #8a7363;
    flex: none;
}

.h-hero-v2 .h-search-input {
    flex: 1;
    border: none;
    background: transparent;
    padding: 16px 14px;
    font-family: inherit;
    font-size: 16px;
    color: #1a1410;
    outline: none;
    font-weight: 500;
    letter-spacing: -0.005em;
}

.h-hero-v2 .h-search-input::placeholder {
    color: #b4a698;
    font-weight: 400;
}

.h-hero-v2 .h-search-btn {
    background: linear-gradient(135deg, #d97e58 0%, #c96442 60%, #b55432 100%);
    color: #fdf6ee;
    border: none;
    padding: 14px 30px;
    border-radius: 12px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: transform 0.18s, box-shadow 0.18s;
    letter-spacing: 0.03em;
    box-shadow: 0 6px 18px -6px rgba(201, 100, 66, 0.6);
}

.h-hero-v2 .h-search-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px -8px rgba(201, 100, 66, 0.75);
}

/* Kategori chip'leri — search box'tan ayrı, hero üstünde */
.h-hero-v2 .h-search-pills {
    display: flex;
    gap: 8px;
    justify-content: center;
    margin-top: 14px;
    flex-wrap: wrap;
}

.h-hero-v2 .h-pill {
    padding: 8px 18px;
    background: rgba(20, 14, 10, 0.55);
    border: 1px solid rgba(253, 246, 238, 0.25);
    border-radius: 999px;
    font-family: inherit;
    font-size: 13px;
    color: rgba(253, 246, 238, 0.92);
    cursor: pointer;
    transition: all 0.2s;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    font-weight: 500;
    letter-spacing: 0.01em;
}

.h-hero-v2 .h-pill:hover {
    background: rgba(253, 246, 238, 0.16);
    color: #fdf6ee;
    border-color: rgba(253, 246, 238, 0.5);
    transform: translateY(-1px);
}

.h-hero-v2 .h-pill.active {
    background: #c96442;
    color: #fdf6ee;
    border-color: #c96442;
    box-shadow: 0 4px 14px -4px rgba(201, 100, 66, 0.6);
}

/* Konsept satırı — TEK SATIR, mobile'da yatay scroll */
.h-hero-v2 .h-hero-moods {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 32px auto 36px;
    max-width: 1100px;
    padding: 0 16px;
    overflow: hidden;
}

.h-hero-v2 .h-hero-moods-label {
    font-size: 11.5px;
    color: rgba(253, 246, 238, 0.7);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 600;
    flex: none;
    text-shadow: 0 2px 12px rgba(0,0,0,0.6);
}

.h-hero-v2 .h-hero-moods-row {
    display: flex;
    gap: 8px;
    flex: 1;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-bottom: 2px;
}

.h-hero-v2 .h-hero-moods-row::-webkit-scrollbar { display: none; }

.h-hero-v2 .h-mood {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 10px 18px;
    background: rgba(20, 14, 10, 0.55);
    border: 1px solid rgba(253, 246, 238, 0.2);
    border-radius: 999px;
    color: #fdf6ee;
    text-decoration: none;
    font-size: 13.5px;
    font-weight: 500;
    transition: all 0.22s;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    letter-spacing: 0.005em;
    flex: none;
    white-space: nowrap;
}

.h-hero-v2 .h-mood:hover {
    background: rgba(217, 126, 88, 0.4);
    border-color: rgba(244, 168, 127, 0.65);
    color: #fdf6ee;
    transform: translateY(-2px);
    box-shadow: 0 12px 32px -10px rgba(217, 126, 88, 0.7);
}

.h-hero-v2 .h-mood svg { color: #f4a87f; flex: none; }

/* Trust strip — koyu pill chip içinde, okunabilir */
.h-hero-v2 .h-hero-trust {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    align-items: center;
    justify-content: center;
    padding: 10px 22px;
    background: rgba(20, 14, 10, 0.55);
    border: 1px solid rgba(253, 246, 238, 0.18);
    border-radius: 999px;
    font-size: 12px;
    color: rgba(253, 246, 238, 0.92);
    letter-spacing: 0.02em;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    font-weight: 500;
}

.h-hero-v2 .h-hero-trust span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.h-hero-v2 .h-hero-trust svg { color: #f4a87f; }
.h-hero-v2 .h-hero-trust-sep { color: rgba(253, 246, 238, 0.3); margin: 0 -2px; }

.h-hero-v2 .h-nearby {
    background: rgba(15, 10, 7, 0.85);
    border: 1px solid rgba(253, 246, 238, 0.15);
    color: #fdf6ee;
    backdrop-filter: blur(20px);
}

.h-hero-v2 .h-locate-btn {
    background: rgba(253, 246, 238, 0.92);
    color: #1a1410;
}

@media (max-width: 700px) {
    .h-hero-v2 { min-height: 92vh; }
    .h-hero-v2 .h-hero-content { padding: 90px 0 60px; }
    .h-hero-v2 .h-hero-inner { padding: 0 20px; }
    .h-hero-v2 .h-hero-tline-1, .h-hero-v2 .h-hero-tline-2 { font-size: clamp(34px, 9vw, 48px); }
    .h-hero-v2 .h-hero-eyebrow { font-size: 10px; padding: 6px 12px; margin-bottom: 22px; }
    .h-hero-v2 .h-hero-sub { font-size: 14px; margin-bottom: 28px; }
    .h-hero-v2 .h-search-form { padding: 6px 6px 6px 16px; border-radius: 14px; }
    .h-hero-v2 .h-search-input { padding: 13px 8px; font-size: 14px; }
    .h-hero-v2 .h-search-btn { padding: 12px 18px; font-size: 13px; border-radius: 10px; }
    .h-hero-v2 .h-search-pills { gap: 6px; }
    .h-hero-v2 .h-pill { padding: 6px 14px; font-size: 12px; }

    /* Konsept satırı mobile — yatay scroll, label üstte */
    .h-hero-v2 .h-hero-moods {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        margin: 26px -20px 24px;
        padding: 0;
    }
    .h-hero-v2 .h-hero-moods-label {
        text-align: center;
        font-size: 10.5px;
    }
    .h-hero-v2 .h-hero-moods-row {
        padding: 0 20px;
    }
    .h-hero-v2 .h-mood {
        padding: 8px 14px;
        font-size: 12.5px;
    }
    .h-hero-v2 .h-hero-trust {
        font-size: 11px;
        padding: 8px 14px;
        gap: 6px 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .h-hero-v2 .h-hero-video { display: none; }
    .h-hero-v2 { background: #1a1410 url('https://images.mixkit.co/videos/44482/44482-thumb-large.jpg') center/cover; }
}

/* =========================================================================
   Hero altı kategori şeridi — MİNİMAL ikon + ortalı
   ========================================================================= */
.h-cats-min {
    background: var(--sr-bg);
    border-bottom: 1px solid var(--sr-line);
    overflow: hidden;
}

.h-cats-min .h-cats-inner {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 4px;
    max-width: 1100px;
    margin: 0 auto;
    padding: 18px 16px;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-snap-type: none;
}
.h-cats-min .h-cats-inner::-webkit-scrollbar { display: none; }

.h-cat-min {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    padding: 14px 22px;
    min-width: 120px;
    border-radius: 14px;
    color: var(--sr-ink-2);
    text-decoration: none;
    transition: background 0.2s, transform 0.2s, color 0.2s;
    flex: none;
    text-align: center;
    position: relative;
}

.h-cat-min:hover {
    background: rgba(201, 100, 66, 0.06);
    transform: translateY(-2px);
}

.h-cat-min-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(201, 100, 66, 0.08);
    color: var(--sr-clay);
    transition: background 0.2s, transform 0.2s;
}

.h-cat-min:hover .h-cat-min-ico {
    background: rgba(201, 100, 66, 0.16);
    transform: scale(1.05);
}

.h-cat-min-name {
    font-size: 13.5px;
    font-weight: 500;
    color: var(--sr-ink);
    letter-spacing: -0.005em;
    line-height: 1.2;
    white-space: nowrap;
}

.h-cat-min-cnt {
    font-size: 11px;
    color: var(--sr-ink-3);
    font-weight: 500;
    letter-spacing: 0.04em;
    font-variant-numeric: tabular-nums;
}

@media (max-width: 700px) {
    .h-cats-min .h-cats-inner {
        justify-content: flex-start;
        padding: 14px 12px;
        gap: 0;
    }
    .h-cat-min { padding: 10px 14px; min-width: 90px; gap: 6px; }
    .h-cat-min-ico { width: 40px; height: 40px; }
    .h-cat-min-ico svg { width: 22px; height: 22px; }
    .h-cat-min-name { font-size: 12.5px; }
    .h-cat-min-cnt { font-size: 10.5px; }
}

/* =========================================================
   .hcard v3 — premium listing card (cover-rich + body-rich)
   ========================================================= */
.hcard {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: var(--sr-ink);
    background: var(--sr-bg);
    border: 1px solid rgba(43, 39, 36, 0.06);
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    isolation: isolate;
    transition: transform 0.3s var(--sr-ease), box-shadow 0.3s var(--sr-ease), border-color 0.3s var(--sr-ease);
}

.hcard:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px -12px rgba(43, 39, 36, 0.18), 0 6px 16px -6px rgba(43, 39, 36, 0.08);
    border-color: rgba(43, 39, 36, 0.12);
}

.hcard:hover .hcard-cover img { transform: scale(1.06); }
.hcard:active { transform: translateY(-2px); }

/* ---- Cover ---- */
.hcard-cover {
    position: relative;
    aspect-ratio: 5 / 4;
    overflow: hidden;
    background: linear-gradient(135deg, var(--sr-surface), var(--sr-line));
}

.hcard-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s var(--sr-ease);
}

.hcard-cover-empty {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--sr-ink-4);
}

.hcard-cover-grad {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to bottom, rgba(0,0,0,0.18) 0%, rgba(0,0,0,0) 25%, rgba(0,0,0,0) 60%, rgba(0,0,0,0.45) 100%);
    pointer-events: none;
}

/* ---- Top row: ribbon + favorite ---- */
.hcard-top {
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 6px;
    z-index: 3;
}

.hcard-ribbon {
    display: inline-flex;
    align-items: center;
    padding: 5px 11px 5px 9px;
    border-radius: 6px;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    box-shadow: 0 4px 12px rgba(0,0,0,0.18);
    line-height: 1;
}

.hcard-ribbon-premium {
    background: linear-gradient(135deg, #1a1410 0%, #3a2e26 100%);
    color: #f0d9a8;
    border: 1px solid rgba(240, 217, 168, 0.2);
}

.hcard-ribbon-pro {
    background: linear-gradient(135deg, var(--sr-clay) 0%, #b8552e 100%);
    color: #fff;
}

.hcard-ribbon-feat {
    background: rgba(255,255,255,0.95);
    color: var(--sr-ink);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.hcard-fav {
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--sr-ink-2);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s var(--sr-ease);
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
    -webkit-tap-highlight-color: transparent;
    margin-left: auto;
}

.hcard-fav:hover { transform: scale(1.1); }
.hcard-fav.is-on { color: var(--sr-clay); }
.hcard-fav.is-on svg { fill: currentColor; }

/* ---- Cover-foot pills ---- */
.hcard-cover-foot {
    position: absolute;
    bottom: 10px;
    left: 10px;
    right: 64px; /* leave room for rate-chip */
    z-index: 3;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.hcard-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 9px 4px 8px;
    border-radius: 999px;
    background: rgba(255,255,255,0.94);
    color: var(--sr-ink);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.01em;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 2px 6px rgba(0,0,0,0.12);
    line-height: 1.3;
    white-space: nowrap;
}

.hcard-pill-open {
    background: rgba(74, 124, 89, 0.95);
    color: #fff;
}

.hcard-pill-open .hcard-dot {
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: #b3d9c1;
    animation: hcard-pulse 2s infinite;
}

.hcard-pill-closed {
    background: rgba(43, 39, 36, 0.85);
    color: #f0e7dc;
}

@keyframes hcard-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.45; }
}

/* ---- Floating rating chip ---- */
.hcard-rate-chip {
    position: absolute;
    bottom: 10px;
    right: 10px;
    z-index: 3;
    background: #fff;
    color: var(--sr-ink);
    border-radius: 10px;
    padding: 6px 10px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.18);
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.05;
    min-width: 48px;
}

.hcard-rate-num {
    font-family: var(--sr-serif);
    font-size: 16px;
    font-weight: 500;
    color: var(--sr-clay);
    letter-spacing: -0.01em;
}

.hcard-rate-num::before {
    content: '★ ';
    font-size: 13px;
    color: #d4a574;
    font-family: inherit;
}

.hcard-rate-lab {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    margin-top: 1px;
}

/* ---- Body ---- */
.hcard-body {
    padding: 13px 14px 14px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex: 1;
}

.hcard-head {
    display: flex;
    align-items: flex-start;
    gap: 6px;
}

.hcard-name {
    font-family: var(--sr-serif);
    font-size: 18.5px;
    font-weight: 400;
    line-height: 1.2;
    margin: 0;
    color: var(--sr-ink);
    letter-spacing: -0.012em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1;
}

.hcard-vrf {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    color: #4a7c59;
    margin-top: 3px;
}

.hcard-loc {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--sr-ink-3);
    line-height: 1.4;
}

.hcard-loc svg {
    flex-shrink: 0;
    color: var(--sr-ink-4);
}

.hcard-loc > span:first-of-type { font-weight: 500; color: var(--sr-ink-2); }

.hcard-revn { color: var(--sr-ink-4); margin-left: 2px; }

.hcard-desc {
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--sr-ink-2);
    margin: 4px 0 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.hcard-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 6px;
}

.hcard-tag {
    padding: 3px 8px;
    border-radius: 6px;
    background: var(--sr-surface);
    color: var(--sr-ink-2);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: 0.01em;
    border: 1px solid rgba(43, 39, 36, 0.05);
}

/* ---- Foot: price strip ---- */
.hcard-foot {
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px dashed rgba(43, 39, 36, 0.1);
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 6px;
}

.hcard-foot-lab {
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
}

.hcard-foot-val {
    font-family: var(--sr-serif);
    font-size: 16px;
    color: var(--sr-clay);
    font-weight: 500;
    letter-spacing: -0.01em;
}

.hcard-foot-from {
    font-size: 11px;
    color: var(--sr-ink-3);
    font-family: var(--sr-sans);
    margin-left: 1px;
}

.hcard-foot-range {
    font-size: 14px;
    color: var(--sr-ink);
    letter-spacing: 0.05em;
}

/* ---- Grid ---- */
.hcard-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

@media (max-width: 1100px) {
    .hcard-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
}

@media (max-width: 768px) {
    .hcard-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .hcard { border-radius: 12px; }
    .hcard-cover { aspect-ratio: 4 / 5; }
    .hcard-body { padding: 11px 12px 13px; gap: 4px; }
    .hcard-name { font-size: 15px; -webkit-line-clamp: 2; }
    .hcard-loc { font-size: 11px; }
    .hcard-loc .hcard-revn { display: none; }
    .hcard-desc { display: none; }
    .hcard-tag { font-size: 10px; padding: 2px 7px; }
    .hcard-tags { gap: 3px; margin-top: 5px; }
    .hcard-ribbon { font-size: 9.5px; padding: 4px 8px 4px 7px; }
    .hcard-fav { width: 28px; height: 28px; }
    .hcard-fav svg { width: 12px; height: 12px; }
    .hcard-pill { font-size: 9.5px; padding: 3px 7px; }
    .hcard-top { top: 8px; left: 8px; right: 8px; }
    .hcard-cover-foot { bottom: 8px; left: 8px; right: 56px; gap: 4px; }
    .hcard-rate-chip { bottom: 8px; right: 8px; padding: 4px 7px; min-width: 40px; }
    .hcard-rate-num { font-size: 14px; }
    .hcard-rate-num::before { font-size: 11px; }
    .hcard-rate-lab { font-size: 7.5px; }
    .hcard-foot { padding-top: 8px; }
    .hcard-foot-lab { font-size: 9px; }
    .hcard-foot-val { font-size: 14px; }
    .hcard-vrf { width: 14px; height: 14px; margin-top: 2px; }
}

@media (max-width: 380px) {
    .hcard-grid { gap: 10px; }
    .hcard-body { padding: 10px 10px 12px; }
    .hcard-name { font-size: 14px; }
}

/* =========================================================
   .hcard-v4 — premium card (referans tasarım, görsel + body)
   override of .hcard for default variant
   ========================================================= */
.hcard.hcard-v4 {
    display: block;
    background: #fff;
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: 18px;
    overflow: hidden;
    position: relative;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
.hcard.hcard-v4:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(0,0,0,0.10);
}
.hcard-v4 .hcard-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

/* COVER */
.hcard-v4 .hcard-cover {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #ece6db;
}
.hcard-v4 .hcard-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}
.hcard-v4:hover .hcard-cover img { transform: scale(1.05); }
.hcard-v4 .hcard-cover-empty {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #d9c8aa, #b08c64);
    color: rgba(255,255,255,0.7);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* TOP-LEFT badge */
.hcard-v4 .hcard-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 11px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    background: rgba(255,255,255,0.96);
    color: var(--sr-ink);
    box-shadow: 0 3px 10px rgba(0,0,0,0.15);
    backdrop-filter: blur(6px);
}
.hcard-v4 .hcard-badge-editor svg { color: var(--sr-clay, #c47f56); }
.hcard-v4 .hcard-badge-popular {
    background: rgba(255,255,255,0.96);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.hcard-v4 .hcard-badge-video {
    background: rgba(28,24,22,0.7);
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.02em;
}
.hcard-v4 .hcard-badge-video svg { color: #fff; }
.hcard-v4 .hcard-badge-deal {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding: 7px 12px;
    background: var(--sr-clay, #c47f56);
    color: #fff;
    line-height: 1.15;
    border-radius: 12px;
}
.hcard-v4 .hcard-badge-deal-l1 {
    font-size: 10px;
    letter-spacing: 0.12em;
    opacity: 0.92;
}
.hcard-v4 .hcard-badge-deal-l2 {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0;
}

/* TOP-RIGHT favorite */
.hcard-v4 .hcard-fav {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 3;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255,255,255,0.96);
    border: none;
    color: var(--sr-ink-2, #6c625d);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 10px rgba(0,0,0,0.13);
    transition: transform 0.18s ease, color 0.18s ease, background 0.18s ease;
}
.hcard-v4 .hcard-fav:hover { transform: scale(1.08); color: var(--sr-clay, #c47f56); background: #fff; }
.hcard-v4 .hcard-fav.is-on { color: var(--sr-clay, #c47f56); }
.hcard-v4 .hcard-fav.is-on svg { fill: currentColor; }

/* status (open/closed) — cover'ın alt-sol köşesi */
.hcard-v4 .hcard-cover .hcard-status {
    position: absolute;
    z-index: 2;
    left: 12px;
    bottom: 12px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 11px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 600;
    background: rgba(28,24,22,0.72);
    color: #fff;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.hcard-v4 .hcard-status-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #5ac779;
    box-shadow: 0 0 0 3px rgba(90,199,121,0.30);
}
.hcard-v4 .hcard-status-closed .hcard-status-dot {
    background: #d18484;
    box-shadow: 0 0 0 3px rgba(209,132,132,0.28);
}

/* BODY */
.hcard-v4 .hcard-body {
    padding: 18px 18px 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.hcard-v4 .hcard-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.hcard-v4 .hcard-brand {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: linear-gradient(135deg, #b87a52, #8b5a3c);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--sr-serif, Georgia, serif);
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.01em;
    box-shadow: 0 3px 10px rgba(139,90,60,0.25);
    margin-top: 1px;
}
.hcard-v4 .hcard-head-text { flex: 1; min-width: 0; }
.hcard-v4 .hcard-name {
    font-family: var(--sr-serif, 'Playfair Display', Georgia, serif);
    font-size: 19px;
    font-weight: 500;
    letter-spacing: -0.01em;
    line-height: 1.22;
    margin: 0 0 4px;
    color: var(--sr-ink);
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.hcard-v4 .hcard-vrf {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}
.hcard-v4 .hcard-loc {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12.5px;
    color: var(--sr-ink-2, #6c625d);
}
.hcard-v4 .hcard-loc svg { color: var(--sr-clay, #c47f56); flex-shrink: 0; }
.hcard-v4 .hcard-desc {
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
    color: var(--sr-ink-2, #6c625d);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* tags */
.hcard-v4 .hcard-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.hcard-v4 .hcard-tag {
    display: inline-flex;
    align-items: center;
    padding: 5px 11px;
    background: rgba(196,127,86,0.10);
    color: #8b5a3c;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: 0;
}

/* foot */
.hcard-v4 .hcard-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(0,0,0,0.05);
    margin-top: 4px;
}
.hcard-v4 .hcard-foot-meta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.hcard-v4 .hcard-rating {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: var(--sr-ink);
}
.hcard-v4 .hcard-rating-star {
    color: #d8a73a;
    font-size: 14px;
    line-height: 1;
}
.hcard-v4 .hcard-rating strong { font-weight: 700; }
.hcard-v4 .hcard-rating-n {
    color: var(--sr-ink-3, #98908a);
    font-size: 12px;
    font-weight: 400;
}
.hcard-v4 .hcard-price-level {
    color: var(--sr-clay, #c47f56);
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.02em;
}
.hcard-v4 .hcard-cta {
    padding: 7px 14px;
    background: rgba(196,127,86,0.12);
    color: var(--sr-clay, #c47f56);
    border-radius: 999px;
    font-size: 12.5px;
    font-weight: 600;
    transition: background 0.18s ease, color 0.18s ease;
    white-space: nowrap;
}
.hcard.hcard-v4:hover .hcard-cta {
    background: var(--sr-clay, #c47f56);
    color: #fff;
}

/* MOBİL */
@media (max-width: 768px) {
    .hcard.hcard-v4 { border-radius: 14px; }
    .hcard-v4 .hcard-cover { aspect-ratio: 4 / 3; }
    .hcard-v4 .hcard-body { padding: 14px 14px 14px; gap: 8px; }
    .hcard-v4 .hcard-name { font-size: 16.5px; }
    .hcard-v4 .hcard-desc { -webkit-line-clamp: 2; font-size: 12.5px; }
    .hcard-v4 .hcard-brand { width: 38px; height: 38px; flex-basis: 38px; font-size: 16px; }
    .hcard-v4 .hcard-cta { padding: 6px 12px; font-size: 12px; }
    .hcard-v4 .hcard-tag { font-size: 11px; padding: 4px 10px; }
    .hcard-v4 .hcard-fav { width: 30px; height: 30px; }
}
@media (max-width: 480px) {
    .hcard-v4 .hcard-tags { display: none; }
    .hcard-v4 .hcard-desc { -webkit-line-clamp: 2; }
}

/* ============================================================
   GENİŞ container variant — anasayfa premium bloklar için
   ============================================================ */
.container.h-wide,
.h-hero-inner.h-wide {
    max-width: 1360px;
    margin: 0 auto;
    padding: 0 40px;
    width: 100%;
}
@media (max-width: 720px) {
    .container.h-wide,
    .h-hero-inner.h-wide { padding: 0 20px; }
}

/* ============================================================
   HERO v3 — cinematic
   ============================================================ */
.h-hero-v3 {
    position: relative;
    min-height: 680px;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    color: #fff;
    background: #0e0a08;
}
.h-hero-v3 .h-hero-bg {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 0;
}
.h-hero-v3 .h-hero-video,
.h-hero-v3 .h-hero-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 38%;
}
.h-hero-v3 .h-hero-gradient {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(96deg,
            rgba(14,10,8,0.94) 0%,
            rgba(14,10,8,0.82) 24%,
            rgba(14,10,8,0.55) 46%,
            rgba(14,10,8,0.22) 64%,
            rgba(14,10,8,0.10) 82%,
            rgba(14,10,8,0.30) 100%
        );
}
.h-hero-v3 .h-hero-vignette {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 80% 60% at 22% 50%, rgba(0,0,0,0) 0%, rgba(0,0,0,0.18) 70%),
        linear-gradient(180deg, rgba(14,10,8,0.30) 0%, rgba(14,10,8,0) 22%, rgba(14,10,8,0) 78%, rgba(14,10,8,0.40) 100%);
    pointer-events: none;
}
.h-hero-v3 .h-hero-content {
    position: relative;
    z-index: 1;
    width: 100%;
    display: flex;
    align-items: center;
    padding: 88px 0 84px;
}
.h-hero-v3 .h-hero-inner {
    margin: 0 auto;
    width: 100%;
}

.h-hero-pill-live {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 9px 18px;
    background: rgba(0, 0, 0, 0.34);
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    margin-bottom: 36px;
}
.h-hero-pill-live strong { font-weight: 700; color: #fff; }
.h-hero-pill-live .h-hero-pulse {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #5ac779;
    box-shadow: 0 0 0 4px rgba(90,199,121,0.22);
    animation: hPulse 2s infinite;
}
@keyframes hPulse {
    0%, 100% { box-shadow: 0 0 0 4px rgba(90,199,121,0.22); }
    50%      { box-shadow: 0 0 0 6px rgba(90,199,121,0.06); }
}

.h-hero-title-v3 {
    font-family: var(--sr-serif, 'Playfair Display', Georgia, serif);
    font-size: clamp(48px, 6.4vw, 88px);
    line-height: 1.02;
    font-weight: 400;
    letter-spacing: -0.025em;
    margin: 0 0 28px;
    color: #fff;
    max-width: 760px;
    text-shadow: 0 2px 36px rgba(0,0,0,0.42);
}

.h-hero-sub-v3 {
    font-size: 16.5px;
    line-height: 1.65;
    color: rgba(255,255,255,0.82);
    max-width: 540px;
    margin: 0 0 44px;
}

/* Mood cards — premium kompakt */
.h-mood-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    max-width: 1000px;
}
.h-mood-card {
    flex: 0 0 auto;
    min-width: 168px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 18px 10px 10px;
    background: rgba(255,255,255,0.97);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 14px;
    text-decoration: none;
    color: var(--sr-ink, #1c1816);
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
    border: 1px solid rgba(255,255,255,0.4);
    box-shadow: 0 6px 22px rgba(0,0,0,0.18);
}
.h-mood-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(0,0,0,0.24);
    background: #fff;
}
.h-mood-card-ico {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.h-mood-ico-relax    { background: rgba(149,176,148,0.18); color: #6f8c70; }
.h-mood-ico-renew    { background: rgba(212,144,109,0.18); color: #c47b54; }
.h-mood-ico-massage  { background: rgba(116,90,70,0.16);   color: #7a5f47; }
.h-mood-ico-hamam    { background: rgba(196,160,112,0.20); color: #9b7b50; }
.h-mood-ico-premium  { background: rgba(196,127,86,0.18);  color: #b06b3e; }

.h-mood-card-text {
    display: flex;
    flex-direction: column;
    line-height: 1.18;
}
.h-mood-card-l1 {
    font-size: 14.5px;
    font-weight: 600;
    letter-spacing: -0.005em;
    color: var(--sr-ink, #1c1816);
}
.h-mood-card-l2 {
    font-size: 13px;
    color: rgba(28,24,22,0.55);
    font-weight: 400;
    margin-top: 2px;
}

/* Trust line — hero alt rakamlar */
.h-hero-trust-line {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-top: 44px;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,0.14);
    max-width: 1000px;
    flex-wrap: wrap;
}
.h-hero-stat {
    display: inline-flex;
    flex-direction: column;
    line-height: 1.15;
}
.h-hero-stat-num {
    font-family: var(--sr-serif, 'Playfair Display', Georgia, serif);
    font-size: 22px;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: #fff;
}
.h-hero-stat-lab {
    font-size: 11.5px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255,255,255,0.62);
    margin-top: 4px;
}
.h-hero-trust-sep {
    width: 1px;
    height: 28px;
    background: rgba(255,255,255,0.18);
}

/* Hero responsive */
@media (max-width: 900px) {
    .h-hero-v3 { min-height: 620px; }
    .h-hero-v3 .h-hero-content { padding: 60px 0 56px; }
    .h-hero-v3 .h-hero-gradient {
        background:
            linear-gradient(180deg, rgba(18,12,8,0.62) 0%, rgba(18,12,8,0.5) 35%, rgba(18,12,8,0.88) 100%);
    }
    .h-hero-title-v3 { font-size: clamp(34px, 9vw, 52px); }
    .h-hero-sub-v3 br { display: none; }
    .h-hero-sub-v3 { margin-bottom: 32px; }
    .h-hero-pill-live { font-size: 10px; padding: 7px 14px; margin-bottom: 24px; }
    .h-mood-cards {
        gap: 10px;
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        margin: 0 -20px;
        padding: 4px 20px 8px;
        scrollbar-width: none;
    }
    .h-mood-cards::-webkit-scrollbar { display: none; }
    .h-mood-card { padding: 9px 14px 9px 9px; gap: 10px; min-width: 158px; scroll-snap-align: start; }
    .h-mood-card-ico { width: 34px; height: 34px; flex-basis: 34px; border-radius: 10px; }
    .h-mood-card-l1 { font-size: 13px; }
    .h-mood-card-l2 { font-size: 11.5px; }

    .h-hero-trust-line {
        margin-top: 28px;
        padding-top: 18px;
        gap: 16px;
        flex-wrap: wrap;
    }
    .h-hero-stat-num { font-size: 18px; }
    .h-hero-stat-lab { font-size: 10.5px; letter-spacing: 0.06em; }
    .h-hero-trust-sep { display: none; }
}

/* ============================================================
   RİTÜELLERDEN İLHAM AL
   ============================================================ */
.h-rituals {
    padding: 64px 0 24px;
    background: var(--sr-bg, #faf9f6);
    border-radius: 32px 32px 0 0;
    margin-top: -32px;
    position: relative;
    z-index: 2;
}
.h-rituals-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 28px;
    flex-wrap: wrap;
}
.h-rituals-title {
    font-family: var(--sr-serif, Georgia, serif);
    font-size: clamp(24px, 2.4vw, 30px);
    font-weight: 500;
    letter-spacing: -0.01em;
    margin: 0;
    color: var(--sr-ink);
}
.h-rituals-sub {
    margin: 6px 0 0;
    color: var(--sr-ink-2, #6c625d);
    font-size: 14px;
}
.h-rituals-nav {
    display: inline-flex;
    gap: 10px;
}
.h-rituals-arrow {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid var(--sr-line, #e6e0d6);
    background: #fff;
    color: var(--sr-ink);
    cursor: pointer;
    font-size: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}
.h-rituals-arrow:hover { background: var(--sr-surface, #f3eee5); border-color: var(--sr-clay, #c47f56); color: var(--sr-clay, #c47f56); }

.h-rituals-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}
.h-ritual {
    position: relative;
    display: block;
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 5 / 4;
    text-decoration: none;
    color: #fff;
    isolation: isolate;
    box-shadow: 0 6px 22px rgba(0,0,0,0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.h-ritual:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(0,0,0,0.16);
}
.h-ritual-img {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 0.7s ease;
}
.h-ritual:hover .h-ritual-img { transform: scale(1.06); }
.h-ritual-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.78) 100%);
}
.h-ritual-body {
    position: absolute;
    left: 22px;
    right: 70px;
    bottom: 22px;
    z-index: 1;
}
.h-ritual-name {
    font-family: var(--sr-serif, Georgia, serif);
    font-size: 22px;
    font-weight: 500;
    margin: 0 0 5px;
    line-height: 1.18;
    letter-spacing: -0.01em;
}
.h-ritual-desc {
    margin: 0;
    font-size: 13.5px;
    color: rgba(255,255,255,0.86);
    line-height: 1.4;
}
.h-ritual-arrow {
    position: absolute;
    right: 18px;
    bottom: 18px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255,255,255,0.95);
    color: var(--sr-ink);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    z-index: 1;
    transition: all 0.25s ease;
}
.h-ritual:hover .h-ritual-arrow {
    background: #fff;
    transform: translateX(3px);
}

@media (max-width: 1100px) {
    .h-rituals-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .h-ritual { aspect-ratio: 4 / 3; }
}
@media (max-width: 700px) {
    .h-rituals { padding: 44px 0 12px; }
    .h-rituals-grid {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 4px;
        margin: 0 -20px;
        padding-left: 20px;
        padding-right: 20px;
    }
    .h-rituals-grid::-webkit-scrollbar { display: none; }
    .h-ritual {
        flex: 0 0 78%;
        scroll-snap-align: start;
        aspect-ratio: 5 / 4;
    }
    .h-ritual-name { font-size: 19px; }
    .h-ritual-body { left: 18px; right: 60px; bottom: 16px; }
}

/* ============================================================
   EDİTÖR SEÇİMİ + HARİTA
   ============================================================ */
.h-edmap {
    padding: 64px 0 72px;
    background: var(--sr-bg, #faf9f6);
}
.h-edmap-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: 32px;
    align-items: start;
}
.h-edmap-left { display: flex; flex-direction: column; }

.h-edmap-head {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    column-gap: 14px;
    row-gap: 4px;
    margin-bottom: 22px;
}
.h-edmap-crown {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(196,127,86,0.13);
    color: var(--sr-clay, #c47f56);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    grid-row: span 2;
    align-self: center;
}
.h-edmap-head-text { display: flex; flex-direction: column; }
.h-edmap-title {
    font-family: var(--sr-serif, Georgia, serif);
    font-size: clamp(22px, 2vw, 26px);
    font-weight: 500;
    letter-spacing: -0.01em;
    margin: 0;
    color: var(--sr-ink);
    line-height: 1.15;
}
.h-edmap-sub {
    margin: 4px 0 0;
    font-size: 13.5px;
    color: var(--sr-ink-2);
}
.h-edmap-all {
    align-self: center;
    grid-row: span 2;
    font-size: 13.5px;
    color: var(--sr-ink);
    text-decoration: none;
    padding: 9px 16px;
    border: 1px solid var(--sr-line);
    border-radius: 999px;
    background: #fff;
    transition: all 0.2s ease;
    white-space: nowrap;
}
.h-edmap-all:hover { border-color: var(--sr-clay); color: var(--sr-clay); }

.h-edmap-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    align-items: stretch;
}
.h-edmini {
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(0,0,0,0.06);
    text-decoration: none;
    color: var(--sr-ink);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    align-self: start;
}
.h-edmini:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(0,0,0,0.10);
}
.h-edmini-img {
    width: 100%;
    aspect-ratio: 4 / 5;
    background-size: cover;
    background-position: center;
    background-color: #d8d2c5;
}
.h-edmini-img-empty {
    background:
        radial-gradient(circle at 30% 30%, #e6d3b6, #b89773);
}
.h-edmini-rating {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(255,255,255,0.96);
    color: var(--sr-ink);
    font-size: 11.5px;
    font-weight: 700;
    padding: 5px 10px;
    border-radius: 999px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.12);
    backdrop-filter: blur(4px);
}
.h-edmini-rating::before {
    content: '★';
    color: #d8a73a;
    margin-right: 3px;
}
.h-edmini-rating { padding-left: 9px; }
.h-edmini-fav {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255,255,255,0.96);
    border: none;
    color: var(--sr-ink-2);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    box-shadow: 0 3px 10px rgba(0,0,0,0.10);
}
.h-edmini-fav:hover { background: #fff; transform: scale(1.08); color: var(--sr-clay, #c47f56); }
.h-edmini-fav.on,
.h-edmini-fav.is-on { color: var(--sr-clay, #c47f56); }
.h-edmini-fav.on svg,
.h-edmini-fav.is-on svg { fill: currentColor; }
.h-edmini-body { padding: 14px 14px 16px; }
.h-edmini-name {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 6px;
    line-height: 1.25;
    color: var(--sr-ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.h-edmini-loc {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12.5px;
    color: var(--sr-ink-2);
}
.h-edmini-loc svg { color: var(--sr-clay, #c47f56); flex-shrink: 0; }

/* harita + arama */
.h-edmap-right {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    background: #eef2ef;
    min-height: 460px;
    border: 1px solid rgba(0,0,0,0.05);
    box-shadow: 0 4px 20px rgba(0,0,0,0.04);
}
.h-edmap-map {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.h-edmap-search {
    position: absolute;
    top: 22px;
    right: 22px;
    width: 290px;
    background: rgba(255,255,255,0.97);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 16px;
    padding: 18px;
    box-shadow: 0 14px 36px rgba(0,0,0,0.14);
    z-index: 1;
    border: 1px solid rgba(255,255,255,0.6);
}
.h-edmap-search-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--sr-ink);
    margin-bottom: 10px;
}
.h-edmap-search-row {
    display: flex;
    gap: 6px;
    margin-bottom: 16px;
}
.h-edmap-search-input {
    flex: 1;
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 13px;
    background: #fff;
    color: var(--sr-ink);
    min-width: 0;
}
.h-edmap-search-input:focus {
    outline: none;
    border-color: var(--sr-clay, #c47f56);
    box-shadow: 0 0 0 3px rgba(196,127,86,0.12);
}
.h-edmap-search-btn {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    border: none;
    background: var(--sr-clay, #c47f56);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease;
}
.h-edmap-search-btn:hover { background: #b06b3e; }
.h-edmap-pop-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--sr-ink);
    margin-bottom: 10px;
}
.h-edmap-pop-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 12px;
}
.h-edmap-pop {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 7px 6px;
    text-decoration: none;
    color: var(--sr-ink);
    font-size: 13.5px;
    border-radius: 8px;
    transition: background 0.18s ease;
}
.h-edmap-pop:hover { background: rgba(196,127,86,0.08); }
.h-edmap-pop-pin { color: var(--sr-clay, #c47f56); display: inline-flex; }
.h-edmap-pop-all {
    display: inline-block;
    font-size: 12.5px;
    color: var(--sr-clay, #c47f56);
    text-decoration: none;
    font-weight: 500;
    margin-top: 4px;
}
.h-edmap-pop-all:hover { text-decoration: underline; }

/* trust strip */
.h-trust-strip {
    margin-top: 64px;
    padding-top: 36px;
    border-top: 1px solid rgba(0,0,0,0.06);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
}
.h-trust-cell {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}
.h-trust-ico {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(196,127,86,0.12);
    color: var(--sr-clay, #c47f56);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.h-trust-l1 {
    font-size: 14.5px;
    font-weight: 600;
    margin-bottom: 4px;
    color: var(--sr-ink);
    letter-spacing: -0.005em;
}
.h-trust-l2 {
    font-size: 12.5px;
    color: var(--sr-ink-2);
    line-height: 1.55;
}

@media (max-width: 1100px) {
    .h-edmap-grid { grid-template-columns: 1fr; gap: 28px; }
    .h-edmap-right { min-height: 380px; }
    .h-trust-strip { grid-template-columns: repeat(2, 1fr); gap: 22px; }
}
@media (max-width: 720px) {
    .h-edmap { padding: 48px 0 56px; }
    .h-edmap-head { grid-template-columns: auto 1fr; }
    .h-edmap-all { grid-column: 1 / -1; grid-row: 2; justify-self: start; }
    .h-edmap-cards { grid-template-columns: 1fr 1fr; }
    .h-edmap-cards a:nth-child(3) { grid-column: span 2; }
    .h-edmap-cards a:nth-child(3) .h-edmini-img { aspect-ratio: 16 / 9; }
    .h-edmap-search { width: calc(100% - 28px); right: 14px; top: 14px; padding: 14px; }
    .h-edmap-right { min-height: 460px; }
    .h-trust-strip { margin-top: 44px; padding-top: 28px; }
}
@media (max-width: 480px) {
    .h-trust-strip { grid-template-columns: 1fr; gap: 18px; }
    .h-trust-cell { gap: 12px; }
}

/* ============================================================
   PROVİNCE PAGE — şehir sayfası v2
   ============================================================ */
.pv-hero {
    position: relative;
    height: 480px;
    overflow: hidden;
    color: #fff;
    background: #1a1410;
}
.pv-hero-bg { position: absolute; inset: 0; z-index: 0; }
.pv-hero-bg img {
    width: 100%; height: 100%; object-fit: cover;
}
.pv-hero-shade {
    position: absolute; inset: 0;
    background:
        linear-gradient(95deg, rgba(18,12,8,0.82) 0%, rgba(18,12,8,0.55) 30%, rgba(18,12,8,0.18) 55%, rgba(18,12,8,0.05) 78%, rgba(18,12,8,0.30) 100%);
}
.pv-hero-content {
    position: relative;
    z-index: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 56px;
    padding-bottom: 56px;
}
.pv-hero-eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: var(--sr-clay, #c47f56);
    margin-bottom: 18px;
    text-transform: uppercase;
}
.pv-hero-title {
    font-family: var(--sr-serif, 'Playfair Display', Georgia, serif);
    font-size: clamp(40px, 5vw, 64px);
    line-height: 1.05;
    font-weight: 400;
    letter-spacing: -0.025em;
    margin: 0 0 18px;
    text-shadow: 0 2px 30px rgba(0,0,0,0.4);
    max-width: 620px;
}
.pv-hero-sub {
    font-size: 15.5px;
    line-height: 1.6;
    color: rgba(255,255,255,0.84);
    margin: 0 0 28px;
    max-width: 460px;
}

/* Mood pill cards */
.pv-mood-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 760px;
}
.pv-mood-card {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 22px 11px 11px;
    background: #fff;
    color: var(--sr-ink, #1c1816);
    border-radius: 999px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 8px 22px rgba(0,0,0,0.16);
}
.pv-mood-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(0,0,0,0.22);
}
.pv-mood-ico {
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Floating right card — son 24h */
.pv-hero-float {
    position: absolute;
    right: 40px;
    bottom: 36px;
    background: rgba(255,255,255,0.97);
    color: var(--sr-ink);
    padding: 14px 18px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    box-shadow: 0 12px 28px rgba(0,0,0,0.16);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 2;
}
.pv-hero-float-ico {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(196,127,86,0.14);
    color: var(--sr-clay, #c47f56);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.pv-hero-float-l1 { font-size: 11.5px; color: var(--sr-ink-2, #6c625d); }
.pv-hero-float-l2 { font-size: 13px; }
.pv-hero-float-l2 strong { font-size: 14px; }
.pv-hero-float-avatars { display: inline-flex; align-items: center; }
.pv-hero-avatar {
    width: 24px; height: 24px;
    border-radius: 50%;
    border: 2px solid #fff;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: -7px;
}
.pv-hero-avatar:first-child { margin-left: 0; }
.pv-hero-avatar-more {
    background: var(--sr-ink, #1c1816);
    font-size: 9.5px;
}

@media (max-width: 900px) {
    .pv-hero { height: auto; min-height: 580px; }
    .pv-hero-content { padding-top: 60px; padding-bottom: 70px; }
    .pv-hero-shade { background: linear-gradient(180deg, rgba(18,12,8,0.55) 0%, rgba(18,12,8,0.45) 30%, rgba(18,12,8,0.85) 100%); }
    .pv-hero-title { font-size: clamp(32px, 8vw, 44px); }
    .pv-mood-cards {
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        margin: 0 -20px;
        padding: 4px 20px 8px;
        scrollbar-width: none;
    }
    .pv-mood-cards::-webkit-scrollbar { display: none; }
    .pv-mood-card { flex: 0 0 auto; scroll-snap-align: start; }
    .pv-hero-float {
        position: relative;
        right: auto; bottom: auto;
        margin-top: 24px;
        align-self: flex-start;
    }
}

/* Section helpers */
.pv-section {
    padding: 56px 0 24px;
    background: var(--sr-bg, #faf9f6);
}
.pv-section + .pv-section { padding-top: 8px; }
.pv-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 22px;
    flex-wrap: wrap;
}
.pv-eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    color: var(--sr-ink-2, #6c625d);
    text-transform: uppercase;
    margin-bottom: 6px;
}
.pv-h2 {
    font-family: var(--sr-serif, Georgia, serif);
    font-size: clamp(20px, 2.2vw, 26px);
    font-weight: 500;
    letter-spacing: -0.01em;
    margin: 0;
    color: var(--sr-ink);
}
.pv-head-right { display: inline-flex; gap: 12px; align-items: center; }
.pv-all {
    font-size: 13.5px;
    color: var(--sr-ink-2);
    text-decoration: none;
    transition: color 0.2s ease;
}
.pv-all:hover { color: var(--sr-clay); }

/* === Bugün popüler — yatay slider === */
.pv-pop-wrap { position: relative; }
.pv-pop-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 48px) / 4);
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding-bottom: 6px;
}
.pv-pop-grid::-webkit-scrollbar { display: none; }
.pv-pop-card {
    position: relative;
    display: block;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    text-decoration: none;
    color: var(--sr-ink);
    border: 1px solid rgba(0,0,0,0.05);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    scroll-snap-align: start;
}
.pv-pop-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(0,0,0,0.10);
}
.pv-pop-img {
    width: 100%;
    aspect-ratio: 4 / 3;
    background-size: cover;
    background-position: center;
    background-color: #d8c8aa;
}
.pv-pop-img-empty {
    background: linear-gradient(135deg, #d6c5ad, #b89773);
}
.pv-pop-fav {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255,255,255,0.96);
    border: none;
    color: var(--sr-ink-2);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 10px rgba(0,0,0,0.12);
    transition: transform 0.18s ease, color 0.18s ease;
    z-index: 2;
}
.pv-pop-fav:hover { transform: scale(1.08); color: var(--sr-clay); }
.pv-pop-fav.is-on { color: var(--sr-clay); }
.pv-pop-fav.is-on svg { fill: currentColor; }
.pv-pop-body { padding: 12px 14px 14px; }
.pv-pop-name {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 6px;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.pv-pop-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 12.5px;
    color: var(--sr-ink-2);
}
.pv-pop-loc { display: inline-flex; align-items: center; gap: 4px; }
.pv-pop-loc svg { color: var(--sr-clay); }
.pv-pop-rating { font-weight: 600; }

.pv-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid var(--sr-line);
    color: var(--sr-ink);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(0,0,0,0.10);
    z-index: 3;
    transition: all 0.2s ease;
}
.pv-arrow:hover { background: var(--sr-clay); color: #fff; border-color: var(--sr-clay); }
.pv-arrow-prev { left: -18px; }
.pv-arrow-next { right: -18px; }

@media (max-width: 1100px) {
    .pv-pop-grid { grid-auto-columns: calc((100% - 32px) / 3); }
    .pv-arrow { width: 36px; height: 36px; }
    .pv-arrow-prev { left: -10px; }
    .pv-arrow-next { right: -10px; }
}
@media (max-width: 720px) {
    .pv-pop-grid { grid-auto-columns: 78%; gap: 12px; }
    .pv-arrow { display: none; }
}

/* === Ritüele göre keşfet === */
.pv-rit-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.pv-rit-card {
    position: relative;
    display: block;
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    text-decoration: none;
    color: #fff;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    box-shadow: 0 4px 14px rgba(0,0,0,0.08);
}
.pv-rit-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 32px rgba(0,0,0,0.16);
}
.pv-rit-img {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 0.6s ease;
}
.pv-rit-card:hover .pv-rit-img { transform: scale(1.05); }
.pv-rit-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,0.78) 100%);
}
.pv-rit-ico {
    position: absolute;
    top: 16px;
    left: 16px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,0.96);
    color: var(--sr-clay, #c47f56);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    box-shadow: 0 3px 10px rgba(0,0,0,0.15);
}
.pv-rit-body {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    z-index: 1;
}
.pv-rit-name {
    font-family: var(--sr-serif, Georgia, serif);
    font-size: 22px;
    font-weight: 500;
    margin: 0 0 5px;
    line-height: 1.12;
    letter-spacing: -0.01em;
}
.pv-rit-desc {
    margin: 0;
    font-size: 13px;
    color: rgba(255,255,255,0.85);
    line-height: 1.45;
}

@media (max-width: 1100px) {
    .pv-rit-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
    .pv-rit-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .pv-rit-card { aspect-ratio: 4 / 5; }
    .pv-rit-name { font-size: 17px; }
    .pv-rit-desc { font-size: 12px; }
}

/* === Vibe'a göre === */
.pv-vibe-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
}
.pv-vibe-card {
    position: relative;
    display: block;
    border-radius: 16px;
    overflow: hidden;
    aspect-ratio: 5 / 4;
    text-decoration: none;
    color: #fff;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.pv-vibe-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(0,0,0,0.16);
}
.pv-vibe-img {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 0.6s ease;
}
.pv-vibe-card:hover .pv-vibe-img { transform: scale(1.05); }
.pv-vibe-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 36%, rgba(0,0,0,0.75) 100%);
}
.pv-vibe-ico {
    position: absolute;
    top: 12px;
    left: 12px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(255,255,255,0.96);
    color: var(--sr-clay, #c47f56);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}
.pv-vibe-body {
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 14px;
    z-index: 1;
}
.pv-vibe-name {
    font-family: var(--sr-serif, Georgia, serif);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.15;
    margin-bottom: 2px;
}
.pv-vibe-cnt {
    font-size: 12px;
    color: rgba(255,255,255,0.85);
}

@media (max-width: 1100px) {
    .pv-vibe-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
    .pv-vibe-grid {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        margin: 0 -20px;
        padding: 0 20px 4px;
    }
    .pv-vibe-grid::-webkit-scrollbar { display: none; }
    .pv-vibe-card {
        flex: 0 0 64%;
        aspect-ratio: 4 / 3;
        scroll-snap-align: start;
    }
}

/* === Şehir haritası === */
.pv-map-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    gap: 18px;
    align-items: stretch;
}
.pv-map-wrap {
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(0,0,0,0.06);
    background: #eef2ef;
    min-height: 420px;
    position: relative;
}
.pv-map { position: absolute; inset: 0; }

.pv-map-side {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 20px;
    border: 1px solid rgba(0,0,0,0.06);
    padding: 12px;
    gap: 4px;
}
.pv-map-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px;
    border-radius: 12px;
    text-decoration: none;
    color: var(--sr-ink);
    transition: background 0.18s ease;
}
.pv-map-row:hover { background: var(--sr-surface, #f5efe5); }
.pv-map-row-img {
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    border-radius: 10px;
    background-size: cover;
    background-position: center;
    background-color: #d8c8aa;
}
.pv-map-row-img-empty { background: linear-gradient(135deg, #d6c5ad, #b89773); }
.pv-map-row-body { flex: 1; min-width: 0; }
.pv-map-row-name {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.pv-map-row-loc { font-size: 12px; color: var(--sr-ink-2); }
.pv-map-row-rate {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--sr-ink);
    flex-shrink: 0;
}
.pv-map-all {
    margin-top: 6px;
    padding: 14px;
    background: var(--sr-surface, #f5efe5);
    border-radius: 12px;
    text-align: center;
    color: var(--sr-clay, #c47f56);
    font-weight: 600;
    font-size: 13.5px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: background 0.2s ease;
}
.pv-map-all:hover { background: rgba(196,127,86,0.16); }

@media (max-width: 900px) {
    .pv-map-grid { grid-template-columns: 1fr; }
    .pv-map-wrap { min-height: 320px; }
}

/* === Trust strip === */
.pv-trust-section { padding: 24px 0 80px; }
.pv-trust {
    background: #fff;
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: 18px;
    padding: 22px 28px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}
.pv-trust-cell {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.pv-trust-ico {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(196,127,86,0.12);
    color: var(--sr-clay, #c47f56);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.pv-trust-l1 {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 3px;
    color: var(--sr-ink);
}
.pv-trust-l2 {
    font-size: 12.5px;
    color: var(--sr-ink-2);
    line-height: 1.5;
}

@media (max-width: 1100px) {
    .pv-trust { grid-template-columns: repeat(2, 1fr); gap: 18px; }
}
@media (max-width: 540px) {
    .pv-trust { grid-template-columns: 1fr; padding: 18px 18px; }
}

/* ============================================================
   ADMIN — premium edit form (loc-* pattern)
   ============================================================ */
.loc-form { max-width: 760px; }
.loc-card {
    background: #fff;
    border: 1px solid var(--sr-line, #e6e0d6);
    border-radius: 14px;
    padding: 28px 32px;
    margin-bottom: 18px;
}
.loc-card-head { margin-bottom: 22px; }
.loc-card-head h3 {
    margin: 0 0 6px;
    font-family: var(--sr-serif, Georgia, serif);
    font-size: 19px;
    font-weight: 500;
    color: var(--sr-ink);
    letter-spacing: -0.005em;
}
.loc-card-head p { margin: 0; line-height: 1.55; }

.loc-field { margin-bottom: 18px; }
.loc-field:last-child { margin-bottom: 0; }
.loc-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--sr-ink);
    margin-bottom: 8px;
}
.loc-label-hint {
    font-weight: 400;
    color: var(--sr-ink-3, #98908a);
    font-size: 12px;
}
.loc-input {
    width: 100%;
    border: 1px solid var(--sr-line, #e6e0d6);
    border-radius: 10px;
    padding: 11px 14px;
    font-size: 14px;
    background: #fff;
    color: var(--sr-ink);
    font-family: inherit;
    box-sizing: border-box;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.loc-input:focus {
    outline: none;
    border-color: var(--sr-clay, #c47f56);
    box-shadow: 0 0 0 3px rgba(196,127,86,0.12);
}
.loc-textarea { resize: vertical; min-height: 84px; line-height: 1.55; }
.loc-help {
    margin: 6px 0 0;
    font-size: 12px;
    color: var(--sr-ink-3, #98908a);
}
.loc-help code {
    background: var(--sr-surface, #f5efe5);
    padding: 1px 5px;
    border-radius: 4px;
    font-size: 11px;
}

.loc-uploader { position: relative; }
.loc-dropzone {
    border: 1.5px dashed var(--sr-line, #d8d2c5);
    border-radius: 12px;
    padding: 38px 24px;
    text-align: center;
    background: var(--sr-surface, #f5efe5);
    cursor: pointer;
    transition: all 0.2s ease;
}
.loc-uploader.is-drag .loc-dropzone {
    border-color: var(--sr-clay, #c47f56);
    background: rgba(196,127,86,0.06);
}
.loc-dropzone-ico {
    margin: 0 auto 10px;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #fff;
    color: var(--sr-clay, #c47f56);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--sr-line);
}
.loc-dropzone-l1 {
    font-size: 14px;
    color: var(--sr-ink);
    margin-bottom: 4px;
}
.loc-dropzone-link {
    background: none;
    border: none;
    color: var(--sr-clay, #c47f56);
    font-weight: 600;
    cursor: pointer;
    padding: 0;
    font-size: inherit;
    text-decoration: underline;
}
.loc-dropzone-l2 { font-size: 12px; color: var(--sr-ink-3); }

.loc-preview {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    background: var(--sr-surface);
    border: 1px solid var(--sr-line);
}
.loc-preview img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 7;
    object-fit: cover;
}
.loc-preview-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-top: 1px solid var(--sr-line);
    background: #fff;
}
.loc-preview-remove {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--sr-ink-2);
    cursor: pointer;
    user-select: none;
}
.loc-preview-remove input { margin: 0; cursor: pointer; }

.loc-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    padding-top: 4px;
}

@media (max-width: 720px) {
    .loc-card { padding: 20px 18px; }
    .loc-actions { flex-direction: column-reverse; }
    .loc-actions .btn { width: 100%; }
}

/* ============================================================
   BUSINESS DETAIL — premium v2 (.bd-*)
   ============================================================ */
.bd-page {
    background: var(--sr-bg, #faf9f6);
    padding: 24px 0 80px;
    min-height: 100vh;
}

/* breadcrumbs */
.bd-crumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--sr-ink-3, #98908a);
    margin-bottom: 20px;
}
.bd-crumbs a {
    color: var(--sr-ink-3);
    text-decoration: none;
    transition: color 0.18s ease;
}
.bd-crumbs a:hover { color: var(--sr-clay, #c47f56); }
.bd-crumbs > span:last-child:not(.bd-crumb-sep) { color: var(--sr-ink); font-weight: 500; }
.bd-crumb-sep { color: var(--sr-ink-4, #c8c0b8); }

/* Galeri — sabit aspect-ratio + child'lar eşit fill (Phase 7 v2) */
.bd-gallery {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    gap: 10px;
    margin-bottom: 28px;
    aspect-ratio: 16 / 9;
    max-height: 560px;
    width: 100%;
}
/* Yan cell yoksa → main full-width + biraz daha düz oran */
.bd-gallery:not(:has(.bd-gallery-side)) {
    grid-template-columns: 1fr;
    aspect-ratio: 21 / 9;
    max-height: 480px;
}
.bd-gallery-main {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    aspect-ratio: auto;       /* parent aspect kontrol eder */
    width: 100%;
    height: 100%;
    background: #ece6db;
    isolation: isolate;
}
.bd-gallery-main .bd-gal-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    cursor: zoom-in;
    transition: transform 0.6s ease;
}
.bd-gallery-main:hover .bd-gal-img { transform: scale(1.02); }
.bd-gal-empty {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    color: rgba(0,0,0,0.18);
    background: linear-gradient(135deg, #d9c8aa, #b08c64);
}

.bd-gal-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 13px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    background: rgba(255,255,255,0.96);
    color: var(--sr-ink);
    box-shadow: 0 4px 14px rgba(0,0,0,0.16);
    backdrop-filter: blur(6px);
}
.bd-gal-badge-editor svg { color: var(--sr-clay, #c47f56); }
.bd-gal-badge-premium { background: var(--sr-ink, #1c1816); color: #fff; }
.bd-gal-badge-pro { background: var(--sr-clay, #c47f56); color: #fff; }
.bd-gal-badge-feat { background: rgba(28,24,22,0.78); color: #fff; }

.bd-gal-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255,255,255,0.92);
    color: var(--sr-ink);
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: background 0.18s ease, transform 0.18s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.14);
}
.bd-gal-nav:hover { background: #fff; transform: translateY(-50%) scale(1.06); }
.bd-gal-nav-prev { left: 14px; }
.bd-gal-nav-next { right: 14px; }

.bd-gal-all {
    position: absolute;
    left: 16px;
    bottom: 16px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 14px;
    border-radius: 999px;
    border: none;
    background: rgba(255,255,255,0.96);
    color: var(--sr-ink);
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    backdrop-filter: blur(6px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.14);
    transition: background 0.18s ease;
}
.bd-gal-all:hover { background: #fff; }

.bd-gallery-side {
    display: grid;
    gap: 10px;
    height: 100%;
    width: 100%;
}
/* Yan cell sayısına göre dinamik row — boş row kalmasın */
.bd-gallery-side-1 { grid-template-rows: 1fr; }
.bd-gallery-side-2 { grid-template-rows: 1fr 1fr; }
.bd-gallery-side-3 { grid-template-rows: repeat(3, 1fr); }
.bd-gallery-side-4 { grid-template-rows: repeat(4, 1fr); }
/* Yan cell varsa cell aspect-ratio yerine height fill etsin (main'la eşitlensin) */
.bd-gallery-side .bd-gal-cell {
    aspect-ratio: auto !important;
    height: 100%;
    width: 100%;
    min-height: 0;
}
.bd-gal-cell {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: #ece6db;
}
.bd-gal-cell .bd-gal-img {
    width: 100%; height: 100%; object-fit: cover; cursor: pointer;
    transition: transform 0.5s ease;
}
.bd-gal-cell:hover .bd-gal-img { transform: scale(1.04); }

.bd-gal-video {
    position: relative;
    width: 100%; height: 100%;
    border: none; padding: 0;
    cursor: pointer;
    overflow: hidden;
    background: #2a2018;
    display: block;
}
.bd-gal-video img { width: 100%; height: 100%; object-fit: cover; }
.bd-gal-video-empty { width: 100%; height: 100%; background: linear-gradient(135deg, #2a2018, #4a3a2c); }
.bd-gal-video-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.10) 0%, rgba(0,0,0,0.55) 100%);
}
.bd-gal-video-pill {
    position: absolute;
    left: 14px; bottom: 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px 7px 7px;
    border-radius: 999px;
    background: rgba(255,255,255,0.96);
    color: var(--sr-ink);
    font-size: 12.5px;
    font-weight: 600;
    backdrop-filter: blur(6px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.20);
}
.bd-gal-video-play {
    width: 22px; height: 22px;
    border-radius: 50%;
    background: var(--sr-clay, #c47f56);
    color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
}

.bd-gal-more {
    position: absolute;
    inset: 0;
    background: rgba(28,24,22,0.65);
    color: #fff;
    border: none;
    font-size: 22px;
    font-weight: 600;
    font-family: var(--sr-serif, Georgia, serif);
    cursor: pointer;
    backdrop-filter: blur(2px);
}
.bd-gal-more:hover { background: rgba(28,24,22,0.78); }

@media (max-width: 900px) {
    .bd-gallery {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        aspect-ratio: auto;
        height: auto;
    }
    .bd-gallery-main { aspect-ratio: 4 / 3; height: auto; }
    .bd-gallery-side {
        grid-template-rows: none;
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
        height: auto;
    }
    .bd-gallery-side .bd-gal-cell {
        aspect-ratio: 1 / 1 !important;
        height: auto;
    }
}

/* Grid layout */
.bd-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 32px;
    align-items: flex-start;
}
.bd-grid > * { min-width: 0; }
.bd-grid > main,
.bd-grid > .bd-main,
.bd-grid > aside,
.bd-grid > .bd-side {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}
@media (max-width: 1100px) {
    .bd-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .bd-side { width: 100%; }
}

/* Header */
.bd-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 26px;
    flex-wrap: wrap;
}
.bd-eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: var(--sr-clay, #c47f56);
    text-transform: uppercase;
    margin-bottom: 8px;
}
.bd-title {
    font-family: var(--sr-serif, 'Playfair Display', Georgia, serif);
    font-size: clamp(28px, 3.8vw, 44px);
    line-height: 1.06;
    font-weight: 500;
    letter-spacing: -0.02em;
    margin: 0 0 10px;
    color: var(--sr-ink);
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.bd-vrf {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    margin-top: 2px;
}
.bd-meta-row {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--sr-ink-2, #6c625d);
    flex-wrap: wrap;
}
.bd-loc {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.bd-loc svg { color: var(--sr-clay, #c47f56); }
.bd-link {
    color: var(--sr-clay, #c47f56);
    text-decoration: none;
    font-weight: 500;
}
.bd-link:hover { text-decoration: underline; }
.bd-meta-sep { color: var(--sr-ink-4, #c8c0b8); }

.bd-head-side {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}
.bd-rating-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 14px;
    background: #fff;
    border: 1px solid var(--sr-line, #ece7dd);
    border-radius: 999px;
    font-size: 14px;
}
.bd-rating-star { color: #d8a73a; font-size: 15px; }
.bd-rating-pill strong { font-weight: 700; }
.bd-rating-n { color: var(--sr-ink-3, #98908a); font-size: 13px; font-weight: 400; }

.bd-fav-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 16px;
    border: 1px solid var(--sr-line, #ece7dd);
    background: #fff;
    color: var(--sr-ink);
    border-radius: 999px;
    cursor: pointer;
    font-size: 13.5px;
    font-weight: 500;
    transition: all 0.2s ease;
}
.bd-fav-btn:hover { border-color: var(--sr-clay, #c47f56); color: var(--sr-clay); }
.bd-fav-btn.is-on { color: var(--sr-clay); border-color: var(--sr-clay); }
.bd-fav-btn.is-on svg { fill: currentColor; }

/* Quick features strip */
.bd-quick {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
    padding: 20px 22px;
    background: #fff;
    border: 1px solid var(--sr-line, #ece7dd);
    border-radius: 16px;
    margin-bottom: 26px;
}
.bd-quick-cell {
    display: flex;
    align-items: center;
    gap: 12px;
}
.bd-quick-ico {
    flex: 0 0 38px;
    width: 38px; height: 38px;
    border-radius: 50%;
    background: rgba(196,127,86,0.12);
    color: var(--sr-clay, #c47f56);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.bd-quick-text { min-width: 0; }
.bd-quick-name {
    font-size: 13.5px;
    font-weight: 600;
    margin-bottom: 1px;
    color: var(--sr-ink);
    line-height: 1.2;
}
.bd-quick-sub {
    font-size: 12px;
    color: var(--sr-ink-2, #6c625d);
    line-height: 1.3;
}
@media (max-width: 900px) {
    .bd-quick {
        grid-template-columns: repeat(2, 1fr);
        padding: 16px;
    }
}
@media (max-width: 540px) {
    .bd-quick { grid-template-columns: 1fr; }
}

/* Card base */
.bd-card {
    position: relative;
    background: #fff;
    border: 1px solid var(--sr-line, #ece7dd);
    border-radius: 16px;
    padding: 28px 32px;
    margin-bottom: 22px;
    overflow: hidden;
}
.bd-h2 {
    font-family: var(--sr-serif, Georgia, serif);
    font-size: 22px;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: var(--sr-ink);
    margin: 0 0 16px;
}

/* Hakkında */
.bd-about-leaf {
    position: absolute;
    right: -10px;
    bottom: -16px;
    color: rgba(196,127,86,0.18);
    pointer-events: none;
}
.bd-about-body {
    font-size: 15px;
    line-height: 1.75;
    color: var(--sr-ink-2, #6c625d);
    max-height: 110px;
    overflow: hidden;
    position: relative;
    transition: max-height 0.4s ease;
}
.bd-about-body.is-open { max-height: 2400px; }
.bd-about-body:not(.is-open)::after {
    content: '';
    position: absolute;
    inset: auto 0 0 0;
    height: 50px;
    background: linear-gradient(180deg, rgba(255,255,255,0), #fff);
}
.bd-readmore {
    margin-top: 12px;
    background: none;
    border: none;
    color: var(--sr-clay, #c47f56);
    font-weight: 600;
    font-size: 13.5px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0;
}
.bd-readmore:hover { text-decoration: underline; }

/* Bilgi paneli */
.bd-info {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    background: #fff;
    border: 1px solid var(--sr-line, #ece7dd);
    border-radius: 16px;
    padding: 22px;
    margin-bottom: 28px;
}
.bd-info-cell {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}
.bd-info-ico {
    flex: 0 0 36px;
    width: 36px; height: 36px;
    border-radius: 50%;
    background: rgba(196,127,86,0.12);
    color: var(--sr-clay, #c47f56);
    display: inline-flex; align-items: center; justify-content: center;
    margin-top: 2px;
}
.bd-info-l1 {
    font-size: 11.5px;
    font-weight: 600;
    color: var(--sr-ink-3, #98908a);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 4px;
}
.bd-info-l2 {
    font-size: 13.5px;
    color: var(--sr-ink);
    line-height: 1.45;
    word-break: break-word;
}
.bd-info-link { color: var(--sr-ink); text-decoration: none; }
.bd-info-link:hover { color: var(--sr-clay); }
@media (max-width: 900px) {
    .bd-info { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
    .bd-info { grid-template-columns: 1fr; padding: 16px; }
}

/* Section helpers */
.bd-section { margin-bottom: 32px; }
.bd-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
}
.bd-all {
    font-size: 13.5px;
    color: var(--sr-ink-2);
    text-decoration: none;
}
.bd-all:hover { color: var(--sr-clay); }
.bd-all-clay { color: var(--sr-clay); }

/* Servisler */
.bd-svc-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
.bd-svc-card {
    position: relative;
    background: #fff;
    border: 1px solid var(--sr-line, #ece7dd);
    border-radius: 14px;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.bd-svc-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 26px rgba(0,0,0,0.08);
}
.bd-svc-img {
    width: 100%;
    aspect-ratio: 16 / 10;
    background-size: cover;
    background-position: center;
    background-color: #ece2cf;
}
.bd-svc-img-empty { background: linear-gradient(135deg, #d9c8aa, #b08c64); }
.bd-svc-body { padding: 14px 16px 16px; position: relative; }
.bd-svc-name {
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 6px;
    line-height: 1.25;
    color: var(--sr-ink);
}
.bd-svc-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}
.bd-svc-dur {
    font-size: 12px;
    color: var(--sr-ink-2);
}
.bd-svc-price {
    font-size: 14.5px;
    font-weight: 700;
    color: var(--sr-clay, #c47f56);
}
.bd-svc-desc {
    margin: 0 28px 0 0;
    font-size: 12.5px;
    color: var(--sr-ink-2);
    line-height: 1.5;
}
.bd-svc-bookmark {
    position: absolute;
    right: 12px;
    bottom: 14px;
    width: 28px; height: 28px;
    border-radius: 50%;
    background: var(--sr-surface, #f5efe5);
    color: var(--sr-ink-2);
    border: none;
    cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    transition: all 0.2s ease;
}
.bd-svc-bookmark:hover { background: rgba(196,127,86,0.16); color: var(--sr-clay); }
.bd-svc-bookmark.on { background: var(--sr-clay); color: #fff; }
.bd-svc-bookmark.on svg { fill: currentColor; }

@media (max-width: 900px) { .bd-svc-grid { grid-template-columns: 1fr; } }

/* Paketler */
.bd-pkg-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}
.bd-pkg-card {
    position: relative;
    background: #fff;
    border: 1px solid var(--sr-line, #ece7dd);
    border-radius: 14px;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.bd-pkg-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 26px rgba(0,0,0,0.08);
}
.bd-pkg-img {
    width: 100%;
    aspect-ratio: 16 / 10;
    background-size: cover;
    background-position: center;
    background-color: #ece2cf;
}
.bd-pkg-img-empty { background: linear-gradient(135deg, #d9c8aa, #b08c64); }
.bd-pkg-dur {
    position: absolute;
    top: 12px;
    right: 12px;
    background: rgba(28,24,22,0.78);
    color: #fff;
    font-size: 11.5px;
    font-weight: 600;
    padding: 4px 9px;
    border-radius: 999px;
    backdrop-filter: blur(4px);
}
.bd-pkg-body { padding: 12px 14px 14px; }
.bd-pkg-name {
    font-size: 14.5px;
    font-weight: 600;
    margin: 0 0 4px;
    line-height: 1.25;
    color: var(--sr-ink);
}
.bd-pkg-includes {
    margin: 0 0 10px;
    font-size: 12px;
    color: var(--sr-ink-2);
    line-height: 1.45;
}
.bd-pkg-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.bd-pkg-price strong {
    font-size: 16px;
    color: var(--sr-clay, #c47f56);
    font-weight: 700;
}
.bd-pkg-old {
    font-size: 12.5px;
    color: var(--sr-ink-3);
    text-decoration: line-through;
    margin-left: 6px;
}
.bd-pkg-disc {
    background: #e9f4ec;
    color: #3d7b49;
    font-size: 11.5px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 999px;
}

@media (max-width: 1100px) { .bd-pkg-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .bd-pkg-grid { grid-template-columns: 1fr; } }

/* Yorumlar */
.bd-reviews-section {
    background: #fff;
    border: 1px solid var(--sr-line, #ece7dd);
    border-radius: 16px;
    padding: 28px 32px;
    margin-bottom: 32px;
}
.bd-reviews-grid {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 32px;
    align-items: flex-start;
}
.bd-rating-summary { text-align: left; }
.bd-rating-num {
    font-family: var(--sr-serif, Georgia, serif);
    font-size: 56px;
    font-weight: 500;
    line-height: 1;
    color: var(--sr-ink);
}
.bd-rating-stars { font-size: 14px; margin: 8px 0 4px; letter-spacing: 1px; }
.bd-rating-count {
    font-size: 12.5px;
    color: var(--sr-ink-3);
    margin-bottom: 16px;
}
.bd-rating-bars { display: flex; flex-direction: column; gap: 6px; }
.bd-rb-row {
    display: grid;
    grid-template-columns: 30px 1fr 30px;
    align-items: center;
    gap: 10px;
    font-size: 12.5px;
    color: var(--sr-ink-2);
}
.bd-rb-label { font-weight: 500; }
.bd-rb-track {
    height: 6px;
    background: var(--sr-surface, #f5efe5);
    border-radius: 999px;
    overflow: hidden;
    position: relative;
}
.bd-rb-fill {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #f1c44a, #d8a73a);
    border-radius: 999px;
    transition: width 0.6s ease;
}
.bd-rb-count { text-align: right; font-variant-numeric: tabular-nums; }

.bd-reviews-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    align-content: flex-start;
}
.bd-review {
    background: var(--sr-surface, #f5efe5);
    border-radius: 14px;
    padding: 18px;
}
.bd-review-row {
    background: var(--sr-surface);
    margin-bottom: 12px;
}
.bd-review-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.bd-review-avatar {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, #b87a52, #8b5a3c);
    color: #fff;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--sr-serif, Georgia, serif);
    font-size: 15px;
}
.bd-review-meta { min-width: 0; }
.bd-review-name { font-size: 13.5px; font-weight: 600; color: var(--sr-ink); }
.bd-review-date { font-size: 11.5px; color: var(--sr-ink-3); }
.bd-review-stars { letter-spacing: 1px; font-size: 13px; margin-bottom: 6px; }
.bd-review-title { font-weight: 600; font-size: 13.5px; color: var(--sr-ink); margin-bottom: 4px; }
.bd-review-body {
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 1.55;
    color: var(--sr-ink-2);
}
.bd-review-tag {
    display: inline-block;
    font-size: 11.5px;
    padding: 3px 10px;
    background: rgba(196,127,86,0.10);
    color: #8b5a3c;
    border-radius: 999px;
    font-weight: 500;
}

@media (max-width: 900px) {
    .bd-reviews-grid { grid-template-columns: 1fr; gap: 22px; }
    .bd-reviews-list { grid-template-columns: 1fr; }
    .bd-reviews-section { padding: 22px 18px; }
}

/* Benzer */
.bd-similar-wrap { position: relative; }
.bd-similar-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}
.bd-similar {
    position: relative;
    display: block;
    background: #fff;
    border: 1px solid var(--sr-line, #ece7dd);
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none;
    color: var(--sr-ink);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.bd-similar:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 24px rgba(0,0,0,0.08);
}
.bd-similar-img {
    width: 100%;
    aspect-ratio: 4 / 3;
    background-size: cover;
    background-position: center;
    background-color: #ece2cf;
}
.bd-similar-img-empty { background: linear-gradient(135deg, #d9c8aa, #b08c64); }
.bd-similar-rate {
    position: absolute;
    top: 10px;
    left: 10px;
    background: rgba(255,255,255,0.96);
    color: var(--sr-ink);
    font-size: 11.5px;
    font-weight: 700;
    padding: 4px 9px;
    border-radius: 999px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.10);
}
.bd-similar-body { padding: 10px 12px 12px; }
.bd-similar-name {
    font-size: 13.5px;
    font-weight: 600;
    margin-bottom: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bd-similar-loc { font-size: 11.5px; color: var(--sr-ink-2); }

.bd-similar-arrow {
    position: absolute;
    top: 50%;
    right: -16px;
    transform: translateY(-50%);
    width: 38px; height: 38px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid var(--sr-line);
    color: var(--sr-ink);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(0,0,0,0.10);
    transition: all 0.2s ease;
    z-index: 2;
}
.bd-similar-arrow:hover { background: var(--sr-clay); color: #fff; border-color: var(--sr-clay); }

@media (max-width: 900px) {
    .bd-similar-grid {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        margin: 0 -20px;
        padding: 0 20px 4px;
    }
    .bd-similar-grid::-webkit-scrollbar { display: none; }
    .bd-similar { flex: 0 0 60%; scroll-snap-align: start; }
    .bd-similar-arrow { display: none; }
}

/* Trust footer */
.bd-trust {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    background: #fff;
    border: 1px solid var(--sr-line, #ece7dd);
    border-radius: 16px;
    padding: 22px 26px;
}
.bd-trust-cell {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.bd-trust-ico {
    flex: 0 0 36px;
    width: 36px; height: 36px;
    border-radius: 50%;
    background: rgba(196,127,86,0.12);
    color: var(--sr-clay, #c47f56);
    display: inline-flex; align-items: center; justify-content: center;
}
.bd-trust-l1 {
    font-size: 13.5px;
    font-weight: 600;
    margin-bottom: 3px;
    color: var(--sr-ink);
}
.bd-trust-l2 {
    font-size: 12px;
    color: var(--sr-ink-2);
    line-height: 1.5;
}
@media (max-width: 1100px) { .bd-trust { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .bd-trust { grid-template-columns: 1fr; padding: 18px; } }

/* === Sticky sidebar === */
.bd-side {
    position: sticky;
    top: 88px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
@media (max-width: 1100px) {
    .bd-side { position: static; }
}

.bd-price-card {
    background: #fff;
    border: 1px solid var(--sr-line, #ece7dd);
    border-radius: 16px;
    padding: 22px 22px 18px;
}
.bd-price-head { margin-bottom: 14px; }
.bd-price-num {
    font-family: var(--sr-serif, Georgia, serif);
    font-size: 28px;
    font-weight: 600;
    color: var(--sr-ink);
    letter-spacing: -0.01em;
}
.bd-price-lab {
    display: block;
    font-size: 12.5px;
    color: var(--sr-ink-2);
    margin-top: 2px;
}

.bd-cta-primary {
    display: block;
    width: 100%;
    padding: 14px 18px;
    text-align: center;
    background: var(--sr-clay, #c47f56);
    color: #fff;
    text-decoration: none;
    border-radius: 12px;
    font-weight: 600;
    font-size: 14px;
    transition: background 0.2s ease;
    box-sizing: border-box;
}
.bd-cta-primary:hover { background: #b06b3e; }

.bd-cta-row {
    /* Buton sayısına göre dinamik dağılım — 1 buton tam genişlik, 2 buton 1/2, 3 buton 1/3 */
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 16px;
}
.bd-cta-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px;
    flex: 1 1 0;
    min-width: 0;
    background: #fff;
    color: var(--sr-ink);
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    font-size: 12.5px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.18s ease;
}
.bd-cta-secondary:hover { border-color: var(--sr-clay); color: var(--sr-clay); }

.bd-trust-checks {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    border-top: 1px solid var(--sr-line);
    padding-top: 14px;
}
.bd-trust-checks li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--sr-ink-2);
}
.bd-tc-ico { color: var(--sr-clay, #c47f56); display: inline-flex; }
.bd-tc-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--sr-ink-3);
    flex-shrink: 0;
}
.bd-tc-dot-on {
    background: #5ac779;
    box-shadow: 0 0 0 3px rgba(90,199,121,0.22);
}
.bd-tc-dot-off {
    background: #d18484;
    box-shadow: 0 0 0 3px rgba(209,132,132,0.20);
}

/* Mini map */
.bd-mini-map {
    border: 1px solid var(--sr-line);
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
}
.bd-mini-map-canvas {
    position: relative;
    height: 200px;
    background: #eef2ef;
}
.bd-mini-map-canvas #bdMiniMap { position: absolute; inset: 0; }
.bd-mini-map-link {
    position: absolute;
    left: 50%;
    bottom: 14px;
    transform: translateX(-50%);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: rgba(255,255,255,0.96);
    border: 1px solid var(--sr-line);
    border-radius: 999px;
    color: var(--sr-ink);
    font-size: 12.5px;
    font-weight: 500;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.10);
    z-index: 1;
}
.bd-mini-map-link:hover { background: #fff; }
.bd-mini-map-link svg { color: var(--sr-clay); }

.bd-mini-addr {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 16px;
    border-top: 1px solid var(--sr-line);
    background: #fff;
}
.bd-mini-addr-ico {
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(196,127,86,0.12);
    color: var(--sr-clay, #c47f56);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1px;
}
.bd-mini-addr-l1 {
    font-size: 13px;
    line-height: 1.45;
    color: var(--sr-ink);
}
.bd-mini-addr-l2 {
    font-size: 12px;
    color: var(--sr-ink-3, #98908a);
    margin-top: 3px;
}

/* Why us card */
.bd-why-card {
    position: relative;
    background: linear-gradient(180deg, #f6efe2, #fff);
    border: 1px solid var(--sr-line);
    border-radius: 16px;
    padding: 20px 22px;
    overflow: hidden;
}
.bd-why-leaf {
    position: absolute;
    right: -10px;
    bottom: -8px;
    color: rgba(149,176,148,0.30);
    pointer-events: none;
}
.bd-why-title {
    font-family: var(--sr-serif, Georgia, serif);
    font-size: 17px;
    font-weight: 500;
    margin: 0 0 14px;
    color: var(--sr-ink);
}
.bd-why-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 9px;
}
.bd-why-list li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: 13px;
    color: var(--sr-ink);
    line-height: 1.45;
}
.bd-why-check {
    color: var(--sr-clay, #c47f56);
    display: inline-flex;
    margin-top: 2px;
    flex-shrink: 0;
}

/* Hours card */
.bd-hours-card {
    background: #fff;
    border: 1px solid var(--sr-line);
    border-radius: 16px;
    padding: 18px 22px;
}
.bd-hours-title {
    font-family: var(--sr-serif, Georgia, serif);
    font-size: 16px;
    font-weight: 500;
    margin: 0 0 12px;
    color: var(--sr-ink);
}
.bd-hours-tbl {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.bd-hours-tbl tr td {
    padding: 7px 0;
    border-bottom: 1px solid var(--sr-line);
}
.bd-hours-tbl tr:last-child td { border-bottom: none; }
.bd-hours-tbl tr td:first-child { color: var(--sr-ink-2); }
.bd-hours-tbl tr td:last-child {
    text-align: right;
    color: var(--sr-ink);
    font-variant-numeric: tabular-nums;
}
.bd-hours-tbl tr.bd-hours-today td {
    color: var(--sr-clay, #c47f56);
    font-weight: 600;
}

/* Lightbox */
.bd-lightbox[hidden],
.bd-video-modal[hidden] { display: none !important; }
.bd-lightbox {
    position: fixed;
    inset: 0;
    background: rgba(14,10,8,0.94);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
}
.bd-lightbox img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    user-select: none;
}
.bd-lb-close, .bd-lb-prev, .bd-lb-next {
    position: absolute;
    width: 44px; height: 44px;
    border-radius: 50%;
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.18);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.18s ease;
}
.bd-lb-close { top: 22px; right: 22px; }
.bd-lb-prev  { left: 22px; top: 50%; transform: translateY(-50%); }
.bd-lb-next  { right: 22px; top: 50%; transform: translateY(-50%); }
.bd-lb-close:hover, .bd-lb-prev:hover, .bd-lb-next:hover { background: rgba(255,255,255,0.20); }
.bd-lb-counter {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(255,255,255,0.7);
    font-size: 13px;
    letter-spacing: 0.04em;
}

/* Video modal */
.bd-video-modal {
    position: fixed;
    inset: 0;
    background: rgba(14,10,8,0.94);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
}
.bd-vid-frame {
    width: 100%;
    max-width: 980px;
    aspect-ratio: 16 / 9;
    border-radius: 14px;
    overflow: hidden;
    background: #000;
    box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}
.bd-vid-frame iframe, .bd-vid-frame video {
    width: 100%; height: 100%; border: 0; display: block;
    object-fit: cover;
}
.bd-vid-close {
    position: absolute;
    top: 22px;
    right: 22px;
    width: 44px; height: 44px;
    border-radius: 50%;
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.18);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.bd-vid-close:hover { background: rgba(255,255,255,0.20); }

@media (max-width: 540px) {
    .bd-card { padding: 20px 18px; }
    .bd-reviews-section { padding: 22px 18px; }
}

/* edit-tabs Pro rozeti */
.edit-tab-badge {
    display: inline-block;
    margin-left: 4px;
    padding: 2px 6px;
    background: var(--sr-clay, #c47f56);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.06em;
    border-radius: 4px;
    vertical-align: 2px;
}

/* =========================================================
   SrUpload — universal image dropzone helper (Phase 7)
   ========================================================= */
.srUpload {
    position: relative;
    border: 1.5px dashed var(--sr-line);
    border-radius: 12px;
    background: var(--sr-bg);
    transition: all 0.18s var(--sr-ease);
    overflow: hidden;
}
.srUpload.is-drag {
    border-color: var(--sr-clay);
    background: rgba(196, 127, 86, 0.04);
    transform: scale(1.005);
}
.srUpload.is-processing {
    pointer-events: none;
    opacity: 0.85;
}
.srUpload.is-processing::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.55);
    backdrop-filter: blur(2px);
    pointer-events: none;
}
.srUpload-dropzone {
    padding: 28px 22px;
    text-align: center;
    cursor: pointer;
    color: var(--sr-ink-2);
    font-size: 13.5px;
    line-height: 1.55;
    -webkit-user-select: none;
    user-select: none;
}
.srUpload-dropzone strong { color: var(--sr-clay); font-weight: 600; }
.srUpload-dropzone-ico {
    width: 40px;
    height: 40px;
    margin: 0 auto 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: var(--sr-surface);
    color: var(--sr-ink-2);
}
.srUpload-hint {
    margin-top: 6px;
    font-size: 11.5px;
    color: var(--sr-ink-3);
}
.srUpload-preview {
    display: block;
    width: 100%;
    height: auto;
    max-height: 320px;
    object-fit: cover;
    border-radius: 10px;
}
.srUpload-actions {
    display: flex;
    gap: 8px;
    padding: 10px 12px;
    background: var(--sr-bg);
    border-top: 1px solid var(--sr-line);
    align-items: center;
    flex-wrap: wrap;
}
.srUpload-status {
    margin-top: 8px;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 12px;
    background: var(--sr-surface);
    color: var(--sr-ink-2);
}
.srUpload-status.is-success { background: rgba(61, 123, 73, 0.08); color: #2d6438; }
.srUpload-status.is-warn    { background: rgba(196, 127, 86, 0.10); color: #8a4f30; }
.srUpload-status.is-error   { background: rgba(176, 50, 50, 0.10); color: #9c2626; }
.srUpload-status[hidden]    { display: none; }

/* Avatar / round logo variant */
.srUpload--logo {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    border-style: dashed;
    display: flex;
    align-items: center;
    justify-content: center;
}
.srUpload--logo .srUpload-dropzone {
    padding: 14px;
    font-size: 11.5px;
    line-height: 1.4;
}
.srUpload--logo .srUpload-preview {
    border-radius: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* =========================================================
   Admin sidenav v2 — Phase 7 (icon + group headers)
   ========================================================= */
.sidenav-v2 {
    width: 248px;
    padding: 22px 14px 22px;
    background: #fff;
    border-right: 1px solid var(--sr-line);
}
.sidenav-v2 .brandrow {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 0 8px 18px;
    margin-bottom: 6px;
    border-bottom: 1px solid var(--sr-line);
}
.sidenav-v2 .sidenav-brand {
    display: inline-block;
    text-decoration: none;
}
.sidenav-v2 .sidenav-logo {
    height: 32px;
    width: auto;
    display: block;
}
.sidenav-v2 .sidenav-tag {
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    font-weight: 600;
}
.sidenav-v2 .navgroup {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 1px;
}
.sidenav-v2 .navhead {
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    padding: 8px 10px 6px;
    font-weight: 600;
}
.sidenav-v2 .nav-item {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding: 8px 10px !important;
    border-radius: 8px;
    font-size: 13px;
    color: var(--sr-ink-2);
    text-decoration: none;
    transition: all 0.15s ease;
    width: 100%;
    background: none;
    border: 0;
    text-align: left;
    line-height: 1.2;
}
.sidenav-v2 .nav-item:hover {
    background: var(--sr-surface);
    color: var(--sr-ink);
}
.sidenav-v2 .nav-item.active {
    background: var(--sr-ink);
    color: #fff;
}
.sidenav-v2 .nav-item.active .nav-ico { color: var(--sr-clay); }
.sidenav-v2 .nav-ico {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: inherit;
}
.sidenav-v2 .nav-badge {
    margin-left: auto;
    background: var(--sr-clay);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 1px 7px;
    border-radius: 999px;
    min-width: 18px;
    text-align: center;
    line-height: 1.4;
}
.sidenav-v2 .foot {
    margin-top: auto;
    padding: 18px 10px 0;
    border-top: 1px solid var(--sr-line);
}
.sidenav-v2 .foot-user {
    font-weight: 600;
    color: var(--sr-ink);
    font-size: 13px;
    margin-bottom: 2px;
}
.sidenav-v2 .foot-mail {
    font-size: 11.5px;
    color: var(--sr-ink-3);
    word-break: break-all;
}
.sidenav-v2 .foot-logout {
    width: 100%;
    padding: 8px 12px;
    border-radius: 8px;
    background: transparent;
    border: 1px solid var(--sr-line);
    color: var(--sr-ink-2);
    font-size: 13px;
    cursor: pointer;
    text-align: left;
    transition: all 0.15s;
}
.sidenav-v2 .foot-logout:hover {
    background: var(--sr-surface);
    color: var(--sr-ink);
}

/* === Admin main v2: full-width, topbar, mobile nav === */
.admin-main-v2 {
    margin-left: 248px;
    padding: 0 32px 80px;
    min-height: 100vh;
    max-width: none;
    width: auto;
}
.admin-topbar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 18px 0;
    margin-bottom: 8px;
    position: sticky;
    top: 0;
    background: var(--sr-bg);
    z-index: 20;
    border-bottom: 1px solid transparent;
}
.admin-topbar-spacer { flex: 1; }
.admin-mobnav-toggle {
    display: none;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    border: 1px solid var(--sr-line);
    background: #fff;
    color: var(--sr-ink-2);
    cursor: pointer;
    align-items: center;
    justify-content: center;
}
.admin-mobnav-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(28, 24, 22, 0.4);
    z-index: 49;
    border: 0;
    cursor: pointer;
}
body.sidenav-open .admin-mobnav-backdrop { display: block; }

@media (max-width: 1024px) {
    .sidenav-v2 {
        position: fixed;
        z-index: 50;
        transform: translateX(-100%);
        transition: transform 0.25s ease;
        box-shadow: 0 0 24px rgba(0,0,0,0.12);
    }
    body.sidenav-open .sidenav-v2 { transform: translateX(0); }
    .admin-main-v2 { margin-left: 0; padding: 0 22px 80px; }
    .admin-mobnav-toggle { display: inline-flex; }
}

/* === Admin form-shell — full-width default, opt-in narrow === */
.admin-shell { width: 100%; }
.admin-shell--narrow { max-width: 720px; }
.admin-shell--medium { max-width: 1080px; }
.admin-shell--wide { max-width: none; }

.admin-form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    width: 100%;
}
.admin-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.admin-form-row--3 { grid-template-columns: 1fr 1fr 1fr; }
@media (max-width: 800px) {
    .admin-form-row,
    .admin-form-row--3 { grid-template-columns: 1fr; }
}

.admin-card-wide {
    background: #fff;
    border: 1px solid var(--sr-line);
    border-radius: 14px;
    padding: 24px 26px;
    margin-bottom: 18px;
    width: 100%;
}
.admin-card-wide-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--sr-line);
}
.admin-card-wide-head h2,
.admin-card-wide-head h3 {
    font-family: var(--sr-font-serif);
    font-weight: 400;
    margin: 0;
    font-size: 20px;
    letter-spacing: -0.01em;
}

/* loc-form'u tam genişlik kıl (mevcut sayfaları breakletmemek için override) */
.loc-form { max-width: none !important; }


/* =========================================================
   Admin Dashboard v2 — sade, temiz (Phase 7)
   ========================================================= */
.dash-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    flex-wrap: wrap;
    padding-bottom: 22px;
    margin-bottom: 24px;
    border-bottom: 1px solid var(--sr-line);
}
.dash-hero-eyebrow {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.16em;
    color: var(--sr-ink-3);
    text-transform: uppercase;
    margin-bottom: 6px;
}
.dash-hero-title {
    font-family: var(--sr-font-serif);
    font-size: clamp(28px, 4vw, 38px);
    font-weight: 400;
    margin: 0;
    letter-spacing: -0.02em;
    line-height: 1.1;
}
.dash-hero-sub {
    margin: 6px 0 0;
    color: var(--sr-ink-3);
    font-size: 13.5px;
}
.dash-hero-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

/* Bekleyen iş kuyruğu — banner stil */
.dash-pending {
    background: linear-gradient(135deg, rgba(196, 127, 86, 0.10), rgba(196, 127, 86, 0.02));
    border: 1px solid rgba(196, 127, 86, 0.25);
    border-radius: 14px;
    padding: 22px 24px;
    margin-bottom: 22px;
}
.dash-pending-head { margin-bottom: 14px; }
.dash-pending-tag {
    display: inline-block;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--sr-clay);
    margin-bottom: 6px;
}
.dash-pending-title {
    font-family: var(--sr-font-serif);
    font-size: 22px;
    font-weight: 400;
    margin: 0;
    letter-spacing: -0.01em;
}
.dash-pending-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 10px;
}
.dash-q {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid rgba(196, 127, 86, 0.2);
    border-radius: 10px;
    text-decoration: none;
    transition: all 0.18s;
}
.dash-q:hover {
    border-color: var(--sr-clay);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(196, 127, 86, 0.15);
}
.dash-q-n {
    font-family: var(--sr-font-serif);
    font-size: 24px;
    font-weight: 500;
    color: var(--sr-clay);
    line-height: 1;
}
.dash-q-l {
    font-size: 12.5px;
    color: var(--sr-ink-2);
    line-height: 1.3;
}

/* Boş kuyruk */
.dash-zero {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 22px;
    background: rgba(61, 123, 73, 0.06);
    border: 1px solid rgba(61, 123, 73, 0.18);
    border-radius: 12px;
    margin-bottom: 22px;
}
.dash-zero-ico {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(61, 123, 73, 0.15);
    color: #3d7b49;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.dash-zero-title {
    font-family: var(--sr-font-serif);
    font-size: 18px;
    font-weight: 500;
    margin: 0 0 2px;
}
.dash-zero-sub {
    margin: 0;
    color: var(--sr-ink-3);
    font-size: 13px;
}

/* KPI 4 grid */
.dash-kpis {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 26px;
}
.dash-kpi {
    display: block;
    padding: 18px 20px;
    background: #fff;
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.18s;
}
.dash-kpi:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(43, 39, 36, 0.06);
    border-color: var(--sr-ink-4);
}
.dash-kpi-rev { background: linear-gradient(135deg, rgba(61, 123, 73, 0.05), #fff); }
.dash-kpi-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    margin-bottom: 6px;
}
.dash-kpi-value {
    font-family: var(--sr-font-serif);
    font-size: 30px;
    font-weight: 500;
    color: var(--sr-ink);
    line-height: 1;
    letter-spacing: -0.02em;
    margin-bottom: 4px;
}
.dash-kpi-cur {
    font-size: 50%;
    margin-left: 4px;
    color: var(--sr-ink-3);
}
.dash-kpi-sub {
    font-size: 12px;
    color: var(--sr-ink-3);
    line-height: 1.4;
}
.dash-kpi-up { color: #3d7b49; font-weight: 600; }
.dash-kpi-dn { color: #a34; font-weight: 600; }

@media (max-width: 1024px) {
    .dash-kpis { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
    .dash-kpis { grid-template-columns: 1fr; }
}

/* Hızlı erişim row */
.dash-section-h {
    font-family: var(--sr-font-serif);
    font-size: 18px;
    font-weight: 400;
    margin: 0 0 12px;
    color: var(--sr-ink);
}
.dash-quickrow { margin-bottom: 28px; }
.dash-quickgrid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 8px;
}
.dash-quick {
    padding: 10px 14px;
    background: #fff;
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    text-decoration: none;
    color: var(--sr-ink-2);
    font-size: 13px;
    transition: all 0.15s;
}
.dash-quick:hover {
    background: var(--sr-ink);
    color: #fff;
    border-color: var(--sr-ink);
}

/* Recent listeleri */
.dash-recents {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-bottom: 32px;
}
@media (max-width: 900px) {
    .dash-recents { grid-template-columns: 1fr; }
}
.dash-recent-block {
    background: #fff;
    border: 1px solid var(--sr-line);
    border-radius: 12px;
    padding: 18px 20px;
}
.dash-recent-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--sr-line);
}
.dash-recent-head h3 {
    font-family: var(--sr-font-serif);
    font-size: 16px;
    font-weight: 500;
    margin: 0;
}
.dash-recent-link {
    font-size: 12px;
    color: var(--sr-clay);
    text-decoration: none;
}
.dash-recent-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.dash-recent-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid var(--sr-surface);
    text-decoration: none;
    color: inherit;
    transition: background 0.15s;
}
.dash-recent-row:last-child { border-bottom: 0; }
.dash-recent-row:hover { background: var(--sr-surface); border-radius: 6px; padding-left: 8px; padding-right: 8px; }
.dash-recent-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--sr-clay);
    color: #fff;
    font-weight: 600;
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.dash-recent-body { flex: 1; min-width: 0; }
.dash-recent-name {
    font-size: 13px;
    font-weight: 500;
    color: var(--sr-ink);
    line-height: 1.3;
    margin-bottom: 2px;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.dash-recent-meta {
    font-size: 11.5px;
    color: var(--sr-ink-3);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.dash-recent-date {
    font-size: 11px;
    color: var(--sr-ink-4);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    flex-shrink: 0;
}
.dash-recent-empty {
    padding: 20px 0;
    color: var(--sr-ink-3);
    font-size: 13px;
    text-align: center;
}
.dash-footer-cta {
    text-align: center;
    color: var(--sr-ink-3);
    font-size: 13.5px;
    margin: 24px 0 0;
}
.dash-footer-cta a {
    color: var(--sr-clay);
    text-decoration: none;
}

/* =========================================================
   Stats page — /admin/istatistikler (Phase 7)
   ========================================================= */
.stats-period {
    display: inline-flex;
    background: #fff;
    border: 1px solid var(--sr-line);
    border-radius: 999px;
    padding: 3px;
    gap: 2px;
}
.stats-period-pill {
    padding: 6px 14px;
    font-size: 12.5px;
    color: var(--sr-ink-2);
    text-decoration: none;
    border-radius: 999px;
    transition: all 0.15s;
}
.stats-period-pill:hover { color: var(--sr-ink); }
.stats-period-pill.is-active {
    background: var(--sr-ink);
    color: #fff;
}

.stats-summary {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
    margin-bottom: 24px;
}
@media (max-width: 1200px) {
    .stats-summary { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 700px) {
    .stats-summary { grid-template-columns: repeat(2, 1fr); }
}

.stats-card {
    padding: 16px 18px;
    background: #fff;
    border: 1px solid var(--sr-line);
    border-radius: 12px;
}
.stats-card-rev { background: linear-gradient(135deg, rgba(196, 127, 86, 0.06), #fff); }
.stats-card-label {
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    margin-bottom: 6px;
}
.stats-card-v {
    font-family: var(--sr-font-serif);
    font-size: 26px;
    font-weight: 500;
    color: var(--sr-ink);
    line-height: 1;
    margin-bottom: 4px;
    letter-spacing: -0.015em;
}
.stats-card-cur { font-size: 60%; color: var(--sr-ink-3); }
.stats-card-d {
    font-size: 11.5px;
    color: var(--sr-ink-3);
    line-height: 1.4;
}

.stats-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-bottom: 22px;
}
@media (max-width: 1024px) {
    .stats-grid-2 { grid-template-columns: 1fr; }
}
.stats-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 22px;
}
@media (max-width: 800px) {
    .stats-grid-3 { grid-template-columns: 1fr; }
}
.stats-mini {
    padding: 14px 18px;
    background: #fff;
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    font-size: 13px;
}
.stats-mini .eyebrow {
    margin-bottom: 4px;
    font-size: 10.5px;
}

.admin-chart--lg { min-height: 260px; }

.stats-top-list {
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: rank;
}
.stats-top-list li {
    border-bottom: 1px solid var(--sr-surface);
}
.stats-top-list li:last-child { border-bottom: 0; }
.stats-top-list a {
    display: grid;
    grid-template-columns: 28px 1fr auto auto;
    gap: 10px;
    align-items: center;
    padding: 10px 4px;
    text-decoration: none;
    color: inherit;
    transition: background 0.15s;
}
.stats-top-list a:hover { background: var(--sr-surface); }
.stats-top-list .rank {
    font-family: var(--sr-font-serif);
    font-size: 18px;
    color: var(--sr-clay);
    font-weight: 500;
    text-align: center;
}
.stats-top-list .name {
    font-size: 13px;
    font-weight: 500;
    color: var(--sr-ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.stats-top-list .loc {
    font-size: 11.5px;
    color: var(--sr-ink-3);
}
.stats-top-list .metric {
    font-family: var(--sr-font-serif);
    font-size: 16px;
    color: var(--sr-ink);
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}


/* =========================================================
   Owner business logo (sidebar switcher + cards) (Phase 7)
   ========================================================= */
.owner-biz-logo {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--sr-clay);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    font-family: var(--sr-font-serif);
}
.owner-biz-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.owner-biz-logo--sm {
    width: 32px;
    height: 32px;
    font-size: 13px;
    border-radius: 8px;
}
.owner-biz-logo--empty {
    background: linear-gradient(135deg, var(--sr-clay), #b8552e);
}
.owner-side-head {
    display: flex !important;
    align-items: center;
    gap: 10px;
}
.owner-nav-switcher-btn {
    display: flex !important;
    align-items: center;
    gap: 10px;
}
.owner-nav-switcher-item {
    display: flex !important;
    align-items: center;
    gap: 10px;
}

/* =========================================================
   Owner show page — completion progress widget (Phase 7)
   ========================================================= */
.biz-progress {
    background: linear-gradient(135deg, rgba(196, 127, 86, 0.06), rgba(61, 123, 73, 0.04));
    border: 1px solid rgba(196, 127, 86, 0.18);
    border-radius: 16px;
    padding: 24px 26px;
    margin-bottom: 28px;
}
.biz-progress-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    margin-bottom: 18px;
}
.biz-progress-title {
    font-family: var(--sr-font-serif);
    font-size: 22px;
    font-weight: 400;
    margin: 4px 0 6px;
    letter-spacing: -0.01em;
}
.biz-progress-sub {
    margin: 0;
    color: var(--sr-ink-3);
    font-size: 13.5px;
    line-height: 1.55;
    max-width: 480px;
}
.biz-progress-ring {
    --p: 0;
    --size: 74px;
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    background: conic-gradient(var(--sr-clay) calc(var(--p) * 1%), rgba(196, 127, 86, 0.15) 0);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
}
.biz-progress-ring::before {
    content: '';
    position: absolute;
    inset: 6px;
    border-radius: 50%;
    background: #fff;
}
.biz-progress-ring span {
    position: relative;
    font-family: var(--sr-font-serif);
    font-size: 18px;
    font-weight: 500;
    color: var(--sr-clay);
}
.biz-progress-bar {
    height: 6px;
    background: rgba(196, 127, 86, 0.14);
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 18px;
}
.biz-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--sr-clay), #d8916a);
    border-radius: 999px;
    transition: width 0.6s ease;
}
.biz-progress-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
@media (max-width: 760px) {
    .biz-progress-list { grid-template-columns: 1fr; }
    .biz-progress-head { flex-direction: column; gap: 14px; align-items: flex-start; }
    .biz-progress-ring { --size: 60px; }
}
.biz-progress-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid var(--sr-line);
    border-radius: 10px;
    transition: all 0.18s;
}
.biz-progress-item:hover { border-color: var(--sr-clay); }
.biz-progress-item.is-done {
    background: rgba(61, 123, 73, 0.04);
    border-color: rgba(61, 123, 73, 0.2);
}
.biz-progress-item.is-pro {
    border-style: dashed;
    background: rgba(196, 127, 86, 0.03);
}
.biz-progress-check {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: rgba(196, 127, 86, 0.12);
    color: var(--sr-clay);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.biz-progress-item.is-done .biz-progress-check {
    background: #3d7b49;
    color: #fff;
}
.biz-progress-body { flex: 1; min-width: 0; }
.biz-progress-row-title {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--sr-ink);
    margin-bottom: 2px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.biz-progress-pro-tag {
    display: inline-block;
    padding: 1px 7px;
    background: var(--sr-clay);
    color: #fff;
    border-radius: 4px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.06em;
}
.biz-progress-row-desc {
    font-size: 12px;
    color: var(--sr-ink-3);
    line-height: 1.45;
}
.biz-progress-cta {
    color: var(--sr-clay);
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
    align-self: center;
}
.biz-progress-cta:hover { text-decoration: underline; }
.biz-progress-upsell {
    margin-top: 16px;
    padding: 14px 16px;
    background: var(--sr-ink);
    color: #faf9f6;
    border-radius: 10px;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
    font-size: 12.5px;
    line-height: 1.55;
}
.biz-progress-upsell strong { color: var(--sr-clay); }
.biz-progress-upsell .btn { white-space: nowrap; }

/* =========================================================
   Public business detail — logo on hero header (Phase 7)
   ========================================================= */
.bd-head .bd-logo {
    flex: 0 0 auto;
    width: 84px;
    height: 84px;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    border: 3px solid #fff;
    box-shadow: 0 4px 18px rgba(0,0,0,0.08);
    margin-top: -28px;
    margin-right: 6px;
    position: relative;
    z-index: 2;
}
.bd-head .bd-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.bd-head .bd-head-text {
    flex: 1 1 0;
    min-width: 0;
}
@media (max-width: 700px) {
    .bd-head .bd-logo {
        width: 60px;
        height: 60px;
        border-radius: 12px;
        margin-top: -18px;
    }
}


/* =========================================================
   Owner hub — biz-card progress + logo (Phase 7)
   ========================================================= */
.hub-biz-cover { position: relative; }
.hub-biz-logo {
    position: absolute;
    left: 14px;
    bottom: -16px;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    border: 3px solid #fff;
    background: #fff;
    object-fit: cover;
    box-shadow: 0 3px 10px rgba(0,0,0,0.10);
    z-index: 2;
}
.hub-biz-card .hub-biz-body {
    padding-top: 20px; /* logo ile çakışmasın */
}
.hub-biz-progress {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed var(--sr-line);
}
.hub-biz-progress-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 5px;
    font-size: 11px;
}
.hub-biz-progress-label {
    color: var(--sr-ink-3);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 600;
}
.hub-biz-progress-pct {
    font-family: var(--sr-font-serif);
    font-size: 13px;
    color: var(--sr-clay);
    font-weight: 500;
}
.hub-biz-progress-bar {
    height: 4px;
    background: var(--sr-surface);
    border-radius: 999px;
    overflow: hidden;
}
.hub-biz-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--sr-clay), #d8916a);
    border-radius: 999px;
    transition: width 0.6s ease;
}


/* =========================================================
   Legal pages — TOC + minimal disclosure (Phase 7)
   ========================================================= */
.legal-hero {
    max-width: 880px;
    margin: 0 auto;
    padding: 0 24px;
}
.legal-title {
    font-family: var(--sr-font-serif);
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 300;
    letter-spacing: -0.025em;
    margin: 0 0 10px;
    line-height: 1.1;
}
.legal-shell {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 48px;
    align-items: flex-start;
}
@media (max-width: 900px) {
    .legal-shell { grid-template-columns: 1fr; gap: 24px; }
}
.legal-toc {
    position: sticky;
    top: 24px;
    align-self: flex-start;
    border-left: 1px solid var(--sr-line);
    padding: 4px 0 4px 16px;
}
@media (max-width: 900px) {
    .legal-toc {
        position: static;
        border-left: 0;
        border: 1px solid var(--sr-line);
        border-radius: 12px;
        padding: 16px 18px;
        background: var(--sr-bg);
    }
}
.legal-toc-head {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--sr-ink-3);
    margin-bottom: 12px;
}
.legal-toc-list {
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: legal-toc;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.legal-toc-list li {
    line-height: 1.4;
}
.legal-toc-list a {
    display: block;
    padding: 4px 0;
    text-decoration: none;
    color: var(--sr-ink-2);
    font-size: 13px;
    transition: color 0.15s;
    border-left: 2px solid transparent;
    padding-left: 8px;
    margin-left: -10px;
}
.legal-toc-list a:hover { color: var(--sr-ink); }
.legal-toc-list a.is-active {
    color: var(--sr-clay);
    font-weight: 600;
    border-left-color: var(--sr-clay);
}
.legal-toc-sub a {
    font-size: 12px;
    padding-left: 18px !important;
    color: var(--sr-ink-3);
}
.legal-toc-related ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.legal-toc-related a {
    display: block;
    padding: 4px 0;
    color: var(--sr-ink-2);
    text-decoration: none;
    font-size: 12.5px;
    transition: color 0.15s;
}
.legal-toc-related a:hover { color: var(--sr-clay); }

.legal-body {
    font-size: 16px;
    line-height: 1.75;
    color: var(--sr-ink);
    min-width: 0;
}
.legal-body h2 {
    font-family: var(--sr-font-serif);
    font-size: 26px;
    font-weight: 400;
    letter-spacing: -0.01em;
    margin: 36px 0 12px;
    line-height: 1.2;
    scroll-margin-top: 24px;
}
.legal-body h3 {
    font-size: 18px;
    font-weight: 600;
    margin: 28px 0 10px;
    color: var(--sr-ink);
    scroll-margin-top: 24px;
}
.legal-body h2:first-child,
.legal-body h3:first-child { margin-top: 0; }
.legal-body p { margin: 0 0 14px; }
.legal-body ul, .legal-body ol { margin: 0 0 16px; padding-left: 22px; }
.legal-body li { margin-bottom: 6px; }
.legal-body a {
    color: var(--sr-clay);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}
.legal-body strong { font-weight: 600; }

.legal-rule {
    margin: 48px 0 24px;
    border: 0;
    border-top: 1px solid var(--sr-line);
}
.legal-corp { padding: 0 0 20px; }

.legal-disclosure {
    margin-top: 24px;
    padding: 14px 16px;
    background: var(--sr-surface);
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    font-size: 12.5px;
    line-height: 1.55;
    color: var(--sr-ink-3);
}
.legal-disclosure-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 22px;
    padding: 0 9px;
    border-radius: 999px;
    background: rgba(196, 127, 86, 0.12);
    color: var(--sr-clay);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    flex-shrink: 0;
}
.legal-disclosure-text {
    flex: 1 1 240px;
    font-style: italic;
    min-width: 0;
}
.legal-disclosure-links {
    font-size: 11.5px;
    color: var(--sr-ink-3);
}
.legal-disclosure-links a { color: var(--sr-clay); text-decoration: none; }


/* =========================================================
   Listing — mobile filter drawer (Phase 7)
   ========================================================= */
.sr-filter-toggle {
    display: none;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid var(--sr-line);
    border-radius: 999px;
    padding: 9px 18px;
    color: var(--sr-ink);
    font-size: 13.5px;
    font-weight: 500;
    cursor: pointer;
    margin-bottom: 14px;
    transition: all 0.15s;
    position: relative;
}
.sr-filter-toggle:hover {
    border-color: var(--sr-clay);
    color: var(--sr-clay);
}
.sr-filter-toggle-badge {
    background: var(--sr-clay);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 1px 7px;
    border-radius: 999px;
    min-width: 18px;
    text-align: center;
}
.sr-filter-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(28, 24, 22, 0.42);
    z-index: 49;
    border: 0;
    cursor: pointer;
}
body.sr-filter-open .sr-filter-backdrop { display: block; }
.sr-filter-close {
    display: none;
    position: absolute;
    top: 14px;
    right: 14px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--sr-surface);
    color: var(--sr-ink-2);
    border: 0;
    cursor: pointer;
    align-items: center;
    justify-content: center;
}

@media (max-width: 900px) {
    .sr-filter-toggle { display: inline-flex; }

    .sr-listing-layout > .sr-sidebar {
        position: fixed;
        top: 0;
        bottom: 0;
        right: 0;
        z-index: 50;
        width: min(360px, 88vw);
        max-width: none;
        max-height: 100vh;
        overflow-y: auto;
        transform: translateX(100%);
        transition: transform 0.3s ease;
        border-radius: 0;
        border-right: 0;
        box-shadow: -8px 0 24px rgba(0,0,0,0.12);
        padding: 64px 22px 22px;
    }
    body.sr-filter-open .sr-listing-layout > .sr-sidebar { transform: translateX(0); }
    body.sr-filter-open .sr-filter-close { display: inline-flex; }
}


/* =========================================================
   Help / FAQ — TOC + scroll-spy nav (Phase 7)
   ========================================================= */
.help-shell {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 48px;
    align-items: flex-start;
}
@media (max-width: 900px) {
    .help-shell { grid-template-columns: 1fr; gap: 24px; }
}
.help-toc {
    position: sticky;
    top: 100px;
    align-self: flex-start;
    border-left: 1px solid var(--sr-line);
    padding: 4px 0 4px 16px;
}
@media (max-width: 900px) {
    .help-toc {
        position: static;
        border-left: 0;
        border: 1px solid var(--sr-line);
        border-radius: 12px;
        padding: 16px 18px;
        background: var(--sr-bg);
    }
}
.help-toc-nav {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.help-toc-nav a {
    display: flex;
    align-items: center;
    padding: 6px 10px;
    font-size: 13px;
    color: var(--sr-ink-2);
    text-decoration: none;
    border-radius: 6px;
    border-left: 2px solid transparent;
    margin-left: -12px;
    padding-left: 10px;
    transition: color 0.15s, border-color 0.15s, background 0.15s;
}
.help-toc-nav a:hover {
    color: var(--sr-ink);
    background: var(--sr-surface);
}
.help-toc-nav a.is-active {
    color: var(--sr-clay);
    font-weight: 600;
    border-left-color: var(--sr-clay);
}


/* =========================================================
   Glossary search (Phase 7)
   ========================================================= */
.gloss-search {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid var(--sr-line);
    border-radius: 999px;
    padding: 4px 4px 4px 16px;
    margin: 18px 0 4px;
    max-width: 520px;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.gloss-search:focus-within {
    border-color: var(--sr-clay);
    box-shadow: 0 0 0 4px rgba(196, 127, 86, 0.12);
}
.gloss-search svg { color: var(--sr-ink-3); flex-shrink: 0; }
.gloss-search-input {
    flex: 1;
    border: 0;
    outline: 0;
    background: transparent;
    font-size: 14.5px;
    color: var(--sr-ink);
    padding: 10px 0;
    min-width: 0;
}
.gloss-search-input::placeholder { color: var(--sr-ink-3); }
.gloss-search-clear {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--sr-surface);
    border: 0;
    color: var(--sr-ink-2);
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.gloss-search-info {
    font-size: 12.5px;
    color: var(--sr-ink-3);
    margin: 6px 0 0;
}


/* =========================================================
   Wizard logo upload — kare basit (Phase 7 fix)
   ========================================================= */
.wiz-logo-row {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    flex-wrap: wrap;
}
.wiz-logo-box {
    width: 120px;
    height: 120px;
    flex: 0 0 120px;
    border: 1.5px dashed var(--sr-line);
    border-radius: 14px;
    background: var(--sr-bg);
    overflow: hidden;
    position: relative;
    cursor: pointer;
    transition: border-color 0.18s, background 0.18s;
}
.wiz-logo-box:hover {
    border-color: var(--sr-clay);
    background: rgba(196, 127, 86, 0.04);
}
.wiz-logo-box.is-drag {
    border-color: var(--sr-clay);
    background: rgba(196, 127, 86, 0.08);
}
.wiz-logo-box.is-processing { opacity: 0.7; pointer-events: none; }
.wiz-logo-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    height: 100%;
    color: var(--sr-ink-3);
    font-size: 11.5px;
    user-select: none;
}
.wiz-logo-empty::after {
    content: "Logo seç";
    color: var(--sr-ink-2);
    font-weight: 500;
    font-size: 12px;
}
.wiz-logo-preview {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.wiz-logo-text {
    flex: 1 1 220px;
    min-width: 0;
}

@media (max-width: 600px) {
    .wiz-logo-box { width: 96px; height: 96px; flex-basis: 96px; }
}

/* Wizard select padding fix — sol boşluk problemini çöz */
.wiz-input,
.wiz-form .input,
.wiz-form .select,
.wiz-form .textarea {
    padding-left: 14px;
}
.wiz-form select.input,
.wiz-form select.select,
.wiz-form select.wiz-input,
select.input,
select.select {
    padding-left: 14px !important;
    padding-right: 36px;
    background-position: right 12px center;
    text-indent: 0;
}

/* Cinsiyet politikası ikonlu chip'ler */
.wiz-gender-chips {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
}
.wiz-gender-chip {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: #fff;
    border: 1.5px solid var(--sr-line);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.15s;
    position: relative;
}
.wiz-gender-chip:hover {
    border-color: var(--sr-clay);
    background: rgba(196, 127, 86, 0.03);
}
.wiz-gender-chip.selected {
    border-color: var(--sr-clay);
    background: rgba(196, 127, 86, 0.08);
}
.wiz-gender-chip input { position: absolute; opacity: 0; pointer-events: none; }
.wiz-gender-ico {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--sr-surface);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--sr-clay);
    flex-shrink: 0;
}
.wiz-gender-chip.selected .wiz-gender-ico {
    background: var(--sr-clay);
    color: #fff;
}
.wiz-gender-label {
    font-size: 13px;
    font-weight: 500;
    color: var(--sr-ink);
    line-height: 1.2;
}
.wiz-gender-sub {
    font-size: 11px;
    color: var(--sr-ink-3);
    line-height: 1.2;
    display: block;
    margin-top: 1px;
}

/* Pro upgrade upsell card — sosyal medya gibi kilitlenmiş alanlar */
.wiz-pro-upsell {
    margin: 14px 0;
    padding: 14px 16px;
    background: linear-gradient(135deg, rgba(196, 127, 86, 0.08), rgba(196, 127, 86, 0.02));
    border: 1px solid rgba(196, 127, 86, 0.25);
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.wiz-pro-upsell-ico {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--sr-clay);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.wiz-pro-upsell-text { flex: 1 1 240px; min-width: 0; font-size: 13px; line-height: 1.5; }
.wiz-pro-upsell-text strong { color: var(--sr-ink); display: block; font-size: 14px; margin-bottom: 2px; }
.wiz-pro-upsell-text span { color: var(--sr-ink-2); }


/* =========================================================
   Business detail — mobile overflow guard (Phase 7 fix)
   ========================================================= */
@media (max-width: 1100px) {
    .bd-grid,
    .bd-grid > * {
        max-width: 100%;
        box-sizing: border-box;
    }
    .bd-cta-primary,
    .bd-cta-secondary,
    .bd-price-card,
    .bd-side-card,
    .bd-side-hours,
    .bd-contact-card {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        min-width: 0;
    }
    /* Uzun açıklama/yorum kelimeleri taşmasın */
    .bd-about,
    .bd-services-grid,
    .bd-packages-grid,
    .bd-reviews-list,
    .bd-similar-grid,
    .bd-info-grid {
        min-width: 0;
        max-width: 100%;
        overflow-wrap: break-word;
        word-break: break-word;
    }
    .bd-about p,
    .bd-review-body,
    .bd-pkg-desc,
    .bd-svc-desc {
        overflow-wrap: break-word;
        word-break: break-word;
        hyphens: auto;
    }
}

/* Genel: yan-yan taşma garanti engeli (body horizontal scroll'u önler) */
html, body { overflow-x: hidden; }


/* =========================================================
   Business detail — section hierarchy + spacing fix (Phase 7)
   ========================================================= */
.bd-page { padding: 18px 0 80px !important; }

/* Section başlıkları daha belirgin */
.bd-h2 {
    font-size: clamp(22px, 2.6vw, 28px) !important;
    margin: 0 0 18px !important;
    letter-spacing: -0.015em;
}

/* Section spacing rahatlatma */
.bd-section { margin-bottom: 44px !important; }

/* Section ayraç — clay accent (h2 öncesi mini line) */
.bd-section > .bd-section-head::before,
.bd-section > .bd-h2:first-child::before {
    content: '';
    display: block;
    width: 36px;
    height: 2px;
    background: var(--sr-clay);
    margin-bottom: 12px;
}
.bd-section-head .bd-h2::before { display: none; }

/* Header: lokasyon satırı (BAĞCILAR, İstanbul · Haritada göster) daha okunaklı */
.bd-meta-row { font-size: 14.5px !important; margin-top: 4px; }

/* Quick features 4 kart hover hafif accent */
.bd-quick {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

/* Mini harita placeholder — Leaflet yüklenmeden önce gri yerine zarif gradient */
.bd-side-map {
    background: linear-gradient(135deg, #efe7d8, #d8c8a8) !important;
    background-image:
        linear-gradient(135deg, rgba(196, 127, 86, 0.10), rgba(196, 127, 86, 0.02)),
        linear-gradient(45deg, transparent 49%, rgba(255,255,255,0.4) 49%, rgba(255,255,255,0.4) 51%, transparent 51%) !important;
    background-size: cover, 24px 24px !important;
}

/* Sidebar kartları arası mesafe artır (rahatlık) */
.bd-side { gap: 14px !important; }

/* Mobile: gallery side cells biraz daha sıkı */
@media (max-width: 700px) {
    .bd-page { padding: 14px 0 70px !important; }
    .bd-gallery { margin-bottom: 20px !important; }
    .bd-section { margin-bottom: 32px !important; }
}


/* =========================================================
   Business detail — desktop wide container (Phase 7)
   ========================================================= */
.bd-page .container.h-wide,
.bd-page .container {
    max-width: 1700px;
    padding: 0 48px;
}
@media (max-width: 1100px) {
    .bd-page .container.h-wide,
    .bd-page .container {
        padding: 0 24px;
    }
}
@media (max-width: 700px) {
    .bd-page .container.h-wide,
    .bd-page .container {
        padding: 0 16px;
    }
}

/* Geniş ekranda grid sidebar daha geniş, main daha geniş — orantı korunur */
@media (min-width: 1400px) {
    .bd-grid {
        grid-template-columns: minmax(0, 1fr) 400px;
        gap: 40px;
    }
}

/* Geniş ekranda galeri daha sinematik (16:9) */
@media (min-width: 1100px) {
    .bd-gallery-main { aspect-ratio: 16 / 10; }
}


/* =========================================================
   Business detail — galeri OVERRIDE (final, mockup-spec)
   Tüm önceki kuralları yener — cache/specificity güvenli.
   ========================================================= */
.bd-page .bd-gallery {
    display: grid !important;
    /* bd-main içinde — kendi internal main + side cells oranı */
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) !important;
    /* row 1fr ile container'ın height'ını TAM olarak kapsar — auto yapılırsa cell'ler doğal aspect'le büyür ve overflow olur */
    grid-template-rows: minmax(0, 1fr) !important;
    gap: 10px !important;
    height: 460px !important;
    aspect-ratio: auto !important;
    max-height: none !important;
    width: 100% !important;
    margin-bottom: 28px !important;
    overflow: hidden !important;
}
.bd-page .bd-gallery:not(:has(.bd-gallery-side)) {
    grid-template-columns: 1fr !important;
    height: 420px !important;
}

.bd-page .bd-gallery-main {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    position: relative !important;
}

.bd-page .bd-gallery-main .bd-gal-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.bd-page .bd-gallery-side {
    display: grid !important;
    gap: 10px !important;
    width: 100% !important;
    height: 100% !important;
}
.bd-page .bd-gallery-side-1 { grid-template-rows: 1fr !important; }
.bd-page .bd-gallery-side-2 { grid-template-rows: 1fr 1fr !important; }
.bd-page .bd-gallery-side-3 { grid-template-rows: 1fr 1fr 1fr !important; }
.bd-page .bd-gallery-side-4 { grid-template-rows: repeat(4, 1fr) !important; }

.bd-page .bd-gallery-side .bd-gal-cell {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    min-height: 0 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    position: relative !important;
}

.bd-page .bd-gallery-side .bd-gal-cell .bd-gal-img,
.bd-page .bd-gallery-side .bd-gal-cell img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Tablet — biraz kompakt */
@media (max-width: 1100px) {
    .bd-page .bd-gallery { height: 400px !important; }
    .bd-page .bd-gallery:not(:has(.bd-gallery-side)) { height: 360px !important; }
}

/* Mobile — stack column */
@media (max-width: 900px) {
    .bd-page .bd-gallery {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto !important;
        height: auto !important;
    }
    .bd-page .bd-gallery-main { aspect-ratio: 4 / 3 !important; height: auto !important; }
    .bd-page .bd-gallery-side {
        grid-template-rows: none !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 8px !important;
        height: auto !important;
    }
    .bd-page .bd-gallery-side .bd-gal-cell {
        aspect-ratio: 1 / 1 !important;
        height: auto !important;
    }
}


/* =========================================================
   Business detail — header zorla görünür (cache/specificity safety)
   ========================================================= */
.bd-page .bd-head {
    display: flex !important;
    visibility: visible !important;
    min-height: 70px;
    margin-bottom: 26px !important;
    padding: 4px 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
}
.bd-page .bd-head .bd-head-text {
    flex: 1 1 0;
    min-width: 0;
}
.bd-page .bd-head .bd-eyebrow {
    display: block;
    visibility: visible;
}
.bd-page .bd-head .bd-title {
    display: flex !important;
    visibility: visible !important;
    min-height: 36px;
}
.bd-page .bd-head .bd-meta-row {
    display: flex !important;
    visibility: visible !important;
    flex-wrap: wrap;
    gap: 6px;
}
.bd-page .bd-head .bd-head-side {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}


/* =========================================================
   Business detail — sidebar sticky GERİ (galery bd-main içinde, çakışma yok)
   ========================================================= */
.bd-page .bd-side {
    position: sticky !important;
    top: 88px !important;
}

@media (max-width: 1100px) {
    .bd-page .bd-side { position: static !important; }
}
/* gallery height: 360px sadece tablet aralığında (901-1100px); mobilde (≤900px) bu kural uygulanmamalı — alt media query'de height: auto'ya geri dön */
@media (min-width: 901px) and (max-width: 1100px) {
    .bd-page .bd-gallery { height: 360px !important; }
}



/* =========================================================
   HERO v4 — split: search left + flowing cards right
   ========================================================= */
.h-hero-v4 {
    position: relative;
    background: linear-gradient(180deg, #faf9f6 0%, #f5efe5 70%, #efe7d8 100%);
    overflow: hidden;
    isolation: isolate;
}
.h-hero-v4::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(ellipse at 18% 20%, rgba(196,127,86,0.10) 0%, transparent 55%),
        radial-gradient(ellipse at 90% 85%, rgba(127,196,138,0.10) 0%, transparent 60%);
    pointer-events: none;
    z-index: 0;
}
.h-hero-v4-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: 64px;
    max-width: 1700px;
    margin: 0 auto;
    padding: 60px 48px 80px;
    align-items: center;
    position: relative;
    z-index: 1;
}

/* LEFT — search */
.h4-left { position: relative; }

.h4-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px 7px 12px;
    background: rgba(196,127,86,0.10);
    color: var(--sr-clay, #c47f56);
    border: 1px solid rgba(196,127,86,0.22);
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 22px;
}
.h4-eyebrow-pulse {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--sr-clay, #c47f56);
    box-shadow: 0 0 0 0 rgba(196,127,86,0.6);
    animation: h4Pulse 2s infinite;
    flex-shrink: 0;
}
@keyframes h4Pulse {
    0%   { box-shadow: 0 0 0 0 rgba(196,127,86,0.55); }
    70%  { box-shadow: 0 0 0 12px rgba(196,127,86,0); }
    100% { box-shadow: 0 0 0 0 rgba(196,127,86,0); }
}

.h4-title {
    font-family: var(--sr-serif, 'Playfair Display', Georgia, serif);
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1.04;
    letter-spacing: -0.025em;
    color: var(--sr-ink, #1c1816);
    margin: 0 0 18px;
    font-weight: 500;
}
.h4-title em {
    font-style: italic;
    color: var(--sr-clay, #c47f56);
    font-weight: 400;
}
.h4-sub {
    font-size: clamp(15px, 1.2vw, 17px);
    line-height: 1.55;
    color: var(--sr-ink-2, #6c625d);
    margin: 0 0 28px;
    max-width: 540px;
}

/* SEARCH BOX */
.h4-search {
    background: #fff;
    border: 1px solid rgba(43,39,36,0.08);
    border-radius: 18px;
    padding: 7px;
    box-shadow:
        0 22px 50px rgba(43,39,36,0.10),
        0 6px 16px rgba(43,39,36,0.05);
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 0;
    margin-bottom: 22px;
    max-width: 640px;
    transition: box-shadow 0.25s ease, border-color 0.25s ease;
}
.h4-search:focus-within {
    border-color: rgba(196,127,86,0.35);
    box-shadow:
        0 22px 50px rgba(43,39,36,0.12),
        0 6px 18px rgba(196,127,86,0.10);
}
.h4-search-cell {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border-radius: 12px;
    transition: background 0.18s ease;
    cursor: text;
    position: relative;
    min-width: 0;
}
.h4-search-cell:hover { background: var(--sr-surface, #f5efe5); }
.h4-search-cell + .h4-search-cell {
    border-left: 1px solid var(--sr-line, #ece7dd);
}
.h4-search-ico {
    color: var(--sr-clay, #c47f56);
    flex-shrink: 0;
    display: inline-flex;
}
.h4-search-text { min-width: 0; flex: 1; display: flex; flex-direction: column; }
.h4-search-l1 {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: var(--sr-ink-3, #98908a);
    margin-bottom: 1px;
}
.h4-search-input {
    border: none;
    outline: none;
    background: transparent;
    font-size: 14.5px;
    color: var(--sr-ink, #1c1816);
    width: 100%;
    font-family: inherit;
    padding: 0;
    line-height: 1.3;
}
.h4-search-input::placeholder {
    color: var(--sr-ink-3, #98908a);
}

.h4-search-btn {
    background: var(--sr-clay, #c47f56);
    color: #fff;
    border: none;
    width: 56px;
    height: 56px;
    border-radius: 14px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.25s ease;
    box-shadow: 0 8px 18px rgba(196,127,86,0.36);
    align-self: stretch;
    flex-shrink: 0;
}
.h4-search-btn:hover {
    background: #b06b3e;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(196,127,86,0.44);
}
.h4-search-btn:active { transform: translateY(0); }

/* CHIPS */
.h4-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 32px;
}
.h4-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 14px;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(43,39,36,0.08);
    border-radius: 999px;
    color: var(--sr-ink, #1c1816);
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.2s ease;
    backdrop-filter: blur(6px);
}
.h4-chip:hover {
    background: #fff;
    border-color: var(--sr-clay, #c47f56);
    color: var(--sr-clay, #c47f56);
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(43,39,36,0.06);
}
.h4-chip-ico {
    color: var(--sr-clay, #c47f56);
    display: inline-flex;
    align-items: center;
}
.h4-chip-prem {
    background: var(--sr-ink, #1c1816);
    color: #fff;
    border-color: var(--sr-ink, #1c1816);
}
.h4-chip-prem:hover {
    background: #2a2018;
    color: #fff;
    border-color: #2a2018;
}
.h4-chip-prem .h4-chip-ico { color: #d8a73a; }

/* STATS */
.h4-stats {
    display: flex;
    gap: 36px;
    flex-wrap: wrap;
}
.h4-stat-num {
    display: block;
    font-family: var(--sr-serif, Georgia, serif);
    font-size: 26px;
    font-weight: 600;
    color: var(--sr-ink, #1c1816);
    line-height: 1;
    letter-spacing: -0.01em;
}
.h4-stat-lab {
    font-size: 12px;
    color: var(--sr-ink-3, #98908a);
    margin-top: 5px;
    display: block;
    line-height: 1.3;
}

/* RIGHT — flowing cards */
.h4-right {
    position: relative;
    height: 660px;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 9%, #000 91%, transparent 100%);
            mask-image: linear-gradient(180deg, transparent 0%, #000 9%, #000 91%, transparent 100%);
}
.h4-right-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    height: 100%;
}
.h4-track {
    display: flex;
    flex-direction: column;
    gap: 16px;
    will-change: transform;
    animation-duration: 42s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}
.h4-track-up   { animation-name: h4Up; }
.h4-track-down { animation-name: h4Down; padding-top: 90px; }

@keyframes h4Up   { from { transform: translateY(0); }      to { transform: translateY(calc(-50% - 8px)); } }
@keyframes h4Down { from { transform: translateY(calc(-50% - 8px)); } to { transform: translateY(0); } }

.h4-right:hover .h4-track { animation-play-state: paused; }

.h4-card {
    flex-shrink: 0;
    position: relative;
    aspect-ratio: 5 / 6;
    border-radius: 18px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 10px 26px rgba(43,39,36,0.10);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.h4-card:hover {
    transform: translateY(-3px) scale(1.012);
    box-shadow: 0 18px 40px rgba(43,39,36,0.18);
}
.h4-card-img {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-color: #d9c8aa;
    transition: transform 0.7s ease;
}
.h4-card:hover .h4-card-img { transform: scale(1.06); }
.h4-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,0) 55%, rgba(0,0,0,0.78) 100%);
}
.h4-card-rate {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(255,255,255,0.95);
    color: var(--sr-ink, #1c1816);
    font-size: 12px;
    font-weight: 700;
    padding: 5px 10px;
    border-radius: 999px;
    backdrop-filter: blur(6px);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.10);
}
.h4-card-rate-star { color: #d8a73a; font-size: 13px; }
.h4-card-plan {
    position: absolute;
    top: 12px;
    right: 12px;
    background: var(--sr-clay, #c47f56);
    color: #fff;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 4px 9px;
    border-radius: 999px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.14);
}
.h4-card-plan-prem { background: var(--sr-ink, #1c1816); }
.h4-card-body {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 14px 16px 16px;
    color: #fff;
}
.h4-card-name {
    font-family: var(--sr-serif, Georgia, serif);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.2;
    margin: 0 0 4px;
    letter-spacing: -0.01em;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-shadow: 0 1px 4px rgba(0,0,0,0.3);
}
.h4-card-loc {
    font-size: 11.5px;
    opacity: 0.88;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.h4-card-loc svg { opacity: 0.9; }

/* DECOR */
.h4-decor {
    position: absolute;
    pointer-events: none;
    color: rgba(196,127,86,0.10);
    z-index: 0;
}
.h4-decor-1 {
    top: -80px;
    left: 38%;
    width: 280px;
    transform: rotate(-15deg);
}

/* RESPONSIVE */
@media (max-width: 1100px) {
    .h-hero-v4-grid {
        grid-template-columns: 1fr;
        gap: 36px;
        padding: 48px 24px 56px;
    }
    .h4-right { height: 480px; }
    .h4-decor-1 { display: none; }
}
@media (max-width: 700px) {
    .h-hero-v4-grid { padding: 32px 16px 48px; gap: 28px; }
    .h4-search {
        grid-template-columns: 1fr auto;
        padding: 6px;
    }
    .h4-search-cell { padding: 9px 12px; }
    .h4-search-cell:nth-child(2) {
        grid-column: 1 / 2;
        border-left: none;
        border-top: 1px solid var(--sr-line, #ece7dd);
    }
    .h4-search-btn {
        grid-row: 1 / 3;
        grid-column: 2 / 3;
        height: auto;
        align-self: stretch;
    }
    .h4-stats { gap: 22px; }
    .h4-stat-num { font-size: 22px; }
    .h4-right { height: 420px; }
    .h4-card { aspect-ratio: 4 / 5; }
    .h4-title { font-size: clamp(32px, 8vw, 44px); }
}
@media (prefers-reduced-motion: reduce) {
    .h4-track { animation: none; }
    .h4-eyebrow-pulse { animation: none; }
}
