/* ===== BOTÃO ROSA GOIABA RTS COM GRADIENTE TÉCNICO ===== */
a.btn-rosa {
  display: inline-block;
  font-family: "Montserrat", "Source Sans Pro", Helvetica, sans-serif;
  font-size: 1.1rem !important; 
  font-weight: 600;
  line-height: 1.2;
  padding: 0.75rem 1.8rem;
  border: none;
  border-radius: 6px;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.5px;

  color: #fff !important;
  /* Gradiente técnico com o goiaba RTS */
  background: linear-gradient(to bottom,
    color-mix(in srgb, #ff6b6b 88%, #fff 12%) 0%,
    #ff6b6b 45%,
    color-mix(in srgb, #ff6b6b 86%, #000 14%) 100%
  );
  /* fallback se o browser não suportar color-mix */
  background: linear-gradient(to bottom,
    #ff8585 0%,
    #ff6b6b 50%,
    #e85a5a 100%
  );

  box-shadow: 0 4px 6px rgba(0,0,0,.34); /*deslocamento para baixo*/ /*blur*/
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
  cursor: pointer;
}

a.btn-rosa.small {
  font-size: 0.875rem;
  padding: 0.5rem 1rem;
}

a.btn-rosa:hover,
a.btn-rosa:focus {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
  filter: brightness(.97);
  outline: none;
}

a.btn-rosa:focus-visible {
  box-shadow: 0 0 0 3px rgba(255,107,107,0.35);
}


/*text align*/
.text-start {
  text-align: left !important;
}

.text-end {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

/* Para anular a regra 'uppercase' e respeitar o HTML */
.text-none {
    text-transform: none !important;
}


.underline-fisio-animate{
  --ink:#00AFEF;            /* cor da linha */
  --offset-y:0.12em;        /* quão perto do baseline */
  --reveal:0;               /* 0..1 */
  background-image: linear-gradient(var(--ink), var(--ink));
  background-repeat: no-repeat;
  background-position: 0 calc(100% - var(--offset-y));
  background-size: calc(var(--reveal) * 100%) 2px; /* espessura */
  transition: background-size 0.9s ease-out 2s; /* 0.9s duração + 2s atraso */
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.highlight-progress{
  --ink:#ffea7f;
  --pad-y:.15em; --offset-y:.1em; --reveal:0;
  background-image: linear-gradient(var(--ink), var(--ink));
  background-repeat:no-repeat;
  background-position: 0 calc(100% - var(--offset-y));
  background-size: calc(var(--reveal)*100%) calc(1em + var(--pad-y)*2);
  transition: background-size 1.4s ease-out;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

@media (prefers-reduced-motion: reduce){
  .highlight-progress{ transition: none; }
}


/*font-size*/
.h2-fluid {
  /* mínimo 1.25rem, cresce com viewport até 2rem no máx. */
  font-size: clamp(1.5rem, 2.5vw, 2rem) !important;
}

.fs-10 {
  font-size: 0.75rem !important;
}

.fs-9 {
  font-size: 1rem !important;
}

.fs-85 {
  font-size: 1.1rem !important;
}

.fs-8 {
  font-size: 1.333rem !important;
}

.fs-75 {
  font-size: 1.5rem !important;
}

.fs-7 {
  font-size: 1.777rem !important;
}

.fs-6 {
  font-size: 2.369rem !important;
}

.fs-5 {
  font-size: 3.157rem !important;
}

.fs-4 {
  font-size: 4.199rem !important;
}

.fs-3 {
  font-size: 5.584rem !important;
}

.fs-2 {
  font-size: 7.427rem !important;
}

.fs-1 {
  font-size: 9.878rem !important;
}

/*Font Family*/
.baskerville-r {
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: normal;
}

.baskerville-b {
  font-family: "Libre Baskerville", serif;
  font-weight: 700;
  font-style: normal;
}

.baskerville-i {
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: italic;
}

.source-r {
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 400;
  font-style: normal;
}

/*Font weight*/

.fw-200 {
    font-weight: 200!important;
}

.fw-300 {
    font-weight: 300!important;
}

.fw-400 {
    font-weight: 400!important;
}

.fw-500 {
    font-weight: 500!important;
}

.fw-700 {
    font-weight: 700!important;
}


/*line weight*/
.lh-1 {
  line-height: 1 !important;
}

.lh-sm {
  line-height: 1.25 !important;
}

.lh-base {
  line-height: 1.45 !important;
}

.lh-lg {
  line-height: 2 !important;
}

/* destaque pro local */
.local {
  display:inline-block !important;
  color:#fff !important;
  border-top:1px dashed #fff !important;
  border-bottom:1px dashed #fff !important;
  margin-bottom: 16px;
  font-size: 1.4em;
  text-transform: uppercase;
}


/* Imagem responsiva */
img.responsive {
  max-width: 100%; /* Mantém a imagem responsiva em telas menores */
  height: auto;
  display: block;
}

/* Regra específica para desktop (telas com largura mínima de, por exemplo, 768px) */
@media screen and (min-width: 500px) {
  img.responsive {
    max-width: 450px; /* Limita a largura máxima a 400px em telas maiores */
    margin: 0 auto;
  }
}


/* Colors */
.fc-rosa {
    color: #ff6b6b;
}

.fc-whats {
    color: #00a884 !important;    
}

.fc-silver {
  color: #999 !important;
}

.fc-gold {
    color: #a09e2e;
}

.fc-azul-e {
    color: #394f6e;
}

.fc-fisio {
    color: #00AFEF;
}

.fc-white {
  color: #FFF;
}

.fc-white-60 {
  color: rgb(255, 255, 255 / 0.6);
}

.brd-gold {
  border-color: #a09e2e !important;
}



.brd-whats {
  border-color: #00a884 !important;
  border: 2px solid;
  padding: 1rem !important;
  text-align: center;
  font-weight: 500;
  display: inline-block; 
  line-height: 1.5rem;
}

.brd-destaque {
  border: 2px solid #fff; 
  padding: 12px; 
  display: inline-block;"
}

.brd-silver {
  border-color: #999 !important;
}

.brd-rts {
  border-color: #394f6e !important;
}

.bg-gold {
    background-color: #a09e2e !important;
}

.bg-rts {
    background-color: #394f6e !important;
}

.bg-bege {
    background-color: #e4d5b4 !important;
}

.bg-rts-2 {
    background-color: #1a2739 !important;
}

.bg-azul-e {
    background-color: #394f6e !important;
}

.bg-white {
    background-color: #fff !important;
}

/*paddings*/
.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.p-4 {
  padding: 1.8rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.p-6 {
  padding: 4rem !important;
}

.p-7 {
  padding: 5rem !important;
}

.p-8 {
  padding: 7.5rem !important;
}

.p-9 {
  padding: 10rem !important;
}

.p-10 {
  padding: 12.5rem !important;
}

.p-11 {
  padding: 15rem !important;
}

.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.px-1 {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important;
}

.px-2 {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important;
}

.px-3 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

.px-4 {
  padding-right: 1.8rem !important;
  padding-left: 1.8rem !important;
}

.px-5 {
  padding-right: 3rem !important;
  padding-left: 3rem !important;
}

.px-6 {
  padding-right: 4rem !important;
  padding-left: 4rem !important;
}

.px-7 {
  padding-right: 5rem !important;
  padding-left: 5rem !important;
}

.px-8 {
  padding-right: 7.5rem !important;
  padding-left: 7.5rem !important;
}

.px-9 {
  padding-right: 10rem !important;
  padding-left: 10rem !important;
}

.px-10 {
  padding-right: 12.5rem !important;
  padding-left: 12.5rem !important;
}

.px-11 {
  padding-right: 15rem !important;
  padding-left: 15rem !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.py-3 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.py-4 {
  padding-top: 1.8rem !important;
  padding-bottom: 1.8rem !important;
}

.py-5 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.py-6 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

.py-7 {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

.py-8 {
  padding-top: 7.5rem !important;
  padding-bottom: 7.5rem !important;
}

.py-9 {
  padding-top: 10rem !important;
  padding-bottom: 10rem !important;
}

.py-10 {
  padding-top: 12.5rem !important;
  padding-bottom: 12.5rem !important;
}

.py-11 {
  padding-top: 15rem !important;
  padding-bottom: 15rem !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-1 {
  padding-top: 0.25rem !important;
}

.pt-2 {
  padding-top: 0.5rem !important;
}

.pt-3 {
  padding-top: 1rem !important;
}

.pt-4 {
  padding-top: 1.8rem !important;
}

.pt-5 {
  padding-top: 3rem !important;
}

.pt-6 {
  padding-top: 4rem !important;
}

.pt-7 {
  padding-top: 5rem !important;
}

.pt-8 {
  padding-top: 7.5rem !important;
}

.pt-9 {
  padding-top: 10rem !important;
}

.pt-10 {
  padding-top: 12.5rem !important;
}

.pt-11 {
  padding-top: 15rem !important;
}

.pe-0 {
  padding-right: 0 !important;
}

.pe-1 {
  padding-right: 0.25rem !important;
}

.pe-2 {
  padding-right: 0.5rem !important;
}

.pe-3 {
  padding-right: 1rem !important;
}

.pe-4 {
  padding-right: 1.8rem !important;
}

.pe-5 {
  padding-right: 3rem !important;
}

.pe-6 {
  padding-right: 4rem !important;
}

.pe-7 {
  padding-right: 5rem !important;
}

.pe-8 {
  padding-right: 7.5rem !important;
}

.pe-9 {
  padding-right: 10rem !important;
}

.pe-10 {
  padding-right: 12.5rem !important;
}

.pe-11 {
  padding-right: 15rem !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-1 {
  padding-bottom: 0.25rem !important;
}

.pb-2 {
  padding-bottom: 0.5rem !important;
}

.pb-3 {
  padding-bottom: 1rem !important;
}

.pb-4 {
  padding-bottom: 1.8rem !important;
}

.pb-5 {
  padding-bottom: 3rem !important;
}

.pb-6 {
  padding-bottom: 4rem !important;
}

.pb-7 {
  padding-bottom: 5rem !important;
}

.pb-8 {
  padding-bottom: 7.5rem !important;
}

.pb-9 {
  padding-bottom: 10rem !important;
}

.pb-10 {
  padding-bottom: 12.5rem !important;
}

.pb-11 {
  padding-bottom: 15rem !important;
}

.ps-0 {
  padding-left: 0 !important;
}

.ps-1 {
  padding-left: 0.25rem !important;
}

.ps-2 {
  padding-left: 0.5rem !important;
}

.ps-3 {
  padding-left: 1rem !important;
}

.ps-4 {
  padding-left: 1.8rem !important;
}

.ps-5 {
  padding-left: 3rem !important;
}

.ps-6 {
  padding-left: 4rem !important;
}

.ps-7 {
  padding-left: 5rem !important;
}

.ps-8 {
  padding-left: 7.5rem !important;
}

.ps-9 {
  padding-left: 10rem !important;
}

.ps-10 {
  padding-left: 12.5rem !important;
}

.ps-11 {
  padding-left: 15rem !important;
}

/*Margins*/
.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.m-4 {
  margin: 1.8rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.m-6 {
  margin: 4rem !important;
}

.m-7 {
  margin: 5rem !important;
}

.m-8 {
  margin: 7.5rem !important;
}

.m-9 {
  margin: 10rem !important;
}

.m-10 {
  margin: 12.5rem !important;
}

.m-11 {
  margin: 15rem !important;
}

.m-auto {
  margin: auto !important;
}

.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.mx-1 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important;
}

.mx-2 {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important;
}

.mx-3 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}

.mx-4 {
  margin-right: 1.8rem !important;
  margin-left: 1.8rem !important;
}

.mx-5 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}

.mx-6 {
  margin-right: 4rem !important;
  margin-left: 4rem !important;
}

.mx-7 {
  margin-right: 5rem !important;
  margin-left: 5rem !important;
}

.mx-8 {
  margin-right: 7.5rem !important;
  margin-left: 7.5rem !important;
}

.mx-9 {
  margin-right: 10rem !important;
  margin-left: 10rem !important;
}

.mx-10 {
  margin-right: 12.5rem !important;
  margin-left: 12.5rem !important;
}

.mx-11 {
  margin-right: 15rem !important;
  margin-left: 15rem !important;
}

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.my-4 {
  margin-top: 1.8rem !important;
  margin-bottom: 1.8rem !important;
}

.my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.my-6 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}

.my-7 {
  margin-top: 5rem !important;
  margin-bottom: 5rem !important;
}

.my-8 {
  margin-top: 7.5rem !important;
  margin-bottom: 7.5rem !important;
}

.my-9 {
  margin-top: 10rem !important;
  margin-bottom: 10rem !important;
}

.my-10 {
  margin-top: 12.5rem !important;
  margin-bottom: 12.5rem !important;
}

.my-11 {
  margin-top: 15rem !important;
  margin-bottom: 15rem !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top: 0.25rem !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mt-3 {
  margin-top: 1rem !important;
}

.mt-4 {
  margin-top: 1.8rem !important;
}

.mt-5 {
  margin-top: 3rem !important;
}

.mt-6 {
  margin-top: 4rem !important;
}

.mt-7 {
  margin-top: 5rem !important;
}

.mt-8 {
  margin-top: 7.5rem !important;
}

.mt-9 {
  margin-top: 10rem !important;
}

.mt-10 {
  margin-top: 12.5rem !important;
}

.mt-11 {
  margin-top: 15rem !important;
}

.mt-auto {
  margin-top: auto !important;
}

.me-0 {
  margin-right: 0 !important;
}

.me-1 {
  margin-right: 0.25rem !important;
}

.me-2 {
  margin-right: 0.5rem !important;
}

.me-3 {
  margin-right: 1rem !important;
}

.me-4 {
  margin-right: 1.8rem !important;
}

.me-5 {
  margin-right: 3rem !important;
}

.me-6 {
  margin-right: 4rem !important;
}

.me-7 {
  margin-right: 5rem !important;
}

.me-8 {
  margin-right: 7.5rem !important;
}

.me-9 {
  margin-right: 10rem !important;
}

.me-10 {
  margin-right: 12.5rem !important;
}

.me-11 {
  margin-right: 15rem !important;
}

.me-auto {
  margin-right: auto !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.mb-3 {
  margin-bottom: 1rem !important;
}

.mb-4 {
  margin-bottom: 1.8rem !important;
}

.mb-5 {
  margin-bottom: 3rem !important;
}

.mb-6 {
  margin-bottom: 4rem !important;
}

.mb-7 {
  margin-bottom: 5rem !important;
}

.mb-8 {
  margin-bottom: 7.5rem !important;
}

.mb-9 {
  margin-bottom: 10rem !important;
}

.mb-10 {
  margin-bottom: 12.5rem !important;
}

.mb-11 {
  margin-bottom: 15rem !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ms-0 {
  margin-left: 0 !important;
}

.ms-1 {
  margin-left: 0.25rem !important;
}

.ms-2 {
  margin-left: 0.5rem !important;
}

.ms-3 {
  margin-left: 1rem !important;
}

.ms-4 {
  margin-left: 1.8rem !important;
}

.ms-5 {
  margin-left: 3rem !important;
}

.ms-6 {
  margin-left: 4rem !important;
}

.ms-7 {
  margin-left: 5rem !important;
}

.ms-8 {
  margin-left: 7.5rem !important;
}

.ms-9 {
  margin-left: 10rem !important;
}

.ms-10 {
  margin-left: 12.5rem !important;
}

.ms-11 {
  margin-left: 15rem !important;
}

.ms-auto {
  margin-left: auto !important;
}

/* Ajuste global das features para altura automática */
.feature {
  height: auto !important;         /* deixa crescer conforme o conteúdo */
}

/* O pseudo-elemento era usado p/ "centrar" verticalmente com altura fixa — não precisamos mais */
.feature:before {
  display: none !important;
}

/* O contêiner da imagem não pode mais depender de 100% da altura do pai */
.feature .image {
  height: auto !important;
  overflow: visible;               /* deixa a imagem ocupar sua altura natural */
}

/* A imagem volta ao fluxo normal e escala responsiva */
.feature .image img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
}

/* Mantém o “lado a lado” no desktop sem a gambiarra do :before */
.feature .content,
.feature .image {
  vertical-align: top;             /* já que tiramos o truque de alinhamento vertical */
}

/* (Opcional) Empilha no mobile - se quiser garantir stack em telas pequenas */
@media screen and (max-width: 736px) {
  .feature .image,
  .feature .content {
    width: 100% !important;
    float: none !important;
  }
  .feature .content {
    padding: 1.75em !important; /* um pouco menos de padding no mobile */
  }
}


/* Classes de Padding Responsivo Customizadas */

/* PADDING PADRÃO (MOBILE: p-md) */
.pa-lg {
    /* Define o padding pequeno para mobile por padrão */
    padding: 1rem 1.2rem !important; 
}

.pa-md {
    /* Define o padding pequeno para mobile por padrão */
    padding: 1rem 1.5rem !important; 
}

/* PADDING DESKTOP (p-lg) */
@media screen and (min-width: 768px) { /* Breakpoint para telas maiores (Desktop) */
    .pa-lg {
        /* Aumenta o padding apenas em telas grandes */
        padding: 3rem 5rem !important;
    }
    .pa-md {
        /* Aumenta o padding apenas em telas grandes */
        padding: 3rem 5rem !important;
    }

}

.mid-major{ position:relative; text-align:justify; margin:6em auto; padding:0 1em; }

.mid-major__inner{
  position:relative;
  background:#fff;
  margin:0 auto;
  padding:4em 0;
  max-width:40em;

  border-top:1px solid rgba(210,210,210,0.85);
  border-bottom:1px solid rgba(210,210,210,0.85);
}

.mid-major__inner::before,
.mid-major__inner::after{
  content:'';
  position:absolute;
  left:0; right:0;
  height:1px;
  background: rgba(210,210,210,0.85);
}
.mid-major__inner::before{ top:10px; }
.mid-major__inner::after { bottom:10px; }

.mid-major__inner h3{ font-weight:700; font-size:2em; margin:0 0 .8em 0; }
.mid-major__inner p{ max-width:40em; margin:0 auto 2em; line-height:1.6; padding:0 1em; }


/* --- Lista dividida com linha vertical central --- */
.split-points { 
  margin-top: 1.5rem;
}

.split-points .item {
  display: grid;
  grid-template-columns: minmax(180px,1fr) 1px minmax(280px,2fr); /* esq | linha | dir */
  column-gap: 1.25rem;
  row-gap: .5rem;
  align-items: start;
  padding: 1.25rem 0;
}

/* separador entre itens (opcional) */
.split-points .item + .item {
  border-top: 1px solid rgba(210,210,210,.35);
}

.split-points .lead {
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1.2;
  text-align: right; /* alinhado à direita por padrão (desktop) */  
  color: #00AFEF;
}

.split-points .divider {
  width: 1px;
  height: 100%;
  background: #00AFEF; /* mesma família de cor do tema */
  align-self: stretch;
  justify-self: center;
}

.split-points .body {
  line-height: 1.6;  
  font-style: italic;
}

/* cor de acento (herda do seu padrão FISIO); ajuste se quiser */
:root { --accent-fisio: #00AFEF; }

/* desktop permanece como você já tem */
/* ---------- MOBILE ENHANCE ≤736px ---------- */
@media screen and (max-width: 736px) {
  .split-points .item {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;       /* empilha */
    border: 1px solid rgba(210,210,210,.45);
    border-radius: 14px;
    padding: 1.5rem 1.5rem 1.5rem;
    background: #fff;                 /* cartão branco */
    box-shadow: 0 8px 24px rgba(0,0,0,.06);
    margin: 1rem 0;
  }

  /* barrinha colorida à esquerda (impacto visual) */
  .split-points .item::before {
    content: "";
    position: absolute;
    left: 0; top: 10px; bottom: 10px;
    width: 4px;
    background: var(--accent-fisio);
    border-radius: 6px;
  }

  /* título: uppercase, centrado, um pouco maior */
  .split-points .lead {
    text-align: center;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: .02em;
    font-size: 1.25rem;     /* ajuste fino */
    line-height: 1.25;
    padding: 0 .25rem;
  }

  /* a “linha” vira um traço curto abaixo do título, com cor de acento */
  .split-points .divider {
    width: 56%;
    height: 2px;
    background: var(--accent-fisio);
    margin: .6rem auto .75rem;
    border-radius: 2px;
  }

  /* corpo do texto com legibilidade boa */
  .split-points .body {
    font-size: .98rem;
    line-height: 1.6;
    text-align: center;
  }

  /* remove o traço entre itens (ficou cartão) */
  .split-points .item + .item { border-top: 0; }
}

/* 1) Esconde o ícone por padrão (desktop e telas largas) */
.split-points .icon-circle {
  display: none; /* <- some sempre, a menos que o mobile ative */
}

/* 2) Mobile-only (usa o mesmo breakpoint do tema: 736px) */
@media screen and (max-width: 736px) {
  .split-points .icon-circle {
    display: flex;              /* <- agora aparece só no mobile */
    align-items: center;
    justify-content: center;
    margin: 0 auto 10px auto;   /* centraliza e dá espaço abaixo */
    width: 90px;
    height: 90px;
    border: 2px solid #00AFEF;
    border-radius: 50%;
    font-size: 44px;
    color: #00AFEF;
  }

  /* Centralizar todo conteúdo no mobile */
  .split-points .item {
    text-align: center;
  }
}


/* === SLICE-TRI — estável (desktop + mobile), sem scroll interno ========== */
/* Wrapper: só espaçamento; não force overflow-x aqui */
.slice-tri {
  position: relative;
  margin: 3em 0;
  /* variável para controlar a altura da ponta (desktop) */
  --tri-h: 28px;               /* mude aqui se quiser ponta maior/menor */
  overflow-y: visible;         /* deixa a ponta “sair” para baixo */
}

/* Miolo: fundo azul, largura de container e espaço para a ponta */
.slice-tri .stripe {
  position: relative;
  margin: 0 auto;
  max-width: 38.25em;          /* casa com .container.medium do tema */
  text-align: center;

  background: #394f6e;         /* azul escuro RTS */
  color: #fff;

  /* reserva espaço interno para a ponta */
  padding: 3.5rem 1.25rem calc(3.5rem + var(--tri-h));
  overflow: visible;           /* não cortar pseudo-elementos */
}

/* Se houver .box.container dentro, não deixe ele cobrir o azul */
.slice-tri .stripe .box.container {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
}

/* Tipografia interna */
.slice-tri .stripe h2, .slice-tri .stripe h3 { color: #fff; }
.slice-tri .stripe p,  .slice-tri .stripe li { color: rgba(255,255,255,.92); }

/* PONTA — ÚNICA (no ::after do .stripe) */
.slice-tri .stripe::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;                           /* ancorada na base do box */
  transform: translate(-50%, 100%);    /* “sai” 100% para baixo */
  width: 0; height: 0;
  border-left:  var(--tri-h) solid transparent;
  border-right: var(--tri-h) solid transparent;
  border-top:   var(--tri-h) solid #394f6e;  /* mesma cor do fundo */
  z-index: 1;
  transition: none !important;
  animation: none !important;
}

/* === MOBILE (≤736px) — uma única @media ================================= */
@media screen and (max-width: 736px) {
  /* pode manter a mesma altura ou ajustar:*/
     .slice-tri { --tri-h: 24px; }   /* ← exemplo caso queira menor no mobile */
  .slice-tri .stripe {
    padding: 2.25rem 1rem calc(2.25rem + var(--tri-h));
  }
  .slice-tri .stripe::after {
    border-left-width:  var(--tri-h);
    border-right-width: var(--tri-h);
    border-top-width:   var(--tri-h);
  }
}


/* KICKER — versão sóbria e sofisticada */
.kicker {
  display: inline-block;
  font: 700 1rem/1.1 "Source Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;

  color: #f2f2f2;                   /* branco neutro */
  padding: .35rem .8rem;
  border-radius: 999px;

  /* borda prateada discreta */
  border: 1px solid rgba(255,255,255,0.4);
  background: rgba(255,255,255,0.06); /* leve véu acetinado */

  /* sutileza de profundidade */
  box-shadow:
    inset 0 0 1px rgba(255,255,255,0.25), /* brilho interno bem leve */
    0 2px 4px rgba(0,0,0,0.25);           /* sombra externa suave */

  transition: box-shadow .25s ease, background .25s ease;
}

.kicker:hover,
.kicker:focus-visible {
  /* realce sóbrio no hover — luz mais forte, sem neon */
  background: rgba(255,255,255,0.12);
  box-shadow:
    inset 0 0 1px rgba(255,255,255,0.35),
    0 3px 6px rgba(0,0,0,0.28);
}

/* =============== ACCORDION (detalhes) ================= */
:root{
  --acc-border: rgba(210,210,210,.85); /* cinza do tema */
  --acc-accent: #00AFEF;               /* azul RTS para realce */
  --acc-goiaba: #ff6b6b;               /* goiaba RTS (se quiser usar em títulos) */
  --acc-radius: 12px;
}

/* Wrapper */
.acc { 
  max-width: 48rem; 
  margin: 2rem auto; 
}

/* Cada item */
.acc details {
  border: 1px solid var(--acc-border);
  border-radius: var(--acc-radius);
  background: #fff;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
}

/* espaçamento entre itens */
.acc details + details { margin-top: .9rem; }

/* Cabeçalho */
.acc summary {
  list-style: none;        /* remove marker padrão */
  cursor: pointer;
  padding: 1rem 1.1rem;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: .75rem;

  font: 500 1.4rem/1.2 "Source Sans Pro", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: #2a2f36;
}


/* marcador (caret) */
.acc summary::after{
  content: "";
  width: 10px; height: 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);     /* caret para baixo */
  transition: transform .2s ease;
  opacity: .7;
}

/* ao abrir: gira o caret */
.acc details[open] > summary::after{
  transform: rotate(45deg);      /* caret para cima */
}

/* foco/hover sóbrio */
.acc summary:hover { background: rgba(0,0,0,.02); }
.acc summary:focus-visible{
  outline: 2px solid var(--acc-accent);
  outline-offset: 2px;
  border-radius: calc(var(--acc-radius) - 2px);
}

/* Conteúdo */
.acc .acc-panel {
  padding: .25rem 1.1rem 1rem 1.1rem;
  color: #40464f;
  font: 400 1.2rem/1.65 "Source Sans Pro", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* Divisor interno opcional */
.acc .rule {
  height: 1px;
  background: var(--acc-border);
  margin: .6rem 0 .9rem;
  opacity: .75;
}

/* ---------- Variante escura (para dentro da sua seção navy) ---------- */
.acc--dark details{
  background: #394f6e;                 /* navy RTS */
  border-color: rgba(255,255,255,.25);
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
}
.acc--dark summary{
  color: #fff;
}
.acc--dark summary:hover{ background: rgba(255,255,255,.06); }
.acc--dark summary:focus-visible{ outline-color: rgba(255,255,255,.55); }
.acc--dark .acc-panel{
  color: rgba(255,255,255,.92);
}
.acc--dark .rule{
  background: rgba(255,255,255,.35);
}

/* --------- Micro animação de abertura (sutil, sem gaguejar) --------- */
/* Respeita prefers-reduced-motion automaticamente */
@media (prefers-reduced-motion: no-preference){
  .acc details[open] .acc-panel{
    animation: acc-reveal .18s ease-out both;
  }
}
@keyframes acc-reveal {
  from { opacity: 0; transform: translateY(-2px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* =========================
   Depoimentos (Vimeo) — refinado
   ========================= */

/* Gutter padrão (use o mesmo da sua grid) */
:root{ --t-gutter: .75rem; }

.testimonials.box.container {
  /* mantém a “caixa” do tema e aumenta o respiro interno */
  padding: 2.5rem 2rem;
}

/* Cabeçalho da seção */
.testimonials .section-title { text-align:center; margin-bottom: .5rem; }
.testimonials .section-subtitle {
  text-align:center;
  color: rgba(0,0,0,.65);
  max-width: 42rem;
  margin: 0 auto 2rem auto;  
}

.testimonials .section-title {
  text-align: center;
  margin-bottom: .5rem;
  max-width: 40rem;     /* <— adicione esta linha */
  margin-left: auto;    /* <— centraliza */
  margin-right: auto;   /* <— centraliza */
}

.testimonials .section-subtitle {
  text-align: center;
  color: rgba(0,0,0,.65);
  max-width: 36rem;     /* pode ajustar menor que o title se quiser */
  margin: 0 auto 2rem auto;
}


/* Grid com alturas iguais */
.testimonials .row {
  display: flex;
  flex-wrap: wrap;
  margin-left: calc(-1 * var(--t-gutter));
  margin-right: calc(-1 * var(--t-gutter));  
}
.testimonials .row > [class*="col-"] {
  padding-left: var(--t-gutter);
  padding-right: var(--t-gutter);
  display: flex;             /* cada coluna vira flex */
}
.t-item {
  display: flex;
  flex-direction: column;
  gap: .9rem;                 /* espaçamento interno dos blocos do card */
  width: 100%;
  margin-bottom: 2.5rem; /* ajuste conforme desejar: 2.5rem, 3rem… */
}

/* Vídeo responsivo (16:9) */
.video-embed {
  position: relative;
  width: 100%;
  background: #000;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
}
.video-embed::before { content:""; display:block; padding-top: 133.33%;; }
.video-embed iframe {
  position: absolute; inset: 0; width: 100%; height: 100%; border: 0;
}

/* Linha clean para separação vídeo/texto */
.t-rule {
  height: 1px;
  background: rgba(210,210,210,.85);
  margin: .6rem 0 .4rem;
}

/* Tipografia do conteúdo (sem “Destaque”) */
.t-title {
  font: 700 1.15rem/1.25 "Source Sans Pro", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: #00AFEF;
  margin: 0;
  text-align: left;          /* desktop: esquerda */
  max-width: 28rem; /* ou 28rem, ajuste conforme o visual que quiser */
}
.t-lead { 
  font-size: 1.4rem;
  color: #5b5b5b;
  font-weight: 600;
  line-height: 1.2;
  margin: 0;
  margin-top: 1.2rem;
  margin-bottom: 0.75rem;
  text-align: left;          /* desktop: esquerda */
}
.t-body {
   font-size: 1.3rem;
  font-style: italic;
  color: #5b5b5b;
  line-height: 1.4;
  margin: .25rem 0 0;
  text-align: left;          /* desktop: esquerda */
}

/* Aumenta o espaço entre vídeo e texto */
.t-after-video { margin-top: 0.2rem; }

/* --------- Mobile (≤736px) --------- */
@media screen and (max-width: 736px){
  /* textos centralizados no mobile */
  .t-title, .t-lead, .t-body { text-align: center; }

  /* Vídeo full-bleed (ocupa toda a largura do container da seção) */
  .testimonials .row > [class*="col-"] { padding-left: 0; padding-right: 0; }
  .video-embed {
    border-radius: 0;
    box-shadow: none;
    margin-left: calc(-1 * (2rem));    /* compensa padding horizontal da .box.container */
    margin-right: calc(-1 * (2rem));
    width: calc(100% + 4rem);          /* 2rem + 2rem */
  }

  /* se quiser ainda mais “edge-to-edge”, ajuste os 2rem acima
     para o padding real da sua .box.container */

  /* linha um pouco mais suave no mobile */
  .t-rule { opacity: .85; }
  .t-title {
    max-width: 100%; /* ocupa largura total no mobile */
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
}

/* Somente em desktop (ex.: ≥992px ou ≥768px conforme seu tema) */
@media screen and (min-width: 992px) {
  .custom-table td {
    padding-left: 40px !important;
  }
}

:root{
  --accent-goiaba:#ff6b6b;
  --accent-fisio:#00AFEF; /* azul escuro */
  --accent-chumbo:#6e6e6e
  --ink:#1E1E1E;
  --ink-soft:#6E7781;
  --line:#E8EAED;
  --bg-card:#FFFFFF;
}

/* Seção de investimento */
.pricing .t-title{ margin-bottom: .25rem; }
.pricing .t-lead{ color: var(--ink-soft); margin-bottom: 1rem; }

.pricing-anchora{
  font-size: .95rem;
  color: var(--ink);
  margin: 0 0 1rem;
  line-height: 1.2rem;
}
.pricing-anchora .muted{ color: var(--ink-soft); 
font-style:italic;  }

.pricing-list{
  display: grid;
  gap: 12px;
}

/* Card de lote (mobile-first) */
.tier{
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg-card);
  padding: 14px 14px 12px;
}

.tier-head{
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.tier-name{
  font-weight: 700;
  color: var(--ink);
  letter-spacing: .2px;
}
.badge-economy{
  margin-left: auto;
  font-size: .95rem;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid var(--accent-fisio);
  color: var(--accent-fisio);
  white-space: nowrap;
}

.tier.is-best{
  border-color: rgba(0,175,239,.35);
  box-shadow: 0 6px 22px rgba(233,79,100,.08);
  position: relative;
}
.tier.is-best::after{
  content: "Melhor preço";
  position: absolute;
  top: -20px; left: 12px;
  background: var(--accent-fisio);
  color: #fff;
  font-size: .9rem;
  padding: 3px 8px;
  border-radius: 6px;
}

.tier-body{
  display: grid;
  grid-template-columns: auto auto;
  align-items: end;
  gap: 8px 12px;
  border-top: 1px dashed var(--line);
  padding-top: 10px;
}

.price{
  grid-column: 1 / 2;
  display: flex; align-items: baseline; gap: 4px;
  color: var(--ink);
}
.price .currency{ font-size: .95rem; color: var(--ink-soft); }
.price .value{ font-size: 2rem; font-weight: 500; letter-spacing: .2px; }

.deadline{
  grid-column: 2 / 3; justify-self: end;
  font-size: .9rem; color: var(--ink);
}
.note{
  grid-column: 1 / -1;
  margin: 6px 0 0;
  font-size: 1.2rem; color: var(--ink-soft);
}

.tier-foot{
  margin-top: 10px;
}
.btn.btn-primary{
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--accent-goiaba);
  color: #fff; border: 1px solid var(--accent-goiaba);
  border-radius: 10px; padding: 10px 14px;
  font-weight: 400; text-decoration: none;
  letter-spacing: .1rem;
  transition: transform .08s ease, box-shadow .2s ease;
  text-transform: uppercase;
}
.btn.btn-primary:hover{ transform: translateY(-1px); box-shadow: 0 4px 6px rgba(110,119,129,.42); }
.btn.outline{
  background: transparent; color: var(--accent-chumbo);
  border-color: var(--accent-chumbo);
}
.btn.btn-lg{ padding: 14px 18px; font-size: 1rem; border-radius: 12px; }

/* Rodapé da seção */
.pricing-footer{
  margin-top: 10px;
  font-size: .92rem;
  color: var(--ink);
}
.pricing-footer .muted{ color: var(--ink-soft); display: block; margin-top: 4px; font-style:italic; font-size:1.4rem; }

/* CTA fixo só no mobile */
.sticky-cta{
  position: sticky;
  bottom: 10px; /* espaço do viewport */
  display: none; /* desktop: escondido */
  z-index: 30;
  padding: 0 12px;
}
.sticky-cta .btn{
  width: 100%;
  box-shadow: 0 4px 6px rgba(110,119,129,.42);
}

/* Alinhamento e respiro iguais ao resto do site */
.section.pricing .inner { 
  max-width: 50rem; 
  margin: 0 auto; 
}

/* Desktop segue majoritariamente alinhado à esquerda */
.section.pricing .inner,
.section.pricing .pricing-anchora,
.section.pricing .pricing-footer { 
  text-align: left; 
}

/* ====== RESPONSIVO ====== */
@media (min-width: 768px){
  .pricing-list{
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }
  .pricing-anchora{ margin-bottom: 1.25rem; }
  .sticky-cta{ display: none !important; } /* mobile-only */

  #cta.section.cta-final { 
    display: block;
  }
}
@media (max-width: 767.98px){
  .sticky-cta{ display: block; }

   #cta.section.cta-final {
    display: none !important;  /* !important garante que vença qualquer regra anterior */
  }
}

/* Mobile centraliza como o restante da página */
@media (max-width: 736px){
  .section.pricing .inner,
  .section.pricing .pricing-anchora,
  .section.pricing .pricing-footer { 
    text-align: center; 
  }
  .pricing .t-title { text-align: center; }
}

.footer {
  background-color: #394f6e !important ;
}

.whats-rts {
  display: inline-block;
  padding: 0.64286rem 1rem;
  border: 3px solid #00a884;           /* define tudo aqui */
  color: #00a884 !important;
  font-weight: 700;
  font-size: 1.75rem;
  line-height: 1;
  border-radius: 8px;
  text-decoration: none; 
}


/* Hover opcional */
.whats-rts:hover {
  background: #00a884;
  color: #fff !important;
}

.back-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  background-color: var(--accent-fisio, #0E2A47);
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 9999;
}

.back-to-top:hover {
  background-color: var(--accent-goiaba, #E94F64);
  transform: translateY(-3px);
}

.back-to-top.show {
  opacity: 1;
  visibility: visible;
}

/* GRID BASE */
.row{
  display: flex;
  flex-wrap: wrap;
  margin-left: -12px;   /* guters */
  margin-right: -12px;
}
.row > [class*="col-"]{
  padding-left: 12px;
  padding-right: 12px;
  box-sizing: border-box;
}

/* 2 colunas no desktop, 1 no mobile */
.col-6{
  flex: 0 0 50%;
  max-width: 50%;
}
@media (max-width: 736px){
  .col-6{
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* IMAGEM FLUÍDA */
img.responsive{
  display: block;
  width: 100%;
  height: auto;         /* mantém proporção */
}