/*=========================================================
BOOKMYENERGY UI FRAMEWORK
=========================================================*/


/*
1. CSS Variables
2. Global Reset
3. Typography
4. Layout
5. Buttons
6. Forms
7. Cards
8. Modal
9. Utilities
*/

:root {
    /* Colors */
    --bme-primary: #94D12F;
    --bme-primary-dark: #6FA71B;
    --bme-secondary: #0D3B30;
    --bme-secondary-light: #175445;
    --bme-accent: #0EA5E9;
    --bme-text: #1E293B;
    --bme-text-light: #64748B;
    --bme-white: #ffffff;
    --bme-bg: #F8FAFC;
    --bme-border: #E5E7EB;
    /* Radius */
    --bme-radius-xs: 8px;
    --bme-radius-sm: 12px;
    --bme-radius-md: 18px;
    --bme-radius-lg: 26px;
    /* Shadows */
    --bme-shadow-sm: 0 8px 20px rgba(0, 0, 0, .05);
    --bme-shadow: 0 18px 40px rgba(0, 0, 0, .08);
    --bme-shadow-lg: 0 30px 70px rgba(0, 0, 0, .12);
    /* Transition */
    --bme-transition: .35s ease;
    /* Width */
    --bme-container: 1280px;
}


/*=========================================================
GLOBAL RESET
=========================================================*/


/* Better Box Model */

*,
*::before,
*::after {
    box-sizing: border-box;
}


/* Responsive Images */

img {
    max-width: 100%;
    height: auto;
    display: block;
}


/* Remove default spacing for lists we control */

.bme-list {
    margin: 0;
    padding: 0;
    list-style: none;
}


/* Smooth Scrolling */

html {
    scroll-behavior: smooth;
}


/* The parent TownHub theme's default body background is a dark navy,
   meant to be fully covered by section backgrounds. Any section that
   doesn't paint its own background lets that navy bleed through gaps
   (seen under the stats bar on the home page, and around the
   Similar Listings / Reviews sections on single listings). Setting
   it explicitly here fixes it at the source, site-wide. */

body {
    background: #ffffff;
}


/* Better Media Defaults */

video,
iframe {
    max-width: 100%;
}


/*=========================================================
TYPOGRAPHY
=========================================================*/


/*=========================================================
SECTION HEADING
=========================================================*/

.bme-section-header {
    margin-bottom: 48px;
}

.bme-section-subtitle {
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--bme-primary);
    margin-bottom: 12px;
}

.bme-section-title {
    font-size: 42px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--bme-secondary);
    margin: 0 0 16px;
}

.bme-section-description {
    max-width: 700px;
    font-size: 16px;
    line-height: 1.8;
    color: var(--bme-text-light);
}

.bme-text-center {
    text-align: center;
}

.bme-text-center .bme-section-description {
    margin: auto;
}

.bme-text-right {
    text-align: right;
}

.bme-text-right .bme-section-description {
    margin-left: auto;
}


/*=========================================================
LAYOUT
=========================================================*/

.bme-container {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
}

.bme-container-sm {
    max-width: 980px;
    margin: auto;
    padding: 0 20px;
}

.bme-section {
    padding: 90px 0;
}

.bme-section-lg {
    padding: 120px 0;
}

.bme-section-sm {
    padding: 60px 0;
}

.bme-page {
    background: var(--bme-bg);
    min-height: 100vh;
}

.bme-grid {
    display: grid;
    gap: 30px;
}

.bme-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.bme-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.bme-grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.bme-grid-auto {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
}

.bme-flex {
    display: flex;
}

.bme-flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
}

.bme-flex-between {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.bme-flex-column {
    display: flex;
    flex-direction: column;
}

.bme-section-title {
    font-size: 42px;
    font-weight: 700;
    color: var(--bme-secondary);
    margin-bottom: 16px;
    line-height: 1.2;
}

.bme-section-subtitle {
    color: var(--bme-primary);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 10px;
}

.bme-section-description {
    max-width: 700px;
    color: var(--bme-text-light);
    line-height: 1.8;
}


/*=========================================================
BUTTONS
=========================================================*/


/*=========================================================
FORMS
=========================================================*/


/*=========================================================
CARDS
=========================================================*/


/*=========================================================
MODALS
=========================================================*/


/*=========================================================
UTILITIES
=========================================================*/


/* =========================
   HERO SECTION
========================= */

.bme-hero {
    position: relative;
    min-height: 720px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: linear-gradient( 90deg, rgba(5, 25, 22, 0.96) 0%, rgba(5, 25, 22, 0.88) 45%, rgba(5, 25, 22, 0.45) 100%), url('../images/energy-hero.jpg') center/cover no-repeat;
    color: #ffffff;
}

.bme-hero-inner {
    position: relative;
    z-index: 2;
}

.bme-container {
    width: min(1200px, 90%);
    margin: 0 auto;
}

.bme-hero-content {
    max-width: 760px;
}

.bme-eyebrow {
    display: inline-flex;
    padding: 9px 16px;
    margin-bottom: 25px;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.4px;
}

.bme-hero h1 {
    margin: 0 0 24px;
    font-size: clamp(48px, 6vw, 76px);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -2px;
}

.bme-hero h1 span {
    display: block;
    color: #91c83e;
}

.bme-hero p {
    max-width: 650px;
    margin-bottom: 32px;
    font-size: 18px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.82);
}


/* Search */

.bme-search {
    display: flex;
    max-width: 720px;
    padding: 7px;
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.18);
}

.bme-search-field {
    flex: 1;
    display: flex;
    align-items: center;
}

.bme-search-icon {
    padding-left: 18px;
    color: #65736f;
    font-size: 22px;
}

.bme-search input {
    width: 100%;
    padding: 17px;
    border: none;
    outline: none;
    font-size: 15px;
    color: #182421;
}

.bme-search button {
    padding: 15px 32px;
    border: none;
    border-radius: 9px;
    background: #77b82a;
    color: #ffffff;
    font-weight: 600;
    cursor: pointer;
    transition: 0.3s ease;
}

.bme-search button:hover {
    background: #639c20;
}


/* Hero buttons */

.bme-hero-actions {
    display: flex;
    gap: 14px;
    margin-top: 28px;
}

.bme-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 24px;
    border-radius: 8px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: 0.3s ease;
}

.bme-btn-primary {
    background: #77b82a;
    color: #ffffff;
}

.bme-btn-primary:hover {
    background: #639c20;
    color: #ffffff;
}

.bme-btn-outline {
    border: 1px solid rgba(255, 255, 255, 0.5);
    color: #ffffff;
}

.bme-btn-outline:hover {
    background: #ffffff;
    color: #102621;
}


/* Responsive */

@media (max-width: 768px) {
    .bme-hero {
        min-height: 650px;
    }
    .bme-hero h1 {
        font-size: 45px;
    }
    .bme-search {
        flex-direction: column;
    }
    .bme-search button {
        width: 100%;
    }
    .bme-hero-actions {
        flex-direction: column;
    }
}


/* =========================
   STATS
========================= */

.bme-stats {
    position: relative;
    z-index: 6;
    background: transparent;
    margin-top: -46px;
}

.bme-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(13, 59, 48, 0.14);
}

.bme-stat {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 28px 22px;
    text-align: left;
    border-right: 1px solid #edf0ef;
}

.bme-stat:last-child {
    border-right: none;
}

.bme-stat-icon {
    flex-shrink: 0;
    width: 46px;
    height: 46px;
    border-radius: 13px;
    background: linear-gradient(135deg, #eaf5ec 0%, #dcf0dd 100%);
    color: #4b8f2c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.bme-stat strong {
    display: block;
    margin-bottom: 3px;
    font-size: 20px;
    color: #12352c;
}

.bme-stat>span:last-child {
    font-size: 13px;
    color: #78837f;
}

@media (max-width: 992px) {
    .bme-stats {
        margin-top: -30px;
    }
    .bme-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        border-radius: 16px;
    }
    .bme-stat {
        border-bottom: 1px solid #edf0ef;
    }
    .bme-stat:nth-child(2n) {
        border-right: none;
    }
}

@media (max-width: 560px) {
    .bme-stats-grid {
        grid-template-columns: 1fr;
    }
    .bme-stat {
        border-right: none !important;
    }
}


/* =========================
   SECTORS
========================= */

.bme-sectors {
    padding: 100px 0;
    background: #f7f9f8;
}

.bme-section-heading {
    max-width: 650px;
    margin-bottom: 50px;
}

.bme-section-heading>span {
    color: #76ad32;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.3px;
}

.bme-section-heading h2 {
    margin: 10px 0 15px;
    font-size: 42px;
    color: #12352c;
}

.bme-section-heading p {
    font-size: 16px;
    line-height: 1.7;
    color: #6e7c77;
}

.bme-sector-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.bme-sector-card {
    padding: 32px;
    background: #ffffff;
    border: 1px solid #e7ebe9;
    border-radius: 14px;
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bme-sector-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 50px rgba(18, 53, 44, 0.10);
}

.bme-sector-icon {
    width: 55px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    background: #eef7e5;
    border-radius: 12px;
    font-size: 26px;
    color: #74a92f;
}

.bme-sector-card h3 {
    margin-bottom: 12px;
    font-size: 20px;
    color: #16372f;
}

.bme-sector-card p {
    min-height: 65px;
    font-size: 14px;
    line-height: 1.6;
    color: #76817d;
}

.bme-sector-card span {
    display: block;
    margin-top: 20px;
    font-size: 14px;
    font-weight: 600;
    color: #6fa92b;
}

@media (max-width: 992px) {
    .bme-sector-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .bme-sector-grid {
        grid-template-columns: 1fr;
    }
}


/* ========================================
   FEATURED LISTINGS
======================================== */

.bme-featured-listings {
    padding: 100px 0;
    background: #ffffff;
}


/* Section Header */

.bme-featured-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 50px;
}

.bme-featured-header .bme-section-heading {
    margin-bottom: 0;
}

.bme-view-all {
    flex-shrink: 0;
    padding: 13px 22px;
    border: 1px solid #dce4e0;
    border-radius: 8px;
    color: #16372f;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: 0.3s ease;
}

.bme-view-all:hover {
    background: #16372f;
    border-color: #16372f;
    color: #ffffff;
}


/* Listings Grid */

.bme-listings-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
}


/* Listing Card */

.bme-listing-card {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e5ebe8;
    border-radius: 14px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bme-listing-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 45px rgba(16, 53, 44, 0.10);
}


/* Listing Image */

.bme-listing-image {
    position: relative;
    display: block;
    height: 230px;
    overflow: hidden;
    background: #edf2ef;
}

.bme-listing-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.bme-listing-card:hover .bme-listing-image img {
    transform: scale(1.05);
}


/* Placeholder */

.bme-listing-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient( 135deg, #173a31, #255a4b);
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
}


/* Badge */

.bme-listing-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    padding: 7px 11px;
    background: #79b92b;
    color: #ffffff;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
}


/* Card Content */

.bme-listing-body {
    padding: 24px;
}

.bme-listing-category {
    margin-bottom: 10px;
    color: #79ad35;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.7px;
}

.bme-listing-body h3 {
    margin: 0 0 12px;
    font-size: 20px;
    line-height: 1.35;
}

.bme-listing-body h3 a {
    color: #15382f;
    text-decoration: none;
    transition: color 0.3s ease;
}

.bme-listing-body h3 a:hover {
    color: #77ad34;
}


/* Location */

.bme-listing-location {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 14px;
    color: #74807c;
    font-size: 13px;
}


/* Description */

.bme-listing-description {
    min-height: 65px;
    color: #77827e;
    font-size: 14px;
    line-height: 1.6;
}


/* Card Footer */

.bme-listing-footer {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #edf0ef;
}

.bme-listing-link {
    color: #6da72a;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
}

.bme-listing-link:hover {
    color: #15382f;
}


/* No Listings */

.bme-no-listings {
    padding: 60px;
    background: #f7f9f8;
    border-radius: 14px;
    text-align: center;
}


/* Responsive */

@media (max-width: 992px) {
    .bme-listings-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .bme-featured-header {
        display: block;
    }
    .bme-view-all {
        display: inline-block;
        margin-top: 25px;
    }
}

@media (max-width: 600px) {
    .bme-listings-grid {
        grid-template-columns: 1fr;
    }
}


/* ========================================
   WHY BOOKMYENERGY
======================================== */

.bme-why {
    padding: 110px 0;
    background: #0c2f27;
    color: #ffffff;
}

.bme-why-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: 100px;
    align-items: center;
}


/* Left Content */

.bme-section-label {
    display: inline-block;
    margin-bottom: 18px;
    color: #91c83e;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.bme-why-content h2 {
    max-width: 500px;
    margin: 0 0 25px;
    font-size: 44px;
    line-height: 1.15;
    color: #ffffff;
}

.bme-why-content h2 span {
    color: #91c83e;
}

.bme-why-intro {
    max-width: 520px;
    margin-bottom: 32px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 16px;
    line-height: 1.8;
}


/* Button */

.bme-dark-btn {
    display: inline-flex;
    padding: 14px 23px;
    background: #91c83e;
    border-radius: 7px;
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: 0.3s ease;
}

.bme-dark-btn:hover {
    background: #ffffff;
    color: #12352c;
}


/* Feature Grid */

.bme-why-features {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    overflow: hidden;
}

.bme-why-item {
    display: flex;
    gap: 20px;
    padding: 35px;
    background: #123a30;
}

.bme-why-number {
    flex-shrink: 0;
    color: #91c83e;
    font-size: 13px;
    font-weight: 700;
}

.bme-why-item h3 {
    margin: 0 0 10px;
    color: #ffffff;
    font-size: 19px;
}

.bme-why-item p {
    margin: 0;
    color: rgba(255, 255, 255, 0.65);
    font-size: 13px;
    line-height: 1.7;
}


/* Responsive */

@media (max-width: 900px) {
    .bme-why-layout {
        grid-template-columns: 1fr;
        gap: 60px;
    }
}

@media (max-width: 600px) {
    .bme-why-features {
        grid-template-columns: 1fr;
    }
    .bme-why-content h2 {
        font-size: 36px;
    }
}


/* ========================================
   BUSINESS CTA
======================================== */

.bme-business-cta {
    padding: 100px 0;
    background: #f6f8f7;
}


/* Main CTA Box */

.bme-business-cta-box {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    gap: 80px;
    align-items: center;
    padding: 70px;
    overflow: hidden;
    background: linear-gradient( 135deg, #163b31 0%, #0c2d26 100%);
    border-radius: 20px;
    color: #ffffff;
}


/* Decorative background */

.bme-business-cta-box::before {
    content: "";
    position: absolute;
    width: 350px;
    height: 350px;
    top: -180px;
    right: -100px;
    border-radius: 50%;
    background: rgba(145, 200, 62, 0.08);
}

.bme-business-cta-box::after {
    content: "";
    position: absolute;
    width: 250px;
    height: 250px;
    bottom: -160px;
    left: 40%;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.04);
}


/* Keep content above decoration */

.bme-business-cta-content,
.bme-cta-benefits {
    position: relative;
    z-index: 2;
}


/* CTA Label */

.bme-cta-label {
    display: inline-block;
    margin-bottom: 18px;
    color: #91c83e;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}


/* Heading */

.bme-business-cta-content h2 {
    max-width: 600px;
    margin: 0 0 22px;
    color: #ffffff;
    font-size: 42px;
    line-height: 1.15;
}

.bme-business-cta-content h2 span {
    color: #91c83e;
}


/* Description */

.bme-business-cta-content>p {
    max-width: 570px;
    margin: 0;
    color: rgba(255, 255, 255, 0.7);
    font-size: 15px;
    line-height: 1.8;
}


/* CTA Buttons */

.bme-cta-actions {
    display: flex;
    gap: 12px;
    margin-top: 30px;
}

.bme-cta-primary,
.bme-cta-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 22px;
    border-radius: 7px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition: 0.3s ease;
}

.bme-cta-primary {
    background: #91c83e;
    color: #ffffff;
}

.bme-cta-primary:hover {
    background: #ffffff;
    color: #14372f;
}

.bme-cta-secondary {
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #ffffff;
}

.bme-cta-secondary:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
}


/* Benefits */

.bme-cta-benefits {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.bme-cta-benefit {
    display: flex;
    gap: 15px;
    padding: 20px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
}


/* Check icon */

.bme-check {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(145, 200, 62, 0.15);
    border-radius: 50%;
    color: #91c83e;
    font-size: 14px;
    font-weight: 700;
}


/* Benefit text */

.bme-cta-benefit strong {
    display: block;
    margin-bottom: 5px;
    color: #ffffff;
    font-size: 14px;
}

.bme-cta-benefit p {
    margin: 0;
    color: rgba(255, 255, 255, 0.6);
    font-size: 12px;
    line-height: 1.6;
}


/* Responsive */

@media (max-width: 900px) {
    .bme-business-cta-box {
        grid-template-columns: 1fr;
        gap: 50px;
        padding: 50px;
    }
}

@media (max-width: 600px) {
    .bme-business-cta {
        padding: 70px 0;
    }
    .bme-business-cta-box {
        padding: 35px 25px;
    }
    .bme-business-cta-content h2 {
        font-size: 34px;
    }
    .bme-cta-actions {
        flex-direction: column;
    }
}


/* ========================================
   LATEST NEWS
======================================== */

.bme-news {
    padding: 110px 0;
    background: #ffffff;
}


/* Header */

.bme-news-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 50px;
}

.bme-news-header .bme-section-heading {
    margin-bottom: 0;
}


/* News Grid */

.bme-news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
}


/* News Card */

.bme-news-card {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e5ebe8;
    border-radius: 14px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bme-news-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 45px rgba(16, 53, 44, 0.09);
}


/* News Image */

.bme-news-image {
    display: block;
    height: 240px;
    overflow: hidden;
    background: #edf2ef;
}

.bme-news-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.bme-news-card:hover .bme-news-image img {
    transform: scale(1.05);
}


/* Placeholder */

.bme-news-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient( 135deg, #12382f, #24594a);
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
}


/* News Content */

.bme-news-content {
    padding: 25px;
}


/* Meta */

.bme-news-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
}

.bme-news-category {
    color: #78ad35;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.bme-news-date {
    position: relative;
    padding-left: 12px;
    color: #909a96;
    font-size: 11px;
}

.bme-news-date::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 3px;
    height: 3px;
    background: #b2bab7;
    border-radius: 50%;
    transform: translateY(-50%);
}


/* Title */

.bme-news-content h3 {
    margin: 0 0 14px;
    font-size: 20px;
    line-height: 1.4;
}

.bme-news-content h3 a {
    color: #14382f;
    text-decoration: none;
    transition: color 0.3s ease;
}

.bme-news-content h3 a:hover {
    color: #79ad36;
}


/* Excerpt */

.bme-news-content p {
    min-height: 68px;
    margin: 0;
    color: #76827e;
    font-size: 13px;
    line-height: 1.7;
}


/* Read More */

.bme-news-link {
    display: inline-block;
    margin-top: 22px;
    color: #6ea82c;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition: color 0.3s ease;
}

.bme-news-link:hover {
    color: #14382f;
}


/* Empty State */

.bme-news-empty {
    padding: 60px;
    background: #f7f9f8;
    border-radius: 14px;
    text-align: center;
}


/* Responsive */

@media (max-width: 992px) {
    .bme-news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .bme-news-header {
        display: block;
    }
    .bme-news-header .bme-view-all {
        display: inline-block;
        margin-top: 25px;
    }
}

@media (max-width: 600px) {
    .bme-news {
        padding: 70px 0;
    }
    .bme-news-grid {
        grid-template-columns: 1fr;
    }
    .bme-news-image {
        height: 220px;
    }
}


/* ========================================
   EVENTS
======================================== */

.bme-events {
    padding: 110px 0;
    background: #f6f8f7;
}


/* Header */

.bme-events-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 50px;
}

.bme-events-header .bme-section-heading {
    margin-bottom: 0;
}


/* Events Grid */

.bme-events-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
}

.bme-events-grid .bme-event-card {
    flex: 0 1 360px;
}


/* Event Card */

.bme-event-card {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e4eae7;
    border-radius: 14px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bme-event-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 45px rgba(16, 53, 44, 0.09);
}


/* Image */

.bme-event-image {
    display: block;
    height: 230px;
    overflow: hidden;
    background: #e9efec;
}

.bme-event-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.bme-event-card:hover .bme-event-image img {
    transform: scale(1.05);
}


/* Placeholder */

.bme-event-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient( 135deg, #12382f, #23594a);
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
}


/* Content */

.bme-event-content {
    padding: 25px;
}


/* Label */

.bme-event-label {
    display: inline-block;
    margin-bottom: 12px;
    color: #78ad35;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}


/* Title */

.bme-event-content h3 {
    margin: 0 0 15px;
    font-size: 20px;
    line-height: 1.4;
}

.bme-event-content h3 a {
    color: #14382f;
    text-decoration: none;
    transition: color 0.3s ease;
}

.bme-event-content h3 a:hover {
    color: #79ad36;
}


/* Event Information */

.bme-event-info {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 15px;
}

.bme-event-info div {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #7c8783;
    font-size: 12px;
}

.bme-event-info div span {
    color: #79ad36;
}


/* Description */

.bme-event-content>p {
    min-height: 65px;
    margin: 0;
    color: #76827e;
    font-size: 13px;
    line-height: 1.7;
}


/* Event Link */

.bme-event-link {
    display: inline-block;
    margin-top: 22px;
    color: #6fa82d;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
}

.bme-event-link:hover {
    color: #14382f;
}


/* Empty Events */

.bme-events-empty {
    padding: 60px 30px;
    background: #ffffff;
    border: 1px solid #e5ebe8;
    border-radius: 14px;
    text-align: center;
}

.bme-events-empty-icon {
    width: 55px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    background: #eef7e5;
    border-radius: 50%;
    color: #78ad35;
    font-size: 22px;
}

.bme-events-empty h3 {
    color: #14382f;
}

.bme-events-empty p {
    color: #78837f;
}


/* Responsive */

@media (max-width: 992px) {
    .bme-events-grid .bme-event-card {
        flex-basis: calc(50% - 13px);
    }
}

@media (max-width: 768px) {
    .bme-events-header {
        display: block;
    }
    .bme-events-header .bme-view-all {
        display: inline-block;
        margin-top: 25px;
    }
}

@media (max-width: 600px) {
    .bme-events {
        padding: 70px 0;
    }
    .bme-events-grid .bme-event-card {
        flex-basis: 100%;
    }
}


/* ========================================
   TRUST / PLATFORM BENEFITS
======================================== */

.bme-trust {
    padding: 110px 0;
    background: #ffffff;
}


/* Main Layout */

.bme-trust-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 90px;
    align-items: center;
}


/* Left Content */

.bme-trust-content h2 {
    max-width: 520px;
    margin: 0 0 22px;
    color: #14382f;
    font-size: 44px;
    line-height: 1.15;
}

.bme-trust-content h2 span {
    display: block;
    color: #83ba36;
}

.bme-trust-content>p {
    max-width: 530px;
    margin: 0;
    color: #73807b;
    font-size: 15px;
    line-height: 1.8;
}


/* Button */

.bme-trust-btn {
    display: inline-flex;
    margin-top: 30px;
    padding: 14px 22px;
    background: #14382f;
    border-radius: 7px;
    color: #ffffff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition: 0.3s ease;
}

.bme-trust-btn:hover {
    background: #83ba36;
    color: #ffffff;
}


/* Features */

.bme-trust-features {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}


/* Feature Card */

.bme-trust-card {
    display: flex;
    gap: 17px;
    padding: 28px;
    background: #f7f9f8;
    border: 1px solid #e5ebe8;
    border-radius: 12px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bme-trust-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 35px rgba(18, 53, 44, 0.08);
}


/* Icon */

.bme-trust-icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eaf4df;
    border-radius: 10px;
    color: #79ad35;
    font-size: 17px;
    font-weight: 700;
}


/* Card Text */

.bme-trust-card h3 {
    margin: 0 0 8px;
    color: #14382f;
    font-size: 16px;
}

.bme-trust-card p {
    margin: 0;
    color: #77827e;
    font-size: 12px;
    line-height: 1.7;
}


/* Bottom Trust Bar */

.bme-trust-bar {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 80px;
    border-top: 1px solid #e5ebe8;
    border-bottom: 1px solid #e5ebe8;
}

.bme-trust-bar-item {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 24px;
    border-right: 1px solid #e5ebe8;
}

.bme-trust-bar-item:last-child {
    border-right: none;
}

.bme-trust-bar-item span {
    color: #83ba36;
    font-size: 11px;
    font-weight: 700;
}

.bme-trust-bar-item strong {
    color: #183a32;
    font-size: 13px;
    font-weight: 600;
}


/* Responsive */

@media (max-width: 900px) {
    .bme-trust-wrapper {
        grid-template-columns: 1fr;
        gap: 60px;
    }
    .bme-trust-bar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .bme-trust {
        padding: 70px 0;
    }
    .bme-trust-content h2 {
        font-size: 36px;
    }
    .bme-trust-features {
        grid-template-columns: 1fr;
    }
    .bme-trust-bar {
        grid-template-columns: 1fr;
    }
    .bme-trust-bar-item {
        border-right: none;
        border-bottom: 1px solid #e5ebe8;
    }
}


/* ========================================
   CUSTOM BOOKMYENERGY FOOTER
======================================== */

.bme-footer {
    padding-top: 80px;
    background: #092b24;
    color: #ffffff;
}


/* Main Footer */

.bme-footer-main {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) repeat(3, minmax(0, 1fr));
    gap: 60px;
    padding-bottom: 60px;
}


/* Brand */

.bme-footer-logo {
    display: inline-block;
    margin-bottom: 22px;
    color: #91c83e;
    text-decoration: none;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.5px;
}

.bme-footer-logo span {
    color: #ffffff;
}

.bme-footer-brand p {
    max-width: 350px;
    margin: 0 0 25px;
    color: rgba(255, 255, 255, 0.6);
    font-size: 13px;
    line-height: 1.8;
}

.bme-footer-contact a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    font-size: 13px;
}

.bme-footer-contact a:hover {
    color: #91c83e;
}


/* Footer Columns */

.bme-footer-column h4 {
    margin: 0 0 22px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
}

.bme-footer-column ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.bme-footer-column li {
    margin-bottom: 12px;
}

.bme-footer-column a {
    color: rgba(255, 255, 255, 0.55);
    text-decoration: none;
    font-size: 12px;
    transition: color 0.3s ease;
}

.bme-footer-column a:hover {
    color: #91c83e;
}


/* Newsletter */

.bme-footer-newsletter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
    padding: 35px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.bme-footer-newsletter>div {
    flex-shrink: 0;
}

.bme-footer-newsletter span {
    display: block;
    margin-bottom: 7px;
    color: #91c83e;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.2px;
}

.bme-footer-newsletter h3 {
    margin: 0;
    color: #ffffff;
    font-size: 18px;
}


/* Newsletter Form */

.bme-footer-form {
    display: flex;
    width: 100%;
    max-width: 500px;
    padding: 5px;
    background: #ffffff;
    border-radius: 8px;
}

.bme-footer-form input {
    flex: 1;
    min-width: 0;
    padding: 12px 15px;
    border: none;
    outline: none;
    color: #183a32;
    font-size: 12px;
}

.bme-footer-form button {
    padding: 12px 20px;
    border: none;
    background: #91c83e;
    border-radius: 6px;
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease;
}

.bme-footer-form button:hover {
    background: #75a92e;
}


/* Bottom Footer */

.bme-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 25px 0;
}

.bme-footer-bottom p {
    margin: 0;
    color: rgba(255, 255, 255, 0.4);
    font-size: 11px;
}

.bme-footer-bottom-links {
    display: flex;
    gap: 25px;
}

.bme-footer-bottom-links a {
    color: rgba(255, 255, 255, 0.45);
    text-decoration: none;
    font-size: 11px;
}

.bme-footer-bottom-links a:hover {
    color: #91c83e;
}


/* Responsive */

@media (max-width: 992px) {
    .bme-footer-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .bme-footer-newsletter {
        flex-direction: column;
        align-items: flex-start;
    }
    .bme-footer-form {
        max-width: 100%;
    }
}

@media (max-width: 600px) {
    .bme-footer {
        padding-top: 60px;
    }
    .bme-footer-main {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .bme-footer-form {
        flex-direction: column;
        background: transparent;
        padding: 0;
    }
    .bme-footer-form input {
        padding: 15px;
        border-radius: 7px;
        background: #ffffff;
    }
    .bme-footer-form button {
        margin-top: 8px;
        padding: 15px;
    }
    .bme-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }
}


/* ================================================================
   BOOKMYENERGY HEADER (CONSOLIDATED)
   Single source of truth for header colors + layout.
   Replaces: "TOWNHUB HEADER", "BOOKMYENERGY PREMIUM HEADER",
   "MOBILE HEADER", "FINAL HEADER COLOR FIX", "RIGHT HEADER AREA",
   "ADD LISTING BUTTON", "FINAL FIX - TOWNHUB RIGHT HEADER BLUE
   BACKGROUND", and the old "1. DESKTOP HEADER FIX" block further
   down the file. All of those targeted the header at different
   times and had started overriding one another - this block is
   the only place header CSS should live from now on.
================================================================ */


/* ---- Base header shell ---- */

.main-header,
.main-header .header-inner {
    background-color: #0b3028 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 4px 25px rgba(0, 0, 0, 0.08);
}


/* THE ACTUAL BLUE BLOCK:
   TownHub's core theme paints a decorative background directly on
   header#masthead's own ::before pseudo-element (confirmed via
   inspector: header.main-header.dark-header...::before,
   background #3D528B). This is not a child element, so none of the
   rules below (which target children like the search/lang/wishlist
   wrappers) could ever catch it. Kill it here directly. */

.main-header::before,
.main-header::after {
    background: transparent !important;
    background-color: transparent !important;
    content: none !important;
}


/* Neutralise any leftover TownHub panel backgrounds inside the
   header (search overlay, opt buttons, user menu / wishlist
   wrappers). This is what was showing as the "blue block" on the
   right side of the header - TownHub's own theme colors it, our
   overrides never matched those elements' real class names. */

.main-header .header-search_container,
.main-header .header-search,
.main-header .header-search-wrap,
.main-header .header-opt_btn,
.main-header .header-opt_btn-item,
.main-header .header-opt-modal-container,
.main-header .header-modal-container,
.main-header .header-user-menu,
.main-header .header-user-menu-wrap,
.main-header .header-right,
.main-header .header-right-wrap,
.main-header .header-right-side,
.main-header .header-controls,
.main-header .header-options {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border-color: transparent !important;
}


/* ---- Search dropdown panel ----
   Confirmed via inspector: div.header-search_container.header-search
   .vis-head-search. Making the OUTER container transparent (above)
   wasn't enough - the blue comes from a CHILD wrapper inside it
   (.hero-inputs-wrap / .filter_form_hero, part of the search widget
   markup), which carries its own background regardless of the
   parent. Give the panel its own dark-green background and restyle
   the pill inputs so they match the header instead of clashing. */

.main-header .header-search_container {
    background: #0b3028 !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.main-header .header-search_container .hero-inputs-wrap,
.main-header .header-search_container .filter_form_hero,
.main-header .header-search_container [class*="azp-element-"] {
    background: transparent !important;
    box-shadow: none !important;
}

.main-header .header-search_container .filter-item-inner {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 30px !important;
    min-height: 46px !important;
    display: flex !important;
    align-items: center !important;
}

.main-header .header-search_container .filter-item-inner input,
.main-header .header-search_container .filter-item-inner .nice-select .current {
    color: #ffffff !important;
}

.main-header .header-search_container .filter-item-inner input::placeholder {
    color: rgba(255, 255, 255, 0.55) !important;
}

.main-header .header-search_container .flabel-icon i,
.main-header .header-search_container .get-current-city i,
.main-header .header-search_container .autoplace-clear-input i {
    color: rgba(255, 255, 255, 0.6) !important;
}


/* Category field ("All Categories") uses a JS-replaced dropdown
   ("nice-select") that ships with its own default light theme -
   that's why it looked like a lighter, differently-sized block next
   to the other two pills. Force it to match. */

.main-header .header-search_container .nice-select {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 30px !important;
    color: #ffffff !important;
    min-height: 46px !important;
    line-height: 44px !important;
    display: flex !important;
    align-items: center !important;
}

.main-header .header-search_container .nice-select .current {
    color: #ffffff !important;
}

.main-header .header-search_container .nice-select::after {
    border-bottom: 2px solid #ffffff !important;
    border-right: 2px solid #ffffff !important;
}

.main-header .header-search_container .nice-select .list {
    background: #0b3028 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 10px !important;
}

.main-header .header-search_container .nice-select .option {
    color: rgba(255, 255, 255, 0.85) !important;
}

.main-header .header-search_container .nice-select .option:hover,
.main-header .header-search_container .nice-select .option.selected {
    background: rgba(145, 200, 62, 0.15) !important;
    color: #91c83e !important;
}

.main-header .header-search_container .main-search-button {
    background: #91c83e !important;
    border: none !important;
    border-radius: 30px !important;
    color: #ffffff !important;
}

.main-header .header-search_container .main-search-button:hover {
    background: #79ad35 !important;
}


/* ---- Logo ----
   position is forced to relative/static at EVERY width, not just
   desktop. Previously this reset only existed inside a
   min-width:1201px query, so on any narrower screen the logo fell
   back to TownHub's default positioning and visually "jumped up". */

.main-header .logo-holder,
.main-header .logo-holder .custom-logo-link {
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    flex: 0 0 auto !important;
    margin-right: 30px !important;
}


/* Target the real logo classes (.custom-logo-link / .custom-logo)
   directly, not just "img inside logo-holder" - more robust against
   any other markup TownHub might render in there (e.g. site title
   text fallback). Also guards against lazyload plugins leaving the
   image at opacity:0 after the "loaded" class is added. */

.main-header .logo-holder img,
.main-header .logo-holder img.custom-logo {
    max-height: 46px !important;
    width: auto !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    margin: 0 !important;
    vertical-align: middle !important;
    align-items: center !important;
}


/* ---- Main navigation links ---- */

.main-menu nav>ul>li>a {
    color: rgba(255, 255, 255, 0.85) !important;
    font-weight: 500;
    font-size: 13px;
    transition: color 0.3s ease;
}

.main-menu nav>ul>li>a:hover,
.main-menu nav>ul>li.current-menu-item>a,
.main-menu nav>ul>li.current-menu-parent>a {
    color: #91c83e !important;
}

.main-menu nav ul li ul {
    padding: 10px !important;
    background: #ffffff !important;
    border: 1px solid #edf0ee !important;
    border-radius: 10px !important;
    box-shadow: 0 15px 45px rgba(8, 45, 36, 0.15) !important;
}

.main-menu nav ul li ul li a {
    padding: 11px 14px !important;
    color: #173a31 !important;
    border-radius: 6px;
    font-size: 12px;
    transition: background 0.3s ease, color 0.3s ease;
}

.main-menu nav ul li ul li a:hover {
    background: #f1f7ed !important;
    color: #79ad35 !important;
}


/* ---- Search toggle ----
   Real markup is <div class="header-search_btn show-search-button">
   - the old CSS only had "header-search-button" (hyphen), which
   never matched. Targeting both classes below to be safe. */

.header-search_btn,
.show-search-button {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 30px !important;
    box-shadow: none !important;
    transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease !important;
}

.header-search_btn:hover,
.show-search-button:hover {
    background: rgba(145, 200, 62, 0.15) !important;
    border-color: rgba(145, 200, 62, 0.4) !important;
    color: #91c83e !important;
}

.header-search_btn i,
.show-search-button i {
    color: #91c83e !important;
}


/* ---- Add Listing button ---- */

.main-header .add-list {
    padding-left: 20px !important;
    padding-right: 20px !important;
    background: #91c83e !important;
    border: 1px solid #91c83e !important;
    border-radius: 7px !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    box-shadow: 0 5px 15px rgba(145, 200, 62, 0.18) !important;
    transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease !important;
}

.main-header .add-list:hover {
    background: #79ad35 !important;
    border-color: #79ad35 !important;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(145, 200, 62, 0.25) !important;
}


/* ---- Wishlist heart ----
   Real markup is .cart-btn.bookmark-header-btn, not ".wishlist-link"
   (that class doesn't exist in the current header). Keeping
   .wishlist-link too in case a logged-in template uses it. */

.main-header .cart-btn.bookmark-header-btn,
.main-header .wishlist-link {
    color: #ffffff !important;
    background: transparent !important;
    transition: color 0.3s ease, transform 0.3s ease;
}

.main-header .cart-btn.bookmark-header-btn:hover,
.main-header .wishlist-link:hover {
    color: #91c83e !important;
    transform: translateY(-1px);
}


/* ---- Sign In / logged-in user name ----
   Logged-out markup uses .show-reg-form ("Sign In"). Logged-in
   TownHub templates use .header-user-name - kept both. */

.main-header .show-reg-form,
.main-header .header-user-name {
    color: #ffffff !important;
    background: transparent !important;
    transition: color 0.3s ease;
}

.main-header .show-reg-form:hover,
.main-header .header-user-name:hover {
    color: #91c83e !important;
}


/* ---- Language widget ----
   Real markup is the #custom_html-2 widget's .lang-wrap, not
   ".header-lang" (which doesn't exist in the current header). */

.main-header .lang-wrap,
.main-header .header-lang {
    color: rgba(255, 255, 255, 0.85) !important;
    background: transparent !important;
}

.main-header .lang-wrap .show-lang,
.main-header .header-lang a,
.main-header .header-lang span {
    color: rgba(255, 255, 255, 0.85) !important;
}

.main-header .lang-wrap .show-lang:hover {
    color: #91c83e !important;
}


/* ---- Hamburger (mobile nav toggle) ---- */

.main-header .nav-button-wrap {
    background: transparent !important;
}

.main-header .nav-button span {
    background: #ffffff !important;
}


/* ================================================================
   RESPONSIVE HEADER LAYOUT
   One shared breakpoint (1200px) for every layout rule below.
   Previously the desktop fix only kicked in at min-width:1201px
   while the old "mobile" rule only handled max-width:1064px -
   that 1065-1200px gap (and everything under 1064px) had no real
   layout fix at all, which is why the header broke on smaller
   screens.
================================================================ */

@media (min-width: 1201px) {
    header.main-header,
    .main-header {
        height: 80px !important;
        min-height: 80px !important;
    }
    .main-header .header-inner,
    .main-header .container,
    .main-header .header-inner-wrap {
        height: 80px !important;
        display: flex !important;
        align-items: center !important;
    }
    .main-header .header-search_btn,
    .main-header .show-search-button {
        flex-shrink: 0 !important;
    }
    .main-header .header-search_container {
        flex: 0 0 100% !important;
        order: 99 !important;
    }
    .main-header .nav-holder {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        height: 80px !important;
        display: flex !important;
        align-items: center !important;
        margin-left: auto !important;
        margin-right: 20px !important;
        float: none !important;
        clear: none !important;
    }
    .main-header .nav-holder nav {
        height: 80px !important;
        display: flex !important;
        align-items: center !important;
    }
    .main-header .nav-holder nav>ul {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        height: 80px !important;
        margin: 0 !important;
        padding: 0 !important;
        white-space: nowrap !important;
    }
    .main-header .nav-holder nav>ul>li {
        float: none !important;
        display: flex !important;
        align-items: center !important;
        height: 80px !important;
        margin: 0 14px !important;
        padding: 0 !important;
        position: relative;
    }
    .main-header .nav-holder nav>ul>li>a {
        height: 80px !important;
        line-height: 80px !important;
        padding: 0 !important;
        margin: 0 !important;
        display: block !important;
        white-space: nowrap !important;
    }
    .main-header .nav-button-wrap {
        display: none !important;
    }
}

@media (max-width: 1200px) {
    header.main-header,
    .main-header {
        height: 64px !important;
        min-height: 64px !important;
    }
    .main-header .header-inner,
    .main-header .container,
    .main-header .header-inner-wrap {
        height: 64px !important;
        display: flex !important;
        align-items: center !important;
    }
    .main-header .logo-holder {
        margin-right: auto !important;
        align-items: center !important;
    }
    .main-header .logo-holder img {
        max-height: 34px;
        align-items: center !important;
    }
    .main-header .header-search_container {
        top: 64px !important;
    }
    .main-header .nav-holder {
        display: none !important;
    }
    .main-header .nav-button-wrap {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        display: flex !important;
        align-items: center !important;
    }
}


/* ==================================================
   BOOKMYENERGY MARKETPLACE
================================================== */


/*
 * Desktop marketplace:
 * Hide TownHub's permanent split-screen map.
 * We can later provide map view as an optional toggle.
 */

.post-type-archive-listing .map-container.column-map,
.post-type-archive-listing .listings-has-map.column-map {
    display: none !important;
}


/* Give listings full width */

.post-type-archive-listing .col-list-wrap,
.post-type-archive-listing .col-list-wrap.left-list,
.post-type-archive-listing .col-list-wrap.right-list {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* Main marketplace background */

.post-type-archive-listing .listings-grid-wrap {
    background: #f7f9f8;
}


/* ==================================================
   MARKETPLACE FILTER AREA
================================================== */

.post-type-archive-listing .listsearch-options {
    background: #ffffff !important;
    border-bottom: 1px solid #e6ebe8;
    box-shadow: none !important;
}

.post-type-archive-listing .listsearch-header {
    padding-top: 30px;
    padding-bottom: 20px;
}

.post-type-archive-listing .head-sec-title {
    color: #12382f !important;
    font-size: 28px !important;
    font-weight: 700 !important;
}


/* Filter inputs */

.post-type-archive-listing .listsearch-input-item {
    border: 1px solid #e1e8e4 !important;
    border-radius: 8px !important;
    background: #f8faf9 !important;
}

.post-type-archive-listing .listsearch-input-item input {
    color: #173a31 !important;
}


/* Search button */

.post-type-archive-listing .listsearch-options button,
.post-type-archive-listing .listsearch-options .search-submit {
    background: #91c83e !important;
    border-radius: 7px !important;
    color: #ffffff !important;
}

.post-type-archive-listing .listsearch-options button:hover {
    background: #76aa30 !important;
}


/* ==================================================
   MARKETPLACE RESULTS
================================================== */

.post-type-archive-listing .list-main-wrap {
    padding-top: 60px;
    padding-bottom: 90px;
    background: #f7f9f8 !important;
}

.post-type-archive-listing .list-main-wrap>.container {
    max-width: 1280px;
}


/* ==================================================
   MARKETPLACE PAGINATION
================================================== */

.post-type-archive-listing .pagination {
    margin-top: 50px;
}

.post-type-archive-listing .pagination a,
.post-type-archive-listing .pagination span {
    border-radius: 7px !important;
    border: 1px solid #e1e8e4 !important;
    background: #ffffff !important;
    color: #14382f !important;
}

.post-type-archive-listing .pagination .current {
    background: #91c83e !important;
    border-color: #91c83e !important;
    color: #ffffff !important;
}


/* ==========================================================
   BME LISTINGS PAGE - FINAL LAYOUT FIX
   ========================================================== */


/* ==========================================
   1. REMOVE PERMANENT TOWNHUB MAP
========================================== */

.map-container.listings-has-map.column-map,
.map-container.column-map,
#map-main.main-map-ele {
    display: none !important;
}


/* ==========================================
   2. RESTORE FULL WIDTH LISTING AREA
========================================== */

.col-list-wrap,
.col-list-wrap.left-list,
.col-list-wrap.right-list,
.listings-grid-wrap,
.list-main-wrap {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* Prevent TownHub map layout spacing */

.listings-has-map+.col-list-wrap,
.listings-grid-wrap {
    padding-right: 0 !important;
}


/* ==========================================
   3. PAGE BACKGROUND
========================================== */

.list-main-wrap {
    background: #f6f8f7 !important;
    padding-top: 55px !important;
    padding-bottom: 90px !important;
}


/* Main content width */

.list-main-wrap .container {
    width: 92% !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* ==========================================================
   BME PREMIUM LISTING CARDS
========================================================== */


/* Individual grid item */

.listing-item.listing-item-loop {
    margin-bottom: 30px !important;
}


/* Main card */

.listing-item-loop .geodir-category-listing {
    position: relative;
    overflow: hidden;
    height: 100%;
    background: #ffffff !important;
    border: 1px solid #e3ebe7 !important;
    border-radius: 16px !important;
    box-shadow: 0 3px 8px rgba(12, 47, 39, 0.02), 0 8px 24px rgba(12, 47, 39, 0.04) !important;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease !important;
}


/* Hover */

.listing-item-loop .geodir-category-listing:hover {
    transform: translateY(-7px);
    border-color: rgba(145, 200, 62, 0.55) !important;
    box-shadow: 0 12px 25px rgba(12, 47, 39, 0.07), 0 25px 55px rgba(12, 47, 39, 0.10) !important;
}


/* ==========================================================
   LISTING IMAGE
========================================================== */

.listing-item-loop .geodir-category-img {
    position: relative;
    height: 230px !important;
    overflow: hidden;
    border-radius: 16px 16px 0 0 !important;
}

.listing-item-loop .listing-thumb-link {
    display: block;
    height: 100%;
}

.listing-item-loop .geodir-category-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.6s ease !important;
}

.listing-item-loop .geodir-category-listing:hover .geodir-category-img img {
    transform: scale(1.06);
}


/* Softer image overlay */

.listing-item-loop .geodir-category-img .overlay {
    background: linear-gradient( to top, rgba(8, 38, 31, 0.45), rgba(8, 38, 31, 0.02) 60%) !important;
}


/* ==========================================================
   FEATURED BADGE
========================================================== */

.listing-item-loop .listing-featured {
    top: 16px !important;
    left: 16px !important;
    padding: 7px 12px !important;
    background: #91c83e !important;
    color: #ffffff !important;
    border-radius: 6px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: none !important;
}


/* ==========================================================
   OPEN STATUS
========================================================== */

.listing-item-loop .geodir_status_date {
    top: 16px !important;
    right: 16px !important;
    padding: 7px 12px !important;
    background: rgba(12, 47, 39, 0.90) !important;
    color: #ffffff !important;
    border-radius: 30px !important;
    font-size: 10px !important;
    backdrop-filter: blur(6px);
}

.listing-item-loop .geodir_status_date i {
    color: #91c83e !important;
}


/* ==========================================================
   SAVE BUTTON
========================================================== */

.listing-item-loop .save-btn {
    width: 38px !important;
    height: 38px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: rgba(12, 47, 39, 0.85) !important;
    border-radius: 50% !important;
    color: #ffffff !important;
    backdrop-filter: blur(5px);
}

.listing-item-loop .save-btn:hover {
    background: #91c83e !important;
}

.listing-item-loop .save-btn span {
    display: none !important;
}


/* ==========================================================
   CARD CONTENT
========================================================== */

.listing-item-loop .geodir-category-content {
    padding: 24px !important;
}


/* Company name */

.listing-item-loop .geodir-category-content-title-item h3 {
    margin-bottom: 9px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.listing-item-loop .geodir-category-content-title-item h3 a {
    color: #12382f !important;
}

.listing-item-loop .geodir-category-content-title-item h3 a:hover {
    color: #79ad35 !important;
}


/* Verified icon */

.listing-item-loop .verified-badge {
    color: #91c83e !important;
}


/* ==========================================================
   LOCATION
========================================================== */

.listing-item-loop .geodir-category-location {
    margin-top: 5px !important;
}

.listing-item-loop .geodir-category-location a {
    color: #77837e !important;
    font-size: 11px !important;
    line-height: 1.6;
}

.listing-item-loop .geodir-category-location i {
    margin-right: 6px;
    color: #91c83e !important;
}


/* ==========================================================
   FACILITIES
========================================================== */

.listing-item-loop .facilities-list {
    margin-top: 20px !important;
    padding-top: 18px !important;
    border-top: 1px solid #edf1ef !important;
}

.listing-item-loop .facilities-list-title {
    color: #14382f !important;
    font-size: 11px !important;
    font-weight: 600 !important;
}

.listing-item-loop .facilities-list li a {
    color: #78918a !important;
    transition: color 0.3s ease;
}

.listing-item-loop .facilities-list li a:hover {
    color: #91c83e !important;
}


/* ==========================================================
   CARD FOOTER
========================================================== */

.listing-item-loop .geodir-category-footer {
    padding-top: 16px !important;
    border-top: 1px solid #edf1ef !important;
}


/* Category */

.listing-item-loop .listing-item-category {
    background: #eaf5df !important;
    color: #79ad35 !important;
}

.listing-item-loop .listing-item-category-wrap span {
    color: #66766f !important;
    font-size: 11px !important;
}


/* Website / contact icons */

.listing-item-loop .geodir-opt-list a {
    color: #82908a !important;
    transition: color 0.3s ease;
}

.listing-item-loop .geodir-opt-list a:hover {
    color: #91c83e !important;
}


/* =========================================================
   BME FINAL OVERRIDES
   LISTINGS PAGE
   (Header rules now live in the consolidated header block above)
   Keep this at the VERY END of bme-main.css
========================================================= */


/* =========================================================
   2. LISTING PAGE BACKGROUND
========================================================= */

.listing-list-wrap,
.listing-items-wrap,
.listing-list-container {
    background: #f5f8f7 !important;
}


/* =========================================================
   3. ACTUAL LISTING GRID
   Parent confirmed:
   #listing-items.listing-items.listing-items-wrapper
========================================================= */

#listing-items.listing-items.listing-items-wrapper {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 26px !important;
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 35px 30px 55px !important;
    box-sizing: border-box !important;
}


/* Reset TownHub card column/float behavior */

#listing-items>.listing-item.listing-item-loop {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
}


/* =========================================================
   4. PREMIUM LISTING CARD
========================================================= */

#listing-items .listing-item-loop .geodir-category-listing {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border: 1px solid #e4ebe7 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 12px rgba(15, 61, 48, 0.04), 0 12px 28px rgba(15, 61, 48, 0.06) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
}

#listing-items .listing-item-loop .geodir-category-listing:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(142, 203, 45, 0.55) !important;
    box-shadow: 0 10px 20px rgba(15, 61, 48, 0.08), 0 22px 45px rgba(15, 61, 48, 0.12) !important;
}


/* =========================================================
   5. CARD IMAGE
========================================================= */

#listing-items .listing-item-loop .geodir-category-img {
    position: relative !important;
    width: 100% !important;
    height: 210px !important;
    min-height: 210px !important;
    overflow: hidden !important;
    background: #eaf1ed !important;
}

#listing-items .listing-item-loop .geodir-category-img-wrap {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
}

#listing-items .listing-item-loop .geodir-category-img-wrap img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
    transition: transform 0.5s ease !important;
}

#listing-items .listing-item-loop .geodir-category-listing:hover .geodir-category-img-wrap img {
    transform: scale(1.04) !important;
}


/* Image overlay */

#listing-items .listing-item-loop .geodir-category-img .overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient( to bottom, rgba(5, 35, 27, 0.02), rgba(5, 35, 27, 0.16)) !important;
    pointer-events: none !important;
}


/* =========================================================
   6. FEATURED BADGE
========================================================= */

#listing-items .listing-featured {
    position: absolute !important;
    top: 15px !important;
    left: 15px !important;
    z-index: 5 !important;
    background: #8ecb2d !important;
    color: #ffffff !important;
    padding: 7px 12px !important;
    border-radius: 7px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.6px !important;
    text-transform: uppercase !important;
    box-shadow: 0 5px 15px rgba(91, 148, 20, 0.22) !important;
}


/* =========================================================
   7. SAVE / HEART BUTTON
========================================================= */

#listing-items .geodir-js-favorite_btn {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    z-index: 10 !important;
}

#listing-items .geodir-js-favorite_btn .save-btn {
    width: 38px !important;
    height: 38px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(8, 55, 43, 0.88) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 50% !important;
    color: #ffffff !important;
    backdrop-filter: blur(8px) !important;
}

#listing-items .geodir-js-favorite_btn .save-btn span {
    display: none !important;
}


/* =========================================================
   8. OPEN / CLOSED STATUS
========================================================= */

#listing-items .geodir_status_date {
    position: absolute !important;
    top: 15px !important;
    right: 62px !important;
    left: auto !important;
    width: auto !important;
    max-width: max-content !important;
    display: inline-flex !important;
    align-items: center !important;
    z-index: 6 !important;
    padding: 7px 11px !important;
    border-radius: 20px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

#listing-items .geodir_status_date.lstatus-opening {
    background: #0f8b68 !important;
}

#listing-items .geodir_status_date.lstatus-closed {
    background: #e25362 !important;
}


/* =========================================================
   9. COMPANY LOGO / AVATAR
========================================================= */

#listing-items .listing-avatar {
    position: absolute !important;
    right: 20px !important;
    bottom: -34px !important;
    width: 68px !important;
    height: 68px !important;
    z-index: 8 !important;
}

#listing-items .listing-avatar>a {
    width: 68px !important;
    height: 68px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ffffff !important;
    border: 4px solid #ffffff !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    box-shadow: 0 7px 20px rgba(8, 55, 43, 0.16) !important;
}

#listing-items .listing-avatar img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    border-radius: 9px !important;
    background: #ffffff !important;
}


/* =========================================================
   10. CARD CONTENT
========================================================= */

#listing-items .geodir-category-content {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 25px 22px 0 !important;
    background: #ffffff !important;
}


/* Title */

#listing-items .title-sin_map {
    margin: 0 80px 8px 0 !important;
    font-size: 17px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}

#listing-items .title-sin_map a {
    color: #103f33 !important;
    text-decoration: none !important;
}

#listing-items .title-sin_map a:hover {
    color: #79b921 !important;
}


/* Verified badge */

#listing-items .verified-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    margin-left: 5px !important;
    border-radius: 50% !important;
    background: #e8f6d8 !important;
    color: #72b81d !important;
    font-size: 9px !important;
}


/* Location */

#listing-items .geodir-category-location {
    margin-bottom: 18px !important;
}

#listing-items .geodir-category-location a {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    color: #7a8b84 !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
}

#listing-items .geodir-category-location i {
    margin-right: 6px !important;
    color: #8ecb2d !important;
}


/* =========================================================
   11. FACILITIES
========================================================= */

#listing-items .facilities-list {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 15px 0 !important;
    border-top: 1px solid #edf1ef !important;
}

#listing-items .facilities-list-title {
    color: #425c53 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

#listing-items .facilities-list ul {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    row-gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    max-height: 29px !important;
}

#listing-items .facilities-list li {
    margin: 0 !important;
    flex-shrink: 0 !important;
}


/* Only show first 4 facility items, hide the rest to keep the card tidy */

#listing-items .facilities-list li:nth-child(n+5) {
    display: none !important;
}

#listing-items .facilities-list li a {
    min-width: 29px !important;
    height: 29px !important;
    max-width: 120px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 8px !important;
    border-radius: 7px !important;
    background: #f2f8ed !important;
    color: #73b722 !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    transition: all 0.2s ease !important;
}

#listing-items .facilities-list li a:hover {
    background: #8ecb2d !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}


/* =========================================================
   12. CARD FOOTER
========================================================= */

#listing-items .geodir-category-footer {
    width: calc(100% + 44px) !important;
    margin-left: -22px !important;
    margin-top: auto !important;
    padding: 14px 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: #f8fbf9 !important;
    border-top: 1px solid #e8eeeb !important;
    box-sizing: border-box !important;
}


/* Category footer — handle listings with multiple categories */

#listing-items .listing-item-category-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #466057 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

#listing-items .listing-cats-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    overflow: hidden !important;
    flex: 1 !important;
    min-width: 0 !important;
}

#listing-items .listing-cats-wrap>a.listing-item-category-wrap {
    flex-shrink: 0 !important;
}


/* Show only the first category chip, hide the rest to keep the footer tidy */

#listing-items .listing-cats-wrap>a.listing-item-category-wrap:nth-of-type(n+2) {
    display: none !important;
}

#listing-items .listing-item-category-wrap span {
    padding: 5px 10px !important;
    background: #eaf5df !important;
    color: #79ad35 !important;
    border-radius: 20px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 140px !important;
}


/* Facilities — hide any icon chip where no icon was assigned in admin */

#listing-items .facilities-list li a i:empty {
    display: none !important;
}

#listing-items .facilities-list li:has(a i:empty) {
    display: none !important;
}

#listing-items .listing-item-category {
    width: 31px !important;
    height: 31px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    background: #e8f6d8 !important;
    color: #75b923 !important;
}


/* Website / email icons */

#listing-items .geodir-opt-list ul {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#listing-items .geodir-opt-list li {
    margin: 0 !important;
}

#listing-items .geodir-opt-list li>a,
#listing-items .geodir-opt-list .dynamic-gal {
    width: 31px !important;
    height: 31px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #e1e9e5 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #678078 !important;
    transition: all 0.2s ease !important;
}

#listing-items .geodir-opt-list li>a:hover,
#listing-items .geodir-opt-list .dynamic-gal:hover {
    background: #103f33 !important;
    border-color: #103f33 !important;
    color: #ffffff !important;
}


/* =========================================================
   13. SALE BADGE
========================================================= */

#listing-items .lcard-saleoff {
    position: absolute !important;
    left: 15px !important;
    bottom: 15px !important;
    z-index: 6 !important;
}

#listing-items .saleoff-inner {
    padding: 6px 10px !important;
    border-radius: 6px !important;
    background: rgba(16, 63, 51, 0.9) !important;
    color: #ffffff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
}


/* =========================================================
   14. RATINGS
========================================================= */

#listing-items .geodir-category-opt {
    position: absolute !important;
    right: 15px !important;
    bottom: 15px !important;
    left: auto !important;
    width: auto !important;
    display: inline-flex !important;
    z-index: 7 !important;
}

#listing-items .listing-rating-count-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 6px 10px !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.95) !important;
    color: #12382f !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    backdrop-filter: blur(6px) !important;
}

#listing-items .listing-rating-count-wrap i,
#listing-items .listing-rating-count-wrap svg {
    color: #f4b400 !important;
}


/* =========================================================
   15. RESPONSIVE GRID
========================================================= */


/* Medium desktop/tablet */

@media (max-width: 1200px) {
    #listing-items.listing-items.listing-items-wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 22px !important;
        padding: 30px 22px 45px !important;
    }
}


/* Mobile */

@media (max-width: 767px) {
    #listing-items.listing-items.listing-items-wrapper {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 20px !important;
        padding: 25px 15px 40px !important;
    }
    #listing-items .listing-item-loop .geodir-category-img {
        height: 200px !important;
        min-height: 200px !important;
    }
    #listing-items .geodir-category-content {
        padding: 23px 18px 0 !important;
    }
    #listing-items .geodir-category-footer {
        width: calc(100% + 36px) !important;
        margin-left: -18px !important;
        padding: 13px 17px !important;
    }
}


/* =========================================================
   BOOKMYENERGY ABOUT PAGE
========================================================= */

.bme-about-page {
    background: #ffffff;
    color: #103f33;
}


/* =========================================================
   ABOUT HERO
========================================================= */

.bme-about-hero {
    position: relative;
    overflow: hidden;
    padding: 150px 0 110px;
    background: radial-gradient( circle at 85% 20%, rgba(142, 203, 45, 0.13), transparent 32%), linear-gradient( 135deg, #073b30 0%, #0b493b 55%, #073b30 100%);
    color: #ffffff;
}

.bme-about-hero>.bme-container {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 80px;
    align-items: center;
}

.bme-about-hero-content {
    max-width: 650px;
}

.bme-about-eyebrow {
    display: inline-block;
    margin-bottom: 22px;
    color: #9ad63b;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
}

.bme-about-hero h1 {
    margin: 0 0 25px;
    color: #ffffff;
    font-size: clamp(48px, 5vw, 72px);
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: -2px;
}

.bme-about-hero h1 span {
    display: block;
    color: #91cf32;
}

.bme-about-hero-content>p {
    max-width: 590px;
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 17px;
    line-height: 1.8;
}

.bme-about-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 35px;
}

.bme-about-hero .bme-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 24px;
    border-radius: 7px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    transition: all 0.3s ease;
}

.bme-about-hero .bme-btn-primary {
    background: #91cf32;
    color: #073b30;
}

.bme-about-hero .bme-btn-primary:hover {
    background: #a4df45;
    transform: translateY(-2px);
}

.bme-about-hero .bme-btn-outline {
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.04);
    color: #ffffff;
}

.bme-about-hero .bme-btn-outline:hover {
    border-color: #91cf32;
    color: #91cf32;
}


/* Decorative circles */

.bme-about-hero-glow {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.bme-about-hero-glow-one {
    width: 450px;
    height: 450px;
    right: -180px;
    top: -220px;
    background: rgba(145, 207, 50, 0.07);
}

.bme-about-hero-glow-two {
    width: 300px;
    height: 300px;
    left: 35%;
    bottom: -220px;
    border: 1px solid rgba(255, 255, 255, 0.07);
}


/* =========================================================
   HERO ECOSYSTEM VISUAL
========================================================= */

.bme-about-hero-visual {
    display: flex;
    justify-content: flex-end;
}

.bme-about-network-card {
    width: 100%;
    max-width: 500px;
    padding: 36px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.055);
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.15);
    backdrop-filter: blur(10px);
}

.network-label {
    display: block;
    margin-bottom: 28px;
    color: #91cf32;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.network-center {
    padding: 28px 20px;
    margin-bottom: 22px;
    text-align: center;
    border: 1px solid rgba(145, 207, 50, 0.3);
    border-radius: 14px;
    background: rgba(145, 207, 50, 0.08);
}

.network-center strong {
    display: block;
    margin-bottom: 7px;
    color: #ffffff;
    font-size: 24px;
}

.network-center span {
    color: rgba(255, 255, 255, 0.62);
    font-size: 12px;
}

.network-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.network-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.04);
}

.network-item span {
    display: flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(145, 207, 50, 0.13);
    color: #91cf32;
    font-size: 17px;
}

.network-item strong {
    color: #ffffff;
    font-size: 13px;
}


/* =========================================================
   ABOUT INTRO
========================================================= */

.bme-about-intro {
    padding: 110px 0;
    background: #ffffff;
}

.bme-about-intro-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 100px;
}

.bme-section-label {
    display: block;
    margin-bottom: 15px;
    color: #7fbd27;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.6px;
}

.bme-about-intro-heading h2,
.bme-about-section-heading h2,
.bme-about-why-content h2,
.bme-about-cta-content h2 {
    margin: 0;
    color: #103f33;
    font-size: clamp(34px, 4vw, 50px);
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -1.2px;
}

.bme-about-intro-heading h2 span,
.bme-about-section-heading h2 span,
.bme-about-why-content h2 span {
    color: #83c328;
}

.bme-about-intro-content p {
    margin: 0 0 20px;
    color: #687b74;
    font-size: 15px;
    line-height: 1.85;
}

.bme-about-intro-content .intro-lead {
    color: #294f44;
    font-size: 18px;
    font-weight: 500;
}


/* =========================================================
   MISSION & VISION
========================================================= */

.bme-mission-vision {
    padding: 0 0 110px;
    background: #ffffff;
}

.bme-mv-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.bme-mv-card {
    position: relative;
    overflow: hidden;
    min-height: 390px;
    padding: 45px;
    border-radius: 18px;
}

.bme-mission-card {
    background: #f3f7f5;
    border: 1px solid #e3ebe7;
}

.bme-vision-card {
    background: #0b4336;
    color: #ffffff;
}

.bme-mv-number {
    position: absolute;
    right: 25px;
    top: 15px;
    font-size: 90px;
    line-height: 1;
    font-weight: 700;
    opacity: 0.06;
}

.bme-mv-icon {
    display: flex;
    width: 52px;
    height: 52px;
    align-items: center;
    justify-content: center;
    margin-bottom: 35px;
    border-radius: 12px;
    background: #e5f3d8;
    color: #76b820;
    font-size: 22px;
}

.bme-vision-card .bme-mv-icon {
    background: rgba(145, 207, 50, 0.12);
}

.bme-mv-card>span {
    display: block;
    margin-bottom: 13px;
    color: #82bf2c;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.bme-mv-card h3 {
    max-width: 470px;
    margin: 0 0 18px;
    color: #103f33;
    font-size: 29px;
    line-height: 1.25;
}

.bme-vision-card h3 {
    color: #ffffff;
}

.bme-mv-card p {
    max-width: 520px;
    margin: 0;
    color: #71827c;
    font-size: 14px;
    line-height: 1.8;
}

.bme-vision-card p {
    color: rgba(255, 255, 255, 0.68);
}


/* =========================================================
   ENERGY ECOSYSTEM
========================================================= */

.bme-about-ecosystem {
    padding: 110px 0;
    background: #f5f8f7;
}

.bme-about-section-heading {
    max-width: 700px;
    margin-bottom: 55px;
}

.bme-about-section-heading p {
    max-width: 580px;
    margin-top: 18px;
    color: #74837e;
    font-size: 14px;
    line-height: 1.75;
}

.bme-ecosystem-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.bme-ecosystem-card {
    position: relative;
    padding: 30px;
    min-height: 300px;
    background: #ffffff;
    border: 1px solid #e2e9e5;
    border-radius: 14px;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.bme-ecosystem-card:hover {
    transform: translateY(-7px);
    border-color: rgba(131, 195, 40, 0.5);
    box-shadow: 0 18px 40px rgba(13, 62, 49, 0.08);
}

.bme-ecosystem-icon {
    display: flex;
    width: 50px;
    height: 50px;
    align-items: center;
    justify-content: center;
    margin-bottom: 35px;
    border-radius: 11px;
    background: #edf7e4;
    color: #7dbd25;
    font-size: 20px;
}

.bme-ecosystem-card h3 {
    margin: 0 0 12px;
    color: #103f33;
    font-size: 19px;
}

.bme-ecosystem-card p {
    margin: 0 0 28px;
    color: #7a8883;
    font-size: 13px;
    line-height: 1.7;
}

.bme-ecosystem-card a {
    position: absolute;
    left: 30px;
    bottom: 27px;
    color: #72b41c;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}


/* =========================================================
   WHY BOOKMYENERGY
========================================================= */

.bme-about-why {
    padding: 110px 0;
    background: #0a4034;
}

.bme-about-why-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 90px;
    align-items: center;
}

.bme-about-why-content h2 {
    color: #ffffff;
}

.bme-about-why-content h2 span {
    color: #91cf32;
}

.bme-about-why-content p {
    max-width: 500px;
    margin: 22px 0 30px;
    color: rgba(255, 255, 255, 0.67);
    font-size: 14px;
    line-height: 1.8;
}

.bme-about-why .bme-btn-primary {
    display: inline-flex;
    padding: 15px 22px;
    border-radius: 7px;
    background: #91cf32;
    color: #073b30;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
}

.bme-about-benefits {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.bme-benefit {
    display: flex;
    gap: 16px;
    min-height: 160px;
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.045);
}

.bme-benefit>span {
    display: flex;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(145, 207, 50, 0.12);
    color: #91cf32;
    font-size: 10px;
    font-weight: 700;
}

.bme-benefit h3 {
    margin: 2px 0 8px;
    color: #ffffff;
    font-size: 15px;
}

.bme-benefit p {
    margin: 0;
    color: rgba(255, 255, 255, 0.57);
    font-size: 12px;
    line-height: 1.65;
}


/* =========================================================
   ABOUT STATS
========================================================= */

.bme-about-stats {
    background: #ffffff;
    border-bottom: 1px solid #e5ebe8;
}

.bme-about-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.bme-about-stat {
    padding: 40px 25px;
    text-align: center;
    border-right: 1px solid #e5ebe8;
}

.bme-about-stat:first-child {
    border-left: 1px solid #e5ebe8;
}

.bme-about-stat strong {
    display: block;
    margin-bottom: 7px;
    color: #103f33;
    font-size: 23px;
}

.bme-about-stat span {
    color: #7a8984;
    font-size: 11px;
}


/* =========================================================
   ABOUT CTA
========================================================= */

.bme-about-cta {
    padding: 100px 0;
    background: #f5f8f7;
}

.bme-about-cta-box {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
    padding: 55px 60px;
    border-radius: 18px;
    background: radial-gradient( circle at 90% 0%, rgba(145, 207, 50, 0.13), transparent 35%), #0a4034;
}

.bme-about-cta-content {
    max-width: 650px;
}

.bme-about-cta-content h2 {
    color: #ffffff;
}

.bme-about-cta-content h2 span {
    color: #91cf32;
}

.bme-about-cta-content p {
    max-width: 570px;
    margin: 18px 0 0;
    color: rgba(255, 255, 255, 0.65);
    font-size: 14px;
    line-height: 1.75;
}

.bme-about-cta-actions {
    display: flex;
    flex-shrink: 0;
    gap: 12px;
}

.bme-about-cta .bme-btn {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 0 21px;
    border-radius: 7px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
}

.bme-about-cta .bme-btn-primary {
    background: #91cf32;
    color: #073b30;
}

.bme-about-cta .bme-btn-light {
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #ffffff;
}


/* =========================================================
   ABOUT RESPONSIVE
========================================================= */

@media (max-width: 1100px) {
    .bme-about-hero>.bme-container,
    .bme-about-intro-grid,
    .bme-about-why-grid {
        grid-template-columns: 1fr;
        gap: 55px;
    }
    .bme-about-hero-visual {
        justify-content: flex-start;
    }
    .bme-about-network-card {
        max-width: 650px;
    }
    .bme-ecosystem-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .bme-about-cta-box {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 767px) {
    .bme-about-hero {
        padding: 110px 0 75px;
    }
    .bme-about-hero h1 {
        font-size: 42px;
        letter-spacing: -1px;
    }
    .bme-about-hero-actions {
        flex-direction: column;
        align-items: stretch;
    }
    .bme-about-network-card {
        padding: 24px;
    }
    .network-grid,
    .bme-mv-grid,
    .bme-ecosystem-grid,
    .bme-about-benefits,
    .bme-about-stats-grid {
        grid-template-columns: 1fr;
    }
    .bme-about-intro,
    .bme-about-ecosystem,
    .bme-about-why {
        padding: 75px 0;
    }
    .bme-mission-vision {
        padding-bottom: 75px;
    }
    .bme-mv-card {
        min-height: auto;
        padding: 32px;
    }
    .bme-about-stat {
        border-left: 1px solid #e5ebe8;
        border-bottom: 1px solid #e5ebe8;
    }
    .bme-about-cta {
        padding: 70px 0;
    }
    .bme-about-cta-box {
        padding: 35px 25px;
    }
    .bme-about-cta-actions {
        width: 100%;
        flex-direction: column;
    }
}


/* =========================================================
   BOOKMYENERGY CONTACT PAGE
========================================================= */

.bme-contact-page {
    background: #ffffff;
    color: #103f33;
}

.bme-contact-page *,
.bme-contact-page *::before,
.bme-contact-page *::after {
    box-sizing: border-box;
}


/* =========================================================
   CONTACT HERO
========================================================= */

.bme-contact-hero {
    position: relative;
    overflow: hidden;
    padding: 145px 0 105px;
    background: radial-gradient( circle at 85% 15%, rgba(145, 207, 50, 0.14), transparent 30%), linear-gradient( 135deg, #073b30 0%, #0b493b 55%, #073b30 100%);
    color: #ffffff;
}

.bme-contact-hero::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -150px;
    top: -220px;
    border-radius: 50%;
    background: rgba(145, 207, 50, 0.06);
}

.bme-contact-hero::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    left: 45%;
    bottom: -240px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.bme-contact-hero>.bme-container {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 80px;
    align-items: center;
}

.bme-contact-hero-content {
    max-width: 680px;
}

.bme-contact-hero .bme-section-label {
    color: #91cf32;
}

.bme-contact-hero h1 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(48px, 5vw, 72px);
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: -2px;
}

.bme-contact-hero h1 span {
    display: block;
    color: #91cf32;
}

.bme-contact-hero-content>p {
    max-width: 620px;
    margin: 25px 0 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 16px;
    line-height: 1.8;
}


/* Hero right side */

.bme-contact-hero-meta {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bme-contact-hero-item {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 22px 24px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.045);
    transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease;
}

.bme-contact-hero-item:hover {
    transform: translateX(5px);
    border-color: rgba(145, 207, 50, 0.35);
    background: rgba(255, 255, 255, 0.07);
}

.bme-contact-hero-item>span {
    display: flex;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: rgba(145, 207, 50, 0.12);
    color: #91cf32;
    font-size: 11px;
    font-weight: 700;
}

.bme-contact-hero-item strong {
    display: block;
    margin-bottom: 4px;
    color: #ffffff;
    font-size: 15px;
}

.bme-contact-hero-item p {
    margin: 0;
    color: rgba(255, 255, 255, 0.58);
    font-size: 12px;
    line-height: 1.5;
}


/* =========================================================
   CONTACT INFO
========================================================= */

.bme-contact-info-section {
    padding: 110px 0;
    background: #ffffff;
}

.bme-contact-section-heading {
    max-width: 680px;
    margin-bottom: 55px;
}

.bme-contact-section-heading h2 {
    margin: 0;
    color: #103f33;
    font-size: clamp(34px, 4vw, 50px);
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -1.2px;
}

.bme-contact-section-heading h2 span {
    color: #83c328;
}

.bme-contact-section-heading>p {
    max-width: 580px;
    margin: 18px 0 0;
    color: #71827c;
    font-size: 14px;
    line-height: 1.75;
}

.bme-contact-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.bme-contact-info-card {
    position: relative;
    overflow: hidden;
    min-height: 290px;
    padding: 32px;
    border: 1px solid #e2e9e5;
    border-radius: 14px;
    background: #ffffff;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.bme-contact-info-card:hover {
    transform: translateY(-6px);
    border-color: rgba(131, 195, 40, 0.45);
    box-shadow: 0 18px 45px rgba(13, 62, 49, 0.08);
}

.bme-contact-card-number {
    position: absolute;
    right: 25px;
    top: 18px;
    color: #103f33;
    font-size: 58px;
    line-height: 1;
    font-weight: 700;
    opacity: 0.04;
}

.bme-contact-card-icon {
    display: flex;
    width: 50px;
    height: 50px;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
    border-radius: 11px;
    background: #edf7e4;
    color: #79b922;
    font-size: 19px;
}

.bme-contact-info-card h3 {
    margin: 0 0 12px;
    color: #103f33;
    font-size: 20px;
}

.bme-contact-info-card p {
    max-width: 320px;
    margin: 0 0 25px;
    color: #788781;
    font-size: 13px;
    line-height: 1.7;
}

.bme-contact-info-card a {
    color: #71ad22;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    word-break: break-word;
}

.bme-contact-info-card a:hover {
    color: #103f33;
}


/* =========================================================
   CONTACT FORM SECTION
========================================================= */

.bme-contact-form-section {
    padding: 110px 0;
    background: #f4f7f5;
}

.bme-contact-form-layout {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 80px;
    align-items: start;
}


/* Left content */

.bme-contact-form-content {
    padding-top: 20px;
}

.bme-contact-form-content h2 {
    margin: 0;
    color: #103f33;
    font-size: clamp(34px, 4vw, 50px);
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -1.2px;
}

.bme-contact-form-content h2 span {
    color: #83c328;
}

.bme-contact-form-content>p {
    max-width: 500px;
    margin: 22px 0 32px;
    color: #71817c;
    font-size: 14px;
    line-height: 1.8;
}


/* Benefits */

.bme-contact-benefits {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bme-contact-benefits>div {
    display: flex;
    align-items: center;
    gap: 12px;
}

.bme-contact-benefits span {
    display: flex;
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #e8f4dd;
    color: #76b51f;
    font-size: 11px;
    font-weight: 700;
}

.bme-contact-benefits p {
    margin: 0;
    color: #3e5c52;
    font-size: 13px;
    font-weight: 500;
}


/* Form card */

.bme-contact-form-box {
    padding: 40px;
    border: 1px solid #e0e8e4;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 20px 60px rgba(13, 62, 49, 0.07);
}

.bme-contact-form {
    width: 100%;
}

.bme-form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.bme-form-group {
    margin-bottom: 19px;
}

.bme-form-group label {
    display: block;
    margin-bottom: 8px;
    color: #294e43;
    font-size: 12px;
    font-weight: 600;
}

.bme-contact-form input,
.bme-contact-form select,
.bme-contact-form textarea {
    display: block;
    width: 100%;
    border: 1px solid #dce5e0;
    border-radius: 8px;
    outline: none;
    background: #fafcfb;
    color: #254c40;
    font-family: inherit;
    font-size: 13px;
    transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.bme-contact-form input,
.bme-contact-form select {
    height: 50px;
    padding: 0 15px;
}

.bme-contact-form textarea {
    min-height: 145px;
    padding: 15px;
    resize: vertical;
}

.bme-contact-form input::placeholder,
.bme-contact-form textarea::placeholder {
    color: #a0ada8;
}

.bme-contact-form input:focus,
.bme-contact-form select:focus,
.bme-contact-form textarea:focus {
    border-color: #8bc832;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(139, 200, 50, 0.1);
}

.bme-contact-submit {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    padding: 0 26px;
    border: 0;
    border-radius: 7px;
    background: #8dcc30;
    color: #073b30;
    cursor: pointer;
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    transition: transform 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}

.bme-contact-submit:hover {
    transform: translateY(-2px);
    background: #9bda39;
    box-shadow: 0 10px 25px rgba(125, 185, 37, 0.2);
}

.bme-form-note {
    margin: 15px 0 0;
    color: #9aa6a1;
    font-size: 10px;
    line-height: 1.5;
}


/* =========================================================
   BUSINESS CTA
========================================================= */

.bme-contact-business {
    padding: 100px 0;
    background: #ffffff;
}

.bme-contact-business-box {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 70px;
    align-items: center;
    padding: 60px;
    border-radius: 18px;
    background: radial-gradient( circle at 90% 0%, rgba(145, 207, 50, 0.14), transparent 32%), #093f33;
    color: #ffffff;
}

.bme-contact-business-box::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    left: 35%;
    bottom: -240px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.025);
}

.bme-contact-business-content,
.bme-contact-business-points {
    position: relative;
    z-index: 2;
}

.bme-contact-business-content h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(32px, 3.5vw, 46px);
    line-height: 1.15;
    letter-spacing: -1px;
}

.bme-contact-business-content h2 span {
    display: block;
    color: #91cf32;
}

.bme-contact-business-content>p {
    max-width: 570px;
    margin: 20px 0 30px;
    color: rgba(255, 255, 255, 0.65);
    font-size: 14px;
    line-height: 1.75;
}

.bme-contact-business-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.bme-contact-business-actions .bme-btn {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 0 22px;
    border-radius: 7px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
}

.bme-contact-business-actions .bme-btn-primary {
    background: #91cf32;
    color: #073b30;
}

.bme-contact-business-actions .bme-btn-outline {
    border: 1px solid rgba(255, 255, 255, 0.25);
    background: transparent;
    color: #ffffff;
}

.bme-contact-business-points {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bme-contact-business-points>div {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 19px 20px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.05);
}

.bme-contact-business-points span {
    display: flex;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(145, 207, 50, 0.14);
    color: #91cf32;
    font-size: 12px;
    font-weight: 700;
}

.bme-contact-business-points strong {
    color: #ffffff;
    font-size: 13px;
}


/* =========================================================
   CONTACT PAGE RESPONSIVE
========================================================= */

@media (max-width: 1100px) {
    .bme-contact-hero>.bme-container,
    .bme-contact-form-layout,
    .bme-contact-business-box {
        grid-template-columns: 1fr;
        gap: 50px;
    }
    .bme-contact-info-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .bme-contact-hero-meta {
        max-width: 650px;
    }
}

@media (max-width: 767px) {
    .bme-contact-hero {
        padding: 110px 0 75px;
    }
    .bme-contact-hero h1 {
        font-size: 42px;
        letter-spacing: -1px;
    }
    .bme-contact-info-section,
    .bme-contact-form-section {
        padding: 75px 0;
    }
    .bme-contact-info-grid,
    .bme-form-row {
        grid-template-columns: 1fr;
    }
    .bme-contact-info-card {
        min-height: auto;
    }
    .bme-contact-form-box {
        padding: 25px;
    }
    .bme-contact-business {
        padding: 70px 0;
    }
    .bme-contact-business-box {
        padding: 35px 25px;
    }
    .bme-contact-business-actions {
        flex-direction: column;
    }
    .bme-contact-business-actions .bme-btn {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .bme-contact-hero h1 {
        font-size: 36px;
    }
    .bme-contact-hero-item {
        padding: 18px;
    }
    .bme-contact-info-card {
        padding: 25px;
    }
    .bme-contact-form-box {
        padding: 20px;
    }
}

@media (min-width: 1065px) {
    #masthead .logo-holder {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 130px !important;
        height: 82px !important;
        margin: 0 24px 0 0 !important;
        padding: 0 !important;
        line-height: normal !important;
        float: none !important;
    }
    #masthead .logo-holder a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    #masthead .logo-holder img {
        position: static !important;
        display: block !important;
        width: auto !important;
        height: auto !important;
        max-width: 110px !important;
        max-height: 48px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        object-fit: contain !important;
        transform: none !important;
    }
}


/* ==========================================================
   BME CUSTOM HEADER
========================================================== */

.bme-site-header {
    width: 100%;
    height: 82px;
    background: #063b30;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    position: relative;
    z-index: 9999;
}

.bme-header-container {
    width: 100%;
    max-width: 1280px;
    height: 82px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}


/* LOGO */

.bme-header-logo {
    flex: 0 0 auto;
    width: 125px;
    margin-right: 24px;
}

.bme-logo-link {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.bme-logo-img {
    display: block;
    width: auto;
    height: auto;
    max-width: 120px;
    max-height: 48px;
    object-fit: contain;
}

.bme-logo-text {
    color: #ffffff;
    font-weight: 800;
}

.bme-logo-text span {
    color: #91cf32;
}


/* SEARCH */

.bme-header-search {
    flex: 0 0 150px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-right: 24px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 30px;
    color: #ffffff;
    cursor: pointer;
    transition: 0.25s ease;
}

.bme-header-search:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(145, 207, 50, 0.5);
}

.bme-header-search i {
    color: #91cf32;
}

.bme-header-search span {
    font-size: 13px;
    font-weight: 600;
}


/* NAVIGATION */

.bme-main-navigation {
    flex: 1;
    min-width: 0;
    height: 82px;
    display: flex;
    align-items: center;
}

.bme-primary-menu {
    list-style: none;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 2px;
    margin: 0;
    padding: 0;
}

.bme-primary-menu>li {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
}

.bme-primary-menu>li>a {
    height: 82px;
    padding: 0 10px;
    display: flex;
    align-items: center;
    color: rgba(255, 255, 255, 0.82);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.25s ease;
}

.bme-primary-menu>li>a:hover,
.bme-primary-menu>.current-menu-item>a,
.bme-primary-menu>.current-menu-parent>a {
    color: #91cf32;
}


/* ACTIVE MENU UNDERLINE */

.bme-primary-menu>.current-menu-item::after,
.bme-primary-menu>.current-menu-parent::after {
    content: "";
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 10px;
    height: 2px;
    background: #91cf32;
    border-radius: 2px;
}


/* DROPDOWN */

.bme-primary-menu .sub-menu {
    display: none;
    position: absolute;
    top: 82px;
    left: 0;
    min-width: 210px;
    margin: 0;
    padding: 10px 0;
    list-style: none;
    background: #ffffff;
    border: 1px solid #e6ece9;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
    z-index: 99999;
}

.bme-primary-menu li:hover>.sub-menu {
    display: block;
}

.bme-primary-menu .sub-menu li {
    margin: 0;
    padding: 0;
}

.bme-primary-menu .sub-menu a {
    display: block;
    padding: 11px 20px;
    color: #234a3f;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
}

.bme-primary-menu .sub-menu a:hover {
    background: #f4f8f5;
    color: #78b522;
}


/* HEADER RIGHT ACTIONS */

.bme-header-actions {
    flex: 0 0 auto;
    height: 82px;
    display: flex;
    align-items: center;
    margin-left: auto;
    gap: 6px;
}


/* COMMON ACTION */

.bme-header-action {
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 10px;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.9);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
}

.bme-header-action:hover {
    color: #91cf32;
}

.bme-header-action i {
    font-size: 15px;
}


/* LANGUAGE */

.bme-language-btn {
    border-right: 1px solid rgba(255, 255, 255, 0.14);
    padding-right: 15px;
}

.bme-action-arrow {
    font-size: 9px !important;
    margin-left: 3px;
}


/* WISHLIST */

.bme-wishlist-btn {
    position: relative;
    width: 44px;
    padding: 0;
}

.bme-wishlist-btn>i {
    font-size: 19px;
}

.bme-wishlist-count {
    position: absolute;
    top: 3px;
    right: 1px;
    min-width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    background: #54cba2;
    border-radius: 20px;
    color: #ffffff;
    font-size: 9px;
}


/* ADD LISTING */

.bme-add-listing-btn {
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-left: 5px;
    padding: 0 20px;
    background: #91cf32;
    border-radius: 7px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 5px 15px rgba(145, 207, 50, 0.18);
    transition: 0.25s ease;
}

.bme-add-listing-btn:hover {
    background: #80bd29;
    color: #ffffff;
    transform: translateY(-1px);
}


/* MOBILE BUTTON - HIDDEN ON DESKTOP */

.bme-mobile-menu-toggle {
    display: none;
}


/* ==========================================================
   TABLET / MOBILE
========================================================== */

@media (max-width: 1064px) {
    .bme-site-header,
    .bme-header-container {
        height: 72px;
    }
    .bme-header-container {
        padding: 0 18px;
    }
    .bme-header-logo {
        width: auto;
        margin-right: auto;
    }
    .bme-logo-img {
        max-width: 115px;
        max-height: 42px;
    }
    .bme-header-search,
    .bme-main-navigation,
    .bme-header-actions {
        display: none;
    }
    .bme-mobile-menu-toggle {
        width: 44px;
        height: 44px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        padding: 0;
        background: #91cf32;
        border: 0;
        border-radius: 7px;
        cursor: pointer;
    }
    .bme-mobile-menu-toggle span {
        display: block;
        width: 20px;
        height: 2px;
        background: #ffffff;
        border-radius: 2px;
    }
}


/* =========================================================
   BOOKMYENERGY - CAREERS PAGE
   ========================================================= */

.bme-careers-page {
    --bme-career-dark: #063b2f;
    --bme-career-dark-2: #0b493a;
    --bme-career-green: #8fd129;
    --bme-career-green-dark: #70b515;
    --bme-career-text: #103c32;
    --bme-career-muted: #667b75;
    --bme-career-light: #f5f8f6;
    --bme-career-border: #e1e9e5;
    background: #fff;
    color: var(--bme-career-text);
}

.bme-careers-page *,
.bme-careers-page *::before,
.bme-careers-page *::after {
    box-sizing: border-box;
}

.bme-careers-page .bme-container {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}

.bme-careers-page .bme-section-label {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--bme-career-green-dark);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.bme-careers-page h1,
.bme-careers-page h2,
.bme-careers-page h3,
.bme-careers-page p {
    margin-top: 0;
}

.bme-careers-page h2 {
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.12;
    color: var(--bme-career-dark);
}

.bme-careers-page h2 span {
    color: var(--bme-career-green);
}

.bme-careers-page p {
    color: var(--bme-career-muted);
    line-height: 1.8;
}


/* =========================================================
   HERO
   ========================================================= */

.bme-careers-hero {
    position: relative;
    min-height: 600px;
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: 100px 0;
    background: linear-gradient( 90deg, rgba(3, 47, 37, 0.98) 0%, rgba(5, 61, 48, 0.92) 48%, rgba(5, 61, 48, 0.72) 100%);
}

.bme-careers-hero::before {
    content: "";
    position: absolute;
    width: 480px;
    height: 480px;
    border-radius: 50%;
    right: -140px;
    top: -180px;
    background: rgba(143, 209, 41, 0.08);
}

.bme-careers-hero::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    right: 15%;
    bottom: -200px;
    background: rgba(255, 255, 255, 0.04);
}

.bme-careers-hero .bme-container {
    position: relative;
    z-index: 2;
}

.bme-careers-hero-content {
    max-width: 750px;
}

.bme-careers-hero .bme-section-label {
    color: var(--bme-career-green);
}

.bme-careers-hero h1 {
    margin-bottom: 24px;
    color: #fff;
    font-size: clamp(48px, 6vw, 76px);
    line-height: 1.03;
    letter-spacing: -2px;
}

.bme-careers-hero h1 span {
    display: block;
    color: var(--bme-career-green);
}

.bme-careers-hero p {
    max-width: 680px;
    margin-bottom: 34px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 17px;
}

.bme-careers-hero-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.bme-careers-page .bme-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 26px;
    border-radius: 7px;
    text-decoration: none;
    font-weight: 700;
    transition: all 0.25s ease;
}

.bme-careers-page .bme-btn-primary {
    color: var(--bme-career-dark);
    background: var(--bme-career-green);
}

.bme-careers-page .bme-btn-primary:hover {
    color: var(--bme-career-dark);
    background: #a2e13e;
    transform: translateY(-2px);
}

.bme-careers-page .bme-btn-outline-light {
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.04);
}

.bme-careers-page .bme-btn-outline-light:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.1);
}


/* =========================================================
   INTRO / VALUES
   ========================================================= */

.bme-careers-intro {
    padding: 110px 0;
}

.bme-careers-intro-grid {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 80px;
    align-items: center;
}

.bme-careers-intro-content p {
    font-size: 16px;
}

.bme-careers-values {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.bme-career-value-card {
    position: relative;
    padding: 32px 28px;
    border: 1px solid var(--bme-career-border);
    border-radius: 14px;
    background: #fff;
    transition: 0.3s ease;
}

.bme-career-value-card:hover {
    transform: translateY(-5px);
    border-color: rgba(143, 209, 41, 0.5);
    box-shadow: 0 18px 40px rgba(7, 59, 47, 0.09);
}

.bme-career-value-card>span {
    display: inline-block;
    margin-bottom: 20px;
    color: var(--bme-career-green-dark);
    font-size: 13px;
    font-weight: 800;
}

.bme-career-value-card h3 {
    margin-bottom: 10px;
    color: var(--bme-career-dark);
    font-size: 20px;
}

.bme-career-value-card p {
    margin-bottom: 0;
    font-size: 14px;
}


/* =========================================================
   BENEFITS
   ========================================================= */

.bme-careers-benefits {
    padding: 110px 0;
    background: var(--bme-career-light);
}

.bme-section-heading {
    max-width: 700px;
    margin-bottom: 50px;
}

.bme-section-heading-center {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.bme-section-heading p {
    max-width: 650px;
    margin-bottom: 0;
}

.bme-section-heading-center p {
    margin-left: auto;
    margin-right: auto;
}

.bme-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.bme-benefit-card {
    min-height: 260px;
    padding: 32px 25px;
    border: 1px solid var(--bme-career-border);
    border-radius: 14px;
    background: #fff;
    transition: 0.3s ease;
}

.bme-benefit-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 45px rgba(7, 59, 47, 0.09);
}

.bme-benefit-icon {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
    border-radius: 12px;
    color: var(--bme-career-green-dark);
    background: rgba(143, 209, 41, 0.13);
    font-size: 22px;
    font-weight: 700;
}

.bme-benefit-card h3 {
    margin-bottom: 12px;
    color: var(--bme-career-dark);
    font-size: 19px;
}

.bme-benefit-card p {
    margin-bottom: 0;
    font-size: 14px;
}


/* =========================================================
   OPEN POSITIONS
   ========================================================= */

.bme-careers-positions {
    padding: 110px 0;
}

.bme-jobs-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.bme-job-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 28px 32px;
    border: 1px solid var(--bme-career-border);
    border-radius: 12px;
    background: #fff;
    transition: 0.3s ease;
}

.bme-job-card:hover {
    transform: translateY(-3px);
    border-color: rgba(143, 209, 41, 0.55);
    box-shadow: 0 16px 38px rgba(7, 59, 47, 0.08);
}

.bme-job-department {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--bme-career-green-dark);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.bme-job-info h3 {
    margin-bottom: 12px;
    color: var(--bme-career-dark);
    font-size: 22px;
}

.bme-job-meta {
    display: flex;
    gap: 20px;
    color: var(--bme-career-muted);
    font-size: 13px;
}

.bme-job-meta span {
    position: relative;
}

.bme-job-meta span+span::before {
    content: "•";
    position: absolute;
    left: -12px;
}

.bme-job-button {
    flex-shrink: 0;
    padding: 12px 20px;
    border: 1px solid var(--bme-career-border);
    border-radius: 6px;
    color: var(--bme-career-dark);
    background: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    transition: 0.25s ease;
}

.bme-job-card:hover .bme-job-button {
    border-color: var(--bme-career-green);
    background: var(--bme-career-green);
}


/* =========================================================
   HIRING PROCESS
   ========================================================= */

.bme-careers-process {
    padding: 110px 0;
    color: #fff;
    background: var(--bme-career-dark);
}

.bme-careers-process .bme-section-label {
    color: var(--bme-career-green);
}

.bme-careers-process h2 {
    color: #fff;
}

.bme-hiring-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    overflow: hidden;
}

.bme-hiring-step {
    position: relative;
    min-height: 245px;
    padding: 34px 28px;
    border-right: 1px solid rgba(255, 255, 255, 0.12);
    transition: 0.3s ease;
}

.bme-hiring-step:last-child {
    border-right: 0;
}

.bme-hiring-step:hover {
    background: rgba(255, 255, 255, 0.05);
}

.bme-step-number {
    display: block;
    margin-bottom: 35px;
    color: var(--bme-career-green);
    font-size: 13px;
    font-weight: 800;
}

.bme-hiring-step h3 {
    margin-bottom: 12px;
    color: #fff;
    font-size: 21px;
}

.bme-hiring-step p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.65);
    font-size: 14px;
}


/* =========================================================
   FINAL CTA
   ========================================================= */

.bme-careers-cta {
    padding: 90px 0;
    background: var(--bme-career-light);
}

.bme-careers-cta-inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    padding: 60px;
    overflow: hidden;
    border-radius: 18px;
    background: var(--bme-career-dark);
}

.bme-careers-cta-inner::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    right: -100px;
    top: -160px;
    border-radius: 50%;
    background: rgba(143, 209, 41, 0.08);
}

.bme-careers-cta-inner>div {
    position: relative;
    z-index: 2;
}

.bme-careers-cta .bme-section-label {
    color: var(--bme-career-green);
}

.bme-careers-cta h2 {
    max-width: 620px;
    margin-bottom: 18px;
    color: #fff;
}

.bme-careers-cta p {
    max-width: 650px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.68);
}

.bme-careers-cta-action {
    flex-shrink: 0;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1024px) {
    .bme-careers-intro-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }
    .bme-benefits-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .bme-hiring-steps {
        grid-template-columns: repeat(2, 1fr);
    }
    .bme-hiring-step:nth-child(2) {
        border-right: 0;
    }
    .bme-hiring-step:nth-child(-n+2) {
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }
    .bme-careers-cta-inner {
        padding: 50px 40px;
    }
}

@media (max-width: 767px) {
    .bme-careers-page .bme-container {
        width: min(100% - 32px, 1180px);
    }
    .bme-careers-hero {
        min-height: auto;
        padding: 80px 0;
    }
    .bme-careers-hero h1 {
        font-size: 44px;
        letter-spacing: -1px;
    }
    .bme-careers-intro,
    .bme-careers-benefits,
    .bme-careers-positions,
    .bme-careers-process {
        padding: 75px 0;
    }
    .bme-careers-values,
    .bme-benefits-grid,
    .bme-hiring-steps {
        grid-template-columns: 1fr;
    }
    .bme-hiring-step {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }
    .bme-hiring-step:last-child {
        border-bottom: 0;
    }
    .bme-job-card {
        align-items: flex-start;
        flex-direction: column;
        padding: 24px;
    }
    .bme-job-button {
        width: 100%;
        text-align: center;
    }
    .bme-careers-cta {
        padding: 60px 0;
    }
    .bme-careers-cta-inner {
        flex-direction: column;
        align-items: flex-start;
        padding: 40px 28px;
    }
    .bme-careers-cta-action,
    .bme-careers-cta-action .bme-btn {
        width: 100%;
    }
}


/* =========================================================
   BOOKMYENERGY - JOBS PORTAL PAGE
========================================================= */

.bme-jobs-page {
    --jobs-dark: #063b30;
    --jobs-dark-2: #0a493b;
    --jobs-green: #91cf32;
    --jobs-green-dark: #73ae1f;
    --jobs-text: #153f35;
    --jobs-muted: #6b7e78;
    --jobs-light: #f5f8f6;
    --jobs-border: #e1e9e5;
    --jobs-white: #ffffff;
    background: #ffffff;
    color: var(--jobs-text);
}

.bme-jobs-page *,
.bme-jobs-page *::before,
.bme-jobs-page *::after {
    box-sizing: border-box;
}

.bme-jobs-page .bme-container {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}

.bme-jobs-page .bme-section-label {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--jobs-green-dark);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}


/* =========================================================
   JOBS HERO
========================================================= */

.bme-jobs-hero {
    position: relative;
    padding: 100px 0 120px;
    overflow: hidden;
    background: radial-gradient( circle at 85% 20%, rgba(145, 207, 50, 0.12), transparent 32%), linear-gradient( 135deg, #052f27 0%, #064638 55%, #075141 100%);
}

.bme-jobs-hero::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    top: -220px;
    right: -100px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 50%;
}

.bme-jobs-hero::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    right: 12%;
    bottom: -220px;
    background: rgba(145, 207, 50, 0.05);
    border-radius: 50%;
}

.bme-jobs-hero .bme-container {
    position: relative;
    z-index: 2;
}

.bme-jobs-hero-content {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.bme-jobs-hero .bme-section-label {
    color: var(--jobs-green);
}

.bme-jobs-hero h1 {
    max-width: 850px;
    margin: 0 auto 24px;
    color: #ffffff;
    font-size: clamp(44px, 5vw, 66px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -1.5px;
}

.bme-jobs-hero h1 span {
    display: block;
    color: var(--jobs-green);
}

.bme-jobs-hero>.bme-container p,
.bme-jobs-hero-content>p {
    max-width: 720px;
    margin: 0 auto 40px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 16px;
    line-height: 1.8;
}


/* =========================================================
   HERO JOB SEARCH
========================================================= */

.bme-job-search {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(220px, 0.8fr) auto;
    max-width: 900px;
    margin: 0 auto;
    padding: 8px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.2);
}

.bme-job-search-field {
    min-height: 64px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 7px 20px;
    text-align: left;
}

.bme-job-search-field:first-child {
    border-right: 1px solid var(--jobs-border);
}

.bme-job-search-field>i {
    flex-shrink: 0;
    color: var(--jobs-green-dark);
    font-size: 17px;
}

.bme-job-search-field>div {
    width: 100%;
}

.bme-job-search-field label {
    display: block;
    margin-bottom: 3px;
    color: var(--jobs-dark);
    font-size: 11px;
    font-weight: 800;
}

.bme-job-search-field input {
    width: 100%;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--jobs-text);
    font-size: 13px;
}

.bme-job-search-field input::placeholder {
    color: #9aa9a4;
}

.bme-job-search-btn {
    min-width: 165px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 25px;
    border: 0;
    border-radius: 8px;
    background: var(--jobs-green);
    color: var(--jobs-dark);
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: background 0.25s ease, transform 0.25s ease;
}

.bme-job-search-btn:hover {
    background: #a1dc45;
    transform: translateY(-1px);
}


/* Popular Searches */

.bme-popular-job-searches {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 25px;
    font-size: 12px;
}

.bme-popular-job-searches>span {
    color: rgba(255, 255, 255, 0.55);
    font-weight: 600;
}

.bme-popular-job-searches a {
    padding: 7px 12px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 30px;
    color: rgba(255, 255, 255, 0.78);
    text-decoration: none;
    transition: 0.25s ease;
}

.bme-popular-job-searches a:hover {
    border-color: var(--jobs-green);
    color: var(--jobs-green);
}


/* =========================================================
   COMMON SECTION HEAD
========================================================= */

.bme-jobs-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 60px;
    margin-bottom: 45px;
}

.bme-jobs-section-head h2 {
    max-width: 600px;
    margin: 0;
    color: var(--jobs-dark);
    font-size: clamp(32px, 4vw, 46px);
    line-height: 1.12;
    letter-spacing: -1px;
}

.bme-jobs-section-head h2 span {
    color: var(--jobs-green-dark);
}

.bme-jobs-section-head>p {
    max-width: 450px;
    margin: 0;
    color: var(--jobs-muted);
    font-size: 14px;
    line-height: 1.75;
}


/* =========================================================
   JOB CATEGORIES
========================================================= */

.bme-job-categories {
    padding: 95px 0;
    background: #ffffff;
}

.bme-job-category-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.bme-job-category-card {
    min-height: 135px;
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 25px;
    border: 1px solid var(--jobs-border);
    border-radius: 12px;
    background: #ffffff;
    text-decoration: none;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.bme-job-category-card:hover {
    transform: translateY(-5px);
    border-color: rgba(145, 207, 50, 0.65);
    box-shadow: 0 18px 40px rgba(6, 59, 48, 0.09);
}

.bme-job-category-icon {
    width: 58px;
    height: 58px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(145, 207, 50, 0.12);
    color: var(--jobs-green-dark);
    font-size: 21px;
    transition: 0.3s ease;
}

.bme-job-category-card:hover .bme-job-category-icon {
    background: var(--jobs-green);
    color: var(--jobs-dark);
}

.bme-job-category-card h3 {
    margin: 0 0 8px;
    color: var(--jobs-dark);
    font-size: 17px;
    font-weight: 700;
}

.bme-job-category-card span {
    color: var(--jobs-muted);
    font-size: 12px;
}


/* =========================================================
   JOBS LISTING SECTION
========================================================= */

.bme-jobs-listing {
    padding: 100px 0;
    background: var(--jobs-light);
}

.bme-jobs-layout {
    display: grid;
    grid-template-columns: 275px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}


/* =========================================================
   FILTER SIDEBAR
========================================================= */

.bme-jobs-sidebar {
    position: sticky;
    top: 105px;
}

.bme-job-filter-box {
    padding: 25px;
    border: 1px solid var(--jobs-border);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(6, 59, 48, 0.04);
}

.bme-filter-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 25px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--jobs-border);
}

.bme-filter-heading h3 {
    margin: 0;
    color: var(--jobs-dark);
    font-size: 18px;
}

.bme-filter-heading button {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--jobs-green-dark);
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.bme-filter-group {
    margin-bottom: 24px;
}

.bme-filter-group>label:first-child {
    display: block;
    margin-bottom: 10px;
    color: var(--jobs-dark);
    font-size: 12px;
    font-weight: 700;
}

.bme-filter-group>input,
.bme-filter-group>select {
    width: 100%;
    height: 44px;
    padding: 0 12px;
    border: 1px solid var(--jobs-border);
    border-radius: 6px;
    outline: 0;
    background: #ffffff;
    color: var(--jobs-text);
    font-size: 12px;
}

.bme-filter-group>input:focus,
.bme-filter-group>select:focus {
    border-color: var(--jobs-green);
}


/* Checkbox */

.bme-filter-check {
    display: flex !important;
    align-items: center;
    gap: 9px;
    margin: 10px 0 !important;
    color: var(--jobs-muted) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    cursor: pointer;
}

.bme-filter-check input {
    width: 15px;
    height: 15px;
    accent-color: var(--jobs-green-dark);
}


/* Apply Filters */

.bme-apply-filter-btn {
    width: 100%;
    height: 46px;
    border: 0;
    border-radius: 6px;
    background: var(--jobs-dark);
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: 0.25s ease;
}

.bme-apply-filter-btn:hover {
    background: var(--jobs-dark-2);
}


/* =========================================================
   JOB RESULTS TOP
========================================================= */

.bme-job-results {
    min-width: 0;
}

.bme-job-results-top {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 15px;
    padding: 0 18px;
    border: 1px solid var(--jobs-border);
    border-radius: 9px;
    background: #ffffff;
}

.bme-job-results-top>div {
    display: flex;
    align-items: center;
    gap: 12px;
}

.bme-job-results-top strong {
    color: var(--jobs-dark);
    font-size: 14px;
}

.bme-job-results-top span {
    color: var(--jobs-muted);
    font-size: 11px;
}

.bme-job-results-top select {
    height: 34px;
    padding: 0 10px;
    border: 1px solid var(--jobs-border);
    border-radius: 5px;
    background: #ffffff;
    color: var(--jobs-muted);
    font-size: 11px;
}


/* =========================================================
   JOB CARDS
========================================================= */

.bme-job-list-card {
    position: relative;
    display: flex;
    gap: 22px;
    margin-bottom: 15px;
    padding: 26px;
    border: 1px solid var(--jobs-border);
    border-radius: 12px;
    background: #ffffff;
    overflow: hidden;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.bme-job-list-card:hover {
    transform: translateY(-3px);
    border-color: rgba(145, 207, 50, 0.55);
    box-shadow: 0 15px 35px rgba(6, 59, 48, 0.07);
}


/* Premium Job */

.bme-job-list-card.featured {
    border-color: rgba(145, 207, 50, 0.55);
    background: linear-gradient( 90deg, rgba(145, 207, 50, 0.04), #ffffff 25%);
}

.bme-job-list-card.featured::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: var(--jobs-green);
}


/* Company Logo */

.bme-job-company-logo {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--jobs-border);
    border-radius: 10px;
    background: var(--jobs-light);
    color: var(--jobs-dark);
    font-size: 16px;
    font-weight: 800;
}


/* Card Content */

.bme-job-card-content {
    min-width: 0;
    flex: 1;
}

.bme-job-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.bme-premium-job-badge,
.bme-job-date {
    display: inline-block;
    margin-bottom: 8px;
    padding: 4px 8px;
    border-radius: 4px;
    background: rgba(145, 207, 50, 0.13);
    color: var(--jobs-green-dark);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.7px;
}

.bme-job-card-top h3 {
    max-width: 650px;
    margin: 0 0 7px;
    font-size: 19px;
    line-height: 1.4;
}

.bme-job-card-top h3 a {
    color: var(--jobs-dark);
    text-decoration: none;
    transition: color 0.25s ease;
}

.bme-job-card-top h3 a:hover {
    color: var(--jobs-green-dark);
}

.bme-job-company {
    margin: 0;
    color: var(--jobs-muted);
    font-size: 12px;
    font-weight: 600;
}


/* Save Job */

.bme-save-job {
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid var(--jobs-border);
    border-radius: 50%;
    background: #ffffff;
    color: var(--jobs-muted);
    cursor: pointer;
    transition: 0.25s ease;
}

.bme-save-job:hover {
    border-color: var(--jobs-green);
    color: var(--jobs-green-dark);
}


/* Job Meta */

.bme-job-card-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 18px;
}

.bme-job-card-meta span {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--jobs-muted);
    font-size: 11px;
}

.bme-job-card-meta i {
    color: var(--jobs-green-dark);
    font-size: 11px;
}


/* Excerpt */

.bme-job-excerpt {
    margin: 17px 0 20px;
    color: var(--jobs-muted);
    font-size: 13px;
    line-height: 1.7;
}


/* Job Footer */

.bme-job-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--jobs-border);
}

.bme-job-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.bme-job-tags span {
    padding: 6px 9px;
    border-radius: 4px;
    background: var(--jobs-light);
    color: var(--jobs-muted);
    font-size: 10px;
    font-weight: 600;
}

.bme-view-job-btn {
    flex-shrink: 0;
    color: var(--jobs-dark);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    transition: color 0.25s ease;
}

.bme-view-job-btn:hover {
    color: var(--jobs-green-dark);
}


/* =========================================================
   EMPLOYER CTA
========================================================= */

.bme-jobs-employer-cta {
    padding: 85px 0;
    background: #ffffff;
}

.bme-jobs-employer-box {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    padding: 55px 60px;
    overflow: hidden;
    border-radius: 16px;
    background: linear-gradient( 135deg, #063b30, #095141);
}

.bme-jobs-employer-box::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    right: -100px;
    top: -180px;
    border-radius: 50%;
    background: rgba(145, 207, 50, 0.1);
}

.bme-employer-content,
.bme-employer-action {
    position: relative;
    z-index: 2;
}

.bme-employer-content {
    max-width: 700px;
}

.bme-jobs-employer-box .bme-section-label {
    color: var(--jobs-green);
}

.bme-jobs-employer-box h2 {
    margin: 0 0 15px;
    color: #ffffff;
    font-size: clamp(30px, 4vw, 44px);
}

.bme-jobs-employer-box h2 span {
    color: var(--jobs-green);
}

.bme-jobs-employer-box p {
    max-width: 600px;
    margin: 0;
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    line-height: 1.7;
}

.bme-employer-action {
    flex-shrink: 0;
}

.bme-employer-btn {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 25px;
    border-radius: 7px;
    background: var(--jobs-green);
    color: var(--jobs-dark);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    transition: 0.25s ease;
}

.bme-employer-btn:hover {
    background: #a1dc45;
    color: var(--jobs-dark);
    transform: translateY(-2px);
}


/* =========================================================
   RESPONSIVE - TABLET
========================================================= */

@media (max-width: 1024px) {
    .bme-job-category-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .bme-jobs-layout {
        grid-template-columns: 230px minmax(0, 1fr);
    }
    .bme-jobs-section-head {
        gap: 30px;
    }
    .bme-jobs-employer-box {
        padding: 45px 40px;
    }
}


/* =========================================================
   RESPONSIVE - MOBILE
========================================================= */

@media (max-width: 767px) {
    .bme-jobs-page .bme-container {
        width: min(100% - 32px, 1180px);
    }
    /* Hero */
    .bme-jobs-hero {
        padding: 75px 0;
    }
    .bme-jobs-hero h1 {
        font-size: 40px;
    }
    .bme-job-search {
        grid-template-columns: 1fr;
        padding: 8px;
    }
    .bme-job-search-field {
        border-right: 0 !important;
        border-bottom: 1px solid var(--jobs-border);
    }
    .bme-job-search-btn {
        min-height: 52px;
    }
    /* Section Head */
    .bme-jobs-section-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
        margin-bottom: 35px;
    }
    /* Categories */
    .bme-job-categories,
    .bme-jobs-listing {
        padding: 70px 0;
    }
    .bme-job-category-grid {
        grid-template-columns: 1fr;
    }
    /* Listing */
    .bme-jobs-layout {
        grid-template-columns: 1fr;
    }
    .bme-jobs-sidebar {
        position: static;
    }
    /* Result Header */
    .bme-job-results-top {
        align-items: flex-start;
        flex-direction: column;
        padding: 15px;
    }
    .bme-job-results-top>div {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }
    /* Job Card */
    .bme-job-list-card {
        flex-direction: column;
        padding: 22px;
    }
    .bme-job-card-top h3 {
        font-size: 17px;
    }
    .bme-job-card-footer {
        flex-direction: column;
        align-items: flex-start;
    }
    /* Employer CTA */
    .bme-jobs-employer-cta {
        padding: 60px 0;
    }
    .bme-jobs-employer-box {
        flex-direction: column;
        align-items: flex-start;
        padding: 38px 28px;
    }
    .bme-employer-action,
    .bme-employer-btn {
        width: 100%;
    }
}


/* =========================================================
   BOOKMYENERGY - JOB DETAIL PAGE
========================================================= */

.bme-job-detail-page {
    --job-dark: #063b30;
    --job-dark-2: #0a493b;
    --job-green: #91cf32;
    --job-green-dark: #73ae1f;
    --job-text: #153f35;
    --job-muted: #6b7e78;
    --job-light: #f5f8f6;
    --job-border: #e1e9e5;
    --job-white: #ffffff;
    background: #ffffff;
    color: var(--job-text);
}

.bme-job-detail-page *,
.bme-job-detail-page *::before,
.bme-job-detail-page *::after {
    box-sizing: border-box;
}

.bme-job-detail-page .bme-container {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}


/* =========================================================
   JOB DETAIL HERO
========================================================= */

.bme-job-detail-hero {
    position: relative;
    padding: 55px 0 65px;
    overflow: hidden;
    background: radial-gradient( circle at 90% 10%, rgba(145, 207, 50, 0.12), transparent 28%), linear-gradient( 135deg, #052f27 0%, #063b30 50%, #075141 100%);
}

.bme-job-detail-hero::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    top: -180px;
    right: -80px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 50%;
}

.bme-job-detail-hero .bme-container {
    position: relative;
    z-index: 2;
}


/* =========================================================
   BREADCRUMB
========================================================= */

.bme-job-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 35px;
    font-size: 11px;
}

.bme-job-breadcrumb a {
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    transition: color 0.25s ease;
}

.bme-job-breadcrumb a:hover {
    color: var(--job-green);
}

.bme-job-breadcrumb>span {
    color: rgba(255, 255, 255, 0.4);
}

.bme-job-breadcrumb>span:last-child {
    color: rgba(255, 255, 255, 0.75);
}


/* =========================================================
   HERO GRID
========================================================= */

.bme-job-detail-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 70px;
    align-items: center;
}


/* Premium Badge */

.bme-detail-premium-badge {
    display: inline-flex;
    align-items: center;
    margin-bottom: 17px;
    padding: 6px 10px;
    border: 1px solid rgba(145, 207, 50, 0.35);
    border-radius: 4px;
    background: rgba(145, 207, 50, 0.12);
    color: var(--job-green);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
}


/* Job Title */

.bme-job-detail-heading h1 {
    max-width: 780px;
    margin: 0 0 24px;
    color: #ffffff;
    font-size: clamp(34px, 4vw, 50px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -1px;
}


/* Company */

.bme-detail-company {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 25px;
}

.bme-detail-company-logo {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    color: var(--job-green);
    font-size: 13px;
    font-weight: 800;
}

.bme-detail-company>div:last-child {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.bme-detail-company strong {
    color: #ffffff;
    font-size: 14px;
}

.bme-detail-company span {
    color: rgba(255, 255, 255, 0.55);
    font-size: 11px;
}


/* Hero Meta */

.bme-detail-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.bme-detail-meta span {
    display: flex;
    align-items: center;
    gap: 7px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 12px;
}

.bme-detail-meta i {
    color: var(--job-green);
    font-size: 12px;
}


/* =========================================================
   HERO ACTIONS
========================================================= */

.bme-job-detail-hero-action {
    min-width: 205px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.bme-detail-apply-btn {
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 22px;
    border-radius: 7px;
    background: var(--job-green);
    color: var(--job-dark);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(145, 207, 50, 0.14);
    transition: background 0.25s ease, transform 0.25s ease;
}

.bme-detail-apply-btn:hover {
    background: #a2df43;
    color: var(--job-dark);
    transform: translateY(-2px);
}

.bme-detail-save-btn {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 20px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.04);
    color: rgba(255, 255, 255, 0.82);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.25s ease;
}

.bme-detail-save-btn:hover {
    border-color: var(--job-green);
    color: var(--job-green);
    background: rgba(255, 255, 255, 0.08);
}


/* =========================================================
   MAIN JOB CONTENT
========================================================= */

.bme-job-detail-content {
    padding: 75px 0 100px;
    background: var(--job-light);
}

.bme-job-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 35px;
    align-items: start;
}


/* =========================================================
   LEFT DESCRIPTION
========================================================= */

.bme-job-description {
    padding: 45px;
    border: 1px solid var(--job-border);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 10px 35px rgba(6, 59, 48, 0.04);
}


/* Individual Content Section */

.bme-job-content-section {
    padding: 0 0 42px;
    margin-bottom: 42px;
    border-bottom: 1px solid var(--job-border);
}

.bme-job-content-section:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0;
}

.bme-job-section-label {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--job-green-dark);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.2px;
}

.bme-job-content-section h2 {
    margin: 0 0 20px;
    color: var(--job-dark);
    font-size: 26px;
    font-weight: 700;
    line-height: 1.3;
}

.bme-job-content-section p {
    margin: 0 0 16px;
    color: var(--job-muted);
    font-size: 14px;
    line-height: 1.85;
}

.bme-job-content-section p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   RESPONSIBILITY / SKILLS LIST
========================================================= */

.bme-job-detail-list {
    display: flex;
    flex-direction: column;
    gap: 13px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bme-job-detail-list li {
    position: relative;
    padding-left: 28px;
    color: var(--job-muted);
    font-size: 14px;
    line-height: 1.7;
}

.bme-job-detail-list li::before {
    content: "✓";
    position: absolute;
    top: 1px;
    left: 0;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(145, 207, 50, 0.13);
    color: var(--job-green-dark);
    font-size: 9px;
    font-weight: 900;
}


/* =========================================================
   KPI CARDS
========================================================= */

.bme-job-kpi-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.bme-job-kpi-card {
    min-height: 115px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 20px;
    border: 1px solid var(--job-border);
    border-radius: 8px;
    background: var(--job-light);
    transition: border-color 0.25s ease, transform 0.25s ease;
}

.bme-job-kpi-card:hover {
    transform: translateY(-2px);
    border-color: rgba(145, 207, 50, 0.6);
}

.bme-job-kpi-card strong {
    color: var(--job-dark);
    font-size: 13px;
}

.bme-job-kpi-card span {
    color: var(--job-muted);
    font-size: 11px;
    line-height: 1.6;
}


/* =========================================================
   RIGHT SIDEBAR
========================================================= */

.bme-job-detail-sidebar {
    position: sticky;
    top: 105px;
}


/* =========================================================
   JOB OVERVIEW CARD
========================================================= */

.bme-job-overview-card {
    padding: 28px;
    border: 1px solid var(--job-border);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 12px 35px rgba(6, 59, 48, 0.06);
}

.bme-job-overview-card>h3 {
    margin: 0 0 23px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--job-border);
    color: var(--job-dark);
    font-size: 19px;
}


/* Overview Item */

.bme-overview-item {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin-bottom: 19px;
}

.bme-overview-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: rgba(145, 207, 50, 0.11);
    color: var(--job-green-dark);
    font-size: 12px;
}

.bme-overview-item>div:last-child {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.bme-overview-item span {
    color: var(--job-muted);
    font-size: 10px;
}

.bme-overview-item strong {
    color: var(--job-dark);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
}


/* =========================================================
   SIDEBAR APPLY
========================================================= */

.bme-job-sidebar-apply {
    margin-top: 27px;
    padding-top: 23px;
    border-top: 1px solid var(--job-border);
}

.bme-sidebar-apply-btn {
    width: 100%;
    min-height: 49px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 20px;
    border-radius: 7px;
    background: var(--job-green);
    color: var(--job-dark);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    transition: background 0.25s ease, transform 0.25s ease;
}

.bme-sidebar-apply-btn:hover {
    background: #a2df43;
    color: var(--job-dark);
    transform: translateY(-1px);
}

.bme-job-sidebar-apply p {
    margin: 10px 0 0;
    color: var(--job-muted);
    font-size: 9px;
    line-height: 1.5;
    text-align: center;
}


/* =========================================================
   SHARE CARD
========================================================= */

.bme-job-share-card {
    margin-top: 15px;
    padding: 20px;
    border: 1px solid var(--job-border);
    border-radius: 10px;
    background: #ffffff;
}

.bme-job-share-card>span {
    display: block;
    margin-bottom: 13px;
    color: var(--job-muted);
    font-size: 10px;
    font-weight: 600;
}

.bme-job-share-buttons {
    display: flex;
    gap: 8px;
}

.bme-job-share-buttons a {
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--job-border);
    border-radius: 50%;
    color: var(--job-muted);
    text-decoration: none;
    transition: 0.25s ease;
}

.bme-job-share-buttons a:hover {
    border-color: var(--job-green);
    background: rgba(145, 207, 50, 0.1);
    color: var(--job-green-dark);
}


/* =========================================================
   SIMILAR JOBS
========================================================= */

.bme-similar-jobs {
    padding: 90px 0;
    background: #ffffff;
}

.bme-similar-jobs-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 40px;
}

.bme-similar-jobs-head .bme-section-label {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--job-green-dark);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.2px;
}

.bme-similar-jobs-head h2 {
    margin: 0;
    color: var(--job-dark);
    font-size: 38px;
}

.bme-view-all-jobs {
    color: var(--job-dark);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.bme-view-all-jobs:hover {
    color: var(--job-green-dark);
}


/* Similar Job Grid */

.bme-similar-jobs-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.bme-similar-job-card {
    padding: 27px;
    border: 1px solid var(--job-border);
    border-radius: 11px;
    background: #ffffff;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.bme-similar-job-card:hover {
    transform: translateY(-5px);
    border-color: rgba(145, 207, 50, 0.6);
    box-shadow: 0 16px 38px rgba(6, 59, 48, 0.07);
}

.bme-similar-job-category {
    display: inline-block;
    margin-bottom: 15px;
    color: var(--job-green-dark);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.8px;
}

.bme-similar-job-card h3 {
    margin: 0 0 7px;
    color: var(--job-dark);
    font-size: 18px;
    line-height: 1.4;
}

.bme-similar-job-card>p {
    margin: 0 0 18px;
    color: var(--job-muted);
    font-size: 12px;
}

.bme-similar-job-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 22px;
}

.bme-similar-job-meta span {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--job-muted);
    font-size: 10px;
}

.bme-similar-job-meta i {
    color: var(--job-green-dark);
}

.bme-similar-job-card>a {
    color: var(--job-dark);
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
}

.bme-similar-job-card>a:hover {
    color: var(--job-green-dark);
}


/* =========================================================
   RESPONSIVE - TABLET
========================================================= */

@media (max-width: 1024px) {
    .bme-job-detail-layout {
        grid-template-columns: minmax(0, 1fr) 280px;
    }
    .bme-job-description {
        padding: 35px;
    }
    .bme-job-detail-hero-grid {
        gap: 35px;
    }
}


/* =========================================================
   RESPONSIVE - MOBILE
========================================================= */

@media (max-width: 767px) {
    .bme-job-detail-page .bme-container {
        width: min(100% - 32px, 1180px);
    }
    /* Hero */
    .bme-job-detail-hero {
        padding: 40px 0 50px;
    }
    .bme-job-breadcrumb {
        margin-bottom: 25px;
    }
    .bme-job-detail-hero-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }
    .bme-job-detail-heading h1 {
        font-size: 34px;
    }
    .bme-job-detail-hero-action {
        width: 100%;
    }
    /* Main Layout */
    .bme-job-detail-content {
        padding: 55px 0 70px;
    }
    .bme-job-detail-layout {
        grid-template-columns: 1fr;
    }
    .bme-job-description {
        padding: 27px 22px;
    }
    .bme-job-detail-sidebar {
        position: static;
    }
    /* Content */
    .bme-job-content-section {
        padding-bottom: 32px;
        margin-bottom: 32px;
    }
    .bme-job-content-section h2 {
        font-size: 23px;
    }
    /* KPI */
    .bme-job-kpi-grid {
        grid-template-columns: 1fr;
    }
    /* Similar Jobs */
    .bme-similar-jobs {
        padding: 65px 0;
    }
    .bme-similar-jobs-head {
        align-items: flex-start;
        flex-direction: column;
    }
    .bme-similar-jobs-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   BME FUNCTIONAL HEADER - LAYOUT FIX
   ========================================================= */

#bme-header.bme-site-header {
    width: 100%;
    height: 88px;
    min-height: 88px;
    background: #063c32;
    position: relative;
    z-index: 999;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

#bme-header .bme-header-container {
    width: min(1240px, calc(100% - 48px));
    height: 88px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 28px;
}


/* ==============================
   LOGO FIX
   ============================== */

#bme-header .bme-header-logo {
    flex: 0 0 145px;
    width: 145px;
    height: 60px;
    display: flex;
    align-items: center;
}

#bme-header .bme-header-logo .custom-logo-link {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
}

#bme-header .bme-header-logo img,
#bme-header .bme-header-logo .custom-logo {
    display: block !important;
    width: 145px !important;
    max-width: 145px !important;
    height: auto !important;
    max-height: 52px !important;
    object-fit: contain !important;
}


/* ==============================
   NAVIGATION
   ============================== */

#bme-header .bme-main-navigation {
    flex: 1;
    min-width: 0;
}

#bme-header .bme-primary-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#bme-header .bme-primary-menu>li {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
}

#bme-header .bme-primary-menu>li>a {
    display: flex;
    align-items: center;
    height: 88px;
    padding: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: color 0.25s ease, opacity 0.25s ease;
}

#bme-header .bme-primary-menu>li>a:hover,
#bme-header .bme-primary-menu>li.current-menu-item>a,
#bme-header .bme-primary-menu>li.current_page_item>a {
    color: #92d329;
}


/* Active menu underline */

#bme-header .bme-primary-menu>li.current-menu-item::after,
#bme-header .bme-primary-menu>li.current_page_item::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 17px;
    width: 18px;
    height: 2px;
    background: #92d329;
    border-radius: 10px;
    transform: translateX(-50%);
}


/* ==============================
   HEADER ACTIONS
   ============================== */

#bme-header .bme-header-actions {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 16px;
    height: 100%;
}

#bme-header .bme-header-language-wrap,
#bme-header .bme-header-user-wrap,
#bme-header .bme-header-wishlist-wrap,
#bme-header .bme-header-add-listing-wrap {
    display: flex !important;
    align-items: center !important;
    align-self: center !important;
    height: 100% !important;
    margin: 0 !important;
}


/* ==============================
   SEARCH
   ============================== */

#bme-header .bme-header-search-wrap {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}


/* ==============================
   PREVENT TOWNHUB FLOATS
   BREAKING CUSTOM HEADER
   ============================== */

#bme-header .bme-header-search-wrap *,
#bme-header .bme-header-actions * {
    box-sizing: border-box;
}

#bme-header .bme-header-search-wrap,
#bme-header .bme-header-language-wrap,
#bme-header .bme-header-user-wrap,
#bme-header .bme-header-wishlist-wrap,
#bme-header .bme-header-add-listing-wrap {
    float: none !important;
}


/* ==============================
   SUB MENU
   ============================== */

#bme-header .bme-primary-menu .sub-menu {
    position: absolute;
    top: calc(100% - 8px);
    left: 0;
    min-width: 220px;
    margin: 0;
    padding: 10px;
    list-style: none;
    background: #ffffff;
    border: 1px solid rgba(6, 60, 50, 0.1);
    border-radius: 12px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: all 0.25s ease;
    z-index: 9999;
}

#bme-header .bme-primary-menu li:hover>.sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

#bme-header .bme-primary-menu .sub-menu li {
    width: 100%;
}

#bme-header .bme-primary-menu .sub-menu a {
    display: block;
    padding: 11px 14px;
    color: #173f37;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 7px;
}

#bme-header .bme-primary-menu .sub-menu a:hover {
    color: #68a915;
    background: #f3f8ed;
}


/* ==============================
   MOBILE BUTTON
   ============================== */

#bme-header .bme-mobile-menu-toggle {
    display: none;
}


/* ==============================
   TABLET / MOBILE
   ============================== */

@media (max-width: 1100px) {
    #bme-header .bme-header-container {
        width: calc(100% - 32px);
    }
    #bme-header .bme-primary-menu {
        gap: 18px;
    }
    #bme-header .bme-header-logo {
        flex-basis: 125px;
        width: 125px;
    }
    #bme-header .bme-header-logo img,
    #bme-header .bme-header-logo .custom-logo {
        width: 125px !important;
        max-width: 125px !important;
    }
}

@media (max-width: 900px) {
    #bme-header .bme-main-navigation {
        display: none;
    }
    #bme-header .bme-mobile-menu-toggle {
        display: flex;
        align-items: center;
        margin-left: auto;
    }
}


/* =========================================================
   BME HEADER - COLOR & TYPOGRAPHY CONSISTENCY FIX
   -----------------------------------------------------------
   The header above was built before the site's shared
   --bme-primary / --bme-secondary tokens (see :root at the
   top of this file) were standardized, so it hardcoded its
   own one-off hex values. It also left three plugin-rendered
   buttons (Add Listing, Sign In, Wishlist) on the parent
   TownHub theme's default accent classes (.color-bg,
   .green-bg), so they never picked up the site's green /
   dark-teal branding used everywhere else.
   This section only RECOLORS + REFONTS existing elements.
   No markup, hooks, or shortcode logic is touched, so login,
   wishlist, add-listing, and menu functionality are unaffected.
   ========================================================= */


/* Header shell: shared dark-teal token instead of one-off hex.
   Font-family is set explicitly here (a system font stack that
   needs no network request) because the header text was falling
   back to the browser's default serif whenever the parent
   theme's own webfont failed to load - it was never something
   our CSS was overriding, there simply wasn't a working font
   being inherited at all. This cascades down to nav links,
   Sign In, and the language switcher; icon fonts (Font Awesome)
   are unaffected since they set their own font-family with
   higher priority than anything inherited. */

#bme-header.bme-site-header {
    background: var(--bme-secondary);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}


/* Nav links: shared green tokens instead of one-off hex */

#bme-header .bme-primary-menu>li>a:hover,
#bme-header .bme-primary-menu>li.current-menu-item>a,
#bme-header .bme-primary-menu>li.current_page_item>a {
    color: var(--bme-primary);
}

#bme-header .bme-primary-menu>li.current-menu-item::after,
#bme-header .bme-primary-menu>li.current_page_item::after {
    background: var(--bme-primary);
}

#bme-header .bme-primary-menu .sub-menu a:hover {
    color: var(--bme-primary-dark);
}


/* Add Listing button: re-skin the plugin's .add-list.color-bg
   with the site's primary green, matching every other CTA */

#bme-header .bme-header-add-listing-wrap .add-list {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--bme-primary) !important;
    background-image: none !important;
    color: var(--bme-secondary) !important;
    border-color: var(--bme-primary) !important;
    border-radius: var(--bme-radius-sm);
    font-weight: 600;
    font-size: 14px;
    padding: 10px 18px;
    transition: var(--bme-transition);
}

#bme-header .bme-header-add-listing-wrap .add-list:hover {
    background: var(--bme-primary-dark) !important;
    border-color: var(--bme-primary-dark) !important;
    color: var(--bme-white) !important;
}


/* Sign In: parent theme's default link/icon color -> header text tone */

#bme-header .bme-header-user-wrap .show-reg-form {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: rgba(255, 255, 255, 0.88) !important;
    font-weight: 600;
    font-size: 14px;
    transition: color 0.25s ease;
}

#bme-header .bme-header-user-wrap .show-reg-form:hover {
    color: var(--bme-primary) !important;
}


/* ---- Logged-in state: plugin swaps .show-reg-form for a completely
   different structure (.header-user-menu > .header-user-name >
   .au-avatar > img). Never styled before, so it was falling back to
   the plugin/parent-theme default position - same class of bug as
   the language dropdown and add-listing button had. ---- */

#bme-header .bme-header-user-wrap {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
}

#bme-header .bme-header-user-wrap .header-user-menu,
#bme-header .bme-header-user-wrap .header-user-name {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    top: auto !important;
    inset: auto !important;
    transform: none !important;
}

#bme-header .bme-header-user-wrap .au-avatar {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    position: static !important;
    top: auto !important;
    inset: auto !important;
    transform: none !important;
}

#bme-header .bme-header-user-wrap .au-avatar img.avatar {
    display: block !important;
    width: 36px !important;
    height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    margin: 0 !important;
    vertical-align: middle !important;
    border: 2px solid rgba(255, 255, 255, 0.25);
}


/* The little caret toggle after the avatar, if present */

#bme-header .bme-header-user-wrap .header-user-name::before,
#bme-header .bme-header-user-wrap .header-user-name::after {
    display: flex;
    align-items: center;
    color: rgba(255, 255, 255, 0.85);
}


/* Wishlist icon + counter: badge was the parent theme's .green-bg,
   a different, non-token green */

#bme-header .bme-header-wishlist-wrap .cart-btn {
    color: rgba(255, 255, 255, 0.88);
}

#bme-header .bme-header-wishlist-wrap .cart-btn:hover {
    color: var(--bme-primary);
}


/* ---- Premium alignment pass: every icon in the header actions row
   gets identical, explicit sizing/line-height so font-icon glyph
   baselines can't drift the row even when the parent box is
   already correctly centered ---- */

#bme-header .bme-header-language-wrap .show-lang,
#bme-header .bme-header-add-listing-wrap .add-list {
    position: static !important;
    top: auto !important;
    inset: auto !important;
    transform: none !important;
}

#bme-header .bme-header-wishlist-wrap .cart-btn {
    position: relative !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
}

#bme-header .bme-header-actions,
#bme-header .bme-header-actions * {
    line-height: 1 !important;
}

#bme-header .bme-header-language-wrap .show-lang i,
#bme-header .bme-header-language-wrap .show-lang .arrlan,
#bme-header .bme-header-user-wrap .show-reg-form i,
#bme-header .bme-header-wishlist-wrap .cart-btn i,
#bme-header .bme-header-add-listing-wrap .add-list i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 15px;
    height: 15px;
    font-size: 15px !important;
    line-height: 1 !important;
    margin: 0 !important;
    vertical-align: middle !important;
}

#bme-header .bme-header-language-wrap .show-lang .arrlan {
    width: 10px;
    height: 10px;
    font-size: 10px !important;
}

#bme-header .bme-header-language-wrap .show-lang,
#bme-header .bme-header-user-wrap .show-reg-form,
#bme-header .bme-header-wishlist-wrap .cart-btn,
#bme-header .bme-header-add-listing-wrap .add-list {
    display: inline-flex !important;
    align-items: center !important;
}

#bme-header .bme-header-language-wrap .show-lang span,
#bme-header .bme-header-user-wrap .show-reg-form,
#bme-header .bme-header-add-listing-wrap .add-list {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px;
}

#bme-header .bme-header-wishlist-wrap .cart-counter {
    background: var(--bme-primary) !important;
    color: var(--bme-secondary) !important;
    font-weight: 700;
}


/* Language switcher: same muted-white / hover-green treatment
   as the rest of the header actions */

#bme-header .bme-header-language-wrap,
#bme-header .bme-header-language-wrap a {
    color: rgba(255, 255, 255, 0.88) !important;
    font-size: 14px;
    font-weight: 600;
}

#bme-header .bme-header-language-wrap a:hover {
    color: var(--bme-primary) !important;
}


/* =========================================================
   BME HEADER - ACTIONS VERTICAL ALIGNMENT FIX
   -----------------------------------------------------------
   Rewritten against the actual rendered markup (inspected via
   DevTools), rather than guessing. The real culprit: the
   wishlist heart's dropdown panel (.header-modal.novis_wishlist
   - a full panel with heading, list, and close button) and the
   language switcher's flyout (ul.lang-tooltip) both sit INLINE
   in the DOM immediately after their visible trigger, inside
   the same wrap. If either isn't pulled out of normal flow,
   it inflates its wrap's real height far past the small icon
   everyone can see, which is what was throwing off the divider
   and vertical centering - not the visible elements themselves.
   Sign In is a single plain <a> with no such issue, so the
   divider lives directly on it, sized to its own content.
   No shortcode output, markup, or click/toggle functionality
   changed - only position/box-model of existing elements.
   ========================================================= */

#bme-header .bme-header-actions {
    height: 100%;
}

#bme-header .bme-header-language-wrap,
#bme-header .bme-header-user-wrap,
#bme-header .bme-header-wishlist-wrap,
#bme-header .bme-header-add-listing-wrap {
    position: relative;
    height: auto;
    margin: 0 !important;
    padding: 0 !important;
}

#bme-header .bme-header-actions>* {
    border-left: 0 !important;
    border-right: 0 !important;
}


/* ---- Language: widget wrapper divs are plain, unstyled block
   containers - collapse them, then pull the flyout <ul> out of
   flow so only the visible pill affects layout ---- */

#bme-header .bme-header-language-wrap .widget_text,
#bme-header .bme-header-language-wrap .textwidget,
#bme-header .bme-header-language-wrap .lang-wrap {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1;
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
}

#bme-header .bme-header-language-wrap .show-lang {
    display: flex !important;
    align-items: center;
    gap: 4px;
    line-height: 1;
    cursor: pointer;
}

#bme-header .bme-header-language-wrap .lang-tooltip {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    margin-top: 12px !important;
}


/* ---- Language dropdown: proper hover-reveal + real card styling ----
   .lang-wrap becomes the positioning anchor itself (not the outer
   widget wrap), so the tooltip always sits directly under the
   "En" pill regardless of breakpoint/flex context. Hidden by
   default via opacity/visibility (not display:none) so the
   hover chain never breaks when the mouse moves from the pill
   into the list. */

#bme-header .bme-header-language-wrap .lang-wrap {
    position: relative !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
}

#bme-header .bme-header-language-wrap .lang-tooltip {
    width: 160px !important;
    max-width: 160px !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 8px !important;
    margin: 0 !important;
    list-style: none !important;
    background: #ffffff !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18) !important;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease !important;
    z-index: 9999 !important;
}

#bme-header .bme-header-language-wrap .lang-wrap:hover .lang-tooltip {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

#bme-header .bme-header-language-wrap .lang-tooltip li {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: auto !important;
    background: none !important;
}

#bme-header .bme-header-language-wrap .lang-tooltip li a {
    display: block !important;
    width: auto !important;
    height: auto !important;
    padding: 9px 12px !important;
    margin: 0 !important;
    color: #173f37 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    background: none !important;
    border: 0 !important;
    border-radius: 7px !important;
    white-space: nowrap !important;
    line-height: 1.3 !important;
}

#bme-header .bme-header-language-wrap .lang-tooltip li a:hover,
#bme-header .bme-header-language-wrap .lang-tooltip li a.current-lan {
    color: var(--bme-primary-dark) !important;
    background: #f3f8ed !important;
}


/* ---- Sign In: single anchor, icon + text - the divider lives
   directly on it, sized to exactly this element's own content ---- */

#bme-header .bme-header-user-wrap .show-reg-form {
    position: static !important;
    top: auto !important;
    display: inline-flex !important;
    align-items: center;
    height: auto !important;
    line-height: 1 !important;
    padding: 0 0 0 16px !important;
    margin-left: 16px !important;
    border: 0 !important;
    border-left: 1px solid rgba(255, 255, 255, 0.18) !important;
}


/* ---- Wishlist: pull the dropdown panel out of flow so it can
   never inflate the wrap's height, whatever its show/hide state ---- */

#bme-header .bme-header-wishlist-wrap .cart-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    height: auto !important;
    line-height: 1 !important;
}

#bme-header .bme-header-wishlist-wrap .header-modal {
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    margin-top: 12px !important;
}

#bme-header .bme-header-wishlist-wrap .cart-counter {
    position: absolute !important;
    top: -6px !important;
    right: -8px !important;
    left: auto !important;
    bottom: auto !important;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 16px;
    height: 16px;
    line-height: 1;
    font-size: 10px;
    border-radius: 50%;
}


/* ---- Wishlist panel: real card styling + keep close button
   inside the bottom bar instead of escaping to the header row ---- */

#bme-header .bme-header-wishlist-wrap .header-modal {
    width: 320px;
    max-width: calc(100vw - 32px);
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.18);
    overflow: hidden;
}

#bme-header .bme-header-wishlist-wrap .header-modal-container {
    max-height: 320px;
    overflow-y: auto;
    padding: 10px;
}

#bme-header .bme-header-wishlist-wrap .wishlist-item,
#bme-header .bme-header-wishlist-wrap .no-bookmark-wrap {
    padding: 12px 10px;
    color: #173f37;
    font-size: 13px;
}

#bme-header .bme-header-wishlist-wrap .header-modal-top {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 16px;
    background: var(--bme-secondary);
}

#bme-header .bme-header-wishlist-wrap .header-modal-top h4 {
    margin: 0;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
}

#bme-header .bme-header-wishlist-wrap .close-header-modal {
    position: static;
    /* forces it into the flex bar above instead of
                           whatever ancestor it was inheriting position from */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: #fff;
    cursor: pointer;
}


/* ---- Add Listing: single anchor, icon + text - explicit compact
   height so it can't inherit a taller default from the parent theme ---- */

#bme-header .bme-header-add-listing-wrap .add-list {
    height: 44px !important;
    line-height: 1 !important;
    padding: 0 20px !important;
    border-radius: 22px !important;
    box-sizing: border-box !important;
}


/* ===========================================================
   BOOKMYENERGY LOGIN / REGISTER MODAL
=========================================================== */

.login-modal {
    backdrop-filter: blur(12px);
    background: rgba(0, 0, 0, .55);
    transition: .35s ease;
    z-index: 999999;
}


/* Main Modal */

.main-register-wrap {
    /* this is the plugin's own fixed, full-screen overlay — leave its
       position/size alone, only add the visual backdrop */
    padding: 0;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background: rgba(6, 30, 25, 0.72);
}

.reg-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
}


/* This is the actual card — width/centering belong here, not on the overlay */

.main-register-holder {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 520px;
    margin: 90px auto 50px;
    border-radius: 20px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 30px 80px rgba(0, 0, 0, .35);
    animation: bmeModal .35s ease;
}

.main-register {
    border-radius: 20px;
    overflow: hidden;
}


/* Top Header */

.main-register-wrap h3 {
    margin: 0;
    padding: 28px;
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, #0B3028, #154E43);
    text-align: center;
    letter-spacing: .5px;
}


/* Login/Register Tabs */

.filter-tags {
    display: flex;
    justify-content: center;
    gap: 20px;
    border-bottom: 1px solid #ececec;
    padding: 18px 25px;
    background: #fff;
}

.filter-tags li {
    margin: 0;
}

.filter-tags li a {
    color: #5b5b5b;
    font-weight: 600;
    font-size: 15px;
    transition: .3s;
}

.filter-tags li.active a {
    color: #93C83E;
}

.filter-tags li a:hover {
    color: #93C83E;
}


/* Form */

.custom-form {
    padding: 35px;
}


/* Labels */

.custom-form label {
    font-weight: 600;
    color: #1d1d1d;
    margin-bottom: 8px;
}


/* Inputs */

.custom-form input[type=text],
.custom-form input[type=email],
.custom-form input[type=password] {
    height: 56px;
    border: 1px solid #d9d9d9;
    border-radius: 14px;
    padding: 0 18px;
    background: #fafafa;
    transition: .3s;
}

.custom-form input:focus {
    border-color: #93C83E;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(147, 200, 62, .12);
    outline: none;
}


/* Button */

.custom-form button,
.custom-form input[type=submit] {
    width: 100%;
    height: 56px;
    border: none;
    border-radius: 14px;
    background: #93C83E;
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    transition: .35s;
}

.custom-form button:hover,
.custom-form input[type=submit]:hover {
    background: #7cb62e;
    transform: translateY(-2px);
    box-shadow: 0 12px 25px rgba(147, 200, 62, .35);
}


/* Remember */

.filter-tags+.custom-form .filter-tags {
    border: none;
}

.lost_password {
    color: #0B3028;
    font-weight: 600;
}

.lost_password:hover {
    color: #93C83E;
}


/* Close Button */

.close-reg {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #ffffff22;
    transition: .3s;
}

.close-reg:hover {
    transform: rotate(90deg);
    background: #93C83E;
}


/* Footer */

.main-register-holder .soc-log {
    border-top: 1px solid #ececec;
    padding: 25px;
    background: #fafafa;
}


/* Animation */

@keyframes bmeModal {
    from {
        transform: translateY(30px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}


/* Mobile */

@media(max-width:768px) {
    .main-register-holder {
        width: 94%;
        margin: 40px auto;
    }
    .custom-form {
        padding: 25px;
    }
    .main-register-wrap h3 {
        font-size: 24px;
        padding: 22px;
    }
}

@media(max-width:992px) {
    .bme-grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
    .bme-grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media(max-width:768px) {
    .bme-grid-2,
    .bme-grid-3,
    .bme-grid-4 {
        grid-template-columns: 1fr;
    }
    .bme-section {
        padding: 70px 0;
    }
    .bme-section-title {
        font-size: 34px;
    }
}


/* ==========================================
   BOOKMYENERGY HERO SEARCH
========================================== */

.bme-search-content {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .12);
}

.bme-search-card .filter_form_hero {
    margin: 0;
    padding: 0;
    background: none;
}

.bme-search-card .hero-inputs-wrap {
    background: none;
}

.bme-search-card .filter-item-inner {
    margin: 0;
}


/*==================================================
    BOOKMYENERGY SEARCH LAYOUT
==================================================*/

.bme-search-card .hero-inputs-wrap {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr 220px;
    gap: 16px;
    align-items: center;
    padding: 24px;
    background: #ffffff !important;
    border-radius: 20px;
}

.bme-search-card .filter-item-inner {
    height: 64px;
    display: flex;
    align-items: center;
    background: #f7f9fc;
    border: 1px solid #e6ebf2;
    border-radius: 14px;
    transition: .3s;
}

.bme-search-card .filter-item-inner:hover {
    border-color: #9ad43b;
}

.bme-search-card input {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.bme-search-card .nice-select {
    border: none !important;
    background: transparent !important;
    width: 100%;
    height: 64px;
    line-height: 64px;
}

.bme-search-card .main-search-button {
    height: 64px;
    width: 100%;
    border-radius: 14px;
    background: #8CC63F !important;
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    transition: .3s;
}

.bme-search-card .main-search-button:hover {
    background: #0b3028 !important;
    transform: translateY(-2px);
}

@media(max-width:991px) {
    .bme-search-card .hero-inputs-wrap {
        grid-template-columns: 1fr;
    }
}


/* ==========================================
   BOOKMYENERGY HERO SEARCH
========================================== */

.bme-search-card {
    margin-top: 40px;
    max-width: 1000px;
}

.bme-search-form {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 180px;
    gap: 16px;
    align-items: center;
    background: #fff;
    padding: 18px;
    border-radius: 18px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .15);
}

.bme-search-item {
    display: flex;
    align-items: center;
    gap: 12px;
    height: 60px;
    padding: 0 18px;
    background: #f6f8fb;
    border: 1px solid #e3e7ee;
    border-radius: 12px;
    transition: .3s;
}

.bme-search-item:hover {
    border-color: #8CC63F;
}

.bme-search-item i {
    color: #8CC63F;
    font-size: 18px;
}

.bme-search-item input,
.bme-search-item select {
    width: 100%;
    border: none;
    background: transparent;
    outline: none;
    font-size: 15px;
    color: #222;
}

.bme-search-button {
    height: 60px;
    border: none;
    border-radius: 12px;
    background: #8CC63F;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: .3s;
}

.bme-search-button:hover {
    background: #0c4a36;
    transform: translateY(-2px);
}

@media(max-width:991px) {
    .bme-search-form {
        grid-template-columns: 1fr;
    }
}

.bme-listings-page {
    background: #f4f6f8;
    /* light neutral instead of dark navy */
    padding-bottom: 60px;
}

.bme-listings-header {
    background: linear-gradient(135deg, #0f2f26 0%, #163a2e 100%);
    padding: 48px 24px 90px;
    text-align: left;
}

.bme-listings-header h1 {
    color: #fff;
    font-size: 32px;
    margin: 0;
}


/* Search card floats up over the hero, like a real marketplace */

.bme-listings-page .bme-search-card {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
    padding: 20px;
    margin: -50px auto 40px;
    max-width: 1100px;
    position: relative;
    z-index: 2;
}

.bme-listings-page .bme-search-form {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
}

.bme-listings-page .bme-search-item {
    flex: 1;
    min-width: 180px;
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #e2e2e2;
    border-radius: 8px;
    padding: 10px 14px;
}

.bme-listings-page .bme-search-item:nth-of-type(1) {
    flex: 2.2;
    min-width: 240px;
}

.bme-listings-page .bme-search-item:nth-of-type(3) {
    flex: 1.3;
    min-width: 170px;
}

.bme-listings-page .bme-search-button {
    flex: 0 0 auto;
}

.bme-listings-page .bme-search-item input,
.bme-listings-page .bme-search-item select {
    border: none;
    outline: none;
    width: 100%;
    font-size: 14px;
}

.bme-listings-page .bme-search-button {
    background: #1f6e3f;
    color: #fff;
    border: none;
    padding: 12px 28px;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease;
}

.bme-listings-page .bme-search-button:hover {
    background: #17542f;
}


/* Card grid */

.bme-listings-grid,
.bme-results-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
    gap: 24px;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
}

.bme-card {
    background: #fff;
    border: 1px solid #eef2ee;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(13, 59, 48, 0.05);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.bme-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 36px rgba(13, 59, 48, 0.12);
    border-color: rgba(148, 209, 47, 0.35);
}

.bme-card-img {
    width: 100%;
    height: 130px;
    object-fit: contain;
    background: #f8f9fa;
    padding: 20px;
    box-sizing: border-box;
    border-bottom: 1px solid #f0f0f0;
    transition: transform 0.4s ease;
}

.bme-card:hover .bme-card-img {
    transform: scale(1.05);
}


/* Placeholder for listings with no logo */

.bme-card-img-placeholder {
    width: 100%;
    height: 130px;
    background: linear-gradient(135deg, #eaf5ec 0%, #dcf0dd 100%);
    border-bottom: 1px solid #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7cb355;
    font-size: 32px;
}

.bme-card-body {
    padding: 18px;
}

.bme-card-title {
    margin: 0 0 6px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
}

.bme-card-title a {
    color: #14321f;
    text-decoration: none;
}

.bme-card-location {
    margin: 0 0 10px;
    font-size: 13px;
    color: #8a8f93;
    display: flex;
    align-items: center;
    gap: 4px;
}

.bme-card-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.bme-cat-pill {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.2px;
    background: #eaf5ec;
    color: #1f6e3f;
    padding: 4px 10px;
    border-radius: 999px;
}

.bme-results-toolbar {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px 16px;
}

.bme-results-count {
    font-size: 14px;
    font-weight: 600;
    color: var(--bme-text-light, #667069);
}

.bme-no-results {
    max-width: 1100px;
    margin: 0 auto;
    padding: 60px 24px;
    text-align: center;
}

.bme-no-results-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #eaf5ec;
    color: #4b8f2c;
    font-size: 22px;
    margin-bottom: 18px;
}

.bme-no-results h3 {
    font-size: 18px;
    font-weight: 700;
    color: #14321f;
    margin: 0 0 6px;
}

.bme-no-results p {
    font-size: 14px;
    color: #8a8f93;
    margin: 0;
}

#bme-results.bme-loading {
    opacity: 0.45;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.bme-listings-hero {
    position: relative;
    background: linear-gradient(120deg, #0b2b1f 0%, #14432f 55%, #1c5c3d 100%);
    padding: 80px 24px 120px;
    overflow: hidden;
}

.bme-listings-hero::after {
    content: "";
    position: absolute;
    top: -40%;
    right: -10%;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(140, 224, 150, 0.18) 0%, transparent 70%);
    border-radius: 50%;
}

.bme-hero-content {
    position: relative;
    z-index: 2;
}

.bme-hero-eyebrow {
    display: inline-block;
    background: rgba(255, 255, 255, 0.12);
    color: #b8f0c4;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 18px;
}

.bme-listings-hero h1 {
    color: #fff;
    font-size: 42px;
    font-weight: 800;
    margin: 0 0 12px;
    letter-spacing: -0.5px;
}

.bme-listings-hero p {
    color: rgba(255, 255, 255, 0.75);
    font-size: 16px;
    max-width: 560px;
    margin: 0;
}

.bme-hero-stat-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 22px;
    padding: 9px 18px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
}

.bme-hero-stat-chip i {
    color: #9ad43b;
}

.bme-pagination-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin: 40px 0 60px;
}

.bme-page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 10px;
    border-radius: 8px;
    background: #fff;
    color: #14321f;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    border: 1px solid #e2e2e2;
    transition: all 0.15s ease;
}

.bme-page-link:hover {
    background: #eaf5ec;
    border-color: #1f6e3f;
}

.bme-page-link.active {
    background: #1f6e3f;
    color: #fff;
    border-color: #1f6e3f;
}

.bme-page-nav {
    font-size: 18px;
    font-weight: 700;
}

.bme-page-ellipsis {
    color: #9aa19c;
    padding: 0 4px;
}


/* =========================================================
   SINGLE LISTING PAGE — PREMIUM REDESIGN
========================================================= */

.bme-single-listing {
    background: var(--bme-bg);
    padding-bottom: 40px;
    --sl-radius: 20px;
    --sl-radius-sm: 14px;
    --sl-shadow: 0 10px 30px rgba(13, 59, 48, 0.08);
    --sl-shadow-hover: 0 22px 48px rgba(13, 59, 48, 0.14);
    --sl-border: 1px solid rgba(13, 59, 48, 0.07);
}


/* ---------- HERO ---------- */

.bme-single-hero {
    position: relative;
    background-color: var(--bme-secondary);
    background-size: cover;
    background-position: center;
    padding: 64px 24px 140px;
    isolation: isolate;
}

.bme-single-hero-overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(120% 100% at 85% -10%, rgba(148, 209, 47, 0.22) 0%, transparent 55%), linear-gradient(180deg, rgba(9, 38, 31, 0.72) 0%, rgba(9, 38, 31, 0.88) 55%, rgba(8, 30, 24, 0.97) 100%);
}

.bme-single-hero-content {
    position: relative;
    z-index: 2;
}

.bme-breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    color: rgba(255, 255, 255, 0.55);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    margin-bottom: 22px;
}

.bme-breadcrumbs i {
    font-size: 9px;
    color: rgba(255, 255, 255, 0.35);
}

.bme-breadcrumbs a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    transition: color 0.15s ease;
}

.bme-breadcrumbs a:hover {
    color: var(--bme-primary);
}

.bme-single-cats {
    display: flex;
    gap: 8px;
    margin-bottom: 18px;
}

.bme-single-cats .bme-cat-pill {
    background: rgba(148, 209, 47, 0.16);
    border: 1px solid rgba(148, 209, 47, 0.35);
    color: var(--bme-primary);
}

.bme-single-hero-content h1 {
    color: #fff;
    font-size: 40px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.8px;
    margin: 0 0 18px;
    max-width: 780px;
}

.bme-single-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 26px;
}

.bme-meta-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(6px);
    color: rgba(255, 255, 255, 0.85);
    font-size: 13px;
    font-weight: 500;
    padding: 8px 14px;
    border-radius: 999px;
}

.bme-meta-chip i {
    color: var(--bme-primary);
    font-size: 12px;
}

.bme-single-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.bme-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    padding: 11px 20px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--bme-transition);
}

.bme-action-btn:hover {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.32);
    transform: translateY(-2px);
}

.bme-action-btn.is-copied {
    background: var(--bme-primary);
    border-color: var(--bme-primary);
    color: var(--bme-secondary);
}

.bme-action-btn-save i {
    transition: transform 0.2s ease, color 0.2s ease;
}

.bme-action-btn-save.is-active {
    background: rgba(239, 68, 68, 0.14);
    border-color: rgba(239, 68, 68, 0.4);
}

.bme-action-btn-save.is-active i {
    color: #ef4444;
    transform: scale(1.15);
}

.bme-action-btn-primary {
    background: linear-gradient(135deg, var(--bme-primary) 0%, var(--bme-primary-dark) 100%);
    border-color: transparent;
    color: var(--bme-secondary);
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(148, 209, 47, 0.3);
}

.bme-action-btn-primary:hover {
    box-shadow: 0 14px 30px rgba(148, 209, 47, 0.42);
    transform: translateY(-2px);
}


/* ---------- QUICK INFO STRIP (overlaps hero) ---------- */

.bme-quick-info-bar {
    position: relative;
    z-index: 4;
    margin-top: -70px;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    background: #fff;
    border-radius: var(--sl-radius);
    box-shadow: var(--sl-shadow-hover);
    padding: 22px 28px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 20px;
}

.bme-quick-info-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-right: 20px;
    border-right: 1px solid #eef1ee;
}

.bme-quick-info-item:last-child {
    border-right: none;
    padding-right: 0;
}

.bme-quick-info-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #eaf5ec 0%, #dcf0dd 100%);
    color: var(--bme-primary-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}

.bme-quick-info-label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    color: var(--bme-text-light);
    margin-bottom: 3px;
}

.bme-quick-info-value {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--bme-secondary);
    line-height: 1.3;
}


/* ---------- BODY LAYOUT ---------- */

.bme-single-body {
    display: grid;
    grid-template-columns: 2fr 1fr;
    align-items: start;
    gap: 28px;
    margin-top: 28px;
    position: relative;
    z-index: 3;
    padding: 0 24px 60px;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.bme-single-body--no-strip {
    margin-top: -70px;
}

.bme-single-card {
    background: #fff;
    border-radius: var(--sl-radius);
    padding: 30px;
    box-shadow: var(--sl-shadow);
    border: var(--sl-border);
    margin-bottom: 24px;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.bme-single-card:hover {
    box-shadow: var(--sl-shadow-hover);
}

.bme-card-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 20px;
    padding-bottom: 16px;
    border-bottom: 2px solid #f0f5f0;
}

.bme-card-icon {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: linear-gradient(135deg, #eaf5ec 0%, #dcf0dd 100%);
    color: var(--bme-primary-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
}

.bme-single-card h2 {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.2px;
    color: var(--bme-secondary);
    margin: 0;
}

.bme-gallery-card {
    padding: 0;
    overflow: hidden;
}

.bme-gallery-main {
    width: 100%;
    max-height: 400px;
    object-fit: cover;
    display: block;
}

.bme-single-content {
    font-size: 15px;
    line-height: 1.8;
    color: var(--bme-text-light);
}

.bme-single-content p {
    margin: 0 0 14px;
}


/* ---------- COMPANY PROFILE STAT GRID ---------- */

.bme-profile-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
}

.bme-profile-stat {
    background: #f8faf8;
    border: 1px solid #eef2ee;
    border-radius: var(--sl-radius-sm);
    padding: 18px;
    transition: var(--bme-transition);
}

.bme-profile-stat:hover {
    background: #eaf5ec;
    border-color: rgba(148, 209, 47, 0.35);
    transform: translateY(-2px);
}

.bme-profile-stat i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: #fff;
    color: var(--bme-primary-dark);
    font-size: 14px;
    margin-bottom: 12px;
}

.bme-profile-label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    color: var(--bme-text-light);
    margin-bottom: 4px;
}

.bme-profile-stat strong {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--bme-secondary);
    line-height: 1.4;
}

.bme-profile-sub {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid #f0f5f0;
}

.bme-profile-sub h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--bme-secondary);
    margin: 0 0 10px;
}

.bme-profile-sub h3 i {
    color: var(--bme-primary-dark);
    font-size: 13px;
}

.bme-profile-sub p {
    font-size: 14px;
    line-height: 1.7;
    color: var(--bme-text-light);
    margin: 0;
}


/* ---------- FACILITIES & SERVICES ---------- */

.bme-feature-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.bme-feature-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    font-weight: 600;
    color: var(--bme-secondary);
    background: #eaf5ec;
    border: 1px solid rgba(148, 209, 47, 0.3);
    padding: 8px 14px;
    border-radius: 999px;
    transition: var(--bme-transition);
}

.bme-feature-pill:hover {
    background: rgba(148, 209, 47, 0.22);
    transform: translateY(-2px);
}

.bme-feature-pill i {
    color: var(--bme-primary-dark);
    font-size: 10px;
}


/* ---------- SIDEBAR ---------- */


/* The sidebar sticks as ONE unit while scrolling the long main
   column. Making each card sticky individually (the previous
   approach) caused the Contact and Booking cards to overlap. */

.bme-single-sidebar {
    align-self: start;
    position: sticky;
    top: 20px;
}

.bme-single-sidebar .bme-single-card {
    margin-bottom: 24px;
}

.bme-single-sidebar .bme-single-card:last-child {
    margin-bottom: 0;
}

.bme-contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.bme-contact-list li {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid #f2f2f2;
}

.bme-contact-list li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.bme-contact-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}

.bme-contact-icon--phone {
    background: #eaf5ec;
    color: var(--bme-primary-dark);
}

.bme-contact-icon--email {
    background: #e6f5fc;
    color: var(--bme-accent);
}

.bme-contact-icon--web {
    background: #f1ecfb;
    color: #7c5cd1;
}

.bme-contact-label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    color: var(--bme-text-light);
    margin-bottom: 2px;
}

.bme-contact-list a {
    color: var(--bme-secondary);
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    transition: color 0.15s ease;
}

.bme-contact-list a:hover {
    color: var(--bme-primary-dark);
}


/* ---------- BOOKING INQUIRY FORM ---------- */

.bme-form-group {
    margin-bottom: 14px;
}

.bme-form-group input,
.bme-form-group textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--bme-border);
    border-radius: var(--bme-radius-xs);
    font-size: 14px;
    background: #f9faf9;
    box-sizing: border-box;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.bme-form-group--icon {
    position: relative;
}

.bme-form-group--icon i {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #a8b2ab;
    font-size: 13px;
    pointer-events: none;
}

.bme-form-group--icon input {
    padding-left: 38px;
}

.bme-form-group input:focus,
.bme-form-group textarea:focus {
    outline: none;
    border-color: var(--bme-primary);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(148, 209, 47, 0.14);
}

.bme-form-group--icon input:focus+i,
.bme-form-group--icon input:focus~i {
    color: var(--bme-primary-dark);
}

.bme-booking-submit {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bme-booking-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(148, 209, 47, 0.35);
}

.bme-success-msg {
    background: #eaf5ec;
    color: var(--bme-primary-dark);
    font-size: 13px;
    padding: 10px 14px;
    border-radius: var(--bme-radius-xs);
    margin-top: 10px;
}

.bme-error-msg {
    background: #fdecea;
    color: #c0392b;
    font-size: 13px;
    padding: 10px 14px;
    border-radius: var(--bme-radius-xs);
    margin-top: 10px;
}


/* ---------- CONTENT BAND (fixes the theme's default dark backdrop
   showing through the Similar Listings / Reviews sections) ---------- */

.bme-page-band {
    background: var(--bme-bg);
    border-top: 1px solid #eef2ee;
    padding: 8px 0 4px;
}


/* ---------- SIMILAR LISTINGS ---------- */

.bme-similar-section {
    padding: 44px 24px 20px;
    max-width: 1100px;
    margin: 0 auto;
}

.bme-section-head-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 22px;
}

.bme-section-eyebrow {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--bme-primary-dark);
    margin-bottom: 8px;
}

.bme-similar-title {
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.4px;
    color: var(--bme-secondary);
    margin: 0;
}

.bme-view-all-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    color: var(--bme-primary-dark);
    text-decoration: none;
    padding: 10px 18px;
    border: 1px solid rgba(148, 209, 47, 0.4);
    border-radius: 999px;
    transition: var(--bme-transition);
    white-space: nowrap;
}

.bme-view-all-link i {
    font-size: 11px;
    transition: transform 0.2s ease;
}

.bme-view-all-link:hover {
    background: var(--bme-primary);
    border-color: var(--bme-primary);
    color: var(--bme-secondary);
}

.bme-view-all-link:hover i {
    transform: translateX(3px);
}


/* Scoped polish for listing cards only inside the Similar Listings
   grid — the shared .bme-card class used elsewhere is left untouched. */

.bme-similar-section .bme-results-grid {
    max-width: none;
    padding: 0;
    margin: 0;
}

.bme-similar-section .bme-card {
    border: 1px solid #eef2ee;
    border-radius: var(--sl-radius-sm);
}

.bme-similar-section .bme-card-img {
    overflow: hidden;
    transition: transform 0.4s ease;
}

.bme-similar-section .bme-card:hover .bme-card-img {
    transform: scale(1.04);
}

.bme-similar-section .bme-card-title a {
    transition: color 0.15s ease;
}

.bme-similar-section .bme-card:hover .bme-card-title a {
    color: var(--bme-primary-dark);
}


/* ---------- REVIEWS ---------- */

.bme-reviews-section {
    padding: 12px 24px 70px;
    max-width: 1100px;
    margin: 0 auto;
}

.bme-reviews-section>.bme-section-eyebrow {
    display: block;
    margin-bottom: 8px;
}

.bme-review-summary {
    display: flex;
    gap: 32px;
    align-items: center;
    background: linear-gradient(135deg, #f8fbf8 0%, #eef6ee 100%);
    border: 1px solid #e6f1e6;
    border-radius: var(--sl-radius-sm);
    padding: 26px;
    margin-bottom: 28px;
}

.bme-score-ring {
    --pct: 0;
    flex-shrink: 0;
    width: 104px;
    height: 104px;
    border-radius: 50%;
    background: conic-gradient(var(--bme-primary-dark) calc(var(--pct) * 1%), #e3ece2 0);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 24px rgba(111, 167, 42, 0.22);
}

.bme-score-ring-inner {
    width: 82px;
    height: 82px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.bme-score-ring-inner strong {
    font-size: 24px;
    font-weight: 800;
    color: var(--bme-secondary);
    line-height: 1.1;
}

.bme-score-ring-inner span {
    font-size: 11px;
    color: var(--bme-text-light);
    font-weight: 600;
}

.bme-score-bars {
    flex: 1;
}

.bme-score-row {
    display: grid;
    grid-template-columns: 100px 1fr 30px;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
    font-size: 13px;
}

.bme-score-row span:first-child {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    color: var(--bme-secondary);
}

.bme-score-row span:first-child i {
    color: var(--bme-primary-dark);
    font-size: 11px;
}

.bme-score-row span:last-child {
    font-weight: 700;
    color: var(--bme-secondary);
    text-align: right;
}

.bme-bar {
    background: #eef2ee;
    border-radius: 999px;
    height: 7px;
    overflow: hidden;
}

.bme-bar div {
    background: linear-gradient(90deg, var(--bme-primary) 0%, var(--bme-primary-dark) 100%);
    height: 100%;
    border-radius: 999px;
    transition: width 0.5s ease;
}

.bme-review-item {
    display: flex;
    gap: 16px;
    padding: 22px 0;
    border-bottom: 1px solid #f2f2f2;
}

.bme-review-item:last-child {
    border-bottom: none;
}

.bme-review-avatar {
    flex-shrink: 0;
    padding: 3px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--bme-primary) 0%, var(--bme-accent) 100%);
}

.bme-review-avatar img {
    display: block;
    border-radius: 50%;
    border: 2px solid #fff;
}

.bme-review-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.bme-review-head strong {
    font-size: 15px;
    color: var(--bme-secondary);
}

.bme-star-row i {
    font-size: 12px;
    color: #f4b400;
    margin-left: 1px;
}

.bme-star-row i.far {
    color: #dfe3df;
}

.bme-review-date {
    font-size: 12px;
    color: #999;
    margin: 4px 0 8px;
}

.bme-review-text {
    font-size: 14px;
    color: var(--bme-text-light);
    line-height: 1.7;
    margin: 0;
}

.bme-add-review {
    background: #fafbfa;
    border: 1px solid #eef2ee;
    border-radius: var(--sl-radius-sm);
    padding: 26px;
    margin-top: 28px;
}

.bme-add-review h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    color: var(--bme-secondary);
    margin: 0 0 18px;
}

.bme-add-review h3 i {
    color: var(--bme-primary-dark);
    font-size: 14px;
}

.bme-rating-slider {
    margin-bottom: 16px;
}

.bme-rating-slider label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--bme-secondary);
}

.bme-rating-value {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    background: var(--bme-primary-dark);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    border-radius: 999px;
}

.bme-rating-slider input[type="range"] {
    width: 100%;
    height: 6px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--bme-primary) 0%, var(--bme-primary-dark) 60%, #e2eee4 60%);
    -webkit-appearance: none;
}

.bme-rating-slider input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid var(--bme-primary-dark);
    box-shadow: 0 2px 8px rgba(111, 167, 42, 0.45);
    cursor: pointer;
}

.bme-rating-slider input[type="range"]::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid var(--bme-primary-dark);
    box-shadow: 0 2px 8px rgba(111, 167, 42, 0.45);
    cursor: pointer;
}

.bme-add-review textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--bme-border);
    border-radius: var(--bme-radius-xs);
    margin-bottom: 14px;
    background: #fff;
    box-sizing: border-box;
    font-size: 14px;
    resize: vertical;
}

.bme-add-review textarea:focus {
    outline: none;
    border-color: var(--bme-primary);
    box-shadow: 0 0 0 4px rgba(148, 209, 47, 0.14);
}

.bme-login-notice {
    font-size: 14px;
    color: var(--bme-text-light);
}

.bme-login-notice a {
    color: var(--bme-primary-dark);
    font-weight: 600;
}


/* ---------- MOBILE STICKY CTA BAR ---------- */

.bme-mobile-cta-bar {
    display: none;
}


/* ---------- RESPONSIVE ---------- */

@media (max-width: 960px) {
    .bme-quick-info-bar {
        grid-template-columns: repeat(2, 1fr);
    }
    .bme-quick-info-item:nth-child(2n) {
        border-right: none;
    }
}

@media (max-width: 800px) {
    .bme-single-hero {
        padding: 48px 20px 100px;
    }
    .bme-single-body,
    .bme-single-body--no-strip {
        grid-template-columns: 1fr;
        margin-top: 24px;
    }
    .bme-single-hero-content h1 {
        font-size: 26px;
    }
    .bme-quick-info-bar {
        grid-template-columns: 1fr 1fr;
        margin-top: -56px;
        padding: 18px;
        gap: 16px 12px;
    }
    .bme-quick-info-item {
        border-right: none;
        padding-right: 0;
    }
    .bme-single-sidebar {
        position: static;
    }
    .bme-review-summary {
        flex-direction: column;
        text-align: center;
    }
    .bme-score-row {
        grid-template-columns: 84px 1fr 26px;
    }
    .bme-single-listing {
        padding-bottom: 90px;
    }
    .bme-mobile-cta-bar {
        display: flex;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 50;
        gap: 10px;
        padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
        background: #fff;
        box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.1);
    }
    .bme-mobile-cta {
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 13px;
        border-radius: 999px;
        font-size: 14px;
        font-weight: 700;
        text-decoration: none;
    }
    .bme-mobile-cta--call {
        background: #eaf5ec;
        color: var(--bme-primary-dark);
    }
    .bme-mobile-cta--primary {
        background: linear-gradient(135deg, var(--bme-primary) 0%, var(--bme-primary-dark) 100%);
        color: var(--bme-secondary);
    }
}

@media (max-width: 480px) {
    .bme-quick-info-bar {
        grid-template-columns: 1fr;
    }
    .bme-profile-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   BLOG / NEWS INDEX (home.php)
========================================================= */

.bme-blog-page {
    background: var(--bme-bg, #f8fafc);
    padding-bottom: 20px;
}

.bme-blog-hero .bme-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.55);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.bme-blog-hero .bme-breadcrumbs a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
}

.bme-blog-hero .bme-breadcrumbs i {
    font-size: 9px;
    color: rgba(255, 255, 255, 0.35);
}

.bme-blog-body {
    display: grid;
    grid-template-columns: 2fr 1fr;
    align-items: start;
    gap: 28px;
    margin-top: -60px;
    position: relative;
    z-index: 3;
    padding-bottom: 60px;
}

.bme-blog-main {
    background: transparent;
}

.bme-news-list {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.bme-news-list .bme-news-image {
    height: 260px;
}

.bme-news-comments {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.bme-news-comments i {
    font-size: 11px;
}


/* Pagination — style WP's native the_posts_pagination() markup
   to match the .bme-page-link look used on the Listings page. */

.bme-blog-main .pagination {
    margin-top: 32px;
}

.bme-blog-main .pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.bme-blog-main .pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 10px;
    border-radius: 8px;
    background: #fff;
    color: #14321f;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    border: 1px solid #e2e2e2;
    transition: all 0.15s ease;
}

.bme-blog-main .pagination .page-numbers:hover {
    background: #eaf5ec;
    border-color: #1f6e3f;
}

.bme-blog-main .pagination .page-numbers.current {
    background: #1f6e3f;
    color: #fff;
    border-color: #1f6e3f;
}

.bme-blog-main .pagination .page-numbers.dots {
    border: none;
    background: transparent;
}


/* Sidebar */

.bme-blog-sidebar .bme-single-card {
    margin-bottom: 24px;
}

.bme-blog-search-card {
    padding: 10px;
}

.bme-blog-search-form {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f9faf9;
    border: 1px solid var(--bme-border, #e5e9e5);
    border-radius: 12px;
    padding: 4px 6px 4px 16px;
}

.bme-blog-search-form i.fa-search {
    color: #a8b2ab;
    font-size: 13px;
}

.bme-blog-search-form input {
    flex: 1;
    border: none;
    background: transparent;
    outline: none;
    font-size: 14px;
    padding: 10px 0;
}

.bme-blog-search-form button {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border: none;
    border-radius: 9px;
    background: linear-gradient(135deg, var(--bme-primary, #94D12F) 0%, var(--bme-primary-dark, #6fa72a) 100%);
    color: var(--bme-secondary, #12352c);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}

.bme-blog-recent-list,
.bme-blog-cat-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.bme-blog-recent-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #f2f2f2;
}

.bme-blog-recent-list li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.bme-blog-recent-thumb {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    border-radius: 10px;
    overflow: hidden;
    background: #eaf5ec;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7cb355;
}

.bme-blog-recent-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bme-blog-recent-title {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #14321f;
    text-decoration: none;
    line-height: 1.4;
    margin-bottom: 4px;
}

.bme-blog-recent-title:hover {
    color: var(--bme-primary-dark, #6fa72a);
}

.bme-blog-recent-date {
    font-size: 11px;
    color: #9aa19c;
}

.bme-blog-cat-list li {
    border-bottom: 1px solid #f2f2f2;
}

.bme-blog-cat-list li:last-child {
    border-bottom: none;
}

.bme-blog-cat-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 2px;
    font-size: 14px;
    font-weight: 600;
    color: #14321f;
    text-decoration: none;
    transition: color 0.15s ease;
}

.bme-blog-cat-list a:hover {
    color: var(--bme-primary-dark, #6fa72a);
}

.bme-blog-cat-count {
    background: #eaf5ec;
    color: #4b8f2c;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 9px;
    border-radius: 999px;
}

@media (max-width: 900px) {
    .bme-blog-body {
        grid-template-columns: 1fr;
        margin-top: 24px;
    }
}


/* =========================================================
   SINGLE POST (single.php)
========================================================= */


/* Post body typography */

.bme-post-content {
    font-size: 16px;
    line-height: 1.85;
    color: #2c332e;
}

.bme-post-content p {
    margin: 0 0 20px;
}

.bme-post-content h2,
.bme-post-content h3,
.bme-post-content h4 {
    color: #12352c;
    font-weight: 800;
    letter-spacing: -0.3px;
    margin: 32px 0 14px;
}

.bme-post-content h2 {
    font-size: 24px;
}

.bme-post-content h3 {
    font-size: 20px;
}

.bme-post-content img {
    border-radius: 14px;
    margin: 10px 0 20px;
}

.bme-post-content ul,
.bme-post-content ol {
    margin: 0 0 20px;
    padding-left: 22px;
}

.bme-post-content li {
    margin-bottom: 8px;
}

.bme-post-content a {
    color: var(--bme-primary-dark, #6fa72a);
    text-decoration: underline;
}

.bme-post-content blockquote {
    margin: 24px 0;
    padding: 18px 24px;
    border-left: 4px solid var(--bme-primary, #94D12F);
    background: #f8faf8;
    border-radius: 0 12px 12px 0;
    font-style: italic;
    color: #4a534c;
}


/* Prev / Next post navigation */

.bme-post-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 24px;
}

.bme-post-nav-item a {
    display: flex;
    align-items: center;
    gap: 14px;
    height: 100%;
    background: #fff;
    border: 1px solid #eef2ee;
    border-radius: 14px;
    padding: 18px 20px;
    text-decoration: none;
    transition: var(--bme-transition, all 0.2s ease);
    box-sizing: border-box;
}

.bme-post-nav-item a:hover {
    border-color: rgba(148, 209, 47, 0.4);
    box-shadow: 0 10px 24px rgba(13, 59, 48, 0.08);
    transform: translateY(-2px);
}

.bme-post-nav-next a {
    justify-content: flex-end;
    text-align: right;
}

.bme-post-nav-item i {
    color: var(--bme-primary-dark, #6fa72a);
    font-size: 14px;
    flex-shrink: 0;
}

.bme-post-nav-item span {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    color: #9aa19c;
    margin-bottom: 4px;
}

.bme-post-nav-item strong {
    font-size: 14px;
    color: #14321f;
    line-height: 1.4;
}


/* Comments — styling WordPress's native comment list/form markup */

.bme-comments-card .comments-title,
.bme-comments-card .comment-reply-title {
    font-size: 18px;
    font-weight: 700;
    color: #12352c;
    margin: 0 0 20px;
}

.bme-comments-card .comment-list {
    list-style: none;
    margin: 0 0 30px;
    padding: 0;
}

.bme-comments-card .comment-list .comment {
    display: flex;
    gap: 14px;
    padding: 20px 0;
    border-bottom: 1px solid #f2f2f2;
}

.bme-comments-card .comment-list>li:first-child>.comment {
    padding-top: 0;
}

.bme-comments-card .comment-list .children {
    list-style: none;
    margin: 0 0 0 40px;
    padding: 0;
}

.bme-comments-card .avatar {
    border-radius: 50%;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
}

.bme-comments-card .comment-author .fn {
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    color: #14321f;
}

.bme-comments-card .comment-metadata {
    font-size: 12px;
    color: #9aa19c;
    margin-bottom: 8px;
}

.bme-comments-card .comment-metadata a {
    color: inherit;
    text-decoration: none;
}

.bme-comments-card .comment-content p {
    font-size: 14px;
    line-height: 1.7;
    color: #4a534c;
    margin: 0;
}

.bme-comments-card .reply a {
    display: inline-block;
    margin-top: 8px;
    font-size: 12px;
    font-weight: 700;
    color: var(--bme-primary-dark, #6fa72a);
    text-decoration: none;
}

.bme-comments-card #respond {
    background: #fafbfa;
    border: 1px solid #eef2ee;
    border-radius: var(--sl-radius-sm, 14px);
    padding: 26px;
}

.bme-comments-card .logged-in-as {
    font-size: 13px;
    color: #667069;
    margin-bottom: 14px;
}

.bme-comments-card .comment-form-comment textarea,
.bme-comments-card .comment-form input[type="text"],
.bme-comments-card .comment-form input[type="email"],
.bme-comments-card .comment-form input[type="url"] {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--bme-border, #e5e9e5);
    border-radius: var(--bme-radius-xs, 10px);
    font-size: 14px;
    background: #fff;
    box-sizing: border-box;
    margin-bottom: 14px;
}

.bme-comments-card .comment-form-comment textarea:focus,
.bme-comments-card .comment-form input:focus {
    outline: none;
    border-color: var(--bme-primary, #94D12F);
    box-shadow: 0 0 0 4px rgba(148, 209, 47, 0.14);
}

.bme-comments-card .form-submit input[type="submit"] {
    background: linear-gradient(135deg, var(--bme-primary, #94D12F) 0%, var(--bme-primary-dark, #6fa72a) 100%);
    color: var(--bme-secondary, #12352c);
    border: none;
    padding: 13px 30px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    transition: var(--bme-transition, all 0.2s ease);
}

.bme-comments-card .form-submit input[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(148, 209, 47, 0.32);
}

@media (max-width: 700px) {
    .bme-post-nav {
        grid-template-columns: 1fr;
    }
    .bme-post-nav-next a {
        justify-content: flex-start;
        text-align: left;
    }
}


/* =========================================================
   SINGLE BLOG POST (single.php)
========================================================= */

.bme-single-post .bme-single-hero {
    padding: 56px 24px 120px;
}

.bme-single-post .bme-single-body,
.bme-single-post .bme-blog-body {
    margin-top: -70px;
}

.bme-post-article {
    margin-bottom: 24px;
}

.bme-post-article .bme-single-content {
    font-size: 16px;
    line-height: 1.85;
    color: #3a453f;
}

.bme-post-article .bme-single-content p {
    margin: 0 0 18px;
}

.bme-post-article .bme-single-content img {
    border-radius: 14px;
    margin: 10px 0 20px;
}

.bme-post-article .bme-single-content h2,
.bme-post-article .bme-single-content h3 {
    color: #12352c;
    margin: 28px 0 14px;
}


/* Author box */

.bme-post-author {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #fff;
    border: 1px solid #eef2ee;
    border-radius: 16px;
    padding: 18px 22px;
    margin-bottom: 24px;
}

.bme-post-author img {
    border-radius: 50%;
}

.bme-post-author-label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    color: #9aa19c;
    margin-bottom: 3px;
}

.bme-post-author strong {
    font-size: 15px;
    color: #12352c;
}


/* Prev / Next navigation */

.bme-post-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 24px;
}

.bme-post-nav-link {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #fff;
    border: 1px solid #eef2ee;
    border-radius: 16px;
    padding: 16px;
    text-decoration: none;
    transition: var(--bme-transition, 0.2s ease);
}

.bme-post-nav-link:hover {
    border-color: rgba(148, 209, 47, 0.4);
    box-shadow: 0 10px 26px rgba(13, 59, 48, 0.08);
    transform: translateY(-2px);
}

.bme-post-nav-next {
    flex-direction: row-reverse;
    text-align: right;
    grid-column: 2;
}

.bme-post-nav-thumb {
    width: 52px;
    height: 52px;
    border-radius: 12px;
    object-fit: cover;
    flex-shrink: 0;
}

.bme-post-nav-link span {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.bme-post-nav-link em {
    font-style: normal;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    color: #7cb355;
}

.bme-post-nav-link strong {
    font-size: 14px;
    color: #12352c;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

@media (max-width: 640px) {
    .bme-post-nav {
        grid-template-columns: 1fr;
    }
    .bme-post-nav-next {
        grid-column: 1;
    }
}


/* Comments */

.bme-post-comment-list {
    margin-bottom: 8px;
}

.bme-post-comment-item {
    display: flex;
    gap: 14px;
    padding: 20px 0;
    border-bottom: 1px solid #f2f2f2;
}

.bme-post-comment-item:last-child {
    border-bottom: none;
}


/* Style WP's native comment_form() output to match the design system */

.bme-post-comment-form #commentform {
    margin-top: 20px;
}

.bme-post-comment-form .comment-reply-title {
    font-size: 16px;
    font-weight: 700;
    color: #12352c;
    margin: 0 0 16px;
}

.bme-post-comment-form .logged-in-as {
    font-size: 13px;
    color: #8a8f93;
    margin-bottom: 14px;
}

.bme-post-comment-form .logged-in-as a {
    color: #1f6e3f;
    font-weight: 600;
}

.bme-post-comment-form input[type="text"],
.bme-post-comment-form input[type="email"],
.bme-post-comment-form input[type="url"],
.bme-post-comment-form textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--bme-border, #e5e9e5);
    border-radius: var(--bme-radius-xs, 10px);
    font-size: 14px;
    background: #f9faf9;
    box-sizing: border-box;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.bme-post-comment-form input:focus,
.bme-post-comment-form textarea:focus {
    outline: none;
    border-color: var(--bme-primary, #94D12F);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(148, 209, 47, 0.14);
}

.bme-comment-submit {
    margin-top: 4px;
}

.bme-host-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.bme-host-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.bme-host-row strong {
    display: block;
    color: var(--bme-secondary);
    font-size: 14px;
}

.bme-host-row span {
    font-size: 12px;
    color: var(--bme-text-light);
}

.bme-social-row {
    display: flex;
    gap: 8px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #f2f2f2;
}

.bme-social-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eaf5ec;
    color: var(--bme-primary-dark);
    transition: background 0.2s ease;
}

.bme-social-icon:hover {
    background: var(--bme-primary-dark);
    color: #fff;
}


/* =========================================================
   LISTING DETAIL — gallery, map, working hours
   (markup already added to single-listing.php; these classes
   were previously unstyled, falling back to browser defaults)
========================================================= */

.bme-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
}

.bme-gallery-grid .bme-gallery-thumb {
    width: 100%;
    height: 160px;
    object-fit: cover;
    display: block;
}

.bme-gallery-grid .bme-gallery-thumb:first-child {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
    height: 324px;
}

@media (max-width: 640px) {
    .bme-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .bme-gallery-grid .bme-gallery-thumb:first-child {
        grid-column: 1 / 3;
        height: 220px;
    }
}

.bme-map-card h2 {
    font-size: 18px;
    font-weight: 700;
    color: var(--bme-secondary, #12352c);
    margin: 0 0 16px;
}

.bme-map-embed {
    border-radius: var(--sl-radius-sm, 14px);
    overflow: hidden;
    border: 1px solid #eef2ee;
}

.bme-map-embed iframe {
    display: block;
}

.bme-hours-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.bme-hours-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #f2f2f2;
    font-size: 13px;
}

.bme-hours-list li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.bme-hours-day {
    font-weight: 600;
    color: var(--bme-secondary, #12352c);
}

.bme-hours-status {
    color: #9aa19c;
    font-weight: 500;
}

.bme-hours-status.open {
    color: #4b8f2c;
    font-weight: 700;
}


/* ============================================================
   USER DASHBOARD (townhub-add-ons front-end dashboard)
   Category B — CSS skin only. Real class names confirmed from:
   template-parts/dashboard/headsec.php, dashboard.php, sidebar.php
   No PHP/JS touched: sidebar links, chart render (#dashboard-chart),
   swiper stats carousel, and notification delete-notification hooks
   are all untouched.
============================================================ */


/* ---- Page background ---- */

.main-dashboard-sec.gray-bg {
    background: var(--bme-bg);
    padding: 48px 0 70px;
}


/* ---- Welcome header banner ---- */

.dashboard-header-sec.gradient-bg {
    background: linear-gradient(135deg, var(--bme-secondary) 0%, var(--bme-secondary-light) 100%) !important;
    padding-top: 30px;
    overflow: hidden;
}


/* Hide the plugin's default decorative bubble circles - replaced with
   a subtle brand texture instead so it doesn't fight the new palette */

.dashboard-header-sec .gradient-bg-figure,
.dashboard-header-sec .circle-wrap {
    display: none;
}

.dashboard-header-sec .breadcrumbs a,
.dashboard-header-sec .breadcrumbs span {
    color: rgba(255, 255, 255, 0.7) !important;
    font-size: 13px;
}

.dashboard-header-sec .breadcrumbs .current {
    color: #fff !important;
}

.dashboard-header_title h1 {
    color: #fff;
    font-size: 26px;
    font-weight: 700;
    margin: 10px 0 0;
}

.dashboard-header_title h1 span {
    color: var(--bme-primary);
}


/* Tariff / role pill */

.tfp-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #fff;
    padding: 7px 16px;
    border-radius: 999px;
    font-size: 13px;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.tfp-btn span {
    color: rgba(255, 255, 255, 0.7);
    font-weight: 400;
}

.tfp-det {
    display: none;
}


/* Header content row: avatar + stats + add-listing */

.dashboard-header {
    background: transparent;
    padding: 26px 0 34px;
}


/* ---- Complete layout rebuild: the parent theme bakes a 150px
   phantom left-padding onto the avatar/stats row AND a negative
   margin pulling that whole row up over the title above it
   (confirmed via devtools box model). Rather than chase every
   inherited offset individually, take direct control of the
   whole banner's spacing here. ---- */

.dashboard-header-sec.gradient-bg {
    padding: 40px 0 0 !important;
    min-height: 0 !important;
    height: auto !important;
}

.dashboard-header-sec.gradient-bg>.container {
    padding-bottom: 60px;
}

.dashboard-header.fl-wrap.dashboard-header-sec {
    position: static !important;
    margin: 0 !important;
    top: auto !important;
    padding: 0 0 40px !important;
}

.dashboard-header_conatiner.flex-items-center {
    padding: 0 !important;
    margin: 0 !important;
    position: static !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap;
    gap: 22px;
}

.dashboard-header-avatar {
    position: relative !important;
    top: auto !important;
    margin: 0 !important;
    flex-shrink: 0;
}

.dashboard-header-avatar::before {
    display: none;
}

.dashboard-header-avatar img {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid rgba(255, 255, 255, 0.35);
    box-shadow: var(--bme-shadow);
}

.dashboard-header-avatar .edit-prof_btn {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--bme-primary) !important;
    color: var(--bme-secondary) !important;
    font-size: 13px;
    border: 3px solid var(--bme-secondary);
}


/* Stats swiper cards inside header */

.dashboard-header-stats-wrap {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.dashboard-header-stats {
    flex: 1;
    min-width: 0;
}

.dashboard-header-stats-item {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: var(--bme-radius-sm);
    padding: 12px 18px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
}

.dashboard-header-stats-item i {
    color: var(--bme-primary);
    font-size: 16px;
}

.dashboard-header-stats-item span {
    display: block;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
}

.dhs-controls {
    gap: 8px;
    flex-shrink: 0;
}

.dhs {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    cursor: pointer;
    transition: var(--bme-transition);
}

.dhs:hover {
    background: var(--bme-primary);
    color: var(--bme-secondary);
}

.add_new-dashboard {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--bme-primary) !important;
    color: var(--bme-secondary) !important;
    font-weight: 700;
    font-size: 14px;
    padding: 13px 22px;
    border-radius: 999px;
    white-space: nowrap;
    transition: var(--bme-transition);
    box-shadow: var(--bme-shadow-sm);
}

.add_new-dashboard:hover {
    background: var(--bme-primary-dark) !important;
    transform: translateY(-2px);
}


/* ---- Sidebar ---- */

.dashboard-sidebar-col .user-profile-menu-wrap {
    background: #fff;
    border-radius: var(--bme-radius-md);
    box-shadow: var(--bme-shadow-sm);
    padding: 22px 18px;
    border: 1px solid var(--bme-border);
}

.user-profile-menu h3 {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--bme-text-light);
    margin: 18px 0 10px;
    padding: 0 8px;
}

.user-profile-menu:first-child h3 {
    margin-top: 0;
}

.dashboard-menu-li {
    margin-bottom: 2px;
}

.dashboard-menu-link {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 11px 12px;
    border-radius: 10px;
    color: var(--bme-text);
    font-size: 14px;
    font-weight: 500;
    transition: var(--bme-transition);
}

.dashboard-menu-link i {
    width: 18px;
    text-align: center;
    color: var(--bme-text-light);
    font-size: 15px;
    transition: var(--bme-transition);
}

.dashboard-menu-link:hover,
.dashboard-menu-link.user-profile-act {
    background: rgba(148, 209, 47, 0.14);
    color: var(--bme-secondary);
}

.dashboard-menu-link:hover i,
.dashboard-menu-link.user-profile-act i {
    color: var(--bme-primary-dark);
}

.dashboard-menu-link span {
    margin-left: auto;
    background: var(--bme-primary);
    color: var(--bme-secondary);
    font-size: 11px;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 0 5px;
}

.logout_btn.color2-bg {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--bme-secondary) !important;
    color: #fff !important;
    font-weight: 600;
    font-size: 14px;
    padding: 13px;
    border-radius: 10px;
    margin-top: 20px;
    transition: var(--bme-transition);
}

.logout_btn.color2-bg:hover {
    background: var(--bme-secondary-light) !important;
}

.dashboard-to-top.color2-bg {
    display: none;
}


/* ---- Stat cards (Listing Views / Total Reviews / Bookings) ---- */

.dashboard-title h3 {
    font-size: 19px;
    font-weight: 700;
    color: var(--bme-secondary);
    margin: 0 0 16px;
}

.inline-facts-wrap.gradient-bg.dashboard-fact {
    background: linear-gradient(135deg, var(--bme-secondary) 0%, var(--bme-accent) 130%) !important;
    border-radius: var(--bme-radius-md);
    padding: 22px 24px;
    position: relative;
    overflow: hidden;
    box-shadow: var(--bme-shadow-sm);
    min-height: 118px;
}

.dashboard-fact .inline-facts {
    position: relative;
    z-index: 2;
}

.dashboard-fact .inline-facts>i {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 26px;
    color: rgba(255, 255, 255, 0.35);
}

.dashboard-fact .num {
    color: #fff;
    font-size: 32px;
    font-weight: 800;
    line-height: 1.1;
}

.dashboard-fact h6 {
    color: rgba(255, 255, 255, 0.85);
    font-size: 13px;
    font-weight: 500;
    margin: 6px 0 0;
}

.dashboard-fact .stat-wave {
    display: none;
}

.lstats-lviews .inline-facts-wrap.gradient-bg.dashboard-fact {
    background: linear-gradient(135deg, var(--bme-secondary), var(--bme-accent) 140%) !important;
}

.lstats-lreviews .inline-facts-wrap.gradient-bg.dashboard-fact {
    background: linear-gradient(135deg, var(--bme-primary-dark), var(--bme-primary) 140%) !important;
}

.lstats-lbookings .inline-facts-wrap.gradient-bg.dashboard-fact {
    background: linear-gradient(135deg, #b8860b, #d4af37 140%) !important;
}


/* ---- Chart card ---- */

.list-single-main-item.block_box {
    background: #fff;
    border-radius: var(--bme-radius-md);
    border: 1px solid var(--bme-border);
    box-shadow: var(--bme-shadow-sm);
    padding: 24px;
    margin: 24px 0;
}

.chart-wrap {
    min-height: 240px;
}


/* ---- Recent Activities feed ---- */

.dashboard-list-box.fl-wrap {
    background: #fff;
    border-radius: var(--bme-radius-md);
    border: 1px solid var(--bme-border);
    box-shadow: var(--bme-shadow-sm);
    overflow: hidden;
}

.notification-list-item {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 50px 18px 20px;
    border-bottom: 1px solid var(--bme-border);
    transition: var(--bme-transition);
}

.notification-list-item:nth-child(even) {
    background: var(--bme-bg);
}

.dt-inbox.fl-wrap.dashboard-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.dashboard-view-all {
    color: var(--bme-accent);
    font-size: 13px;
    font-weight: 700;
    transition: var(--bme-transition);
}

.dashboard-view-all:hover {
    color: var(--bme-primary-dark);
}

.notification-list-item:last-child {
    border-bottom: none;
}

.notification-list-item:hover {
    background: var(--bme-bg);
}

.notification-list-inner {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    flex: 1;
    min-width: 0;
}

.notification-list-time {
    flex: 0 0 128px;
    width: 128px;
    display: flex;
    align-items: center;
    gap: 6px;
    padding-top: 2px;
    color: var(--bme-text-light);
    font-size: 12px;
    white-space: nowrap;
}

.notification-list-time i {
    color: var(--bme-primary-dark);
}

.notification-list-text {
    flex: 1;
    min-width: 0;
}

.notification-msg {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--bme-text);
    font-size: 14px;
    line-height: 1.6;
}

.notification-msg a {
    color: var(--bme-accent);
    font-weight: 600;
}


/* The message text itself is a bare (non-element) text node after
   the icon in the plugin's source - flexbox auto-wraps it into an
   anonymous box, so it just needs to be allowed to grow/wrap */

.notification-msg {
    flex-wrap: wrap;
}


/* Real icon-color classes confirmed from class-dashboard.php:
   green-bg (success/login), yellow-bg (warning/expiring),
   red-bg (error/expired), purp-bg (bookmark) */

.notification-msg i {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #ffffff;
    font-size: 13px;
    margin-top: 2px;
}

.notification-msg i.green-bg {
    background: var(--bme-primary-dark);
}

.notification-msg i.yellow-bg {
    background: #f0a020;
}

.notification-msg i.red-bg {
    background: #e25362;
}

.notification-msg i.purp-bg {
    background: #a855c7;
}

.notification-list-remove {
    position: absolute;
    top: 16px;
    right: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--bme-bg);
    color: var(--bme-text-light);
    cursor: pointer;
    transition: var(--bme-transition);
    flex-shrink: 0;
    z-index: 2;
}

.notification-list-remove:hover {
    background: #fee2e2;
    color: #dc2626;
}


/* Feed page notifications wrap onto narrower columns, so drop the
   fixed date width there and let it sit above the message instead */

.dashboard-feed-col-left .notification-list-inner {
    flex-direction: column;
    gap: 4px;
}

.dashboard-feed-col-left .notification-list-time {
    flex: 0 0 auto;
    width: auto;
}


/* ---- Mobile ---- */

@media(max-width:992px) {
    .dashboard-header_conatiner.flex-items-center {
        flex-wrap: wrap;
    }
    .dashboard-header-stats-wrap {
        width: 100%;
        order: 3;
    }
    .add_new-dashboard {
        order: 2;
    }
}

@media(max-width:768px) {
    .dashboard-header-stats-item {
        padding: 10px 14px;
    }
    .dashboard-fact .num {
        font-size: 26px;
    }
}


/* ============================================================
   DASHBOARD FIXES — breadcrumb/title overlap, stat icon overlap
============================================================ */


/* Breadcrumbs were overlapping "Welcome: admin" - the plugin's
   parallax header treats them as separate absolutely-stacked
   pieces; give the breadcrumb its own row and proper spacing */

.dashboard-header-sec .dashboard-breadcrumbs.breadcrumbs {
    position: static !important;
    transform: none !important;
    margin: 0 0 50px 0 !important;
    padding: 10px 20px !important;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
}

.dashboard-header-sec .dashboard-breadcrumbs.breadcrumbs a,
.dashboard-header-sec .dashboard-breadcrumbs.breadcrumbs span {
    position: static !important;
    color: rgba(255, 255, 255, 0.7) !important;
    font-size: 13px;
    margin: 0 !important;
}

.dashboard-header-sec .dashboard-breadcrumbs.breadcrumbs .breadcrumb-current {
    color: #fff !important;
}

.dashboard-header-sec .dashboard-header_conatiner.dashboard-header_title {
    position: static !important;
    transform: none !important;
    margin: 0 !important;
    padding-top: 0 !important;
}

.dashboard-header-sec .dashboard-header_conatiner.dashboard-header_title h1 {
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* Stat swiper icons were absolutely positioned by the parent
   theme and overlapping the label text ("e Listings 397") -
   same recurring inherited-offset issue as the header icons */

.dashboard-header-stats-item i {
    position: static !important;
    top: auto !important;
    left: auto !important;
    inset: auto !important;
    flex-shrink: 0;
}

.dashboard-header-stats-item {
    flex-wrap: nowrap;
}


/* ============================================================
   DASHBOARD SUB-PAGES — shared across Profile, Change Password,
   Messages, Chats, Feed, Bookmarks, Invoices, Reviews, etc.
   These all reuse the same plugin base classes confirmed from
   profile.php / changepass.php, so one pass here covers most
   of the sub-pages without touching each template individually.
============================================================ */

.profile-edit-container.block_box,
.pad-30.block_box {
    background: #fff;
    border-radius: var(--bme-radius-md);
    border: 1px solid var(--bme-border);
    box-shadow: var(--bme-shadow-sm);
    padding: 28px;
}

.profile-edit-header h3 {
    color: var(--bme-secondary);
    font-size: 17px;
    font-weight: 700;
}

.custom-form label {
    display: block;
    position: relative;
    color: var(--bme-text);
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 8px;
}

.custom-form label i {
    position: static !important;
    margin-left: 4px;
    color: var(--bme-text-light);
}

.custom-form input[type="text"],
.custom-form input[type="email"],
.custom-form input[type="password"],
.custom-form input[type="number"],
.custom-form input[type="tel"],
.custom-form input[type="url"],
.custom-form input.has-icon,
.custom-form input.pass-input,
.custom-form textarea,
.custom-form select {
    width: 100%;
    background: var(--bme-bg);
    border: 1px solid var(--bme-border);
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 14px;
    color: var(--bme-text);
    transition: var(--bme-transition);
    position: static !important;
}

.custom-form input:focus,
.custom-form textarea:focus,
.custom-form select:focus {
    outline: none;
    border-color: var(--bme-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(148, 209, 47, 0.15);
}

.custom-form .pass-input-wrap {
    position: relative;
    margin-bottom: 18px;
}

.custom-form .pass-input-wrap .eye {
    position: absolute;
    right: 14px;
    top: 40px;
    color: var(--bme-text-light);
    cursor: pointer;
}

.custom-form .row>div {
    margin-bottom: 18px;
}


/* Buttons used across dashboard sub-pages */

.btn.color2-bg,
#change-pass-submit.color2-bg {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--bme-secondary) !important;
    color: #fff !important;
    font-weight: 600;
    font-size: 14px;
    padding: 13px 26px;
    border-radius: 999px;
    transition: var(--bme-transition);
}

.btn.color2-bg:hover {
    background: var(--bme-secondary-light) !important;
}

.btn.del-bg,
.btn.flat-btn.btn-border {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff !important;
    color: #dc2626 !important;
    border: 1px solid #fecaca;
    font-weight: 600;
    font-size: 14px;
    padding: 12px 24px;
    border-radius: 999px;
    transition: var(--bme-transition);
}

.btn.del-bg:hover {
    background: #fef2f2 !important;
}

.btn-link {
    color: var(--bme-accent);
    font-weight: 600;
    font-size: 13px;
}


/* ---- Avatar/Cover upload widget ----
   Real structure: .edit-profile-photo (outer row) contains
   .profile-photo-wrap (small existing-image preview),
   .change-photo-btn (the actual drag-drop upload zone, NOT a
   button - confirmed from profile.php), and .del-user-photo
   (remove badge). Previous version treated .change-photo-btn as
   a small pill button, which stretched a ~200px-wide dropzone
   into a giant distorted oval. */

.edit-profile-photo.upload-photo-js-wrap {
    position: relative;
    display: flex !important;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.profile-photo-wrap {
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--bme-border);
    background: var(--bme-bg);
}

.profile-photo-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0 !important;
    border: none !important;
}

.change-photo-btn {
    position: relative;
    flex: 1;
    min-width: 200px;
    height: 72px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: var(--bme-bg) !important;
    border: 2px dashed var(--bme-border);
    border-radius: 12px;
    color: var(--bme-text-light) !important;
    font-weight: 600;
    font-size: 13px;
    transition: var(--bme-transition);
    overflow: hidden;
}

.change-photo-btn:hover {
    border-color: var(--bme-primary);
    background: rgba(148, 209, 47, 0.08) !important;
}

.change-photo-btn .photoUpload,
.change-photo-btn .photoUpload span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    height: 100%;
    margin: 0;
}

.change-photo-btn .photoUpload i {
    color: var(--bme-primary-dark);
    font-size: 16px;
}

.change-photo-btn input[type="file"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.del-user-photo {
    position: absolute;
    top: -8px;
    right: -8px;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: #dc2626;
    border-radius: 50%;
    box-shadow: var(--bme-shadow-sm);
    font-size: 11px;
    z-index: 2;
}


/* ============================================================
   PROFILE FORM — premium polish pass
   Real markup confirmed directly from profile.php output:
   .custom-form > .row > .col-sm-6 > label + input.has-icon,
   label icon comes AFTER the text node, icons are far/fal glyphs.
============================================================ */


/* Card gets a brand accent top edge instead of a flat white box */

.profile-edit-container.block_box {
    position: relative;
    padding: 36px;
    overflow: hidden;
}

.profile-edit-container.block_box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--bme-secondary), var(--bme-primary));
}

.custom-form .row {
    display: flex;
    flex-wrap: wrap;
    gap: 0 28px;
    box-sizing: border-box;
}

.custom-form .row::before,
.custom-form .row::after,
.images-row.row::before,
.images-row.row::after {
    display: none !important;
    content: none !important;
}

.custom-form .row>.col-sm-6 {
    box-sizing: border-box !important;
    padding: 0 !important;
    float: none !important;
    flex: 0 0 calc(50% - 14px) !important;
    max-width: calc(50% - 14px) !important;
    width: calc(50% - 14px) !important;
    margin-bottom: 22px;
}

.images-row.row {
    display: flex !important;
    flex-wrap: wrap;
    gap: 0 28px;
    box-sizing: border-box;
}

.images-row.row>.col-md-6 {
    box-sizing: border-box !important;
    padding: 0 !important;
    float: none !important;
    flex: 0 0 calc(50% - 14px) !important;
    max-width: calc(50% - 14px) !important;
    width: calc(50% - 14px) !important;
}


/* Label + icon badge */

.custom-form label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--bme-secondary);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 10px;
}

.custom-form label i {
    order: -1;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 7px;
    background: rgba(148, 209, 47, 0.15);
    color: var(--bme-primary-dark) !important;
    font-size: 11px !important;
    margin: 0 !important;
}


/* Inputs: cleaner surface, roomier, nicer focus ring */

.custom-form input[type="text"],
.custom-form input[type="email"],
.custom-form input.has-icon,
.custom-form textarea {
    background: #fbfcfa;
    border: 1.5px solid var(--bme-border);
    border-radius: 12px;
    padding: 14px 18px;
    font-size: 14.5px;
    color: var(--bme-secondary);
    font-weight: 500;
}

.custom-form input[type="text"]::placeholder,
.custom-form textarea::placeholder {
    color: #a3aab0;
    font-weight: 400;
}

.custom-form input:disabled {
    background: #f1f3f0;
    color: var(--bme-text-light);
    cursor: not-allowed;
}

.custom-form input:focus,
.custom-form textarea:focus {
    border-color: var(--bme-primary);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(148, 209, 47, 0.14);
}

.custom-form textarea {
    width: 100%;
    resize: vertical;
    min-height: 130px;
}


/* "Description" label sits right after the grid - give it a
   visual break so it reads as its own section, not a stray field */

.custom-form>label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--bme-secondary);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin: 6px 0 10px;
    padding-top: 26px;
    border-top: 1px dashed var(--bme-border);
}


/* Photos row gets the same section break + a section title feel */

.images-row {
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px dashed var(--bme-border);
}

.images-row>.col-md-6 label {
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 0.04em;
    color: var(--bme-secondary);
    font-weight: 700;
    margin-bottom: 12px;
}


/* Upload dropzone: give it real personality instead of flat gray */

.change-photo-btn {
    background: repeating-linear-gradient( 135deg, rgba(148, 209, 47, 0.05), rgba(148, 209, 47, 0.05) 10px, rgba(148, 209, 47, 0.09) 10px, rgba(148, 209, 47, 0.09) 20px) !important;
    border: 2px dashed rgba(148, 209, 47, 0.45);
}

.change-photo-btn:hover {
    box-shadow: 0 6px 18px rgba(148, 209, 47, 0.18);
    transform: translateY(-1px);
}

.change-photo-btn .photoUpload i {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--bme-shadow-sm);
    font-size: 14px !important;
}

.profile-photo-wrap {
    box-shadow: var(--bme-shadow-sm);
}


/* Save Changes button: give it weight + a lift on hover */

#edit-profile-submit.btn.color2-bg {
    padding: 14px 34px;
    font-size: 14.5px;
    letter-spacing: 0.02em;
    box-shadow: 0 8px 20px rgba(13, 59, 48, 0.25);
}

#edit-profile-submit.btn.color2-bg:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(13, 59, 48, 0.32);
}


/* Socials card + Add Social control */

.dt-inbox.fl-wrap.dashboard-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.btn-add {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1.5px dashed var(--bme-primary);
    color: var(--bme-primary-dark) !important;
    font-weight: 700;
    font-size: 13px;
    padding: 10px 20px;
    border-radius: 999px;
    transition: var(--bme-transition);
}

.btn-add:hover {
    background: rgba(148, 209, 47, 0.1);
}


/* Mobile */

@media(max-width:768px) {
    .custom-form .row>.col-sm-6 {
        width: 100%;
    }
    .profile-edit-container.block_box {
        padding: 22px;
    }
    .images-row .edit-profile-photo.upload-photo-js-wrap {
        flex-direction: column;
        align-items: stretch;
    }
    .profile-photo-wrap {
        width: 100%;
        height: 120px;
    }
}


/* ============================================================
   DASHBOARD — "Your Feed" page + shared pagination
   Pagination markup (nav.pagination.custom-pagination) is
   generated by townhub_addons_custom_pagination() /
   townhub_addons_comments_pagination() and reused across most
   dashboard sub-pages (Feed, Listings, Bookings, Messages,
   Invoices, Inquiries, Ads) - styling it once here covers all
   of them.
============================================================ */

.dashboard-feed-row.row {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.dashboard-feed-row.row::before,
.dashboard-feed-row.row::after {
    display: none !important;
    content: none !important;
}

.dashboard-feed-col {
    box-sizing: border-box;
    padding: 0 !important;
    float: none !important;
    margin-bottom: 0 !important;
}

.dashboard-feed-col-left.col-md-8 {
    flex: 1 1 0;
    min-width: 0;
}

.dashboard-feed-col-right.col-md-4 {
    flex: 0 0 300px;
    width: 300px;
}


/* Following / Followers tab card */

.dashboard-follow-tabs.tabs-act.block_box {
    background: #fff;
    border-radius: var(--bme-radius-md);
    border: 1px solid var(--bme-border);
    box-shadow: var(--bme-shadow-sm);
    padding: 20px;
    margin-bottom: 20px;
}

.tabs-menu.fl-wrap.no-list-style {
    display: flex;
    gap: 22px;
    margin: 0 0 16px;
    padding: 0;
    border-bottom: 1px solid var(--bme-border);
    list-style: none;
}

.tabs-menu li {
    margin: 0;
}

.tabs-menu li a {
    display: flex;
    align-items: center;
    gap: 6px;
    padding-bottom: 12px;
    color: var(--bme-text-light);
    font-size: 13px;
    font-weight: 700;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}

.tabs-menu li a i {
    color: var(--bme-text-light);
}

.tabs-menu li.current a,
.tabs-menu li a:hover {
    color: var(--bme-secondary);
    border-bottom-color: var(--bme-primary);
}

.tabs-menu li.current a i,
.tabs-menu li a:hover i {
    color: var(--bme-primary-dark);
}

.follow-user-list.fl-wrap {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.follow-user-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 6px;
    border-radius: 10px;
    transition: var(--bme-transition);
}

.follow-user-list li:hover {
    background: var(--bme-bg);
}

.follow-user-list img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.follow-user-list a {
    color: var(--bme-secondary);
    font-weight: 600;
    font-size: 13px;
}


/* ---- Shared pagination (used across most dashboard sub-pages) ---- */

nav.navigation.pagination.custom-pagination {
    margin-top: 24px;
}

nav.navigation.pagination.custom-pagination .nav-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
}

nav.navigation.pagination.custom-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid var(--bme-border);
    color: var(--bme-secondary);
    font-weight: 600;
    font-size: 13px;
    transition: var(--bme-transition);
}

nav.navigation.pagination.custom-pagination .page-numbers:hover {
    border-color: var(--bme-primary);
    color: var(--bme-primary-dark);
}

nav.navigation.pagination.custom-pagination .page-numbers.current {
    background: var(--bme-secondary);
    border-color: var(--bme-secondary);
    color: #fff;
}

nav.navigation.pagination.custom-pagination .prev,
nav.navigation.pagination.custom-pagination .next {
    padding: 0 16px;
    color: var(--bme-text-light);
}

nav.navigation.pagination.custom-pagination .prev:hover,
nav.navigation.pagination.custom-pagination .next:hover {
    color: var(--bme-primary-dark);
    border-color: var(--bme-primary);
}


/* Mobile */

@media(max-width:900px) {
    .dashboard-feed-row.row {
        flex-direction: column;
    }
    .dashboard-feed-col-right.col-md-4 {
        width: 100%;
        flex: 1 1 auto;
    }
}


/* ============================================================
   DASHBOARD — final premium polish pass
============================================================ */


/* Capability status banner ("You are able to submit listings") -
   reuses the same notification-msg/icon pattern, but as a
   standalone status strip it should feel distinct from the
   scrollable activity list below it, not just another white box */

.dashboard-list-box.fl-wrap.dashboard-substatus {
    background: linear-gradient(135deg, rgba(148, 209, 47, 0.08), rgba(148, 209, 47, 0.02));
    border: 1px solid rgba(148, 209, 47, 0.25);
    border-left: 4px solid var(--bme-primary);
    border-radius: var(--bme-radius-md);
    box-shadow: none;
    margin-bottom: 28px;
}

.dashboard-substatus .notification-list-item {
    border-bottom: none;
    padding: 16px 20px;
}

.dashboard-substatus .notification-msg {
    font-weight: 600;
    color: var(--bme-secondary);
}


/* Section rhythm: consistent breathing room between each
   dashboard block instead of relying on whatever margin each
   plugin partial happened to ship with */

.dashboard-title.fl-wrap {
    margin: 0 0 18px;
}

.list-single-facts.dashboard-facts.fl-wrap {
    margin-bottom: 28px;
}


/* Stat cards: subtle lift on hover so the dashboard feels
   interactive, not just decorative */

.inline-facts-wrap.gradient-bg.dashboard-fact {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.inline-facts-wrap.gradient-bg.dashboard-fact:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 32px rgba(13, 59, 48, 0.18);
}


/* Chart card: brand accent edge to match the rest of the site's
   card language, instead of a flat undifferentiated white box */

.list-single-main-item.block_box {
    position: relative;
    overflow: hidden;
}

.list-single-main-item.block_box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--bme-secondary), var(--bme-primary));
}


/* Recent Activities card gets the same treatment for consistency */

.dashboard-list-box.fl-wrap:not(.dashboard-substatus) {
    position: relative;
    overflow: hidden;
}

.dashboard-list-box.fl-wrap:not(.dashboard-substatus)::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--bme-secondary), var(--bme-primary));
    z-index: 1;
}


/* Slight hover lift on activity rows for the same interactive feel */

.notification-list-item {
    transition: background 0.2s ease, transform 0.15s ease;
}

.notification-list-item:hover {
    transform: translateX(2px);
}


/* ============================================================
   "YOUR FEED" PAGE — premium polish to match the rest of the
   dashboard. Banner widget markup confirmed directly via
   devtools: #townhub-banner-1.dashboard-feed-widget.townhub_banner
   > .banner-widget > .bg (bg image div) + .overlay + .banner-wdget-content
============================================================ */


/* Following/Followers card - same accent-stripe treatment as the
   other dashboard cards, applied explicitly since it uses a
   different base class (.dashboard-follow-tabs, not .dashboard-list-box) */

.fl-wrap.tabs-act.block_box.dashboard-follow-tabs {
    position: relative;
    overflow: hidden;
}

.fl-wrap.tabs-act.block_box.dashboard-follow-tabs::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--bme-secondary), var(--bme-primary));
}


/* Loyalty banner widget */

.dashboard-feed-widget.townhub_banner {
    margin-top: 20px;
}

.dashboard-feed-widget .banner-widget.fl-wrap {
    position: relative;
    min-height: 220px;
    border-radius: var(--bme-radius-md);
    overflow: hidden;
    box-shadow: var(--bme-shadow-sm);
    transition: var(--bme-transition);
}

.dashboard-feed-widget .banner-widget.fl-wrap:hover {
    box-shadow: var(--bme-shadow);
}

.dashboard-feed-widget .banner-widget .bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 0.5s ease;
}

.dashboard-feed-widget .banner-widget:hover .bg {
    transform: scale(1.06);
}

.dashboard-feed-widget .banner-widget .overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(6, 30, 25, 0.2) 0%, rgba(6, 30, 25, 0.85) 100%);
}

.dashboard-feed-widget .banner-wdget-content.fl-wrap {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 220px;
    padding: 22px;
    color: #fff;
}

.dashboard-feed-widget .banner-wdget-content h4,
.dashboard-feed-widget .banner-wdget-content p {
    margin: 0 0 14px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    color: #fff;
}

.dashboard-feed-widget .banner-wdget-content a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    padding: 9px 18px;
    background: var(--bme-primary);
    color: var(--bme-secondary);
    font-size: 12px;
    font-weight: 700;
    border-radius: 999px;
    transition: var(--bme-transition);
}

.dashboard-feed-widget .banner-wdget-content a:hover {
    background: var(--bme-primary-dark);
    color: #fff;
    transform: translateY(-2px);
}


/* ============================================================
   DASHBOARD — iCal Import/Export page
   Real classes confirmed from template-parts/dashboard/ical.php.
   .onoffswitch-* is a classic CSS-only toggle switch and
   .chosen-select is enhanced by a JS select-replacement library
   whose base CSS isn't in this plugin's bundle (likely parent
   theme) - recoloring only, no structural/position overrides,
   so the slide animation and dropdown mechanics can't break.
============================================================ */

.dashboard-block-box.clearfix {
    padding: 34px;
}

.field-lbl {
    display: block;
    color: var(--bme-secondary);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 10px;
}

.field-desc {
    color: var(--bme-text-light);
    font-size: 12px;
    line-height: 1.6;
    margin: -4px 0 10px;
}


/* Native <select> fallback styling */

select.chosen-select {
    width: 100%;
    background: var(--bme-bg);
    border: 1.5px solid var(--bme-border);
    border-radius: 12px;
    padding: 14px 18px;
    font-size: 14px;
    color: var(--bme-secondary);
}


/* Standard "Chosen" library classes - recolor only, structural
   mechanics (positioning, JS-driven show/hide) left untouched */

.chosen-container-single .chosen-single {
    height: auto;
    background: var(--bme-bg) !important;
    border: 1.5px solid var(--bme-border) !important;
    border-radius: 12px !important;
    padding: 14px 18px;
    font-size: 14px;
    color: var(--bme-secondary);
    box-shadow: none !important;
}

.chosen-container-active.chosen-with-drop .chosen-single {
    border-color: var(--bme-primary) !important;
}

.chosen-container .chosen-drop {
    border-color: var(--bme-primary) !important;
    border-radius: 12px;
    box-shadow: var(--bme-shadow-sm);
    overflow: hidden;
}

.chosen-container .chosen-results li.highlighted {
    background: var(--bme-primary) !important;
    color: var(--bme-secondary) !important;
}

.chosen-container .chosen-search input {
    border-color: var(--bme-border) !important;
}


/* On/off toggle switches - color only */

.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner {
    background: var(--bme-primary) !important;
}

.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch {
    border-color: var(--bme-primary) !important;
}

.onoffswitch-label {
    background: var(--bme-border) !important;
}


/* iCal file upload dropzone - same dashed/brand treatment as
   the Edit Profile avatar upload zone, for visual consistency */

.file-uploader-wrap.fl-wrap .file-uploader-inner {
    position: relative;
    min-height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: repeating-linear-gradient( 135deg, rgba(148, 209, 47, 0.05), rgba(148, 209, 47, 0.05) 10px, rgba(148, 209, 47, 0.09) 10px, rgba(148, 209, 47, 0.09) 20px);
    border: 2px dashed rgba(148, 209, 47, 0.45);
    border-radius: 12px;
    overflow: hidden;
    transition: var(--bme-transition);
}

.file-uploader-wrap.fl-wrap .file-uploader-inner:hover {
    box-shadow: 0 6px 18px rgba(148, 209, 47, 0.18);
}

.file-uploader-wrap .photoUpload {
    display: flex;
    align-items: center;
    justify-content: center;
}

.file-uploader-wrap .photoUpload span {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--bme-text-light);
    font-weight: 600;
    font-size: 13px;
}

.file-uploader-wrap .photoUpload i {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--bme-shadow-sm);
    color: var(--bme-primary-dark);
    font-size: 14px;
}

.file-uploader-wrap .upload.file-uploader {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}


/* Info / success message */

.esb_msg.esb_msg-info {
    background: rgba(14, 165, 233, 0.08);
    border: 1px solid rgba(14, 165, 233, 0.25);
    border-radius: var(--bme-radius-sm);
    padding: 14px 18px;
    color: var(--bme-secondary);
    font-size: 13px;
    margin-bottom: 20px;
}

.ad-no-listing-msg {
    background: var(--bme-bg);
    border: 1px dashed var(--bme-border);
    border-radius: var(--bme-radius-sm);
    padding: 16px;
    color: var(--bme-text-light);
    font-size: 13px;
    margin-bottom: 16px;
}

.ical-room-row.row {
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
}

.ical-room-row.row::before,
.ical-room-row.row::after {
    display: none !important;
    content: none !important;
}

.ical-room-row .col-md-4 {
    flex: 0 0 calc(33.33% - 14px);
    max-width: calc(33.33% - 14px);
}

.ical-room-row .col-md-8 {
    flex: 1 1 0;
    min-width: 0;
}

@media(max-width:768px) {
    .ical-room-row .col-md-4,
    .ical-room-row .col-md-8 {
        flex: 1 1 100%;
        max-width: 100%;
    }
}