/* Korba Diary Global CSS Stylesheet */

:root {
    --primary-color: #0f2c59;
    /* Elegant Navy/Blue */
    --accent-color: #ff6000;
    /* Vibrant Orange */
    --accent-hover: #e05300;
    --bg-light: #f8fafc;
    /* Light grey bg */
    --bg-white: #ffffff;
    --text-dark: #0f172a;
    /* Dark slate text */
    --text-muted: #64748b;
    /* Muted grey text */
    --border-color: #e2e8f0;
    /* Light borders */
    --card-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.05), 0 2px 4px -2px rgb(0 0 0 / 0.05);
    --card-shadow-hover: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --border-radius: 12px;
    --border-radius-lg: 16px;
    --border-radius-sm: 8px;
    --font-sans: 'Outfit', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--font-sans);
    background-color: var(--bg-light);
    color: var(--text-dark);
    line-height: 1.5;
    overflow-x: hidden;
}

/* Typography */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 700;
    color: var(--primary-color);
}

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

ul {
    list-style: none;
}

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

/* Layout Utilities */
.container {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 20px;
}

.section-padding {
    /* padding: 60px 0; */
}

.text-center {
    text-align: center;
}

.d-flex {
    display: flex;
}

.justify-between {
    justify-content: space-between;
}

.align-center {
    align-items: center;
}

.flex-wrap {
    flex-wrap: wrap;
}

.gap-2 {
    gap: 8px;
}

.gap-4 {
    gap: 16px;
}

/* Grid System */
.grid {
    display: grid;
    gap: 24px;
}

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

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

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

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

/* Buttons */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    border-radius: var(--border-radius-sm);
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
    border: none;
    gap: 8px;
    font-size: 0.95rem;
}

.btn-primary {
    background-color: var(--accent-color);
    color: var(--bg-white);
}

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

.btn-secondary {
    background-color: var(--primary-color);
    color: var(--bg-white);
}

.btn-secondary:hover {
    background-color: #0b1f3e;
}

.btn-outline {
    background-color: transparent;
    border: 1.5px solid var(--border-color);
    color: var(--text-dark);
}

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

/* Verified Badge */
.verified-badge {
    background-color: #dbeafe;
    color: #2563eb;
    padding: 2px 8px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* Header & Utility Bar */
.utility-bar {
    background-color: var(--primary-color);
    color: var(--bg-white);
    padding: 8px 0;
    font-size: 0.85rem;
}

.utility-bar a:hover {
    color: var(--accent-color);
}

.utility-links {
    display: flex;
    gap: 20px;
}

.social-links-top {
    display: flex;
    gap: 12px;
}

.header {
    background-color: var(--bg-white);
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1);
    position: sticky;
    top: 0;
    z-index: 100;
}

.header-main {
    height: 75px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-brand-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.mobile-menu-btn {
    display: none;
}

.header-app-btn-mobile {
    display: none;
}

.header-app-btn-desktop {
    display: block;
}

.header-search-button {
    border-radius: 0 var(--border-radius-sm) var(--border-radius-sm) 0;
    height: 100%;
}

.logo-container img {
    height: 45px;
}

.search-bar-header {
    display: flex;
    align-items: center;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-sm);
    padding: 4px;
    background-color: #f1f5f9;
    flex-grow: 1;
    max-width: 600px;
    margin: 0 30px;
}

.location-selector {
    padding: 8px 12px;
    border: none;
    background: transparent;
    font-weight: 600;
    color: var(--text-dark);
    outline: none;
    border-right: 1px solid var(--border-color);
    cursor: pointer;
}

.search-input-wrapper {
    flex-grow: 1;
    position: relative;
}

.search-input-wrapper input {
    width: 100%;
    padding: 8px 16px;
    border: none;
    background: transparent;
    outline: none;
    font-size: 0.95rem;
}

.search-suggestions {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--bg-white);
    border: 1px solid var(--border-color);
    border-radius: 0 0 var(--border-radius-sm) var(--border-radius-sm);
    box-shadow: var(--card-shadow-hover);
    z-index: 1000;
    max-height: 300px;
    overflow-y: auto;
    display: none;
}

.suggestion-item {
    padding: 10px 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 12px;
}

.suggestion-item:hover {
    background-color: var(--bg-light);
}

.nav-bar {
    background-color: var(--bg-white);
    border-top: 1px solid var(--border-color);
    padding: 12px 0;
}

.nav-links {
    display: flex;
    gap: 30px;
    font-weight: 600;
    color: var(--text-dark);
    font-size: 0.95rem;
}

.nav-links a.active,
.nav-links a:hover {
    color: var(--accent-color);
}

/* Main Top Advertisement Carousel */
.ad-carousel-wrapper {
    /* margin: 20px 0; */
    margin: 10px 0;
    position: relative;
    border-radius: var(--border-radius-lg);
    overflow: hidden;
    /* height: 320px; */
    height: 350px;
    box-shadow: var(--card-shadow);
}

.ad-slides {
    height: 100%;
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.ad-slide {
    min-width: 100%;
    height: 100%;
    position: relative;
    background-size: cover;
    background-position: center;
}

.ad-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    /* background: linear-gradient(90deg, rgba(15, 44, 89, 0.9) 0%, rgba(15, 44, 89, 0.4) 60%, rgba(15, 44, 89, 0) 100%); */
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 40px 60px;
    color: var(--bg-white);
}

.ad-overlay h2 {
    color: var(--bg-white);
    font-size: 2.5rem;
    margin-bottom: 12px;
}

.ad-overlay p {
    font-size: 1.1rem;
    margin-bottom: 24px;
    max-width: 500px;
}

.ad-bullets {
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 10;
}

.ad-bullet {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: var(--transition);
}

.ad-bullet.active {
    background-color: var(--accent-color);
    width: 25px;
    border-radius: 5px;
}

.ad-control {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 45px;
    height: 45px;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-color);
    cursor: pointer;
    z-index: 10;
    font-size: 1.2rem;
    transition: var(--transition);
}

.ad-control:hover {
    background-color: var(--accent-color);
    color: var(--bg-white);
}

.ad-control-prev {
    left: 20px;
}

.ad-control-next {
    right: 20px;
}

/* Popular Categories Section */
.categories-grid {
    grid-template-columns: repeat(9, 1fr);
    margin-top: 30px;
}

.category-card {
    background-color: var(--bg-white);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    padding: 16px 10px;
    text-align: center;
    cursor: pointer;
    box-shadow: var(--card-shadow);
    transition: var(--transition);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.category-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--card-shadow-hover);
    border-color: var(--accent-color);
}

.category-card i {
    font-size: 1.8rem;
    color: var(--primary-color);
    transition: var(--transition);
}

.category-card:hover i {
    color: var(--accent-color);
}

.category-card span {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-dark);
}

/* Service Sections with Horizontal Cards */
.section-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 25px;
    border-left: 4px solid var(--accent-color);
    padding-left: 12px;
}

.section-header h2 {
    font-size: 1.75rem;
}

.section-header a {
    font-weight: 600;
    color: var(--accent-color);
    font-size: 0.95rem;
}

.section-header a:hover {
    color: var(--accent-hover);
}

.service-card {
    background-color: var(--bg-white);
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: var(--card-shadow);
    border: 1px solid var(--border-color);
    transition: var(--transition);
    cursor: pointer;
}

.service-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--card-shadow-hover);
}

.service-img {
    height: 180px;
    background-size: cover;
    background-position: center;
    position: relative;
}

.service-body {
    padding: 16px;
}

.service-body h3 {
    font-size: 1.1rem;
    margin-bottom: 8px;
}

/* Content Slider Generic */
.slider-container {
    position: relative;
    overflow: hidden;
    padding: 10px 0;
}

.slider-track {
    display: flex;
    gap: 20px;
    transition: transform 0.4s ease;
}

.slider-item {
    min-width: calc(25% - 15px);
    /* 4 cards on desktop */
}

/* Tourist Places Card */
.tourist-card {
    background-color: var(--bg-white);
    border-radius: var(--border-radius-lg);
    overflow: hidden;
    box-shadow: var(--card-shadow);
    border: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.tourist-img {
    height: 160px;
    background-size: cover;
    background-position: center;
}

.tourist-body {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.tourist-body h3 {
    font-size: 1.15rem;
    margin-bottom: 8px;
}

.tourist-body p {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin-bottom: 16px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Emergency Services Cards */
.emergency-card {
    background-color: var(--bg-white);
    border: 1px solid #f87171;
    /* Subtle red border */
    border-radius: var(--border-radius);
    padding: 20px;
    box-shadow: var(--card-shadow);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.emergency-icon {
    width: 60px;
    height: 60px;
    background-color: #fef2f2;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ef4444;
    font-size: 1.5rem;
}

.emergency-card h3 {
    font-size: 1rem;
    color: var(--primary-color);
}

.emergency-phone {
    font-size: 1.3rem;
    font-weight: 700;
    color: #ef4444;
}

/* Movie Card */
.movie-card {
    background-color: var(--bg-white);
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: var(--card-shadow);
    border: 1px solid var(--border-color);
    position: relative;
}

.movie-poster {
    height: 240px;
    background-size: cover;
    background-position: center;
}

.movie-rating {
    position: absolute;
    top: 15px;
    right: 15px;
    background-color: rgba(15, 44, 89, 0.95);
    color: #22c55e;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 700;
}

.movie-body {
    padding: 16px;
}

.movie-body h3 {
    font-size: 1rem;
    margin-bottom: 6px;
}

.movie-meta {
    font-size: 0.8rem;
    color: var(--text-muted);
}

/* List Business CTA Banner */
.cta-banner {
    background: linear-gradient(135deg, var(--primary-color) 0%, #1e427d 100%);
    border-radius: var(--border-radius-lg);
    padding: 50px 60px;
    color: var(--bg-white);
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 40px 0;
    box-shadow: var(--card-shadow);
}

.cta-content h2 {
    color: var(--bg-white);
    font-size: 2rem;
    margin-bottom: 8px;
}

.cta-content p {
    color: #cbd5e1;
    font-size: 1.1rem;
}

/* Trust/Feature Strip */
.features-strip {
    background-color: var(--bg-white);
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    padding: 24px 0;
    margin-bottom: 40px;
}

.feature-item {
    text-align: center;
    flex: 1;
}

.feature-item i {
    font-size: 1.5rem;
    color: var(--accent-color);
    margin-bottom: 8px;
}

.feature-item h4 {
    font-size: 0.9rem;
    color: var(--primary-color);
}

/* Footer Section */
.footer {
    background-color: #0b1329;
    color: #94a3b8;
    padding: 60px 0 20px;
    font-size: 0.9rem;
}

.footer-grid {
    grid-template-columns: repeat(5, 1fr);
    margin-bottom: 40px;
}

.footer-logo img {
    height: 45px;
    margin-bottom: 16px;
}

.footer-column h3 {
    color: var(--bg-white);
    font-size: 1.05rem;
    margin-bottom: 20px;
}

.footer-column ul li {
    margin-bottom: 10px;
}

.footer-column ul li a:hover {
    color: var(--accent-color);
    padding-left: 4px;
}

.footer-contact li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.footer-contact li i {
    color: var(--accent-color);
    margin-top: 4px;
}

.footer-bottom {
    border-top: 1px solid #1e293b;
    padding-top: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.8rem;
}

.footer-visitor {
    background-color: #1e293b;
    color: var(--bg-white);
    padding: 4px 12px;
    border-radius: 4px;
    font-weight: 600;
}

/* RESPONSIVE BREAKPOINTS */

/* LAPTOP / TABLET LARGE (1024px to 1200px) */
@media (max-width: 1200px) {
    .container {
        max-width: 960px;
    }

    .categories-grid {
        grid-template-columns: repeat(6, 1fr);
    }

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

    .slider-item {
        min-width: calc(33.333% - 14px);
    }
}

/* TABLET VIEW (768px to 1023px) */
@media (max-width: 768px) {
    .container {
        max-width: 720px;
    }

    .utility-bar {
        display: none;
    }

    .header-main {
        height: auto;
        padding: 15px 0;
        flex-direction: column;
        gap: 15px;
    }

    .search-bar-header {
        margin: 0;
        width: 100%;
        max-width: 100%;
    }

    .nav-bar {
        overflow-x: auto;
        white-space: nowrap;
    }

    .nav-links {
        gap: 20px;
        justify-content: flex-start;
    }

    .ad-carousel-wrapper {
        height: 240px;
    }

    .ad-overlay h2 {
        font-size: 1.8rem;
    }

    .ad-overlay p {
        font-size: 0.95rem;
    }

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

    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .slider-item {
        min-width: calc(50% - 10px);
    }

    .cta-banner {
        flex-direction: column;
        text-align: center;
        gap: 20px;
        padding: 30px;
    }

    .features-strip {
        display: none;
    }
}

/* MOBILE VIEW (480px to 767px) */
@media (max-width: 576px) {
    .container {
        padding: 0 15px;
    }

    .ad-carousel-wrapper {
        height: 180px;
    }

    .ad-overlay {
        padding: 20px;
    }

    .ad-overlay h2 {
        font-size: 1.3rem;
    }

    .ad-overlay p {
        display: none;
    }

    .ad-overlay .btn {
        padding: 6px 12px;
        font-size: 0.8rem;
    }

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

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

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

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

    .slider-item {
        min-width: 80%;
    }

    /* Horizontal scroll effect on mobile */
    .slider-track {
        overflow-x: auto;
        padding-bottom: 15px;
    }

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

    .footer-bottom {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }
}

/* SMALL MOBILE VIEW (320px to 479px) */
@media (max-width: 375px) {
    .categories-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}






/* ***** New Style .css ****** */

.hero-search-container {
    display: none;
}

/* ==========================================================================
   ⚡ POWER CAPITAL OF CHHATTISGARH SECTION (Exact Reference Design Matching)
   ========================================================================== */
#power-capital-korba {
    margin-top: 25px;
    /* margin-bottom: 40px; */
    margin-bottom: 80px;
    position: relative;
}

/* Header container with skyline illustration background in the center-right */
.power-capital-header-wrap {
    position: relative;
    padding: 8px 0 20px 0;
    margin-bottom: 14px;
    background: url('../images/power-capital/header_skyline_faded.png?v=2') 62% center no-repeat;
    background-size: auto 95%;
}

.power-capital-header-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    position: relative;
    z-index: 2;
    gap: 20px;
}

.power-hub-tag {
    color: #ff5722;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.power-hub-tag i {
    font-size: 0.95rem;
    color: #ff5722;
}

.power-hub-title {
    font-size: 2.25rem;
    font-weight: 900;
    line-height: 1.2;
    color: #0f172a;
    letter-spacing: -0.5px;
    margin: 0 0 6px 0;
}

.power-hub-title .text-orange-glow {
    color: #ff5722;
}

.power-hub-sub {
    color: #64748b;
    font-size: 0.92rem;
    margin: 0;
    max-width: 650px;
    line-height: 1.5;
}

.power-header-actions-col {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-shrink: 0;
}

.power-badge-art {
    display: flex;
    align-items: center;
}

.badge-script-img {
    height: 52px;
    width: auto;
    object-fit: contain;
    display: block;
}

.btn-explore-hub {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 24px;
    border-radius: 50px;
    border: 1.5px solid #fed7aa;
    background: #ffffff;
    color: #1e293b;
    font-weight: 700;
    font-size: 0.92rem;
    text-decoration: none;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    white-space: nowrap;
}

.btn-explore-hub i {
    color: #ff5722;
    font-size: 0.85rem;
    transition: transform 0.25s ease;
}

.btn-explore-hub:hover {
    background: #ff5722;
    color: #ffffff;
    border-color: #ff5722;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(255, 87, 34, 0.3);
}

.btn-explore-hub:hover i {
    color: #ffffff;
    transform: translateX(4px);
}

/* 6-Card Grid Layout */
.power-capital-grid-v2 {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 14px;
    margin-top: 10px;
}

/* Individual Card Styling (Exact Reference Match) */
.power-card-v2 {
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 10px 25px -4px rgba(0, 0, 0, 0.12), 0 4px 10px -2px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease;
    text-decoration: none;
    position: relative;
    height: auto;
    min-height: 440px;
}

.power-card-body-v2 {
    padding: 22px 13px 10px 13px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex: none;
    z-index: 2;
}

/* Frosted Glass Circle Icon */
.power-card-icon-circle-v2 {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    border: 1.5px solid rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    margin-bottom: 12px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.power-card-v2:hover .power-card-icon-circle-v2 {
    transform: scale(1.08);
}

.power-card-icon-circle-v2 svg {
    color: #ffffff;
    stroke: #ffffff;
}

/* Card Company Name */
.power-card-title-v2 {
    font-size: 1.25rem;
    font-weight: 800;
    color: #ffffff !important;
    margin: 0 0 3px 0;
    letter-spacing: 0.3px;
    line-height: 1.2;
}

/* Tagline below name */
.power-card-sub-v2 {
    font-size: 0.8rem;
    font-weight: 600;
    margin-bottom: 14px;
    letter-spacing: 0.2px;
}

.power-card-bullets-v2 {
    list-style: none;
    padding: 0;
    margin: 0 0 10px 0;
    width: 100%;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

/* Explore Now Pill CTA Over Photo */
.power-card-btn-v2 {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6px 18px;
    border-radius: 50px;
    background: rgba(15, 23, 42, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.45);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    text-decoration: none;
    backdrop-filter: blur(6px);
    white-space: nowrap;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    transition: all 0.25s ease;
}

.power-card-btn-v2 i {
    font-size: 0.7rem;
    transition: transform 0.2s ease;
}

.power-card-v2:hover .power-card-btn-v2 {
    background: #ea580c;
    border-color: #ea580c;
    transform: translateX(-50%) translateY(-2px);
    box-shadow: 0 6px 18px rgba(234, 88, 12, 0.5);
}

.power-card-v2:hover .power-card-btn-v2 i {
    transform: translateX(3px);
}

/* Bottom Inset Photo Box */
.power-card-photo-box-v2 {
    width: 100%;
    height: 135px;
    padding: 0 6px 6px 6px;
    overflow: hidden;
    position: relative;
    z-index: 1;
    margin-top: auto;
}

.power-card-photo-v2 {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 14px;
    display: block;
    transition: transform 0.4s ease;
}

.power-card-v2:hover .power-card-photo-v2 {
    transform: scale(1.06);
}

/* Responsive Breakpoints */
@media (max-width: 1200px) {
    .power-capital-grid-v2 {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }
}

@media (max-width: 768px) {
    .power-capital-header-wrap {
        background: none;
    }

    .power-capital-header-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }

    .power-header-actions-col {
        width: 100%;
        justify-content: space-between;
    }

    .power-hub-title {
        font-size: 1.75rem;
    }

    .power-capital-grid-v2 {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .power-card-v2 {
        height: 450px;
    }

    .power-card-body-v2 {
        padding: 18px 10px 10px 10px;
    }

    .power-card-title-v2 {
        font-size: 1.15rem;
    }

    .power-card-bullets-v2 li {
        font-size: 0.7rem;
    }
}

@media (max-width: 480px) {
    .power-capital-grid-v2 {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .power-card-v2 {
        max-width: 100%;
        margin: 0;
        width: 100%;
    }
}

@media (max-width: 480px) {
    .power-capital-grid {
        grid-template-columns: 1fr;
    }

    .power-card-img-wrapper {
        height: 125px;
    }
}


/* ==========================================================================
   VERIFIED BUSINESSES GRID & CARD DESIGN (EQUAL HEIGHT)
   ========================================================================== */
.business-cards-grid {
    grid-template-columns: repeat(4, 1fr);
    margin-bottom: 40px;
}

.business-card {
    background: var(--bg-white);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
    box-shadow: var(--card-shadow);
    transition: var(--transition);
}

.business-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--card-shadow-hover);
}

.biz-image-container {
    position: relative;
    height: 160px;
    background-color: #f1f5f9;
    overflow: hidden;
}

.biz-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.business-card:hover .biz-card-img {
    transform: scale(1.03);
}

.biz-badges {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    z-index: 2;
}

.biz-badges .badge {
    font-size: 0.65rem;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.badge-platinum {
    background-color: #3b82f6;
    color: white;
}

.badge-featured {
    background-color: #f97316;
    color: white;
}

.badge-free {
    background-color: #64748b;
    color: white;
}

.badge-verified {
    background-color: #10b981;
    color: white;
}

.biz-card-body {
    padding: 18px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.biz-card-title {
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
}

.biz-card-title a:hover {
    color: var(--accent-color);
}

.biz-card-category {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--accent-color);
    display: flex;
    align-items: center;
    gap: 6px;
    letter-spacing: 0.5px;
}

.biz-card-address {
    font-size: 0.82rem;
    color: var(--text-muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 38px;
    line-height: 1.4;
}

.biz-card-rating {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
}

.biz-card-rating .stars {
    display: flex;
    gap: 2px;
}

.biz-card-rating .rating-text {
    font-weight: 600;
    color: var(--text-dark);
}

.biz-card-status {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px dashed var(--border-color);
}

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

.status-open {
    color: #10b981;
}

.status-open i {
    font-size: 0.5rem;
}

.biz-card-actions-icon {
    display: flex;
    gap: 12px;
}

.action-icon-btn {
    color: #94a3b8;
    font-size: 1rem;
    transition: var(--transition);
}

.action-icon-btn:hover {
    color: var(--accent-color);
}

.biz-card-footer {
    padding: 0 18px 18px 18px;
    background: transparent;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.biz-footer-buttons {
    display: flex;
    gap: 8px;
}

.biz-btn-half {
    flex: 1;
    padding: 8px 12px;
    font-size: 0.8rem;
    border-radius: var(--border-radius-sm);
    font-weight: 700;
}

.biz-btn-half.whatsapp-btn {
    border-color: #25d366;
    color: #128c7e;
}

.biz-btn-half.whatsapp-btn:hover {
    background-color: #25d366;
    color: white;
    border-color: #25d366;
}

.biz-btn-full {
    width: 100%;
    padding: 10px;
    font-size: 0.85rem;
    border-radius: var(--border-radius-sm);
    font-weight: 700;
}

/* ==========================================================================
   REGISTER YOUR BUSINESS SECTION (Image 3 style dark blue block)
   ========================================================================== */
.business-register-section {
    background-color: #0f1e36;
    color: #fff;
    border-radius: var(--border-radius-lg);
    padding: 50px 40px;
    margin: 40px 0;
    box-shadow: 0 10px 30px rgba(15, 30, 54, 0.3);
}

.register-container {
    display: flex;
    gap: 40px;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
}

.register-info-block {
    flex: 1;
}

.badge-accent {
    background-color: #ea580c;
    color: white;
    font-size: 0.75rem;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 4px;
    letter-spacing: 1px;
    display: inline-block;
    margin-bottom: 15px;
}

.register-main-title {
    font-size: 2.2rem;
    font-weight: 800;
    color: white;
    line-height: 1.25;
    margin-bottom: 12px;
    letter-spacing: -0.5px;
}

.register-subtitle {
    font-size: 1.1rem;
    color: #94a3b8;
    margin-bottom: 30px;
}

.register-bullets {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.register-bullets li {
    display: flex;
    gap: 15px;
    align-items: flex-start;
}

.bullet-icon {
    width: 32px;
    height: 32px;
    background-color: rgba(234, 88, 12, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #f97316;
    font-size: 0.9rem;
    flex-shrink: 0;
}

.register-bullets li strong {
    font-size: 1rem;
    color: white;
    display: block;
    margin-bottom: 3px;
}

.register-bullets li p {
    font-size: 0.85rem;
    color: #94a3b8;
    margin: 0;
}

.register-form-block {
    width: 480px;
    flex-shrink: 0;
}

.register-form-card {
    background-color: #1e293b;
    border: 1px solid #334155;
    border-radius: var(--border-radius-lg);
    padding: 30px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

.register-form-card h3 {
    font-size: 1.4rem;
    color: white;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.register-form-card h3 i {
    color: #f97316;
}

.form-group-reg {
    margin-bottom: 18px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.form-group-reg label {
    font-size: 0.82rem;
    font-weight: 600;
    color: #cbd5e1;
}

.form-group-reg input,
.form-group-reg select {
    background-color: #0f172a;
    border: 1px solid #334155;
    color: white;
    padding: 10px 14px;
    border-radius: 6px;
    outline: none;
    font-size: 0.9rem;
    width: 100%;
    transition: var(--transition);
}

.form-group-reg input:focus,
.form-group-reg select:focus {
    border-color: #f97316;
    box-shadow: 0 0 0 2px rgba(249, 115, 22, 0.2);
}

.form-row-reg {
    display: flex;
    gap: 15px;
}

.flex-1 {
    flex: 1;
}

/* Custom File Upload */
.custom-file-upload {
    position: relative;
    width: 100%;
}

.custom-file-upload input[type="file"] {
    display: none;
}

.file-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background-color: #0f172a;
    border: 1.5px dashed #334155;
    color: #cbd5e1;
    padding: 12px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.88rem;
    font-weight: 600;
    transition: var(--transition);
    text-align: center;
}

.file-label:hover {
    border-color: #f97316;
    color: white;
    background-color: #1e293b;
}

.file-label i {
    font-size: 1.1rem;
    color: #f97316;
}

.btn-submit-reg {
    background-color: #f97316;
    color: white;
    border: none;
    padding: 12px 20px;
    border-radius: 6px;
    width: 100%;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 25px;
}

.btn-submit-reg:hover {
    background-color: #ea580c;
}

.reg-form-footer {
    font-size: 0.75rem;
    color: #94a3b8;
    text-align: center;
    margin-top: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

/* ==========================================================================
   MOBILE & TABLET OVERRIDES FOR MAIN NAVIGATION & GRID LAYOUT
   ========================================================================== */

/* Hiding navigation scrollbars */
.nav-bar {
    scrollbar-width: none;
    /* Firefox */
}

.nav-bar::-webkit-scrollbar {
    display: none;
    /* Safari and Chrome */
}

.nav-links {
    padding: 0 10px;
}

/* Responsive Overrides for Cards & Form */
@media (max-width: 1024px) {
    .business-cards-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .register-container {
        flex-direction: column;
        align-items: stretch;
        gap: 30px;
    }

    .register-form-block {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .business-cards-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .business-register-section {
        padding: 30px 20px;
    }

    .register-main-title {
        font-size: 1.8rem;
    }

    .register-form-card {
        padding: 20px;
    }
}

@media (max-width: 576px) {
    .business-cards-grid {
        grid-template-columns: 1fr;
    }

    .form-row-reg {
        flex-direction: column;
        gap: 0;
    }

    .register-main-title {
        font-size: 1.5rem;
    }
}

/* ==========================================================================
   UPCOMING EVENTS SECTION STYLING
   ========================================================================== */
.events-cards-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.event-card {
    background: var(--bg-white);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    padding: 24px;
    display: flex;
    gap: 20px;
    align-items: flex-start;
    box-shadow: var(--card-shadow);
    transition: var(--transition);
}

.event-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--card-shadow-hover);
}

.event-date-badge {
    width: 65px;
    height: 65px;
    background-color: var(--accent-color);
    color: white;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 10px rgba(234, 88, 12, 0.25);
}

.event-day {
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1;
}

.event-month {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    margin-top: 2px;
}

.event-details {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.event-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--primary-color);
    margin: 0;
}

.event-meta-item {
    font-size: 0.85rem;
    color: var(--text-muted);
    display: flex;
    align-items: center;
    gap: 8px;
}

.event-meta-item i {
    color: #94a3b8;
    width: 14px;
    text-align: center;
}

.event-fee-divider {
    color: #cbd5e1;
}

.event-fee-text {
    font-weight: 700;
    color: var(--accent-color);
}

.event-register-btn {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid var(--border-color);
    padding: 6px 16px;
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--text-dark);
    margin-top: 6px;
    background-color: var(--bg-light);
    transition: var(--transition);
}

.event-register-btn:hover {
    background-color: var(--accent-color);
    color: white;
    border-color: var(--accent-color);
}

@media (max-width: 768px) {
    .events-cards-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

/* ==========================================================================
   RESPONSIVE AD BANNER STYLING
   ========================================================================== */
.ad-banner-container {
    width: 100%;
    border-radius: var(--border-radius-lg);
    overflow: hidden;
    box-shadow: var(--card-shadow);
    transition: var(--transition);
}

.ad-banner-container:hover {
    box-shadow: var(--card-shadow-hover);
}

.ad-banner-link {
    display: block;
    width: 100%;
    height: 100%;
}

.ad-banner-img {
    width: 100%;
    height: 220px;
    max-height: 220px;
    object-fit: cover;
    display: block;
    border-radius: var(--border-radius-lg);
}

.middle-ad-carousel-wrapper {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 220px;
    border-radius: var(--border-radius-lg);
}

.middle-ad-slides {
    display: flex;
    height: 100%;
    width: 100%;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.middle-ad-slide {
    min-width: 100%;
    flex: 0 0 100%;
    height: 100%;
}

.middle-ad-slide .ad-banner-img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

@media (max-width: 768px) {

    .ad-banner-img,
    .middle-ad-carousel-wrapper {
        height: 160px;
        max-height: 160px;
    }
}

@media (max-width: 480px) {

    .ad-banner-img,
    .middle-ad-carousel-wrapper {
        height: 120px;
        max-height: 120px;
    }
}

/* ==========================================================================
   🚨 EMERGENCY HELPLINE TICKER STRIP (Above Business Events on Homepage)
   ========================================================================== */
.emergency-helpline-strip {
    /* background: linear-gradient(90deg, #7f1d1d 0%, #991b1b 30%, #b91c1c 50%, #991b1b 70%, #7f1d1d 100%);
    border-top: 1px solid #f87171;
    border-bottom: 1px solid #991b1b;
    box-shadow: 0 4px 15px rgba(153, 27, 27, 0.25); */
    background: linear-gradient(90deg, #ff6000 0%, #f5803a 30%, #cb550e 50%, #eb7731 70%, #ff6000 100%);
    border-top: 1px solid #e35a08;
    border-bottom: 1px solid #ff6000;
    box-shadow: 0 4px 15px rgba(235, 119, 49, 0.25);
    font-size: 0.84rem;
    overflow: hidden;
    margin: 25px 0 15px 0;
    border-radius: var(--border-radius-sm);
}

.emergency-strip-tag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #ffffff;
    color: #991b1b;
    border: 1px solid #fecaca;
    padding: 4px 12px;
    border-radius: 20px;
    font-weight: 800;
    font-size: 0.85rem;
    letter-spacing: 0.5px;
    flex-shrink: 0;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.emergency-pulse-dot {
    width: 8px;
    height: 8px;
    background-color: #dc2626;
    border-radius: 50%;
    display: inline-block;
    box-shadow: 0 0 0 rgba(220, 38, 38, 0.7);
    animation: emergencyPulse 1.4s infinite;
}

@keyframes emergencyPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.8);
    }

    70% {
        box-shadow: 0 0 0 7px rgba(239, 68, 68, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(239, 68, 68, 0);
    }
}

.emergency-strip-marquee-container {
    overflow: hidden;
    white-space: nowrap;
    flex-grow: 1;
    position: relative;
    mask-image: linear-gradient(to right, transparent 0%, black 2%, black 98%, transparent 100%);
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 2%, black 98%, transparent 100%);
}

.emergency-strip-marquee-content {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    white-space: nowrap;
    animation: emergencyTickerScroll 36s linear infinite;
}

.emergency-strip-marquee-content:hover {
    animation-play-state: paused;
}

@keyframes emergencyTickerScroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.emergency-strip-entry {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #ffffff;
    text-decoration: none;
    flex-shrink: 0;
    transition: all 0.2s ease;
    padding: 3px 6px;
    border-radius: 6px;
}

.emergency-strip-entry:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: translateY(-1px);
}

.emergency-strip-entry i {
    color: #fef08a;
    /* Bright emergency gold icon */
    font-size: 0.9rem;
}

.emergency-strip-name {
    color: #ffffff;
    font-weight: 700;
    letter-spacing: 0.2px;
}

.emergency-strip-city {
    color: #fecdd3;
    font-size: 0.78rem;
}

.emergency-badge {
    background-color: #ffffff;
    color: #991b1b;
    border: 1px solid #fecaca;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

.emergency-strip-sep {
    color: #fda4af;
    opacity: 0.6;
    font-weight: 300;
}

/* ==========================================================================
   EMERGENCY SERVICES AUTO-RUNNING MARQUEE (Image 3 Style)
   ========================================================================== */
.emergency-section-container {
    background-color: #fff8f8;
    border: 1px solid #fee2e2;
    border-radius: 16px;
    padding: 26px 28px;
    margin: 40px 0;
    box-shadow: 0 4px 20px rgba(239, 68, 68, 0.04);
}

.emergency-view-all-link {
    color: #ef4444;
    font-weight: 700;
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: var(--transition);
}

.emergency-view-all-link:hover {
    color: #b91c1c;
    transform: translateX(3px);
}

.emergency-marquee-wrapper {
    overflow: hidden;
    position: relative;
    width: 100%;
    padding: 8px 0;
    mask-image: linear-gradient(to right, transparent 0%, black 2%, black 98%, transparent 100%);
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 2%, black 98%, transparent 100%);
}

.emergency-marquee-track {
    display: flex;
    gap: 16px;
    width: max-content;
    animation: emergencyMarquee 26s linear infinite;
}

.emergency-marquee-track:hover {
    animation-play-state: paused;
}

@keyframes emergencyMarquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.emergency-card-item {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #ffffff;
    border: 1px solid #fecaca;
    border-radius: 10px;
    padding: 8px 14px;
    min-width: 270px;
    max-width: 270px;
    height: 70px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
    text-decoration: none;
    transition: all 0.25s ease;
    flex-shrink: 0;
}

.emergency-card-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(239, 68, 68, 0.15);
    border-color: #f87171;
}

.emergency-icon-box {
    width: 44px;
    height: 44px;
    background-color: #fff1f2;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ef4444;
    font-size: 1.25rem;
    flex-shrink: 0;
}

.emergency-info-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    flex-grow: 1;
}

.emergency-name {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--primary-color);
    margin: 0 0 3px 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.emergency-phone {
    font-size: 0.88rem;
    color: #dc2626;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.emergency-phone i {
    font-size: 0.75rem;
}

@media (max-width: 768px) {
    .emergency-section-container {
        padding: 20px 14px;
        margin: 25px 0;
    }

    .emergency-card-item {
        min-width: 245px;
        max-width: 245px;
        height: 66px;
        padding: 8px 12px;
    }

    .emergency-icon-box {
        width: 38px;
        height: 38px;
        font-size: 1.1rem;
    }

    .live-tag {
        padding: 2px 7px;
        font-size: 0.68rem;
    }
}

/* ==========================================================================
   MIDDLE BANNER CAROUSEL AUTO-SLIDER (Supports 5+ Ads)
   ========================================================================== */
.middle-ad-carousel-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: var(--border-radius-md);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    background: #ffffff;
    margin: 0 0 30px 0;
}

.middle-ad-slides {
    display: flex;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
}

.middle-ad-slide {
    min-width: 100%;
    flex-shrink: 0;
}

.middle-ad-carousel-wrapper:hover .middle-ad-control {
    background: rgba(234, 88, 12, 0.85) !important;
}

.middle-ad-bullet.active {
    background: #ea580c !important;
    width: 22px !important;
    border-radius: 10px !important;
}

@media (max-width: 768px) {
    .middle-ad-carousel-wrapper {
        margin: 20px 0;
    }

    .middle-ad-control {
        display: none !important;
    }
}

/* ==========================================================================
   ⭐ KORBA'S BUSINESS HOTSPOTS (2-Tier Auto-Scrolling Marquee)
   ========================================================================== */
.hotspots-section-container {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 24px 26px;
    margin: 35px 0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
}

.hotspots-view-all-link {
    color: var(--accent-color, #ea580c);
    font-weight: 700;
    font-size: 0.88rem;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    transition: var(--transition);
}

.hotspots-view-all-link:hover {
    color: #c2410c;
    transform: translateX(3px);
}

.hotspots-marquee-wrapper {
    overflow: hidden;
    position: relative;
    width: 100%;
    padding: 4px 0;
    mask-image: linear-gradient(to right, transparent 0%, black 2%, black 98%, transparent 100%);
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 2%, black 98%, transparent 100%);
}

.hotspots-marquee-track {
    display: flex;
    gap: 16px;
    width: max-content;
}

.hotspots-track-row1 {
    animation: hotspotMarqueeScroll 36s linear infinite;
}

.hotspots-track-row2 {
    animation: hotspotMarqueeScroll 42s linear infinite;
}

.hotspots-marquee-track:hover {
    animation-play-state: paused;
}

@keyframes hotspotMarqueeScroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.hotspot-card-item {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 10px 12px;
    min-width: 325px;
    max-width: 325px;
    /* height: 84px; */
    height: 90px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    text-decoration: none;
    transition: all 0.25s ease;
    flex-shrink: 0;
    position: relative;
}

.hotspot-card-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(234, 88, 12, 0.12);
    border-color: #fdba74;
}

.hotspot-img-box {
    width: 75px;
    height: 75px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    position: relative;
    background: #f1f5f9;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.hotspot-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.hotspot-card-item:hover .hotspot-img {
    transform: scale(1.08);
}

.hotspot-rating {
    position: absolute;
    bottom: 2px;
    right: 2px;
    background: rgba(15, 23, 42, 0.85);
    color: #fef08a;
    font-size: 0.62rem;
    font-weight: 800;
    padding: 1px 4px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    backdrop-filter: blur(2px);
}

.hotspot-info-box {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    flex-grow: 1;
    height: 100%;
}

.hotspot-name {
    font-size: 0.84rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.25;
}

.hotspot-address {
    font-size: 0.72rem;
    color: #64748b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 2px 0;
}

.hotspot-address i {
    color: #ea580c;
    font-size: 0.65rem;
    flex-shrink: 0;
}

.hotspot-bottom-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: auto;
}

.hotspot-tag {
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #e2e8f0;
    padding: 1px 6px;
    border-radius: 4px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.2px;
    white-space: nowrap;
}

.hotspot-read-more {
    font-size: 0.72rem;
    font-weight: 700;
    color: #ea580c;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.hotspot-read-more:hover {
    color: #c2410c;
    transform: translateX(2px);
}

@media (max-width: 768px) {
    .hotspots-section-container {
        padding: 18px 14px;
        margin: 22px 0;
    }

    .hotspot-card-item {
        min-width: 280px;
        max-width: 280px;
        height: 80px;
        padding: 8px 10px;
    }

    .hotspot-img-box {
        width: 58px;
        height: 58px;
    }
}

/* ========================================================
   1. COLORFUL POPULAR CATEGORIES SECTION (HOMEPAGE)
======================================================== */
.categories-section-wrapper {
    padding: 45px 0 35px;
    position: relative;
}

.category-header-wrap {
    margin-bottom: 34px;
    text-align: center;
}

.category-heading-container {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    position: relative;
}

.category-main-heading {
    font-size: 2.2rem;
    font-weight: 800;
    color: #0f2c59;
    letter-spacing: -0.5px;
    margin: 0;
    line-height: 1.2;
    display: inline-block;
}

.category-main-heading .highlight-popular {
    color: #ff6000;
    position: relative;
}

/* Playful orange rays on left & right matching Image 2 */
.category-sparkle-rays {
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
    width: 22px;
}

.category-sparkle-rays.left .ray-1 {
    width: 14px;
    height: 3px;
    background: #ff7043;
    border-radius: 3px;
    transform: rotate(-30deg) translateY(-2px);
}

.category-sparkle-rays.left .ray-2 {
    width: 20px;
    height: 3.5px;
    background: #ff6000;
    border-radius: 3px;
    margin-left: 2px;
}

.category-sparkle-rays.left .ray-3 {
    width: 14px;
    height: 3px;
    background: #ff7043;
    border-radius: 3px;
    transform: rotate(30deg) translateY(2px);
}

.category-sparkle-rays.right .ray-1 {
    width: 14px;
    height: 3px;
    background: #ff7043;
    border-radius: 3px;
    align-self: flex-end;
    transform: rotate(30deg) translateY(-2px);
}

.category-sparkle-rays.right .ray-2 {
    width: 20px;
    height: 3.5px;
    background: #ff6000;
    border-radius: 3px;
    align-self: flex-end;
    margin-right: 2px;
}

.category-sparkle-rays.right .ray-3 {
    width: 14px;
    height: 3px;
    background: #ff7043;
    border-radius: 3px;
    align-self: flex-end;
    transform: rotate(-30deg) translateY(2px);
}

.category-accent-swoosh {
    width: 65px;
    height: 4px;
    background: linear-gradient(90deg, #ff7a00 0%, #ff5252 100%);
    border-radius: 4px;
    margin: 8px auto 10px;
}

.category-subheading {
    font-size: 0.98rem;
    color: #64748b;
    margin: 0 auto;
    font-weight: 500;
}

/* Categories Rows and Grid */
.colorful-categories-wrapper {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.colorful-cat-row.row-9 {
    display: grid;
    grid-template-columns: repeat(9, 1fr);
    gap: 14px;
}

.colorful-cat-row.row-10 {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    gap: 14px;
}

.colorful-categories-grid {
    display: grid;
    grid-template-columns: repeat(9, 1fr);
    gap: 14px;
}

/* Category Card Styling */
.colorful-cat-card {
    background: #ffffff;
    border: 1px solid #f1f5f9;
    border-radius: 16px;
    padding: 16px 8px 14px;
    text-align: center;
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.04);
    transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.colorful-cat-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px -4px rgba(15, 23, 42, 0.1);
    border-color: rgba(226, 232, 240, 0.9);
}

/* Circular Icon Badge */
.cat-icon-badge {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    box-shadow: 0 7px 16px -3px rgba(0, 0, 0, 0.22);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    flex-shrink: 0;
}

.colorful-cat-card:hover .cat-icon-badge {
    transform: scale(1.08) rotate(-4deg);
    box-shadow: 0 10px 22px -3px rgba(0, 0, 0, 0.3);
}

.cat-icon-badge i {
    color: #ffffff;
    font-size: 1.4rem;
    transition: transform 0.3s ease;
}

/* Category Card Title */
.cat-card-title {
    font-size: 0.84rem;
    font-weight: 700;
    color: #1e293b;
    text-align: center;
    line-height: 1.25;
    margin-bottom: 10px;
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.colorful-cat-card:hover .cat-card-title {
    color: #0f172a;
}

/* Bottom Accent Bar */
.cat-accent-bar {
    width: 22px;
    height: 3px;
    border-radius: 3px;
    margin-top: auto;
    transition: width 0.25s ease, transform 0.25s ease;
}

.colorful-cat-card:hover .cat-accent-bar {
    width: 36px;
    transform: scaleY(1.2);
}

/* More Categories special styling */
.more-cat-card:hover {
    border-color: rgba(99, 102, 241, 0.4);
}

/* ========================================================
   2. MORE CATEGORIES MAIN PAGE (FULL VIEW & ADS)
======================================================== */
.more-cat-page-container {
    /* padding: 30px 0 70px; */
}

/* Breadcrumb */
.cat-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.88rem;
    color: #64748b;
    margin-bottom: 20px;
}

.cat-breadcrumb a {
    color: #0f2c59;
    font-weight: 600;
}

.cat-breadcrumb a:hover {
    color: #ff6000;
}

/* Page Hero Header */
.cat-page-hero {
    background: linear-gradient(135deg, #0f2c59 0%, #1e3a8a 50%, #0369a1 100%);
    border-radius: 20px;
    padding: 35px 40px;
    color: #ffffff;
    margin-bottom: 28px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 10px 25px -5px rgba(15, 44, 89, 0.3);
}

.cat-page-hero::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 350px;
    height: 350px;
    background: radial-gradient(circle, rgba(255, 96, 0, 0.25) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

.cat-page-hero-title {
    font-size: 2.2rem;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 8px;
    letter-spacing: -0.5px;
}

.cat-page-hero-title span {
    color: #ff9800;
}

.cat-page-hero-subtitle {
    font-size: 1.05rem;
    color: #e2e8f0;
    margin-bottom: 20px;
    max-width: 680px;
}

.cat-stats-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 10px;
}

.cat-stat-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.25);
    padding: 6px 14px;
    border-radius: 30px;
    font-size: 0.85rem;
    font-weight: 600;
    backdrop-filter: blur(8px);
}

.cat-stat-pill i {
    color: #ff9800;
}

/* ========================================================
   3. HEADER AUTO-SCROLL ADS (SLIDER / MARQUEE)
======================================================== */
.header-autoscroll-ad-section {
    margin-bottom: 32px;
    position: relative;
}

.ad-sponsor-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #64748b;
    margin-bottom: 8px;
}

.ad-sponsor-tag i {
    color: #f59e0b;
}

.header-ad-carousel-container {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background: #0f172a;
    box-shadow: 0 4px 20px -3px rgba(0, 0, 0, 0.12);
    height: 220px;
}

.header-ad-track {
    display: flex;
    height: 100%;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.header-ad-slide {
    min-width: 100%;
    height: 100%;
    position: relative;
    display: block;
}

.header-ad-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.header-ad-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(15, 23, 42, 0.82) 0%, rgba(15, 23, 42, 0.35) 60%, transparent 100%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px 35px;
    color: #ffffff;
}

.header-ad-title {
    font-size: 1.4rem;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 6px;
    max-width: 600px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
}

.header-ad-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(135deg, #ff6000 0%, #ea580c 100%);
    color: #ffffff;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 0.82rem;
    font-weight: 700;
    width: fit-content;
    box-shadow: 0 4px 10px rgba(255, 96, 0, 0.4);
    margin-top: 6px;
}

.header-ad-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.85);
    border: none;
    color: #0f172a;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    cursor: pointer;
    z-index: 10;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    transition: all 0.2s ease;
}

.header-ad-nav-btn:hover {
    background: #ffffff;
    transform: translateY(-50%) scale(1.08);
    color: #ff6000;
}

.header-ad-nav-btn.prev {
    left: 14px;
}

.header-ad-nav-btn.next {
    right: 14px;
}

.header-ad-dots {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 6px;
    z-index: 10;
}

.header-ad-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: all 0.3s ease;
}

.header-ad-dot.active {
    width: 22px;
    border-radius: 4px;
    background: #ff6000;
}

/* ========================================================
   4. SEARCH, FILTER & ALPHABET TOOLBAR
======================================================== */
.cat-page-toolbar {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 20px 24px;
    margin-bottom: 30px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.cat-search-row {
    display: flex;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.cat-search-input-box {
    flex-grow: 1;
    position: relative;
    min-width: 280px;
}

.cat-search-input-box i {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 1rem;
}

.cat-search-input {
    width: 100%;
    padding: 12px 16px 12px 45px;
    border: 1.5px solid #e2e8f0;
    border-radius: 10px;
    font-size: 0.95rem;
    font-family: inherit;
    background: #f8fafc;
    color: #0f172a;
    transition: all 0.2s ease;
}

.cat-search-input:focus {
    outline: none;
    border-color: #ff6000;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(255, 96, 0, 0.12);
}

.cat-filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.cat-chip-btn {
    background: #f1f5f9;
    color: #475569;
    border: 1px solid transparent;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.cat-chip-btn:hover,
.cat-chip-btn.active {
    background: #0f2c59;
    color: #ffffff;
    border-color: #0f2c59;
}

/* Alphabet quick filter */
.cat-alphabet-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding-top: 12px;
    border-top: 1px solid #f1f5f9;
    align-items: center;
}

.cat-alpha-btn {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-size: 0.78rem;
    font-weight: 700;
    color: #475569;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    cursor: pointer;
    transition: all 0.2s ease;
}

.cat-alpha-btn:hover,
.cat-alpha-btn.active {
    background: #ff6000;
    color: #ffffff;
    border-color: #ff6000;
}

/* ========================================================
   5. TWO-COLUMN LAYOUT: MAIN CONTENT + SIDEBAR ADS
======================================================== */
.cat-page-content-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 28px;
    align-items: flex-start;
}

/* Full Category Card on More Categories Page */
.more-categories-full-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.cat-item-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 20px;
    transition: all 0.25s ease;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    position: relative;
    overflow: hidden;
}

.cat-item-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 22px -3px rgba(15, 23, 42, 0.08);
    border-color: #cbd5e1;
}

.cat-item-card-top {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px;
}

.cat-item-badge {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 14px -3px rgba(0, 0, 0, 0.18);
    flex-shrink: 0;
    transition: transform 0.25s ease;
}

.cat-item-card:hover .cat-item-badge {
    transform: scale(1.08);
}

.cat-item-badge i {
    color: #ffffff;
    font-size: 1.3rem;
}

.cat-item-info {
    flex-grow: 1;
}

.cat-item-name {
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f2c59;
    margin: 0 0 4px 0;
    line-height: 1.25;
}

.cat-item-count {
    font-size: 0.78rem;
    color: #64748b;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.cat-item-count span {
    color: #059669;
    font-weight: 700;
}

/* Subcategories Pills */
.cat-item-subcats {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 16px;
}

.cat-subcat-tag {
    font-size: 0.75rem;
    background: #f8fafc;
    color: #475569;
    border: 1px solid #e2e8f0;
    padding: 3px 8px;
    border-radius: 6px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.cat-subcat-tag:hover {
    background: #ffedd5;
    color: #c2410c;
    border-color: #fdba74;
}

.cat-item-footer {
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cat-view-link {
    font-size: 0.82rem;
    font-weight: 700;
    color: #ff6000;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.cat-view-link:hover {
    color: #ea580c;
    transform: translateX(3px);
}

/* Mid-Grid Content Ad Banner */
.cat-mid-grid-ad {
    grid-column: 1 / -1;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 16px;
    position: relative;
    overflow: hidden;
}

.cat-mid-grid-ad img {
    width: 100%;
    max-height: 120px;
    object-fit: cover;
    border-radius: 10px;
}

/* ========================================================
   6. SIDEBAR ADVERTISING SLOTS
======================================================== */
.cat-sidebar,
.sticky-sidebar-wrapper {
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: -webkit-sticky;
    position: sticky;
    top: 90px;
    align-self: flex-start;
    z-index: 10;
}

.sidebar-ad-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 14px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    position: relative;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.sidebar-ad-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
}

.sidebar-ad-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #94a3b8;
}

.sidebar-ad-img {
    width: 100%;
    border-radius: 10px;
    display: block;
    object-fit: cover;
    max-height: 200px;
    height: 190px;
    transition: transform 0.25s ease;
}

.sidebar-ad-card-tall .sidebar-ad-img,
.sidebar-ad-img.sidebar-ad-img-tall,
.sidebar-ad-img-tall {
    max-height: 380px;
    height: 340px;
    min-height: 280px;
    object-fit: cover;
}

.sidebar-ad-img:hover {
    transform: scale(1.02);
}

/* CTA Card for Business Owners */
.sidebar-cta-card {
    background: linear-gradient(135deg, #0f2c59 0%, #1e3a8a 100%);
    border-radius: 16px;
    padding: 24px 20px;
    color: #ffffff;
    text-align: center;
    box-shadow: 0 6px 18px -3px rgba(15, 44, 89, 0.3);
}

.sidebar-cta-card i.cta-icon {
    font-size: 2.2rem;
    color: #ff9800;
    margin-bottom: 12px;
    display: inline-block;
}

.sidebar-cta-title {
    font-size: 1.15rem;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 8px;
}

.sidebar-cta-desc {
    font-size: 0.85rem;
    color: #cbd5e1;
    margin-bottom: 16px;
    line-height: 1.4;
}

.sidebar-cta-btn {
    display: block;
    width: 100%;
    background: #ff6000;
    color: #ffffff;
    font-weight: 700;
    font-size: 0.88rem;
    padding: 10px 14px;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s ease;
    box-shadow: 0 4px 10px rgba(255, 96, 0, 0.35);
}

.sidebar-cta-btn:hover {
    background: #ea580c;
    transform: translateY(-2px);
}

/* ========================================================
   7. FOOTER TOP SINGLE BANNER AD (DIRECTLY ABOVE FOOTER)
======================================================== */
.footer-top-single-ad-section {
    margin-top: 45px;
    margin-bottom: 30px;
    width: 100%;
}

.footer-single-ad-box {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    overflow: hidden;
    height: 200px;
    box-shadow: 0 4px 18px -2px rgba(15, 23, 42, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.footer-single-ad-box:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px -3px rgba(15, 23, 42, 0.12);
}

.footer-single-ad-link {
    display: block;
    width: 100%;
    height: 100%;
}

.footer-single-ad-img {
    width: 100%;
    height: 200px;
    max-height: 200px;
    object-fit: cover;
    display: block;
}

@media (max-width: 768px) {

    .footer-single-ad-box,
    .footer-single-ad-img {
        height: 150px;
        max-height: 150px;
    }
}

@media (max-width: 480px) {

    .footer-single-ad-box,
    .footer-single-ad-img {
        height: 110px;
        max-height: 110px;
    }
}

/* ========================================================
   8. RESPONSIVE MEDIA QUERIES
======================================================== */
@media (min-width: 1400px) {
    .colorful-categories-grid {
        grid-template-columns: repeat(9, 1fr);
        gap: 16px;
    }
}

@media (max-width: 1280px) and (min-width: 1024px) {

    .colorful-categories-grid,
    .colorful-cat-row.row-9,
    .colorful-cat-row.row-10 {
        grid-template-columns: repeat(5, 1fr);
        gap: 12px;
    }

    .more-categories-full-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 1023px) and (min-width: 768px) {

    .colorful-categories-grid,
    .colorful-cat-row.row-9,
    .colorful-cat-row.row-10 {
        grid-template-columns: repeat(4, 1fr);
        gap: 12px;
    }

    .category-main-heading {
        font-size: 1.85rem;
    }

    .cat-page-content-layout {
        grid-template-columns: 1fr;
    }

    .more-categories-full-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cat-sidebar {
        position: static;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
}

@media (max-width: 767px) and (min-width: 480px) {

    .colorful-categories-grid,
    .colorful-cat-row.row-9,
    .colorful-cat-row.row-10 {
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
    }

    .cat-icon-badge {
        width: 52px;
        height: 52px;
    }

    .cat-icon-badge i {
        font-size: 1.25rem;
    }

    .category-main-heading {
        font-size: 1.55rem;
    }

    .cat-page-content-layout {
        grid-template-columns: 1fr;
    }

    .more-categories-full-grid {
        grid-template-columns: 1fr;
    }

    .cat-sidebar {
        position: static;
        grid-template-columns: 1fr;
    }

    .header-ad-carousel-container {
        height: 140px;
    }

    .header-ad-title {
        font-size: 1.1rem;
    }
}

@media (max-width: 479px) {

    .colorful-categories-grid,
    .colorful-cat-row.row-9,
    .colorful-cat-row.row-10 {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }

    .cat-icon-badge {
        width: 48px;
        height: 48px;
    }

    .cat-icon-badge i {
        font-size: 1.15rem;
    }

    .cat-card-title {
        font-size: 0.78rem;
        min-height: 28px;
    }

    .category-main-heading {
        font-size: 1.35rem;
    }

    .cat-page-content-layout {
        grid-template-columns: 1fr;
    }

    .more-categories-full-grid {
        grid-template-columns: 1fr;
    }

    .cat-page-hero {
        padding: 24px 18px;
    }

    .cat-page-hero-title {
        font-size: 1.6rem;
    }

    .header-ad-carousel-container {
        height: 120px;
    }

    .header-ad-title {
        font-size: 0.95rem;
    }

    .header-ad-cta {
        display: none;
    }

    .fixed-footer-ad-thumb {
        width: 60px;
        height: 40px;
    }

    .fixed-footer-ad-title {
        font-size: 0.8rem;
    }

    .fixed-footer-ad-sub {
        display: none;
    }
}

/* ========================================================
   8. MOVIES & THEATRES (KORBA CINEMAS & SHOWTIMES)
======================================================== */

/* Movie Hero */
.movie-page-hero {
    background: linear-gradient(135deg, #091a36 0%, #0f2c59 60%, #1e3a8a 100%);
    border-radius: 20px;
    padding: 36px 32px;
    color: #ffffff;
    margin-bottom: 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 28px;
    box-shadow: 0 10px 30px -5px rgba(15, 44, 89, 0.35);
    position: relative;
    overflow: hidden;
}

.movie-page-hero::after {
    content: '';
    position: absolute;
    right: -40px;
    bottom: -50px;
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, rgba(255, 96, 0, 0.25) 0%, transparent 70%);
    pointer-events: none;
}

.movie-hero-content {
    max-width: 680px;
    position: relative;
    z-index: 2;
}

.movie-hero-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 96, 0, 0.2);
    border: 1px solid rgba(255, 96, 0, 0.4);
    color: #ff9800;
    padding: 5px 14px;
    border-radius: 30px;
    font-size: 0.82rem;
    font-weight: 700;
    margin-bottom: 12px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.movie-hero-title {
    font-size: 2.15rem;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 10px;
    color: #ffffff;
}

.movie-hero-sub {
    font-size: 0.94rem;
    color: #cbd5e1;
    line-height: 1.6;
    margin: 0;
}

.movie-hero-badges {
    display: flex;
    gap: 14px;
    flex-shrink: 0;
    position: relative;
    z-index: 2;
}

.movie-hero-stat {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 14px;
    padding: 14px 18px;
    text-align: center;
    min-width: 95px;
}

.movie-hero-stat .stat-num {
    display: block;
    font-size: 1.55rem;
    font-weight: 800;
    color: #ff6000;
}

.movie-hero-stat .stat-lbl {
    font-size: 0.74rem;
    color: #cbd5e1;
    font-weight: 600;
}

/* Talkies Filter Pills (Matching Image 1) */
.movie-talkies-filter-bar {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 12px 18px;
    margin-bottom: 25px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.filter-pill-label {
    font-size: 0.88rem;
    font-weight: 700;
    color: #0f2c59;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 6px;
}

.movie-talkies-pills-scroll {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
}

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

.talkie-pill-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 16px;
    background: #f1f5f9;
    color: #334155;
    border-radius: 30px;
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.2s ease;
    border: 1px solid transparent;
}

.talkie-pill-btn:hover {
    background: #e2e8f0;
    color: #0f2c59;
}

.talkie-pill-btn.active {
    background: #0f2c59;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(15, 44, 89, 0.25);
}

/* Cinemas Showcase Cards */
.cinemas-showcase-section {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 22px;
    margin-bottom: 28px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.section-sub-title-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.section-sub-title-row h3 {
    font-size: 1.15rem;
    color: #0f2c59;
    margin: 0;
    font-weight: 700;
}

.sub-counter {
    font-size: 0.8rem;
    font-weight: 700;
    background: #f1f5f9;
    color: #475569;
    padding: 3px 10px;
    border-radius: 20px;
}

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

.cinema-card-box {
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 16px;
    background: #ffffff;
    transition: all 0.25s ease;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.cinema-card-box:hover {
    border-color: #ff6000;
    box-shadow: 0 6px 20px -2px rgba(255, 96, 0, 0.12);
    transform: translateY(-2px);
}

.cinema-card-box.selected-cinema {
    border-color: #ff6000;
    background: #fffaf5;
}

.cinema-card-header {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 12px;
}

.cinema-icon-circle {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #0f2c59 0%, #1e3a8a 100%);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    flex-shrink: 0;
}

.cinema-card-title-box {
    flex-grow: 1;
}

.cinema-card-name {
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f2c59;
    margin: 0 0 3px 0;
    line-height: 1.3;
}

.cinema-card-name a {
    color: #0f2c59;
    text-decoration: none;
    transition: color 0.2s ease;
}

.cinema-card-name a:hover {
    color: #ff6000;
}

.cinema-card-loc {
    font-size: 0.78rem;
    color: #64748b;
}

.cinema-specs-row {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.cinema-spec-badge {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 6px;
}

.cinema-spec-badge.sound {
    background: #e0f2fe;
    color: #0369a1;
}

.cinema-spec-badge.screen {
    background: #f3e8ff;
    color: #7e22ce;
}

.cinema-spec-badge.price {
    background: #ecfdf5;
    color: #059669;
    border: 1px solid #a7f3d0;
}

.cinema-amenities-list {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.amenity-tag {
    font-size: 0.72rem;
    color: #475569;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    padding: 2px 7px;
    border-radius: 4px;
}

/* Map & Social Links Row on Cinema Cards */
.cinema-meta-links-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 6px 10px;
    margin-bottom: 12px;
}

.cinema-map-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.74rem;
    font-weight: 700;
    color: #0284c7;
    text-decoration: none;
    background: #e0f2fe;
    padding: 3px 8px;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.cinema-map-pill:hover {
    background: #0284c7;
    color: #ffffff;
}

.cinema-social-icons {
    display: flex;
    align-items: center;
    gap: 6px;
}

.cinema-social-link {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
    color: #ffffff;
    text-decoration: none;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.cinema-social-link:hover {
    transform: scale(1.15);
    opacity: 0.9;
}

.cinema-social-link.fb {
    background: #1877f2;
}

.cinema-social-link.insta {
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
}

.cinema-social-link.yt {
    background: #ff0000;
}

.cinema-card-actions {
    display: flex;
    gap: 8px;
    margin-top: auto;
}

.btn-cinema-filter {
    flex: 1;
    background: #0f2c59;
    color: #ffffff;
    padding: 7px 10px;
    border-radius: 6px;
    font-size: 0.78rem;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    transition: background 0.2s ease;
}

.btn-cinema-filter:hover {
    background: #1e3a8a;
    color: #ffffff;
}

.btn-cinema-bms {
    flex: 1;
    background: #ff6000;
    color: #ffffff;
    padding: 7px 10px;
    border-radius: 6px;
    font-size: 0.78rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition: background 0.2s ease;
}

.btn-cinema-bms:hover {
    background: #ea580c;
    color: #ffffff;
}

/* Movies List & Header */
.movies-section-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 22px;
    flex-wrap: wrap;
    gap: 14px;
}

.movies-grid-heading {
    font-size: 1.45rem;
    font-weight: 800;
    color: #0f2c59;
    margin: 0 0 4px 0;
}

.movie-lang-filter-chips {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.lang-chip {
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.78rem;
    font-weight: 600;
    background: #f1f5f9;
    color: #475569;
    text-decoration: none;
    border: 1px solid #e2e8f0;
    transition: all 0.2s ease;
}

.lang-chip:hover {
    background: #e2e8f0;
}

.lang-chip.active {
    background: #ff6000;
    color: #ffffff;
    border-color: #ff6000;
}

/* Movies Full Grid */
.movies-full-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.movie-card-item {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 18px;
    display: flex;
    gap: 22px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.movie-card-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px -2px rgba(15, 44, 89, 0.1);
    border-color: #cbd5e1;
}

.movie-poster-box {
    width: 155px;
    height: 230px;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    flex-shrink: 0;
    background: #0f2c59;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.movie-poster-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.movie-card-item:hover .movie-poster-img {
    transform: scale(1.05);
}

.movie-rating-badge {
    position: absolute;
    bottom: 8px;
    left: 8px;
    background: rgba(15, 23, 42, 0.85);
    backdrop-filter: blur(4px);
    color: #22c55e;
    font-size: 0.76rem;
    font-weight: 800;
    padding: 3px 8px;
    border-radius: 6px;
}

.movie-format-tag {
    position: absolute;
    top: 8px;
    right: 8px;
    background: rgba(255, 96, 0, 0.9);
    color: #ffffff;
    font-size: 0.7rem;
    font-weight: 800;
    padding: 2px 7px;
    border-radius: 4px;
}

.movie-card-details {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.movie-meta-pills {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}

.meta-pill {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
}

.meta-pill.cert {
    background: #f1f5f9;
    color: #1e293b;
    border: 1px solid #cbd5e1;
}

.meta-pill.time {
    background: #e0f2fe;
    color: #0369a1;
}

.meta-pill.lang {
    background: #fef3c7;
    color: #b45309;
}

.movie-title {
    font-size: 1.25rem;
    font-weight: 800;
    color: #0f2c59;
    margin: 0 0 6px 0;
    line-height: 1.35;
}

.movie-title a {
    color: #0f2c59;
    text-decoration: none;
    transition: color 0.2s ease;
}

.movie-title a:hover {
    color: #ff6000;
}

.movie-genres-row {
    font-size: 0.82rem;
    color: #64748b;
    margin-bottom: 12px;
}

.movie-theatres-strip {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 10px 12px;
    margin-bottom: 12px;
}

.theatres-strip-label {
    font-size: 0.75rem;
    font-weight: 700;
    color: #0f2c59;
    display: block;
    margin-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.theatres-names-list {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.theatre-name-badge {
    font-size: 0.74rem;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    color: #334155;
    padding: 3px 8px;
    border-radius: 4px;
    font-weight: 600;
}

.movie-sample-shows {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.sample-shows-lbl {
    font-size: 0.78rem;
    font-weight: 700;
    color: #64748b;
}

.sample-times-row {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.showtime-pill {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
    font-size: 0.76rem;
    font-weight: 700;
    padding: 4px 8px;
    border-radius: 6px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.showtime-pill:hover {
    background: #16a34a;
    color: #ffffff;
    border-color: #16a34a;
}

.showtime-pill.more {
    background: #f1f5f9;
    border-color: #e2e8f0;
    color: #475569;
}

.movie-actions-row {
    display: flex;
    gap: 12px;
    margin-top: auto;
}

.btn-movie-details {
    padding: 9px 18px;
    background: #f1f5f9;
    color: #0f2c59;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 700;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s ease;
}

.btn-movie-details:hover {
    background: #0f2c59;
    color: #ffffff;
    border-color: #0f2c59;
}

.btn-movie-book {
    padding: 9px 20px;
    background: linear-gradient(135deg, #ff6000 0%, #ea580c 100%);
    color: #ffffff;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 700;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 4px 12px rgba(255, 96, 0, 0.25);
    transition: all 0.2s ease;
}

.btn-movie-book:hover {
    background: linear-gradient(135deg, #ea580c 0%, #c2410c 100%);
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(255, 96, 0, 0.35);
    color: #ffffff;
}

/* Mid Grid Ad */
.movie-mid-grid-ad {
    margin: 10px 0;
}

/* ========================================================
   EXACT IMAGE 2 STYLING: MOVIE SHOWTIMES & THEATRES
======================================================== */

.movie-bms-header-wrapper {
    background: #ffffff;
    padding: 24px 0 16px;
    border-bottom: 1px solid #f1f5f9;
}

.movie-bms-title {
    font-size: 1.85rem;
    font-weight: 700;
    color: #1e3a8a;
    margin: 0 0 10px 0;
    letter-spacing: -0.2px;
}

.movie-bms-meta-pills {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.bms-pill {
    display: inline-block;
    border: 1px solid #64748b;
    color: #334155;
    font-size: 0.78rem;
    padding: 3px 12px;
    border-radius: 20px;
    font-weight: 500;
    background: #ffffff;
}

.bms-pill.runtime {
    border-color: #334155;
}

.bms-pill.cert {
    border-color: #334155;
    font-weight: 600;
}

.bms-pill.rating {
    border-color: #f59e0b;
    color: #b45309;
    font-weight: 700;
    background: #fffbeb;
}

/* Date Bar Matching Image 2 */
.movie-bms-date-bar-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    background: #ffffff;
    padding: 0;
    margin-top: 14px;
}

.movie-bms-date-scroll {
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
}

.movie-bms-date-scroll::-webkit-scrollbar {
    display: none;
}

.bms-date-pill {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    text-decoration: none;
    min-width: 65px;
    transition: all 0.2s ease;
    border-right: 1px solid #f1f5f9;
}

.bms-day-name {
    font-size: 0.68rem;
    font-weight: 800;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.bms-day-num {
    font-size: 1.25rem;
    font-weight: 800;
    color: #1e293b;
    line-height: 1.2;
}

.bms-month {
    font-size: 0.68rem;
    font-weight: 800;
    color: #94a3b8;
    text-transform: uppercase;
}

/* Selected Date in Image 2 is Red/Coral Badge */
.bms-date-pill.active {
    background: #ef4444;
    color: #ffffff;
}

.bms-date-pill.active .bms-day-name,
.bms-date-pill.active .bms-day-num,
.bms-date-pill.active .bms-month {
    color: #ffffff;
}

.movie-bms-format-box {
    padding: 12px 24px;
    border-left: 1px solid #e2e8f0;
    background: #ffffff;
    white-space: nowrap;
}

.bms-format-text {
    font-size: 0.85rem;
    font-weight: 600;
    color: #0f172a;
    border-bottom: 2px solid #ef4444;
    padding-bottom: 4px;
}

/* Notice Strip Matching Image 2 */
.movie-bms-notice-strip {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    padding: 10px 16px;
    font-size: 0.82rem;
    color: #475569;
}

.notice-strip-text {
    display: flex;
    align-items: center;
}

.notice-strip-close {
    background: #e2e8f0;
    border: none;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 0.72rem;
    color: #475569;
    margin-left: 6px;
    transition: background 0.2s;
}

.notice-strip-close:hover {
    background: #cbd5e1;
}

/* Theatre Row Cards Matching Image 2 */
.bms-theatres-list {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
}

.bms-theatre-card {
    padding: 22px 24px;
    border-bottom: 1px solid #e2e8f0;
    transition: background 0.2s ease;
}

.bms-theatre-card:last-child {
    border-bottom: none;
}

.bms-theatre-card:hover {
    background: #fafafa;
}

.bms-theatre-top-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 16px;
}

.bms-theatre-identity {
    display: flex;
    align-items: center;
    gap: 14px;
}

.bms-theatre-logo {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: #0f172a;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #f59e0b;
    font-size: 1.1rem;
    font-weight: 800;
    flex-shrink: 0;
}

.bms-theatre-name {
    font-size: 1.02rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 4px 0;
    display: flex;
    align-items: center;
    gap: 6px;
}

.bms-theatre-name .info-icon {
    color: #94a3b8;
    font-size: 0.82rem;
    cursor: pointer;
}

.bms-theatre-sub {
    font-size: 0.78rem;
    color: #64748b;
}

.bms-theatre-amenities {
    display: flex;
    gap: 10px;
    align-items: center;
}

.amenity-icon {
    width: 30px;
    height: 30px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.88rem;
}

.amenity-icon.parking {
    background: #fffbeb;
    color: #f59e0b;
}

.amenity-icon.mticket {
    background: #ecfdf5;
    color: #10b981;
}

.amenity-icon.fnb {
    background: #eff6ff;
    color: #3b82f6;
}

/* Green Showtimes Buttons Matching Image 2 */
.bms-showtimes-grid {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
}

.bms-showtime-box {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 110px;
    height: 50px;
    border: 1px solid #16a34a;
    border-radius: 4px;
    background: #ffffff;
    text-decoration: none;
    padding: 6px 12px;
    transition: all 0.2s ease;
    cursor: pointer;
}

.show-time-text {
    font-size: 0.95rem;
    font-weight: 700;
    color: #16a34a;
    line-height: 1.2;
}

.show-format-sub {
    font-size: 0.65rem;
    font-weight: 700;
    color: #16a34a;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.bms-showtime-box:hover {
    background: #16a34a;
    border-color: #16a34a;
}

.bms-showtime-box:hover .show-time-text,
.bms-showtime-box:hover .show-format-sub {
    color: #ffffff;
}

/* BMS Booking Footer Notice */
.bms-booking-footer-notice {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    padding: 14px 20px;
    margin-top: 20px;
}

.notice-icon {
    font-size: 1.5rem;
    color: #2563eb;
    flex-shrink: 0;
}

.notice-desc {
    font-size: 0.85rem;
    color: #1e3a8a;
    line-height: 1.4;
    flex-grow: 1;
}

.btn-book-direct {
    background: #ff6000;
    color: #ffffff;
    padding: 8px 18px;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s ease;
}

.btn-book-direct:hover {
    background: #ea580c;
    color: #ffffff;
}

/* Movie Synopsis Box */
.movie-synopsis-box {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 22px;
    margin-top: 24px;
}

.synopsis-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #0f2c59;
    margin: 0 0 10px 0;
}

.synopsis-text {
    font-size: 0.92rem;
    color: #475569;
    line-height: 1.7;
    margin: 0;
}

/* Other Movies Carousel */
.other-movies-carousel-section {
    margin-top: 35px;
}

.other-movies-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #0f2c59;
    margin-bottom: 16px;
}

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

.other-movie-mini-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    transition: transform 0.2s ease;
}

.other-movie-mini-card:hover {
    transform: translateY(-2px);
}

.other-movie-poster {
    width: 100%;
    height: 150px;
    object-fit: cover;
}

.other-movie-info {
    padding: 10px;
}

.other-movie-name {
    font-size: 0.88rem;
    font-weight: 700;
    margin: 0 0 3px 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.other-movie-name a {
    color: #0f2c59;
    text-decoration: none;
}

.other-movie-meta {
    font-size: 0.74rem;
    color: #64748b;
}

/* Movie Sidebar Card */
.movie-sidebar-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 20px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}

.sidebar-movie-poster {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
}

.sidebar-movie-body {
    padding: 18px;
}

.sidebar-movie-name {
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f2c59;
    margin: 0 0 8px 0;
}

.sidebar-movie-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.82rem;
    color: #64748b;
    margin-bottom: 16px;
}

.sidebar-bms-btn {
    display: block;
    width: 100%;
    background: linear-gradient(135deg, #ff6000 0%, #ea580c 100%);
    color: #ffffff;
    font-size: 0.92rem;
    font-weight: 700;
    text-align: center;
    padding: 12px;
    border-radius: 8px;
    text-decoration: none;
    margin-bottom: 10px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 4px 12px rgba(255, 96, 0, 0.25);
}

.sidebar-bms-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(255, 96, 0, 0.35);
    color: #ffffff;
}

.sidebar-trailer-btn {
    display: block;
    width: 100%;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    color: #0f2c59;
    font-size: 0.85rem;
    font-weight: 700;
    text-align: center;
    padding: 10px;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.sidebar-trailer-btn:hover {
    background: #f8fafc;
    border-color: #cbd5e1;
}

/* Cinema Profile Hero */
.cinema-profile-hero {
    background: linear-gradient(135deg, #0f2c59 0%, #1e3a8a 100%);
    border-radius: 20px;
    padding: 36px 32px;
    color: #ffffff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    margin-bottom: 25px;
}

.cinema-type-badge {
    display: inline-block;
    background: rgba(255, 96, 0, 0.2);
    color: #ff9800;
    border: 1px solid rgba(255, 96, 0, 0.4);
    font-size: 0.78rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.cinema-profile-title {
    font-size: 2rem;
    font-weight: 800;
    color: #ffffff;
    margin: 0 0 8px 0;
}

.cinema-profile-loc {
    font-size: 0.95rem;
    color: #cbd5e1;
    margin: 0 0 16px 0;
}

.cinema-profile-features {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.feat-badge {
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 6px;
}

.btn-bms-large {
    background: #ff6000;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 700;
    padding: 14px 28px;
    border-radius: 10px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 14px rgba(255, 96, 0, 0.35);
    transition: all 0.2s ease;
    white-space: nowrap;
}

.btn-bms-large:hover {
    background: #ea580c;
    transform: translateY(-2px);
    color: #ffffff;
}

/* Cinema Movie Row Card */
.cinema-movie-row-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 16px;
    display: flex;
    gap: 18px;
    margin-bottom: 16px;
    align-items: center;
}

.cinema-movie-thumb {
    width: 80px;
    height: 110px;
    object-fit: cover;
    border-radius: 8px;
    flex-shrink: 0;
}

.cinema-movie-info {
    flex-grow: 1;
}

.cinema-movie-name {
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f2c59;
    margin: 4px 0 2px 0;
}

.cinema-movie-name a {
    color: #0f2c59;
    text-decoration: none;
}

.cinema-movie-genres {
    font-size: 0.8rem;
    color: #64748b;
}

.cinema-movie-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex-shrink: 0;
}

/* Responsive Media Queries */
@media (max-width: 1023px) {
    .movie-page-hero {
        flex-direction: column;
        align-items: flex-start;
        padding: 26px 20px;
    }

    .cinemas-cards-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .other-movies-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .movie-hero-title {
        font-size: 1.6rem;
    }

    .cinemas-cards-grid {
        grid-template-columns: 1fr;
    }

    .movie-card-item {
        flex-direction: column;
        gap: 14px;
    }

    .movie-poster-box {
        width: 100%;
        height: 220px;
    }

    .movie-poster-img {
        object-position: top;
    }

    .movie-bms-title {
        font-size: 1.35rem;
    }

    .movie-bms-date-bar-wrapper {
        flex-direction: column;
        align-items: stretch;
    }

    .movie-bms-format-box {
        border-left: none;
        border-top: 1px solid #e2e8f0;
        padding: 10px 16px;
    }

    .bms-theatre-top-row {
        flex-direction: column;
        gap: 10px;
    }

    .bms-booking-footer-notice {
        flex-direction: column;
        align-items: stretch;
    }

    .cinema-profile-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .cinema-movie-row-card {
        flex-direction: column;
        align-items: stretch;
    }

    .cinema-movie-thumb {
        width: 100%;
        height: 180px;
    }
}

/* ========================================================
   CINEMA PERSONAL PAGE (DEDICATED CINEMA PROFILE & SHOWS)
======================================================== */

.cinema-personal-hero {
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 25px;
    box-shadow: 0 10px 30px -5px rgba(15, 23, 42, 0.35);
}

.cinema-personal-hero-bg {
    background-size: cover;
    background-position: center;
    padding: 38px 36px;
    color: #ffffff;
}

.cinema-hero-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 32px;
}

.cinema-hero-main-info {
    max-width: 720px;
}

.cinema-pill-badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.badge-cinema-type {
    background: rgba(255, 96, 0, 0.25);
    border: 1px solid rgba(255, 96, 0, 0.5);
    color: #ff9800;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.badge-cinema-screens {
    background: rgba(14, 165, 233, 0.25);
    border: 1px solid rgba(14, 165, 233, 0.5);
    color: #38bdf8;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 20px;
}

.badge-cinema-price {
    background: rgba(34, 197, 94, 0.25);
    border: 1px solid rgba(34, 197, 94, 0.5);
    color: #4ade80;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 20px;
}

.cinema-hero-title {
    font-size: 2.15rem;
    font-weight: 800;
    color: #ffffff;
    margin: 0 0 10px 0;
    line-height: 1.25;
}

.cinema-hero-address {
    font-size: 0.95rem;
    color: #cbd5e1;
    margin: 0 0 18px 0;
    line-height: 1.5;
}

.cinema-hero-specs {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.spec-pill {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 0.82rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #f1f5f9;
}

.spec-pill.phone-link {
    color: #fed7aa;
    border-color: rgba(254, 215, 170, 0.3);
    text-decoration: none;
    transition: background 0.2s;
}

.spec-pill.phone-link:hover {
    background: rgba(255, 96, 0, 0.25);
}

.cinema-hero-connect-row {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

.btn-hero-map {
    background: #0284c7;
    color: #ffffff;
    font-size: 0.85rem;
    font-weight: 700;
    padding: 9px 18px;
    border-radius: 8px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s ease;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.35);
}

.btn-hero-map:hover {
    background: #0369a1;
    transform: translateY(-1px);
    color: #ffffff;
}

.cinema-hero-social-links {
    display: flex;
    align-items: center;
    gap: 8px;
}

.social-text {
    font-size: 0.82rem;
    color: #cbd5e1;
    font-weight: 600;
}

.hero-social-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    text-decoration: none;
    font-size: 0.88rem;
    transition: transform 0.2s ease;
}

.hero-social-icon:hover {
    transform: scale(1.15);
}

.hero-social-icon.fb {
    background: #1877f2;
}

.hero-social-icon.insta {
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
}

.hero-social-icon.yt {
    background: #ff0000;
}

.cinema-hero-bms-box {
    flex-shrink: 0;
}

.bms-box-inner {
    background: rgba(15, 23, 42, 0.85);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 16px;
    padding: 24px 22px;
    text-align: center;
    width: 260px;
}

.bms-box-tag {
    font-size: 0.72rem;
    color: #22c55e;
    font-weight: 700;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.bms-box-title {
    font-size: 1.15rem;
    color: #ffffff;
    font-weight: 800;
    margin: 0 0 6px 0;
}

.bms-box-sub {
    font-size: 0.76rem;
    color: #94a3b8;
    margin: 0 0 16px 0;
    line-height: 1.35;
}

.btn-bms-hero-cta {
    display: block;
    background: linear-gradient(135deg, #ff6000 0%, #ea580c 100%);
    color: #ffffff;
    font-size: 0.92rem;
    font-weight: 700;
    padding: 11px 16px;
    border-radius: 8px;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(255, 96, 0, 0.4);
    transition: all 0.2s ease;
}

.btn-bms-hero-cta:hover {
    background: linear-gradient(135deg, #ea580c 0%, #c2410c 100%);
    transform: translateY(-1px);
    color: #ffffff;
}

/* Highlights Grid (Gallery + Amenities) */
.cinema-details-highlights-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 20px;
}

.cinema-gallery-card,
.cinema-amenities-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 22px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.card-section-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #0f2c59;
    margin: 0 0 16px 0;
}

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

.cinema-photo-item {
    height: 135px;
    border-radius: 10px;
    overflow: hidden;
    background: #0f172a;
}

.cinema-gallery-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.cinema-photo-item:hover .cinema-gallery-img {
    transform: scale(1.08);
}

.cinema-features-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.feature-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.82rem;
    color: #334155;
    font-weight: 600;
}

/* Cinema Movies Stack (Personal Page) */
.cinema-movies-stack {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.cinema-movie-poster-wrap {
    width: 100px;
    height: 140px;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    flex-shrink: 0;
    background: #0f172a;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12);
}

.thumb-rating-badge {
    position: absolute;
    bottom: 4px;
    left: 4px;
    background: rgba(15, 23, 42, 0.85);
    backdrop-filter: blur(4px);
    color: #22c55e;
    font-size: 0.68rem;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 4px;
}

.cinema-shows-container {
    margin-top: 14px;
}

.shows-label {
    font-size: 0.78rem;
    font-weight: 700;
    color: #64748b;
    display: block;
    margin-bottom: 6px;
}

.btn-cinema-action {
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.btn-cinema-action.details {
    background: #f1f5f9;
    color: #0f2c59;
    border: 1px solid #cbd5e1;
}

.btn-cinema-action.details:hover {
    background: #0f2c59;
    color: #ffffff;
}

.btn-cinema-action.book {
    background: #ff6000;
    color: #ffffff;
    box-shadow: 0 3px 10px rgba(255, 96, 0, 0.25);
}

.btn-cinema-action.book:hover {
    background: #ea580c;
    color: #ffffff;
}

/* Cinema Summary Sidebar Card */
.cinema-summary-sidebar-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.summary-title {
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f2c59;
    margin: 0 0 14px 0;
    line-height: 1.35;
}

.summary-line {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 8px 0;
    border-bottom: 1px solid #f1f5f9;
    font-size: 0.82rem;
}

.summary-line .label {
    color: #64748b;
    font-weight: 600;
}

.summary-line .val {
    color: #0f2c59;
    font-weight: 600;
    text-align: right;
    max-width: 60%;
}

.summary-actions {
    margin-top: 14px;
}

.sidebar-map-btn {
    display: block;
    width: 100%;
    background: #0284c7;
    color: #ffffff;
    font-size: 0.85rem;
    font-weight: 700;
    text-align: center;
    padding: 10px;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s;
}

.sidebar-map-btn:hover {
    background: #0369a1;
    color: #ffffff;
}

@media (max-width: 1199px) {
    .cinemas-cards-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 1023px) {
    .cinema-hero-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .cinema-hero-bms-box {
        width: 100%;
    }

    .bms-box-inner {
        width: 100%;
    }

    .cinema-details-highlights-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   Verified Hubs Cards Grid (Verified Businesses Near You - Modern Redesign)
   ========================================================================== */
.business-cards-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.verified-hub-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.verified-hub-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.09);
}

.verified-hub-img-box {
    position: relative;
    height: 175px;
    width: 100%;
    overflow: hidden;
    background: #0f172a;
}

.verified-hub-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.verified-hub-card:hover .verified-hub-img {
    transform: scale(1.05);
}

.verified-hub-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, transparent 40%, rgba(0, 0, 0, 0.35) 100%);
    pointer-events: none;
}

.verified-hub-top-left-badges {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    gap: 6px;
    z-index: 2;
}

.verified-hub-top-left-badges .v-badge {
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 4px 9px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.verified-hub-top-left-badges .verified-pill {
    background: #00c27e;
}

.verified-hub-top-left-badges .premier-pill {
    background: linear-gradient(135deg, #f59e0b, #d97706);
}

.verified-hub-rating-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(15, 23, 42, 0.88);
    backdrop-filter: blur(4px);
    color: #ffffff;
    font-weight: 800;
    font-size: 0.76rem;
    padding: 4px 10px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 4px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
    z-index: 2;
}

.verified-hub-rating-badge i {
    color: #fbbf24;
    font-size: 0.72rem;
}

.verified-hub-category-pill {
    position: absolute;
    bottom: 10px;
    left: 10px;
    z-index: 2;
    border-radius: 20px;
    padding: 5px 13px;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.22);
}

.verified-hub-category-pill i {
    font-size: 0.76rem;
}

.verified-hub-body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 8px;
}

.verified-hub-title {
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.35;
    margin: 0;
}

.verified-hub-title a {
    color: #0f172a;
    text-decoration: none;
    transition: color 0.2s;
}

.verified-hub-title a:hover {
    color: #0284c7;
}

.verified-hub-subbrands {
    font-size: 0.8rem;
    color: #64748b;
    line-height: 1.45;
    margin: 0;
    min-height: 38px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.verified-hub-info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 6px;
    margin-top: auto;
}

.verified-hub-location {
    font-size: 0.82rem;
    font-weight: 700;
    color: #334155;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.verified-hub-location i {
    color: #0284c7;
    font-size: 0.68rem;
}

.verified-hub-status {
    font-size: 0.8rem;
    font-weight: 700;
    color: #059669;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.status-pulse-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
}

.verified-hub-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 10px 16px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 0.86rem;
    color: #ffffff !important;
    text-decoration: none;
    margin-top: 8px;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    border: none;
}

.verified-hub-btn:hover {
    filter: brightness(0.92);
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);
}

.verified-hub-btn i {
    font-size: 0.78rem;
    transition: transform 0.2s ease;
}

.verified-hub-btn:hover i {
    transform: translateX(3px);
}

@media (max-width: 1024px) {
    .business-cards-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 640px) {
    .business-cards-grid {
        /* grid-template-columns: 1fr !important; */
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .section-padding#verified-businesses {
        background: #f8fafc;
        padding: 38px 0px 45px !important;
        background: none;
        border: none;
        border-radius: none;
    }

}

/* =========================================================
   CINEMA & MULTI-SCREEN SHOWTIMES & UPCOMING MOVIES STYLING
   ========================================================= */

/* View Mode Tabs Bar */
.movies-view-tabs-bar {
    display: flex;
    gap: 10px;
    align-items: center;
    border-bottom: 2px solid #e2e8f0;
    margin-bottom: 25px;
    overflow-x: auto;
    scrollbar-width: none;
    padding-bottom: 2px;
}

.movies-view-tabs-bar::-webkit-scrollbar {
    display: none;
}

.movie-tab-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 22px;
    font-size: 0.95rem;
    font-weight: 700;
    color: #64748b;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
    border-radius: 6px 6px 0 0;
}

.movie-tab-btn:hover {
    color: #ff6000;
    background: #fff7ed;
}

.movie-tab-btn.active {
    color: #ff6000;
    border-bottom-color: #ff6000;
    background: #fff7ed;
}

/* Multi-Screen Cinema Schedule View */
.cinema-hall-schedule-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    margin-bottom: 26px;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
    transition: all 0.25s ease;
}

.cinema-hall-schedule-card:hover {
    box-shadow: 0 8px 24px rgba(15, 44, 89, 0.08);
    border-color: #fed7aa;
}

.cinema-schedule-header {
    background: linear-gradient(135deg, #0f2c59 0%, #1e3a8a 100%);
    color: #ffffff;
    padding: 18px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
}

.cinema-schedule-header-left {
    display: flex;
    align-items: center;
    gap: 14px;
}

.cinema-header-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: rgba(255, 96, 0, 0.2);
    border: 1px solid rgba(255, 96, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    color: #ff6000;
}

.cinema-header-name {
    font-size: 1.25rem;
    font-weight: 800;
    color: #ffffff;
    margin: 0;
}

.cinema-header-name a {
    color: #ffffff;
    text-decoration: none;
}

.cinema-header-name a:hover {
    color: #fed7aa;
}

.cinema-header-meta {
    display: flex;
    gap: 12px;
    font-size: 0.8rem;
    color: #cbd5e1;
    margin-top: 4px;
    flex-wrap: wrap;
}

.cinema-screens-stack {
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: #fafafa;
}

.screen-audi-row {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px;
    display: flex;
    gap: 18px;
    align-items: center;
    transition: all 0.2s ease;
}

.screen-audi-row:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.screen-audi-badge-box {
    flex-shrink: 0;
    width: 140px;
    text-align: center;
    border-right: 1px solid #f1f5f9;
    padding-right: 14px;
}

.screen-name-tag {
    font-size: 0.92rem;
    font-weight: 800;
    color: #0f2c59;
    display: block;
}

.screen-tech-tag {
    font-size: 0.72rem;
    color: #ff6000;
    font-weight: 700;
    margin-top: 2px;
    display: inline-block;
    background: #fff7ed;
    padding: 2px 6px;
    border-radius: 4px;
}

.screen-movie-thumb {
    width: 60px;
    height: 85px;
    border-radius: 6px;
    object-fit: cover;
    flex-shrink: 0;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.screen-movie-info-wrap {
    flex-grow: 1;
}

.screen-movie-title {
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f2c59;
    margin: 0 0 4px 0;
}

.screen-movie-title a {
    color: #0f2c59;
    text-decoration: none;
}

.screen-movie-title a:hover {
    color: #ff6000;
}

.screen-movie-meta-line {
    font-size: 0.78rem;
    color: #64748b;
    margin-bottom: 8px;
}

.screen-showtimes-chips-wrap {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.show-pill-link {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 5px 12px;
    font-size: 0.84rem;
    font-weight: 700;
    color: #1e293b;
    text-decoration: none;
    transition: all 0.2s ease;
}

.show-pill-link:hover {
    background: #ff6000;
    border-color: #ff6000;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(255, 96, 0, 0.3);
}

.show-pill-link .sub-fmt {
    font-size: 0.65rem;
    font-weight: 600;
    opacity: 0.85;
}

.screen-action-btn-wrap {
    flex-shrink: 0;
}

.btn-book-audi-bms {
    background: #ff6000;
    color: #ffffff;
    font-weight: 700;
    font-size: 0.84rem;
    padding: 8px 16px;
    border-radius: 8px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s;
}

.btn-book-audi-bms:hover {
    background: #ea580c;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(255, 96, 0, 0.35);
}

/* Upcoming Movies Section Grid */
.upcoming-movies-section {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 24px;
    margin-top: 30px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.upcoming-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
}

.upcoming-header h3 {
    font-size: 1.2rem;
    font-weight: 800;
    color: #0f2c59;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.upcoming-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(185px, 1fr));
    gap: 20px;
}

.upcoming-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.25s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.upcoming-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 22px rgba(15, 44, 89, 0.1);
    border-color: #cbd5e1;
}

.upcoming-poster-box {
    position: relative;
    width: 100%;
    height: 240px;
    overflow: hidden;
    background: #0f172a;
}

.upcoming-poster {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.upcoming-card:hover .upcoming-poster {
    transform: scale(1.06);
}

.upcoming-details {
    padding: 12px;
}

.upcoming-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f2c59;
    margin: 0 0 4px 0;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.upcoming-meta {
    font-size: 0.74rem;
    color: #ff6000;
    font-weight: 600;
    margin-bottom: 4px;
}

.upcoming-genres {
    font-size: 0.72rem;
    color: #64748b;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (max-width: 768px) {
    .screen-audi-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .screen-audi-badge-box {
        width: 100%;
        text-align: left;
        border-right: none;
        border-bottom: 1px solid #f1f5f9;
        padding-right: 0;
        padding-bottom: 8px;
    }

    .screen-action-btn-wrap {
        width: 100%;
    }

    .btn-book-audi-bms {
        width: 100%;
        justify-content: center;
    }

    .upcoming-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }

    .upcoming-poster-box {
        height: 200px;
    }
}

/* ========================================================
   FLOATING WHATSAPP BUTTON (FIXED RIGHT SIDE)
======================================================== */
.floating-whatsapp-btn {
    position: fixed;
    right: 24px;
    bottom: 28px;
    width: 60px;
    height: 60px;
    background: #25d366;
    color: #ffffff !important;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.1rem;
    box-shadow: 0 4px 18px rgba(37, 211, 102, 0.45), 0 2px 8px rgba(0, 0, 0, 0.15);
    z-index: 99999;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    animation: whatsappPulse 2.5s infinite;
}

.floating-whatsapp-btn:hover {
    transform: scale(1.1) translateY(-3px);
    box-shadow: 0 8px 25px rgba(37, 211, 102, 0.65);
    color: #ffffff !important;
}

.floating-whatsapp-btn .whatsapp-tooltip {
    position: absolute;
    right: 72px;
    background: #0f2c59;
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 20px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
    transform: translateX(10px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.floating-whatsapp-btn:hover .whatsapp-tooltip {
    opacity: 1;
    transform: translateX(0);
}

@keyframes whatsappPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
    }

    70% {
        box-shadow: 0 0 0 14px rgba(37, 211, 102, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
    }
}

/* ==========================================================================
   Global Pagination System & Strict SVG Limiter
   ========================================================================== */
nav[role="navigation"] svg,
.pagination svg,
svg.w-5,
svg.h-5,
.custom-pagination-nav svg {
    width: 14px !important;
    height: 14px !important;
    max-width: 14px !important;
    max-height: 14px !important;
    display: inline-block !important;
    vertical-align: middle !important;
    flex-shrink: 0 !important;
}

.custom-pagination-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 35px 0;
    width: 100%;
}

.custom-pagination-container {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #ffffff;
    padding: 6px 10px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    flex-wrap: wrap;
    justify-content: center;
}

.pagination-numbers {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.pagination-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    font-size: 0.85rem;
    font-weight: 700;
    color: #0f2c59;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s ease;
    cursor: pointer;
}

.pagination-btn:hover:not(.disabled) {
    background: #ff6000;
    color: #ffffff;
    border-color: #ff6000;
}

.pagination-btn.disabled {
    color: #94a3b8;
    background: #f1f5f9;
    border-color: #e2e8f0;
    cursor: not-allowed;
    opacity: 0.65;
}

.pagination-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    font-size: 0.85rem;
    font-weight: 700;
    color: #475569;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.pagination-num:hover:not(.active) {
    background: #fff7ed;
    color: #ff6000;
    border-color: #fed7aa;
}

.pagination-num.active {
    background: #ff6000;
    color: #ffffff;
    border-color: #ff6000;
    box-shadow: 0 2px 8px rgba(255, 96, 0, 0.35);
}

.pagination-dots {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 36px;
    color: #94a3b8;
    font-weight: 700;
}

/* ==========================================================================
   Home Page Section Rhythm, Distinct Section Identities & Ad Spacing
   ========================================================================== */
.home-ad-section-wrap {
    /* margin: 0 0 50px 0; */
    margin: 50px 0px 50px 0px;
    position: relative;
}

.home-head-banner {
    margin: 0px 0px 50px 0px !important;
}

.home-ad-section-wrap .ad-sponsor-tag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 0.74rem;
    font-weight: 800;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 8px;
    background: #f1f5f9;
    padding: 3px 10px;
    border-radius: 4px;
    border: 1px solid #e2e8f0;
}

.home-ad-section-wrap .ad-sponsor-tag i {
    color: #ff6000;
}

.categories-section-wrapper {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 24px;
    padding: 38px 24px 42px !important;
    margin-bottom: 50px !important;
    box-shadow: 0 4px 20px rgba(15, 44, 89, 0.03);
}

#services-needs {
    /* background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 24px;
    padding: 38px 26px !important;
    margin-bottom: 50px !important; */
}

.hotspots-section-container {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 24px;
    padding: 38px 20px 42px !important;
    margin-bottom: 50px !important;
    box-shadow: 0 4px 20px rgba(15, 44, 89, 0.03);
}

#verified-businesses {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 24px;
    padding: 38px 26px 45px !important;
    margin-bottom: 50px !important;
}

#korba-movies-section {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 24px;
    padding: 35px 24px !important;
    margin-bottom: 50px !important;
    box-shadow: 0 4px 20px rgba(15, 44, 89, 0.03);
}

#upcoming-events {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 24px;
    padding: 35px 26px !important;
    margin-bottom: 50px !important;
}

.emergency-helpline-strip {
    margin-bottom: 45px !important;
    border-radius: 12px;
    overflow: hidden;
}

/* ==========================================================================
   FULL-WIDTH BREADCRUMBS ROW STYLES (REQUIREMENT 3a)
   ========================================================================== */
.page-breadcrumb-bar {
    width: 100%;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    padding: 12px 0;
    margin-bottom: 24px;
}

.page-breadcrumb-bar .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.breadcrumb-nav-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 0.88rem;
    color: #64748b;
    list-style: none;
    margin: 0;
    padding: 0;
}

.breadcrumb-nav-list a {
    color: #475569;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.breadcrumb-nav-list a:hover {
    color: var(--accent-color, #0284c7);
}

.breadcrumb-nav-list .separator {
    color: #cbd5e1;
    font-size: 0.72rem;
}

.breadcrumb-nav-list .active-crumb {
    color: #0f172a;
    font-weight: 700;
}

.breadcrumb-id-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #0f172a;
    color: #38bdf8;
    font-family: monospace;
    font-size: 0.82rem;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 6px;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.15);
}

/* ==========================================================================
   BUSINESS PROFILE HERO COVER BANNER (REQUIREMENT 3c & 4)
   ========================================================================== */
.biz-profile-hero-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    margin-bottom: 30px;
}

.biz-cover-banner-wrap {
    width: 100%;
    height: 250px;
    position: relative;
    background-size: cover;
    background-position: center;
    background-color: #0f172a;
}

.biz-cover-banner-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(15, 23, 42, 0.65) 100%);
}

.biz-cover-category-badge {
    position: absolute;
    top: 18px;
    left: 20px;
    background: rgba(15, 23, 42, 0.75);
    backdrop-filter: blur(8px);
    color: #f8fafc;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 0.82rem;
    font-weight: 700;
    border: 1px solid rgba(255, 255, 255, 0.18);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.biz-hero-body {
    padding: 0 30px 25px 30px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 25px;
    flex-wrap: wrap;
    position: relative;
}

.biz-hero-left {
    display: flex;
    gap: 20px;
    align-items: flex-end;
    margin-top: -55px;
    flex: 2;
    min-width: 320px;
}

.biz-avatar-logo {
    width: 110px;
    height: 110px;
    border-radius: 16px;
    background: #ffffff;
    border: 4px solid #ffffff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    object-fit: cover;
    flex-shrink: 0;
}

.biz-hero-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
    min-width: 260px;
    margin-top: 15px;
}

@media (max-width: 768px) {
    .biz-cover-banner-wrap {
        height: 180px;
    }

    .biz-hero-left {
        flex-direction: column;
        align-items: flex-start;
        margin-top: -45px;
        gap: 14px;
    }

    .biz-avatar-logo {
        width: 85px;
        height: 85px;
    }

    .biz-hero-body {
        padding: 0 20px 20px 20px;
    }
}

/* ==========================================================================
   IMAGE 4 STYLE CONTINUOUS AUTO-SCROLLER CARDS (REQUIREMENT 5)
   ========================================================================== */
.cat-biz-card-image4 {
    flex: 0 0 240px;
    width: 240px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.cat-biz-card-image4:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.14);
}

.cat-biz-header-thumb {
    height: 125px;
    width: 100%;
    background-size: cover;
    background-position: center;
    position: relative;
    background-color: #0f172a;
}

.cat-biz-pill-tag {
    position: absolute;
    top: 8px;
    left: 8px;
    background: rgba(15, 23, 42, 0.82);
    backdrop-filter: blur(4px);
    color: #ffffff;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 50px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    max-width: 90%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cat-biz-circle-avatar-wrap {
    position: absolute;
    bottom: -22px;
    left: 50%;
    transform: translateX(-50%);
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 3px solid #ffffff;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.18);
}

.cat-biz-circle-avatar {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cat-biz-body-image4 {
    padding: 28px 14px 14px 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex-grow: 1;
}

.cat-biz-title-image4 {
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--primary-color, #0f172a);
    margin: 0 0 3px 0;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cat-biz-sub-image4 {
    font-size: 0.75rem;
    color: #64748b;
    margin-bottom: 6px;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cat-biz-loc-image4 {
    font-size: 0.74rem;
    color: #475569;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.cat-biz-btn-image4 {
    width: 100%;
    background: #0f2942;
    color: #ffffff !important;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 8px 12px;
    border-radius: 50px;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: auto;
    transition: all 0.2s;
    box-shadow: 0 2px 6px rgba(15, 41, 66, 0.2);
}

.cat-biz-btn-image4:hover {
    background: var(--accent-color, #0284c7);
    transform: scale(1.02);
}

/* ==========================================================================
   RICH ABOUT BUSINESS DESCRIPTION STYLING (REQUIREMENT 3 & IMAGE 4)
   ========================================================================== */
.biz-rich-description {
    color: #334155;
    font-size: 0.95rem;
    line-height: 1.75;
}

.biz-rich-description p {
    margin-bottom: 14px;
}

.biz-rich-description h1,
.biz-rich-description h2,
.biz-rich-description h3,
.biz-rich-description h4,
.biz-rich-description h5 {
    color: #0f172a;
    font-weight: 700;
    margin-top: 20px;
    margin-bottom: 10px;
    line-height: 1.35;
}

.biz-rich-description h1 {
    font-size: 1.5rem;
}

.biz-rich-description h2 {
    font-size: 1.35rem;
}

.biz-rich-description h3 {
    font-size: 1.2rem;
}

.biz-rich-description h4 {
    font-size: 1.05rem;
}

.biz-rich-description ul,
.biz-rich-description ol {
    margin-left: 24px;
    margin-bottom: 16px;
}

.biz-rich-description li {
    margin-bottom: 6px;
}

.biz-rich-description table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0;
    font-size: 0.9rem;
}

.biz-rich-description table th,
.biz-rich-description table td {
    border: 1px solid #e2e8f0;
    padding: 10px 14px;
}

.biz-rich-description table th {
    background: #f8fafc;
    font-weight: 700;
    color: #1e293b;
}

.biz-rich-description blockquote {
    border-left: 4px solid var(--accent-color, #0284c7);
    padding: 12px 18px;
    margin: 16px 0;
    color: #475569;
    font-style: italic;
    background: #f8fafc;
    border-radius: 0 10px 10px 0;
}

.biz-rich-description img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    margin: 14px 0;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
}

.biz-rich-description a {
    color: var(--accent-color, #0284c7);
    text-decoration: underline;
    font-weight: 600;
}

.biz-rich-description hr {
    border: 0;
    height: 1px;
    background: #e2e8f0;
    margin: 24px 0;
}

.biz-rich-description code {
    background: #f1f5f9;
    padding: 2px 6px;
    border-radius: 4px;
    font-family: monospace;
    font-size: 0.88rem;
    color: #0f172a;
}

/* ==========================================================================
   INTERACTIVE STAR RATING & REVIEWS STYLING (REQUIREMENT 2)
   ========================================================================== */
.star-rating-select-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 2rem;
    color: #cbd5e1;
    cursor: pointer;
}

.star-rating-select-wrap .star-rate-item {
    transition: transform 0.15s ease, color 0.15s ease;
}

.star-rating-select-wrap .star-rate-item:hover,
.star-rating-select-wrap .star-rate-item.hovered,
.star-rating-select-wrap .star-rate-item.selected {
    color: #eab308;
    transform: scale(1.15);
}

.review-item-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px 20px;
    margin-bottom: 12px;
    transition: transform 0.2s, box-shadow 0.2s;
}

.review-item-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.review-user-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1.1rem;
    flex-shrink: 0;
}

/* ========================================================
   MOBILE SCREEN UI ENHANCEMENTS (Screenshots 1, 2, 3, 4 Fixes)
   Applies ONLY to screens <= 768px (Desktop/Laptop 100% untouched)
   ======================================================== */

/* 1. Mobile Navigation Drawer (App-like slide menu) */
.mobile-drawer-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15, 23, 42, 0.65);
    backdrop-filter: blur(4px);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.mobile-drawer-overlay.active {
    opacity: 1;
    visibility: visible;
}

.mobile-nav-drawer {
    position: fixed;
    top: 0;
    bottom: 0;
    left: -320px;
    width: 290px;
    height: 100%;
    height: 100dvh;
    background: #ffffff;
    z-index: 9999;
    box-shadow: 4px 0 25px rgba(0, 0, 0, 0.25);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform;
}

.mobile-nav-drawer.active {
    transform: translateX(320px);
}

.drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.drawer-close-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #e2e8f0;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    color: #475569;
    cursor: pointer;
    transition: all 0.2s;
}

.drawer-close-btn:active {
    background: #cbd5e1;
}

.drawer-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px 18px 95px;
    /* 95px bottom padding ensures the download app button is fully visible above system navigation bars */
    -webkit-overflow-scrolling: touch;
}

.drawer-section-title {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #94a3b8;
    margin-bottom: 8px;
}

.drawer-menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.drawer-menu-list li a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border-radius: 10px;
    color: #1e293b;
    font-weight: 600;
    font-size: 0.92rem;
    text-decoration: none;
    transition: all 0.2s ease;
}

.drawer-menu-list li a i {
    width: 22px;
    text-align: center;
    font-size: 1rem;
    color: var(--primary-color);
}

.drawer-menu-list li a:active,
.drawer-menu-list li a.active {
    background: rgba(15, 44, 89, 0.08);
    color: var(--primary-color);
}

.drawer-app-box {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #f1f5f9;
}

.drawer-download-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px;
    background: linear-gradient(135deg, var(--primary-color) 0%, #1e40af 100%);
    color: #ffffff !important;
    border-radius: 10px;
    font-weight: 700;
    font-size: 0.88rem;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(15, 44, 89, 0.25);
}

/* 2. Mobile Responsive Rules (@media max-width: 768px) */
@media (max-width: 768px) {

    /* Header layout */
    .header-main {
        height: auto !important;
        padding: 8px 0 10px 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }

    /* Top Brand Row: [ ☰ Menu ] [ 📍 KorbaDiary Logo ] [ 📱 App ] */
    .header-brand-row {
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        position: relative !important;
    }

    .mobile-menu-btn {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        background: #f8fafc;
        border: 1px solid #e2e8f0;
        border-radius: 8px;
        font-size: 1.15rem;
        color: var(--primary-color);
        cursor: pointer;
        transition: all 0.2s ease;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    }

    .mobile-menu-btn:active {
        background: #e2e8f0;
        transform: scale(0.95);
    }

    .logo-container {
        display: flex;
        align-items: center;
    }

    .logo-container .logo-text {
        font-size: 1.45rem !important;
        font-weight: 800;
        letter-spacing: -0.5px;
    }

    /* Small Download App Button on Mobile */
    .header-app-btn-mobile {
        display: block !important;
    }

    .btn-app-compact {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        padding: 5px 12px;
        font-size: 0.76rem;
        font-weight: 700;
        color: var(--primary-color);
        background: #ffffff;
        border: 1.5px solid var(--primary-color);
        border-radius: 50px;
        text-decoration: none;
        transition: all 0.2s ease;
        box-shadow: 0 2px 5px rgba(15, 44, 89, 0.08);
    }

    .btn-app-compact:active {
        background: var(--primary-color);
        color: #ffffff;
    }

    .header-app-btn-desktop {
        display: none !important;
    }

    /* 3. Search Bar: Single Sleek Line on Mobile (Requirement 5) */
    .search-bar-header {
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        height: 42px !important;
        background: #ffffff !important;
        border: 1.5px solid #e2e8f0 !important;
        border-radius: 10px !important;
        padding: 2px 3px 2px 6px !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05) !important;
        gap: 0 !important;
    }

    .location-selector {
        width: 96px !important;
        max-width: 100px !important;
        font-size: 0.74rem !important;
        font-weight: 700 !important;
        color: #0f172a !important;
        padding: 4px 4px 4px 6px !important;
        border: none !important;
        border-right: 1px solid #e2e8f0 !important;
        border-bottom: none !important;
        background: transparent !important;
        outline: none !important;
        white-space: nowrap !important;
        text-overflow: ellipsis !important;
        overflow: hidden !important;
        flex-shrink: 0 !important;
        cursor: pointer !important;
    }

    .search-input-wrapper {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        position: relative !important;
    }

    .search-input-wrapper input {
        width: 100% !important;
        padding: 4px 8px !important;
        font-size: 0.78rem !important;
        border: none !important;
        background: transparent !important;
        outline: none !important;
        color: var(--text-dark) !important;
    }

    .search-input-wrapper input::placeholder {
        font-size: 0.76rem !important;
        color: #94a3b8 !important;
    }

    .header-search-button {
        width: 36px !important;
        height: 34px !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 6px !important;
        background: var(--accent-color) !important;
        color: #ffffff !important;
        border: none !important;
        flex-shrink: 0 !important;
        cursor: pointer !important;
    }

    .header-search-button .search-btn-label {
        display: none !important;
        /* Icon-only on mobile */
    }

    .header-search-button i {
        font-size: 0.92rem !important;
    }

    /* 4. Top Ads Carousel Arrows - Compact Size (Requirement 4) */
    .ad-control {
        width: 26px !important;
        height: 26px !important;
        font-size: 0.75rem !important;
        background-color: rgba(255, 255, 255, 0.82) !important;
        color: var(--primary-color) !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25) !important;
    }

    .ad-control-prev {
        left: 8px !important;
    }

    .ad-control-next {
        right: 8px !important;
    }

    /* 5. Popular Categories: 2-column continuous grid without empty holes (Screenshot 2) */
    .colorful-categories-wrapper {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

    .colorful-cat-row {
        display: contents !important;
    }

    .colorful-cat-card {
        padding: 12px 6px 10px !important;
    }

    /* 6. Repairs & Services Card - Padding & Gap Fix (Screenshot 4) */
    .service-need-card-box {
        padding: 16px 10px !important;
    }

    .service-need-subgrid {
        gap: 8px !important;
    }

    .service-need-subgrid img {
        height: 72px !important;
        border-radius: 8px !important;
    }

    .service-need-subgrid span {
        font-size: 0.78rem !important;
    }

    /* 7. Floating WhatsApp Support Button on Mobile */
    .floating-whatsapp-btn {
        width: 46px !important;
        height: 46px !important;
        font-size: 1.4rem !important;
        right: 14px !important;
        bottom: 18px !important;
    }

    /* 8. Local Korba News Section - Compact Mobile Height & Gap Fix (Screenshot 2) */
    .local-korba-news-section {
        background-attachment: scroll !important;
        padding: 24px 0 20px 0 !important;
    }

    .news-section-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        margin-bottom: 12px !important;
        gap: 8px !important;
    }

    .news-header-left {
        flex: none !important;
        width: 100% !important;
        height: auto !important;
        margin-bottom: 0 !important;
    }

    .news-header-right {
        align-items: flex-start !important;
        width: 100% !important;
        margin-top: 4px !important;
        gap: 8px !important;
    }

    .news-network-badge {
        font-size: 0.68rem !important;
        padding: 4px 10px !important;
        margin-bottom: 6px !important;
    }

    .news-main-title {
        font-size: 1.55rem !important;
        margin-bottom: 4px !important;
    }

    .news-main-subtitle {
        font-size: 0.82rem !important;
        line-height: 1.4 !important;
        margin-bottom: 0 !important;
    }

    .news-stats-row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
    }

    .news-stat-pill {
        font-size: 0.72rem !important;
        padding: 4px 10px !important;
    }

    .btn-view-all-news {
        padding: 6px 14px !important;
        font-size: 0.8rem !important;
    }

    /* 9. Emergency Helpline Ticker - Compact Live Dot & Icon Only on Mobile (Screenshot 3) */
    .emergency-helpline-strip .container {
        gap: 8px !important;
    }

    .emergency-strip-tag {
        padding: 4px 8px !important;
        font-size: 0.95rem !important;
        flex-shrink: 0 !important;
    }

    .emergency-strip-tag .emergency-tag-label {
        display: none !important;
        /* Hide 'Emergency' text, keep red dot and 🚨 icon */
    }

    /* 10. Business Events Card - Compact Balanced Layout on Mobile (Screenshot 3) */
    .events-cards-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .event-card {
        padding: 16px !important;
        gap: 14px !important;
        border-radius: 14px !important;
        background: #ffffff !important;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
    }

    .event-date-badge {
        width: 52px !important;
        height: 52px !important;
        border-radius: 10px !important;
        flex-shrink: 0 !important;
    }

    .event-day {
        font-size: 1.3rem !important;
    }

    .event-month {
        font-size: 0.68rem !important;
    }

    .event-details {
        gap: 6px !important;
        width: 100% !important;
    }

    .event-title {
        font-size: 1.05rem !important;
        line-height: 1.3 !important;
        margin-bottom: 2px !important;
    }

    .event-meta-item {
        font-size: 0.8rem !important;
        color: #475569 !important;
        gap: 6px !important;
    }

    .event-fee-text {
        background: #dcfce7 !important;
        color: #16a34a !important;
        padding: 2px 8px !important;
        border-radius: 4px !important;
        font-size: 0.75rem !important;
        font-weight: 700 !important;
    }

    .event-register-btn {
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        padding: 9px 16px !important;
        margin-top: 8px !important;
        background: linear-gradient(135deg, var(--primary-color) 0%, #1e40af 100%) !important;
        color: #ffffff !important;
        border: none !important;
        border-radius: 8px !important;
        font-weight: 700 !important;
        font-size: 0.84rem !important;
        box-shadow: 0 2px 8px rgba(15, 44, 89, 0.2) !important;
    }
}