/* index-overrides-v1365-rounded.css
   Unificação dos cantos arredondados para imagens dos cards da HOME.
   Escopo: Home > "Desafios & Soluções" (.desafios-solucoes .ds-img) e
           Home > Cards de Serviços (.service-card-media).
   Zero impacto em layout/funcionalidades.
*/

:root{ --infra-card-radius: clamp(12px, 1.2vw, 16px); }

/* Desafios & Soluções */
.desafios-solucoes .ds-img{
  border-radius: var(--infra-card-radius);
  overflow: hidden;
}
.desafios-solucoes .ds-img picture,
.desafios-solucoes .ds-img img{
  border-radius: inherit;
}

/* Cards de Serviços (Home) */
.service-card-media{
  border-radius: var(--infra-card-radius);
  overflow: hidden;
}
.service-card-media picture,
.service-card-media img{
  border-radius: inherit;
  display: block;
}

/* === v1365 patch EXT: Home > KPIs / Produtos / Depoimentos =================== */

/* KPIs (aplica se houver imagens/figuras no bloco) */
.kpis .kpi-grid img,
.kpis .kpi-grid picture,
.kpis .kpi-grid figure {
  border-radius: var(--infra-card-radius);
  overflow: hidden;
}

/* Produtos (cards genéricos do site, inclusive se aparecerem na Home) */
.products-grid .product-card .product-media,
.product-card .product-media,
.product-card .product-media picture,
.product-card .product-media img {
  border-radius: var(--infra-card-radius);
  overflow: hidden;
}

/* Depoimentos (se houver avatar ou imagem do cliente) */
.depoimentos-home .depoimento-card img,
.depoimentos-home .depoimento-card picture,
.depoimentos-home .depoimento-card figure {
  border-radius: var(--infra-card-radius);
  overflow: hidden;
}

/* =========================================================================== */

/* === v1365 patch EXT2: Alinhamento dos botões (CTAs) nos cards de Serviços da Home ===
   Objetivo: forçar os botões a ficarem alinhados entre os cards, ancorando o bloco .cta no rodapé do card.
   Escopo: Home > seção "Sobre a INFRA" (.sobre-infra .services-grid .service-card)
   Zero impacto fora da Home.
*/
.sobre-infra .services-grid .service-card{
  display: flex;           /* sobrescreve grid do tema nesta seção */
  flex-direction: column;
  height: 100%;
}

.sobre-infra .services-grid .service-card .cta{
  margin-top: auto;        /* empurra CTAs para a base do card */
  display: flex;
  flex-direction: column;  /* mantém botões em coluna (um por linha) */
  gap: 10px;
  align-items: center;
  justify-content: center;
}
/* ================================================================================ */

/* === v1365 patch EXT3: Nivelamento (título + descrição) para alinhamento absoluto dos cards ===
   Escopo: Home > seção "Sobre a INFRA" (services-grid)
   Objetivo: garantir que título e descrição ocupem altura consistente entre todos os cards,
   mantendo os CTAs ancorados ao rodapé (EXT2).
*/
.sobre-infra .services-grid .service-card .service-card-title{
  min-height: clamp(44px, 4.2vw, 68px);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-bottom: 8px;
}

.sobre-infra .services-grid .service-card .service-card-desc{
  min-height: clamp(88px, 8.5vw, 132px);
}

/* Mobile: alturas um pouco menores para evitar espaços vazios excessivos */
@media (max-width: 680px){
  .sobre-infra .services-grid .service-card .service-card-title{
    min-height: clamp(36px, 7vw, 56px);
  }
  .sobre-infra .services-grid .service-card .service-card-desc{
    min-height: clamp(72px, 13vw, 112px);
  }
}
/* ================================================================================================= */

/* === v1365 patch EXT4: Equalização da altura dos CTAs (botão 1 + botão 2) ===
   Contexto: em alguns cards o primeiro CTA tinha altura ligeiramente diferente
   (variação de fonte/weight/letter-spacing), causando offset visual.
   Estratégia: padronizar altura mínima, padding e vertical alignment dos botões,
   mantendo coluna e baseline de EXT2/EXT3.
*/
.sobre-infra .services-grid .service-card .cta .btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.1;
  padding: 10px 18px;        /* padroniza */
  min-height: 44px;          /* altura visual consistente para 1 linha */
}

@media (max-width: 680px){
  .sobre-infra .services-grid .service-card .cta .btn{
    min-height: 42px;
    padding: 10px 16px;
  }
}
/* ============================================================================= */

/* === v1365 patch EXT5: CTAs mais para baixo (encostar no rodapé do card) ===
   Estratégia: reduzir padding-bottom do card e remover margens residuais dos CTAs.
*/
.sobre-infra .services-grid .service-card{
  padding-bottom: clamp(4px, 0.8vw, 10px);
}
.sobre-infra .services-grid .service-card .cta{
  margin-bottom: 0;
  padding-bottom: 0;
}
.sobre-infra .services-grid .service-card .cta .btn{
  margin-bottom: 0;
}
/* =========================================================================== */

/* === v1365 patch EXT5B: CTAs mais colados no rodapé (micro‑tuning por breakpoint) === */
@media (min-width: 1024px){
  .sobre-infra .services-grid .service-card{ padding-bottom: 0 !important; }
  .sobre-infra .services-grid .service-card .cta{
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  .sobre-infra .services-grid .service-card > *:last-child{ margin-bottom: 0 !important; }
}
@media (max-width: 1023.98px){
  .sobre-infra .services-grid .service-card{ padding-bottom: 4px; } /* evita clipping no touch */
}
/* ========================================================================= */

/* === v1365 patch EXT5C: Subir um pouco os CTAs (gap controlado do rodapé) ===
   Desktop: 12px de respiro; Mobile/Tablet: 10px
   Mantém EXT2/EXT3/EXT4 e micro-tuning anterior.
*/
@media (min-width: 1024px){
  .sobre-infra .services-grid .service-card{ padding-bottom: 12px !important; }
  .sobre-infra .services-grid .service-card .cta{ margin-bottom: 2px !important; }
}
@media (max-width: 1023.98px){
  .sobre-infra .services-grid .service-card{ padding-bottom: 10px !important; }
}
/* ============================================================================ */
