/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
**/

*/
/* ═══════════════════════════════════════════════════════════════════════════
   Mundo Apto · Elementor Global CSS · Clean Style Kit v2.0
   Cole em: Elementor → Site Settings → Custom CSS
   ou WordPress → Aparência → Personalizar → CSS Adicional

   Objetivo:
   - Base global estável.
   - Grid consistente entre seções.
   - Sem padding global forçado em todo .e-con.
   - Seções específicas limpas: amenities, feature, MCMV, mobility,
     consult, balance e ready CTA.
   ═══════════════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,700;1,800;1,900&family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,600&display=swap');


/* ─────────────────────────────────────────────────────────────────────────
   1. DESIGN TOKENS
   ───────────────────────────────────────────────────────────────────────── */

:root {
  --color-primary:          #4A9EE8;
  --color-primary-dark:     #2B7EC8;
  --color-primary-light:    #E8F3FD;

  --color-secondary:        #9B5FC0;
  --color-secondary-dark:   #7A3FA0;
  --color-secondary-light:  #F0EBF6;

  --color-accent:           #F5D000;
  --color-accent-dark:      #E0BE00;
  --color-accent-text:      #FDF46E;

  --color-dark:             #0D3A60;
  --color-darkest:          #080F1C;
  --color-text:             #12181F;
  --color-gray:             #4A5568;
  --color-gray-lt:          #718096;
  --color-border:           #E2E8F0;
  --color-bg-alt:           #F7F9FC;
  --color-white:            #FFFFFF;
  --color-blue-mcmv:        #1A7BCC;

  --font-heading: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-body:    'Open Sans', -apple-system, BlinkMacSystemFont, sans-serif;

  --font-size-base:   16px;
  --line-height-base: 1.75;

  --section-y: 96px;
  --section-x: 60px;
  --site-max: 1180px;
  --site-max-wide: 1280px;
  --site-max-compact: 980px;

  --grid-left: 420px;
  --grid-gap: 72px;
  --grid-left-compact: 340px;
  --grid-gap-compact: 36px;

  --radius-btn:   100px;
  --radius-card:  24px;
  --radius-lg:    20px;
  --radius-mini:  14px;
  --radius-sm:    10px;
  --radius-input: 12px;

  --shadow-xs: 0 2px 8px rgba(13,58,96,0.06);
  --shadow-sm: 0 4px 12px rgba(13,58,96,0.08);
  --shadow-md: 0 16px 40px rgba(13,58,96,0.10);
  --shadow-lg: 0 24px 64px rgba(13,58,96,0.14);
  --shadow-xl: 0 32px 80px rgba(0,0,0,0.20);

  --transition: 0.22s ease;

  /* Compatibilidade com códigos antigos --ma-* */
  --ma-primary: var(--color-primary);
  --ma-primary-dark: var(--color-primary-dark);
  --ma-primary-light: var(--color-primary-light);
  --ma-secondary: var(--color-secondary);
  --ma-secondary-dark: var(--color-secondary-dark);
  --ma-secondary-light: var(--color-secondary-light);
  --ma-accent: var(--color-accent);
  --ma-accent-dark: var(--color-accent-dark);
  --ma-dark: var(--color-dark);
  --ma-text: var(--color-text);
  --ma-gray: var(--color-gray);
  --ma-border: var(--color-border);
  --ma-bg-alt: var(--color-bg-alt);
  --ma-white: var(--color-white);

  /* Ponte com Global Colors do Elementor */
  --e-global-color-primary: var(--color-primary);
  --e-global-color-secondary: var(--color-secondary);
  --e-global-color-accent: var(--color-accent);
  --e-global-color-dark: var(--color-dark);
  --e-global-color-text: var(--color-text);
  --e-global-color-gray: var(--color-gray);
}


/* ─────────────────────────────────────────────────────────────────────────
   2. BASE / RESET
   ───────────────────────────────────────────────────────────────────────── */

*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  margin: 0;
  overflow-x: hidden;
  font-family: var(--font-body);
  font-size: var(--font-size-base);
  font-weight: 400;
  line-height: var(--line-height-base);
  color: var(--color-text);
  background: var(--color-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  display: block;
  max-width: 100%;
}

a,
.elementor a {
  color: var(--color-primary);
  transition: color var(--transition), opacity var(--transition);
}

a:hover,
.elementor a:hover {
  color: var(--color-primary-dark);
}

.elementor-element:focus {
  outline: none;
}

.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li {
  font-family: var(--font-body) !important;
  line-height: 1.75 !important;
  color: var(--color-text);
}


/* ─────────────────────────────────────────────────────────────────────────
   3. TIPOGRAFIA
   ───────────────────────────────────────────────────────────────────────── */

h1, .e-h1 {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 72px;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--color-dark);
}

h2, .e-h2 {
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 52px;
  line-height: 1.10;
  letter-spacing: -0.02em;
  color: var(--color-dark);
}

h3, .e-h3 {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 32px;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--color-dark);
}

h4, .e-h4 {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.4;
  color: var(--color-dark);
}

h5, .e-h5 {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 17px;
  line-height: 1.5;
  color: var(--color-dark);
}

h6, .e-h6 {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 15px;
  line-height: 1.5;
  color: var(--color-dark);
}

.e-h1-fluid { font-size: clamp(40px, 6vw, 72px) !important; }
.e-h2-fluid { font-size: clamp(32px, 4vw, 52px) !important; }
.e-h3-fluid { font-size: clamp(22px, 2.5vw, 32px) !important; }
.e-h4-fluid { font-size: clamp(17px, 1.5vw, 20px) !important; }

.elementor-widget-heading .elementor-heading-title {
  font-family: var(--font-heading) !important;
}

@media (max-width: 768px) {
  h1, .e-h1, .e-h1-fluid { font-size: 40px !important; }
  h2, .e-h2, .e-h2-fluid { font-size: 34px !important; }
  h3, .e-h3, .e-h3-fluid { font-size: 24px !important; }
  h4, .e-h4, .e-h4-fluid { font-size: 18px !important; }
}


/* ─────────────────────────────────────────────────────────────────────────
   4. UTILITÁRIOS
   ───────────────────────────────────────────────────────────────────────── */

.font-heading { font-family: var(--font-heading) !important; }
.font-body { font-family: var(--font-body) !important; }

.fw-300 { font-weight: 300 !important; }
.fw-400 { font-weight: 400 !important; }
.fw-500 { font-weight: 500 !important; }
.fw-600 { font-weight: 600 !important; }
.fw-700 { font-weight: 700 !important; }
.fw-800 { font-weight: 800 !important; }
.fw-900 { font-weight: 900 !important; }

.fs-10 { font-size: 10px !important; }
.fs-11 { font-size: 11px !important; }
.fs-12 { font-size: 12px !important; }
.fs-13 { font-size: 13px !important; }
.fs-14 { font-size: 14px !important; }
.fs-15 { font-size: 15px !important; }
.fs-16 { font-size: 16px !important; }
.fs-18 { font-size: 18px !important; }
.fs-20 { font-size: 20px !important; }
.fs-24 { font-size: 24px !important; }
.fs-28 { font-size: 28px !important; }
.fs-32 { font-size: 32px !important; }
.fs-40 { font-size: 40px !important; }
.fs-48 { font-size: 48px !important; }
.fs-56 { font-size: 56px !important; }
.fs-64 { font-size: 64px !important; }
.fs-72 { font-size: 72px !important; }

.lh-1 { line-height: 1 !important; }
.lh-105 { line-height: 1.05 !important; }
.lh-110 { line-height: 1.10 !important; }
.lh-125 { line-height: 1.25 !important; }
.lh-140 { line-height: 1.40 !important; }
.lh-160 { line-height: 1.60 !important; }
.lh-175 { line-height: 1.75 !important; }

.ls-tight { letter-spacing: -0.03em !important; }
.ls-snug { letter-spacing: -0.02em !important; }
.ls-normal { letter-spacing: 0 !important; }
.ls-wide { letter-spacing: 0.05em !important; }
.ls-wider { letter-spacing: 0.10em !important; }
.ls-widest { letter-spacing: 0.14em !important; }

.uppercase { text-transform: uppercase !important; }
.lowercase { text-transform: lowercase !important; }
.capitalize { text-transform: capitalize !important; }
.italic { font-style: italic !important; }

.text-left { text-align: left !important; }
.text-center { text-align: center !important; }
.text-right { text-align: right !important; }

.typo-eyebrow {
  font-family: var(--font-heading) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}


/* ─────────────────────────────────────────────────────────────────────────
   5. CORES
   ───────────────────────────────────────────────────────────────────────── */

.text-primary,
.text-primary .elementor-heading-title,
.text-primary p,
.text-primary span,
.text-primary li {
  color: var(--color-primary) !important;
}

.text-secondary,
.text-secondary .elementor-heading-title,
.text-secondary p,
.text-secondary span,
.text-secondary li,
.elementor-heading-title .text-secondary,
.elementor-heading-title span.text-secondary {
  color: var(--color-secondary) !important;
}

.text-accent,
.text-accent .elementor-heading-title,
.text-accent p,
.text-accent span,
.text-accent li,
.elementor-heading-title .text-accent,
.elementor-heading-title span.text-accent {
  color: var(--color-accent) !important;
}

.text-dark,
.text-dark .elementor-heading-title,
.text-dark p,
.text-dark span,
.text-dark li {
  color: var(--color-dark) !important;
}

.text-body { color: var(--color-text) !important; }

.text-gray,
.text-gray .elementor-heading-title,
.text-gray p,
.text-gray span,
.text-gray li {
  color: var(--color-gray) !important;
}

.text-gray-lt { color: var(--color-gray-lt) !important; }

.text-white,
.text-white .elementor-heading-title,
.text-white p,
.text-white span,
.text-white li,
.text-white a:not(.elementor-button) {
  color: var(--color-white) !important;
}

.text-white-75 { color: rgba(255,255,255,0.75) !important; }
.text-white-60 { color: rgba(255,255,255,0.60) !important; }
.text-white-45 { color: rgba(255,255,255,0.45) !important; }

.bg-primary,
.elementor-section.bg-primary,
.e-con.bg-primary {
  background-color: var(--color-primary) !important;
}

.bg-primary-dark,
.elementor-section.bg-primary-dark,
.e-con.bg-primary-dark {
  background-color: var(--color-primary-dark) !important;
}

.bg-primary-light,
.elementor-section.bg-primary-light,
.e-con.bg-primary-light {
  background-color: var(--color-primary-light) !important;
}

.bg-secondary,
.elementor-section.bg-secondary,
.e-con.bg-secondary {
  background-color: var(--color-secondary) !important;
}

.bg-secondary-dark,
.elementor-section.bg-secondary-dark,
.e-con.bg-secondary-dark {
  background-color: var(--color-secondary-dark) !important;
}

.bg-secondary-light,
.elementor-section.bg-secondary-light,
.e-con.bg-secondary-light {
  background-color: var(--color-secondary-light) !important;
}

.bg-accent,
.elementor-section.bg-accent,
.e-con.bg-accent {
  background-color: var(--color-accent) !important;
}

.bg-dark,
.elementor-section.bg-dark,
.e-con.bg-dark {
  background-color: var(--color-dark) !important;
}

.bg-darkest,
.elementor-section.bg-darkest,
.e-con.bg-darkest {
  background-color: var(--color-darkest) !important;
}

.bg-white,
.elementor-section.bg-white,
.e-con.bg-white {
  background-color: var(--color-white) !important;
}

.bg-alt,
.elementor-section.bg-alt,
.e-con.bg-alt {
  background-color: var(--color-bg-alt) !important;
}

.bg-transparent { background-color: transparent !important; }

.bg-primary h1, .bg-primary h2, .bg-primary h3, .bg-primary h4, .bg-primary h5, .bg-primary h6,
.bg-primary p, .bg-primary span, .bg-primary li, .bg-primary .elementor-heading-title,
.bg-secondary h1, .bg-secondary h2, .bg-secondary h3, .bg-secondary h4, .bg-secondary h5, .bg-secondary h6,
.bg-secondary p, .bg-secondary span, .bg-secondary li, .bg-secondary .elementor-heading-title,
.bg-dark h1, .bg-dark h2, .bg-dark h3, .bg-dark h4, .bg-dark h5, .bg-dark h6,
.bg-dark p, .bg-dark span, .bg-dark li, .bg-dark .elementor-heading-title,
.bg-darkest h1, .bg-darkest h2, .bg-darkest h3, .bg-darkest h4,
.bg-darkest p, .bg-darkest span, .bg-darkest li, .bg-darkest .elementor-heading-title {
  color: var(--color-white) !important;
}

.bg-accent h1, .bg-accent h2, .bg-accent h3, .bg-accent h4,
.bg-accent p, .bg-accent span, .bg-accent li, .bg-accent .elementor-heading-title {
  color: var(--color-dark) !important;
}

.border-primary { border-color: var(--color-primary) !important; }
.border-secondary { border-color: var(--color-secondary) !important; }
.border-accent { border-color: var(--color-accent) !important; }
.border-dark { border-color: var(--color-dark) !important; }
.border-white { border-color: rgba(255,255,255,0.30) !important; }
.border-light { border-color: var(--color-border) !important; }


/* ─────────────────────────────────────────────────────────────────────────
   6. LAYOUT PADRÃO
   ───────────────────────────────────────────────────────────────────────── */

/* Não aplicar padding global em todo .e-con. Use classes de seção. */

.e-sec-default,
.elementor-section.e-sec-default,
.e-con.e-sec-default {
  padding: var(--section-y) var(--section-x) !important;
}

.e-sec-sm,
.elementor-section.e-sec-sm,
.e-con.e-sec-sm {
  padding: 48px 40px !important;
}

.e-sec-lg,
.elementor-section.e-sec-lg,
.e-con.e-sec-lg {
  padding: 120px 80px !important;
}

.e-sec-none,
.elementor-section.e-sec-none,
.e-con.e-sec-none {
  padding: 0 !important;
}

.container-xs,
.container-xs.e-con,
.container-xs .e-con-inner {
  max-width: 640px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
}

.container-sm,
.container-sm.e-con,
.container-sm .e-con-inner {
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
}

.container-md,
.container-md.e-con,
.container-md .e-con-inner {
  max-width: 1024px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
}

.container-lg,
.container-lg.e-con,
.container-lg .e-con-inner {
  max-width: var(--site-max-wide) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
}

/* Grid mestre para seções de duas colunas */
.e-layout-grid,
.e-con.e-layout-grid {
  width: 100% !important;
  max-width: var(--site-max) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.e-layout-grid.e-con > .e-con-inner {
  width: 100% !important;
  max-width: var(--site-max) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: var(--grid-left) minmax(0, 1fr) !important;
  gap: var(--grid-gap) !important;
  align-items: center !important;
}

/* Variação compacta para seções tipo showcase/card menor */
.e-layout-grid-compact,
.e-con.e-layout-grid-compact {
  width: 100% !important;
  max-width: var(--site-max-compact) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.e-layout-grid-compact.e-con > .e-con-inner {
  width: 100% !important;
  max-width: var(--site-max-compact) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: var(--grid-left-compact) minmax(0, 1fr) !important;
  gap: var(--grid-gap-compact) !important;
  align-items: center !important;
}

.gap-xs,
.gap-xs.e-con > .e-con-inner { gap: 8px !important; }

.gap-sm,
.gap-sm.e-con > .e-con-inner { gap: 16px !important; }

.gap-md,
.gap-md.e-con > .e-con-inner { gap: 24px !important; }

.gap-lg,
.gap-lg.e-con > .e-con-inner { gap: 40px !important; }

.gap-xl,
.gap-xl.e-con > .e-con-inner { gap: 64px !important; }

@media (max-width: 1024px) {
  :root {
    --section-y: 80px;
    --section-x: 40px;
    --grid-left: 360px;
    --grid-gap: 44px;
    --grid-left-compact: 320px;
    --grid-gap-compact: 28px;
  }
}

@media (max-width: 768px) {
  :root {
    --section-y: 64px;
    --section-x: 24px;
  }

  .e-sec-default,
  .elementor-section.e-sec-default,
  .e-con.e-sec-default {
    padding: var(--section-y) var(--section-x) !important;
  }

  .e-sec-sm,
  .elementor-section.e-sec-sm,
  .e-con.e-sec-sm {
    padding: 40px 20px !important;
  }

  .e-sec-lg,
  .elementor-section.e-sec-lg,
  .e-con.e-sec-lg {
    padding: 80px 24px !important;
  }

  .e-layout-grid.e-con > .e-con-inner,
  .e-layout-grid-compact.e-con > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .gap-xl.e-con > .e-con-inner { gap: 32px !important; }
  .gap-lg.e-con > .e-con-inner { gap: 24px !important; }
}


/* ─────────────────────────────────────────────────────────────────────────
   7. BOTÕES
   ───────────────────────────────────────────────────────────────────────── */

.elementor-button,
.elementor-button-wrapper .elementor-button,
a.elementor-button,
.elementor-form input[type="submit"],
.elementor-search-form__submit,
.elementor-login .elementor-button,
.elementor-post__read-more,
.elementor-posts .elementor-post__read-more,
.elementor-cta__button,
.elementor-price-table__button,
button.elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
  padding: 16px 32px !important;
  min-height: 48px !important;
  border-radius: var(--radius-btn) !important;
  border: 2px solid transparent !important;
  background: var(--color-primary) !important;
  color: var(--color-white) !important;
  text-decoration: none !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
}

.elementor-button:hover,
.elementor-button-wrapper .elementor-button:hover,
button.elementor-button:hover {
  background: var(--color-primary-dark) !important;
  color: var(--color-white) !important;
  transform: translateY(-2px) !important;
  text-decoration: none !important;
}

.e-btn-primary .elementor-button,
.elementor-button.e-btn-primary,
.btn-primary .elementor-button,
.elementor-button.btn-primary {
  background: var(--color-primary) !important;
  color: var(--color-white) !important;
}

.e-btn-secondary .elementor-button,
.elementor-button.e-btn-secondary,
.btn-secondary .elementor-button,
.elementor-button.btn-secondary {
  background: var(--color-secondary) !important;
  color: var(--color-white) !important;
}

.e-btn-dark .elementor-button,
.elementor-button.e-btn-dark,
.btn-dark .elementor-button,
.elementor-button.btn-dark {
  background: var(--color-dark) !important;
  color: var(--color-white) !important;
}

.e-btn-accent .elementor-button,
.elementor-button.e-btn-accent,
.btn-accent .elementor-button,
.elementor-button.btn-accent {
  background: var(--color-accent) !important;
  color: var(--color-dark) !important;
}

.e-btn-outline .elementor-button,
.elementor-button.e-btn-outline,
.btn-outline .elementor-button,
.elementor-button.btn-outline {
  background: transparent !important;
  color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}

.e-btn-full .elementor-button,
.elementor-button.e-btn-full,
.btn-full .elementor-button,
.elementor-button.btn-full {
  width: 100% !important;
}

.e-btn-sm .elementor-button,
.elementor-button.e-btn-sm,
.btn-sm .elementor-button,
.elementor-button.btn-sm {
  padding: 10px 20px !important;
  font-size: 13px !important;
  min-height: 36px !important;
}

.e-btn-lg .elementor-button,
.elementor-button.e-btn-lg,
.btn-lg .elementor-button,
.elementor-button.btn-lg {
  padding: 20px 44px !important;
  font-size: 17px !important;
  min-height: 56px !important;
}


/* ─────────────────────────────────────────────────────────────────────────
   8. FORMULÁRIOS
   ───────────────────────────────────────────────────────────────────────── */

/* Label padrão — sem uppercase forçado globalmente */
.elementor-field-label,
.elementor-form .elementor-field-label {
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
  color: var(--color-dark) !important;
  margin-bottom: 6px !important;
  display: block !important;
  line-height: 1.4 !important;
}
 
/*
  Opt-in: adicione a classe "form-labels-upper" no widget Elementor Form
  para ativar uppercase nos labels apenas onde desejar.
*/
.form-labels-upper .elementor-field-label,
.form-labels-upper.elementor-form .elementor-field-label {
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}
 
/* Campos — 16px evita zoom automático no iOS (bug < 16px) */
.elementor-field-group input,
.elementor-field-group select,
.elementor-field-group textarea,
.elementor-form .elementor-field,
.elementor-search-form__input {
  font-family: var(--font-body) !important;
  font-size: 16px !important;           /* era 15px — iOS zoom fix */
  color: var(--color-text) !important;
  border: 1.5px solid var(--color-border) !important;
  border-radius: var(--radius-input) !important;
  padding: 14px 18px !important;
  background: var(--color-white) !important;
  /* Removido: width: 100% !important — permite colunas inline */
  box-shadow: none !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
  -webkit-appearance: none !important;  /* evita estilo nativo no iOS/Safari */
  appearance: none !important;
}
 
/* Textarea específico */
.elementor-field-group textarea,
.elementor-form .elementor-field[type="textarea"] {
  resize: vertical !important;
  min-height: 120px !important;
}
 
/* Select — arrow customizada */
.elementor-field-group select,
.elementor-form .elementor-field[type="select"] {
  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='%234A5568' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  padding-right: 40px !important;
  cursor: pointer !important;
}
 
/* Focus */
.elementor-field-group input:focus,
.elementor-field-group select:focus,
.elementor-field-group textarea:focus,
.elementor-form .elementor-field:focus,
.elementor-search-form__input:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 3px rgba(74, 158, 232, 0.15) !important;
  outline: none !important;
}
 
/* Disabled — diferencia visualmente do campo ativo */
.elementor-field-group input:disabled,
.elementor-field-group select:disabled,
.elementor-field-group textarea:disabled,
.elementor-form .elementor-field:disabled {
  background: var(--color-bg-alt) !important;
  border-color: var(--color-border) !important;
  color: var(--color-gray-lt) !important;
  cursor: not-allowed !important;
  opacity: 0.7 !important;
}
 
/* Readonly */
.elementor-field-group input[readonly],
.elementor-field-group textarea[readonly],
.elementor-form .elementor-field[readonly] {
  background: var(--color-bg-alt) !important;
  border-color: var(--color-border) !important;
  color: var(--color-gray) !important;
  cursor: default !important;
}
 
/* Placeholder */
.elementor-field-group input::placeholder,
.elementor-field-group textarea::placeholder,
.elementor-form .elementor-field::placeholder {
  color: var(--color-gray-lt) !important;
  opacity: 1 !important;
}
 
/* ── Estado de erro/validação ── */
 
/* Campo com erro */
.elementor-field-group.elementor-error input,
.elementor-field-group.elementor-error select,
.elementor-field-group.elementor-error textarea,
.elementor-form .elementor-field-group.elementor-error .elementor-field {
  border-color: #E53E3E !important;
  box-shadow: 0 0 0 3px rgba(229, 62, 62, 0.12) !important;
  background: #FFF5F5 !important;
}
 
/* Mensagem de erro inline */
.elementor-field-group .elementor-message,
.elementor-form .elementor-field-group .elementor-message {
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  margin-top: 6px !important;
  display: block !important;
  line-height: 1.4 !important;
}
 
.elementor-field-group.elementor-error .elementor-message,
.elementor-form .elementor-field-group.elementor-error .elementor-message {
  color: #C53030 !important;
}
 
/* Mensagem de sucesso global do form */
.elementor-message.elementor-message-success {
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #276749 !important;
  background: #F0FFF4 !important;
  border: 1px solid #9AE6B4 !important;
  border-radius: var(--radius-sm) !important;
  padding: 14px 18px !important;
  margin-top: 12px !important;
}
 
/* Mensagem de erro global */
.elementor-message.elementor-message-danger {
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #C53030 !important;
  background: #FFF5F5 !important;
  border: 1px solid #FEB2B2 !important;
  border-radius: var(--radius-sm) !important;
  padding: 14px 18px !important;
  margin-top: 12px !important;
}
 
/* ── Submit button em contextos escuros ── */
 
/*
  Em seções com bg escuro (e-mcmv-section, e-consult-section, bg-dark, bg-primary),
  o submit do formulário deve ter aparência coerente com o botão secundário
  em vez de herdar o azul primário.
*/
.e-mcmv-section .elementor-form input[type="submit"],
.e-consult-section .elementor-form input[type="submit"],
.bg-dark .elementor-form input[type="submit"],
.bg-darkest .elementor-form input[type="submit"],
.bg-primary .elementor-form input[type="submit"] {
  background: var(--color-secondary) !important;
  color: var(--color-white) !important;
  border-color: transparent !important;
}
 
.e-mcmv-section .elementor-form input[type="submit"]:hover,
.e-consult-section .elementor-form input[type="submit"]:hover,
.bg-dark .elementor-form input[type="submit"]:hover,
.bg-darkest .elementor-form input[type="submit"]:hover,
.bg-primary .elementor-form input[type="submit"]:hover {
  background: var(--color-secondary-dark) !important;
}
 
/* ── Campos em linha (side-by-side) ── */
/*
  Quando o Elementor renderiza campos em múltiplas colunas,
  o width não deve ser forçado a 100%.
  Use a classe "form-inline" no wrapper se precisar garantir 100%
  apenas em formulários verticais simples.
*/
.form-inline .elementor-field-group input,
.form-inline .elementor-field-group select,
.form-inline .elementor-field-group textarea,
.form-inline .elementor-form .elementor-field {
  width: 100% !important;
}
 
/* ── Checkbox e Radio ── */
.elementor-field-type-checkbox .elementor-field-option,
.elementor-field-type-radio .elementor-field-option {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 14px !important;
  color: var(--color-text) !important;
  cursor: pointer !important;
  margin-bottom: 8px !important;
}
 
.elementor-field-type-checkbox input[type="checkbox"],
.elementor-field-type-radio input[type="radio"] {
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  border: 1.5px solid var(--color-border) !important;
  border-radius: 4px !important;
  accent-color: var(--color-primary) !important;
  cursor: pointer !important;
  padding: 0 !important;
}
 
.elementor-field-type-radio input[type="radio"] {
  border-radius: 50% !important;
}
 .elementor-field-type-select .elementor-select-wrapper,
.elementor-field-group .elementor-select-wrapper {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.elementor-field-type-select .elementor-select-wrapper select,
.elementor-field-group .elementor-select-wrapper select,
.elementor-field-type-select select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  border: 1.5px solid var(--color-border) !important;
  border-radius: var(--radius-input) !important;
  padding: 14px 44px 14px 18px !important;
  width: 100% !important;
  display: block !important;
}
/* ── Mobile ── */
@media (max-width: 768px) {
  .elementor-field-group input,
  .elementor-field-group select,
  .elementor-field-group textarea,
  .elementor-form .elementor-field,
  .elementor-search-form__input {
    font-size: 16px !important; /* manter 16px no mobile — crítico para iOS */
    padding: 13px 16px !important;
  }
}

/* ── Select wrapper customizado ── */

/* Remove pseudo-elemento ::before indesejado no wrapper nativo do Elementor */
.elementor-field.elementor-select-wrapper.remove-before::before,
.elementor-field-group .elementor-select-wrapper.remove-before::before {
  display: none !important;
  content: none !important;
}

/* Wrapper em si — posicionamento relativo para a arrow customizada */
.elementor-field.elementor-select-wrapper,
.elementor-field-group .elementor-select-wrapper {
  position: relative !important;
  display: block !important;
  width: 100% !important;
}

/* Arrow customizada via ::after no wrapper (em vez de background-image no select) */
.elementor-field.elementor-select-wrapper::after,
.elementor-field-group .elementor-select-wrapper::after {
  content: "" !important;
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 12px !important;
  height: 8px !important;
  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='%234A5568' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* Remove o background-image do select quando dentro do wrapper customizado
   para não duplicar as arrows */
.elementor-field.elementor-select-wrapper select,
.elementor-field-group .elementor-select-wrapper select {
  background-image: none !important;
  padding-right: 40px !important; /* mantém espaço para a arrow do ::after */
}

/* Quando remove-before está ativo, garante que o ::after também seja removido
   caso o contexto não precise de arrow (ex: select estilizado via JS externo) */
.elementor-field.elementor-select-wrapper.remove-before::after,
.elementor-field-group .elementor-select-wrapper.remove-before::after {
  display: none !important;
}

/* ─────────────────────────────────────────────────────────────────────────
   9. CARDS / EYEBROW / SECTION HEAD
   ───────────────────────────────────────────────────────────────────────── */

.e-card {
  border-radius: var(--radius-card) !important;
  background: var(--color-white) !important;
  overflow: hidden !important;
  transition: transform var(--transition), box-shadow var(--transition) !important;
}

.e-mini-card {
  border-radius: var(--radius-mini) !important;
  background: var(--color-white) !important;
  overflow: hidden !important;
}

.e-card-hover:hover,
.e-mini-card-hover:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--shadow-md) !important;
}

.e-card-xs { padding: 16px !important; }
.e-card-sm { padding: 24px !important; }
.e-card-md { padding: 32px !important; }
.e-card-lg { padding: 48px !important; }

.e-card-primary { background: var(--color-primary) !important; color: var(--color-white) !important; }
.e-card-secondary { background: var(--color-secondary) !important; color: var(--color-white) !important; }
.e-card-dark { background: var(--color-dark) !important; color: var(--color-white) !important; }
.e-card-accent { background: var(--color-accent) !important; color: var(--color-dark) !important; }

.e-eyebrow,
.elementor-widget-text-editor.e-eyebrow p,
.elementor-widget-heading.e-eyebrow .elementor-heading-title {
  font-family: var(--font-heading) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--color-secondary) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 12px 0 !important;
  line-height: 1 !important;
}

.e-eyebrow::before,
.elementor-widget-text-editor.e-eyebrow p::before,
.elementor-widget-heading.e-eyebrow .elementor-heading-title::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  flex-shrink: 0;
}

.e-eyebrow-primary { color: var(--color-primary) !important; }
.e-eyebrow-secondary { color: var(--color-secondary) !important; }
.e-eyebrow-accent { color: var(--color-accent) !important; }
.e-eyebrow-white { color: rgba(255,255,255,0.65) !important; }

.e-eyebrow-center,
.elementor-widget-text-editor.e-eyebrow-center p,
.elementor-widget-heading.e-eyebrow-center .elementor-heading-title {
  justify-content: center !important;
  text-align: center !important;
}

.e-eyebrow-center::after,
.elementor-widget-text-editor.e-eyebrow-center p::after,
.elementor-widget-heading.e-eyebrow-center .elementor-heading-title::after {
  content: "";
  display: inline-block;
  width: 40px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  flex-shrink: 0;
}

.e-section-head {
  max-width: var(--site-max-wide) !important;
  margin: 0 auto 48px auto !important;
  padding: 0 !important;
  text-align: center !important;
}

.e-section-head.e-con {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.e-section-head .e-eyebrow,
.e-section-head .elementor-widget-text-editor.e-eyebrow p,
.e-section-head .elementor-widget-heading.e-eyebrow .elementor-heading-title {
  justify-content: center !important;
  margin-bottom: 22px !important;
}

.e-section-head .elementor-widget-heading {
  margin-bottom: 24px !important;
}

.e-section-head .elementor-heading-title {
  margin: 0 !important;
}

.e-section-head .elementor-widget-text-editor {
  max-width: 980px !important;
  margin: 0 auto !important;
}

.e-section-head .elementor-widget-text-editor p {
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
  color: var(--color-gray) !important;
}


/* ─────────────────────────────────────────────────────────────────────────
   10. AMENITY CARDS
   ───────────────────────────────────────────────────────────────────────── */

.e-amenities-grid {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.e-amenities-grid.e-con {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.e-amenities-grid.e-con > .e-con-inner {
  width: 100% !important;
  max-width: var(--site-max-wide) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

.e-amenity-card,
.e-con.e-amenity-card {
  background: var(--color-secondary) !important;
  color: var(--color-white) !important;
  border-radius: var(--radius-card) !important;
  padding: 58px 58px !important;
  min-height: 340px !important;
  display: flex !important;
  flex-direction: column !important;
}

.e-amenity-card h1,
.e-amenity-card h2,
.e-amenity-card h3,
.e-amenity-card h4,
.e-amenity-card h5,
.e-amenity-card h6,
.e-amenity-card p,
.e-amenity-card span,
.e-amenity-card .elementor-heading-title {
  color: var(--color-white) !important;
}

.e-amenity-card .elementor-heading-title {
  font-size: 30px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  margin: 0 0 24px 0 !important;
}

.e-amenity-card p {
  font-size: 17px !important;
  line-height: 1.75 !important;
  opacity: 0.78 !important;
  margin: 0 !important;
}

.e-amenity-icon {
  width: 68px !important;
  height: 68px !important;
  min-width: 68px !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,0.13) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 42px !important;
}

.e-amenity-icon .elementor-icon,
.e-amenity-icon i,
.e-amenity-icon svg {
  font-size: 32px !important;
  width: 32px !important;
  height: 32px !important;
  color: var(--color-accent) !important;
  fill: var(--color-accent) !important;
}

@media (max-width: 1024px) {
  .e-amenities-grid.e-con > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .e-amenity-card,
  .e-con.e-amenity-card {
    padding: 48px 42px !important;
    min-height: 310px !important;
  }
}

@media (max-width: 768px) {
  .e-amenities-grid.e-con > .e-con-inner {
    grid-template-columns: 1fr !important;
  }

  .e-amenity-card,
  .e-con.e-amenity-card {
    padding: 38px 30px !important;
    min-height: 280px !important;
  }

  .e-amenity-card .elementor-heading-title {
    font-size: 24px !important;
  }
}


/* ─────────────────────────────────────────────────────────────────────────
   11. FEATURE SECTION
   ───────────────────────────────────────────────────────────────────────── */

.e-feature-section {
  padding: 96px 60px !important;
}

.e-feature-head {
  max-width: 820px !important;
  margin: 0 0 64px 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

.e-feature-head.e-con {
  padding: 0 !important;
}

.e-feature-head .elementor-heading-title {
  margin: 0 0 28px 0 !important;
  max-width: 820px !important;
  font-size: clamp(48px, 5.8vw, 88px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
  color: var(--color-dark) !important;
}

.e-feature-head .elementor-widget-text-editor {
  max-width: 720px !important;
  margin: 0 !important;
}

.e-feature-head .elementor-widget-text-editor p {
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1.75 !important;
  color: var(--color-gray) !important;
}

.e-feature-grid,
.e-con.e-feature-grid {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: none !important;
}

.e-feature-grid.e-con > .e-con-inner {
  width: 100% !important;
  max-width: var(--site-max-wide) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding: 0 !important;
}

.e-feature-item,
.e-con.e-feature-item {
  min-height: 214px !important;
  padding: 48px 56px !important;
  background: var(--color-white) !important;
  border: none !important;
  display: block !important;
}

/* Bordas internas sem borda externa */
.e-feature-grid.e-con > .e-con-inner > .e-feature-item:nth-child(3n+1),
.e-feature-grid.e-con > .e-con-inner > .e-feature-item:nth-child(3n+2) {
  border-right: 1px solid var(--color-border) !important;
}

.e-feature-grid.e-con > .e-con-inner > .e-feature-item:nth-child(-n+3) {
  border-bottom: 1px solid var(--color-border) !important;
}

.e-feature-item.is-highlight,
.e-con.e-feature-item.is-highlight {
  background: var(--color-secondary-light) !important;
}

.e-feature-item.e-con > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  grid-template-areas:
    "icon title"
    "icon text" !important;
  column-gap: 28px !important;
  row-gap: 8px !important;
  align-items: flex-start !important;
}

.e-feature-item.e-con > .e-con-inner > .elementor-element:nth-child(1) { grid-area: icon !important; }
.e-feature-item.e-con > .e-con-inner > .elementor-element:nth-child(2) { grid-area: title !important; }
.e-feature-item.e-con > .e-con-inner > .elementor-element:nth-child(3) { grid-area: text !important; }

.e-feature-icon {
  grid-area: icon !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border-radius: 14px !important;
  background: var(--color-primary-light) !important;
  color: var(--color-primary) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.e-feature-icon.icon-secondary {
  background: var(--color-secondary-light) !important;
  color: var(--color-secondary) !important;
}

.e-feature-icon.icon-accent {
  background: rgba(245,208,0,0.24) !important;
  color: var(--color-accent-dark) !important;
}

.e-feature-icon.icon-orange {
  background: #FFF1E8 !important;
  color: #E87945 !important;
}

.e-feature-icon .elementor-icon,
.e-feature-icon i,
.e-feature-icon svg {
  font-size: 22px !important;
  width: 22px !important;
  height: 22px !important;
  color: currentColor !important;
  fill: currentColor !important;
}

.e-feature-item .elementor-widget-heading {
  grid-area: title !important;
  margin: 0 !important;
}

.e-feature-item .elementor-heading-title {
  margin: 0 !important;
  font-size: 22px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  color: var(--color-dark) !important;
}

.e-feature-item .elementor-widget-text-editor {
  grid-area: text !important;
  margin: 0 !important;
}

.e-feature-item .elementor-widget-text-editor p {
  margin: 0 !important;
  max-width: 430px !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  color: var(--color-gray) !important;
}

@media (max-width: 1024px) {
  .e-feature-grid.e-con > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .e-feature-item,
  .e-con.e-feature-item {
    padding: 44px 36px !important;
    border: none !important;
  }

  .e-feature-grid.e-con > .e-con-inner > .e-feature-item:nth-child(2n+1) {
    border-right: 1px solid var(--color-border) !important;
  }

  .e-feature-grid.e-con > .e-con-inner > .e-feature-item:nth-child(-n+4) {
    border-bottom: 1px solid var(--color-border) !important;
  }
}

@media (max-width: 768px) {
  .e-feature-section {
    padding: 64px 24px !important;
  }

  .e-feature-head .elementor-heading-title {
    font-size: 40px !important;
  }

  .e-feature-grid.e-con > .e-con-inner {
    grid-template-columns: 1fr !important;
  }

  .e-feature-grid.e-con > .e-con-inner > .e-feature-item {
    border: none !important;
  }

  .e-feature-grid.e-con > .e-con-inner > .e-feature-item:not(:last-child) {
    border-bottom: 1px solid var(--color-border) !important;
  }
}


/* ─────────────────────────────────────────────────────────────────────────
   12. MCMV CTA SECTION
   ───────────────────────────────────────────────────────────────────────── */

.e-mcmv-section {
  background: var(--color-primary) !important;
  padding: 72px 60px !important;
  overflow: hidden !important;
}

.e-mcmv-wrap,
.e-con.e-mcmv-wrap {
  max-width: var(--site-max) !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.e-mcmv-wrap.e-con > .e-con-inner {
  width: 100% !important;
  max-width: var(--site-max) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 360px 560px !important;
  column-gap: 56px !important;
  align-items: center !important;
  justify-content: center !important;
}

.e-mcmv-wrap.e-con > .e-con-inner > .elementor-element {
  min-width: 0 !important;
}

.e-mcmv-image,
.e-mcmv-image.elementor-widget-image,
.e-mcmv-image .elementor-widget-container,
.e-mcmv-image img {
  width: 360px !important;
  max-width: 360px !important;
  height: 520px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.e-mcmv-content,
.e-con.e-mcmv-content,
.e-mcmv-content.e-con > .e-con-inner {
  width: 560px !important;
  max-width: 560px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.e-mcmv-content.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 0 !important;
}

.e-mcmv-label,
.elementor-widget-text-editor.e-mcmv-label p,
.elementor-widget-heading.e-mcmv-label .elementor-heading-title {
  font-family: var(--font-heading) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--color-accent) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 18px 0 !important;
}

.e-mcmv-label::before,
.elementor-widget-text-editor.e-mcmv-label p::before,
.elementor-widget-heading.e-mcmv-label .elementor-heading-title::before {
  content: "";
  width: 20px;
  height: 2px;
  background: currentColor;
  display: inline-block;
  border-radius: 2px;
}

.e-mcmv-title {
  margin: 0 0 22px 0 !important;
}

.e-mcmv-title .elementor-heading-title {
  margin: 0 !important;
  max-width: 560px !important;
  font-size: 46px !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
  font-weight: 800 !important;
  color: var(--color-white) !important;
}

.e-mcmv-title .text-accent,
.e-mcmv-title span.text-accent,
.e-mcmv-title .elementor-heading-title span {
  color: var(--color-accent-text) !important;
  font-style: italic !important;
}

.e-mcmv-text {
  max-width: 500px !important;
  margin: 0 0 24px 0 !important;
}

.e-mcmv-text p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: rgba(255,255,255,0.72) !important;
}

.e-mcmv-list,
.e-con.e-mcmv-list {
  width: 500px !important;
  max-width: 500px !important;
  margin: 0 0 22px 0 !important;
  padding: 0 !important;
}

.e-mcmv-list.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 500px !important;
  max-width: 500px !important;
  padding: 0 !important;
}

.e-mcmv-item,
.e-con.e-mcmv-item {
  width: 100% !important;
  min-height: 38px !important;
  padding: 10px 16px !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,0.10) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
}

.e-mcmv-item::before {
  content: "✓";
  width: 14px;
  height: 14px;
  min-width: 14px;
  border-radius: 50%;
  background: var(--color-secondary);
  color: var(--color-white);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
}

.e-mcmv-item .elementor-widget-container,
.e-mcmv-item p {
  margin: 0 !important;
  padding: 0 !important;
}

.e-mcmv-item p {
  color: rgba(255,255,255,0.88) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

.e-mcmv-button {
  margin: 0 !important;
}

.e-mcmv-button .elementor-button {
  background: var(--color-secondary) !important;
  color: var(--color-white) !important;
  border-radius: 10px !important;
  padding: 15px 24px !important;
  min-height: 48px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
}

@media (max-width: 1024px) {
  .e-mcmv-section {
    padding: 64px 40px !important;
  }

  .e-mcmv-wrap.e-con > .e-con-inner {
    grid-template-columns: 320px minmax(0, 1fr) !important;
    column-gap: 40px !important;
  }

  .e-mcmv-image,
  .e-mcmv-image.elementor-widget-image,
  .e-mcmv-image .elementor-widget-container,
  .e-mcmv-image img {
    width: 320px !important;
    max-width: 320px !important;
    height: 470px !important;
  }

  .e-mcmv-content,
  .e-con.e-mcmv-content,
  .e-mcmv-content.e-con > .e-con-inner,
  .e-mcmv-list,
  .e-con.e-mcmv-list,
  .e-mcmv-list.e-con > .e-con-inner {
    width: 100% !important;
    max-width: 500px !important;
  }

  .e-mcmv-title .elementor-heading-title {
    font-size: 40px !important;
  }
}

@media (max-width: 768px) {
  .e-mcmv-section {
    padding: 56px 24px !important;
  }

  .e-mcmv-wrap.e-con > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .e-mcmv-image,
  .e-mcmv-image.elementor-widget-image,
  .e-mcmv-image .elementor-widget-container,
  .e-mcmv-image img,
  .e-mcmv-content,
  .e-con.e-mcmv-content,
  .e-mcmv-content.e-con > .e-con-inner,
  .e-mcmv-list,
  .e-con.e-mcmv-list,
  .e-mcmv-list.e-con > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
  }

  .e-mcmv-image,
  .e-mcmv-image.elementor-widget-image,
  .e-mcmv-image .elementor-widget-container,
  .e-mcmv-image img {
    height: 420px !important;
  }

  .e-mcmv-title .elementor-heading-title {
    font-size: 34px !important;
  }
}


/* ─────────────────────────────────────────────────────────────────────────
   13. MOBILITY SECTION
   ───────────────────────────────────────────────────────────────────────── */

.e-mobility-section {
  background: var(--color-white) !important;
  padding: 96px 60px !important;
}

.e-mobility-wrap.e-con > .e-con-inner {
  display: grid !important;
  grid-template-columns: 390px minmax(0, 1fr) !important;
  gap: 90px !important;
  max-width: var(--site-max-wide) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  align-items: center !important;
}

.e-mobility-content,
.e-mobility-content.e-con > .e-con-inner {
  width: 390px !important;
  max-width: 390px !important;
  padding: 0 !important;
}

.e-mobility-label,
.elementor-widget-heading.e-mobility-label .elementor-heading-title {
  font-family: var(--font-heading) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--color-secondary) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 20px 0 !important;
}

.e-mobility-label::before,
.elementor-widget-heading.e-mobility-label .elementor-heading-title::before {
  content: "";
  width: 24px;
  height: 2px;
  background: currentColor;
  display: inline-block;
}

.e-mobility-title {
  margin: 0 0 26px 0 !important;
}

.e-mobility-title .elementor-heading-title {
  margin: 0 !important;
  font-size: 50px !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
  font-weight: 900 !important;
  color: var(--color-dark) !important;
}

.e-mobility-title .text-secondary,
.e-mobility-title span.text-secondary {
  color: var(--color-secondary) !important;
  font-style: italic !important;
}

.e-mobility-text {
  margin: 0 0 34px 0 !important;
}

.e-mobility-text p {
  margin: 0 !important;
  max-width: 360px !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
  color: var(--color-gray) !important;
}

.e-mobility-table,
.e-con.e-mobility-table {
  width: 390px !important;
  max-width: 390px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: var(--color-white) !important;
  border: 1px solid var(--color-border) !important;
  box-shadow: var(--shadow-xs) !important;
  padding: 0 !important;
}

.e-mobility-table.e-con > .e-con-inner {
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.e-mobility-table-head,
.e-con.e-mobility-table-head {
  padding: 14px 18px !important;
  background: var(--color-dark) !important;
  color: var(--color-white) !important;
}

.e-mobility-table-head.e-con > .e-con-inner,
.e-mobility-row.e-con > .e-con-inner {
  padding: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
}

.e-mobility-th .elementor-heading-title,
.e-mobility-th {
  font-family: var(--font-heading) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  color: rgba(255,255,255,0.65) !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.e-mobility-row,
.e-con.e-mobility-row {
  min-height: 46px !important;
  padding: 0 18px !important;
  background: var(--color-white) !important;
  border-bottom: 1px solid var(--color-border) !important;
}

.e-mobility-row:hover{
background: #E7DAEF !important;
}

.e-mobility-row:last-child {
  border-bottom: none !important;
}

.e-mobility-place p {
  margin: 0 !important;
  font-size: 14px !important;
  color: var(--color-text) !important;
  white-space: nowrap !important;
}

.e-mobility-time p {
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  color: var(--color-secondary) !important;
  background: var(--color-secondary-light) !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
}

.e-mobility-image,
.e-mobility-image.elementor-widget-image,
.e-mobility-image .elementor-widget-container,
.e-mobility-image img {
  width: 100% !important;
  height: 620px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}

@media (max-width: 1024px) {
  .e-mobility-section {
    padding: 80px 40px !important;
  }

  .e-mobility-wrap.e-con > .e-con-inner {
    grid-template-columns: 340px minmax(0, 1fr) !important;
    gap: 48px !important;
  }

  .e-mobility-content,
  .e-mobility-content.e-con > .e-con-inner,
  .e-mobility-table {
    width: 340px !important;
    max-width: 340px !important;
  }

  .e-mobility-title .elementor-heading-title {
    font-size: 42px !important;
  }

  .e-mobility-image,
  .e-mobility-image.elementor-widget-image,
  .e-mobility-image .elementor-widget-container,
  .e-mobility-image img {
    height: 540px !important;
  }
}

@media (max-width: 768px) {
  .e-mobility-section {
    padding: 64px 24px !important;
  }

  .e-mobility-wrap.e-con > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }

  .e-mobility-content,
  .e-mobility-content.e-con > .e-con-inner,
  .e-mobility-table {
    width: 100% !important;
    max-width: 100% !important;
  }

  .e-mobility-title .elementor-heading-title {
    font-size: 38px !important;
  }

  .e-mobility-image,
  .e-mobility-image.elementor-widget-image,
  .e-mobility-image .elementor-widget-container,
  .e-mobility-image img {
    height: 380px !important;
  }
}


/* ─────────────────────────────────────────────────────────────────────────
   14. CONSULT CTA SECTION
   ───────────────────────────────────────────────────────────────────────── */

.e-consult-section {
  position: relative !important;
  overflow: hidden !important;
  background: var(--color-primary) !important;
  padding: 96px 60px !important;
}

.e-consult-section::before,
.e-consult-section::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(255,255,255,0.05);
  pointer-events: none;
  z-index: 0;
}

.e-consult-section::before {
  width: 130px;
  height: 130px;
  left: 40px;
  top: 46px;
}

.e-consult-section::after {
  width: 360px;
  height: 360px;
  right: -90px;
  top: -110px;
}

.e-consult-wrap,
.e-con.e-consult-wrap {
  position: relative !important;
  z-index: 1 !important;
  max-width: var(--site-max-wide) !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.e-consult-wrap.e-con > .e-con-inner {
  max-width: var(--site-max-wide) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 520px minmax(0, 1fr) !important;
  gap: 90px !important;
  align-items: center !important;
}

.e-consult-content,
.e-con.e-consult-content,
.e-consult-content.e-con > .e-con-inner {
  width: 520px !important;
  max-width: 520px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.e-consult-content.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
}

.e-consult-label,
.elementor-widget-heading.e-consult-label .elementor-heading-title {
  font-family: var(--font-heading) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--color-accent) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 16px 0 !important;
}

.e-consult-label::before,
.elementor-widget-heading.e-consult-label .elementor-heading-title::before {
  content: "";
  width: 22px;
  height: 2px;
  background: currentColor;
  display: inline-block;
}

.e-consult-title {
  margin: 0 0 24px 0 !important;
}

.e-consult-title .elementor-heading-title {
  margin: 0 !important;
  max-width: 520px !important;
  font-size: 46px !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
  font-weight: 800 !important;
  color: var(--color-white) !important;
}

.e-consult-title .text-accent,
.e-consult-title span.text-accent,
.e-consult-title .elementor-heading-title span {
  color: var(--color-accent-text) !important;
  font-style: italic !important;
}

.e-consult-text {
  max-width: 500px !important;
  margin: 0 0 28px 0 !important;
}

.e-consult-text p {
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
  color: rgba(255,255,255,0.74) !important;
}

.e-consult-list,
.e-con.e-consult-list {
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.e-consult-list.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  padding: 0 !important;
}

.e-consult-item,
.e-con.e-consult-item {
  min-height: 50px !important;
  margin: 0 !important;
  padding: 14px 18px !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,0.10) !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.e-consult-item::before {
  content: "✓";
  width: 16px;
  height: 16px;
  min-width: 16px;
  border-radius: 50%;
  background: var(--color-secondary);
  color: var(--color-white);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}

.e-consult-item p {
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: rgba(255,255,255,0.88) !important;
}

.e-consult-image,
.e-consult-image.elementor-widget-image,
.e-consult-image .elementor-widget-container,
.e-consult-image img {
  width: 100% !important;
  height: 520px !important;
  object-fit: cover !important;
  object-position: center center !important;
  overflow: hidden !important;
}

@media (max-width: 1024px) {
  .e-consult-section {
    padding: 80px 40px !important;
  }

  .e-consult-wrap.e-con > .e-con-inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 48px !important;
  }

  .e-consult-content,
  .e-con.e-consult-content,
  .e-consult-content.e-con > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
  }

  .e-consult-title .elementor-heading-title {
    font-size: 40px !important;
  }

  .e-consult-image,
  .e-consult-image.elementor-widget-image,
  .e-consult-image .elementor-widget-container,
  .e-consult-image img {
    height: 460px !important;
  }
}

@media (max-width: 768px) {
  .e-consult-section {
    padding: 64px 24px !important;
  }

  .e-consult-wrap.e-con > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }

  .e-consult-title .elementor-heading-title {
    font-size: 34px !important;
  }

  .e-consult-image,
  .e-consult-image.elementor-widget-image,
  .e-consult-image .elementor-widget-container,
  .e-consult-image img {
    height: 360px !important;
  }
}


/* ─────────────────────────────────────────────────────────────────────────
   15. BALANCE SECTION
   ───────────────────────────────────────────────────────────────────────── */

.e-balance-section {
  background: var(--color-white) !important;
  padding: 70px 24px 86px !important;
  display: flex !important;
  justify-content: center !important;
}

.e-balance-wrap,
.e-con.e-balance-wrap {
  width: 100% !important;
  max-width: var(--site-max-compact) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.e-balance-wrap.e-con > .e-con-inner {
  width: 100% !important;
  max-width: var(--site-max-compact) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 340px 1fr !important;
  gap: 34px !important;
  align-items: start !important;
}

.e-balance-content,
.e-con.e-balance-content,
.e-balance-content.e-con > .e-con-inner {
  width: 340px !important;
  max-width: 340px !important;
  padding: 0 !important;
  margin: 0 !important;
}

.e-balance-content.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  align-items: flex-start !important;
}

.e-balance-label,
.e-balance-label .elementor-heading-title {
  margin: 0 0 9px 0 !important;
  font-family: var(--font-heading) !important;
  font-size: 8px !important;
  line-height: 1 !important;
  letter-spacing: 0.14em !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  color: var(--color-secondary) !important;
}

.e-balance-title {
  margin: 0 0 12px 0 !important;
}

.e-balance-title .elementor-heading-title {
  margin: 0 !important;
  max-width: 310px !important;
  font-size: 31px !important;
  line-height: 1.03 !important;
  letter-spacing: -0.035em !important;
  font-weight: 900 !important;
  color: var(--color-dark) !important;
}

.e-balance-title span,
.e-balance-title .text-secondary {
  color: var(--color-secondary) !important;
  font-style: italic !important;
}

.e-balance-text {
  margin: 0 0 15px 0 !important;
}

.e-balance-text p {
  margin: 0 !important;
  max-width: 320px !important;
  font-size: 10.5px !important;
  line-height: 1.55 !important;
  color: var(--color-gray) !important;
}

.e-balance-price,
.e-con.e-balance-price {
  width: 100% !important;
  max-width: 320px !important;
  margin: 0 0 15px 0 !important;
  padding: 12px 14px !important;
  background: var(--color-secondary-light) !important;
  border: 1.5px solid var(--color-secondary) !important;
  border-radius: 7px !important;
}

.e-balance-price.e-con > .e-con-inner {
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  grid-template-rows: auto auto !important;
  column-gap: 10px !important;
  row-gap: 4px !important;
  align-items: end !important;
}

.e-balance-price-label {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
}

.e-balance-price-label .elementor-heading-title {
  margin: 0 !important;
  font-size: 7px !important;
  line-height: 1 !important;
  letter-spacing: 0.12em !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  color: var(--color-secondary) !important;
}

.e-balance-price-value {
  grid-column: 1 !important;
  margin: 0 !important;
}

.e-balance-price-value .elementor-heading-title {
  margin: 0 !important;
  font-size: 24px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  color: var(--color-dark) !important;
}

.e-balance-price-note {
  grid-column: 2 !important;
  margin: 0 !important;
}

.e-balance-price-note p {
  margin: 0 !important;
  font-size: 7.5px !important;
  line-height: 1.3 !important;
  color: var(--color-gray) !important;
}

.e-balance-tags,
.e-con.e-balance-tags {
  width: 100% !important;
  max-width: 320px !important;
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
}

.e-balance-tags.e-con > .e-con-inner {
  width: 100% !important;
  max-width: 320px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
  padding: 0 !important;
}

.e-balance-tag,
.e-balance-tag.elementor-widget-text-editor {
  margin: 0 !important;
  padding: 0 !important;
}

.e-balance-tag .elementor-widget-container,
.e-balance-tag p {
  margin: 0 !important;
  padding: 0 !important;
}

.e-balance-tag p {
  min-height: 22px !important;
  padding: 5px 8px !important;
  background: var(--color-bg-alt) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 3px !important;
  font-size: 8px !important;
  line-height: 1.25 !important;
  color: var(--color-gray) !important;
  font-weight: 600 !important;
}

.e-balance-image,
.e-balance-image.elementor-widget-image,
.e-balance-image .elementor-widget-container,
.e-balance-image img {
  width: 100% !important;
  height: 410px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

.e-balance-button,
.e-balance-button.elementor-widget-button {
  width: 280px !important;
  max-width: 280px !important;
  margin: 0 auto !important;
  align-self: center !important;
}

.e-balance-button .elementor-button {
  width: 100% !important;
  min-height: 34px !important;
  padding: 9px 18px !important;
  border-radius: 8px !important;
  background: var(--color-secondary) !important;
  color: var(--color-white) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
}

@media (max-width: 1024px) {
  .e-balance-wrap,
  .e-con.e-balance-wrap,
  .e-balance-wrap.e-con > .e-con-inner {
    max-width: 860px !important;
  }

  .e-balance-wrap.e-con > .e-con-inner {
    grid-template-columns: 320px 1fr !important;
    gap: 28px !important;
  }

  .e-balance-content,
  .e-con.e-balance-content,
  .e-balance-content.e-con > .e-con-inner,
  .e-balance-price,
  .e-con.e-balance-price,
  .e-balance-tags,
  .e-con.e-balance-tags,
  .e-balance-tags.e-con > .e-con-inner {
    width: 100% !important;
    max-width: 320px !important;
  }

  .e-balance-title .elementor-heading-title {
    font-size: 29px !important;
  }

  .e-balance-image,
  .e-balance-image.elementor-widget-image,
  .e-balance-image .elementor-widget-container,
  .e-balance-image img {
    height: 380px !important;
  }
}

@media (max-width: 768px) {
  .e-balance-section {
    padding: 56px 24px 68px !important;
  }

  .e-balance-wrap.e-con > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .e-balance-content,
  .e-con.e-balance-content,
  .e-balance-content.e-con > .e-con-inner,
  .e-balance-price,
  .e-con.e-balance-price,
  .e-balance-tags,
  .e-con.e-balance-tags,
  .e-balance-tags.e-con > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
  }

  .e-balance-title .elementor-heading-title {
    font-size: 34px !important;
  }

  .e-balance-tags.e-con > .e-con-inner {
    grid-template-columns: 1fr !important;
  }

  .e-balance-image,
  .e-balance-image.elementor-widget-image,
  .e-balance-image .elementor-widget-container,
  .e-balance-image img {
    height: 340px !important;
  }

  .e-balance-button {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* ─────────────────────────────────────────────────────────────────────────
   16. READY CTA SECTION
   ───────────────────────────────────────────────────────────────────────── */

.e-ready-section {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  background: var(--color-primary) !important;
  padding: 86px 24px 92px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.e-ready-section::before,
.e-ready-section::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(255,255,255,0.05);
  pointer-events: none;
  z-index: 0;
}

.e-ready-section::before {
  width: 210px;
  height: 210px;
  left: -86px;
  top: 96px;
}

.e-ready-section::after {
  width: 190px;
  height: 190px;
  right: 88px;
  top: -82px;
}

.e-ready-content,
.e-con.e-ready-content,
.e-ready-content.e-con > .e-con-inner {
  position: relative !important;
  z-index: 1 !important;
  max-width: 560px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
}

.e-ready-content.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0 !important;
}

.e-ready-pill,
.e-ready-pill.elementor-widget-heading,
.e-ready-pill.elementor-widget-text-editor {
  width: auto !important;
  max-width: max-content !important;
  margin: 0 auto 18px auto !important;
  padding: 0 !important;
  display: block !important;
  text-align: center !important;
  background: transparent !important;
}

.e-ready-pill .elementor-widget-container {
  display: inline-flex !important;
  width: auto !important;
  max-width: max-content !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
}

.e-ready-pill .elementor-heading-title,
.elementor-widget-text-editor.e-ready-pill p {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: max-content !important;
  margin: 0 !important;
  padding: 5px 16px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.16) !important;
  font-family: var(--font-body) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  color: rgba(255,255,255,0.82) !important;
  white-space: nowrap !important;
}

.e-ready-title {
  width: 100% !important;
  max-width: 560px !important;
  margin: 0 auto 18px auto !important;
  text-align: center !important;
}

.e-ready-title .elementor-heading-title {
  width: 100% !important;
  max-width: 560px !important;
  margin: 0 auto !important;
  font-size: clamp(36px, 4.5vw, 56px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.035em !important;
  color: var(--color-white) !important;
  text-align: center !important;
  white-space: normal !important;
}

.e-ready-text {
  width: 100% !important;
  max-width: 460px !important;
  margin: 0 auto 24px auto !important;
}

.e-ready-text p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  text-align: center !important;
  color: rgba(255,255,255,0.78) !important;
}

.e-ready-button,
.e-ready-button.elementor-widget-button {
  width: 280px !important;
  max-width: 280px !important;
  margin: 0 auto !important;
}

.e-ready-button .elementor-button {
  width: 100% !important;
  min-height: 38px !important;
  padding: 11px 22px !important;
  border-radius: 999px !important;
  background: var(--color-secondary) !important;
  color: var(--color-white) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

@media (max-width: 768px) {
  .e-ready-section {
    padding: 64px 24px 72px !important;
  }

  .e-ready-title,
  .e-ready-title .elementor-heading-title {
    max-width: 360px !important;
    font-size: 36px !important;
    line-height: 1.06 !important;
  }

  .e-ready-text {
    max-width: 340px !important;
  }

  .e-ready-button {
    width: 100% !important;
    max-width: 320px !important;
  }
}


/* ─────────────────────────────────────────────────────────────────────────
   17. OUTROS COMPONENTES
   ───────────────────────────────────────────────────────────────────────── */

.e-ticker {
  overflow: hidden;
  white-space: nowrap;
  background: var(--color-accent);
  padding: 14px 0;
}

.e-ticker-inner {
  display: inline-flex;
  animation: ticker 22s linear infinite;
}

.e-ticker-item {
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 800;
  color: var(--color-dark);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 0 20px;
  white-space: nowrap;
}

@keyframes ticker {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.e-fade-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.e-fade-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

.e-animate {
  animation: fadeInUp 0.6s ease both;
}


/* ─────────────────────────────────────────────────────────────────────────
   18. ELEMENTOR OVERRIDES FINAIS
   ───────────────────────────────────────────────────────────────────────── */

.elementor-widget-heading + .elementor-widget-heading {
  margin-top: 0 !important;
}

.elementor-widget-image img {
  display: block;
  width: 100%;
}

.elementor-section.elementor-section-full_width > .elementor-container {
  max-width: 100%;
  padding: 0;
}
/* ═══════════════════════════════════════════════════════════════════════════
   PATCH — alinhar Balance Section ao mesmo grid das outras seções
   ═══════════════════════════════════════════════════════════════════════════ */

.e-balance-section {
  background: var(--color-white) !important;
  padding: 96px 60px !important;
  display: block !important;
}

/* Mesmo max-width da seção consult */
.e-balance-wrap,
.e-con.e-balance-wrap {
  width: 100% !important;
  max-width: var(--site-max-wide) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* Mesmo grid visual */
.e-balance-wrap.e-con > .e-con-inner {
  width: 100% !important;
  max-width: var(--site-max-wide) !important;
  margin: 0 auto !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: 520px minmax(0, 1fr) !important;
  gap: 90px !important;
  align-items: center !important;
}

/* Coluna esquerda maior */
.e-balance-content,
.e-con.e-balance-content,
.e-balance-content.e-con > .e-con-inner {
  width: 520px !important;
  max-width: 520px !important;
  padding: 0 !important;
  margin: 0 !important;
}

.e-balance-content.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
}

/* Título maior, como as outras seções */
.e-balance-title .elementor-heading-title {
  max-width: 520px !important;
  font-size: 46px !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
}

/* Texto maior */
.e-balance-text p {
  max-width: 500px !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
}

/* Box preço acompanha largura da coluna */
.e-balance-price,
.e-con.e-balance-price {
  width: 100% !important;
  max-width: 500px !important;
}

/* Tags em 2 colunas, mas mais largas */
.e-balance-tags,
.e-con.e-balance-tags {
  width: 100% !important;
  max-width: 500px !important;
}

.e-balance-tags.e-con > .e-con-inner {
  width: 100% !important;
  max-width: 500px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

/* Imagem direita no mesmo peso visual */
.e-balance-image,
.e-balance-image.elementor-widget-image,
.e-balance-image .elementor-widget-container,
.e-balance-image img {
  width: 100% !important;
  height: 520px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 14px !important;
}

/* Botão */
.e-balance-button,
.e-balance-button.elementor-widget-button {
  width: 320px !important;
  max-width: 320px !important;
  margin: 0 !important;
  align-self: flex-start !important;
}

.e-balance-button .elementor-button {
  min-height: 44px !important;
  font-size: 12px !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .e-balance-section {
    padding: 80px 40px !important;
  }

  .e-balance-wrap.e-con > .e-con-inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 48px !important;
  }

  .e-balance-content,
  .e-con.e-balance-content,
  .e-balance-content.e-con > .e-con-inner,
  .e-balance-price,
  .e-con.e-balance-price,
  .e-balance-tags,
  .e-con.e-balance-tags,
  .e-balance-tags.e-con > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
  }

  .e-balance-title .elementor-heading-title {
    font-size: 40px !important;
  }

  .e-balance-image,
  .e-balance-image.elementor-widget-image,
  .e-balance-image .elementor-widget-container,
  .e-balance-image img {
    height: 460px !important;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .e-balance-section {
    padding: 64px 24px !important;
  }

  .e-balance-wrap.e-con > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }

  .e-balance-title .elementor-heading-title {
    font-size: 34px !important;
  }

  .e-balance-image,
  .e-balance-image.elementor-widget-image,
  .e-balance-image .elementor-widget-container,
  .e-balance-image img {
    height: 360px !important;
  }

  .e-balance-button,
  .e-balance-button .elementor-button {
    width: 100% !important;
    max-width: 100% !important;
  }
}
/* ═══════════════════════════════════════════════════════════════════════════
   MCMV FINANCING SECTION — imagem + conteúdo + checklist
   Classes:
   e-mcmv-section, e-mcmv-wrap, e-mcmv-image, e-mcmv-content,
   e-mcmv-label, e-mcmv-title, e-mcmv-text, e-mcmv-list,
   e-mcmv-item, e-mcmv-button
   ═══════════════════════════════════════════════════════════════════════════ */

.e-mcmv-section {
  background: var(--color-primary) !important;
  padding: 72px 60px !important;
  overflow: hidden !important;
}

/* Container com o mesmo grid da base visual */
.e-mcmv-wrap,
.e-con.e-mcmv-wrap {
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.e-mcmv-wrap.e-con > .e-con-inner {
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: 360px 560px !important;
  column-gap: 56px !important;
  row-gap: 0 !important;

  align-items: center !important;
  justify-content: center !important;
}

.e-mcmv-wrap.e-con > .e-con-inner > .elementor-element {
  min-width: 0 !important;
}

/* Imagem esquerda */
.e-mcmv-image,
.e-mcmv-image.elementor-widget-image,
.e-mcmv-image .elementor-widget-container {
  width: 360px !important;
  max-width: 360px !important;
  height: 520px !important;
  margin: 0 !important;
  padding: 0 !important;

  border-radius: 14px !important;
  overflow: hidden !important;
}

.e-mcmv-image img {
  width: 360px !important;
  max-width: 360px !important;
  height: 520px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 14px !important;
  display: block !important;
}

/* Conteúdo direito */
.e-mcmv-content,
.e-con.e-mcmv-content {
  width: 560px !important;
  max-width: 560px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.e-mcmv-content.e-con > .e-con-inner {
  width: 560px !important;
  max-width: 560px !important;
  margin: 0 !important;
  padding: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 0 !important;
}

/* Label */
.e-mcmv-label,
.elementor-widget-heading.e-mcmv-label .elementor-heading-title,
.elementor-widget-text-editor.e-mcmv-label p {
  font-family: var(--font-heading) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--color-accent) !important;

  display: flex !important;
  align-items: center !important;
  gap: 8px !important;

  margin: 0 0 18px 0 !important;
  padding: 0 !important;
}

.e-mcmv-label::before,
.elementor-widget-heading.e-mcmv-label .elementor-heading-title::before,
.elementor-widget-text-editor.e-mcmv-label p::before {
  content: "";
  width: 20px;
  height: 2px;
  background: currentColor;
  display: inline-block;
  border-radius: 2px;
  flex-shrink: 0;
}

/* Título */
.e-mcmv-title,
.e-mcmv-title.elementor-widget-heading {
  margin: 0 0 22px 0 !important;
  padding: 0 !important;
}

.e-mcmv-title .elementor-heading-title {
  margin: 0 !important;
  max-width: 560px !important;

  font-family: var(--font-heading) !important;
  font-size: 46px !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
  font-weight: 800 !important;
  color: var(--color-white) !important;
}

.e-mcmv-title .text-accent,
.e-mcmv-title span.text-accent,
.e-mcmv-title .elementor-heading-title span {
  color: var(--color-accent-text) !important;
  font-style: italic !important;
}

/* Texto */
.e-mcmv-text,
.e-mcmv-text.elementor-widget-text-editor {
  max-width: 500px !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
}

.e-mcmv-text p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: rgba(255,255,255,0.72) !important;
}

/* Lista */
.e-mcmv-list,
.e-con.e-mcmv-list {
  width: 500px !important;
  max-width: 500px !important;
  margin: 0 0 22px 0 !important;
  padding: 0 !important;
}

.e-mcmv-list.e-con > .e-con-inner {
  width: 500px !important;
  max-width: 500px !important;
  margin: 0 !important;
  padding: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.e-mcmv-list .elementor-widget,
.e-mcmv-list .elementor-element {
  margin: 0 !important;
  padding: 0 !important;
}

/* Item da lista */
.e-mcmv-item,
.e-mcmv-item.elementor-widget-text-editor,
.e-con.e-mcmv-item {
  width: 100% !important;
  min-height: 38px !important;
  padding: 10px 16px !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,0.10) !important;
  color: rgba(255,255,255,0.88) !important;

  display: flex !important;
  align-items: center !important;
  gap: 10px !important;

  font-size: 12px !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

.e-mcmv-item::before {
  content: "✓";
  width: 14px;
  height: 14px;
  min-width: 14px;
  border-radius: 50%;
  background: var(--color-secondary);
  color: var(--color-white);

  display: inline-flex;
  align-items: center;
  justify-content: center;

  font-size: 9px;
  font-weight: 800;
  line-height: 1;
}

.e-mcmv-item .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

.e-mcmv-item p {
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(255,255,255,0.88) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

.e-mcmv-item strong {
  color: var(--color-white) !important;
  font-weight: 800 !important;
}

/* Botão */
.e-mcmv-button,
.e-mcmv-button.elementor-widget-button {
  margin: 0 !important;
  padding: 0 !important;
}

.e-mcmv-button .elementor-button {
  background: var(--color-secondary) !important;
  color: var(--color-white) !important;
  border-radius: 10px !important;
  padding: 15px 24px !important;
  min-height: 48px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  box-shadow: none !important;
}

.e-mcmv-button .elementor-button:hover {
  background: var(--color-secondary-dark) !important;
  transform: translateY(-2px) !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .e-mcmv-section {
    padding: 64px 40px !important;
  }

  .e-mcmv-wrap.e-con > .e-con-inner {
    grid-template-columns: 320px minmax(0, 1fr) !important;
    column-gap: 40px !important;
  }

  .e-mcmv-image,
  .e-mcmv-image.elementor-widget-image,
  .e-mcmv-image .elementor-widget-container,
  .e-mcmv-image img {
    width: 320px !important;
    max-width: 320px !important;
    height: 470px !important;
  }

  .e-mcmv-content,
  .e-con.e-mcmv-content,
  .e-mcmv-content.e-con > .e-con-inner,
  .e-mcmv-list,
  .e-con.e-mcmv-list,
  .e-mcmv-list.e-con > .e-con-inner {
    width: 100% !important;
    max-width: 500px !important;
  }

  .e-mcmv-title .elementor-heading-title {
    font-size: 40px !important;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .e-mcmv-section {
    padding: 56px 24px !important;
  }

  .e-mcmv-wrap.e-con > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    justify-content: stretch !important;
    align-items: flex-start !important;
  }

  .e-mcmv-image,
  .e-mcmv-image.elementor-widget-image,
  .e-mcmv-image .elementor-widget-container,
  .e-mcmv-image img {
    width: 100% !important;
    max-width: 100% !important;
    height: 420px !important;
  }

  .e-mcmv-content,
  .e-con.e-mcmv-content,
  .e-mcmv-content.e-con > .e-con-inner,
  .e-mcmv-list,
  .e-con.e-mcmv-list,
  .e-mcmv-list.e-con > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
  }

  .e-mcmv-title .elementor-heading-title {
    font-size: 34px !important;
  }

  .e-mcmv-text p {
    font-size: 14px !important;
  }

  .e-mcmv-item,
  .e-mcmv-item.elementor-widget-text-editor,
  .e-con.e-mcmv-item {
    padding: 11px 14px !important;
  }

  .e-mcmv-button,
  .e-mcmv-button .elementor-button {
    width: 100% !important;
  }
}
/* ═══════════════════════════════════════════════════════════════════════════
   FLOOR PLAN SECTION — planta + opções de dormitórios
   Classes:
   e-floor-section, e-floor-wrap, e-floor-content, e-floor-label,
   e-floor-title, e-floor-text, e-floor-options-grid, e-floor-options-col,
   e-floor-list-title, e-floor-list, e-floor-option, e-floor-image,
   e-floor-button
   ═══════════════════════════════════════════════════════════════════════════ */

.e-floor-section {
  background: var(--color-white) !important;
  padding: 96px 60px !important;
}

.e-floor-wrap,
.e-con.e-floor-wrap {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.e-floor-wrap.e-con > .e-con-inner {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: 420px minmax(0, 1fr) !important;
  gap: 72px !important;
  align-items: center !important;
}

.e-floor-wrap.e-con > .e-con-inner > .elementor-element {
  min-width: 0 !important;
}

/* Conteúdo esquerdo */
.e-floor-content,
.e-con.e-floor-content {
  width: 420px !important;
  max-width: 420px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.e-floor-content.e-con > .e-con-inner {
  width: 420px !important;
  max-width: 420px !important;
  margin: 0 !important;
  padding: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
}

/* Label */
.e-floor-label,
.elementor-widget-heading.e-floor-label .elementor-heading-title,
.elementor-widget-text-editor.e-floor-label p {
  margin: 0 0 22px 0 !important;
  padding: 0 !important;

  font-family: var(--font-heading) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--color-secondary) !important;

  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.e-floor-label::before,
.elementor-widget-heading.e-floor-label .elementor-heading-title::before,
.elementor-widget-text-editor.e-floor-label p::before {
  content: "";
  width: 22px;
  height: 2px;
  background: currentColor;
  display: inline-block;
  border-radius: 2px;
  flex-shrink: 0;
}

/* Título */
.e-floor-title,
.e-floor-title.elementor-widget-heading {
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
}

.e-floor-title .elementor-heading-title {
  margin: 0 !important;
  max-width: 420px !important;

  font-family: var(--font-heading) !important;
  font-size: 46px !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
  font-weight: 900 !important;
  color: var(--color-dark) !important;
}

.e-floor-title .text-secondary,
.e-floor-title span.text-secondary,
.e-floor-title .elementor-heading-title span {
  color: var(--color-secondary) !important;
  font-style: italic !important;
}

/* Texto */
.e-floor-text,
.e-floor-text.elementor-widget-text-editor {
  max-width: 410px !important;
  margin: 0 0 28px 0 !important;
  padding: 0 !important;
}

.e-floor-text p {
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
  color: var(--color-gray) !important;
}

/* Bloco de opções */
.e-floor-options-grid,
.e-con.e-floor-options-grid {
  width: 100% !important;
  max-width: 420px !important;
  margin: 0 0 0 0 !important;
  padding: 0 !important;
}

.e-floor-options-grid.e-con > .e-con-inner {
  width: 100% !important;
  max-width: 420px !important;
  margin: 0 !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: start !important;
}

.e-floor-options-col,
.e-con.e-floor-options-col {
  padding: 0 !important;
  margin: 0 !important;
}

.e-floor-options-col.e-con > .e-con-inner {
  padding: 0 !important;
  margin: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

/* Títulos das listas */
.e-floor-list-title,
.e-floor-list-title .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;

  font-family: var(--font-heading) !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  color: var(--color-secondary) !important;
}

/* Lista */
.e-floor-list,
.e-con.e-floor-list {
  padding: 0 !important;
  margin: 0 !important;
}

.e-floor-list.e-con > .e-con-inner {
  padding: 0 !important;
  margin: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

/* Opção */
.e-floor-option,
.e-floor-option.elementor-widget-text-editor {
  margin: 0 !important;
  padding: 0 !important;
}

.e-floor-option .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

.e-floor-option p {
  margin: 0 !important;
  min-height: 36px !important;
  padding: 9px 14px !important;

  display: flex !important;
  align-items: center !important;

  border-radius: 6px !important;
  background: var(--color-white) !important;
  border: 1px solid var(--color-border) !important;

  font-size: 13px !important;
  line-height: 1.35 !important;
  color: var(--color-gray) !important;
  font-weight: 600 !important;
}

/* Imagem direita */
.e-floor-image,
.e-floor-image.elementor-widget-image,
.e-floor-image .elementor-widget-container {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.e-floor-image img {
  width: 100% !important;
  height: auto !important;
  max-height: 620px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
}

/* Botão */
.e-floor-button,
.e-floor-button.elementor-widget-button {
  width: 420px !important;
  max-width: 420px !important;
  margin: 80px auto 0 !important;
  padding: 0 !important;
  align-self: center !important;
}

.e-floor-button .elementor-button {
  width: 100% !important;
  min-height: 46px !important;
  padding: 14px 24px !important;

  border-radius: 999px !important;
  background: var(--color-secondary) !important;
  color: var(--color-white) !important;

  font-size: 14px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

.e-floor-button .elementor-button:hover {
  background: var(--color-secondary-dark) !important;
  transform: translateY(-2px) !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .e-floor-section {
    padding: 80px 40px !important;
  }

  .e-floor-wrap.e-con > .e-con-inner {
    grid-template-columns: 360px minmax(0, 1fr) !important;
    gap: 44px !important;
  }

  .e-floor-content,
  .e-con.e-floor-content,
  .e-floor-content.e-con > .e-con-inner,
  .e-floor-options-grid,
  .e-con.e-floor-options-grid,
  .e-floor-options-grid.e-con > .e-con-inner {
    width: 100% !important;
    max-width: 360px !important;
  }

  .e-floor-title .elementor-heading-title {
    font-size: 40px !important;
  }

  .e-floor-option p {
    font-size: 12px !important;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .e-floor-section {
    padding: 64px 24px !important;
  }

  .e-floor-wrap.e-con > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }

  .e-floor-content,
  .e-con.e-floor-content,
  .e-floor-content.e-con > .e-con-inner,
  .e-floor-options-grid,
  .e-con.e-floor-options-grid,
  .e-floor-options-grid.e-con > .e-con-inner,
  .e-floor-button {
    width: 100% !important;
    max-width: 100% !important;
  }

  .e-floor-title .elementor-heading-title {
    font-size: 34px !important;
  }

  .e-floor-text p {
    font-size: 14px !important;
  }

  .e-floor-options-grid.e-con > .e-con-inner {
    grid-template-columns: 1fr !important;
  }

  .e-floor-button {
    margin-top: 36px !important;
  }
}
/* ═══════════════════════════════════════════════════════════════════════════
   AMENITY CARDS SECTION — lazer, cards roxos em 3 colunas
   Classes:
   e-amenity-section, e-amenity-head, e-amenity-eyebrow,
   e-amenity-main-title, e-amenity-subtitle, e-amenity-cards-grid,
   e-amenity-card, e-amenity-icon, e-amenity-title, e-amenity-text
   ═══════════════════════════════════════════════════════════════════════════ */

.e-amenity-section {
  background: var(--color-white) !important;
  padding: 96px 60px !important;
}

/* Cabeçalho central */
.e-amenity-head,
.e-con.e-amenity-head {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto 56px !important;
  padding: 0 !important;
  text-align: center !important;
}

.e-amenity-head.e-con > .e-con-inner {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0 !important;
}

/* Eyebrow */
.e-amenity-eyebrow,
.elementor-widget-heading.e-amenity-eyebrow .elementor-heading-title,
.elementor-widget-text-editor.e-amenity-eyebrow p {
  margin: 0 0 24px 0 !important;
  padding: 0 !important;

  font-family: var(--font-heading) !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--color-secondary) !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

.e-amenity-eyebrow::before,
.e-amenity-eyebrow::after,
.elementor-widget-heading.e-amenity-eyebrow .elementor-heading-title::before,
.elementor-widget-heading.e-amenity-eyebrow .elementor-heading-title::after {
  content: "";
  width: 42px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  display: inline-block;
}

/* Título principal */
.e-amenity-main-title,
.e-amenity-main-title.elementor-widget-heading {
  margin: 0 0 22px 0 !important;
  padding: 0 !important;
}

.e-amenity-main-title .elementor-heading-title {
  margin: 0 auto !important;
  max-width: 1120px !important;

  font-family: var(--font-heading) !important;
  font-size: clamp(42px, 5vw, 68px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
  font-weight: 900 !important;
  color: var(--color-dark) !important;
  text-align: center !important;
}

.e-amenity-main-title .text-secondary,
.e-amenity-main-title span.text-secondary,
.e-amenity-main-title .elementor-heading-title span {
  color: var(--color-secondary) !important;
  font-style: italic !important;
}

/* Subtítulo */
.e-amenity-subtitle,
.e-amenity-subtitle.elementor-widget-text-editor {
  margin: 0 !important;
  padding: 0 !important;
}

.e-amenity-subtitle p {
  margin: 0 auto !important;
  max-width: 780px !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
  color: var(--color-gray) !important;
  text-align: center !important;
}

/* Grid */
.e-amenity-cards-grid,
.e-con.e-amenity-cards-grid {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.e-amenity-cards-grid.e-con > .e-con-inner {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

/* Card */
.e-amenity-card,
.e-con.e-amenity-card {
  min-height: 260px !important;
  padding: 34px 32px !important;
  border-radius: 14px !important;
  background: var(--color-secondary) !important;
  color: var(--color-white) !important;
  overflow: hidden !important;
}

.e-amenity-card.e-con > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
}

/* Ícone */
.e-amenity-icon,
.elementor-widget-heading.e-amenity-icon {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  margin: 0 0 26px 0 !important;
  padding: 0 !important;
  border-radius: 6px !important;
  background: rgba(255,255,255,0.70) !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.e-amenity-icon .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 22px !important;
  line-height: 1 !important;
  color: var(--color-secondary) !important;
}

/* Título do card */
.e-amenity-title,
.e-amenity-title.elementor-widget-heading {
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
}

.e-amenity-title .elementor-heading-title {
  margin: 0 !important;
  font-family: var(--font-heading) !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  color: var(--color-white) !important;
}

/* Texto */
.e-amenity-text,
.e-amenity-text.elementor-widget-text-editor {
  margin: 0 !important;
  padding: 0 !important;
}

.e-amenity-text p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
  color: rgba(255,255,255,0.86) !important;
}

.e-amenity-text strong {
  color: var(--color-white) !important;
  font-weight: 800 !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .e-amenity-section {
    padding: 80px 40px !important;
  }

  .e-amenity-cards-grid.e-con > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .e-amenity-main-title .elementor-heading-title {
    font-size: 52px !important;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .e-amenity-section {
    padding: 64px 24px !important;
  }

  .e-amenity-head {
    margin-bottom: 40px !important;
  }

  .e-amenity-eyebrow::before,
  .e-amenity-eyebrow::after,
  .elementor-widget-heading.e-amenity-eyebrow .elementor-heading-title::before,
  .elementor-widget-heading.e-amenity-eyebrow .elementor-heading-title::after {
    width: 24px;
  }

  .e-amenity-main-title .elementor-heading-title {
    font-size: 38px !important;
  }

  .e-amenity-subtitle p {
    font-size: 15px !important;
  }

  .e-amenity-cards-grid.e-con > .e-con-inner {
    grid-template-columns: 1fr !important;
  }

  .e-amenity-card,
  .e-con.e-amenity-card {
    min-height: auto !important;
    padding: 30px 26px !important;
  }
}
/* ═══════════════════════════════════════════════════════════════════════════
   SHOWCASE AMENITY SECTION — imagem + texto + preço + tags
   Classes:
   e-showcase-section, e-showcase-grid, e-showcase-content,
   e-showcase-label, e-showcase-title, e-showcase-text,
   e-showcase-price, e-showcase-price-label, e-showcase-price-value,
   e-showcase-price-unit, e-showcase-price-note,
   e-showcase-tags, e-showcase-tag, e-showcase-image, e-showcase-button
   ═══════════════════════════════════════════════════════════════════════════ */

.e-showcase-section {
  background: var(--color-white) !important;
  padding: 76px 60px 86px !important;
}

/* Grid principal */
.e-showcase-grid,
.e-con.e-showcase-grid {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.e-showcase-grid.e-con > .e-con-inner {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: 420px minmax(0, 1fr) !important;
  gap: 42px !important;
  align-items: start !important;
}

/* Coluna de conteúdo */
.e-showcase-content,
.e-con.e-showcase-content {
  width: 420px !important;
  max-width: 420px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.e-showcase-content.e-con > .e-con-inner {
  width: 420px !important;
  max-width: 420px !important;
  margin: 0 !important;
  padding: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
}

/* Label */
.e-showcase-label,
.elementor-widget-heading.e-showcase-label .elementor-heading-title,
.elementor-widget-text-editor.e-showcase-label p {
  margin: 0 0 20px 0 !important;
  padding: 0 !important;

  font-family: var(--font-heading) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--color-secondary) !important;

  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.e-showcase-label::before,
.elementor-widget-heading.e-showcase-label .elementor-heading-title::before,
.elementor-widget-text-editor.e-showcase-label p::before {
  content: "";
  width: 22px;
  height: 2px;
  background: currentColor;
  display: inline-block;
  border-radius: 2px;
  flex-shrink: 0;
}

/* Título */
.e-showcase-title,
.e-showcase-title.elementor-widget-heading {
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
}

.e-showcase-title .elementor-heading-title {
  margin: 0 !important;
  max-width: 420px !important;

  font-family: var(--font-heading) !important;
  font-size: 42px !important;
  line-height: 1.06 !important;
  letter-spacing: -0.035em !important;
  font-weight: 900 !important;
  color: var(--color-dark) !important;
}

.e-showcase-title .text-secondary,
.e-showcase-title span.text-secondary,
.e-showcase-title .elementor-heading-title span {
  color: var(--color-secondary) !important;
  font-style: italic !important;
}

/* Texto */
.e-showcase-text,
.e-showcase-text.elementor-widget-text-editor {
  max-width: 410px !important;
  margin: 0 0 32px 0 !important;
  padding: 0 !important;
}

.e-showcase-text p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.72 !important;
  color: var(--color-gray) !important;
}

/* Box de preço */
.e-showcase-price,
.e-con.e-showcase-price {
  width: 100% !important;
  max-width: 420px !important;
  margin: 0 0 32px 0 !important;
  padding: 16px 18px !important;

  border-radius: 8px !important;
  border: 1.5px solid var(--color-secondary) !important;
  background: var(--color-secondary-light) !important;
}

.e-showcase-price.e-con > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: auto auto 1fr !important;
  grid-template-rows: auto auto !important;
  column-gap: 5px !important;
  row-gap: 5px !important;
  align-items: end !important;
}

.e-showcase-price-label {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
}

.e-showcase-price-label .elementor-heading-title,
.e-showcase-price-label {
  margin: 0 !important;
  font-family: var(--font-heading) !important;
  font-size: 9px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
  color: var(--color-secondary) !important;
}

.e-showcase-price-value {
  grid-column: 1 !important;
  margin: 0 !important;
}

.e-showcase-price-value .elementor-heading-title,
.e-showcase-price-value {
  margin: 0 !important;
  font-family: var(--font-heading) !important;
  font-size: 31px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  color: var(--color-dark) !important;
}

.e-showcase-price-unit {
  grid-column: 2 !important;
  align-self: end !important;
  margin: 0 0 3px 0 !important;
}

.e-showcase-price-unit p {
  margin: 0 !important;
  font-family: var(--font-heading) !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  color: var(--color-dark) !important;
}

.e-showcase-price-note {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
}

.e-showcase-price-note p {
  margin: 0 !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
  color: var(--color-gray) !important;
}

/* Tags */
.e-showcase-tags,
.e-con.e-showcase-tags {
  width: 100% !important;
  max-width: 420px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.e-showcase-tags.e-con > .e-con-inner {
  width: 100% !important;
  max-width: 420px !important;
  margin: 0 !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.e-showcase-tag,
.e-showcase-tag.elementor-widget-text-editor {
  margin: 0 !important;
  padding: 0 !important;
}

.e-showcase-tag .elementor-widget-container,
.e-showcase-tag p {
  margin: 0 !important;
}

.e-showcase-tag p {
  min-height: 34px !important;
  padding: 9px 12px !important;

  display: flex !important;
  align-items: center !important;

  border-radius: 6px !important;
  background: var(--color-white) !important;
  border: 1px solid var(--color-border) !important;

  font-size: 12px !important;
  line-height: 1.35 !important;
  color: var(--color-gray) !important;
  font-weight: 600 !important;
}

/* Imagem */
.e-showcase-image,
.e-showcase-image.elementor-widget-image,
.e-showcase-image .elementor-widget-container {
  width: 100% !important;
  height: 580px !important;
  margin: 0 !important;
  padding: 0 !important;

  border-radius: 14px !important;
  overflow: hidden !important;
}

.e-showcase-image img {
  width: 100% !important;
  height: 580px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 14px !important;
  display: block !important;
}

/* Botão centralizado abaixo da grade */
.e-showcase-button,
.e-showcase-button.elementor-widget-button {
  width: 460px !important;
  max-width: 460px !important;
  margin: 48px auto 0 !important;
  padding: 0 !important;
}

.e-showcase-button .elementor-button {
  width: 100% !important;
  min-height: 46px !important;
  padding: 14px 24px !important;

  border-radius: 999px !important;
  background: var(--color-secondary) !important;
  color: var(--color-white) !important;

  font-size: 14px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

.e-showcase-button .elementor-button:hover {
  background: var(--color-secondary-dark) !important;
  transform: translateY(-2px) !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .e-showcase-section {
    padding: 72px 40px 82px !important;
  }

  .e-showcase-grid.e-con > .e-con-inner {
    grid-template-columns: 360px minmax(0, 1fr) !important;
    gap: 36px !important;
  }

  .e-showcase-content,
  .e-con.e-showcase-content,
  .e-showcase-content.e-con > .e-con-inner,
  .e-showcase-price,
  .e-con.e-showcase-price,
  .e-showcase-tags,
  .e-con.e-showcase-tags,
  .e-showcase-tags.e-con > .e-con-inner {
    width: 100% !important;
    max-width: 360px !important;
  }

  .e-showcase-title .elementor-heading-title {
    font-size: 36px !important;
  }

  .e-showcase-image,
  .e-showcase-image.elementor-widget-image,
  .e-showcase-image .elementor-widget-container,
  .e-showcase-image img {
    height: 500px !important;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .e-showcase-section {
    padding: 64px 24px 74px !important;
  }

  .e-showcase-grid.e-con > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .e-showcase-content,
  .e-con.e-showcase-content,
  .e-showcase-content.e-con > .e-con-inner,
  .e-showcase-price,
  .e-con.e-showcase-price,
  .e-showcase-tags,
  .e-con.e-showcase-tags,
  .e-showcase-tags.e-con > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
  }

  .e-showcase-title .elementor-heading-title {
    font-size: 34px !important;
  }

  .e-showcase-text p {
    font-size: 14px !important;
  }

  .e-showcase-tags.e-con > .e-con-inner {
    grid-template-columns: 1fr !important;
  }

  .e-showcase-image,
  .e-showcase-image.elementor-widget-image,
  .e-showcase-image .elementor-widget-container,
  .e-showcase-image img {
    height: 360px !important;
  }

  .e-showcase-button,
  .e-showcase-button.elementor-widget-button {
    width: 100% !important;
    max-width: 100% !important;
  }
}
