/*
 Theme Name: Astra Child
 Theme URI: https://wpastra.com/
 Description: Child theme do Astra
 Author: Solzaima Academy
 Template: astra
 Version: 1.0.0
 Text Domain: astra-child
*/

/* --------------------------------------------- */
/*  0) Header sticky (mantém como já tinhas)     */
/* --------------------------------------------- */
.site-header {
    position: sticky;
    top: 0;
    z-index: 999;
}

/* --------------------------------------------- */
/*  1) Layout interno do header Astra            */
/* --------------------------------------------- */
.ast-primary-header-bar .ast-builder-grid-row {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 80px;
}

/* 2) Largura 50/50 para as secções */
.site-header-primary-section-left,
.site-header-primary-section-right {
    flex: 1 1 0 !important;
    display: flex !important;
    align-items: center !important;
}

/* 3) Menu encostado à direita */
.site-header-primary-section-right {
    justify-content: flex-end !important;
}

/* 4) Logo centrado */
.ast-primary-header-bar .site-branding {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    text-align: center !important;
    z-index: 2;
}

/* 5) Proporções do logo */
.ast-primary-header-bar .site-branding img {
    display: block !important;
    max-height: 40px !important;
    height: auto !important;
    width: auto !important;
}

/* --------------------------------------------- */
/*  Back arrow header                            */
/* --------------------------------------------- */
.back-arrow-header {
    position: absolute;
    top: 12px;
    left: 18px;
    font-size: 24px;
    color: #000;
    text-decoration: none;
    z-index: 9999;
    font-weight: 600;
}

.back-arrow-header:hover {
    opacity: 0.7;
}

@media (max-width: 768px) {
    .back-arrow-header {
        top: 10px;
        left: 14px;
        font-size: 20px;
    }
}

/* ============================
   BOTÃO SOLZAIMA – FINAL LIMPO
   ============================ */

a.sza-btn,
.elementor-widget-shortcode a.sza-btn,
.elementor a.sza-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    background-color: #77B4AA !important;
    color: #ffffff !important;

    padding: 12px 24px !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    text-decoration: none !important;

    min-width: 220px !important;
    height: 48px !important;

    font-size: 15px !important;
    line-height: 1 !important;

    transition: background .2s ease !important;

    border: none !important;
}

/* OCULTAR "ÁREA RESERVADA" NO ASTRA (DESKTOP + MOBILE) */
.main-header-menu a[href*="area"],
.main-header-menu a[href*="login"],
.main-header-menu a[href*="conta"],
.ast-builder-menu a[href*="area"],
.ast-builder-menu a[href*="login"],
.ast-builder-menu a[href*="conta"] {
    display: none !important;
}

/* =================================================
   ELEMENTOR CONTAINERS – BOTÃO SEMPRE NO FUNDO
   (SOLUÇÃO FINAL)
================================================= */

/* garantir coluna flex no interior do card */
.e-container > .e-con-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* FAZER O TEXTO CRESCER (nível correto) */
.e-container .elementor-widget-text-editor
.elementor-widget-container {
    flex-grow: 1;
}

/* botão empurrado para o fundo */
.e-container .elementor-widget-button {
    margin-top: auto;
}




/* =========================================
   FIX DEFINITIVO – Cards Academy (Mobile)
========================================= */

@media (max-width: 767px) {

  .sza-cards-wrapper {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .sza-cards-wrapper > .e-con {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

}

.sza-cards-wrapper h3,
.sza-cards-wrapper p {
  word-break: normal !important;
  overflow-wrap: break-word;
  hyphens: auto;
}


/* ===============================
   FIX GLOBAL – sem scroll lateral
================================ */

html, body {
  max-width: 100%;
  overflow-x: hidden;
}

/* ===============================
   Calendário – mobile safe
================================ */

@media (max-width: 767px) {

  .sza-calendar-wrapper {
    max-width: 100%;
    overflow-x: auto;
  }

  .sza-calendar-wrapper .fc {
    width: 100%;
    min-width: 0; /* isto é CRÍTICO */
  }

}

/* ===============================
   Texto justificado
   (apenas nas secções marcadas)
================================ */

.sza-justify-mobile .elementor-widget-text-editor p,
.sza-justify-mobile .elementor-widget-text-editor li {
  text-align: justify !important;
}



/* Bloco editorial – Datas de Formação */
.elementor-widget-shortcode .sza-datas-box {
  margin-top: 32px;
  padding-top: 16px;
  border-top: 1px solid #e6ecea; /* linha subtil */
  background: transparent;
}

/* Título */
.elementor-widget-shortcode .sza-datas-title {
  font-size: 16px;
  font-weight: 600;
  color: #6fa7a1; /* verde Solzaima */
  margin-bottom: 10px;
}

/* Lista de datas */
.elementor-widget-shortcode .sza-proximas-datas {
  display: grid;
  gap: 8px;
}

/* Item da data */
.elementor-widget-shortcode .sza-data-item {
  padding-left: 12px;
  border-left: 2px solid #6fa7a1;
  font-size: 14px;
}

/* Data */
.elementor-widget-shortcode .sza-data-item strong {
  color: #1f3d2b;
  font-weight: 600;
}

/* Hora */
.elementor-widget-shortcode .sza-data-item span {
  color: #6b6b6b;
  font-size: 13px;
}