﻿@layer modern {
    /* SpeedyBook Modern Profile - production fix */
    @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
    @import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');

    .sb-profile-modern {
        font-family: 'Inter', sans-serif !important;
        background-color: #f8fafc !important;
        color: #1e293b !important;
        display: block !important;
        padding-top: 20px !important;
    }

    /* 1. Breadcrumbs (Modern Style) */
    .sb-profile-modern .sb-breadcrumb-container {
        margin-bottom: 24px;
    }

    .sb-profile-modern .sb-breadcrumb {
        display: flex;
        flex-wrap: wrap;
        list-style: none;
        padding: 0;
        margin: 0;
        font-size: 13px;
    }

    .sb-profile-modern .sb-breadcrumb li {
        display: flex;
        align-items: center;
        color: #64748b;
    }

    .sb-profile-modern .sb-breadcrumb li a {
        color: #94a3b8;
        text-decoration: none;
        transition: color 0.2s;
    }

    .sb-profile-modern .sb-breadcrumb li a:hover {
        color: #2563eb;
    }

    .sb-profile-modern .sb-breadcrumb li:not(:last-child)::after {
        content: "\2192";
        margin: 0 10px;
        font-size: 11px;
        color: #94a3b8;
    }

    .sb-profile-modern .sb-breadcrumb li:last-child {
        color: #1e293b;
        font-weight: 500;
    }

    /* 1.1 Main Profile Header */
    .sb-profile-header {
        display: block;
        visibility: visible;
        opacity: 1;
        margin-bottom: 32px;
        position: relative;
    }

    .sb-profile-modern .sb-profile-title,
    .sb-profile-modern .sb-h1-fake {
        display: block;
        font-size: 36px;
        font-weight: 800;
        color: #0f172a;
        margin: 0 0 8px 0;
        padding: 0;
        line-height: 1.2;
        letter-spacing: -0.02em;
    }

    .sb-profile-modern .sb-profile-subtitle {
        font-size: 16px;
        color: #64748b;
        font-weight: 500;
    }

    /* Hide standard system breadcrumbs on this page */
    .sb-profile-modern .bread-crumbs,
    .sb-profile-modern .breadcrumbs,
    .sb-profile-modern #bread_crumbs,
    .sb-profile-modern #content>.bread-crumbs,
    .sb-profile-modern #content>.breadcrumbs,
    .sb-profile-modern .nav-path {
        display: none;
    }

    /* 2. Decision Panel Fixes */
    .sb-profile-modern .sb-decision-panel {
        background: #ffffff;
        border: 1px solid #e2e8f0;
        border-radius: 24px;
        padding: 24px 28px;
        box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.05), 0 10px 10px -5px rgba(0, 0, 0, 0.02);
        margin-top: 0;
    }

    .sb-seller-favorite .favorite {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        margin: 0;
        transform: none;
    }

    /* Specific button styles */
    .sb-profile-modern .booking-anchor {
        border-color: #3b82f6 !important;
        color: #1e3a8a !important;
        background: #eff6ff !important;
    }

    .sb-profile-modern .booking-anchor:hover {
        background: #dbeafe !important;
        border-color: #2563eb !important;
    }

    /* Action Buttons Grid - Desktop Defaults */
    .sb-cta-section {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        margin: 20px 0;
    }

    .sb-cta-section .sb-btn {
        height: 52px;
    }

    .sb-cta-section .booking-anchor {
        grid-column: span 2 !important;
    }

    /* 3. Trust Tags Style */
    .sb-profile-modern .sb-location-info {
        display: flex;
        gap: 20px;
        align-items: flex-start;
    }

    .sb-profile-modern .sb-icon-location-big {
        width: 48px;
        height: 48px;
        background: #eff6ff;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #3b82f6;
        flex-shrink: 0;
    }

    .sb-icon-location-big i {
        font-size: 24px;
    }

    /* Fallback icons via CSS if i tags are empty */
    .sb-icon-remote::before {
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        content: "\f0ac";
        font-size: 20px;
    }

    .sb-icon-location::before {
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        content: "\f3c5";
        font-size: 20px;
    }

    .sb-profile-modern .sb-location-address {
        font-size: 16px;
        font-weight: 700;
        color: #0f172a;
        margin-bottom: 4px;
        line-height: 1.4;
    }

    .sb-profile-modern .sb-location-hint {
        font-size: 14px;
    }

    .sb-profile-modern .sb-trust-tags {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .sb-profile-modern .sb-trust-tag {
        background: #f1f5f9;
        color: #475569;
        padding: 6px 12px;
        border-radius: 8px;
        font-size: 12px;
        font-weight: 600;
        display: flex;
        align-items: center;
        gap: 6px;
        white-space: nowrap;
    }

    .sb-profile-modern .sb-trust-tag i {
        color: #2563eb;
        font-size: 14px;
    }

    /* 4. Unified Buttons Style */
    .sb-profile-modern .sb-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        border-radius: 14px;
        font-weight: 700;
        transition: all 0.2s;
        border: none;
        cursor: pointer;
    }

    .sb-profile-modern .sb-btn-primary {
        background: var(--sb-primary, #2563eb);
        color: white;
        height: 56px;
        font-size: 17px;
        box-shadow: 0 4px 14px 0 rgba(37, 99, 235, 0.39);
    }

    .sb-profile-modern .sb-btn-primary:hover {
        background: #1d4ed8;
        transform: translateY(-1px);
        box-shadow: 0 6px 20px rgba(37, 99, 235, 0.23);
    }

    .sb-profile-modern .sb-btn-outline {
        background: #f8fafc;
        border: 1px solid #e2e8f0;
        color: #1e293b;
        height: 52px;
        font-size: 15px;
    }

    .sb-profile-modern .sb-btn-outline:hover {
        background: #f1f5f9;
        border-color: #cbd5e1;
    }

    /* Stats and Meta Actions */
    .sb-profile-modern .sb-panel-stats {
        font-size: 13px;
        color: #94a3b8;
        /* Lighter color for labels */
    }

    .sb-profile-modern .sb-stat-item {
        display: flex;
        align-items: center;
        gap: 5px;
    }

    .sb-profile-modern .sb-stat-item strong {
        color: #475569;
        /* Darker color for actual values */
        font-weight: 600;
    }

    .sb-profile-modern .sb-stat-item i {
        font-size: 14px;
        color: #cbd5e1;
    }

    .sb-owner-link {
        color: #2563eb;
        text-decoration: none;
        font-weight: 600;
    }

    .sb-owner-link:hover {
        text-decoration: underline;
    }

    /* Icons removed from here to prevent minifier from stripping backslashes */


    .sb-btn-fav-round {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        border: 1px solid #e2e8f0;
        background: white;
        color: #cbd5e1;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: all 0.2s;
        padding: 0;
    }

    .sb-btn-fav-round:hover {
        border-color: #fca5a5;
        background: #fef2f2;
    }

    .sb-btn-fav-round.remove {
        background: #fee2e2;
        border-color: #fecaca;
    }

    .sb-btn-fav-round .sb-icon-heart {
        font-size: 20px;
        color: #94a3b8;
        fill: none;
        transition: all 0.2s;
    }

    .sb-btn-fav-round:hover .sb-icon-heart {
        color: #f87171;
    }

    .sb-btn-fav-round.remove .sb-icon-heart {
        fill: currentColor;
        color: #ef4444;
    }

    .sb-inactive-warning {
        background: #fff7ed;
        border: 1px solid #fed7aa;
        color: #9a3412;
        padding: 10px 14px;
        border-radius: 12px;
        font-size: 14px;
        font-weight: 600;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .sb-map-expand-btn {
        position: absolute;
        top: 12px;
        right: 12px;
        z-index: 500;
        background: white;
        border: 1px solid #e2e8f0;
        border-radius: 10px;
        width: 38px;
        height: 38px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
        transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
        color: #475569;
    }

    .sb-map-expand-btn:hover {
        background: #f8fafc;
        transform: translateY(-1px);
        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
        color: #2563eb;
        border-color: #cbd5e1;
    }

    .sb-map-expand-btn:active {
        transform: translateY(0);
    }


    /* 5. Seller Info Alignment Fix */
    .sb-seller-brief-modern {
        display: flex;
        align-items: center;
        /* Aligns avatar and text vertically */
        gap: 16px;
    }

    .sb-seller-avatar-md {
        flex-shrink: 0;
    }

    .sb-avatar-placeholder-md,
    .sb-avatar-img {
        width: 60px;
        height: 60px;
        border-radius: 16px;
        object-fit: cover;
    }

    .sb-avatar-placeholder-md {
        background: #2563eb;
        color: white;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 24px;
        font-weight: 800;
    }

    .sb-seller-info-text {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 2px;
    }

    .sb-seller-name {
        font-size: 18px;
        font-weight: 700;
        color: #0f172a;
        line-height: 1.2;
    }

    /* ROBUST GRID SYSTEM */
    .sb-profile-modern .sb-mosaic-grid {
        display: grid;
        gap: 8px;
        background: transparent;
        border-radius: 20px;
        overflow: hidden;
        width: 100%;
        margin-bottom: 20px;
        height: 460px;
        /* Fixed total height */
    }

    /* Sidebar Container */
    .sb-profile-sidebar-container {
        margin-top: 0;
        padding-top: 0;
    }

    /* Description Text Styles (Standardized) */
    .sb-text-content {
        line-height: 1.6;
        color: #334155;
        font-size: 15px;
        word-break: break-word;
    }

    .sb-text-content p {
        margin-bottom: 1em;
    }

    .sb-text-content p:last-child {
        margin-bottom: 0;
    }

    /* Modern Schedule List */

    .sb-modern-schedule {
        display: flex;
        flex-direction: column;
    }

    .sb-schedule-line {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px 0;
        border-bottom: 1px solid #f1f5f9;
        transition: all 0.2s ease;
    }

    .sb-schedule-line:last-child {
        border-bottom: none;
    }

    .sb-day-info {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .sb-status-indicator {
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: #22c55e;
        /* Green for Open */
        display: block;
    }

    .sb-day-label {
        font-size: 14px;
        font-weight: 600;
        color: #334155;
        text-transform: capitalize;
    }

    .sb-time-info {
        font-size: 14px;
        color: #1e293b;
        font-weight: 500;
    }

    .sb-day-off .sb-status-indicator {
        background: #cbd5e1;
        /* Gray for Closed */
    }

    .sb-day-off .sb-day-label {
        color: #94a3b8;
        font-weight: 500;
    }

    .sb-off-label {
        color: #94a3b8;
        font-size: 12px;
        background: #f8fafc;
        padding: 2px 8px;
        border-radius: 4px;
    }

    .sb-availability-block {
        border-top: 2px dashed #f1f5f9;
    }

    .sb-booking-services-block {
        padding-bottom: 20px;
    }

    .sb-working-hours .col-md-7 {
        border-left: 1px solid #f1f5f9;
        padding-left: 30px;
    }

    /* Calendar Styling Refinement */
    /* Final DOM-Verified Calendar Styles */
    #booking_calendar_target .content-padding {
        padding: 0 !important;
    }

    #booking_calendar {
        position: relative !important;
        padding: 10px 0 !important;
    }

    #calendar_map {
        width: 100% !important;
        margin: 0 !important;
    }

    #calendar_map>div {
        float: none !important;
        margin: 0 auto !important;
        width: 100% !important;
        max-width: 320px !important;
    }

    .month-name {
        text-align: center;
        margin: 0 0 25px 0;
        padding: 0;
        width: 100%;
    }

    .month-name b {
        font-size: 16px;
        font-weight: 700;
        color: #1e293b;
        font-family: 'Outfit', sans-serif;
        display: block;
    }

    .month-table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0 4px;
    }

    .dayName td div {
        font-size: 11px;
        font-weight: 700;
        color: #94a3b8;
        text-transform: uppercase;
        padding-bottom: 10px;
        text-align: center;
    }

    .calendar_td {
        padding: 2px !important;
        text-align: center !important;
    }

    .calendar_td .date {
        width: 36px !important;
        height: 36px !important;
        line-height: 36px !important;
        border-radius: 50% !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #475569 !important;
        margin: 0 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
    }

    /* Day Statuses */
    .calendar_td .date.available {
        background: #f8fafc !important;
    }

    .calendar_td .date.available:hover {
        background: rgba(37, 99, 235, 0.08) !important;
        color: var(--sb-primary, #2563eb) !important;
    }

    /* Today Indicator (Subtle dot below number) */
    .calendar_td .date.today:not(:empty) {
        color: var(--sb-primary, #2563eb) !important;
        font-weight: 700 !important;
        position: relative !important;
    }

    .calendar_td .date.today:not(:empty)::after {
        content: '' !important;
        position: absolute !important;
        bottom: 4px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 4px !important;
        height: 4px !important;
        background: var(--sb-primary, #2563eb) !important;
        border-radius: 50% !important;
    }

    /* Active Selection (The Big Green Circle) */
    .calendar_td .date.active,
    .calendar_td .date.active_start,
    .calendar_td .date.active_end {
        background: var(--sb-primary, #2563eb) !important;
        color: #ffffff !important;
        box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3) !important;
        border: none !important;
        z-index: 2 !important;
    }

    /* Ensure Today Dot is white when Today is selected */
    .calendar_td .date.today.active::after {
        background: #ffffff !important;
    }

    /* Base style for all dates to ensure they "off" correctly */
    .calendar_td .date {
        background: transparent !important;
        border: 1px solid transparent !important;
        box-shadow: none !important;
    }

    .calendar_td .date.available {
        background: #f8fafc !important;
    }

    .calendar_td .date.available:hover {
        background: #eff6ff !important;
        color: #2563eb !important;
    }

    .calendar_td .date.past {
        opacity: 0.3 !important;
        cursor: default !important;
        background: transparent !important;
    }

    .calendar_td .date.booked {
        background: #fee2e2 !important;
        color: #ef4444 !important;
        text-decoration: line-through !important;
    }

    /* Navigation Styling */
    .booking-horizontal {
        display: flex !important;
        justify-content: center !important;
        gap: 15px !important;
        margin-top: 20px !important;
    }

    .booking-horizontal .prev,
    .booking-horizontal .next {
        width: 34px !important;
        height: 34px !important;
        border-radius: 10px !important;
        border: 1.5px solid #e2e8f0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        transition: all 0.2s !important;
        background: #ffffff !important;
    }

    .booking-horizontal .prev:hover,
    .booking-horizontal .next:hover {
        border-color: #2563eb !important;
        background: #f0f7ff !important;
        transform: translateY(-1px) !important;
    }

    /* Primary Booking Button Redesign */
    .form-buttons input[type="submit"] {
        background: var(--sb-primary, #2563eb) !important;
        color: #ffffff !important;
        border: none !important;
        padding: 12px 24px !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        border-radius: 12px !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
        box-shadow: 0 4px 14px rgba(37, 99, 235, 0.3) !important;
        width: 100% !important;
        margin-top: 15px !important;
        font-family: 'Outfit', sans-serif !important;
    }

    .form-buttons input[type="submit"]:hover {
        background: #1d4ed8 !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 20px rgba(37, 99, 235, 0.4) !important;
    }

    .form-buttons input[type="submit"]:active {
        transform: translateY(0) !important;
    }

    @media (max-width: 768px) {
        .sb-working-hours .col-md-7 {
            border-left: none;
            padding-left: 15px;
            margin-top: 30px;
        }
    }

    .sb-profile-modern .sb-mosaic-item {
        position: relative;
        overflow: hidden;
        background: #f1f5f9;
        cursor: pointer;
        transition: all 0.3s ease;
        height: 100%;
        /* Take full height of grid cell */
    }

    .sb-profile-modern .sb-mosaic-item:hover img {
        transform: scale(1.05);
    }

    .sb-profile-modern .sb-mosaic-item img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform 0.4s ease;
    }

    .sb-show-all-photos {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: white;
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        color: #1e293b;
        font-size: 14px;
        font-weight: 700;
        cursor: pointer;
        transition: all 0.2s;
        margin-top: 10px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    }

    .sb-show-all-photos:hover {
        background: #f8fafc;
        transform: translateY(-1px);
        box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
    }

    /* Grids logic */
    .sb-profile-modern .sb-mosaic-1 {
        grid-template-columns: 1fr;
    }

    .sb-profile-modern .sb-mosaic-2 {
        grid-template-columns: 1fr 1fr;
    }

    /* 3 Photos: 1 Big Left, 2 Small Right */
    .sb-profile-modern .sb-mosaic-3 {
        grid-template-columns: 1.5fr 1fr;
        grid-template-rows: 1fr 1fr;
    }

    .sb-profile-modern .sb-mosaic-3 .sb-mosaic-item-1 {
        grid-row: span 2;
    }

    /* 4 Photos: 2x2 Grid */
    .sb-profile-modern .sb-mosaic-4 {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
    }

    /* 5+ Photos: 1 Big Left, 4 Small Right (2x2) */
    .sb-profile-modern .sb-mosaic-5,
    .sb-profile-modern .sb-mosaic-5plus {
        grid-template-columns: 1.5fr 1fr 1fr;
        grid-template-rows: 1fr 1fr;
    }

    .sb-profile-modern .sb-mosaic-5 .sb-mosaic-item-1,
    .sb-profile-modern .sb-mosaic-5plus .sb-mosaic-item-1 {
        grid-row: span 2;
    }

    /* Mobile Adaptation for Gallery */
    @media screen and (max-width: 767px) {
        .sb-profile-modern .sb-mosaic-grid {
            grid-template-columns: 1fr 1fr;
            grid-template-rows: auto;
            height: auto;
            gap: 8px;
        }

        .sb-profile-modern .sb-mosaic-item {
            height: 160px;
            grid-row: span 1;
            grid-column: span 1;
        }

        .sb-profile-modern .sb-mosaic-item-1 {
            grid-column: span 2;
            height: 240px;
        }
    }

    .sb-video-play-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 60px;
        height: 60px;
        background: rgba(255, 255, 255, 0.2);
        backdrop-filter: blur(4px);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 2px solid white;
        color: white;
        pointer-events: none;
        z-index: 5;
    }

    .sb-video-play-icon i {
        font-size: 24px;
    }

    .sb-mosaic-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-size: 24px;
        font-weight: 700;
    }

    /* Pricing */
    .sb-profile-modern .sb-amount {
        font-size: 30px;
        font-weight: 800;
        color: #2563eb;
    }

    .sb-profile-modern .sb-amount-negotiable {
        font-size: 22px;
        font-weight: 700;
        color: #64748b;
    }

    /* Location Card */

    .sb-location-info {
        display: flex;
        gap: 20px;
        align-items: flex-start;
    }

    .sb-icon-location-big {
        width: 48px;
        height: 48px;
        background: #eff6ff;
        color: #2563eb;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 24px;
        flex-shrink: 0;
    }

    .sb-location-address {
        font-size: 16px;
        font-weight: 600;
        color: #0f172a;
        line-height: 1.5;
    }

    .sb-profile-modern .sb-company-name {
        font-size: 14px;
        font-weight: 600;
        color: #2563eb;
        margin-top: 2px;
    }

    .sb-seller-email {
        font-size: 13px;
        color: #64748b;
        margin-top: 2px;
    }

    .sb-seller-email a {
        color: inherit;
        text-decoration: none;
    }

    .sb-seller-email a:hover {
        color: #2563eb;
        text-decoration: underline;
    }

    .sb-seller-role {
        font-size: 12px;
        color: #94a3b8;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        margin-top: 4px;
    }

    /* Social and Web Links */
    .sb-social-links {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin-top: 16px;
    }

    .sb-social-item {
        width: 40px;
        height: 40px;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #f8fafc;
        border: 1px solid #e2e8f0;
        color: #64748b;
        text-decoration: none;
        transition: all 0.2s;
        font-size: 18px;
    }

    .sb-social-item:hover {
        background: #f1f5f9;
        color: #2563eb;
        border-color: #cbd5e1;
        transform: translateY(-2px);
    }

    .sb-social-item.sb-social-instagram:hover {
        color: #e1306c;
    }

    .sb-social-item.sb-social-facebook:hover {
        color: #1877f2;
    }

    .sb-social-item.sb-social-tiktok:hover {
        color: #000000;
    }

    .sb-social-item.sb-social-web:hover {
        color: #2563eb;
    }

    /* Languages Block */
    .sb-languages-card {
        background: #f8fafc;
        border: 1px solid #e2e8f0;
        border-radius: 16px;
        padding: 20px;
    }

    .sb-lang-item {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: white;
        border: 1px solid #e2e8f0;
        padding: 6px 14px;
        border-radius: 10px;
        font-size: 14px;
        font-weight: 600;
        color: #475569;
    }

    /* Cards Base */
    .sb-description-card,
    .sb-profile-modern__location-card,
    .sb-booking-card {
        background: white !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 20px !important;
        padding: 24px !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03) !important;
    }



    .sb-booking-status {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 6px 12px;
        background: #f0fdf4;
        color: #166534;
        border-radius: 20px;
        font-size: 13px;
        font-weight: 600;
    }

    .sb-status-dot {
        width: 8px;
        height: 8px;
        background: #22c55e;
        border-radius: 50%;
        box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.2);
    }

    .sb-hours-title {
        font-weight: 700;
        font-size: 15px;
        color: #0f172a;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .sb-empty-state {
        color: #94a3b8;
        font-style: italic;
        text-align: center;
        padding: 20px 0;
        font-size: 15px;
    }

    .sb-hour-row {
        display: flex;
        justify-content: space-between;
        padding: 8px 0;
        border-bottom: 1px solid #f1f5f9;
        font-size: 14px;
    }

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

    /* Section Navigation */
    .sb-profile-nav {
        border-bottom: 1px solid #e2e8f0 !important;
        position: sticky !important;
        top: 0 !important;
        background: rgba(248, 250, 252, 0.9) !important;
        backdrop-filter: blur(8px) !important;
        z-index: 90 !important;
        margin-left: -5px !important;
        margin-right: -5px !important;
    }

    .sb-nav-list {
        display: flex;
        gap: 32px;
        list-style: none;
        padding: 0;
        margin: 0;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        /* Firefox */
    }

    .sb-nav-list::-webkit-scrollbar {
        display: none;
        /* Chrome/Safari */
    }

    .sb-nav-list li a {
        display: block;
        padding: 16px 0;
        color: #64748b;
        text-decoration: none;
        font-weight: 600;
        font-size: 15px;
        border-bottom: 2px solid transparent;
        transition: all 0.2s;
        white-space: nowrap;
    }

    .sb-nav-list li.active a,
    .sb-nav-list li a:hover {
        color: #2563eb;
        border-bottom-color: #2563eb;
    }

    /* Services Grid Styling */
    /* Services List (Compact) */
    .sb-services-list {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .sb-service-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px 16px;
        background: #ffffff;
        border: 1px solid #f1f5f9;
        border-radius: 12px;
        transition: all 0.2s ease;
    }

    .sb-service-item:hover {
        border-color: #cbd5e1;
        background: #fcfdfe;
    }

    .sb-service-info {
        flex: 1;
        min-width: 0;
        padding-right: 20px;
    }

    .sb-service-name-wrapper {
        display: flex;
        align-items: center;
        gap: 12px;
        flex-wrap: wrap;
    }

    .sb-service-name {
        font-size: 14px;
        font-weight: 600;
        color: #1e293b;
        line-height: 1.4;
    }

    .sb-service-duration {
        font-size: 11px;
        color: #64748b;
        background: #f1f5f9;
        padding: 2px 8px;
        border-radius: 6px;
        white-space: nowrap;
        font-weight: 500;
    }

    .sb-service-short-desc {
        font-size: 12px;
        color: #94a3b8;
        margin-top: 2px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .sb-service-actions {
        display: flex;
        align-items: center;
        gap: 20px;
        flex-shrink: 0;
    }

    .sb-service-price-small {
        text-align: right;
        min-width: 70px;
    }

    .sb-service-price-small .sb-amount {
        font-size: 16px;
        font-weight: 700;
        color: #1e293b;
    }

    .sb-service-price-small .sb-curr {
        font-size: 11px;
        color: #94a3b8;
        text-transform: uppercase;
    }

    .sb-link-btn {
        background: none;
        border: none;
        color: #2563eb;
        font-weight: 600;
        font-size: 13px;
        padding: 0;
        cursor: pointer;
        text-decoration: none;
    }

    .sb-link-btn:hover {
        text-decoration: underline;
    }

    /* Updated Button Sizing */
    .sb-btn-xs {
        padding: 5px 12px;
        font-size: 11px;
        border-radius: 8px;
        height: auto;
        line-height: 1.5;
    }

    .sb-btn-outline-primary {
        background: #ffffff;
        border: 1.5px solid #e2e8f0;
        color: #475569;
        box-shadow: none;
        height: auto;
        min-height: unset;
        transition: all 0.2s;
    }

    .sb-btn-outline-primary:hover {
        border-color: #2563eb;
        color: #2563eb;
        transform: none;
        box-shadow: none;
    }

    /* Empty block styling */
    .sb-empty-state {
        background: #f8fafc;
        border: 2px dashed #e2e8f0;
        border-radius: 16px;
        padding: 32px;
        text-align: center;
        color: #94a3b8;
        font-size: 14px;
        display: block;
    }

    /* Sections */
    .sb-section-title {
        font-size: 20px;
        font-weight: 800;
        margin-bottom: 24px;
        color: #0f172a;
    }

    /* SaaS Booking Calendar Styling */
    .sb-profile-modern #booking_calendar {
        padding: 20px 0 !important;
        background: white !important;
    }

    /* Hide default QR Code from top stats (moved to owner panel) */
    .sb-profile-modern .sb-stats-controls .qrCodeModal {
        display: none;
    }

    /* Hide second month and navigation for 1-month focus */
    .sb-profile-modern #calendar_map>div:nth-child(2),
    .sb-profile-modern #booking_calendar .booking-horizontal {
        display: none !important;
    }

    /* Center the single month column */
    .sb-profile-modern #calendar_map>div:nth-child(1) {
        width: 100% !important;
        max-width: 450px !important;
        margin: 0 auto !important;
        float: none !important;
    }

    .sb-profile-modern #booking_calendar table {
        width: 100% !important;
        border-collapse: separate !important;
        border-spacing: 4px !important;
        margin: 0 auto !important;
    }

    .sb-profile-modern #booking_calendar th {
        color: #64748b !important;
        font-weight: 600 !important;
        font-size: 13px !important;
        padding-bottom: 12px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.05em !important;
    }

    .sb-profile-modern #booking_calendar .month_title {
        font-size: 18px !important;
        font-weight: 800 !important;
        color: #0f172a !important;
        padding-bottom: 24px !important;
        text-align: center !important;
    }

    .sb-profile-modern .calendar_td {
        width: 42px !important;
        height: 42px !important;
        padding: 0 !important;
        border: none !important;
    }

    .sb-profile-modern .calendar_td>div {
        width: 36px !important;
        height: 36px !important;
        line-height: 36px !important;
        margin: 0 auto !important;
        border-radius: 50% !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        transition: all 0.2s !important;
    }

    /* 1. Global Reset & Layout */
    #bread_crumbs,
    section#content>h1,
    section#content>.h1-nav,
    .listing-details.details>.top-navigation,
    .side_block.similarlistings,
    .side_block.monetize {
        display: none;
    }

    /* Available dates */
    .sb-profile-modern .calendar_td .available {
        background: #f1f5f9 !important;
        color: #475569 !important;
        cursor: pointer !important;
    }

    .sb-profile-modern .calendar_td:hover .available {
        background: #e2e8f0 !important;
        color: #1e293b !important;
    }

    /* Today */
    .sb-profile-modern .calendar_td .today {
        border: 2px solid #2563eb !important;
        color: #2563eb !important;
        font-weight: 700 !important;
    }

    /* Selected dates */
    .sb-profile-modern .calendar_td .daySelect,
    .sb-profile-modern .calendar_td .current-request {
        background: #2563eb !important;
        color: white !important;
        font-weight: 700 !important;
        box-shadow: 0 4px 10px rgba(37, 99, 235, 0.3) !important;
    }

    /* Booked/Closed dates */
    .sb-profile-modern .calendar_td .booked,
    .sb-profile-modern .calendar_td .closed {
        background: transparent !important;
        color: #cbd5e1 !important;
        text-decoration: line-through !important;
        cursor: not-allowed !important;
    }

    /* "Proceed to booking" button styling */
    .sb-profile-modern #step_1_button,
    .sb-profile-modern .booking-button,
    .sb-profile-modern input[id^="step_"][type="button"],
    .sb-profile-modern input[id^="step_"][type="submit"] {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 14px 32px !important;
        background: var(--sb-primary, #2563eb) !important;
        color: white !important;
        border-radius: 12px !important;
        font-weight: 700 !important;
        font-size: 15px !important;
        border: none !important;
        cursor: pointer !important;
        transition: all 0.2s !important;
        box-shadow: 0 4px 12px rgba(37, 99, 235, 0.2) !important;
        margin-top: 24px !important;
    }

    .sb-profile-modern #step_1_button:hover {
        background: #1d4ed8 !important;
        box-shadow: 0 6px 16px rgba(37, 99, 235, 0.3) !important;
        transform: translateY(-1px) !important;
    }

    /* Fix for the "Proceed" button appearing below calendar */
    .sb-profile-modern #booking_calendar+div,
    .sb-profile-modern #booking_calendar+form {
        text-align: center !important;
    }

    /* Reviews & Comments SaaS Styling */
    .sb-profile-modern .sb-reviews-card {
        background: white;
        border: 1px solid #e2e8f0;
        border-radius: 24px;
        padding: 40px;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
    }

    #sb_reviews_container .sb-empty-state {
        padding: 40px 0;
        background: transparent;
        border: none;
    }

    .sb-profile-modern #area_comments {
        display: block;
    }

    .sb-profile-modern #area_comments .content-padding {
        padding: 0;
    }

    /* Form Styling Fixes */
    .sb-profile-modern .form_add_comment {
        max-width: 600px;
        margin: 40px auto 0;
        padding: 32px;
        background: #f8fafc;
        border-radius: 20px;
        border: 1px solid #e2e8f0;
    }

    .sb-profile-modern .form_add_comment .fieldset {
        border: none;
        padding: 0;
        margin: 0;
        background: transparent;
    }

    .sb-profile-modern .form_add_comment header {
        display: block;
        font-size: 20px;
        font-weight: 800;
        color: #0f172a;
        margin-bottom: 24px;
        text-align: center;
        border: none;
        background: transparent;
    }

    .sb-profile-modern .form_add_comment .submit-cell {
        margin-bottom: 16px;
        border: none;
        padding: 0;
    }

    .sb-profile-modern .form_add_comment input[type="text"],
    .sb-profile-modern .form_add_comment textarea {
        width: 100%;
        background: white;
        border: 1px solid #cbd5e1;
        border-radius: 12px;
        padding: 14px 18px;
        font-size: 15px;
        color: #1e293b;
        transition: all 0.2s;
        box-shadow: none;
    }

    .sb-profile-modern .form_add_comment input[type="text"]:focus,
    .sb-profile-modern .form_add_comment textarea:focus {
        border-color: #2563eb;
        box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.1);
        outline: none;
    }

    /* Stars Rating */
    .sb-profile-modern .comment-star-add {
        width: 28px;
        height: 28px;
        cursor: pointer;
        background: url('../img/star.png') no-repeat center;
        background-size: contain;
        margin-right: 6px;
        opacity: 0.3;
        transition: all 0.2s;
    }

    .sb-profile-modern .comment-star-add.active,
    .sb-profile-modern .comment-star-add:hover {
        opacity: 1;
        transform: scale(1.1);
    }

    .sb-profile-modern .form_add_comment .buttons {
        margin-top: 24px;
    }

    .sb-profile-modern .form_add_comment input[type="submit"] {
        background: var(--sb-primary, #2563eb);
        color: white;
        padding: 16px;
        border-radius: 12px;
        font-weight: 700;
        font-size: 16px;
        border: none;
        cursor: pointer;
        transition: all 0.2s;
        box-shadow: 0 4px 12px rgba(37, 99, 235, 0.2);
    }

    .sb-profile-modern .form_add_comment input[type="submit"]:hover {
        background: #1d4ed8;
        transform: translateY(-1px);
        box-shadow: 0 6px 16px rgba(37, 99, 235, 0.3);
    }

    /* Comments List Styling */
    .sb-profile-modern .comments-list li {
        padding: 24px;
        background: white;
        border: 1px solid #f1f5f9;
        border-radius: 16px;
        margin-bottom: 20px;
        transition: all 0.2s;
    }

    .comments-list li:hover {
        border-color: #e2e8f0;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
    }

    .comments-list .Author {
        font-weight: 700;
        color: #0f172a;
    }

    .comments-list .date {
        color: #94a3b8;
    }

    /* Similar Listings Modern Styling - Clean Version */
    .sb-profile-modern .sb-similar-container {
        margin-top: 32px;
    }

    .sb-profile-modern .sb-similar-container ul.featured {
        list-style: none;
        padding: 0;
        margin: 0 -10px;
        display: flex;
        flex-wrap: wrap;
    }

    .sb-profile-modern .sb-similar-container ul.featured li {
        padding: 12px;
        border: none;
        background: none;
        box-shadow: none;
        margin: 0;
        height: auto;
    }

    .sb-similar-container ul.featured li::before,
    .sb-similar-container ul.featured li::after {
        display: none;
    }

    .sb-profile-modern .sb-similar-card-inner {
        background: white;
        border: 1px solid #e2e8f0;
        border-radius: 16px;
        overflow: hidden;
        height: 100%;
        display: flex;
        flex-direction: column;
        transition: all 0.3s ease;
        position: relative;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    }

    .sb-profile-modern .sb-similar-container ul.featured li:hover .sb-similar-card-inner {
        transform: translateY(-4px);
        box-shadow: 0 12px 20px -5px rgba(0, 0, 0, 0.1);
        border-color: #cbd5e1;
    }

    .sb-profile-modern .sb-similar-container .picture {
        position: relative;
        height: 160px;
        margin: 0;
        padding: 0;
        border: none;
        border-radius: 0;
    }

    .sb-profile-modern .sb-similar-container .picture a {
        display: block;
        height: 100%;
    }

    .sb-profile-modern .sb-similar-container .card-info {
        padding: 16px;
        display: flex;
        flex-direction: column;
        flex: 1;
        list-style: none;
        margin: 0;
        gap: 4px;
    }

    .sb-profile-modern .sb-similar-container .card-info .title {
        margin: 0 0 4px 0;
        padding: 0;
        display: block;
    }

    .sb-profile-modern .sb-similar-container .card-info .title a {
        font-weight: 700;
        color: #1e293b;
        font-size: 15px;
        line-height: 1.4;
        text-decoration: none;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .sb-profile-modern .sb-similar-container .card-info .fields {
        font-size: 13px;
        color: #94a3b8;
        margin: 0;
    }

    .sb-profile-modern .sb-similar-container .price_tag {
        margin-top: auto;
        padding: 12px 16px;
        border-top: 1px solid #f1f5f9;
        display: block;
        background: #fcfdff;
    }

    .sb-profile-modern .sb-similar-container .price_tag>div {
        font-weight: 800;
        color: #2563eb;
        font-size: 18px;
        margin: 0;
    }

    /* Hide everything else */
    .sb-profile-modern .sb-similar-container .offer-task,
    .sb-profile-modern .sb-similar-container .offer-service,
    .sb-profile-modern .sb-similar-container .icons,
    .sb-profile-modern .sb-similar-container .nav-icons,
    .sb-profile-modern .sb-similar-container .card-info li[data-listing-id],
    .sb-profile-modern .sb-similar-container .card-info li.two-inline:not(.price_tag) {
        display: none;
    }

    .sb-profile-modern .sb-action-btn {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
        text-decoration: none;
        color: #64748b;
        transition: all 0.2s;
    }

    .sb-profile-modern .sb-action-btn i {
        font-size: 20px;
    }

    .sb-profile-modern .sb-action-btn span {
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .sb-profile-modern .sb-action-btn:hover {
        color: #0f172a;
        transform: translateY(-1px);
    }

    .sb-profile-modern .sb-action-btn.text-danger:hover {
        color: #ef4444;
    }

    /* Owner Controls Styling */
    .sb-owner-actions {
        background: #fdfdfd;
    }

    .sb-btn-outline-indigo {
        background: transparent;
        border: 1px solid #4f46e5;
        color: #4f46e5;
        padding: 12px;
        border-radius: 12px;
        font-weight: 700;
        font-size: 14px;
        text-align: center;
        transition: all 0.2s;
    }

    .sb-btn-outline-indigo:hover {
        background: #4f46e5;
        color: white;
        box-shadow: 0 4px 12px rgba(79, 70, 229, 0.2);
        text-decoration: none;
    }

    /* Reviews Section Styling */
    .sb-reviews-header {
        border-bottom: 2px solid #f1f5f9;
        padding-bottom: 20px;
    }

    .sb-rating-value {
        font-size: 32px;
        font-weight: 800;
        color: #0f172a;
    }

    .sb-stars-wrap i {
        font-size: 24px;
        color: #f59e0b;
    }

    /* Add Review Plate */
    .sb-add-review-plate {
        background: #eff6ff;
        border: 1px solid #dbeafe;
        border-radius: 16px;
        padding: 20px 24px;
    }

    .sb-plate-title {
        font-weight: 700;
        font-size: 16px;
        color: #1e40af;
        margin-bottom: 2px;
    }

    .sb-plate-desc {
        font-size: 13px;
        color: #60a5fa;
    }

    /* Empty State Reviews */
    .sb-empty-state-reviews {
        text-align: center;
        padding: 40px 20px;
        background: #f8fafc;
        border-radius: 20px;
        border: 2px dashed #e2e8f0;
    }

    .sb-empty-icon {
        font-size: 40px;
        color: #cbd5e1;
        margin-bottom: 16px;
    }

    .sb-empty-title {
        font-weight: 700;
        font-size: 18px;
        color: #475569;
        margin-bottom: 8px;
    }

    .sb-empty-text {
        font-size: 14px;
        color: #94a3b8;
        max-width: 300px;
        margin: 0 auto;
    }

    /* Modern Review Form Styling */
    .sb-modern-form-card {
        background: #fff;
        border: 1px solid #e2e8f0;
        border-radius: 16px;
        padding: 28px;
        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.04);
        margin-top: 20px;
    }

    .sb-form-grid {
        display: flex;
        gap: 16px;
        margin-bottom: 20px;
    }

    .sb-form-grid>div {
        flex: 1;
    }

    @media (max-width: 768px) {
        .sb-form-grid {
            flex-direction: column;
        }
    }

    .sb-input {
        display: block;
        width: 100%;
        height: auto;
        padding: 14px 18px;
        font-size: 15px;
        font-family: inherit;
        color: #1e293b;
        background-color: #fff;
        background-image: none;
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        box-shadow: none;
        transition: all 0.2s ease;
        outline: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }

    .sb-input:focus {
        border-color: #4f46e5;
        box-shadow: 0 0 0 4px rgba(79, 70, 229, 0.1);
        background-color: #fff;
    }

    .sb-input::placeholder {
        color: #94a3b8;
        opacity: 1;
    }

    .sb-rating-selector {
        margin-bottom: 20px;
    }

    .sb-star-btn {
        font-size: 28px;
        line-height: 1;
        color: #cbd5e1;
        cursor: pointer;
        transition: all 0.2s ease;
        user-select: none;
        display: inline-block;
    }

    .sb-star-btn.active,
    .sb-star-btn:hover,
    .sb-star-btn.hover {
        color: #fbbf24;
        transform: scale(1.1);
    }

    .sb-star-btn:hover~.sb-star-btn {
        color: #cbd5e1;
    }

    .sb-modern-form-card .sb-btn-indigo {
        background: #4f46e5;
        color: #fff;
        padding: 14px 32px;
        border-radius: 12px;
        font-weight: 700;
        font-size: 15px;
        border: none;
        box-shadow: 0 4px 6px -1px rgba(79, 70, 229, 0.2);
        cursor: pointer;
        transition: all 0.2s;
    }

    .sb-modern-form-card .sb-btn-indigo:hover {
        background: #4338ca;
        transform: translateY(-1px);
        box-shadow: 0 10px 15px -3px rgba(79, 70, 229, 0.3);
    }

    /* Review Card Enhancements */
    .sb-profile-modern .sb-comment-card {
        background: white;
        border: 1px solid #f1f5f9;
        border-radius: 16px;
        padding: 20px;
        transition: all 0.2s;
    }

    .sb-profile-modern .sb-comment-card:hover {
        border-color: #e2e8f0;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
    }

    .sb-profile-modern .sb-comment-author {
        font-weight: 700;
        color: #0f172a;
        font-size: 15px;
    }

    .sb-profile-modern .sb-comment-date {
        font-size: 12px;
        color: #94a3b8;
    }

    .sb-profile-modern .sb-comment-title {
        font-weight: 700;
        color: #1e293b;
        margin: 8px 0;
    }

    .sb-profile-modern .sb-comment-text {
        font-size: 14px;
        color: #475569;
        line-height: 1.6;
    }

    /* Global Cleanup - Final Suppression (ONLY on modern profile) */
    .sb-profile-modern #area_comments,
    .sb-profile-modern #area_description.tab_area,
    .sb-profile-modern #area_listing.tab_area,
    .sb-profile-modern .listing-details.details,
    .sb-profile-modern .main-section,
    .sb-profile-modern .content-section>.tabs,
    .sb-profile-modern .content-section>.tabs-hash,
    .sb-profile-modern .side_block.seller-short,
    .sb-profile-modern .side_block.seller-info,
    .sb-profile-modern .side_block.contact-owner,
    .sb-profile-modern section[class*="seller"],
    .sb-profile-modern section[class*="contact"],
    .sb-profile-modern #get_more_details,
    .sb-profile-modern aside.left.order-2 section.side_block,
    .sb-profile-modern #tab_comments,
    .sb-profile-modern #area_comments>.fieldset,
    .sb-profile-modern .sl_similar_listings.side_block {
        display: none;
    }

    /* Special handling for booking: hide it globally ONLY on modern profile, but show inside our target */
    .sb-profile-modern #area_booking {
        display: none !important;
    }

    .sb-profile-modern #booking_calendar_target #area_booking {
        display: block !important;
    }

    /* ================================================================
   MOBILE OPTIMIZATION (Final Touch)
================================================================ */

    @media screen and (max-width: 991px) {
        .sb-profile-modern {
            padding-top: 15px;
            padding-bottom: 80px;
            /* Space for fixed bar */
        }

        .sb-profile-header {
            margin-bottom: 24px;
            text-align: center;
        }

        .sb-h1-fake,
        .sb-profile-title {
            font-size: 24px;
            line-height: 1.15;
            font-weight: 800;
            letter-spacing: -0.02em;
            margin-top: 22px;
            margin-bottom: 12px;
        }

        .sb-profile-subtitle {
            font-size: 14px;
            display: block;
            padding: 0 10px;
        }

        /* Decision Panel Mobile */
        .sb-profile-modern .sb-decision-panel {
            position: static;
            padding: 20px;
            border-radius: 20px;
            margin-bottom: 24px;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
        }

        /* Hide redundant CTA buttons in the body on mobile, 
       since we have a better fixed bottom bar */
        .sb-cta-section,
        .contact-owner,
        .phone-block,
        .phone-block-fixed,
        .listing-phone,
        [id*="phone"],
        [class*="phone-block"],
        #get_more_details,
        .side_block.contact-owner,
        .sb-profile-modern .sb-cta-section {
            display: none;
            visibility: hidden;
            height: 0;
            margin: 0;
            padding: 0;
            overflow: hidden;
        }

        /* Suppress monetization and other legacy blocks */
        .side_block.monetize,
        .side_block.no-header.monetize,
        .side_block.statistics,
        .side_block.social-share {
            display: none;
        }

        /* Bottom Fixed Navigation Bar (Modern Redesign) */
        .booking-bar,
        .mobile-fixed-nav,
        .bottom-nav-fixed {
            position: fixed !important;
            bottom: 0 !important;
            left: 0 !important;
            width: 100% !important;
            height: 72px !important;
            background: rgba(255, 255, 255, 0.85) !important;
            backdrop-filter: blur(12px) !important;
            border-top: 1px solid rgba(226, 232, 240, 0.8) !important;
            display: flex !important;
            align-items: center !important;
            justify-content: space-around !important;
            z-index: 9999 !important;
            padding: 0 16px !important;
            box-shadow: 0 -10px 20px rgba(0, 0, 0, 0.05) !important;
        }

        .booking-bar .button,
        .booking-bar button,
        .bottom-nav-fixed .btn-book {
            background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
            color: white !important;
            border: none !important;
            border-radius: 14px !important;
            height: 48px !important;
            padding: 0 24px !important;
            font-weight: 700 !important;
            box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3) !important;
            text-transform: none !important;
            font-size: 15px !important;
        }

        /* Hide redundant text labels in bottom bar if they are ugly */
        .booking-bar span.text {
            display: none !important;
        }

        /* Info sections on mobile */
        .sb-description-card,
        .sb-profile-modern__location-card,
        .sb-booking-card {
            padding: 20px !important;
            border-radius: 16px !important;
        }

        .sb-location-info {
            flex-direction: row;
            align-items: flex-start;
            text-align: left;
            gap: 12px;
        }
    }

    @media screen and (min-width: 600px) and (max-width: 991px) {

        /* Two columns on tablets */
        .sb-similar-container ul.featured {
            grid-template-columns: repeat(2, 1fr);
        }
    }

    /* Fix for the breadcrumbs on mobile */
    @media screen and (max-width: 480px) {
        .sb-breadcrumb {
            justify-content: center;
        }

        .sb-breadcrumb li:not(:last-child)::after {
            margin: 0 6px;
        }
    }

    /* ============================================================
   TRUST TAGS вЂ” booking badge variant
   ============================================================ */
    .sb-profile-modern .sb-trust-tag--booking {
        background: #eff6ff !important;
        color: #1e3a8a !important;
        border: 1px solid #bfdbfe !important;
    }

    .sb-profile-modern .sb-trust-tag--booking i {
        color: #3b82f6 !important;
    }

    /* ============================================================
   PHONE FIELDS IN CHARACTERISTICS (details_modern.tpl)
   ============================================================ */

    /* РћР±С‘СЂС‚РєР° РѕС‚РєСЂС‹С‚РѕРіРѕ РЅРѕРјРµСЂР°: РЅРѕРјРµСЂ + РјРµСЃСЃРµРЅРґР¶РµСЂС‹ РІ СЂСЏРґ */
    .sb-profile-modern .sb-details-phone-wrap {
        display: flex;
        align-items: center;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* РЎСЃС‹Р»РєР° РѕС‚РєСЂС‹С‚РѕРіРѕ РЅРѕРјРµСЂР° */
    .sb-profile-modern .sb-details-phone-link {
        font-weight: 700;
        color: #0f172a;
        text-decoration: none;
        font-size: 15px;
        letter-spacing: 0.3px;
        transition: color 0.15s;
    }

    .sb-profile-modern .sb-details-phone-link:hover {
        color: #2563eb;
    }

    /* РљРЅРѕРїРєР° "РџРѕРєР°Р·Р°С‚СЊ РЅРѕРјРµСЂ" РґР»СЏ СЃРєСЂС‹С‚С‹С… С‚РµР»РµС„РѕРЅРѕРІ */
    .sb-profile-modern .sb-details-phone-hidden {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        background: #eff6ff;
        border: 1.5px solid #bfdbfe;
        border-radius: 10px;
        padding: 6px 16px;
        font-size: 13px;
        font-weight: 700;
        color: #1d4ed8;
        cursor: pointer;
        transition: all 0.2s ease;
        letter-spacing: 0.2px;
    }

    .sb-profile-modern .sb-details-phone-hidden:hover {
        background: #dbeafe;
        border-color: #93c5fd;
        transform: translateY(-1px);
        box-shadow: 0 4px 10px rgba(37, 99, 235, 0.15);
    }

    .sb-profile-modern .sb-details-phone-hidden i {
        font-size: 12px;
    }

    /* РЎСЃС‹Р»РєРё email / url РІ С…Р°СЂР°РєС‚РµСЂРёСЃС‚РёРєР°С… */
    .sb-profile-modern .sb-details-link {
        color: #2563eb;
        text-decoration: none;
        font-weight: 600;
        font-size: 14px;
        word-break: break-all;
        transition: color 0.15s;
    }

    .sb-profile-modern .sb-details-link:hover {
        color: #1d4ed8;
        text-decoration: underline;
    }

    /* ============================================================
   MESSENGER PANEL (moved from inline style in seller_modern.tpl)
   ============================================================ */

    /* РџР°РЅРµР»СЊ РјРµСЃСЃРµРЅРґР¶РµСЂРѕРІ РІ CTA СЃР°Р№РґР±Р°СЂР° */
    .sb-profile-modern .sb-messengers-panel {
        min-height: 0;
    }

    .sb-profile-modern .sb-messengers-panel .messenger-icons,
    .sb-profile-modern .sb-messengers-wrapper .messenger-icons {
        display: flex;
        gap: 12px;
        padding: 10px 14px;
        background: rgba(248, 250, 252, 0.9);
        border-radius: 12px;
        border: 1px solid #e2e8f0;
        flex-wrap: wrap;
        justify-content: center;
    }

    .sb-profile-modern .sb-messengers-panel .messenger-icons a,
    .sb-profile-modern .sb-messengers-wrapper .messenger-icons a {
        display: block;
        width: 32px;
        height: 32px;
        transition: transform 0.2s ease, filter 0.2s ease;
    }

    .sb-profile-modern .sb-messengers-panel .messenger-icons a:hover,
    .sb-profile-modern .sb-messengers-wrapper .messenger-icons a:hover {
        transform: scale(1.12);
        filter: brightness(1.1);
    }

    .sb-profile-modern .sb-messengers-panel .messenger-icons img,
    .sb-profile-modern .sb-messengers-wrapper .messenger-icons img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    /* РњРµСЃСЃРµРЅРґР¶РµСЂС‹ РІ Р±Р»РѕРєРµ С…Р°СЂР°РєС‚РµСЂРёСЃС‚РёРє (РєРѕРјРїР°РєС‚РЅРµРµ) */
    .sb-profile-modern .sb-details-phone-wrap .messenger-icons {
        display: flex;
        gap: 8px;
        padding: 0;
        background: transparent;
        border: none;
        border-radius: 0;
    }

    .sb-profile-modern .sb-details-phone-wrap .messenger-icons a {
        width: 26px;
        height: 26px;
    }

    /* ============================================================
   OWNER MANAGEMENT PANEL (.sb-owner-panel)
   ============================================================ */

    .sb-profile-modern .sb-owner-panel {
        background: #ffffff;
        border: 1px solid #e2e8f0;
        border-radius: 20px;
        padding: 20px 24px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
    }

    .sb-profile-modern .sb-owner-panel__header {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 11px;
        font-weight: 700;
        color: #94a3b8;
        text-transform: uppercase;
        letter-spacing: 0.07em;
        margin-bottom: 14px;
        padding-bottom: 12px;
        border-bottom: 1px solid #f1f5f9;
    }

    .sb-profile-modern .sb-owner-panel__header i {
        font-size: 14px;
        color: #cbd5e1;
    }

    .sb-profile-modern .sb-owner-panel__actions {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    /* РћСЃРЅРѕРІРЅР°СЏ РєРЅРѕРїРєР°-РґРµР№СЃС‚РІРёРµ (Р РµРґР°РєС‚РёСЂРѕРІР°С‚СЊ) */
    .sb-profile-modern .sb-owner-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 11px 16px;
        border-radius: 12px;
        font-size: 14px;
        font-weight: 600;
        text-decoration: none;
        transition: all 0.2s ease;
        border: 1.5px solid #6366f1;
        color: #4f46e5;
        background: #eef2ff;
        cursor: pointer;
        letter-spacing: 0.1px;
    }

    .sb-profile-modern .sb-owner-btn:hover {
        background: #e0e7ff;
        border-color: #4f46e5;
        color: #3730a3;
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(99, 102, 241, 0.2);
    }

    /* Р’С‚РѕСЂРёС‡РЅР°СЏ РєРЅРѕРїРєР° (РџСЂРѕРґР»РёС‚СЊ / РЈР»СѓС‡С€РёС‚СЊ) */
    .sb-profile-modern .sb-owner-btn--upgrade {
        background: transparent;
        color: #64748b;
        border-color: #e2e8f0;
    }

    .sb-profile-modern .sb-owner-btn--upgrade:hover {
        background: #f8fafc;
        border-color: #cbd5e1;
        color: #475569;
        transform: translateY(-1px);
        box-shadow: none;
    }

    /* РЎР»РѕС‚ Р°РЅР°Р»РёС‚РёРєРё вЂ” РЅРµРІРёРґРёРј РїРѕРєР° РїСѓСЃС‚РѕР№ */
    .sb-profile-modern .sb-owner-panel__stats:empty {
        display: none;
    }

    .sb-profile-modern .sb-owner-panel__stats {
        margin-top: 14px;
        padding-top: 14px;
        border-top: 1px solid #f1f5f9;
    }

    /* === Mobile Swiper === */
    .sb-mobile-swiper {
        position: relative;
        width: 100%;
        overflow: hidden;
        border-radius: 0;
        background: transparent;
        aspect-ratio: 4/3;
    }

    .sb-mobile-swiper-track {
        display: flex;
        width: 100%;
        height: 100%;
        transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        will-change: transform;
        cursor: grab;
    }

    .sb-mobile-swiper-track:active {
        cursor: grabbing;
    }

    .sb-mobile-swiper-slide {
        flex: 0 0 100%;
        width: 100%;
        height: 100%;
        position: relative;
        overflow: hidden;
    }

    .sb-mobile-swiper-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        pointer-events: none;
    }

    .sb-mobile-swiper-dots {
        position: absolute;
        bottom: 32px;
        left: 0;
        right: 0;
        display: flex;
        justify-content: center;
        gap: 6px;
        z-index: 10;
    }

    .sb-swiper-dot {
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.5);
        cursor: pointer;
        transition: background 0.2s, transform 0.2s;
    }

    .sb-swiper-dot.active {
        background: #fff;
        transform: scale(1.3);
    }

    .sb-mobile-swiper-counter {
        position: absolute;
        bottom: 10px;
        right: 14px;
        background: rgba(0, 0, 0, 0.45);
        color: #fff;
        font-size: 12px;
        font-weight: 600;
        padding: 2px 8px;
        border-radius: 20px;
        z-index: 10;
        font-family: 'Outfit', sans-serif;
    }

    /* Explicit display overrides in case Flynax template disables standard Bootstrap 3 classes */
    @media (min-width: 768px) {
        .sb-mobile-swiper {
            display: none;
        }
    }

    @media (max-width: 767px) {
        .sb-mosaic-grid {
            display: none;
        }

        .sb-mobile-swiper {
            display: block;
        }
    }

    /* Sticky Mobile Bottom Bar */
    .sb-mobile-bottom-bar {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        background: #ffffff;
        box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.05);
        padding: 12px 16px;
        padding-bottom: calc(12px + env(safe-area-inset-bottom, 0));
        display: flex;
        align-items: center;
        justify-content: space-between;
        z-index: 1000;
    }

    .sb-mobile-bar-price {
        flex: 1;
    }

    .sb-mobile-price-val {
        display: flex;
        flex-direction: column;
    }

    .sb-mobile-price-prefix {
        font-size: 11px;
        color: #64748b;
        font-weight: 500;
        text-transform: uppercase;
        line-height: 1;
        margin-bottom: 2px;
    }

    .sb-mobile-price-val .price-tag,
    .sb-mobile-price-val .sb-amount-negotiable {
        font-size: 18px;
        font-weight: 700;
        color: #0f172a;
        line-height: 1.1;
    }

    .sb-mobile-price-val .sb-amount-negotiable {
        color: #059669;
    }

    .sb-mobile-bar-actions {
        display: flex;
        gap: 8px;
    }

    .sb-mobile-bar-actions .sb-btn {
        width: 44px;
        height: 44px;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
    }

    .sb-mobile-bar-actions .sb-btn i {
        font-size: 18px;
        margin: 0;
    }

    /* Padding to body to prevent overlap */
    @media (max-width: 991px) {
        body {
            padding-bottom: 80px;
        }
    }

    /* Image rounding for mobile gallery and similar listings */
    @media (max-width: 991px) {

        .sb-mobile-swiper,
        .sb-mobile-swiper-slide img,
        #area_similar .sb-card__photo img,
        #area_similar .sb-card__photo,
        #area_similar .picture img,
        #area_similar .picture {
            border-radius: 12px;
            overflow: hidden;
        }
    }

    /* --- Mobile Sticky CTA Bar --- */
    .sb-mobile-sticky-bar {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 999;
        background: #ffffff;
        border-top: 1px solid #e2e8f0;
        box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.05);
        padding: 8px 14px calc(8px + env(safe-area-inset-bottom));
    }

    .sb-mobile-sticky-bar__inner {
        display: flex;
        align-items: center;
        width: 100%;
    }

    .sb-mobile-sticky-bar .sb-profile-modern {
        padding: 0;
        margin: 0;
    }

    .sb-mobile-sticky-bar .gap-2 {
        gap: 8px;
    }

    .sb-mobile-sticky-bar .sb-btn {
        flex: 1;
        /* By default, equal width for secondary buttons */
        white-space: nowrap;
        padding: 0 10px;
        height: 38px;
        font-size: 14px;
    }

    .sb-mobile-sticky-bar .sb-btn-primary-wide {
        flex: 2;
        /* Primary button takes twice the width */
    }

    .sb-mobile-sticky-bar .sb-btn-icon-only {
        flex: 0 0 38px;
        width: 38px;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .sb-mobile-sticky-bar .sb-btn-icon-only .fa-heart {
        font-size: 20px;
    }

    .sb-mobile-sticky-bar .favorite.remove .fa-heart,
    .sb-mobile-sticky-bar .favorite.added .fa-heart {
        font-weight: 900;
        color: #ef4444;
        /* red for favorite */
    }

    /* Ensure body doesn't hide content behind the sticky bar on mobile */
    @media (max-width: 991px) {
        article.sb-profile-modern {
            padding-bottom: 80px;
        }

        .sb-profile-actions .sb-btn-fav-round {
            display: none;
        }

        .sb-mobile-sticky-bar .contact-owner,
        .sb-mobile-sticky-bar .login {
            display: flex;
            visibility: visible;
        }

        .sb-mobile-sticky-bar .favorite {
            position: relative;
            right: auto;
            top: auto;
        }

        .sb-mobile-sticky-bar .sb-btn {
            display: flex;
            flex: 1;
            min-width: 0;
            padding: 0 8px;
            font-size: 13px;
            white-space: nowrap;
            height: 38px;
        }

        .sb-mobile-sticky-bar .sb-btn-icon-only {
            flex: 0 0 38px;
            width: 38px;
            padding: 0;
        }

        .sb-mobile-sticky-bar .sb-btn-primary-wide {
            flex: 1.2;
        }

        .sb-mobile-sticky-bar .booking-anchor,
        .sb-mobile-sticky-bar .sb-btn-primary,
        .sb-mobile-sticky-bar .sb-btn-primary-wide {
            background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
            color: #ffffff !important;
            border: none !important;
            box-shadow: 0 4px 12px rgba(37, 99, 235, 0.2) !important;
        }

        .sb-mobile-sticky-bar .booking-anchor:hover,
        .sb-mobile-sticky-bar .sb-btn-primary:hover,
        .sb-mobile-sticky-bar .sb-btn-primary-wide:hover {
            background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
            color: #ffffff !important;
            transform: translateY(-1px) !important;
            box-shadow: 0 6px 16px rgba(37, 99, 235, 0.39) !important;
        }

        .sb-mobile-sticky-bar .sb-btn i {
            margin-right: 4px;
        }

        .sb-mobile-sticky-bar .sb-btn span {
            overflow: hidden;
            text-overflow: ellipsis;
        }
    }

    /* === Mobile Fullscreen Gallery Overlay Fix === */
    .pswp,
    .fancybox-overlay,
    .fancybox-wrap,
    .fancybox-container,
    .fancybox__container,
    .fotorama--fullscreen,
    .fotorama-fullscreen-wrapper,
    .fotorama__wrap--fullscreen {
        z-index: 999999 !important;
        /* Higher than modern header (9999 !important) and drawer (99999) */
    }

    /* === Review Login Card === */
    .sb-review-login-card {
        background: #f8fafc;
        border: 1px dashed #cbd5e1;
        border-radius: 12px;
        padding: 30px 20px;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px;
        margin-top: 20px;
    }

    .sb-review-login-icon {
        font-size: 48px;
        color: #94a3b8;
    }

    .sb-review-login-text {
        font-size: 15px;
        color: #475569;
        font-weight: 500;
        max-width: 400px;
    }

    .sb-review-login-actions {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .sb-review-login-divider {
        font-size: 14px;
        color: #94a3b8;
    }

    /* === Location Details === */
    .sb-location-details summary {
        font-size: 14px;
        font-weight: 600;
        color: #3b82f6;
        cursor: pointer;
        user-select: none;
        outline: none;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        transition: color 0.2s;
    }

    .sb-location-details summary:hover {
        color: #2563eb;
    }

    .sb-location-details summary::marker,
    .sb-location-details summary::-webkit-details-marker {
        display: none;
    }

    .sb-location-details summary::before {
        content: '\f107';
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        transition: transform 0.2s ease;
    }

    .sb-location-details[open] summary::before {
        transform: rotate(180deg);
    }

    .sb-location-details summary .sb-details-hide {
        display: none;
    }

    .sb-location-details[open] summary .sb-details-show {
        display: none;
    }

    .sb-location-details[open] summary .sb-details-hide {
        display: inline;
    }

    /* === Location Details Block === */
    .sb-location-details-list {
        font-size: 13px;
        line-height: 1.4;
        padding: 12px;
        background: #f8fafc;
        border-radius: 8px;
        margin-bottom: 0;
    }

    .sb-location-details-item {
        display: flex;
        gap: 8px;
        margin-bottom: 4px;
    }

    .sb-location-details-item:last-child {
        margin-bottom: 0;
    }

    .sb-location-details-item dt {
        font-weight: 500;
        min-width: 90px;
        margin: 0;
        color: #64748b;
    }

    .sb-location-details-item dd {
        margin: 0;
        flex: 1;
        color: #1e293b;
    }

    .sb-location-details-item.exact-address {
        margin-top: 8px;
        padding-top: 8px;
        border-top: 1px dashed #cbd5e1;
    }

    .sb-location-details-item.exact-address dd {
        font-style: italic;
    }

    @media (max-width: 575px) {
        .sb-location-details-item {
            flex-direction: column;
            gap: 2px;
            margin-bottom: 8px;
        }

        .sb-location-details-item dt {
            min-width: auto;
        }
    }

    /* === Listing Labels Placeholder === */
    .listing_labels {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 15px;
    }

    .listing_labels:empty {
        display: none;
        margin-bottom: 0;
    }

    /* --- Formats & Location --- */
    .sb-formats-badges {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 20px;
    }

    .sb-format-badge {
        background: #f1f5f9;
        color: #475569;
        padding: 6px 12px;
        border-radius: 6px;
        font-size: 13px;
        font-weight: 600;
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }

    .sb-format-badge.active {
        background: #e0e7ff;
        color: #4f46e5;
    }

    .sb-location-section {
        padding-top: 20px;
        margin-top: 20px;
        border-top: 1px solid #e2e8f0;
    }

    .sb-formats-badges+.sb-location-section,
    .sb-profile-modern__location-card>.sb-location-section:first-child {
        padding-top: 0;
        margin-top: 0;
        border-top: none;
    }

    .sb-location-section-title {
        font-size: 15px;
        font-weight: 700;
        color: #1e293b;
        margin-bottom: 12px;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .sb-location-section-title i {
        color: #64748b;
        font-size: 16px;
        width: 20px;
        text-align: center;
    }

    .sb-service-areas-group {
        margin-top: 12px;
    }

    .sb-service-areas-label {
        font-size: 12px;
        font-weight: 600;
        color: #64748b;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        margin-bottom: 8px;
    }

    .sb-service-areas-list {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .sb-service-areas-item {
        background: #f8fafc;
        border: 1px solid #e2e8f0;
        color: #334155;
        padding: 4px 10px;
        border-radius: 6px;
        font-size: 13px;
        font-weight: 500;
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }

    .sb-service-areas-item .scope {
        color: #94a3b8;
        font-size: 12px;
        font-weight: 400;
    }

    /* === Listing Details Adaptive Title Sizing === */
    .sb-profile-title {
        font-size: 24px;
        /* default desktop */
        word-break: break-word;
    }

    @media (max-width: 991px) {
        .sb-profile-header {
            margin-bottom: 15px;
        }

        .sb-profile-modern h1.sb-profile-title {
            text-align: left;
            padding-right: 15px;
            /* prevent heart overlap */
        }

        .sb-profile-modern h1.sb-profile-title.sb-title-short {
            font-size: 22px;
            line-height: 1.3;
        }

        .sb-profile-modern h1.sb-profile-title.sb-title-medium {
            font-size: 20px;
            line-height: 1.3;
        }

        .sb-profile-modern h1.sb-profile-title.sb-title-long {
            font-size: 18px;
            line-height: 1.3;
        }
    }

    /* Mobile adjustments for Similar Listings */
    @media (max-width: 991px) {
        #area_similar {
            width: 100%;
        }

        #area_similar .sb-section-title {
            padding-left: 0;
            padding-right: 0;
        }

        #area_similar .sb-similar-container {
            width: 100%;
            overflow: hidden;
        }

        #area_similar .featured {
            padding: 0;
            margin: 0;
            display: flex;
            flex-direction: column;
        }

        #area_similar .featured>li {
            padding: 0;
            margin: 0 0 16px 0;
            width: 100%;
            max-width: 100%;
            flex: 0 0 100%;
        }

        #area_similar .featured>li .sb-similar-card-inner {
            border-radius: 0;
            border-left: none;
            border-right: none;
            margin-bottom: 10px;
        }

        /* Hide items beyond 3 */
        #area_similar:not(.show-all) .featured>li:nth-child(n+4) {
            display: none;
        }
    }

    /* === Call Owner & Booking Hint Styles === */
    .call-owner {
        cursor: pointer !important;
    }

    .call-owner * {
        pointer-events: none;
    }

    .sb-call-owner-wrapper,
    .sb-messengers-wrapper {
        position: relative;
        z-index: 100;
    }

    .sb-booking-hint {
        display: none;
        background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
        color: white;
        padding: 12px 20px;
        border-radius: 12px;
        font-weight: 600;
        font-size: 14px;
        position: absolute;
        top: -60px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 1000;
        box-shadow: 0 10px 15px -3px rgba(37, 99, 235, 0.3);
        white-space: nowrap;
    }

    .sb-booking-hint::after {
        content: '';
        position: absolute;
        bottom: -6px;
        left: 50%;
        transform: translateX(-50%);
        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        border-top: 6px solid #1d4ed8;
    }

    .pulsate {
        animation: sb-pulsate 2s infinite;
    }

    @keyframes sb-pulsate {
        0% {
            transform: translateX(-50%) scale(1);
        }

        50% {
            transform: translateX(-50%) scale(1.05);
        }

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

    #booking_calendar_target {
        position: relative;
    }

    /* === Mobile Swiper === */
    .sb-mobile-swiper {
        position: relative;
        width: 100%;
        aspect-ratio: 4 / 3;
        overflow: hidden;
        border-radius: 0;
        background: transparent;
    }

    .sb-mobile-swiper-track {
        position: absolute;
        inset: 0;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        /* Firefox */
        -webkit-overflow-scrolling: touch;
    }

    .sb-mobile-swiper-track::-webkit-scrollbar {
        display: none;
        /* Chrome/Safari */
    }

    .sb-mobile-swiper-slide {
        flex: 0 0 100%;
        width: 100%;
        height: 100%;
        position: relative;
        scroll-snap-align: start;
        overflow: hidden;
    }

    .sb-mobile-swiper-slide img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        pointer-events: none;
    }

    .sb-mobile-swiper-dots {
        position: absolute;
        bottom: 32px;
        left: 0;
        right: 0;
        display: flex;
        justify-content: center;
        gap: 6px;
        z-index: 10;
    }

    .sb-swiper-dot {
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.5);
        cursor: pointer;
        transition: background 0.2s, transform 0.2s;
    }

    .sb-swiper-dot.active {
        background: #fff;
        transform: scale(1.3);
    }

    .sb-mobile-swiper-counter {
        position: absolute;
        bottom: 10px;
        right: 14px;
        background: rgba(0, 0, 0, 0.45);
        color: #fff;
        font-size: 12px;
        font-weight: 600;
        padding: 2px 8px;
        border-radius: 20px;
        z-index: 10;
        font-family: 'Outfit', sans-serif;
    }

    /* Explicit display overrides with high specificity */
    @media (min-width: 768px) {
        body .sb-profile-modern .sb-mobile-swiper {
            display: none;
        }
    }

    @media (max-width: 767px) {
        body .sb-profile-modern .sb-mosaic-grid {
            display: none;
        }

        body .sb-profile-modern .sb-mobile-swiper {
            display: block;
        }

        body.view-details-page .inside-container {
            padding-top: 0;
        }

        .sb-profile-modern {
            padding-top: 0;
        }

        .sb-profile-modern>.container-fluid {
            padding-top: 0;
        }
    }

}