/**
 * Elementor Fallback — layout legível sem o plugin ativo.
 *
 * Carregado condicionalmente apenas em posts da categoria "Especiais".
 * Todas as regras scoped em .article-body para não afetar o restante do tema.
 * Objetivo: conteúdo legível e estruturado, não recriação pixel-perfect.
 */

/* ── Reset base ── */
.article-body [class*="elementor"] {
  box-sizing: border-box;
}

/* ── Root wrapper ── */
.article-body .elementor {
  width: 100%;
  max-width: 100%;
}

/* ── Section ── */
.article-body .elementor-section {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  position: relative;
  margin-bottom: 1rem;
}

/* ── Section boxed ── */
.article-body .elementor-section-boxed > .elementor-container {
  max-width: 1220px;
  margin-left: auto;
  margin-right: auto;
}

/* ── Container ── */
.article-body .elementor-container {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

/* ── Column ── */
.article-body .elementor-column {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* ── Column widths ── */
.article-body .elementor-col-100 { width: 100%; }
.article-body .elementor-col-83  { width: 83.333%; }
.article-body .elementor-col-80  { width: 80%; }
.article-body .elementor-col-75  { width: 75%; }
.article-body .elementor-col-66  { width: 66.666%; }
.article-body .elementor-col-50  { width: 50%; }
.article-body .elementor-col-33  { width: 33.333%; }
.article-body .elementor-col-25  { width: 25%; }
.article-body .elementor-col-20  { width: 20%; }
.article-body .elementor-col-16  { width: 16.666%; }

/* ── Mobile: colunas empilhadas ── */
@media (max-width: 767px) {
  .article-body .elementor-column,
  .article-body [class*="elementor-col-"] {
    width: 100% !important;
  }
}

/* ── Inner section ── */
.article-body .elementor-inner-section {
  width: 100%;
}

/* ── Widget wrap & container ── */
.article-body .elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 10px;
}

.article-body .elementor-widget-container {
  width: 100%;
}

/* ── Default gap entre colunas ── */
.article-body .elementor-column-gap-default > .elementor-column {
  padding-left: 10px;
  padding-right: 10px;
}

/* ── Section height default ── */
.article-body .elementor-section-height-default {
  min-height: auto;
}

/* ── Background overlay: ocultar para evitar oclusão ── */
.article-body .elementor-background-overlay {
  display: none;
}

/* ── Heading widget ── */
.article-body .elementor-heading-title {
  font-family: 'Cairo', Arial, sans-serif;
  font-weight: 700;
  line-height: 1.2;
  color: #111;
  margin-bottom: 0.5rem;
}

/* ── Text editor widget ── */
.article-body .elementor-widget-text-editor {
  margin-bottom: 0.75rem;
}

/* ── Image widget ── */
.article-body .elementor-widget-image {
  margin-bottom: 1rem;
}

.article-body .elementor-widget-image img {
  max-width: 100%;
  height: auto !important;
  display: block;
}

/* ── Spacer widget ── */
.article-body .elementor-widget-spacer,
.article-body .elementor-widget-spacer .elementor-spacer {
  min-height: 1rem;
}

/* ── Video widget: responsivo 16:9 ── */
.article-body .elementor-widget-video .elementor-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
}

.article-body .elementor-widget-video .elementor-wrapper iframe,
.article-body .elementor-widget-video .elementor-wrapper video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ── Button widget ── */
.article-body .elementor-button {
  display: inline-block;
  padding: 0.65rem 1.5rem;
  background: #8b0000;
  color: #fff;
  font-family: 'Cairo', Arial, sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
  text-align: center;
  border: none;
  cursor: pointer;
  transition: background 0.15s;
}

@media (hover: hover) {
  .article-body .elementor-button:hover {
    background: #6a0000;
    color: #fff;
    text-decoration: none;
  }
}

/* ── Divider widget ── */
.article-body .elementor-divider {
  padding: 0.5rem 0;
}

.article-body .elementor-divider-separator {
  border-top: 1px solid #e5e7eb;
  width: 100%;
}

/* ── Icon list widget ── */
.article-body .elementor-icon-list-items {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.article-body .elementor-icon-list-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0;
}

.article-body .elementor-icon-list-icon {
  flex-shrink: 0;
  width: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.article-body .elementor-icon-list-icon svg {
  width: 1rem;
  height: 1rem;
  fill: #8b0000;
}

.article-body .elementor-icon-list-text {
  font-size: 1rem;
  color: #333;
}

/* ── Post grid (Elementor Posts widget) ── */
.article-body .elementor-posts-container {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .article-body .elementor-posts-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .article-body .elementor-posts-container {
    grid-template-columns: repeat(3, 1fr);
  }
}

.article-body .elementor-post {
  background: #fff;
  overflow: hidden;
}

.article-body .elementor-post__thumbnail {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  margin-bottom: 0.75rem;
}

.article-body .elementor-post__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.article-body .elementor-post__title {
  font-family: 'Cairo', Arial, sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.3;
  color: #111;
  margin-bottom: 0.5rem;
}

.article-body .elementor-post__title a {
  color: inherit;
  text-decoration: none;
}

.article-body .elementor-post__text {
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #333;
}

/* ── Visibility helpers ── */
.article-body .elementor-hidden-desktop {
  display: none;
}

@media (max-width: 1023px) {
  .article-body .elementor-hidden-desktop {
    display: block;
  }
  .article-body .elementor-hidden-tablet {
    display: none;
  }
}

@media (max-width: 767px) {
  .article-body .elementor-hidden-tablet {
    display: block;
  }
  .article-body .elementor-hidden-mobile {
    display: none;
  }
}

/* ── Artefatos de conteúdo degradado ── */

/* Swiper navigation text residual */
.article-body .elementor-swiper-button,
.article-body .swiper-button-prev,
.article-body .swiper-button-next {
  display: none;
}

/* Share buttons do Elementor (sem JS, não funcionam) */
.article-body .elementor-share-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  color: #fff;
  font-size: 1rem;
  text-decoration: none;
}

.article-body .elementor-share-btn_whatsapp { background: #25d366; }
.article-body .elementor-share-btn_facebook { background: #1877f2; }
.article-body .elementor-share-btn_twitter { background: #1da1f2; }
.article-body .elementor-share-btn_linkedin { background: #0a66c2; }
.article-body .elementor-share-btn_telegram { background: #2aabee; }

.article-body .elementor-grid {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: center;
}

/* Author box do Elementor */
.article-body .elementor-author-box {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
}

.article-body .elementor-author-box__avatar img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
}

.article-body .elementor-author-box__name {
  font-family: 'Cairo', Arial, sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  color: #111;
  margin-bottom: 0.25rem;
}

.article-body .elementor-author-box__bio {
  font-size: 0.9rem;
  color: #555;
  line-height: 1.5;
}

/* Slides widget: mostrar imagens de fundo como imagens normais */
.article-body .elementor-slides-wrapper {
  width: 100%;
  overflow: hidden;
}

.article-body .swiper-slide {
  position: relative;
  min-height: 200px;
}

.article-body .elementor-slide-description {
  font-size: 0.9rem;
  color: #555;
  font-style: italic;
  padding: 0.5rem 0;
}
