.elementor-434 .elementor-element.elementor-element-d022674{--display:flex;--min-height:480px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--overlay-opacity:0.5;}.elementor-434 .elementor-element.elementor-element-d022674:not(.elementor-motion-effects-element-type-background), .elementor-434 .elementor-element.elementor-element-d022674 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-text );background-image:url("https://clinicaalmarr.com.br/wp-content/uploads/2025/05/075A3932-scaled.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-434 .elementor-element.elementor-element-d022674::before, .elementor-434 .elementor-element.elementor-element-d022674 > .elementor-background-video-container::before, .elementor-434 .elementor-element.elementor-element-d022674 > .e-con-inner > .elementor-background-video-container::before, .elementor-434 .elementor-element.elementor-element-d022674 > .elementor-background-slideshow::before, .elementor-434 .elementor-element.elementor-element-d022674 > .e-con-inner > .elementor-background-slideshow::before, .elementor-434 .elementor-element.elementor-element-d022674 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-text );--background-overlay:'';}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-434 .elementor-element.elementor-element-8db4d7b{width:var( --container-widget-width, 69% );max-width:69%;--container-widget-width:69%;--container-widget-flex-grow:0;text-align:center;}.elementor-434 .elementor-element.elementor-element-8db4d7b > .elementor-widget-container{margin:0em 0em 2em 0em;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-8db4d7b.elementor-element{--align-self:center;}.elementor-434 .elementor-element.elementor-element-8db4d7b .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:47px;font-weight:500;text-transform:uppercase;line-height:64px;color:#FFFCF7;}.elementor-434 .elementor-element.elementor-element-d7aa3cc{--display:flex;--min-height:67em;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0em;--padding-bottom:0em;--padding-left:10em;--padding-right:10em;}.elementor-434 .elementor-element.elementor-element-d7aa3cc:not(.elementor-motion-effects-element-type-background), .elementor-434 .elementor-element.elementor-element-d7aa3cc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-434 .elementor-element.elementor-element-d7aa3cc.e-con{--align-self:center;}.elementor-434 .elementor-element.elementor-element-c42b0d6{width:var( --container-widget-width, 69% );max-width:69%;--container-widget-width:69%;--container-widget-flex-grow:0;text-align:left;}.elementor-434 .elementor-element.elementor-element-c42b0d6 > .elementor-widget-container{margin:0em 0em 2em 4em;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-c42b0d6.elementor-element{--align-self:flex-start;}.elementor-434 .elementor-element.elementor-element-c42b0d6 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:37px;font-weight:500;text-transform:none;line-height:64px;color:#FFFCF7;}.elementor-widget-testimonial-carousel .elementor-testimonial__text{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-testimonial-carousel .elementor-testimonial__name{color:var( --e-global-color-text );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-testimonial-carousel .elementor-testimonial__title{color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-434 .elementor-element.elementor-element-c5f0faa > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-c5f0faa .elementor-swiper-button{font-size:20px;}.elementor-434 .elementor-element.elementor-element-94627c4 > .elementor-widget-container{margin:-3em 0em 0em 0em;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-94627c4 .elementor-swiper-button{font-size:20px;}.elementor-434 .elementor-element.elementor-element-4a01b5b > .elementor-widget-container{margin:-3em 0em 0em 0em;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-4a01b5b .elementor-swiper-button{font-size:20px;}.elementor-434 .elementor-element.elementor-element-7c37280{width:var( --container-widget-width, 69% );max-width:69%;--container-widget-width:69%;--container-widget-flex-grow:0;text-align:left;}.elementor-434 .elementor-element.elementor-element-7c37280 > .elementor-widget-container{margin:0em 0em 2em 2em;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-7c37280.elementor-element{--align-self:flex-start;}.elementor-434 .elementor-element.elementor-element-7c37280 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:37px;font-weight:500;text-transform:none;line-height:64px;color:#FFFCF7;}.elementor-434 .elementor-element.elementor-element-d931f5a > .elementor-widget-container{margin:-3em 0em 0em 0em;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-d931f5a .elementor-swiper-button{font-size:20px;}.elementor-434 .elementor-element.elementor-element-acac7c3 > .elementor-widget-container{margin:-3em 0em 0em 0em;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-acac7c3 .elementor-swiper-button{font-size:20px;}.elementor-434 .elementor-element.elementor-element-f8dcaa7 > .elementor-widget-container{margin:-3em 0em 0em 0em;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-f8dcaa7 .elementor-swiper-button{font-size:20px;}.elementor-434 .elementor-element.elementor-element-d109c6f > .elementor-widget-container{margin:-3em 0em 0em 0em;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-d109c6f .elementor-swiper-button{font-size:20px;}.elementor-434 .elementor-element.elementor-element-8caf594 > .elementor-widget-container{margin:-3em 0em 0em 0em;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-8caf594 .elementor-swiper-button{font-size:20px;}.elementor-434 .elementor-element.elementor-element-ae70a67 > .elementor-widget-container{margin:-3em 0em 0em 0em;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-ae70a67 .elementor-swiper-button{font-size:20px;}@media(max-width:1024px){.elementor-434 .elementor-element.elementor-element-d7aa3cc{--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-434 .elementor-element.elementor-element-c5f0faa{width:100%;max-width:100%;}}@media(min-width:1367px){.elementor-434 .elementor-element.elementor-element-d022674:not(.elementor-motion-effects-element-type-background), .elementor-434 .elementor-element.elementor-element-d022674 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:scroll;}}@media(max-width:767px){.elementor-434 .elementor-element.elementor-element-8db4d7b{width:100%;max-width:100%;}.elementor-434 .elementor-element.elementor-element-8db4d7b > .elementor-widget-container{margin:0em 1em 0em 1em;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-8db4d7b .elementor-heading-title{font-size:27px;line-height:1.3em;letter-spacing:1px;}.elementor-434 .elementor-element.elementor-element-e2be950.elementor-element{--align-self:center;}.elementor-434 .elementor-element.elementor-element-d7aa3cc{--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-434 .elementor-element.elementor-element-9f99f98 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:7px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-c42b0d6{width:100%;max-width:100%;text-align:center;}.elementor-434 .elementor-element.elementor-element-c42b0d6 > .elementor-widget-container{margin:0em 1em 0em 1em;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-c42b0d6 .elementor-heading-title{font-size:27px;line-height:1em;letter-spacing:1.4px;}.elementor-434 .elementor-element.elementor-element-c5f0faa{width:100%;max-width:100%;}.elementor-434 .elementor-element.elementor-element-c5f0faa > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-94627c4 > .elementor-widget-container{margin:-3em 0em 0em 0em;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-4a01b5b > .elementor-widget-container{margin:-3em 0em 0em 0em;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-7c37280{width:100%;max-width:100%;text-align:center;}.elementor-434 .elementor-element.elementor-element-7c37280 > .elementor-widget-container{margin:0em 1em 0em 1em;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-7c37280 .elementor-heading-title{font-size:27px;line-height:1em;letter-spacing:1.4px;}.elementor-434 .elementor-element.elementor-element-d931f5a > .elementor-widget-container{margin:0em 0em 0em 0em;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-acac7c3 > .elementor-widget-container{margin:-3em 0em 0em 0em;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-f8dcaa7 > .elementor-widget-container{margin:-3em 0em 0em 0em;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-d109c6f > .elementor-widget-container{margin:-3em 0em 0em 0em;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-8caf594 > .elementor-widget-container{margin:-3em 0em 0em 0em;padding:0px 0px 0px 0px;}.elementor-434 .elementor-element.elementor-element-ae70a67 > .elementor-widget-container{margin:-3em 0em 0em 0em;padding:0px 0px 0px 0px;}}/* Start custom CSS for testimonial-carousel, class: .elementor-element-c5f0faa *//* ====== MOBILE: vira grade 2x2 e desliga o swipe ====== */
@media (max-width: 767px){
  /* liberar overflow do swiper do Elementor */
  .proc-group.nao .swiper,
  .proc-group.semi .swiper,
  .proc-group.nao .elementor-main-swiper,
  .proc-group.semi .elementor-main-swiper{
    overflow: visible !important;
  }

  /* wrapper vira GRID 2 colunas */
  .proc-group.nao .swiper-wrapper,
  .proc-group.semi .swiper-wrapper{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 12px !important;
    transform: none !important;       /* mata translate do swiper */
    width: 100% !important;
  }

  /* slides “soltos” no grid */
  .proc-group.nao .swiper-slide,
  .proc-group.semi .swiper-slide{
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
  }

  /* mostra só 4 itens (2+2) por grupo */
  .proc-group.nao .swiper-slide:nth-child(n+5),
  .proc-group.semi .swiper-slide:nth-child(n+5){
    display: none !important;
  }

  /* some setas e paginação */
  .proc-group.nao .elementor-swiper-button,
  .proc-group.semi .elementor-swiper-button,
  .proc-group.nao .swiper-pagination,
  .proc-group.semi .swiper-pagination{
    display: none !important;
  }

  /* card em coluna + CTA no rodapé */
  .proc-group.nao .swiper-slide,
  .proc-group.semi .swiper-slide,
  .proc-group.nao .swiper-slide .elementor-column,
  .proc-group.semi .swiper-slide .elementor-column,
  .proc-group.nao .swiper-slide .elementor-widget-wrap,
  .proc-group.semi .swiper-slide .elementor-widget-wrap{
    display: flex; flex-direction: column; height: 100% !important;
  }
  .proc-group.nao .elementor-widget-text-editor,
  .proc-group.semi .elementor-widget-text-editor{ flex-grow: 1; }
  .proc-group.nao .elementor-widget-button,
  .proc-group.semi .elementor-widget-button{
    margin-top: auto !important; align-self: flex-start !important;
  }

  /* alinhamentos à esquerda */
  .proc-group.nao .elementor-widget-heading,
  .proc-group.semi .elementor-widget-heading,
  .proc-group.nao .elementor-widget-text-editor,
  .proc-group.semi .elementor-widget-text-editor,
  .proc-group.nao .elementor-widget-button,
  .proc-group.semi .elementor-widget-button,
  .proc-group.nao .tag-tipodeprocedimento,
  .proc-group.semi .tag-tipodeprocedimento{
    text-align: left !important; justify-content: flex-start !important;
  }
  .proc-group.nao .elementor-widget-text-editor p,
  .proc-group.semi .elementor-widget-text-editor p{
    text-align: left !important;
  }
}

/* ====== TABLET: também em grade 2 colunas, sem swipe ====== */
@media (min-width: 768px) and (max-width: 1025px){
  .proc-group.nao .swiper,
  .proc-group.semi .swiper,
  .proc-group.nao .elementor-main-swiper,
  .proc-group.semi .elementor-main-swiper{
    overflow: visible !important;
  }

  .proc-group.nao .swiper-wrapper,
  .proc-group.semi .swiper-wrapper{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    column-gap: 12px !important;
    row-gap: 8px !important;
    transform: none !important;
    width: 100% !important;
  }

  .proc-group.nao .swiper-slide,
  .proc-group.semi .swiper-slide{
    width: auto !important; height: auto !important; margin: 0 !important;
    overflow: visible !important;
  }

  .proc-group.nao .elementor-swiper-button,
  .proc-group.semi .elementor-swiper-button,
  .proc-group.nao .swiper-pagination,
  .proc-group.semi .swiper-pagination{
    display: none !important;
  }

  .proc-group.nao .swiper-slide > .elementor-widget-wrap,
  .proc-group.semi .swiper-slide > .elementor-widget-wrap{
    display: flex; flex-direction: column; height: 100% !important;
    padding-inline: 10px !important; box-sizing: border-box;
  }
  .proc-group.nao .elementor-widget-text-editor,
  .proc-group.semi .elementor-widget-text-editor{ flex-grow: 1; }
  .proc-group.nao .elementor-widget-button,
  .proc-group.semi .elementor-widget-button{
    margin-top: auto !important; align-self: flex-start !important;
  }

  .proc-group.nao .elementor-widget-heading,
  .proc-group.semi .elementor-widget-heading,
  .proc-group.nao .elementor-widget-text-editor,
  .proc-group.semi .elementor-widget-text-editor,
  .proc-group.nao .elementor-widget-button,
  .proc-group.semi .elementor-widget-button,
  .proc-group.nao .tag-tipodeprocedimento,
  .proc-group.semi .tag-tipodeprocedimento{
    text-align: left !important; justify-content: flex-start !important;
  }
  .proc-group.nao .elementor-widget-text-editor p,
  .proc-group.semi .elementor-widget-text-editor p{
    text-align: left !important;
  }

  html, body{ overflow-x: hidden !important; width: 100% !important; }
}

/* 2) Limita a descrição a 3 linhas (line-clamp) */
.proc-slider .swiper-slide .elementor-widget-text-editor .elementor-widget-container {
  line-height: 1.45; /* ajuste fino se quiser */
}
.proc-slider .swiper-slide .elementor-widget-text-editor .elementor-widget-container p{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* <= número de linhas */
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 12px; /* respiro antes do CTA */
}

/* 3) Empurra o botão .btn-proce para a base do card */
.proc-slider .swiper-slide .elementor-widget-html:has(.btn-proce),
.proc-slider .swiper-slide .elementor-widget-shortcode:has(.btn-proce),
.proc-slider .swiper-slide .elementor-widget-text-editor:has(.btn-proce) {
  margin-top: auto !important;
  width: 100%;
}
.proc-slider .swiper-slide .btn-proce{
  width: 100%;
}

/* ===========================
   GRID – títulos e descrições
   (sem conflitos e sem corte)
   =========================== */

/* defaults de line-height (ajuste fino se precisar) */
:root{
  --title-lh: 1.30;   /* título: 1.25–1.35 */
  --desc-lh : 1.45;   /* descrição */
}

/* MOBILE + TABLET (≤1024px)
   - Título sempre 2 linhas
   - Descrição sempre 3 linhas
*/
@media (max-width: 1024px){
  .title-grid{
    line-height: var(--title-lh);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: anywhere;
    min-height: calc(2 * 1em * var(--title-lh));
    padding-bottom: 2px;                  /* folga anti-corte */
  }

  .description-grid{
    line-height: var(--desc-lh);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: anywhere;
    min-height: calc(3 * 1em * var(--desc-lh));
  }
}

/* DESKTOP (≥1025px)
   - Título sempre 2 linhas (força 2 mesmo se tiver 1)
   - Descrição sempre 2 linhas
*/
@media (min-width: 1025px){
  .title-grid{
    line-height: var(--title-lh) !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    overflow-wrap: anywhere;

    /* força altura de 2 linhas + folga para não “beliscar” */
    min-height: calc(2 * 1em * var(--title-lh) + 2px) !important;
    padding-bottom: 2px !important;
  }

  .description-grid{
    line-height: var(--desc-lh);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: anywhere;
    min-height: calc(2 * 1em * var(--desc-lh));
  }
}/* End custom CSS */
/* Start custom CSS */.elementor-heading-title.elementor-size-default{
    font-family: montserrat !important;
    font-weight: 400 !important;
    font-style: normal !important;
}

.elementor-widget-container p{
    font-family: montserrat;
    font-style: normal !important;
    font-size: 16px !important;
}

.btn-proce {
  display: flex;                 /* (ajuste) antes: inline-flex */
  width: 100%;                   /* (ajuste) ocupa toda a linha */
  box-sizing: border-box;        /* (ajuste) padding não “estoura” a largura */
  align-items: center;
  justify-content: flex-end;
  gap: 12px;                     /* espaço entre seta e texto */
  font-size: 17px; 
  font-weight: 400;
  text-decoration: none;
  border-bottom: 2px solid currentColor;
  color: #FFFCF7; 
  padding: 10px 0;
  transition: all 0.3s ease;
  background: transparent;       /* fundo inicial transparente */
}

.btn-proce .arrow {
  font-size: 22px; 
  transition: transform 0.3s ease, margin-right 0.3s ease;
}

.btn-proce:hover {
  color: #FFFCF7;               /* texto branco */
  background: #2E2E2E;          /* fundo escuro */
  border-bottom-color: #2E2E2E; /* borda acompanha o fundo */
  padding: 10px 15px;           /* leve respiro no hover */
}

.btn-proce:hover .arrow {
  transform: translateX(5px);
  margin-right: -5px;
}

.bnt-proce {
  font-size: 17px;
  background: transparent;
  color: #000;
  border: 1px solid #000;
  padding: 8px 20px;
  border-radius: 4px;
  text-decoration: none;
  display: inline-block;
  position: relative; /* garante que o z-index funcione */
  z-index: 10;        /* força o botão a ficar acima */
  transition: all 0.3s ease;
}

.bnt-proce:hover {
  background: #222;   /* fundo escuro */
  color: #fff;        /* texto branco */
  border-color: #222; /* borda igual ao fundo */
}

.btn-proce {
  position: relative;
  z-index: 10;
}

.card img {
  position: relative;
  z-index: 20;
}

.card img {
  position: relative;
  z-index: 1;
}

.card img {
  position: relative;
  z-index: 1;
}

.tag-tipodeprocedimento{
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  color: #2E2E2E;            /* texto atualizado */
  background: #FFF5E3;       /* fundo */
  display: inline-block;
  border-radius: 50px;
  font-style: normal;
  padding: 14px 30px;
}


.elementor-heading-title.elementor-size-default{
    font-family: montserrat !important;
    font-weight: 400 !important;
    font-style: normal !important;
}

.elementor-widget-container p{
    font-family: montserrat;
    font-style: normal !important;
    font-size: 16px !important;
}

.btn-proce {
  display: flex !important;          /* ocupa a linha toda */
  width: 100% !important;            /* full-width */
  box-sizing: border-box;            /* padding dentro da largura */
  align-items: center;
  justify-content: flex-end;
  gap: 12px;                         /* espaço entre seta e texto */
  font-size: 17px; 
  font-weight: 400;
  text-decoration: none;
  border-bottom: 0 !important;       /* removemos a borda antiga */
  color: #FFFCF7; 
  padding: 10px 0 12px;              /* reserva espaço pro traço */
  transition: all 0.3s ease;
  background: transparent;           /* fundo inicial transparente */
  position: relative;                /* ancôra do ::after */
  z-index: 10;
}

/* sublinhado full-width */
.btn-proce::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:2px;
  background: currentColor;          /* mesma cor do texto */
  pointer-events:none;
}

.btn-proce .arrow {
  font-size: 22px; 
  transition: transform 0.3s ease, margin-right 0.3s ease;
}

.btn-proce:hover {
  color: #FFFCF7;             
  background: #2E2E2E;        
  padding: 10px 15px 12px;     /* mantém o respiro */
}

.btn-proce:hover::after{
  background:#2E2E2E;          /* traço acompanha o fundo */
}

.btn-proce:hover .arrow {
  transform: translateX(5px);
  margin-right: -5px;
}

.bnt-proce {
  font-size: 17px;
  background: transparent;
  color: #000;
  border: 1px solid #000;
  padding: 8px 20px;
  border-radius: 4px;
  text-decoration: none;
  display: inline-block;
  position: relative; /* garante que o z-index funcione */
  z-index: 10; /* força o botão a ficar acima */
  transition: all 0.3s ease;
}

.bnt-proce:hover {
  background: #222;   /* fundo escuro */
  color: #fff;        /* texto branco */
  border-color: #222; /* borda igual ao fundo */
}

/* mantive esses como estavam */
.card img { position: relative; z-index: 20; }
.card img { position: relative; z-index: 1; }
.card img { position: relative; z-index: 1; }

.tag-tipodeprocedimento{
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  color: #2E2E2E;            /* texto atualizado */
  background: #FFF5E3;       /* fundo */
  display: inline-block;
  border-radius: 50px;
  font-style: normal;
  padding: 14px 30px;
}

/* Alinha conteúdo do botão à ESQUERDA */
.btn-proce{
  justify-content: flex-start !important;  /* antes estava flex-end */
  text-align: left;
}

/* Caso eu tenha sugerido antes um ::before “calço”, mata ele */
.btn-proce::before{ content: none !important; }

/* Mantém o respiro só do lado direito no hover (esquerda continua colada) */
.btn-proce{ padding: 10px 0 12px; }
.btn-proce:hover{
  padding-left: 0 !important;
  padding-right: 15px;          /* só abre do lado direito */
}

/* (opcional) se algum container do Elementor força alinhamento à direita */
.elementor-widget a.btn-proce{ justify-content: flex-start !important; }


/* cola a descrição no CTA */
.swiper-slide .elementor-widget-text-editor .elementor-widget-container p:last-child{
  margin-bottom: 0 !important;
}

/* sobe o WIDGET do botão (independe do gap do Elementor) */
.swiper-slide .elementor-widget:has(.btn-proce){
  margin-top: -8px !important;   /* ajusta aqui: -6px, -10px... */
}

/* fallback se :has() não aplicar no teu tema */
.swiper-slide .btn-proce{
  transform: translateY(-8px);   /* mesmo lift visual */
}

/* 1) NÃO deixar a seta "NEXT" cobrir os últimos cards */
.elementor-swiper-button-next,
.elementor-swiper-button-prev{
  width: 40px;               /* hit-area pequena */
  height: 40px;
  z-index: 2;                /* fica abaixo dos links do card */
  right: 6px; left: 6px;     /* empurra um pouco pras bordas (o que existir) */
}

/* links do card por cima de qualquer coisa */
.elementor-swiper .swiper-slide a,
.elementor-swiper .swiper-slide .btn-proce{
  position: relative;
  z-index: 3;
}

/* 2) Se o Swiper estiver com LOOP, os "clones" podem vir sem clique */
.elementor-swiper .swiper-slide-duplicate a,
.elementor-swiper .swiper-slide-duplicate .btn-proce{
  pointer-events: auto !important;
}

/* 3) Garantir que nada esteja cortando/pegando clique fora do slide */
.elementor-swiper .swiper-slide{ overflow: visible !important; }


/* deixar os links SEMPRE clicáveis */
.proc-slider .swiper-slide a,
.proc-slider .swiper-slide .btn-proce{
  position: relative;
  z-index: 20;
  pointer-events: auto;
}

/* evitar corte visual e de clique no fim do slide */
.proc-slider .swiper,
.proc-slider .swiper-slide{ overflow: visible !important; }

/* encolhe e posiciona as setas para não cobrirem os últimos cards */
.proc-slider .elementor-swiper-button-next,
.proc-slider .elementor-swiper-button-prev{
  width: 40px; height: 40px;           /* área menor */
  top: 50%; transform: translateY(-50%);
  z-index: 5;                           /* abaixo dos links (z=20) */
}
.proc-slider .elementor-swiper-button-next{ right: 6px; left: auto; }
.proc-slider .elementor-swiper-button-prev{ left: 6px; right: auto; }

/* alguns temas criam pseudo-elemento gigante na seta: neutraliza */
.proc-slider .elementor-swiper-button-next::before,
.proc-slider .elementor-swiper-button-prev::before{
  content: none !important;
}

/* se estiver usando loop, reabilita clique nos "clones" */
.proc-slider .swiper-slide-duplicate a,
.proc-slider .swiper-slide-duplicate .btn-proce{
  pointer-events: auto !important;
  z-index: 20;
}

/* debug temporário */
.proc-slider .elementor-swiper-button-next,
.proc-slider .elementor-swiper-button-prev{ outline: 2px dashed red; }

/* Links do card sempre por cima */
.proc-slider .swiper-slide a,
.proc-slider .swiper-slide .btn-proce{
  position: relative;
  z-index: 20;
  pointer-events: auto;
}

/* Evita corte/overlay do slide vizinho */
.proc-slider .swiper,
.proc-slider .swiper-slide{ overflow: visible !important; }

/* Reduz a hit-area das setas e impede que roubem o clique */
.proc-slider .elementor-swiper-button-next,
.proc-slider .elementor-swiper-button-prev{
  width: 40px; height: 40px;
  top: 50%; transform: translateY(-50%);
  z-index: 5;
  pointer-events: none;            /* <- mata a placa invisível */
}
.proc-slider .elementor-swiper-button-next i,
.proc-slider .elementor-swiper-button-prev i{
  pointer-events: auto;            /* o clique funciona SÓ no ícone */
}
.proc-slider .elementor-swiper-button-next{ right: 8px; left: auto; }
.proc-slider .elementor-swiper-button-prev{ left: 8px; right: auto; }

/* Se estiver com loop, reativa clique nos clones */
.proc-slider .swiper-slide-duplicate a,
.proc-slider .swiper-slide-duplicate .btn-proce{
  pointer-events: auto !important;
  z-index: 20;
}

/* DEBUG temporário: mostra tamanho da hit-area */
.proc-slider .elementor-swiper-button-next,
.proc-slider .elementor-swiper-button-prev{ outline: 2px dashed red; }

/* o slide (e os clones) PRECISAM aceitar clique */
.proc-slider .swiper-slide,
.proc-slider .swiper-slide-duplicate{
  position: relative;
  pointer-events: auto !important;
  z-index: 1;
}

/* links SEMPRE acima */
.proc-slider .swiper-slide a{ 
  position: relative; 
  z-index: 3; 
  pointer-events: auto !important; 
}

/* o wrapper nunca bloqueia clique */
.proc-slider .swiper, 
.proc-slider .swiper-wrapper{ pointer-events: auto !important; }

/* qualquer preloader/notification/máscara do swiper não intercepta */
.proc-slider .swiper-lazy-preloader,
.proc-slider .swiper-lazy-preloader-white,
.proc-slider .swiper-lazy-preloader-black,
.proc-slider .swiper-notification{
  pointer-events: none !important;
}

/* evita que algo do layout esteja cortando a área do último slide */
.proc-slider .swiper-slide{ overflow: visible !important; }

.proc-slider .swiper-slide{ outline: 1px dashed rgba(255,255,255,.4); }

.tag-tipodeprocedimento{
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-weight: 500;
  font-size: 12px;          /* menor que os 14px de antes */
  line-height: 1.2;
  color: #2E2E2E;           /* mantém contraste */
  background: #DBBB9B;      /* fundo neutro */
  display: inline-block;
  border-radius: 50px;
  font-style: normal;
  padding: 6px 14px;        /* padding reduzido */
}


.elementor-element.elementor-element-e4137bc.elementor-widget.elementor-widget-image{
    border-radius: 10px !important;
}

/* TAGS: borda chique e texto claro */
.tag-tipodeprocedimento{
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-weight: 500;
  font-size: 12px;          
  line-height: 1.2;
  color: #FFF5E3;              /* texto claro */
  background: transparent;     /* sem fundo */
  border: 2px solid #C9A480;   /* borda dourado queimado */
  display: inline-block;
  border-radius: 50px;
  font-style: normal;
  padding: 6px 14px;           
}


/* IMAGENS: bordas arredondadas */
.elementor-element.elementor-element-e4137bc.elementor-widget.elementor-widget-image img {
    border-radius: 12px !important;   /* arredondado sutil */
    overflow: hidden;                 /* evita "vazar" */
}

/* seta esquerda */
.proc-slider .elementor-swiper-button-prev {
  left: -50px; /* joga pro espaço em branco */
  background: rgba(201,164,128,.4);
  border-radius: 50%;
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  transition: all .3s ease;
}
.proc-slider .elementor-swiper-button-prev:hover {
  background: #C9A480;
  color: #fff;
}

/* seta direita */
.proc-slider .elementor-swiper-button-next {
  right: -50px; /* joga pro espaço em branco */
  background: rgba(201,164,128,.4);
  border-radius: 50%;
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  transition: all .3s ease;
}
.proc-slider .elementor-swiper-button-next:hover {
  background: #C9A480;
  color: #fff;
}

/* MOBILE */
@media (max-width: 767px){

  /* 1) sem setas no touch */
  .proc-slider .proc-slider-nav{ display:none !important; }

  /* 2) título + texto */
  .proc-slider h3,
  .proc-slider .card-title{
    font-size: 26px;
    line-height: 1.2;
    text-wrap: balance;     /* quebra mais bonitinha */
    letter-spacing: .2px;
  }
  .proc-slider p{
    font-size: 15.5px;
    line-height: 1.5;
  }

  /* 3) tag “Procedimento …” menor */
  .tag-tipodeprocedimento{
    font-size: 12px;
    padding: 6px 12px;
    border: 1px solid #C9A480;
    color: #FFF5E3;
    background: transparent;
  }

  /* 5) subir o FAB do WhatsApp (seu seletor pode variar) */
  .wa__btn_popup, .whatsapp-fab, #whatsapp-chat{
    bottom: calc(var(--pill-h,48px) + 20px) !important;
  }

  /* 6) pill Estéticos/Cirúrgicos mais compacta */
  .switch-pill{
    padding: 6px 8px;
    gap: 6px;
    border-radius: 999px;
  }
  .switch-pill .pill-btn{
    font-size: 14px;
    padding: 10px 14px;
  }


/* FRAME com proporção fixa para todas as thumbs dos cards */
.proc-grid .elementor-widget-image { 
  /* vira um “quadro” de proporção */
  aspect-ratio: 4 / 5;                /* mude p/ 1/1, 3/4, 16/9 se preferir */
  overflow: hidden;
  border-radius: 14px;                 /* mesmo raio pra todo mundo */
  display: block;                      /* garante box “sólido” */
}

/* ====== LIMITE APENAS À PÁGINA (ajuste o número!) ====== */
body.page-id-4348{

  /* 1) Elementor Image (widget Imagem normal) */
  --thumb-ratio: 4/5; /* mude p/ 3/4, 1/1, 16/9 se quiser */

  /* O quadro de proporção */
  /* caminho A */
  .elementor-widget-image .elementor-image{
    aspect-ratio: var(--thumb-ratio);
    overflow: hidden;
    border-radius: 14px;
    display: block;
  }
  /* a imagem preenche o quadro */
  .elementor-widget-image .elementor-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: inherit;
  }
  /* se vier link <a> envolvendo a imagem */
  .elementor-widget-image .elementor-image a{
    display: block;
    height: 100%;
  }

  /* 2) Elementor Image Box (alguns modelos usam isso) */
  .elementor-widget-image-box .elementor-image-box-img{
    aspect-ratio: var(--thumb-ratio);
    overflow: hidden;
    border-radius: 14px;
    display: block;
  }
  .elementor-widget-image-box .elementor-image-box-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: inherit;
  }

  /* 3) “Plano C” – se algum modelo for estranho, força altura responsiva */
  /* (só atinge IMG dentro dos seus cards, não mexe no resto do site) */
  .elementor-container .elementor-widget-image img{
    height: clamp(220px, 26vw, 320px);
    width: 100%;
    object-fit: cover;
    display: block;
    border-radius: 14px;
  }

  /* Mobile: muita clínica prefere quadrado */
  @media (max-width: 767px){
    .elementor-widget-image .elementor-image,
    .elementor-widget-image-box .elementor-image-box-img{
      aspect-ratio: 1/1;
    }
  }
}

body.page-id-4348 .thumb-bg{
  position: relative;
  overflow: hidden;
  border-radius: 14px;
}
body.page-id-4348 .thumb-bg::before{
  content:"";
  display:block;
  /* mesma proporção da thumb */
  padding-top: calc(100% * 5 / 4); /* 4/5 → inverta se mudar a proporção */
}
/* faz o fundo cobrir o quadro */
body.page-id-4348 .thumb-bg{
  background-size: cover !important;
  background-position: center !important;
}

/* ====== MOBILE: remover faixa vazia no topo + evitar overflow lateral ====== */
@media (max-width: 767px){

  /* 1) zera qualquer espaçamento exagerado da primeira seção da página */
  .elementor-section:first-of-type{
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* 2) se o header sticky deixou um "spacer", colapsa ele no mobile */
  .elementor-sticky__spacer{
    height: 0 !important;
    min-height: 0 !important;
  }

  /* 3) se tiver widget Spacer acima dos botões, mata a altura no mobile */
  .elementor-widget-spacer .elementor-spacer-inner{
    height: 0 !important;
  }

  /* 4) previne qualquer overflow horizontal (aquele filete branco à direita) */
  html, body{
    overflow-x: hidden !important;
    width: 100% !important;
  }

  /* às vezes algum container/slide estoura a largura; força respeitar a viewport */
  .elementor-container,
  .elementor-section,
  .swiper,
  .swiper-wrapper,
  .swiper-slide{
    max-width: 100% !important;
  }
}

@media (max-width: 767px){
  /* dá respiro horizontal dentro de cada card */
  .eval-slider .swiper-slide > .elementor-widget-wrap{
    padding-inline: 10px !important;  /* 8–12px fica lindo */
    box-sizing: border-box;
  }

  /* deixa o slide/célula mostrar qualquer coisa que passe da caixa */
  .eval-slider .swiper-slide{ 
    overflow: visible !important;
  }

  /* evita “corte visual” de letras longas */
  .elementor-widget-heading .elementor-heading-title{
    overflow-wrap: anywhere;    /* quebra onde precisar */
    word-break: break-word;     /* fallback */
    hyphens: auto;              /* hifeniza quando der */
  }
}

/*AAAAAAA*/
/* Mobile: reduzir APENAS os títulos dos CARDS dentro dos grupos */
@media (max-width: 767px){
  .proc-group.nao  .swiper-slide .elementor-widget-heading .elementor-heading-title,
  .proc-group.semi .swiper-slide .elementor-widget-heading .elementor-heading-title{
    font-size: 18px !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: auto;
  }
}
 

/* ================== TABLET (Elementor padrão: 768–1024px) ================== */
@media (min-width: 768px) and (max-width: 1024px){

  /* 0) segurança: evita faixa vazia no topo e filete lateral */
  .elementor-section:first-of-type{
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  .elementor-sticky__spacer{
    height: 0 !important;
    min-height: 0 !important;
  }
  html, body{
    overflow-x: hidden !important;
    width: 100% !important;
  }

  /* 1) troca o carrossel por grid 2xN no tablet (mesmo comportamento do mobile) */
  .eval-slider .swiper{ overflow: visible !important; }
  .eval-slider .swiper-wrapper{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    column-gap: 12px !important;   /* um respiro entre as colunas */
    row-gap: 8px !important;       /* ajusta se quiser mais/menos colado */
    transform: none !important;
  }
  .eval-slider .swiper-slide{
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;  /* nada “cortado” nas bordas */
  }

  /* 2) card em coluna flex: descrição cresce e empurra o CTA
        (mantém TODOS os "Saiba mais" alinhados) */
  .eval-slider .swiper-slide,
  .eval-slider .swiper-slide .elementor-column{
    display: flex;
  }
  .eval-slider .swiper-slide > .elementor-widget-wrap,
  .eval-slider .elementor-column > .elementor-widget-wrap{
    display: flex;
    flex-direction: column;
    height: 100% !important;
    padding-inline: 10px !important; /* rua interna p/ não “comer” letras */
    box-sizing: border-box;
  }
  .eval-slider .elementor-widget-text-editor{ 
    flex-grow: 1;                   /* descrição ocupa o espaço variável */
  }
  .eval-slider .btn-proce,
  .eval-slider .elementor-widget-button{
    margin-top: auto !important;    /* CTA desce pro rodapé do card */
    align-self: flex-start !important; /* alinhado à esquerda */
  }

  /* 3) alinhamentos igual mobile (títulos, textos, tag e CTA à esquerda) */
  .elementor-widget-heading,
  .elementor-widget-text-editor,
  .elementor-widget-button,
  .tag-tipodeprocedimento{
    text-align: left !important;
    justify-content: flex-start !important;
  }
  .elementor-widget-text-editor p{ text-align: left !important; }

  /* 4) corta qualquer espaçamento herdado que empurre as linhas pra baixo */
  .eval-slider .elementor-widget-wrap{
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* Descrições dos cards – APENAS na página de serviços */
.proc-group.nao .elementor-widget-text-editor p,
.proc-group.semi .elementor-widget-text-editor p{
  font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: #2E2E2E;
  font-size: 15px !important;      /* Desktop (>=1025px) */
  line-height: 1.55 !important;
  margin: 0 0 .6rem 0 !important;  /* dá uma apertada no espaço */
}

/* Tablet (768–1024px) */
@media (max-width: 1024px){
  .proc-group.nao .elementor-widget-text-editor p,
  .proc-group.semi .elementor-widget-text-editor p{
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
}

/* Mobile (<=767px) – bem menor */
@media (max-width: 767px){
  .proc-group.nao .elementor-widget-text-editor p,
  .proc-group.semi .elementor-widget-text-editor p{
    font-size: 12.5px !important;   /* pode trocar para 12px se quiser ainda menor */
    line-height: 1.45 !important;
  }
}/* End custom CSS */