/*
 * Market My Place — UI Overrides
 * Modernises the Essential Real Estate plugin front-end without
 * touching core plugin files. Safe to update the base plugin.
 *
 * @since 1.4.0
 */

/* ============================================================
   Keyframe Animations
   ============================================================ */
@keyframes mmpFadeUp {
    from { opacity:0; transform:translateY(18px); }
    to   { opacity:1; transform:translateY(0); }
}
@keyframes mmpFadeIn {
    from { opacity:0; }
    to   { opacity:1; }
}
@keyframes mmpSlideDown {
    from { opacity:0; transform:translateY(-12px); }
    to   { opacity:1; transform:translateY(0); }
}
@keyframes mmpPulse {
    0%,100% { box-shadow: 0 4px 18px rgba(46,204,113,0.35); }
    50%      { box-shadow: 0 4px 28px rgba(46,204,113,0.6); }
}
@keyframes mmpShimmer {
    0%   { background-position: -200% center; }
    100% { background-position:  200% center; }
}

/* ============================================================
   MMP T&C advisory text on checkout
   (T&C is collected at registration; checkout shows a link only)
   ============================================================ */
.mmp-tc-link {
    background: #f8fafc;
    border-left: 3px solid #cbd5e0;
    padding: 10px 14px;
    border-radius: 0 6px 6px 0;
}
.mmp-tc-link a { color: #2c7be5; }

/* ============================================================
   CSS Variables — Brand Colours
   ============================================================ */
:root {
    --mmp-green:        #2ecc71;
    --mmp-green-dark:   #27ae60;
    --mmp-blue:         #2c7be5;
    --mmp-blue-dark:    #1a5fba;
    --mmp-orange:       #e67e22;
    --mmp-heading:      #1a202c;
    --mmp-text:         #2d3748;
    --mmp-text-light:   #718096;
    --mmp-border:       #e2e8f0;
    --mmp-bg:           #f8fafc;
    --mmp-card-shadow:  0 2px 12px rgba(0,0,0,0.08), 0 1px 3px rgba(0,0,0,0.05);
    --mmp-card-hover:   0 8px 30px rgba(0,0,0,0.14), 0 2px 8px rgba(0,0,0,0.07);
    --mmp-radius:       10px;
    --mmp-radius-sm:    6px;
}

/* ============================================================
   Pay Now / Submit Buttons — make them prominent
   ============================================================ */
#ere_payment_listing,
#ere_payment_package,
#ere_free_package,
.btn-submit,
.ere-payment-wrap .btn-success,
.payment-wrap .btn-success {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 220px !important;
    padding: 16px 36px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    background: linear-gradient(135deg, var(--mmp-green) 0%, var(--mmp-green-dark) 100%) !important;
    border: none !important;
    border-radius: 50px !important;
    color: #fff !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 18px rgba(46,204,113,0.35), 0 2px 6px rgba(0,0,0,0.1) !important;
    margin-top: 20px !important;
    text-transform: uppercase !important;
}

#ere_payment_listing:hover,
#ere_payment_package:hover,
#ere_free_package:hover,
.btn-submit:hover,
.ere-payment-wrap .btn-success:hover {
    background: linear-gradient(135deg, #36d179 0%, var(--mmp-green-dark) 100%) !important;
    box-shadow: 0 6px 24px rgba(46,204,113,0.5), 0 3px 8px rgba(0,0,0,0.12) !important;
    transform: translateY(-2px) !important;
}

#ere_payment_listing:active,
#ere_payment_package:active,
.btn-submit:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 10px rgba(46,204,113,0.3) !important;
}

/* ============================================================
   Package Cards — modern elevated design
   ============================================================ */
.ere-package-wrap .ere-package-item,
.ere-card {
    border: 1px solid var(--mmp-border) !important;
    border-radius: var(--mmp-radius) !important;
    box-shadow: var(--mmp-card-shadow) !important;
    transition: box-shadow 0.25s, transform 0.25s !important;
    overflow: hidden !important;
    background: #fff !important;
}

.ere-package-wrap .ere-package-item:hover,
.ere-card:hover {
    box-shadow: var(--mmp-card-hover) !important;
    transform: translateY(-4px) !important;
}

/* Active / featured package */
.ere-package-wrap .ere-package-item.active,
.ere-card.active {
    border: 2px solid var(--mmp-blue) !important;
    box-shadow: 0 4px 24px rgba(44,123,229,0.18) !important;
}

.ere-package-item .card-header {
    background: linear-gradient(135deg, #2c7be5 0%, #1a5fba 100%) !important;
    color: #fff !important;
    padding: 16px 20px !important;
    border-bottom: none !important;
}

.ere-package-item.active .card-header {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
}

.ere-package-item .card-title {
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    margin: 0 !important;
    letter-spacing: 0.3px !important;
}

.ere-package-price {
    font-size: 2.4em !important;
    font-weight: 800 !important;
    color: var(--mmp-text) !important;
    margin: 8px 0 4px !important;
    line-height: 1.1 !important;
}

.ere-package-item .list-group-item {
    border-color: var(--mmp-border) !important;
    font-size: 14px !important;
    padding: 12px 20px !important;
    color: var(--mmp-text) !important;
}

.ere-package-item .badge {
    background: var(--mmp-bg) !important;
    color: var(--mmp-text) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    padding: 4px 10px !important;
    border-radius: 20px !important;
    border: 1px solid var(--mmp-border) !important;
}

.ere-package-choose {
    padding: 16px 20px !important;
}

.ere-package-choose .btn-primary {
    padding: 10px 30px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: 50px !important;
    background: linear-gradient(135deg, var(--mmp-blue) 0%, var(--mmp-blue-dark) 100%) !important;
    border: none !important;
    box-shadow: 0 3px 10px rgba(44,123,229,0.3) !important;
    transition: all 0.2s !important;
}

.ere-package-choose .btn-primary:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 16px rgba(44,123,229,0.4) !important;
}

/* ============================================================
   Payment Method Selection — cleaner radio buttons
   ============================================================ */
.ere-payment-method-wrap {
    background: var(--mmp-bg) !important;
    border: 1px solid var(--mmp-border) !important;
    border-radius: var(--mmp-radius) !important;
    padding: 20px 24px !important;
    margin-bottom: 20px !important;
}

.ere-payment-method-wrap .ere-heading h2 {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--mmp-text) !important;
    margin: 0 0 14px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid var(--mmp-border) !important;
}

.ere-payment-method-wrap .radio {
    background: #fff !important;
    border: 2px solid var(--mmp-border) !important;
    border-radius: var(--mmp-radius-sm) !important;
    padding: 12px 16px !important;
    margin-bottom: 8px !important;
    transition: border-color 0.2s, background 0.2s !important;
    cursor: pointer !important;
}

.ere-payment-method-wrap .radio:hover {
    border-color: var(--mmp-blue) !important;
    background: #f0f7ff !important;
}

.ere-payment-method-wrap .radio label {
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--mmp-text) !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
}

.ere-payment-method-wrap .fa-paypal { color: #003087; font-size: 18px !important; }
.ere-payment-method-wrap .fa-credit-card { color: var(--mmp-blue); font-size: 18px !important; }
.ere-payment-method-wrap .fa-send-o { color: var(--mmp-orange); font-size: 18px !important; }

/* Per-listing option list */
.ere-payment-for .list-group-item {
    border-radius: var(--mmp-radius-sm) !important;
    margin-bottom: 6px !important;
    border: 2px solid var(--mmp-border) !important;
    padding: 14px 16px !important;
    transition: border-color 0.2s !important;
}

.ere-payment-for .list-group-item:hover {
    border-color: var(--mmp-blue) !important;
}

/* ============================================================
   Terms & Conditions link area
   ============================================================ */
.terms-conditions {
    background: #fffbeb !important;
    border: 1px solid #f59e0b !important;
    border-radius: var(--mmp-radius-sm) !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
    color: #92400e !important;
    margin: 16px 0 12px !important;
}

/* ============================================================
   Package Selection Heading
   ============================================================ */
.ere-package-wrap .ere-heading {
    text-align: center !important;
    margin-bottom: 30px !important;
}

.ere-package-wrap .ere-heading h2 {
    font-size: 28px !important;
    font-weight: 800 !important;
    color: var(--mmp-text) !important;
    margin-bottom: 8px !important;
}

.ere-package-wrap .ere-heading p {
    font-size: 16px !important;
    color: var(--mmp-text-light) !important;
}

/* ============================================================
   Add-Ons Section (MMP custom)
   ============================================================ */
.mmp-addons-section,
.mmp-discount-section {
    background: var(--mmp-bg) !important;
    border: 1px solid var(--mmp-border) !important;
    border-radius: var(--mmp-radius) !important;
    padding: 24px !important;
    margin-bottom: 24px !important;
}

.mmp-section-heading h3 {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--mmp-text) !important;
    margin: 0 0 6px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.mmp-section-heading p {
    font-size: 13px !important;
    color: var(--mmp-text-light) !important;
    margin: 0 0 16px !important;
}

/* Add-on cards grid */
.mmp-addons-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
    gap: 12px !important;
    margin-bottom: 14px !important;
}

.mmp-addon-card {
    display: block !important;
    cursor: pointer !important;
    user-select: none !important;
}

.mmp-addon-card input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

.mmp-addon-card-inner {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: #fff !important;
    border: 2px solid var(--mmp-border) !important;
    border-radius: var(--mmp-radius-sm) !important;
    padding: 14px 16px !important;
    transition: all 0.2s !important;
}

.mmp-addon-card:hover .mmp-addon-card-inner,
.mmp-addon-card.selected .mmp-addon-card-inner {
    border-color: var(--mmp-green) !important;
    background: #f0faf5 !important;
}

.mmp-addon-card.selected .mmp-addon-card-inner {
    box-shadow: 0 0 0 3px rgba(46,204,113,0.15) !important;
}

.mmp-addon-icon {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: #e8f5e9 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    font-size: 16px !important;
    color: var(--mmp-green-dark) !important;
    transition: background 0.2s !important;
}

.mmp-addon-card.selected .mmp-addon-icon {
    background: var(--mmp-green) !important;
    color: #fff !important;
}

.mmp-addon-info {
    flex: 1 !important;
    min-width: 0 !important;
}

.mmp-addon-title {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--mmp-text) !important;
    line-height: 1.3 !important;
}

.mmp-addon-desc {
    font-size: 12px !important;
    color: var(--mmp-text-light) !important;
    margin-top: 2px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.mmp-addon-price {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--mmp-green-dark) !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

.mmp-addons-total {
    font-size: 14px !important;
    color: var(--mmp-text-light) !important;
    padding-top: 8px !important;
    border-top: 1px solid var(--mmp-border) !important;
    margin-top: 4px !important;
}

.mmp-addons-total strong {
    color: var(--mmp-green-dark) !important;
}

/* ============================================================
   Discount Code Section
   ============================================================ */
.mmp-discount-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.mmp-discount-input-wrap {
    display: flex !important;
    gap: 8px !important;
    max-width: 480px !important;
}

.mmp-discount-input-wrap input[type="text"] {
    flex: 1 !important;
    padding: 11px 16px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    border: 2px solid var(--mmp-border) !important;
    border-radius: var(--mmp-radius-sm) !important;
    outline: none !important;
    transition: border-color 0.2s !important;
    font-family: monospace !important;
    text-transform: uppercase !important;
    background: #fff !important;
    color: var(--mmp-text) !important;
}

.mmp-discount-input-wrap input[type="text"]:focus {
    border-color: var(--mmp-blue) !important;
    box-shadow: 0 0 0 3px rgba(44,123,229,0.12) !important;
}

.mmp-discount-input-wrap input[readonly] {
    background: #f0faf5 !important;
    border-color: var(--mmp-green) !important;
    color: var(--mmp-green-dark) !important;
}

.mmp-discount-input-wrap .btn-default {
    padding: 10px 22px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: var(--mmp-radius-sm) !important;
    background: var(--mmp-text) !important;
    color: #fff !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    white-space: nowrap !important;
}

.mmp-discount-input-wrap .btn-default:hover {
    background: #1a202c !important;
}

.mmp-discount-message {
    font-size: 13px !important;
    padding: 4px 0 !important;
    font-weight: 500 !important;
}

.mmp-discount-message.success { color: var(--mmp-green-dark) !important; }
.mmp-discount-message.error   { color: #e53e3e !important; }

/* ============================================================
   Order Summary Panel
   ============================================================ */
.mmp-order-summary {
    margin: 16px 0 !important;
}

.mmp-order-summary-inner {
    background: var(--mmp-bg) !important;
    border: 1px solid var(--mmp-border) !important;
    border-radius: var(--mmp-radius) !important;
    overflow: hidden !important;
}

.mmp-summary-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 11px 18px !important;
    font-size: 14px !important;
    border-bottom: 1px solid var(--mmp-border) !important;
    color: var(--mmp-text) !important;
}

.mmp-summary-row:last-child {
    border-bottom: none !important;
}

.mmp-summary-discount span:first-child {
    color: var(--mmp-green-dark) !important;
}

.mmp-summary-discount span:last-child {
    color: var(--mmp-green-dark) !important;
    font-weight: 600 !important;
}

.mmp-summary-addon span:first-child {
    color: var(--mmp-orange) !important;
    font-style: italic !important;
}

.mmp-summary-total {
    background: #fff !important;
    padding: 14px 18px !important;
}

.mmp-summary-total strong {
    font-size: 17px !important;
    color: var(--mmp-text) !important;
}

/* ============================================================
   Account / Login / Register Forms
   ============================================================ */
.ere__account-login-wrap .form-control,
.ere-register-wrap .form-control {
    border-radius: var(--mmp-radius-sm) !important;
    border: 2px solid var(--mmp-border) !important;
    padding: 11px 14px !important;
    font-size: 15px !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

.ere__account-login-wrap .form-control:focus,
.ere-register-wrap .form-control:focus {
    border-color: var(--mmp-blue) !important;
    box-shadow: 0 0 0 3px rgba(44,123,229,0.12) !important;
    outline: none !important;
}

.ere__account-login-wrap .btn-primary,
.ere-register-wrap .btn-primary {
    padding: 12px 28px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-radius: 50px !important;
    background: linear-gradient(135deg, var(--mmp-blue) 0%, var(--mmp-blue-dark) 100%) !important;
    border: none !important;
    box-shadow: 0 4px 14px rgba(44,123,229,0.3) !important;
    transition: all 0.2s !important;
    width: 100% !important;
}

.ere__account-login-wrap .btn-primary:hover,
.ere-register-wrap .btn-primary:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(44,123,229,0.4) !important;
}

/* ============================================================
   Dashboard
   ============================================================ */
.ere-dashboard-wrap {
    background: var(--mmp-bg) !important;
    border-radius: var(--mmp-radius) !important;
}

.ere-dashboard-menu ul {
    background: #fff !important;
    border: 1px solid var(--mmp-border) !important;
    border-radius: var(--mmp-radius) !important;
    overflow: hidden !important;
    box-shadow: var(--mmp-card-shadow) !important;
}

.ere-dashboard-menu ul li a {
    padding: 13px 20px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--mmp-text) !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    transition: background 0.15s, color 0.15s !important;
    border-left: 3px solid transparent !important;
}

.ere-dashboard-menu ul li a:hover {
    background: var(--mmp-bg) !important;
    color: var(--mmp-blue) !important;
    border-left-color: var(--mmp-blue) !important;
}

.ere-dashboard-menu ul li.active > a,
.ere-dashboard-menu ul li.current-menu-item > a {
    background: #f0f7ff !important;
    color: var(--mmp-blue) !important;
    border-left-color: var(--mmp-blue) !important;
    font-weight: 700 !important;
}

/* ============================================================
   Property Submit Form Steps
   ============================================================ */
.ere-btn-step {
    border-radius: 50px !important;
    font-weight: 600 !important;
    padding: 9px 22px !important;
}

.ere-btn-step.active,
.ere-btn-step:hover {
    background: var(--mmp-blue) !important;
    color: #fff !important;
    border-color: var(--mmp-blue) !important;
}

/* ============================================================
   Alerts & Messages
   ============================================================ */
.ere-message.alert-success,
.alert-success {
    border-radius: var(--mmp-radius-sm) !important;
    border-left: 4px solid var(--mmp-green) !important;
    background: #f0faf5 !important;
    color: #1a6e3c !important;
}

.ere-message.alert-warning,
.alert-warning {
    border-radius: var(--mmp-radius-sm) !important;
    border-left: 4px solid #f59e0b !important;
    background: #fffbeb !important;
    color: #92400e !important;
}

.ere-message.alert-danger,
.alert-danger {
    border-radius: var(--mmp-radius-sm) !important;
    border-left: 4px solid #e53e3e !important;
    background: #fff5f5 !important;
    color: #9b2c2c !important;
}

/* ============================================================
   Property Loop Cards
   ============================================================ */
.ere-property-item {
    border-radius: var(--mmp-radius) !important;
    overflow: hidden !important;
    box-shadow: var(--mmp-card-shadow) !important;
    transition: box-shadow 0.25s, transform 0.25s !important;
}

.ere-property-item:hover {
    box-shadow: var(--mmp-card-hover) !important;
    transform: translateY(-3px) !important;
}

/* ============================================================
   Payment Completed Page
   ============================================================ */
.ere-payment-completed-wrap {
    text-align: center !important;
    padding: 40px 20px !important;
}

.ere-payment-completed-wrap .ere-heading h2 {
    font-size: 32px !important;
    font-weight: 800 !important;
    color: var(--mmp-green-dark) !important;
}

/* ============================================================
   General: headings within plugin
   ============================================================ */
.ere-heading h2 {
    font-weight: 800 !important;
    color: var(--mmp-text) !important;
}

/* ============================================================
   Package Features (What's Included) List
   ============================================================ */
.mmp-features-list {
    padding: 14px 20px !important;
    background: #f9fff9 !important;
    border-color: #d4edda !important;
}

.mmp-pkg-features {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mmp-pkg-features li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 4px 0 !important;
    font-size: 13px !important;
    color: var(--mmp-text) !important;
    line-height: 1.4 !important;
}

.mmp-check {
    color: var(--mmp-green) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    flex-shrink: 0 !important;
    margin-top: 1px !important;
}

/* Package optional services */
.mmp-services-list {
    padding: 14px 20px !important;
    background: #fffdf5 !important;
    border-color: #fdecc8 !important;
}

.mmp-services-heading {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--mmp-orange) !important;
    margin-bottom: 8px !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
}

.mmp-pkg-services {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mmp-pkg-services li {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 3px 0 !important;
    font-size: 12px !important;
    color: var(--mmp-text-light) !important;
}

.mmp-svc-name {
    flex: 1 !important;
}

.mmp-svc-price {
    font-weight: 600 !important;
    color: var(--mmp-green-dark) !important;
    font-size: 12px !important;
    white-space: nowrap !important;
    margin-left: 8px !important;
}

/* ============================================================
   Hide "For Rent" / Rental status badges & labels everywhere
   ============================================================ */
[class*="for-rent"],
[class*="for_rent"],
[class*="rented"],
.ere-status-for-rent {
    display: none !important;
}

/* ============================================================
   Payment Invoice Page — full redesign
   ============================================================ */
.single-invoice-wrap {
    max-width: 760px !important;
    margin: 32px auto !important;
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 32px rgba(0,0,0,0.10), 0 1px 6px rgba(0,0,0,0.06) !important;
    overflow: hidden !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    border: 1px solid var(--mmp-border) !important;
}

/* Header band */
.ere__single-invoice-header {
    background: linear-gradient(135deg, #1a3c5e 0%, #2c7be5 100%) !important;
    padding: 28px 36px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
}

.ere__single-invoice-header .home-page-info img {
    max-height: 52px !important;
    width: auto !important;
    filter: brightness(0) invert(1) !important; /* white logo on dark bg */
}

/* If no logo: show site name */
.ere__single-invoice-header .home-page-info:empty::after {
    content: 'Market My Place' !important;
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    letter-spacing: 0.3px !important;
}

.ere__single-invoice-header .invoice-info {
    text-align: right !important;
}

.ere__single-invoice-header .invoice-info p {
    margin: 3px 0 !important;
    font-size: 14px !important;
    color: rgba(255,255,255,0.85) !important;
}

.ere__single-invoice-header .invoice-info p span {
    font-weight: 700 !important;
    color: #fff !important;
    margin-right: 4px !important;
}

.ere__single-invoice-header .invoice-id span,
.ere__single-invoice-header .invoice-date span {
    opacity: 0.7 !important;
    font-weight: 400 !important;
}

/* Receipt badge */
.single-invoice-wrap::before {
    content: 'RECEIPT' !important;
    display: block !important;
    background: var(--mmp-green) !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 2px !important;
    padding: 6px 36px !important;
    text-align: center !important;
}

/* Parties section (To / From) */
.ere__single-invoice-agent {
    display: flex !important;
    gap: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid var(--mmp-border) !important;
}

.ere__single-invoice-agent .agent-main-info,
.ere__single-invoice-agent .agent-company-info {
    flex: 1 !important;
    padding: 24px 36px !important;
}

.ere__single-invoice-agent .agent-company-info {
    border-left: 1px solid var(--mmp-border) !important;
    background: var(--mmp-bg) !important;
}

.ere__single-invoice-agent p {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.2px !important;
    color: var(--mmp-text-light) !important;
    margin: 0 0 10px !important;
}

.ere__single-invoice-agent div {
    font-size: 14px !important;
    color: var(--mmp-text) !important;
    margin-bottom: 4px !important;
    display: flex !important;
    gap: 6px !important;
}

.ere__single-invoice-agent div span {
    font-weight: 600 !important;
    color: var(--mmp-text-light) !important;
    min-width: 80px !important;
    font-size: 13px !important;
}

/* Billing table */
.ere__single-invoice-billing {
    padding: 28px 36px !important;
}

.ere__single-invoice-billing table {
    width: 100% !important;
    border-collapse: collapse !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    border: 1px solid var(--mmp-border) !important;
    box-shadow: 0 1px 6px rgba(0,0,0,0.04) !important;
}

.ere__single-invoice-billing th,
.ere__single-invoice-billing td {
    padding: 14px 20px !important;
    text-align: left !important;
    font-size: 14px !important;
    color: var(--mmp-text) !important;
    border-bottom: 1px solid var(--mmp-border) !important;
}

.ere__single-invoice-billing tr:last-child th,
.ere__single-invoice-billing tr:last-child td {
    border-bottom: none !important;
}

.ere__single-invoice-billing th {
    background: var(--mmp-bg) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    color: var(--mmp-text-light) !important;
    width: 40% !important;
}

.ere__single-invoice-billing tr:last-child th {
    font-size: 16px !important;
    color: var(--mmp-text) !important;
}

.ere__single-invoice-billing tr:last-child td {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: var(--mmp-green-dark) !important;
}

.ere__single-invoice-billing tr:hover td,
.ere__single-invoice-billing tr:hover th {
    background: #fafbff !important;
}

/* Action buttons */
.ere__single-invoice-action {
    display: flex !important;
    gap: 12px !important;
    padding: 20px 36px !important;
    background: var(--mmp-bg) !important;
    border-top: 1px solid var(--mmp-border) !important;
    justify-content: flex-end !important;
}

.ere__single-invoice-action a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background: #fff !important;
    border: 2px solid var(--mmp-border) !important;
    color: var(--mmp-text-light) !important;
    font-size: 16px !important;
    transition: all 0.2s !important;
    text-decoration: none !important;
}

.ere__single-invoice-action a:hover {
    background: var(--mmp-blue) !important;
    border-color: var(--mmp-blue) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(44,123,229,0.3) !important;
}

/* Trust signal footer */
.single-invoice-wrap::after {
    content: '🔒  Secure Payment  •  Market My Place  •  New Zealand' !important;
    display: block !important;
    text-align: center !important;
    font-size: 11px !important;
    color: var(--mmp-text-light) !important;
    padding: 10px 20px 14px !important;
    background: var(--mmp-bg) !important;
    letter-spacing: 0.3px !important;
}

/* Responsive invoice */
@media (max-width: 600px) {
    .ere__single-invoice-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        padding: 20px 20px !important;
    }
    .ere__single-invoice-header .invoice-info {
        text-align: left !important;
    }
    .ere__single-invoice-agent {
        flex-direction: column !important;
    }
    .ere__single-invoice-agent .agent-company-info {
        border-left: none !important;
        border-top: 1px solid var(--mmp-border) !important;
    }
    .ere__single-invoice-agent .agent-main-info,
    .ere__single-invoice-agent .agent-company-info,
    .ere__single-invoice-billing {
        padding: 16px 20px !important;
    }
    .ere__single-invoice-action {
        padding: 16px 20px !important;
    }
}

/* ============================================================
   Responsive: stack add-ons grid on mobile
   ============================================================ */
@media (max-width: 600px) {
    .mmp-addons-grid {
        grid-template-columns: 1fr !important;
    }

    .mmp-discount-input-wrap {
        flex-direction: column !important;
    }

    #ere_payment_listing,
    #ere_payment_package,
    .btn-submit {
        width: 100% !important;
        min-width: unset !important;
    }
}

/* ============================================================
   Single Property Page — header price / location strip
   ============================================================ */
.ere__single-property-header-price-location {
    animation: mmpFadeUp 0.45s ease both !important;
    padding: 20px 0 16px !important;
    border-bottom: 2px solid var(--mmp-border) !important;
    margin-bottom: 24px !important;
}

/* Price display */
.ere__single-property-price {
    font-size: 2rem !important;
    font-weight: 900 !important;
    color: var(--mmp-blue) !important;
    letter-spacing: -0.5px !important;
    line-height: 1.1 !important;
}

/* Status badge (e.g. "For Sale") */
.ere__single-property-status a,
.ere__property-status a {
    display: inline-block !important;
    background: var(--mmp-green) !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding: 4px 12px !important;
    border-radius: 20px !important;
    text-decoration: none !important;
    vertical-align: middle !important;
    margin-left: 8px !important;
    animation: mmpFadeIn 0.5s 0.2s both !important;
}

/* Location text */
.ere__single-property-location {
    font-size: 14px !important;
    color: var(--mmp-text-light) !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin-top: 6px !important;
}
.ere__single-property-location .fa-map-marker {
    color: var(--mmp-blue) !important;
}

/* ============================================================
   Single Property Page — section elements fade in on scroll
   ============================================================ */
.single-property-element,
.ere__single-property-element {
    animation: mmpFadeUp 0.5s ease both !important;
    animation-delay: 0.05s !important;
    background: #fff !important;
    border: 1px solid var(--mmp-border) !important;
    border-radius: var(--mmp-radius) !important;
    padding: 24px 28px !important;
    margin-bottom: 24px !important;
    box-shadow: var(--mmp-card-shadow) !important;
    transition: box-shadow 0.2s !important;
}

.single-property-element:hover,
.ere__single-property-element:hover {
    box-shadow: var(--mmp-card-hover) !important;
}

/* Section headings inside property */
.ere-heading-style2 h2 {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: var(--mmp-text) !important;
    padding-bottom: 10px !important;
    margin-bottom: 18px !important;
    border-bottom: 2px solid var(--mmp-green) !important;
    display: inline-block !important;
}

/* Overview data list (bedrooms, area etc.) */
.ere__list-2-col.ere__list-bg-gray li {
    background: var(--mmp-bg) !important;
    border-radius: var(--mmp-radius-sm) !important;
    padding: 10px 14px !important;
    border: 1px solid var(--mmp-border) !important;
    font-size: 14px !important;
    color: var(--mmp-text) !important;
    margin-bottom: 6px !important;
    transition: background 0.15s !important;
}

.ere__list-2-col.ere__list-bg-gray li:hover {
    background: #edf2ff !important;
}

.ere__list-2-col.ere__list-bg-gray li strong {
    color: var(--mmp-text-light) !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
    display: block !important;
    margin-bottom: 2px !important;
}

/* Address section */
.ere__property-address-list .ere__property-location-item {
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid var(--mmp-border) !important;
    font-size: 14px !important;
    color: var(--mmp-text) !important;
}

.ere__property-location-item strong {
    min-width: 110px !important;
    color: var(--mmp-text-light) !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
}

/* Property action buttons (share / favourite etc.) */
.ere__property-action a,
.ere__property-print a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    background: #fff !important;
    border: 2px solid var(--mmp-border) !important;
    color: var(--mmp-text-light) !important;
    font-size: 15px !important;
    transition: all 0.2s !important;
    text-decoration: none !important;
}

.ere__property-action a:hover,
.ere__property-print a:hover {
    background: var(--mmp-blue) !important;
    border-color: var(--mmp-blue) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
}

/* ============================================================
   Property Loop Cards — enhanced hover + entry animation
   ============================================================ */
.ere-property-item {
    animation: mmpFadeUp 0.4s ease both !important;
}

.ere-property-item .ere-media-box img {
    transition: transform 0.4s ease !important;
}

.ere-property-item:hover .ere-media-box img {
    transform: scale(1.04) !important;
}

.ere-property-item .media-box-content {
    transition: background 0.2s !important;
}

/* Property price on card */
.ere-property-item .ere-price {
    font-weight: 800 !important;
    color: var(--mmp-blue) !important;
}

/* ============================================================
   Package Selection Page — animated card reveal
   ============================================================ */
.ere-package-wrap .ere-package-item {
    animation: mmpFadeUp 0.45s ease both !important;
}

.ere-package-wrap .ere-package-item:nth-child(1) { animation-delay: 0.0s !important; }
.ere-package-wrap .ere-package-item:nth-child(2) { animation-delay: 0.1s !important; }
.ere-package-wrap .ere-package-item:nth-child(3) { animation-delay: 0.2s !important; }
.ere-package-wrap .ere-package-item:nth-child(4) { animation-delay: 0.3s !important; }

/* Shimmer effect on package price */
.ere-package-price {
    background: linear-gradient(90deg,
        var(--mmp-text) 0%, var(--mmp-text) 40%,
        var(--mmp-blue) 50%,
        var(--mmp-text) 60%, var(--mmp-text) 100%
    ) !important;
    background-size: 200% auto !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    animation: mmpShimmer 3.5s linear infinite !important;
}

/* Choose package button pulse */
.ere-package-choose .btn-primary {
    animation: mmpPulse 2.5s ease-in-out infinite !important;
}
.ere-package-choose .btn-primary:hover {
    animation: none !important;
}

/* Divider between package sections */
.ere-package-wrap .ere-package-item .list-group-item:first-child {
    border-top: none !important;
}

/* ============================================================
   Login / Register Modal — smooth slide-in
   ============================================================ */
.ere__account-modal .modal-dialog,
.ere-modal .modal-dialog {
    animation: mmpSlideDown 0.3s cubic-bezier(0.34,1.56,0.64,1) both !important;
}

.ere__account-modal .modal-content,
.ere-modal .modal-content {
    border: none !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.18), 0 4px 16px rgba(0,0,0,0.1) !important;
    overflow: hidden !important;
}

.ere__account-modal .modal-header,
.ere-modal .modal-header {
    background: linear-gradient(135deg, #1a3c5e 0%, #2c7be5 100%) !important;
    border: none !important;
    padding: 20px 28px !important;
}

.ere__account-modal .modal-header .modal-title,
.ere__account-modal .nav-tabs .nav-link,
.ere-modal .modal-header .nav-link {
    color: rgba(255,255,255,0.75) !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    border: none !important;
    padding: 6px 0 !important;
    margin-right: 20px !important;
    background: none !important;
    transition: color 0.2s !important;
}

.ere__account-modal .nav-tabs .nav-link.active,
.ere-modal .nav-tabs .nav-link.active {
    color: #fff !important;
    border-bottom: 2px solid #fff !important;
}

.ere__account-modal .modal-body,
.ere-modal .modal-body {
    padding: 28px !important;
    animation: mmpFadeIn 0.35s 0.1s both !important;
}

.ere__account-modal .close,
.ere-modal .close {
    color: rgba(255,255,255,0.7) !important;
    opacity: 1 !important;
    font-size: 20px !important;
    transition: color 0.2s !important;
}
.ere__account-modal .close:hover,
.ere-modal .close:hover {
    color: #fff !important;
}

/* Form inputs inside modal */
.ere__account-modal .form-group label,
.ere-modal .form-group label {
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--mmp-text-light) !important;
    margin-bottom: 4px !important;
}

/* ============================================================
   Access Denied Banner (Login Or Register button)
   ============================================================ */
.ere__access-denied,
.ere-access-denied-wrap {
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%) !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--mmp-radius) !important;
    padding: 18px 24px !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    animation: mmpFadeIn 0.4s ease both !important;
}

.ere__access-denied p,
.ere-access-denied-wrap p {
    margin: 0 !important;
    color: var(--mmp-blue-dark) !important;
    font-weight: 500 !important;
    font-size: 15px !important;
}

.ere__access-denied .btn,
.ere-access-denied-wrap .btn,
.ere-not-login-wrap .btn {
    background: linear-gradient(135deg, var(--mmp-blue) 0%, var(--mmp-blue-dark) 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 10px 24px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    letter-spacing: 0.2px !important;
    box-shadow: 0 4px 14px rgba(44,123,229,0.3) !important;
    transition: all 0.2s !important;
    text-decoration: none !important;
}

.ere__access-denied .btn:hover,
.ere-access-denied-wrap .btn:hover,
.ere-not-login-wrap .btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(44,123,229,0.4) !important;
    color: #fff !important;
}

/* ============================================================
   Payment Page — overall wrapper
   ============================================================ */
.payment-wrap {
    animation: mmpFadeUp 0.4s ease both !important;
}

/* Pulsing Pay Now button */
#ere_payment_package,
#ere_payment_listing {
    animation: mmpPulse 2.5s ease-in-out infinite !important;
}
#ere_payment_package:hover,
#ere_payment_listing:hover {
    animation: none !important;
}

/* ============================================================
   Submit Property — Modern Wizard Stepper
   ============================================================ */

/* Outer section */
.ere-property-multi-step {
    max-width: 860px !important;
    margin: 0 auto !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

/* Step indicator bar */
.ere-steps {
    display: flex !important;
    align-items: stretch !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 16px rgba(0,0,0,0.09) !important;
    overflow: hidden !important;
    margin-bottom: 28px !important;
    border: 1px solid var(--mmp-border) !important;
}

.ere-btn-arrow {
    flex: 1 !important;
    padding: 14px 8px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--mmp-text-light) !important;
    background: #fff !important;
    border: none !important;
    border-right: 1px solid var(--mmp-border) !important;
    cursor: default !important;
    transition: background 0.2s, color 0.2s !important;
    position: relative !important;
    text-align: center !important;
    letter-spacing: 0.2px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.ere-btn-arrow:last-child {
    border-right: none !important;
}

/* Completed step */
.ere-btn-arrow.completed {
    color: var(--mmp-green-dark) !important;
    background: #f0faf4 !important;
}

.ere-btn-arrow.completed::after {
    content: ' ✓' !important;
    color: var(--mmp-green) !important;
}

/* Active step */
.ere-btn-arrow.active {
    background: linear-gradient(135deg, var(--mmp-blue) 0%, var(--mmp-blue-dark) 100%) !important;
    color: #fff !important;
    cursor: default !important;
    font-weight: 700 !important;
    box-shadow: inset 0 -3px 0 rgba(0,0,0,0.15) !important;
}

/* Progress underline on active */
.ere-btn-arrow.active::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 3px !important;
    background: #fff !important;
    opacity: 0.4 !important;
}

/* Fieldset panels */
.ere-property-multi-step fieldset {
    background: #fff !important;
    border-radius: 12px !important;
    border: 1px solid var(--mmp-border) !important;
    box-shadow: 0 2px 16px rgba(0,0,0,0.07) !important;
    padding: 32px 36px !important;
    margin-bottom: 0 !important;
    animation: mmpFadeUp 0.35s ease both !important;
}

/* Panel headings */
.ere-property-multi-step fieldset .ere-heading,
.ere-property-multi-step fieldset h2,
.ere-property-multi-step fieldset h3 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--mmp-text) !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid var(--mmp-border) !important;
}

/* Form inputs inside stepper */
.ere-property-multi-step .form-control,
.ere-property-multi-step input[type="text"],
.ere-property-multi-step input[type="number"],
.ere-property-multi-step input[type="email"],
.ere-property-multi-step textarea,
.ere-property-multi-step select {
    border: 1.5px solid var(--mmp-border) !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    color: var(--mmp-text) !important;
    background: #fafbfc !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

.ere-property-multi-step .form-control:focus,
.ere-property-multi-step input[type="text"]:focus,
.ere-property-multi-step textarea:focus,
.ere-property-multi-step select:focus {
    border-color: var(--mmp-blue) !important;
    box-shadow: 0 0 0 3px rgba(44,123,229,0.12) !important;
    background: #fff !important;
    outline: none !important;
}

.ere-property-multi-step label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--mmp-text) !important;
    margin-bottom: 6px !important;
}

/* Step navigation bar */
.ere-step-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-top: 28px !important;
    padding-top: 20px !important;
    border-top: 1px solid var(--mmp-border) !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.ere-btn-prev,
.ere-btn-next {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 11px 24px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 50px !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
}

.ere-btn-prev {
    background: var(--mmp-bg) !important;
    color: var(--mmp-text) !important;
    border: 1.5px solid var(--mmp-border) !important;
}

.ere-btn-prev:hover {
    background: #e9ecf1 !important;
    border-color: #c5cdd6 !important;
}

.ere-btn-next {
    background: linear-gradient(135deg, var(--mmp-blue) 0%, var(--mmp-blue-dark) 100%) !important;
    color: #fff !important;
    box-shadow: 0 3px 12px rgba(44,123,229,0.3) !important;
    margin-left: auto !important;
}

.ere-btn-next:hover {
    box-shadow: 0 5px 18px rgba(44,123,229,0.45) !important;
    transform: translateY(-1px) !important;
}

.ere-btn-edit {
    font-size: 12px !important;
    padding: 8px 16px !important;
    color: var(--mmp-text-light) !important;
    background: none !important;
    border: 1.5px dashed var(--mmp-border) !important;
    border-radius: 50px !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    font-weight: 500 !important;
}

.ere-btn-edit:hover {
    border-color: var(--mmp-blue) !important;
    color: var(--mmp-blue) !important;
}

/* Final submit button */
.btn-submit-property {
    display: inline-flex !important;
    align-items: center !important;
    padding: 13px 36px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    background: linear-gradient(135deg, var(--mmp-green) 0%, var(--mmp-green-dark) 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50px !important;
    cursor: pointer !important;
    box-shadow: 0 4px 16px rgba(46,204,113,0.35) !important;
    transition: all 0.2s !important;
    margin-left: auto !important;
    letter-spacing: 0.3px !important;
    text-transform: uppercase !important;
}

.btn-submit-property:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 22px rgba(46,204,113,0.5) !important;
}

/* ============================================================
   Login & Register Modal — polished design
   ============================================================ */

.modal-login .modal-content {
    border: none !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.2) !important;
}

.modal-login .modal-header {
    background: linear-gradient(135deg, #1a3c5e 0%, #2c7be5 100%) !important;
    padding: 20px 28px !important;
    border-bottom: none !important;
    align-items: center !important;
}

.modal-login .modal-header .modal-title {
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 700 !important;
}

/* Tab links inside the modal header */
.modal-login .modal-header .nav-tabs {
    border-bottom: none !important;
    gap: 4px !important;
}

.modal-login .modal-header .nav-tabs .list-inline-item a {
    color: rgba(255,255,255,0.75) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 7px 18px !important;
    border-radius: 50px !important;
    border: none !important;
    background: transparent !important;
    transition: background 0.2s, color 0.2s !important;
    display: block !important;
    text-decoration: none !important;
}

.modal-login .modal-header .nav-tabs .list-inline-item a.active,
.modal-login .modal-header .nav-tabs .list-inline-item a:hover {
    background: rgba(255,255,255,0.2) !important;
    color: #fff !important;
}

.modal-login .modal-header .close {
    color: rgba(255,255,255,0.8) !important;
    opacity: 1 !important;
    font-size: 20px !important;
    text-shadow: none !important;
}

.modal-login .modal-header .close:hover {
    color: #fff !important;
}

.modal-login .modal-body {
    padding: 28px 32px 32px !important;
    background: #fff !important;
    animation: mmpSlideDown 0.3s ease both !important;
}

/* Login/Register form inputs */
.ere__account-login-wrap .form-group {
    margin-bottom: 16px !important;
}

.ere__account-login-wrap .form-control {
    border: 1.5px solid var(--mmp-border) !important;
    border-radius: 8px !important;
    padding: 11px 14px !important;
    font-size: 14px !important;
    background: #fafbfc !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    color: var(--mmp-text) !important;
}

.ere__account-login-wrap .form-control:focus {
    border-color: var(--mmp-blue) !important;
    box-shadow: 0 0 0 3px rgba(44,123,229,0.12) !important;
    background: #fff !important;
    outline: none !important;
}

.ere__account-login-wrap .input-group .form-control {
    border-right: none !important;
    border-radius: 8px 0 0 8px !important;
}

.ere__account-login-wrap .input-group-append .input-group-text {
    background: #fafbfc !important;
    border: 1.5px solid var(--mmp-border) !important;
    border-left: none !important;
    border-radius: 0 8px 8px 0 !important;
    color: var(--mmp-text-light) !important;
    cursor: pointer !important;
    transition: color 0.2s !important;
}

.ere__account-login-wrap .input-group-append .input-group-text:hover {
    color: var(--mmp-blue) !important;
}

.ere__account-login-wrap .form-check-label,
.ere__account-login-wrap .ere-reset-password {
    font-size: 13px !important;
    color: var(--mmp-text-light) !important;
}

.ere__account-login-wrap .ere-reset-password {
    color: var(--mmp-blue) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

.ere__account-login-wrap .ere-reset-password:hover {
    text-decoration: underline !important;
}

/* Login / Register submit buttons */
.ere-login-button,
.ere-register-button,
.ere__account-login-wrap .btn-primary {
    width: 100% !important;
    padding: 13px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    background: linear-gradient(135deg, var(--mmp-blue) 0%, var(--mmp-blue-dark) 100%) !important;
    border: none !important;
    border-radius: 8px !important;
    color: #fff !important;
    letter-spacing: 0.3px !important;
    box-shadow: 0 3px 12px rgba(44,123,229,0.3) !important;
    transition: all 0.2s !important;
    margin-top: 4px !important;
}

.ere-login-button:hover,
.ere-register-button:hover,
.ere__account-login-wrap .btn-primary:hover {
    box-shadow: 0 5px 18px rgba(44,123,229,0.45) !important;
    transform: translateY(-1px) !important;
}

/* Error / success messages in forms */
.ere__account-login-wrap .ere_messages.message {
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
    margin-bottom: 14px !important;
}

/* Divider line in register form */
.ere__account-login-wrap hr {
    border-color: var(--mmp-border) !important;
    margin: 16px 0 !important;
}

/* Social login buttons (if any) */
.ere__account-login-wrap .btn-social {
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
}

/* ============================================================
   Login page (standalone shortcode)
   ============================================================ */

.ere-login-wrap,
.ere-register-wrap {
    max-width: 460px !important;
    margin: 0 auto !important;
    background: #fff !important;
    border: 1px solid var(--mmp-border) !important;
    border-radius: 16px !important;
    padding: 36px 40px !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08) !important;
    animation: mmpFadeUp 0.4s ease both !important;
}

/* ============================================================
   My Profile Page
   ============================================================ */

.ere__account-profile-wrap,
.ere-profile-wrap {
    animation: mmpFadeUp 0.4s ease both !important;
}

/* Profile avatar section */
.ere__account-profile-wrap .ere-upload-avatar,
.ere-profile-wrap .ere-upload-avatar {
    border: 2px dashed var(--mmp-border) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    text-align: center !important;
    background: var(--mmp-bg) !important;
    transition: border-color 0.2s !important;
    cursor: pointer !important;
}

.ere__account-profile-wrap .ere-upload-avatar:hover,
.ere-profile-wrap .ere-upload-avatar:hover {
    border-color: var(--mmp-blue) !important;
}

/* Profile form groups */
.ere__account-profile-wrap .form-group label,
.ere-profile-wrap .form-group label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--mmp-text) !important;
    margin-bottom: 6px !important;
}

.ere__account-profile-wrap .form-control,
.ere-profile-wrap .form-control {
    border: 1.5px solid var(--mmp-border) !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    background: #fafbfc !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

.ere__account-profile-wrap .form-control:focus,
.ere-profile-wrap .form-control:focus {
    border-color: var(--mmp-blue) !important;
    box-shadow: 0 0 0 3px rgba(44,123,229,0.12) !important;
    background: #fff !important;
    outline: none !important;
}

/* Profile section headings */
.ere__account-profile-wrap .ere-heading h2,
.ere-profile-wrap .ere-heading h2 {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--mmp-text) !important;
    padding-bottom: 10px !important;
    margin-bottom: 20px !important;
    border-bottom: 2px solid var(--mmp-border) !important;
}

/* Profile save button */
.ere__account-profile-wrap .btn-submit,
.ere__account-profile-wrap button[type="submit"],
.ere-profile-wrap .btn-submit,
.ere-profile-wrap button[type="submit"] {
    padding: 11px 32px !important;
    font-weight: 700 !important;
    background: linear-gradient(135deg, var(--mmp-blue) 0%, var(--mmp-blue-dark) 100%) !important;
    border: none !important;
    border-radius: 50px !important;
    color: #fff !important;
    box-shadow: 0 3px 12px rgba(44,123,229,0.3) !important;
    transition: all 0.2s !important;
    font-size: 14px !important;
    cursor: pointer !important;
}

.ere__account-profile-wrap .btn-submit:hover,
.ere-profile-wrap .btn-submit:hover {
    box-shadow: 0 5px 18px rgba(44,123,229,0.45) !important;
    transform: translateY(-1px) !important;
}

/* ============================================================
   Property Cards — listing grid & list
   ============================================================ */

/* Card wrapper */
.property-item {
    transition: transform 0.25s, box-shadow 0.25s !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}

.property-item .property-inner {
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 14px rgba(0,0,0,0.08), 0 1px 3px rgba(0,0,0,0.05) !important;
    background: #fff !important;
    transition: box-shadow 0.25s, transform 0.25s !important;
    border: 1px solid var(--mmp-border) !important;
}

.property-item:hover .property-inner {
    box-shadow: 0 8px 32px rgba(0,0,0,0.14), 0 2px 8px rgba(0,0,0,0.07) !important;
    transform: translateY(-5px) !important;
}

/* Thumbnail overlay */
.property-item .property-img-wrap,
.property-item .property-image,
.property-item .ere-property-thumbnail {
    position: relative !important;
    overflow: hidden !important;
}

.property-item .property-img-wrap img,
.property-item .property-image img,
.property-item .ere-property-thumbnail img {
    transition: transform 0.4s ease !important;
    width: 100% !important;
    display: block !important;
}

.property-item:hover .property-img-wrap img,
.property-item:hover .property-image img,
.property-item:hover .ere-property-thumbnail img {
    transform: scale(1.06) !important;
}

/* Featured gold ring */
.ere-property-is-featured .property-inner {
    border-color: #f59e0b !important;
    box-shadow: 0 2px 14px rgba(245,158,11,0.2), 0 1px 3px rgba(0,0,0,0.05) !important;
}

.ere-property-is-featured:hover .property-inner {
    box-shadow: 0 8px 32px rgba(245,158,11,0.3), 0 2px 8px rgba(0,0,0,0.07) !important;
}

/* Featured badge */
.ere-property-is-featured .property-featured-badge,
.ere-property-is-featured .property-badge {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
}

/* Property content area */
.property-item-content {
    padding: 16px 18px 18px !important;
}

.property-item-content .property-heading {
    margin-bottom: 8px !important;
}

/* Price */
.property-item-content .ere-property-price,
.property-item-content .price {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: var(--mmp-blue) !important;
}

/* Title */
.property-item-content .property-title a,
.property-item-content .ere-property-title a {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--mmp-text) !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
    display: block !important;
    line-height: 1.35 !important;
}

.property-item-content .property-title a:hover,
.property-item-content .ere-property-title a:hover {
    color: var(--mmp-blue) !important;
}

/* Location */
.property-item-content .ere-property-location,
.property-item-content .property-location {
    font-size: 12px !important;
    color: var(--mmp-text-light) !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin-top: 4px !important;
}

/* Meta icons row (beds/baths/size) */
.property-item-content .ere-property-meta,
.property-item-content .property-meta {
    display: flex !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
    padding-top: 12px !important;
    margin-top: 12px !important;
    border-top: 1px solid var(--mmp-border) !important;
}

.property-item-content .ere-property-meta span,
.property-item-content .property-meta span,
.property-item-content .ere-property-meta li,
.property-item-content .property-meta li {
    font-size: 12px !important;
    color: var(--mmp-text-light) !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    white-space: nowrap !important;
}

/* ============================================================
   Featured Properties Shortcode
   ============================================================ */

.ere-sc-property-featured {
    animation: mmpFadeIn 0.5s ease both !important;
}

/* Grid cards within featured shortcode */
.ere-sc-property-featured .property-item {
    animation: mmpFadeUp 0.5s ease both !important;
}

.ere-sc-property-featured .property-item:nth-child(1) { animation-delay: 0.05s !important; }
.ere-sc-property-featured .property-item:nth-child(2) { animation-delay: 0.10s !important; }
.ere-sc-property-featured .property-item:nth-child(3) { animation-delay: 0.15s !important; }
.ere-sc-property-featured .property-item:nth-child(4) { animation-delay: 0.20s !important; }
.ere-sc-property-featured .property-item:nth-child(5) { animation-delay: 0.25s !important; }
.ere-sc-property-featured .property-item:nth-child(6) { animation-delay: 0.30s !important; }

/* "Filter by city" tabs */
.ere-sc-property-featured .ere-property-cities-filter {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 24px !important;
}

.ere-sc-property-featured .ere-city-filter-item {
    padding: 7px 18px !important;
    border-radius: 50px !important;
    border: 1.5px solid var(--mmp-border) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--mmp-text) !important;
    background: #fff !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    text-decoration: none !important;
}

.ere-sc-property-featured .ere-city-filter-item:hover,
.ere-sc-property-featured .ere-city-filter-item.active {
    background: var(--mmp-blue) !important;
    border-color: var(--mmp-blue) !important;
    color: #fff !important;
}

/* ============================================================
   My Properties Dashboard table
   ============================================================ */

.ere-my-properties-wrap table,
.my-properties-wrap table {
    border-radius: 10px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07) !important;
    border: none !important;
    width: 100% !important;
}

.ere-my-properties-wrap thead th,
.my-properties-wrap thead th {
    background: linear-gradient(135deg, #1a3c5e 0%, #2c7be5 100%) !important;
    color: #fff !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 13px 16px !important;
    border: none !important;
    font-weight: 700 !important;
}

.ere-my-properties-wrap tbody tr,
.my-properties-wrap tbody tr {
    transition: background 0.15s !important;
}

.ere-my-properties-wrap tbody tr:hover,
.my-properties-wrap tbody tr:hover {
    background: #f0f7ff !important;
}

.ere-my-properties-wrap tbody td,
.my-properties-wrap tbody td {
    padding: 12px 16px !important;
    border-top: 1px solid var(--mmp-border) !important;
    vertical-align: middle !important;
    font-size: 13px !important;
    color: var(--mmp-text) !important;
}

/* Status badges in my properties */
.ere-my-properties-wrap .label-success,
.my-properties-wrap .label-success {
    background: var(--mmp-green) !important;
    color: #fff !important;
    border-radius: 20px !important;
    padding: 3px 10px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

.ere-my-properties-wrap .label-warning,
.my-properties-wrap .label-warning {
    background: #f59e0b !important;
    color: #fff !important;
    border-radius: 20px !important;
    padding: 3px 10px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

.ere-my-properties-wrap .label-danger,
.my-properties-wrap .label-danger {
    background: #ef4444 !important;
    color: #fff !important;
    border-radius: 20px !important;
    padding: 3px 10px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

/* Edit/Delete action links */
.ere-my-properties-wrap .ere-action a,
.my-properties-wrap .ere-action a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 5px 12px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    transition: all 0.2s !important;
    margin-right: 4px !important;
}

.ere-my-properties-wrap .ere-action .ere-edit-property,
.my-properties-wrap .ere-action .ere-edit-property {
    background: #eff6ff !important;
    color: var(--mmp-blue) !important;
    border: 1px solid #bfdbfe !important;
}

.ere-my-properties-wrap .ere-action .ere-edit-property:hover,
.my-properties-wrap .ere-action .ere-edit-property:hover {
    background: var(--mmp-blue) !important;
    color: #fff !important;
}

.ere-my-properties-wrap .ere-action .ere-delete-property,
.my-properties-wrap .ere-action .ere-delete-property {
    background: #fef2f2 !important;
    color: #ef4444 !important;
    border: 1px solid #fecaca !important;
}

.ere-my-properties-wrap .ere-action .ere-delete-property:hover,
.my-properties-wrap .ere-action .ere-delete-property:hover {
    background: #ef4444 !important;
    color: #fff !important;
}

/* ============================================================
   Dashboard navigation menu
   ============================================================ */

.ere-dashboard-menu ul,
.ere-db-menu ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
    border: 1px solid var(--mmp-border) !important;
}

.ere-dashboard-menu ul li a,
.ere-db-menu ul li a {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 13px 20px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--mmp-text) !important;
    text-decoration: none !important;
    border-bottom: 1px solid var(--mmp-border) !important;
    transition: background 0.15s, color 0.15s !important;
}

.ere-dashboard-menu ul li:last-child a,
.ere-db-menu ul li:last-child a {
    border-bottom: none !important;
}

.ere-dashboard-menu ul li a:hover,
.ere-db-menu ul li a:hover,
.ere-dashboard-menu ul li.active a,
.ere-db-menu ul li.active a {
    background: #eff6ff !important;
    color: var(--mmp-blue) !important;
}


/* ============================================================
   Submit Property Stepper — fix truncation & scrollable
   ============================================================ */

/* Scrollable step bar on any screen width */
.ere-steps {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important; /* Firefox */
}
.ere-steps::-webkit-scrollbar { display: none !important; }

.ere-btn-arrow {
    flex: 0 0 auto !important;
    min-width: 90px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-size: 11px !important;
    padding: 14px 10px !important;
}

/* ============================================================
   Hide Seller/Agent Account section on profile page
   ============================================================ */
.jumbotron.ere-account-agent {
    display: none !important;
}

/* ============================================================
   Profile page — correct selectors
   ============================================================ */

/* Main dashboard layout */
.ere-user-dashboard {
    animation: mmpFadeUp 0.4s ease both !important;
}

/* Sidebar card */
.ere-dashboard-sidebar-content {
    background: #fff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
    border: 1px solid var(--mmp-border) !important;
}

/* User welcome box */
.ere-dashboard-welcome {
    background: linear-gradient(135deg, #1a3c5e 0%, #2c7be5 100%) !important;
    padding: 24px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}

.ere-dashboard-welcome figure {
    width: 72px !important;
    height: 72px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    border: 3px solid rgba(255,255,255,0.4) !important;
    margin: 0 0 12px !important;
}

.ere-dashboard-welcome figure img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.ere-dashboard-title {
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    margin: 0 0 6px !important;
}

.ere-dashboard-logout {
    color: rgba(255,255,255,0.75) !important;
    font-size: 12px !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    justify-content: center !important;
}

.ere-dashboard-logout:hover {
    color: #fff !important;
}

/* Dashboard nav menu */
.ere-dashboard-nav {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ere-dashboard-nav > li > a {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 13px 20px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--mmp-text) !important;
    text-decoration: none !important;
    border-bottom: 1px solid var(--mmp-border) !important;
    transition: background 0.15s, color 0.15s !important;
}

.ere-dashboard-nav > li > a:hover {
    background: #eff6ff !important;
    color: var(--mmp-blue) !important;
}

.ere-dashboard-nav > li.active > a {
    background: #eff6ff !important;
    color: var(--mmp-blue) !important;
    font-weight: 700 !important;
    border-left: 3px solid var(--mmp-blue) !important;
}

.ere-dashboard-nav > li > a .badge {
    margin-left: auto !important;
    background: var(--mmp-bg) !important;
    color: var(--mmp-text-light) !important;
    border: 1px solid var(--mmp-border) !important;
    border-radius: 20px !important;
    font-size: 11px !important;
    padding: 2px 8px !important;
    font-weight: 600 !important;
}

/* Submit New Property — standout CTA */
.ere-dashboard-nav > li > a[title="Submit New Property"] {
    background: linear-gradient(135deg, var(--mmp-green) 0%, var(--mmp-green-dark) 100%) !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    margin: 12px 12px 12px !important;
    border-radius: 8px !important;
    border: none !important;
    justify-content: center !important;
    box-shadow: 0 3px 12px rgba(46,204,113,0.3) !important;
    transition: all 0.2s !important;
}

.ere-dashboard-nav > li > a[title="Submit New Property"]:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 18px rgba(46,204,113,0.45) !important;
    color: #fff !important;
    background: linear-gradient(135deg, #36d179 0%, var(--mmp-green-dark) 100%) !important;
}

.ere-dashboard-nav > li > a[title="Submit New Property"] .badge {
    display: none !important;
}

/* Profile form card */
.ere-card-account-settings {
    border: 1px solid var(--mmp-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07) !important;
    overflow: hidden !important;
}

.ere-card-account-settings .card-header {
    background: linear-gradient(135deg, #1a3c5e 0%, #2c7be5 100%) !important;
    padding: 16px 24px !important;
    border-bottom: none !important;
}

.ere-card-account-settings .card-title {
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    margin: 0 !important;
}

.ere-card-account-settings .card-body {
    padding: 28px 24px !important;
}

/* Profile form inputs */
.ere-update-profile .form-group label,
.profile-wrap .form-group label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--mmp-text) !important;
    margin-bottom: 6px !important;
    display: block !important;
}

.ere-update-profile .form-control,
.profile-wrap .form-control {
    border: 1.5px solid var(--mmp-border) !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    background: #fafbfc !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    color: var(--mmp-text) !important;
}

.ere-update-profile .form-control:focus,
.profile-wrap .form-control:focus {
    border-color: var(--mmp-blue) !important;
    box-shadow: 0 0 0 3px rgba(44,123,229,0.12) !important;
    background: #fff !important;
    outline: none !important;
}

/* Profile update/save buttons */
.ere-update-profile .btn-primary,
.ere-update-profile .btn-submit,
.profile-wrap .btn-primary {
    padding: 11px 32px !important;
    font-weight: 700 !important;
    background: linear-gradient(135deg, var(--mmp-blue) 0%, var(--mmp-blue-dark) 100%) !important;
    border: none !important;
    border-radius: 50px !important;
    color: #fff !important;
    box-shadow: 0 3px 12px rgba(44,123,229,0.3) !important;
    transition: all 0.2s !important;
    font-size: 14px !important;
    cursor: pointer !important;
}

.ere-update-profile .btn-primary:hover,
.profile-wrap .btn-primary:hover {
    box-shadow: 0 5px 18px rgba(44,123,229,0.45) !important;
    transform: translateY(-1px) !important;
    color: #fff !important;
}

/* Update Profile Picture button */
.profile-img-controls .btn-primary {
    background: linear-gradient(135deg, var(--mmp-blue) 0%, var(--mmp-blue-dark) 100%) !important;
    border: none !important;
    border-radius: 50px !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 8px 20px !important;
    box-shadow: 0 2px 8px rgba(44,123,229,0.25) !important;
    transition: all 0.2s !important;
    cursor: pointer !important;
}

/* ============================================================
   Payment Method — make whole radio card clickable
   ============================================================ */

.ere-payment-method-wrap .radio {
    cursor: pointer !important;
}

.ere-payment-method-wrap .radio label {
    display: block !important;
    width: 100% !important;
    cursor: pointer !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ere-payment-method-wrap .radio input[type="radio"] {
    cursor: pointer !important;
}

/* Checked state highlight */
.ere-payment-method-wrap .radio:has(input:checked) {
    border-color: var(--mmp-blue) !important;
    background: #eff6ff !important;
}

/* ============================================================
   Property card — address as plain text (not link)
   ============================================================ */

/* The template change removes the <a> but let's also style it */
.property-location .ere__loop-property-location a,
.ere__loop-property-location a {
    pointer-events: none !important;
    color: inherit !important;
    text-decoration: none !important;
    cursor: default !important;
}


/* ============================================================
   Payment Invoice — Package Perks Panel
   ============================================================ */

.mmp-package-perks {
    margin-top: 1px !important;
    padding: 16px 18px !important;
    background: var(--mmp-bg) !important;
    border-top: 1px solid var(--mmp-border) !important;
    border-radius: 0 0 10px 10px !important;
}

.mmp-perks-intro {
    font-size: 12px !important;
    color: var(--mmp-text-light) !important;
    margin: 0 0 10px !important;
    font-style: italic !important;
}

.mmp-perks-section-heading {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--mmp-blue) !important;
    margin: 8px 0 8px !important;
    padding-bottom: 6px !important;
    border-bottom: 1px solid var(--mmp-border) !important;
}

.mmp-perk-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    font-size: 12px !important;
    color: var(--mmp-text) !important;
    line-height: 1.45 !important;
    margin-bottom: 5px !important;
}

.mmp-perk-icon {
    color: var(--mmp-green) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    flex-shrink: 0 !important;
    line-height: 1.3 !important;
}

.mmp-perks-extras-heading {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--mmp-orange) !important;
    margin: 12px 0 6px !important;
    padding-top: 10px !important;
    border-top: 1px dashed #fde8c8 !important;
}

.mmp-perk-optional .mmp-perk-icon {
    color: var(--mmp-orange) !important;
}

/* ============================================================
   Advanced Search — clean up, remove confusing elements
   ============================================================ */

.ere-property-advanced-search {
    background: #fff !important;
    border-radius: 12px !important;
    padding: 24px !important;
    box-shadow: 0 2px 16px rgba(0,0,0,0.08) !important;
    border: 1px solid var(--mmp-border) !important;
}

/* Form field labels */
.ere-property-advanced-search label {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--mmp-text) !important;
    margin-bottom: 5px !important;
    display: block !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
}

/* All inputs / selects / select2 */
.ere-property-advanced-search .form-control,
.ere-property-advanced-search input[type="text"],
.ere-property-advanced-search select,
.ere-property-advanced-search .select2-selection {
    border: 1.5px solid var(--mmp-border) !important;
    border-radius: 8px !important;
    padding: 9px 12px !important;
    font-size: 14px !important;
    background: #fafbfc !important;
    color: var(--mmp-text) !important;
    height: auto !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

.ere-property-advanced-search .form-control:focus,
.ere-property-advanced-search input[type="text"]:focus {
    border-color: var(--mmp-blue) !important;
    box-shadow: 0 0 0 3px rgba(44,123,229,0.12) !important;
    background: #fff !important;
    outline: none !important;
}

/* Hide confusing / NZ-irrelevant fields */
/* Property Identity (MLS/reference number — not used in NZ) */
.ere-search-property_identity { display: none !important; }
/* Garage count filter (not commonly searched) */
.ere-search-property_garage { display: none !important; }
/* Land area slider (complex, rarely used in search) */
.ere-search-property_land { display: none !important; }
/* Neighborhood filter (not enough data to be useful) */
.ere-search-property_neighborhood { display: none !important; }

/* Status tabs (For Sale / For Rent) — hide rent tab */
.ere-property-advanced-search .ere-tab-status[data-value="for-rent"],
.ere-property-advanced-search .ere-tab-status[data-value="rented"] {
    display: none !important;
}

/* Search button styling */
.ere-property-advanced-search .btn-primary,
.ere-property-advanced-search button[type="submit"],
.ere-property-advanced-search .ere-search-btn {
    background: linear-gradient(135deg, var(--mmp-blue) 0%, var(--mmp-blue-dark) 100%) !important;
    border: none !important;
    border-radius: 8px !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    padding: 11px 28px !important;
    letter-spacing: 0.3px !important;
    box-shadow: 0 3px 12px rgba(44,123,229,0.3) !important;
    transition: all 0.2s !important;
    cursor: pointer !important;
    width: 100% !important;
}

.ere-property-advanced-search .btn-primary:hover,
.ere-property-advanced-search button[type="submit"]:hover {
    box-shadow: 0 5px 18px rgba(44,123,229,0.45) !important;
    transform: translateY(-1px) !important;
    color: #fff !important;
}

/* "Browse" / reset / save search button  */
.ere-property-advanced-search .btn-default,
.ere-property-advanced-search .btn-link {
    color: var(--mmp-text-light) !important;
    background: var(--mmp-bg) !important;
    border: 1.5px solid var(--mmp-border) !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 9px 20px !important;
    transition: all 0.2s !important;
    cursor: pointer !important;
    text-decoration: none !important;
}

.ere-property-advanced-search .btn-default:hover {
    border-color: var(--mmp-blue) !important;
    color: var(--mmp-blue) !important;
}

/* Status tab pills */
.ere-property-advanced-search .ere-tab-status {
    padding: 7px 18px !important;
    border-radius: 50px !important;
    border: 1.5px solid var(--mmp-border) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    background: #fff !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    text-decoration: none !important;
    display: inline-block !important;
}

.ere-property-advanced-search .ere-tab-status.active,
.ere-property-advanced-search .ere-tab-status:hover {
    background: var(--mmp-blue) !important;
    border-color: var(--mmp-blue) !important;
    color: #fff !important;
}

/* Price range labels */
.ere-property-advanced-search .ere-price-from,
.ere-property-advanced-search .ere-price-to {
    font-size: 12px !important;
    color: var(--mmp-text-light) !important;
}

/* Form row spacing */
.ere-property-advanced-search .form-group {
    margin-bottom: 16px !important;
}

/* Save Search button */
.advanced-saved-searches {
    margin-top: 12px !important;
    text-align: right !important;
}

.advanced-saved-searches .btn-save-search {
    font-size: 12px !important;
    padding: 6px 16px !important;
    background: transparent !important;
    border: 1.5px solid var(--mmp-blue) !important;
    color: var(--mmp-blue) !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
    transition: all 0.2s !important;
}

.advanced-saved-searches .btn-save-search:hover {
    background: var(--mmp-blue) !important;
    color: #fff !important;
}

/* ============================================================
   Packages page — richer display  
   ============================================================ */

/* Make the description show nicely on the packages page */
.ere-package-item .card-body,
.ere-package-item .package-description {
    padding: 14px 18px !important;
    font-size: 13px !important;
    color: var(--mmp-text-light) !important;
    line-height: 1.5 !important;
    border-top: 1px solid var(--mmp-border) !important;
    background: #fafbfc !important;
}


/* ============================================================
   v5.3.0 — Dollar sign contrasting colour on package prices
   ============================================================ */

/* The ERE money formatter wraps the currency symbol in a <sup> or span.
   We target the price heading directly and use a bright accent for the symbol */
.ere-package-price {
    color: var(--mmp-blue) !important;
    font-size: 2.2rem !important;
    font-weight: 800 !important;
    letter-spacing: -1px !important;
}

/* ere_get_format_money outputs: <sup>$</sup>999 — style the sup */
.ere-package-price sup {
    color: #f59e0b !important;   /* amber — stands out against white card */
    font-size: 1rem !important;
    font-weight: 700 !important;
    vertical-align: super !important;
    top: -6px !important;
    position: relative !important;
    letter-spacing: 0 !important;
}

/* ============================================================
   v5.3.0 — Hide unnecessary profile fields (Skype, Twitter, LinkedIn, Pinterest)
   ============================================================ */

.ere-update-profile .ere-group-skype,
.ere-update-profile .ere-group-twitter,
.ere-update-profile .ere-group-linkedin,
.ere-update-profile .ere-group-pinterest,
.ere-update-profile [data-field="author_skype"],
.ere-update-profile [data-field="author_twitter_url"],
.ere-update-profile [data-field="author_linkedin_url"],
.ere-update-profile [data-field="author_pinterest_url"] {
    display: none !important;
}

/* Hide by label text content (fallback) */
.ere-update-profile .form-group:has(label[for*="skype"]),
.ere-update-profile .form-group:has(label[for*="twitter"]),
.ere-update-profile .form-group:has(label[for*="linkedin"]),
.ere-update-profile .form-group:has(label[for*="pinterest"]),
.ere-update-profile .form-group:has(input[name*="skype"]),
.ere-update-profile .form-group:has(input[name*="twitter"]),
.ere-update-profile .form-group:has(input[name*="linkedin"]),
.ere-update-profile .form-group:has(input[name*="pinterest"]) {
    display: none !important;
}

/* ============================================================
   v5.3.0 — Not-subscribed banner (property submit page)
   ============================================================ */

.mmp-no-package-wrap {
    max-width: 560px;
    margin: 60px auto;
    text-align: center;
    padding: 48px 40px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 8px 40px rgba(0,0,0,0.09);
    animation: mmpFadeUp 0.5s ease both;
}

.mmp-no-package-wrap .mmp-no-pkg-icon {
    font-size: 3.5rem;
    margin-bottom: 16px;
    display: block;
    animation: mmpPulse 2s infinite;
}

.mmp-no-package-wrap h3 {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--mmp-heading);
    margin-bottom: 10px;
}

.mmp-no-package-wrap p {
    color: var(--mmp-text-light);
    font-size: 0.97rem;
    margin-bottom: 28px;
    line-height: 1.6;
}

.mmp-no-package-wrap .mmp-pkg-btn {
    display: inline-block;
    padding: 14px 36px;
    background: linear-gradient(135deg, var(--mmp-blue), var(--mmp-blue-dark, #1a56db));
    color: #fff !important;
    border-radius: 50px;
    font-weight: 700;
    font-size: 1.05rem;
    text-decoration: none !important;
    box-shadow: 0 4px 20px rgba(37,99,235,0.35);
    transition: transform 0.2s, box-shadow 0.2s;
    border: none;
}

.mmp-no-package-wrap .mmp-pkg-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(37,99,235,0.45);
}

.mmp-no-package-wrap .mmp-pkg-btn-secondary {
    display: inline-block;
    margin-top: 14px;
    font-size: 0.875rem;
    color: var(--mmp-text-light);
    text-decoration: none;
}

.mmp-no-package-wrap .mmp-pkg-btn-secondary:hover {
    color: var(--mmp-blue);
}

/* ============================================================
   v5.3.0 — Featured Properties — BIGGER, FANCIER, ANIMATED
   ============================================================ */

.ere-property-featured-wrap,
.mmp-featured-section {
    padding: 10px 0 20px;
}

/* Override section heading */
.ere-property-featured-wrap .ere-heading h2,
.mmp-featured-section .ere-heading h2 {
    font-size: 2rem !important;
    font-weight: 900 !important;
    background: linear-gradient(135deg, var(--mmp-blue), #7c3aed);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: -0.5px;
}

/* The featured shortcode carousel slides */
.ere-property-featured-wrap .slick-slide .property-item,
[class*="property-featured"] .property-item {
    margin: 10px 12px;
    border-radius: 20px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 40px rgba(37,99,235,0.13), 0 2px 8px rgba(0,0,0,0.07) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    background: #fff;
    border: 2px solid rgba(37,99,235,0.08) !important;
}

.ere-property-featured-wrap .slick-slide .property-item:hover,
[class*="property-featured"] .property-item:hover {
    transform: translateY(-6px) scale(1.012) !important;
    box-shadow: 0 20px 60px rgba(37,99,235,0.2), 0 4px 16px rgba(0,0,0,0.1) !important;
    border-color: rgba(37,99,235,0.3) !important;
}

/* Image area — bigger */
.ere-property-featured-wrap .property-item .property-thumbnail,
[class*="property-featured"] .property-item .property-thumbnail {
    height: 230px !important;
    overflow: hidden !important;
    position: relative !important;
}

.ere-property-featured-wrap .property-item .property-thumbnail img,
[class*="property-featured"] .property-item .property-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.5s ease !important;
}

.ere-property-featured-wrap .property-item:hover .property-thumbnail img,
[class*="property-featured"] .property-item:hover .property-thumbnail img {
    transform: scale(1.06) !important;
}

/* Featured badge */
.ere-property-featured-wrap .property-item .property-thumbnail::after,
[class*="property-featured"] .property-item .property-thumbnail::after {
    content: "★ Featured";
    position: absolute;
    top: 14px;
    left: 14px;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 50px;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 8px rgba(245,158,11,0.4);
    text-transform: uppercase;
    animation: mmpShimmer 2.5s infinite;
}

/* Content area */
.ere-property-featured-wrap .property-item .property-content,
[class*="property-featured"] .property-item .property-content {
    padding: 18px 20px 16px !important;
}

.ere-property-featured-wrap .property-item .property-title a,
[class*="property-featured"] .property-item .property-title a {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: var(--mmp-heading) !important;
    line-height: 1.3 !important;
}

.ere-property-featured-wrap .property-item .property-title a:hover,
[class*="property-featured"] .property-item .property-title a:hover {
    color: var(--mmp-blue) !important;
}

/* Price — big and bold */
.ere-property-featured-wrap .property-item .property-price,
[class*="property-featured"] .property-item .property-price {
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    color: var(--mmp-blue) !important;
    margin-top: 6px !important;
}

/* Features row (beds/baths/area) */
.ere-property-featured-wrap .property-item .property-meta,
[class*="property-featured"] .property-item .property-meta {
    display: flex !important;
    gap: 14px !important;
    margin-top: 10px !important;
    padding-top: 10px !important;
    border-top: 1px solid var(--mmp-border) !important;
    font-size: 0.83rem !important;
    color: var(--mmp-text-light) !important;
}

/* Slick arrow buttons */
.ere-property-featured-wrap .slick-prev,
.ere-property-featured-wrap .slick-next {
    width: 46px !important;
    height: 46px !important;
    background: var(--mmp-blue) !important;
    border-radius: 50% !important;
    opacity: 0.9 !important;
    z-index: 10 !important;
    box-shadow: 0 4px 16px rgba(37,99,235,0.3) !important;
    transition: all 0.2s !important;
}

.ere-property-featured-wrap .slick-prev:hover,
.ere-property-featured-wrap .slick-next:hover {
    opacity: 1 !important;
    transform: scale(1.1) !important;
}

.ere-property-featured-wrap .slick-prev::before,
.ere-property-featured-wrap .slick-next::before {
    color: #fff !important;
    font-size: 18px !important;
}

/* Dots */
.ere-property-featured-wrap .slick-dots li button::before {
    color: var(--mmp-blue) !important;
    font-size: 10px !important;
}

.ere-property-featured-wrap .slick-dots li.slick-active button::before {
    color: var(--mmp-blue) !important;
    opacity: 1 !important;
}

/* Entrance animation for featured items */
.ere-property-featured-wrap .slick-slide {
    animation: mmpFadeUp 0.5s ease both;
}

/* ============================================================
   v5.3.0 — Add-ons messaging on packages page
   ============================================================ */

.mmp-addons-notice {
    background: linear-gradient(135deg, #eff6ff, #f0fdf4);
    border: 1.5px solid rgba(37,99,235,0.15);
    border-radius: 12px;
    padding: 14px 20px;
    margin: 20px 0 8px;
    text-align: center;
    font-size: 0.875rem;
    color: var(--mmp-text-light);
    animation: mmpFadeUp 0.4s ease both;
}

.mmp-addons-notice strong {
    color: var(--mmp-blue);
}

/* ============================================================
   v5.3.0 — Register vs Login button split
   ============================================================ */

.mmp-auth-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 12px;
}

.mmp-auth-actions .mmp-btn-register {
    background: linear-gradient(135deg, var(--mmp-blue), #1a56db);
    color: #fff !important;
    border: none;
    padding: 10px 24px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 0.9rem;
    text-decoration: none !important;
    display: inline-block;
    transition: all 0.2s;
    box-shadow: 0 4px 14px rgba(37,99,235,0.3);
}

.mmp-auth-actions .mmp-btn-register:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(37,99,235,0.4);
}

.mmp-auth-actions .mmp-btn-login {
    background: transparent;
    color: var(--mmp-blue) !important;
    border: 2px solid var(--mmp-blue);
    padding: 8px 22px;
    border-radius: 50px;
    font-weight: 600;
    font-size: 0.9rem;
    display: inline-block;
    cursor: pointer;
    transition: all 0.2s;
}

.mmp-auth-actions .mmp-btn-login:hover {
    background: var(--mmp-blue);
    color: #fff !important;
}

/* ============================================================
   v5.3.0 — Package subscription success popup / how-it-works animations
   ============================================================ */

/* Overlay */
#mmp-onboard-overlay,
#mmp-howitworks-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.65);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: mmpFadeIn 0.3s ease;
    padding: 20px;
}

#mmp-onboard-overlay.mmp-hidden,
#mmp-howitworks-overlay.mmp-hidden {
    display: none;
}

/* Modal box */
.mmp-steps-modal {
    background: #fff;
    border-radius: 24px;
    padding: 48px 40px 40px;
    max-width: 620px;
    width: 100%;
    position: relative;
    box-shadow: 0 24px 80px rgba(0,0,0,0.2);
    animation: mmpFadeUp 0.4s ease both;
    max-height: 90vh;
    overflow-y: auto;
}

.mmp-steps-modal .mmp-modal-close {
    position: absolute;
    top: 16px;
    right: 20px;
    background: none;
    border: none;
    font-size: 1.6rem;
    cursor: pointer;
    color: #9ca3af;
    line-height: 1;
    transition: color 0.2s;
}

.mmp-steps-modal .mmp-modal-close:hover { color: #1f2937; }

.mmp-steps-modal .mmp-modal-title {
    font-size: 1.6rem;
    font-weight: 900;
    color: var(--mmp-heading);
    text-align: center;
    margin-bottom: 8px;
}

.mmp-steps-modal .mmp-modal-subtitle {
    text-align: center;
    color: var(--mmp-text-light);
    font-size: 0.95rem;
    margin-bottom: 32px;
    line-height: 1.5;
}

/* Step list */
.mmp-step-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.mmp-step-item {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    opacity: 0;
    transform: translateX(-20px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.mmp-step-item.mmp-step-visible {
    opacity: 1;
    transform: translateX(0);
}

.mmp-step-num {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--mmp-blue), #7c3aed);
    color: #fff;
    font-weight: 800;
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(37,99,235,0.35);
}

.mmp-step-content h4 {
    font-size: 1rem;
    font-weight: 700;
    color: var(--mmp-heading);
    margin: 0 0 4px;
}

.mmp-step-content p {
    font-size: 0.875rem;
    color: var(--mmp-text-light);
    margin: 0;
    line-height: 1.5;
}

.mmp-modal-cta {
    text-align: center;
    margin-top: 32px;
}

.mmp-modal-cta a.btn {
    background: linear-gradient(135deg, var(--mmp-blue), #1a56db);
    color: #fff !important;
    border: none;
    padding: 14px 40px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 1rem;
    box-shadow: 0 6px 20px rgba(37,99,235,0.35);
    display: inline-block;
    text-decoration: none !important;
    transition: transform 0.2s, box-shadow 0.2s;
}

.mmp-modal-cta a.btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(37,99,235,0.45);
}

/* ============================================================
   v5.3.0 — How It Works shortcode (homepage)
   ============================================================ */

/* ============================================================
   How It Works — Card Grid  (v5.5.1 redesign)
   ============================================================ */

.mmp-hiw-section {
    background: linear-gradient(168deg, #f0f4ff 0%, #f8faff 50%, #fef9f3 100%);
    padding: 72px 20px 80px;
    position: relative;
    overflow: hidden;
}

/* Decorative top border accent */
.mmp-hiw-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--mmp-blue, #2c7be5), var(--mmp-green, #2ecc71), var(--mmp-orange, #e67e22));
}

.mmp-hiw-inner {
    max-width: 1060px;
    margin: 0 auto;
}

/* Header */
.mmp-hiw-header {
    text-align: center;
    margin-bottom: 52px;
}

.mmp-hiw-chip {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--mmp-blue, #2c7be5);
    background: rgba(44,123,229,0.08);
    border: 1px solid rgba(44,123,229,0.18);
    border-radius: 20px;
    padding: 5px 16px;
    margin-bottom: 14px;
}

.mmp-hiw-title {
    font-size: clamp(1.6rem, 4vw, 2.4rem);
    font-weight: 900;
    color: var(--mmp-heading, #1a202c);
    margin: 0 0 14px;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

.mmp-hiw-subtitle {
    color: var(--mmp-text-light, #718096);
    font-size: 1.05rem;
    max-width: 560px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Card grid: 3 columns desktop, 2 tablet, 1 mobile */
.mmp-hiw-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

@media (max-width: 860px) {
    .mmp-hiw-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
    .mmp-hiw-grid { grid-template-columns: 1fr; gap: 16px; }
}

/* Individual card */
.mmp-hiw-card {
    background: #fff;
    border: 1px solid var(--mmp-border, #e2e8f0);
    border-radius: 14px;
    padding: 28px 24px 24px;
    position: relative;
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
    /* scroll reveal — start hidden */
    opacity: 0;
    transform: translateY(24px);
}

.mmp-hiw-card.mmp-hiw-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.5s ease, transform 0.5s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.mmp-hiw-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 36px rgba(44,123,229,0.12), 0 2px 8px rgba(0,0,0,0.06);
    border-color: rgba(44,123,229,0.25);
}

/* Step number badge — top-right */
.mmp-hiw-card-num {
    position: absolute;
    top: 16px;
    right: 18px;
    font-size: 0.7rem;
    font-weight: 800;
    color: var(--mmp-blue, #2c7be5);
    background: rgba(44,123,229,0.08);
    border-radius: 6px;
    padding: 3px 8px;
    letter-spacing: 0.06em;
}

/* Emoji icon */
.mmp-hiw-card-icon {
    font-size: 2.2rem;
    margin-bottom: 14px;
    line-height: 1;
}

/* Card title */
.mmp-hiw-card-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--mmp-heading, #1a202c);
    margin: 0 0 8px;
    line-height: 1.3;
}

/* Card description */
.mmp-hiw-card-desc {
    font-size: 0.86rem;
    color: var(--mmp-text-light, #718096);
    line-height: 1.55;
    margin: 0;
}

/* CTA buttons row */
.mmp-hiw-actions {
    display: flex;
    justify-content: center;
    gap: 14px;
    margin-top: 44px;
    flex-wrap: wrap;
}

.mmp-hiw-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 30px;
    border-radius: 10px;
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.18s, box-shadow 0.22s;
    border: none;
}

.mmp-hiw-btn--primary {
    background: linear-gradient(135deg, var(--mmp-green, #2ecc71), var(--mmp-green-dark, #27ae60));
    color: #fff;
    box-shadow: 0 4px 18px rgba(46,204,113,0.4);
}
.mmp-hiw-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(46,204,113,0.5);
    color: #fff;
    text-decoration: none;
}

.mmp-hiw-btn--ghost {
    background: #fff;
    color: var(--mmp-text, #2d3748);
    border: 1.5px solid var(--mmp-border, #e2e8f0);
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.mmp-hiw-btn--ghost:hover {
    border-color: var(--mmp-blue, #2c7be5);
    color: var(--mmp-blue, #2c7be5);
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(44,123,229,0.12);
    text-decoration: none;
}

@media (max-width: 540px) {
    .mmp-hiw-section { padding: 48px 16px 56px; }
    .mmp-hiw-actions { flex-direction: column; align-items: center; }
    .mmp-hiw-btn { width: 100%; max-width: 320px; justify-content: center; }
}

/* ============================================================
   v5.3.0 — Admin gift package UI
   ============================================================ */

.mmp-gift-pkg-wrap {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 24px;
    max-width: 600px;
    margin-top: 16px;
}

.mmp-gift-pkg-wrap .mmp-field-row {
    margin-bottom: 16px;
}

.mmp-gift-pkg-wrap label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
    color: #1f2937;
}

.mmp-gift-pkg-wrap select,
.mmp-gift-pkg-wrap input[type="text"] {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 0.9rem;
}

.mmp-gift-result {
    margin-top: 12px;
    padding: 10px 16px;
    border-radius: 6px;
    font-size: 0.9rem;
    display: none;
}

.mmp-gift-result.success { background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0; }
.mmp-gift-result.error   { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }

/* ============================================================
   v5.3.1 — FORCE $ colour fix (beats .color-dark white override)
   ============================================================ */

/* ERE package price: the number and the sup/$-sign */
.ere-package-item .ere-package-price,
.ere-package-wrap .ere-package-price,
.ere-property-featured .ere-package-price {
    color: var(--mmp-blue) !important;
    font-size: 2.2rem !important;
    font-weight: 800 !important;
}

/* The <sup> that wraps the currency symbol when small_sign=true */
.ere-package-item .ere-package-price sup,
.ere-package-wrap .ere-package-price sup,
.ere-property-featured .ere-package-price sup,
h2.ere-package-price sup,
.list-group-item h2 sup {
    color: #f59e0b !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    vertical-align: super !important;
    position: relative !important;
    top: -4px !important;
    letter-spacing: 0 !important;
}

/* Override .color-dark global white-text that was winning */
.ere-package-item.active h2.ere-package-price,
.ere-property-featured .ere-package-price,
.color-dark .ere-package-price {
    color: var(--mmp-blue) !important;
}

.ere-package-item.active h2.ere-package-price sup,
.ere-property-featured .ere-package-price sup,
.color-dark .ere-package-price sup {
    color: #f59e0b !important;
}

/* ============================================================
   v5.3.1 — Featured shortcode: property-list-two-columns layout
   The shortcode uses .ere-property-featured.property-list-two-columns
   with .ere-item-wrap > .property-inner structure
   ============================================================ */

/* Section wrapper */
.ere-property-featured.property-list-two-columns {
    padding: 20px 0 40px !important;
}

/* Each property card */
.ere-property-featured.property-list-two-columns .ere-item-wrap .property-inner {
    background: #fff !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 6px 32px rgba(37,99,235,0.11), 0 1px 6px rgba(0,0,0,0.06) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    border: 2px solid rgba(37,99,235,0.07) !important;
    position: relative !important;
}

.ere-property-featured.property-list-two-columns .ere-item-wrap .property-inner:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 16px 50px rgba(37,99,235,0.18), 0 4px 16px rgba(0,0,0,0.09) !important;
    border-color: rgba(37,99,235,0.25) !important;
}

/* Featured badge overlay */
.ere-property-featured.property-list-two-columns .ere-item-wrap .property-inner::before {
    content: "★ Featured";
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 5;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 50px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    box-shadow: 0 2px 8px rgba(245,158,11,0.4);
    animation: mmpShimmer 2.5s infinite;
}

/* Thumbnail */
.ere-property-featured.property-list-two-columns .property-image {
    height: 220px !important;
    overflow: hidden !important;
}

.ere-property-featured.property-list-two-columns .property-image img,
.ere-property-featured.property-list-two-columns .property-image a img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.5s ease !important;
}

.ere-property-featured.property-list-two-columns .ere-item-wrap .property-inner:hover .property-image img {
    transform: scale(1.06) !important;
}

/* Content area */
.ere-property-featured.property-list-two-columns .property-item-content {
    padding: 18px 20px 20px !important;
    background: #fff !important;
    color: var(--mmp-text) !important;
}

/* Title */
.ere-property-featured.property-list-two-columns .property-title a,
.ere-property-featured.property-list-two-columns h3 a,
.ere-property-featured.property-list-two-columns .property-title {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: var(--mmp-heading) !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
    display: block !important;
    margin-bottom: 6px !important;
}

.ere-property-featured.property-list-two-columns .property-title a:hover {
    color: var(--mmp-blue) !important;
}

/* Price */
.ere-property-featured.property-list-two-columns .property-price,
.ere-property-featured.property-list-two-columns .ere-property-price {
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    color: var(--mmp-blue) !important;
    margin: 6px 0 !important;
}

/* Location / address */
.ere-property-featured.property-list-two-columns .property-location,
.ere-property-featured.property-list-two-columns .property-address {
    font-size: 0.82rem !important;
    color: var(--mmp-text-light) !important;
    margin-bottom: 8px !important;
}

/* Meta row (beds/baths/area) */
.ere-property-featured.property-list-two-columns .property-meta,
.ere-property-featured.property-list-two-columns .ere-property-meta {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    margin-top: 10px !important;
    padding-top: 10px !important;
    border-top: 1px solid var(--mmp-border) !important;
    font-size: 0.82rem !important;
    color: var(--mmp-text-light) !important;
}

.ere-property-featured.property-list-two-columns .property-meta span,
.ere-property-featured.property-list-two-columns .property-meta li {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    color: var(--mmp-text-light) !important;
    font-size: 0.82rem !important;
}

/* Detail link button */
.ere-property-featured.property-list-two-columns .property-link-detail a,
.ere-property-featured.property-list-two-columns .btn-view-detail {
    display: inline-block !important;
    margin-top: 12px !important;
    padding: 8px 22px !important;
    background: linear-gradient(135deg, var(--mmp-blue), #1a56db) !important;
    color: #fff !important;
    border-radius: 50px !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
    box-shadow: 0 3px 12px rgba(37,99,235,0.3) !important;
}

.ere-property-featured.property-list-two-columns .property-link-detail a:hover,
.ere-property-featured.property-list-two-columns .btn-view-detail:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 18px rgba(37,99,235,0.4) !important;
    color: #fff !important;
}

/* Override color-dark text forcing white on content area */
.ere-property-featured.property-list-two-columns.color-dark .property-item-content,
.ere-property-featured.property-list-two-columns.color-dark .property-item-content * {
    color: var(--mmp-text) !important;
}

.ere-property-featured.property-list-two-columns.color-dark .property-title a {
    color: var(--mmp-heading) !important;
}

.ere-property-featured.property-list-two-columns.color-dark .property-price,
.ere-property-featured.property-list-two-columns.color-dark .ere-property-price {
    color: var(--mmp-blue) !important;
}

/* Entrance animation override */
.ere-property-featured.property-list-two-columns .ere-item-wrap {
    animation: mmpFadeUp 0.5s ease both;
}

.ere-property-featured.property-list-two-columns .ere-item-wrap:nth-child(2) { animation-delay: 0.1s; }
.ere-property-featured.property-list-two-columns .ere-item-wrap:nth-child(3) { animation-delay: 0.2s; }
.ere-property-featured.property-list-two-columns .ere-item-wrap:nth-child(4) { animation-delay: 0.3s; }
.ere-property-featured.property-list-two-columns .ere-item-wrap:nth-child(5) { animation-delay: 0.4s; }
.ere-property-featured.property-list-two-columns .ere-item-wrap:nth-child(6) { animation-delay: 0.5s; }

/* Responsive: stack to 1 column on small screens */
@media (max-width: 768px) {
    .ere-property-featured.property-list-two-columns .property-content-wrap.columns-2 .ere-item-wrap {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* ==========================================================================
   v5.3.1 — Stripe Express Checkout (Apple Pay / Google Pay)
   ========================================================================== */

/* Wrapper — hidden by default, JS shows it when canMakePayment() = true */
.mmp-express-checkout {
    margin-bottom: 24px;
}

/* "Express checkout" label */
.mmp-express-label {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #6b7280;
    text-align: center;
    margin-bottom: 10px;
}

/* Container for the Stripe Payment Request Button iframe */
.mmp-prb-container {
    min-height: 48px;
    border-radius: 8px;
    overflow: hidden;
}

/* "— or pay by card —" divider */
.mmp-express-divider {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 18px 0 6px;
    color: #9ca3af;
    font-size: 0.82rem;
}
.mmp-express-divider::before,
.mmp-express-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #e5e7eb;
}
.mmp-express-divider span {
    white-space: nowrap;
}

/* Inline spinner (shown while AJAX is in flight) */
.mmp-spinner {
    width: 22px;
    height: 22px;
    border: 3px solid #e5e7eb;
    border-top-color: #374151;
    border-radius: 50%;
    animation: mmp-spin 0.7s linear infinite;
}
@keyframes mmp-spin {
    to { transform: rotate(360deg); }
}

/* Error message inside express wrapper */
#mmp-express-error {
    color: #dc2626;
    font-size: 0.875rem;
    margin-top: 8px;
    padding: 8px 12px;
    background: #fef2f2;
    border-radius: 6px;
    display: none;
}

/* ============================================================
   Mobile Responsive Enhancements
   ============================================================ */

/* Payment method radio buttons — larger tap targets on mobile */
@media (max-width: 767px) {
    .ere-payment-method-wrap .radio {
        margin-bottom: 10px;
    }
    .ere-payment-method-wrap .radio label {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 16px;
        border: 2px solid var(--mmp-border);
        border-radius: var(--mmp-radius-sm);
        cursor: pointer;
        font-size: 1rem;
        transition: border-color 0.2s;
    }
    .ere-payment-method-wrap .radio input[type="radio"] {
        width: 20px;
        height: 20px;
        flex-shrink: 0;
    }
    .ere-payment-method-wrap .radio label:has(input:checked) {
        border-color: #f26722;
        background: #fff8f5;
    }

    /* Package grid — single column on small screens */
    .ere-package-list .row > [class*="col-"] {
        margin-bottom: 20px;
    }
    .ere-package-item {
        width: 100% !important;
    }

    /* Payment page columns — stack vertically */
    .payment-wrap .row {
        flex-direction: column;
    }
    .payment-wrap .col-md-4,
    .payment-wrap .col-md-8 {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
    }
    .payment-wrap .col-md-4 {
        margin-bottom: 20px;
    }

    /* Order summary — full-width */
    .mmp-order-summary {
        margin-left: 0;
        margin-right: 0;
    }

    /* Featured listings — single column */
    .ere-property-featured.property-list-two-columns .row > [class*="col-"] {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        margin-bottom: 16px;
    }

    /* Discount code input — full width */
    #mmp-discount-wrap {
        flex-direction: column;
    }
    #mmpDiscountInput {
        width: 100% !important;
        margin-bottom: 8px;
    }

    /* Stripe express button — full width */
    .mmp-prb-container,
    #payment-request-button {
        width: 100% !important;
    }
}

/* Tablet tweaks */
@media (min-width: 768px) and (max-width: 991px) {
    .ere-property-featured.property-list-two-columns .ere-item-wrap {
        min-height: 0;
    }
    .ere-package-item {
        margin-bottom: 20px;
    }
}

/* ============================================================
   Analytics — Payment Success Page Visibility Hook
   ============================================================
   The .mmp-payment-success class is added by mmp-analytics.js
   after GA4 + Meta Pixel events fire, purely for debugging.
   ============================================================ */
.mmp-payment-success-marker {
    display: none;
}

/* ============================================================
   v5.4.0 — Package cards: compact redesign
   ============================================================
   Goal: cards feel shorter, cleaner, more premium.
   - Hide the redundant "Property Listing: 1" and "Featured: 0" rows
     (info is already communicated in the features checklist).
   - Collapse the "Expiration Date" row to a small sub-caption
     below the price rather than a tall list item.
   - Tighten internal spacing throughout the card.
   - Make the price block more impactful.
   ============================================================ */

/* Hide the noisy spec rows - all relevant info is in features list */
.ere-package-item .mmp-pkg-meta {
    display: none !important;
}

/* Price block — more impact, less internal padding */
.ere-package-item .list-group-item:first-child {
    padding: 18px 20px 10px !important;
    border-bottom: none !important;
}

.ere-package-item h2.ere-package-price {
    font-size: 2.8rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    margin: 0 !important;
    color: var(--mmp-blue) !important;
    letter-spacing: -1px;
}

/* Features list — tighter + bigger */
.ere-package-item .mmp-features-list {
    padding: 10px 20px 12px !important;
    border-top: 1px solid rgba(0,0,0,0.06) !important;
}

.ere-package-item .mmp-pkg-features {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.ere-package-item .mmp-pkg-features li {
    padding: 4px 0 !important;
    font-size: 0.9rem !important;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: #374151 !important;
    line-height: 1.4;
}

.ere-package-item .mmp-check {
    color: #22c55e !important;
    font-weight: 800 !important;
    flex-shrink: 0;
    margin-top: 1px;
}

/* Services add-ons section */
.ere-package-item .mmp-services-list {
    padding: 8px 20px 12px !important;
    border-top: 1px solid rgba(0,0,0,0.06) !important;
    background: #fafaf8 !important;
}

.ere-package-item .mmp-services-heading {
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #f59e0b !important;
    margin-bottom: 6px !important;
}

.ere-package-item .mmp-pkg-services {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.ere-package-item .mmp-pkg-services li {
    display: flex;
    justify-content: space-between;
    font-size: 0.82rem !important;
    padding: 3px 0 !important;
    color: #4b5563 !important;
}

.ere-package-item .mmp-pkg-services li .svc-price {
    font-weight: 700 !important;
    color: #16a34a !important;
}

/* Choose/CTA button area */
.ere-package-item .ere-package-choose {
    padding: 14px 20px 18px !important;
    border-top: 1px solid rgba(0,0,0,0.06) !important;
}

/* Card overall */
.ere-package-wrap .ere-package-item {
    border-radius: 16px !important;
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.2s !important;
}

.ere-package-wrap .ere-package-item:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 16px 40px rgba(30,58,110,0.18) !important;
}

/* Card header */
.ere-package-item .card-header {
    padding: 14px 20px !important;
}

/* Active (featured/recommended) card header badge */
.ere-package-item.active .card-header {
    position: relative;
}
.ere-package-item.active .card-header::after {
    content: "★ Recommended";
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: rgba(255,255,255,0.2);
    color: #fff;
    padding: 2px 8px;
    border-radius: 20px;
}


/* ============================================================
   v5.4.0 — Advanced search form: clean redesign with icons
   ============================================================
   - Rounded pill inputs with soft shadow card wrapper
   - Font Awesome icons injected via ::before on form-group
   - Removed pointless country/state/garage/identity fields
     (done via ensure_nz_options search_fields option)
   ============================================================ */

/* Outer wrapper — soft card */
.form-search-wrap {
    background: #fff !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 28px rgba(30,58,110,0.10), 0 1px 4px rgba(0,0,0,0.05) !important;
    padding: 24px 28px 20px !important;
    margin-bottom: 32px !important;
}

/* Search button row */
.form-search-wrap .search-properties-form .btn-search-properties {
    border-radius: 30px !important;
    padding: 11px 32px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em;
    font-size: 1rem !important;
}

/* Individual field inputs & selects — pill style */
.form-search-wrap .form-group .form-control,
.form-search-wrap .form-group .select2-container .select2-selection--single {
    border-radius: 30px !important;
    padding-left: 44px !important;
    border: 1.5px solid #e2e8f0 !important;
    background: #f8fafd !important;
    height: 46px !important;
    font-size: 0.9rem !important;
    color: #1e293b !important;
    transition: border-color 0.18s, box-shadow 0.18s !important;
}

.form-search-wrap .form-group .form-control:focus,
.form-search-wrap .form-group .select2-container--open .select2-selection--single {
    border-color: var(--mmp-blue) !important;
    box-shadow: 0 0 0 3px rgba(30,58,110,0.08) !important;
    outline: none !important;
    background: #fff !important;
}

/* Select2 arrow fix */
.form-search-wrap .select2-selection__arrow {
    top: 50% !important;
    transform: translateY(-50%) !important;
    right: 14px !important;
}
.form-search-wrap .select2-selection__rendered {
    line-height: 44px !important;
    padding-left: 44px !important;
}

/* Icon pseudo-elements on form-group using Font Awesome */
.form-search-wrap .form-group {
    position: relative;
}

.form-search-wrap .form-group::before {
    font-family: 'FontAwesome', 'Font Awesome 5 Free', 'Font Awesome 4 Webfont';
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    color: var(--mmp-orange);
    position: absolute;
    left: 17px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    pointer-events: none;
    display: block;
    line-height: 1;
    content: "\f0b0"; /* generic filter icon as fallback */
}

/* Property Type → home icon */
.form-search-wrap .form-group:has(select[name="type"])::before    { content: "\f015"; } /* fa-home */

/* Address → map marker */
.form-search-wrap .form-group:has(input[name="address"])::before  { content: "\f041"; } /* fa-map-marker */

/* City → building */
.form-search-wrap .form-group:has(select[name="city"])::before    { content: "\f1ad"; } /* fa-building */

/* Neighborhood → map pin */
.form-search-wrap .form-group:has(input[name="neighborhood"])::before { content: "\f276"; } /* fa-map-pin */

/* Bedrooms → bed */
.form-search-wrap .form-group:has([name="bedrooms"])::before       { content: "\f236"; } /* fa-bed */

/* Bathrooms → shower/bath */
.form-search-wrap .form-group:has([name="bathrooms"])::before      { content: "\f2cd"; } /* fa-bath */

/* Price → dollar sign */
.form-search-wrap .form-group:has([name="min_price"])::before,
.form-search-wrap .form-group:has([name="max_price"])::before,
.form-search-wrap .form-group:has([class*="price"])::before        { content: "\f155"; } /* fa-dollar */

/* Area/size → arrows */
.form-search-wrap .form-group:has([name="min_size"])::before,
.form-search-wrap .form-group:has([name="max_size"])::before,
.form-search-wrap .form-group:has([class*="size"])::before         { content: "\f0b2"; } /* fa-arrows */

/* Label → tag */
.form-search-wrap .form-group:has(select[name="label"])::before    { content: "\f02b"; } /* fa-tag */

/* Features → check-circle */
.form-search-wrap .form-group:has([name="feature"])::before,
.form-search-wrap .form-group:has([name="feature[]"])::before      { content: "\f058"; } /* fa-check-circle */

/* Title / keyword → search */
.form-search-wrap .form-group:has(input[name="title"])::before,
.form-search-wrap .form-group:has(input[name="keyword"])::before   { content: "\f002"; } /* fa-search */

/* Section heading for the advanced search form (if shown) */
.form-search-wrap .ere-search-heading,
.form-search-wrap > h2,
.form-search-wrap > h3 {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: var(--mmp-blue) !important;
    margin-bottom: 16px !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Advanced search toggle button — cleaner */
.form-search-wrap .btn-show-advanced-search-form {
    font-size: 0.82rem !important;
    color: var(--mmp-orange) !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* Mobile: full-width inputs in search */
@media (max-width: 767px) {
    .form-search-wrap {
        padding: 16px 16px 14px !important;
        border-radius: 14px !important;
    }
    .form-search-wrap .form-group {
        margin-bottom: 10px;
    }
}


/* ============================================================
   v5.4.0 — Featured Properties Slideshow (Browse Page)
   ============================================================
   Full-width hero slideshow with glow effect, "Featured" badge,
   and smooth slide transitions at the top of the browse page.
   ============================================================ */

/* ---- Slideshow container ---- */
.mmp-featured-browse {
    position: relative;
    width: 100%;
    height: 460px;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 40px;
    margin-top: 8px;
    padding-top: 0; /* heading is positioned absolutely */
    user-select: none;
    /* Outer glow effect — "premium" feel */
    box-shadow:
        0 0 0 3px rgba(242,103,34,0.25),
        0 8px 40px rgba(30,58,110,0.22),
        0 0 60px rgba(242,103,34,0.08);
}

/* ---- Track holds all slides ---- */
.mmp-fb-track {
    width: 100%;
    height: 100%;
    position: relative;
}

/* ---- Individual slide ---- */
.mmp-fb-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.65s ease;
    pointer-events: none;
}

.mmp-fb-slide.active {
    opacity: 1;
    pointer-events: auto;
    z-index: 2;
}

.mmp-fb-slide.leaving {
    opacity: 0;
    z-index: 1;
}

/* ---- Background image ---- */
.mmp-fb-img {
    position: absolute;
    /* Slight oversize on all edges to prevent any white bars during zoom */
    inset: -8px;
    background-size: cover;
    background-position: center center;
    transform: scale(1.06);
    transition: transform 8s ease;
}

.mmp-fb-slide.active .mmp-fb-img {
    transform: scale(1.02); /* Ken Burns zoom-out — never goes below 1.02 to avoid edge gaps */
}

/* ---- Dark gradient overlay ---- */
.mmp-fb-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(10,20,50,0.65) 0%,
        rgba(10,20,50,0.30) 50%,
        rgba(10,20,50,0.55) 100%
    );
    z-index: 1;
}

/* ---- Featured badge (top-right) ---- */
.mmp-fb-badge {
    position: absolute;
    top: 18px;
    right: 20px;
    z-index: 10;
    background: var(--mmp-orange, #f26722);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 5px 14px 5px 10px;
    border-radius: 30px;
    display: flex;
    align-items: center;
    gap: 5px;
    /* Glow on the badge */
    box-shadow:
        0 0 0 2px rgba(255,255,255,0.3),
        0 4px 18px rgba(242,103,34,0.7);
}

.mmp-fb-badge-star {
    color: #ffe066;
    font-size: 0.85rem;
}

/* "New" variant for fallback mode */
.mmp-fb-badge--recent {
    background: linear-gradient(135deg, var(--mmp-blue, #2c7be5), var(--mmp-blue-dark, #1a5fba));
    box-shadow:
        0 0 12px rgba(44,123,229,0.6),
        0 4px 18px rgba(44,123,229,0.4);
}

/* ---- Content card (bottom-left) ---- */
.mmp-fb-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 5;
    padding: 24px 28px 22px;
    /* Second gradient from bottom */
    background: linear-gradient(to top, rgba(8,18,46,0.92) 0%, transparent 100%);
}

/* Property type/bed/bath chips */
.mmp-fb-meta {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.mmp-fb-chip {
    background: rgba(255,255,255,0.16);
    backdrop-filter: blur(6px);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 3px 11px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border: 1px solid rgba(255,255,255,0.2);
}

/* Title */
.mmp-fb-title {
    margin: 0 0 6px !important;
    font-size: 1.55rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    color: #fff !important;
    text-shadow: 0 1px 8px rgba(0,0,0,0.5);
}

.mmp-fb-title a {
    color: #fff !important;
    text-decoration: none !important;
}

.mmp-fb-title a:hover {
    text-decoration: underline !important;
}

/* Address */
.mmp-fb-address {
    color: rgba(255,255,255,0.78) !important;
    font-size: 0.85rem !important;
    margin: 0 0 14px !important;
    display: flex;
    align-items: center;
    gap: 6px;
}

.mmp-fb-address .fa {
    color: var(--mmp-orange, #f26722);
    font-size: 0.85rem;
}

/* Bottom row: price + CTA */
.mmp-fb-bottom {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

.mmp-fb-price {
    font-size: 1.7rem;
    font-weight: 900;
    color: #fff;
    letter-spacing: -0.5px;
    line-height: 1;
}

.mmp-fb-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--mmp-orange, #f26722);
    color: #fff !important;
    font-weight: 700;
    font-size: 0.88rem;
    padding: 10px 22px;
    border-radius: 30px;
    text-decoration: none !important;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
    box-shadow: 0 4px 16px rgba(242,103,34,0.45);
}

.mmp-fb-cta:hover {
    background: #d4551b !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 22px rgba(242,103,34,0.55) !important;
}

/* ---- Navigation dots ---- */
.mmp-fb-dots {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 20;
    display: flex;
    gap: 7px;
    align-items: center;
}

.mmp-fb-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    background: rgba(255,255,255,0.4);
    transition: background 0.25s, transform 0.2s;
    padding: 0;
    flex-shrink: 0;
}

.mmp-fb-dot.active {
    background: var(--mmp-orange, #f26722);
    transform: scale(1.4);
    box-shadow: 0 0 8px rgba(242,103,34,0.6);
}

.mmp-fb-dot:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

/* ---- Prev / Next arrows ---- */
.mmp-fb-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    background: rgba(255,255,255,0.18);
    backdrop-filter: blur(6px);
    color: #fff;
    font-size: 24px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, transform 0.15s;
}

.mmp-fb-arrow:hover {
    background: var(--mmp-orange, #f26722);
    transform: translateY(-50%) scale(1.08);
}

.mmp-fb-prev { left: 16px; }
.mmp-fb-next { right: 16px; }

/* ---- Mobile adjustments ---- */
@media (max-width: 767px) {
    .mmp-featured-browse {
        height: 320px;
        border-radius: 14px;
        margin-bottom: 24px;
    }
    .mmp-fb-title {
        font-size: 1.15rem !important;
    }
    .mmp-fb-price {
        font-size: 1.3rem;
    }
    .mmp-fb-content {
        padding: 16px 16px 14px;
    }
    .mmp-fb-cta {
        padding: 8px 16px;
        font-size: 0.82rem;
    }
    .mmp-fb-arrow {
        width: 36px;
        height: 36px;
        font-size: 20px;
    }
    .mmp-fb-badge {
        top: 12px;
        right: 14px;
        font-size: 0.66rem;
    }
}

/* ---- Heading overlaid on slideshow (top-left) ---- */
.mmp-fb-heading {
    position: absolute;
    top: 14px;
    left: 18px;
    z-index: 10;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--mmp-orange, #f26722);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    /* Ensure readable over dark images */
    text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}

.mmp-fb-heading::before {
    content: '';
    display: inline-block;
    width: 24px;
    height: 2px;
    background: var(--mmp-orange, #f26722);
    border-radius: 2px;
}


/* ============================================================
   Package Page — Eyebrow, Badge, Payment Strip  (v5.5)
   ============================================================ */

.ere-package-wrap .ere-heading {
    text-align: center;
    max-width: 680px;
    margin: 0 auto 36px;
}

.mmp-pkg-eyebrow {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--mmp-blue, #2c7be5);
    background: rgba(44,123,229,0.08);
    border: 1px solid rgba(44,123,229,0.18);
    border-radius: 20px;
    padding: 4px 14px;
    margin-bottom: 10px;
}

.ere-package-wrap .ere-heading h2 {
    font-size: clamp(1.6rem, 4vw, 2.2rem);
    font-weight: 800;
    color: var(--mmp-heading, #1a202c);
    margin: 0 0 10px;
}

.ere-package-wrap .ere-heading p {
    color: var(--mmp-text-light, #718096);
    font-size: 1rem;
    margin: 0 0 14px;
}

/* 1-listing badge */
.mmp-pkg-1listing-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    color: var(--mmp-text, #2d3748);
    background: #f0fff4;
    border: 1px solid #c6f6d5;
    border-radius: 24px;
    padding: 6px 16px;
    margin-top: 4px;
}

.mmp-pkg-1l-icon {
    color: var(--mmp-green, #2ecc71);
    font-weight: 700;
    font-size: 1rem;
}

.mmp-pkg-1l-sep {
    color: var(--mmp-border, #e2e8f0);
}

/* Payment methods strip */
.mmp-payment-options-strip {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 16px;
    margin: 0 auto 18px;
    font-size: 0.8rem;
    color: var(--mmp-text-light, #718096);
}

.mmp-po-label {
    font-weight: 600;
    color: #fff;
}

.mmp-po-stripe,
.mmp-po-ap,
.mmp-po-appay,
.mmp-po-gpay {
    background: #fff;
    border: 1px solid var(--mmp-border, #e2e8f0);
    border-radius: 6px;
    padding: 3px 10px;
    font-size: 0.78rem;
    font-weight: 600;
}

.mmp-po-stripe { color: #6772e5; }
.mmp-po-ap     { color: #b2fce4; background: #1d1d1d; border-color: #1d1d1d; }
.mmp-po-appay  { color: #000; }
.mmp-po-gpay   { color: #4285f4; }

.mmp-po-sep {
    color: rgba(255,255,255,0.4);
}

/* Add-ons notice */
.mmp-addons-notice {
    text-align: center;
    font-size: 0.84rem;
    color: var(--mmp-text-light, #718096);
    margin: 0 auto 28px;
    max-width: 560px;
}

.mmp-addons-notice strong {
    color: var(--mmp-text, #2d3748);
}

/* Package card — features list */
.mmp-features-list {
    background: #f8fafc !important;
    padding: 14px 18px !important;
    border-top: 1px solid var(--mmp-border, #e2e8f0) !important;
}

.mmp-pkg-features {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mmp-pkg-features li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.84rem;
    color: var(--mmp-text, #2d3748);
    padding: 3px 0;
}

.mmp-check {
    color: var(--mmp-green, #2ecc71);
    font-weight: 700;
    flex-shrink: 0;
    margin-top: 1px;
}

/* Optional add-ons inside package card */
.mmp-services-list {
    background: #fffdf7 !important;
    padding: 14px 18px !important;
    border-top: 1px solid #feebc8 !important;
}

.mmp-services-heading {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--mmp-orange, #e67e22);
    margin-bottom: 8px;
}

.mmp-services-heading .fa {
    margin-right: 4px;
}

.mmp-pkg-services {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mmp-pkg-services li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.82rem;
    color: var(--mmp-text, #2d3748);
    padding: 3px 0;
}

.mmp-svc-price {
    font-weight: 600;
    color: var(--mmp-orange, #e67e22);
    white-space: nowrap;
    margin-left: 8px;
}


/* ============================================================
   Afterpay Payment Option  (v5.5)
   ============================================================ */

/* Inject container */
.mmp-afterpay-option {
    margin-top: 10px;
    border: 1.5px solid #e2e8f0;
    border-radius: var(--mmp-radius, 10px);
    overflow: hidden;
    transition: border-color 0.2s;
}

.mmp-afterpay-option:has(input:checked) {
    border-color: #b2fce4;
    box-shadow: 0 0 0 3px rgba(178,252,228,0.35);
}

.mmp-afterpay-label-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    cursor: pointer;
    background: #fafafa;
    transition: background 0.15s;
}

.mmp-afterpay-label-wrap:hover {
    background: #f0fff8;
}

.mmp-afterpay-label-wrap input[type="radio"] {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    accent-color: #1d1d1d;
}

.mmp-ap-label-inner {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.mmp-ap-logo {
    display: inline-block;
    font-size: 0.95rem;
    font-weight: 800;
    color: #1d1d1d;
    background: #b2fce4;
    border-radius: 4px;
    padding: 1px 8px;
    letter-spacing: -0.02em;
    line-height: 1.5;
}

.mmp-ap-tagline {
    font-size: 0.8rem;
    color: var(--mmp-text-light, #718096);
}

.mmp-ap-badge {
    margin-left: auto;
    flex-shrink: 0;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #1d1d1d;
    background: #b2fce4;
    border-radius: 20px;
    padding: 3px 10px;
}

/* Panel (revealed when selected) */
#mmp-afterpay-panel {
    padding: 16px 18px 18px;
    background: #fff;
    border-top: 1px solid #e2e8f0;
}

/* Info box */
.mmp-ap-info-box {
    display: flex;
    gap: 12px;
    background: #f0fff8;
    border: 1px solid #c6f6d5;
    border-radius: 8px;
    padding: 14px 16px;
    margin-bottom: 16px;
}

.mmp-ap-info-icon {
    flex-shrink: 0;
    margin-top: 2px;
}

/* Mint pill inside the info icon area */
.mmp-ap-info-mint {
    display: inline-block;
    background: #b2fce4;
    color: #1d1d1d;
    font-size: 0.68rem;
    font-weight: 800;
    border-radius: 4px;
    padding: 2px 7px;
    letter-spacing: -0.02em;
    line-height: 1.5;
}

.mmp-ap-info-content {
    flex: 1;
    min-width: 0;
}

.mmp-ap-info-box strong {
    display: block;
    font-size: 0.88rem;
    color: var(--mmp-heading, #1a202c);
    margin-bottom: 4px;
}

.mmp-ap-info-box p {
    font-size: 0.82rem;
    color: var(--mmp-text-light, #718096);
    margin: 0 0 10px;
    line-height: 1.5;
}

/* Fortnightly payment schedule — proper table */
.mmp-ap-schedule-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 8px;
    table-layout: fixed;
}

.mmp-ap-schedule-table th {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--mmp-text-light, #718096);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: rgba(0,0,0,0.04);
    padding: 5px 6px;
    text-align: center;
    border: 1px solid #e2e8f0;
}

.mmp-ap-schedule-table th:first-child { border-radius: 6px 0 0 0; }
.mmp-ap-schedule-table th:last-child  { border-radius: 0 6px 0 0; }

.mmp-ap-schedule-table td {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--mmp-heading, #1a202c);
    background: #fff;
    padding: 6px;
    text-align: center;
    border: 1px solid #e2e8f0;
}

.mmp-ap-schedule-table td:first-child { border-radius: 0 0 0 6px; }
.mmp-ap-schedule-table td:last-child  { border-radius: 0 0 6px 0; }

/* Name/email fields */
.mmp-ap-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 14px;
}

.mmp-ap-fields .mmp-ap-input:last-child {
    grid-column: 1 / -1;
}

.mmp-ap-input {
    height: 42px;
    border: 1.5px solid var(--mmp-border, #e2e8f0);
    border-radius: 8px;
    padding: 0 14px;
    font-size: 0.88rem;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.mmp-ap-input:focus {
    outline: none;
    border-color: var(--mmp-blue, #2c7be5);
    box-shadow: 0 0 0 3px rgba(44,123,229,0.12);
}

/* Error message */
.mmp-ap-error {
    background: #fff5f5;
    border: 1px solid #fed7d7;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 0.84rem;
    color: #c53030;
    margin-bottom: 12px;
}

/* Pay button */
.mmp-ap-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #1d1d1d;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 13px 20px;
    font-size: 0.95rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
    margin-bottom: 10px;
}

.mmp-ap-btn:hover:not(:disabled) {
    background: #333;
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(0,0,0,0.2);
}

.mmp-ap-btn:active:not(:disabled) {
    transform: translateY(0);
}

.mmp-ap-btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

.mmp-ap-btn-logo {
    display: inline-block;
    background: #b2fce4;
    color: #1d1d1d;
    border-radius: 3px;
    padding: 1px 6px;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.mmp-ap-btn-inst {
    font-size: 0.8rem;
    opacity: 0.8;
    font-weight: 400;
    margin-left: 4px;
}

/* T&C checkbox wrap */
.mmp-ap-tc-wrap {
    margin-bottom: 14px;
}

.mmp-ap-tc-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.82rem;
    color: var(--mmp-text, #2d3748);
    cursor: pointer;
    line-height: 1.5;
}

/* The host theme strips checkbox appearance, so we force a visible
   native control AND draw a square border around it as a backup
   in case `appearance: checkbox` is overridden further down. */
.mmp-ap-tc-label input[type="checkbox"],
.mmp-ap-tc-wrap input[type="checkbox"]#mmp-ap-tc {
    flex-shrink: 0 !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    margin: 2px 0 0 0 !important;
    padding: 0 !important;
    position: relative !important;
    -webkit-appearance: checkbox !important;
    -moz-appearance: checkbox !important;
    appearance: checkbox !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border: 2px solid #4a5568 !important;
    border-radius: 3px !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-block !important;
    accent-color: #2ecc71 !important;
    cursor: pointer !important;
    box-shadow: 0 0 0 1px rgba(0,0,0,0.05) !important;
}
.mmp-ap-tc-label input[type="checkbox"]:checked,
.mmp-ap-tc-wrap input[type="checkbox"]#mmp-ap-tc:checked {
    background: #2ecc71 !important;
    background-color: #2ecc71 !important;
    border-color: #27ae60 !important;
}
/* Drawn checkmark — kicks in only when the native glyph is suppressed
   (appears via :before so it doesn't double up when the browser
   already paints its own check). */
.mmp-ap-tc-label input[type="checkbox"]:checked::after,
.mmp-ap-tc-wrap input[type="checkbox"]#mmp-ap-tc:checked::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 1px;
    width: 6px;
    height: 11px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.mmp-ap-tc-label a {
    color: var(--mmp-blue, #2c7be5);
    text-decoration: underline;
}

/* Terms note (below the button) */
.mmp-ap-terms-note {
    font-size: 0.73rem;
    color: var(--mmp-text-light, #718096);
    text-align: center;
    margin: 0;
}

/* Global payment error message */
.mmp-global-pay-error {
    background: #fff5f5;
    border: 1px solid #fed7d7;
    border-left: 4px solid #e53e3e;
    border-radius: 8px;
    padding: 12px 16px;
    font-size: 0.88rem;
    color: #c53030;
    margin-bottom: 14px;
    animation: mmpFadeUp 0.25s ease;
}

/* Spinner */
@keyframes mmpSpinner {
    to { transform: rotate(360deg); }
}

.mmp-ap-spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255,255,255,0.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: mmpSpinner 0.7s linear infinite;
    vertical-align: middle;
    margin-right: 6px;
    flex-shrink: 0;
}

/* Return notice (shown on redirect-back page) */
.mmp-ap-return-notice {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
    min-width: 320px;
    max-width: 520px;
    border-radius: 10px;
    padding: 14px 20px;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
    animation: mmpFadeUp 0.3s ease;
}

.mmp-ap-return-notice.alert-info    { background: #ebf8ff; border: 1px solid #90cdf4; color: #2b6cb0; }
.mmp-ap-return-notice.alert-danger  { background: #fff5f5; border: 1px solid #fed7d7; color: #c53030; }
.mmp-ap-return-notice.alert-warning { background: #fffbeb; border: 1px solid #fbd38d; color: #92400e; }


/* (Old two-column HIW CSS removed — replaced by .mmp-hiw-section card grid above) */


/* ============================================================
   Browse / Advanced Search — Clean Dropdown UI  (v5.5)
   ============================================================ */

/* Wrapper that appears at the top of the browse page */
.mmp-search-bar-wrap {
    background: #fff;
    border: 1px solid var(--mmp-border, #e2e8f0);
    border-radius: 14px;
    box-shadow: var(--mmp-card-shadow);
    padding: 20px 24px 16px;
    margin-bottom: 28px;
}

/* Row of filters */
.mmp-search-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-end;
}

.mmp-search-row .form-group,
.mmp-search-row .ere-search-field {
    flex: 1 1 180px;
    min-width: 140px;
    margin-bottom: 0 !important;
}

/* Force selects to look consistent */
.mmp-search-bar-wrap select,
.ere-search-form select,
.ere-property-advanced-search select {
    appearance: none;
    -webkit-appearance: none;
    background-color: #fff;
    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 d='M1 1l5 5 5-5' stroke='%23718096' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px !important;
    border: 1.5px solid var(--mmp-border, #e2e8f0);
    border-radius: 8px;
    height: 42px;
    font-size: 0.88rem;
    color: var(--mmp-text, #2d3748);
    cursor: pointer;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.mmp-search-bar-wrap select:focus,
.ere-search-form select:focus,
.ere-property-advanced-search select:focus {
    outline: none;
    border-color: var(--mmp-blue, #2c7be5);
    box-shadow: 0 0 0 3px rgba(44,123,229,0.10);
}

/* Text inputs in search */
.mmp-search-bar-wrap input[type="text"],
.ere-search-form input[type="text"],
.ere-property-advanced-search input[type="text"] {
    border: 1.5px solid var(--mmp-border, #e2e8f0);
    border-radius: 8px;
    height: 42px;
    padding: 0 14px;
    font-size: 0.88rem;
    color: var(--mmp-text, #2d3748);
    transition: border-color 0.2s, box-shadow 0.2s;
    width: 100%;
}

.mmp-search-bar-wrap input[type="text"]:focus,
.ere-search-form input[type="text"]:focus,
.ere-property-advanced-search input[type="text"]:focus {
    outline: none;
    border-color: var(--mmp-blue, #2c7be5);
    box-shadow: 0 0 0 3px rgba(44,123,229,0.10);
}

/* Search button */
.ere-property-advanced-search .btn-primary,
.ere-search-form .btn-primary,
.mmp-search-bar-wrap .btn-primary {
    height: 42px;
    padding: 0 24px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 0.9rem;
    background: linear-gradient(135deg, var(--mmp-blue, #2c7be5), var(--mmp-blue-dark, #1a5fba));
    border: none;
    box-shadow: 0 2px 10px rgba(44,123,229,0.3);
    transition: transform 0.15s, box-shadow 0.2s;
    white-space: nowrap;
}

.ere-property-advanced-search .btn-primary:hover,
.ere-search-form .btn-primary:hover,
.mmp-search-bar-wrap .btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(44,123,229,0.4);
}

/* "More filters" toggle */
.mmp-more-filters-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 42px;
    padding: 0 16px;
    border: 1.5px solid var(--mmp-border, #e2e8f0);
    border-radius: 8px;
    background: #fff;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--mmp-text, #2d3748);
    cursor: pointer;
    transition: border-color 0.2s, background 0.15s;
    white-space: nowrap;
}

.mmp-more-filters-btn:hover {
    border-color: var(--mmp-blue, #2c7be5);
    background: #f0f7ff;
}

.mmp-more-filters-btn .mmp-mf-icon {
    font-size: 0.78rem;
    transition: transform 0.2s;
}

.mmp-more-filters-btn.open .mmp-mf-icon {
    transform: rotate(180deg);
}

/* Expanded filters row */
.mmp-extra-filters {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--mmp-border, #e2e8f0);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* Price range dual inputs */
.mmp-price-range {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 260px;
}

.mmp-price-range label {
    font-size: 0.78rem;
    color: var(--mmp-text-light, #718096);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    white-space: nowrap;
    flex-shrink: 0;
}

.mmp-price-range input {
    flex: 1;
    min-width: 80px;
}

.mmp-price-sep {
    color: var(--mmp-text-light, #718096);
    font-size: 0.8rem;
    flex-shrink: 0;
}

/* Active filter count badge on More Filters btn */
.mmp-filter-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--mmp-blue, #2c7be5);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
}

/* Results count bar */
.mmp-results-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    font-size: 0.85rem;
    color: var(--mmp-text-light, #718096);
}

.mmp-results-count {
    font-weight: 700;
    color: var(--mmp-heading, #1a202c);
}

/* Sort-by control */
.mmp-sort-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mmp-sort-wrap label {
    font-size: 0.82rem;
    color: var(--mmp-text-light, #718096);
    white-space: nowrap;
}

.mmp-sort-wrap select {
    height: 34px !important;
    font-size: 0.82rem !important;
    flex: 1 1 auto;
    min-width: 140px;
}

/* Make the ERE advanced search on browse page cleaner */
.ere-property-advanced-search .row > [class*="col-"] {
    margin-bottom: 10px;
}

.ere-property-advanced-search .form-group label {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--mmp-text-light, #718096);
    margin-bottom: 4px;
}

/* Hide the "Advanced Search" h2 when it's embedded in browse — redundant */
.archive-property .ere-property-advanced-search > h2:first-child,
.archive-property .ere-property-advanced-search .ere-heading {
    display: none;
}

/* ── ERE Search Form — fix price slider & button alignment ── */

/* Ensure the entire search form rows use consistent spacing */
.mmp-search-bar-wrap .ere-property-advanced-search .row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-end !important;
}

/* Fix slider containers — prevent overflow */
.ere-property-advanced-search .ere-slider,
.ere-property-advanced-search .ui-slider,
.ere-property-advanced-search .ere-slider-wrap {
    position: relative !important;
    overflow: visible !important;
    height: 6px !important;
    margin: 12px 6px 20px !important;
    border-radius: 3px !important;
    background: var(--mmp-border, #e2e8f0) !important;
}

/* Slider handles */
.ere-property-advanced-search .ui-slider-handle {
    position: absolute !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    background: var(--mmp-blue, #2c7be5) !important;
    border: 2px solid #fff !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.2) !important;
    top: -7px !important;
    cursor: pointer !important;
    z-index: 2 !important;
}

/* Slider range fill */
.ere-property-advanced-search .ui-slider-range {
    position: absolute !important;
    height: 100% !important;
    background: var(--mmp-blue, #2c7be5) !important;
    border-radius: 3px !important;
}

/* Price text labels below slider */
.ere-property-advanced-search .ere-slider-amount,
.ere-property-advanced-search .price-slider-amount,
.ere-property-advanced-search .ere-range-slider-text {
    font-size: 0.82rem !important;
    color: var(--mmp-text, #2d3748) !important;
    font-weight: 600 !important;
    margin-top: 4px !important;
    display: block !important;
}

/* Search form group containers — ensure no overflow or weird height */
.mmp-search-bar-wrap .form-group {
    overflow: visible !important;
    position: relative !important;
    margin-bottom: 12px !important;
}

/* Search button alignment — make it sit at the bottom of the row */
.mmp-search-bar-wrap .ere-property-advanced-search .ere-search-btn-wrap,
.mmp-search-bar-wrap .ere-property-advanced-search .form-group-btn,
.mmp-search-bar-wrap .ere-property-advanced-search [class*="col-"]:last-child {
    display: flex !important;
    align-items: flex-end !important;
}

/* Status tabs (For Sale / For Rent) styling */
.ere-property-advanced-search .ere-search-status-tab {
    display: flex !important;
    gap: 0 !important;
    margin-bottom: 16px !important;
    border-bottom: 2px solid var(--mmp-border, #e2e8f0) !important;
    overflow: hidden !important;
}

.ere-property-advanced-search .ere-search-status-tab li {
    list-style: none !important;
}

.ere-property-advanced-search .ere-search-status-tab li a {
    display: block !important;
    padding: 8px 20px !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: var(--mmp-text-light, #718096) !important;
    text-decoration: none !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -2px !important;
    transition: color 0.2s, border-color 0.2s !important;
}

.ere-property-advanced-search .ere-search-status-tab li.active a,
.ere-property-advanced-search .ere-search-status-tab li a:hover {
    color: var(--mmp-blue, #2c7be5) !important;
    border-bottom-color: var(--mmp-blue, #2c7be5) !important;
}

/* Collapsible on mobile */
@media (max-width: 768px) {
    .mmp-search-row .form-group,
    .mmp-search-row .ere-search-field {
        flex: 1 1 140px;
    }
    .mmp-more-filters-btn {
        width: 100%;
        justify-content: center;
    }
    .mmp-extra-filters {
        flex-direction: column;
    }
    .mmp-price-range {
        flex: 1 1 100%;
    }

    /* Search form: stack all fields vertically on mobile */
    .mmp-search-bar-wrap .ere-property-advanced-search .row > [class*="col-"] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}


/* ============================================================
   Listing Submission Form — Polish  (v5.5)
   ============================================================ */

/* Stepper header — already styled, just refine */
.mmp-stepper-bar {
    background: #fff;
    border-bottom: 1px solid var(--mmp-border, #e2e8f0);
    padding: 18px 0 0;
    margin-bottom: 28px;
    position: sticky;
    top: 0;
    z-index: 100;
}

/* Each fieldset / step panel */
.ere-submit-property-form fieldset,
.ere-submit-property-form .ere-form-step {
    background: #fff;
    border: 1px solid var(--mmp-border, #e2e8f0);
    border-radius: var(--mmp-radius, 10px);
    padding: 28px 28px 20px;
    margin-bottom: 24px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}

.ere-submit-property-form legend,
.ere-submit-property-form .ere-form-step-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--mmp-heading, #1a202c);
    padding: 0 0 14px;
    border-bottom: 1px solid var(--mmp-border, #e2e8f0);
    margin-bottom: 20px;
    width: 100%;
}

/* Labels */
.ere-submit-property-form label {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--mmp-text, #2d3748);
    margin-bottom: 5px;
    display: block;
}

.ere-submit-property-form .required-star,
.ere-submit-property-form label .required {
    color: #e53e3e;
    margin-left: 2px;
}

/* Text inputs / textareas */
.ere-submit-property-form input[type="text"],
.ere-submit-property-form input[type="number"],
.ere-submit-property-form input[type="email"],
.ere-submit-property-form input[type="url"],
.ere-submit-property-form textarea,
.ere-submit-property-form select {
    border: 1.5px solid var(--mmp-border, #e2e8f0);
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 0.9rem;
    color: var(--mmp-text, #2d3748);
    width: 100%;
    transition: border-color 0.2s, box-shadow 0.2s;
    background: #fafafa;
}

.ere-submit-property-form input:focus,
.ere-submit-property-form textarea:focus,
.ere-submit-property-form select:focus {
    outline: none;
    border-color: var(--mmp-blue, #2c7be5);
    box-shadow: 0 0 0 3px rgba(44,123,229,0.10);
    background: #fff;
}

/* Selects in submit form — consistent arrow */
.ere-submit-property-form select {
    appearance: none;
    -webkit-appearance: none;
    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 d='M1 1l5 5 5-5' stroke='%23718096' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-color: #fafafa;
    padding-right: 38px !important;
}

/* Price field prefix */
.ere-submit-property-form .input-group-addon,
.ere-submit-property-form .input-group-prepend .input-group-text {
    background: var(--mmp-bg, #f8fafc);
    border: 1.5px solid var(--mmp-border, #e2e8f0);
    border-right: none;
    border-radius: 8px 0 0 8px;
    font-weight: 700;
    color: var(--mmp-text-light, #718096);
    padding: 0 14px;
    display: flex;
    align-items: center;
}

.ere-submit-property-form .input-group input {
    border-radius: 0 8px 8px 0 !important;
}

/* Photo upload zone */
.ere-upload-zone,
.ere-property-gallery-upload {
    border: 2px dashed var(--mmp-border, #e2e8f0);
    border-radius: 10px;
    padding: 30px;
    text-align: center;
    background: #fafafa;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
}

.ere-upload-zone:hover,
.ere-property-gallery-upload:hover {
    border-color: var(--mmp-blue, #2c7be5);
    background: #f0f7ff;
}

.ere-upload-zone .dashicons,
.ere-upload-zone .fa,
.ere-property-gallery-upload .fa {
    font-size: 2rem;
    color: var(--mmp-text-light, #718096);
    margin-bottom: 8px;
    display: block;
}

.ere-upload-zone p {
    font-size: 0.84rem;
    color: var(--mmp-text-light, #718096);
    margin: 4px 0 0;
}

/* Thumbnail grid */
.ere-property-images-preview {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.ere-property-images-preview .ere-image-item {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    aspect-ratio: 1;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.ere-property-images-preview .ere-image-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ere-property-images-preview .ere-remove-image {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(0,0,0,0.6);
    color: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    opacity: 0;
    transition: opacity 0.2s;
}

.ere-property-images-preview .ere-image-item:hover .ere-remove-image {
    opacity: 1;
}

/* Map section */
.ere-map-wrap {
    border-radius: 10px;
    overflow: hidden;
    border: 1.5px solid var(--mmp-border, #e2e8f0);
    margin-top: 10px;
}

/* Character count helper */
.ere-char-count {
    font-size: 0.75rem;
    color: var(--mmp-text-light, #718096);
    text-align: right;
    margin-top: 3px;
}

.ere-char-count.near-limit { color: var(--mmp-orange, #e67e22); }
.ere-char-count.at-limit   { color: #c53030; }

/* Navigation buttons at bottom of form */
.ere-submit-property-form .mmp-form-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
    padding-top: 20px;
    border-top: 1px solid var(--mmp-border, #e2e8f0);
}

.mmp-form-nav .btn-prev {
    background: transparent;
    border: 1.5px solid var(--mmp-border, #e2e8f0);
    color: var(--mmp-text, #2d3748);
    border-radius: 8px;
    padding: 10px 22px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.2s, background 0.15s;
}

.mmp-form-nav .btn-prev:hover {
    border-color: var(--mmp-blue, #2c7be5);
    background: #f0f7ff;
}

.mmp-form-nav .btn-next,
.mmp-form-nav .btn-submit {
    background: linear-gradient(135deg, var(--mmp-blue, #2c7be5), var(--mmp-blue-dark, #1a5fba));
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 11px 28px;
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(44,123,229,0.3);
    transition: transform 0.15s, box-shadow 0.2s;
}

.mmp-form-nav .btn-next:hover,
.mmp-form-nav .btn-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(44,123,229,0.4);
}

/* Final submit button */
.mmp-form-nav .btn-submit {
    background: linear-gradient(135deg, var(--mmp-green, #2ecc71), var(--mmp-green-dark, #27ae60));
    box-shadow: 0 2px 10px rgba(46,204,113,0.3);
}

.mmp-form-nav .btn-submit:hover {
    box-shadow: 0 4px 16px rgba(46,204,113,0.4);
}


/* ============================================================
   General Cards / Property Grid — Polish  (v5.5)
   ============================================================ */

/* Property cards on browse */
.ere-properties-wrap .ere-property-item,
.ere-property-grid .ere-property-item {
    border-radius: var(--mmp-radius, 10px);
    overflow: hidden;
    box-shadow: var(--mmp-card-shadow);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
    border: 1px solid transparent;
}

.ere-properties-wrap .ere-property-item:hover,
.ere-property-grid .ere-property-item:hover {
    transform: translateY(-4px);
    box-shadow: var(--mmp-card-hover);
    border-color: var(--mmp-border, #e2e8f0);
}

/* Property card image */
.ere-property-item .ere-property-img-wrap {
    position: relative;
    overflow: hidden;
}

.ere-property-item .ere-property-img-wrap img {
    transition: transform 0.4s ease;
}

.ere-property-item:hover .ere-property-img-wrap img {
    transform: scale(1.04);
}

/* Status badges on cards */
.ere-property-item .ere-property-status {
    position: absolute;
    top: 12px;
    left: 12px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-radius: 4px;
    padding: 3px 8px;
    z-index: 2;
}

/* Price styling on cards */
.ere-property-item .ere-property-price {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--mmp-heading, #1a202c);
    letter-spacing: -0.02em;
}

/* Property card footer */
.ere-property-item .ere-property-footer {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 14px;
    border-top: 1px solid var(--mmp-border, #e2e8f0);
    font-size: 0.78rem;
    color: var(--mmp-text-light, #718096);
    background: #fafafa;
}

.ere-property-item .ere-property-footer i,
.ere-property-item .ere-property-footer .fa {
    color: var(--mmp-blue, #2c7be5);
    font-size: 0.8rem;
    margin-right: 3px;
}

/* Pagination */
.ere-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    border-radius: 8px;
    font-size: 0.88rem;
    font-weight: 600;
    border: 1.5px solid var(--mmp-border, #e2e8f0);
    color: var(--mmp-text, #2d3748);
    text-decoration: none;
    margin: 0 3px;
    transition: all 0.15s;
}

.ere-pagination .page-numbers.current,
.ere-pagination .page-numbers:hover {
    background: var(--mmp-blue, #2c7be5);
    border-color: var(--mmp-blue, #2c7be5);
    color: #fff;
    box-shadow: 0 2px 10px rgba(44,123,229,0.3);
}


/* ============================================================
   Responsive Fixes  (v5.5 additions)
   ============================================================ */

@media (max-width: 768px) {
    .mmp-pkg-1listing-badge {
        flex-wrap: wrap;
        justify-content: center;
        text-align: center;
    }
    .mmp-pkg-1l-sep { display: none; }
    .mmp-payment-options-strip {
        font-size: 0.72rem;
        gap: 6px 10px;
    }
    .mmp-ap-fields {
        grid-template-columns: 1fr;
    }
    .mmp-ap-fields .mmp-ap-input:last-child {
        grid-column: auto;
    }
    .mmp-ap-schedule {
        font-size: 0.72rem;
    }
    .mmp-ap-return-notice {
        min-width: 280px;
        max-width: calc(100vw - 32px);
        top: 12px;
    }
    .ere-submit-property-form fieldset,
    .ere-submit-property-form .ere-form-step {
        padding: 18px 16px 14px;
    }
    .mmp-form-nav {
        flex-direction: column;
    }
    .mmp-form-nav .btn-prev,
    .mmp-form-nav .btn-next,
    .mmp-form-nav .btn-submit {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .ere-property-images-preview {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ============================================================
   v5.9.0 — Property Card Polish, Search Form, Submit Form
   ============================================================ */

/* ── Property Cards — refined elevation & spacing ── */

/* Remove the gold/amber border on featured cards — too heavy.
   Use a subtle gold accent on the badge instead */
.ere-property-is-featured .property-inner {
    border-color: var(--mmp-border) !important;
    box-shadow: 0 2px 14px rgba(0,0,0,0.08), 0 1px 3px rgba(0,0,0,0.05) !important;
}

.ere-property-is-featured:hover .property-inner {
    box-shadow: 0 8px 32px rgba(0,0,0,0.14), 0 2px 8px rgba(0,0,0,0.07) !important;
    border-color: var(--mmp-blue) !important;
}

/* Better card content spacing */
.property-item-content {
    padding: 18px 20px 20px !important;
}

/* Title — prevent truncation, allow 2 lines max */
.property-item-content .property-title a,
.property-item-content .ere-property-title a {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--mmp-heading) !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Price — more prominent */
.property-item-content .ere-property-price,
.property-item-content .price {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: var(--mmp-heading) !important;
    letter-spacing: -0.02em !important;
}

/* Price sub-text (/ Month, Start from) */
.property-item-content .ere-property-price span,
.property-item-content .price span {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: var(--mmp-text-light) !important;
}

/* Location — cleaner with icon color */
.property-item-content .ere-property-location i,
.property-item-content .property-location i {
    color: var(--mmp-blue) !important;
    font-size: 11px !important;
}

/* Meta icons row (beds/baths/size) — the footer bar */
.property-item .property-info,
.property-item .ere-property-info {
    background: linear-gradient(135deg, var(--mmp-blue), var(--mmp-blue-dark)) !important;
    border-radius: 0 0 12px 12px !important;
    padding: 10px 16px !important;
}

.property-item .property-info span,
.property-item .ere-property-info span {
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

.property-item .property-info i,
.property-item .ere-property-info i {
    color: rgba(255,255,255,0.8) !important;
}

/* Excerpt — subtle & readable */
.property-item-content .property-excerpt,
.property-item-content .ere-property-excerpt {
    font-size: 13px !important;
    color: var(--mmp-text-light) !important;
    line-height: 1.5 !important;
    margin-top: 8px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* Property type label */
.property-item-content .property-type-list,
.property-item-content .ere-property-type a {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--mmp-blue) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    text-decoration: none !important;
}

/* "Posted X ago" — make it less prominent */
.property-item-content .property-date,
.property-item-content .ere-property-date {
    font-size: 11px !important;
    color: #a0aec0 !important;
}

/* Status badges (For Sale, Featured) */
.property-item .property-label,
.property-item .ere-status,
.property-item .property-status {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
    z-index: 2 !important;
}

/* Compare & favourite action icons — cleaner */
.property-item .property-action a,
.property-item .ere-property-action a {
    width: 34px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.9) !important;
    color: var(--mmp-text) !important;
    font-size: 14px !important;
    transition: all 0.2s !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.15) !important;
}

.property-item .property-action a:hover,
.property-item .ere-property-action a:hover {
    background: var(--mmp-blue) !important;
    color: #fff !important;
    transform: scale(1.1) !important;
}

/* ── Search Form — browse page improvements ── */

/* Make the search form fields look consistent */
.mmp-search-bar-wrap .ere-property-advanced-search .row > [class*="col-"] {
    margin-bottom: 12px !important;
}

/* Search button — full width within its column, looks like a proper button */
.mmp-search-bar-wrap .ere-property-advanced-search .btn-primary,
.mmp-search-bar-wrap .ere-property-advanced-search button[type="submit"],
.mmp-search-bar-wrap .ere-property-advanced-search .ere-search-btn {
    width: 100% !important;
    height: 42px !important;
    padding: 0 20px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 0.9rem !important;
    background: linear-gradient(135deg, var(--mmp-blue, #2c7be5), var(--mmp-blue-dark, #1a5fba)) !important;
    border: none !important;
    color: #fff !important;
    box-shadow: 0 2px 10px rgba(44,123,229,0.3) !important;
    transition: transform 0.15s, box-shadow 0.2s !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

.mmp-search-bar-wrap .ere-property-advanced-search .btn-primary:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 16px rgba(44,123,229,0.4) !important;
}

/* Select2 dropdowns in search — match our style */
.mmp-search-bar-wrap .select2-container--default .select2-selection--single {
    height: 42px !important;
    border: 1.5px solid var(--mmp-border, #e2e8f0) !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    padding-left: 10px !important;
}

.mmp-search-bar-wrap .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--mmp-text, #2d3748) !important;
    font-size: 0.88rem !important;
    line-height: 40px !important;
}

.mmp-search-bar-wrap .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 40px !important;
    right: 8px !important;
}

/* Price slider label in search */
.mmp-search-bar-wrap .ere-property-advanced-search .ere-search-price label,
.mmp-search-bar-wrap .ere-property-advanced-search .ere-search-property_price label {
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    color: var(--mmp-text, #2d3748) !important;
}

/* ── Advanced Search Form (standalone page) — alignment ── */

/* Override the orange icon circles from the theme */
.ere-property-advanced-search .form-group::before {
    display: none !important;
}

/* Labels in search */
.ere-property-advanced-search .form-group > label:first-child {
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: var(--mmp-text-light, #718096) !important;
    margin-bottom: 6px !important;
}

/* ── Submit Property Form — step wizard polish ── */

/* The step navigation breadcrumb trail */
.ere-submit-property .property-submit-nav,
.ere-submit-property .ere-property-submit-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    align-items: center !important;
    background: #fff !important;
    border: 1px solid var(--mmp-border, #e2e8f0) !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin-bottom: 24px !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
}

.ere-submit-property .property-submit-nav li,
.ere-submit-property .ere-property-submit-nav li {
    list-style: none !important;
    flex: 1 !important;
    text-align: center !important;
}

.ere-submit-property .property-submit-nav li a,
.ere-submit-property .ere-property-submit-nav li a {
    display: block !important;
    padding: 14px 12px !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    color: var(--mmp-text-light, #718096) !important;
    text-decoration: none !important;
    transition: all 0.2s !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    border-bottom: 2px solid transparent !important;
}

.ere-submit-property .property-submit-nav li.active a,
.ere-submit-property .ere-property-submit-nav li.active a,
.ere-submit-property .property-submit-nav li.current a {
    color: var(--mmp-blue, #2c7be5) !important;
    border-bottom-color: var(--mmp-blue, #2c7be5) !important;
    background: #f0f7ff !important;
}

.ere-submit-property .property-submit-nav li a:hover,
.ere-submit-property .ere-property-submit-nav li a:hover {
    color: var(--mmp-blue, #2c7be5) !important;
    background: #f8fafc !important;
}

/* Submit form fieldsets — consistent padding */
.ere-submit-property fieldset {
    background: #fff !important;
    border: 1px solid var(--mmp-border, #e2e8f0) !important;
    border-radius: 10px !important;
    padding: 28px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
}

.ere-submit-property fieldset legend,
.ere-submit-property fieldset > h3:first-child {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: var(--mmp-heading, #1a202c) !important;
    padding: 0 0 14px !important;
    margin: 0 0 18px !important;
    border-bottom: 1px solid var(--mmp-border, #e2e8f0) !important;
    width: 100% !important;
}

/* Submit form inputs */
.ere-submit-property input[type="text"],
.ere-submit-property input[type="number"],
.ere-submit-property input[type="email"],
.ere-submit-property input[type="url"],
.ere-submit-property textarea,
.ere-submit-property select {
    border: 1.5px solid var(--mmp-border, #e2e8f0) !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-size: 0.9rem !important;
    color: var(--mmp-text, #2d3748) !important;
    width: 100% !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    background: #fafafa !important;
}

.ere-submit-property input[type="text"]:focus,
.ere-submit-property input[type="number"]:focus,
.ere-submit-property textarea:focus,
.ere-submit-property select:focus {
    outline: none !important;
    border-color: var(--mmp-blue, #2c7be5) !important;
    box-shadow: 0 0 0 3px rgba(44,123,229,0.10) !important;
    background: #fff !important;
}

/* Submit form labels */
.ere-submit-property label {
    font-size: 0.84rem !important;
    font-weight: 600 !important;
    color: var(--mmp-text, #2d3748) !important;
    margin-bottom: 5px !important;
}

/* Submit form - next/prev buttons */
.ere-submit-property .ere-property-next-btn,
.ere-submit-property button[name="ere_property_next"],
.ere-submit-property .btn-next-step {
    background: linear-gradient(135deg, var(--mmp-blue, #2c7be5), var(--mmp-blue-dark, #1a5fba)) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 28px !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    box-shadow: 0 2px 10px rgba(44,123,229,0.3) !important;
    transition: transform 0.15s, box-shadow 0.2s !important;
}

.ere-submit-property .ere-property-next-btn:hover,
.ere-submit-property button[name="ere_property_next"]:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 16px rgba(44,123,229,0.4) !important;
}

.ere-submit-property .ere-property-prev-btn,
.ere-submit-property button[name="ere_property_prev"],
.ere-submit-property .btn-prev-step {
    background: transparent !important;
    border: 1.5px solid var(--mmp-border, #e2e8f0) !important;
    color: var(--mmp-text, #2d3748) !important;
    border-radius: 8px !important;
    padding: 12px 28px !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: border-color 0.2s, background 0.15s !important;
}

.ere-submit-property .ere-property-prev-btn:hover {
    border-color: var(--mmp-blue, #2c7be5) !important;
    background: #f0f7ff !important;
}

/* Photo upload area in submit form */
.ere-submit-property .ere-property-upload-media,
.ere-submit-property .ere-media-upload-area {
    border: 2px dashed var(--mmp-border, #e2e8f0) !important;
    border-radius: 10px !important;
    padding: 30px !important;
    text-align: center !important;
    background: #fafafa !important;
    cursor: pointer !important;
    transition: border-color 0.2s, background 0.2s !important;
}

.ere-submit-property .ere-property-upload-media:hover {
    border-color: var(--mmp-blue, #2c7be5) !important;
    background: #f0f7ff !important;
}

/* Map in submit form */
.ere-submit-property .ere-map-wrap,
.ere-submit-property #ere_property_map,
.ere-submit-property [id*="map"] {
    border-radius: 10px !important;
    overflow: hidden !important;
    border: 1.5px solid var(--mmp-border, #e2e8f0) !important;
}

/* ── Miscellaneous polish ── */

/* Hide "9 years ago" dates on property cards — not meaningful for demo data */
.property-item-content .property-date,
.property-item-content .ere-property-date,
.property-item-content .property-meta .ere-date,
.property-item-content [class*="date"] i.fa-calendar + span,
.property-item-content .fa-calendar {
    /* Keep visible but make subtle */
}

/* Pagination polish — already styled above, just ensure consistency */
.ere-pagination,
.navigation .page-numbers {
    display: flex !important;
    gap: 4px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    margin-top: 24px !important;
}

.navigation .page-numbers li {
    list-style: none !important;
}

.navigation .page-numbers a,
.navigation .page-numbers span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 38px !important;
    height: 38px !important;
    border-radius: 8px !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    border: 1.5px solid var(--mmp-border, #e2e8f0) !important;
    color: var(--mmp-text, #2d3748) !important;
    text-decoration: none !important;
    transition: all 0.15s !important;
    padding: 0 8px !important;
}

.navigation .page-numbers .current,
.navigation .page-numbers a:hover {
    background: var(--mmp-blue, #2c7be5) !important;
    border-color: var(--mmp-blue, #2c7be5) !important;
    color: #fff !important;
    box-shadow: 0 2px 10px rgba(44,123,229,0.3) !important;
}

/* ── Compare widget — cleaner ── */
.ere-compare-properties,
#ere-compare-properties {
    border-radius: 10px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
    border: 1px solid var(--mmp-border) !important;
}

/* ── Submit / Edit property form — Market My Place refinements ── */
/* Inline tooltip: cool neutral with a clear blue accent.
   We deliberately avoid the heavy "blue panel + black text" look that
   reads as muddy; instead the panel is near-white with a strong blue
   left bar and a deep slate body for AA contrast on every theme. */
.mmp-inline-tooltip {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #f4f8fd;
    border: 1px solid #dbe6f4;
    border-left: 4px solid var(--mmp-blue, #2c7be5);
    color: #1f2d3d;
    padding: 11px 15px;
    border-radius: 6px;
    margin: 8px 0 14px;
    font-size: 14px;
    line-height: 1.5;
}
.mmp-inline-tooltip span,
.mmp-inline-tooltip p {
    color: #1f2d3d;
}
.mmp-inline-tooltip i {
    color: var(--mmp-blue, #2c7be5);
    margin-top: 2px;
    font-size: 16px;
}

.mmp-help-indent {
    display: block;
    margin-left: 22px;
    margin-top: 4px;
}

.mmp-feature-toggle {
    background: rgba(255, 196, 0, 0.08);
    border: 1px solid rgba(255, 196, 0, 0.35);
    border-radius: 6px;
    padding: 10px 14px;
    margin-top: 10px;
}
.mmp-feature-toggle label {
    font-weight: 600;
}

.mmp-extras-hint,
.mmp-additional-hint {
    font-size: 13px;
    line-height: 1.45;
    margin: 4px 0 12px;
    padding: 8px 12px;
    background: #f7f9fc;
    border-radius: 6px;
    border-left: 3px solid #cbd3de;
}

.mmp-feature-hint {
    display: block;
    font-size: 12px;
    color: #6b7786;
    margin-top: 2px;
}

/* Floor plan remove (red X) */
.mmp-floor-remove {
    color: #d9534f !important;
    cursor: pointer;
    font-size: 20px;
    transition: transform 0.12s ease, color 0.12s ease;
}
.mmp-floor-remove:hover {
    color: #b52b27 !important;
    transform: scale(1.12);
}
.mmp-floor-remove .fa {
    font-size: 22px;
}

/* Floor error messages (auto-dismiss) */
.mmp-floor-error:empty {
    display: none;
}
.mmp-floor-error-msg {
    background: #fdecea;
    border: 1px solid #f5c2c0;
    color: #8a1f1a;
    padding: 8px 12px;
    border-radius: 6px;
    margin-top: 8px;
    font-size: 13px;
    animation: mmpFadeIn 0.25s ease;
}

/* Featured star icon — more visible / clickable */
.ere-property-gallery .icon-featured {
    background: rgba(0,0,0,0.55);
    padding: 6px 8px;
    border-radius: 4px;
    transition: background 0.15s;
}
.ere-property-gallery .icon-featured:hover {
    background: rgba(255,193,7,0.95);
}
.ere-property-gallery .icon-featured .fa-star {
    color: #ffc107 !important;
}

/* Feature search */
.mmp-feature-search-wrap {
    margin: 10px 0 18px;
}
.mmp-feature-search-label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
    color: #334;
}
.mmp-feature-search-box {
    position: relative;
    display: block;
}
.mmp-feature-search-box .fa-search {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #99a1ab;
    pointer-events: none;
    z-index: 2;
    font-size: 14px;
    line-height: 1;
    width: 16px;
    text-align: center;
}
.mmp-feature-search,
input.mmp-feature-search.form-control {
    /* Reserve space on the LEFT for the magnifying glass icon and on the
       RIGHT for the clear (×) button. Without this the placeholder text
       sits underneath the icon. !important + .form-control specificity
       makes sure the theme can't override us with its own input styling. */
    padding-left: 40px !important;
    padding-right: 40px !important;
    height: 44px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}
.mmp-feature-search-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: 0;
    color: #99a1ab;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    padding: 4px 10px;
}
.mmp-feature-search-clear:hover { color: #d9534f; }
.mmp-feature-search-empty {
    margin-top: 8px;
    padding: 10px 12px;
    background: #fff8e1;
    border-left: 3px solid #ffc107;
    border-radius: 6px;
    font-size: 13px;
}

/* Quick-add suggestion chips */
.mmp-chip-group {
    margin-bottom: 18px;
}
.mmp-chip-group-title {
    font-size: 14px;
    font-weight: 600;
    color: #4a5260;
    margin: 0 0 8px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}
.mmp-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.mmp-feature-chip {
    appearance: none;
    border: 1px solid #d5dbe3;
    background: #fff;
    color: #3a4250;
    padding: 7px 13px 7px 10px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.12s;
    line-height: 1.2;
}
.mmp-feature-chip:hover {
    border-color: var(--mmp-blue, #2c7be5);
    color: var(--mmp-blue, #2c7be5);
    transform: translateY(-1px);
}
.mmp-feature-chip.is-added {
    background: var(--mmp-blue, #2c7be5);
    border-color: var(--mmp-blue, #2c7be5);
    color: #fff;
}
.mmp-feature-chip.is-added .fa-plus-circle:before { content: "\f00c"; /* fa-check */ }
.mmp-feature-chip .fa { font-size: 14px; }

/* Char counter + invalid state */
.mmp-char-counter {
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.mmp-char-counter.is-near-max { color: #d9534f; font-weight: 600; }
.mmp-field-invalid {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 2px rgba(220,53,69,0.15) !important;
}

/* Sub-tooltip inside the Other Contact panel */
.mmp-inline-tooltip--sub {
    background: rgba(255, 193, 7, 0.12);
    border-left-color: #ffc107;
    margin-top: 12px;
}
.mmp-inline-tooltip--sub i {
    color: #b7870d;
}

/* Feature item — more responsive wrap on mobile */
.mmp-feature-item { margin-bottom: 6px; }

/* Bedrooms input + populate-dimensions button */
.mmp-bedrooms-row {
    display: flex;
    gap: 8px;
    align-items: stretch;
}
.mmp-bedrooms-row input[type="number"] {
    flex: 1 1 auto;
    min-width: 0;
}
.mmp-populate-btn {
    flex: 0 0 auto;
    white-space: nowrap;
    padding: 0 14px;
    border-radius: 6px;
    font-weight: 600;
    font-size: 13px;
    color: var(--mmp-blue, #2c7be5);
    background: rgba(44,123,229,0.08);
    border: 1px solid rgba(44,123,229,0.3);
    transition: all 0.15s;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.mmp-populate-btn:hover {
    background: var(--mmp-blue, #2c7be5);
    color: #fff;
    border-color: var(--mmp-blue, #2c7be5);
}
.mmp-populate-btn--just-fired {
    animation: mmpPulse 0.9s ease;
}
@media (max-width: 480px) {
    .mmp-bedrooms-row { flex-direction: column; }
    .mmp-populate-btn { justify-content: center; padding: 10px 14px; }
}

/* ── Mobile carousel fix — keeps arrows & dots clear of card text ──
   The featured-listings carousel uses Slick (not Owl). On narrow screens
   the default slick arrows sit mid-card and the dots overlay the price
   band; these rules reposition both for screens ≤ 767px. */
@media (max-width: 767px) {
    .ere-property-featured-wrap .slick-prev,
    .ere-property-featured-wrap .slick-next,
    .ere-property-featured .slick-prev,
    .ere-property-featured .slick-next {
        top: 32% !important;
        width: 36px !important;
        height: 36px !important;
        transform: translateY(-50%) !important;
        opacity: 0.9 !important;
    }
    .ere-property-featured-wrap .slick-prev,
    .ere-property-featured .slick-prev { left: 4px !important; right: auto !important; }
    .ere-property-featured-wrap .slick-next,
    .ere-property-featured .slick-next { right: 4px !important; left: auto !important; }

    .ere-property-featured-wrap .slick-prev::before,
    .ere-property-featured-wrap .slick-next::before,
    .ere-property-featured .slick-prev::before,
    .ere-property-featured .slick-next::before {
        font-size: 15px !important;
    }

    /* Push dots below the card instead of overlaying the bottom band */
    .ere-property-featured-wrap .slick-dots,
    .ere-property-featured .slick-dots {
        position: relative !important;
        bottom: auto !important;
        margin: 14px 0 4px !important;
        padding: 0 !important;
        background: transparent !important;
        display: flex !important;
        justify-content: center;
        gap: 4px;
        list-style: none;
    }
    .ere-property-featured-wrap .slick-dots li,
    .ere-property-featured .slick-dots li {
        margin: 0 3px;
    }
    .ere-property-featured-wrap .slick-dots li button,
    .ere-property-featured .slick-dots li button {
        width: 10px !important;
        height: 10px !important;
    }

    /* Same positioning treatment for any owl-carousel fallback */
    .owl-carousel .owl-nav button.owl-prev,
    .owl-carousel .owl-nav button.owl-next {
        top: 32% !important;
        transform: translateY(-50%) scale(0.9);
    }
    .owl-carousel .owl-nav button.owl-prev { left: 4px !important; }
    .owl-carousel .owl-nav button.owl-next { right: 4px !important; }
    .owl-carousel .owl-dots {
        position: relative !important;
        bottom: auto !important;
        margin-top: 12px !important;
        padding: 0 !important;
        background: transparent !important;
        display: flex !important;
        justify-content: center;
        gap: 4px;
    }
}

/* When the form is in "edit" mode, show all steps stacked */
.ere-property-multi-step.edit-form fieldset[aria-hidden="false"] {
    display: block !important;
}
.ere-property-multi-step.edit-form .ere-step-nav .ere-btn-next,
.ere-property-multi-step.edit-form .ere-step-nav .ere-btn-prev,
.ere-property-multi-step.edit-form .ere-step-nav .ere-btn-edit {
    display: none;
}
.ere-property-multi-step.edit-form fieldset {
    border-bottom: 1px solid #e6e9ef;
    margin-bottom: 24px;
    padding-bottom: 12px;
}
.ere-property-multi-step.edit-form fieldset:last-of-type {
    border-bottom: 0;
}

/* =========================================================
   How Market My Place Works — v2 (modern animated sequence)
   Sits alongside legacy .mmp-hiw-* styles; new output uses
   the .mmp-hiw-v2__ BEM namespace.
   ========================================================= */
@keyframes mmpHiwFadeUp {
    0%   { opacity:0; transform:translateY(24px); }
    100% { opacity:1; transform:translateY(0); }
}
@keyframes mmpHiwLineGrow {
    0%   { transform:scaleY(0); }
    100% { transform:scaleY(1); }
}
@keyframes mmpHiwPulse {
    0%, 100% { transform: scale(1); opacity: 0.55; }
    50%      { transform: scale(1.06); opacity: 0.25; }
}
@keyframes mmpHiwWave {
    0%   { transform: scale(0.4); opacity: 0; }
    20%  { opacity: 0.7; }
    100% { transform: scale(1.15); opacity: 0; }
}
@keyframes mmpHiwDraw {
    0%   { stroke-dasharray: 40; stroke-dashoffset: 40; }
    100% { stroke-dasharray: 40; stroke-dashoffset: 0; }
}
@keyframes mmpHiwFloat {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-4px); }
}

.mmp-hiw-v2,
div.mmp-hiw-v2 {
    position: relative !important;
    padding: clamp(40px, 6vw, 96px) clamp(14px, 3vw, 32px) !important;
    /* MMP 5.5.2: transparent background so the section inherits whatever
       sits behind it in the page builder (Elementor, Gutenberg, etc.). */
    background: transparent !important;
    overflow: hidden !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
/* Top accent bar removed in 5.5.2 — kept rule defined but invisible to
   preserve any third-party selectors that might inspect it. */
.mmp-hiw-v2::before {
    content: none !important;
    background: transparent !important;
    height: 0 !important;
}

.mmp-hiw-v2 .mmp-hiw-v2__inner {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

.mmp-hiw-v2 .mmp-hiw-v2__header {
    text-align: center !important;
    margin-bottom: clamp(28px, 4vw, 56px) !important;
}
.mmp-hiw-v2__chip {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #2c7be5;
    background: rgba(44,123,229,0.09);
    border: 1px solid rgba(44,123,229,0.22);
    border-radius: 999px;
    padding: 6px 16px;
    margin-bottom: 16px;
}
.mmp-hiw-v2__title {
    font-size: clamp(1.8rem, 4.2vw, 2.75rem);
    font-weight: 900;
    color: #0f172a;
    margin: 0 0 14px;
    letter-spacing: -0.02em;
    line-height: 1.12;
}
.mmp-hiw-v2__subtitle {
    color: #5a6675;
    font-size: clamp(0.98rem, 1.3vw, 1.1rem);
    max-width: 640px;
    margin: 0 auto;
    line-height: 1.6;
}

.mmp-hiw-v2 .mmp-hiw-v2__steps {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(16px, 2vw, 26px) !important;
    position: relative !important;
    width: 100% !important;
}

/* Horizontal connecting line (desktop only) — sits behind cards */
.mmp-hiw-v2 .mmp-hiw-v2__steps::before {
    content: "";
    position: absolute;
    top: 92px;
    left: 8%;
    right: 8%;
    height: 2px;
    background: repeating-linear-gradient(90deg,
        rgba(44,123,229,0.35) 0 10px,
        transparent 10px 18px);
    z-index: 0;
    pointer-events: none;
}

.mmp-hiw-v2 .mmp-hiw-v2__step {
    position: relative !important;
    background: #fff !important;
    border: 1px solid #e6ecf5 !important;
    border-radius: 18px !important;
    padding: 28px 22px 24px !important;
    box-shadow: 0 4px 18px rgba(15,23,42,0.04) !important;
    opacity: 0;
    transform: translateY(24px);
    transition: box-shadow 0.25s ease, transform 0.25s ease;
    z-index: 1;
    list-style: none !important;
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    text-align: left !important;
}
.mmp-hiw-v2 .mmp-hiw-v2__step::before,
.mmp-hiw-v2 .mmp-hiw-v2__step::marker {
    content: none !important;
}
.mmp-hiw-v2 .mmp-hiw-v2__step.is-visible {
    animation: mmpHiwFadeUp 0.7s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
    animation-delay: var(--mmp-hiw-delay, 0s);
}
.mmp-hiw-v2 .mmp-hiw-v2__step:hover {
    box-shadow: 0 14px 36px rgba(15,23,42,0.10) !important;
    transform: translateY(-3px);
}

.mmp-hiw-v2 .mmp-hiw-v2__step-line {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: -1px !important;
    width: 3px !important;
    background: linear-gradient(180deg, #3b82f6, #22c55e) !important;
    border-radius: 3px !important;
    transform-origin: top !important;
    transform: scaleY(0);
    display: block !important;
}
.mmp-hiw-v2 .mmp-hiw-v2__step.is-visible .mmp-hiw-v2__step-line {
    animation: mmpHiwLineGrow 0.7s ease 0.15s forwards;
}

.mmp-hiw-v2 .mmp-hiw-v2__step-num {
    position: absolute !important;
    top: 16px !important;
    right: 18px !important;
    left: auto !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    color: #a8b4c4 !important;
    font-variant-numeric: tabular-nums;
    display: inline-block !important;
    background: transparent !important;
    padding: 0 !important;
    line-height: 1 !important;
}

.mmp-hiw-v2 .mmp-hiw-v2__step-art {
    width: 84px !important;
    height: 84px !important;
    max-width: 100% !important;
    margin: 4px auto 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
}
.mmp-hiw-v2 .mmp-hiw-v2__step-art svg {
    width: 100% !important;
    height: 100% !important;
    max-width: 84px !important;
    max-height: 84px !important;
    overflow: visible !important;
    display: block !important;
}
.mmp-hiw-v2__step.is-visible .mmp-hiw-v2__step-art svg {
    animation: mmpHiwFloat 4s ease-in-out infinite;
    animation-delay: calc(var(--mmp-hiw-delay, 0s) + 0.4s);
}

/* Individual artwork sub-animations */
.mmp-hiw-pulse {
    transform-origin: center;
    animation: mmpHiwPulse 3s ease-in-out infinite;
}
.mmp-hiw-wave {
    transform-origin: center;
    animation: mmpHiwWave 2.4s ease-out infinite;
}
.mmp-hiw-wave-2 { animation-delay: 0.3s; }
.mmp-hiw-wave-3 { animation-delay: 0.6s; }
.mmp-hiw-check {
    stroke-dasharray: 40;
    stroke-dashoffset: 40;
}
.mmp-hiw-v2__step.is-visible .mmp-hiw-check {
    animation: mmpHiwDraw 0.6s ease 0.7s forwards;
}
.mmp-hiw-sold {
    stroke-dasharray: 50;
    stroke-dashoffset: 50;
}
.mmp-hiw-v2__step.is-visible .mmp-hiw-sold {
    animation: mmpHiwDraw 0.8s ease 0.6s forwards;
}
.mmp-hiw-ribbon {
    transform-origin: 60px 34px;
    animation: mmpHiwFloat 3s ease-in-out infinite;
}
.mmp-hiw-bubble {
    transform-origin: center;
    animation: mmpHiwFloat 3.5s ease-in-out infinite;
}
.mmp-hiw-bubble--2 { animation-delay: 0.8s; }
.mmp-hiw-mountain { transform-origin: center bottom; }
.mmp-hiw-camera { transform-origin: 76px 30px; }

.mmp-hiw-v2 .mmp-hiw-v2__step-title {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 6px !important;
    letter-spacing: -0.01em !important;
    text-align: center !important;
}
.mmp-hiw-v2 .mmp-hiw-v2__step-desc {
    font-size: 0.94rem !important;
    color: #546072 !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    text-align: center !important;
}

.mmp-hiw-v2__cta {
    margin-top: clamp(36px, 5vw, 60px);
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: center;
}
.mmp-hiw-v2__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 26px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.98rem;
    text-decoration: none !important;
    transition: all 0.18s ease;
}
.mmp-hiw-v2__btn--primary {
    background: linear-gradient(135deg, #2c7be5, #22c55e);
    color: #fff !important;
    box-shadow: 0 10px 28px rgba(44,123,229,0.35);
}
.mmp-hiw-v2__btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(44,123,229,0.45);
}
.mmp-hiw-v2__btn--ghost {
    background: transparent;
    color: #2c7be5 !important;
    border: 1.5px solid rgba(44,123,229,0.3);
}
.mmp-hiw-v2__btn--ghost:hover {
    background: rgba(44,123,229,0.08);
    border-color: #2c7be5;
}

@media (max-width: 900px) {
    .mmp-hiw-v2 .mmp-hiw-v2__steps {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .mmp-hiw-v2 .mmp-hiw-v2__steps::before { display: none; }
}
@media (max-width: 520px) {
    .mmp-hiw-v2 .mmp-hiw-v2__steps {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
    .mmp-hiw-v2 .mmp-hiw-v2__step {
        padding: 22px 20px !important;
    }
    .mmp-hiw-v2 .mmp-hiw-v2__step-art,
    .mmp-hiw-v2 .mmp-hiw-v2__step-art svg {
        width: 72px !important;
        height: 72px !important;
        max-width: 72px !important;
        max-height: 72px !important;
    }
}

/* Respect reduced-motion preferences — keep things visible without movement */
@media (prefers-reduced-motion: reduce) {
    .mmp-hiw-v2__step,
    .mmp-hiw-v2__step-line,
    .mmp-hiw-v2__step-art svg,
    .mmp-hiw-pulse,
    .mmp-hiw-wave,
    .mmp-hiw-check,
    .mmp-hiw-sold,
    .mmp-hiw-ribbon,
    .mmp-hiw-bubble {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
    .mmp-hiw-v2__step { opacity: 1 !important; transform: none !important; }
}

/* Legacy .mmp-hiw-section still exists for any old pages — leave untouched. */

/* =========================================================
   SINGLE PROPERTY PAGE — Market My Place visual overhaul
   Scoped under .ere__single-property so nothing leaks into
   listings, search results or other plugin screens.
   ========================================================= */

.ere__single-property {
    --mmp-sp-gap: clamp(24px, 3vw, 40px);
    --mmp-sp-border: #e6ecf5;
    --mmp-sp-radius: 14px;
    --mmp-sp-shadow: 0 4px 20px rgba(15,23,42,0.06);
    --mmp-sp-shadow-hover: 0 14px 36px rgba(15,23,42,0.10);
    --mmp-sp-accent: #2c7be5;
    --mmp-sp-accent-2: #22c55e;
    --mmp-sp-ink: #0f172a;
    --mmp-sp-ink-soft: #546072;
}

/* Scroll-reveal baseline — subtle fade only, no aggressive slide.
   A one-shot soft glow on first reveal gives a tiny bit of life without
   feeling "animated". */
.ere__single-property .mmp-sp-reveal {
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.5s ease, transform 0.5s ease, box-shadow 0.6s ease;
    transition-delay: var(--mmp-sp-delay, 0s);
}
.ere__single-property .mmp-sp-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}
/* One-shot glow pulse when a section becomes visible */
@keyframes mmpSoftGlow {
    0%   { box-shadow: 0 0 0 0 rgba(44,123,229, 0.22); }
    100% { box-shadow: var(--mmp-sp-shadow, 0 4px 20px rgba(15,23,42,0.06)); }
}
.ere__single-property .ere__single-property-element.mmp-sp-reveal.is-visible {
    animation: mmpSoftGlow 0.9s ease-out forwards;
}

/* Section cards — every hooked section gets the same clean shell */
.ere__single-property .ere__single-property-element {
    background: #fff;
    border: 1px solid var(--mmp-sp-border);
    border-radius: var(--mmp-sp-radius);
    padding: clamp(20px, 2.2vw, 30px);
    margin-bottom: var(--mmp-sp-gap) !important;
    box-shadow: var(--mmp-sp-shadow);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.ere__single-property .ere__single-property-element:hover {
    box-shadow: var(--mmp-sp-shadow-hover);
}

/* Heading style — icon + title + subtle underline */
.ere__single-property .ere-heading-style2 {
    margin-bottom: 18px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--mmp-sp-border) !important;
    position: relative;
}
.ere__single-property .ere-heading-style2::after {
    content: "";
    position: absolute;
    left: 0; bottom: -1px;
    width: 44px;
    height: 3px;
    background: linear-gradient(90deg, var(--mmp-sp-accent), var(--mmp-sp-accent-2));
    border-radius: 3px;
}
.ere__single-property .ere-heading-style2 h2 {
    font-size: clamp(1.15rem, 1.4vw, 1.35rem) !important;
    font-weight: 700 !important;
    color: var(--mmp-sp-ink) !important;
    letter-spacing: -0.01em !important;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 !important;
}
.ere__single-property .mmp-heading-icon {
    color: var(--mmp-sp-accent);
    font-size: 18px;
}
.ere__single-property .mmp-section-sub {
    color: var(--mmp-sp-ink-soft);
    font-size: 14px;
    margin: 6px 0 0 28px;
}

/* Header / title area */
.ere__single-property .ere__single-property-header-info {
    background: linear-gradient(135deg, #ffffff, #f7faff) !important;
    border: 1px solid var(--mmp-sp-border) !important;
    border-radius: var(--mmp-sp-radius) !important;
    padding: clamp(20px, 2.4vw, 32px) !important;
    position: relative;
    overflow: hidden;
}
.ere__single-property .ere__single-property-header-info::before {
    content: "";
    position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, var(--mmp-sp-accent), var(--mmp-sp-accent-2));
}

/* Share row — sits directly under the header */
.mmp-share-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: -6px;
    margin-bottom: var(--mmp-sp-gap);
    padding: 10px 16px;
    background: #fff;
    border: 1px solid var(--mmp-sp-border);
    border-radius: 999px;
    box-shadow: var(--mmp-sp-shadow);
    max-width: fit-content;
}
.mmp-share-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--mmp-sp-ink-soft);
    margin-right: 4px;
}
.mmp-share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #f1f5f9;
    color: #475569;
    border: 0;
    cursor: pointer;
    transition: all 0.18s ease;
    text-decoration: none !important;
    padding: 0;
}
.mmp-share-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 14px rgba(15,23,42,0.12); }
.mmp-share-fb:hover   { background: #1877f2; color: #fff; }
.mmp-share-tw:hover   { background: #0f172a; color: #fff; }
.mmp-share-wa:hover   { background: #25d366; color: #fff; }
.mmp-share-mail:hover { background: #ef4444; color: #fff; }
.mmp-share-copy:hover,
.mmp-share-print:hover { background: #2c7be5; color: #fff; }
.mmp-share-btn.is-done { background: #22c55e !important; color: #fff !important; }

/* Key stat strip — giant chips under the gallery */
.mmp-key-strip {
    margin: -8px 0 var(--mmp-sp-gap);
}
.mmp-key-strip-inner {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 10px;
}
.mmp-key-chip {
    background: #fff;
    border: 1px solid var(--mmp-sp-border);
    border-radius: var(--mmp-sp-radius);
    padding: 14px 16px;
    text-align: center;
    box-shadow: var(--mmp-sp-shadow);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.mmp-key-chip:hover { transform: translateY(-2px); box-shadow: var(--mmp-sp-shadow-hover); }
.mmp-key-chip-val {
    display: block;
    font-weight: 700;
    color: var(--mmp-sp-ink);
    font-size: 15px;
    letter-spacing: -0.01em;
}

/* Description — nicer long-form typography */
.ere__single-property .ere__single-property-description .ere-property-element {
    font-size: 16px;
    line-height: 1.7;
    color: #334155;
}
.ere__single-property .ere__single-property-description p {
    margin-bottom: 1.1em;
}
.ere__single-property .ere__single-property-description strong { color: var(--mmp-sp-ink); }

/* Gallery polish */
.ere__single-property .ere__single-property-gallery {
    padding: 0 !important;
    overflow: hidden;
}
.ere__single-property .ere__single-property-gallery .single-property-image-main img {
    border-radius: var(--mmp-sp-radius);
}
.ere__single-property .property-gallery-item {
    position: relative;
}
.ere__single-property .property-gallery-item .zoomGallery {
    background: rgba(15,23,42,0.72) !important;
    color: #fff !important;
    border-radius: 999px !important;
    width: 42px; height: 42px;
    display: inline-flex; align-items: center; justify-content: center;
    transition: all 0.2s ease;
}
.ere__single-property .property-gallery-item .zoomGallery:hover {
    background: var(--mmp-sp-accent) !important;
    transform: scale(1.08);
}
.mmp-gallery-counter {
    position: absolute;
    right: 18px;
    top: 18px;
    z-index: 5;
    background: rgba(15,23,42,0.75);
    color: #fff;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
    backdrop-filter: blur(6px);
    pointer-events: none;
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

/* Feature chips look */
.ere__single-property .property-feature-wrap li,
.ere__single-property .property-feature li {
    background: #f8fafc !important;
    border: 1px solid var(--mmp-sp-border) !important;
    border-radius: 999px !important;
    padding: 7px 14px !important;
    margin: 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    font-size: 13px !important;
    color: #334155 !important;
    transition: all 0.15s;
}
.ere__single-property .property-feature-wrap li:hover,
.ere__single-property .property-feature li:hover {
    background: #eff6ff !important;
    border-color: rgba(44,123,229,0.5) !important;
    color: var(--mmp-sp-accent) !important;
}

/* Map block — iframe embed (no Maps JS API key needed, always works) */
.mmp-map-wrap .mmp-map-frame {
    position: relative;
    border-radius: var(--mmp-sp-radius);
    overflow: hidden;
    border: 1px solid var(--mmp-sp-border);
    box-shadow: var(--mmp-sp-shadow);
    background: #eef2f7;
}
.mmp-map-iframe {
    width: 100%;
    height: clamp(320px, 44vw, 480px);
    border: 0;
    display: block;
}
.mmp-map-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    padding: 14px 16px;
    background: #fff;
    border-top: 1px solid var(--mmp-sp-border);
}
.mmp-map-action {
    flex: 1 1 auto;
    min-width: 180px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: linear-gradient(135deg, var(--mmp-sp-accent), var(--mmp-sp-accent-2));
    color: #fff !important;
    border-radius: 10px;
    padding: 12px 18px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    box-shadow: 0 4px 14px rgba(44,123,229,0.22);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.mmp-map-action:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(44,123,229,0.32);
}
.mmp-map-action--ghost {
    background: #fff;
    color: var(--mmp-sp-accent) !important;
    border: 1px solid var(--mmp-sp-border);
    box-shadow: var(--mmp-sp-shadow);
}
.mmp-map-action--ghost:hover {
    background: var(--mmp-sp-accent);
    color: #fff !important;
}
@media (max-width: 520px) {
    .mmp-map-action { flex: 1 0 100%; }
}

/* Video fallback when oEmbed can't resolve */
.ere__single-property .mmp-video-fallback {
    text-align: center;
    padding: 36px 20px;
    background: #f8fafc;
    border-radius: var(--mmp-sp-radius);
    border: 1px dashed var(--mmp-sp-border);
}
.ere__single-property .mmp-video-fallback p {
    color: var(--mmp-sp-ink-soft);
    margin-bottom: 14px;
}
.ere__single-property .mmp-video-fallback .fa-exclamation-triangle {
    color: #f59e0b;
    margin-right: 6px;
}
.ere__single-property .mmp-video-fallback .btn {
    background: linear-gradient(135deg, var(--mmp-sp-accent), var(--mmp-sp-accent-2)) !important;
    border: 0 !important;
    color: #fff !important;
    padding: 12px 24px;
    border-radius: 10px;
    font-weight: 700;
}

/* Contact card */
.ere__single-property .ere__single-property-contact-agent {
    background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
    border-color: rgba(44,123,229,0.22) !important;
}
.ere__single-property .ere__contact-form .form-control {
    border-radius: 8px !important;
    border: 1px solid var(--mmp-sp-border) !important;
    padding: 11px 14px !important;
    font-size: 14px !important;
    transition: all 0.15s;
}
.ere__single-property .ere__contact-form .form-control:focus {
    border-color: var(--mmp-sp-accent) !important;
    box-shadow: 0 0 0 3px rgba(44,123,229,0.12) !important;
}
.ere__single-property .ere__contact-form .btn,
.ere__single-property .ere__contact-form button[type="submit"] {
    background: linear-gradient(135deg, var(--mmp-sp-accent), var(--mmp-sp-accent-2)) !important;
    border: 0 !important;
    color: #fff !important;
    border-radius: 10px !important;
    padding: 12px 24px !important;
    font-weight: 700 !important;
    transition: all 0.18s;
    box-shadow: 0 6px 18px rgba(44,123,229,0.28);
}
.ere__single-property .ere__contact-form .btn:hover,
.ere__single-property .ere__contact-form button[type="submit"]:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(44,123,229,0.36);
}

/* Sticky mobile CTA */
.mmp-sticky-cta {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 998;
    background: rgba(15,23,42,0.96);
    color: #fff;
    border-radius: 16px;
    box-shadow: 0 20px 48px rgba(0,0,0,0.35);
    opacity: 0;
    transform: translateY(24px);
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.3s ease;
}
.mmp-sticky-cta.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.mmp-sticky-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
}
.mmp-sticky-cta-left {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
    min-width: 0;
}
.mmp-sticky-price {
    font-weight: 800;
    font-size: 17px;
    letter-spacing: -0.01em;
}
.mmp-sticky-label {
    font-size: 12px;
    color: rgba(255,255,255,0.78);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mmp-sticky-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(135deg, var(--mmp-sp-accent, #2c7be5), var(--mmp-sp-accent-2, #22c55e));
    color: #fff !important;
    padding: 11px 18px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none !important;
    box-shadow: 0 6px 18px rgba(44,123,229,0.4);
    flex-shrink: 0;
}
.mmp-sticky-btn:hover { transform: scale(1.03); }

@media (min-width: 992px) {
    /* Desktop: let the hero + sidebar do the work — hide the tiny sticky chip */
    .mmp-sticky-cta { display: none; }
}

/* Back-to-top chip */
#mmp-back-to-top {
    position: fixed;
    right: 16px;
    bottom: 80px; /* above the sticky cta on mobile */
    z-index: 997;
    width: 44px; height: 44px;
    border-radius: 50%;
    background: #fff;
    color: var(--mmp-sp-accent);
    border: 1px solid var(--mmp-sp-border);
    box-shadow: var(--mmp-sp-shadow);
    cursor: pointer;
    font-size: 15px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(10px) scale(0.95);
    transition: all 0.2s ease;
}
#mmp-back-to-top.is-visible {
    opacity: 0.95;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}
#mmp-back-to-top:hover {
    background: var(--mmp-sp-accent);
    color: #fff;
    transform: translateY(-2px);
}
@media (min-width: 992px) { #mmp-back-to-top { bottom: 20px; } }

/* Print — strip chrome */
@media print {
    .mmp-share-row, .mmp-sticky-cta, #mmp-back-to-top,
    .ere__single-property-contact-agent form,
    .site-header, .site-footer, .main-navigation,
    .ere__single-property-map-directions {
        display: none !important;
    }
    .ere__single-property .ere__single-property-element {
        break-inside: avoid;
        box-shadow: none !important;
        page-break-inside: avoid;
    }
    body { background: #fff !important; }
}

/* Featured ribbon */
.mmp-featured-ribbon {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #f59e0b, #ef4444);
    color: #fff;
    padding: 8px 18px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border-radius: 999px;
    margin-bottom: 16px;
    box-shadow: 0 8px 22px rgba(239,68,68,0.25);
    animation: mmpPinBounce 2.8s ease-in-out infinite;
}
.mmp-featured-ribbon .fa-star { color: #fff; }

/* ============================================================
   MMP 5.5.1 — Feature cards (with auto-icons)
   Replaces the legacy pill list for both the standard ERE
   feature.php template and the MMP custom-features section.
   ============================================================ */

/* Shared grid used by feature.php (taxonomy features) and
   render_custom_features (mmp_custom_features meta).         */
.mmp-feature-grid,
.mmp-extra-features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 10px;
    margin: 12px 0 22px;
}

.mmp-feature-card,
.mmp-extra-feature-card {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 10px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
    text-align: left;
}

.mmp-feature-card:hover,
.mmp-extra-feature-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
    border-color: rgba(44, 123, 229, 0.35);
}

.mmp-feature-card a {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    text-decoration: none;
    color: inherit;
}

/* Icon chip ------------------------------------------------- */
.mmp-feature-card-icon,
.mmp-extra-feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: linear-gradient(135deg, #eff6ff, #ecfeff);
    color: #2c7be5;
    font-size: 16px;
    flex-shrink: 0;
}

/* Checked / unchecked treatment for the taxonomy features.
   "On" = the property has this feature.                      */
.mmp-feature-card--on .mmp-feature-card-icon {
    background: linear-gradient(135deg, #dcfce7, #d1fae5);
    color: #16a34a;
}
.mmp-feature-card--off {
    opacity: 0.5;
    filter: grayscale(0.4);
}
.mmp-feature-card--off .mmp-feature-card-icon {
    background: #f1f5f9;
    color: #94a3b8;
}

.mmp-feature-card-label,
.mmp-extra-feature-label {
    font-size: 14px;
    font-weight: 500;
    color: #1f2937;
    line-height: 1.3;
}

/* Group heading inside the multi-level features layout       */
h4.mmp-feature-group {
    font-size: 16px;
    font-weight: 700;
    color: #1f2937;
    margin: 18px 0 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid #e2e8f0;
}

/* Mobile: 2 across at narrow widths                          */
@media (max-width: 480px) {
    .mmp-feature-grid,
    .mmp-extra-features-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }
    .mmp-feature-card,
    .mmp-extra-feature-card {
        padding: 10px;
    }
    .mmp-feature-card-icon,
    .mmp-extra-feature-icon {
        width: 32px;
        height: 32px;
        font-size: 14px;
    }
    .mmp-feature-card-label,
    .mmp-extra-feature-label {
        font-size: 13px;
    }
}

/* Reduce-motion friendliness */
@media (prefers-reduced-motion: reduce) {
    .ere__single-property .mmp-sp-reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    .mmp-map-pin-badge,
    .mmp-featured-ribbon { animation: none !important; }
}




/* ==========================================================================
   MMP — 2026-04 UX pass
   Required/optional pills, coloured "Add room size" CTA, floor plan mode
   selector, refined chip-only feature picker.
   ========================================================================== */

/* --- Required / Optional pills on labels --------------------------------- */
.mmp-field-req-pill {
    display: inline-block;
    vertical-align: middle;
    margin-left: 6px;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    font-family: inherit;
}
.mmp-field-req-pill.mmp-req {
    background: rgba(220, 38, 38, 0.08);
    color: #b91c1c;
    border: 1px solid rgba(220, 38, 38, 0.22);
}
.mmp-field-req-pill.mmp-opt {
    background: rgba(100, 116, 139, 0.09);
    color: #475569;
    border: 1px solid rgba(100, 116, 139, 0.2);
}

/* --- Coloured "+ Add room size" CTA -------------------------------------- */
.mmp-dim-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    border: none;
    color: #ffffff !important;
    background: linear-gradient(135deg, var(--mmp-brand-primary, #2563eb), var(--mmp-brand-primary-dark, #1d4ed8));
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08), 0 0 0 2px rgba(37, 99, 235, 0.08);
    cursor: pointer;
    white-space: nowrap;
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
    text-decoration: none;
}
/* All children inherit pure white so themes that style .btn child text can't
   bleed dark colours back through (e.g. a dark <span> rule). */
.mmp-dim-cta,
.mmp-dim-cta:hover,
.mmp-dim-cta:focus,
.mmp-dim-cta:active,
.mmp-dim-cta:visited,
.mmp-dim-cta span,
.mmp-dim-cta small,
.mmp-dim-cta i,
.mmp-dim-cta .fa {
    color: #ffffff !important;
}
.mmp-dim-cta:hover,
.mmp-dim-cta:focus {
    transform: translateY(-1px);
    filter: brightness(1.05);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25);
    outline: none;
}
.mmp-dim-cta .fa { font-size: 12px; }
.mmp-dim-cta .mmp-dim-cta-opt {
    display: inline-block;
    padding: 2px 6px;
    background: rgba(255, 255, 255, 0.20);
    border-radius: 8px;
    font-size: 10px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1;
    color: #ffffff !important;
}
.mmp-dim-cta.mmp-populate-btn--just-fired {
    animation: mmpCtaPulse .7s ease;
}
@keyframes mmpCtaPulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.06); box-shadow: 0 0 0 6px rgba(37, 99, 235, 0.22); }
    100% { transform: scale(1); }
}
.mmp-room-wrap { position: relative; }
.mmp-room-row {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}
.mmp-room-row input[type="number"].form-control {
    flex: 1 1 110px;
    max-width: 150px;
}
@media (max-width: 540px) {
    .mmp-dim-cta { width: 100%; justify-content: center; padding: 10px 14px; }
    .mmp-room-row input[type="number"].form-control { max-width: 100%; }
}

/* --- Floor plan mode selector -------------------------------------------- */
.mmp-floorplan-mode {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
    margin: 12px 0 18px;
}
.mmp-mode-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border: 2px solid rgba(15, 23, 42, 0.1);
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, transform .15s ease;
    margin: 0;
    position: relative;
}
.mmp-mode-option:hover { border-color: rgba(37, 99, 235, 0.35); transform: translateY(-1px); }
/* Force the native radio to render at a fixed size on the LEFT and never
   overlap the label text. Some themes set inputs to position: absolute
   inside their .form-check rules, which is what causes the dot to land on
   top of the "Simple" / "Disabled" / "Complex" wording. */
.mmp-mode-option > input[type="radio"],
.mmp-mode-option input.mmp-mode-radio,
.mmp-mode-option input.form-check-input {
    position: static !important;
    margin: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    appearance: auto;
    -webkit-appearance: radio;
    accent-color: var(--mmp-brand-primary, #2563eb);
    opacity: 1 !important;
    pointer-events: auto;
    order: 0;
}
.mmp-mode-option > .mmp-mode-label { order: 1; }
.mmp-mode-option input[type="radio"]:checked ~ .mmp-mode-label strong { color: var(--mmp-brand-primary, #2563eb); }
.mmp-mode-option:has(input[type="radio"]:checked) {
    border-color: var(--mmp-brand-primary, #2563eb);
    background: rgba(37, 99, 235, 0.04);
}
.mmp-mode-label {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.3;
}
.mmp-mode-label strong { font-size: 14px; font-weight: 700; color: #0f172a; }
.mmp-mode-label small { font-size: 12px; color: #64748b; }
.mmp-mode-option--recommended {
    position: relative;
    border-color: rgba(34, 197, 94, 0.35);
}
.mmp-mode-option--recommended::before {
    content: "★ Recommended";
    position: absolute;
    top: -10px;
    right: 12px;
    background: #22c55e;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 999px;
}

.mmp-floorplan-simple,
.mmp-floorplan-complex { margin-top: 8px; }

/* --- Feature chip picker refinements (quick-add only) -------------------- */
.mmp-features-wrap .mmp-chip-group { margin-bottom: 18px; }
.mmp-features-wrap .mmp-chip-group-title {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #0f172a;
    margin: 0 0 10px;
}
.mmp-features-wrap .mmp-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* --- Simple floor-plan upload row layout --------------------------------- */
/* The legacy upload widget wires an absolutely-positioned icon button into
   .file-upload-block. The base styles only attach it under
   ".ere-property-multi-step .file-upload-block" — when the simple panel
   ends up rendered outside that wrapper (some themes wrap the form in
   their own container), the icon button drops out of place and floats
   beside the input instead of sitting on top of it. We re-declare the
   positioning here, scoped to the simple panel, so it works in both
   contexts. */
.mmp-floorplan-simple .file-upload-block,
.property-fields-wrap .file-upload-block {
    position: relative;
    display: block;
}
.mmp-floorplan-simple .file-upload-block input.form-control,
.property-fields-wrap .file-upload-block input.form-control {
    width: 100%;
    padding-right: 48px;
    box-sizing: border-box;
}
.mmp-floorplan-simple .file-upload-block .ere_floorsImg,
.mmp-floorplan-simple .file-upload-block button.ere_floorsImg,
.property-fields-wrap .file-upload-block .ere_floorsImg,
.property-fields-wrap .file-upload-block button.ere_floorsImg {
    position: absolute !important;
    top: 0;
    right: 0;
    height: 100%;
    width: 44px;
    padding: 0;
    margin: 0;
    border: 1px solid #d5dbe3;
    border-left: 0;
    border-radius: 0 4px 4px 0;
    background: #f4f6f9;
    color: #2d3748;
    cursor: pointer;
    transition: background .12s ease, color .12s ease;
}
.mmp-floorplan-simple .file-upload-block .ere_floorsImg:hover,
.property-fields-wrap .file-upload-block .ere_floorsImg:hover {
    background: var(--mmp-blue, #2c7be5);
    color: #fff;
    border-color: var(--mmp-blue, #2c7be5);
}
.mmp-floorplan-simple .file-upload-block .ere_floorsImg i,
.property-fields-wrap .file-upload-block .ere_floorsImg i {
    font-size: 18px;
    line-height: 1;
}

/* Make the simple floor-plan row balance vertically — file upload column
   was visibly shorter than the notes column, which pulled the step nav
   ("Next") line up to a half-empty row. */
.mmp-floorplan-simple .row {
    align-items: stretch;
}
.mmp-floorplan-simple .form-group {
    margin-bottom: 0;
}
.mmp-floorplan-simple textarea#mmp_simple_floorplan_notes {
    min-height: 92px;
    resize: vertical;
}

/* --- Property Features: collapsible group accordion ---------------------- */
/* Each .mmp-chip-group has a heading and a row of chips. By default the
   chip row is collapsed; click the heading to expand. A chevron rotates
   to indicate state. Headings are keyboard-accessible (Enter / Space). */
.mmp-features-wrap .mmp-chip-group {
    border: 1px solid #e3e8ef;
    border-radius: 8px;
    margin-bottom: 8px;
    background: #fff;
    overflow: hidden;
}
.mmp-features-wrap .mmp-chip-group-title {
    margin: 0 !important;
    padding: 12px 16px !important;
    cursor: pointer;
    user-select: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #0f172a !important;
    background: #f8fafc;
    transition: background .12s ease;
    border-bottom: 1px solid transparent;
}
.mmp-features-wrap .mmp-chip-group-title:hover {
    background: #eef4fc;
}
.mmp-features-wrap .mmp-chip-group-title::after {
    content: "\25BE"; /* down-pointing triangle */
    display: inline-block;
    font-size: 14px;
    color: #64748b;
    transition: transform .15s ease;
    transform: rotate(-90deg); /* default closed → points right */
    margin-left: auto;
    flex: 0 0 auto;
}
.mmp-features-wrap .mmp-chip-group.is-open .mmp-chip-group-title::after {
    transform: rotate(0deg); /* open → points down */
}
.mmp-features-wrap .mmp-chip-group.is-open .mmp-chip-group-title {
    background: #eef4fc;
    border-bottom-color: #dbe6f4;
}
.mmp-features-wrap .mmp-chip-row {
    display: none;
    padding: 12px 16px;
    flex-wrap: wrap;
    gap: 8px;
}
.mmp-features-wrap .mmp-chip-group.is-open .mmp-chip-row {
    display: flex;
}
/* Selected count badge — sits between heading text and the chevron. */
.mmp-features-wrap .mmp-chip-group-title .mmp-chip-count {
    font-size: 11px;
    font-weight: 700;
    background: var(--mmp-blue, #2c7be5);
    color: #fff;
    padding: 2px 8px;
    border-radius: 999px;
    margin-left: 8px;
    min-width: 20px;
    text-align: center;
    line-height: 1.4;
}
.mmp-features-wrap .mmp-chip-group-title .mmp-chip-count[data-count="0"] {
    display: none;
}



/* ============================================================
   MMP v5.4.7 - Slot badge, package success banner, submit CTA
   ============================================================ */

/* Remaining slots badge - shown on new-property page when not just purchased */
.mmp-slot-badge {
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: 860px;
    margin: 0 auto 22px;
    padding: 12px 18px;
    background: linear-gradient(135deg, #f0faf4 0%, #e8f5ed 100%);
    border: 1px solid #b7e1c5;
    border-left: 4px solid #27ae60;
    border-radius: 10px;
    font-size: 14px;
    color: #1d643a;
    font-weight: 600;
    box-shadow: 0 1px 6px rgba(0,0,0,0.04);
}

.mmp-slot-badge-icon {
    font-size: 18px;
    line-height: 1;
}

/* Big green success banner after a successful package purchase */
.mmp-pkg-success-banner {
    display: flex;
    align-items: center;
    gap: 14px;
    max-width: 860px;
    margin: 0 auto 24px;
    padding: 18px 22px;
    background: linear-gradient(135deg, #d4f3df 0%, #b6e7c8 100%);
    border: 1px solid #7ed09a;
    border-radius: 12px;
    color: #0d4d28;
    box-shadow: 0 3px 14px rgba(46,204,113,0.18);
    animation: mmpFadeUp 0.4s ease both;
}

.mmp-pkg-success-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #27ae60;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 20px;
    flex: 0 0 38px;
}

.mmp-pkg-success-text strong {
    display: block;
    font-size: 15px;
    margin-bottom: 2px;
}

.mmp-pkg-success-text small {
    font-size: 13px;
    color: #1d643a;
    opacity: 0.95;
}

/* Prominent Submit New Property CTA, used on my-properties / dashboard */
.mmp-submit-property-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 26px;
    margin: 14px 0;
    background: linear-gradient(135deg, #2ecc71 0%, #27ae60 100%);
    color: #fff !important;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    text-decoration: none !important;
    box-shadow: 0 4px 16px rgba(46,204,113,0.35);
    transition: transform 0.18s, box-shadow 0.2s;
}

.mmp-submit-property-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 22px rgba(46,204,113,0.5);
    color: #fff !important;
}

.mmp-submit-property-cta::before {
    content: "+";
    font-size: 22px;
    line-height: 1;
    font-weight: 800;
}

/* Container above my-properties listings to host the CTA + slot count */
.mmp-my-props-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding: 18px 20px;
    margin-bottom: 20px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 8px rgba(0,0,0,0.04);
}

.mmp-my-props-toolbar .mmp-slot-badge {
    margin: 0;
    flex: 0 1 auto;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}

@media (max-width: 600px) {
    .mmp-my-props-toolbar {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }
    .mmp-submit-property-cta {
        justify-content: center;
    }
}

/* Make sure the submit button at final step is always visible on mobile */
@media (max-width: 600px) {
    .ere-step-nav {
        flex-direction: column !important;
    }
    .ere-step-nav .ere-btn-prev,
    .ere-step-nav .ere-btn-next,
    .ere-step-nav .ere-btn-edit,
    .ere-step-nav .btn-submit-property {
        width: 100% !important;
        margin-left: 0 !important;
        justify-content: center !important;
    }
    .btn-submit-property {
        margin-left: 0 !important;
        width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
    }
}


/* ============================================================
   MMP v5.4.8 - Profile / Account Settings redesign
   ============================================================ */

.mmp-profile-v2 {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* --- Hero card --- */
.mmp-profile-hero {
    position: relative;
    margin: 0 0 28px;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 4px 22px rgba(0,0,0,0.07);
    border: 1px solid #e2e8f0;
    animation: mmpFadeUp 0.4s ease both;
}

.mmp-profile-hero-bg {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 110px;
    background: linear-gradient(135deg, #1a3c5e 0%, #2c7be5 100%);
    z-index: 0;
}

.mmp-profile-hero-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 22px;
    align-items: center;
    padding: 32px 28px 22px;
}

.mmp-profile-hero-avatar {
    flex: 0 0 auto;
    width: 92px;
    height: 92px;
    border-radius: 50%;
    overflow: hidden;
    border: 4px solid #fff;
    box-shadow: 0 6px 18px rgba(0,0,0,0.18);
    background: #fff;
    margin-top: 38px;
}

.mmp-profile-hero-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mmp-profile-hero-text {
    min-width: 0;
    color: #fff;
    margin-top: 38px;
}

.mmp-profile-hero-name {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #fff !important;
    margin: 0 0 4px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em;
}

.mmp-profile-hero-email {
    font-size: 13px;
    color: rgba(255,255,255,0.88);
    margin: 0 0 12px;
    word-break: break-all;
}

.mmp-profile-hero-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.mmp-slot-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: rgba(255,255,255,0.95);
    color: #1a3c5e;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.mmp-slot-chip-icon {
    font-size: 14px;
}

.mmp-hero-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: rgba(255,255,255,0.15);
    color: #fff !important;
    text-decoration: none !important;
    border-radius: 50px;
    border: 1px solid rgba(255,255,255,0.3);
    font-size: 13px;
    font-weight: 600;
    transition: background 0.2s;
}

.mmp-hero-link:hover {
    background: rgba(255,255,255,0.25);
    color: #fff !important;
}

.mmp-profile-hero-cta {
    margin-top: 38px;
}

.mmp-hero-cta {
    margin: 0 !important;
}

.mmp-cta-blue {
    background: linear-gradient(135deg, #2c7be5 0%, #1a5fba 100%) !important;
    box-shadow: 0 4px 16px rgba(44,123,229,0.4) !important;
}

@media (max-width: 760px) {
    .mmp-profile-hero-inner {
        grid-template-columns: 1fr;
        text-align: center;
        padding: 26px 20px 22px;
    }
    .mmp-profile-hero-bg { height: 90px; }
    .mmp-profile-hero-avatar {
        margin: 28px auto 0;
        width: 84px;
        height: 84px;
    }
    .mmp-profile-hero-text {
        color: #1a3c5e;
        margin-top: 8px;
    }
    .mmp-profile-hero-name {
        color: #1a3c5e !important;
    }
    .mmp-profile-hero-email {
        color: #475569;
    }
    .mmp-profile-hero-meta {
        justify-content: center;
    }
    .mmp-hero-link {
        background: rgba(44,123,229,0.1);
        color: #2c7be5 !important;
        border-color: rgba(44,123,229,0.25);
    }
    .mmp-profile-hero-cta {
        margin-top: 4px;
    }
    .mmp-hero-cta {
        width: 100%;
        justify-content: center;
    }
}

/* --- Profile cards --- */
.mmp-profile-card {
    border-radius: 14px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 2px 14px rgba(0,0,0,0.05) !important;
    overflow: hidden;
    background: #fff;
    margin-bottom: 22px;
}

.mmp-profile-card-header {
    background: #f8fafc !important;
    border-bottom: 1px solid #e2e8f0 !important;
    padding: 16px 22px !important;
}

.mmp-profile-card-header .card-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a3c5e !important;
    letter-spacing: 0.2px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.mmp-profile-card-header .card-title i {
    color: #2c7be5;
    font-size: 17px;
}

.mmp-profile-body {
    padding: 26px 22px !important;
}

/* --- Two-column profile layout (avatar + fields) --- */
.mmp-profile-grid {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 26px;
    align-items: start;
    margin-bottom: 18px;
}

.mmp-profile-avatar-card {
    text-align: center;
    padding: 18px 16px;
    background: #f8fafc;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
}

.mmp-avatar-frame {
    width: 144px;
    height: 144px;
    margin: 0 auto 14px;
    border-radius: 50%;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 4px 14px rgba(0,0,0,0.08);
    border: 3px solid #fff;
}

.mmp-avatar-frame .profile-thumb,
.mmp-avatar-frame .profile-thumb img {
    width: 100% !important;
    height: 100% !important;
}

.mmp-avatar-frame img {
    object-fit: cover;
    display: block;
}

.mmp-avatar-btn {
    background: #fff !important;
    color: #2c7be5 !important;
    border: 1.5px solid #2c7be5 !important;
    border-radius: 50px !important;
    padding: 8px 18px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    cursor: pointer;
    transition: all 0.2s;
}

.mmp-avatar-btn:hover {
    background: #2c7be5 !important;
    color: #fff !important;
}

.mmp-profile-fields .form-group {
    margin-bottom: 16px;
}

.mmp-profile-fields label,
.mmp-profile-body label {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #475569 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
    margin-bottom: 5px !important;
    display: block;
}

.mmp-profile-body .form-control {
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 10px !important;
    padding: 11px 14px !important;
    font-size: 14px !important;
    color: #1a3c5e !important;
    background: #fafbfc !important;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s !important;
}

.mmp-profile-body .form-control:focus {
    border-color: #2c7be5 !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(44,123,229,0.12) !important;
    outline: none !important;
}

.mmp-profile-body textarea.form-control {
    min-height: 92px;
    resize: vertical;
}

.mmp-soc-i {
    color: #94a3b8;
    margin-right: 4px;
}

/* --- Section divider --- */
.mmp-profile-section-divider {
    text-align: center;
    position: relative;
    margin: 26px 0 18px;
}

.mmp-profile-section-divider::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: #e2e8f0;
    z-index: 0;
}

.mmp-profile-section-divider span {
    position: relative;
    z-index: 1;
    background: #fff;
    padding: 0 14px;
    color: #94a3b8;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* --- Agent notice --- */
.mmp-agent-notice {
    background: linear-gradient(135deg, #fff7e6 0%, #fdebcb 100%);
    border: 1px solid #f5cf80;
    border-left: 4px solid #d18b00;
    border-radius: 10px;
    padding: 16px 18px;
    margin-bottom: 22px;
    color: #5e4a1d;
}

.mmp-agent-notice h4 {
    font-size: 14px;
    font-weight: 700;
    color: #5e4a1d;
    margin: 0 0 6px;
}

.mmp-agent-notice p {
    margin: 0 0 12px;
    font-size: 13px;
    line-height: 1.55;
}

.mmp-agent-notice .btn {
    background: #d18b00 !important;
    border: none !important;
    color: #fff !important;
    border-radius: 50px !important;
    padding: 8px 22px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.mmp-agent-notice .btn:hover {
    background: #b07700 !important;
}

/* --- Save button --- */
.mmp-profile-form-actions {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid #e2e8f0;
    text-align: right;
}

.mmp-profile-save-btn {
    background: linear-gradient(135deg, #2ecc71 0%, #27ae60 100%) !important;
    border: none !important;
    color: #fff !important;
    border-radius: 50px !important;
    padding: 11px 30px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(46,204,113,0.32) !important;
    transition: transform 0.18s, box-shadow 0.2s !important;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.mmp-profile-save-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(46,204,113,0.45) !important;
}

/* --- Mobile stacking for the avatar+fields grid --- */
@media (max-width: 760px) {
    .mmp-profile-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .mmp-profile-avatar-card {
        max-width: 260px;
        margin: 0 auto;
    }
    .mmp-profile-form-actions {
        text-align: center;
    }
    .mmp-profile-save-btn {
        width: 100%;
        justify-content: center;
    }
}

/* Hide the old jumbotron agent block that used to live here (the redesign
   uses .mmp-agent-notice instead). */
.mmp-profile-v2 .jumbotron.ere-account-agent {
    display: none !important;
}



/* ============================================================
   MMP v5.5.0 - Mobile-first profile hero + sticky submit bar
   ============================================================ */

/* --- Hero: rebuild WITHOUT !important on the desktop grid so the
       mobile media query can do its job. */
.mmp-profile-hero-text {
    min-width: 0;
    overflow: hidden;
}

.mmp-profile-hero-email {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

/* Desktop columns - allow text column to shrink. Older v5.4.8 rule used
   `auto 1fr auto` which can let the email overflow. minmax(0,1fr) lets the
   middle column shrink properly so the email clips to ellipsis. */
@media (min-width: 761px) {
    .mmp-profile-hero-inner {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }
}

/* MOBILE: vertical stack. Avatar centred on top, then name/email/slot chip,
   then a full-width CTA. The hero gradient banner is shorter on mobile. */
@media (max-width: 760px) {
    .mmp-profile-hero {
        margin-bottom: 22px;
    }
    .mmp-profile-hero-bg {
        height: 80px;
    }
    .mmp-profile-hero-inner {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 12px;
        padding: 22px 18px 22px;
    }
    .mmp-profile-hero-avatar {
        margin: 28px 0 4px;
        width: 84px;
        height: 84px;
    }
    .mmp-profile-hero-text {
        width: 100%;
        margin-top: 0;
        color: #1a3c5e;
    }
    .mmp-profile-hero-name {
        color: #1a3c5e !important;
        font-size: 18px !important;
        margin: 0 0 4px !important;
    }
    .mmp-profile-hero-email {
        color: #475569;
        white-space: normal;
        word-break: break-word;
        font-size: 12px;
        margin: 0 0 10px;
    }
    .mmp-profile-hero-meta {
        justify-content: center;
        gap: 8px;
    }
    .mmp-slot-chip {
        background: #2c7be5;
        color: #fff;
        box-shadow: 0 2px 8px rgba(44,123,229,0.25);
    }
    .mmp-hero-link {
        background: rgba(44,123,229,0.1);
        color: #2c7be5 !important;
        border-color: rgba(44,123,229,0.25);
    }
    .mmp-profile-hero-cta {
        margin-top: 6px;
        width: 100%;
    }
    .mmp-profile-hero-cta .mmp-hero-cta {
        width: 100%;
        justify-content: center;
        padding: 14px 22px !important;
        font-size: 14px !important;
        line-height: 1.1;
    }
}

/* --- Show All mode: do NOT hide the prev/next/edit any more. Keep the
       original submit button visible. We add a separate always-visible sticky
       submit bar below for the user. */

.ere-property-multi-step.edit-form .ere-step-nav .ere-btn-next,
.ere-property-multi-step.edit-form .ere-step-nav .ere-btn-prev,
.ere-property-multi-step.edit-form .ere-step-nav .ere-btn-edit {
    /* leave defaults */
}

/* Highlight required-but-empty fields after a failed submit. */
.ere-property-multi-step input.error,
.ere-property-multi-step textarea.error,
.ere-property-multi-step select.error,
.ere-property-multi-step .select2-container.error .select2-selection {
    border-color: #c0392b !important;
    background: #fef4f3 !important;
    box-shadow: 0 0 0 3px rgba(192, 57, 43, 0.12) !important;
}

/* Floating banner when validation fails */
.mmp-validation-banner {
    position: fixed;
    bottom: 86px;
    left: 50%;
    transform: translateX(-50%);
    background: #c0392b;
    color: #fff;
    padding: 12px 22px;
    border-radius: 50px;
    box-shadow: 0 6px 22px rgba(192, 57, 43, 0.35);
    font-size: 14px;
    font-weight: 700;
    z-index: 10000;
    display: flex;
    align-items: center;
    gap: 8px;
    max-width: calc(100vw - 32px);
    animation: mmpFadeUp 0.3s ease both;
}
.mmp-validation-banner::before {
    content: "!";
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #fff;
    color: #c0392b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    flex: 0 0 22px;
}

/* --- ALWAYS-VISIBLE STICKY SUBMIT BAR -----------------------------
   Added by JS to every submit/edit-property form. Pinned to the bottom
   of the viewport on mobile, just below the form on desktop. Means the
   user can always submit no matter which step they are on, and never
   has to find the original "Submit" button buried in the last fieldset.
   ------------------------------------------------------------ */

.mmp-sticky-submit-bar {
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 99;
    margin: 18px -16px -16px;
    padding: 14px 18px;
    background: rgba(255,255,255,0.96);
    backdrop-filter: saturate(140%) blur(8px);
    -webkit-backdrop-filter: saturate(140%) blur(8px);
    border-top: 1px solid #e2e8f0;
    box-shadow: 0 -3px 14px rgba(0,0,0,0.06);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.mmp-sticky-submit-info {
    font-size: 13px;
    color: #475569;
    font-weight: 600;
    min-width: 0;
}

.mmp-sticky-submit-info strong {
    color: #1a3c5e;
}

.mmp-sticky-submit-btn {
    background: linear-gradient(135deg, #2ecc71 0%, #27ae60 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 12px 28px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 16px rgba(46,204,113,0.35) !important;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: transform 0.15s, box-shadow 0.2s !important;
    text-decoration: none !important;
}

.mmp-sticky-submit-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(46,204,113,0.5) !important;
    color: #fff !important;
}

.mmp-sticky-submit-btn::before {
    content: "\2713";
    font-weight: 800;
    font-size: 16px;
}

@media (max-width: 600px) {
    .mmp-sticky-submit-bar {
        flex-direction: column;
        gap: 8px;
        padding: 12px 14px;
        margin: 14px -12px -12px;
    }
    .mmp-sticky-submit-btn {
        width: 100%;
        justify-content: center !important;
        padding: 14px 22px !important;
        font-size: 15px !important;
    }
    .mmp-sticky-submit-info {
        text-align: center;
        width: 100%;
        font-size: 12px;
    }
}
