/* =============================================================
   ANDREA & SUSY REAL ESTATE — Design System CSS
   Versão 1.0.0
   Carregado automaticamente pelo plugin andrea-susy-styles.
   ============================================================= */

/* ─────────────────────────────────────────────────────────────
   1. TOKENS FIXOS
   ───────────────────────────────────────────────────────────── */
:root {
  /* Marca */
  --as-primary:       #004a54;
  --as-primary-dark:  #003940;
  --as-gold:          #765a16;
  --as-gold-light:    #fed887;
  --as-gold-mid:      #c5a059;

  /* Fundos */
  --as-bg-warm:       #fcf9f8;
  --as-bg-soft:       #f6f3f2;
  --as-bg-beige:      #f5f0eb;

  /* Tipografia */
  --as-font-serif:    'Libre Caslon Text', Georgia, serif;
  --as-font-sans:     'Hanken Grotesk', system-ui, sans-serif;

  /* Raios */
  --as-radius-sm:     4px;
  --as-radius-md:     8px;
  --as-radius-lg:     12px;
  --as-radius-full:   9999px;

  /* Transição */
  --as-transition:    0.2s ease;
}

/* ─────────────────────────────────────────────────────────────
   2. VARIÁVEIS CONTEXTUAIS
   Padrão = fundos claros. Sobrescritas por seções escuras/gold.
   ───────────────────────────────────────────────────────────── */
:root,
.as-section--warm,
.as-section--soft,
.as-section--beige,
.as-section--white,
.elementor-section,
.e-container,
.e-con {
  --ctx-heading:                #004a54;
  --ctx-text:                   #3f484a;
  --ctx-muted:                  #6b7280;
  --ctx-accent:                 #765a16;
  --ctx-accent-light:           #fed887;

  --ctx-card-bg:                #ffffff;
  --ctx-input-bg:               #ffffff;
  --ctx-form-bg:                #f5f0eb;

  --ctx-border:                 rgba(191, 200, 203, 0.35);
  --ctx-border-input:           #e5e7eb;

  --ctx-btn-bg:                 #004a54;
  --ctx-btn-text:               #ffffff;
  --ctx-btn-hover:              #003940;

  --ctx-btn-outline-color:           #004a54;
  --ctx-btn-outline-hover-bg:        #004a54;
  --ctx-btn-outline-hover-text:      #ffffff;

  --ctx-btn-gold-bg:            #fed887;
  --ctx-btn-gold-text:          #765a16;

  --ctx-link:                   #004a54;
  --ctx-link-line:              #004a54;

  --ctx-divider:                #765a16;
  --ctx-list-icon:              #765a16;

  --ctx-faq-question:           #004a54;
  --ctx-faq-text:               #3f484a;

  --ctx-price:                  #004a54;
  --ctx-price-label:            #3f484a;
  --ctx-price-cta-bg:           #fed887;
  --ctx-price-cta-arrow:        #785D18;

  --ctx-tag-bg:                 #ffffff;
  --ctx-tag-text:               #3f484a;
  --ctx-tag-border:             rgba(191, 200, 203, 0.35);

  --ctx-stat-num:               #004a54;
  --ctx-stat-label:             #765a16;
  --ctx-stat-bg:                #ffffff;

  --ctx-vp-icon:                #004a54;
  --ctx-vp-title:               #004a54;
  --ctx-vp-desc:                #6b7280;
  --ctx-vp-border:              rgba(191, 200, 203, 0.35);
}

/* ── Contexto ESCURO ─────────────────────────────────────── */
.as-section--dark,
[style*="background-color: #004a54"],
[style*="background:#004a54"],
[style*="background-color:#004a54"] {
  --ctx-heading:                #ffffff;
  --ctx-text:                   rgba(255, 255, 255, 0.80);
  --ctx-muted:                  rgba(255, 255, 255, 0.50);
  --ctx-accent:                 #fed887;
  --ctx-accent-light:           rgba(254, 216, 135, 0.25);

  --ctx-card-bg:                rgba(255, 255, 255, 0.07);
  --ctx-input-bg:               rgba(255, 255, 255, 0.10);
  --ctx-form-bg:                rgba(255, 255, 255, 0.06);

  --ctx-border:                 rgba(255, 255, 255, 0.12);
  --ctx-border-input:           rgba(255, 255, 255, 0.20);

  --ctx-btn-bg:                 #fed887;
  --ctx-btn-text:               #004a54;
  --ctx-btn-hover:              #f5c960;

  --ctx-btn-outline-color:           rgba(255, 255, 255, 0.70);
  --ctx-btn-outline-hover-bg:        rgba(255, 255, 255, 0.15);
  --ctx-btn-outline-hover-text:      #ffffff;

  --ctx-btn-gold-bg:            rgba(254, 216, 135, 0.15);
  --ctx-btn-gold-text:          #fed887;

  --ctx-link:                   #fed887;
  --ctx-link-line:              #fed887;

  --ctx-divider:                rgba(255, 255, 255, 0.20);
  --ctx-list-icon:              #fed887;

  --ctx-faq-question:           #ffffff;
  --ctx-faq-text:               rgba(255, 255, 255, 0.75);

  --ctx-price:                  #fed887;
  --ctx-price-label:            rgba(255, 255, 255, 0.55);
  --ctx-price-cta-bg:           rgba(254, 216, 135, 0.20);
  --ctx-price-cta-arrow:        #fed887;

  --ctx-tag-bg:                 rgba(255, 255, 255, 0.08);
  --ctx-tag-text:               rgba(255, 255, 255, 0.75);
  --ctx-tag-border:             rgba(255, 255, 255, 0.15);

  --ctx-stat-num:               #fed887;
  --ctx-stat-label:             rgba(255, 255, 255, 0.60);
  --ctx-stat-bg:                rgba(255, 255, 255, 0.07);

  --ctx-vp-icon:                #fed887;
  --ctx-vp-title:               #ffffff;
  --ctx-vp-desc:                rgba(255, 255, 255, 0.60);
  --ctx-vp-border:              rgba(255, 255, 255, 0.10);
}

/* ── Contexto GOLD ──────────────────────────────────────── */
.as-section--gold {
  background-color: #fed887;

  --ctx-heading:                #004a54;
  --ctx-text:                   #3f484a;
  --ctx-muted:                  rgba(63, 72, 74, 0.65);
  --ctx-accent:                 #765a16;
  --ctx-accent-light:           rgba(118, 90, 22, 0.15);

  --ctx-card-bg:                rgba(255, 255, 255, 0.70);
  --ctx-input-bg:               #ffffff;
  --ctx-form-bg:                rgba(255, 255, 255, 0.55);

  --ctx-border:                 rgba(118, 90, 22, 0.20);
  --ctx-border-input:           rgba(118, 90, 22, 0.30);

  --ctx-btn-bg:                 #004a54;
  --ctx-btn-text:               #ffffff;
  --ctx-btn-hover:              #003940;

  --ctx-btn-outline-color:           #765a16;
  --ctx-btn-outline-hover-bg:        #765a16;
  --ctx-btn-outline-hover-text:      #ffffff;

  --ctx-link:                   #004a54;
  --ctx-link-line:              #004a54;

  --ctx-divider:                #765a16;
  --ctx-list-icon:              #765a16;

  --ctx-faq-question:           #004a54;
  --ctx-faq-text:               #3f484a;

  --ctx-price:                  #004a54;
  --ctx-price-label:            rgba(63, 72, 74, 0.65);
  --ctx-price-cta-bg:           #004a54;
  --ctx-price-cta-arrow:        #ffffff;

  --ctx-tag-bg:                 rgba(255, 255, 255, 0.55);
  --ctx-tag-text:               #765a16;
  --ctx-tag-border:             rgba(118, 90, 22, 0.25);

  --ctx-stat-num:               #004a54;
  --ctx-stat-label:             #765a16;
  --ctx-stat-bg:                rgba(255, 255, 255, 0.60);

  --ctx-vp-icon:                #004a54;
  --ctx-vp-title:               #004a54;
  --ctx-vp-desc:                #3f484a;
  --ctx-vp-border:              rgba(118, 90, 22, 0.20);
}

/* ─────────────────────────────────────────────────────────────
   3. BASE & RESET
   ───────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-font-smoothing: antialiased;
  scroll-behavior: smooth;
}

body {
  font-family: var(--as-font-sans);
  color: var(--ctx-text);
  background-color: var(--as-bg-warm);
  font-size: 16px;
  line-height: 1.6;
}

/* ─────────────────────────────────────────────────────────────
   4. TIPOGRAFIA
   ───────────────────────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--as-font-serif);
  color: var(--ctx-heading);
  line-height: 1.25;
  margin: 0 0 1rem;
  font-weight: 700;
}

h1 { font-size: 48px; letter-spacing: -0.02em; }
h2 { font-size: 36px; }
h3 { font-size: 28px; font-weight: 400; }
h4 { font-size: 22px; font-family: var(--as-font-sans); font-weight: 600; }
h5 { font-size: 18px; font-family: var(--as-font-sans); font-weight: 600; }
h6 { font-size: 16px; font-family: var(--as-font-sans); font-weight: 600; }

p {
  margin: 0 0 1rem;
  color: var(--ctx-text);
  line-height: 1.65;
}

a {
  color: var(--ctx-link);
  text-decoration: none;
  transition: opacity var(--as-transition);
}
a:hover { opacity: 0.75; }

/* Eyebrow */
.as-eyebrow {
  font-family: var(--as-font-sans);
  font-size: 11px;
  font-weight: 600;
  color: var(--ctx-accent);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  display: block;
  margin-bottom: 6px;
}

/* Utilitários de texto */
.as-text-primary  { color: var(--ctx-heading) !important; }
.as-text-gold     { color: var(--ctx-accent)  !important; }
.as-text-body     { color: var(--ctx-text)    !important; }
.as-text-muted    { color: var(--ctx-muted)   !important; }
.as-font-serif    { font-family: var(--as-font-serif) !important; }
.as-font-sans     { font-family: var(--as-font-sans)  !important; }
.as-uppercase     { text-transform: uppercase; letter-spacing: 0.08em; }
.as-center        { text-align: center; }
.as-mb-0          { margin-bottom: 0 !important; }

/* ─────────────────────────────────────────────────────────────
   5. SEÇÕES
   ───────────────────────────────────────────────────────────── */
.as-section {
  padding: 100px 64px;
}

.as-section--sm { padding-top: 64px  !important; padding-bottom: 64px  !important; }
.as-section--lg { padding-top: 140px !important; padding-bottom: 140px !important; }
.as-section--none { padding-top: 0   !important; padding-bottom: 0     !important; }

.as-section--warm  { background-color: var(--as-bg-warm);  }
.as-section--soft  { background-color: var(--as-bg-soft);  }
.as-section--beige { background-color: var(--as-bg-beige); }
.as-section--white { background-color: #ffffff;             }
/* .as-section--dark e .as-section--gold definem o bg no bloco de contexto */
.as-section--dark  { background-color: #004a54; }

.as-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 64px;
}

/* ─────────────────────────────────────────────────────────────
   6. CABEÇALHO DE SEÇÃO
   ───────────────────────────────────────────────────────────── */
.as-section-header {
  text-align: center;
  margin-bottom: 48px;
}
.as-section-header h2 {
  color: var(--ctx-heading);
  margin-bottom: 8px;
}

.as-section-divider {
  width: 80px;
  height: 4px;
  background-color: var(--ctx-accent);
  border-radius: 2px;
  margin: 0 auto;
}

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

/* Base compartilhada */
.as-btn,
.as-btn-primary,
.as-btn-secondary,
.as-btn-gold {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--as-font-sans);
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  padding: 16px 32px;
  border-radius: var(--as-radius-sm);
  cursor: pointer;
  text-decoration: none;
  transition: background var(--as-transition), color var(--as-transition),
              border-color var(--as-transition), opacity var(--as-transition);
}

/* Primário — adapta ao contexto automaticamente */
.as-btn-primary,
.elementor-button-primary {
  background-color: var(--ctx-btn-bg) !important;
  color: var(--ctx-btn-text) !important;
  border: none !important;
}
.as-btn-primary:hover,
.elementor-button-primary:hover {
  background-color: var(--ctx-btn-hover) !important;
  color: var(--ctx-btn-text) !important;
  opacity: 1;
}

/* Outline — adapta ao contexto */
.as-btn-secondary {
  background-color: transparent !important;
  color: var(--ctx-btn-outline-color) !important;
  border: 1.5px solid var(--ctx-btn-outline-color) !important;
}
.as-btn-secondary:hover {
  background-color: var(--ctx-btn-outline-hover-bg) !important;
  color: var(--ctx-btn-outline-hover-text) !important;
  border-color: var(--ctx-btn-outline-hover-bg) !important;
  opacity: 1;
}

/* Dourado — adapta ao contexto */
.as-btn-gold {
  background-color: var(--ctx-btn-gold-bg) !important;
  color: var(--ctx-btn-gold-text) !important;
  border: 1px solid var(--ctx-accent) !important;
}
.as-btn-gold:hover { opacity: 0.85; }

/* Link sublinhado */
.as-btn-link {
  background: none !important;
  border: none !important;
  border-bottom: 2px solid var(--ctx-link-line) !important;
  border-radius: 0 !important;
  padding: 0 0 4px !important;
  color: var(--ctx-link) !important;
  font-family: var(--as-font-sans);
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: opacity var(--as-transition);
}
.as-btn-link:hover { opacity: 0.7; }

/* Tamanhos */
.as-btn-sm { padding: 10px 20px !important; font-size: 13px !important; }
.as-btn-lg { padding: 20px 48px !important; font-size: 18px !important; }

/* Pill */
.as-btn-pill { border-radius: var(--as-radius-full) !important; }

/* Full width */
.as-btn-full { width: 100% !important; justify-content: center !important; }

/* ── Elementor: garante que as variantes sobrescrevem o padrão ── */
.elementor-widget-button .as-btn-primary .elementor-button,
.elementor-widget-button.as-btn-primary .elementor-button {
  background-color: var(--ctx-btn-bg) !important;
  color: var(--ctx-btn-text) !important;
  border: none !important;
}
.elementor-widget-button .as-btn-secondary .elementor-button,
.elementor-widget-button.as-btn-secondary .elementor-button {
  background-color: transparent !important;
  color: var(--ctx-btn-outline-color) !important;
  border: 1.5px solid var(--ctx-btn-outline-color) !important;
}
.elementor-widget-button .as-btn-gold .elementor-button,
.elementor-widget-button.as-btn-gold .elementor-button {
  background-color: var(--ctx-btn-gold-bg) !important;
  color: var(--ctx-btn-gold-text) !important;
  border: 1px solid var(--ctx-accent) !important;
}
.elementor-widget-button .as-btn-sm .elementor-button,
.elementor-widget-button.as-btn-sm .elementor-button {
  padding: 10px 20px !important;
  font-size: 13px !important;
}
.elementor-widget-button .as-btn-lg .elementor-button,
.elementor-widget-button.as-btn-lg .elementor-button {
  padding: 20px 48px !important;
  font-size: 18px !important;
}

/* ─────────────────────────────────────────────────────────────
   8. FORMULÁRIOS
   ───────────────────────────────────────────────────────────── */
.as-form-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 16px;
}

.as-label,
.elementor-field-label {
  font-family: var(--as-font-sans);
  font-size: 11px;
  font-weight: 500;
  color: var(--ctx-text);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.as-input,
.as-textarea,
.elementor-field-textual {
  width: 100%;
  font-family: var(--as-font-sans);
  font-size: 16px;
  color: var(--ctx-text);
  background-color: var(--ctx-input-bg);
  border: 1px solid var(--ctx-border-input);
  border-radius: var(--as-radius-md);
  padding: 14px 16px;
  outline: none;
  transition: border-color var(--as-transition);
  line-height: 1.5;
}
.as-input::placeholder,
.as-textarea::placeholder,
.elementor-field-textual::placeholder {
  color: var(--ctx-muted);
}
.as-input:focus,
.as-textarea:focus,
.elementor-field-textual:focus {
  border-color: var(--ctx-heading);
}
.as-textarea { resize: vertical; min-height: 120px; }

.as-form-wrap {
  background-color: var(--ctx-form-bg);
  border-radius: var(--as-radius-lg);
  padding: 40px;
}

/* ─────────────────────────────────────────────────────────────
   9. CARDS DE IMÓVEIS
   ───────────────────────────────────────────────────────────── */
.as-property-card {
  background: var(--ctx-card-bg);
  border: 1px solid var(--ctx-border);
  border-radius: var(--as-radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--as-transition);
}
.as-property-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10);
}
.as-property-card__image {
  width: 100%;
  height: 256px;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}
.as-property-card:hover .as-property-card__image {
  transform: scale(1.04);
}
.as-property-card__badge {
  position: absolute;
  top: 16px;
  left: 16px;
  background: var(--as-primary);
  color: #ffffff;
  font-family: var(--as-font-sans);
  font-size: 10px;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: var(--as-radius-sm);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.as-property-card__body {
  padding: 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.as-property-card__title {
  font-family: var(--as-font-serif);
  font-size: 16px;
  font-weight: 400;
  color: var(--ctx-heading);
  margin: 0;
}
.as-property-card__location {
  font-family: var(--as-font-sans);
  font-size: 11px;
  color: var(--ctx-accent);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 12px;
}
.as-property-card__specs {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--ctx-border);
  font-family: var(--as-font-sans);
  font-size: 14px;
  color: var(--ctx-text);
}
.as-property-card__desc {
  font-family: var(--as-font-sans);
  font-size: 14px;
  color: var(--ctx-text);
  line-height: 1.55;
  flex: 1;
  padding-top: 16px;
  margin: 0;
}
.as-property-card__footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding-top: 16px;
  margin-top: auto;
}
.as-property-card__price-label {
  font-family: var(--as-font-sans);
  font-size: 10px;
  text-transform: uppercase;
  color: var(--ctx-price-label);
  opacity: 0.7;
  margin: 0;
}
.as-property-card__price {
  font-family: var(--as-font-sans);
  font-size: 18px;
  font-weight: 700;
  color: var(--ctx-price);
  margin: 0;
}
.as-property-card__cta {
  background: var(--ctx-price-cta-bg);
  border: none;
  border-radius: var(--as-radius-sm);
  padding: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ctx-price-cta-arrow);
  transition: opacity var(--as-transition);
}
.as-property-card__cta:hover { opacity: 0.75; }

/* ─────────────────────────────────────────────────────────────
   10. VALUE PROPS / FEATURES GRID
   ───────────────────────────────────────────────────────────── */
.as-value-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: var(--ctx-card-bg);
  border: 1px solid var(--ctx-border);
  border-radius: var(--as-radius-md);
}
.as-value-item {
  padding: 32px;
  border-right: 1px solid var(--ctx-vp-border);
}
.as-value-item:last-child { border-right: none; }
.as-value-item__icon {
  color: var(--ctx-vp-icon);
  margin-bottom: 12px;
  font-size: 24px;
}
.as-value-item__title {
  font-family: var(--as-font-sans);
  font-size: 15px;
  font-weight: 600;
  color: var(--ctx-vp-title);
  margin: 0 0 6px;
}
.as-value-item__desc {
  font-size: 14px;
  color: var(--ctx-vp-desc);
  margin: 0;
  line-height: 1.5;
}

/* ─────────────────────────────────────────────────────────────
   11. LISTA DE BENEFÍCIOS
   ───────────────────────────────────────────────────────────── */
.as-feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.as-feature-list li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--as-font-sans);
  font-size: 16px;
  color: var(--ctx-text);
}
.as-feature-list li::before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  min-width: 20px;
  background-color: var(--ctx-list-icon);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M4 10l4 4 8-8' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M4 10l4 4 8-8' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* ─────────────────────────────────────────────────────────────
   12. FAQ
   ───────────────────────────────────────────────────────────── */
.as-faq-item {
  background: var(--ctx-card-bg);
  border: 1px solid var(--ctx-border);
  border-radius: var(--as-radius-sm);
  margin-bottom: 16px;
  overflow: hidden;
}
.as-faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: var(--as-font-sans);
  font-size: 16px;
  font-weight: 600;
  color: var(--ctx-faq-question);
  transition: background var(--as-transition);
}
.as-faq-question:hover { background: rgba(0, 0, 0, 0.03); }
.as-faq-answer {
  padding: 0 24px 20px;
  font-family: var(--as-font-sans);
  font-size: 15px;
  color: var(--ctx-faq-text);
  line-height: 1.65;
}

/* ─────────────────────────────────────────────────────────────
   13. TAGS / PILLS
   ───────────────────────────────────────────────────────────── */
.as-tag {
  display: inline-block;
  font-family: var(--as-font-sans);
  font-size: 12px;
  color: var(--ctx-tag-text);
  background: var(--ctx-tag-bg);
  border: 1px solid var(--ctx-tag-border);
  padding: 4px 12px;
  border-radius: var(--as-radius-full);
  line-height: 1.5;
}

/* ─────────────────────────────────────────────────────────────
   14. CARDS DE ESTATÍSTICAS
   ───────────────────────────────────────────────────────────── */
.as-stat-card {
  background: var(--ctx-stat-bg);
  border: 1px solid var(--ctx-border);
  border-radius: var(--as-radius-md);
  padding: 20px;
  text-align: center;
}
.as-stat-card__num {
  font-family: var(--as-font-serif);
  font-size: 26px;
  font-weight: 400;
  color: var(--ctx-stat-num);
  margin: 0 0 4px;
}
.as-stat-card__label {
  font-size: 11px;
  color: var(--ctx-stat-label);
  margin: 0;
  line-height: 1.4;
}

/* ─────────────────────────────────────────────────────────────
   15. NAVBAR / RODAPÉ
   ───────────────────────────────────────────────────────────── */
.as-navbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  background: rgba(252, 249, 248, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--ctx-border);
}

.as-footer {
  background-color: var(--as-primary);
  color: #ffffff;
  padding: 48px 40px 16px;
}
.as-footer a {
  color: rgba(255, 255, 255, 0.75);
  font-size: 14px;
}
.as-footer a:hover { color: var(--as-gold-light); opacity: 1; }
.as-footer__heading {
  color: var(--as-gold-light);
  font-family: var(--as-font-sans);
  font-size: 16px;
  margin: 0 0 16px;
}
.as-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.10);
  padding-top: 24px;
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  opacity: 0.6;
}

/* ─────────────────────────────────────────────────────────────
   16. FUNDOS AUXILIARES (aplique em qualquer elemento)
   ───────────────────────────────────────────────────────────── */
.as-bg-warm    { background-color: var(--as-bg-warm)  !important; }
.as-bg-soft    { background-color: var(--as-bg-soft)  !important; }
.as-bg-beige   { background-color: var(--as-bg-beige) !important; }
.as-bg-white   { background-color: #ffffff            !important; }
.as-bg-primary { background-color: var(--as-primary)  !important; }
.as-bg-gold    { background-color: var(--as-gold-light) !important; }

/* ─────────────────────────────────────────────────────────────
   17. RESPONSIVO
   ───────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .as-section   { padding: 64px 40px; }
  .as-container { padding: 0 40px; }
  .as-value-grid { grid-template-columns: repeat(2, 1fr); }
  .as-value-item:nth-child(2) { border-right: none; }
  .as-value-item:nth-child(3) { border-top: 1px solid var(--ctx-vp-border); }
  .as-section--sm { padding-top: 48px  !important; padding-bottom: 48px  !important; }
  .as-section--lg { padding-top: 100px !important; padding-bottom: 100px !important; }
}

@media (max-width: 768px) {
  .as-section   { padding: 48px 24px; }
  .as-container { padding: 0 24px; }
  .as-value-grid { grid-template-columns: 1fr; }
  .as-value-item {
    border-right: none;
    border-bottom: 1px solid var(--ctx-vp-border);
  }
  .as-value-item:last-child { border-bottom: none; }
  .as-form-wrap { padding: 24px; }
  .as-btn { width: 100%; justify-content: center; }
  .as-footer__bottom { flex-direction: column; gap: 12px; text-align: center; }
  h1 { font-size: 32px; }
  h2 { font-size: 26px; }
  h3 { font-size: 22px; }
  .as-section--sm { padding-top: 40px !important; padding-bottom: 40px !important; }
  .as-section--lg { padding-top: 64px !important; padding-bottom: 64px !important; }
}
