/* Error pages — centered, brand-aligned */
.cp-error-body .preloader {
    display: none !important;
}

.cp-error-page {
    min-height: calc(100vh - var(--cp-nav-h, 72px) - 8rem);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(2rem, 5vw, 4rem) var(--cp-page-pad, 1.25rem);
    background:
        radial-gradient(900px 420px at 15% 0%, rgba(60, 182, 74, 0.12), transparent 55%),
        radial-gradient(700px 380px at 95% 20%, rgba(20, 53, 38, 0.08), transparent 50%),
        linear-gradient(180deg, #f3f7f4 0%, #e8f1ea 100%);
}

.cp-error-page__inner {
    width: 100%;
    max-width: 40rem;
    position: relative;
    text-align: center;
}

.cp-error-page__code {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(5.5rem, 18vw, 8.5rem);
    font-weight: 800;
    line-height: 0.9;
    letter-spacing: -0.04em;
    color: rgba(20, 53, 38, 0.08);
    user-select: none;
    pointer-events: none;
}

.cp-error-page__panel {
    margin-top: -2.75rem;
    position: relative;
    z-index: 1;
    padding: clamp(1.75rem, 4vw, 2.5rem) clamp(1.25rem, 4vw, 2rem);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(20, 53, 38, 0.1);
    box-shadow: 0 18px 48px rgba(20, 53, 38, 0.1);
    backdrop-filter: blur(8px);
}

.cp-error-page__eyebrow {
    margin: 0 0 0.55rem;
    font-family: 'Poppins', sans-serif;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--cp-green, #3cb64a);
}

.cp-error-page__title {
    margin: 0 0 0.75rem;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.55rem, 3.5vw, 2rem);
    font-weight: 700;
    line-height: 1.2;
    color: var(--cp-forest, #143526);
}

.cp-error-page__message {
    margin: 0 auto;
    max-width: 32rem;
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    color: var(--cp-muted, #5a6f63);
}

.cp-error-page__hint {
    margin: 0.65rem auto 0;
    max-width: 30rem;
    font-family: 'Poppins', sans-serif;
    font-size: 0.88rem;
    line-height: 1.5;
    color: rgba(90, 111, 99, 0.9);
}

.cp-error-page__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.65rem;
    margin-top: 1.65rem;
}

.cp-error-page__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.65rem;
    padding: 0.55rem 1.15rem;
    border-radius: 999px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.cp-error-page__btn--primary {
    background: linear-gradient(145deg, var(--cp-green, #3cb64a), var(--cp-green-dark, #2a8f36));
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(60, 182, 74, 0.28);
}

.cp-error-page__btn--primary:hover {
    transform: translateY(-1px);
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(60, 182, 74, 0.34);
}

.cp-error-page__btn--ghost {
    background: #fff;
    color: var(--cp-forest, #143526) !important;
    border: 1px solid rgba(20, 53, 38, 0.14);
}

.cp-error-page__btn--ghost:hover {
    background: var(--cp-mist-2, #e8f1ea);
    color: var(--cp-forest, #143526) !important;
}

.cp-error-page__links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.55rem 1.15rem;
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(20, 53, 38, 0.08);
}

.cp-error-page__links a {
    font-family: 'Poppins', sans-serif;
    font-size: 0.84rem;
    font-weight: 500;
    color: var(--cp-muted, #5a6f63) !important;
    text-decoration: none !important;
}

.cp-error-page__links a:hover {
    color: var(--cp-green-dark, #2a8f36) !important;
}

@media (max-width: 575.98px) {
    .cp-error-page__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .cp-error-page__btn {
        width: 100%;
    }
}

/* CeylonProperty.lk — site-wide modern UI layer */
:root {
    --cp-green: #3cb64a;
    --cp-green-dark: #2a8f36;
    --cp-green-deep: #1f6b2a;
    --cp-forest: #143526;
    --cp-forest-soft: #1e4634;
    --cp-mist: #f3f7f4;
    --cp-mist-2: #e8f1ea;
    --cp-sand: #eef2ee;
    --cp-ink: #143526;
    --cp-muted: #5a6f63;
    --cp-line: rgba(20, 53, 38, 0.12);
    --cp-white: #ffffff;
    --cp-danger: #c0392b;
    --cp-radius: 14px;
    --cp-radius-sm: 10px;
    --cp-radius-lg: 22px;
    --cp-shadow: 0 12px 32px rgba(20, 53, 38, 0.08);
    --cp-shadow-sm: 0 4px 14px rgba(20, 53, 38, 0.06);
    --cp-nav-h: 72px;
    --cp-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --cp-page-pad: clamp(0.85rem, 2vw, 1.75rem);
}

/* Site-wide full-width layout (override Bootstrap boxed .container) */
.container,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-fluid {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: var(--cp-page-pad) !important;
    padding-right: var(--cp-page-pad) !important;
}

.container-fluid {
    max-width: 100% !important;
}

/* Keep auth cards / modals intentionally centered and narrow */
.cp-auth-card,
.wrap-login100,
.cp-contact-modal .modal-dialog,
.cp-report-modal .modal-dialog {
    max-width: 520px;
}

.cp-auth-card,
.wrap-login100 {
    margin-left: auto;
    margin-right: auto;
}

/* Base */
html {
    scroll-behavior: smooth;
}

body {
    color: var(--cp-ink);
    background:
        radial-gradient(1200px 500px at 10% -10%, rgba(60, 182, 74, 0.08), transparent 55%),
        radial-gradient(900px 400px at 100% 0%, rgba(20, 53, 38, 0.05), transparent 50%),
        var(--cp-mist) !important;
}

h1, h2, h3, .cp-display {
    color: var(--cp-forest);
}

a {
    transition: color 0.2s var(--cp-ease), opacity 0.2s var(--cp-ease);
}

a:focus-visible,
button:focus-visible,
.cp-btn:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--cp-green);
    outline-offset: 2px;
}

/* Buttons */
.cp-btn,
.alazea-btn,
.alazea-btn-2,
.alazea-btn-3,
.login100-form-btn {
    border-radius: var(--cp-radius-sm) !important;
    transition: transform 0.2s var(--cp-ease), background 0.2s var(--cp-ease), box-shadow 0.2s var(--cp-ease) !important;
    box-shadow: none !important;
}

.cp-btn-primary,
.alazea-btn-2,
.login100-form-btn {
    background: var(--cp-green) !important;
    color: #fff !important;
    border: none !important;
}

.cp-btn-primary:hover,
.alazea-btn-2:hover,
.login100-form-btn:hover {
    background: var(--cp-green-dark) !important;
    transform: translateY(-1px);
}

.cp-btn-ghost,
.alazea-btn {
    background: rgba(255, 255, 255, 0.92) !important;
    color: var(--cp-forest) !important;
    border: 1px solid var(--cp-line) !important;
}

.cp-btn-ghost:hover,
.alazea-btn:hover,
.alazea-btn.active {
    background: var(--cp-forest) !important;
    color: #fff !important;
    border-color: var(--cp-forest) !important;
}

/* Keep original home-nav outline buttons — legacy fallback */
.cp-nav .alazea-btn-3 {
    background-color: transparent !important;
    border: 2px solid #fff !important;
    color: #fff !important;
}

.cp-nav .alazea-btn-3:hover,
.cp-nav .alazea-btn-3:focus {
    background-color: #fff !important;
    color: #3cb64a !important;
}

.cp-nav .cp-nav-primary.alazea-btn-3 {
    background: var(--cp-green) !important;
    border-color: var(--cp-green) !important;
    color: #fff !important;
}

.cp-nav .cp-nav-primary.alazea-btn-3:hover {
    background: var(--cp-green-dark) !important;
    border-color: var(--cp-green-dark) !important;
    color: #fff !important;
}

/* Navbar — transparent over hero, frosted when scrolled */
.header-area.cp-nav {
    position: absolute;
    width: 100%;
    z-index: 1040;
    top: 0;
    left: 0;
    background-color: transparent;
}

.cp-nav .alazea-main-menu,
.header-area.cp-nav .alazea-main-menu {
    background: transparent;
    border-bottom: none;
    box-shadow: none;
    transition: background 0.25s var(--cp-ease), box-shadow 0.25s var(--cp-ease);
}

.cp-nav:not(.is-solid) .alazea-main-menu,
.header-area.cp-nav:not(.is-solid) .alazea-main-menu,
.header-area.cp-nav:not(.is-solid) .is-sticky .alazea-main-menu {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border-bottom: none !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.cp-nav.is-solid .alazea-main-menu,
.header-area.cp-nav.is-solid .alazea-main-menu,
.header-area.cp-nav.is-solid .is-sticky .alazea-main-menu {
    background-color: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(16px) saturate(1.15);
    -webkit-backdrop-filter: blur(16px) saturate(1.15);
    box-shadow: 0 8px 28px rgba(20, 53, 38, 0.08);
    border-bottom: 1px solid rgba(20, 53, 38, 0.08);
}

.cp-nav .nav-brand img.cp-nav-logo-light { display: block; }
.cp-nav .nav-brand img.cp-nav-logo-dark { display: none; }
.cp-nav.is-solid .nav-brand img.cp-nav-logo-light { display: none; }
.cp-nav.is-solid .nav-brand img.cp-nav-logo-dark { display: block; }

.cp-nav.is-solid .alazea-btn-3 {
    background-color: transparent !important;
    border: 2px solid #143526 !important;
    color: #143526 !important;
}

.cp-nav.is-solid .alazea-btn-3:hover {
    background-color: #143526 !important;
    color: #fff !important;
}

.cp-nav.is-solid .cp-nav-primary.alazea-btn-3 {
    background: var(--cp-green) !important;
    border-color: var(--cp-green) !important;
    color: #fff !important;
}

.cp-nav .classy-navbar {
    min-height: var(--cp-nav-h);
    padding-top: 0;
    padding-bottom: 0;
}

.cp-nav .nav-brand {
    line-height: 1;
    display: inline-flex;
    align-items: center;
}

.cp-nav .nav-brand img {
    max-height: 36px;
    width: auto;
    display: block;
    opacity: 1;
    visibility: visible;
}

/* Modern home nav actions */
.cp-nav .classynav.cp-nav-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem 0.75rem;
}

.cp-nav-link {
    display: inline-flex !important;
    align-items: center;
    gap: 0.4rem;
    margin: 0 !important;
    padding: 0.4rem 0.45rem !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    color: rgba(255, 255, 255, 0.92) !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em;
    text-transform: none !important;
    text-decoration: none !important;
    line-height: 1.2;
    border-radius: 8px;
    transition: color 0.2s var(--cp-ease), background 0.2s var(--cp-ease);
}

.cp-nav-link:hover,
.cp-nav-link:focus {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.12) !important;
    text-decoration: none !important;
}

.cp-nav-hotline i {
    font-size: 0.75rem;
    opacity: 0.9;
}

.cp-nav-hotline__label {
    font-weight: 500;
    opacity: 0.75;
}

.cp-nav-hotline__num {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
}

.cp-nav-divider {
    display: inline-block;
    width: 1px;
    height: 1.35rem;
    margin: 0 0.15rem;
    background: rgba(255, 255, 255, 0.35);
    flex-shrink: 0;
}

.cp-nav-cta {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    min-height: 40px;
    padding: 0.55rem 1.15rem !important;
    border-radius: 10px !important;
    border: none !important;
    background: var(--cp-green) !important;
    color: #fff !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em;
    text-transform: none !important;
    text-decoration: none !important;
    box-shadow: 0 6px 18px rgba(60, 182, 74, 0.35) !important;
    transition: background 0.2s var(--cp-ease), transform 0.2s var(--cp-ease), box-shadow 0.2s var(--cp-ease);
}

.cp-nav-cta:hover,
.cp-nav-cta:focus {
    background: var(--cp-green-dark) !important;
    color: #fff !important;
    text-decoration: none !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(60, 182, 74, 0.42) !important;
}

.cp-nav-account {
    display: inline-flex !important;
    align-items: center;
    gap: 0.45rem;
    margin: 0 !important;
    min-height: 40px;
    padding: 0.5rem 0.95rem !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.55) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: #fff !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em;
    text-transform: none !important;
    text-decoration: none !important;
    transition: background 0.2s var(--cp-ease), border-color 0.2s var(--cp-ease), color 0.2s var(--cp-ease);
}

.cp-nav-account:hover,
.cp-nav-account:focus {
    background: #fff !important;
    border-color: #fff !important;
    color: var(--cp-forest) !important;
    text-decoration: none !important;
}

.cp-nav-account i {
    font-size: 0.8rem;
    opacity: 0.9;
}

.cp-nav.is-solid .cp-nav-link {
    color: var(--cp-forest) !important;
}

.cp-nav.is-solid .cp-nav-link:hover,
.cp-nav.is-solid .cp-nav-link:focus {
    color: var(--cp-green-deep) !important;
    background: rgba(60, 182, 74, 0.1) !important;
}

.cp-nav.is-solid .cp-nav-hotline__label {
    color: var(--cp-muted);
    opacity: 1;
}

.cp-nav.is-solid .cp-nav-divider {
    background: rgba(20, 53, 38, 0.16);
}

.cp-nav.is-solid .cp-nav-cta {
    box-shadow: 0 4px 14px rgba(60, 182, 74, 0.28) !important;
}

.cp-nav.is-solid .cp-nav-account {
    border-color: rgba(20, 53, 38, 0.16) !important;
    background: #fff !important;
    color: var(--cp-forest) !important;
}

.cp-nav.is-solid .cp-nav-account:hover,
.cp-nav.is-solid .cp-nav-account:focus {
    border-color: var(--cp-green) !important;
    background: rgba(60, 182, 74, 0.08) !important;
    color: var(--cp-green-deep) !important;
}

@media (max-width: 991px) {
    .cp-nav .classynav.cp-nav-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 0.65rem;
        padding: 0.75rem 0 1rem;
    }

    .cp-nav-divider { display: none; }

    .cp-nav-link,
    .cp-nav-cta,
    .cp-nav-account {
        width: 100%;
        justify-content: center;
        min-height: 44px;
        padding: 0.7rem 1rem !important;
    }

    .cp-nav-hotline__label { display: none; }

    .cp-nav:not(.is-solid) .cp-nav-link,
    .cp-nav:not(.is-solid) .cp-nav-account {
        color: var(--cp-forest) !important;
        border-color: rgba(20, 53, 38, 0.14) !important;
        background: rgba(255, 255, 255, 0.95) !important;
    }
}

@media (max-width: 1199px) {
    .cp-nav-hotline__label { display: none; }
}


/* Listing sub-nav — professional white bar */
.cp-subnav {
    position: sticky;
    top: 0;
    z-index: 1030;
}

/* Listing pages: in-flow sticky header (do not use theme absolute + jquery-sticky) */
.header-area.cp-subnav {
    position: sticky !important;
    top: 0 !important;
    width: 100%;
    left: auto;
    right: auto;
    background: #fff;
}

/* Kill jquery-sticky wrapper/effects if they were applied */
.header-area.cp-subnav .sticky-wrapper,
.header-area.cp-subnav .sticky-wrapper.is-sticky,
body:has(.cp-subnav) .sticky-wrapper,
body:has(.cp-subnav) .sticky-wrapper.is-sticky {
    height: auto !important;
    min-height: 0 !important;
    position: static !important;
}

.header-area.cp-subnav .alazea-main-menu,
.header-area.cp-subnav .alazea-main-menu.is-sticky,
.header-area.cp-subnav .is-sticky .alazea-main-menu {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    transform: none !important;
    z-index: auto !important;
    box-shadow: none !important;
}

.cp-subnav .alazea-main-menu {
    background: rgba(255, 255, 255, 0.97);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(20, 53, 38, 0.08);
    box-shadow: 0 8px 24px rgba(20, 53, 38, 0.05);
}

.cp-subnav .classy-nav-container > .container-fluid {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

.cp-subnav .classy-navbar {
    min-height: 64px;
    gap: 0.75rem;
}

.cp-subnav .classy-menu {
    flex: 1 1 auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.cp-subnav .nav-brand {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    margin-right: 0.5rem;
}

.cp-subnav .nav-brand img {
    max-height: 34px;
    width: auto;
    display: block;
}

.cp-subnav .classynav.cp-subnav-bar {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem 1.25rem;
    width: 100%;
}

.cp-subnav-links {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.15rem;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.cp-subnav-links > li {
    position: relative;
    margin: 0 !important;
}

.cp-subnav-links > li > a {
    display: inline-flex !important;
    align-items: center;
    gap: 0.3rem;
    min-height: 40px;
    padding: 0.4rem 0.7rem !important;
    border-radius: 9px;
    font-family: 'Poppins', sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em;
    text-transform: none !important;
    text-decoration: none !important;
    color: var(--cp-forest) !important;
    background: transparent;
    transition: color 0.18s var(--cp-ease), background 0.18s var(--cp-ease);
}

.cp-subnav-links > li > a:hover,
.cp-subnav-links > li > a:focus,
.cp-subnav-links > li:hover > a {
    color: var(--cp-green-deep) !important;
    background: rgba(60, 182, 74, 0.1);
}

.cp-subnav-links > li.is-active > a {
    color: var(--cp-green-deep) !important;
    background: rgba(60, 182, 74, 0.12);
    font-weight: 600 !important;
}

.cp-subnav-links > li .dropdown {
    border: 1px solid rgba(20, 53, 38, 0.1) !important;
    border-radius: 12px !important;
    box-shadow: 0 14px 36px rgba(20, 53, 38, 0.12) !important;
    padding: 0.4rem !important;
    min-width: 12rem;
    overflow: hidden;
}

.cp-subnav-links > li .dropdown li a {
    display: block !important;
    padding: 0.55rem 0.75rem !important;
    border-radius: 8px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 0.84rem !important;
    font-weight: 500 !important;
    color: var(--cp-forest) !important;
    text-transform: none !important;
}

.cp-subnav-links > li .dropdown li a:hover {
    background: rgba(60, 182, 74, 0.1) !important;
    color: var(--cp-green-deep) !important;
}

.cp-subnav-actions {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-left: 0.25rem;
    padding-left: 0.85rem;
    border-left: 1px solid rgba(20, 53, 38, 0.12);
}

.cp-subnav .cp-nav-link {
    color: var(--cp-forest) !important;
}

.cp-subnav .cp-nav-link:hover,
.cp-subnav .cp-nav-link:focus {
    color: var(--cp-green-deep) !important;
    background: rgba(60, 182, 74, 0.1) !important;
}

.cp-subnav .cp-nav-cta {
    min-height: 40px;
    background: var(--cp-green) !important;
    border: none !important;
    color: #fff !important;
    text-transform: none !important;
    font-weight: 600 !important;
    float: none !important;
    box-shadow: 0 4px 14px rgba(60, 182, 74, 0.28) !important;
}

.cp-subnav .cp-nav-account {
    min-height: 40px;
    border: 1px solid rgba(20, 53, 38, 0.16) !important;
    background: #fff !important;
    color: var(--cp-forest) !important;
    text-transform: none !important;
    font-weight: 500 !important;
    float: none !important;
}

.cp-subnav .cp-nav-account:hover,
.cp-subnav .cp-nav-account:focus {
    border-color: var(--cp-green) !important;
    background: rgba(60, 182, 74, 0.08) !important;
    color: var(--cp-green-deep) !important;
}

/* Kill legacy outline button look if theme classes linger */
.cp-subnav .alazea-btn-3,
.cp-subnav a.btn.alazea-btn-3 {
    float: none !important;
    text-transform: none !important;
}

@media (max-width: 1199px) {
    .cp-subnav-links > li > a {
        padding: 0.4rem 0.55rem !important;
        font-size: 0.84rem !important;
    }
}

@media (max-width: 991px) {
    .cp-subnav .classynav.cp-subnav-bar {
        flex-direction: column;
        align-items: stretch;
        gap: 0.85rem;
        padding: 0.5rem 0 1rem;
    }

    .cp-subnav-links {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        gap: 0.2rem;
    }

    .cp-subnav-links > li > a {
        width: 100%;
        justify-content: flex-start;
        min-height: 44px;
        padding: 0.7rem 0.85rem !important;
    }

    .cp-subnav-actions {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        margin: 0;
        padding: 0.75rem 0 0;
        border-left: 0;
        border-top: 1px solid rgba(20, 53, 38, 0.1);
        gap: 0.55rem;
    }

    .cp-subnav .cp-nav-link,
    .cp-subnav .cp-nav-cta,
    .cp-subnav .cp-nav-account {
        width: 100%;
        justify-content: center;
        min-height: 44px;
    }
}

/* Hero */
.cp-hero.single-hero-post {
    min-height: min(92vh, 860px);
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.cp-hero .slide-img.bg-img {
    transform: scale(1.04);
    transition: opacity 0.6s var(--cp-ease), background-image 0.6s var(--cp-ease), transform 8s ease;
}

.cp-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(8, 24, 16, 0.28) 0%, rgba(8, 24, 16, 0.22) 35%, rgba(8, 24, 16, 0.58) 100%),
        radial-gradient(ellipse 80% 55% at 50% 100%, rgba(8, 24, 16, 0.45), transparent 70%);
    pointer-events: none;
    z-index: 1;
}

.cp-hero .container {
    max-width: 100% !important;
    width: 100%;
    position: relative;
    z-index: 2;
}

.cp-hero-brand {
    color: #fff;
    line-height: 1.05;
    margin: 0 0 0.85rem;
    text-shadow: 0 8px 30px rgba(0, 0, 0, 0.25);
}

.cp-hero-brand .home-logo,
.cp-hero-brand img#homeLogo {
    width: min(300px, 70vw);
    max-width: 300px;
    max-height: none;
    height: auto;
    filter: drop-shadow(0 10px 28px rgba(0, 0, 0, 0.35));
}

.cp-hero-title {
    color: #fff;
    margin: 0 0 1.25rem;
    line-height: 1.2;
    letter-spacing: -0.02em;
    text-shadow: 0 6px 28px rgba(0, 0, 0, 0.35);
}

.cp-hero-lead {
    color: rgba(255, 255, 255, 0.92);
    margin: 0 auto 1.35rem;
    max-width: 36rem;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.25);
}

.cp-hero-panel {
    max-width: 720px;
    margin: 0 auto;
    animation: cp-rise 0.7s var(--cp-ease) both;
}

/* Modern app search sheet */
.cp-app-form {
    margin: 0 auto;
    max-width: 640px;
}

.cp-app-search {
    background: rgba(255, 255, 255, 0.78);
    border-radius: 22px;
    padding: 0.65rem;
    box-shadow:
        0 18px 50px rgba(0, 0, 0, 0.18),
        0 2px 0 rgba(255, 255, 255, 0.45) inset;
    border: 1px solid rgba(255, 255, 255, 0.55);
    text-align: left;
    backdrop-filter: blur(16px) saturate(1.2);
    -webkit-backdrop-filter: blur(16px) saturate(1.2);
}

.cp-seg {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.2rem;
    padding: 0.22rem;
    margin-bottom: 0.55rem;
    border-radius: 14px;
    background: rgba(238, 243, 239, 0.72);
}

.cp-seg-item {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0.35rem 0.4rem !important;
    border-radius: 11px !important;
    border: none !important;
    background: transparent !important;
    color: var(--cp-muted) !important;
    text-decoration: none !important;
    transition: background 0.18s var(--cp-ease), color 0.18s var(--cp-ease), box-shadow 0.18s var(--cp-ease);
    box-shadow: none !important;
}

.cp-seg-item:hover {
    color: var(--cp-forest) !important;
    background: rgba(255, 255, 255, 0.65) !important;
}

.cp-seg-item.active {
    background: rgba(255, 255, 255, 0.92) !important;
    color: var(--cp-forest) !important;
    box-shadow: 0 2px 8px rgba(20, 53, 38, 0.1) !important;
}

.cp-app-query {
    display: flex;
    align-items: stretch;
    gap: 0;
    width: 100% !important;
    background: rgba(244, 247, 245, 0.82) !important;
    border: 1px solid rgba(226, 235, 228, 0.85) !important;
    border-radius: 14px !important;
    overflow: hidden;
    box-shadow: none !important;
    height: auto !important;
    padding: 0 !important;
    min-height: 48px;
}

.cp-app-city {
    position: relative;
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
}

.cp-app-city > i {
    position: absolute;
    left: 0.9rem;
    color: var(--cp-green);
    pointer-events: none;
    z-index: 1;
}

.cp-app-city .search_input,
.cp-app-search .search_input {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    min-height: 48px;
    line-height: 1.35 !important;
    padding: 0.7rem 0.85rem 0.7rem 2.25rem !important;
    background: transparent !important;
    color: var(--cp-ink) !important;
    box-shadow: none !important;
    outline: none !important;
}

.cp-app-city .search_input::placeholder {
    color: #8a9b91;
}

.cp-app-go,
.cp-app-search #searchBtnHome {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    flex: 0 0 auto;
    min-width: 108px;
    min-height: 48px;
    margin: 0 !important;
    padding: 0 1.1rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--cp-green) !important;
    color: #fff !important;
    text-decoration: none !important;
    box-shadow: none !important;
    white-space: nowrap;
    transition: background 0.18s var(--cp-ease) !important;
}

.cp-app-go:hover,
.cp-app-search #searchBtnHome:hover {
    background: var(--cp-green-dark) !important;
    color: #fff !important;
    transform: none;
}

.cp-search-error {
    display: block;
    margin: 0.35rem 0.35rem 0;
    min-height: 0;
    font-size: 12px !important;
}

.cp-app-filters-toggle {
    display: none;
    width: 100%;
    margin-top: 0.55rem;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 38px;
    border-radius: 12px;
    border: 1px solid #e2ebe4;
    background: #f7faf8;
    color: var(--cp-forest);
    cursor: pointer;
}

.cp-app-filters-toggle .cp-filters-chevron {
    transition: transform 0.2s var(--cp-ease);
}

.cp-app-filters-toggle[aria-expanded="true"] .cp-filters-chevron {
    transform: rotate(180deg);
}

.cp-app-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.55rem;
}

.cp-app-filters.is-land .cp-home-filter-rooms,
.cp-app-filters.is-land #homeFilterPropertyTypeWrap {
    display: none;
}

.cp-app-chip {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
}

.cp-app-select {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    min-height: 38px;
    border: 1px solid rgba(226, 235, 228, 0.9);
    border-radius: 999px;
    background: rgba(247, 250, 248, 0.82) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%235a6f63' d='M1 1l4 4 4-4'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
    color: var(--cp-ink);
    padding: 0.35rem 1.7rem 0.35rem 0.85rem;
    font-size: 12px !important;
    line-height: 1.2;
    cursor: pointer;
    transition: border-color 0.18s var(--cp-ease), background-color 0.18s var(--cp-ease);
}

.cp-app-select:hover {
    background-color: #fff;
    border-color: #c9d8ce;
}

.cp-app-select:focus {
    border-color: var(--cp-green);
    outline: none;
    background-color: #fff;
    box-shadow: 0 0 0 3px rgba(60, 182, 74, 0.15);
}

.cp-hero-shortcuts {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.9rem;
}

.cp-hero-shortcuts-label {
    color: rgba(255, 255, 255, 0.72);
    margin-right: 0.15rem;
    font-size: 12px !important;
}

.cp-hero-shortcuts a {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0.25rem 0.7rem;
    border-radius: 999px;
    color: #fff !important;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.28);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    text-decoration: none !important;
    transition: background 0.2s var(--cp-ease), transform 0.2s var(--cp-ease);
    font-size: 12px !important;
}

.cp-hero-shortcuts a:hover {
    background: rgba(255, 255, 255, 0.24);
    transform: translateY(-1px);
}

@media (max-width: 767px) {
    .cp-app-filters-toggle {
        display: inline-flex;
    }

    .cp-app-filters {
        display: none;
    }

    .cp-app-filters.is-open {
        display: flex;
    }

    .cp-app-chip {
        flex: 1 1 calc(50% - 0.4rem);
    }
}

@media (max-width: 575px) {
    .cp-app-search {
        border-radius: 18px;
        padding: 0.55rem;
    }

    .cp-app-query {
        flex-direction: column;
        background: transparent !important;
        border: 0 !important;
        gap: 0.45rem;
        overflow: visible;
    }

    .cp-app-city {
        background: #f4f7f5;
        border: 1px solid #e2ebe4;
        border-radius: 14px;
    }

    .cp-app-go,
    .cp-app-search #searchBtnHome {
        width: 100%;
        min-width: 0;
        border-radius: 14px !important;
    }

    .cp-seg-item {
        font-size: 12px !important;
        min-height: 34px;
        padding: 0.3rem 0.2rem !important;
    }
}

/* Keep legacy search helpers harmless if reused elsewhere */
.cp-search {
    background: rgba(255, 255, 255, 0.96);
    border-radius: var(--cp-radius-lg);
    padding: 0.85rem;
    box-shadow: var(--cp-shadow);
    border: 1px solid rgba(255, 255, 255, 0.5);
    text-align: left;
}

@keyframes cp-rise {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* Modern homepage body */
.cp-home-body {
    position: relative;
    background:
        radial-gradient(900px 360px at 0% 0%, rgba(60, 182, 74, 0.07), transparent 55%),
        radial-gradient(700px 320px at 100% 8%, rgba(20, 53, 38, 0.05), transparent 50%),
        transparent;
}

.cp-home-media {
    max-width: 100%;
}

.cp-home-video {
    border-radius: 1.15rem;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(20, 53, 38, 0.14);
    position: relative;
    background: #000;
    border: 1px solid rgba(255, 255, 255, 0.35);
}

.cp-home-video-thumb {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cp-home-video-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cp-home-video-play {
    position: absolute;
    width: 76px;
    height: 76px;
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.cp-home-video-play span {
    border-style: solid;
    border-width: 12px 0 12px 20px;
    border-color: transparent transparent transparent #fff;
    margin-left: 4px;
}

.cp-help-section {
    position: relative;
    padding: 3.5rem 0 3rem;
    background:
        radial-gradient(560px 220px at 12% 10%, rgba(60, 182, 74, 0.1), transparent 70%),
        radial-gradient(480px 200px at 90% 80%, rgba(20, 53, 38, 0.05), transparent 65%),
        linear-gradient(180deg, #f4f7f5 0%, #eef2ef 100%);
    overflow: hidden;
}

.cp-help-section .cp-section-head {
    margin-bottom: 2rem;
}

.cp-help-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.15rem;
    max-width: 1080px;
    margin: 0 auto;
}

.cp-help-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    background: #fff;
    border: 1px solid rgba(20, 53, 38, 0.08);
    border-radius: 18px;
    padding: 1.5rem 1.35rem 1.35rem;
    min-height: 100%;
    box-shadow: 0 10px 28px rgba(20, 53, 38, 0.06);
    transition: transform 0.25s var(--cp-ease), box-shadow 0.25s var(--cp-ease), border-color 0.25s var(--cp-ease);
}

.cp-help-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1.25rem;
    bottom: 1.25rem;
    width: 3px;
    border-radius: 999px;
    background: #3cb64a;
    opacity: 0;
    transition: opacity 0.25s var(--cp-ease);
}

.cp-help-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 40px rgba(20, 53, 38, 0.1);
    border-color: rgba(60, 182, 74, 0.28);
}

.cp-help-card:hover::before {
    opacity: 1;
}

.cp-help-card__icon {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.1rem;
    font-size: 1.35rem;
    flex-shrink: 0;
}

.cp-help-card__icon--buy {
    background: #e8f7ea;
    color: #1f6b2a;
}

.cp-help-card__icon--sell {
    background: #eef4ff;
    color: #2f6fed;
}

.cp-help-card__icon--rent {
    background: #fff4df;
    color: #9a6700;
}

.cp-help-card__body {
    flex: 1;
}

.cp-help-card h3 {
    margin: 0 0 0.45rem;
    color: var(--cp-forest);
    font-family: 'Poppins', sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.25;
}

.cp-help-card p {
    color: var(--cp-muted);
    margin: 0 0 1.25rem;
    font-family: 'Poppins', sans-serif;
    font-size: 0.92rem;
    line-height: 1.55;
}

.cp-help-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 42px;
    padding: 0.55rem 1rem;
    border-radius: 11px;
    background: #143526;
    color: #fff !important;
    font-family: 'Poppins', sans-serif;
    font-size: 0.88rem;
    font-weight: 650;
    text-decoration: none !important;
    transition: background 0.2s var(--cp-ease), transform 0.2s var(--cp-ease), gap 0.2s var(--cp-ease);
}

.cp-help-card__cta i {
    font-size: 0.78rem;
    transition: transform 0.2s var(--cp-ease);
}

.cp-help-card__cta:hover {
    background: #3cb64a;
    color: #fff !important;
    gap: 0.65rem;
}

.cp-help-card__cta:hover i {
    transform: translateX(2px);
}

.cp-help-card img {
    display: none;
}

.cp-help-card .login100-form-btn {
    display: none;
}

@media (max-width: 991px) {
    .cp-help-grid {
        grid-template-columns: 1fr;
        max-width: 420px;
    }
}

/* Sections */
.cp-section {
    padding: 3.5rem 0;
}

.cp-section + .cp-section {
    padding-top: 1.5rem;
}

.cp-section-head {
    text-align: center;
    margin-bottom: 1.75rem;
}

.cp-section-head h2 {
    margin: 0 0 0.4rem;
}

.cp-section-head p {
    color: var(--cp-muted);
    margin: 0;
}

.cp-section-more {
    margin-top: 1.5rem;
    text-align: center;
}

.cp-section-more .login100-form-btn {
    min-width: 140px;
    border-radius: 999px !important;
}
/* Listing grid: even row gaps + equal-height cards
   (margin on the card + height:100% caused rows to overlap) */
.cp-page-listings .row > .cp-col-5,
.cp-page-listings .row > .cp-col-6,
.cp-page-listings .row > .listing-nd-card,
.cp-home-listings .row > .cp-col-5,
.cp-home-listings .row > .cp-col-6,
.cp-home-listings .row > .listing-nd-card {
    display: flex;
    flex-direction: column;
    margin-bottom: 1.25rem;
}

.cp-page-listings .row > [class*="col-lg-12"],
.cp-page-listings .row > [class*="col-md-12"],
.cp-page-listings .row > .col-12,
.cp-page-listings .row > .col-lg-10,
.cp-page-listings .row > .col-lg-2,
.cp-page-listings .row > .cp-listing-sidebar,
.cp-home-listings .row > [class*="col-lg-12"],
.cp-home-listings .row > [class*="col-md-12"],
.cp-home-listings .row > .col-12 {
    display: block;
    margin-bottom: 0;
}

/* Listing cards — 4 per row on desktop (sale / rent / land / holiday)
   Home page overrides to 5 per row via .cp-home-listings */
.cp-col-5 {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    flex: 0 0 100%;
    max-width: 100%;
}

@media (min-width: 576px) {
    .row > .cp-col-5 {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
}

@media (min-width: 768px) {
    .row > .cp-col-5 {
        flex: 0 0 33.333333% !important;
        max-width: 33.333333% !important;
    }
}

@media (min-width: 992px) {
    .row > .cp-col-5 {
        flex: 0 0 25% !important;
        max-width: 25% !important;
    }

    /* Home page only — 5 ads per row */
    .cp-home-listings .row > .cp-col-5 {
        flex: 0 0 20% !important;
        max-width: 20% !important;
    }
}

/* Listing cards — 5 per row on desktop (/new-developments) */
.cp-col-6 {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    flex: 0 0 100%;
    max-width: 100%;
}

@media (min-width: 576px) {
    .row > .cp-col-6 {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
}

@media (min-width: 768px) {
    .row > .cp-col-6 {
        flex: 0 0 33.333333% !important;
        max-width: 33.333333% !important;
    }
}

@media (min-width: 992px) {
    .row > .cp-col-6 {
        flex: 0 0 20% !important;
        max-width: 20% !important;
    }
}

.cp-listing,
.rp-item.cp-listing,
.row > [class*="col-"] > .rp-item.cp-listing {
    background: #fff !important;
    border: 1px solid rgba(20, 53, 38, 0.1) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    width: 100%;
    height: 100% !important;
    max-height: none !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 6px 18px rgba(20, 53, 38, 0.06) !important;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
    margin-bottom: 1rem !important;
    font-family: 'Poppins', sans-serif !important;
}

.row > [class*="col-"] > .rp-item.cp-listing:hover,
.cp-listing:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 28px rgba(20, 53, 38, 0.1) !important;
    border-color: rgba(60, 182, 74, 0.28) !important;
}

.cp-listing .cp-listing-media-link {
    display: block;
    text-decoration: none;
}

.cp-listing .rp-pic,
.cp-listing .cp-listing-media,
.row > [class*="col-"] > .rp-item.cp-listing .rp-pic {
    height: 168px !important;
    min-height: 168px !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative;
    overflow: hidden;
    /* color only — do not use shorthand `background` (it kills set-bg images) */
    background-color: #eef2ee !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

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

.cp-listing:hover .cp-listing-img {
    transform: scale(1.04);
}

.cp-listing-badges {
    position: absolute;
    top: 0.65rem;
    left: 0.65rem;
    right: 0.65rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    z-index: 3;
    pointer-events: none;
}

.cp-listing-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0.15rem 0.5rem;
    border-radius: 6px;
    background: rgba(20, 53, 38, 0.88);
    color: #fff !important;
    font-size: 0.65rem;
    font-weight: 650;
    letter-spacing: 0.02em;
    line-height: 1.2;
    text-transform: none;
    transform: none !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.cp-listing-badge--sale { background: #2f9a3c; }
.cp-listing-badge--rent { background: #2f6fed; }
.cp-listing-badge--holiday { background: #c0392b; }
.cp-listing-badge--urgent { background: #d35400; }
.cp-listing-badge--deal {
    background: #ffeb3b !important;
    color: #1a1a1a !important;
}

/* Hide legacy tilted ribbons if still present */
.cp-listing .sale-notic,
.cp-listing .rent-notic,
.cp-listing .holiday-notic,
.cp-listing .urgent-notic,
.cp-listing .best-deals-notic {
    display: none !important;
}

.cp-listing .rp-info,
.cp-listing .cp-listing-body,
.row > [class*="col-"] > .rp-item.cp-listing .rp-info {
    text-align: left !important;
    padding: 0.8rem 0.85rem 0.45rem !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    box-shadow: none !important;
    border: 0 !important;
    background: #fff !important;
}

.cp-listing .rp-info h5,
.cp-listing .cp-listing-title {
    min-height: 0 !important;
    font-size: 0.9rem !important;
    font-weight: 650 !important;
    line-height: 1.3 !important;
    margin: 0 0 0.4rem !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cp-listing .rp-info h5 a,
.cp-listing .cp-listing-title a {
    color: #143526 !important;
    text-decoration: none !important;
}

.cp-listing .rp-info h5 a:hover,
.cp-listing .cp-listing-title a:hover {
    color: #2f9a3c !important;
}

.cp-listing-location,
.cp-listing .rp-info p.cp-listing-location {
    display: flex !important;
    align-items: flex-start;
    gap: 0.35rem;
    margin: 0 0 0.25rem !important;
    color: #6b7580 !important;
    font-size: 0.78rem !important;
    line-height: 1.35;
    min-height: 0 !important;
    max-height: none !important;
}

.cp-listing-location i {
    color: #3cb64a !important;
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.cp-listing-type {
    margin: 0 0 0.55rem !important;
    color: #8a959e !important;
    font-size: 0.72rem !important;
    font-weight: 550;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.cp-listing .cp-listing-meta {
    color: #5b6b63;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.65rem;
    align-items: center;
    min-height: 0;
    font-size: 0.78rem;
    padding-top: 0.15rem;
}

.cp-listing .cp-listing-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    white-space: nowrap;
    color: #3a4450;
    font-weight: 550;
}

.cp-listing .cp-listing-meta img {
    width: 13px;
    height: 13px;
    flex-shrink: 0;
    opacity: 0.8;
}

.cp-listing .cp-listing-meta small {
    color: #7a8790;
    font-weight: 500;
}

.cp-listing .rp-price,
.cp-listing .cp-listing-price,
.row > [class*="col-"] > .rp-item.cp-listing .rp-price {
    display: flex !important;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.4rem;
    margin-top: auto !important;
    padding: 0.7rem 0.85rem 0.85rem !important;
    font-size: 0.98rem !important;
    font-weight: 700 !important;
    text-align: left !important;
    color: #143526 !important;
    background: #f6faf7 !important;
    border-top: 1px solid rgba(20, 53, 38, 0.08) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.cp-listing .cp-listing-price__amount {
    color: #1f6b2a !important;
    font-weight: 750;
    letter-spacing: -0.01em;
}

.cp-listing .rp-price small,
.cp-listing .cp-listing-price small {
    font-weight: 550 !important;
    font-size: 0.7rem !important;
    color: #7a8790 !important;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.cp-listing-section-title {
    margin: 0.35rem 0 0.15rem;
    color: #143526;
    font-family: 'Poppins', sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
}

/* New development cards — match professional listing cards */
/* Space between rows on the COLUMN (card height:100% + margin collapses/overlaps) */
.listing-nd-card,
.row > .listing-nd-card {
    display: flex;
    flex-direction: column;
    margin-bottom: 1.5rem !important;
}

.listing-nd-card > .cp-nd-listing,
.row > .listing-nd-card > .cp-nd-listing,
.row > [class*="col-"].listing-nd-card > .rp-item.cp-listing {
    margin-bottom: 0 !important;
    height: 100% !important;
}

.listing-nd-card .cp-listing-media.set-bg {
    background-size: cover !important;
    background-position: center !important;
}

.listing-nd-card .listing-nd-pic--developer-bg {
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-color: #f5f6f8 !important;
}

.listing-nd-card .cp-nd-logo {
    position: absolute;
    right: 0.65rem;
    bottom: 0.65rem;
    z-index: 3;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16);
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.listing-nd-card .cp-nd-logo__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cp-listing-badge--nd {
    background: #c0392b !important;
    color: #fff !important;
}

.cp-listing-badge--ready {
    background: #2f9a3c !important;
    color: #fff !important;
}

.cp-listing-badge--construction {
    background: #e67e22 !important;
    color: #fff !important;
}

.cp-nd-badges {
    position: absolute;
    top: 0.65rem;
    left: 0.65rem;
    right: 0.65rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    z-index: 4;
    pointer-events: none;
}

.cp-nd-badges--detail {
    position: absolute;
    top: 1rem;
    left: 1rem;
    right: auto;
    max-width: min(70%, 320px);
}

/* Kill legacy tilted ND ribbons everywhere cards use the new badges */
.listing-nd-card .holiday-notic.nd-type-notic,
.listing-nd-card .nd-ready-notic,
.listing-nd-card .nd-construction-notic,
.cp-nd-listing .holiday-notic,
.cp-nd-listing .nd-ready-notic,
.cp-nd-listing .nd-construction-notic {
    display: none !important;
}

/* Detail page: keep badges flat when flags partial is used */
.single-list-slider .cp-nd-badges .cp-listing-badge,
.propertie-item .cp-nd-badges .cp-listing-badge {
    pointer-events: none;
}

.nd-card .rp-item,
.nd-card .cp-nd-listing {
    text-align: left !important;
}

.nd-card .rp-info {
    text-align: left !important;
}

.cp-page-listings .pagination {
    justify-content: center;
    margin: 0.25rem 0 0.5rem;
}

.cp-listing-pagination {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0.15rem 0 0.35rem;
}

.cp-listing-pagination .cp-pagination {
    width: 100%;
    margin: 0.15rem 0 0.35rem;
}

.cp-page-listings .cp-pagination {
    gap: 0.35rem;
    margin: 0.15rem 0 0.45rem;
    padding: 0;
}

.cp-page-listings .cp-pagination__meta {
    font-size: 0.78rem;
    margin: 0;
}

.cp-page-listings .cp-subnav .classy-navbar {
    min-height: 64px;
}

/* Modern pagination */
.cp-pagination {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    margin: 0.35rem 0 1.15rem;
    padding: 0.25rem 0;
}

.cp-pagination__meta {
    margin: 0;
    font-size: 0.82rem;
    color: var(--cp-muted);
    letter-spacing: 0.01em;
}

.cp-pagination__meta strong {
    color: var(--cp-forest);
    font-weight: 600;
}

.cp-pagination__list.pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cp-pagination .page-item {
    margin: 0;
}

.cp-pagination .page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.28rem;
    min-width: 2.35rem;
    height: 2.35rem;
    padding: 0 0.7rem;
    margin: 0;
    border: 1px solid var(--cp-line) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--cp-forest) !important;
    font-family: 'Poppins', sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1;
    box-shadow: none !important;
    transition: background 0.2s var(--cp-ease), border-color 0.2s var(--cp-ease), color 0.2s var(--cp-ease), transform 0.2s var(--cp-ease);
}

.cp-pagination .page-item:first-child .page-link,
.cp-pagination .page-item:last-child .page-link {
    min-width: auto;
    padding: 0 0.85rem;
}

.cp-pagination .page-link:hover {
    background: var(--cp-mist-2) !important;
    border-color: rgba(60, 182, 74, 0.45) !important;
    color: var(--cp-green-deep) !important;
    text-decoration: none;
    z-index: 1;
}

.cp-pagination .page-link:focus {
    box-shadow: 0 0 0 3px rgba(60, 182, 74, 0.18) !important;
    outline: none;
}

.cp-pagination .page-item.active .page-link {
    background: var(--cp-green) !important;
    border-color: var(--cp-green) !important;
    color: #fff !important;
    font-weight: 600;
}

.cp-pagination .page-item.disabled .page-link {
    background: rgba(255, 255, 255, 0.65) !important;
    border-color: rgba(20, 53, 38, 0.08) !important;
    color: rgba(20, 53, 38, 0.35) !important;
    pointer-events: none;
}

.cp-pagination__ellipsis .page-link {
    min-width: 2.35rem;
    height: 2.35rem;
    border: none !important;
    background: transparent !important;
    color: var(--cp-muted) !important;
    box-shadow: none !important;
    letter-spacing: 0.08em;
    cursor: default;
}

.cp-pagination__ellipsis .page-link:hover {
    background: transparent !important;
    color: var(--cp-muted) !important;
}

.cp-pagination__chevron {
    font-size: 1.15rem;
    line-height: 1;
    font-weight: 600;
}

@media (max-width: 575px) {
    .cp-pagination__label {
        display: none;
    }

    .cp-pagination .page-item:first-child .page-link,
    .cp-pagination .page-item:last-child .page-link {
        min-width: 2.35rem;
        padding: 0;
    }

    .cp-pagination .page-link {
        min-width: 2.15rem;
        height: 2.15rem;
        font-size: 0.8125rem;
    }
}

@media (max-width: 767px) {
    .cp-listing .rp-pic,
    .cp-listing .cp-listing-media {
        height: 210px;
        min-height: 210px !important;
    }
}

/* Mobile promo blocks */
.home-mobile-post-ad-cta {
    background: linear-gradient(180deg, var(--cp-mist-2), var(--cp-mist)) !important;
    border-bottom: 1px solid var(--cp-line);
}

.home-mobile-post-ad-inner {
    border-radius: var(--cp-radius) !important;
    border: 1px solid var(--cp-line) !important;
    box-shadow: var(--cp-shadow-sm) !important;
}

.home-mobile-post-ad-icon {
    background: linear-gradient(145deg, var(--cp-green), var(--cp-green-dark)) !important;
}

/* Footer */
.cp-footer,
#selectPostType.cp-footer,
section.cp-footer {
    background: linear-gradient(180deg, #10281c 0%, #0c1f16 100%) !important;
    color: rgba(255, 255, 255, 0.82) !important;
    padding-top: 3rem;
    margin-top: 0 !important;
}

/* Post wizard must never wipe footer styles (footer historically reuses #selectPostType) */
body.cp-post-wizard .cp-footer,
body.cp-post-wizard #selectPostType.cp-footer,
body.cp-form-shell .cp-footer {
    background: linear-gradient(180deg, #10281c 0%, #0c1f16 100%) !important;
    color: rgba(255, 255, 255, 0.82) !important;
}

.cp-seo-strip,
.cp-internal-links {
    margin: 0 !important;
    background: linear-gradient(180deg, #10281c 0%, #0c1f16 100%) !important;
}

.cp-seo-strip {
    padding: 2.5rem 0 2.25rem !important;
}

.cp-internal-links {
    padding: 2rem 0 !important;
}

.cp-seo-strip.section,
.cp-internal-links.section,
.cp-footer.section,
#selectPostType.cp-footer.section {
    /* Kill Argon .section 4rem padding that creates empty bands */
    padding-top: 2.25rem !important;
    padding-bottom: 2.25rem !important;
}

.cp-footer.section,
#selectPostType.cp-footer.section {
    padding-top: 3rem !important;
}

.cp-seo-strip + .cp-internal-links,
.cp-seo-strip + .cp-footer,
.cp-internal-links + .cp-footer,
.cp-internal-links + section.cp-footer,
.cp-page-listings + .cp-footer,
.cp-page-listings + #selectPostType {
    margin-top: 0 !important;
}

/* Homepage: about strip + footer are both green — no white gap between them */
.cp-page-home .cp-footer,
.cp-page-home #selectPostType.cp-footer {
    margin-top: 0;
}

.cp-page-home .cp-about-strip {
    margin-bottom: 0;
}

/* Listing SEO strip → footer: no white band between dark sections */
body:has(.cp-subnav) .cp-footer,
body:has(.cp-subnav) #selectPostType.cp-footer,
body:has(.cp-seo-strip) .cp-footer,
body:has(.cp-seo-strip) #selectPostType.cp-footer {
    margin-top: 0 !important;
}

.cp-seo-strip h1 {
    margin: 0 0 0.85rem !important;
    padding-top: 0.25rem;
    line-height: 1.3;
}

.cp-seo-strip .citycontent,
.cp-seo-strip .cityContent,
.cp-seo-strip p {
    margin-bottom: 0;
}

.cp-footer h2,
.cp-footer h3,
.cp-footer h3 a {
    color: #fff !important;
}

.cp-footer .link_item a {
    color: rgba(255, 255, 255, 0.72) !important;
}

.cp-footer .link_item a:hover {
    color: #fff !important;
}

.cp-footer button,
#selectPostType.cp-footer button {
    background: transparent !important;
    border: 0 !important;
    color: #fff !important;
    cursor: pointer;
    padding: 0;
}

.cp-footer button i,
#selectPostType.cp-footer button i {
    color: #fff !important;
}

.cp-footer button:hover,
#selectPostType.cp-footer button:hover {
    color: rgba(255, 255, 255, 0.85) !important;
}

.cp-footer-brand {
    color: #fff;
    margin-bottom: 0.5rem;
}

.cp-footer-top {
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.cp-footer details.cp-footer-group {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding: 0.65rem 0;
}

.cp-footer details.cp-footer-group summary {
    cursor: pointer;
    list-style: none;
        color: #fff;
    padding: 0.35rem 0;
}

.cp-footer details.cp-footer-group summary::-webkit-details-marker {
    display: none;
}

@media (min-width: 992px) {
    .cp-footer details.cp-footer-group {
        border: 0;
        padding: 0;
    }

    .cp-footer details.cp-footer-group[open] summary,
    .cp-footer details.cp-footer-group summary {
        pointer-events: none;
        margin-bottom: 0.75rem;
    }
}

/* Property detail */
.cp-page-property {
    font-family: 'Poppins', sans-serif;
}

/* Match live property page width (style_singe_post.css uses 1170px) */
body.cp-page-property .container {
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    max-width: 100% !important;
}

@media (min-width: 576px) {
    body.cp-page-property .container {
        max-width: 540px !important;
    }
}

@media (min-width: 768px) {
    body.cp-page-property .container {
        max-width: 720px !important;
    }
}

@media (min-width: 992px) {
    body.cp-page-property .container {
        max-width: 960px !important;
    }
}

@media (min-width: 1200px) {
    body.cp-page-property .container {
        max-width: 1170px !important;
    }
}

/* Keep banner strips edge-to-edge */
body.cp-page-property .container-fluid {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.cp-page-property .container-fluid > .container {
    padding-left: 15px !important;
    padding-right: 15px !important;
}

/* Remove large empty gap under breadcrumb before gallery */
body.cp-page-property .breadcrumb-area {
    margin: 0 !important;
    padding: 0 !important;
}

body.cp-page-property .breadcrumb-area .breadcrumb {
    margin: 0 !important;
    padding: 0.35rem 0 0.35rem !important;
    background: transparent !important;
}

body.cp-page-property .page-section.cp-property,
body.cp-page-property .cp-property {
    padding-top: 0.35rem !important;
    margin-top: 0 !important;
}

body.cp-page-property .property-banner-heading-cluster {
    margin: 0 !important;
}

body.cp-page-property .property-banner-below-breadcrumb {
    margin-top: 0 !important;
    margin-bottom: 0.35rem !important;
}

.cp-property {
    padding-top: 0.35rem;
}

.cp-property-main {
    background: #fff;
    border: 1px solid var(--cp-line);
    border-radius: var(--cp-radius-lg);
    overflow: hidden;
    box-shadow: var(--cp-shadow-sm);
    margin-bottom: 1rem;
}

.cp-property-sold {
    margin: 0.85rem 1rem 0;
    border-radius: 10px;
}

.cp-property-gallery {
    background: #0f1f18;
}

.cp-page-property #sl-slider {
    border: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

.cp-page-property #sl-slider .sl-item {
    background: #12261d;
}

.cp-page-property #sl-slider .sl-item img {
    width: 100%;
    max-height: 520px;
    object-fit: cover;
    display: block;
}

.cp-page-property #sl-slider-thumb {
    padding: 0.55rem 0.65rem 0.7rem;
    background: #fff;
    margin: 0 !important;
}

.cp-page-property #sl-slider-thumb .sl-thumb {
    border-radius: 8px !important;
    overflow: hidden;
    border: 2px solid transparent;
    min-height: 64px !important;
    opacity: 0.72;
    transition: opacity 0.2s var(--cp-ease), border-color 0.2s var(--cp-ease);
}

.cp-page-property #sl-slider-thumb .owl-item.active .sl-thumb,
.cp-page-property #sl-slider-thumb .sl-thumb:hover {
    opacity: 1;
    border-color: var(--cp-green);
}

.cp-property-header {
    padding: 1rem 1.1rem 1.05rem;
}

.cp-property-header__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.cp-property-title {
    margin: 0 0 0.35rem;
    color: var(--cp-forest);
    font-size: clamp(1.25rem, 2.4vw, 1.7rem);
    font-weight: 650;
    line-height: 1.3;
}

.cp-property-location {
    margin: 0;
    color: var(--cp-muted) !important;
    font-size: 0.92rem;
}

.cp-property-location i {
    color: var(--cp-green);
    margin-right: 0.25rem;
}

.cp-property-views {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex: 0 0 auto;
    min-height: 34px;
    padding: 0.25rem 0.65rem;
    border-radius: 999px;
    background: var(--cp-mist-2);
    color: var(--cp-forest);
    font-size: 0.82rem;
    font-weight: 500;
    white-space: nowrap;
}

.cp-property-header__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.85rem;
}

.cp-property-price {
    color: var(--cp-green-deep) !important;
    font-size: clamp(1.25rem, 2.2vw, 1.65rem);
    font-weight: 700;
    line-height: 1.2;
}

.cp-property-price small {
    color: var(--cp-muted);
    font-weight: 500;
    font-size: 0.78em;
}

.cp-property-neg {
    display: inline-flex;
    align-items: center;
    margin-left: 0.4rem;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    background: rgba(60, 182, 74, 0.12);
    color: var(--cp-green-deep);
    font-size: 0.72rem;
    font-weight: 600;
    vertical-align: middle;
}

.cp-property-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.cp-property-action {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 36px;
    padding: 0.3rem 0.8rem;
    border-radius: 9px;
    border: 1px solid var(--cp-line);
    background: #fff;
    color: var(--cp-forest);
    font-family: 'Poppins', sans-serif;
    font-size: 0.82rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.18s var(--cp-ease), border-color 0.18s var(--cp-ease);
}

.cp-property-action:hover,
.cp-property-action.is-saved {
    background: var(--cp-mist-2);
    border-color: rgba(60, 182, 74, 0.4);
}

.cp-property-share {
    margin-top: 0.85rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--cp-line);
}

.cp-property-body {
    background: #fff;
    border: 1px solid var(--cp-line);
    border-radius: var(--cp-radius-lg);
    box-shadow: var(--cp-shadow-sm);
    padding: 1rem 1.1rem 1.25rem !important;
    margin-bottom: 1.25rem;
}

.cp-page-property .sl-sp-title {
    margin: 1.35rem 0 0.75rem;
    padding-bottom: 0.45rem;
    border-bottom: 1px solid var(--cp-line);
    color: var(--cp-forest);
    font-size: 1.05rem;
    font-weight: 650;
}

.cp-page-property .sl-sp-title:first-child {
    margin-top: 0.35rem;
}

.cp-property-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin: 0 0 0.35rem !important;
}

.cp-page-property .box_property {
    flex: 1 1 110px;
    max-width: 150px;
    margin: 0 !important;
    padding: 0.75rem 0.6rem !important;
    background: var(--cp-mist) !important;
    border: 1px solid var(--cp-line) !important;
    border-radius: 12px !important;
    text-align: center;
    box-shadow: none !important;
}

.cp-page-property .box_property img {
    width: 28px !important;
    height: 28px !important;
    margin-bottom: 0.35rem;
}

.cp-page-property .box_property p {
    margin: 0 0 0.2rem;
    color: var(--cp-muted);
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.cp-page-property .box_property hr {
    display: none;
}

.cp-page-property .box_property h5 {
    margin: 0;
    color: var(--cp-forest);
    font-size: 1rem;
    font-weight: 700;
}

.cp-page-property .box_property h5 small {
    font-weight: 500;
    color: var(--cp-muted);
}

.cp-property-overview-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

@media (min-width: 992px) {
    .cp-property-overview-table tbody {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0 1.5rem;
    }

    .cp-property-overview-table tr {
        display: grid;
        grid-template-columns: minmax(7rem, 38%) 1fr;
        align-items: baseline;
    }

    .cp-property-overview-table tr td {
        border-bottom: 1px solid var(--cp-line);
    }
}

.cp-property-overview-table tr td {
    padding: 0.7rem 0.35rem !important;
    border-bottom: 1px solid var(--cp-line);
    vertical-align: top;
}

.cp-property-overview-table tr:last-child td {
    border-bottom: 0;
}

.cp-property-overview-table h6 {
    margin: 0;
    font-size: 0.9rem;
    color: var(--cp-ink);
}

.cp-property-overview-table td:first-child h6 {
    color: var(--cp-muted);
    font-weight: 500;
}

.cp-property-overview-table strong {
    color: var(--cp-forest);
    font-weight: 600;
}

.cp-property-description p {
    margin: 0;
    color: var(--cp-ink);
    font-size: 0.95rem;
    line-height: 1.7;
}

.cp-property-features p {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.55rem;
    color: var(--cp-ink);
    font-size: 0.9rem;
}

.cp-property-features .fa-check-circle {
    color: var(--cp-green);
}

.cp-property-advertiser {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.85rem;
}

.cp-property-advertiser h5 {
    margin: 0;
    color: var(--cp-forest);
    font-size: 1.05rem;
    font-weight: 650;
}

.cp-property-advertiser small {
    color: var(--cp-muted);
    font-weight: 500;
}

.cp-property-reveal {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 42px;
    padding: 0.45rem 0.95rem;
    border-radius: 10px;
    background: var(--cp-forest);
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 600;
    font-size: 0.9rem;
    margin-bottom: 0.85rem;
}

.cp-property-reveal:hover {
    background: var(--cp-forest-soft);
    color: #fff !important;
}

.cp-property-phone {
    display: inline-block;
    color: var(--cp-green-deep) !important;
    font-size: 1.35rem;
    font-weight: 700;
    text-decoration: none !important;
    margin-bottom: 0.35rem;
}

.cp-property-apps {
    display: flex;
    gap: 0.45rem;
}

.cp-property-app img {
    width: 36px;
    height: 36px;
}

.cp-property-contact-card {
    margin-bottom: 1rem;
}

.cp-property-email-form .form-control,
.cp-property-forms .form-control {
    min-height: 44px;
    border-radius: 10px !important;
    border: 1px solid var(--cp-line) !important;
}

.cp-property-email-form textarea.form-control {
    min-height: 120px;
}

.cp-property-send {
    min-height: 44px;
    min-width: 160px;
    border-radius: 10px !important;
    font-weight: 600;
}

.cp-property-disclaimer {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--cp-line);
}

.cp-property-disclaimer p {
    margin-bottom: 0.75rem;
    color: var(--cp-muted);
    font-size: 0.78rem;
    line-height: 1.55;
}

.cp-property-posted {
    color: var(--cp-muted);
    font-size: 0.85rem;
}

.cp-property-report {
    color: #c0392b !important;
    font-size: 0.88rem;
    font-weight: 500;
    text-decoration: none !important;
}

.cp-property-related-title {
    margin: 0.5rem 0 1rem;
    color: var(--cp-forest);
    font-size: 1.2rem;
    font-weight: 650;
}

body.cp-page-property .cp-property-related {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
}

body.cp-page-property .cp-property-related > [class*="col-"] {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.cp-property-sidebar {
    align-self: flex-start;
}

.cp-property-sidebar .property-sidebar-banner-slot,
.cp-property-sidebar .property-sidebar-banner-float,
.cp-property-sidebar .property-sidebar-banner-float-img,
.cp-property-sidebar .w3-content {
    width: 100% !important;
    max-width: 100% !important;
}

.cp-property-agent {
    background: #fff !important;
    border: 1px solid var(--cp-line) !important;
    border-radius: var(--cp-radius) !important;
    box-shadow: var(--cp-shadow-sm) !important;
    padding: 0.9rem 0.75rem 1rem !important;
}

@media (min-width: 992px) {
    .cp-property-agent--sticky {
        position: sticky;
        top: calc(var(--cp-nav-h, 72px) + 12px);
        z-index: 5;
    }
}

.cp-property-agent__avatar-link {
    display: block;
    text-decoration: none !important;
}

.cp-property-agent .author-img {
    display: block !important;
    width: 72px !important;
    height: 72px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 50% !important;
    border: 3px solid var(--cp-mist-2);
    box-shadow: none !important;
    background-size: cover !important;
    background-position: center !important;
}

.cp-property-agent .author-info {
    text-align: center;
    margin: 0.65rem 0 0.75rem;
}

.cp-property-agent .author-info h5 {
    margin: 0 0 0.2rem;
    color: var(--cp-forest);
    font-weight: 650;
    font-size: 0.92rem;
    line-height: 1.3;
    word-break: break-word;
}

.cp-property-agent .author-info p {
    margin: 0;
    color: var(--cp-muted);
    font-size: 0.78rem;
}

.cp-property-agent-actions {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    margin: 0;
}

.cp-property-agent-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    width: 100%;
    min-height: 40px;
    border-radius: 9px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.18s var(--cp-ease), transform 0.18s var(--cp-ease);
}

.cp-property-agent-btn:hover {
    transform: translateY(-1px);
}

.cp-property-agent-btn--call {
    background: var(--cp-green);
    color: #fff !important;
}

.cp-property-agent-btn--call:hover {
    background: var(--cp-green-dark);
    color: #fff !important;
}

.cp-property-agent-btn--email {
    background: var(--cp-mist-2);
    color: var(--cp-forest) !important;
    border: 1px solid var(--cp-line);
}

.cp-property-agent-btn--email:hover {
    background: #fff;
    border-color: rgba(60, 182, 74, 0.45);
}

.cp-property-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    align-items: baseline;
    margin-bottom: 1rem;
}

/* Mobile sticky contact bar — always hide on desktop */
.cp-sticky-contact {
    display: none !important;
}

@media (max-width: 991px) {
    .cp-page-property #sl-slider .sl-item img {
        max-height: 280px;
    }

    .cp-property-header,
    .cp-property-body {
        padding-left: 0.85rem !important;
        padding-right: 0.85rem !important;
    }

    .cp-sticky-contact {
        display: flex !important;
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 1045 !important;
        align-items: stretch;
        justify-content: stretch;
        gap: 0.45rem;
        width: 100%;
        margin: 0;
        padding: 0.55rem 0.65rem calc(0.55rem + env(safe-area-inset-bottom, 0px));
        background: #ffffff !important;
        border-top: 1px solid rgba(20, 53, 38, 0.12);
        box-shadow: 0 -10px 28px rgba(20, 53, 38, 0.14);
    }

    .cp-sticky-contact__btn,
    .cp-sticky-contact .cp-call,
    .cp-sticky-contact .cp-wa,
    .cp-sticky-contact .cp-inquiry {
        flex: 1 1 0;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        gap: 0.35rem;
        min-height: 48px;
        margin: 0;
        padding: 0.55rem 0.4rem;
        border-radius: 12px !important;
        border: 0;
        font-family: 'Poppins', sans-serif;
        font-size: 0.88rem;
        font-weight: 650;
        line-height: 1;
        text-align: center;
        text-decoration: none !important;
        box-shadow: none;
        white-space: nowrap;
    }

    .cp-sticky-contact__btn i {
        font-size: 1rem;
    }

    .cp-sticky-contact__btn--call,
    .cp-sticky-contact .cp-call {
        background: #143526 !important;
        color: #ffffff !important;
    }

    .cp-sticky-contact__btn--wa,
    .cp-sticky-contact .cp-wa {
        background: #1faa59 !important;
        color: #ffffff !important;
    }

    .cp-sticky-contact__btn--mail,
    .cp-sticky-contact .cp-inquiry {
        background: #e8f1ea !important;
        color: #143526 !important;
        border: 1px solid rgba(20, 53, 38, 0.12) !important;
    }

    .cp-sticky-contact__btn:hover,
    .cp-sticky-contact__btn:focus {
        opacity: 0.92;
        color: inherit !important;
        text-decoration: none !important;
    }

    body.has-cp-sticky-contact {
        padding-bottom: 84px !important;
    }

    body.has-cp-sticky-contact .footer-area,
    body.has-cp-sticky-contact footer {
        margin-bottom: 0;
    }
}

@media (min-width: 992px) {
    .cp-sticky-contact {
        display: none !important;
    }
}

/* Report ad modal */
.cp-report-modal .modal-dialog {
    max-width: 560px;
}

.cp-report-modal .modal-content {
    border: 0;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(20, 53, 38, 0.22);
}

.cp-report-modal .modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0;
    padding: 1.1rem 1.2rem;
    border-bottom: 1px solid rgba(20, 53, 38, 0.1);
    background:
        linear-gradient(135deg, rgba(60, 182, 74, 0.12), rgba(20, 53, 38, 0.04)),
        #fff;
}

.cp-report-modal__heading {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
}

.cp-report-modal__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    border-radius: 12px;
    background: #3cb64a;
    color: #fff;
    font-size: 0.95rem;
}

.cp-report-modal .modal-title {
    margin: 0;
    color: #143526;
    font-family: 'Poppins', sans-serif;
    font-size: 1.05rem;
    font-weight: 650;
    line-height: 1.3;
}

.cp-report-modal__subtitle {
    margin: 0.15rem 0 0;
    color: #5a6f63;
    font-size: 0.8rem;
}

.cp-report-modal__close {
    margin: 0;
    padding: 0;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: 1px solid rgba(20, 53, 38, 0.1);
    background: #fff;
    color: #143526;
    opacity: 1;
    font-size: 1.35rem;
    line-height: 1;
    text-shadow: none;
}

.cp-report-modal__close:hover {
    background: #e8f1ea;
    opacity: 1;
}

.cp-report-modal .modal-body {
    padding: 1.15rem 1.2rem 0.35rem;
}

.cp-report-modal__question {
    margin: 0 0 0.35rem;
    color: #143526;
    font-size: 1.05rem;
    font-weight: 650;
}

.cp-report-modal__lead {
    margin: 0 0 1.1rem;
    color: #5a6f63;
    font-size: 0.88rem;
    line-height: 1.55;
}

.cp-report-field {
    margin-bottom: 0.9rem;
}

.cp-report-field label {
    display: block;
    margin-bottom: 0.35rem;
    color: #143526;
    font-size: 0.84rem;
    font-weight: 600;
}

.cp-report-field label span:not(.cp-report-req) {
    color: #5a6f63;
    font-weight: 500;
}

.cp-report-req {
    color: #c0392b;
}

.cp-report-hint {
    margin: -0.15rem 0 0.4rem;
    color: #5a6f63;
    font-size: 0.78rem;
}

.cp-report-modal .form-control,
.cp-report-modal .custom-select,
.cp-report-modal .cp-report-select {
    min-height: 44px;
    border-radius: 10px !important;
    border: 1px solid rgba(20, 53, 38, 0.14) !important;
    background-color: #f7faf8 !important;
    color: #143526;
    font-family: 'Poppins', sans-serif;
    font-size: 0.9rem;
    box-shadow: none !important;
}

.cp-report-modal .form-control:focus,
.cp-report-modal .custom-select:focus,
.cp-report-modal .cp-report-select:focus {
    background-color: #fff !important;
    border-color: #3cb64a !important;
    box-shadow: 0 0 0 3px rgba(60, 182, 74, 0.16) !important;
}

.cp-report-modal textarea.form-control {
    min-height: 120px;
    resize: vertical;
}

.cp-report-modal .modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.85rem 1.2rem 1.15rem;
    border-top: 1px solid rgba(20, 53, 38, 0.08);
    background: #fff;
}

.cp-report-cancel {
    min-height: 42px;
    padding: 0.45rem 0.95rem;
    border-radius: 10px !important;
    border: 1px solid rgba(20, 53, 38, 0.14) !important;
    background: #fff !important;
    color: #143526 !important;
    font-weight: 600;
}

.cp-report-submit {
    min-height: 42px;
    padding: 0.45rem 1.1rem;
    border-radius: 10px !important;
    border: 0 !important;
    background: #3cb64a !important;
    color: #fff !important;
    font-weight: 650;
}

.cp-report-submit:hover {
    background: #2a8f36 !important;
    color: #fff !important;
}

.cp-report-submit i {
    margin-right: 0.35rem;
}

/* ND auto contact modal */
.cp-contact-modal .modal-dialog {
    max-width: 520px;
}

.cp-contact-modal .modal-content {
    border: 0;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(20, 53, 38, 0.22);
}

.cp-contact-modal .modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0;
    padding: 1.1rem 1.2rem;
    border-bottom: 1px solid rgba(20, 53, 38, 0.1);
    background:
        linear-gradient(135deg, rgba(60, 182, 74, 0.12), rgba(20, 53, 38, 0.04)),
        #fff;
}

.cp-contact-modal__heading {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
}

.cp-contact-modal__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    border-radius: 12px;
    background: #3cb64a;
    color: #fff;
    font-size: 0.95rem;
}

.cp-contact-modal .modal-title {
    margin: 0;
    color: #143526;
    font-family: 'Poppins', sans-serif;
    font-size: 1.05rem;
    font-weight: 650;
    line-height: 1.3;
}

.cp-contact-modal__subtitle {
    margin: 0.15rem 0 0;
    color: #5a6f63;
    font-size: 0.8rem;
}

.cp-contact-modal__close {
    margin: 0;
    padding: 0;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: 1px solid rgba(20, 53, 38, 0.1);
    background: #fff;
    color: #143526;
    opacity: 1;
    font-size: 1.35rem;
    line-height: 1;
    text-shadow: none;
}

.cp-contact-modal__close:hover {
    background: #e8f1ea;
    opacity: 1;
}

.cp-contact-modal .modal-body {
    padding: 1rem 1.2rem 0.25rem;
    max-height: min(68vh, 640px);
    overflow-y: auto;
}

.cp-contact-modal__project {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-bottom: 1.1rem;
    padding: 0.75rem 0.85rem;
    background: #f7faf8;
    border: 1px solid rgba(20, 53, 38, 0.1);
    border-radius: 12px;
}

.cp-contact-modal__logo {
    width: 52px;
    height: 52px;
    flex: 0 0 auto;
    object-fit: contain;
    border-radius: 12px;
    border: 1px solid rgba(20, 53, 38, 0.1);
    background: #fff;
    padding: 0.25rem;
}

.cp-contact-modal__eyebrow {
    display: block;
    margin-bottom: 0.1rem;
    color: #5a6f63;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.cp-contact-modal__project-name {
    margin: 0;
    color: #143526;
    font-size: 1.05rem;
    font-weight: 650;
    line-height: 1.3;
}

.cp-contact-field {
    margin-bottom: 0.85rem;
}

.cp-contact-field label {
    display: block;
    margin-bottom: 0.35rem;
    color: #143526;
    font-size: 0.84rem;
    font-weight: 600;
}

.cp-contact-field label span:not(.cp-contact-req) {
    color: #5a6f63;
    font-weight: 500;
}

.cp-contact-req {
    color: #c0392b;
}

.cp-contact-modal .form-control,
.cp-contact-modal select.form-control {
    min-height: 44px;
    border-radius: 10px !important;
    border: 1px solid rgba(20, 53, 38, 0.14) !important;
    background-color: #f7faf8 !important;
    color: #143526;
    font-family: 'Poppins', sans-serif;
    font-size: 0.9rem;
    box-shadow: none !important;
}

.cp-contact-modal .form-control:focus,
.cp-contact-modal select.form-control:focus {
    background-color: #fff !important;
    border-color: #3cb64a !important;
    box-shadow: 0 0 0 3px rgba(60, 182, 74, 0.16) !important;
}

.cp-contact-modal textarea.form-control {
    min-height: 110px;
    resize: vertical;
}

.cp-contact-modal .iti {
    width: 100%;
    display: block;
}

.cp-contact-modal .iti .form-control {
    width: 100%;
    padding-left: 52px;
}

.cp-contact-modal .modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.85rem 1.2rem 1.15rem;
    border-top: 1px solid rgba(20, 53, 38, 0.08);
    background: #fff;
}

.cp-contact-cancel {
    min-height: 42px;
    padding: 0.45rem 0.95rem;
    border-radius: 10px !important;
    border: 1px solid rgba(20, 53, 38, 0.14) !important;
    background: #fff !important;
    color: #143526 !important;
    font-weight: 600;
}

.cp-contact-submit {
    min-height: 42px;
    padding: 0.45rem 1.1rem;
    border-radius: 10px !important;
    border: 0 !important;
    background: #3cb64a !important;
    color: #fff !important;
    font-weight: 650;
}

.cp-contact-submit:hover {
    background: #2a8f36 !important;
    color: #fff !important;
}

.cp-contact-submit i {
    margin-right: 0.35rem;
}

.cp-nd-price-label {
    display: block;
    margin-bottom: 0.15rem;
    color: var(--cp-muted);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.cp-nd-brochure {
    background: var(--cp-green) !important;
    border-color: var(--cp-green) !important;
    color: #fff !important;
}

.cp-nd-brochure:hover {
    background: var(--cp-green-dark) !important;
    color: #fff !important;
}

.cp-nd-highlights {
    margin: 0 0 0.5rem !important;
}

.cp-nd-highlight {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    margin-bottom: 0.55rem;
    padding: 0.7rem 0.85rem;
    background: var(--cp-mist);
    border: 1px solid var(--cp-line);
    border-radius: 12px;
    color: var(--cp-ink);
    font-size: 0.92rem;
    line-height: 1.45;
}

.cp-nd-highlight i {
    margin-top: 0.15rem;
    color: #e6b800;
    font-size: 0.95rem;
}

.cp-nd-feature {
    display: grid;
    grid-template-columns: minmax(120px, 28%) 1fr;
    gap: 1rem;
    align-items: center;
    margin-bottom: 0.85rem;
    padding: 0.85rem;
    background: var(--cp-mist);
    border: 1px solid var(--cp-line);
    border-radius: 14px;
}

.cp-nd-feature--reverse {
    grid-template-columns: 1fr minmax(120px, 28%);
}

.cp-nd-feature--reverse .cp-nd-feature__media {
    order: 2;
}

.cp-nd-feature--reverse .cp-nd-feature__text {
    order: 1;
}

.cp-nd-feature__media img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    border: 1px solid var(--cp-line);
    background: #fff;
}

.cp-nd-feature__text p {
    margin: 0;
    color: var(--cp-ink);
    line-height: 1.55;
    font-size: 0.92rem;
}

@media (max-width: 575px) {
    .cp-nd-feature,
    .cp-nd-feature--reverse {
        grid-template-columns: 1fr;
    }

    .cp-nd-feature--reverse .cp-nd-feature__media,
    .cp-nd-feature--reverse .cp-nd-feature__text {
        order: initial;
    }
}

.cp-nd-connectivity {
    margin: 0 !important;
}

.cp-nd-connect-item {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.65rem;
    padding: 0.65rem 0.75rem;
    background: var(--cp-mist);
    border: 1px solid var(--cp-line);
    border-radius: 12px;
    color: var(--cp-ink);
    font-size: 0.9rem;
}

.cp-nd-connect-item img {
    width: 24px;
    height: 24px;
    object-fit: contain;
    flex-shrink: 0;
}

.cp-nd-dev-link {
    margin-left: 0.65rem;
    color: var(--cp-green) !important;
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none !important;
}

.cp-nd-dev-link:hover {
    color: var(--cp-green-dark) !important;
    text-decoration: underline !important;
}

.cp-nd-developer__logo {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    border: 1px solid var(--cp-line);
    background: #fff;
    padding: 0.5rem;
}

.cp-nd-developer p {
    margin: 0;
    color: var(--cp-ink);
    line-height: 1.55;
}

.cp-page-nd .cp-nd-floorplans .panel {
    margin-bottom: 0.55rem;
    border: 1px solid var(--cp-line);
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.cp-page-nd .cp-nd-floorplans .panel-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0.85rem 1rem;
    background: var(--cp-mist);
    border: 0;
    color: var(--cp-forest);
    font-weight: 600;
    text-align: left;
}

.cp-page-nd .cp-nd-floorplans .panel-body {
    padding: 1rem;
}

.cp-page-nd .cp-property-agent .form-control,
.cp-page-nd .cp-property-agent .phone {
    min-height: 42px;
    border-radius: 10px !important;
    border: 1px solid var(--cp-line) !important;
    background: #f7faf8;
}

.cp-page-nd .cp-property-email-form .form-control,
.cp-page-nd .cp-property-email-form select.form-control {
    min-height: 42px;
    border-radius: 10px;
    border: 1px solid var(--cp-line);
}

@media (max-width: 575px) {
    .cp-report-modal .modal-dialog {
        margin: 0.75rem;
    }

    .cp-report-modal .modal-footer {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .cp-report-cancel,
    .cp-report-submit {
        width: 100%;
    }

    .cp-contact-modal .modal-dialog {
        margin: 0.75rem;
    }

    .cp-contact-modal .modal-footer {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .cp-contact-cancel,
    .cp-contact-submit {
        width: 100%;
    }
}

/* Forms / auth */
.cp-form-shell,
.container-login100,
.wrap-login100 {
}

.cp-form-shell input.form-control,
.wrap-login100 input,
.wrap-input100 input {
    min-height: 48px;
    border-radius: var(--cp-radius-sm) !important;
    border: 1px solid var(--cp-line) !important;
}

/* Dashboard / admin light polish */
.cp-dash body,
body.fixed-left {
}

.topbar,
.navbar-custom {
    box-shadow: var(--cp-shadow-sm);
}

.page-title-box h4,
.content-page .card-title {
    color: var(--cp-forest);
}

.content-page .card,
.card.cp-dash-card {
    border: 1px solid var(--cp-line);
    border-radius: var(--cp-radius);
    box-shadow: var(--cp-shadow-sm);
}

.btn-success,
.btn-primary {
    border-radius: var(--cp-radius-sm);
}

.left-side-menu,
#sidebar-menu {
}

/* Channel partners / banners soften */
.channel-partner-carousel,
.home-8-banner-grid {
    margin-top: 1.25rem;
}

/* Listing pages — compact vertical rhythm */
.cp-page-listings {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.cp-page-listings .breadcrumb-area {
    margin: 0 !important;
    padding: 0.15rem 0 0 !important;
}

.cp-page-listings .breadcrumb-area .breadcrumb {
    margin: 0 !important;
    padding: 0.15rem 0 !important;
    background: transparent !important;
    font-size: 0.82rem;
}

.cp-page-listings .breadcrumb-area .container,
.cp-page-listings .cp-listing-body > .container {
    padding-top: 0;
    padding-bottom: 0;
}

/* Pages with listing subnav: kill leftover hero-header offsets */
body:has(.cp-subnav) .breadcrumb-area {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body:has(.cp-subnav) .breadcrumb-area .breadcrumb {
    margin: 0 !important;
    padding: 0.2rem 0 0.15rem !important;
    background: transparent !important;
    font-size: 0.82rem !important;
}

body:has(.cp-subnav) .pt-90,
body:has(.cp-subnav) .pt-70,
body:has(.cp-subnav) .cp-listing-body {
    padding-top: 0.2rem !important;
}

body:has(.cp-subnav) .cp-listing-search {
    margin-bottom: 0.35rem !important;
}

body:has(.cp-subnav) .cp-pagination {
    margin: 0.1rem 0 0.35rem !important;
    gap: 0.3rem !important;
    padding: 0 !important;
}

.cp-page-listings .cp-listing-body {
    padding-top: 0.25rem !important;
    padding-bottom: 0;
}

/* Prevent tall right-rail ads from stretching the main column (white gap under bottom banner) */
.cp-page-listings .cp-listing-body > .container > .row,
.cp-listing-body > .container > .row {
    align-items: flex-start !important;
}

.cp-page-listings .cp-listing-sidebar,
.cp-listing-body .cp-listing-sidebar {
    align-self: flex-start;
}

/* Right ad rail: keep slots visible without stretching the page when ads are empty */
@media (min-width: 992px) {
    .cp-page-listings .cp-listing-body > .container > .row {
        position: relative;
    }

    .cp-page-listings .cp-listing-body > .container > .row > .col-lg-10,
    .cp-page-listings .cp-listing-body > .container > .row > [class*="col-lg-10"] {
        flex: 0 0 83.333333% !important;
        max-width: 83.333333% !important;
    }

    .cp-page-listings .cp-listing-sidebar {
        flex: 0 0 16.666667% !important;
        max-width: 16.666667% !important;
        width: 16.666667% !important;
        display: block !important;
        /* Out of flow so empty AdSense units cannot create a huge blank page gap */
        position: absolute;
        top: 0;
        right: 0;
        max-height: calc(100vh - 6rem);
        overflow-x: hidden;
        overflow-y: auto;
        padding-left: 0.5rem;
        z-index: 2;
        -webkit-overflow-scrolling: touch;
    }

    .cp-page-listings .cp-listing-sidebar > .row > [class*="col-"] {
        display: block !important;
        width: 100%;
        max-width: 100%;
        margin-bottom: 0.85rem !important;
    }

    .cp-page-listings .cp-listing-sidebar img {
        width: 100%;
        height: auto;
        min-height: 0;
        object-fit: cover;
        border-radius: 10px;
        display: block;
        background: #eef2ee;
    }

    .cp-page-listings .cp-listing-sidebar .adsbygoogle {
        display: block !important;
        min-height: 0 !important;
        width: 100%;
        background: transparent;
        border-radius: 10px;
    }

    /* Collapse Google unfilled ad units so they don't reserve blank height */
    .cp-page-listings .cp-listing-sidebar .adsbygoogle[data-ad-status="unfilled"] {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }
}

.cp-page-listings .card,
.cp-page-listings .filter-panel {
    border-radius: var(--cp-radius);
    border: 1px solid var(--cp-line);
    box-shadow: var(--cp-shadow-sm);
}

/* Listing search panel — compact toolbar */
.cp-listing-search {
    margin: 0 0 0.45rem !important;
}

.cp-listing-search__panel {
    background: #fff;
    border: 1px solid var(--cp-line);
    border-radius: 12px;
    box-shadow: var(--cp-shadow-sm);
    padding: 0.45rem 0.55rem;
}

.cp-listing-search__top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.65rem;
}

.cp-listing-search__query {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex: 1 1 280px;
    min-width: 0;
    background: #f4f7f5;
    border: 1px solid #e2ebe4;
    border-radius: 10px;
    padding: 0.2rem;
}

.cp-listing-search__city {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex: 1 1 auto;
    min-width: 0;
    padding: 0 0.5rem;
}

.cp-listing-search__city i {
    color: var(--cp-green);
    font-size: 0.9rem;
    flex-shrink: 0;
}

.cp-listing-search__city input {
    width: 100%;
    min-width: 0;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    min-height: 34px;
    padding: 0 !important;
    font-family: 'Poppins', sans-serif;
    font-size: 0.86rem;
    color: var(--cp-ink);
}

.cp-listing-search__city input::placeholder {
    color: #8a9b91;
}

.cp-listing-search__go {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    flex: 0 0 auto;
    min-width: 88px;
    min-height: 34px;
    border: 0;
    border-radius: 8px;
    background: var(--cp-green);
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s var(--cp-ease);
}

.cp-listing-search__go:hover {
    background: var(--cp-green-dark);
    color: #fff;
}

.cp-listing-search .cp-search-error:empty {
    display: none;
}

.cp-listing-search .cp-search-error {
    margin: 0.25rem 0 0;
    font-size: 0.75rem !important;
}

.cp-listing-types {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.3rem;
    margin: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.cp-listing-types::-webkit-scrollbar {
    display: none;
}

.cp-type-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 30px;
    padding: 0.2rem 0.7rem;
    border-radius: 999px;
    border: 1px solid var(--cp-line);
    background: #fff;
    color: var(--cp-forest) !important;
    text-decoration: none !important;
    font-size: 0.75rem;
    font-weight: 500;
    white-space: nowrap;
    transition: background 0.18s var(--cp-ease), border-color 0.18s var(--cp-ease), color 0.18s var(--cp-ease);
}

.cp-type-chip:hover {
    border-color: rgba(60, 182, 74, 0.45);
    background: var(--cp-mist-2);
    color: var(--cp-green-deep) !important;
}

.cp-type-chip.is-active,
.cp-type-chip.selectedOption {
    background: var(--cp-green) !important;
    border-color: var(--cp-green) !important;
    color: #fff !important;
}

.cp-listing-filters-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    flex: 0 0 auto;
    min-width: 78px;
    min-height: 34px;
    margin: 0;
    border-radius: 8px;
    border: 1px solid #d7e3db;
    background: #fff;
    color: var(--cp-forest);
    font-family: 'Poppins', sans-serif;
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.18s var(--cp-ease), border-color 0.18s var(--cp-ease);
}

.cp-listing-filters-toggle:hover,
.cp-listing-filters-toggle.is-open,
.cp-listing-filters-toggle[aria-expanded="true"] {
    background: var(--cp-mist-2);
    border-color: rgba(60, 182, 74, 0.4);
}

.cp-listing-search__filters {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--cp-line);
}

.cp-listing-filter-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.4rem;
    align-items: center;
}

.cp-listing-select {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    min-height: 34px;
    border: 1px solid #e2ebe4;
    border-radius: 8px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%235a6f63' d='M1 1l4 4 4-4'/%3E%3C/svg%3E") no-repeat right 0.55rem center;
    color: var(--cp-ink);
    padding: 0.25rem 1.45rem 0.25rem 0.55rem;
    font-family: 'Poppins', sans-serif;
    font-size: 0.78rem;
    line-height: 1.2;
    cursor: pointer;
}

.cp-listing-select:focus {
    outline: none;
    border-color: var(--cp-green);
    box-shadow: 0 0 0 2px rgba(60, 182, 74, 0.14);
}

.cp-listing-check {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0;
    min-height: 34px;
    color: var(--cp-forest);
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
}

.cp-listing-check input {
    width: 0.9rem;
    height: 0.9rem;
    accent-color: var(--cp-green);
}

@media (max-width: 1199px) {
    .cp-listing-filter-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .cp-listing-search__panel {
        padding: 0.5rem;
    }

    .cp-listing-search__top {
        flex-direction: column;
        align-items: stretch;
        gap: 0.45rem;
    }

    .cp-listing-search__query {
        flex: 1 1 auto;
    }

    .cp-listing-types {
        width: 100%;
    }

    .cp-listing-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cp-listing-check {
        grid-column: 1 / -1;
    }
}

@media (max-width: 991px) {
    .cp-page-listings .filters-sticky,
    .cp-page-listings .search-filters {
        position: sticky;
        top: calc(var(--cp-nav-h) - 8px);
        z-index: 20;
        background: rgba(243, 247, 244, 0.95);
        backdrop-filter: blur(8px);
        padding: 0.5rem 0;
    }
}

/* Auth / post forms */
.cp-form-shell .login100-form-title,
.cp-form-shell h2,
.cp-form-shell h3,
.cp-form-shell .page-title {
    color: var(--cp-forest);
}

.cp-form-shell .wrap-input100,
.cp-form-shell .form-group {
    margin-bottom: 1rem;
}

.cp-form-shell .form-control,
.cp-form-shell input[type="text"],
.cp-form-shell input[type="email"],
.cp-form-shell input[type="password"],
.cp-form-shell input[type="tel"],
.cp-form-shell select,
.cp-form-shell textarea {
    min-height: 48px;
    border-radius: var(--cp-radius-sm) !important;
    border: 1px solid var(--cp-line) !important;
    padding: 0.65rem 0.9rem;
}

.cp-form-shell textarea.form-control {
    min-height: 120px;
}

.cp-form-shell .card,
.cp-form-shell .panel,
.cp-form-shell .wrap-login100 {
    border-radius: var(--cp-radius-lg);
    box-shadow: var(--cp-shadow);
    border: 1px solid var(--cp-line);
    background: #fff;
}

.cp-form-shell .btn-success,
.cp-form-shell .btn-primary,
.cp-form-shell .login100-form-btn {
    min-height: 48px;
}

/* ── Post ad wizard (/post) ── */
body.cp-post-wizard {
    background:
        radial-gradient(900px 420px at 0% -10%, rgba(60, 182, 74, 0.12), transparent 55%),
        radial-gradient(700px 380px at 100% 5%, rgba(20, 53, 38, 0.07), transparent 52%),
        linear-gradient(180deg, #eef5f0 0%, var(--cp-mist) 28%, #f7faf8 100%) !important;
    padding-bottom: 5.5rem;
}

body.cp-post-wizard .preloader {
    display: none !important;
}

body.cp-post-wizard #selectPostType.section:not(.cp-footer),
body.cp-post-wizard #SellTypes.section,
body.cp-post-wizard #RentTypes.section,
body.cp-post-wizard #HolidayTypes.section,
body.cp-post-wizard #formWizard.section {
    padding-top: 1.5rem !important;
    padding-bottom: 2.75rem !important;
    margin-top: 0 !important;
    position: relative;
    background: transparent !important;
    animation: cpPostFadeIn 0.45s var(--cp-ease) both;
}

/* Edit listing: skip intent/type steps; clear sticky subnav overlap */
body.cp-post-edit #selectPostType.section:not(.cp-footer),
body.cp-post-edit #SellTypes.section,
body.cp-post-edit #RentTypes.section,
body.cp-post-edit #HolidayTypes.section {
    display: none !important;
}

body.cp-post-edit #formWizard.section,
body.cp-post-edit #formWizard {
    display: block !important;
    padding-top: 1.75rem !important;
    padding-bottom: 2.75rem !important;
}

body.cp-post-wizard.cp-post-edit {
    padding-top: 0.25rem;
}

@keyframes cpPostFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: none; }
}

.cp-post-shell {
    max-width: 1080px !important;
}

.cp-post-hero {
    text-align: center;
    max-width: 38rem;
    margin: 0 auto 1.5rem;
}

.cp-post-hero__eyebrow {
    margin: 0 0 0.5rem;
    font-family: 'Poppins', sans-serif;
    font-size: 0.75rem;
    font-weight: 650;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--cp-green-dark);
}

.cp-post-hero__title {
    margin: 0 0 0.5rem;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.65rem, 3.4vw, 2.15rem);
    font-weight: 700;
    color: var(--cp-forest);
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.cp-post-hero__title span {
    color: var(--cp-green);
}

.cp-post-hero__lead {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    color: var(--cp-muted);
    line-height: 1.55;
}

.cp-post-reassure {
    margin: 1.35rem auto 0;
    text-align: center;
    font-family: 'Poppins', sans-serif;
    font-size: 0.86rem;
    color: var(--cp-muted);
}

/* Connected stepper */
.cp-post-stepper {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin: 0 auto 1.75rem;
    padding: 0;
    max-width: 28rem;
    counter-reset: none;
}

.cp-post-stepper__item {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    font-family: 'Poppins', sans-serif;
    font-size: 0.78rem;
    font-weight: 550;
    color: var(--cp-muted);
    min-width: 0;
}

.cp-post-stepper__item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 1rem;
    left: calc(50% + 1.15rem);
    right: calc(-50% + 1.15rem);
    height: 2px;
    background: rgba(20, 53, 38, 0.12);
    z-index: 0;
}

.cp-post-stepper__item.is-done:not(:last-child)::after,
.cp-post-stepper__item.is-active:not(:last-child)::after {
    background: linear-gradient(90deg, var(--cp-green), rgba(60, 182, 74, 0.35));
}

.cp-post-stepper__num {
    position: relative;
    z-index: 1;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.82rem;
    font-weight: 700;
    background: #fff;
    border: 2px solid rgba(20, 53, 38, 0.14);
    color: var(--cp-muted);
    transition: background 0.25s var(--cp-ease), border-color 0.25s var(--cp-ease), color 0.25s var(--cp-ease), transform 0.25s var(--cp-ease);
}

.cp-post-stepper__item.is-active .cp-post-stepper__num {
    background: var(--cp-forest);
    border-color: var(--cp-forest);
    color: #fff;
    transform: scale(1.06);
    box-shadow: 0 8px 18px rgba(20, 53, 38, 0.22);
}

.cp-post-stepper__item.is-done .cp-post-stepper__num {
    background: var(--cp-green);
    border-color: var(--cp-green);
    color: transparent;
    font-size: 0;
}

.cp-post-stepper__item.is-done .cp-post-stepper__num::before {
    content: "✓";
    color: #fff;
    font-size: 0.85rem;
    font-weight: 700;
    line-height: 1;
}

.cp-post-stepper__item.is-active .cp-post-stepper__label,
.cp-post-stepper__item.is-done .cp-post-stepper__label {
    color: var(--cp-forest);
    font-weight: 650;
}

.cp-post-stepper--compact {
    margin-bottom: 0.65rem;
    max-width: none;
    width: 100%;
    justify-content: flex-start;
    gap: 0.35rem;
}

.cp-post-stepper--compact .cp-post-stepper__item {
    flex: 0 1 auto;
    flex-direction: row;
    gap: 0.4rem;
    padding-right: 1.25rem;
}

.cp-post-stepper--compact .cp-post-stepper__item:not(:last-child)::after {
    top: 50%;
    transform: translateY(-50%);
    left: calc(100% - 0.85rem);
    right: 0.15rem;
    width: auto;
}

.cp-post-stepper--compact .cp-post-stepper__num {
    width: 1.55rem;
    height: 1.55rem;
    font-size: 0.72rem;
}

.cp-post-stepper--compact .cp-post-stepper__label {
    white-space: nowrap;
}

.cp-post-choice-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    max-width: 58rem;
    margin: 0 auto;
}

.cp-post-choice-grid--intent .cp-post-choice {
    flex-direction: row !important;
    align-items: center !important;
    text-align: left;
    padding: 1.15rem 1.2rem !important;
    gap: 1rem;
    min-height: 7.25rem;
}

.cp-post-type-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.9rem;
    max-width: 64rem;
    margin: 0 auto;
}

@media (max-width: 991.98px) {
    .cp-post-choice-grid {
        grid-template-columns: 1fr;
        max-width: 26rem;
    }

    .cp-post-type-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .cp-post-type-grid {
        grid-template-columns: 1fr 1fr;
        max-width: 100%;
    }

    .cp-post-choice-grid--intent .cp-post-choice {
        min-height: 0;
        padding: 1rem !important;
    }
}

.cp-post-choice {
    appearance: none;
    -webkit-appearance: none;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    min-width: 0 !important;
    margin: 0;
    padding: 1.25rem 1rem 1.15rem !important;
    border: 1px solid rgba(20, 53, 38, 0.1) !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    background-color: rgba(255, 255, 255, 0.92) !important;
    box-shadow: 0 12px 30px rgba(20, 53, 38, 0.06) !important;
    text-align: center;
    text-transform: none !important;
    cursor: pointer;
    transition: transform 0.22s var(--cp-ease), box-shadow 0.22s var(--cp-ease), border-color 0.22s var(--cp-ease), background 0.22s var(--cp-ease);
    font-family: 'Poppins', sans-serif;
    font-size: inherit !important;
    line-height: 1.35 !important;
    color: var(--cp-forest) !important;
    position: relative;
    overflow: hidden;
}

.cp-post-choice::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(60, 182, 74, 0.08), transparent 55%);
    opacity: 0;
    transition: opacity 0.22s var(--cp-ease);
    pointer-events: none;
}

.cp-post-choice:hover,
.cp-post-choice:focus,
.cp-post-choice.login100-form-btn:hover {
    transform: translateY(-4px);
    border-color: rgba(60, 182, 74, 0.5) !important;
    background: #fff !important;
    color: var(--cp-forest) !important;
    box-shadow: 0 18px 40px rgba(20, 53, 38, 0.12) !important;
    outline: none;
}

.cp-post-choice:hover::before,
.cp-post-choice:focus::before {
    opacity: 1;
}

.cp-post-choice:focus-visible {
    box-shadow: 0 0 0 3px rgba(60, 182, 74, 0.28), 0 18px 40px rgba(20, 53, 38, 0.12);
}

.cp-post-choice__media {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.cp-post-choice img,
.cp-post-choice__media img {
    width: 72px !important;
    height: 72px;
    object-fit: cover;
    border-radius: 50%;
    margin: 0;
    display: block;
    box-shadow: 0 8px 20px rgba(20, 53, 38, 0.14);
}

.cp-post-choice-grid--intent .cp-post-choice img,
.cp-post-choice-grid--intent .cp-post-choice__media img {
    width: 64px !important;
    height: 64px;
    margin: 0;
}

.cp-post-choice__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
    flex: 1;
    min-width: 0;
    position: relative;
    z-index: 1;
}

.cp-post-choice__label {
    display: block;
    font-size: 1.08rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin-bottom: 0.15rem;
    color: var(--cp-forest) !important;
    position: relative;
    z-index: 1;
}

.cp-post-choice__hint {
    display: block;
    font-size: 0.84rem;
    font-weight: 400;
    color: var(--cp-muted) !important;
    line-height: 1.4;
    position: relative;
    z-index: 1;
}

.cp-post-choice__go {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--cp-mist-2);
    color: var(--cp-green-dark);
    font-size: 1rem;
    font-weight: 700;
    position: relative;
    z-index: 1;
    transition: background 0.2s ease, transform 0.2s ease;
}

.cp-post-choice:hover .cp-post-choice__go {
    background: var(--cp-green);
    color: #fff;
    transform: translateX(2px);
}

.cp-post-back.login100-form-btn {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 2.65rem !important;
    background: #fff !important;
    color: var(--cp-forest) !important;
    border: 1px solid rgba(20, 53, 38, 0.14) !important;
    box-shadow: var(--cp-shadow-sm) !important;
}

.cp-post-back.login100-form-btn:hover {
    background: var(--cp-mist-2) !important;
    color: var(--cp-forest) !important;
}

.cp-post-type-grid .cp-post-choice {
    padding: 1.15rem 0.75rem 1rem !important;
}

.cp-post-type-grid .cp-post-choice img,
.cp-post-type-grid .cp-post-choice__media img {
    width: 68px !important;
    height: 68px;
    margin-bottom: 0.75rem;
}

.cp-post-type-grid .cp-post-choice__label {
    font-size: 0.9rem;
    margin-bottom: 0;
}

.cp-post-back-row {
    display: flex;
    justify-content: center;
    margin-top: 1.5rem;
}

.cp-post-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 2.65rem;
    padding: 0.45rem 1.2rem;
    border-radius: 999px;
    border: 1px solid rgba(20, 53, 38, 0.14);
    background: #fff;
    color: var(--cp-forest) !important;
    font-family: 'Poppins', sans-serif;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none !important;
    box-shadow: var(--cp-shadow-sm);
    transition: background 0.2s ease, transform 0.2s ease;
}

.cp-post-back:hover {
    background: var(--cp-mist-2);
    transform: translateY(-1px);
    color: var(--cp-forest) !important;
}

.cp-post-back .fa {
    font-size: 1rem !important;
}

/* Form fill */
body.cp-post-wizard #formWizard {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--cp-page-pad);
    padding-right: var(--cp-page-pad);
    background: transparent;
}

body.cp-post-wizard #formWizard > .cp-post-shell {
    max-width: 1180px !important;
}

body.cp-post-wizard #formWizard > .container,
body.cp-post-wizard #formWizard .cp-post-form-main > .container {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.cp-post-form-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
    padding: 1rem 1.15rem;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--cp-line);
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(20, 53, 38, 0.05);
    backdrop-filter: blur(8px);
}

.cp-post-form-top__meta {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
}

.cp-post-form-top .breadcrumb {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    font-family: 'Poppins', sans-serif;
    font-size: 0.86rem;
}

.cp-post-form-top .breadcrumb-item + .breadcrumb-item::before {
    content: "›";
    color: var(--cp-muted);
}

.cp-post-form-top .breadcrumb-item a {
    color: var(--cp-muted) !important;
    text-decoration: none !important;
}

.cp-post-form-top .breadcrumb-item.active {
    color: var(--cp-green) !important;
    font-weight: 600;
}

.cp-post-form-layout {
    display: grid;
    grid-template-columns: 15.5rem minmax(0, 1fr);
    gap: 1.75rem;
    align-items: start;
}

.cp-post-form-nav {
    position: sticky;
    top: 5.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.35rem 0.15rem;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.cp-post-form-nav__link {
    display: flex !important;
    align-items: center;
    gap: 0.85rem;
    padding: 0.72rem 0.35rem;
    border-radius: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #2b2f33 !important;
    text-decoration: none !important;
    background: transparent !important;
    transition: color 0.18s ease, opacity 0.18s ease;
}

.cp-post-form-nav__link:hover {
    color: var(--cp-forest) !important;
    background: transparent !important;
}

.cp-post-form-nav__check {
    width: 1.25rem;
    height: 1.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #c5c9ce;
    transition: color 0.2s ease, transform 0.2s ease;
}

.cp-post-form-nav__check svg {
    display: block;
}

.cp-post-form-nav__text {
    line-height: 1.25;
}

.cp-post-form-nav__link.is-active {
    color: #1a1d21 !important;
    background: transparent !important;
    font-weight: 700;
}

.cp-post-form-nav__link.is-active .cp-post-form-nav__check {
    color: #9aa0a6;
}

.cp-post-form-nav__link.is-complete .cp-post-form-nav__check {
    color: var(--cp-green);
    transform: scale(1.05);
}

.cp-post-form-nav__link.is-complete {
    color: #1a1d21 !important;
}

.cp-post-panel {
    background: #fff;
    border: 1px solid rgba(20, 53, 38, 0.08);
    border-radius: 18px;
    box-shadow: 0 8px 28px rgba(20, 53, 38, 0.045);
    padding: 1.5rem 1.5rem 1rem;
    margin-bottom: 1.15rem;
    scroll-margin-top: 6rem;
}

.cp-post-panel__head {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    margin: 0 0 1.25rem;
    padding-bottom: 0.95rem;
    border-bottom: 1px solid rgba(20, 53, 38, 0.08);
}

.cp-post-panel__index {
    display: none;
}

.cp-post-panel__head h3,
.cp-post-panel__head h5 {
    margin: 0 0 0.25rem !important;
    font-family: 'Poppins', sans-serif;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: #1a1d21 !important;
    letter-spacing: -0.02em;
}

.cp-post-panel__head p {
    margin: 0;
    font-size: 0.9rem;
    color: #6b7280;
    line-height: 1.45;
}

.cp-field-group-title {
    margin: 0.15rem 0 0.95rem !important;
    font-family: 'Poppins', sans-serif;
    font-size: 0.98rem !important;
    font-weight: 650 !important;
    color: #1f2933 !important;
}

.cp-field-label {
    display: block;
    font-family: 'Poppins', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    color: #374151 !important;
    margin-bottom: 0.4rem !important;
    letter-spacing: 0.01em;
}

.cp-req {
    color: #e11d48;
    font-weight: 700;
}

body.cp-post-wizard #formWizard h5 {
    font-family: 'Poppins', sans-serif;
    font-size: 0.98rem !important;
    font-weight: 650 !important;
    color: #1f2933 !important;
    margin-bottom: 0.85rem !important;
}

body.cp-post-wizard #formWizard label {
    font-family: 'Poppins', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.4rem;
}

body.cp-post-wizard #formWizard input[switch] + label,
body.cp-post-wizard #formWizard .cp-switch-wrap > label {
    margin-bottom: 0 !important;
    font-size: 0 !important;
    font-weight: 600 !important;
    color: transparent !important;
    letter-spacing: 0 !important;
}

body.cp-post-wizard #formWizard .form-control,
body.cp-post-wizard #formWizard .custom-select,
body.cp-post-wizard #formWizard select,
body.cp-post-wizard #formWizard input[type="date"],
body.cp-post-wizard #formWizard input[type="number"],
body.cp-post-wizard #formWizard input[type="email"],
body.cp-post-wizard #formWizard input[type="text"],
body.cp-post-wizard #formWizard input[type="tel"],
body.cp-post-wizard #formWizard textarea {
    min-height: 50px;
    border-radius: 12px !important;
    border: 1px solid #d7dde3 !important;
    font-family: 'Poppins', sans-serif;
    font-size: 0.94rem;
    color: #111827;
    background: #fbfcfd !important;
    padding-left: 0.95rem;
    padding-right: 0.95rem;
    box-shadow: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

body.cp-post-wizard #formWizard .form-control::placeholder,
body.cp-post-wizard #formWizard textarea::placeholder {
    color: #9ca3af;
}

body.cp-post-wizard #formWizard .form-control:hover,
body.cp-post-wizard #formWizard .custom-select:hover,
body.cp-post-wizard #formWizard select:hover,
body.cp-post-wizard #formWizard textarea:hover {
    border-color: #b8c2cc !important;
    background: #fff !important;
}

body.cp-post-wizard #formWizard .form-control:focus,
body.cp-post-wizard #formWizard .custom-select:focus,
body.cp-post-wizard #formWizard select:focus,
body.cp-post-wizard #formWizard textarea:focus {
    border-color: rgba(60, 182, 74, 0.65) !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(60, 182, 74, 0.12) !important;
    outline: none;
}

body.cp-post-wizard #formWizard textarea.form-control {
    min-height: 140px;
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
    line-height: 1.55;
}

body.cp-post-wizard #formWizard .input-group {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #d7dde3;
    background: #fbfcfd;
}

body.cp-post-wizard #formWizard .input-group .custom-select,
body.cp-post-wizard #formWizard .input-group .form-control {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

body.cp-post-wizard #formWizard .input-group .custom-select {
    max-width: 6.5rem;
    border-right: 1px solid #e5e7eb !important;
    font-weight: 600;
}

body.cp-post-wizard #formWizard .input-group:focus-within {
    border-color: rgba(60, 182, 74, 0.65);
    box-shadow: 0 0 0 4px rgba(60, 182, 74, 0.12);
    background: #fff;
}

body.cp-post-wizard #formWizard .input-group .custom-select {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

body.cp-post-wizard #formWizard .dropzone {
    border: 2px dashed #c9d4cc !important;
    border-radius: 16px !important;
    background: #f7faf8 !important;
    min-height: 180px;
    padding: 1.25rem !important;
    transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.cp-post-media-block {
    margin-bottom: 1.35rem;
}

.cp-post-existing-images {
    margin-bottom: 0.75rem;
}

.cp-post-upload-help {
    margin: -0.35rem 0 0.85rem;
    font-size: 0.86rem;
    color: #6b7280;
    line-height: 1.45;
}

.cp-post-upload-wrap {
    width: 100%;
}

body.cp-post-wizard #formWizard .dropzone:hover {
    border-color: rgba(60, 182, 74, 0.55) !important;
    background: #f2f9f3 !important;
    box-shadow: inset 0 0 0 1px rgba(60, 182, 74, 0.08);
}

body.cp-post-wizard #formWizard .dropzone .dz-preview {
    position: relative;
    overflow: visible !important;
    margin: 12px !important;
    padding-bottom: 2.4rem;
    min-height: 140px;
}

body.cp-post-wizard #formWizard .dropzone .dz-preview .dz-image {
    border-radius: 12px;
    overflow: hidden;
}

body.cp-post-wizard #formWizard .dropzone .dz-preview.is-cover .dz-image {
    box-shadow: 0 0 0 3px rgba(60, 182, 74, 0.65);
}

body.cp-post-wizard #formWizard .dropzone .dz-preview.is-cover::after {
    content: "COVER";
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 25;
    background: var(--cp-green, #3cb64a);
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
}

body.cp-post-wizard #formWizard .dropzone .cp-dz-cover-btn,
.cp-dz-cover-btn {
    position: absolute !important;
    left: 6px !important;
    right: 6px !important;
    bottom: 0 !important;
    z-index: 30 !important;
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #143526 !important;
    color: #fff !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    padding: 0.4rem 0.5rem !important;
    cursor: pointer !important;
    text-align: center;
}

body.cp-post-wizard #formWizard .dropzone .dz-preview.is-cover .cp-dz-cover-btn,
.image-area.is-cover .cp-dz-cover-btn {
    background: var(--cp-green, #3cb64a) !important;
}

.image-area {
    position: relative;
}

.image-area.is-cover {
    box-shadow: 0 0 0 3px rgba(60, 182, 74, 0.55);
    border-radius: 8px;
}

.image-area .cp-dz-cover-btn {
    position: absolute;
    left: 8px;
    right: 8px;
    bottom: 8px;
    width: auto;
    z-index: 2;
}

body.cp-post-wizard #formWizard .dropzone .dz-message {
    margin: 1rem 0 !important;
    font-family: 'Poppins', sans-serif;
    color: var(--cp-muted);
    font-weight: 500;
}

.cp-post-upload-msg {
    text-align: center;
}

.cp-post-upload-msg__icon {
    display: inline-flex;
    width: 2.75rem;
    height: 2.75rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #fff;
    color: var(--cp-green-dark);
    font-size: 1.15rem;
    margin-bottom: 0.65rem;
    box-shadow: 0 6px 16px rgba(20, 53, 38, 0.1);
}

.cp-post-upload-msg__title {
    margin: 0 0 0.25rem;
    font-size: 1rem;
    font-weight: 650;
    color: var(--cp-forest);
}

.cp-post-upload-msg__hint {
    margin: 0;
    font-size: 0.84rem;
    color: var(--cp-muted);
}

body.cp-post-wizard #formWizard #FeaturesList,
.cp-features-grid {
    display: flex !important;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.65rem;
    margin: 0 !important;
}

.cp-features-hint {
    margin: -0.25rem 0 0.85rem;
    font-size: 0.86rem;
    color: #6b7280;
    line-height: 1.45;
}

body.cp-post-wizard #formWizard label.cp-feature-chip,
.cp-feature-chip {
    position: relative;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    width: auto !important;
    max-width: 100%;
    margin: 0 !important;
    margin-bottom: 0 !important;
    padding: 0.45rem 0.95rem 0.45rem 0.55rem !important;
    min-height: 2.4rem;
    border-radius: 999px !important;
    border: 1.5px solid #d5ddd8 !important;
    background: #fff !important;
    cursor: pointer;
    user-select: none;
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
    font-family: 'Poppins', sans-serif !important;
    font-size: 0.86rem !important;
    font-weight: 650 !important;
    color: #374151 !important;
    box-shadow: none !important;
    line-height: 1.2 !important;
}

body.cp-post-wizard #formWizard label.cp-feature-chip:hover,
.cp-feature-chip:hover {
    border-color: rgba(60, 182, 74, 0.45) !important;
    background: #f7fbf8 !important;
}

.cp-feature-chip__input {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.cp-feature-chip__box {
    flex: 0 0 1.15rem !important;
    width: 1.15rem !important;
    height: 1.15rem !important;
    min-width: 1.15rem !important;
    min-height: 1.15rem !important;
    border-radius: 4px !important;
    border: 2px solid #b8c2bb !important;
    background: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.cp-feature-chip__box::after {
    content: "" !important;
    display: block !important;
    width: 5px !important;
    height: 9px !important;
    margin-top: -1px !important;
    border: solid #fff !important;
    border-width: 0 2.2px 2.2px 0 !important;
    opacity: 0 !important;
    transform: rotate(45deg) scale(0.75);
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.cp-feature-chip__text {
    font-size: 0.86rem !important;
    font-weight: 650 !important;
    color: #374151 !important;
    line-height: 1.25 !important;
    white-space: nowrap;
}

.cp-feature-chip__input:checked + .cp-feature-chip__box,
.cp-feature-chip.is-checked .cp-feature-chip__box {
    background: #3cb64a !important;
    border-color: #3cb64a !important;
}

.cp-feature-chip__input:checked + .cp-feature-chip__box::after,
.cp-feature-chip.is-checked .cp-feature-chip__box::after {
    opacity: 1 !important;
    transform: rotate(45deg) scale(1);
}

body.cp-post-wizard #formWizard label.cp-feature-chip:has(.cp-feature-chip__input:checked),
body.cp-post-wizard #formWizard label.cp-feature-chip.is-checked,
.cp-feature-chip:has(.cp-feature-chip__input:checked),
.cp-feature-chip.is-checked {
    border-color: #8fd498 !important;
    background: #f1f9f2 !important;
    color: #1f6b2a !important;
    box-shadow: none !important;
}

body.cp-post-wizard #formWizard #FeaturesList > [class*="col-"] {
    padding: 0;
    width: auto;
    max-width: none;
    flex: 0 0 auto;
}

.cp-feature-chip__input:checked ~ .cp-feature-chip__text,
.cp-feature-chip.is-checked .cp-feature-chip__text {
    color: #1f6b2a !important;
    font-weight: 700 !important;
}

body.cp-post-wizard #formWizard .custom-checkbox:not(.cp-terms-agree):not(.cp-app-chip) {
    background: #f6f8f7;
    border: 1px solid #e3e8e5;
    border-radius: 12px;
    padding: 0.65rem 0.8rem;
    margin-bottom: 0.5rem;
    transition: border-color 0.18s ease, background 0.18s ease;
}

body.cp-post-wizard #formWizard .custom-checkbox:not(.cp-terms-agree):not(.cp-app-chip):hover {
    border-color: rgba(60, 182, 74, 0.35);
    background: #f1f8f2;
}

/* Contact slot 3 wrapper must span full row width like slots 1–2 */
body.cp-post-wizard #num3_row {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
}

body.cp-post-wizard #formWizard .contact-slot-row,
body.cp-post-wizard #formWizard .cp-contact-card {
    display: block;
    background: #fff;
    border: 1px solid #e5e9e7;
    border-radius: 14px;
    padding: 1.15rem 1.2rem 1.2rem;
    margin-bottom: 0;
    box-shadow: 0 1px 2px rgba(20, 53, 38, 0.04);
}

/* Terms of service box + agree checkbox */
.cp-terms-box {
    background: #f8faf9;
    border: 1px solid #e5e9e7;
    border-radius: 14px;
    padding: 1rem 1.15rem;
    max-height: 160px;
    overflow: auto;
}

.cp-terms-box__title {
    margin: 0 0 0.4rem;
    font-size: 0.9rem;
    font-weight: 700;
    color: #111827;
}

.cp-terms-box__body {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.55;
    color: #4b5563;
}

body.cp-post-wizard #formWizard label.cp-terms-agree,
.cp-terms-agree {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0.85rem 1rem 0.85rem 1rem !important;
    border: 1px solid #e5e9e7 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 1px 2px rgba(20, 53, 38, 0.04) !important;
    cursor: pointer;
    user-select: none;
    overflow: hidden !important;
    font-size: 0.92rem !important;
    font-weight: 500 !important;
    color: #1f2937 !important;
    transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

body.cp-post-wizard #formWizard label.cp-terms-agree:hover,
.cp-terms-agree:hover {
    border-color: rgba(60, 182, 74, 0.4) !important;
    background: #f7fbf8 !important;
}

body.cp-post-wizard #formWizard label.cp-terms-agree:has(.cp-terms-agree__input:checked),
.cp-terms-agree:has(.cp-terms-agree__input:checked) {
    border-color: #8fd498 !important;
    background: #f1f9f2 !important;
}

body.cp-post-wizard #formWizard .cp-terms-agree__input,
body.cp-post-wizard #formWizard input.cp-terms-agree__input[type="checkbox"],
.cp-terms-agree__input {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    pointer-events: none !important;
    clip: rect(0, 0, 0, 0) !important;
}

body.cp-post-wizard #formWizard .cp-terms-agree__box,
.cp-terms-agree__box {
    flex: 0 0 1.2rem !important;
    width: 1.2rem !important;
    height: 1.2rem !important;
    min-width: 1.2rem !important;
    min-height: 1.2rem !important;
    max-width: 1.2rem !important;
    max-height: 1.2rem !important;
    margin: 0 !important;
    border-radius: 5px !important;
    border: 2px solid #b8c2bb !important;
    background: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.cp-terms-agree__box::before,
.cp-terms-agree__box::after {
    content: none !important;
}

.cp-terms-agree__box::after {
    content: "" !important;
    display: block !important;
    width: 5px !important;
    height: 9px !important;
    margin-top: -1px !important;
    border: solid #fff !important;
    border-width: 0 2.2px 2.2px 0 !important;
    opacity: 0 !important;
    transform: rotate(45deg) scale(0.75);
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.cp-terms-agree__input:checked + .cp-terms-agree__box {
    background: #3cb64a !important;
    border-color: #3cb64a !important;
}

.cp-terms-agree__input:checked + .cp-terms-agree__box::after {
    opacity: 1 !important;
    transform: rotate(45deg) scale(1);
}

body.cp-post-wizard #formWizard .cp-terms-agree__text,
.cp-terms-agree__text {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    color: #374151 !important;
    line-height: 1.4 !important;
}

.cp-terms-agree__text a {
    color: #2f9e3d !important;
    font-weight: 600 !important;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.cp-terms-agree__text a:hover {
    color: #247a30 !important;
}

/* Never treat terms agree like the amenity/custom-checkbox pills */
body.cp-post-wizard #formWizard .cp-terms-agree.custom-checkbox,
body.cp-post-wizard #formWizard label.cp-terms-agree::before,
body.cp-post-wizard #formWizard label.cp-terms-agree::after {
    content: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    width: auto !important;
    height: auto !important;
}

.cp-contact-hint {
    margin: -0.35rem 0 0.95rem;
    font-size: 0.86rem;
    color: #6b7280;
    line-height: 1.45;
}

.cp-contact-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.cp-contact-card__title,
.cp-contact-card .contact-label {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: #1a1d21;
    min-width: 0 !important;
}

.cp-contact-card__badge {
    display: inline-flex;
    align-items: center;
    padding: 0.22rem 0.65rem;
    border-radius: 999px;
    background: rgba(60, 182, 74, 0.14);
    color: #1f6b2a;
    font-size: 0.72rem;
    font-weight: 650;
    letter-spacing: 0.02em;
}

.cp-contact-card__badge.is-muted {
    background: #eef1f0;
    color: #6b7280;
}

.cp-contact-card__body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.95rem 1.1rem;
}

.cp-contact-field {
    min-width: 0;
}

.cp-contact-field--apps {
    grid-column: 1 / -1;
}

.cp-contact-field .cp-field-label,
.cp-contact-field .cp-field-label.cp-field-label {
    display: block;
    margin-bottom: 0.4rem;
}

.cp-contact-field .contact-select,
.cp-contact-card .contact-select {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    height: 48px;
    border-radius: 10px !important;
}

.cp-contact-field .phone,
.cp-contact-field .iti {
    width: 100% !important;
}

.cp-contact-field .iti {
    display: block;
}

.cp-contact-field .iti input.phone,
.cp-contact-field input.phone.form-control {
    width: 100% !important;
    height: 48px;
    border-radius: 10px !important;
}

.cp-contact-field .iti input.phone {
    padding-left: 90px !important;
}

.cp-contact-apps,
.cp-contact-card .contact-actions {
    display: flex !important;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: stretch;
}

.cp-app-chip {
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

.cp-app-chip .custom-control-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.cp-app-chip .custom-control-label {
    display: inline-flex !important;
    align-items: center;
    gap: 0.45rem;
    margin: 0 !important;
    padding: 0.55rem 0.85rem !important;
    min-height: 44px;
    border-radius: 10px;
    border: 1px solid #d7dde3;
    background: #fff;
    cursor: pointer;
    font-family: 'Poppins', sans-serif;
    font-size: 0.84rem;
    font-weight: 600;
    color: #374151;
    transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.cp-app-chip .custom-control-label::before,
.cp-app-chip .custom-control-label::after {
    display: none !important;
}

.cp-app-chip .custom-control-label img {
    width: 22px !important;
    height: 22px !important;
    object-fit: contain;
}

.cp-app-chip .custom-control-input:checked + .custom-control-label {
    border-color: rgba(60, 182, 74, 0.55);
    background: #f1f9f2;
    box-shadow: 0 0 0 3px rgba(60, 182, 74, 0.12);
    color: #143526;
}

.cp-contact-manage-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-family: 'Poppins', sans-serif;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--cp-green-dark, #2a8f36) !important;
    text-decoration: none !important;
}

.cp-contact-manage-link:hover {
    color: var(--cp-forest, #143526) !important;
}

.cp-contact-empty {
    padding: 1.1rem 1.15rem;
    border-radius: 14px;
    border: 1px dashed #cfd8d2;
    background: #f7faf8;
}

.cp-contact-empty p {
    margin: 0 0 0.75rem;
    color: #6b7280;
    font-size: 0.9rem;
}

.cp-switch-wrap {
    min-height: 50px;
    display: flex;
    align-items: center;
}

body.cp-post-wizard #formWizard .cp-switch-wrap {
    width: 100%;
    min-height: 50px;
    padding: 0 0.85rem;
    border-radius: 12px;
    border: 1px solid #d7dde3;
    background: #fbfcfd;
    box-sizing: border-box;
}

body.cp-post-wizard #formWizard input[switch] {
    display: none !important;
}

body.cp-post-wizard #formWizard input[switch] + label {
    width: 72px !important;
    height: 34px !important;
    background-color: #e8ecea !important;
    background-image: none !important;
    border-radius: 999px !important;
    padding: 0 !important;
    cursor: pointer;
    display: inline-block !important;
    text-align: center;
    position: relative;
    box-shadow: inset 0 0 0 1px #d5ddd8;
    transition: background-color 0.18s ease, box-shadow 0.18s ease;
}

body.cp-post-wizard #formWizard input[switch] + label:before {
    color: #4b5563 !important;
    content: attr(data-off-label);
    display: block;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 650 !important;
    font-size: 0.72rem !important;
    line-height: 34px !important;
    position: absolute;
    right: 10px;
    left: auto;
    margin: 0 !important;
    top: 0;
    text-align: center;
    min-width: auto;
    overflow: hidden;
    transition: all 0.18s ease;
}

body.cp-post-wizard #formWizard input[switch] + label:after {
    content: '';
    position: absolute;
    left: 4px;
    top: 4px;
    background-color: #fff !important;
    box-shadow: 0 1px 3px rgba(17, 24, 39, 0.18);
    border-radius: 999px;
    height: 26px;
    width: 26px;
    transition: left 0.18s ease;
}

body.cp-post-wizard #formWizard input[switch]:checked + label {
    background-color: var(--cp-green, #3cb64a) !important;
    box-shadow: inset 0 0 0 1px rgba(45, 150, 58, 0.35);
}

body.cp-post-wizard #formWizard input[switch]:checked + label:before {
    color: #fff !important;
    content: attr(data-on-label);
    right: auto;
    left: 11px;
}

body.cp-post-wizard #formWizard input[switch]:checked + label:after {
    left: 42px;
    background-color: #fff !important;
}

@media (max-width: 767.98px) {
    .cp-contact-card__body {
        grid-template-columns: 1fr;
    }
}

body.cp-post-wizard #formWizard .mb-4 {
    margin-bottom: 1rem !important;
}

@media (max-width: 991.98px) {
    .cp-post-form-layout {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .cp-post-form-nav {
        position: relative;
        top: 0;
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 0.35rem;
        padding: 0.35rem 0 0.65rem;
        -webkit-overflow-scrolling: touch;
    }

    .cp-post-form-nav__link {
        flex: 0 0 auto;
        padding: 0.55rem 0.7rem;
        border-radius: 999px;
        background: #fff !important;
        border: 1px solid #e5e7eb;
        font-size: 0.86rem;
        gap: 0.45rem;
    }

    .cp-post-form-nav__link.is-active {
        border-color: rgba(60, 182, 74, 0.45);
        background: #f2f9f3 !important;
    }

    .cp-post-form-nav__check {
        width: 1rem;
        height: 1rem;
    }

    .cp-post-form-nav__check svg {
        width: 14px;
        height: 14px;
    }
}

body.cp-post-wizard #formWizard #submitButton,
body.cp-post-wizard #formWizard #previewButton,
.cp-post-sticky-bar .btn {
    min-height: 48px;
    border-radius: 999px !important;
    font-family: 'Poppins', sans-serif;
    font-weight: 650;
    border: 0 !important;
    padding-left: 1.35rem;
    padding-right: 1.35rem;
}

body.cp-post-wizard #formWizard #submitButton,
.cp-post-sticky-bar .btn-success {
    background: linear-gradient(145deg, var(--cp-green), var(--cp-green-dark)) !important;
    box-shadow: 0 10px 22px rgba(60, 182, 74, 0.28);
    color: #fff !important;
}

body.cp-post-wizard #formWizard #previewButton,
.cp-post-sticky-bar .btn-primary {
    background: #fff !important;
    color: var(--cp-forest) !important;
    border: 1px solid rgba(20, 53, 38, 0.16) !important;
    box-shadow: none;
}

body.cp-post-wizard #formWizard .cp-post-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 0.65rem 0 1.35rem;
}

body.cp-post-wizard #formWizard .cp-post-actions > [class*="col-"] {
    flex: 1 1 180px;
    max-width: 260px;
    padding-left: 0;
    padding-right: 0;
}

.cp-post-sticky-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1040;
    padding: 0.75rem 1rem calc(0.75rem + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, 0.92);
    border-top: 1px solid rgba(20, 53, 38, 0.1);
    box-shadow: 0 -10px 28px rgba(20, 53, 38, 0.08);
    backdrop-filter: blur(10px);
}

.cp-post-sticky-bar[hidden] {
    display: none !important;
}

.cp-post-sticky-bar__inner {
    max-width: 1080px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.cp-post-sticky-bar__hint {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 0.9rem;
    color: var(--cp-muted);
}

.cp-post-sticky-bar__actions {
    display: flex;
    gap: 0.65rem;
    flex-wrap: wrap;
}

body.cp-post-wizard button.cp-post-choice.login100-form-btn {
    display: flex !important;
    height: auto !important;
    min-height: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
    line-height: 1.35 !important;
    background: rgba(255, 255, 255, 0.92) !important;
}

body.cp-post-wizard #selectPostType .card,
body.cp-post-wizard #SellTypes .card,
body.cp-post-wizard #RentTypes .card,
body.cp-post-wizard #HolidayTypes .card {
    border: 0;
    box-shadow: none;
    background: transparent;
}

/* Auth pages — signup / signin */
.cp-auth-page .cp-auth-bg {
    min-height: 100vh;
    padding: 2rem 1rem !important;
    align-items: flex-start !important;
}

.cp-auth-page .cp-auth-bg::before {
    background: linear-gradient(160deg, rgba(20, 53, 38, 0.55), rgba(20, 53, 38, 0.72)) !important;
}

.cp-auth-card {
    width: 100%;
    max-width: 460px;
    margin: 1.5rem auto 2rem;
    padding: 1.75rem 1.5rem 1.5rem !important;
}

.cp-auth-logo {
    display: block;
    text-align: center;
    margin-bottom: 1.1rem;
}

.cp-auth-page .loginLogo {
    max-width: 210px;
    height: auto;
    margin: 0 auto;
    display: block;
}

.cp-auth-intro {
    text-align: center;
    margin-bottom: 1.25rem;
}

.cp-auth-title {
    margin: 0 0 0.35rem;
    color: var(--cp-forest);
    font-size: 1.45rem;
    font-weight: 650;
    line-height: 1.25;
}

.cp-auth-lead {
    margin: 0;
    color: var(--cp-muted);
    font-size: 0.9rem;
    line-height: 1.5;
}

.cp-auth-alert {
    border-radius: 12px;
    border: 0;
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
}

.cp-auth-alert p {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.45;
}

.cp-auth-field {
    margin-bottom: 0.95rem;
}

.cp-auth-field label {
    display: block;
    margin-bottom: 0.35rem;
    color: var(--cp-forest);
    font-size: 0.84rem;
    font-weight: 600;
}

.cp-auth-req {
    color: var(--cp-danger);
}

.cp-auth-page .wrap-input100 {
    margin-bottom: 0 !important;
    width: 100%;
    position: relative;
    border: 1px solid var(--cp-line) !important;
    border-radius: 12px !important;
    background: #f7faf8 !important;
    overflow: visible;
    box-shadow: none !important;
}

.cp-auth-page .input100 {
    min-height: 46px;
    height: auto !important;
    padding-top: 0.7rem !important;
    padding-right: 0.95rem !important;
    padding-bottom: 0.7rem !important;
    padding-left: 0.95rem;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    color: var(--cp-ink);
    font-family: 'Poppins', sans-serif;
    font-size: 0.92rem;
    box-shadow: none !important;
}

.cp-auth-page .input100:focus {
    background: #fff !important;
    outline: none;
}

.cp-auth-page .focus-input100,
.cp-auth-page .btn-hide-validate,
.cp-auth-page .true-validate::after {
    display: none !important;
}

/* Kill legacy Colorlib overlay validation UI on auth pages */
.cp-auth-page .alert-validate::before,
.cp-auth-page .validate-input.alert-validate::before {
    content: none !important;
    display: none !important;
}

.cp-auth-page .wrap-input100:focus-within {
    border-color: var(--cp-green) !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(60, 182, 74, 0.14);
}

.cp-auth-field--error .wrap-input100 {
    border-color: #e05b5b !important;
    background: #fff8f8 !important;
    box-shadow: 0 0 0 3px rgba(192, 57, 43, 0.1);
}

.cp-auth-field--error .wrap-input100:focus-within {
    border-color: #e05b5b !important;
    box-shadow: 0 0 0 3px rgba(192, 57, 43, 0.14);
}

.cp-auth-error {
    display: none;
    margin: 0.4rem 0 0;
    color: #c0392b;
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.35;
}

.cp-auth-field--error .cp-auth-error:not(:empty),
.cp-auth-error:not(:empty) {
    display: block;
}

.cp-auth-select-wrap {
    padding: 0 !important;
    background: #fff !important;
}

.cp-auth-select {
    display: block;
    width: 100% !important;
    min-height: 48px;
    margin: 0 !important;
    padding: 0.7rem 2.6rem 0.7rem 0.95rem !important;
    border: 0 !important;
    border-radius: 10px !important;
    background-color: transparent !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%235a6f63' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.9rem center !important;
    background-size: 16px 16px !important;
    box-shadow: none !important;
    color: var(--cp-ink) !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 0.92rem !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    cursor: pointer;
}

.cp-auth-select:focus {
    outline: none;
}

.cp-auth-select option {
    color: var(--cp-ink);
    font-weight: 500;
    background: #fff;
}

.cp-auth-select option[disabled] {
    color: var(--cp-muted);
}

.cp-auth-hint {
    margin: -0.15rem 0 0.45rem;
    color: var(--cp-muted);
    font-size: 0.76rem;
    line-height: 1.35;
    font-weight: 500;
}

.cp-auth-page .cp-auth-select-wrap:focus-within {
    border-color: var(--cp-green) !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(60, 182, 74, 0.14);
}

.cp-auth-phone {
    overflow: visible !important;
}

.cp-auth-phone .intl-tel-input,
.cp-auth-phone .iti {
    width: 100%;
    display: block;
    position: relative;
}

.cp-auth-phone .intl-tel-input .flag-container,
.cp-auth-phone .iti .flag-container {
    z-index: 2;
}

/* Do not force padding-left with !important — intl-tel-input sets it inline
   from the selected flag + dial-code width. Only lock the other sides. */
.cp-auth-page .cp-auth-phone input.phone.input100,
.cp-auth-page .cp-auth-phone .intl-tel-input input.input100 {
    padding-top: 0.7rem !important;
    padding-right: 0.95rem !important;
    padding-bottom: 0.7rem !important;
    padding-left: 96px;
}

.cp-auth-page .text-danger {
    display: block;
    margin-top: 0.3rem;
    font-size: 0.78rem;
}

.cp-auth-terms {
    margin: 0.35rem 0 1.1rem;
    color: var(--cp-muted);
    font-size: 0.8rem;
    line-height: 1.5;
}

.cp-auth-terms a {
    color: var(--cp-green);
    font-weight: 600;
    text-decoration: none;
}

.cp-auth-terms a:hover {
    color: var(--cp-green-dark);
    text-decoration: underline;
}

.cp-auth-submit {
    width: 100%;
    font-weight: 650 !important;
    letter-spacing: 0.01em;
}

.cp-auth-footer {
    margin-top: 1.15rem;
    text-align: center;
}

.cp-auth-footer .txt1 {
    color: var(--cp-muted);
    font-size: 0.9rem;
}

.cp-auth-footer .txt2 {
    color: var(--cp-green) !important;
    font-weight: 650;
}

.cp-auth-forgot {
    margin: -0.15rem 0 1rem;
    text-align: right;
}

.cp-auth-forgot a {
    color: var(--cp-muted);
    font-size: 0.84rem;
    text-decoration: none;
}

.cp-auth-forgot a:hover {
    color: var(--cp-green);
}

.cp-auth-page .txt1 {
    color: var(--cp-muted);
}

@media (max-width: 575px) {
    .cp-auth-card {
        padding: 1.35rem 1.1rem 1.25rem !important;
        margin-top: 0.75rem;
    }

    .cp-auth-title {
        font-size: 1.25rem;
    }
}

/* Dashboard — modern app shell */
body.cp-dash {
    background: #eef2ef !important;
    font-family: 'Poppins', sans-serif !important;
}

body.cp-dash,
body.cp-dash *:not(i):not(.fa):not([class^="fa-"]):not([class*=" fa-"]):not(.mdi):not([class^="mdi-"]):not([class*=" mdi-"]):not(.ti):not([class^="ti-"]):not([class*=" ti-"]):not(.dripicons-v2):not([class^="dripicons-"]):not([class*=" dripicons-"]):not(.material-icons) {
    font-family: 'Poppins', sans-serif !important;
}

body.cp-dash .header-area,
body.cp-dash .preloader {
    display: none !important;
}

body.cp-dash .cp-footer {
    display: none !important;
}

.cp-dash-app {
    --cp-dash-side-w: 268px;
    display: grid;
    grid-template-columns: var(--cp-dash-side-w) 1fr;
    min-height: 100vh;
    margin-top: 0;
    position: relative;
    z-index: 20;
    background: #eef2ef;
}

.cp-dash-sidebar {
    position: sticky;
    top: 0;
    align-self: start;
    height: 100vh;
    overflow-y: auto;
    background:
        linear-gradient(180deg, #1a3f2d 0%, #143526 48%, #102a1f 100%);
    color: #fff;
    padding: 1rem 0.9rem 1.15rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    border-right: 1px solid rgba(255,255,255,0.06);
}

.cp-dash-sidebar__head {
    padding: 0.15rem 0.25rem 0.95rem;
    margin-bottom: 0.35rem;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.cp-dash-sidebar__brand {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.55rem 0.35rem;
    border-radius: 0;
    background: transparent;
    text-decoration: none !important;
    box-shadow: none;
}

.cp-dash-sidebar__logo {
    display: block;
    width: 100%;
    max-width: 188px;
    height: auto;
}

.cp-dash-sidebar__caption {
    margin: 0.65rem 0 0;
    text-align: center;
    color: rgba(255,255,255,0.55);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.cp-dash-sidebar__section {
    margin: 0.95rem 0.45rem 0.4rem;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.42);
}

.cp-dash-side-link {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.55rem 0.55rem;
    border-radius: 12px;
    color: rgba(255,255,255,0.84) !important;
    text-decoration: none !important;
    font-size: 0.9rem;
    font-weight: 550;
    transition: background 0.15s ease, color 0.15s ease;
}

.cp-dash-side-link__icon {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.08);
    flex-shrink: 0;
}

.cp-dash-side-link__icon i {
    width: auto;
    opacity: 1;
    font-size: 0.95rem;
}

.cp-dash-side-link:hover {
    background: rgba(255,255,255,0.08);
    color: #fff !important;
}

.cp-dash-side-link.is-active {
    background: rgba(60, 182, 74, 0.18);
    color: #fff !important;
    box-shadow: inset 3px 0 0 #3cb64a;
}

.cp-dash-side-link.is-active .cp-dash-side-link__icon {
    background: #3cb64a;
    color: #fff;
}

.cp-dash-sidebar__nav {
    flex: 1;
}

.cp-dash-sidebar__foot {
    margin-top: auto;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(255,255,255,0.08);
}

.cp-dash-side-link--site {
    background: rgba(60, 182, 74, 0.16);
    color: #fff !important;
    margin-bottom: 0.35rem;
}

.cp-dash-side-link--site .cp-dash-side-link__icon {
    background: rgba(60, 182, 74, 0.35);
}

.cp-dash-side-link--site:hover {
    background: #3cb64a !important;
}

.cp-dash-site-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 40px;
    padding: 0.4rem 0.85rem;
    border-radius: 10px;
    border: 1px solid var(--cp-line);
    background: #fff;
    color: var(--cp-forest) !important;
    font-size: 0.84rem;
    font-weight: 650;
    text-decoration: none !important;
}

.cp-dash-site-link:hover {
    border-color: rgba(60, 182, 74, 0.45);
    background: #f3faf4;
    color: var(--cp-green-dark) !important;
}

.cp-dash-site-link i {
    color: var(--cp-green);
}

.cp-dash-stage {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.cp-dash-topbar,
.cp-dash-header.header-bg,
.cp-dash .header-bg.cp-dash-header {
    margin-top: 0 !important;
    padding: 0.85rem 1.35rem !important;
    background: #fff !important;
    border-bottom: 1px solid var(--cp-line) !important;
    box-shadow: 0 1px 0 rgba(20, 53, 38, 0.03) !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    position: sticky;
    top: 0;
    z-index: 40;
}

.cp-dash-topbar__left {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.cp-dash-topbar__heading {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.cp-dash-brand__eyebrow {
    color: var(--cp-muted);
    font-size: 0.68rem;
    font-weight: 650;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.cp-dash-brand__title {
    color: var(--cp-forest);
    font-size: 1.12rem;
    font-weight: 750;
}

.cp-dash-menu-btn {
    display: none;
    width: 40px;
    height: 40px;
    border: 1px solid var(--cp-line);
    border-radius: 10px;
    background: #fff;
    padding: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.cp-dash-menu-btn span {
    display: block;
    width: 16px;
    height: 2px;
    background: var(--cp-forest);
}

.cp-dash-topbar__right {
    margin-left: auto;
}

.cp-dash-actions {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.cp-dash-actions > .list-inline-item {
    margin: 0 !important;
}

.cp-dash-lang-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 38px;
    padding: 0.4rem 0.9rem;
    border-radius: 12px;
    border: 1px solid #d8dee6;
    background: #fff;
    color: #3a4450 !important;
    font-size: 0.88rem;
    font-weight: 550;
    text-decoration: none !important;
    line-height: 1;
}

.cp-dash-lang-btn i {
    font-size: 1.05rem;
    color: #6b7580;
    line-height: 1;
}

.cp-dash-lang-btn:hover {
    border-color: #c5ced8;
    background: #f8fafb;
    color: #24303b !important;
}

.cp-dash-notify-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #3a4450 !important;
    position: relative;
    text-decoration: none !important;
}

.cp-dash-notify-btn::after {
    display: none !important;
}

.cp-dash-notify-btn:hover,
.cp-dash-notify-btn:focus,
.show > .cp-dash-notify-btn,
#topnav .dropdown.show .cp-dash-notify-btn {
    background: #f3f5f7 !important;
    color: #1f2933 !important;
}

.cp-dash-notify-btn__icon {
    font-size: 1.45rem !important;
    line-height: 1 !important;
    padding: 0 !important;
}

.cp-dash-notify-btn__badge {
    position: absolute;
    top: 2px;
    right: 1px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 999px;
    background: #e53935;
    color: #fff;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
    border: 2px solid #fff;
}

.cp-dash-notify-btn__badge.is-empty:empty,
.cp-dash-notify-btn__badge:empty {
    display: none;
}

.cp-dash-notify {
    width: 340px;
    max-width: calc(100vw - 1.5rem);
    padding: 0 !important;
    margin-top: 0.55rem !important;
    border: 1px solid var(--cp-line) !important;
    border-radius: 16px !important;
    box-shadow: 0 16px 40px rgba(20, 53, 38, 0.14) !important;
    overflow: hidden;
}

.cp-dash-notify__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.95rem 1.05rem 0.75rem;
    border-bottom: 1px solid var(--cp-line);
}

.cp-dash-notify__head h5 {
    margin: 0;
    color: var(--cp-forest);
    font-size: 0.98rem;
    font-weight: 700;
}

.cp-dash-notify__count {
    color: var(--cp-muted);
    font-size: 0.75rem;
    font-weight: 600;
}

.cp-dash-notify__list {
    max-height: 280px;
    overflow-y: auto;
}

.cp-dash-notify__item {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    padding: 0.85rem 1.05rem;
    text-decoration: none !important;
    border-bottom: 1px solid #eef2f0;
}

.cp-dash-notify__item:hover {
    background: #f6f9f7;
}

.cp-dash-notify__dot {
    width: 8px;
    height: 8px;
    margin-top: 0.45rem;
    border-radius: 50%;
    background: #3cb64a;
    flex-shrink: 0;
}

.cp-dash-notify__body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.cp-dash-notify__body strong {
    color: var(--cp-forest);
    font-size: 0.88rem;
    font-weight: 650;
    line-height: 1.3;
    word-break: break-word;
}

.cp-dash-notify__body small {
    color: var(--cp-muted);
    font-size: 0.78rem;
    line-height: 1.35;
    word-break: break-word;
}

.cp-dash-notify__empty {
    padding: 1.4rem 1.05rem;
    text-align: center;
    color: var(--cp-muted);
    font-size: 0.88rem;
}

.cp-dash-notify__all {
    display: block;
    padding: 0.85rem 1.05rem;
    text-align: center;
    color: var(--cp-green-dark, #2f9a3c) !important;
    font-size: 0.86rem;
    font-weight: 700;
    text-decoration: none !important;
    border-top: 1px solid var(--cp-line);
    background: #fbfdfb;
}

.cp-dash-notify__all:hover {
    background: #f3faf4;
}

.cp-dash-icon-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 10px !important;
    color: var(--cp-forest) !important;
    position: relative;
}

.cp-dash-icon-btn:hover {
    background: var(--cp-mist) !important;
}

.cp-dash-icon-btn .noti-icon {
    font-size: 1.1rem !important;
    line-height: 1 !important;
    padding: 0 !important;
}

.cp-dash-icon-btn .noti-icon-badge {
    position: absolute;
    top: 4px;
    right: 4px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    font-size: 0.65rem;
    line-height: 16px;
}

.cp-dash-account-btn {
    display: inline-flex !important;
    align-items: center;
    gap: 0.2rem;
    padding: 0.15rem !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    background: transparent;
}

.cp-dash-account-btn:hover,
.cp-dash-account-btn:focus,
.show > .cp-dash-account-btn,
#topnav .dropdown.show .cp-dash-account-btn {
    background: var(--cp-mist) !important;
}

.cp-dash-account-btn::after {
    display: none !important;
}

.cp-dash-account-btn__avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid var(--cp-line);
    display: block;
}

.cp-dash-account-btn__chev {
    font-size: 1.15rem;
    color: var(--cp-muted);
    line-height: 1;
    transition: transform 0.15s ease;
}

.show > .cp-dash-account-btn .cp-dash-account-btn__chev {
    transform: rotate(180deg);
}

.cp-dash-account-menu {
    width: 320px;
    max-width: calc(100vw - 1.5rem);
    padding: 0 !important;
    margin-top: 0.55rem !important;
    border: 1px solid var(--cp-line) !important;
    border-radius: 18px !important;
    box-shadow: 0 16px 40px rgba(20, 53, 38, 0.14) !important;
    overflow: hidden;
}

.cp-dash-account-menu__head {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 1.05rem 1.1rem 0.95rem;
}

.cp-dash-account-menu__avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid var(--cp-line);
    flex-shrink: 0;
}

.cp-dash-account-menu__identity {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    padding-top: 0.1rem;
}

.cp-dash-account-menu__name {
    color: var(--cp-forest);
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.25;
    word-break: break-word;
}

.cp-dash-account-menu__email {
    color: var(--cp-muted);
    font-size: 0.8rem;
    line-height: 1.35;
    word-break: break-all;
}

.cp-dash-account-menu__role {
    margin-top: 0.2rem;
    color: var(--cp-green-dark, #2f9a3c);
    font-size: 0.78rem;
    font-weight: 700;
}

.cp-dash-account-menu__links {
    border-top: 1px solid var(--cp-line);
    padding: 0.4rem 0;
}

.cp-dash-account-menu__links .dropdown-item {
    padding: 0.72rem 1.15rem;
    color: var(--cp-forest);
    font-size: 0.92rem;
    font-weight: 550;
}

.cp-dash-account-menu__links .dropdown-item:hover,
.cp-dash-account-menu__links .dropdown-item:focus {
    background: #f3f7f4;
    color: var(--cp-forest);
}

.cp-dash-account-menu__foot {
    border-top: 1px solid var(--cp-line);
    padding: 0.35rem 0;
}

.cp-dash-account-menu__signout {
    display: flex !important;
    align-items: center;
    gap: 0.55rem;
    padding: 0.78rem 1.15rem !important;
    color: #c62828 !important;
    font-size: 0.92rem;
    font-weight: 700;
}

.cp-dash-account-menu__signout:hover,
.cp-dash-account-menu__signout:focus {
    background: #fff5f5 !important;
    color: #b71c1c !important;
}

.cp-dash-account-menu__signout i {
    font-size: 1.05rem;
    line-height: 1;
}

.cp-dash-content {
    padding: 1.15rem 1.25rem 2rem;
}

.cp-dash .wrapper,
.cp-dash-wrap {
    margin-top: 0 !important;
    padding: 0 !important;
    position: relative;
    z-index: 1;
}

.cp-dash-stats {
    margin: 0 -0.4rem 1rem;
}

.cp-dash-stats > [class*="col-"] {
    padding: 0.4rem;
}

.cp-dash-stat {
    margin: 0 !important;
    border-radius: 14px !important;
    border: 1px solid var(--cp-line) !important;
    box-shadow: var(--cp-shadow-sm) !important;
    background: #fff !important;
    height: 100%;
    transition: transform 0.2s var(--cp-ease), box-shadow 0.2s var(--cp-ease);
}

.cp-dash-stat:hover {
    transform: translateY(-2px);
    box-shadow: var(--cp-shadow) !important;
}

.cp-dash-stat .card-body {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 1rem 1.05rem !important;
    text-align: left !important;
}

.cp-dash-stat__icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 1.05rem;
}

.cp-dash-stat__icon--ok { background: #e7f7ea; color: #1f6b2a; }
.cp-dash-stat__icon--pending { background: #eef0ff; color: #4b45a0; }
.cp-dash-stat__icon--bad { background: #fdeceb; color: #a12622; }
.cp-dash-stat__icon--warn { background: #fff4df; color: #9a6700; }
.cp-dash-stat__icon--info { background: #e8f1ff; color: #2f6fed; }
.cp-dash-stat__icon--muted { background: #f3ebe4; color: #8a6a4f; }

.cp-dash-stat__label {
    display: block;
    margin-bottom: 0.15rem;
    color: var(--cp-muted);
    font-size: 0.72rem;
    font-weight: 650;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.cp-dash-stat__value {
    margin: 0 !important;
    font-size: 1.55rem !important;
    font-weight: 750 !important;
    line-height: 1.1;
}

.cp-dash-stat__value--ok { color: var(--cp-green-dark) !important; }
.cp-dash-stat__value--pending { color: #6b5b95 !important; }
.cp-dash-stat__value--bad { color: #c0392b !important; }
.cp-dash-stat__value--warn { color: #b7791f !important; }
.cp-dash-stat__value--info { color: #2f6fed !important; }
.cp-dash-stat__value--muted { color: #8a6a4f !important; }

.cp-dash-panel {
    border: 1px solid var(--cp-line) !important;
    border-radius: 16px !important;
    box-shadow: var(--cp-shadow-sm) !important;
    overflow: visible;
    background: #fff !important;
}

.cp-dash-panel .card-body {
    padding: 1.15rem 1.2rem 1.25rem !important;
}

.cp-dash-panel__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem;
}

.cp-dash-panel__title {
    margin: 0 0 0.25rem;
    color: var(--cp-forest);
    font-size: 1.25rem;
    font-weight: 750;
}

.cp-dash-panel__lead {
    margin: 0;
    color: var(--cp-muted);
    font-size: 0.9rem;
}

.cp-dash-new-ad {
    white-space: nowrap;
    border-radius: 10px !important;
    font-weight: 650;
    min-height: 42px;
    padding: 0.5rem 1rem !important;
}

.cp-dash-search {
    margin-bottom: 0.85rem;
    padding: 0.75rem;
    border: 1px solid var(--cp-line);
    border-radius: 12px;
    background: #f7faf8;
}

.cp-dash-search__row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.cp-dash-search__input {
    flex: 1 1 240px;
    min-height: 44px;
    border-radius: 10px !important;
    border: 1px solid var(--cp-line) !important;
    background: #fff !important;
}

.cp-dash-search__select {
    flex: 0 0 140px;
    min-height: 44px;
    border-radius: 10px !important;
    border: 1px solid var(--cp-line) !important;
    background: #fff !important;
}

.cp-dash-search__btn {
    min-height: 44px;
    border-radius: 10px !important;
    font-weight: 650;
}

.cp-dash-chip {
    display: inline-flex;
    align-items: center;
    margin-left: 0.35rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 650;
    vertical-align: middle;
}

.cp-dash-chip--info { background: #e8f1ff; color: #2f6fed; }
.cp-dash-chip--warn { background: #fff4df; color: #9a6700; }

.cp-dash-table-wrap {
    border: 1px solid rgba(20, 53, 38, 0.14);
    border-radius: 12px;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    background: #fff;
}

.cp-dash-table {
    margin-bottom: 0 !important;
    background: #fff;
    border: 0 !important;
    width: 100%;
    min-width: 920px;
}

.cp-dash-table thead th {
    border-top: 0 !important;
    border-bottom: 1px solid rgba(20, 53, 38, 0.14) !important;
    background: #eef5f0 !important;
    color: #143526 !important;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: none;
    white-space: nowrap;
    vertical-align: middle !important;
    padding: 0.7rem 0.75rem !important;
}

.cp-dash-table td {
    border-color: rgba(20, 53, 38, 0.1) !important;
    border-left: 0 !important;
    border-right: 0 !important;
    vertical-align: middle !important;
    color: var(--cp-ink);
    font-size: 0.9rem;
    padding: 0.7rem 0.75rem !important;
}

.cp-dash-table tbody tr:nth-child(even) td {
    background: #fafcfb;
}

.cp-dash-table tbody tr:hover td {
    background: #f1f8f3 !important;
}

.cp-dash-th-num,
.cp-dash-td-num {
    text-align: center !important;
    font-variant-numeric: tabular-nums;
    font-weight: 650;
    white-space: nowrap;
}

.cp-dash-td-date {
    white-space: nowrap;
    color: #3d5248;
    font-variant-numeric: tabular-nums;
}

.cp-dash-td-prop {
    white-space: nowrap;
    font-weight: 550;
}

.cp-dash-id {
    color: var(--cp-muted);
    font-weight: 650;
    font-variant-numeric: tabular-nums;
}

.cp-dash-post {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 220px;
    max-width: 320px;
}

.cp-dash-post__thumb {
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid var(--cp-line);
    flex-shrink: 0;
    background: #eef2ef;
}

.cp-dash-post__title {
    display: block;
    color: var(--cp-forest) !important;
    font-weight: 700;
    font-size: 0.92rem;
    line-height: 1.3;
    text-decoration: none !important;
}

.cp-dash-post__title:hover {
    color: var(--cp-green-dark) !important;
    text-decoration: underline !important;
}

.cp-dash-post__code {
    display: block;
    margin-top: 0.2rem;
    color: #5a6f63;
    font-size: 0.75rem;
    font-weight: 500;
}

.cp-dash-type {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-weight: 700;
    font-size: 0.82rem;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.cp-dash-type i { font-size: 0.65rem; }
.cp-dash-type--sell i { color: var(--cp-green); }
.cp-dash-type--rent i { color: #2f6fed; }
.cp-dash-type--other i { color: #b7791f; }

.cp-dash-status {
    display: inline-flex;
    align-items: center;
    padding: 0.32rem 0.7rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
    line-height: 1.2;
}

.cp-dash-status--approved { background: #e7f7ea; color: #1f6b2a; }
.cp-dash-status--pending { background: #eef0ff; color: #4b45a0; }
.cp-dash-status--rejected { background: #fdeceb; color: #a12622; }
.cp-dash-status--pay { background: #fff4df; color: #9a6700; }
.cp-dash-status--edit { background: #fff7e8; color: #8a5a00; }
.cp-dash-status--off { background: #eef1ef; color: #5a6f63; }
.cp-dash-status--sold { background: #fdeceb; color: #a12622; }

.cp-dash-th-actions,
.cp-dash-td-actions {
    position: sticky;
    right: 0;
    z-index: 2;
    min-width: 280px;
    background: #fff;
    box-shadow: -8px 0 12px rgba(20, 53, 38, 0.06);
}

.cp-dash-table thead .cp-dash-th-actions {
    z-index: 3;
    background: #eef5f0 !important;
}

.cp-dash-table tbody tr:nth-child(even) .cp-dash-td-actions {
    background: #fafcfb;
}

.cp-dash-table tbody tr:hover .cp-dash-td-actions {
    background: #f1f8f3 !important;
}

.cp-dash-row-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    max-width: none;
    min-width: 260px;
}

.cp-dash-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    min-height: 34px !important;
    padding: 0.35rem 0.7rem !important;
    border-radius: 8px !important;
    font-size: 0.78rem !important;
    font-weight: 650 !important;
    box-shadow: none !important;
    white-space: nowrap;
    line-height: 1.2;
}

.cp-dash-btn i {
    font-size: 0.85rem;
}

.cp-dash-btn--pay {
    width: auto;
    justify-content: center;
}

.cp-dash-btn--danger {
    border-color: rgba(161, 38, 34, 0.35) !important;
}

.cp-dash-empty {
    text-align: center;
    padding: 2.5rem 1rem;
}

.cp-dash-empty img {
    max-width: 160px;
    margin-bottom: 1rem;
    opacity: 0.9;
}

.cp-dash-empty h6 {
    margin: 0 0 0.35rem;
    color: var(--cp-forest);
    font-weight: 700;
}

.cp-dash-empty p {
    margin: 0 0 1rem;
    color: var(--cp-muted);
}

.cp-dash-pagination {
    margin-top: 1rem;
    padding: 0;
}

@media (max-width: 991.98px) {
    .cp-dash-th-actions,
    .cp-dash-td-actions {
        position: static;
        box-shadow: none;
        min-width: 0;
    }

    .cp-dash-row-actions {
        min-width: 0;
    }
}

/* ===== Global modern overrides for all dashboard pages ===== */
body.cp-dash {
    background: #eef2ef !important;
    color: var(--cp-ink, #1c2b24);
    font-family: 'Poppins', sans-serif !important;
}

body.cp-dash .wrapper.cp-dash-wrap .container,
body.cp-dash .wrapper.cp-dash-wrap .container-fluid {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}

body.cp-dash .card:not(.cp-dash-stat):not(.cp-dash-panel) {
    border: 1px solid var(--cp-line) !important;
    border-radius: 16px !important;
    box-shadow: var(--cp-shadow-sm) !important;
    background: #fff !important;
    overflow: hidden;
}

body.cp-dash .btn {
    border-radius: 10px !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 650 !important;
    box-shadow: none !important;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

body.cp-dash .btn,
body.cp-dash a.btn,
body.cp-dash button.btn,
body.cp-dash input.btn,
body.cp-dash .btn-sm,
body.cp-dash .btn-lg,
body.cp-dash .cp-dash-btn,
body.cp-dash .cp-dash-new-ad,
body.cp-dash .cp-dash-search__btn,
body.cp-dash .swal2-styled,
body.cp-dash .page-link {
    font-family: 'Poppins', sans-serif !important;
}

body.cp-dash .btn:active {
    transform: translateY(1px);
}

body.cp-dash .btn-sm {
    border-radius: 8px !important;
    font-size: 0.78rem !important;
    padding: 0.35rem 0.7rem !important;
    min-height: 32px;
    line-height: 1.2;
}

body.cp-dash .btn-success,
body.cp-dash .btn-success:focus {
    background: #3cb64a !important;
    border-color: #3cb64a !important;
    color: #fff !important;
}

body.cp-dash .btn-success:hover {
    background: #34a341 !important;
    border-color: #34a341 !important;
}

body.cp-dash .btn-primary,
body.cp-dash .btn-primary:focus {
    background: #143526 !important;
    border-color: #143526 !important;
    color: #fff !important;
}

body.cp-dash .btn-primary:hover {
    background: #0f2a1e !important;
    border-color: #0f2a1e !important;
}

body.cp-dash .btn-info,
body.cp-dash .btn-info:focus {
    background: #2f6fed !important;
    border-color: #2f6fed !important;
    color: #fff !important;
}

body.cp-dash .btn-warning,
body.cp-dash .btn-warning:focus {
    background: #f0b429 !important;
    border-color: #f0b429 !important;
    color: #3b2f0b !important;
}

body.cp-dash .btn-danger,
body.cp-dash .btn-danger:focus {
    background: #e04545 !important;
    border-color: #e04545 !important;
    color: #fff !important;
}

body.cp-dash .btn-outline-secondary,
body.cp-dash .btn-outline-primary,
body.cp-dash .btn-outline-success {
    background: #fff !important;
    border: 1px solid var(--cp-line) !important;
    color: var(--cp-forest) !important;
}

body.cp-dash .btn-outline-secondary:hover,
body.cp-dash .btn-outline-primary:hover,
body.cp-dash .btn-outline-success:hover {
    background: #f3faf4 !important;
    border-color: rgba(60, 182, 74, 0.45) !important;
    color: var(--cp-green-dark, #2f9a3c) !important;
}

body.cp-dash .btn-outline-danger {
    background: #fff !important;
    border: 1px solid rgba(161, 38, 34, 0.4) !important;
    color: #a12622 !important;
}

body.cp-dash .btn-outline-danger:hover {
    background: #a12622 !important;
    border-color: #a12622 !important;
    color: #fff !important;
}

body.cp-dash .form-control,
body.cp-dash .custom-select,
body.cp-dash select.form-control,
body.cp-dash textarea.form-control {
    min-height: 44px;
    border-radius: 10px !important;
    border: 1px solid var(--cp-line) !important;
    background: #f7faf8 !important;
    color: var(--cp-ink, #1c2b24) !important;
    box-shadow: none !important;
    font-size: 0.9rem;
}

body.cp-dash .form-control:focus,
body.cp-dash .custom-select:focus,
body.cp-dash select.form-control:focus,
body.cp-dash textarea.form-control:focus {
    border-color: rgba(60, 182, 74, 0.55) !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(60, 182, 74, 0.12) !important;
}

body.cp-dash .form-group label,
body.cp-dash .col-form-label {
    color: var(--cp-forest);
    font-size: 0.82rem;
    font-weight: 650;
    margin-bottom: 0.35rem;
}

body.cp-dash .badge {
    border-radius: 999px !important;
    font-weight: 650 !important;
    padding: 0.35em 0.7em !important;
    letter-spacing: 0.01em;
}

body.cp-dash .badge-primary {
    background: #e8f1ff !important;
    color: #2f6fed !important;
}

body.cp-dash .badge-success {
    background: #e7f7ea !important;
    color: #1f6b2a !important;
}

body.cp-dash .badge-danger {
    background: #fdeceb !important;
    color: #a12622 !important;
}

body.cp-dash .badge-warning {
    background: #fff4df !important;
    color: #9a6700 !important;
}

body.cp-dash .badge-info {
    background: #e8f7fb !important;
    color: #0b6e84 !important;
}

body.cp-dash .badge-secondary {
    background: #eef1f0 !important;
    color: #5b6b63 !important;
}

body.cp-dash .table:not(.cp-dash-table) {
    background: #fff;
}

body.cp-dash .table-bordered {
    border: 0 !important;
}

body.cp-dash .table-bordered th,
body.cp-dash .table-bordered td {
    border-left: 0 !important;
    border-right: 0 !important;
    border-color: var(--cp-line) !important;
}

body.cp-dash .table thead th {
    background: #f7faf8;
    color: var(--cp-muted);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-top: 0 !important;
    vertical-align: middle;
    white-space: nowrap;
}

body.cp-dash .table tbody tr:hover {
    background: #f9fcfa;
}

body.cp-dash .table-responsive:not(.cp-dash-table-wrap) {
    border: 1px solid var(--cp-line);
    border-radius: 12px;
    overflow: auto;
}

body.cp-dash .nav-tabs {
    border-bottom: 1px solid var(--cp-line) !important;
    gap: 0.25rem;
    margin-bottom: 1.15rem !important;
}

body.cp-dash .nav-tabs .nav-link {
    border: 0 !important;
    border-radius: 10px 10px 0 0 !important;
    color: var(--cp-muted) !important;
    font-weight: 650;
    padding: 0.7rem 1rem !important;
    background: transparent !important;
}

body.cp-dash .nav-tabs .nav-link:hover {
    color: var(--cp-forest) !important;
    background: #f3f7f4 !important;
}

body.cp-dash .nav-tabs .nav-link.active {
    color: var(--cp-forest) !important;
    background: #fff !important;
    box-shadow: inset 0 -2px 0 #3cb64a;
}

body.cp-dash .list-group-item {
    border-color: var(--cp-line) !important;
    padding: 0.85rem 1rem;
}

body.cp-dash .list-group-item:first-child {
    border-top-left-radius: 12px !important;
    border-top-right-radius: 12px !important;
}

body.cp-dash .list-group-item:last-child {
    border-bottom-left-radius: 12px !important;
    border-bottom-right-radius: 12px !important;
}

body.cp-dash .alert {
    border-radius: 12px !important;
    border: 1px solid transparent !important;
    font-size: 0.9rem;
}

body.cp-dash .alert-success {
    background: #e7f7ea !important;
    color: #1f6b2a !important;
    border-color: #c7ebcf !important;
}

body.cp-dash .alert-warning {
    background: #fff4df !important;
    color: #9a6700 !important;
    border-color: #f3dfb0 !important;
}

body.cp-dash .alert-danger {
    background: #fdeceb !important;
    color: #a12622 !important;
    border-color: #f3c7c4 !important;
}

body.cp-dash .alert-info {
    background: #e8f1ff !important;
    color: #2f6fed !important;
    border-color: #c9daf8 !important;
}

body.cp-dash .modal-content {
    border: 0 !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 50px rgba(20, 53, 38, 0.18) !important;
    overflow: hidden;
}

body.cp-dash .modal-header {
    border-bottom: 1px solid var(--cp-line) !important;
    padding: 1rem 1.2rem;
    background: #fbfdfb;
}

body.cp-dash .modal-title {
    color: var(--cp-forest);
    font-weight: 750;
    font-size: 1.05rem;
}

body.cp-dash .modal-footer {
    border-top: 1px solid var(--cp-line) !important;
    padding: 0.85rem 1.2rem;
    background: #fbfdfb;
}

body.cp-dash .modal-body {
    padding: 1.15rem 1.2rem;
}

body.cp-dash .close {
    opacity: 0.55;
    text-shadow: none;
}

body.cp-dash .pagination {
    gap: 0.25rem;
}

body.cp-dash .page-link {
    border-radius: 8px !important;
    border: 1px solid var(--cp-line) !important;
    color: var(--cp-forest) !important;
    margin: 0 2px;
    min-width: 36px;
    text-align: center;
}

body.cp-dash .page-item.active .page-link {
    background: #3cb64a !important;
    border-color: #3cb64a !important;
    color: #fff !important;
}

body.cp-dash .dataTables_wrapper .dataTables_filter input,
body.cp-dash .dataTables_wrapper .dataTables_length select {
    border-radius: 10px !important;
    border: 1px solid var(--cp-line) !important;
    background: #f7faf8 !important;
    min-height: 38px;
    padding: 0.35rem 0.65rem;
}

body.cp-dash .dataTables_wrapper .dataTables_info,
body.cp-dash .dataTables_wrapper .dataTables_paginate {
    padding-top: 0.85rem !important;
    color: var(--cp-muted);
}

body.cp-dash .custom-control-label::before,
body.cp-dash .custom-control-label::after {
    border-radius: 6px;
}

body.cp-dash .custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
    background-color: #3cb64a;
    border-color: #3cb64a;
}

body.cp-dash .input-group-text {
    border-radius: 10px !important;
    border: 1px solid var(--cp-line) !important;
    background: #f7faf8 !important;
    color: var(--cp-muted);
}

body.cp-dash .thumb-sm,
body.cp-dash .rounded-circle.thumb-sm {
    border: 1px solid var(--cp-line);
}

body.cp-dash .cp-dash-panel__head .text-danger,
body.cp-dash .cp-dash-panel__head #creditCount {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    background: #fdeceb;
    color: #a12622 !important;
    font-size: 0.82rem;
    font-weight: 700;
}

body.cp-dash h4,
body.cp-dash h5,
body.cp-dash h6 {
    color: var(--cp-forest);
}

body.cp-dash .pull-right {
    float: none !important;
    display: flex;
    justify-content: flex-end;
    margin-bottom: 0.75rem;
}

.cp-dash-sidebar-backdrop {
    display: none;
}

@media (max-width: 991px) {
    .cp-dash-app {
        grid-template-columns: 1fr;
        margin-top: 0;
    }

    .cp-dash-sidebar {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: min(280px, 86vw);
        height: 100vh;
        z-index: 1100;
        transform: translateX(-105%);
        transition: transform 0.25s ease;
    }

    body.cp-dash-sidebar-open .cp-dash-sidebar {
        transform: translateX(0);
    }

    body.cp-dash-sidebar-open .cp-dash-sidebar-backdrop {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(20, 53, 38, 0.45);
        z-index: 1090;
    }

    .cp-dash-menu-btn {
        display: inline-flex;
    }

    .cp-dash-topbar,
    .cp-dash-header.header-bg {
        top: 0;
    }

    .cp-dash-panel__head {
        flex-direction: column;
    }

    .cp-dash-account-btn__chev {
        display: none;
    }

    .cp-dash-lang-btn span {
        display: none;
    }

    .cp-dash-lang-btn {
        width: 38px;
        min-height: 38px;
        padding: 0;
        justify-content: center;
    }

    .cp-dash-lang-btn i {
        margin: 0;
    }
}

@media (max-width: 575px) {
    .cp-dash-content {
        padding: 0.85rem 0.75rem 1.5rem;
    }

    .cp-dash-search__select,
    .cp-dash-search__btn {
        flex: 1 1 100%;
        width: 100%;
    }
}

/* Admin light tokens */
body.fixed-left,
body.fixed-left .content-page {
    background: var(--cp-mist);
}

body.fixed-left .topbar-left {
    background: var(--cp-forest) !important;
}

body.fixed-left #sidebar-menu > ul > li > a {
}

body.fixed-left .content .card,
body.fixed-left .card {
    border-radius: var(--cp-radius);
    border: 1px solid var(--cp-line);
    box-shadow: var(--cp-shadow-sm);
}

body.fixed-left .page-title-box h4 {
    color: var(--cp-forest);
}

/* ===== Modern homepage ===== */
.cp-page-home {
    background:
        radial-gradient(1100px 420px at 8% -5%, rgba(60, 182, 74, 0.08), transparent 55%),
        radial-gradient(900px 380px at 100% 12%, rgba(20, 53, 38, 0.05), transparent 50%),
        var(--cp-mist);
}

.cp-page-home .cp-home-body {
    padding-top: 0.5rem;
}

.cp-explore {
    padding: 1.25rem 0 0.25rem;
    margin-top: -1.5rem;
    position: relative;
    z-index: 3;
}

.cp-explore-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.65rem;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 18px;
    padding: 0.65rem;
    box-shadow: 0 14px 36px rgba(20, 53, 38, 0.1);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.cp-explore-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 76px;
    border-radius: 14px;
    color: var(--cp-forest) !important;
    text-decoration: none !important;
    background: #f4f8f5;
    border: 1px solid transparent;
    transition: transform 0.2s var(--cp-ease), background 0.2s var(--cp-ease), box-shadow 0.2s var(--cp-ease);
}

.cp-explore-item i {
    color: var(--cp-green);
}

.cp-explore-item:hover {
    transform: translateY(-2px);
    background: #fff;
    box-shadow: var(--cp-shadow-sm);
    border-color: rgba(60, 182, 74, 0.2);
}

.cp-explore-item--accent {
    background: linear-gradient(145deg, rgba(60, 182, 74, 0.14), rgba(60, 182, 74, 0.06));
}

.cp-section-head--modern {
    margin-bottom: 1.75rem;
}

.cp-section-head--modern .cp-eyebrow {
    display: inline-block;
    margin-bottom: 0.45rem;
    padding: 0.2rem 0.65rem;
    border-radius: 999px;
    background: rgba(60, 182, 74, 0.12);
    color: var(--cp-green-deep);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 11px !important;
    font-weight: 600;
}

.cp-section-head--modern h2 {
    margin: 0 0 0.35rem;
    letter-spacing: -0.02em;
}

.cp-section-head--modern p {
    max-width: 34rem;
    margin-left: auto;
    margin-right: auto;
}

.cp-section-head--compact {
    margin-bottom: 1rem;
}

.cp-section-head--compact h2 {
    font-size: 1.35rem;
}

.cp-home-listings {
    padding: 2.5rem 0 1rem;
}

.cp-home-block {
    padding: 2.25rem 0;
    border-top: 1px solid rgba(20, 53, 38, 0.06);
}

.cp-home-listings > .container > .cp-home-block:first-child {
    border-top: 0;
    padding-top: 0.5rem;
}

.cp-more-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0.55rem 1.35rem;
    border-radius: 999px;
    background: var(--cp-green);
    color: #fff !important;
    text-decoration: none !important;
    box-shadow: 0 8px 20px rgba(46, 168, 67, 0.28);
    transition: transform 0.2s var(--cp-ease), background 0.2s var(--cp-ease);
}

.cp-more-link:hover {
    background: var(--cp-green-dark);
    transform: translateY(-1px);
    color: #fff !important;
}

.cp-partners {
    padding: 2rem 0;
    margin: 0.5rem 0 0;
    background: rgba(255, 255, 255, 0.55);
    border-top: 1px solid var(--cp-line);
    border-bottom: 1px solid var(--cp-line);
}

.cp-partner-logo {
    min-height: 84px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.65rem 0.85rem;
    background: #fff;
    border-radius: 14px;
    border: 1px solid var(--cp-line);
}

.cp-partner-logo img {
    max-height: 56px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

.cp-blog-section {
    padding: 2.5rem 0 1rem;
}

@media (min-width: 992px) {
    .cp-blog-section .row {
        display: flex;
        flex-wrap: nowrap;
    }

    .cp-blog-section .row > [class*="col-"] {
        flex: 1 1 0;
        max-width: none;
    }

    .cp-blog-card-media {
        height: 150px;
    }
}

.cp-blog-card {
    background: #fff;
    border: 1px solid var(--cp-line);
    border-radius: var(--cp-radius);
    overflow: hidden;
    height: 100%;
    cursor: pointer;
    box-shadow: var(--cp-shadow-sm);
    transition: transform 0.25s var(--cp-ease), box-shadow 0.25s var(--cp-ease);
}

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

.cp-blog-card-media {
    height: 180px;
    background: #eef2ee;
    overflow: hidden;
}

.cp-blog-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s var(--cp-ease);
}

.cp-blog-card:hover .cp-blog-card-media img {
    transform: scale(1.05);
}

.cp-blog-card-placeholder {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #b7c4bb;
}

.cp-blog-card-placeholder .fa {
    font-size: 2rem;
}

.cp-blog-card-body {
    padding: 1rem 1.05rem 1.15rem;
}

.cp-blog-card-body h3 {
    margin: 0 0 0.65rem;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.7em;
}

.cp-blog-card-link {
    color: var(--cp-green) !important;
    text-decoration: none !important;
}

.cp-about-strip {
    padding: 3rem 0;
    margin-top: 1rem;
    background:
        radial-gradient(700px 240px at 20% 0%, rgba(60, 182, 74, 0.18), transparent 60%),
        linear-gradient(165deg, #163628 0%, #0f2419 100%);
    color: rgba(255, 255, 255, 0.88);
}

.cp-about-inner {
    max-width: 46rem;
    margin: 0 auto;
    text-align: center;
}

.cp-about-inner h2 {
    color: #fff !important;
    margin: 0 0 0.85rem;
    letter-spacing: -0.02em;
}

.cp-about-inner p {
    margin: 0;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.78);
}

.cp-about-inner a {
    color: #fff !important;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.cp-page-home .home-8-banner-grid {
    margin-top: 1.25rem !important;
    margin-bottom: 1.25rem !important;
    padding-left: 15px;
    padding-right: 15px;
}

.cp-page-home .home-8-banner-cell {
    border-radius: 14px;
    border-color: rgba(20, 53, 38, 0.08);
    background: #fff;
}

@media (max-width: 991px) {
    .cp-explore-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .cp-home-block {
        padding: 1.75rem 0;
    }
}

/* ===== Select Package (process-package-payment) ===== */
body.cp-page-packages {
    font-family: 'Poppins', sans-serif;
    background:
        radial-gradient(ellipse 80% 50% at 50% -10%, rgba(60, 182, 74, 0.12), transparent 55%),
        linear-gradient(180deg, #f5f8f6 0%, #eef3f0 100%);
}

body.cp-page-packages .cp-packages-section {
    padding: 6.5rem 0 5.5rem !important;
    min-height: calc(100vh - 180px);
}

body.cp-page-packages .cp-packages-head {
    text-align: center;
    margin: 0 auto 1.75rem;
    max-width: 36rem;
}

body.cp-page-packages .cp-packages-head h1 {
    margin: 0 0 0.45rem;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.45rem, 2.4vw, 1.85rem);
    font-weight: 700;
    color: #143526;
    letter-spacing: -0.02em;
}

body.cp-page-packages .cp-packages-head p {
    margin: 0;
    color: #5a6f63;
    font-size: 0.95rem;
    line-height: 1.5;
}

body.cp-page-packages .cp-packages-alert {
    display: flex;
    gap: 0.7rem;
    align-items: flex-start;
    max-width: 42rem;
    margin: 0 auto 1.35rem;
    padding: 0.85rem 1rem;
    border-radius: 12px;
    border: 1px solid rgba(60, 182, 74, 0.28);
    background: #f2f9f3;
    color: #1f4632;
    font-size: 0.9rem;
    line-height: 1.45;
}

body.cp-page-packages .cp-packages-alert .fa {
    color: var(--cp-green, #3cb64a);
    margin-top: 0.15rem;
}

body.cp-page-packages .wrapper.cp-packages-grid,
body.cp-page-packages .cp-packages-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.9rem;
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    align-items: stretch;
    justify-content: stretch;
}

body.cp-page-packages .cp-packages-grid--mobile {
    grid-template-columns: 1fr !important;
    max-width: 26rem;
}

body.cp-page-packages input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none;
}

body.cp-page-packages .cp-package-card,
body.cp-page-packages .wrapper .option,
body.cp-page-packages .wrapper .option1 {
    position: relative;
    display: flex !important;
    flex-direction: column;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    height: 100%;
    margin: 0 !important;
    padding: 1.15rem 1.05rem 1.2rem !important;
    border-radius: 16px !important;
    border: 1.5px solid #d9e2dc !important;
    background: #fff !important;
    box-shadow: 0 8px 22px rgba(20, 53, 38, 0.05);
    cursor: pointer;
    text-align: left;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease, background 0.18s ease;
}

body.cp-page-packages .cp-package-card:hover {
    border-color: rgba(60, 182, 74, 0.45) !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(20, 53, 38, 0.08);
}

body.cp-page-packages .cp-package-card__check {
    position: absolute;
    top: 0.9rem;
    right: 0.9rem;
    width: 1.15rem;
    height: 1.15rem;
    border-radius: 999px;
    border: 2px solid #c9d4ce;
    background: #fff;
}

body.cp-page-packages .cp-package-card__check::after {
    content: "";
    position: absolute;
    inset: 2px;
    border-radius: 999px;
    background: var(--cp-green, #3cb64a);
    transform: scale(0);
    transition: transform 0.15s ease;
}

body.cp-page-packages .cp-package-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    min-height: 100%;
}

body.cp-page-packages .cp-package-card__name {
    display: block;
    padding-right: 1.5rem;
    font-family: 'Poppins', sans-serif;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.35;
    color: #143526;
    text-transform: none;
}

body.cp-page-packages .cp-package-card__meta {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    color: #5a6f63;
    font-size: 0.86rem;
    line-height: 1.35;
}

body.cp-page-packages .cp-package-card__meta .fa {
    width: 1rem;
    color: var(--cp-green, #3cb64a);
    margin-right: 0.3rem;
}

body.cp-page-packages .cp-package-card__price {
    margin-top: auto;
    padding-top: 0.85rem;
    border-top: 1px solid #e7eee9;
    font-family: 'Poppins', sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    color: #143526;
    letter-spacing: -0.01em;
}

/* Selected states — keep existing radio + option class pairings */
body.cp-page-packages #option-1:checked ~ .option-1,
body.cp-page-packages #option-2:checked ~ .option-2,
body.cp-page-packages #option-3:checked ~ .option-3,
body.cp-page-packages #option-4:checked ~ .option-4,
body.cp-page-packages #option-5:checked ~ .option-5,
body.cp-page-packages #option1-1:checked ~ .option1-1,
body.cp-page-packages #option1-2:checked ~ .option1-2,
body.cp-page-packages #option1-3:checked ~ .option1-3,
body.cp-page-packages #option1-4:checked ~ .option1-4,
body.cp-page-packages #option1-5:checked ~ .option1-5 {
    border-color: var(--cp-green, #3cb64a) !important;
    background: #f3faf4 !important;
    box-shadow: 0 0 0 3px rgba(60, 182, 74, 0.14), 0 10px 24px rgba(20, 53, 38, 0.07);
}

body.cp-page-packages #option-1:checked ~ .option-1 .cp-package-card__check,
body.cp-page-packages #option-2:checked ~ .option-2 .cp-package-card__check,
body.cp-page-packages #option-3:checked ~ .option-3 .cp-package-card__check,
body.cp-page-packages #option-4:checked ~ .option-4 .cp-package-card__check,
body.cp-page-packages #option-5:checked ~ .option-5 .cp-package-card__check,
body.cp-page-packages #option1-1:checked ~ .option1-1 .cp-package-card__check,
body.cp-page-packages #option1-2:checked ~ .option1-2 .cp-package-card__check,
body.cp-page-packages #option1-3:checked ~ .option1-3 .cp-package-card__check,
body.cp-page-packages #option1-4:checked ~ .option1-4 .cp-package-card__check,
body.cp-page-packages #option1-5:checked ~ .option1-5 .cp-package-card__check {
    border-color: var(--cp-green, #3cb64a);
}

body.cp-page-packages #option-1:checked ~ .option-1 .cp-package-card__check::after,
body.cp-page-packages #option-2:checked ~ .option-2 .cp-package-card__check::after,
body.cp-page-packages #option-3:checked ~ .option-3 .cp-package-card__check::after,
body.cp-page-packages #option-4:checked ~ .option-4 .cp-package-card__check::after,
body.cp-page-packages #option-5:checked ~ .option-5 .cp-package-card__check::after,
body.cp-page-packages #option1-1:checked ~ .option1-1 .cp-package-card__check::after,
body.cp-page-packages #option1-2:checked ~ .option1-2 .cp-package-card__check::after,
body.cp-page-packages #option1-3:checked ~ .option1-3 .cp-package-card__check::after,
body.cp-page-packages #option1-4:checked ~ .option1-4 .cp-package-card__check::after,
body.cp-page-packages #option1-5:checked ~ .option1-5 .cp-package-card__check::after {
    transform: scale(1);
}

body.cp-page-packages #option-1:checked ~ .option-1 .cp-package-card__name,
body.cp-page-packages #option-2:checked ~ .option-2 .cp-package-card__name,
body.cp-page-packages #option-3:checked ~ .option-3 .cp-package-card__name,
body.cp-page-packages #option-4:checked ~ .option-4 .cp-package-card__name,
body.cp-page-packages #option-5:checked ~ .option-5 .cp-package-card__name,
body.cp-page-packages #option1-1:checked ~ .option1-1 .cp-package-card__name,
body.cp-page-packages #option1-2:checked ~ .option1-2 .cp-package-card__name,
body.cp-page-packages #option1-3:checked ~ .option1-3 .cp-package-card__name,
body.cp-page-packages #option1-4:checked ~ .option1-4 .cp-package-card__name,
body.cp-page-packages #option1-5:checked ~ .option1-5 .cp-package-card__name,
body.cp-page-packages #option-1:checked ~ .option-1 .cp-package-card__price,
body.cp-page-packages #option-2:checked ~ .option-2 .cp-package-card__price,
body.cp-page-packages #option-3:checked ~ .option-3 .cp-package-card__price,
body.cp-page-packages #option-4:checked ~ .option-4 .cp-package-card__price,
body.cp-page-packages #option-5:checked ~ .option-5 .cp-package-card__price,
body.cp-page-packages #option1-1:checked ~ .option1-1 .cp-package-card__price,
body.cp-page-packages #option1-2:checked ~ .option1-2 .cp-package-card__price,
body.cp-page-packages #option1-3:checked ~ .option1-3 .cp-package-card__price,
body.cp-page-packages #option1-4:checked ~ .option1-4 .cp-package-card__price,
body.cp-page-packages #option1-5:checked ~ .option1-5 .cp-package-card__price {
    color: #1b7a2a;
}

body.cp-page-packages .cp-packages-actions {
    display: flex;
    justify-content: center;
    margin: 1.75rem auto 0;
    max-width: 1080px;
    padding-bottom: 1.25rem;
}

body.cp-page-packages .cp-packages-pay {
    min-width: min(100%, 22rem);
    min-height: 52px;
    padding: 0.85rem 1.75rem !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--cp-green, #3cb64a) !important;
    box-shadow: 0 10px 24px rgba(60, 182, 74, 0.28);
    font-family: 'Poppins', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 650 !important;
    letter-spacing: 0.01em;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

body.cp-page-packages .cp-packages-pay:hover {
    background: var(--cp-green-dark, #2a8f36) !important;
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(60, 182, 74, 0.34);
}

@media (max-width: 991.98px) {
    body.cp-page-packages .wrapper.cp-packages-grid,
    body.cp-page-packages .cp-packages-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    body.cp-page-packages .cp-packages-section {
        padding: 5.5rem 0 4.5rem !important;
    }

    body.cp-page-packages .wrapper.cp-packages-grid,
    body.cp-page-packages .cp-packages-grid {
        grid-template-columns: 1fr;
    }

    body.cp-page-packages .cp-packages-pay {
        width: 100%;
        min-width: 0;
    }
}


/* —— Admin: auto approved / post lists —— */
.cp-admin-posts {
    --cp-admin-green: #3cb64a;
    --cp-admin-forest: #143526;
    --cp-admin-muted: #5a6f63;
    --cp-admin-line: rgba(20, 53, 38, 0.1);
    padding: 0.5rem 0 2rem;
    font-family: 'Poppins', sans-serif;
}

.cp-admin-posts__hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.25rem;
    margin-bottom: 1.25rem;
    padding: 1.35rem 1.5rem;
    border-radius: 18px;
    background:
        radial-gradient(520px 180px at 0% 0%, rgba(60, 182, 74, 0.16), transparent 60%),
        linear-gradient(135deg, #f4faf5 0%, #e8f3ea 100%);
    border: 1px solid var(--cp-admin-line);
}

.cp-admin-posts__eyebrow {
    margin: 0 0 0.35rem;
    font-size: 0.72rem;
    font-weight: 650;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--cp-admin-green);
}

.cp-admin-posts__title {
    margin: 0 0 0.35rem;
    font-size: clamp(1.35rem, 2.4vw, 1.75rem);
    font-weight: 700;
    color: var(--cp-admin-forest);
    line-height: 1.2;
}

.cp-admin-posts__lead {
    margin: 0;
    max-width: 36rem;
    font-size: 0.92rem;
    color: var(--cp-admin-muted);
    line-height: 1.5;
}

.cp-admin-posts__stat {
    flex-shrink: 0;
    min-width: 6.5rem;
    padding: 0.85rem 1rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid var(--cp-admin-line);
    text-align: center;
}

.cp-admin-posts__stat-label {
    display: block;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--cp-admin-muted);
}

.cp-admin-posts__stat-value {
    display: block;
    margin-top: 0.15rem;
    font-size: 1.55rem;
    font-weight: 700;
    color: var(--cp-admin-forest);
}

.cp-admin-posts__filters {
    margin-bottom: 1.15rem;
    padding: 1rem 1.15rem;
    border-radius: 16px;
    background: #fff;
    border: 1px solid var(--cp-admin-line);
    box-shadow: 0 8px 24px rgba(20, 53, 38, 0.05);
}

.cp-admin-posts__filters-grid {
    display: grid;
    grid-template-columns: 1.6fr repeat(3, minmax(0, 1fr)) auto;
    gap: 0.75rem;
    align-items: end;
}

.cp-admin-posts__field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin: 0;
}

.cp-admin-posts__field > span {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--cp-admin-muted);
}

.cp-admin-posts__field .form-control,
.cp-admin-posts__field .custom-select {
    height: 42px;
    border-radius: 10px !important;
    border-color: rgba(20, 53, 38, 0.14) !important;
    font-size: 0.9rem;
}

.cp-admin-posts__field--actions {
    justify-content: flex-end;
}

.cp-admin-posts__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 38px;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.cp-admin-posts__btn--primary {
    background: var(--cp-admin-green);
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(60, 182, 74, 0.25);
}

.cp-admin-posts__btn--primary:hover {
    background: #2a8f36;
    color: #fff !important;
    transform: translateY(-1px);
}

.cp-admin-posts__btn--ghost {
    background: #f4f7f5;
    color: var(--cp-admin-forest) !important;
    border-color: var(--cp-admin-line);
}

.cp-admin-posts__btn--ghost:hover {
    background: #e8f1ea;
}

.cp-admin-posts__btn--danger {
    background: #fff1f0;
    color: #c0392b !important;
    border-color: rgba(192, 57, 43, 0.2);
}

.cp-admin-posts__btn--danger:hover {
    background: #ffe4e1;
}

.cp-admin-posts__btn--warn {
    background: #fff8e8;
    
    border-color: rgba(183, 121, 31, 0.25);
    color: #b7791f !important;
}

.cp-admin-posts__list {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.cp-admin-post-card {
    display: grid;
    grid-template-columns: 148px minmax(0, 1fr);
    gap: 1rem;
    padding: 0.9rem;
    border-radius: 16px;
    background: #fff;
    border: 1px solid var(--cp-admin-line);
    box-shadow: 0 10px 28px rgba(20, 53, 38, 0.05);
}

.cp-admin-post-card__media {
    overflow: hidden;
    border-radius: 12px;
    background: #eef3ef;
    aspect-ratio: 4 / 3;
}

.cp-admin-post-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cp-admin-post-card__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: rgba(20, 53, 38, 0.28);
    font-size: 1.75rem;
}

.cp-admin-post-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.45rem;
}

.cp-admin-post-card__code {
    font-size: 0.75rem;
    font-weight: 650;
    color: var(--cp-admin-forest);
    background: #eef6ef;
    border-radius: 999px;
    padding: 0.22rem 0.65rem;
}

.cp-admin-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    background: #f3f5f4;
    color: var(--cp-admin-muted);
}

.cp-admin-chip--green { background: #e7f7ea; color: #1f7a2f; }
.cp-admin-chip--blue { background: #e8f1ff; color: #2b5bb0; }
.cp-admin-chip--type.is-sell { background: #e7f7ea; color: #1f7a2f; }
.cp-admin-chip--type.is-rent { background: #e8f1ff; color: #2b5bb0; }
.cp-admin-chip--type.is-holiday { background: #fff4e5; color: #b7791f; }

.cp-admin-post-card__heading {
    margin: 0 0 0.45rem;
    font-size: 1.05rem;
    font-weight: 650;
    color: var(--cp-admin-forest);
    line-height: 1.35;
}

.cp-admin-post-card__owner {
    margin: 0 0 0.85rem;
    font-size: 0.86rem;
    color: var(--cp-admin-muted);
}

.cp-admin-post-card__owner i {
    margin-right: 0.25rem;
    opacity: 0.75;
}

.cp-admin-post-card__date {
    margin-left: 0.85rem;
}

.cp-admin-post-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.cp-admin-posts__empty {
    padding: 3rem 1.5rem;
    text-align: center;
    border-radius: 16px;
    background: #fff;
    border: 1px dashed var(--cp-admin-line);
    color: var(--cp-admin-muted);
}

.cp-admin-posts__empty i {
    font-size: 2rem;
    color: var(--cp-admin-green);
    margin-bottom: 0.75rem;
}

.cp-admin-posts__empty h3 {
    margin: 0 0 0.35rem;
    color: var(--cp-admin-forest);
    font-size: 1.15rem;
}

.cp-admin-posts__pager {
    margin-top: 1.25rem;
    display: flex;
    justify-content: flex-end;
}

@media (max-width: 991.98px) {
    .cp-admin-posts__filters-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767.98px) {
    .cp-admin-posts__hero {
        flex-direction: column;
        align-items: stretch;
    }

    .cp-admin-posts__filters-grid {
        grid-template-columns: 1fr;
    }

    .cp-admin-post-card {
        grid-template-columns: 1fr;
    }

    .cp-admin-post-card__media {
        max-height: 180px;
    }
}

/* ==========================================================================
   Property Doctor — public landing / listing
   ========================================================================== */

.pd-page {
    font-family: 'Poppins', sans-serif;
    color: var(--cp-ink, #143526);
    background: var(--cp-mist, #f3f7f4);
}

.pd-page__main {
    padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

/* Hero */
.pd-hero {
    position: relative;
    padding: clamp(2.25rem, 5vw, 3.75rem) 0 clamp(1.75rem, 4vw, 2.75rem);
    margin-bottom: 0;
    overflow: hidden;
    background:
        radial-gradient(900px 420px at 12% 0%, rgba(60, 182, 74, 0.18), transparent 55%),
        radial-gradient(720px 380px at 96% 18%, rgba(20, 53, 38, 0.1), transparent 52%),
        linear-gradient(165deg, #1a3d2a 0%, #1f6b2a 42%, #2a8f36 100%);
    color: #fff;
}

.pd-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.55), transparent 85%);
    pointer-events: none;
}

.pd-hero .container {
    position: relative;
    z-index: 1;
}

.pd-hero__alert {
    margin-bottom: 1.25rem;
}

.pd-hero__copy {
    text-align: center;
    max-width: 40rem;
    margin: 0 auto 1.5rem;
}

.pd-hero__title {
    margin: 0 0 0.45rem;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(2rem, 4.5vw, 2.85rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: #fff;
}

.pd-hero__subtitle {
    margin: 0 0 1.1rem;
    font-size: clamp(0.98rem, 2vw, 1.1rem);
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.92);
}

.pd-hero__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.5rem;
    padding: 0.45rem 1.15rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    background: rgba(255, 255, 255, 0.1);
    color: #fff !important;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: transform 0.2s var(--cp-ease, ease), background 0.2s var(--cp-ease, ease), border-color 0.2s var(--cp-ease, ease);
}

.pd-hero__cta:hover,
.pd-hero__cta:focus {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.7);
    color: #fff !important;
}

/* Search panel */
.pd-search {
    max-width: 920px;
    margin: 0 auto;
    padding: clamp(1rem, 2.5vw, 1.35rem);
    border-radius: var(--cp-radius-lg, 22px);
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.65);
    box-shadow: 0 18px 48px rgba(10, 30, 18, 0.22);
    backdrop-filter: blur(8px);
}

.pd-search__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.85rem;
    align-items: end;
}

@media (min-width: 768px) {
    .pd-search__grid {
        grid-template-columns: 1fr 1fr auto;
        gap: 1rem;
    }
}

.pd-search__label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--cp-muted, #5a6f63);
}

.pd-search__control,
.pd-search .select2-container--default .select2-selection--single {
    min-height: 48px !important;
    height: 48px !important;
    border-radius: var(--cp-radius-sm, 10px) !important;
    border: 1px solid var(--cp-line, rgba(20, 53, 38, 0.12)) !important;
    background: #fff !important;
    font-family: 'Poppins', sans-serif;
}

.pd-search .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 46px !important;
    padding-left: 0.85rem;
    color: var(--cp-forest, #143526);
}

.pd-search .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 46px !important;
}

.pd-search .select2-container--default.select2-container--focus .select2-selection--single,
.pd-search__control:focus {
    border-color: var(--cp-green, #3cb64a) !important;
    box-shadow: 0 0 0 3px rgba(60, 182, 74, 0.15);
    outline: none;
}

.pd-search__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    width: 100%;
    min-height: 48px;
    padding: 0.65rem 1.35rem;
    border: none;
    border-radius: var(--cp-radius-sm, 10px);
    background: linear-gradient(145deg, var(--cp-green, #3cb64a), var(--cp-green-dark, #2a8f36));
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(60, 182, 74, 0.28);
    transition: transform 0.2s var(--cp-ease, ease), box-shadow 0.2s var(--cp-ease, ease);
}

.pd-search__btn:hover,
.pd-search__btn:focus {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(60, 182, 74, 0.34);
    color: #fff;
}

@media (min-width: 768px) {
    .pd-search__btn {
        min-width: 8.5rem;
    }
}

/* Sections */
.pd-categories,
.pd-results {
    padding-top: clamp(2rem, 4vw, 3rem);
}

.pd-section-head {
    text-align: center;
    margin-bottom: 1.5rem;
}

.pd-section-head--left {
    text-align: left;
}

.pd-section-head__title {
    margin: 0 0 0.35rem;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.35rem, 2.5vw, 1.65rem);
    font-weight: 700;
    color: var(--cp-forest, #143526);
}

.pd-section-head__text {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--cp-muted, #5a6f63);
}

/* Category grid */
.pd-category-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin: 0;
    padding: 0;
}

@media (min-width: 576px) {
    .pd-category-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {
    .pd-category-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 1.15rem;
    }
}

.pd-category-grid__empty {
    grid-column: 1 / -1;
    text-align: center;
    color: var(--cp-muted, #5a6f63);
    padding: 2rem 1rem;
}

.pd-category-tile {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border-radius: var(--cp-radius, 14px);
    background: #fff;
    border: 1px solid var(--cp-line, rgba(20, 53, 38, 0.12));
    box-shadow: var(--cp-shadow-sm, 0 4px 14px rgba(20, 53, 38, 0.06));
    text-decoration: none !important;
    color: inherit;
    transition: transform 0.22s var(--cp-ease, ease), box-shadow 0.22s var(--cp-ease, ease), border-color 0.22s var(--cp-ease, ease);
}

.pd-category-tile:hover,
.pd-category-tile:focus {
    transform: translateY(-3px);
    border-color: rgba(60, 182, 74, 0.45);
    box-shadow: var(--cp-shadow, 0 12px 32px rgba(20, 53, 38, 0.08));
    color: inherit;
    text-decoration: none !important;
}

.pd-category-tile__media {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 150px;
    padding: 1.1rem;
    background: linear-gradient(180deg, var(--cp-mist-2, #e8f1ea) 0%, #fff 100%);
}

.pd-category-tile__media img {
    max-width: 100%;
    max-height: 120px;
    width: auto;
    height: auto;
    object-fit: contain;
}

@media (min-width: 768px) {
    .pd-category-tile__media {
        min-height: 180px;
    }

    .pd-category-tile__media img {
        max-height: 148px;
    }
}

@media (min-width: 1200px) {
    .pd-category-tile__media {
        min-height: 200px;
    }

    .pd-category-tile__media img {
        max-height: 168px;
    }
}

.pd-category-tile__body {
    padding: 0.85rem 1rem 1.05rem;
    border-top: 1px solid var(--cp-line, rgba(20, 53, 38, 0.08));
    text-align: center;
}

.pd-category-tile__name {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--cp-forest, #143526);
    word-break: break-word;
}

@media (min-width: 768px) {
    .pd-category-tile__name {
        font-size: 1rem;
    }
}

/* Results */
.pd-results__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.15rem;
}

@media (min-width: 576px) {
    .pd-results__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {
    .pd-results__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.pd-results__pager {
    margin-top: 1.75rem;
    text-align: center;
}

.pd-results__pager .page-item.active .page-link {
    color: #fff;
    background-color: var(--cp-green, #3cb64a);
    border-color: var(--cp-green, #3cb64a);
}

.pd-results__pager .page-link {
    color: var(--cp-green, #3cb64a);
}

.pd-results__empty {
    padding: 2rem 1.25rem;
    text-align: center;
    border-radius: var(--cp-radius, 14px);
    background: #fff;
    border: 1px solid var(--cp-line, rgba(20, 53, 38, 0.12));
}

.pd-results__empty p {
    margin: 0 0 0.75rem;
    color: var(--cp-muted, #5a6f63);
}

.pd-results__empty-link {
    display: inline-flex;
    font-weight: 600;
    color: var(--cp-green-dark, #2a8f36) !important;
    text-decoration: underline;
}

/* Provider card */
.pd-provider-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border-radius: var(--cp-radius, 14px);
    background: #fff;
    border: 1px solid var(--cp-line, rgba(20, 53, 38, 0.12));
    box-shadow: var(--cp-shadow-sm, 0 4px 14px rgba(20, 53, 38, 0.06));
    transition: transform 0.22s var(--cp-ease, ease), box-shadow 0.22s var(--cp-ease, ease);
}

.pd-provider-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--cp-shadow, 0 12px 32px rgba(20, 53, 38, 0.08));
}

.pd-provider-card__media {
    overflow: hidden;
    background: var(--cp-mist-2, #e8f1ea);
}

.pd-provider-card__img {
    display: block;
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.pd-provider-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 1rem 1.05rem 1.1rem;
}

.pd-provider-card__title {
    margin: 0 0 0.55rem;
    font-family: 'Poppins', sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--cp-forest, #143526);
}

.pd-provider-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.55rem;
}

.pd-provider-card__badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: rgba(60, 182, 74, 0.12);
    color: var(--cp-green-deep, #1f6b2a);
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.3;
}

.pd-provider-card__badge--muted {
    background: rgba(20, 53, 38, 0.08);
    color: var(--cp-muted, #5a6f63);
}

.pd-provider-card__city {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0 0 1rem;
    font-size: 0.88rem;
    color: var(--cp-muted, #5a6f63);
}

.pd-provider-card__city .fa {
    color: var(--cp-green, #3cb64a);
}

.pd-provider-card__actions {
    margin-top: auto;
}

.pd-provider-card__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    width: 100%;
    min-height: 2.55rem;
    padding: 0.55rem 0.9rem;
    border: none;
    border-radius: var(--cp-radius-sm, 10px);
    background: linear-gradient(145deg, var(--cp-green, #3cb64a), var(--cp-green-dark, #2a8f36));
    color: #fff !important;
    font-family: 'Poppins', sans-serif;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none !important;
    box-shadow: 0 6px 16px rgba(60, 182, 74, 0.22);
    transition: transform 0.2s var(--cp-ease, ease), box-shadow 0.2s var(--cp-ease, ease);
}

.pd-provider-card__btn:hover,
.pd-provider-card__btn:focus {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(60, 182, 74, 0.3);
    color: #fff !important;
    text-decoration: none !important;
}

.pd-provider-card__btn--disabled,
.pd-provider-card__btn:disabled {
    background: #c5cec8;
    box-shadow: none;
    cursor: not-allowed;
    transform: none;
}

@media (max-width: 575.98px) {
    .pd-hero {
        padding-top: 1.75rem;
    }

    .pd-category-tile__media {
        min-height: 180px;
    }

    .pd-category-tile__media img {
        max-height: 140px;
    }
}

/* ==========================================================================
   Property Doctor — registration
   ========================================================================== */

.pd-reg-page {
    font-family: 'Poppins', sans-serif;
    color: var(--cp-ink, #143526);
    background: var(--cp-mist, #f3f7f4);
    min-height: 100vh;
}

.pd-reg-page .limiter,
.pd-reg-page .container-login100 {
    display: none !important;
}

.pd-reg {
    position: relative;
    min-height: 100vh;
    padding: clamp(1.25rem, 3vw, 2.5rem);
}

.pd-reg__bg {
    position: fixed;
    inset: 0;
    z-index: 0;
    background:
        radial-gradient(900px 480px at 8% 0%, rgba(60, 182, 74, 0.16), transparent 55%),
        radial-gradient(700px 420px at 100% 10%, rgba(20, 53, 38, 0.1), transparent 50%),
        linear-gradient(165deg, #f3f7f4 0%, #e8f1ea 48%, #dfeae3 100%);
}

.pd-reg__shell {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    max-width: 1080px;
    margin: 0 auto;
}

@media (min-width: 992px) {
    .pd-reg__shell {
        grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.25fr);
        gap: 1.5rem;
        align-items: start;
    }
}

.pd-reg__aside {
    padding: clamp(1.5rem, 3vw, 2.25rem);
    border-radius: var(--cp-radius-lg, 22px);
    background:
        radial-gradient(500px 280px at 20% 0%, rgba(60, 182, 74, 0.22), transparent 55%),
        linear-gradient(165deg, #1a3d2a 0%, #1f6b2a 48%, #2a8f36 100%);
    color: #fff;
    box-shadow: 0 18px 48px rgba(20, 53, 38, 0.18);
}

@media (min-width: 992px) {
    .pd-reg__aside {
        position: sticky;
        top: 1.25rem;
        min-height: calc(100vh - 2.5rem);
        display: flex;
        flex-direction: column;
    }
}

.pd-reg__brand {
    display: inline-flex;
    margin-bottom: 1.5rem;
}

.pd-reg__brand img {
    max-height: 32px;
    width: auto;
    filter: brightness(0) invert(1);
}

.pd-reg__eyebrow {
    margin: 0 0 0.45rem;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.75);
}

.pd-reg__aside-title {
    margin: 0 0 0.75rem;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.55rem, 2.8vw, 2rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #fff;
}

.pd-reg__aside-text {
    margin: 0 0 1.25rem;
    font-size: 0.98rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.9);
}

.pd-reg__perks {
    margin: 0 0 1.5rem;
    padding: 0;
    list-style: none;
}

.pd-reg__perks li {
    position: relative;
    padding: 0.45rem 0 0.45rem 1.45rem;
    font-size: 0.92rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.92);
}

.pd-reg__perks li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.85rem;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2);
}

.pd-reg__aside-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: auto;
    color: #fff !important;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none !important;
    opacity: 0.92;
    transition: opacity 0.2s var(--cp-ease, ease), transform 0.2s var(--cp-ease, ease);
}

.pd-reg__aside-link:hover,
.pd-reg__aside-link:focus {
    opacity: 1;
    transform: translateX(-2px);
    color: #fff !important;
}

.pd-reg__panel {
    padding: clamp(1.35rem, 3vw, 2rem);
    border-radius: var(--cp-radius-lg, 22px);
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid var(--cp-line, rgba(20, 53, 38, 0.12));
    box-shadow: 0 18px 48px rgba(20, 53, 38, 0.08);
}

.pd-reg__panel-head {
    margin-bottom: 1.35rem;
}

.pd-reg__panel-title {
    margin: 0 0 0.4rem;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.3rem, 2.4vw, 1.55rem);
    font-weight: 700;
    color: var(--cp-forest, #143526);
}

.pd-reg__panel-text {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--cp-muted, #5a6f63);
}

.pd-reg__alert {
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    border-radius: var(--cp-radius-sm, 10px);
    font-size: 0.9rem;
    line-height: 1.45;
}

.pd-reg__alert--error {
    background: rgba(192, 57, 43, 0.08);
    border: 1px solid rgba(192, 57, 43, 0.22);
    color: var(--cp-danger, #c0392b);
}

.pd-reg__alert--warning {
    background: rgba(214, 158, 46, 0.12);
    border: 1px solid rgba(214, 158, 46, 0.28);
    color: #8a6412;
}

.pd-reg__section {
    margin: 0 0 1.35rem;
    padding: 0 0 1.25rem;
    border: 0;
    border-bottom: 1px solid var(--cp-line, rgba(20, 53, 38, 0.1));
    min-width: 0;
}

.pd-reg__section:last-of-type {
    border-bottom: 0;
    padding-bottom: 0.25rem;
}

.pd-reg__section-title {
    display: block;
    width: 100%;
    margin: 0 0 0.25rem;
    padding: 0;
    float: none;
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: var(--cp-forest, #143526);
}

.pd-reg__section-hint {
    margin: 0 0 1rem;
    font-size: 0.85rem;
    color: var(--cp-muted, #5a6f63);
}

.pd-reg__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.9rem;
}

@media (min-width: 640px) {
    .pd-reg__row {
        grid-template-columns: 1fr 1fr;
    }
}

.pd-reg__field {
    margin-bottom: 0.9rem;
}

.pd-reg__field:last-child {
    margin-bottom: 0;
}

.pd-reg__label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--cp-forest-soft, #1e4634);
}

.pd-reg__req {
    color: var(--cp-green-dark, #2a8f36);
}

.pd-reg__optional {
    font-weight: 500;
    color: var(--cp-muted, #5a6f63);
}

.pd-reg__input,
.pd-reg__select,
.pd-reg__textarea {
    display: block;
    width: 100%;
    min-height: 48px;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--cp-line, rgba(20, 53, 38, 0.14));
    border-radius: var(--cp-radius-sm, 10px);
    background: #fff;
    color: var(--cp-forest, #143526);
    font-family: 'Poppins', sans-serif;
    font-size: 0.95rem;
    line-height: 1.4;
    transition: border-color 0.2s var(--cp-ease, ease), box-shadow 0.2s var(--cp-ease, ease);
}

.pd-reg__textarea {
    min-height: 120px;
    resize: vertical;
}

.pd-reg__input:focus,
.pd-reg__select:focus,
.pd-reg__textarea:focus {
    outline: none;
    border-color: var(--cp-green, #3cb64a);
    box-shadow: 0 0 0 3px rgba(60, 182, 74, 0.15);
}

.pd-reg__field.is-invalid .pd-reg__input,
.pd-reg__field.is-invalid .pd-reg__select,
.pd-reg__field.is-invalid .pd-reg__textarea {
    border-color: rgba(192, 57, 43, 0.55);
}

.pd-reg__select-wrap {
    position: relative;
}

.pd-reg__select {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 2.4rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%215a6f63' d='M1.4.6L6 5.2 10.6.6 12 2 6 8 0 2z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.95rem center;
    background-size: 12px 8px;
    cursor: pointer;
}

.pd-reg__help {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.78rem;
    color: var(--cp-muted, #5a6f63);
}

.pd-reg__error {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--cp-danger, #c0392b);
}

.pd-reg__field-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.35rem;
}

.pd-reg__field-meta .pd-reg__help {
    margin-top: 0;
}

.pd-reg__counter {
    font-size: 0.78rem;
    color: var(--cp-muted, #5a6f63);
    white-space: nowrap;
}

.pd-reg__field--phone .iti {
    width: 100%;
}

.pd-reg__field--phone .iti__flag-container {
    border-radius: var(--cp-radius-sm, 10px) 0 0 var(--cp-radius-sm, 10px);
}

.pd-reg__field--phone .iti input.pd-reg__input,
.pd-reg__field--phone input.phone {
    width: 100%;
    padding-left: 92px !important;
}

.pd-reg__actions {
    margin-top: 0.5rem;
    padding-top: 0.25rem;
}

.pd-reg__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 52px;
    padding: 0.75rem 1.25rem;
    border: none;
    border-radius: var(--cp-radius-sm, 10px);
    background: linear-gradient(145deg, var(--cp-green, #3cb64a), var(--cp-green-dark, #2a8f36));
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    font-weight: 650;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(60, 182, 74, 0.28);
    transition: transform 0.2s var(--cp-ease, ease), box-shadow 0.2s var(--cp-ease, ease);
}

.pd-reg__submit:hover,
.pd-reg__submit:focus {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(60, 182, 74, 0.34);
    color: #fff;
}

.pd-reg__foot {
    margin: 1rem 0 0;
    text-align: center;
    font-size: 0.9rem;
    color: var(--cp-muted, #5a6f63);
}

.pd-reg__foot a {
    color: var(--cp-green-dark, #2a8f36) !important;
    font-weight: 600;
    text-decoration: none !important;
}

.pd-reg__foot a:hover,
.pd-reg__foot a:focus {
    text-decoration: underline !important;
}

.pd-reg__foot-sep {
    margin: 0 0.45rem;
    opacity: 0.5;
}

@media (max-width: 575.98px) {
    .pd-reg {
        padding: 0.85rem;
    }

    .pd-reg__aside,
    .pd-reg__panel {
        border-radius: 18px;
    }
}

