:root {
  /* Brand palette */
  --aldeia-color-white: #FFFFFF;
  --aldeia-color-yellow: #FDE021;
  --aldeia-color-black: #000000;
  --aldeia-color-ink: #231F20;
  --aldeia-color-charcoal: #393536;
  --aldeia-color-gray-700: #646263;
  --aldeia-color-gray-500: #918F90;
  --aldeia-color-gray-300: #BCBCBC;

  /* Semantic colors */
  --aldeia-color-bg: var(--aldeia-color-white);
  --aldeia-color-surface: var(--aldeia-color-white);
  --aldeia-color-text: var(--aldeia-color-ink);
  --aldeia-color-text-muted: var(--aldeia-color-gray-700);
  --aldeia-color-border: var(--aldeia-color-gray-300);
  --aldeia-color-focus: var(--aldeia-color-yellow);
  --aldeia-color-primary: var(--aldeia-color-yellow);
  --aldeia-color-primary-text: var(--aldeia-color-black);
  --aldeia-color-secondary: var(--aldeia-color-black);
  --aldeia-color-secondary-text: var(--aldeia-color-white);
  --aldeia-color-form-surface: #f0f5fa;
  --aldeia-color-form-border: #dce6ee;

  /* Typography */
  --aldeia-font-family: "Roboto", Arial, sans-serif;
  --aldeia-font-weight-regular: 400;
  --aldeia-font-weight-medium: 500;
  --aldeia-font-weight-semibold: 600;
  --aldeia-font-weight-bold: 700;
  --aldeia-font-weight-black: 900;

  --aldeia-text-h1-size: 67px;
  --aldeia-text-h1-line: 62px;
  --aldeia-text-h1-weight: var(--aldeia-font-weight-bold);
  --aldeia-text-h2-size: 47px;
  --aldeia-text-h2-line: 1.2;
  --aldeia-text-h2-weight: var(--aldeia-font-weight-semibold);
  --aldeia-text-h3-size: 26px;
  --aldeia-text-h3-line: 1.2;
  --aldeia-text-h3-weight: var(--aldeia-font-weight-bold);
  --aldeia-text-h4-size: 20px;
  --aldeia-text-h4-line: 1.2;
  --aldeia-text-h4-weight: var(--aldeia-font-weight-semibold);
  --aldeia-text-body-size: 16px;
  --aldeia-text-body-line: 1.65;
  --aldeia-text-body-weight: var(--aldeia-font-weight-regular);
  --aldeia-text-small-size: 14px;
  --aldeia-text-small-line: 1.45;
  --aldeia-text-small-weight: var(--aldeia-font-weight-semibold);
  --aldeia-text-caption-size: 13px;
  --aldeia-text-caption-line: 1.35;
  --aldeia-text-caption-weight: var(--aldeia-font-weight-regular);

  /* Spacing */
  --aldeia-space-1: 8px;
  --aldeia-space-2: 16px;
  --aldeia-space-3: 24px;
  --aldeia-space-4: 32px;
  --aldeia-space-6: 48px;
  --aldeia-space-8: 64px;
  --aldeia-space-12: 96px;

  --aldeia-section-y: 96px;
  --aldeia-container-max: 1200px;
  --aldeia-container-gutter: 24px;
  --aldeia-radius: 3px;
  --aldeia-radius-form: 28px;

  /* Buttons */
  --aldeia-button-height: 40px;
  --aldeia-button-padding-x: 50px;
  --aldeia-button-font-size: 14px;
  --aldeia-button-font-weight: var(--aldeia-font-weight-semibold);
  --aldeia-button-line: 1;
  --aldeia-button-radius: var(--aldeia-radius);
  --aldeia-button-primary-bg: var(--aldeia-color-primary);
  --aldeia-button-primary-text: var(--aldeia-color-primary-text);
  --aldeia-button-primary-border: var(--aldeia-color-primary);
  --aldeia-button-primary-hover-bg: var(--aldeia-color-black);
  --aldeia-button-primary-hover-text: var(--aldeia-color-yellow);
  --aldeia-button-primary-hover-soft-bg: #fff06a;
  --aldeia-button-secondary-bg: var(--aldeia-color-black);
  --aldeia-button-secondary-text: var(--aldeia-color-white);
  --aldeia-button-secondary-border: var(--aldeia-color-black);
  --aldeia-button-secondary-hover-bg: var(--aldeia-color-ink);
  --aldeia-button-secondary-hover-text: var(--aldeia-color-yellow);

  /* Fields */
  --aldeia-field-height: 50px;
  --aldeia-field-padding-x: 16px;
  --aldeia-field-padding-y: 12px;
  --aldeia-field-bg: var(--aldeia-color-white);
  --aldeia-field-text: var(--aldeia-color-ink);
  --aldeia-field-placeholder: var(--aldeia-color-gray-500);
  --aldeia-field-border: var(--aldeia-color-gray-300);
  --aldeia-field-border-hover: var(--aldeia-color-gray-700);
  --aldeia-field-border-focus: var(--aldeia-color-yellow);
  --aldeia-field-radius: var(--aldeia-radius);

  /* Cards and layout */
  --aldeia-card-padding: 24px;
  --aldeia-card-border: 1px solid var(--aldeia-color-border);
  --aldeia-card-image-ratio: 16 / 9;
  --aldeia-grid-2-cols: minmax(0, 1fr) minmax(0, 1fr);
  --aldeia-grid-2-gap: 48px;
}

body,
button,
input,
select,
textarea {
  font-family: var(--aldeia-font-family);
}

body {
  background: var(--aldeia-color-bg);
  color: var(--aldeia-color-text);
}

@media (max-width: 1024px) {
  :root {
    --aldeia-section-y: 64px;
    --aldeia-grid-2-gap: 32px;
  }
}

@media (max-width: 767px) {
  :root {
    --aldeia-text-h1-size: 27px;
    --aldeia-text-h1-line: 1;
    --aldeia-text-h2-size: 33px;
    --aldeia-text-h2-line: 1.1;
    --aldeia-text-h3-size: 24px;
    --aldeia-text-h4-size: 18px;
    --aldeia-text-body-size: 16px;
    --aldeia-text-small-size: 14px;
    --aldeia-section-y: 48px;
    --aldeia-container-gutter: 16px;
    --aldeia-card-padding: 24px;
    --aldeia-grid-2-cols: minmax(0, 1fr);
    --aldeia-grid-2-gap: 24px;
  }
}

.aldeia-container {
  width: min(100% - (var(--aldeia-container-gutter) * 2), var(--aldeia-container-max));
  margin-inline: auto;
}

.aldeia-section {
  padding-block: var(--aldeia-section-y);
}

.aldeia-grid-2 {
  display: grid;
  grid-template-columns: var(--aldeia-grid-2-cols);
  gap: var(--aldeia-grid-2-gap);
  align-items: start;
}

.aldeia-card {
  padding: var(--aldeia-card-padding);
  background: var(--aldeia-color-surface);
  border: var(--aldeia-card-border);
  border-radius: var(--aldeia-radius);
}

.aldeia-card__media {
  display: block;
  width: 100%;
  aspect-ratio: var(--aldeia-card-image-ratio);
  object-fit: cover;
}

.aldeia-h1,
.aldeia-h2,
.aldeia-h3,
.aldeia-h4,
.aldeia-body,
.aldeia-small,
.aldeia-caption {
  font-family: var(--aldeia-font-family);
  color: var(--aldeia-color-text);
}

.aldeia-h1 {
  font-size: var(--aldeia-text-h1-size);
  font-weight: var(--aldeia-text-h1-weight);
  line-height: var(--aldeia-text-h1-line);
}

.aldeia-h2 {
  font-size: var(--aldeia-text-h2-size);
  font-weight: var(--aldeia-text-h2-weight);
  line-height: var(--aldeia-text-h2-line);
}

.aldeia-h3 {
  font-size: var(--aldeia-text-h3-size);
  font-weight: var(--aldeia-text-h3-weight);
  line-height: var(--aldeia-text-h3-line);
}

.aldeia-h4 {
  font-size: var(--aldeia-text-h4-size);
  font-weight: var(--aldeia-text-h4-weight);
  line-height: var(--aldeia-text-h4-line);
}

.aldeia-body {
  font-size: var(--aldeia-text-body-size);
  font-weight: var(--aldeia-text-body-weight);
  line-height: var(--aldeia-text-body-line);
}

.aldeia-small {
  font-size: var(--aldeia-text-small-size);
  font-weight: var(--aldeia-text-small-weight);
  line-height: var(--aldeia-text-small-line);
}

.aldeia-caption {
  font-size: var(--aldeia-text-caption-size);
  font-weight: var(--aldeia-text-caption-weight);
  line-height: var(--aldeia-text-caption-line);
}

.aldeia-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--aldeia-button-height);
  padding: 10px var(--aldeia-button-padding-x);
  border: 1px solid transparent;
  border-radius: var(--aldeia-button-radius);
  cursor: pointer;
  font-family: var(--aldeia-font-family);
  font-size: var(--aldeia-button-font-size);
  font-weight: var(--aldeia-button-font-weight);
  line-height: var(--aldeia-button-line);
  text-align: center;
  text-decoration: none;
}

.aldeia-button:focus-visible,
.aldeia-field:focus-visible {
  outline: 3px solid var(--aldeia-color-focus);
  outline-offset: 2px;
}

.aldeia-button:active {
  transform: translateY(1px);
}

.aldeia-button--primary {
  background: var(--aldeia-button-primary-bg);
  border-color: var(--aldeia-button-primary-border);
  color: var(--aldeia-button-primary-text);
}

.aldeia-button--primary:hover,
.aldeia-button--primary:focus {
  background: var(--aldeia-button-primary-hover-bg);
  border-color: var(--aldeia-button-primary-hover-bg);
  color: var(--aldeia-button-primary-hover-text);
}

.aldeia-button--secondary {
  background: var(--aldeia-button-secondary-bg);
  border-color: var(--aldeia-button-secondary-border);
  color: var(--aldeia-button-secondary-text);
}

.aldeia-button--secondary:hover,
.aldeia-button--secondary:focus {
  background: var(--aldeia-button-secondary-hover-bg);
  border-color: var(--aldeia-button-secondary-hover-bg);
  color: var(--aldeia-button-secondary-hover-text);
}

.aldeia-field {
  display: block;
  width: 100%;
  min-height: var(--aldeia-field-height);
  padding: var(--aldeia-field-padding-y) var(--aldeia-field-padding-x);
  background: var(--aldeia-field-bg);
  border: 1px solid var(--aldeia-field-border);
  border-radius: var(--aldeia-field-radius);
  color: var(--aldeia-field-text);
  font-family: var(--aldeia-font-family);
  font-size: var(--aldeia-text-body-size);
  line-height: 1.35;
}

.aldeia-field::placeholder {
  color: var(--aldeia-field-placeholder);
  opacity: 1;
}

.aldeia-field:hover {
  border-color: var(--aldeia-field-border-hover);
}

.aldeia-field:focus {
  border-color: var(--aldeia-field-border-focus);
  outline: 0;
}

/* Global adapters for the exported Astra/Elementor pages. */
.elementor-kit-8 {
  --e-global-typography-primary-font-family: var(--aldeia-font-family);
  --e-global-typography-secondary-font-family: var(--aldeia-font-family);
  --e-global-typography-text-font-family: var(--aldeia-font-family);
  --e-global-typography-accent-font-family: var(--aldeia-font-family);
  --e-global-color-primary: var(--aldeia-color-black);
  --e-global-color-secondary: var(--aldeia-color-ink);
  --e-global-color-text: var(--aldeia-color-text);
  --e-global-color-accent: var(--aldeia-color-yellow);
}

.entry-content h1,
.elementor-widget-heading h1.elementor-heading-title,
.elementor-heading-title.elementor-size-xxl {
  font-family: var(--aldeia-font-family) !important;
  font-size: var(--aldeia-text-h1-size) !important;
  font-weight: var(--aldeia-text-h1-weight) !important;
  line-height: var(--aldeia-text-h1-line) !important;
}

.entry-content h2,
.elementor-widget-heading h2.elementor-heading-title,
.elementor-heading-title.elementor-size-xl {
  font-family: var(--aldeia-font-family) !important;
  font-size: var(--aldeia-text-h2-size) !important;
  font-weight: var(--aldeia-text-h2-weight) !important;
  line-height: var(--aldeia-text-h2-line) !important;
}

.entry-content h3,
.elementor-widget-heading h3.elementor-heading-title,
.elementor-heading-title.elementor-size-large {
  font-family: var(--aldeia-font-family) !important;
  font-size: var(--aldeia-text-h3-size) !important;
  font-weight: var(--aldeia-text-h3-weight) !important;
  line-height: var(--aldeia-text-h3-line) !important;
}

.entry-content h4,
.elementor-widget-heading h4.elementor-heading-title,
.elementor-heading-title.elementor-size-medium {
  font-family: var(--aldeia-font-family) !important;
  font-size: var(--aldeia-text-h4-size) !important;
  font-weight: var(--aldeia-text-h4-weight) !important;
  line-height: var(--aldeia-text-h4-line) !important;
}

.entry-content p,
.entry-content li,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-icon-list .elementor-icon-list-text {
  font-family: var(--aldeia-font-family) !important;
  font-size: var(--aldeia-text-body-size);
  font-weight: var(--aldeia-text-body-weight);
  line-height: var(--aldeia-text-body-line);
}

.elementor-section.elementor-section-boxed > .elementor-container,
.ast-container {
  max-width: var(--aldeia-container-max);
}

.elementor-button,
.wp-block-button__link,
.ast-button,
.button,
button[type="submit"],
input[type="submit"] {
  min-height: var(--aldeia-button-height);
  border-radius: var(--aldeia-button-radius) !important;
  font-family: var(--aldeia-font-family) !important;
  font-size: var(--aldeia-button-font-size);
  font-weight: var(--aldeia-button-font-weight);
  line-height: var(--aldeia-button-line);
}

.elementor-button,
.wp-block-button__link,
.ast-button,
.button {
  padding: 10px var(--aldeia-button-padding-x);
}

.elementor-button:hover,
.elementor-button:focus,
.wp-block-button__link:hover,
.wp-block-button__link:focus,
.ast-button:hover,
.ast-button:focus,
.button:hover,
.button:focus {
  outline-color: var(--aldeia-color-focus);
}

.elementor-element-3967ae34,
.elementor-element-3967ae34 .elementor-nav-menu--dropdown {
  background: var(--aldeia-color-black) !important;
}

.elementor-element-3967ae34 .elementor-nav-menu--main .elementor-item,
.elementor-element-3967ae34 .elementor-nav-menu--main .elementor-sub-item,
.elementor-element-3967ae34 .elementor-nav-menu--dropdown .elementor-item,
.elementor-element-3967ae34 .elementor-nav-menu--dropdown .elementor-sub-item {
  color: var(--aldeia-color-white) !important;
  font-family: var(--aldeia-font-family) !important;
  font-size: var(--aldeia-button-font-size);
  font-weight: var(--aldeia-font-weight-semibold);
  line-height: var(--aldeia-button-line);
}

.elementor-element-3967ae34 .elementor-nav-menu--main .elementor-item:hover,
.elementor-element-3967ae34 .elementor-nav-menu--main .elementor-item:focus,
.elementor-element-3967ae34 .elementor-nav-menu--main .elementor-sub-item:hover,
.elementor-element-3967ae34 .elementor-nav-menu--main .elementor-sub-item:focus,
.elementor-element-3967ae34 .elementor-nav-menu--dropdown .elementor-item:hover,
.elementor-element-3967ae34 .elementor-nav-menu--dropdown .elementor-item:focus,
.elementor-element-3967ae34 .elementor-nav-menu--dropdown .elementor-sub-item:hover,
.elementor-element-3967ae34 .elementor-nav-menu--dropdown .elementor-sub-item:focus {
  color: var(--aldeia-color-yellow) !important;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="date"],
input[type="time"],
select,
textarea {
  border-radius: var(--aldeia-field-radius);
  font-family: var(--aldeia-font-family);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="time"]:focus,
select:focus,
textarea:focus {
  border-color: var(--aldeia-field-border-focus);
  outline: 0;
}

.aldeia-token-card,
.elementor-widget-image-box,
.elementor-widget-call-to-action {
  border-radius: var(--aldeia-radius);
}

.aldeia-token-card img,
.elementor-widget-image-box img,
.elementor-widget-call-to-action img,
.elementor-widget-call-to-action .elementor-cta__bg {
  aspect-ratio: var(--aldeia-card-image-ratio);
  object-fit: cover;
}

.aldeia-token-grid-2,
.elementor-section.aldeia-token-grid-2 > .elementor-container {
  display: grid;
  grid-template-columns: var(--aldeia-grid-2-cols);
  gap: var(--aldeia-grid-2-gap);
}

@media (max-width: 767px) {
  .elementor-section.elementor-section-boxed > .elementor-container,
  .ast-container {
    padding-inline: var(--aldeia-container-gutter);
  }
}
