/**
 * Golden Cargo — camada visual moderna (sobrescreve Elementor de forma conservadora)
 */

:root {
  --gc-gold: #bd8d46;
  --gc-gold-light: #d4a863;
  --gc-ink: #0f172a;
  --gc-ink-soft: #334155;
  --gc-surface: #f8fafc;
  --gc-radius: 12px;
  --gc-radius-sm: 8px;
  --gc-shadow: 0 4px 24px rgba(15, 23, 42, 0.07);
  --gc-shadow-hover: 0 12px 40px rgba(189, 141, 70, 0.22);
  --gc-font:
    "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--gc-font) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Tipografia institucional */
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title,
.elementor-slide-heading {
  font-family: var(--gc-font) !important;
  letter-spacing: -0.02em;
}

.elementor-widget-text-editor,
.elementor-slide-description,
.elementor-nav-menu .elementor-item {
  font-family: var(--gc-font) !important;
}

h3 {
  font-weight: 800 !important;
  letter-spacing: -0.03em;
  line-height: 1.25 !important;
}

h4 {
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  line-height: 1.3 !important;
}

a {
  transition:
    color 0.2s ease,
    opacity 0.2s ease;
}

a:hover {
  opacity: 0.92;
}

/* Cabeçalho: sticky + vidro */
.elementor-location-header {
  position: sticky;
  top: 0;
  z-index: 1000;
}

.elementor-9
  .elementor-element-3c8592de:not(
    .elementor-motion-effects-element-type-background
  ),
.elementor-9
  .elementor-element-3c8592de
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer {
  background-color: rgba(255, 255, 255, 0.88) !important;
  backdrop-filter: saturate(180%) blur(14px);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
}

.elementor-9 .elementor-element-3c8592de {
  border-color: rgba(15, 23, 42, 0.08) !important;
  box-shadow: 0 4px 24px rgba(15, 23, 42, 0.06);
}

.elementor-9 .elementor-element-31ddade .elementor-nav-menu .elementor-item {
  font-weight: 500 !important;
  letter-spacing: 0.01em;
}

/* Navegação — estado ativo mais nítido */
.elementor-9
  .elementor-element-31ddade
  .elementor-nav-menu--main
  .elementor-item:not(.elementor-item-active):hover {
  color: var(--gc-gold) !important;
}

/* Botões CTA */
.elementor-button,
.elementor-slide-button {
  border-radius: var(--gc-radius-sm) !important;
  transition:
    transform 0.2s ease,
    box-shadow 0.25s ease,
    background 0.2s ease !important;
}

.elementor-widget-button .elementor-button:not(:hover) {
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.08);
}

.elementor-widget-button .elementor-button:hover {
  transform: translateY(-2px);
  box-shadow: var(--gc-shadow-hover);
}

/* Slides — título mais atual */
.elementor-slides .swiper-slide-inner .elementor-slide-heading {
  font-size: clamp(1.75rem, 4vw, 2.35rem) !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

.elementor-slides .swiper-slide-inner .elementor-slide-description {
  font-size: clamp(0.95rem, 2vw, 1.1rem) !important;
  line-height: 1.55 !important;
  opacity: 0.95;
  max-width: 42rem;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.4);
}

.elementor-slides .swiper-slide-inner .elementor-slide-button {
  border-radius: var(--gc-radius-sm) !important;
  padding: 0.65rem 1.35rem !important;
  font-weight: 600 !important;
}

/* Conteúdo: imagens com cantos suaves (header/rodapé fora destes blocos) */
.site-main .elementor-widget-image img,
.elementor-location-single .elementor-widget-image img {
  border-radius: var(--gc-radius);
  box-shadow: var(--gc-shadow);
}

/* Fundo da área de página (home e páginas internas em templates diferentes) */
.site-main,
.elementor-location-single {
  background: linear-gradient(
    180deg,
    var(--gc-surface) 0%,
    #fff 12%,
    #fff 100%
  );
}

.elementor-section.elementor-top-section {
  transition: box-shadow 0.3s ease;
}

/* Footer — separação visual */
.elementor-location-footer .elementor-top-section:first-child {
  border-top: 1px solid rgba(15, 23, 42, 0.06);
  box-shadow: 0 -8px 32px rgba(15, 23, 42, 0.04);
}

.elementor-location-footer .elementor-social-icon {
  border-radius: 999px !important;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease !important;
}

.elementor-location-footer .elementor-social-icon:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(189, 141, 70, 0.35);
}

/* Formulários (CFF / Elementor) */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
  border-radius: var(--gc-radius-sm) !important;
  border-color: rgba(15, 23, 42, 0.12) !important;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease !important;
}

input:focus,
textarea:focus,
select:focus {
  outline: none !important;
  border-color: var(--gc-gold) !important;
  box-shadow: 0 0 0 3px rgba(189, 141, 70, 0.2) !important;
}

/* Acessibilidade: foco visível */
a:focus-visible,
button:focus-visible,
.elementor-menu-toggle:focus-visible,
.elementor-item:focus-visible {
  outline: 2px solid var(--gc-gold);
  outline-offset: 3px;
}

.skip-link.screen-reader-text:focus {
  clip: auto !important;
  height: auto;
  width: auto;
  z-index: 100001;
  padding: 0.5rem 1rem;
  background: var(--gc-ink);
  color: #fff;
  border-radius: var(--gc-radius-sm);
}

/* Abas Jet Tabs */
.jet-tabs__control-inner {
  border-radius: var(--gc-radius-sm) var(--gc-radius-sm) 0 0 !important;
}

.jet-tabs__content {
  border-radius: 0 var(--gc-radius) var(--gc-radius) var(--gc-radius) !important;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .elementor-button,
  .elementor-slide-button,
  .elementor-social-icon {
    transition: none !important;
  }
}
