/* =========================================================
   CUSTOM.CSS
   Checkout – Termos e Condições
   Caixa + cores + alinhamento
   ========================================================= */


/* =========================================================
   CAIXA DOS TERMOS – ESTADO BASE (NÃO ACEITE → VERMELHO)
   ========================================================= */
#conditions-to-approve {
  display: block !important;
  width: 100% !important;
  clear: both !important;

  padding: 14px 16px !important;
  margin: 16px 0 !important;

  background-color: #fdecee !important;   /* vermelho claro */
  border: 1px solid #f1b0b7 !important;
  border-radius: 6px !important;

  /* força linha própria mesmo dentro de flex */
  flex: 0 0 100% !important;
  max-width: 100% !important;

  transition: background-color .25s ease, border-color .25s ease;
}


/* =========================================================
   ESTADO ACEITE (CHECKBOX MARCADO → VERDE)
   ========================================================= */
#conditions-to-approve:has(input[type="checkbox"]:checked) {
  background-color: #e7f6ec !important;   /* verde claro */
  border-color: #9ad0ac !important;
}


/* =========================================================
   LAYOUT INTERNO (ALINHAMENTO)
   ========================================================= */
#conditions-to-approve ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#conditions-to-approve li {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 6px 0 !important;
}


/* =========================================================
   REMOVER FLOATS DO TEMA
   ========================================================= */
#conditions-to-approve .float-xs-left {
  float: none !important;
  margin: 0 !important;
}


/* =========================================================
   CHECKBOX
   ========================================================= */
#conditions-to-approve .custom-checkbox {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 18px !important;
  margin: 0 !important;
}

#conditions-to-approve input[type="checkbox"] {
  margin: 0 !important;
}


/* =========================================================
   TEXTO / LABEL
   ========================================================= */
#conditions-to-approve .condition-label,
#conditions-to-approve .condition-label label {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}


/* =========================================================
   BOTÃO DE CONFIRMAÇÃO (SEPARADO DA CAIXA)
   ========================================================= */
#payment-confirmation {
  display: block !important;
  width: 100% !important;
  margin-top: 12px !important;
}

/* =========================================================
   vt_decor + Elementor (LeoBootstrapmenu)
   - Mega menu à largura do NAV
   - Colunas lado a lado
   - Flyout próximo da subcategoria
   - Altura 100% dinâmica (SEM SCROLL)
   ========================================================= */

/* Wrapper do menu */
.elementor-widget-LeoBootstrapmenu nav.leo-megamenu {
  position: relative !important;
}

/* ================= DESKTOP ================= */
@media (min-width: 992px) {

  /* Impede o <li> de limitar o dropdown */
  .elementor-widget-LeoBootstrapmenu
  nav.leo-megamenu
  ul.nav > li.nav-item.parent.dropdown {
    position: static !important;
  }

  /* DROPDOWN NÍVEL 1 */
  .elementor-widget-LeoBootstrapmenu
  nav.leo-megamenu
  .dropdown-menu.level1 {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;

    height: auto !important;
    max-height: none !important;
    overflow: visible !important;

    transform: none !important;
  }

  /* REMOVE SCROLL DE TODOS OS WRAPPERS INTERNOS (CRÍTICO) */
  .elementor-widget-LeoBootstrapmenu nav.leo-megamenu
  .dropdown-menu.level1,
  .elementor-widget-LeoBootstrapmenu nav.leo-megamenu
  .dropdown-menu.level1 .dropdown-menu-inner,
  .elementor-widget-LeoBootstrapmenu nav.leo-megamenu
  .dropdown-menu.level1 .dropdown-menu-inner > .row,
  .elementor-widget-LeoBootstrapmenu nav.leo-megamenu
  .dropdown-menu.level1 .mega-col,
  .elementor-widget-LeoBootstrapmenu nav.leo-megamenu
  .dropdown-menu.level1 .mega-col > .inner,
  .elementor-widget-LeoBootstrapmenu nav.leo-megamenu
  .dropdown-menu.level1 .mega-col > .inner > .row {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* COLUNAS */
  .elementor-widget-LeoBootstrapmenu nav.leo-megamenu
  .dropdown-menu.level1 .mega-col > .inner > .row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start;
  }

  /* 2 colunas */
  .elementor-widget-LeoBootstrapmenu nav.leo-megamenu
  .dropdown-menu.level1 ul.col-md-6 {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 3 colunas */
  .elementor-widget-LeoBootstrapmenu nav.leo-megamenu
  .dropdown-menu.level1 ul.col-md-4 {
    flex: 0 0 33.3333% !important;
    max-width: 33.3333% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* FLYOUT (subsubcategorias) */
  .elementor-widget-LeoBootstrapmenu nav.leo-megamenu
  .dropdown-menu .dropdown-menu {
    position: absolute !important;
    top: 0 !important;
    left: calc(100% - 40px) !important;
    right: auto !important;

    min-width: 240px;
    max-width: 320px;

    transform: none !important;
  }
}

/* ================= MOBILE ================= */
@media (max-width: 991.98px) {

  .elementor-widget-LeoBootstrapmenu nav.leo-megamenu
  .dropdown-menu,
  .elementor-widget-LeoBootstrapmenu nav.leo-megamenu
  .dropdown-menu .dropdown-menu {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    overflow: visible !important;
  }
}

/* FIX layout IfthenPay na página de confirmação */

#content-hook_payment_return {
  clear: both;
}

/* Espaçamento entre atributos e ficheiro (Product Custom Options) */
.product-line-grid-body #pco-cart-modal-options {
  margin-top: 12px;
}

/* Tipografia igual aos atributos do carrinho */
.product-line-grid-body #pco-cart-modal-options,
.product-line-grid-body #pco-cart-modal-options b,
.product-line-grid-body #pco-cart-modal-options strong {
  font-family: inherit;
  font-size: 14px;
  line-height: 1.4;
  font-weight: normal;
}

/* Manter o rótulo com o mesmo peso dos labels */
.product-line-grid-body #pco-cart-modal-options strong {
  font-weight: 600;
}

.product-detail .description-short {
  margin-bottom: 40px;
}