/* ==========================================================================
   SERVIS16 THEME - MAIN STYLESHEET
   Design System & Pixel-Perfect Desktop Layout (1440px viewport reference)
   ========================================================================== */

/* --- Custom Variables --- */
:root {
    --color-navy: #0F2747;
    --color-navy-dark: #0A192F;
    --color-navy-light: #1A365D;
    --color-orange: #F97316;
    --color-orange-hover: #EA580C;
    --color-orange-bg: #FFF7ED;
    --color-whatsapp: #16B85C;
    --color-whatsapp-hover: #129E4E;
    --color-blue-accent: #0284C7;
    --color-blue-bg: #E0F2FE;
    --color-bg-body: #F6F8FB;
    --color-bg-white: #FFFFFF;
    --color-text-main: #101828;
    --color-text-secondary: #667085;
    --color-text-muted: #94A3B8;
    --color-border: #E6EAF0;
    --color-border-subtle: #F1F5F9;
    --container-width: 1240px;
    --font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --shadow-sm: 0 2px 6px rgba(15, 39, 71, 0.03);
    --shadow-md: 0 4px 14px rgba(15, 39, 71, 0.05);
    --shadow-lg: 0 10px 25px rgba(15, 39, 71, 0.08);
    --shadow-hero-card: 0 12px 30px rgba(15, 39, 71, 0.08);
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 14px;
    --radius-xl: 18px;
    --transition: all 0.2s ease-in-out;
}

/* --- Reset & Global Box Sizing --- */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-family);
    background-color: var(--color-bg-body);
    color: var(--color-text-main);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a {
    color: inherit;
    text-decoration: none;
    transition: var(--transition);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

ul, ol {
    list-style: none;
}

button, input, select, textarea {
    font: inherit;
}

/* --- Layout Containers --- */
.site-container {
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
    width: 100%;
}

/* Section Shared Headers */
.section-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}

.section-heading {
    font-size: 24px;
    font-weight: 800;
    color: var(--color-navy);
    letter-spacing: -0.3px;
    line-height: 1.25;
}

.section-link-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 700;
    color: var(--color-blue-accent);
}

.section-link-all:hover {
    color: var(--color-orange);
}

.section-link-all .link-arrow {
    display: flex;
    align-items: center;
    transition: transform 0.2s ease;
}

.section-link-all:hover .link-arrow {
    transform: translateX(3px);
}

.section-header-actions {
    display: flex;
    align-items: center;
    gap: 16px;
}

.slider-nav-arrows {
    display: flex;
    align-items: center;
    gap: 8px;
}

.btn-slider-nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #FFFFFF;
    border: 1px solid var(--color-border);
    color: var(--color-navy);
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    padding: 0;
}

.btn-slider-nav:hover:not(:disabled) {
    background-color: var(--color-blue-primary);
    border-color: var(--color-blue-primary);
    color: #FFFFFF;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(30, 58, 138, 0.2);
}

.btn-slider-nav:active:not(:disabled) {
    transform: translateY(0);
}

.btn-slider-nav:disabled {
    opacity: 0.35;
    cursor: not-allowed;
    background-color: #F1F5F9;
    border-color: #E2E8F0;
    color: #94A3B8;
    transform: none;
    box-shadow: none;
}

/* ==========================================================================
   HEADER
   ========================================================================== */
.site-header {
    background-color: var(--color-bg-white);
    border-bottom: 1px solid var(--color-border);
    position: sticky;
    top: 0;
    z-index: 1000;
    height: 80px;
}

.header-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}

/* Brand Logo */
.brand-logo {
    display: inline-flex;
    align-items: center;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.6px;
    line-height: 1;
}

.brand-logo-img {
    height: 60px;
    max-height: 60px;
    width: auto;
    object-fit: contain;
    display: block;
}

.brand-text-servis {
    color: var(--color-navy);
}

.brand-text-16 {
    color: var(--color-orange);
}

/* Desktop Navigation */
.header-menu {
    display: flex;
    align-items: center;
    gap: 22px;
}

.header-menu > .menu-item {
    position: relative;
}

.header-menu > .menu-item > a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 15px;
    font-weight: 600;
    color: #334155;
    padding: 8px 0;
}

.header-menu > .menu-item > a:hover {
    color: var(--color-orange);
}

.header-menu .menu-arrow {
    display: flex;
    align-items: center;
    color: var(--color-text-secondary);
}

/* Sub-menus */
.sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: var(--color-bg-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg);
    min-width: 200px;
    padding: 8px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: all 0.2s ease;
    z-index: 1010;
}

.menu-item:hover > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.sub-menu li a {
    display: block;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 600;
    color: #475569;
}

.sub-menu li a:hover {
    background-color: var(--color-bg-body);
    color: var(--color-orange);
}

.sub-menu-grid {
    min-width: 280px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px;
}

/* Hybrid "Diğer Hizmetler" Dropdown */
.menu-item-other-services {
    position: relative;
}

.menu-item-other-services .sub-menu-services-dropdown {
    left: 50%;
    transform: translateX(-50%) translateY(8px);
    width: 480px;
    min-width: 420px;
    max-width: min(520px, calc(100vw - 32px));
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    overflow-x: hidden;
    padding: 12px;
    border-radius: 14px;
    background-color: #ffffff;
    border: 1px solid var(--color-border);
    box-shadow: 0 20px 40px -6px rgba(15, 39, 71, 0.18), 0 8px 16px -2px rgba(15, 39, 71, 0.08);
    scrollbar-width: thin;
    scrollbar-color: #CBD5E1 transparent;
}

.menu-item-other-services:hover > .sub-menu-services-dropdown {
    transform: translateX(-50%) translateY(0);
}

.sub-menu-services-dropdown::-webkit-scrollbar {
    width: 6px;
}

.sub-menu-services-dropdown::-webkit-scrollbar-thumb {
    background-color: #CBD5E1;
    border-radius: 4px;
}

@media screen and (max-width: 1280px) {
    .menu-item-other-services .sub-menu-services-dropdown {
        left: auto;
        right: -30px;
        transform: translateY(8px);
    }
    .menu-item-other-services:hover > .sub-menu-services-dropdown {
        transform: translateY(0);
    }
}

.sub-menu-services-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 10px;
}

.sub-menu-services-dropdown .sub-service-link {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #1E293B;
    background: transparent;
    transition: all 0.15s ease;
    text-decoration: none;
    min-width: 0;
}

.sub-menu-services-dropdown .sub-service-link:hover {
    background-color: #F8FAFC;
    color: var(--color-orange);
    transform: translateX(2px);
}

.sub-menu-services-dropdown .sub-cat-icon {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background-color: #F1F5F9;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #475569;
    flex-shrink: 0;
    transition: all 0.15s ease;
}

.sub-menu-services-dropdown .sub-service-link:hover .sub-cat-icon {
    background-color: #FFF7ED;
    color: var(--color-orange);
}

.sub-menu-services-dropdown .sub-cat-icon svg {
    width: 15px;
    height: 15px;
}

.sub-menu-services-dropdown .sub-cat-title {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.sub-menu-services-dropdown .sub-cat-count {
    font-size: 10.5px;
    font-weight: 700;
    color: #64748B;
    background-color: #F1F5F9;
    padding: 2px 6.5px;
    border-radius: 10px;
    line-height: 1.2;
    flex-shrink: 0;
    margin-left: auto;
}

.sub-menu-services-dropdown .sub-menu-all-link {
    position: sticky;
    bottom: 0;
    background: #ffffff;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #F1F5F9;
    z-index: 2;
}

.sub-menu-services-dropdown .sub-menu-all-link a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 12px;
    font-size: 13px;
    font-weight: 700;
    color: var(--color-orange);
    background-color: #FFF7ED;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.15s ease;
}

.sub-menu-services-dropdown .sub-menu-all-link a:hover {
    background-color: #FFEDD5;
    color: #C2410C;
}

/* Header Actions */
.header-actions-col {
    display: flex;
    align-items: center;
    gap: 12px;
}

.btn-header-search {
    width: 42px;
    height: 42px;
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
    background-color: var(--color-bg-white);
    color: #475569;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--transition);
}

.btn-header-search:hover,
.btn-header-search.is-active {
    background-color: var(--color-orange);
    color: #FFFFFF;
    border-color: var(--color-orange);
}

/* Header Search Bar Dropdown Overlay */
.header-search-bar {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: #FFFFFF;
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
    box-shadow: 0 12px 30px -4px rgba(15, 39, 71, 0.12), 0 4px 6px -2px rgba(15, 39, 71, 0.05);
    padding: 16px 0 18px 0;
    z-index: 998;
    display: none;
    animation: s16SearchSlideDown 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.header-search-bar.is-active {
    display: block;
}

@keyframes s16SearchSlideDown {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.header-search-inner {
    max-width: 820px;
    margin: 0 auto;
}

.header-search-form {
    display: flex;
    align-items: center;
    background-color: #F8FAFC;
    border: 1.5px solid #CBD5E1;
    border-radius: var(--radius-lg);
    padding: 4px 6px 4px 14px;
    transition: var(--transition);
}

.header-search-form:focus-within {
    border-color: var(--color-orange);
    background-color: #FFFFFF;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.12);
}

.header-search-icon {
    display: flex;
    align-items: center;
    color: #94A3B8;
    margin-right: 8px;
    flex-shrink: 0;
}

.header-search-form:focus-within .header-search-icon {
    color: var(--color-orange);
}

.header-search-input {
    flex: 1;
    border: none;
    background: transparent;
    padding: 10px 4px;
    font-size: 15px;
    color: var(--color-navy);
    outline: none;
    font-family: inherit;
}

.header-search-input::placeholder {
    color: #94A3B8;
}

.header-search-submit-btn {
    background-color: var(--color-orange);
    color: #FFFFFF;
    border: none;
    border-radius: var(--radius-md);
    padding: 9px 20px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: var(--transition);
    flex-shrink: 0;
}

.header-search-submit-btn:hover {
    background-color: var(--color-orange-hover);
}

.header-search-close-btn {
    background: transparent;
    border: none;
    color: #64748B;
    padding: 8px;
    margin-left: 6px;
    border-radius: var(--radius-md);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
    flex-shrink: 0;
}

.header-search-close-btn:hover {
    background-color: #E2E8F0;
    color: var(--color-navy);
}

.header-search-quick-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    padding-left: 4px;
}

.quick-tags-label {
    font-size: 12px;
    font-weight: 700;
    color: #64748B;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.search-quick-pill {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--color-navy);
    background-color: #F1F5F9;
    padding: 4px 12px;
    border-radius: 20px;
    text-decoration: none;
    transition: all 0.15s ease;
}

.search-quick-pill:hover {
    background-color: var(--color-orange);
    color: #FFFFFF;
}

.btn-header-add-company {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background-color: var(--color-orange);
    color: #FFFFFF;
    font-size: 14.5px;
    font-weight: 700;
    padding: 10px 18px;
    border-radius: var(--radius-md);
    transition: var(--transition);
    box-shadow: 0 2px 6px rgba(249, 115, 22, 0.2);
}

.btn-header-add-company:hover {
    background-color: var(--color-orange-hover);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(249, 115, 22, 0.3);
}

.btn-add-plus {
    font-size: 18px;
    line-height: 1;
    font-weight: 800;
}

.btn-mobile-toggle {
    display: none;
    background: none;
    border: none;
    padding: 8px;
    cursor: pointer;
}

.hamburger-bar {
    display: block;
    width: 22px;
    height: 2px;
    background-color: var(--color-navy);
    margin: 5px 0;
    border-radius: 2px;
    transition: var(--transition);
}

.mobile-nav-drawer,
.mobile-nav-overlay,
.mobile-app-footer {
    display: none;
}

@media screen and (min-width: 769px) {
    .mobile-nav-drawer,
    .mobile-nav-overlay,
    .mobile-app-footer {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}

/* ==========================================================================
   HERO SECTION
   ========================================================================== */
.hero-section {
    background-color: var(--color-bg-body);
    padding: 38px 0 52px 0;
    overflow: hidden;
}

.hero-container {
    display: grid;
    grid-template-columns: 51% 49%;
    gap: 32px;
    align-items: center;
}

/* Hero Left Column */
.hero-content-col {
    display: flex;
    flex-direction: column;
}

.hero-badge-wrap {
    margin-bottom: 16px;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    background-color: #EBF5FF;
    border: 1px solid #BAE6FD;
    color: #0284C7;
    font-size: 13px;
    font-weight: 700;
    padding: 5px 14px;
    border-radius: 20px;
    letter-spacing: 0.1px;
}

.hero-title {
    font-size: 46px;
    font-weight: 800;
    line-height: 1.06;
    color: var(--color-navy);
    letter-spacing: -1px;
    margin-bottom: 14px;
}

.hero-title-highlight {
    color: var(--color-orange);
}

.hero-subtitle {
    font-size: 15.5px;
    line-height: 1.55;
    color: var(--color-text-secondary);
    max-width: 510px;
    margin-bottom: 26px;
}

/* Hero Search Box */
.hero-search-box {
    background-color: var(--color-bg-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-hero-card);
    padding: 8px;
    margin-bottom: 26px;
}

.hero-search-fields {
    display: flex;
    align-items: center;
    gap: 8px;
}

.search-field-item {
    flex: 1;
    display: flex;
    align-items: center;
    background-color: #F8FAFC;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 0 12px;
    height: 48px;
    position: relative;
    transition: var(--transition);
}

.search-field-item:hover, .search-field-item:focus-within {
    border-color: #CBD5E1;
    background-color: #FFFFFF;
}

.search-field-item .field-icon {
    display: flex;
    align-items: center;
    color: var(--color-navy);
    margin-right: 8px;
    flex-shrink: 0;
}

.search-select {
    width: 100%;
    background: transparent;
    border: none;
    outline: none;
    font-family: var(--font-family);
    font-size: 14px;
    font-weight: 600;
    color: var(--color-navy);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    padding-right: 20px;
}

.search-field-item .field-arrow {
    position: absolute;
    right: 12px;
    pointer-events: none;
    display: flex;
    align-items: center;
    color: var(--color-text-muted);
}

.hero-search-btn {
    background-color: var(--color-orange);
    color: #FFFFFF;
    font-family: var(--font-family);
    font-size: 14.5px;
    font-weight: 700;
    border: none;
    border-radius: var(--radius-md);
    height: 48px;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    white-space: nowrap;
    transition: var(--transition);
    box-shadow: 0 2px 8px rgba(249, 115, 22, 0.25);
}

.hero-search-btn:hover {
    background-color: var(--color-orange-hover);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(249, 115, 22, 0.35);
}

.hero-search-btn .btn-arrow {
    display: flex;
    align-items: center;
    transition: transform 0.2s ease;
}

.hero-search-btn:hover .btn-arrow {
    transform: translateX(3px);
}

/* Trust Items Row */
.hero-trust-row {
    display: flex;
    align-items: center;
    gap: 20px;
}

.hero-trust-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.trust-icon-box {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #0284C7;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.trust-text-box {
    display: flex;
    flex-direction: column;
}

.trust-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--color-navy);
    line-height: 1.25;
}

.trust-subtitle {
    font-size: 11.5px;
    color: var(--color-text-secondary);
    line-height: 1.2;
}

/* ==========================================================================
   HERO RIGHT SHOWCASE (Layered UI Composition)
   ========================================================================== */
.hero-visual-col {
    position: relative;
}

.hero-showcase-card {
    background-color: var(--color-bg-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-hero-card);
    overflow: hidden;
    position: relative;
    padding-bottom: 14px;
}

/* Panoramic Landscape Banner */
.hero-backdrop-banner {
    height: 140px;
    position: relative;
    overflow: hidden;
    width: 100%;
}

.hero-banner-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-backdrop-banner::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.95) 100%);
}

.hero-watermark-bursa {
    position: absolute;
    top: 12px;
    right: 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    z-index: 2;
    pointer-events: none;
}

.watermark-script {
    font-family: Georgia, 'Times New Roman', serif;
    font-style: italic;
    font-size: 26px;
    font-weight: 700;
    color: #1E3A5F;
    line-height: 1;
}

.watermark-sub {
    font-size: 9px;
    font-weight: 800;
    color: #2D4A70;
    letter-spacing: 2px;
}

/* Overlapping Floating Grid */
.hero-floating-grid {
    display: grid;
    grid-template-columns: 46% 54%;
    gap: 12px;
    padding: 0 14px;
    margin-top: -38px;
    position: relative;
    z-index: 5;
}

/* Left Stack: 4 Mini Categories */
.hero-mini-stack {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.hero-mini-card {
    display: flex;
    align-items: center;
    gap: 8px;
    background-color: var(--color-bg-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 8px 10px;
    box-shadow: 0 3px 10px rgba(15, 39, 71, 0.05);
    transition: var(--transition);
}

.hero-mini-card:hover {
    transform: translateX(2px);
    border-color: #CBD5E1;
}

.mini-icon-box {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.mini-icon-flame {
    background-color: var(--color-orange-bg);
    color: var(--color-orange);
}

.mini-icon-snowflake {
    background-color: #F0F9FF;
    color: #0284C7;
}

.mini-icon-washing {
    background-color: #EFF6FF;
    color: #2563EB;
}

.mini-icon-tv {
    background-color: #F0F9FF;
    color: #0284C7;
}

.mini-card-text {
    display: flex;
    flex-direction: column;
}

.mini-card-title {
    font-size: 11.5px;
    font-weight: 700;
    color: var(--color-navy);
    line-height: 1.2;
}

.mini-card-count {
    font-size: 10px;
    color: var(--color-text-secondary);
}

.mini-card-arrow {
    margin-left: auto;
    display: flex;
    align-items: center;
    color: var(--color-text-muted);
}

/* Right Stack: Featured Card */
.hero-featured-card {
    background-color: var(--color-bg-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: 0 8px 24px rgba(15, 39, 71, 0.09);
    padding: 12px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.hero-featured-main-link {
    display: block;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

.hero-featured-main-link:hover .hero-featured-name {
    color: var(--color-orange);
}

.hero-featured-badge-row {
    margin-bottom: 6px;
}

.badge-sponsored {
    background: linear-gradient(135deg, #0F172A 0%, #1E293B 45%, #0F2747 100%);
    color: #FFFFFF;
    font-size: 10px;
    font-weight: 800;
    padding: 2.5px 8px 2.5px 5px;
    border-radius: 5px;
    border: 1px solid rgba(245, 158, 11, 0.45);
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.badge-sponsored .badge-crown-icon {
    display: inline-flex;
    align-items: center;
    color: #F59E0B;
}

.hero-featured-body {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 10px;
}

.hero-featured-info {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.hero-featured-name {
    font-size: 14px;
    font-weight: 800;
    color: var(--color-navy);
    margin-bottom: 3px;
    line-height: 1.25;
    word-break: break-word;
    overflow-wrap: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hero-featured-rating {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    margin-bottom: 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hero-featured-rating .rating-star {
    display: flex;
    align-items: center;
}

.hero-featured-rating .rating-val {
    font-weight: 800;
    color: var(--color-navy);
}

.hero-featured-rating .rating-count {
    color: var(--color-text-secondary);
}

.hero-featured-meta {
    display: flex;
    flex-direction: column;
    gap: 3px;
    font-size: 10.5px;
    color: var(--color-text-secondary);
    min-width: 0;
    overflow: hidden;
}

.meta-line {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.meta-line span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.meta-icon {
    display: flex;
    align-items: center;
    color: var(--color-text-muted);
}

.hero-featured-img-wrap {
    width: 98px;
    height: 108px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    border: 1px solid var(--color-border);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    background-color: #F8FAFC;
}

.hero-featured-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hero-featured-actions {
    display: flex;
    gap: 6px;
}

.btn-card-call, .btn-card-wa {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    font-size: 11.5px;
    font-weight: 700;
    padding: 7px 6px;
    border-radius: 6px;
    text-align: center;
    color: #FFFFFF;
}

.btn-card-call {
    background-color: var(--color-orange);
}

.btn-card-call:hover {
    background-color: var(--color-orange-hover);
}

.btn-card-wa {
    background-color: var(--color-whatsapp);
}

.btn-card-wa:hover {
    background-color: var(--color-whatsapp-hover);
}

/* Hero Multi-Sponsor Rotator */
.hero-sponsor-slider {
    position: relative;
    width: 100%;
}

.hero-sponsor-slide {
    display: none;
    opacity: 0;
    transition: opacity 0.35s ease;
}

.hero-sponsor-slide.is-active {
    display: block;
    opacity: 1;
}

.hero-sponsor-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 8px;
}

.hero-sponsor-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: rgba(203, 213, 225, 0.8);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: all 0.2s ease;
}

.hero-sponsor-dot.is-active {
    width: 18px;
    border-radius: 4px;
    background-color: var(--color-orange);
}

/* ==========================================================================
   POPULAR CATEGORIES SECTION
   ========================================================================== */
.section-categories {
    padding: 44px 0;
}

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

.category-card {
    background-color: var(--color-bg-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 18px 16px;
    box-shadow: var(--shadow-sm);
    display: flex;
    align-items: center;
    gap: 14px;
    transition: var(--transition);
}

.category-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
    border-color: #CBD5E1;
}

.category-card-icon-wrap {
    width: 52px;
    height: 52px;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.category-icon-orange {
    background-color: var(--color-orange-bg);
    color: var(--color-orange);
}

.category-icon-sky {
    background-color: #F0F9FF;
    color: #0284C7;
}

.category-icon-blue {
    background-color: #EFF6FF;
    color: #2563EB;
}

.category-icon-indigo {
    background-color: #F0F9FF;
    color: #0EA5E9;
}

.category-card-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.category-card-title {
    font-size: 15.5px;
    font-weight: 800;
    color: var(--color-navy);
    line-height: 1.25;
    margin-bottom: 3px;
}

.category-card-desc {
    font-size: 12px;
    line-height: 1.35;
    color: var(--color-text-secondary);
    margin-bottom: 6px;
}

.category-card-footer {
    display: flex;
    align-items: center;
    gap: 4px;
}

.category-card-count {
    font-size: 12px;
    font-weight: 700;
    color: var(--color-navy);
}

.category-card-arrow {
    display: flex;
    align-items: center;
    color: var(--color-text-muted);
}

/* ==========================================================================
   SPONSORED SERVICES SECTION (Fixed Grid for Paid Sponsors)
   ========================================================================== */
.section-sponsored-services {
    padding: 44px 0 20px 0;
    background-color: #F8FAFC;
    border-top: 1px solid #EEF2F6;
    border-bottom: 1px solid #EEF2F6;
}

.sponsored-section-header .sponsored-header-title-wrap,
.sponsored-header-title-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}

.sponsored-badge-row {
    display: flex;
    align-items: center;
}

.badge-sponsored-section {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: linear-gradient(135deg, #FF6B00 0%, #EA580C 100%);
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 3px 9px;
    border-radius: 6px;
    box-shadow: 0 2px 6px rgba(234, 88, 12, 0.25);
}

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

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

@media (max-width: 1200px) {
    .sponsored-grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

.sponsored-grid .service-card {
    border: 1.5px solid #F59E0B;
    background: linear-gradient(180deg, #FFFDF7 0%, #FFFFFF 110px, #FFFFFF 100%);
    box-shadow: 0 4px 18px rgba(245, 158, 11, 0.12), 0 1px 3px rgba(15, 23, 42, 0.04);
}

.sponsored-grid .service-card:hover {
    border-color: #D97706;
    box-shadow: 0 8px 24px rgba(245, 158, 11, 0.22), 0 2px 6px rgba(15, 23, 42, 0.06);
    transform: translateY(-2px);
}

/* ==========================================================================
   FEATURED SERVICES SECTION
   ========================================================================== */
.section-featured-services {
    padding: 44px 0;
}

/* Featured Services Carousel */
.featured-carousel-wrap {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 6px 4px 14px 4px;
    margin: -6px -4px -14px -4px;
}

.featured-carousel-track {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-bottom: 4px;
}

.featured-carousel-track::-webkit-scrollbar {
    display: none;
}

.featured-carousel-slide {
    flex: 0 0 calc((100% - 56px) / 5);
    min-width: 0;
    scroll-snap-align: start;
    display: flex;
}

.featured-carousel-slide > .service-card {
    width: 100%;
    height: 100%;
}

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

.service-card {
    background-color: var(--color-bg-white);
    border: 1px solid #E2E8F0;
    border-radius: var(--radius-lg);
    padding: 16px 18px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 0.2s ease-in-out;
    height: 100%;
}

.service-card:hover {
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
    border-color: #CBD5E1;
    transform: translateY(-2px);
}

/* Sponsored Card Golden Accent */
.service-card.is-sponsored {
    border: 1.5px solid #F59E0B;
    background: linear-gradient(180deg, #FFFDF7 0%, #FFFFFF 110px, #FFFFFF 100%);
    box-shadow: 0 4px 18px rgba(245, 158, 11, 0.12), 0 1px 3px rgba(15, 23, 42, 0.04);
    position: relative;
}

.service-card.is-sponsored:hover {
    border-color: #D97706;
    box-shadow: 0 8px 24px rgba(245, 158, 11, 0.22), 0 2px 6px rgba(15, 23, 42, 0.06);
    transform: translateY(-2px);
}

/* Service Card Top Badges Bar */
.service-card-badges-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 10px;
    min-height: 24px;
}

/* Sponsored Badge */
.service-badge-sponsored {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%);
    color: #FBBF24;
    font-size: 11px;
    font-weight: 800;
    padding: 3px 9px 3px 6px;
    border-radius: 6px;
    border: 1px solid #F59E0B;
    box-shadow: 0 2px 6px rgba(245, 158, 11, 0.2);
    line-height: 1.2;
}

.service-badge-sponsored .badge-crown-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #F59E0B;
}

/* Verified Badge for Doğrulanmış Esnaf Profil */
.service-badge-verified {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #E0F2FE;
    color: #0369A1;
    font-size: 11px;
    font-weight: 800;
    padding: 3px 8px 3px 6px;
    border-radius: 6px;
    border: 1px solid #BAE6FD;
    box-shadow: 0 1px 4px rgba(2, 132, 199, 0.1);
    line-height: 1.2;
}

.service-badge-verified .badge-verified-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.s16-verified-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #E0F2FE;
    color: #0369A1;
    font-size: 12px;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 20px;
    border: 1px solid #BAE6FD;
    vertical-align: middle;
}

.service-badge-placeholder {
    height: 1px;
}

/* Eye-Catching & Stylish "Şu An Açık" Live Badge */
.s16-open-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 9px;
    border-radius: 20px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: -0.1px;
    line-height: 1.2;
    white-space: nowrap;
    transition: var(--transition);
}

.s16-open-badge.is-open {
    background: #ECFDF5;
    color: #065F46;
    border: 1px solid #A7F3D0;
    box-shadow: 0 1px 4px rgba(16, 185, 129, 0.15);
}

/* Pulse Live Indicator Dot */
.live-pulse-dot {
    position: relative;
    display: inline-flex;
    width: 8px;
    height: 8px;
    flex-shrink: 0;
}

.live-pulse-dot .pulse-core {
    position: relative;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #10B981;
    box-shadow: 0 0 6px #10B981;
}

.live-pulse-dot .pulse-ring {
    position: absolute;
    top: -2px;
    left: -2px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: rgba(16, 185, 129, 0.45);
    animation: s16-pulse-radar 1.8s cubic-bezier(0.24, 0, 0.38, 1) infinite;
}

@keyframes s16-pulse-radar {
    0% {
        transform: scale(0.7);
        opacity: 0.9;
    }
    50% {
        transform: scale(1.6);
        opacity: 0.35;
    }
    100% {
        transform: scale(2.2);
        opacity: 0;
    }
}

.service-hours-open-pill {
    display: inline-flex;
    align-items: center;
    background: #DCFCE7;
    color: #15803D;
    font-size: 11px;
    font-weight: 700;
    padding: 1.5px 6px;
    border-radius: 4px;
    margin-left: 6px;
    line-height: 1.2;
}

/* Service Card Body - Clean vertical flow */
.service-card-body {
    display: flex;
    flex-direction: column;
    margin-bottom: 12px;
    flex: 1;
}

/* Header Row: 64x64 Logo + Title + Rating */
.service-header-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.service-logo-wrap {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    min-width: 64px;
    min-height: 64px;
    border-radius: 12px;
    border: 1px solid #E2E8F0;
    background-color: #F8FAFC;
    overflow: hidden;
}

.service-card.is-sponsored .service-logo-wrap {
    border-color: rgba(245, 158, 11, 0.45);
}

.service-logo-wrap--demo {
    border: none;
    background: none;
}

.service-logo-wrap--initial {
    background: linear-gradient(135deg, #0F2747 0%, #1E3A8A 100%);
    border-color: #CBD5E1;
}

.service-logo-initial {
    font-size: 24px;
    font-weight: 800;
    color: #FFFFFF;
    line-height: 1;
    text-transform: uppercase;
    user-select: none;
}

.service-logo-custom {
    max-width: 58px;
    max-height: 58px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

/* Demo Logos */
.service-logo-box {
    display: flex;
    align-items: center;
}

.logo-uzmanel {
    display: flex;
    align-items: center;
    gap: 4px;
}

.logo-uzmanel .logo-text-col {
    display: flex;
    flex-direction: column;
    line-height: 0.95;
}

.logo-uzmanel .logo-main-text {
    font-size: 10.5px;
    font-weight: 800;
    color: var(--color-navy);
}

.logo-uzmanel .logo-sub-text {
    font-size: 8px;
    font-weight: 700;
    color: var(--color-orange);
    letter-spacing: 0.5px;
}

.logo-merkez {
    display: flex;
    align-items: center;
    gap: 5px;
}

.logo-m-badge {
    background-color: var(--color-orange);
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 900;
    width: 22px;
    height: 22px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.logo-merkez-text {
    font-size: 11px;
    font-weight: 800;
    color: var(--color-navy);
}

.logo-teknik16 {
    display: flex;
    align-items: center;
    gap: 4px;
}

.logo-num-16 {
    font-size: 18px;
    font-weight: 900;
    color: var(--color-orange);
    line-height: 1;
}

.logo-16-col {
    display: flex;
    flex-direction: column;
    line-height: 0.95;
}

.logo-16-top {
    font-size: 9px;
    font-weight: 800;
    color: var(--color-navy);
}

.logo-16-bot {
    font-size: 8px;
    font-weight: 700;
    color: #64748B;
}

.service-title-wrap {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    justify-content: center;
}

.service-name {
    font-size: 15px;
    font-weight: 800;
    color: var(--color-navy);
    line-height: 1.35;
    margin: 0 0 3px 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
    min-height: 2.7em;
}

.service-title-link {
    color: var(--color-navy);
    text-decoration: none;
    transition: color 0.15s ease;
}

.service-title-link:hover,
.service-card:hover .service-title-link {
    color: var(--color-orange);
}

.service-rating-wrap {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    margin: 0;
    line-height: 1.2;
}

.service-star {
    display: flex;
    align-items: center;
}

.service-rating-val {
    font-weight: 800;
    color: var(--color-navy);
}

.service-reviews-count {
    color: var(--color-text-secondary);
}

.service-no-rating {
    font-size: 11.5px;
    color: #94A3B8;
}

/* Tags List (Max 2 tags + X) */
.service-tags-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
    min-height: 24px;
}

.service-tag-pill {
    background-color: #F1F5F9;
    color: #334155;
    font-size: 11.5px;
    font-weight: 600;
    padding: 2.5px 8px;
    border-radius: 6px;
    line-height: 1.3;
}

.service-tag-pill--more {
    background-color: #E2E8F0;
    color: #475569;
    font-weight: 700;
}

/* Brands List (Max 3 brands + X marka daha) */
.service-brands-list {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    overflow: hidden;
    gap: 6px;
    margin-bottom: 10px;
    min-height: 22px;
}

.service-brand-pill {
    background-color: #FFFFFF;
    border: 1px solid #E2E8F0;
    color: #475569;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 4px;
    white-space: nowrap;
    text-decoration: none;
    transition: all 0.15s ease;
}

.service-brand-pill:hover {
    border-color: var(--color-orange);
    color: var(--color-orange);
}

.service-brand-pill--more {
    background-color: #F8FAFC;
    color: #64748B;
    border-style: dashed;
}

/* Meta Details: Location & Single-Line Hours */
.service-meta-details {
    display: flex;
    flex-direction: column;
    gap: 5px;
    font-size: 12px;
    color: #64748B;
    padding-top: 8px;
    border-top: 1px solid #F1F5F9;
    margin-top: auto;
}

.service-meta-row {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 18px;
    line-height: 1.3;
}

.service-meta-row.service-hours-row,
.service-meta-row.service-location-row {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.service-meta-icon {
    display: flex;
    align-items: center;
    color: var(--color-text-muted);
    flex-shrink: 0;
}

.service-meta-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #475569;
}

/* Card Action Buttons: 2 or 3 buttons with equal rhythm */
.service-card-actions {
    display: flex;
    gap: 6px;
    padding-top: 12px;
    border-top: 1px solid var(--color-border-subtle);
    margin-top: 10px;
}

.btn-service-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 12.5px;
    font-weight: 700;
    padding: 8px 8px;
    border-radius: var(--radius-md);
    transition: var(--transition);
    white-space: nowrap;
    text-decoration: none;
}

.service-card-actions.has-no-wa .btn-service-action {
    flex: 1;
}

.service-card-actions.has-wa .btn-detail {
    flex: 0.9;
}

.service-card-actions.has-wa .btn-call {
    flex: 1.1;
}

.service-card-actions.has-wa .btn-whatsapp {
    flex: 1.1;
}

.btn-detail {
    background-color: var(--color-bg-white);
    color: #334155;
    border: 1px solid #D1D5DB;
}

.btn-detail:hover {
    background-color: #F8FAFC;
    border-color: #94A3B8;
}

.btn-call {
    background-color: var(--color-orange);
    color: #FFFFFF;
    border: 1px solid transparent;
}

.btn-call:hover {
    background-color: var(--color-orange-hover);
}

.btn-whatsapp {
    background-color: var(--color-whatsapp);
    color: #FFFFFF;
    border: 1px solid transparent;
}

.btn-whatsapp:hover {
    background-color: var(--color-whatsapp-hover);
}

.btn-action-icon {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.btn-text-full {
    display: inline;
}

.btn-text-short {
    display: none;
}

/* ==========================================================================
   COMPACT SERVICE CARD FOR 5-COLUMN FEATURED CAROUSEL
   ========================================================================== */
.featured-carousel-slide .service-card {
    padding: 12px 12px;
    border-radius: 12px;
}

.featured-carousel-slide .service-card-badges-bar {
    margin-bottom: 7px;
    min-height: 20px;
    gap: 6px;
}

.featured-carousel-slide .service-badge-sponsored {
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 5px;
    gap: 3px;
    line-height: 1.15;
}

.featured-carousel-slide .service-badge-sponsored .badge-crown-icon svg {
    width: 10px;
    height: 10px;
}

.featured-carousel-slide .service-badge-verified {
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 5px;
    gap: 3px;
    line-height: 1.15;
}

.featured-carousel-slide .service-badge-verified .badge-verified-icon svg {
    width: 11px;
    height: 11px;
}

.featured-carousel-slide .s16-open-badge {
    font-size: 10px;
    padding: 2px 7px;
    gap: 4px;
    line-height: 1.15;
}

.featured-carousel-slide .live-pulse-dot {
    width: 6px;
    height: 6px;
}

.featured-carousel-slide .live-pulse-dot .pulse-core {
    width: 6px;
    height: 6px;
}

.featured-carousel-slide .live-pulse-dot .pulse-ring {
    top: -2px;
    left: -2px;
    width: 10px;
    height: 10px;
}

.featured-carousel-slide .service-card-body {
    margin-bottom: 8px;
}

.featured-carousel-slide .service-header-row {
    gap: 9px;
    margin-bottom: 8px;
}

.featured-carousel-slide .service-logo-wrap {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    border-radius: 9px;
}

.featured-carousel-slide .service-logo-custom {
    max-width: 38px;
    max-height: 38px;
}

.featured-carousel-slide .service-logo-initial {
    font-size: 18px;
}

.featured-carousel-slide .logo-uzmanel .logo-main-text {
    font-size: 8px;
}

.featured-carousel-slide .logo-uzmanel .logo-sub-text {
    font-size: 6px;
}

.featured-carousel-slide .logo-m-badge {
    width: 16px;
    height: 16px;
    font-size: 9.5px;
    border-radius: 3px;
}

.featured-carousel-slide .logo-merkez-text {
    font-size: 8px;
}

.featured-carousel-slide .logo-num-16 {
    font-size: 13px;
}

.featured-carousel-slide .logo-16-top {
    font-size: 7px;
}

.featured-carousel-slide .logo-16-bot {
    font-size: 6px;
}

.featured-carousel-slide .service-name {
    font-size: 13px;
    line-height: 1.28;
    margin: 0 0 2px 0;
    min-height: 2.56em;
}

.featured-carousel-slide .service-rating-wrap {
    font-size: 10.5px;
    gap: 3px;
}

.featured-carousel-slide .service-star svg {
    width: 11px;
    height: 11px;
}

.featured-carousel-slide .service-rating-val {
    font-size: 10.5px;
}

.featured-carousel-slide .service-reviews-count {
    font-size: 10px;
}

.featured-carousel-slide .service-no-rating {
    font-size: 9.5px;
}

.featured-carousel-slide .service-tags-list {
    gap: 4px;
    margin-bottom: 6px;
    min-height: 19px;
}

.featured-carousel-slide .service-tag-pill {
    font-size: 10px;
    font-weight: 600;
    padding: 1.5px 5.5px;
    border-radius: 4px;
}

.featured-carousel-slide .service-brands-list {
    gap: 4px;
    margin-bottom: 6px;
    min-height: 18px;
}

.featured-carousel-slide .service-brand-pill {
    font-size: 9.5px;
    padding: 1.5px 5px;
    border-radius: 3px;
}

.featured-carousel-slide .service-brand-pill--more {
    font-size: 9px;
    padding: 1.5px 4px;
}

.featured-carousel-slide .service-meta-details {
    gap: 3px;
    font-size: 11px;
    padding-top: 6px;
}

.featured-carousel-slide .service-meta-row {
    gap: 5px;
    min-height: 16px;
}

.featured-carousel-slide .service-meta-icon svg {
    width: 11px;
    height: 11px;
}

.featured-carousel-slide .service-meta-text {
    font-size: 11px;
}

.featured-carousel-slide .service-hours-open-pill {
    font-size: 9px;
    padding: 1px 4px;
    margin-left: 3px;
}

.featured-carousel-slide .service-card-actions {
    gap: 4px;
    padding-top: 9px;
    margin-top: 8px;
}

.featured-carousel-slide .btn-service-action {
    font-size: 10.5px;
    font-weight: 700;
    padding: 6px 3px;
    border-radius: 6px;
    gap: 3px;
}

.featured-carousel-slide .btn-action-icon svg {
    width: 11px;
    height: 11px;
}

.featured-carousel-slide .service-card-actions.has-wa .btn-detail {
    flex: 0.95;
}

.featured-carousel-slide .service-card-actions.has-wa .btn-call {
    flex: 1.05;
}

.featured-carousel-slide .service-card-actions.has-wa .btn-whatsapp {
    flex: 1.05;
}

.featured-carousel-slide .btn-text-full {
    display: none;
}

.featured-carousel-slide .btn-text-short {
    display: inline;
}

/* ==========================================================================
   DISTRICTS SECTION
   ========================================================================== */
.section-districts {
    padding: 32px 0 40px 0;
}

.section-districts .section-header-row {
    margin-bottom: 14px; /* Reduced gap between title and cards */
}

.districts-grid-wrap {
    width: 100%;
}

/* 4 columns x 2 rows Grid on Desktop - Full Container Width */
.districts-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    width: 100%;
}

/* Spacious, Comfortable District Card */
.district-card {
    background-color: var(--color-bg-white);
    border: 1px solid var(--color-border);
    border-radius: 12px;
    padding: 14px 18px;
    box-shadow: var(--shadow-sm);
    display: flex;
    align-items: center;
    gap: 14px;
    transition: var(--transition);
    text-decoration: none;
}

.district-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
    border-color: #CBD5E1;
}

.district-thumb-box {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: #F1F5F9;
}

.district-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.district-info-box {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.district-name {
    font-size: 15px;
    font-weight: 700;
    color: var(--color-navy);
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.district-count {
    font-size: 12.5px;
    color: var(--color-text-secondary);
    margin-top: 2px;
}

.district-arrow-box {
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #F8FAFC;
    color: var(--color-text-muted);
    flex-shrink: 0;
    transition: var(--transition);
}

.district-card:hover .district-arrow-box {
    background: #FFF7ED;
    color: var(--color-orange);
    transform: translateX(2px);
}


/* ==========================================================================
   SERVICE GUIDE / SEO CONTENT SECTION
   ========================================================================== */
.section-service-guide {
    padding: 44px 0;
}

.guide-layout-row {
    display: grid;
    grid-template-columns: 69% 31%;
    gap: 26px;
    align-items: center;
}

.guide-content-col {
    display: flex;
    flex-direction: column;
}

.guide-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 20px;
}

.guide-card-item {
    background-color: var(--color-bg-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 18px 16px;
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
}

.guide-card-icon-box {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background-color: #EBF5FF;
    color: #0284C7;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}

.guide-card-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--color-navy);
    line-height: 1.3;
    margin-bottom: 6px;
}

.guide-card-desc {
    font-size: 12px;
    line-height: 1.45;
    color: var(--color-text-secondary);
}

.guide-section-header {
    margin-bottom: 22px;
}

.guide-section-badge {
    display: inline-block;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--color-primary);
    background: #EBF5FF;
    border-radius: 999px;
    margin-bottom: 6px;
}

.guide-section-subtitle {
    margin-top: 6px;
    font-size: 14px;
    color: var(--color-text-secondary);
    line-height: 1.5;
}

.guide-seo-text p {
    font-size: 13.5px;
    line-height: 1.65;
    color: #475569;
}

.guide-seo-text p:not(:last-child) {
    margin-bottom: 12px;
}

.guide-cta-row {
    margin-top: 18px;
}

.btn-guide-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--color-primary);
    color: #FFFFFF !important;
    font-size: 13px;
    font-weight: 700;
    padding: 10px 20px;
    border-radius: var(--radius-md);
    text-decoration: none;
    transition: background 0.2s ease, transform 0.15s ease;
}

.btn-guide-cta:hover {
    background: var(--color-primary-dark);
    color: #FFFFFF !important;
    transform: translateY(-1px);
}

.guide-visual-col {
    display: flex;
    justify-content: center;
}

.guide-visual-wrapper {
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    border: 1px solid var(--color-border);
    width: 100%;
}

.guide-showcase-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ==========================================================================
   FAQ SECTION
   ========================================================================== */
.section-faq {
    padding: 44px 0 60px 0;
}

.faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.faq-accordion-item {
    background-color: var(--color-bg-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: border-color 0.2s ease;
}

.faq-accordion-item:hover {
    border-color: #CBD5E1;
}

.faq-question-btn {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 18px;
    background: transparent;
    border: none;
    text-align: left;
    cursor: pointer;
}

.faq-prefix-arrow {
    display: flex;
    align-items: center;
    color: var(--color-text-secondary);
    font-size: 14px;
}

.faq-question-text {
    flex: 1;
    font-size: 14px;
    font-weight: 700;
    color: var(--color-navy);
}

.faq-toggle-icon {
    font-size: 18px;
    font-weight: 600;
    color: #64748B;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    transition: transform 0.2s ease;
}

.faq-accordion-item.is-open .faq-toggle-icon {
    transform: rotate(45deg);
}

.faq-answer-panel {
    display: none;
}

.faq-accordion-item.is-open .faq-answer-panel {
    display: block;
}

.faq-answer-inner {
    padding: 0 18px 16px 40px;
    font-size: 13.5px;
    line-height: 1.55;
    color: #475569;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer {
    background-color: var(--color-navy-dark);
    color: var(--color-text-muted);
    padding: 56px 0 0 0;
}

.footer-top-grid {
    display: grid;
    grid-template-columns: 28% 16% 24% 16% 16%;
    gap: 24px;
    margin-bottom: 48px;
}

.footer-col-title {
    font-size: 15px;
    font-weight: 800;
    color: #FFFFFF;
    margin-bottom: 18px;
    letter-spacing: -0.2px;
}

/* Footer Accordion Desktop Reset */
.footer-accordion-toggle {
    display: block;
    width: 100%;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    text-align: left;
    font: inherit;
    color: inherit;
    cursor: default;
}

.footer-accordion-arrow {
    display: none;
}

.footer-col-content {
    display: block;
}

.footer-logo {
    display: inline-flex;
    align-items: center;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.5px;
    margin-bottom: 14px;
}

.footer-logo-servis {
    color: #FFFFFF;
}

.footer-logo-16 {
    color: var(--color-orange);
}

.footer-brand-desc {
    font-size: 13px;
    line-height: 1.55;
    color: #94A3B8;
    margin-bottom: 20px;
    max-width: 280px;
}

.footer-social-row {
    display: flex;
    gap: 10px;
}

.social-link {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.08);
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
}

.social-link:hover {
    background-color: var(--color-orange);
    transform: translateY(-2px);
}

.footer-links-list li {
    margin-bottom: 10px;
}

.footer-links-list li a {
    font-size: 13.5px;
    color: #94A3B8;
}

.footer-links-list li a:hover {
    color: #FFFFFF;
}

.footer-districts-subcols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.footer-contact-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    color: #94A3B8;
    margin-bottom: 12px;
}

.footer-contact-list .contact-icon {
    display: flex;
    align-items: center;
    color: var(--color-orange);
    flex-shrink: 0;
}

.footer-contact-list a {
    color: #94A3B8;
}

.footer-contact-list a:hover {
    color: #FFFFFF;
}

/* Bottom Bar */
.footer-bottom-bar {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding: 20px 0 24px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12.5px;
    color: #64748B;
}

.footer-tagline-text {
    display: flex;
    align-items: center;
    gap: 8px;
}

.tagline-sep {
    opacity: 0.4;
}


/* ==========================================================================
   S16 Unified Page Header & Breadcrumbs Component
   Specs: #F7F9FC bg, 1240px container, ~13px breadcrumb, #667085 passive,
   #0F2747 font-weight:600 active, #F97316 hover, › separator, ~110-130px height.
   ========================================================================== */
.s16-page-header {
    background-color: #F7F9FC;
    border-bottom: 1px solid #E6EAF0;
    padding: 22px 0;
    min-height: 116px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.s16-page-header.s16-header-breadcrumb-only {
    min-height: auto;
    padding: 14px 0;
}

.s16-breadcrumbs {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.s16-breadcrumbs::-webkit-scrollbar {
    display: none;
}

.s16-header-breadcrumb-only .s16-breadcrumbs {
    margin-bottom: 0;
}

.s16-breadcrumb-list {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 13px;
    line-height: 1.4;
}

.s16-breadcrumb-item {
    display: inline-flex;
    align-items: center;
}

.s16-crumb-link {
    color: #667085;
    text-decoration: none;
    transition: color 0.15s ease;
}

.s16-crumb-link:hover {
    color: #F97316;
}

.s16-crumb-sep {
    color: #94A3B8;
    font-size: 13px;
    margin: 0 8px;
    user-select: none;
    display: inline-block;
}

.s16-crumb-current {
    color: #0F2747;
    font-weight: 600;
}

.s16-header-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.s16-title-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.s16-page-h1 {
    font-size: 26px;
    font-weight: 800;
    color: #0F2747;
    margin: 0;
    line-height: 1.25;
    letter-spacing: -0.01em;
}

.s16-count-pill {
    display: inline-flex;
    align-items: center;
    background: #E2E8F0;
    color: #1E293B;
    font-size: 12px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 9999px;
    white-space: nowrap;
}

.s16-page-subtitle {
    font-size: 13.5px;
    color: #64748B;
    margin: 0;
    line-height: 1.5;
    max-width: 820px;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .s16-page-header {
        padding: 16px 0;
        min-height: auto;
    }
    .s16-page-h1 {
        font-size: 20px;
    }
    .s16-page-subtitle {
        font-size: 12.5px;
    }
    .s16-breadcrumbs {
        margin-bottom: 6px;
    }
}

/* ==========================================================================
   ARCHIVE / TAXONOMY SERVICES LISTING SECTION
   ========================================================================== */
.page-archive-services {
    background-color: var(--color-bg-body, #F8FAFC);
}

.section-archive-list {
    padding: 48px 0 72px 0;
    min-height: 480px;
    box-sizing: border-box;
}

.archive-pagination-wrap,
.archive-pagination {
    margin-top: 40px;
    display: flex;
    justify-content: center;
    width: 100%;
}

.archive-pagination-wrap .nav-links,
.posts-pagination .nav-links,
.archive-pagination .pagination-list,
.pagination-list {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pagination-list li,
.pagination-item {
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.archive-pagination-wrap .page-numbers,
.posts-pagination .page-numbers,
.pagination-list a,
.pagination-list span,
.pagination-item a,
.pagination-item span,
.archive-pagination a,
.archive-pagination span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 40px !important;
    height: 40px !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    border: 1px solid #E2E8F0 !important;
    color: #475569 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
}

.archive-pagination-wrap .page-numbers:hover,
.posts-pagination .page-numbers:hover,
.pagination-list a:hover,
.pagination-item a:hover,
.archive-pagination a:hover {
    background: #EFF6FF !important;
    border-color: #BFDBFE !important;
    color: #1E3A8A !important;
}

.archive-pagination-wrap .page-numbers.current,
.posts-pagination .page-numbers.current,
.pagination-list .current,
.pagination-item .current,
.archive-pagination .current {
    background: #F97316 !important;
    border-color: #F97316 !important;
    color: #FFFFFF !important;
}

@media (max-width: 991px) {
    .section-archive-list {
        padding: 36px 0 56px 0;
        min-height: 380px;
    }
}

@media (max-width: 768px) {
    .section-archive-list {
        padding: 24px 0 44px 0;
        min-height: auto;
    }
}

/* ==========================================================================
   Single Service Profile (Firma Detay) 2-Column Redesign
   ========================================================================== */

/* 1. Top Summary Card */
.section-profile-header {
    padding: 24px 0 0 0;
}

.profile-summary-card {
    background: #FFFFFF;
    border-radius: 14px;
    border: 1px solid #E2E8F0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    padding: 24px 28px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.profile-summary-left {
    display: flex;
    align-items: center;
    gap: 20px;
    flex: 1;
    min-width: 0;
}

.profile-summary-logo {
    width: 80px;
    height: 80px;
    border-radius: 12px;
    border: 1px solid #E2E8F0;
    background: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}

.profile-summary-logo img {
    max-width: 85%;
    max-height: 85%;
    object-fit: contain;
}

.profile-logo-fallback {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #1E3A8A 0%, #0F2747 100%);
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-weight: 800;
}

.profile-summary-info {
    flex: 1;
    min-width: 0;
}

.profile-summary-title-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 6px;
    flex-wrap: wrap;
}

.profile-summary-title {
    margin: 0;
    font-size: 24px;
    font-weight: 800;
    color: #0F2747;
    line-height: 1.2;
}

.profile-summary-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 13.5px;
    color: #64748B;
    flex-wrap: wrap;
}

.profile-summary-meta .meta-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.profile-summary-meta .meta-rating .star-icon {
    color: #F59E0B;
}

.profile-summary-meta .meta-status .status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.profile-summary-meta .meta-status.is-open .status-dot {
    background-color: #16A34A;
    box-shadow: 0 0 0 2px rgba(22, 163, 74, 0.2);
}

.profile-summary-meta .meta-status.is-closed .status-dot {
    background-color: #DC2626;
    box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.2);
}

.profile-summary-ctas {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

.btn-s16-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 12px 20px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.2s ease;
}

.btn-cta-call {
    background: #F97316;
    color: #FFFFFF;
}

.btn-cta-call:hover {
    background: #EA580C;
    transform: translateY(-1px);
}

.btn-cta-wa {
    background: #16B85C;
    color: #FFFFFF;
}

.btn-cta-wa:hover {
    background: #15803D;
    transform: translateY(-1px);
}

.btn-cta-web {
    background: #F8FAFC;
    border: 1px solid #CBD5E1;
    color: #0F2747;
    font-weight: 600;
}

.btn-cta-web:hover {
    background: #F1F5F9;
    border-color: #94A3B8;
}

/* 2. Main 2-Column Layout (~68% Left / ~32% Right) */
.section-profile-content {
    padding: 32px 0 60px 0;
}

.profile-main-layout {
    display: flex;
    gap: 28px;
    align-items: flex-start;
}

.profile-col-left {
    flex: 0 0 calc(68% - 14px);
    width: calc(68% - 14px);
    max-width: calc(68% - 14px);
    min-width: 0;
}

.profile-col-right {
    flex: 0 0 calc(32% - 14px);
    width: calc(32% - 14px);
    max-width: calc(32% - 14px);
    min-width: 0;
}

/* Cover Image Banner in Left Column */
.profile-cover-banner {
    width: 100%;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 24px;
    border: 1px solid #E2E8F0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    background-color: #F8FAFC;
    aspect-ratio: 16/9;
    max-height: 420px;
}

.profile-cover-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* White Content Cards */
.profile-detail-card {
    background: #FFFFFF;
    border-radius: 14px;
    border: 1px solid #E2E8F0;
    padding: 24px;
    margin-bottom: 24px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
}

.profile-card-title {
    font-size: 18px;
    font-weight: 800;
    color: #0F2747;
    margin: 0 0 16px 0;
}

.profile-bio-text {
    color: #334155;
    line-height: 1.7;
    font-size: 15px;
}

/* Modern Badges / Chips */
.s16-chips-wrap {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.s16-service-chip {
    display: inline-block;
    padding: 6px 14px;
    background: #EFF6FF;
    border: 1px solid #BFDBFE;
    border-radius: 20px;
    color: #1E3A8A;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.s16-service-chip:hover {
    background: #DBEAFE;
    border-color: #93C5FD;
}

.s16-location-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 14px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    color: #334155;
    font-size: 13px;
    font-weight: 600;
}

.s16-brand-chip {
    display: inline-block;
    padding: 6px 14px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 20px;
    color: #334155;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.s16-brand-chip:hover {
    background: #EFF6FF;
    border-color: #BFDBFE;
    color: #1D4ED8;
    transform: translateY(-1px);
}

/* 3. Right Sticky Container & Cards */
.profile-sticky-container {
    position: -webkit-sticky;
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    z-index: 10;
}

.admin-bar .profile-sticky-container {
    top: 140px;
}

.profile-sidebar-card {
    background: #FFFFFF;
    border-radius: 14px;
    border: 1px solid #E2E8F0;
    padding: 24px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.profile-contact-card-mobile {
    display: none;
    margin-bottom: 24px;
}

.profile-contact-card-desktop {
    display: block;
}

.sidebar-company-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #F1F5F9;
}

.sidebar-logo-box {
    min-width: 56px;
    max-width: 90px;
    height: 56px;
    padding: 4px 8px;
    border-radius: 10px;
    border: 1px solid #E2E8F0;
    background: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}

.sidebar-logo {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

.sidebar-logo-fallback {
    width: 56px;
    height: 56px;
    border-radius: 10px;
    background: #1E3A8A;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 800;
    flex-shrink: 0;
}

.sidebar-company-title-wrap {
    flex: 1;
    min-width: 0;
}

.sidebar-title-badge-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}

.sidebar-company-name {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: #0F2747;
    line-height: 1.25;
}

.sidebar-meta-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.sidebar-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 600;
}

.sidebar-status-badge.is-open {
    color: #16A34A;
}

.sidebar-status-badge.is-closed {
    color: #DC2626;
}

.sidebar-status-badge .status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
}

.sidebar-status-badge.is-open .status-dot {
    background-color: #16A34A;
}

.sidebar-status-badge.is-closed .status-dot {
    background-color: #DC2626;
}

.sidebar-rating-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: #0F2747;
}

.sidebar-rating-badge .star-icon {
    color: #F59E0B;
}

.sidebar-rating-badge .reviews-count {
    color: #64748B;
    font-size: 11.5px;
}

/* Badges */
.s16-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.2px;
    white-space: nowrap;
}

.s16-badge.badge-active {
    background-color: #FFF7ED;
    color: #EA580C;
    border: 1px solid #FFEDD5;
}

.s16-badge.badge-neutral {
    background-color: #F1F5F9;
    color: #475569;
    border: 1px solid #E2E8F0;
}

.sidebar-info-row {
    display: flex;
    gap: 10px;
    font-size: 13.5px;
    color: #475569;
    margin-bottom: 14px;
    line-height: 1.5;
}

/* Last Updated & Trust Badge Styles */
.sidebar-last-updated-row {
    margin-top: -2px;
    margin-bottom: 16px;
    padding-top: 10px;
    border-top: 1px dashed #E2E8F0;
    font-size: 12px;
    color: #64748B;
    line-height: 1.4;
    align-items: center;
}

.sidebar-last-updated-row .sidebar-info-icon svg {
    color: #10B981;
    width: 16px;
    height: 16px;
}

.sidebar-updated-hint strong {
    color: var(--color-navy);
    font-weight: 700;
}

.profile-verification-note {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    padding: 10px 14px;
    background: #F8FAFC;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    font-size: 12.5px;
    color: var(--color-text-secondary);
}

.profile-verification-note .verification-icon svg {
    color: #10B981;
    width: 18px;
    height: 18px;
    display: block;
}

.profile-verification-note strong {
    color: var(--color-navy);
    font-weight: 700;
}

.sidebar-actions-wrap {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.btn-sidebar-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 13px 18px;
    border-radius: 10px;
    font-size: 14.5px;
    font-weight: 700;
    text-decoration: none;
    box-sizing: border-box;
    transition: all 0.2s ease;
    text-align: center;
}

.btn-sidebar-call {
    background: #F97316;
    color: #FFFFFF;
}

.btn-sidebar-call:hover {
    background: #EA580C;
    transform: translateY(-1px);
}

.btn-sidebar-wa {
    background: #16B85C;
    color: #FFFFFF;
}

.btn-sidebar-wa:hover {
    background: #15803D;
    transform: translateY(-1px);
}

.btn-sidebar-web {
    background: #F8FAFC;
    border: 1px solid #CBD5E1;
    color: #0F2747;
    font-weight: 600;
    font-size: 13.5px;
}

.btn-sidebar-web:hover {
    background: #F1F5F9;
    border-color: #94A3B8;
}

/* Working Hours Card (7 Unique Days) */
.sidebar-card-title {
    font-size: 16px;
    font-weight: 800;
    color: #0F2747;
    margin: 0 0 16px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.profile-hours-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.hours-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13.5px;
    padding: 7px 10px;
    border-radius: 6px;
    color: #475569;
}

.hours-row.is-today {
    background: #EFF6FF;
    font-weight: 700;
    color: #1E3A8A;
}

.hours-closed {
    color: #94A3B8;
    font-weight: 500;
}

/* ==========================================================================
   Firma Fotoğrafları (Company Gallery) & Lightbox Modal
   ========================================================================== */
.profile-gallery-card {
    margin-bottom: 24px;
}

.profile-gallery-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 18px;
    gap: 16px;
}

.profile-gallery-header .gallery-title-wrap {
    flex: 1;
}

.profile-gallery-header .profile-card-title {
    margin: 0 0 4px 0;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #0F2747;
    font-size: 18px;
    font-weight: 800;
}

.profile-gallery-header .gallery-icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #2563EB;
}

.profile-gallery-desc {
    margin: 0;
    font-size: 13px;
    color: #64748B;
    line-height: 1.4;
}

.profile-gallery-count-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    background: #F1F5F9;
    color: #334155;
    font-size: 12.5px;
    font-weight: 700;
    white-space: nowrap;
    border: 1px solid #E2E8F0;
}

.profile-gallery-count-badge svg {
    color: #2563EB;
}

/* Desktop Grid: 3 Columns */
.profile-gallery-scroll-wrap {
    width: 100%;
}

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

.gallery-thumb-item {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    text-align: left;
    display: block;
    width: 100%;
    outline: none;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.gallery-thumb-item:focus-visible {
    box-shadow: 0 0 0 3px #2563EB;
}

.gallery-thumb-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
}

.gallery-thumb-aspect {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    background: #0F172A;
    overflow: hidden;
    border-radius: 12px;
}

.gallery-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.gallery-thumb-item:hover .gallery-img {
    transform: scale(1.06);
}

.gallery-thumb-hover-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.1) 0%, rgba(15, 23, 42, 0.75) 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    opacity: 0;
    transition: opacity 0.25s ease;
    color: #FFFFFF;
}

.gallery-thumb-item:hover .gallery-thumb-hover-overlay {
    opacity: 1;
}

.gallery-zoom-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    transform: scale(0.85);
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.gallery-thumb-item:hover .gallery-zoom-icon {
    transform: scale(1);
}

.gallery-zoom-text {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.3px;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

/* ==========================================================================
   Fullscreen Lightbox Modal
   ========================================================================== */
.s16-lightbox-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
}

.s16-lightbox-modal.is-active {
    opacity: 1;
    pointer-events: auto;
}

.s16-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(10, 18, 30, 0.94);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.s16-lightbox-dialog {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.s16-lightbox-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 28px;
    z-index: 3;
}

.s16-lightbox-counter {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #F8FAFC;
    font-size: 13.5px;
    font-weight: 700;
    border: 1px solid rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(6px);
}

.s16-lb-counter-icon {
    display: inline-flex;
    color: #60A5FA;
}

.s16-lb-btn {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #FFFFFF;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
    outline: none;
}

.s16-lb-btn:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: scale(1.06);
}

.s16-lightbox-stage {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px 24px 20px;
    position: relative;
    user-select: none;
}

.s16-lb-nav {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #FFFFFF;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
    z-index: 4;
    outline: none;
    flex-shrink: 0;
}

.s16-lb-nav:hover {
    background: rgba(255, 255, 255, 0.28);
    transform: scale(1.08);
}

.s16-lightbox-image-wrap {
    flex: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 0 16px;
    overflow: hidden;
}

.s16-lightbox-image {
    max-width: 90vw;
    max-height: 78vh;
    object-fit: contain;
    border-radius: 10px;
    box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.7);
    transition: opacity 0.2s ease;
}

.s16-lightbox-caption {
    margin-top: 12px;
    padding: 6px 16px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.85);
    color: #E2E8F0;
    font-size: 13px;
    font-weight: 500;
    border: 1px solid rgba(255, 255, 255, 0.1);
    max-width: 80%;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.s16-lightbox-spinner {
    position: absolute;
    width: 44px;
    height: 44px;
    border: 3px solid rgba(255, 255, 255, 0.2);
    border-top-color: #60A5FA;
    border-radius: 50%;
    animation: s16Spin 0.8s linear infinite;
    display: none;
    z-index: 1;
}

@keyframes s16Spin {
    to { transform: rotate(360deg); }
}

/* ==========================================================================
   Mobile Responsive Rules for Gallery & Lightbox (<= 768px)
   ========================================================================== */
@media (max-width: 768px) {
    .profile-gallery-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .profile-gallery-scroll-wrap {
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0;
        overflow-x: visible;
        padding-bottom: 0;
    }

    .profile-gallery-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        width: 100%;
    }

    .gallery-thumb-item {
        flex: none;
        width: 100%;
        border-radius: 10px;
    }

    .gallery-thumb-aspect {
        border-radius: 10px;
        aspect-ratio: 16 / 11;
    }

    /* Lightbox Mobile Adjustments */
    .s16-lightbox-topbar {
        padding: 12px 16px;
    }

    .s16-lightbox-stage {
        padding: 0 8px 16px 8px;
    }

    .s16-lb-nav {
        position: absolute;
        bottom: 24px;
        width: 44px;
        height: 44px;
        z-index: 10;
        background: rgba(15, 23, 42, 0.7);
    }

    .s16-lb-prev {
        left: 20px;
    }

    .s16-lb-next {
        right: 20px;
    }

    .s16-lightbox-image-wrap {
        padding: 0;
    }

    .s16-lightbox-image {
        max-width: 96vw;
        max-height: 72vh;
        border-radius: 6px;
    }
}

/* 4. Mobile Fixed Bottom Bar */
.mobile-fixed-bottom-bar {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #FFFFFF;
    border-top: 1px solid #E2E8F0;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08);
    padding: 10px 16px;
    padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    z-index: 9999;
    gap: 12px;
}

.btn-mobile-call {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px 16px;
    border-radius: 8px;
    background: #F97316;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.btn-mobile-wa {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px 16px;
    border-radius: 8px;
    background: #16B85C;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

/* 5. Responsive Breakpoints */
@media (max-width: 991px) {
    .profile-main-layout {
        flex-direction: column;
        gap: 20px;
    }
    .profile-col-left,
    .profile-col-right {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }
    .profile-sticky-container {
        position: static;
    }
    .profile-contact-card-desktop {
        display: none;
    }
    .profile-contact-card-mobile {
        display: block;
    }
    .sidebar-actions-grid-mobile {
        display: block;
    }
    .sidebar-actions-grid-mobile .btn-sidebar-web {
        width: 100%;
        display: flex;
        justify-content: center;
        text-align: center;
    }
    .page-single-service {
        padding-bottom: 74px; /* Prevents fixed bottom bar from covering content */
    }
    .mobile-fixed-bottom-bar {
        display: flex;
    }
}

@media (max-width: 768px) {
    .section-profile-content {
        padding: 16px 0 30px 0;
    }
}

@media (max-width: 640px) {
    /* Responsive tweaks */
}

@media (max-width: 480px) {
    .sidebar-company-name {
        font-size: 18px;
    }
    .sidebar-company-header {
        gap: 12px;
    }
    .sidebar-logo-box {
        min-width: 50px;
        max-width: 75px;
        height: 50px;
    }
    .profile-cover-banner {
        aspect-ratio: 16/10;
        margin-bottom: 18px;
    }
}

/* ==========================================================================
   District Category Showcase Hub Page (/ilce/{district}/)
   ========================================================================== */

/* Quick Category Navigation Anchor Bar */
.district-quick-nav-bar {
    background: #FFFFFF;
    border-bottom: 1px solid #E2E8F0;
    padding: 14px 0;
    position: sticky;
    top: 68px; /* Below fixed site header */
    z-index: 40;
    box-shadow: 0 2px 8px rgba(15, 39, 71, 0.04);
}

.district-quick-nav-inner {
    display: flex;
    align-items: center;
    gap: 16px;
}

.district-quick-nav-label {
    font-size: 13px;
    font-weight: 700;
    color: #64748B;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 6px;
}

.district-pills-scroll {
    display: flex;
    align-items: center;
    gap: 10px;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 2px 0;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
}

.district-pills-scroll::-webkit-scrollbar {
    display: none;
}

.district-nav-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #F1F5F9;
    border: 1px solid #E2E8F0;
    border-radius: 9999px;
    padding: 6px 14px;
    color: #0F2747;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all 0.2s ease;
}

.district-nav-pill:hover {
    background: #EFF6FF;
    border-color: #3B82F6;
    color: #1D4ED8;
    transform: translateY(-1px);
}

.district-nav-pill.is-active {
    background: #0F2747;
    border-color: #0F2747;
    color: #FFFFFF;
    box-shadow: 0 2px 8px rgba(15, 39, 71, 0.15);
}

.district-nav-pill.is-active .pill-icon {
    color: var(--color-orange, #F97316);
}

.district-nav-pill.is-active .pill-count {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.35);
    color: #FFFFFF;
}

.district-nav-pill.is-active:hover {
    background: #1A365D;
    border-color: #1A365D;
    color: #FFFFFF;
    transform: none;
}

.district-nav-pill.is-disabled,
span.district-nav-pill.is-empty {
    opacity: 0.45;
    cursor: not-allowed;
    background: #F8FAFC;
    border-color: #E2E8F0;
    color: #94A3B8;
    user-select: none;
}

.district-nav-pill.is-disabled:hover,
span.district-nav-pill.is-empty:hover {
    background: #F8FAFC;
    border-color: #E2E8F0;
    color: #94A3B8;
    transform: none;
    box-shadow: none;
}

.district-nav-pill.is-disabled .pill-icon,
span.district-nav-pill.is-empty .pill-icon {
    color: #CBD5E1;
}

.district-nav-pill.is-disabled .pill-count,
span.district-nav-pill.is-empty .pill-count {
    background: #F1F5F9;
    border-color: #E2E8F0;
    color: #94A3B8;
}

.district-nav-pill.is-disabled.is-active,
span.district-nav-pill.is-empty.is-active {
    opacity: 0.85;
    background: #475569;
    border-color: #475569;
    color: #FFFFFF;
}

.district-nav-pill.is-disabled.is-active .pill-icon,
span.district-nav-pill.is-empty.is-active .pill-icon {
    color: var(--color-orange, #F97316);
}

.district-nav-pill.is-disabled.is-active .pill-count,
span.district-nav-pill.is-empty.is-active .pill-count {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.35);
    color: #FFFFFF;
}

.district-nav-pill .pill-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #F97316;
}

.district-nav-pill .pill-icon svg {
    width: 16px;
    height: 16px;
}

.district-nav-pill .pill-count {
    background: #FFFFFF;
    border: 1px solid #CBD5E1;
    border-radius: 9999px;
    padding: 1px 7px;
    font-size: 11px;
    font-weight: 800;
    color: #475569;
}

/* Category Showcase Sections */
.section-district-showcases {
    padding: 40px 0 80px 0;
    scroll-behavior: smooth;
}

.district-category-showcase {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    padding: 28px;
    margin-bottom: 36px;
    box-shadow: 0 4px 16px rgba(15, 39, 71, 0.04);
    scroll-margin-top: 130px; /* Offset for sticky nav + header */
    transition: border-color 0.2s ease;
}

.district-category-showcase:hover {
    border-color: #CBD5E1;
}

/* Showcase Header */
.showcase-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 20px;
    margin-bottom: 24px;
    border-bottom: 1px solid #F1F5F9;
}

.showcase-header-left {
    display: flex;
    align-items: center;
    gap: 16px;
}

.showcase-cat-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.showcase-cat-icon svg {
    width: 26px;
    height: 26px;
}

.showcase-cat-icon.icon-color-orange {
    background: #FFF7ED;
    color: #EA580C;
}

.showcase-cat-icon.icon-color-sky {
    background: #F0F9FF;
    color: #0284C7;
}

.showcase-cat-icon.icon-color-blue {
    background: #EFF6FF;
    color: #2563EB;
}

.showcase-cat-icon.icon-color-indigo {
    background: #EEF2FF;
    color: #4F46E5;
}

.showcase-title-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.showcase-title {
    font-size: 20px;
    font-weight: 800;
    color: #0F2747;
    margin: 0;
    letter-spacing: -0.3px;
}

.showcase-count-pill {
    display: inline-flex;
    align-items: center;
    background: #FEF3C7;
    border: 1px solid #FDE68A;
    color: #92400E;
    font-size: 12px;
    font-weight: 800;
    padding: 2px 10px;
    border-radius: 9999px;
}

.showcase-desc {
    font-size: 13px;
    color: #64748B;
    margin: 4px 0 0 0;
}

/* Desktop View-All Link */
.showcase-viewall-desktop {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    padding: 10px 18px;
    color: #0F2747;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.showcase-viewall-desktop:hover {
    background: #0F2747;
    border-color: #0F2747;
    color: #FFFFFF;
    transform: translateX(2px);
}

.showcase-viewall-desktop .viewall-arrow {
    display: flex;
    align-items: center;
    transition: transform 0.2s ease;
}

.showcase-viewall-desktop:hover .viewall-arrow {
    transform: translateX(3px);
}

/* Mobile View-All Button (Hidden on Desktop) */
.showcase-footer-mobile {
    display: none;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #F1F5F9;
}

.btn-showcase-viewall-mobile {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px 16px;
    background: #F1F5F9;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    color: #0F2747;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    text-align: center;
    transition: all 0.2s ease;
}

.btn-showcase-viewall-mobile:hover,
.btn-showcase-viewall-mobile:active {
    background: #0F2747;
    border-color: #0F2747;
    color: #FFFFFF;
}

/* District Bottom CTA Box */
.district-bottom-cta {
    background: linear-gradient(135deg, #0F2747 0%, #1E3A8A 100%);
    border-radius: 16px;
    padding: 32px 36px;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 24px;
    box-shadow: 0 8px 24px rgba(15, 39, 71, 0.12);
}

.district-cta-content {
    display: flex;
    align-items: center;
    gap: 20px;
    max-width: 650px;
}

.district-cta-icon {
    font-size: 40px;
    flex-shrink: 0;
}

.district-cta-title {
    font-size: 20px;
    font-weight: 800;
    color: #FFFFFF;
    margin: 0 0 6px 0;
}

.district-cta-desc {
    font-size: 14px;
    color: #CBD5E1;
    margin: 0;
    line-height: 1.5;
}

.district-cta-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.district-cta-actions .btn-card-call,
.district-cta-actions .btn-card-whatsapp {
    width: auto;
    padding: 12px 22px;
    font-size: 14px;
    font-weight: 700;
    border-radius: 10px;
}

/* Responsive Overrides */
@media (max-width: 991px) {
    .district-category-showcase {
        padding: 22px 18px;
        margin-bottom: 28px;
    }
    .showcase-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
    .showcase-viewall-desktop {
        display: none;
    }
    .showcase-footer-mobile {
        display: block;
    }
    .district-bottom-cta {
        flex-direction: column;
        align-items: flex-start;
        padding: 24px 20px;
    }
    .district-cta-actions {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    .district-cta-actions .btn-card-call,
    .district-cta-actions .btn-card-whatsapp {
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}

@media (max-width: 640px) {
    .district-quick-nav-bar {
        top: 60px;
        padding: 10px 0;
    }
    .district-quick-nav-label {
        display: none;
    }
    .district-pills-scroll {
        width: 100%;
    }
    .showcase-title {
        font-size: 18px;
    }
    .showcase-header-left {
        gap: 12px;
    }
    .showcase-cat-icon {
        width: 40px;
        height: 40px;
    }
    .showcase-cat-icon svg {
        width: 22px;
        height: 22px;
    }
    .district-cta-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .district-cta-actions {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   SINGLE POST STYLES (single.php)
   ========================================================================== */
.page-single-post {
    padding: 32px 0 60px 0;
}

.single-post-layout {
    display: flex;
    gap: 32px;
    align-items: flex-start;
}

.single-post-main-col {
    flex: 0 0 calc(68% - 16px);
    width: calc(68% - 16px);
    max-width: calc(68% - 16px);
}

.single-post-sidebar-col {
    flex: 0 0 calc(32% - 16px);
    width: calc(32% - 16px);
    max-width: calc(32% - 16px);
}

.single-post-article {
    background: #FFFFFF;
    border: 1px solid var(--color-border);
    border-radius: 16px;
    padding: 36px 40px;
    box-shadow: var(--shadow-sm);
}

.single-post-cat-badge {
    display: inline-flex;
    align-items: center;
    background: #FFF7ED;
    color: #EA580C;
    font-size: 13px;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 20px;
    border: 1px solid #FED7AA;
    text-decoration: none;
    margin-bottom: 16px;
    transition: var(--transition);
}

.single-post-cat-badge:hover {
    background: #FFEDD5;
}

.single-post-title {
    font-size: 32px;
    font-weight: 800;
    color: var(--color-navy);
    line-height: 1.28;
    margin-bottom: 16px;
    letter-spacing: -0.02em;
}

.single-post-meta-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    font-size: 13.5px;
    color: var(--color-text-secondary);
    padding-bottom: 24px;
    border-bottom: 1px solid var(--color-border);
    margin-bottom: 28px;
}

.meta-author {
    display: flex;
    align-items: center;
    gap: 8px;
}

.meta-avatar img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
}

.meta-author-name a {
    color: var(--color-navy);
    font-weight: 600;
    text-decoration: none;
}

.meta-author-name a:hover {
    color: var(--color-orange);
}

.meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.meta-item svg {
    color: var(--color-text-muted);
}

.meta-dot {
    color: #CBD5E1;
}

.meta-comments-link {
    color: var(--color-text-secondary);
    text-decoration: none;
    transition: var(--transition);
}

.meta-comments-link:hover {
    color: var(--color-orange);
}

/* Featured Media Showcase */
.single-post-featured-media {
    margin: 0 0 32px 0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(15, 39, 71, 0.06);
    border: 1px solid var(--color-border);
}

.featured-media-img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}

.featured-media-caption {
    font-size: 12.5px;
    color: var(--color-text-secondary);
    text-align: center;
    padding: 8px 14px;
    background: #F8FAFC;
    border-top: 1px solid var(--color-border);
}

/* Entry Content Typography */
.entry-content {
    font-size: 16px;
    line-height: 1.85;
    color: #334155;
}

.entry-content p {
    margin-bottom: 22px;
}

.entry-content h2 {
    font-size: 24px;
    font-weight: 800;
    color: var(--color-navy);
    margin: 38px 0 16px 0;
    line-height: 1.3;
    letter-spacing: -0.01em;
    border-bottom: 2px solid #F1F5F9;
    padding-bottom: 8px;
}

.entry-content h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--color-navy);
    margin: 30px 0 14px 0;
    line-height: 1.35;
}

.entry-content h4 {
    font-size: 17px;
    font-weight: 700;
    color: var(--color-navy);
    margin: 24px 0 12px 0;
}

.entry-content ul, 
.entry-content ol {
    margin: 0 0 24px 24px;
    padding: 0;
}

.entry-content li {
    margin-bottom: 8px;
    line-height: 1.7;
}

.entry-content blockquote {
    margin: 28px 0;
    padding: 18px 24px;
    background: #FFF7ED;
    border-left: 4px solid var(--color-orange);
    border-radius: 0 12px 12px 0;
    font-style: italic;
    color: #9A3412;
    font-size: 16.5px;
}

.entry-content blockquote p:last-child {
    margin-bottom: 0;
}

.entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 28px 0;
    font-size: 14.5px;
    border-radius: 8px;
    overflow: hidden;
}

.entry-content th {
    background: #0F2747;
    color: #FFFFFF;
    font-weight: 700;
    padding: 12px 16px;
    text-align: left;
}

.entry-content td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--color-border);
}

.entry-content tr:nth-child(even) td {
    background: #F8FAFC;
}

.entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 18px 0;
}

.entry-content a {
    color: var(--color-orange);
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 600;
}

.entry-content a:hover {
    color: var(--color-orange-hover);
}

/* Post Tags */
.single-post-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 36px;
    padding-top: 24px;
    border-top: 1px solid var(--color-border);
}

.tags-label {
    font-size: 13.5px;
    font-weight: 700;
    color: var(--color-navy);
}

.tags-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.post-tag-chip {
    display: inline-block;
    background: #F1F5F9;
    color: var(--color-navy);
    font-size: 13px;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 20px;
    text-decoration: none;
    transition: var(--transition);
}

.post-tag-chip:hover {
    background: #E2E8F0;
    color: var(--color-orange);
}

/* Social Share Card */
.single-post-share-card {
    background: #F8FAFC;
    border: 1px solid var(--color-border);
    border-radius: 12px;
    padding: 18px 22px;
    margin: 30px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.share-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--color-navy);
}

.share-buttons-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.btn-share {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: var(--transition);
}

.btn-share-wa {
    background: #16B85C;
    color: #FFFFFF;
}

.btn-share-wa:hover {
    background: #129E4E;
    color: #FFFFFF;
}

.btn-share-tw {
    background: #0F172A;
    color: #FFFFFF;
}

.btn-share-tw:hover {
    background: #000000;
    color: #FFFFFF;
}

.btn-share-fb {
    background: #1877F2;
    color: #FFFFFF;
}

.btn-share-fb:hover {
    background: #0D65D9;
    color: #FFFFFF;
}

.btn-share-copy {
    background: #FFFFFF;
    border: 1px solid #CBD5E1;
    color: var(--color-navy);
}

.btn-share-copy:hover {
    background: #F1F5F9;
    border-color: #94A3B8;
}

.btn-share-copy.is-copied {
    background: #ECFDF5;
    border-color: #10B981;
    color: #047857;
}

/* Author Box */
.single-post-author-box {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    background: #FFFFFF;
    border: 1px solid var(--color-border);
    border-radius: 14px;
    padding: 24px;
    margin: 32px 0;
}

.author-avatar-wrap img {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--color-border);
}

.author-info {
    flex: 1;
}

.author-role {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--color-orange);
    letter-spacing: 0.05em;
}

.author-name {
    font-size: 18px;
    font-weight: 800;
    color: var(--color-navy);
    margin: 2px 0 6px 0;
}

.author-bio {
    font-size: 14px;
    color: var(--color-text-secondary);
    line-height: 1.6;
    margin-bottom: 10px;
}

.author-all-posts {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    color: var(--color-navy);
    text-decoration: none;
    transition: var(--transition);
}

.author-all-posts:hover {
    color: var(--color-orange);
}

/* Post Navigation (Prev / Next) */
.single-post-navigation {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 36px 0;
}

.nav-post-card {
    display: flex;
    flex-direction: column;
    background: #F8FAFC;
    border: 1px solid var(--color-border);
    border-radius: 12px;
    padding: 18px 20px;
    text-decoration: none;
    transition: var(--transition);
}

.nav-post-card:hover {
    background: #FFFFFF;
    border-color: var(--color-navy);
    transform: translateY(-2px);
    box-shadow: var(--shadow-sm);
}

.nav-direction {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--color-text-secondary);
    margin-bottom: 6px;
}

.next-post-card .nav-direction {
    justify-content: flex-end;
}

.nav-title {
    font-size: 14.5px;
    font-weight: 700;
    color: var(--color-navy);
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.next-post-card .nav-title {
    text-align: right;
}

/* Single Post Sidebar */
.sidebar-sticky-wrapper {
    position: sticky;
    top: 96px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.sidebar-widget-card {
    background: #FFFFFF;
    border: 1px solid var(--color-border);
    border-radius: 14px;
    padding: 24px;
    box-shadow: var(--shadow-sm);
}

.widget-card-title {
    font-size: 17px;
    font-weight: 800;
    color: var(--color-navy);
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--color-border);
}

.widget-cta-card {
    background: linear-gradient(135deg, #0F2747 0%, #1A365D 100%);
    color: #FFFFFF;
    border: none;
}

.widget-cta-badge {
    display: inline-block;
    background: rgba(249, 115, 22, 0.2);
    border: 1px solid rgba(249, 115, 22, 0.5);
    color: #FDBA74;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 4px;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.widget-cta-title {
    font-size: 20px;
    font-weight: 800;
    color: #FFFFFF;
    line-height: 1.3;
    margin-bottom: 8px;
}

.widget-cta-desc {
    font-size: 13.5px;
    color: #CBD5E1;
    line-height: 1.5;
    margin-bottom: 18px;
}

.widget-cta-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.widget-cta-actions .btn-sidebar-cta {
    width: 100%;
    justify-content: center;
}

.sidebar-cat-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sidebar-cat-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    background: #F8FAFC;
    border: 1px solid #EEF2F6;
    border-radius: 8px;
    text-decoration: none;
    transition: var(--transition);
}

.sidebar-cat-item:hover {
    background: #F1F5F9;
    border-color: #CBD5E1;
    transform: translateX(3px);
}

.cat-item-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cat-icon-chip {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    color: var(--color-orange);
}

.cat-item-name {
    font-size: 14px;
    font-weight: 700;
    color: var(--color-navy);
}

.sidebar-latest-posts {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.sidebar-post-item {
    display: flex;
    gap: 12px;
    align-items: center;
    text-decoration: none;
}

.sidebar-post-thumb {
    width: 60px;
    height: 60px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: #F1F5F9;
}

.sidebar-post-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fallback-thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94A3B8;
}

.sidebar-post-info {
    flex: 1;
}

.sidebar-post-title {
    font-size: 13.5px;
    font-weight: 700;
    color: var(--color-navy);
    line-height: 1.35;
    margin-bottom: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: var(--transition);
}

.sidebar-post-item:hover .sidebar-post-title {
    color: var(--color-orange);
}

.sidebar-post-date {
    font-size: 12px;
    color: var(--color-text-muted);
}

/* ==========================================================================
   COMMENTS STYLES (comments.php)
   ========================================================================== */
.comments-area {
    margin-top: 48px;
    padding-top: 36px;
    border-top: 1px solid var(--color-border);
}

.comments-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--color-navy);
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
}

.comment-list {
    list-style: none;
    padding: 0;
    margin: 0 0 36px 0;
}

.comment-list .comment {
    margin-bottom: 20px;
}

.comment-list .comment-body {
    background: #F8FAFC;
    border: 1px solid var(--color-border);
    border-radius: 12px;
    padding: 18px 20px;
}

.comment-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.comment-author img {
    border-radius: 50%;
    width: 40px;
    height: 40px;
    object-fit: cover;
}

.comment-author .fn {
    font-weight: 700;
    color: var(--color-navy);
    font-size: 14.5px;
}

.comment-metadata {
    font-size: 12.5px;
    color: var(--color-text-muted);
    margin-left: auto;
}

.comment-metadata a {
    color: inherit;
    text-decoration: none;
}

.comment-content p {
    font-size: 14.5px;
    line-height: 1.6;
    color: #334155;
    margin-bottom: 10px;
}

.reply a {
    display: inline-flex;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--color-orange);
    text-decoration: none;
    transition: var(--transition);
}

.reply a:hover {
    color: var(--color-orange-hover);
    text-decoration: underline;
}

.comment-respond {
    background: #FFFFFF;
    border: 1px solid var(--color-border);
    border-radius: 14px;
    padding: 28px;
    margin-top: 28px;
}

.comment-reply-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--color-navy);
    margin-bottom: 10px;
}

.comment-notes {
    font-size: 13px;
    color: var(--color-text-secondary);
    margin-bottom: 16px;
}

.comment-form p {
    margin-bottom: 16px;
}

.comment-form label {
    display: block;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--color-navy);
    margin-bottom: 6px;
}

.comment-form input[type="text"], 
.comment-form input[type="email"], 
.comment-form input[type="url"], 
.comment-form textarea {
    width: 100%;
    border: 1px solid #CBD5E1;
    border-radius: 8px;
    padding: 10px 14px;
    font-family: inherit;
    font-size: 14px;
    transition: var(--transition);
}

.comment-form input:focus, 
.comment-form textarea:focus {
    outline: none;
    border-color: var(--color-orange);
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.15);
}

.btn-submit-comment {
    background: var(--color-orange);
    color: #FFFFFF;
    font-weight: 700;
    font-size: 14px;
    border: none;
    border-radius: 8px;
    padding: 12px 24px;
    cursor: pointer;
    transition: var(--transition);
}

.btn-submit-comment:hover {
    background: var(--color-orange-hover);
}

/* ==========================================================================
   SINGLE PAGE STYLES (page.php)
   ========================================================================== */
.page-standard-page {
    padding: 32px 0 60px 0;
}

.page-content-wrapper {
    max-width: 960px;
    margin: 0 auto;
}

.page-entry-card {
    background: #FFFFFF;
    border: 1px solid var(--color-border);
    border-radius: 16px;
    padding: 40px 48px;
    box-shadow: var(--shadow-sm);
}

.page-entry-title {
    font-size: 32px;
    font-weight: 800;
    color: var(--color-navy);
    line-height: 1.25;
    margin-bottom: 10px;
}

.page-entry-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--color-text-secondary);
    padding-bottom: 22px;
    border-bottom: 1px solid var(--color-border);
    margin-bottom: 28px;
}

.page-update-date {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.page-featured-media {
    margin: 0 0 32px 0;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid var(--color-border);
    box-shadow: 0 4px 16px rgba(0,0,0,0.04);
}

.page-featured-img {
    width: 100%;
    height: auto;
    max-height: 440px;
    object-fit: cover;
    display: block;
}

.page-media-caption {
    font-size: 12.5px;
    color: var(--color-text-secondary);
    text-align: center;
    padding: 8px 12px;
    background: #F8FAFC;
    border-top: 1px solid var(--color-border);
}

/* ==========================================================================
   CONTACT PAGE STYLES (page-contact.php)
   ========================================================================== */
.page-contact-page {
    padding: 32px 0 60px 0;
}

.contact-main-grid {
    display: flex;
    gap: 32px;
    align-items: flex-start;
    margin-bottom: 48px;
}

.contact-info-col {
    flex: 0 0 calc(38% - 16px);
    width: calc(38% - 16px);
    max-width: calc(38% - 16px);
}

.contact-form-col {
    flex: 0 0 calc(62% - 16px);
    width: calc(62% - 16px);
    max-width: calc(62% - 16px);
}

.contact-intro-box {
    margin-bottom: 24px;
}

.contact-kicker-badge {
    display: inline-block;
    background: #E0F2FE;
    color: #0369A1;
    font-size: 12px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.contact-info-heading {
    font-size: 26px;
    font-weight: 800;
    color: var(--color-navy);
    line-height: 1.25;
    margin-bottom: 8px;
}

.contact-info-desc {
    font-size: 14px;
    color: var(--color-text-secondary);
    line-height: 1.6;
}

.contact-cards-stack {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 24px;
}

.contact-channel-card {
    background: #FFFFFF;
    border: 1px solid var(--color-border);
    border-radius: 12px;
    padding: 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    transition: var(--transition);
    box-shadow: var(--shadow-sm);
}

.contact-channel-card:hover {
    transform: translateY(-2px);
    border-color: #CBD5E1;
    box-shadow: var(--shadow-md);
}

.channel-icon-wrap {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.channel-phone .channel-icon-wrap {
    background: #FFF7ED;
    color: #EA580C;
}

.channel-whatsapp .channel-icon-wrap {
    background: #DCFCE7;
    color: #16A34A;
}

.channel-email .channel-icon-wrap {
    background: #E0F2FE;
    color: #0284C7;
}

.channel-location .channel-icon-wrap {
    background: #F1F5F9;
    color: var(--color-navy);
}

.channel-content {
    flex: 1;
}

.channel-label {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--color-text-secondary);
    display: block;
    margin-bottom: 2px;
}

.channel-value {
    font-size: 15px;
    font-weight: 800;
    color: var(--color-navy);
    text-decoration: none;
    transition: var(--transition);
}

.channel-value:hover {
    color: var(--color-orange);
}

.channel-hint {
    font-size: 12px;
    color: var(--color-text-muted);
    display: block;
    margin-top: 2px;
}

.channel-address {
    font-size: 14px;
    font-weight: 700;
    color: var(--color-navy);
    line-height: 1.4;
}

.channel-hours-row {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #16A34A;
    font-weight: 600;
    margin-top: 4px;
}

.hours-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #16A34A;
}

.btn-channel-action {
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12.5px;
    font-weight: 700;
    text-decoration: none;
    flex-shrink: 0;
    transition: var(--transition);
}

.btn-phone-action {
    background: var(--color-orange);
    color: #FFFFFF;
}

.btn-phone-action:hover {
    background: var(--color-orange-hover);
}

.btn-wa-action {
    background: #16B85C;
    color: #FFFFFF;
}

.btn-wa-action:hover {
    background: #129E4E;
}

.contact-social-wrap {
    background: #FFFFFF;
    border: 1px solid var(--color-border);
    border-radius: 12px;
    padding: 16px 18px;
}

.social-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--color-navy);
    display: block;
    margin-bottom: 10px;
}

.social-icons-row {
    display: flex;
    gap: 10px;
}

.social-btn {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-navy);
    transition: var(--transition);
    text-decoration: none;
}

.social-btn:hover {
    background: var(--color-navy);
    color: #FFFFFF;
    border-color: var(--color-navy);
    transform: translateY(-2px);
}

/* Contact Form Card */
.contact-form-card {
    background: #FFFFFF;
    border: 1px solid var(--color-border);
    border-radius: 16px;
    padding: 36px 40px;
    box-shadow: var(--shadow-sm);
}

.form-card-header {
    margin-bottom: 26px;
}

.form-title {
    font-size: 24px;
    font-weight: 800;
    color: var(--color-navy);
    margin-bottom: 6px;
}

.form-desc {
    font-size: 14px;
    color: var(--color-text-secondary);
}

.contact-alert-box {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 24px;
}

.contact-alert-box.is-success {
    background: #ECFDF5;
    border: 1px solid #10B981;
    color: #065F46;
}

.contact-alert-box.is-error {
    background: #FEF2F2;
    border: 1px solid #EF4444;
    color: #991B1B;
}

.alert-icon {
    font-size: 16px;
    font-weight: 800;
}

.s16-contact-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.form-row-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.form-label {
    font-size: 13.5px;
    font-weight: 700;
    color: var(--color-navy);
}

.form-label .required {
    color: #EF4444;
}

.input-with-icon {
    position: relative;
    display: flex;
    align-items: center;
}

.input-with-icon .input-icon {
    position: absolute;
    left: 14px;
    color: var(--color-text-muted);
    pointer-events: none;
    display: flex;
    align-items: center;
}

.input-with-icon .form-input, 
.input-with-icon .form-select {
    padding-left: 42px;
}

.form-input, 
.form-select, 
.form-textarea {
    width: 100%;
    border: 1px solid #CBD5E1;
    border-radius: 10px;
    padding: 12px 16px;
    font-family: inherit;
    font-size: 14px;
    color: var(--color-text-main);
    background: #FFFFFF;
    transition: var(--transition);
}

.form-input:focus, 
.form-select:focus, 
.form-textarea:focus {
    outline: none;
    border-color: var(--color-orange);
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.15);
}

.form-select {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 38px;
}

.form-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    color: var(--color-text-secondary);
    cursor: pointer;
}

.form-checkbox-label input {
    margin-top: 3px;
    accent-color: var(--color-orange);
}

.form-submit-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 8px;
    flex-wrap: wrap;
}

.btn-submit-contact {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--color-orange);
    color: #FFFFFF;
    border: none;
    border-radius: 10px;
    padding: 14px 28px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: var(--transition);
    box-shadow: 0 4px 12px rgba(249, 115, 22, 0.25);
}

.btn-submit-contact:hover {
    background: var(--color-orange-hover);
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(249, 115, 22, 0.35);
}

.btn-submit-contact:disabled {
    opacity: 0.65;
    cursor: not-allowed;
    transform: none;
}

.submit-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid #FFFFFF;
    border-top-color: transparent;
    border-radius: 50%;
    animation: s16-spin 0.8s linear infinite;
}

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

.form-privacy-hint {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--color-text-muted);
}

/* Coverage Banner */
.contact-coverage-banner {
    background: #FFFFFF;
    border: 1px solid var(--color-border);
    border-radius: 16px;
    padding: 36px 40px;
    box-shadow: var(--shadow-sm);
}

.coverage-banner-header {
    max-width: 640px;
    margin-bottom: 24px;
}

.coverage-kicker {
    display: inline-block;
    background: #FFF7ED;
    color: #EA580C;
    font-size: 12px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.coverage-title {
    font-size: 22px;
    font-weight: 800;
    color: var(--color-navy);
    line-height: 1.3;
    margin-bottom: 8px;
}

.coverage-desc {
    font-size: 14px;
    color: var(--color-text-secondary);
    line-height: 1.6;
}

.coverage-districts-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 28px;
}

.coverage-district-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 20px;
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-navy);
    text-decoration: none;
    transition: var(--transition);
}

.coverage-district-pill:hover {
    background: #F1F5F9;
    border-color: var(--color-orange);
    color: var(--color-orange);
}

.coverage-district-pill .pill-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #10B981;
}

.coverage-cta-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    background: linear-gradient(135deg, #0F2747 0%, #1A365D 100%);
    color: #FFFFFF;
    padding: 22px 28px;
    border-radius: 12px;
}

.coverage-cta-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.coverage-cta-text strong {
    font-size: 16px;
    font-weight: 800;
    color: #FFFFFF;
}

.coverage-cta-text span {
    font-size: 13.5px;
    color: #CBD5E1;
}

.btn-coverage-partner {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--color-orange);
    color: #FFFFFF;
    font-weight: 700;
    font-size: 14px;
    padding: 10px 20px;
    border-radius: 8px;
    text-decoration: none;
    flex-shrink: 0;
    transition: var(--transition);
}

.btn-coverage-partner:hover {
    background: var(--color-orange-hover);
}

/* ==========================================================================
   RESPONSIVE BREAKPOINTS FOR NEW TEMPLATES
   ========================================================================== */
@media (max-width: 991px) {
    .single-post-layout {
        flex-direction: column;
        gap: 30px;
    }
    .single-post-main-col,
    .single-post-sidebar-col {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }
    .sidebar-sticky-wrapper {
        position: static;
    }
    .contact-main-grid {
        flex-direction: column;
        gap: 30px;
    }
    .contact-info-col,
    .contact-form-col {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .page-single-post,
    .page-standard-page,
    .page-contact-page {
        padding: 20px 0 40px 0;
    }
    .single-post-article,
    .page-entry-card,
    .contact-form-card,
    .contact-coverage-banner {
        padding: 24px 20px;
        border-radius: 12px;
    }
    .single-post-title,
    .page-entry-title {
        font-size: 24px;
        line-height: 1.3;
    }
    .contact-info-heading {
        font-size: 22px;
    }
    .form-title {
        font-size: 20px;
    }
    .form-row-split {
        grid-template-columns: 1fr;
    }
    .single-post-navigation {
        grid-template-columns: 1fr;
    }
    .coverage-cta-box {
        flex-direction: column;
        align-items: flex-start;
        padding: 20px;
    }
    .btn-coverage-partner {
        width: 100%;
        justify-content: center;
    }
    .single-post-author-box {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 20px;
    }
    .author-all-posts {
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .single-post-meta-bar {
        font-size: 12.5px;
        gap: 8px;
    }
    .share-buttons-row {
        width: 100%;
    }
    .btn-share {
        flex: 1 1 calc(50% - 6px);
        justify-content: center;
    }
    .btn-submit-contact {
        width: 100%;
        justify-content: center;
    }
    .form-privacy-hint {
        width: 100%;
        justify-content: center;
    }
}

/* ==========================================================================
   YOL TARİFİ AL (GOOGLE MAPS) BUTTON
   ========================================================================== */
.sidebar-address-wrap {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
}

.btn-directions-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11.5px;
    font-weight: 700;
    color: var(--color-orange, #F97316);
    background: #FFF7ED;
    border: 1px solid #FED7AA;
    padding: 3px 8px;
    border-radius: 6px;
    text-decoration: none;
    width: fit-content;
    transition: all 0.15s ease;
}

.btn-directions-link:hover {
    background: #FFEDD5;
    color: #EA580C;
    border-color: #FDBA74;
}

.btn-directions-link svg {
    flex-shrink: 0;
}

/* ==========================================================================
   CUSTOMER REVIEWS & RATINGS CARD (Admin Approved)
   ========================================================================== */
.profile-reviews-card {
    margin-top: 24px;
}

.profile-reviews-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid #E2E8F0;
}

.reviews-title-star {
    margin-right: 6px;
    font-size: 20px;
}

.profile-reviews-subtitle {
    font-size: 13px;
    color: #64748B;
    margin: 4px 0 0 0;
}

.btn-write-review {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #EFF6FF;
    color: #2563EB;
    border: 1px solid #BFDBFE;
    font-size: 12.5px;
    font-weight: 700;
    padding: 8px 14px;
    border-radius: 8px;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.15s ease;
}

.btn-write-review:hover {
    background: #DBEAFE;
    color: #1D4ED8;
    border-color: #93C5FD;
}

/* Rating Summary Box */
.reviews-summary-box {
    display: flex;
    align-items: center;
    gap: 24px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    padding: 18px 22px;
    margin-bottom: 24px;
}

@media (max-width: 640px) {
    .reviews-summary-box {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
}

.summary-score-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 110px;
    padding-right: 20px;
    border-right: 1px solid #E2E8F0;
}

@media (max-width: 640px) {
    .summary-score-col {
        border-right: none;
        padding-right: 0;
        border-bottom: 1px solid #E2E8F0;
        padding-bottom: 12px;
        width: 100%;
    }
}

.summary-big-score {
    font-size: 38px;
    font-weight: 900;
    color: #0F172A;
    line-height: 1;
}

.summary-stars-row {
    margin: 4px 0;
    font-size: 16px;
    display: flex;
    gap: 2px;
}

.star-filled {
    color: #F59E0B;
}

.star-empty {
    color: #CBD5E1;
}

.summary-total-count {
    font-size: 11.5px;
    font-weight: 600;
    color: #64748B;
}

.summary-info-col {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.summary-badge-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    color: #475569;
}

.summary-badge-icon {
    font-size: 14px;
    flex-shrink: 0;
}

/* Reviews List */
.reviews-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 30px;
}

.review-item {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    padding: 16px 18px;
}

.review-item-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.review-author-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}

.review-avatar-fallback {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--color-navy, #1E3A8A);
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
}

.review-author-name {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: #0F172A;
}

.review-date {
    font-size: 11.5px;
    color: #94A3B8;
}

.review-stars {
    font-size: 15px;
    letter-spacing: 1px;
}

.review-comment-content {
    font-size: 13px;
    color: #334155;
    line-height: 1.6;
}

.review-comment-content p {
    margin: 0 0 6px 0;
}

.review-comment-content p:last-child {
    margin-bottom: 0;
}

.no-reviews-box {
    text-align: center;
    padding: 30px 20px;
    background: #F8FAFC;
    border: 1px dashed #CBD5E1;
    border-radius: 10px;
}

.no-reviews-icon {
    font-size: 28px;
    display: block;
    margin-bottom: 8px;
}

.no-reviews-box h4 {
    margin: 0 0 4px 0;
    font-size: 14px;
    font-weight: 700;
    color: #334155;
}

.no-reviews-box p {
    margin: 0;
    font-size: 12.5px;
    color: #64748B;
}

/* Review Submission Form */
.review-form-wrap {
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    padding: 22px 24px;
}

.review-form-title {
    margin: 0 0 4px 0;
    font-size: 16px;
    font-weight: 800;
    color: #0F172A;
}

.review-form-desc {
    margin: 0 0 16px 0;
    font-size: 12.5px;
    color: #64748B;
}

.star-rating-picker {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 4px;
}

.star-pick-btn {
    background: none;
    border: none;
    font-size: 26px;
    color: #CBD5E1;
    cursor: pointer;
    padding: 2px 4px;
    line-height: 1;
    transition: transform 0.1s ease, color 0.1s ease;
}

.star-pick-btn:hover {
    transform: scale(1.15);
}

.star-pick-btn.is-active,
.star-pick-btn.is-hovered {
    color: #F59E0B;
}

.star-pick-label {
    margin-left: 10px;
    font-size: 13px;
    font-weight: 700;
    color: #475569;
}

.s16-review-form .s16-fields-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 12px;
}

@media (max-width: 600px) {
    .s16-review-form .s16-fields-row {
        grid-template-columns: 1fr;
    }
}

.s16-review-form .s16-form-field {
    margin-bottom: 12px;
}

.s16-review-form .s16-field-label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: #334155;
    margin-bottom: 5px;
}

.s16-review-form .s16-field-label .required {
    color: #EF4444;
}

.s16-review-form .s16-form-input,
.s16-review-form .s16-form-textarea {
    width: 100%;
    padding: 9px 12px;
    border: 1px solid #CBD5E1;
    border-radius: 8px;
    font-size: 13px;
    background: #FFFFFF;
    color: #0F172A;
    box-sizing: border-box;
    transition: border-color 0.15s;
}

.s16-review-form .s16-form-input:focus,
.s16-review-form .s16-form-textarea:focus {
    border-color: #3B82F6;
    outline: none;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}

.form-submit-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 14px;
    flex-wrap: wrap;
}

.btn-submit-review {
    background: var(--color-orange, #F97316);
    color: #FFFFFF;
    font-weight: 700;
    font-size: 13px;
    padding: 10px 20px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s ease;
}

.btn-submit-review:hover {
    background: #EA580C;
}

.form-privacy-hint {
    font-size: 11.5px;
    color: #94A3B8;
}

/* ==========================================================================
   Programmatic SEO: Taxonomy SEO Guide Content & SSS (FAQ) Section
   ========================================================================== */
.section-taxonomy-seo {
    padding: 48px 0 60px 0;
    background: #F8FAFC;
    border-top: 1px solid #E2E8F0;
    margin-top: 40px;
}

.taxonomy-seo-layout {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.taxonomy-seo-card,
.taxonomy-faq-card {
    background: #FFFFFF;
    border-radius: 16px;
    border: 1px solid #E2E8F0;
    padding: 28px 32px;
    box-shadow: 0 2px 8px rgba(15, 39, 71, 0.04);
}

.taxonomy-seo-card-header {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid #F1F5F9;
}

.taxonomy-seo-card-header .seo-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #EFF6FF;
    color: #2563EB;
    flex-shrink: 0;
}

.taxonomy-seo-title {
    margin: 0;
    font-size: 20px;
    font-weight: 800;
    color: #0F2747;
    line-height: 1.3;
}

.taxonomy-seo-subtitle {
    margin: 4px 0 0 0;
    font-size: 13.5px;
    color: #64748B;
    line-height: 1.5;
}

.taxonomy-seo-body {
    font-size: 15px;
    color: #334155;
    line-height: 1.75;
}

.taxonomy-seo-body p {
    margin: 0 0 16px 0;
}

.taxonomy-seo-body p:last-child {
    margin-bottom: 0;
}

.taxonomy-seo-body h3 {
    font-size: 17px;
    font-weight: 700;
    color: #0F2747;
    margin: 20px 0 10px 0;
}

.taxonomy-seo-body ul,
.taxonomy-seo-body ol {
    margin: 0 0 16px 20px;
    padding: 0;
}

.taxonomy-seo-body li {
    margin-bottom: 6px;
}

@media (max-width: 768px) {
    .section-taxonomy-seo {
        padding: 32px 0 40px 0;
    }
    .taxonomy-seo-card,
    .taxonomy-faq-card {
        padding: 20px 18px;
    }
    .taxonomy-seo-title {
        font-size: 17px;
    }
}

/* ==========================================================================
   Brand Directory Hub & Brand Cards
   ========================================================================== */
.section-brands-hub {
    padding: 36px 0 60px 0;
}

.brands-hub-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 16px;
}

.brand-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.brand-card:hover {
    border-color: #CBD5E1;
    box-shadow: 0 6px 16px rgba(15, 39, 71, 0.07);
    transform: translateY(-2px);
}

.brand-card-logo-wrap {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
}

.brand-card-logo-img {
    max-width: 36px;
    max-height: 36px;
    object-fit: contain;
}

.brand-card-initial {
    font-size: 18px;
    font-weight: 800;
    color: #0F2747;
    text-transform: uppercase;
}

.brand-card-content {
    flex: 1;
    min-width: 0;
}

.brand-card-title {
    font-size: 15px;
    font-weight: 700;
    color: #0F2747;
    margin: 0 0 2px 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.brand-card-count {
    font-size: 12.5px;
    font-weight: 500;
    color: #64748B;
}

.brand-card-arrow {
    color: #94A3B8;
    display: flex;
    align-items: center;
    font-size: 16px;
    transition: transform 0.2s ease, color 0.2s ease;
}

.brand-card:hover .brand-card-arrow {
    transform: translateX(3px);
    color: #F97316;
}

/* Service Card Brand Pills */
.service-brands-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 10px;
}

.service-brand-pill {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    background: #F1F5F9;
    color: #334155;
    border: 1px solid #E2E8F0;
    border-radius: 6px;
    text-decoration: none;
    transition: all 0.15s ease;
}

.service-brand-pill:hover {
    background: #EFF6FF;
    color: #1D4ED8;
    border-color: #BFDBFE;
}

.service-brand-pill--more {
    background: transparent;
    border-style: dashed;
    color: #64748B;
}

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

/* ==========================================================================
   No Rating & Hours & Contact Directory Notices
   ========================================================================== */
.service-no-rating {
    font-size: 11.5px;
    font-weight: 500;
    color: #64748B;
    background: #F1F5F9;
    padding: 2px 7px;
    border-radius: 4px;
}

.sidebar-no-rating-badge {
    display: inline-flex;
    align-items: center;
    font-size: 11.5px;
    font-weight: 500;
    color: #64748B;
    background: #F1F5F9;
    padding: 2px 7px;
    border-radius: 4px;
}

.summary-score-col--empty .summary-no-score-badge {
    font-size: 24px;
    margin-bottom: 4px;
}

.summary-score-col--empty .summary-no-score-text {
    font-size: 14px;
    font-weight: 700;
    color: #475569;
    text-align: center;
    line-height: 1.3;
}

.summary-score-col--empty .summary-total-count {
    font-size: 12px;
    color: #94A3B8;
    margin-top: 4px;
}

.contact-directory-notice {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #F0F9FF;
    border: 1px solid #BAE6FD;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 20px;
    font-size: 13px;
    color: #0369A1;
    line-height: 1.5;
}

.contact-directory-notice .notice-icon {
    font-size: 18px;
    flex-shrink: 0;
    line-height: 1;
}

.contact-directory-notice strong {
    color: #0C4A6E;
    font-weight: 700;
}

.profile-hours-empty, .profile-hours-custom {
    padding: 12px;
    background: #F8FAFC;
    border-radius: 8px;
    border: 1px solid #E2E8F0;
    font-size: 13px;
    color: #64748B;
}

.profile-hours-empty p, .profile-hours-custom p {
    margin: 0;
}

/* ==========================================================================
   Servis16 Elite Sponsor Crown Badge (Firma Detay & Prestij Rozeti)
   ========================================================================== */
.sidebar-sponsor-badge-wrap {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.s16-elite-sponsor-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 12px 4px 5px;
    background: linear-gradient(135deg, #0B1728 0%, #17253D 50%, #0F2747 100%);
    border: 1px solid rgba(245, 158, 11, 0.5);
    border-radius: 9px;
    box-shadow: 0 4px 14px rgba(11, 23, 40, 0.22), 0 1px 3px rgba(245, 158, 11, 0.2);
    position: relative;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    user-select: none;
    text-decoration: none;
}

.s16-elite-sponsor-badge:hover {
    transform: translateY(-1px);
    border-color: rgba(245, 158, 11, 0.85);
    box-shadow: 0 6px 18px rgba(11, 23, 40, 0.3), 0 2px 8px rgba(245, 158, 11, 0.35);
}

.s16-elite-sponsor-badge::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -70%;
    width: 35%;
    height: 200%;
    background: linear-gradient(
        to right,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.25) 50%,
        rgba(255, 255, 255, 0) 100%
    );
    transform: rotate(25deg);
    animation: s16CrownBadgeShine 4.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
    pointer-events: none;
}

@keyframes s16CrownBadgeShine {
    0%, 75% {
        left: -70%;
    }
    100% {
        left: 170%;
    }
}

.elite-badge-icon {
    width: 28px;
    height: 28px;
    background: linear-gradient(135deg, #FFFBEB 0%, #FEF08A 35%, #F59E0B 100%);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #78350F;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16), inset 0 1px 1px #FFFFFF;
    flex-shrink: 0;
}

.elite-badge-icon svg {
    display: block;
    filter: drop-shadow(0 1px 1px rgba(255, 255, 255, 0.4));
}

.elite-badge-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1.15;
}

.elite-badge-sub {
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: #FDE68A;
}

.elite-badge-main {
    font-size: 12.5px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: #FFFFFF;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

@media (max-width: 640px) {
    .elite-badge-icon {
        width: 25px;
        height: 25px;
    }
    .elite-badge-icon svg {
        width: 14px;
        height: 14px;
    }
    .elite-badge-sub {
        font-size: 8px;
    }
    .elite-badge-main {
        font-size: 11.5px;
    }
}

/* ==========================================================================
   404 Page Styles
   ========================================================================== */
.page-404-wrapper {
    padding: 44px 0 80px 0;
    background: #F8FAFC;
    min-height: 60vh;
}

.card-404-box {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(15, 39, 71, 0.05);
    padding: 50px 36px;
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.badge-404-visual {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-size: 64px;
    font-weight: 900;
    color: #0F2747;
    margin-bottom: 16px;
    line-height: 1;
}

.wrench-404 {
    font-size: 52px;
    display: inline-block;
    animation: s16WrenchShake 3s ease-in-out infinite;
}

@keyframes s16WrenchShake {
    0%, 100% { transform: rotate(0deg); }
    20% { transform: rotate(-15deg); }
    40% { transform: rotate(10deg); }
    60% { transform: rotate(-5deg); }
    80% { transform: rotate(0deg); }
}

.title-404 {
    font-size: 26px;
    font-weight: 800;
    color: #0F2747;
    margin: 0 0 12px 0;
    letter-spacing: -0.3px;
}

.desc-404 {
    font-size: 15px;
    color: #64748B;
    max-width: 580px;
    margin: 0 auto 30px auto;
    line-height: 1.6;
}

.form-404-search {
    max-width: 540px;
    margin: 0 auto 32px auto;
}

.search-input-wrap-404 {
    display: flex;
    align-items: center;
    background: #F8FAFC;
    border: 1.5px solid #CBD5E1;
    border-radius: 12px;
    padding: 5px 6px 5px 16px;
    transition: all 0.2s ease;
}

.search-input-wrap-404:focus-within {
    border-color: #F97316;
    background: #FFFFFF;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.15);
}

.search-icon-404 {
    color: #94A3B8;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.search-icon-404 svg {
    width: 20px;
    height: 20px;
}

.search-field-404 {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 15px;
    color: #0F2747;
    outline: none;
    padding: 8px 12px;
    font-family: inherit;
}

.search-submit-404 {
    background: #F97316;
    color: #FFFFFF;
    border: none;
    border-radius: 8px;
    font-weight: 700;
    font-size: 14px;
    padding: 10px 22px;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.15s ease;
    white-space: nowrap;
    font-family: inherit;
}

.search-submit-404:hover {
    background: #EA580C;
    transform: translateY(-1px);
}

.links-section-404 {
    margin-bottom: 24px;
    text-align: center;
}

.links-title-404 {
    display: block;
    font-size: 12.5px;
    font-weight: 700;
    color: #64748B;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin-bottom: 12px;
}

.pills-grid-404 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.pill-link-404 {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 999px;
    color: #1E293B;
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.pill-link-404:hover {
    background: #EFF6FF;
    border-color: #93C5FD;
    color: #1D4ED8;
    transform: translateY(-1px);
}

.pill-link-highlight {
    background: #FFFBEB;
    border-color: #FDE68A;
    color: #92400E;
    font-weight: 700;
}

.pill-link-highlight:hover {
    background: #FEF3C7;
    border-color: #FCD34D;
    color: #78350F;
}

.actions-404 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 32px;
    padding-top: 28px;
    border-top: 1px solid #F1F5F9;
}

.btn-404-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: #0F2747;
    color: #FFFFFF;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14.5px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.btn-404-primary:hover {
    background: #17253D;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(15, 39, 71, 0.2);
}

.btn-404-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: #FFFFFF;
    color: #0F2747;
    border: 1.5px solid #CBD5E1;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14.5px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.btn-404-secondary:hover {
    border-color: #0F2747;
    background: #F8FAFC;
    transform: translateY(-1px);
}

@media (max-width: 640px) {
    .card-404-box {
        padding: 36px 18px;
    }
    .badge-404-visual {
        font-size: 48px;
    }
    .wrench-404 {
        font-size: 38px;
    }
    .title-404 {
        font-size: 21px;
    }
    .search-input-wrap-404 {
        flex-direction: column;
        padding: 10px;
        gap: 8px;
    }
    .search-field-404 {
        width: 100%;
        text-align: center;
    }
    .search-submit-404 {
        width: 100%;
        padding: 10px;
    }
    .actions-404 {
        flex-direction: column;
    }
    .btn-404-primary,
    .btn-404-secondary {
        width: 100%;
        justify-content: center;
    }
}

/* ==========================================================================
   SPONSOR CALLOUT CARD COMPONENT (100% Form-Free WhatsApp Monetization)
   ========================================================================== */
.sponsor-callout-card {
    background: linear-gradient(135deg, #FFFDF5 0%, #FEF9C3 100%);
    border: 1.5px solid #F59E0B;
    border-radius: 16px;
    padding: 22px 26px;
    margin: 0 0 28px 0;
    box-shadow: 0 4px 16px rgba(245, 158, 11, 0.1);
    position: relative;
    overflow: hidden;
}
.sponsor-callout-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: #F59E0B;
}
.sponsor-callout-badge-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}
.sponsor-crown-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #FEF3C7;
    border: 1px solid #FDE68A;
    color: #92400E;
    font-size: 11px;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 20px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
.sponsor-slots-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #FEE2E2;
    color: #DC2626;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 20px;
    border: 1px solid #FECACA;
}
.sponsor-callout-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.sponsor-callout-text {
    flex: 1;
    min-width: 0;
}
.sponsor-callout-title {
    font-size: 18px;
    font-weight: 800;
    color: #0F2747;
    margin: 0 0 6px 0;
    line-height: 1.35;
}
.sponsor-callout-desc {
    font-size: 13.5px;
    color: #475569;
    margin: 0;
    line-height: 1.5;
}
.sponsor-callout-cta-col {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    flex-shrink: 0;
}
.btn-sponsor-callout-wa {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #10B981;
    color: #FFFFFF !important;
    font-size: 14px;
    font-weight: 700;
    padding: 11px 18px;
    border-radius: 10px;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.28);
    transition: all 0.2s ease;
    white-space: nowrap;
}
.btn-sponsor-callout-wa svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}
.btn-sponsor-callout-wa:hover {
    background: #059669;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(16, 185, 129, 0.35);
}
.btn-sponsor-callout-link {
    font-size: 12.5px;
    font-weight: 600;
    color: #2563EB !important;
    text-decoration: none !important;
    transition: color 0.15s;
}
.btn-sponsor-callout-link:hover {
    color: #1D4ED8 !important;
    text-decoration: underline !important;
}

@media (max-width: 768px) {
    .sponsor-callout-card {
        padding: 12px 14px;
        margin-bottom: 16px;
        border-radius: 14px;
    }
    .sponsor-callout-badge-row {
        margin-bottom: 6px;
        gap: 6px;
    }
    .sponsor-crown-badge {
        font-size: 9.5px;
        padding: 2.5px 7px;
    }
    .sponsor-slots-pill {
        font-size: 9px;
        padding: 2px 6px;
    }
    .sponsor-callout-title {
        font-size: 13.5px;
        line-height: 1.3;
        margin-bottom: 4px;
    }
    .sponsor-callout-desc {
        display: none; /* Mobilde daraltma: uzun açıklama gizlenir */
    }
    .sponsor-callout-main {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }
    .sponsor-callout-cta-col {
        align-items: stretch;
        gap: 6px;
    }
    .btn-sponsor-callout-wa {
        justify-content: center;
        width: 100%;
        padding: 8.5px 12px;
        font-size: 12.5px;
        border-radius: 10px;
    }
    .btn-sponsor-callout-link {
        text-align: center;
        font-size: 11px;
    }
}

/* ==========================================================================
   PAGE: REKLAM & SPONSORLUK (100% Form-Free WhatsApp Monetization Landing)
   ========================================================================== */
.page-reklam-ver {
    background: #F8FAFC;
}

/* Hero Section */
.reklam-hero {
    background: linear-gradient(135deg, #0B192C 0%, #1E3E62 100%);
    color: #FFFFFF;
    padding: 56px 0 44px;
    position: relative;
    overflow: hidden;
}
.reklam-hero::after {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(37, 99, 235, 0.15) 0%, transparent 70%);
    pointer-events: none;
}
.reklam-hero-content {
    max-width: 860px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 1;
}
.reklam-hero-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(245, 158, 11, 0.15);
    border: 1px solid rgba(245, 158, 11, 0.35);
    color: #FCD34D;
    padding: 6px 16px;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 20px;
}
.pill-dot {
    width: 8px;
    height: 8px;
    background: #F59E0B;
    border-radius: 50%;
    display: inline-block;
    box-shadow: 0 0 8px #F59E0B;
}
.reklam-hero-title {
    font-size: 38px;
    font-weight: 900;
    line-height: 1.25;
    color: #FFFFFF;
    margin: 0 0 16px 0;
}
.reklam-hero-title .text-highlight {
    color: #F59E0B;
    position: relative;
    display: inline-block;
}
.reklam-hero-subtitle {
    font-size: 16px;
    line-height: 1.6;
    color: #CBD5E1;
    max-width: 720px;
    margin: 0 auto 30px;
}
.reklam-hero-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 40px;
}
.btn-reklam-wa {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #25D366;
    color: #FFFFFF !important;
    font-size: 16px;
    font-weight: 800;
    padding: 15px 28px;
    border-radius: 12px;
    text-decoration: none !important;
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.35);
    transition: all 0.2s ease;
}
.btn-reklam-wa svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}
.btn-reklam-wa:hover {
    background: #1EBE5D;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(37, 211, 102, 0.45);
}
.btn-reklam-phone {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.1);
    color: #FFFFFF !important;
    border: 1px solid rgba(255, 255, 255, 0.25);
    font-size: 15px;
    font-weight: 700;
    padding: 15px 24px;
    border-radius: 12px;
    text-decoration: none !important;
    transition: all 0.2s ease;
}
.btn-reklam-phone svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}
.btn-reklam-phone:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
}

/* Trust Strip */
.reklam-trust-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    padding: 18px 20px;
    text-align: left;
}
.trust-item {
    display: flex;
    align-items: center;
    gap: 12px;
}
.trust-icon {
    font-size: 24px;
    flex-shrink: 0;
}
.trust-text strong {
    display: block;
    font-size: 13.5px;
    font-weight: 800;
    color: #FFFFFF;
}
.trust-text small {
    display: block;
    font-size: 11.5px;
    color: #94A3B8;
}

/* Packages Section */
.reklam-packages-section {
    padding: 64px 0 54px;
}
.reklam-section-header {
    text-align: center;
    max-width: 680px;
    margin: 0 auto 44px;
}
.section-tag {
    display: inline-block;
    color: #2563EB;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.section-title {
    font-size: 30px;
    font-weight: 900;
    color: #0F2747;
    margin: 0 0 12px 0;
    line-height: 1.3;
}
.section-subtitle {
    font-size: 15px;
    color: #64748B;
    line-height: 1.6;
    margin: 0;
}

.reklam-packages-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    align-items: stretch;
}
.pkg-card {
    background: #FFFFFF;
    border: 1.5px solid #E2E8F0;
    border-radius: 20px;
    padding: 34px 26px;
    display: flex;
    flex-direction: column;
    position: relative;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.pkg-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.08);
}
.pkg-featured {
    border: 2.5px solid #F59E0B;
    background: #FFFEF9;
    box-shadow: 0 8px 30px rgba(245, 158, 11, 0.15);
}
.pkg-vip {
    border: 2px solid #8B5CF6;
    background: #FAF7FF;
}
.pkg-popular-badge {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: #F59E0B;
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 800;
    padding: 5px 16px;
    border-radius: 20px;
    letter-spacing: 0.5px;
    white-space: nowrap;
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
}
.pkg-badge-vip {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: #8B5CF6;
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 800;
    padding: 5px 16px;
    border-radius: 20px;
    white-space: nowrap;
}
.pkg-badge-starter {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: #0284C7;
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 800;
    padding: 5px 16px;
    border-radius: 20px;
    white-space: nowrap;
}
.pkg-icon-wrap {
    font-size: 32px;
    margin-bottom: 12px;
}
.pkg-title {
    font-size: 21px;
    font-weight: 800;
    color: #0F2747;
    margin: 0 0 8px 0;
}
.pkg-desc {
    font-size: 13.5px;
    color: #64748B;
    line-height: 1.5;
    margin: 0 0 20px 0;
    min-height: 42px;
}
.pkg-price-wrap {
    display: flex;
    align-items: baseline;
    gap: 4px;
    margin-bottom: 4px;
}
.pkg-no-price-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    margin-bottom: 10px;
    min-height: 54px;
    justify-content: center;
}
.pkg-price-quote {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.pkg-quote-badge {
    font-size: 21px;
    font-weight: 900;
    color: #0F2747;
    letter-spacing: -0.3px;
    line-height: 1.25;
}
.pkg-quote-vip {
    color: #6D28D9;
}
.pkg-quote-starter {
    color: #0284C7;
}
.pkg-quote-sub {
    font-size: 13px;
    font-weight: 600;
    color: #64748B;
}
.pkg-price {
    font-size: 44px;
    font-weight: 900;
    color: #0F2747;
    letter-spacing: -1px;
}
.pkg-currency {
    font-size: 22px;
    font-weight: 800;
    color: #64748B;
}
.pkg-period {
    font-size: 15px;
    font-weight: 600;
    color: #94A3B8;
}
.pkg-subnote {
    font-size: 12px;
    color: #B45309;
    font-weight: 700;
    background: #FEF3C7;
    padding: 5px 12px;
    border-radius: 6px;
    display: inline-block;
    margin-bottom: 22px;
}
.pkg-subnote-vip {
    color: #6D28D9;
    background: #EDE9FE;
}
.pkg-subnote-starter {
    color: #0369A1;
    background: #E0F2FE;
}
.pkg-features {
    list-style: none;
    padding: 0;
    margin: 0 0 28px 0;
    display: flex;
    flex-direction: column;
    gap: 13px;
    flex: 1;
}
.pkg-features li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13.5px;
    color: #334155;
    line-height: 1.45;
}
.pkg-features li svg {
    flex-shrink: 0;
    margin-top: 2px;
}
.pkg-action {
    margin-top: auto;
}
.btn-pkg-wa {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #10B981;
    color: #FFFFFF !important;
    font-size: 15px;
    font-weight: 800;
    padding: 14px 18px;
    border-radius: 12px;
    text-decoration: none !important;
    box-shadow: 0 4px 14px rgba(16, 185, 129, 0.28);
    transition: all 0.2s ease;
}
.btn-pkg-wa svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}
.btn-pkg-wa:hover {
    background: #059669;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(16, 185, 129, 0.38);
}
.btn-featured-wa {
    background: #F59E0B;
    box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35);
}
.btn-featured-wa:hover {
    background: #D97706;
    box-shadow: 0 6px 18px rgba(245, 158, 11, 0.45);
}
.pkg-action-note {
    display: block;
    font-size: 11.5px;
    color: #059669;
    text-align: center;
    margin-top: 8px;
    font-weight: 600;
}

/* Comparison Section */
.reklam-comparison-section {
    padding: 54px 0;
    background: #FFFFFF;
}
.comparison-table-wrap {
    max-width: 900px;
    margin: 0 auto;
    overflow-x: auto;
    border-radius: 16px;
    border: 1px solid #E2E8F0;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
}
.comparison-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    background: #FFFFFF;
}
.comparison-table th {
    padding: 16px 20px;
    font-size: 14px;
    font-weight: 800;
}
.th-feature {
    background: #F1F5F9;
    color: #475569;
    width: 25%;
}
.th-google {
    background: #FEE2E2;
    color: #991B1B;
    width: 37.5%;
}
.th-s16 {
    background: #DCFCE7;
    color: #166534;
    width: 37.5%;
}
.comparison-table td {
    padding: 16px 20px;
    font-size: 13.5px;
    border-bottom: 1px solid #F1F5F9;
    line-height: 1.45;
}
.td-feature {
    color: #1E293B;
    background: #F8FAFC;
}
.td-bad {
    color: #991B1B;
    background: #FEF2F2;
}
.td-neutral {
    color: #64748B;
}
.td-good {
    color: #166534;
    background: #F0FDF4;
}

/* Steps Section */
.reklam-steps-section {
    padding: 60px 0;
}
.reklam-steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 940px;
    margin: 0 auto;
}
.step-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    padding: 30px 24px;
    text-align: center;
    position: relative;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}
.step-number {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #2563EB;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.35);
}
.step-icon {
    font-size: 36px;
    margin: 8px 0 12px 0;
}
.step-title {
    font-size: 17px;
    font-weight: 800;
    color: #0F2747;
    margin: 0 0 8px 0;
}
.step-desc {
    font-size: 13.5px;
    color: #64748B;
    line-height: 1.5;
    margin: 0;
}

/* FAQ Section */
.reklam-faq-section {
    padding: 54px 0;
    background: #FFFFFF;
}
.reklam-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    max-width: 940px;
    margin: 0 auto;
}
.faq-card {
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    padding: 22px 24px;
}
.faq-question {
    font-size: 15px;
    font-weight: 800;
    color: #0F2747;
    margin: 0 0 8px 0;
    line-height: 1.4;
}
.faq-answer {
    font-size: 13.5px;
    color: #64748B;
    line-height: 1.55;
    margin: 0;
}

/* Bottom CTA Box */
.reklam-bottom-cta-section {
    padding: 54px 0 70px;
}
.reklam-bottom-box {
    background: linear-gradient(135deg, #0F2747 0%, #1E3E62 100%);
    border-radius: 24px;
    padding: 50px 36px;
    text-align: center;
    color: #FFFFFF;
    box-shadow: 0 16px 40px rgba(15, 39, 71, 0.25);
    max-width: 880px;
    margin: 0 auto;
}
.bottom-box-badge {
    display: inline-block;
    background: rgba(245, 158, 11, 0.2);
    border: 1px solid rgba(245, 158, 11, 0.4);
    color: #FCD34D;
    font-size: 11.5px;
    font-weight: 800;
    padding: 5px 14px;
    border-radius: 20px;
    letter-spacing: 0.5px;
    margin-bottom: 16px;
}
.bottom-box-title {
    font-size: 32px;
    font-weight: 900;
    color: #FFFFFF;
    margin: 0 0 14px 0;
    line-height: 1.3;
}
.bottom-box-desc {
    font-size: 15px;
    color: #CBD5E1;
    max-width: 600px;
    margin: 0 auto 30px;
    line-height: 1.55;
}
.bottom-box-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}
.btn-bottom-wa {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #25D366;
    color: #FFFFFF !important;
    font-size: 16px;
    font-weight: 800;
    padding: 15px 30px;
    border-radius: 12px;
    text-decoration: none !important;
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.35);
    transition: all 0.2s ease;
}
.btn-bottom-wa svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}
.btn-bottom-wa:hover {
    background: #1EBE5D;
    transform: translateY(-2px);
    box-shadow: 0 8px 26px rgba(37, 211, 102, 0.45);
}
.btn-bottom-phone {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #FFFFFF !important;
    font-size: 15px;
    font-weight: 700;
    padding: 15px 24px;
    border-radius: 12px;
    text-decoration: none !important;
    transition: all 0.2s ease;
}
.btn-bottom-phone svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}
.btn-bottom-phone:hover {
    background: rgba(255, 255, 255, 0.22);
    transform: translateY(-2px);
}

/* Responsive Styles for Reklam Page */
@media (max-width: 991px) {
    .reklam-packages-grid {
        grid-template-columns: 1fr;
        max-width: 480px;
        margin: 0 auto;
    }
    .reklam-trust-strip {
        grid-template-columns: repeat(2, 1fr);
    }
    .reklam-steps-grid {
        grid-template-columns: 1fr;
        max-width: 440px;
    }
    .reklam-faq-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .reklam-hero-title {
        font-size: 26px;
    }
    .reklam-hero-subtitle {
        font-size: 14px;
    }
    .reklam-hero-actions {
        flex-direction: column;
        width: 100%;
    }
    .btn-reklam-wa,
    .btn-reklam-phone {
        width: 100%;
        justify-content: center;
    }
    .reklam-trust-strip {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 14px;
    }
    .bottom-box-title {
        font-size: 22px;
    }
    .bottom-box-actions {
        flex-direction: column;
        width: 100%;
    }
    .btn-bottom-wa,
    .btn-bottom-phone {
        width: 100%;
        justify-content: center;
    }
    .reklam-bottom-box {
        padding: 34px 20px;
    }
}

/* ==========================================================================
   Merchant Dashboard Styles (/esnaf-paneli/)
   ========================================================================== */
.s16-merchant-dashboard-page {
    padding: 30px 0 60px 0;
    background: #F8FAFC;
    min-height: calc(100vh - 200px);
    overflow-x: clip;
    max-width: 100%;
}

/* Header button styles */
.btn-header-merchant {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: #EFF6FF;
    border: 1px solid #BFDBFE;
    border-radius: 999px;
    color: #1E40AF !important;
    font-size: 13.5px;
    font-weight: 700;
    text-decoration: none !important;
    transition: all 0.2s ease;
}
.btn-header-merchant:hover {
    background: #DBEAFE;
    border-color: #93C5FD;
    color: #1D4ED8 !important;
    transform: translateY(-1px);
}
.btn-header-merchant.is-logged-in {
    background: #ECFDF5;
    border-color: #A7F3D0;
    color: #065F46 !important;
}
.btn-header-merchant.is-logged-in:hover {
    background: #D1FAE5;
    border-color: #6EE7B7;
    color: #047857 !important;
}

/* Auth / Login Card */
.s16-merchant-auth-card {
    max-width: 460px;
    margin: 40px auto;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    padding: 36px 32px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
    text-align: center;
}
.auth-card-badge {
    display: inline-block;
    padding: 4px 12px;
    background: #EFF6FF;
    color: #1E40AF;
    font-size: 12px;
    font-weight: 700;
    border-radius: 999px;
    margin-bottom: 12px;
}
.auth-card-title {
    font-size: 24px;
    font-weight: 800;
    color: #0F172A;
    margin: 0 0 8px 0;
}
.auth-card-desc {
    font-size: 14px;
    color: #64748B;
    line-height: 1.5;
    margin: 0 0 24px 0;
}
.s16-merchant-form {
    text-align: left;
}
.s16-form-group {
    margin-bottom: 18px;
}
.s16-label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #334155;
    margin-bottom: 6px;
}
.s16-label .req {
    color: #EF4444;
}
.s16-input-icon-wrap {
    position: relative;
    display: flex;
    align-items: center;
}
.s16-field-icon {
    position: absolute;
    left: 12px;
    font-size: 15px;
    pointer-events: none;
}
.s16-input-icon-wrap .s16-input {
    padding-left: 38px;
}
.s16-input,
.s16-textarea {
    width: 100%;
    padding: 11px 14px;
    border: 1.5px solid #CBD5E1;
    border-radius: 10px;
    font-size: 14px;
    color: #0F172A;
    background: #FFFFFF;
    transition: all 0.2s ease;
    font-family: inherit;
    box-sizing: border-box;
}
.s16-input:focus,
.s16-textarea:focus {
    border-color: #2563EB;
    outline: none;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}
.s16-auth-options-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 22px;
    font-size: 13px;
}
.s16-checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #475569;
    cursor: pointer;
}
.s16-forgot-link {
    color: #2563EB;
    text-decoration: none;
    font-weight: 600;
}
.s16-btn-merchant-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 13px 20px;
    background: #2563EB;
    color: #FFFFFF !important;
    font-size: 15px;
    font-weight: 700;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none !important;
}
.s16-btn-merchant-submit:hover {
    background: #1D4ED8;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25);
}
.s16-btn-merchant-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 20px;
    background: #F1F5F9;
    color: #475569 !important;
    font-size: 15px;
    font-weight: 600;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    text-decoration: none !important;
}
.auth-card-footer {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #E2E8F0;
    font-size: 13px;
    color: #64748B;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.auth-card-footer a {
    color: #0284C7;
    font-weight: 700;
    text-decoration: none;
}

/* Alert Boxes */
.s16-alert {
    padding: 12px 14px;
    border-radius: 8px;
    font-size: 13.5px;
    margin-bottom: 16px;
}
.s16-alert-success {
    background: #ECFDF5;
    border: 1px solid #A7F3D0;
    color: #065F46;
}
.s16-alert-danger {
    background: #FEF2F2;
    border: 1px solid #FECACA;
    color: #991B1B;
}

/* Merchant Layout */
.s16-merchant-layout {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 18px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
    overflow: hidden;
    max-width: 100%;
}

/* Topbar */
.s16-merchant-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px 30px;
    border-bottom: 1px solid #E2E8F0;
    background: #FFFFFF;
    flex-wrap: wrap;
    gap: 16px;
}
.topbar-firm-info {
    display: flex;
    align-items: center;
    gap: 16px;
}
.firm-mini-avatar {
    width: 58px;
    height: 58px;
    border-radius: 12px;
    border: 1.5px solid #E2E8F0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F8FAFC;
    overflow: hidden;
    flex-shrink: 0;
}
.firm-mini-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.avatar-placeholder {
    font-size: 26px;
}
.firm-title-row {
    display: flex;
    align-items: center;
    gap: 8px;
}
.firm-main-title {
    font-size: 20px;
    font-weight: 800;
    color: #0F172A;
    margin: 0;
}
.firm-verified-badge {
    display: inline-block;
    padding: 2px 8px;
    background: #E0F2FE;
    color: #0369A1;
    font-size: 11px;
    font-weight: 700;
    border-radius: 6px;
}
.firm-meta-line {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #64748B;
    margin-top: 4px;
}
.firm-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #10B981;
}
.view-profile-link {
    color: #2563EB;
    font-weight: 600;
    text-decoration: none;
}
.btn-merchant-logout {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: #F1F5F9;
    border: 1px solid #CBD5E1;
    border-radius: 8px;
    color: #475569;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}
.btn-merchant-logout:hover {
    background: #FEE2E2;
    border-color: #FECACA;
    color: #DC2626;
}

/* Nav Tabs */
.s16-merchant-nav-tabs {
    display: flex;
    background: #F8FAFC;
    border-bottom: 1px solid #E2E8F0;
    padding: 0 24px;
    overflow-x: auto;
}
.merchant-tab-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 20px;
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    font-size: 14.5px;
    font-weight: 700;
    color: #64748B;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}
.merchant-tab-btn:hover {
    color: #1E293B;
}
.merchant-tab-btn.is-active {
    color: #2563EB;
    border-bottom-color: #2563EB;
    background: #FFFFFF;
}

/* Tab Panels */
.s16-merchant-panels {
    padding: 30px;
    max-width: 100%;
    overflow-x: hidden;
}
.s16-tab-panel {
    display: none;
}
.s16-tab-panel.is-active {
    display: block;
}
.panel-section-title {
    font-size: 18px;
    font-weight: 800;
    color: #0F172A;
    margin: 0 0 6px 0;
}
.panel-section-desc {
    font-size: 13.5px;
    color: #64748B;
    margin: 0 0 20px 0;
}

/* Stats Header & Pills */
.stats-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}
.stats-filter-pills {
    display: flex;
    gap: 6px;
    background: #F1F5F9;
    padding: 4px;
    border-radius: 10px;
}
.stats-range-btn {
    border: none;
    background: none;
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 700;
    color: #64748B;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.stats-range-btn.is-active {
    background: #FFFFFF;
    color: #0F172A;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

/* KPI Grid */
.merchant-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 18px;
    margin-bottom: 30px;
}
.merchant-kpi-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    padding: 20px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
}
.merchant-kpi-card.highlight-phone {
    border-left: 4px solid #0284C7;
}
.merchant-kpi-card.highlight-wa {
    border-left: 4px solid #16A34A;
}
.merchant-kpi-card.highlight-web {
    border-left: 4px solid #6366F1;
}
.merchant-kpi-card.highlight-total {
    border-left: 4px solid #EA580C;
}
.kpi-card-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}
.kpi-card-title {
    font-size: 13px;
    font-weight: 700;
    color: #64748B;
}
.kpi-card-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
}
.kpi-card-value {
    font-size: 32px;
    font-weight: 800;
    color: #0F172A;
    line-height: 1;
    margin-bottom: 6px;
}
.kpi-card-sub {
    font-size: 12px;
    color: #94A3B8;
}

/* Banner Box */
.merchant-banner-box {
    background: linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 100%);
    border: 1px solid #BFDBFE;
    border-radius: 14px;
    padding: 24px;
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 20px;
}
.banner-icon {
    font-size: 36px;
    flex-shrink: 0;
}
.banner-content h3 {
    font-size: 16px;
    font-weight: 800;
    color: #1E3A8A;
    margin: 0 0 4px 0;
}
.banner-content p {
    font-size: 13.5px;
    color: #1E40AF;
    margin: 0;
    line-height: 1.45;
}

/* Form Styles */
.merchant-section-form {
    max-width: 840px;
}
.form-grid-two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.form-actions-bar {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #E2E8F0;
    display: flex;
    justify-content: flex-end;
}
.form-actions-bar .s16-btn-merchant-submit {
    width: auto;
    padding: 12px 28px;
}

/* Working Hours */
.hours-presets-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.preset-title {
    font-size: 13px;
    font-weight: 700;
    color: #475569;
}
.btn-hour-preset {
    border: 1px solid #CBD5E1;
    background: #FFFFFF;
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 12.5px;
    font-weight: 600;
    color: #334155;
    cursor: pointer;
    transition: all 0.2s ease;
}
.btn-hour-preset:hover {
    background: #EFF6FF;
    border-color: #93C5FD;
    color: #1D4ED8;
}
.hours-table-wrap {
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    overflow: hidden;
}
.hours-row {
    display: grid;
    grid-template-columns: 160px 220px 1fr;
    align-items: center;
    padding: 12px 18px;
    border-bottom: 1px solid #F1F5F9;
    background: #FFFFFF;
}
.hours-row:last-child {
    border-bottom: none;
}
.hours-row .day-name {
    font-size: 14px;
    font-weight: 700;
    color: #1E293B;
}
.hours-row .day-inputs {
    display: flex;
    align-items: center;
    gap: 6px;
}
.time-input {
    padding: 6px 10px;
    border: 1.5px solid #CBD5E1;
    border-radius: 6px;
    font-size: 13px;
    font-family: inherit;
    background: #FFFFFF;
}
.time-input:disabled {
    background: #F1F5F9;
    color: #94A3B8;
    border-color: #E2E8F0;
}
.time-sep {
    color: #94A3B8;
    font-weight: 700;
}
.hours-row .day-toggles {
    display: flex;
    align-items: center;
    gap: 16px;
}
.toggle-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
    cursor: pointer;
}

/* Photos Section */
.photos-grid-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 24px;
    margin-bottom: 30px;
}
.photo-upload-box {
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    padding: 20px;
    text-align: center;
}
.photo-upload-box .box-title {
    font-size: 15px;
    font-weight: 700;
    color: #0F172A;
    margin: 0 0 14px 0;
}
.photo-preview-square {
    width: 140px;
    height: 140px;
    margin: 0 auto 16px auto;
    border: 2px dashed #CBD5E1;
    border-radius: 12px;
    background: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.photo-preview-square img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.photo-preview-wide {
    width: 100%;
    height: 140px;
    margin: 0 auto 16px auto;
    border: 2px dashed #CBD5E1;
    border-radius: 12px;
    background: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.photo-preview-wide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.placeholder-icon {
    font-size: 28px;
    color: #94A3B8;
    line-height: 1.3;
}
.placeholder-icon span {
    font-size: 12px;
    font-weight: 600;
}
.btn-upload-file {
    display: inline-block;
    padding: 8px 18px;
    background: #2563EB;
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 700;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.btn-upload-file:hover {
    background: #1D4ED8;
}
.btn-upload-file.is-loading {
    background: #64748B;
    cursor: not-allowed;
}
.upload-hint {
    display: block;
    font-size: 12px;
    color: #94A3B8;
    margin-top: 8px;
}

/* Gallery Box */
.gallery-management-box {
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    padding: 24px;
}
.gallery-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}
.gallery-head .box-title {
    font-size: 16px;
    font-weight: 700;
    color: #0F172A;
    margin: 0 0 4px 0;
}
.merchant-gallery-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
}
.gallery-thumb-item {
    aspect-ratio: 1;
    border-radius: 10px;
    overflow: hidden;
    border: 1.5px solid #E2E8F0;
    background: #FFFFFF;
}
.gallery-thumb-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.gallery-empty-notice {
    grid-column: 1 / -1;
    padding: 24px;
    text-align: center;
    color: #94A3B8;
    font-size: 13.5px;
    border: 1.5px dashed #CBD5E1;
    border-radius: 10px;
    background: #FFFFFF;
}

/* Responsive Breakpoints */
@media (max-width: 991px) {
    .merchant-kpi-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .photos-grid-layout {
        grid-template-columns: 1fr;
    }
    .merchant-gallery-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 768px) {
    .hours-row {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}
@media (max-width: 640px) {
    .s16-merchant-topbar {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
        padding: 18px 20px;
    }
    .merchant-kpi-grid {
        grid-template-columns: 1fr;
    }
    .form-grid-two {
        grid-template-columns: 1fr;
    }
    .s16-merchant-panels {
        padding: 20px 16px;
    }
    .merchant-banner-box {
        flex-direction: column;
        align-items: flex-start;
    }
    .merchant-banner-box .s16-btn-merchant-submit {
        width: 100%;
    }
}

/* Merchant Dashboard Taxonomy Pickers (Districts & Brands) */
.merchant-tax-group {
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    padding: 20px;
    margin-top: 20px;
}
.tax-group-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.tax-header-left {
    flex: 1;
    min-width: 240px;
}
.s16-tax-hint {
    font-size: 12.5px;
    color: #64748B;
    margin: 0;
    line-height: 1.4;
}
.tax-search-box {
    position: relative;
    display: flex;
    align-items: center;
    width: 280px;
    max-width: 100%;
}
.tax-search-ico {
    position: absolute;
    left: 10px;
    font-size: 13px;
    pointer-events: none;
    opacity: 0.6;
}
.tax-search-box input {
    width: 100%;
    padding: 8px 12px 8px 32px;
    font-size: 13px;
    border: 1.5px solid #CBD5E1;
    border-radius: 8px;
    background: #FFFFFF;
    color: #0F172A;
    outline: none;
    transition: all 0.2s ease;
}
.tax-search-box input:focus {
    border-color: #2563EB;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}
.s16-chips-selector-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-height: 260px;
    overflow-y: auto;
    padding: 4px;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
}
/* Hizmet Verilen Markalar - Summary Card */
.s16-merchant-brands-summary-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.brands-summary-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #F1F5F9;
}
.brands-summary-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.brands-summary-count {
    font-size: 14px;
    color: #0F172A;
}
.brands-summary-count strong {
    font-size: 16px;
    font-weight: 800;
    color: #2563EB;
}
.brands-summary-sub {
    font-size: 12px;
    color: #64748B;
}
.s16-btn-open-brands-modal {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 18px;
    background: #2563EB;
    color: #FFFFFF;
    font-size: 13.5px;
    font-weight: 700;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    box-shadow: 0 3px 8px rgba(37, 99, 235, 0.25);
    transition: all 0.2s ease;
}
.s16-btn-open-brands-modal:hover {
    background: #1D4ED8;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.35);
}
.brands-summary-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    max-height: 120px;
    overflow-y: auto;
    padding: 2px;
}
.brand-preview-pill {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    background: #EFF6FF;
    border: 1px solid #BFDBFE;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #1E40AF;
}
.brands-empty-text {
    font-size: 13px;
    color: #94A3B8;
    font-style: italic;
    padding: 4px 0;
}

/* MARKA MODAL (Bottom Sheet on Mobile, Dialog on Desktop) */
.s16-merchant-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.s16-merchant-modal.is-open {
    display: flex;
}
.s16-merchant-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.65);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    opacity: 0;
    transition: opacity 0.25s ease;
}
.s16-merchant-modal.is-open .s16-merchant-modal-backdrop {
    opacity: 1;
}
.s16-merchant-modal-dialog {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 620px;
    max-height: 85vh;
    background: #FFFFFF;
    border-radius: 20px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.35);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transform: scale(0.96) translateY(12px);
    opacity: 0;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.s16-merchant-modal.is-open .s16-merchant-modal-dialog {
    transform: scale(1) translateY(0);
    opacity: 1;
}
.modal-drag-handle {
    display: none;
    width: 38px;
    height: 4px;
    background: #CBD5E1;
    border-radius: 999px;
    margin: 10px auto 4px auto;
}
.s16-merchant-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 22px 14px 22px;
    border-bottom: 1px solid #F1F5F9;
}
.modal-header-text .modal-title {
    margin: 0;
    font-size: 17px;
    font-weight: 800;
    color: #0F172A;
}
.modal-header-text .modal-subtitle {
    margin: 3px 0 0 0;
    font-size: 12.5px;
    color: #64748B;
}
.modal-close-btn {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: none;
    background: #F1F5F9;
    color: #475569;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
}
.modal-close-btn:hover {
    background: #E2E8F0;
    color: #0F172A;
}
.s16-merchant-modal-search {
    position: relative;
    padding: 12px 22px;
    background: #F8FAFC;
    border-bottom: 1px solid #E2E8F0;
}
.s16-merchant-modal-search .modal-search-ico {
    position: absolute;
    left: 34px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    pointer-events: none;
}
.s16-merchant-modal-search input {
    width: 100%;
    padding: 10px 36px 10px 36px;
    font-size: 13.5px;
    border: 1px solid #CBD5E1;
    border-radius: 10px;
    background: #FFFFFF;
    color: #0F172A;
    outline: none;
    transition: all 0.2s ease;
}
.s16-merchant-modal-search input:focus {
    border-color: #2563EB;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}
.modal-search-clear {
    position: absolute;
    right: 34px;
    top: 50%;
    transform: translateY(-50%);
    background: #E2E8F0;
    border: none;
    color: #64748B;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
.s16-merchant-modal-body {
    flex: 1;
    padding: 16px 22px;
    overflow-y: auto;
    max-height: 50vh;
}
.s16-chips-selector-grid.brands-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 2px;
    max-height: none;
    background: transparent;
    border: none;
}
.s16-merchant-modal-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 22px;
    background: #F8FAFC;
    border-top: 1px solid #E2E8F0;
    gap: 12px;
    flex-wrap: wrap;
}
.modal-footer-info {
    font-size: 13px;
    color: #475569;
}
.modal-footer-info strong {
    color: #2563EB;
    font-size: 15px;
    font-weight: 800;
}
.modal-footer-actions {
    display: flex;
    gap: 8px;
}
.btn-modal-secondary {
    padding: 9px 14px;
    background: #FFFFFF;
    border: 1px solid #CBD5E1;
    border-radius: 9px;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
    cursor: pointer;
    transition: all 0.15s ease;
}
.btn-modal-secondary:hover {
    background: #F1F5F9;
    color: #0F172A;
}
.btn-modal-primary {
    padding: 9px 18px;
    background: #2563EB;
    border: none;
    border-radius: 9px;
    font-size: 13px;
    font-weight: 700;
    color: #FFFFFF;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.25);
    transition: all 0.15s ease;
}
.btn-modal-primary:hover {
    background: #1D4ED8;
}

/* Mobil Cihazlarda Bottom Sheet Davranışı */
@media (max-width: 768px) {
    .s16-merchant-modal {
        padding: 0;
        align-items: flex-end;
    }
    .s16-merchant-modal-dialog {
        max-width: 100%;
        max-height: 84vh;
        border-radius: 20px 20px 0 0;
        transform: translateY(100%);
    }
    .s16-merchant-modal.is-open .s16-merchant-modal-dialog {
        transform: translateY(0);
    }
    .modal-drag-handle {
        display: block;
    }
    .s16-merchant-modal-header {
        padding: 10px 18px 12px 18px;
    }
    .s16-merchant-modal-search {
        padding: 10px 18px;
    }
    .s16-merchant-modal-body {
        padding: 14px 18px;
        max-height: 48vh;
    }
    .s16-merchant-modal-footer {
        padding: 12px 18px;
        flex-direction: column;
        align-items: stretch;
    }
    .modal-footer-actions {
        width: 100%;
    }
    .modal-footer-actions button {
        flex: 1;
        text-align: center;
        justify-content: center;
    }
}

.s16-chip-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: #F1F5F9;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #334155;
    cursor: pointer;
    user-select: none;
    transition: all 0.18s ease;
}
.s16-chip-pill input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
    margin: 0;
}
.s16-chip-pill .pill-check-icon {
    font-size: 12px;
    font-weight: 800;
    color: #94A3B8;
    line-height: 1;
    transition: all 0.18s ease;
}
.s16-chip-pill:hover {
    background: #E2E8F0;
    border-color: #CBD5E1;
}
.s16-chip-pill.is-selected {
    background: #EFF6FF;
    border-color: #3B82F6;
    color: #1D4ED8;
}
.s16-chip-pill.is-selected .pill-check-icon {
    color: #2563EB;
}
.brands-no-match-alert {
    padding: 16px;
    text-align: center;
    color: #94A3B8;
    font-size: 13px;
    background: #FFFFFF;
    border: 1px dashed #CBD5E1;
    border-radius: 8px;
    margin-top: 8px;
}

/* Gallery Enhancements: Counter & Delete Button */
.gallery-counter-badge {
    font-size: 13px;
    font-weight: 700;
    color: #2563EB;
    background: #EFF6FF;
    border: 1px solid #BFDBFE;
    padding: 2px 8px;
    border-radius: 999px;
    margin-left: 6px;
}
.btn-upload-file.is-disabled {
    background: #94A3B8 !important;
    cursor: not-allowed !important;
    opacity: 0.7;
    pointer-events: none;
}
.gallery-thumb-item {
    position: relative;
}
.btn-delete-gallery-img {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    padding: 0;
    background: rgba(15, 23, 42, 0.75);
    color: #FFFFFF;
    border: 1.5px solid rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
    z-index: 2;
}
.gallery-thumb-item:hover .btn-delete-gallery-img {
    background: #DC2626;
    border-color: #FFFFFF;
    transform: scale(1.1);
}
.btn-delete-gallery-img:disabled {
    opacity: 0.5;
    cursor: wait;
}

/* Merchant Pending Approval Banner & Form Notices */
.s16-merchant-pending-banner {
    display: flex;
    align-items: center;
    gap: 16px;
    background: linear-gradient(135deg, #FFFBEB 0%, #FEF3C7 100%);
    border: 1.5px solid #FCD34D;
    border-radius: 14px;
    padding: 16px 20px;
    margin: 20px 24px 0 24px;
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.08);
}
.pending-banner-icon {
    font-size: 28px;
    line-height: 1;
    flex-shrink: 0;
}
.pending-banner-content {
    flex: 1;
}
.pending-banner-content h4 {
    margin: 0 0 3px 0;
    font-size: 15px;
    font-weight: 800;
    color: #92400E;
}
.pending-banner-content p {
    margin: 0;
    font-size: 13px;
    color: #B45309;
    line-height: 1.45;
}
.pending-status-chip {
    padding: 5px 12px;
    background: #F59E0B;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 800;
    border-radius: 999px;
    white-space: nowrap;
    letter-spacing: 0.3px;
}
.actions-approval-notice {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    color: #64748B;
    max-width: 480px;
}
.actions-approval-notice .notice-icon {
    font-size: 14px;
    flex-shrink: 0;
}
.merchant-section-form .form-actions-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
}
@media (max-width: 640px) {
    .s16-merchant-pending-banner {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    .merchant-section-form .form-actions-bar {
        flex-direction: column;
        align-items: stretch;
    }
    .merchant-section-form .form-actions-bar .s16-btn-merchant-submit {
        width: 100%;
    }
}

/* ==========================================================================
   Merchant Dashboard - Password Operations & Security Tab
   ========================================================================== */
.s16-pwd-wrap {
    position: relative;
    display: flex;
    align-items: center;
}
.s16-pwd-wrap .s16-input {
    padding-right: 42px;
}
.btn-toggle-pwd {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    cursor: pointer;
    font-size: 16px;
    padding: 4px;
    line-height: 1;
    border-radius: 4px;
    color: #64748B;
    opacity: 0.75;
    transition: opacity 0.2s ease, transform 0.15s ease;
}
.btn-toggle-pwd:hover {
    opacity: 1;
    transform: translateY(-50%) scale(1.1);
}

.security-panel-intro {
    margin-bottom: 24px;
}
.security-layout-grid {
    display: grid;
    grid-template-columns: 1.25fr 1fr;
    gap: 24px;
    align-items: flex-start;
}
.security-card {
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    padding: 24px;
}
.security-card-title {
    font-size: 16px;
    font-weight: 700;
    color: #0F172A;
    margin: 0 0 18px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}
.account-info-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.account-info-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 12px;
    border-bottom: 1px solid #E2E8F0;
    font-size: 13.5px;
}
.account-info-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.account-info-item .info-label {
    color: #64748B;
    font-weight: 500;
}
.account-info-item .info-val {
    color: #0F172A;
    font-weight: 600;
}
.security-support-box {
    margin-top: 20px;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    padding: 16px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
}
.security-support-box .support-icon {
    font-size: 20px;
    flex-shrink: 0;
    line-height: 1.2;
}
.security-support-box strong {
    display: block;
    font-size: 13.5px;
    color: #0F172A;
}
.security-support-box p {
    margin: 4px 0 10px 0;
    font-size: 12.5px;
    color: #64748B;
    line-height: 1.5;
}
.s16-whatsapp-mini-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12.5px;
    font-weight: 700;
    color: #16A34A;
    text-decoration: none;
    transition: color 0.15s ease;
}
.s16-whatsapp-mini-btn:hover {
    color: #15803D;
    text-decoration: underline;
}

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

/* ==========================================================================
   Merchant Dashboard - Mobile App Mode (Ustalara Özel Mobil Görünüm)
   ========================================================================== */

/* Topbar WhatsApp Quick Support button (Desktop & Mobile) */
.btn-merchant-support-top {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: #DCFCE7;
    border: 1px solid #86EFAC;
    border-radius: 8px;
    color: #15803D !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    transition: all 0.2s ease;
}
.btn-merchant-support-top:hover {
    background: #BBF7D0;
    color: #166534 !important;
    transform: translateY(-1px);
}

/* Hide mobile app elements on desktop */
.s16-merchant-bottom-nav,
.s16-merchant-fab-support {
    display: none;
}

/* Active Mobile App Mode (<= 768px) */
@media screen and (max-width: 768px) {
    /* Seamless App Canvas */
    body.is-merchant-dashboard-view {
        background-color: #F1F5F9;
        -webkit-tap-highlight-color: transparent;
    }

    /* Simplify site header in merchant view to feel like native app header */
    body.is-merchant-dashboard-view .site-header {
        position: sticky;
        top: 0;
        z-index: 990;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
        background: #FFFFFF;
    }
    body.is-merchant-dashboard-view .site-header .header-search-col,
    body.is-merchant-dashboard-view .site-header .header-actions-col,
    body.is-merchant-dashboard-view .site-header .header-bottom-row {
        display: none !important;
    }
    body.is-merchant-dashboard-view .site-header .header-main-row {
        padding: 10px 16px;
    }

    /* Simplify site footer to avoid cluttering mobile app view */
    body.is-merchant-dashboard-view .site-footer {
        padding-bottom: 90px; /* Space for bottom nav */
    }

    /* Dashboard page wrapper */
    .s16-merchant-dashboard-page {
        padding: 10px 0 100px 0; /* Clear bottom nav bar */
        background: #F1F5F9;
    }
    .s16-merchant-dashboard-page .site-container {
        padding: 0 10px;
    }

    /* Merchant Layout Shell */
    .s16-merchant-layout {
        border-radius: 16px;
        border: 1px solid #E2E8F0;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
        margin-bottom: 20px;
        background: #FFFFFF;
    }

    /* App-like Topbar */
    .s16-merchant-topbar {
        padding: 16px;
        gap: 12px;
        background: #FFFFFF;
        border-bottom: 1px solid #F1F5F9;
    }
    .topbar-firm-info {
        gap: 12px;
        width: 100%;
    }
    .firm-mini-avatar {
        width: 48px;
        height: 48px;
        border-radius: 10px;
    }
    .firm-main-title {
        font-size: 17px;
        line-height: 1.25;
    }
    .firm-meta-line {
        font-size: 12px;
        flex-wrap: wrap;
        gap: 6px;
    }
    .topbar-actions {
        display: flex;
        align-items: center;
        gap: 8px;
        width: 100%;
        justify-content: flex-end;
    }
    .btn-merchant-support-top {
        flex: 1;
        justify-content: center;
        padding: 10px 12px;
        font-size: 13.5px;
    }
    .btn-merchant-logout {
        padding: 10px 14px;
        font-size: 13px;
    }

    /* Pending Banner mobile style */
    .s16-merchant-pending-banner {
        margin: 12px;
        padding: 14px;
        border-radius: 12px;
    }

    /* Hide desktop horizontal tabs on mobile, replace with Bottom App Bar */
    .s16-merchant-nav-tabs {
        display: none !important;
    }

    /* Tab panels padding */
    .s16-merchant-panels {
        padding: 18px 14px;
    }

    .panel-section-title {
        font-size: 17px;
        font-weight: 800;
    }
    .panel-section-desc {
        font-size: 13px;
        margin-bottom: 16px;
    }

    /* Mobile KPI Cards */
    .merchant-kpi-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        margin-bottom: 20px;
    }
    .merchant-kpi-card {
        padding: 14px 12px;
        border-radius: 12px;
    }
    .kpi-card-title {
        font-size: 11.5px;
    }
    .kpi-card-icon {
        width: 26px;
        height: 26px;
        font-size: 13px;
    }
    .kpi-card-value {
        font-size: 26px;
        margin-bottom: 4px;
    }
    .kpi-card-sub {
        font-size: 11px;
    }

    /* Thumb-friendly Form Controls */
    .s16-input,
    .time-input,
    .tax-search-box input {
        font-size: 16px !important; /* Prevents auto-zoom on iOS */
        padding: 12px 14px;
        border-radius: 10px;
    }
    .s16-btn-merchant-submit {
        width: 100%;
        padding: 16px 20px;
        font-size: 16px;
        border-radius: 12px;
        font-weight: 800;
    }

    /* Thumb-friendly Chips (Districts & Brands) */
    .s16-chips-selector-grid {
        max-height: 280px;
        gap: 8px;
        padding: 10px;
    }
    .s16-chip-pill {
        padding: 10px 14px;
        font-size: 14px;
        border-radius: 10px;
        min-height: 42px;
    }

    /* Working Hours Table in App Mode */
    .hours-table-wrap {
        border-radius: 12px;
    }
    .hours-row {
        padding: 14px 12px;
        gap: 12px;
    }
    .hours-row .day-name {
        font-size: 15px;
    }
    .hours-row .day-inputs {
        display: flex;
        align-items: center;
        gap: 8px;
        width: 100%;
    }
    .hours-row .time-input {
        flex: 1;
        min-width: 0;
        text-align: center;
    }
    .hours-presets-bar {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }
    .btn-hour-preset {
        flex: 1;
        min-width: 130px;
        padding: 10px 12px;
        font-size: 13px;
        text-align: center;
    }

    /* Photo Upload Boxes */
    .photos-grid-layout {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .btn-upload-file {
        width: 100%;
        padding: 14px;
        font-size: 15px;
        text-align: center;
    }
    .merchant-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    /* ==========================================================================
       BOTTOM APP NAVIGATION BAR (High-End Native Mobile App Shell)
       ========================================================================== */
    .s16-merchant-bottom-nav {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        height: 60px;
        background: rgba(255, 255, 255, 0.96);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        border-top: 1px solid rgba(226, 232, 240, 0.9);
        box-shadow: 0 -4px 20px rgba(15, 23, 42, 0.05);
        z-index: 9999;
        padding: 0 8px;
        padding-bottom: env(safe-area-inset-bottom, 0px);
        justify-content: space-around;
        align-items: center;
    }
    .bottom-nav-item {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        background: none;
        border: none;
        height: 100%;
        padding: 4px 0;
        cursor: pointer;
        color: #94A3B8;
        transition: color 0.15s ease;
        -webkit-tap-highlight-color: transparent;
        position: relative;
    }
    .bottom-nav-item .bnav-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        margin-bottom: 2px;
        color: inherit;
        transition: transform 0.15s ease;
    }
    .bottom-nav-item .bnav-icon svg {
        display: block;
        transition: stroke 0.15s ease;
    }
    .bottom-nav-item .bnav-label {
        font-size: 11px;
        font-weight: 600;
        letter-spacing: -0.2px;
        line-height: 1;
    }
    .bottom-nav-item.is-active {
        color: #2563EB;
    }
    .bottom-nav-item.is-active .bnav-label {
        font-weight: 700;
        color: #2563EB;
    }
    .bottom-nav-item.is-active .bnav-icon {
        transform: translateY(-1px);
    }
    .bottom-nav-item.is-active .bnav-icon svg {
        stroke: #2563EB;
    }
    .bottom-nav-item.is-active::after {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 28px;
        height: 3px;
        background: #2563EB;
        border-radius: 0 0 4px 4px;
    }
}





/* =============================================================
   CAMPAIGN BAND — Günün / Haftanın Kampanyası
   ============================================================= */

.s16-campaign-band {
    position: relative;
    background: linear-gradient(135deg, #fff8ed 0%, #fff3de 100%);
    border-top: 1px solid #fde9b8;
    border-bottom: 1px solid #fde9b8;
    overflow: hidden;
}

/* Dekoratif gradient kenar */
.s16-campaign-band::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #f59e0b, #ef4444, #f59e0b);
    background-size: 200% auto;
    animation: s16-camp-stripe 3s linear infinite;
}

@keyframes s16-camp-stripe {
    from { background-position: 0% center; }
    to   { background-position: 200% center; }
}

.s16-campaign-band__inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    position: relative;
}

/* ── Üst etiket ── */
.s16-campaign-band__label {
    position: absolute;
    top: -3px;
    left: 20px;
    background: #f59e0b;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .4px;
    text-transform: uppercase;
    padding: 2px 8px;
    border-radius: 0 0 6px 6px;
    display: flex;
    align-items: center;
    gap: 4px;
    box-shadow: 0 2px 6px rgba(245,158,11,.35);
    white-space: nowrap;
}

/* ── Tıklanabilir link (görsel + metin) ── */
.s16-campaign-band__link {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
    text-decoration: none;
    color: inherit;
    margin-top: 8px;  /* etiket için alan */
}

.s16-campaign-band__link:hover .s16-campaign-band__firm {
    color: #d97706;
}

/* ── Görsel ── */
.s16-campaign-band__image-wrap {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    border-radius: 12px;
    overflow: hidden;
    border: 2px solid rgba(245,158,11,.25);
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

.s16-campaign-band__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.s16-campaign-band__image-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    color: #92400e;
}

/* ── Metin bloğu ── */
.s16-campaign-band__body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1;
}

.s16-campaign-band__firm {
    font-size: 14px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color .2s;
}

.s16-campaign-band__slogan {
    font-size: 12px;
    color: #555;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
}

.s16-campaign-band__badge {
    display: inline-flex;
    align-items: center;
    background: #ef4444;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 20px;
    align-self: flex-start;
    letter-spacing: .3px;
    margin-top: 2px;
    box-shadow: 0 1px 4px rgba(239,68,68,.3);
}

.s16-campaign-band__end {
    font-size: 10.5px;
    color: #888;
    margin-top: 2px;
}

/* ── Aksiyonlar ── */
.s16-campaign-band__actions {
    flex-shrink: 0;
    display: flex;
    gap: 8px;
    align-items: center;
    margin-top: 8px; /* etiket için alan */
}

.s16-campaign-band__btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12.5px;
    font-weight: 600;
    padding: 7px 12px;
    border-radius: 8px;
    text-decoration: none;
    white-space: nowrap;
    transition: transform .15s, box-shadow .15s;
}

.s16-campaign-band__btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(0,0,0,.12);
}

.s16-campaign-band__btn--profile {
    background: #1e40af;
    color: #fff;
}

.s16-campaign-band__btn--profile:hover {
    background: #1d3faa;
    color: #fff;
}

.s16-campaign-band__btn--wa {
    background: #25d366;
    color: #fff;
}

.s16-campaign-band__btn--wa:hover {
    background: #20c55b;
    color: #fff;
}

/* Arşiv linki — /kampanyalar/ */
.s16-campaign-band__archive-link {
    display: none; /* masaüstünde göster */
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: #888;
    text-decoration: none;
    white-space: nowrap;
}

.s16-campaign-band__archive-link:hover {
    color: #f59e0b;
}

/* =============================================================
   CAMPAIGNS ARCHIVE PAGE — /kampanyalar/
   ============================================================= */

.s16-campaigns-archive {
    padding: 40px 0 60px;
}

.s16-campaigns-archive__header {
    text-align: center;
    margin-bottom: 36px;
}

.s16-campaigns-archive__title {
    font-size: clamp(22px, 4vw, 32px);
    font-weight: 800;
    color: #1a1a1a;
    margin: 0 0 8px;
}

.s16-campaigns-archive__subtitle {
    color: #666;
    font-size: 15px;
    margin: 0;
}

.s16-campaigns-archive__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
}

.s16-campaign-card {
    background: #fff;
    border-radius: 16px;
    border: 1px solid #f0e8d8;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: transform .2s, box-shadow .2s;
    display: flex;
    flex-direction: column;
    position: relative;
}

.s16-campaign-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(0,0,0,.1);
}

.s16-campaign-card__image {
    width: 100%;
    height: 160px;
    object-fit: cover;
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    display: flex;
    align-items: center;
    justify-content: center;
}

.s16-campaign-card__image img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    display: block;
}

.s16-campaign-card__image-placeholder {
    width: 100%;
    height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    color: #b45309;
}

.s16-campaign-card__body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
}

.s16-campaign-card__firm {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.3;
}

.s16-campaign-card__slogan {
    font-size: 13px;
    color: #555;
    line-height: 1.4;
}

.s16-campaign-card__badge {
    display: inline-flex;
    align-items: center;
    background: #ef4444;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
    align-self: flex-start;
    margin-top: 4px;
}

.s16-campaign-card__end {
    font-size: 11px;
    color: #888;
    margin-top: auto;
    padding-top: 8px;
}

.s16-campaign-card__badge-label {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #f59e0b;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.s16-campaigns-archive__empty {
    text-align: center;
    padding: 60px 20px;
    color: #888;
    font-size: 15px;
}

/* =============================================================
   DİJİTAL KARTVİZİT (DIGITAL BUSINESS CARD & VCARD)
   Yenilenen Tasarım: Beyaz zemin, ince border, kapak görseli,
   Servis16 turuncusu ve WhatsApp yeşili ana CTA butonları
   ============================================================= */

.profile-digital-card-wrap {
    margin-top: 20px;
}

.profile-digital-card-desktop {
    display: block;
}

.profile-digital-card-mobile {
    display: none;
}

/* Ana Kartvizit Kapsayıcısı */
.s16-dcard,
.s16-digital-card {
    position: relative;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 20px;
    box-shadow: 0 10px 28px -5px rgba(15, 39, 71, 0.08), 0 2px 8px rgba(15, 39, 71, 0.04);
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.s16-dcard:hover,
.s16-digital-card:hover {
    box-shadow: 0 14px 34px -6px rgba(15, 39, 71, 0.12), 0 4px 12px rgba(15, 39, 71, 0.05);
}

/* 1. Üst Kapak Görseli */
.s16-dcard__cover {
    position: relative;
    width: 100%;
    min-height: 140px;
    aspect-ratio: 16 / 7;
    background: linear-gradient(135deg, #0F2747 0%, #1A365D 50%, #EA580C 100%);
    overflow: hidden;
}

.s16-dcard__cover-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.s16-dcard__cover-fallback {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #0F2747 0%, #1E3A8A 60%, #F97316 100%);
}

.s16-dcard__cover-tag {
    position: absolute;
    top: 10px;
    right: 12px;
    background: rgba(15, 39, 71, 0.72);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    color: #FFFFFF;
    font-size: 9.5px;
    font-weight: 800;
    letter-spacing: 0.8px;
    padding: 3px 8px;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* 2. Kart Gövdesi */
.s16-dcard__body {
    padding: 0 18px 18px;
    position: relative;
}

/* Logo & Rozetler Satırı */
.s16-dcard__header-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-top: -34px;
    margin-bottom: 12px;
}

.s16-dcard__avatar {
    flex-shrink: 0;
    width: 66px;
    height: 66px;
    border-radius: 16px;
    background: #FFFFFF;
    border: 3.5px solid #FFFFFF;
    box-shadow: 0 4px 14px rgba(15, 39, 71, 0.12);
    overflow: hidden;
    position: relative;
    z-index: 2;
}

.s16-dcard__avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.s16-dcard__avatar-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0F2747, #1E3A8A);
    color: #FFFFFF;
    font-size: 24px;
    font-weight: 800;
}

/* Rozetler */
.s16-dcard__badges {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 4px;
}

.s16-dcard__badge {
    display: inline-flex;
    align-items: center;
    gap: 4.5px;
    font-size: 11px;
    font-weight: 700;
    padding: 3.5px 8.5px;
    border-radius: 20px;
    line-height: 1.2;
}

.s16-dcard__badge--sponsored {
    background: #FFFBEB;
    color: #B45309;
    border: 1px solid #FDE68A;
}

.s16-dcard__badge--verified {
    background: #EFF6FF;
    color: #0284C7;
    border: 1px solid #BAE6FD;
}

.s16-dcard__badge--24h,
.s16-dcard__badge--open {
    background: #ECFDF5;
    color: #059669;
    border: 1px solid #A7F3D0;
}

.s16-dcard__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    display: inline-block;
}

.s16-dcard__dot--emerald {
    background: #10B981;
    box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2);
}

/* Firma Bilgileri */
.s16-dcard__info {
    margin-bottom: 12px;
}

.s16-dcard__name {
    font-size: 17px;
    font-weight: 800;
    color: #0F2747;
    margin: 0 0 4px;
    line-height: 1.3;
    letter-spacing: -0.2px;
}

.s16-dcard__meta {
    font-size: 12px;
    font-weight: 600;
    color: #64748B;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.s16-dcard__category {
    color: #EA580C;
    font-weight: 700;
}

.s16-dcard__sep {
    color: #CBD5E1;
}

.s16-dcard__location {
    color: #64748B;
}

.s16-dcard__rating {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: #0F2747;
    font-size: 11.5px;
}

.s16-dcard__star {
    color: #F59E0B;
    font-size: 12px;
}

.s16-dcard__reviews-count {
    color: #64748B;
    font-weight: 500;
}

.s16-dcard__address-row {
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px dashed #E2E8F0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 11px;
    color: #475569;
}

.s16-dcard__address-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 200px;
}

.s16-dcard__map-link {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 10px;
    font-weight: 700;
    color: #0284C7;
    text-decoration: none;
    flex-shrink: 0;
    padding: 2px 6px;
    background: #EFF6FF;
    border-radius: 5px;
    transition: background 0.15s, color 0.15s;
}

.s16-dcard__map-link:hover {
    background: #DBEAFE;
    color: #0369A1;
}

/* Belirgin Telefon Kutusu */
.s16-dcard__phone-box {
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    padding: 8px 12px;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.s16-dcard__phone-label {
    font-size: 9.5px;
    font-weight: 800;
    color: #94A3B8;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.s16-dcard__phone-number {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    font-weight: 800;
    color: #0F2747;
    text-decoration: none;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    transition: color 0.15s;
}

.s16-dcard__phone-number:hover {
    color: #F97316;
}

.s16-dcard__phone-number svg {
    color: #F97316;
}

/* En Güçlü CTA Butonları (WhatsApp Yeşil + Ara Servis16 Turuncusu) */
.s16-dcard__cta-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-bottom: 14px;
}

.s16-dcard-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 11px 12px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    border: none;
    cursor: pointer;
    line-height: 1.2;
    transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

.s16-dcard-btn:hover {
    transform: translateY(-1.5px);
}

.s16-dcard-btn--whatsapp {
    background: #16B85C;
    color: #FFFFFF !important;
    box-shadow: 0 4px 14px rgba(22, 184, 92, 0.28);
}

.s16-dcard-btn--whatsapp:hover {
    background: #129E4E;
    box-shadow: 0 6px 18px rgba(22, 184, 92, 0.38);
}

.s16-dcard-btn--call {
    background: #F97316;
    color: #FFFFFF !important;
    box-shadow: 0 4px 14px rgba(249, 115, 22, 0.28);
}

.s16-dcard-btn--call:hover {
    background: #EA580C;
    box-shadow: 0 6px 18px rgba(249, 115, 22, 0.38);
}

/* Web Sitesi Butonu */
.s16-dcard__website-box {
    margin-bottom: 12px;
}

.s16-dcard-btn--web {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 9.5px 12px;
    background: #F8FAFC;
    border: 1px solid #CBD5E1;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 700;
    color: #0F2747;
    text-decoration: none;
    transition: all 0.15s ease;
}

.s16-dcard-btn--web:hover {
    background: #EFF6FF;
    border-color: #93C5FD;
    color: #0284C7;
}

.s16-dcard-btn--web svg:first-child {
    color: #0284C7;
    flex-shrink: 0;
}

.s16-dcard-btn--web svg:last-child {
    color: #64748B;
    flex-shrink: 0;
}

/* 3. Kompakt QR Panel & Akordeon */
.s16-dcard__qr-accordion {
    margin-bottom: 12px;
}

.s16-dcard__qr-toggle {
    display: none; /* Masaüstünde gizli, mobilde responsive.css ile gösterilir */
    width: 100%;
    align-items: center;
    justify-content: space-between;
    padding: 8.5px 12px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    font-size: 11.5px;
    font-weight: 700;
    color: #334155;
    cursor: pointer;
    transition: all 0.15s ease;
}

.s16-dcard__qr-toggle:hover {
    background: #F1F5F9;
    color: #0F2747;
}

.s16-dcard__qr-toggle-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.s16-dcard__qr-toggle-label svg {
    color: #0284C7;
}

.s16-dcard__qr-toggle-chevron {
    transition: transform 0.2s ease;
    color: #64748B;
}

.s16-dcard__qr-toggle.is-active .s16-dcard__qr-toggle-chevron {
    transform: rotate(180deg);
}

.s16-dcard__qr-toggle.is-active {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom-color: transparent;
    background: #F1F5F9;
}

.s16-dcard__qr-body {
    display: block; /* Masaüstünde her zaman açık */
}

.s16-dcard__qr-panel {
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.s16-dcard__qr-prompt {
    font-size: 11.5px;
    font-weight: 700;
    color: #475569;
    margin-bottom: 10px;
    line-height: 1.3;
}

.s16-dcard__qr-box {
    width: 160px;
    height: 160px;
    background: #FFFFFF;
    border: 1.5px solid #CBD5E1;
    border-radius: 12px;
    padding: 8px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(15, 39, 71, 0.05);
}

.s16-dcard__qr-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.s16-dcard__link-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
}

.s16-dcard__link-url {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 11px;
    font-weight: 700;
    color: #0284C7;
    background: #E0F2FE;
    padding: 4px 8px;
    border-radius: 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 180px;
}

.s16-dcard__copy-action {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background: #E2E8F0;
    color: #334155;
    border: none;
    font-size: 10px;
    font-weight: 700;
    padding: 4px 8px;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    flex-shrink: 0;
}

.s16-dcard__copy-action:hover {
    background: #0284C7;
    color: #FFFFFF;
}

.s16-dcard__copy-action.is-copied {
    background: #16B85C;
    color: #FFFFFF;
}

/* 4. İkincil Aksiyon Butonları */
.s16-dcard__sub-actions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
}

.s16-dcard-subbtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 7.5px 6px;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 700;
    color: #475569;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
}

.s16-dcard-subbtn:hover {
    background: #F1F5F9;
    color: #0F2747;
    border-color: #CBD5E1;
}

.s16-dcard-subbtn--vcard {
    background: #F0FDF4;
    border-color: #BBF7D0;
    color: #166534;
}

.s16-dcard-subbtn--vcard:hover {
    background: #DCFCE7;
    border-color: #86EFAC;
    color: #14532D;
}

.s16-dcard-subbtn--vcard svg {
    color: #16A34A !important;
}

.s16-dcard-subbtn svg {
    flex-shrink: 0;
    color: #64748B;
}

.s16-dcard-subbtn:hover svg {
    color: #0F2747;
}

/* ==========================================================================
   Neighborhood SEO & Popular Chips Component (Semantik İlçe/Mahalle Etiketleri)
   ========================================================================== */
.section-neighborhood-tags {
    padding: 0 0 48px 0;
}

.s16-neighborhood-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 20px;
    padding: 28px 32px;
    box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05);
    margin-bottom: 32px;
    position: relative;
    overflow: hidden;
    transition: box-shadow 0.25s ease;
}

.s16-neighborhood-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #0284C7 0%, #38BDF8 50%, #F97316 100%);
}

.s16-nb-header {
    margin-bottom: 20px;
}

.s16-nb-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #EFF6FF;
    border: 1px solid #BFDBFE;
    color: #1D4ED8;
    padding: 4px 12px;
    border-radius: 9999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.3px;
    margin-bottom: 12px;
}

.s16-nb-icon {
    font-size: 13px;
    line-height: 1;
}

.s16-nb-title {
    font-size: 1.25rem;
    font-weight: 800;
    color: #0F2747;
    line-height: 1.35;
    margin: 0 0 10px 0;
    letter-spacing: -0.01em;
}

.s16-nb-desc {
    font-size: 14px;
    color: #475569;
    line-height: 1.65;
    margin: 0;
    max-width: 900px;
}

.s16-nb-desc strong {
    color: #0F2747;
    font-weight: 700;
}

.s16-nb-chips-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    margin-bottom: 18px;
}

.s16-nb-chip {
    appearance: none;
    -webkit-appearance: none;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 600;
    color: #334155;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    line-height: 1.3;
    transition: all 0.2s ease;
    user-select: none;
}

.s16-nb-chip-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #94A3B8;
    transition: background-color 0.2s ease;
    flex-shrink: 0;
}

.s16-nb-chip:hover {
    background: #EFF6FF;
    border-color: #93C5FD;
    color: #1E40AF;
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.08);
}

.s16-nb-chip:hover .s16-nb-chip-dot {
    background: #2563EB;
}

.s16-nb-chip.is-active {
    background: #0284C7;
    border-color: #0284C7;
    color: #FFFFFF;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.25);
}

.s16-nb-chip.is-active .s16-nb-chip-dot {
    background: #FFFFFF;
}

.s16-nb-footer-hint {
    padding-top: 14px;
    border-top: 1px dashed #E2E8F0;
    font-size: 12.5px;
    color: #64748B;
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 500;
}

