/* =================== TIPOGRAFIA GLOBAL =================== */
/* Forçar Roboto Condensed globalmente */
body, p, span, a, li, td, th, input, textarea, select, button,
h1, h2, h3, h4, h5, h6 {
  font-family: 'Roboto Condensed', Arial, sans-serif !important;
}
/* Garantir que botões também usam */
button, input[type="submit"], .wp-block-button__link {
  font-family: 'Roboto Condensed', Arial, sans-serif !important;
}
/* Ajustar menus */
nav, .menu, .main-navigation, .site-header, .site-footer {
  font-family: 'Roboto Condensed', Arial, sans-serif !important;
}

/* =================== HEADER / BRANDING (ASTRA) =================== */
/* Branding: logo + título/tagline lado a lado, compacto */
.site-branding {
  display: flex;
  align-items: center;     /* logo e texto alinhados verticalmente */
  gap: 8px;                /* espaço entre logo e texto */
  max-width: 360px;        /* não esmagar o menu */
  flex: 0 0 auto;
}
/* >>> CORREÇÃO: dimensionar o logo do Customizer (sem content:url) */
.site-branding .custom-logo-link img.custom-logo {
  max-height: 50px;        /* altura alvo do logo no header */
  height: auto;
  width: auto;
  display: block;
}

/* Título e tagline */
.site-branding .site-title,
.site-branding .site-description {
  font-family: 'Roboto Condensed', Arial, sans-serif;
  line-height: 1.1;
  margin: 0;
}
.site-branding .site-title {
  font-weight: 700;
  font-size: 24px;
  color: #212121;          /* preto profundo */
}
.site-branding .site-description {
  font-weight: 400;
  font-size: 14px;
  color: #D32F2F;          /* vermelho da marca */
  margin-top: 2px;
  display: block;
}

/* Menu principal (desktop): compactar espaçamento */
.main-header-bar .main-header-bar-navigation .main-header-menu > li > a {
  padding-left: 14px;
  padding-right: 14px;
}
/* Empurrar menu para a direita */
.main-header-bar .main-header-bar-navigation { margin-left: auto; }
/* Garantir alinhamento central no header */
.main-header-bar, .ast-primary-header-bar { align-items: center; }

/* Opcional: mostrar hambúrguer mais cedo */
@media (max-width: 1200px){
  .ast-desktop .main-header-menu,
  .ast-desktop .ast-header-custom-item { display: none !important; }
  .ast-mobile-header-wrap .ast-mobile-menu-buttons { display: flex !important; }
}

/* =================== HERO (CONTAINERS) — OVERLAY COM BLUR =================== */
.hero-blur::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(33,33,33,0.4);  /* desktop */
  backdrop-filter: blur(3px);
  z-index: 1;
}
/* >>> CORREÇÃO: suportar Containers (.e-con / .e-con-inner) e o container clássico */
.hero-blur > .elementor-container,
.hero-blur > .e-con,
.hero-blur > .e-con-inner {
  position: relative;
  z-index: 2; /* conteúdo acima do overlay */
}
/* Opacidade por dispositivo */
@media (max-width: 1024px){ .hero-blur::before { background: rgba(33,33,33,0.45); } }
@media (max-width: 767px) { .hero-blur::before { background: rgba(33,33,33,0.5); } }

/* =================== FOOTER FULL-WIDTH + GRID =================== */
/* Soltar a largura do container do footer (Astra) */
.site-footer .ast-container,
.footer-adv .ast-container,
.ast-footer-overlay .ast-container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* Pintar o fundo do footer global (por segurança) */
.site-footer { background: #F5F5F5; }

/* Wrapper do nosso footer (100% largura) */
.pt-footer {
  background: #F5F5F5;   /* var(--pt-bg) */
  color: #212121;        /* var(--pt-text) */
  width: 100%;
  margin: 0;
  padding: 40px 20px;
  font-family: 'Roboto Condensed', Arial, sans-serif;
  box-sizing: border-box;
}

/* Grid interno — 3 colunas equidistantes; alturas iguais por linha */
.pt-footer__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: 30px;
  align-items: stretch;        /* mesmas alturas */
  max-width: 1200px;
  margin: 0 auto;              /* conteúdo centrado */
}

/* Cada coluna ocupa 100% da cela; topo por defeito */
.pt-footer__box {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: flex-start; /* colunas 2 e 3 alinhadas ao topo */
}
/* Logo centrado vertical/horizontal */
.pt-footer__box--logo {
  justify-content: center !important;
  align-items: center;
  text-align: center;
}

/* Tipografia e links */
.pt-footer__title {
  margin: 0 0 12px 0;
  font-weight: 700;
  font-size: 18px;
  color: #212121;
}
.pt-footer a { color: #D32F2F; text-decoration: none; }
.pt-footer a:hover, .pt-footer a:focus { text-decoration: underline; }

/* Navegação */
.pt-footer__nav ul { list-style: none; padding: 0; margin: 0; }
.pt-footer__nav li { margin: 6px 0; }

/* Contactos */
.pt-footer__addr { line-height: 1.6; font-style: normal; }
.pt-footer__note { color: #757575; font-size: 13px; }

/* Ícones sociais (SVGs nítidos) */
.pt-footer__social {
  display: flex; gap: 12px; align-items: center; padding: 0; margin: 8px 0 0;
}
.pt-footer__social a {
  display: inline-flex; width: 32px; height: 32px; align-items: center; justify-content: center;
  color: #D32F2F; /* currentColor nos SVGs */
}
.pt-footer__social svg { width: 24px; height: 24px; display: block; fill: currentColor; }

/* Linha inferior */
.pt-footer__bottom {
  border-top: 1px solid rgba(117,117,117,0.25);
  margin-top: 22px; padding-top: 12px;
  text-align: center; font-size: 13px; color: #757575;
}

/* Responsivo */
@media (max-width: 992px) {
  .pt-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .pt-footer { padding: 32px 16px; }
  .pt-footer__grid { grid-template-columns: 1fr; text-align: center; }
  .pt-footer__box { align-items: center; }
}
/* --- Estender o fundo do footer até 100vw, sem mexer no layout --- */
.pt-footer { 
  position: relative;
  background: transparent; /* o fundo real vai no ::before */
}
.pt-footer::before{
  content:"";
  position:absolute;
  top:0; bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:100vw;                 /* cobre a largura total do viewport */
  background:#F5F5F5;          /* cor de fundo do footer */
  z-index:0;
}
/* manter o conteúdo acima do fundo full-bleed */
.pt-footer > * { position: relative; z-index:1; }

/* Remover possíveis “acolchoamentos” do Astra no footer */
.site-footer .ast-container,
.site-footer .ast-builder-grid-row,
.site-footer .ast-builder-grid-row-container {
  max-width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
/* ====== FIX FOOTER — Tablet layout polido ====== */
/* Tablet: 2 colunas; a terceira ocupa a largura toda (central) */
@media (min-width: 769px) and (max-width: 992px){
  .pt-footer__grid{
    grid-template-columns: 1fr 1fr;  /* 2 colunas iguais */
    gap: 24px;                       /* ligeiramente menos gap */
  }
  /* 3ª caixa (Contactos) ocupa as duas colunas, centrada */
  .pt-footer__grid > .pt-footer__box:nth-child(3){
    grid-column: 1 / -1;             /* atravessa as duas colunas */
    align-items: center;              /* centro horizontal do conteúdo */
    text-align: center;
  }
  /* Garantir que o logo (1ª caixa) continua centrado */
  .pt-footer__box--logo{
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  /* Nos links rápidos, manter alinhamento à esquerda para legibilidade */
  .pt-footer__nav{ text-align: left; align-items: flex-start; }
}

/* Mobile continua 1 coluna (já tens, mas reforço caso algum CSS conflite) */
@media (max-width: 768px){
  .pt-footer__grid{ grid-template-columns: 1fr; }
  .pt-footer__box{ align-items: center; text-align: center; }
  .pt-footer__nav{ text-align: center; }
}
/* ====== PT CLUB — MENU (hover/ativo) + BOTÃO BACK-TO-TOP com transições ====== */

/* --- Menu (Astra) — estados de hover/focus e página ativa --- */
/* Cobrir tanto o menu clássico como o Header Builder */
.main-header-menu > li > a,
.ast-builder-menu-1 .menu-item > .menu-link {
  transition: color 180ms ease;
}

/* Hover / Focus: VERMELHO da marca */
.main-header-menu > li > a:hover,
.main-header-menu > li > a:focus,
.ast-builder-menu-1 .menu-item > .menu-link:hover,
.ast-builder-menu-1 .menu-item > .menu-link:focus {
  color: #D32F2F !important;
}

/* Página ativa: CINZA ESCURO */
.main-header-menu > li.current-menu-item > a,
.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link {
  color: #757575 !important;
}

/* Submenus (hover/focus: VERMELHO) */
.main-header-menu .sub-menu a,
.ast-builder-menu-1 .sub-menu .menu-link {
  transition: color 180ms ease;
}
.main-header-menu .sub-menu a:hover,
.main-header-menu .sub-menu a:focus,
.ast-builder-menu-1 .sub-menu .menu-link:hover,
.ast-builder-menu-1 .sub-menu .menu-link:focus {
  color: #D32F2F !important;
}

/* --- Botão "Voltar ao Topo" (Astra) --- */
.ast-scroll-to-top {
  background-color: #FFFFFF !important;   /* normal: branco */
  color: #D32F2F !important;              /* ícone vermelho */
  border: 1px solid #D32F2F !important;   /* borda vermelha discreta */
  transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}
.ast-scroll-to-top:hover,
.ast-scroll-to-top:focus {
  background-color: #D32F2F !important;   /* hover/focus: vermelho */
  color: #FFFFFF !important;              /* ícone branco */
  border-color: #D32F2F !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
}

/* Respeitar utilizadores com preferência de reduzir movimento */
@media (prefers-reduced-motion: reduce) {
  .main-header-menu > li > a,
  .ast-builder-menu-1 .menu-item > .menu-link,
  .main-header-menu .sub-menu a,
  .ast-builder-menu-1 .sub-menu .menu-link,
  .ast-scroll-to-top {
    transition: none !important;
  }
}
/* ====== Sublinhado no hover/focus do menu ====== */
.main-header-menu > li > a:hover,
.main-header-menu > li > a:focus,
.ast-builder-menu-1 .menu-item > .menu-link:hover,
.ast-builder-menu-1 .menu-item > .menu-link:focus,
.main-header-menu .sub-menu a:hover,
.main-header-menu .sub-menu a:focus,
.ast-builder-menu-1 .sub-menu .menu-link:hover,
.ast-builder-menu-1 .sub-menu .menu-link:focus {
  text-decoration: underline;
  text-underline-offset: 3px;      /* distância da linha ao texto (2–4px fica bem) */
  text-decoration-thickness: 2px;  /* espessura da linha */
}

/* Garantir que o estado normal não tem sublinhado */
.main-header-menu > li > a,
.ast-builder-menu-1 .menu-item > .menu-link,
.main-header-menu .sub-menu a,
.ast-builder-menu-1 .sub-menu .menu-link {
  text-decoration: none;
}
/* ===== PT CLUB — Accordion alvo: elementor-element-bf71a96 (página ID 78) ===== */

/* Caixa/itens */
.page-id-78 .elementor-element.elementor-element-bf71a96 .elementor-accordion-item {
  border: 1px solid #D32F2F;
  border-radius: 12px;
  background: #FFFFFF;
  overflow: hidden;
  margin-bottom: 12px;
}

/* Cabeçalho (título) */
.page-id-78 .elementor-element.elementor-element-bf71a96 .elementor-tab-title {
  padding: 16px 18px;
  background: #F5F5F5;
  color: #212121;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: none;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}
/* Hover / ativo */
.page-id-78 .elementor-element.elementor-element-bf71a96 .elementor-tab-title:hover,
.page-id-78 .elementor-element.elementor-element-bf71a96 .elementor-tab-title.elementor-active {
  color: #D32F2F;
  background: #EFEFEF;
}

/* Conteúdo */
.page-id-78 .elementor-element.elementor-element-bf71a96 .elementor-tab-content {
  padding: 14px 18px 18px;
  background: #FFFFFF;
  color: #757575;
  border: none;
  line-height: 1.6;
}

/* Ícone (+/–) em círculo */
.page-id-78 .elementor-element.elementor-element-bf71a96 .elementor-accordion-icon {
  width: 28px; height: 28px; min-width: 28px;
  border-radius: 50%;
  background: #D32F2F;
  display: inline-flex; align-items: center; justify-content: center;
  margin-left: 10px;
  transition: background-color .2s ease;
}
.page-id-78 .elementor-element.elementor-element-bf71a96 .elementor-accordion-icon svg,
.page-id-78 .elementor-element.elementor-element-bf71a96 .elementor-accordion-icon i {
  color: #FFFFFF; fill: #FFFFFF;
}
.page-id-78 .elementor-element.elementor-element-bf71a96 .elementor-tab-title:hover .elementor-accordion-icon {
  background: #757575;
}

/* Acessibilidade: foco visível */
.page-id-78 .elementor-element.elementor-element-bf71a96 .elementor-tab-title:focus {
  outline: 2px solid #D32F2F;
  outline-offset: 2px;
}

/* (Opcional de teste) desenha contorno no widget para confirmar alvo
.page-id-78 .elementor-element.elementor-element-bf71a96 { outline: 3px solid hotpink; }
*/
/* Offset do scroll para as âncoras do acordeão */
#laser, #faciais, #massagens, #reflexologia, #xamanico, #reiki {
  display: block;          /* garante que o browser reconhece a caixa */
  scroll-margin-top: 140px; /* ajusta 120–180px conforme precisares */
}
/* 
Theme Name:		 PT CLUB - Child
Theme URI:		 http://childtheme-generator.com/
Description:	 PT CLUB Child is a child theme of Astra, created by ChildTheme-Generator.com
Author:			 Ana Alexandre
Author URI:		 http://childtheme-generator.com/
Template:		 astra
Version:		 1.0.0
Text Domain:	 pt-club-child
*/


/*
    Add your custom styles here
*/
/* ===== PT CLUB — Accordion (página ID 78) alvo: elementor-element-14d07f1 ===== */

/* 0) reset suave do widget */
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-accordion {
  border: none !important;
  background: transparent !important;
}

/* 1) item/caixa */
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-accordion-item {
  border: 1px solid #D32F2F !important;
  border-radius: 12px !important;
  background: #FFFFFF !important;
  overflow: hidden !important;
  margin-bottom: 14px !important;
}

/* 2) cabeçalho/título */
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-tab-title {
  position: relative !important;
  padding: 16px 54px 16px 18px !important; /* espaço à direita para o ícone ::after */
  background: #F5F5F5 !important;
  color: #212121 !important;
  font-family: 'Roboto Condensed', Arial, sans-serif !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  border: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background-color .2s ease, color .2s ease !important;
}

/* herdar cor no texto interno (quando há <span>/<a>) */
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-tab-title .elementor-accordion-title {
  color: inherit !important;
}

/* 2.1) estados hover/ativo */
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-tab-title:hover,
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-tab-title.elementor-active {
  color: #D32F2F !important;
  background: #EFEFEF !important;
}

/* 2.2) ícone +/− em círculo via ::after (independente do widget) */
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-tab-title::after {
  content: '+' !important;
  position: absolute !important;
  right: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: #D32F2F !important;
  color: #FFFFFF !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  transition: background-color .2s ease !important;
}
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-tab-title.elementor-active::after {
  content: '−' !important;        /* traço médio como sinal de menos */
  background: #757575 !important; /* cinza escuro quando aberto */
}

/* 2.3) esconder qualquer ícone nativo do Elementor para não duplicar */
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-accordion-icon,
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-accordion-icon svg,
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-accordion-icon i {
  display: none !important;
}

/* 3) conteúdo/painel */
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-tab-content {
  padding: 14px 18px 18px !important;
  background: #FFFFFF !important;
  color: #757575 !important;
  font-family: 'Roboto Condensed', Arial, sans-serif !important;
  line-height: 1.6 !important;
  border: none !important;
}

/* 3.1) links dentro do conteúdo */
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-tab-content a {
  color: #D32F2F !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
}

/* 4) acessibilidade: foco visível */
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-tab-title:focus {
  outline: 2px solid #D32F2F !important;
  outline-offset: 2px !important;
}

/* 5) respeitar preferencia "reduzir movimento" */
@media (prefers-reduced-motion: reduce) {
  .page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-tab-title {
    transition: none !important;
  }
}
/* ===== PT CLUB — Accordion (Serviços ID 78) — compat DOM antigo e novo ===== */
.page-id-78 .elementor-element.elementor-element-14d07f1 {
  /* só para agrupar visualmente nas devtools, sem efeito */
}

/* --- CAIXAS/ITENS --- */
/* Antigo: .elementor-accordion-item | Novo: .e-n-accordion-item */
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-accordion-item,
.page-id-78 .elementor-element.elementor-element-14d07f1 .e-n-accordion-item {
  border: 1px solid #D32F2F !important;
  border-radius: 12px !important;
  background: #FFFFFF !important;
  overflow: hidden !important;
  margin-bottom: 14px !important;
}

/* --- TÍTULOS/CABEÇALHOS --- */
/* Antigo: .elementor-tab-title | Novo: .e-n-accordion-item-title (role="button") */
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-tab-title,
.page-id-78 .elementor-element.elementor-element-14d07f1 .e-n-accordion-item-title,
.page-id-78 .elementor-element.elementor-element-14d07f1 [role="button"][aria-controls] {
  position: relative !important;
  padding: 16px 54px 16px 18px !important; /* espaço à direita para o ícone */
  background: #F5F5F5 !important;
  color: #212121 !important;
  font-family: 'Roboto Condensed', Arial, sans-serif !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  border: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background-color .2s ease, color .2s ease !important;
}

/* Texto interno herda cor (quando existe wrapper) */
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-tab-title .elementor-accordion-title,
.page-id-78 .elementor-element.elementor-element-14d07f1 .e-n-accordion-item-title * {
  color: inherit !important;
}

/* --- HOVER / ATIVO --- */
/* Antigo: .elementor-active | Novo: aria-expanded="true" */
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-tab-title:hover,
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-tab-title.elementor-active,
.page-id-78 .elementor-element.elementor-element-14d07f1 .e-n-accordion-item-title:hover,
.page-id-78 .elementor-element.elementor-element-14d07f1 .e-n-accordion-item-title[aria-expanded="true"],
.page-id-78 .elementor-element.elementor-element-14d07f1 [role="button"][aria-controls]:hover,
.page-id-78 .elementor-element.elementor-element-14d07f1 [role="button"][aria-expanded="true"] {
  color: #D32F2F !important;
  background: #EFEFEF !important;
}

/* --- CONTEÚDO --- */
/* Antigo: .elementor-tab-content | Novo: .e-n-accordion-item-content */
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-tab-content,
.page-id-78 .elementor-element.elementor-element-14d07f1 .e-n-accordion-item-content {
  padding: 14px 18px 18px !important;
  background: #FFFFFF !important;
  color: #757575 !important;
  border: none !important;
  font-family: 'Roboto Condensed', Arial, sans-serif !important;
  line-height: 1.6 !important;
}

/* Links dentro do conteúdo */
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-tab-content a,
.page-id-78 .elementor-element.elementor-element-14d07f1 .e-n-accordion-item-content a {
  color: #D32F2F !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
}

/* --- ÍCONES --- */
/* Esconder ícone nativo (para não duplicar) */
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-accordion-icon,
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-accordion-icon svg,
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-accordion-icon i {
  display: none !important;
}

/* Ícone +/− em círculo via ::after — funciona no antigo e no novo */
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-tab-title::after,
.page-id-78 .elementor-element.elementor-element-14d07f1 .e-n-accordion-item-title::after,
.page-id-78 .elementor-element.elementor-element-14d07f1 [role="button"][aria-controls]::after {
  content: '+' !important;
  position: absolute !important;
  right: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 28px !important; height: 28px !important; border-radius: 50% !important;
  background: #D32F2F !important; color: #FFFFFF !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  font-weight: 700 !important; line-height: 1 !important;
  transition: background-color .2s ease !important;
}
/* ativo = sinal de menos + círculo cinza escuro */
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-tab-title.elementor-active::after,
.page-id-78 .elementor-element.elementor-element-14d07f1 .e-n-accordion-item-title[aria-expanded="true"]::after,
.page-id-78 .elementor-element.elementor-element-14d07f1 [role="button"][aria-expanded="true"]::after {
  content: '−' !important;
  background: #757575 !important;
}

/* --- Acessibilidade: foco visível --- */
.page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-tab-title:focus,
.page-id-78 .elementor-element.elementor-element-14d07f1 .e-n-accordion-item-title:focus,
.page-id-78 .elementor-element.elementor-element-14d07f1 [role="button"][aria-controls]:focus {
  outline: 2px solid #D32F2F !important;
  outline-offset: 2px !important;
}

/* --- Menos movimento --- */
@media (prefers-reduced-motion: reduce) {
  .page-id-78 .elementor-element.elementor-element-14d07f1 .elementor-tab-title,
  .page-id-78 .elementor-element.elementor-element-14d07f1 .e-n-accordion-item-title,
  .page-id-78 .elementor-element.elementor-element-14d07f1 [role="button"][aria-controls] {
    transition: none !important;
  }
}
/* ===========================
   PT CLUB — Paleta global
   =========================== */
:root{
  --pt-red:#D32F2F;
  --pt-light:#F5F5F5;
  --pt-text:#212121;
  --pt-muted:#757575;
  --pt-white:#FFFFFF;
}

/* Tipografia & cores base */
body{color:var(--pt-text);}
p,li{color:var(--pt-muted);}
h1,h2,h3,h4,h5{color:var(--pt-text);}

/* Links */
a{color:var(--pt-red);text-decoration:none;}
a:hover,a:focus{color:#b52a2a;text-decoration:underline;}

/* ===========================
   Hero (garantir contraste)
   =========================== */
.hero-full .elementor-heading-title,
.hero-full .elementor-widget-text-editor,
.hero-full .elementor-widget-button .elementor-button{
  color:var(--pt-white);
}
.hero-full .elementor-button{
  background:var(--pt-red)!important;border:none!important;
}
.hero-full .elementor-button:hover{
  background:#b52a2a!important;
}

/* ===========================
   Cartões (grelha da Clínica)
   =========================== */
.clinica-card{
  background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;text-align:center;
  transition:transform .2s ease, box-shadow .2s ease;
}
.clinica-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(0,0,0,.08);}
.clinica-card h3{margin-top:12px;font-size:20px;color:var(--pt-text);}
.clinica-card p{font-size:15px;color:var(--pt-muted);}
.clinica-card .elementor-button{
  background:var(--pt-red)!important;color:#fff!important;border:none!important;padding:12px 20px;border-radius:6px;font-weight:700;
}
.clinica-card .elementor-button:hover{background:#b52a2a!important;color:#fff!important;}

/* ===========================
   Acordeão (usar classe .pt-acc no widget)
   =========================== */
.pt-acc .elementor-accordion-item,
.pt-acc .e-n-accordion-item{
  border:1px solid var(--pt-red);border-radius:12px;background:#fff;overflow:hidden;margin-bottom:14px;
}
.pt-acc .elementor-tab-title,
.pt-acc .e-n-accordion-item-title,
.pt-acc [role="button"][aria-controls]{
  position:relative;padding:16px 54px 16px 18px;background:var(--pt-light);color:var(--pt-text);
  font-weight:700;line-height:1.2;border:none;display:flex;align-items:center;justify-content:flex-start;
  cursor:pointer;transition:background-color .2s ease,color .2s ease;
}
.pt-acc .elementor-tab-title:hover,
.pt-acc .elementor-tab-title.elementor-active,
.pt-acc .e-n-accordion-item-title:hover,
.pt-acc .e-n-accordion-item-title[aria-expanded="true"],
.pt-acc [role="button"][aria-controls]:hover,
.pt-acc [role="button"][aria-expanded="true"]{
  color:var(--pt-red);background:#EFEFEF;
}
.pt-acc .elementor-tab-content,
.pt-acc .e-n-accordion-item-content{
  padding:14px 18px 18px;background:#fff;color:var(--pt-muted);line-height:1.6;border:none;
}
/* Ícone +/− */
.pt-acc .elementor-accordion-icon,
.pt-acc .elementor-accordion-icon svg,
.pt-acc .elementor-accordion-icon i{display:none!important;}
.pt-acc .elementor-tab-title::after,
.pt-acc .e-n-accordion-item-title::after,
.pt-acc [role="button"][aria-controls]::after{
  content:'+';position:absolute;right:18px;top:50%;transform:translateY(-50%);
  width:28px;height:28px;border-radius:50%;background:var(--pt-red);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;
}
.pt-acc .elementor-tab-title.elementor-active::after,
.pt-acc .e-n-accordion-item-title[aria-expanded="true"]::after,
.pt-acc [role="button"][aria-expanded="true"]::after{content:'−';background:var(--pt-muted);}

/* ===========================
   CTA final (classe .clinica-cta no container)
   =========================== */
.clinica-cta{
  background:var(--pt-red);color:#fff;text-align:center;padding:40px 20px;border-radius:12px;
}
.clinica-cta h2{margin:0 0 16px;font-size:26px;line-height:1.2;}
.clinica-cta p{margin:0 0 12px;font-size:16px;}
.clinica-cta .elementor-button{
  background:#fff!important;color:var(--pt-red)!important;border:none!important;padding:12px 24px;border-radius:6px;font-weight:700;
}
.clinica-cta .elementor-button:hover{background:#f5f5f5!important;color:#B52A2A!important;}
@media (max-width: 767px){
  .clinica-cta{padding:32px 16px;}
  .clinica-cta h2{font-size:22px;}
}

/* ===========================
   Botões globais (Elementor + Woo) — fail-safe
   =========================== */
.elementor-button:not(.link-reset){
  background:var(--pt-red);color:#fff;border:none;
}
.elementor-button:hover{background:#b52a2a;color:#fff;}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
  background:var(--pt-red)!important;color:#fff!important;border:none!important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover{background:#b52a2a!important;color:#fff!important;}

/* ===========================
   Âncoras do acordeão — folga de scroll
   =========================== */
#laser, #faciais, #massagens, #reflexologia, #xamanico, #reiki { scroll-margin-top: 140px; }
@media (max-width: 767px){
  #laser, #faciais, #massagens, #reflexologia, #xamanico, #reiki { scroll-margin-top: 100px; }
}

/* ===========================
   Footer & links utilitários
   =========================== */
.site-footer, .pt-footer{background:var(--pt-light);}
.pt-footer a{color:var(--pt-red);}
.pt-footer a:hover{text-decoration:underline;}
/* a) HERO — título e texto a branco, botão já ok */
.hero-full .elementor-widget-heading .elementor-heading-title,
.hero-full .elementor-widget-text-editor,
.hero-full .elementor-widget-text-editor p,
.hero-full .elementor-widget-text-editor li {
  color: #FFFFFF !important;
}

/* b) CARTÕES — título sem azul, centro nos botões, subtítulo maior, sem borda extra */
.clinica-card .elementor-widget-heading .elementor-heading-title,
.clinica-card h3 {
  color: #212121 !important; /* anula azul de estilos globais */
}
.clinica-card .elementor-widget-button,
.clinica-card .elementor-button-wrapper {
  text-align: center !important; /* centra o botão */
}
.clinica-card p,
.clinica-card .elementor-widget-text-editor,
.clinica-card .elementor-widget-text-editor p {
  font-size: 16px !important; /* ligeiramente maior */
  color: #757575 !important;
  border: 0 !important; /* remove qualquer “rebordo” do widget */
  padding: 0 !important;
  background: transparent !important;
}

/* c) ACORDEÃO — força estilo igual ao da página Serviços (usar classe .pt-acc no widget) */
.pt-acc .elementor-accordion-item,
.pt-acc .e-n-accordion-item{
  border:1px solid #D32F2F !important; border-radius:12px !important; background:#fff !important;
  overflow:hidden; margin-bottom:14px;
}
.pt-acc .elementor-tab-title,
.pt-acc .e-n-accordion-item-title,
.pt-acc [role="button"][aria-controls]{
  position:relative; padding:16px 54px 16px 18px !important; background:#F5F5F5 !important; color:#212121 !important;
  font-family:'Roboto Condensed', Arial, sans-serif !important; font-weight:700; line-height:1.2; border:none;
  display:flex; align-items:center; justify-content:flex-start; cursor:pointer;
  transition:background-color .2s ease,color .2s ease;
}
.pt-acc .elementor-tab-title.elementor-active,
.pt-acc .e-n-accordion-item-title[aria-expanded="true"],
.pt-acc [role="button"][aria-expanded="true"]{
  color:#D32F2F !important; background:#EFEFEF !important;
}
.pt-acc .elementor-tab-content,
.pt-acc .e-n-accordion-item-content{
  padding:14px 18px 18px !important; background:#fff !important; color:#757575 !important;
  font-family:'Roboto Condensed', Arial, sans-serif !important; line-height:1.6; border:none;
}
/* ícone + / − */
.pt-acc .elementor-accordion-icon,
.pt-acc .elementor-accordion-icon svg,
.pt-acc .elementor-accordion-icon i{display:none !important;}
.pt-acc .elementor-tab-title::after,
.pt-acc .e-n-accordion-item-title::after,
.pt-acc [role="button"][aria-controls]::after{
  content:'+'; position:absolute; right:18px; top:50%; transform:translateY(-50%);
  width:28px; height:28px; border-radius:50%; background:#D32F2F; color:#fff;
  display:inline-flex; align-items:center; justify-content:center; font-weight:700;
}
.pt-acc .elementor-tab-title.elementor-active::after,
.pt-acc .e-n-accordion-item-title[aria-expanded="true"]::after,
.pt-acc [role="button"][aria-expanded="true"]::after{
  content:'−'; background:#757575;
}

/* d) CTA — tudo a branco dentro do container .clinica-cta */
.clinica-cta,
.clinica-cta * {
  color: #FFFFFF !important;
}

/* e) ROBOTO CONDENSED — garantir em todo o site */
body, p, span, a, li, td, th, input, textarea, select, button,
h1, h2, h3, h4, h5, h6, nav, .menu, .main-navigation, .site-header, .site-footer {
  font-family: 'Roboto Condensed', Arial, sans-serif !important;
}
/* Cartões: títulos centrados */
.clinica-card .elementor-widget-heading,
.clinica-card h3 {
  text-align: center !important;
}
/* CTA — fundo escuro, texto branco, botão vermelho */
.clinica-cta{
  background:#212121 !important;
  color:#FFFFFF !important;
  text-align:center; padding:40px 20px; border-radius:12px;
}
.clinica-cta h2,
.clinica-cta p { color:#FFFFFF !important; }

.clinica-cta .elementor-button{
  background:#D32F2F !important;
  color:#FFFFFF !important;
  border:none !important;
  padding:12px 24px; border-radius:6px; font-weight:700;
}
.clinica-cta .elementor-button:hover{
  background:#b52a2a !important; color:#FFFFFF !important;
}
/* CTA dentro do acordeão (botão no fim de cada item) */
.pt-acc .acc-cta,
.pt-acc .acc-cta .elementor-button {
  background: #D32F2F !important;
  color: #FFFFFF !important;
  border: none !important;
  padding: 12px 20px !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  width: 100% !important;       /* botão cheio (podes trocar para auto) */
  text-align: center !important;
  display: inline-block !important;
  margin-top: 12px !important;
}
.pt-acc .acc-cta .elementor-button:hover {
  background: #b52a2a !important;
  color: #FFFFFF !important;
}
/* ====== Responsividade cartões Clínica ====== */

/* Tablet (<=1024px): mantém alinhamento, dá mais respiro */
@media (max-width: 1024px){
  .clinica-card{
    padding: 18px;
  }
  .clinica-card h3{
    font-size: 19px;
  }
  .clinica-card p{
    font-size: 15px;
  }
  .clinica-card .elementor-button{
    width: auto;              /* botão não precisa ocupar 100% no tablet */
    min-width: 180px;
  }
}

/* Mobile (<=767px): altura livre, botão sempre centrado e com boa tocabilidade */
@media (max-width: 767px){
  /* deixa os cartões crescerem naturalmente no mobile */
  .clinica-card{
    height: auto !important;              /* desfaz altura forçada */
    justify-content: flex-start !important;
  }
  /* espaçamentos mais confortáveis */
  .clinica-card h3{ 
    margin-top: 10px;
    font-size: 18px;
    text-align: center !important; 
  }
  .clinica-card p{
    font-size: 15px;
    margin-bottom: 14px;
  }
  /* garante que o botão fica no fim visual e centrado */
  .clinica-card .elementor-button-wrapper{
    margin-top: 8px !important;
    text-align: center !important;
  }
  .clinica-card .elementor-button{
    width: 100%;                 /* botão largo para polegar */
    padding: 12px 20px;
    border-radius: 8px;
  }

  /* grid: 1 coluna no mobile com bom espaçamento vertical */
  .clinica-grid{
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}

/* Micro-ajuste para títulos muito compridos: quebra de linha controlada */
.clinica-card h3{
  word-wrap: break-word;
  overflow-wrap: anywhere;
}
/* ===== PT CLUB — Secção Pacotes Experiência (override definitivo) ===== */

/* Secção (fundo + heading a preto) */
.pacotes-experiencia-section{ background:#F5F5F5; padding:60px 20px; }
.pacotes-experiencia-section .elementor-heading-title,
.pacotes-experiencia-section h2{ color:#212121 !important; text-align:center !important; }

/* Grid responsivo (2 colunas desktop / 1 mobile) */
.pacotes-experiencia-section .pacotes-grid{
  display:grid; grid-template-columns:repeat(2, minmax(260px,1fr)); gap:24px; max-width:1200px; margin:0 auto;
}
@media (max-width:1024px){
  .pacotes-experiencia-section .pacotes-grid{ grid-template-columns:repeat(2, minmax(220px,1fr)); gap:22px; }
}
@media (max-width:767px){
  .pacotes-experiencia-section .pacotes-grid{ grid-template-columns:1fr; gap:20px; }
}

/* Cartões */
.pacote-card{
  background:#fff; border:1px solid #e0e0e0; border-radius:16px; padding:30px 25px;
  text-align:center; box-shadow:0 4px 12px rgba(0,0,0,.08); transition:transform .3s, box-shadow .3s;
  font-family:'Roboto Condensed', Arial, sans-serif;
}
.pacote-card:hover{ transform:translateY(-6px); box-shadow:0 6px 20px rgba(0,0,0,.12); }

/* Títulos e textos (forçar contra estilos globais) */
.pacote-card h3,
.pacote-card .elementor-widget-heading .elementor-heading-title{ color:#212121 !important; text-align:center !important; }
.pacote-card p,
.pacote-card .elementor-widget-text-editor p{ color:#424242 !important; text-align:center !important; }
.pacote-card p:first-of-type{ font-style:italic; color:#555 !important; }

/* Botões — anular verde/azul global (Elementor Theme Style) */
.pacote-card .elementor-widget-button,
.pacote-card .elementor-button-wrapper{ text-align:center !important; }
.pacote-card a.elementor-button,
.pacote-card .elementor-button.elementor-size-sm,
.pacote-card .elementor-button.elementor-size-md,
.pacote-card .elementor-button.elementor-size-lg,
.pacote-card .elementor a.elementor-button{
  display:inline-block !important;
  background:#D32F2F !important; color:#FFFFFF !important; border:none !important;
  border-radius:6px !important; /* igual aos restantes cards */
  padding:12px 20px !important; font-weight:700 !important;
  box-shadow:none !important; text-decoration:none !important;
}
.pacote-card a.elementor-button:hover{ background:#b52a2a !important; color:#fff !important; }

/* Caso o kit global do Elementor (.elementor-kit) imponha cores, anulamos dentro da secção */
.pacotes-experiencia-section .elementor-kit-*-button,           /* compatibilidade */
.pacotes-experiencia-section .elementor a.elementor-button,
.pacotes-experiencia-section .elementor-button-link{
  background:#D32F2F !important; color:#fff !important; border-radius:6px !important; border:none !important;
}

/* Links internos nos cartões (se usares <a> no texto) */
.pacote-card a:not(.elementor-button){ color:#D32F2F !important; text-decoration:none; }
.pacote-card a:not(.elementor-button):hover{ text-decoration:underline; }
/* --- Programas Especiais dentro do acordeão --- */
:root{
  /* vermelho muito claro para fundo de grupo */
  --pt-red-10:#FBEAEA; /* podes afinar #F9E6E6/#FCEDED se quiseres mais/menos contraste */
}

/* wrapper visual do grupo */
.pt-acc .pe-wrap{
  background:var(--pt-red-10);
  border:1px solid #f3d0d0;
  border-radius:12px;
  padding:18px;
}

/* garantir grelha mesmo dentro do acordeão (novo/antigo DOM) */
.pt-acc .elementor-tab-content .integracao-grid,
.pt-acc .e-n-accordion-item-content .integracao-grid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(240px,1fr));
  gap:24px;
}

/* responsivo */
@media (max-width:1024px){
  .pt-acc .elementor-tab-content .integracao-grid,
  .pt-acc .e-n-accordion-item-content .integracao-grid{
    grid-template-columns:repeat(2, minmax(220px,1fr));
  }
}
@media (max-width:767px){
  .pt-acc .elementor-tab-content .integracao-grid,
  .pt-acc .e-n-accordion-item-content .integracao-grid{
    grid-template-columns:1fr;
    gap:20px;
  }
}

/* cartões dentro do acordeão: respiros extra para não “colar” */
.pt-acc .integracao-card h3{ margin:10px 0 10px; }
.pt-acc .integracao-card p{ margin:0 0 14px; }

/* botões dentro dos mini-cards: sem sublinhado e com o nosso estilo */
.pt-acc .integracao-card a.elementor-button{
  text-decoration:none !important;
  background:var(--pt-red) !important;
  color:#fff !important;
  border:none !important;
  border-radius:6px !important;
  padding:12px 20px !important;
  font-weight:700 !important;
  display:inline-block !important;
}
.pt-acc .integracao-card a.elementor-button:hover{
  background:var(--pt-red-dark) !important;
  color:#fff !important;
  text-decoration:none !important;
}

/* intro da secção especial: pequena afinação */
.pt-acc .pe-wrap .intro{
  text-align:center;
  color:var(--pt-muted);
  margin:0 0 14px;
}
/* Forçar grelha dos Programas Especiais dentro do acordeão (.pt-acc) */
.pt-acc .elementor-tab-content .integracao-grid,
.pt-acc .e-n-accordion-item-content .integracao-grid,
.pt-acc [role="region"] .integracao-grid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(240px,1fr)) !important;
  gap:24px !important;
  align-items:stretch !important;
}

/* Responsivo */
@media (max-width:1024px){
  .pt-acc .elementor-tab-content .integracao-grid,
  .pt-acc .e-n-accordion-item-content .integracao-grid,
  .pt-acc [role="region"] .integracao-grid{
    grid-template-columns:repeat(2, minmax(220px,1fr)) !important;
  }
}
@media (max-width:767px){
  .pt-acc .elementor-tab-content .integracao-grid,
  .pt-acc .e-n-accordion-item-content .integracao-grid,
  .pt-acc [role="region"] .integracao-grid{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
}

/* Garantir que cada cartão não “estica” estranho */
.pt-acc .integracao-grid > .integracao-card{
  width:auto !important;
  height:100% !important;
}

/* Espaçamentos e botões já estavam ok, reforço leve */
.pt-acc .integracao-card h3{ margin:10px 0 10px !important; }
.pt-acc .integracao-card p{ margin:0 0 14px !important; }
.pt-acc .integracao-card a.elementor-button{ text-decoration:none !important; }
/* Garantir altura igual dos pacotes */
.pacotes-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  align-items: stretch;
}

.pacote-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.pacote-card .elementor-button-wrapper {
  margin-top: auto; /* empurra o botão para o fundo */
}
/* ==========================================
   Alinhamento robusto dos botões nos cartões
   (Containers novos e secções/colunas antigas)
   ========================================== */

/* O cartão (container) e o "wrap" interno viram colunas flex, altura 100% */
.pacote-card{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}
.pacote-card > .e-con-inner,
.pacote-card > .elementor-widget-wrap{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}

/* Normaliza espaçamentos dos widgets de texto para não “empurrar” */
.pacote-card h1, .pacote-card h2, .pacote-card h3,
.pacote-card p,  .pacote-card .elementor-widget-text-editor{
  margin-bottom:12px !important;
}

/* A CHAVE: o botão e/ou o seu wrapper “colam” ao fundo */
.pacote-card .elementor-widget-button{
  margin-top:auto !important;  /* empurra o widget do botão para a base */
  margin-bottom:0 !important;
}
.pacote-card .elementor-button-wrapper{
  margin-top:auto !important;  /* cobre casos em que só existe wrapper */
}

/* Evita que algum container interno “roube” o auto ao botão */
.pacote-card .e-con, .pacote-card .elementor-container{
  height:auto !important;
}

/* Compat: se o grid/ou pai for flex, garante que os cartões esticam por igual */
.pacotes-grid{
  align-items:stretch !important;
}
/* Offset para âncoras (evita que o header tape os títulos) */
#treino-personalizado,
#online-mentoring,
#programas-especiais,
#apaixone-se-por-si,
#falar-especialista{
  scroll-margin-top: 140px;
}
@media (max-width: 767px){
  #treino-personalizado,
  #online-mentoring,
  #programas-especiais,
  #apaixone-se-por-si,
  #falar-especialista{
    scroll-margin-top: 100px;
  }
}
/* Caixa principal do header "Apaixone-se por Si" */
#apaixone-premium .aps-header-box {
  border: 2px solid var(--pt-red);    /* contorno vermelho */
  border-radius: 16px;                /* cantos arredondados */
  padding: 24px;                      /* respiro interno */
  transition: border-color .2s ease, box-shadow .2s ease;
}

/* Hover subtil */
#apaixone-premium .aps-header-box:hover {
  border-color: var(--pt-red-dark);   /* escurece no hover */
  box-shadow: 0 6px 18px rgba(211,47,47,0.15); /* glow suave */
}
/* Ocultar descrições de categorias WooCommerce só no front-end */
.woocommerce .term-description {
  display: none;
}
/* ===========================
   OCULTAR DESCRIÇÃO LONGA (SEO ONLY)
   Mantém a Short Description visível.
   =========================== */

/* Clássico Woo Tabs (painel da descrição) */
.woocommerce div.product .woocommerce-Tabs-panel--description,
.woocommerce div.product .woocommerce-tabs .panel#tab-description,
.woocommerce-tabs .panel.entry-content#tab-description,
#tab-description {
  display: none !important;
}

/* Ocultar o separador "Descrição" (a aba) */
.woocommerce div.product .woocommerce-tabs ul.tabs li.description_tab {
  display: none !important;
}

/* Temas de blocos (Gutenberg/Blocks) */
.single-product .wp-block-woocommerce-product-details,
.single-product .wp-block-woocommerce-product-tab__panel--description {
  display: none !important;
}

/* Elementor / Page builders que injetam a descrição longa */
.single-product .elementor-widget-woocommerce-product-data .woocommerce-Tabs-panel--description,
.single-product .elementor-widget-woocommerce-product-data #tab-description {
  display: none !important;
}

/* Segurança extra: algumas variantes de temas */
.single-product .product .woocommerce-description,
.single-product .entry-content .woocommerce-product-details__description {
  display: none !important;
}

/* ===========================
   CATEGORIAS (descrição da categoria)
   =========================== */
.woocommerce .term-description,
.archive .term-description,
.woocommerce-products-header__description {
  display: none !important;
}

/* ===========================
   NÃO TOCAR NA SHORT DESCRIPTION
   (garantia de que NÃO escondemos o resumo curto)
   =========================== */
.woocommerce div.product .summary .woocommerce-product-details__short-description {
  display: block !important;
}
/* Garantir que o botão de checkout tem prioridade para receber cliques */
.woocommerce #payment #place_order,
.woocommerce button.button.alt,
.woocommerce .wc-proceed-to-checkout .checkout-button {
  position: relative;
  z-index: 5;
}

/* Se algum bloco nosso estiver perto do botão, não deve capturar cliques */
.ptc-checkout-note {
  pointer-events: none;
}

/* Só por cautela, impedir que elementos logo após o botão se sobreponham */
.form-row.place-order + * {
  position: relative;
  z-index: 1;
}
/* ============ PT CLUB — Página Mamã em Forma (page-id-1809) ============ */

/* ===== 1) TABS elegantes (widget Abas com classe: ptc-tabs) ===== */
/* Compatível com DOM antigo (elementor-*) e Optimized DOM (e-n-*) */
body.page-id-1809 .ptc-tabs .elementor-widget-tabs .elementor-tabs-wrapper,
body.page-id-1809 .ptc-tabs .e-n-tabs .e-n-tabs-heading{
  display:flex; flex-wrap:wrap; gap:8px;
  background:#fff; padding:6px;
  border:1px solid var(--pt-red, #D32F2F); border-radius:12px;
}

body.page-id-1809 .ptc-tabs .elementor-widget-tabs .elementor-tab-title,
body.page-id-1809 .ptc-tabs .e-n-tabs .e-n-tab-title,
body.page-id-1809 .ptc-tabs [role="tab"]{
  flex:1 1 auto; text-align:center; cursor:pointer;
  background:var(--pt-light, #F5F5F5); color:var(--pt-text, #212121);
  padding:10px 14px; border-radius:8px; font-weight:700;
  border:1px solid transparent;
  transition:background-color .2s ease,color .2s ease, box-shadow .2s ease;
}
body.page-id-1809 .ptc-tabs .elementor-widget-tabs .elementor-tab-title:hover,
body.page-id-1809 .ptc-tabs .e-n-tabs .e-n-tab-title:hover,
body.page-id-1809 .ptc-tabs [role="tab"]:hover{
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}

/* Aba ativa */
body.page-id-1809 .ptc-tabs .elementor-widget-tabs .elementor-tab-title.elementor-active,
body.page-id-1809 .ptc-tabs .e-n-tabs .e-n-tab-title[aria-selected="true"],
body.page-id-1809 .ptc-tabs [role="tab"][aria-selected="true"]{
  background:var(--pt-red, #D32F2F); color:#fff; border-color:var(--pt-red, #D32F2F);
}

/* Content wrapper das abas */
body.page-id-1809 .ptc-tabs .elementor-widget-tabs .elementor-tabs-content-wrapper,
body.page-id-1809 .ptc-tabs .e-n-tabs .e-n-tabs-content{
  background:#fff; border:1px solid #e0e0e0; border-radius:12px; padding:18px; margin-top:12px;
}

/* MOBILE: abas lado a lado (2 colunas) */
@media (max-width: 767px){
  body.page-id-1809 .ptc-tabs .elementor-widget-tabs .elementor-tabs-wrapper,
  body.page-id-1809 .ptc-tabs .e-n-tabs .e-n-tabs-heading{
    display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px;
  }
}

/* ===== 2) MINI-CARDS (classe: pacote-card) — botões 100% e empilhados ===== */
body.page-id-1809 .pacote-card .elementor-widget-button,
body.page-id-1809 .pacote-card .elementor-button-wrapper{ width:100% !important; }

body.page-id-1809 .pacote-card a.elementor-button,
body.page-id-1809 .pacote-card a.elementor-button-link,
body.page-id-1809 .pacote-card button.elementor-button{
  display:block !important; width:100% !important;
  margin:6px 0 !important; border-radius:6px !important; padding:12px 18px !important;
}

/* ===== 3) Botão "20 aulas" — full no mobile; normal no desktop ===== */
/* Cobre a classe oficial "--" e a versão com travessão "—" */
@media (max-width: 767px){
  body.page-id-1809 :not(.pacote-card) a.elementor-button[class*="elementor-button--primary"],
  body.page-id-1809 :not(.pacote-card) a.elementor-button[class*="elementor-button—primary"]{
    display:block !important; width:100% !important;
  }
}
@media (min-width: 768px){
  body.page-id-1809 :not(.pacote-card) a.elementor-button[class*="elementor-button--primary"],
  body.page-id-1809 :not(.pacote-card) a.elementor-button[class*="elementor-button—primary"]{
    display:inline-block !important; width:auto !important;
  }
}

/* ===== 4) "Segurança clínica em cada etapa" — 2 botões 50/50 desktop; 100% mobile ===== */
/* Aplica a classe 'seguranca-etapas' no container que envolve os 2 botões */
body.page-id-1809 .seguranca-etapas{
  display:grid; grid-template-columns:1fr 1fr; gap:12px;
}
body.page-id-1809 .seguranca-etapas .elementor-widget-button,
body.page-id-1809 .seguranca-etapas .elementor-button-wrapper{ width:100%; }
body.page-id-1809 .seguranca-etapas a.elementor-button{ width:100%; display:block; }
@media (max-width: 767px){
  body.page-id-1809 .seguranca-etapas{ grid-template-columns:1fr; }
}
/* === Página 1809 — Forçar texto branco na secção "Segurança Clínica..." === */
body.page-id-1809 .seguranca-bloco,
body.page-id-1809 .seguranca-bloco .elementor-widget,
body.page-id-1809 .seguranca-bloco .elementor-widget *{
  color:#fff !important;
}

/* Ícones/listas do Elementor também a branco */
body.page-id-1809 .seguranca-bloco .elementor-icon,
body.page-id-1809 .seguranca-bloco .elementor-icon-list-icon i,
body.page-id-1809 .seguranca-bloco .elementor-icon-list-icon svg{
  color:#fff !important; fill:#fff !important;
}

/* Links nesse bloco: branco + sublinhado no hover (opcional) */
body.page-id-1809 .seguranca-bloco a{ color:#fff !important; }
body.page-id-1809 .seguranca-bloco a:hover{ text-decoration:underline; }
/* ============ PT CLUB — Emagrecimento & Tonificação (page-id-2166) ============ */

/* 1) TABS elegantes (widget Abas com classe: ptc-tabs) — compatível DOM antigo e Optimized DOM */
body.page-id-2166 .ptc-tabs .elementor-widget-tabs .elementor-tabs-wrapper,
body.page-id-2166 .ptc-tabs .e-n-tabs .e-n-tabs-heading{
  display:flex; flex-wrap:wrap; gap:8px;
  background:#fff; padding:6px;
  border:1px solid var(--pt-red, #D32F2F); border-radius:12px;
}
body.page-id-2166 .ptc-tabs .elementor-widget-tabs .elementor-tab-title,
body.page-id-2166 .ptc-tabs .e-n-tabs .e-n-tab-title,
body.page-id-2166 .ptc-tabs [role="tab"]{
  flex:1 1 auto; text-align:center; cursor:pointer;
  background:var(--pt-light, #F5F5F5); color:var(--pt-text, #212121);
  padding:10px 14px; border-radius:8px; font-weight:700;
  border:1px solid transparent;
  transition:background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
body.page-id-2166 .ptc-tabs .elementor-widget-tabs .elementor-tab-title:hover,
body.page-id-2166 .ptc-tabs .e-n-tabs .e-n-tab-title:hover,
body.page-id-2166 .ptc-tabs [role="tab"]:hover{
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}
/* Aba ativa */
body.page-id-2166 .ptc-tabs .elementor-widget-tabs .elementor-tab-title.elementor-active,
body.page-id-2166 .ptc-tabs .e-n-tabs .e-n-tab-title[aria-selected="true"],
body.page-id-2166 .ptc-tabs [role="tab"][aria-selected="true"]{
  background:var(--pt-red, #D32F2F); color:#fff; border-color:var(--pt-red, #D32F2F);
}
/* Content wrapper */
body.page-id-2166 .ptc-tabs .elementor-widget-tabs .elementor-tabs-content-wrapper,
body.page-id-2166 .ptc-tabs .e-n-tabs .e-n-tabs-content{
  background:#fff; border:1px solid #e0e0e0; border-radius:12px; padding:18px; margin-top:12px;
}
/* Mobile: títulos das abas lado a lado (2 colunas) */
@media (max-width: 767px){
  body.page-id-2166 .ptc-tabs .elementor-widget-tabs .elementor-tabs-wrapper,
  body.page-id-2166 .ptc-tabs .e-n-tabs .e-n-tabs-heading{
    display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px;
  }
}

/* 2) MINI-CARDS (classe: pacote-card) — botões 100% e empilhados */
body.page-id-2166 .pacote-card .elementor-widget-button,
body.page-id-2166 .pacote-card .elementor-button-wrapper{ width:100% !important; }
body.page-id-2166 .pacote-card a.elementor-button,
body.page-id-2166 .pacote-card a.elementor-button-link,
body.page-id-2166 .pacote-card button.elementor-button{
  display:block !important; width:100% !important;
  margin:6px 0 !important; border-radius:6px !important; padding:12px 18px !important;
}

/* 3) Botão “principal” (ex.: pacote 20 aulas) — full no mobile; normal no desktop (fora dos mini-cards) */
@media (max-width: 767px){
  body.page-id-2166 :not(.pacote-card) a.elementor-button[class*="elementor-button--primary"],
  body.page-id-2166 :not(.pacote-card) a.elementor-button[class*="elementor-button—primary"]{
    display:block !important; width:100% !important;
  }
}
@media (min-width: 768px){
  body.page-id-2166 :not(.pacote-card) a.elementor-button[class*="elementor-button--primary"],
  body.page-id-2166 :not(.pacote-card) a.elementor-button[class*="elementor-button—primary"]{
    display:inline-block !important; width:auto !important;
  }
}

/* 4) Secção final “Segurança clínica…” — 2 botões 50/50 desktop; 100% mobile (container com classe: seguranca-etapas) */
body.page-id-2166 .seguranca-etapas{
  display:grid; grid-template-columns:1fr 1fr; gap:12px;
}
body.page-id-2166 .seguranca-etapas .elementor-widget-button,
body.page-id-2166 .seguranca-etapas .elementor-button-wrapper{ width:100%; }
body.page-id-2166 .seguranca-etapas a.elementor-button{ width:100%; display:block; }
@media (max-width: 767px){
  body.page-id-2166 .seguranca-etapas{ grid-template-columns:1fr; }
}

/* 5) (Opcional) Texto branco em blocos escuros desta landing (aplica classe: seguranca-bloco na secção) */
body.page-id-2166 .seguranca-bloco,
body.page-id-2166 .seguranca-bloco .elementor-widget,
body.page-id-2166 .seguranca-bloco .elementor-widget *{
  color:#fff !important;
}
body.page-id-2166 .seguranca-bloco .elementor-icon,
body.page-id-2166 .seguranca-bloco .elementor-icon-list-icon i,
body.page-id-2166 .seguranca-bloco .elementor-icon-list-icon svg{
  color:#fff !important; fill:#fff !important;
}
body.page-id-2166 .seguranca-bloco a{ color:#fff !important; }
body.page-id-2166 .seguranca-bloco a:hover{ text-decoration:underline; }
/* ============ PT CLUB — Landing (page-id-2214) ============ */

/* 1) TABS elegantes (widget Abas com classe: ptc-tabs) — DOM antigo e Optimized DOM */
body.page-id-2214 .ptc-tabs .elementor-widget-tabs .elementor-tabs-wrapper,
body.page-id-2214 .ptc-tabs .e-n-tabs .e-n-tabs-heading{
  display:flex; flex-wrap:wrap; gap:8px;
  background:#fff; padding:6px;
  border:1px solid var(--pt-red, #D32F2F); border-radius:12px;
}
body.page-id-2214 .ptc-tabs .elementor-widget-tabs .elementor-tab-title,
body.page-id-2214 .ptc-tabs .e-n-tabs .e-n-tab-title,
body.page-id-2214 .ptc-tabs [role="tab"]{
  flex:1 1 auto; text-align:center; cursor:pointer;
  background:var(--pt-light, #F5F5F5); color:var(--pt-text, #212121);
  padding:10px 14px; border-radius:8px; font-weight:700;
  border:1px solid transparent;
  transition:background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
body.page-id-2214 .ptc-tabs .elementor-widget-tabs .elementor-tab-title:hover,
body.page-id-2214 .ptc-tabs .e-n-tabs .e-n-tab-title:hover,
body.page-id-2214 .ptc-tabs [role="tab"]:hover{
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}
/* Aba ativa */
body.page-id-2214 .ptc-tabs .elementor-widget-tabs .elementor-tab-title.elementor-active,
body.page-id-2214 .ptc-tabs .e-n-tabs .e-n-tab-title[aria-selected="true"],
body.page-id-2214 .ptc-tabs [role="tab"][aria-selected="true"]{
  background:var(--pt-red, #D32F2F); color:#fff; border-color:var(--pt-red, #D32F2F);
}
/* Content wrapper */
body.page-id-2214 .ptc-tabs .elementor-widget-tabs .elementor-tabs-content-wrapper,
body.page-id-2214 .ptc-tabs .e-n-tabs .e-n-tabs-content{
  background:#fff; border:1px solid #e0e0e0; border-radius:12px; padding:18px; margin-top:12px;
}
/* Mobile: títulos das abas lado a lado (2 colunas) */
@media (max-width: 767px){
  body.page-id-2214 .ptc-tabs .elementor-widget-tabs .elementor-tabs-wrapper,
  body.page-id-2214 .ptc-tabs .e-n-tabs .e-n-tabs-heading{
    display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px;
  }
}

/* 2) MINI-CARDS (classe: pacote-card) — botões 100% e empilhados */
body.page-id-2214 .pacote-card .elementor-widget-button,
body.page-id-2214 .pacote-card .elementor-button-wrapper{ width:100% !important; }
body.page-id-2214 .pacote-card a.elementor-button,
body.page-id-2214 .pacote-card a.elementor-button-link,
body.page-id-2214 .pacote-card button.elementor-button{
  display:block !important; width:100% !important;
  margin:6px 0 !important; border-radius:6px !important; padding:12px 18px !important;
}

/* 3) Botão “principal” (ex.: pacote 20 aulas) — full no mobile; normal no desktop (fora dos mini-cards) */
@media (max-width: 767px){
  body.page-id-2214 :not(.pacote-card) a.elementor-button[class*="elementor-button--primary"],
  body.page-id-2214 :not(.pacote-card) a.elementor-button[class*="elementor-button—primary"]{
    display:block !important; width:100% !important;
  }
}
@media (min-width: 768px){
  body.page-id-2214 :not(.pacote-card) a.elementor-button[class*="elementor-button--primary"],
  body.page-id-2214 :not(.pacote-card) a.elementor-button[class*="elementor-button—primary"]{
    display:inline-block !important; width:auto !important;
  }
}

/* 4) Secção final “Segurança clínica…” — 2 botões 50/50 desktop; 100% mobile (container com classe: seguranca-etapas) */
body.page-id-2214 .seguranca-etapas{
  display:grid; grid-template-columns:1fr 1fr; gap:12px;
}
body.page-id-2214 .seguranca-etapas .elementor-widget-button,
body.page-id-2214 .seguranca-etapas .elementor-button-wrapper{ width:100%; }
body.page-id-2214 .seguranca-etapas a.elementor-button{ width:100%; display:block; }
@media (max-width: 767px){
  body.page-id-2214 .seguranca-etapas{ grid-template-columns:1fr; }
}

/* 5) (Opcional) Texto branco em blocos escuros desta landing (aplica classe: seguranca-bloco na secção) */
body.page-id-2214 .seguranca-bloco,
body.page-id-2214 .seguranca-bloco .elementor-widget,
body.page-id-2214 .seguranca-bloco .elementor-widget *{
  color:#fff !important;
}
body.page-id-2214 .seguranca-bloco .elementor-icon,
body.page-id-2214 .seguranca-bloco .elementor-icon-list-icon i,
body.page-id-2214 .seguranca-bloco .elementor-icon-list-icon svg{
  color:#fff !important; fill:#fff !important;
}
body.page-id-2214 .seguranca-bloco a{ color:#fff !important; }
body.page-id-2214 .seguranca-bloco a:hover{ text-decoration:underline; }
/* ============ PT CLUB — Landing (page-id-2247) ============ */

/* 1) TABS elegantes (widget Abas com classe: ptc-tabs) — DOM antigo e Optimized DOM */
body.page-id-2247 .ptc-tabs .elementor-widget-tabs .elementor-tabs-wrapper,
body.page-id-2247 .ptc-tabs .e-n-tabs .e-n-tabs-heading{
  display:flex; flex-wrap:wrap; gap:8px;
  background:#fff; padding:6px;
  border:1px solid var(--pt-red, #D32F2F); border-radius:12px;
}
body.page-id-2247 .ptc-tabs .elementor-widget-tabs .elementor-tab-title,
body.page-id-2247 .ptc-tabs .e-n-tabs .e-n-tab-title,
body.page-id-2247 .ptc-tabs [role="tab"]{
  flex:1 1 auto; text-align:center; cursor:pointer;
  background:var(--pt-light, #F5F5F5); color:var(--pt-text, #212121);
  padding:10px 14px; border-radius:8px; font-weight:700;
  border:1px solid transparent;
  transition:background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
body.page-id-2247 .ptc-tabs .elementor-widget-tabs .elementor-tab-title:hover,
body.page-id-2247 .ptc-tabs .e-n-tabs .e-n-tab-title:hover,
body.page-id-2247 .ptc-tabs [role="tab"]:hover{
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}
/* Aba ativa */
body.page-id-2247 .ptc-tabs .elementor-widget-tabs .elementor-tab-title.elementor-active,
body.page-id-2247 .ptc-tabs .e-n-tabs .e-n-tab-title[aria-selected="true"],
body.page-id-2247 .ptc-tabs [role="tab"][aria-selected="true"]{
  background:var(--pt-red, #D32F2F); color:#fff; border-color:var(--pt-red, #D32F2F);
}
/* Content wrapper */
body.page-id-2247 .ptc-tabs .elementor-widget-tabs .elementor-tabs-content-wrapper,
body.page-id-2247 .ptc-tabs .e-n-tabs .e-n-tabs-content{
  background:#fff; border:1px solid #e0e0e0; border-radius:12px; padding:18px; margin-top:12px;
}
/* Mobile: títulos das abas lado a lado (2 colunas) */
@media (max-width: 767px){
  body.page-id-2247 .ptc-tabs .elementor-widget-tabs .elementor-tabs-wrapper,
  body.page-id-2247 .ptc-tabs .e-n-tabs .e-n-tabs-heading{
    display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px;
  }
}

/* 2) MINI-CARDS (classe: pacote-card) — botões 100% e empilhados */
body.page-id-2247 .pacote-card .elementor-widget-button,
body.page-id-2247 .pacote-card .elementor-button-wrapper{ width:100% !important; }
body.page-id-2247 .pacote-card a.elementor-button,
body.page-id-2247 .pacote-card a.elementor-button-link,
body.page-id-2247 .pacote-card button.elementor-button{
  display:block !important; width:100% !important;
  margin:6px 0 !important; border-radius:6px !important; padding:12px 18px !important;
}

/* 3) Botão “principal” — full no mobile; normal no desktop (fora dos mini-cards) */
@media (max-width: 767px){
  body.page-id-2247 :not(.pacote-card) a.elementor-button[class*="elementor-button--primary"],
  body.page-id-2247 :not(.pacote-card) a.elementor-button[class*="elementor-button—primary"]{
    display:block !important; width:100% !important;
  }
}
@media (min-width: 768px){
  body.page-id-2247 :not(.pacote-card) a.elementor-button[class*="elementor-button--primary"],
  body.page-id-2247 :not(.pacote-card) a.elementor-button[class*="elementor-button—primary"]{
    display:inline-block !important; width:auto !important;
  }
}

/* 4) Secção final “Segurança clínica…” — 2 botões 50/50 desktop; 100% mobile (container com classe: seguranca-etapas) */
body.page-id-2247 .seguranca-etapas{
  display:grid; grid-template-columns:1fr 1fr; gap:12px;
}
body.page-id-2247 .seguranca-etapas .elementor-widget-button,
body.page-id-2247 .seguranca-etapas .elementor-button-wrapper{ width:100%; }
body.page-id-2247 .seguranca-etapas a.elementor-button{ width:100%; display:block; }
@media (max-width: 767px){
  body.page-id-2247 .seguranca-etapas{ grid-template-columns:1fr; }
}

/* 5) (Opcional) Texto branco em blocos escuros desta landing (aplica classe: seguranca-bloco na secção) */
body.page-id-2247 .seguranca-bloco,
body.page-id-2247 .seguranca-bloco .elementor-widget,
body.page-id-2247 .seguranca-bloco .elementor-widget *{
  color:#fff !important;
}
body.page-id-2247 .seguranca-bloco .elementor-icon,
body.page-id-2247 .seguranca-bloco .elementor-icon-list-icon i,
body.page-id-2247 .seguranca-bloco .elementor-icon-list-icon svg{
  color:#fff !important; fill:#fff !important;
}
body.page-id-2247 .seguranca-bloco a{ color:#fff !important; }
body.page-id-2247 .seguranca-bloco a:hover{ text-decoration:underline; }
/* ============ PT CLUB — Landing (page-id-2283) ============ */

/* 1) TABS elegantes (widget Abas com classe: ptc-tabs) — DOM antigo e Optimized DOM */
body.page-id-2283 .ptc-tabs .elementor-widget-tabs .elementor-tabs-wrapper,
body.page-id-2283 .ptc-tabs .e-n-tabs .e-n-tabs-heading{
  display:flex; flex-wrap:wrap; gap:8px;
  background:#fff; padding:6px;
  border:1px solid var(--pt-red, #D32F2F); border-radius:12px;
}
body.page-id-2283 .ptc-tabs .elementor-widget-tabs .elementor-tab-title,
body.page-id-2283 .ptc-tabs .e-n-tabs .e-n-tab-title,
body.page-id-2283 .ptc-tabs [role="tab"]{
  flex:1 1 auto; text-align:center; cursor:pointer;
  background:var(--pt-light, #F5F5F5); color:var(--pt-text, #212121);
  padding:10px 14px; border-radius:8px; font-weight:700;
  border:1px solid transparent;
  transition:background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
body.page-id-2283 .ptc-tabs .elementor-widget-tabs .elementor-tab-title:hover,
body.page-id-2283 .ptc-tabs .e-n-tabs .e-n-tab-title:hover,
body.page-id-2283 .ptc-tabs [role="tab"]:hover{
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}
/* Aba ativa */
body.page-id-2283 .ptc-tabs .elementor-widget-tabs .elementor-tab-title.elementor-active,
body.page-id-2283 .ptc-tabs .e-n-tabs .e-n-tab-title[aria-selected="true"],
body.page-id-2283 .ptc-tabs [role="tab"][aria-selected="true"]{
  background:var(--pt-red, #D32F2F); color:#fff; border-color:var(--pt-red, #D32F2F);
}
/* Content wrapper */
body.page-id-2283 .ptc-tabs .elementor-widget-tabs .elementor-tabs-content-wrapper,
body.page-id-2283 .ptc-tabs .e-n-tabs .e-n-tabs-content{
  background:#fff; border:1px solid #e0e0e0; border-radius:12px; padding:18px; margin-top:12px;
}
/* Mobile: títulos das abas lado a lado (2 colunas) */
@media (max-width: 767px){
  body.page-id-2283 .ptc-tabs .elementor-widget-tabs .elementor-tabs-wrapper,
  body.page-id-2283 .ptc-tabs .e-n-tabs .e-n-tabs-heading{
    display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px;
  }
}

/* 2) MINI-CARDS (classe: pacote-card) — botões 100% e empilhados */
body.page-id-2283 .pacote-card .elementor-widget-button,
body.page-id-2283 .pacote-card .elementor-button-wrapper{ width:100% !important; }
body.page-id-2283 .pacote-card a.elementor-button,
body.page-id-2283 .pacote-card a.elementor-button-link,
body.page-id-2283 .pacote-card button.elementor-button{
  display:block !important; width:100% !important;
  margin:6px 0 !important; border-radius:6px !important; padding:12px 18px !important;
}

/* 3) Botão “principal” — full no mobile; normal no desktop (fora dos mini-cards) */
@media (max-width: 767px){
  body.page-id-2283 :not(.pacote-card) a.elementor-button[class*="elementor-button--primary"],
  body.page-id-2283 :not(.pacote-card) a.elementor-button[class*="elementor-button—primary"]{
    display:block !important; width:100% !important;
  }
}
@media (min-width: 768px){
  body.page-id-2283 :not(.pacote-card) a.elementor-button[class*="elementor-button--primary"],
  body.page-id-2283 :not(.pacote-card) a.elementor-button[class*="elementor-button—primary"]{
    display:inline-block !important; width:auto !important;
  }
}

/* 4) Secção final “Segurança clínica…” — 2 botões 50/50 desktop; 100% mobile (container com classe: seguranca-etapas) */
body.page-id-2283 .seguranca-etapas{
  display:grid; grid-template-columns:1fr 1fr; gap:12px;
}
body.page-id-2283 .seguranca-etapas .elementor-widget-button,
body.page-id-2283 .seguranca-etapas .elementor-button-wrapper{ width:100%; }
body.page-id-2283 .seguranca-etapas a.elementor-button{ width:100%; display:block; }
@media (max-width: 767px){
  body.page-id-2283 .seguranca-etapas{ grid-template-columns:1fr; }
}

/* 5) (Opcional) Texto branco em blocos escuros desta landing (aplica classe: seguranca-bloco na secção) */
body.page-id-2283 .seguranca-bloco,
body.page-id-2283 .seguranca-bloco .elementor-widget,
body.page-id-2283 .seguranca-bloco .elementor-widget *{
  color:#fff !important;
}
body.page-id-2283 .seguranca-bloco .elementor-icon,
body.page-id-2283 .seguranca-bloco .elementor-icon-list-icon i,
body.page-id-2283 .seguranca-bloco .elementor-icon-list-icon svg{
  color:#fff !important; fill:#fff !important;
}
body.page-id-2283 .seguranca-bloco a{ color:#fff !important; }
body.page-id-2283 .seguranca-bloco a:hover{ text-decoration:underline; }
/* ===== PT CLUB — Blog Premium ===== */

/* ===== PT CLUB — Blog Premium (fix) ===== */

/* GRELHA: apenas o .ast-row de topo dentro de .site-main */
.blog .site-main > .ast-row,
.archive .site-main > .ast-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important; /* 3 colunas desktop */
  gap: 2.5rem !important;
}

/* Responsivo */
@media (max-width: 1024px) {
  .blog .site-main > .ast-row,
  .archive .site-main > .ast-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px) {
  .blog .site-main > .ast-row,
  .archive .site-main > .ast-row {
    grid-template-columns: 1fr !important;
  }
}

/* Evitar que .ast-row internos herdados virem grid */
.blog .site-main > .ast-row .ast-row,
.archive .site-main > .ast-row .ast-row {
  display: block !important;
}

/* Cartões 100% da coluna */
.blog article,
.archive article {
  width: auto !important;
  max-width: 100% !important;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(0,0,0,0.08);
  transition: transform .3s ease, box-shadow .3s ease;
}
.blog article:hover,
.archive article:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}

/* Imagem destacada */
.blog .post-thumb img,
.archive .post-thumb img {
  width: 100%;
  height: auto;
  display: block;
  border-bottom: 4px solid #D32F2F;
}

/* Títulos nunca colapsam a 1 letra/linha */
.blog .entry-title,
.archive .entry-title {
  white-space: normal !important;
  word-break: normal !important;
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  margin: 1rem 1.2rem .5rem;
  color: #212121;
}

/* Meta, excerto, botão – podes manter os teus estilos atuais */

/* Cartões dos artigos */
.blog article,
.archive article {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(0,0,0,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.blog article:hover,
.archive article:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}

/* Imagem destacada */
.blog .post-thumb img,
.archive .post-thumb img {
  width: 100%;
  height: auto;
  border-bottom: 4px solid #D32F2F; /* vermelho da marca */
  display: block;
}

/* Títulos */
.blog .entry-title,
.archive .entry-title {
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  margin: 1rem 1.2rem 0.5rem;
  color: #212121;
}

/* Meta (apenas data + categoria) */
.blog .entry-meta,
.archive .entry-meta {
  font-size: 0.85rem;
  color: #757575;
  margin: 0 1.2rem 0.8rem;
}

/* Excerto */
.blog .entry-content p,
.archive .entry-content p {
  margin: 0 1.2rem 1rem;
  font-size: 0.95rem;
  line-height: 1.5;
  color: #424242;
}

/* Botão “Ler artigo” */
.blog .read-more,
.archive .read-more {
  display: inline-block;
  margin: 0 1.2rem 1.5rem;
  padding: 0.5rem 1.2rem;
  background: #D32F2F;
  color: #fff !important;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
  border-radius: 6px;   /* igual ao resto do site */
  border: 2px solid #D32F2F;
  transition: background 0.3s ease, color 0.3s ease;
}
.blog .read-more:hover,
.archive .read-more:hover {
  background: #fff;
  color: #D32F2F !important;
}
/* ===== PT CLUB — Single Post (artigo) ===== */

/* Largura e respiro */
.single-post .site-content .ast-container {
  max-width: 980px; /* elegante e fácil de ler */
}

/* Título */
.single-post .entry-title {
  font-family: 'Roboto Condensed', sans-serif;
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1.15;
  margin: 8px 0 14px;
  color: #111;
}

/* Meta (data + categoria) */
.single-post .entry-meta {
  color: #757575;
  font-size: 0.92rem;
  margin-bottom: 18px;
}

/* Imagem destacada */
.single-post .post-thumb img,
.single-post .featured-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 16px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.12);
  margin: 10px 0 22px;
}

/* Tipografia do conteúdo */
.single-post .entry-content p {
  font-size: 1.05rem;
  line-height: 1.7;
  color: #222;
  margin: 0 0 1.15rem;
}
.single-post .entry-content h2 { font-size: 1.6rem; margin: 1.6rem 0 .6rem; }
.single-post .entry-content h3 { font-size: 1.3rem; margin: 1.2rem 0 .4rem; }
.single-post .entry-content ul, 
.single-post .entry-content ol { padding-left: 1.1rem; margin: .8rem 0 1.2rem; }

/* Citações */
.single-post .entry-content blockquote {
  border-left: 4px solid #D32F2F;
  background: #fafafa;
  padding: 14px 18px;
  color: #333;
  border-radius: 8px;
}

/* Botões padrão no conteúdo (se usares botões ou links com .btn-red) */
.single-post .entry-content a.btn-red {
  display: inline-block;
  padding: .65rem 1.2rem;
  font-weight: 700;
  text-decoration: none;
  color: #D32F2F !important;
  background: #fff;
  border: 6px solid #D32F2F;     /* <- border de 6px */
  border-radius: 10px;
  transition: .25s ease;
}
.single-post .entry-content a.btn-red:hover {
  color: #fff !important;
  background: #D32F2F;
}

/* Caixa CTA no fim do artigo */
.ptc-post-cta {
  margin: 28px 0 6px;
  padding: 18px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
  border-left: 6px solid #D32F2F;
}
.ptc-post-cta h4 { margin: 0 0 8px; font-size: 1.15rem; }
.ptc-post-cta p  { margin: 0 0 14px; color:#444; }

/* Botões da CTA */
.ptc-actions { display:flex; gap:10px; flex-wrap:wrap; }
.ptc-actions .btn-red,
.ptc-actions .btn-ghost {
  display:inline-block; padding:.65rem 1.1rem; font-weight:700; text-decoration:none; border-radius:10px; transition:.25s;
}
.ptc-actions .btn-red   { color:#fff !important; background:#D32F2F; border:6px solid #D32F2F; }
.ptc-actions .btn-red:hover { background:#b71c1c; border-color:#b71c1c; }
.ptc-actions .btn-ghost { color:#D32F2F !important; background:#fff; border:6px solid #D32F2F; }
.ptc-actions .btn-ghost:hover { background:#D32F2F; color:#fff !important; }
/* Ocultar o autor nos posts do blog */
.entry-meta .posted-by,
.entry-meta .author,
.ast-author-details {
  display: none !important;
}
/* ===== Eventos (partilha visual com a página Comunidade) ===== */
.sec-head { text-align:center; margin-bottom: 2.5rem; }
.sec-head h2 { font-size: clamp(1.6rem, 2vw, 2rem); margin: 0 0 .25rem; }
.sec-head .sub { color: #757575; margin: 0; }


.proximo-evento { padding: 2.5rem 0 1rem; }
.evento-wrap { display: grid; grid-template-columns: 1.1fr .9fr; gap: 2rem; align-items: start; max-width: 1100px; margin: 0 auto; padding: 0 1rem; }
.evento-titulo { font-size: clamp(1.3rem,2.2vw,1.6rem); margin: 0 0 .75rem; }
.evento-dados { list-style: none; margin: 0 0 1rem; padding: 0; }
.evento-dados li { margin: .2rem 0; }
.evento-dados .lbl { display: inline-block; min-width: 3.5rem; font-weight: 600; color: #757575; }
.evento-ctas { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; }
.evento-ctas .btn-alt, .evento-ctas .btn-ghost { display:inline-block; padding:.7rem 1rem; border-radius:.75rem; text-decoration:none; font-weight:600; }
.evento-ctas .btn-alt { background:#D32F2F; color:#fff; }
.evento-ctas .btn-ghost { border:2px solid #D32F2F; color:#D32F2F; }
.ratio-16x9 { position: relative; width:100%; padding-top:56.25%; overflow:hidden; border-radius: 1rem; background:#000; }
.ratio-16x9 > img, .ratio-16x9 > iframe { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border:0; }


.eventos-anteriores { padding: 2.5rem 0; }
.eventos-grid { max-width: 1100px; margin: 0 auto; padding: 0 1rem; display:grid; grid-template-columns: repeat(3,1fr); gap:1.25rem; }
.evento-card { background:#fff; border-radius:1rem; box-shadow:0 4px 18px rgba(0,0,0,.06); overflow:hidden; display:flex; flex-direction:column; }
.evento-card .thumb img { display:block; width:100%; height:220px; object-fit:cover; }
.evento-card .card-body { padding:1rem; display:grid; gap:.5rem; }
.evento-card .card-title { margin:0; font-size:1.1rem; }
.evento-card .resumo { margin:0; color:#424242; }


@media (max-width: 960px) {
.evento-wrap { grid-template-columns: 1fr; }
.eventos-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
.eventos-grid { grid-template-columns: 1fr; }
.evento-card .thumb img { height:200px; }
}
/* Single Evento — limpar meta/header */
.single-ptc_evento .entry-meta,
.single-ptc_evento .posted-on,
.single-ptc_evento .ast-author-details,
.single-ptc_evento .entry-header .entry-meta { display:none !important; }

/* Hero do Evento (imagem destacada) */
.ptc-evento-hero img { width:100%; height:auto; border-radius:12px; display:block; margin-bottom:1rem; }
/* ===== Comunidade / Eventos — Botões e tipografia ===== */
.proximo-evento .evento-titulo a{
  text-decoration: none;
  color: inherit;
}
.proximo-evento .evento-titulo a:hover{
  opacity:.9;
}

.proximo-evento .evento-ctas{
  display:flex; flex-wrap:wrap; gap:.75rem 1rem; align-items:center; margin-top:.5rem;
}
.proximo-evento .evento-ctas a{
  text-decoration:none !important; border-radius:6px; font-weight:700; padding:.8rem 1.1rem; display:inline-block;
  border:2px solid #D32F2F;
}

/* Hierarquia visual */
.proximo-evento .evento-ctas .btn-primary{ background:#D32F2F; color:#fff; border-color:#D32F2F; }
.proximo-evento .evento-ctas .btn-primary:hover{ filter:brightness(.95); }

.proximo-evento .evento-ctas .btn-alt{ background:#D32F2F; color:#fff; }
.proximo-evento .evento-ctas .btn-alt:hover{ filter:brightness(.95); }

.proximo-evento .evento-ctas .btn-ghost{ background:transparent; color:#D32F2F; }
.proximo-evento .evento-ctas .btn-ghost:hover{ background:#D32F2F; color:#fff; }

/* Responsivo: stack e largura confortável no mobile */
@media (max-width: 640px){
  .proximo-evento .evento-ctas{ gap:.6rem; }
  .proximo-evento .evento-ctas a{ width:100%; text-align:center; }
}
/* 2 colunas no desktop */
.proximo-evento .evento-wrap{
  max-width: 1200px; margin: 0 auto; padding: 0 1rem;
  display: grid; grid-template-columns: 1fr 480px; gap: 2rem;
}
.proximo-evento .evento-media .ratio-16x9,
.proximo-evento .only-mobile.evento-hero{ border-radius: 12px; overflow: hidden; }
.proximo-evento .evento-media img,
.proximo-evento .only-mobile.evento-hero img{ display:block; width:100%; height:auto; }

/* Mostrar/ocultar variantes */
.only-desktop{ display:block; }
.only-mobile{ display:none; }

/* Mobile: 1 coluna e foto logo após o título */
@media (max-width: 900px){
  .proximo-evento .evento-wrap{ grid-template-columns: 1fr; }
  .only-desktop{ display:none; }
  .only-mobile{ display:block; }
}
/* =======================
   PT CLUB — Galeria Premium (apenas em Eventos)
   ======================= */

/* Gutenberg gallery */
.single-ptc_evento .wp-block-gallery{
  gap: 14px;                /* espaço entre fotos */
  margin-top: 1rem;
  margin-bottom: 1.5rem;
}
.single-ptc_evento .wp-block-gallery .blocks-gallery-item figure{
  position: relative;
  overflow: hidden;
  border-radius: 12px;      /* cantos arredondados */
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  transition: transform .25s ease, box-shadow .25s ease;
  aspect-ratio: 4 / 3;      /* grelha consistente; remove se preferires alturas livres */
  background: #f6f6f6;
}
.single-ptc_evento .wp-block-gallery .blocks-gallery-item img{
  width: 100%;
  height: 100%;
  object-fit: cover;        /* corta de forma elegante dentro da moldura */
  display: block;
  transform: scale(1.001);  /* evita “flicker” ao hover */
  transition: transform .25s ease;
}
.single-ptc_evento .wp-block-gallery .blocks-gallery-item figure:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(0,0,0,.12);
}
.single-ptc_evento .wp-block-gallery .blocks-gallery-item figure:hover img{
  transform: scale(1.04);   /* ligeiro zoom ao hover */
  will-change: transform;
}
.single-ptc_evento .wp-block-gallery .blocks-gallery-item a{
  text-decoration: none !important;
  cursor: zoom-in;          /* comunica que abre maior (se ligares ao ficheiro) */
}

/* Legendas (figcaption) elegantes */
.single-ptc_evento .wp-block-gallery .blocks-gallery-item figcaption{
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: .5rem .75rem;
  font-size: .92rem;
  line-height: 1.35;
  color: #fff;
  background: linear-gradient(to top, rgba(0,0,0,.45), rgba(0,0,0,0));
  transform: translateY(0);
  transition: opacity .25s ease, transform .25s ease;
}
.single-ptc_evento .wp-block-gallery .blocks-gallery-item figure:hover figcaption{
  opacity: .95;
}

/* Clássico [gallery] (se algum post antigo usar) */
.single-ptc_evento .gallery{
  margin-top: 1rem; margin-bottom: 1.5rem;
}
.single-ptc_evento .gallery .gallery-item{
  padding: 7px;
}
.single-ptc_evento .gallery .gallery-icon a,
.single-ptc_evento .gallery .gallery-icon img{
  display: block;
  border-radius: 12px;
}
.single-ptc_evento .gallery .gallery-icon img{
  width: 100%; height: auto;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  transition: transform .25s ease, box-shadow .25s ease;
}
.single-ptc_evento .gallery .gallery-icon img:hover{
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 10px 26px rgba(0,0,0,.12);
}

/* Mobile: colunas respiram melhor */
@media (max-width: 640px){
  .single-ptc_evento .wp-block-gallery{ gap: 10px; }
}
/* ------- Eventos Anteriores — grelha compacta ------- */
.eventos-anteriores .eventos-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)); /* 3 colunas desktop */
  gap: 1.5rem;
}

/* Cartões mais compactos */
.eventos-anteriores .evento-card .thumb img{
  height: 160px;           /* antes 200px */
  object-fit: cover;
}

/* 2 colunas no tablet */
@media (max-width: 1100px){
  .eventos-anteriores .eventos-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* 1 coluna no mobile */
@media (max-width: 640px){
  .eventos-anteriores .eventos-grid{
    grid-template-columns: 1fr;
  }
}
/* ================================
   CF7 — Caixa de sucesso (global)
   ================================ */
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 .ptclub-thanks{
  border:2px solid #D32F2F !important;
  background:#F5F5F5 !important;
  color:#212121 !important;
  padding:16px 18px !important;
  border-radius:12px;
  font-size:16px; line-height:1.5;
}
.ptclub-mini{ margin-top:6px; font-size:14px; color:#757575; }
.ptclub-actions{ display:flex; gap:12px; flex-wrap:wrap; margin-top:12px; }
.ptclub-btn{ display:inline-block; padding:10px 16px; border-radius:10px; text-decoration:none; font-weight:600; box-shadow:0 2px 8px rgba(0,0,0,.08); transition:.15s; }
.ptclub-btn-primary{ background:#D32F2F; color:#fff; }
.ptclub-btn-ghost{ background:#fff; color:#212121; border:1px solid #e5e5e5; }

/* ================================
   HOME (page-id-74)
   ================================ */
body.page-id-74 .elementor-section{ padding-top:56px; padding-bottom:56px; }
@media (max-width:1024px){
  body.page-id-74 .elementor-section{ padding-top:48px; padding-bottom:48px; }
}
@media (max-width:767px){
  body.page-id-74 .elementor-section{ padding-top:32px; padding-bottom:32px; }
}

/* 1) CF7 do Lead Magnet (apenas dentro do .ptc-lead-wrap) */
body.page-id-74 .ptc-lead-wrap input[type="text"],
body.page-id-74 .ptc-lead-wrap input[type="email"],
body.page-id-74 .ptc-lead-wrap input[type="tel"],
body.page-id-74 .ptc-lead-wrap textarea,
body.page-id-74 .ptc-lead-wrap select{
  border:1.5px solid #e6e6e6; border-radius:10px;
  padding:12px 14px; font-size:16px; color:#212121;
  outline:none; box-shadow:none;
}
body.page-id-74 .ptc-lead-wrap input:focus,
body.page-id-74 .ptc-lead-wrap textarea:focus,
body.page-id-74 .ptc-lead-wrap select:focus{
  border-color:#D32F2F; box-shadow:0 0 0 3px rgba(211,47,47,.12);
}
body.page-id-74 .ptc-lead-wrap input::placeholder,
body.page-id-74 .ptc-lead-wrap textarea::placeholder{ color:#757575; }

/* Botão do CF7 — centrado no desktop; full-width no mobile */
body.page-id-74 .ptc-lead-wrap .ptc-lead-submit{
  display:flex !important; justify-content:center !important;
}
body.page-id-74 .ptc-lead-wrap .ptc-lead-submit .wpcf7-submit,
body.page-id-74 .ptc-lead-wrap .ptc-lead-submit .ptc-btn{
  display:block !important; margin:0 auto !important;
  float:none !important; text-align:center !important;
  background:#D32F2F; color:#fff; border:0; border-radius:12px; padding:14px 20px; font-weight:700;
  box-shadow:0 3px 12px rgba(0,0,0,.12);
}
@media (max-width:767px){
  body.page-id-74 .ptc-lead-wrap .ptc-lead-submit{ display:block !important; text-align:center !important; }
  body.page-id-74 .ptc-lead-wrap .ptc-lead-submit .wpcf7-submit,
  body.page-id-74 .ptc-lead-wrap .ptc-lead-submit .ptc-btn{
    width:100% !important; max-width:none !important; box-sizing:border-box !important;
  }
}

/* 2) “Como funciona” — grid com classe cf-cards (alturas iguais) */
body.page-id-74 .cf-cards{ align-items:stretch !important; }

/* cobre colunas (layout antigo) e containers (novo DOM) */
body.page-id-74 .cf-cards > .elementor-column > .elementor-widget-wrap,
body.page-id-74 .cf-cards > .e-con > .e-con-inner{
  display:flex !important; flex-direction:column !important; height:100% !important;
}

/* o widget de Caixa de Ícone passa a preencher e virar “cartão” */
body.page-id-74 .cf-cards .elementor-widget-icon-box{ flex:1 1 auto !important; }
body.page-id-74 .cf-cards .elementor-widget-icon-box > .elementor-widget-container{
  display:flex !important; flex-direction:column !important; height:100% !important;
  background:#fff; border-radius:16px; box-shadow:0 8px 22px rgba(0,0,0,.08);
  padding:18px 20px;
}

/* estrutura interna: título/topo + descrição cresce + CTA no fundo */
body.page-id-74 .cf-cards .elementor-icon-box-wrapper,
body.page-id-74 .cf-cards .elementor-icon-box-content{
  display:flex !important; flex-direction:column !important; flex:1 1 auto !important;
}
body.page-id-74 .cf-cards .elementor-icon-box-description{ margin-top:auto !important; }

@media (min-width:768px){
  /* piso mínimo para consistência visual no desktop (ajusta se quiseres) */
  body.page-id-74 .cf-cards .elementor-widget-icon-box > .elementor-widget-container{
    min-height:220px;
  }
}
/* ================================
   PT CLUB — Ajustes finais Home
   ================================ */

/* a) HERO — subtítulo/texto sempre branco */
body.page-id-74 .elementor-section:first-of-type .elementor-widget-text-editor,
body.page-id-74 .elementor-section:first-of-type .elementor-widget-text-editor *,
body.page-id-74 .elementor-section:first-of-type .elementor-widget-heading .elementor-heading-title,
body.page-id-74 .home-hero .elementor-widget-text-editor,
body.page-id-74 .home-hero .elementor-widget-text-editor *,
body.page-id-74 .home-hero .elementor-heading-title {
  color:#FFFFFF !important;
  text-shadow:0 2px 10px rgba(0,0,0,.35);
}

/* b) DESCObre os nossos serviços (classe .servicos-cards) */

/* título centrado */
body.page-id-74 .servicos-cards .elementor-heading-title {
  text-align:center !important;
  margin-left:auto; margin-right:auto;
}

/* cartões com altura igual */
body.page-id-74 .servicos-cards .elementor-column > .elementor-widget-wrap,
body.page-id-74 .servicos-cards .e-con > .e-con-inner {
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}

/* botão colado ao fundo, centrado no desktop */
body.page-id-74 .servicos-cards .elementor-widget-button {
  margin-top:auto !important;
  text-align:center !important;
}
body.page-id-74 .servicos-cards .elementor-button {
  display:inline-block !important;
  margin:0 auto !important;
}

/* full-width no mobile */
@media (max-width:767px){
  body.page-id-74 .servicos-cards .elementor-button {
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
  }
}

/* c) APRENDER E INSPIRAR (classe .aprender-cards) */

/* cartões iguais em altura */
body.page-id-74 .aprender-cards .elementor-post,
body.page-id-74 .aprender-cards .elementor-column > .elementor-widget-wrap {
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}
body.page-id-74 .aprender-cards .elementor-post__text {
  flex:1 1 auto !important;
}

/* botão colado ao fundo, centrado */
body.page-id-74 .aprender-cards .elementor-post__read-more,
body.page-id-74 .aprender-cards .elementor-button-wrapper,
body.page-id-74 .aprender-cards .elementor-widget-button {
  margin-top:auto !important;
  text-align:center !important;
}
body.page-id-74 .aprender-cards .elementor-post__read-more a,
body.page-id-74 .aprender-cards .elementor-button {
  display:inline-block !important;
  margin:0 auto !important;
}

/* full-width no mobile */
@media (max-width:767px){
  body.page-id-74 .aprender-cards .elementor-post__read-more a,
  body.page-id-74 .aprender-cards .elementor-button {
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
  }
}
/* ======================
   PT CLUB — Hero Treino (botões full no mobile)
   ====================== */

/* Seleciona botões dentro do hero */
.hero-full.hero-blur .elementor-button {
  min-width: 220px;
  padding: 14px 22px;
  border-radius: 8px;
  font-weight: 700;
  transition: all .2s ease;
}

/* Espaço entre eles */
.hero-full.hero-blur .elementor-button + .elementor-button {
  margin-left: 12px;
}

/* Mobile: ocupar 100% largura */
@media (max-width: 699px) {
  .hero-full.hero-blur .elementor-button {
    display: block;
    width: 100%;
    margin: 8px 0 !important; /* afasta verticalmente */
  }
  .hero-full.hero-blur .elementor-button + .elementor-button {
    margin-left: 0; /* retira margem lateral */
  }
}
/* ===============================================
   PT CLUB - SISTEMA DE CLASSES UTILITÁRIAS
   Adicionar ao final do style.css existente
   =============================================== */

/* ===========================
   CARTÕES PADRONIZADOS
   =========================== */

/* Cartão base - aplicar classe .ptc-card em qualquer container */
.ptc-card {
  background: #FFFFFF;
  border: 1px solid #e0e0e0;
  border-radius: 16px !important;
  padding: 24px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  overflow: hidden;
}

.ptc-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}

/* Variantes de cartão */
.ptc-card-compact {
  background: #FFFFFF;
  border: 1px solid #e0e0e0;
  border-radius: 12px !important;
  padding: 18px;
  box-shadow: 0 4px 14px rgba(0,0,0,0.06);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ptc-card-compact:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.1);
}

.ptc-card-flat {
  background: #FFFFFF;
  border: 1px solid #e0e0e0;
  border-radius: 12px !important;
  padding: 20px;
  /* sem sombra nem hover */
}

/* ===========================
   BOTÕES PADRONIZADOS
   =========================== */

/* Botão primário - aplicar classe .ptc-btn-primary */
.ptc-btn-primary,
.ptc-btn-primary.elementor-button {
  background: #D32F2F !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 12px 20px !important;
  font-weight: 700 !important;
  font-family: 'Roboto Condensed', Arial, sans-serif !important;
  text-decoration: none !important;
  display: inline-block;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(211,47,47,0.2);
}

.ptc-btn-primary:hover,
.ptc-btn-primary.elementor-button:hover {
  background: #b52a2a !important;
  color: #FFFFFF !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(211,47,47,0.3);
}

/* Botão secundário/ghost */
.ptc-btn-ghost,
.ptc-btn-ghost.elementor-button {
  background: #FFFFFF !important;
  color: #D32F2F !important;
  border: 2px solid #D32F2F !important;
  border-radius: 8px !important;
  padding: 10px 18px !important;
  font-weight: 700 !important;
  font-family: 'Roboto Condensed', Arial, sans-serif !important;
  text-decoration: none !important;
  display: inline-block;
  transition: all 0.2s ease;
}

.ptc-btn-ghost:hover,
.ptc-btn-ghost.elementor-button:hover {
  background: #D32F2F !important;
  color: #FFFFFF !important;
}

/* Botão full-width mobile */
.ptc-btn-responsive {
  display: inline-block;
  text-align: center;
}

@media (max-width: 767px) {
  .ptc-btn-responsive,
  .ptc-btn-responsive.elementor-button {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* ===========================
   GRIDS E LAYOUTS PADRONIZADOS
   =========================== */

/* Grid de cartões - aplicar classe .ptc-cards-grid ao container pai */
.ptc-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

@media (max-width: 1024px) {
  .ptc-cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
}

@media (max-width: 767px) {
  .ptc-cards-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

/* Grid de 4 colunas (para pacotes) */
.ptc-cards-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

@media (max-width: 1200px) {
  .ptc-cards-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .ptc-cards-grid-4 {
    grid-template-columns: 1fr;
  }
}

/* ===========================
   TÍTULOS PADRONIZADOS
   =========================== */

.ptc-title-center {
  text-align: center !important;
  margin-bottom: 2rem;
}

.ptc-title-dark {
  color: #212121 !important;
}

.ptc-title-white {
  color: #FFFFFF !important;
}

/* ===========================
   ESPAÇAMENTOS PADRONIZADOS
   =========================== */

.ptc-section {
  padding: 60px 20px;
}

@media (max-width: 1024px) {
  .ptc-section {
    padding: 48px 16px;
  }
}

@media (max-width: 767px) {
  .ptc-section {
    padding: 40px 16px;
  }
}

.ptc-section-compact {
  padding: 40px 20px;
}

@media (max-width: 767px) {
  .ptc-section-compact {
    padding: 32px 16px;
  }
}

/* ===========================
   CORREÇÕES ESPECÍFICAS EXISTENTES
   =========================== */

/* Força todos os pacote-card a terem o mesmo estilo */
.pacote-card {
  background: #FFFFFF !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  overflow: hidden;
  text-align: center;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.pacote-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}

/* Força todos os clinica-card a terem o mesmo estilo */
.clinica-card {
  background: #FFFFFF !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  overflow: hidden;
  text-align: center;
}

.clinica-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}

/* Força todos os botões do Elementor a serem responsivos */
@media (max-width: 767px) {
  .elementor-button:not(.ptc-btn-inline) {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  
  .elementor-widget-button:not(.ptc-btn-inline-wrap) {
    width: 100% !important;
  }
  
  .elementor-button-wrapper:not(.ptc-btn-inline-wrap) {
    text-align: center !important;
  }
}

/* Exceções: botões que devem manter-se inline no mobile */
.ptc-btn-inline {
  display: inline-block !important;
  width: auto !important;
}

/* ===========================
   CLASSES UTILITÁRIAS RÁPIDAS
   =========================== */

/* Sombras */
.ptc-shadow-light {
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.ptc-shadow-medium {
  box-shadow: 0 4px 14px rgba(0,0,0,0.08);
}

.ptc-shadow-heavy {
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}

/* Cantos arredondados */
.ptc-rounded {
  border-radius: 12px !important;
}

.ptc-rounded-lg {
  border-radius: 16px !important;
}

/* Cores de fundo */
.ptc-bg-white {
  background: #FFFFFF !important;
}

.ptc-bg-light {
  background: #F5F5F5 !important;
}

.ptc-bg-dark {
  background: #212121 !important;
}

.ptc-bg-red {
  background: #D32F2F !important;
}

/* Cores de texto */
.ptc-text-dark {
  color: #212121 !important;
}

.ptc-text-muted {
  color: #757575 !important;
}

.ptc-text-white {
  color: #FFFFFF !important;
}

.ptc-text-red {
  color: #D32F2F !important;
}

/* ===========================
   APLICAÇÃO AUTOMÁTICA EM PÁGINAS ESPECÍFICAS
   =========================== */

/* Páginas que devem ter cartões uniformes */
body.page-id-74 .clinica-card,
body.page-id-78 .servico-card,
body.page-id-1809 .pacote-card,
body.page-id-2166 .pacote-card,
body.page-id-2214 .pacote-card,
body.page-id-2247 .pacote-card,
body.page-id-2283 .pacote-card {
  background: #FFFFFF !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
/* WooCommerce - centralizar botões na grelha da loja */
.woocommerce ul.products li.product .button {
  display: block;
  margin: 0 auto;
  text-align: center;
}
/* ===== WooCommerce — cards com botão alinhado no fundo ===== */

/* 1) Transformar cada produto num flex container em coluna */
.woocommerce ul.products li.product {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* 2) Título com altura consistente (2 linhas) */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  line-height: 1.2;
  display: -webkit-box;
  -webkit-line-clamp: 2;           /* mostra no máx. 2 linhas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(1.2em * 2);      /* reserva altura para 2 linhas */
}

/* 3) Garantir algum espaçamento regular */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .star-rating {
  margin-top: .35rem;
}

/* 4) Botão sempre no fundo e centrado */
.woocommerce ul.products li.product .button {
  margin-top: auto;      /* empurra o botão para o fundo do card */
  display: block;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  width: auto;           /* ou 100% se preferir botão a toda a largura */
}
.pt-footer__bottom {
  display: flex;
  justify-content: space-between; /* Alinha os itens nas extremidades */
  align-items: center; /* Alinha verticalmente ao centro */
  flex-wrap: wrap; /* Permite que os itens quebrem para a linha de baixo em ecrãs pequenos */
  gap: 20px; /* Espaço entre os itens */
}

.pt-footer__legal-links ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 15px; /* Espaçamento entre os links */
}
.hp-field {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
}