/* MOMKEN Elementor Premium Foundation — scoped widget design tokens. */
.momken-el-root,
.momken-portal-widget,
.momken-elementor-portal-widget,
.momken-elementor-portal-experience,
.momken-booking-wrapper,
.momken-maintenance-container {
    --mk-el-primary: var(--momken-color-primary, #0b132b);
    --mk-el-secondary: var(--momken-color-secondary, #c59b4e);
    --mk-el-accent: var(--momken-color-accent, #dfb15b);
    --mk-el-surface: var(--momken-color-surface, #ffffff);
    --mk-el-background: var(--momken-color-background, #f8fafc);
    --mk-el-text: var(--momken-color-text, #0f172a);
    --mk-el-muted: var(--momken-color-muted, #64748b);
    --mk-el-border: var(--momken-color-border, #e2e8f0);
    --mk-el-success: var(--momken-color-success, #10b981);
    --mk-el-warning: var(--momken-color-warning, #f59e0b);
    --mk-el-danger: var(--momken-color-danger, #ef4444);
    --mk-el-radius-xs: 8px;
    --mk-el-radius-sm: 12px;
    --mk-el-radius-md: var(--momken-radius-card, 16px);
    --mk-el-radius-lg: 24px;
    --mk-el-space-1: 4px;
    --mk-el-space-2: 8px;
    --mk-el-space-3: 12px;
    --mk-el-space-4: 16px;
    --mk-el-space-5: 20px;
    --mk-el-space-6: 24px;
    --mk-el-space-8: 32px;
    --mk-el-shadow-soft: 0 14px 45px rgba(15, 23, 42, .08);
    --mk-el-shadow-lift: 0 24px 70px rgba(15, 23, 42, .14);
    --mk-el-ease: cubic-bezier(.2,.8,.2,1);
    --mk-el-duration: 220ms;
    --mk-el-font-family: var(--momken-font-family, "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    box-sizing: border-box;
    font-family: var(--mk-el-font-family);
}
.momken-el-root *,
.momken-portal-widget *,
.momken-elementor-portal-widget *,
.momken-elementor-portal-experience *,
.momken-booking-wrapper *,
.momken-maintenance-container * { box-sizing: border-box; }

.momken-el-surface {
    position: relative;
    background: var(--mk-el-surface);
    color: var(--mk-el-text);
    border: 1px solid color-mix(in srgb, var(--mk-el-border) 88%, transparent);
    border-radius: var(--mk-el-radius-md);
    box-shadow: var(--mk-el-shadow-soft);
    overflow: hidden;
}
.momken-el-surface::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--mk-el-secondary) 55%, transparent), transparent);
    pointer-events: none;
}
.momken-el-kicker {
    color: var(--mk-el-secondary);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.momken-el-title {
    margin: 0;
    color: var(--mk-el-text);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -.025em;
}
.momken-el-muted { color: var(--mk-el-muted); }
.momken-el-accent { color: var(--mk-el-secondary); }
.momken-el-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 46px;
    padding: 11px 18px;
    border: 1px solid transparent;
    border-radius: var(--mk-el-radius-sm);
    background: var(--mk-el-primary);
    color: #fff;
    font: inherit;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: transform var(--mk-el-duration) var(--mk-el-ease), box-shadow var(--mk-el-duration) var(--mk-el-ease), border-color var(--mk-el-duration) var(--mk-el-ease);
}
.momken-el-button:hover,
.momken-el-button:focus-visible { transform: translateY(-1px); box-shadow: var(--mk-el-shadow-soft); }
.momken-el-button--gold { background: linear-gradient(135deg, var(--mk-el-secondary), var(--mk-el-accent)); color: var(--mk-el-primary); }
.momken-el-button--ghost { background: transparent; color: var(--mk-el-text); border-color: var(--mk-el-border); }
.momken-el-icon-button {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    border: 1px solid var(--mk-el-border);
    background: color-mix(in srgb, var(--mk-el-surface) 90%, transparent);
    color: var(--mk-el-text);
}
.momken-el-empty,
.momken-el-denied {
    padding: 22px;
    border: 1px dashed var(--mk-el-border);
    border-radius: var(--mk-el-radius-md);
    color: var(--mk-el-muted);
    background: color-mix(in srgb, var(--mk-el-background) 82%, transparent);
}
.momken-el-grid { display: grid; gap: var(--mk-el-space-5); }
.momken-el-grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.momken-el-grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.momken-el-grid--4 { grid-template-columns: repeat(4, minmax(0,1fr)); }

[data-theme="dark"] .momken-el-root,
[data-theme="dark"] .momken-portal-widget,
[data-theme="dark"] .momken-elementor-portal-widget,
.momken-portal-mode-dark .momken-el-root {
    --mk-el-surface: var(--momken-color-surface, #0f172a);
    --mk-el-background: var(--momken-color-background, #070d1e);
    --mk-el-text: var(--momken-color-text, #f8fafc);
    --mk-el-muted: var(--momken-color-muted, #94a3b8);
    --mk-el-border: var(--momken-color-border, #263247);
}

@media (max-width: 767px) {
    .momken-el-grid--2,
    .momken-el-grid--3,
    .momken-el-grid--4 { grid-template-columns: 1fr; }
    .momken-el-button { width: 100%; }
}
.momken-property-price-badge{display:inline-flex;align-items:baseline;gap:10px;padding:14px 18px;overflow:visible}
.momken-property-price-badge__amount{font-size:clamp(20px,2.2vw,30px);font-weight:900;letter-spacing:-.035em;color:var(--mk-el-text)}
.momken-property-price-badge__label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--mk-el-muted)}
.momken-property-trust-badge{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;font-size:12px;font-weight:800;box-shadow:none}
