/* =====================================================================
   VitaClaris – Centro Médico
   Reprodução do layout original (tema Medcity + Elementor) em CSS puro.
   ===================================================================== */

/* ---------- Fontes ---------- */
@font-face{font-family:'RNS Sanz';font-style:normal;font-weight:normal;font-display:swap;src:url('../fonts/rns/RNSSanz-Normal.ttf') format('truetype')}
@font-face{font-family:'RNS Sanz';font-style:normal;font-weight:bold;font-display:swap;src:url('../fonts/rns/RNSSanz-Bold.ttf') format('truetype')}
@font-face{font-family:'RNS Sanz';font-style:normal;font-weight:900;font-display:swap;src:url('../fonts/rns/RNSSanz-ExtraBold.ttf') format('truetype')}
@font-face{font-family:'RNS Sanz';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/rns/RNSSanz-Black.ttf') format('truetype')}
@font-face{font-family:'RNS Sanz';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/rns/RNSSanz-Medium.ttf') format('truetype')}
@font-face{font-family:'RNS Sanz';font-style:oblique;font-weight:normal;font-display:swap;src:url('../fonts/rns/RNSSanz-Light.ttf') format('truetype')}

/* ---------- Variáveis ---------- */
:root{
  --color-primary:#5bdbe4;
  --color-secondary:#003263;
  --color-tertiary:#0c6680;
  --rgb-color-secondary:0,50,99;
  --text:#848e9f;
  --text-editor:#7A7A7A;
  --navy:#013261;
  --topbar:#283b6a;
  --font-body:'Roboto',sans-serif;
  --font-heading:'Quicksand',sans-serif;
  --font-rns:'RNS Sanz',sans-serif;
}

/* ---------- Reset / base ---------- */
*,*:before,*:after{box-sizing:border-box}
html{overflow-x:hidden;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;font-family:var(--font-body);font-size:16px;line-height:1.6875;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;word-wrap:break-word}
img{max-width:100%;height:auto;vertical-align:middle;border:0}
a{color:inherit;text-decoration:none;transition:all 300ms linear 0ms;outline:none}
a:hover{color:var(--color-primary)}
p{margin:0 0 25px}
ul{margin:0 0 25px;padding-left:20px}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-secondary);clear:both;line-height:1.4;margin:0 0 15px;font-weight:bold}
h1{font-size:60px}h2{font-size:43px}h3{font-size:34px}h4{font-size:24px}
.container{width:100%;max-width:1140px;padding:0 15px;margin:0 auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.site{position:relative}

/* Wrapper de seção Elementor ("boxed" 1170px) */
.sec{position:relative}
.sec-inner{max-width:1140px;margin:0 auto;padding:0 15px;display:flex;flex-wrap:wrap}
.sec-inner.gap-no{padding:0}
.col{position:relative;min-height:1px;display:flex;flex-direction:column}
.col-inner{padding:10px;width:100%;flex:1 1 auto;display:flex;flex-direction:column;align-content:flex-start}
.gap-no .col-inner{padding:0}
.col-50{width:50%}.col-25{width:25%}.col-100{width:100%}
.w{margin-bottom:20px}
.w:last-child{margin-bottom:0}

/* ---------- Botões (tema) ---------- */
.btn{background-color:var(--color-primary);font-size:15px;color:#fff;text-transform:capitalize;padding:0 25px;line-height:46px;transition:all 300ms linear 0ms;border-radius:25px;position:relative;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--color-primary);cursor:pointer;font-family:var(--font-body);font-weight:normal;white-space:nowrap}
.btn:hover,.btn:focus{box-shadow:none;outline:none;color:#fff;background-color:#003263;border-color:#003263}
.btn i{margin-right:6px;font-size:15px;position:relative;top:0}
.btn.btn-secondary{background-color:#003263;border-color:#003263}
.btn.btn-secondary:hover,.btn.btn-secondary:focus{background-color:var(--color-primary);border-color:var(--color-primary)}
.btn.btn-outline-secondary{background-color:transparent;border-color:rgba(0,50,99,.9);padding:0 30px;color:#003263}
.btn.btn-outline-secondary:hover{background-color:rgba(0,50,99,.9);color:#fff}
.btn.btn-navy{background-color:#013261;border-color:#013261}
.btn.btn-navy:hover{background-color:var(--color-primary);border-color:var(--color-primary)}
.btn.btn-fullwidth{width:100%}
.cms-button .btn .cms-button-text{font-family:var(--font-rns);font-weight:300}

/* ---------- Títulos das seções (cms_heading) ---------- */
.custom-heading{font-family:var(--font-rns);font-size:50px;font-weight:900;line-height:1.46;margin:0 0 15px;color:var(--color-secondary)}
.heading-center{text-align:center}

/* =====================================================================
   CABEÇALHO
   ===================================================================== */
#site-header-wrap{position:relative;z-index:999;box-shadow:0 5px 83px 0 rgba(14,32,77,.13);background:#fff}
#site-header-wrap .row{display:flex;align-items:center;flex-wrap:wrap;margin:0 -15px}
#site-header-wrap .site-header-top>.container,#site-header-wrap .site-header-main>.container{max-width:100%;padding-left:100px;padding-right:100px}
@media (min-width:1200px) and (max-width:1500px){#site-header-wrap .site-header-top>.container,#site-header-wrap .site-header-main>.container{padding-left:40px;padding-right:40px}}

/* Barra superior */
.site-header-top{background-color:var(--topbar)}
.site-header-top .row{justify-content:space-between}
.header-top-left{font-size:14px;margin:0 15px;display:flex;align-items:center}
.emergency-wrap{position:relative;align-self:flex-end;text-align:center}
.emergency-wrap .h-emergency{display:inline-flex;height:50px;padding:10px 20px 0;background:#fff;color:var(--color-secondary);border-radius:8px 8px 0 0;font-size:13px;cursor:pointer;position:relative;font-family:var(--font-rns);line-height:1.6;user-select:none}
.emergency-wrap .h-emergency:after{content:"\f078";font-family:"Font Awesome 5 Free";font-weight:900;font-size:11px;position:absolute;bottom:7px;left:50%;transform:translateX(-50%);line-height:1}
.emergency-content{min-width:260px;padding:30px 30px 22px;background:#fff;border-radius:0 0 10px 10px;box-shadow:0 5px 83px 0 rgba(14,32,77,.15);position:absolute;top:100%;transform:translateY(20px);left:0;z-index:1;opacity:0;visibility:hidden;transition:all 300ms ease 0s;text-align:left}
.emergency-content.active{opacity:1;visibility:visible;transform:translateY(0)}
.emergency-content h3{font-size:24px;font-weight:600;margin:20px 0 15px;font-family:var(--font-heading)}
.emergency-content p{font-size:14px;padding-bottom:22px;border-bottom:2px solid #e6e8eb;margin-bottom:22px}
.emergency-content a{color:var(--color-secondary);font-size:14px;font-family:var(--font-rns);font-weight:500}
.emergency-content a:hover{color:var(--color-primary)!important}
.emergency-content a i{font-size:13px;margin-left:5px}
.header-top-item{display:flex;align-items:center;line-height:60px;margin-left:30px}
.header-top-item i{color:#43d5cb;margin-right:10px}
.header-top-item i.fa-phone-alt{transform:rotate(0)}
.header-top-item-inner{font-size:13px;color:#f4f4f4}
.header-top-item-inner a{font-family:var(--font-rns);font-size:16px;font-weight:500;color:#f4f4f4}
.header-top-item-inner a:hover{color:var(--color-primary)}
.header-top-right{margin:0 15px}

/* Cabeçalho principal */
.site-header-main .row{position:relative}
.site-branding{margin:0 15px;position:relative;line-height:0}
.site-branding img{max-height:60px;max-width:inherit;width:auto}
.site-navigation{margin:0 15px;flex-grow:1;justify-content:flex-end;display:flex;align-items:center}
.site-main{display:flex;align-items:center;margin-right:-20px}
.main-navigation ul{list-style:none;margin:0;padding:0;display:flex}
.primary-menu>li{position:relative}
.primary-menu>li>a{display:block;font-family:var(--font-rns);font-size:15px;letter-spacing:.02em;color:#003263;font-weight:700;line-height:120px;position:relative;padding:0 16px;transition:all 300ms linear 0ms}
.primary-menu>li>a:before{content:"";position:absolute;left:15px;right:15px;top:0;margin:auto;background:var(--color-primary);height:2px;transform-origin:right center;transform:scale(0,1);transition:transform .25s cubic-bezier(.37,.31,.2,.85)}
.primary-menu>li:hover>a,.primary-menu>li.current>a{color:var(--color-primary)}
.primary-menu>li:hover>a:before,.primary-menu>li.current>a:before{transform-origin:left center;transform:scale(1,1)}
.site-tool{margin:0 0 0 8px;display:flex;align-items:center}
.site-header-button{margin-left:10px}
.site-header-button .btn{font-family:var(--font-rns)}
@media (min-width:1200px) and (max-width:1500px){.site-header-button .btn{font-size:0;padding:0 16px}.site-header-button .btn i{margin:0;font-size:15px;line-height:48px;padding-top:2px}}
#main-menu-mobile{display:none}

/* Cabeçalho fixo ao rolar */
#site-header{transition:all .3s cubic-bezier(.39,.575,.565,1) 0s;background:#fff}
#site-header.h-fixed{position:fixed;left:0;top:0;right:0;z-index:999;box-shadow:0 5px 83px 0 rgba(40,40,40,.12);background:#fff;animation:1.15s ease 0s normal forwards 1 running headerSlideDown}
#site-header.h-fixed .primary-menu>li>a{line-height:90px}
@keyframes headerSlideDown{0%{transform:translateY(-200px)}100%{transform:translateY(0)}}

/* Mobile */
@media (max-width:1199px){
  #site-header-wrap{box-shadow:0 0 5px rgba(0,0,0,.15)}
  #site-header-wrap .site-header-main>.container{padding-left:15px;padding-right:15px}
  .site-header-top{display:none}
  .site-branding{min-height:60px;margin:10px 15px;display:flex;align-items:center}
  .site-branding img{padding:3px 0;max-height:60px}
  #main-menu-mobile{display:block;position:absolute;top:50%;right:15px;transform:translateY(-50%)}
  .btn-nav-mobile{color:#282828;display:inline-block;font-size:16px;height:32px;line-height:32px;text-align:center;vertical-align:middle;width:30px;cursor:pointer;position:relative}
  .btn-nav-mobile:before,.btn-nav-mobile:after,.btn-nav-mobile span{transition:all 300ms linear 0ms;content:"";background:#282828;display:block;height:2px;left:0;margin:auto;position:absolute;right:0;width:22px;top:21px}
  .btn-nav-mobile:before{top:9px}
  .btn-nav-mobile span{top:15px}
  .btn-nav-mobile.opened:before{top:15px;transform:rotate(45deg)}
  .btn-nav-mobile.opened:after{top:15px;transform:rotate(-45deg)}
  .btn-nav-mobile.opened span{display:none}
  .site-navigation{background:#fff;border-top:1px solid rgba(0,0,0,.08);position:absolute;z-index:-1;padding:15px 20px;top:calc(100% + 30px);left:0;right:0;visibility:hidden;opacity:0;transition:all 300ms linear 0ms;display:block;margin:0}
  .site-navigation.navigation-open{opacity:1;visibility:visible;top:100%;z-index:999;overflow-y:auto;max-height:80vh}
  .site-main{display:block;margin:0}
  .main-navigation ul{display:block}
  .primary-menu>li>a{padding:10px 0;line-height:1.6!important;font-size:15px;color:var(--color-secondary)}
  .primary-menu>li>a:before{display:none}
  .site-tool{margin:0;display:block}
  .site-header-button{margin:20px 0}
  #site-header.h-fixed{position:relative;animation:none;box-shadow:none}
}

/* =====================================================================
   SLIDER (topo)
   ===================================================================== */
.hero{position:relative;height:474px;overflow:hidden;background:#e9eef2}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center center;opacity:0;transition:opacity 1s ease;z-index:0}
.hero-slide.active{opacity:1;z-index:1}
.hero-slide .hero-overlay{display:none;position:absolute;inset:0;background:rgba(255,255,255,.3)}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:22px;height:46px;border:0;background:transparent;cursor:pointer;padding:0;color:#fff;font-size:34px;line-height:46px;text-align:center;opacity:1;transition:opacity .3s;text-shadow:0 1px 4px rgba(0,0,0,.35)}
.hero-arrow:hover{opacity:.5}
.hero-arrow.prev{left:35px}.hero-arrow.next{right:35px}
@media (max-width:1320px){.hero-arrow{display:none}}
/* alturas equivalentes ao Slider Revolution original (grades 1170/500, 778/440, 480/400) */
@media (max-width:1199px){.hero{height:calc((100vw - 30px) * .4274)}}
@media (max-width:1024px){.hero{height:min(440px,calc((100vw - 30px) * .5656))}.hero-slide .hero-overlay{display:block}}
@media (max-width:778px){.hero{height:min(400px,calc((100vw - 30px) * .8333))}}

/* =====================================================================
   CAIXAS "AGENDE" (sobre o slider)
   ===================================================================== */
.boxes-wrap{max-width:1140px;margin:0 auto;padding:0 15px}
.boxes{margin:-40px auto 0;position:relative;z-index:2;border-radius:10px;display:flex;flex-wrap:wrap}
.box{color:#fff;padding:43px 50px 34px 50px;display:flex;flex-direction:column}
.box-1{background:#57CAD7;width:33.757%;border-radius:10px 0 0 10px}
.box-2{background:#2C657F;width:34.113%;margin-left:-1px}
.box-3{background:#163264;width:31.794%;border-radius:0 10px 10px 0;margin-left:-2px}
.icon-box{display:flex;text-align:left;margin-bottom:20px}
.icon-box .ib-icon{display:inline-flex;flex:0 0 auto;margin-right:30px}
.icon-box .ib-icon i{font-size:50px;color:#fff;line-height:1;display:block;width:1em;height:1em;text-align:center;transition:transform .3s}
.icon-box:hover .ib-icon i{animation:wobble-h 1s ease-in-out 1}
@keyframes wobble-h{16.65%{transform:translateX(8px)}33.3%{transform:translateX(-6px)}49.95%{transform:translateX(4px)}66.6%{transform:translateX(-2px)}83.25%{transform:translateX(1px)}100%{transform:translateX(0)}}
.icon-box .ib-title{font-family:var(--font-rns);font-size:19px;font-weight:800;color:#fff;margin:0 0 17px;line-height:1.4}
.icon-box .ib-desc{color:#F9F9F9;font-family:var(--font-body);font-size:14px;font-weight:400;line-height:24px;margin:0}
.box-line{display:flex;align-items:center;margin-top:18px}
.box-line+.box-line{margin-top:5px}
.box-line .circle-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#fff;color:#396480;font-size:18px;margin:5px 10px 0 0;flex:0 0 auto;animation:pulse 1.2s ease-in-out infinite}
@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.08)}100%{transform:scale(1)}}
.box-line .circle-icon i{display:block}
.box-line h3{font-family:var(--font-rns);font-size:22px;font-weight:900;color:#fff;margin:15px 0;line-height:1}
.box-line h3 a{color:#fff}
.box-line h3 a:hover{color:var(--color-primary)}
.box-2 .box-line{padding-left:78px}
.btn-outline-white{font-family:var(--font-body);font-size:15px;font-weight:bold;background:transparent;border:2px solid #FFFFFF40;border-radius:21px;padding:9px 20px 7px 20px;color:#fff;display:inline-flex;align-items:center;line-height:1;margin-top:5px;min-height:40px}
.btn-outline-white i{margin-left:7px;font-size:14px}
.btn-outline-white:hover{color:#213360;background:#fff}
.box-3 .hours{margin-left:78px;color:#F4F4F4;font-size:14px;line-height:40px;border-bottom:1px solid #FFFFFF40;font-family:var(--font-rns);text-align:left}
@media (max-width:1024px){
  .boxes{margin-top:-80px}
  .box-1,.box-2,.box-3{width:100%;border-radius:0;margin-left:0}
  .box-3{margin-top:-1px}
  .box-2 .box-line{margin-bottom:10px}
}
@media (max-width:767px){
  .boxes{margin-top:-60px}
  .box{padding:43px 30px 34px 30px}
  .icon-box{display:block}
  .icon-box .ib-icon{margin:0 0 10px}
  .box-2 .box-line{padding-left:0}.box-3 .hours{margin-left:0}
}

/* =====================================================================
   A CLÍNICA
   ===================================================================== */
#aclinica-sec{margin-top:40px}
.clinica-text{font-family:var(--font-rns);font-size:18px;font-weight:300;color:var(--text-editor);margin-bottom:40px}
.clinica-text p:last-child{margin-bottom:0}
.clinica-heading{margin-bottom:40px}
.spacer-50{height:50px}.spacer-150{height:150px}.spacer-200{height:200px}
.clinica-buttons{display:flex;flex-wrap:wrap;margin-top:40px}
.clinica-buttons .cb{padding:10px}
.clinica-buttons .cb-1{width:52.832%;text-align:center}
.clinica-buttons .cb-2{width:46.991%;text-align:left}
.clinica-image{background-position:center center;background-repeat:no-repeat;background-size:contain}
.video-wrap{text-align:center}
.cms-video-button{height:60px;width:60px;background:#fff;z-index:1;color:var(--color-secondary);border-radius:100%;display:inline-flex;align-items:center;justify-content:center;position:relative}
.cms-video-button:before{content:"";position:absolute;z-index:0;left:0;top:0;width:100%;height:100%;background:rgba(14,32,77,.1);border-radius:50%;animation:pulse-border 1500ms ease-out infinite}
.cms-video-button:after{content:"";position:absolute;z-index:1;left:0;top:0;width:100%;height:100%;background:#fff;border-radius:50%;transition:all 200ms}
.cms-video-button i{position:relative;z-index:9;color:#003263;font-size:15px;margin-left:5px}
@keyframes pulse-border{0%{transform:scale(1);opacity:1}100%{transform:scale(1.9);opacity:0}}
@media (max-width:1024px){.clinica-buttons .cb-1,.clinica-buttons .cb-2{width:100%}}
@media (max-width:767px){.col-50{width:100%}.spacer-150{height:80px}.spacer-200{height:100px}.custom-heading{font-size:36px}}

/* =====================================================================
   CORPO CLÍNICO
   ===================================================================== */
#corpoclinico-sec{margin-top:40px}
#corpoclinico-sec .custom-heading{margin-top:40px}
.strip{display:flex;flex-wrap:wrap;width:100%}
.strip .strip-col{width:25%;display:flex;flex-direction:column;justify-content:center;align-items:center}
.strip .strip-col img{width:100%;height:100%;object-fit:cover;display:block}
.strip .strip-col a{display:block;width:100%;height:100%}
.strip .strip-col.marble{background-image:url('../img/marmore01-scaled.jpg');background-size:cover;background-position:center;text-align:left;padding:20px 0}
.strip .strip-col.marble .marble-text{font-family:var(--font-rns);font-weight:300;color:var(--text-editor);margin:0 40px;align-self:center}
.strip .strip-col.marble .marble-text p{margin:0}
.strip .strip-col.marble ul{list-style:none;margin:0 15px;padding:0;font-family:var(--font-rns);font-weight:300;color:var(--text-editor);align-self:flex-start}
.strip .strip-col.marble ul li{margin:0}
.strip .strip-col.marble .cms-button{text-align:center;margin:0 15px}
@media (max-width:1024px){.strip .strip-col{width:50%}.strip .strip-col.marble{min-height:220px}}
@media (max-width:767px){.strip .strip-col{width:100%}.strip .strip-col.marble{padding:30px 0}}

/* Profissional em destaque */
.featured{max-width:1140px;margin:0 auto;padding:0 15px;display:flex;flex-wrap:wrap}
.featured .f-img{width:50%;padding:10px;text-align:right}
.featured .f-img img{width:100%;max-width:100%;border-radius:25px;margin-top:50px}
.featured .f-txt{width:50%;padding:10px;text-align:right}
.featured .f-txt .custom-heading{font-size:24px;font-weight:700;margin:50px 0 15px;text-align:right}
.featured .f-esp{font-family:var(--font-rns);font-size:15px;font-weight:500;color:var(--text-editor);margin:0 0 20px;text-align:right}
.featured .f-esp strong{font-weight:bold}
.featured .f-bio{font-family:var(--font-rns);font-size:14px;font-weight:400;color:var(--text-editor);text-align:right}
.featured .f-bio p:last-child{margin-bottom:0}
@media (max-width:767px){.featured .f-img,.featured .f-txt{width:100%}.featured .f-img img{margin-top:20px}.featured .f-txt .custom-heading{margin-top:20px}}

/* Grade de profissionais (2 colunas) */
.prof-grid{max-width:1140px;margin:0 auto;padding:0 15px;display:flex;flex-wrap:wrap}
.prof{width:50%;padding:0 30px;text-align:right}
.prof h2{font-family:Arial,sans-serif;font-size:21px;font-weight:600;color:#013261;margin:50px 0 10px;line-height:1.4;text-align:right}
.prof-grid.later .prof h2{margin-top:30px}
.prof .p-esp{font-family:var(--font-rns);font-size:15px;font-weight:600;color:var(--text-editor);margin:0 0 20px;text-align:right}
.prof .p-bio{font-family:var(--font-rns);font-weight:300;font-size:16px;color:var(--text-editor);margin:0 0 50px;text-align:right}
.prof .p-bio p{margin-bottom:25px}
.prof .p-bio p:last-child{margin-bottom:0}
.prof .p-bio img.alignleft{float:left;margin:6px 35px 20px 0;width:300px;max-width:100%;height:auto;clear:left}
.prof .p-bio img.alignright{float:right;margin:6px 0 20px 35px;width:300px;max-width:100%;height:auto;clear:right}
.prof .p-bio img.alignnone{display:inline-block;margin:6px 0 20px;width:300px;max-width:100%;height:auto}
.prof.align-left,.prof.align-left h2,.prof.align-left .p-esp,.prof.align-left .p-bio{text-align:left}
.prof .p-bio:after{content:"";display:table;clear:both}
@media (max-width:1024px){.prof{padding:0 15px}}
@media (max-width:767px){.prof{width:100%;text-align:left}.prof h2,.prof .p-esp,.prof .p-bio{text-align:left}.prof .p-bio img.alignleft,.prof .p-bio img.alignright,.prof .p-bio img.alignnone{float:none;display:block;margin:0 auto 20px}}

/* =====================================================================
   ATENDA NA VITACLARIS
   ===================================================================== */
#atenda-sec{margin-top:40px}
#atenda-sec .custom-heading{margin:40px 0}

/* =====================================================================
   CONTATO
   ===================================================================== */
#contato-sec .custom-heading{margin:40px 0}
.contact-wrap{max-width:1140px;margin:0 auto;padding:0 15px}
.contact-box{border-radius:22px;padding:67px 70px 53px 70px;display:flex;flex-wrap:wrap}
.contact-form-col{width:58%;padding:10px;padding-right:80px}
.contact-info-col{width:42%;padding:10px}
.contact-subheading{font-family:var(--font-rns);font-size:17px;font-weight:900;margin:0;color:var(--color-secondary);line-height:1.46}
.contact-desc{font-family:var(--font-rns);font-weight:300;color:var(--text-editor);margin:0 0 20px}
.contact-desc p:last-child{margin-bottom:0}
.cms-contact-form .row{display:flex;flex-wrap:wrap;margin:0 -15px}
.cms-contact-form .col-6{width:50%;padding:0 15px}
.cms-contact-form .col-12{width:100%;padding:0 15px}
.cms-contact-form .input-filled{margin-bottom:30px}
.cms-contact-form input[type=text],.cms-contact-form input[type=email],.cms-contact-form input[type=tel],.cms-contact-form textarea{background:transparent;border-radius:30px;border:2px solid #e6e8eb;color:#003263;padding:0 30px;line-height:normal;height:60px;font-size:14px;transition:all 300ms linear 0ms;box-shadow:none;width:100%;outline:none;font-family:var(--font-body)}
.cms-contact-form textarea{line-height:normal;padding-top:22px;padding-bottom:14px;height:120px;border-radius:22px;resize:vertical}
.cms-contact-form input:focus,.cms-contact-form textarea:focus{border-color:var(--color-primary)}
.cms-contact-form input::placeholder,.cms-contact-form textarea::placeholder{color:inherit;opacity:1}
.cms-contact-form input.invalid,.cms-contact-form textarea.invalid{border-color:#f13c3c!important}
.cms-contact-form .btn{line-height:46px;width:100%}
.cms-contact-form .btn i{margin-left:0;margin-right:6px}
.form-response{font-style:italic;margin:20px 0 0;display:none}
.form-response.ok{display:block;color:#398f14}
.form-response.error{display:block;color:#f13c3c}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.contact-info{background:#7ADBE4;border-radius:25px;padding:35px 60px 60px 60px;margin-bottom:10px;position:relative;height:100%}
.contact-info:before{content:"";display:block;width:3px;position:absolute;left:0;top:60px;bottom:60px;background:var(--color-secondary);z-index:1}
.contact-info .ci-text{color:#102F64;font-family:var(--font-rns);font-size:17px;font-weight:900;line-height:29px;margin:0 0 20px}
.contact-info .ci-text p{margin:0}
.icon-list{list-style:none;margin:60px 0 0;padding:0}
.icon-list li{display:flex;align-items:flex-start;padding-bottom:7.5px;margin-top:7.5px;font-size:inherit}
.icon-list li:first-child{margin-top:0}
.icon-list li:last-child{padding-bottom:0}
.icon-list li a{display:flex;align-items:flex-start;width:100%}
.icon-list .il-icon{display:flex;padding-right:3px;width:1.25em;font-size:16px;color:#fff;flex:0 0 auto;margin-right:5px;line-height:1.4}
.icon-list .il-text{font-family:var(--font-rns);font-size:14px;font-weight:300;color:#102F64;line-height:1.4;padding-left:5px;align-self:center}
.icon-list li a:hover .il-text{color:var(--color-secondary)}
@media (max-width:1024px){
  .contact-box{padding:60px 20px}
  .contact-form-col,.contact-info-col{width:100%;padding-right:10px}
  .contact-info{padding:60px 15px;margin:30px 0 0}
  .contact-info .ci-text{font-size:15px}
}
@media (max-width:767px){.cms-contact-form .col-6{width:100%}.contact-box{padding:40px 10px}}

.map-sec{margin:50px 0 -25px}
.map-sec iframe{width:100%;height:400px;border:0;display:block}

/* =====================================================================
   RODAPÉ
   ===================================================================== */
.site-footer{background:#F1F1F1;padding:40px 10px}
.footer-inner{max-width:1140px;margin:0 auto;padding:0 15px;display:flex;flex-wrap:wrap;align-items:center}
.footer-col{width:25%;padding:10px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.footer-col img{width:250px;height:auto}
.footer-col .copy{color:#7A7A7A;font-size:14px;margin:3px 0 0;white-space:nowrap}
.footer-social{display:flex;align-items:center;justify-content:center;gap:22px;width:100%}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;font-size:25px;color:#2D657D;line-height:1}
.footer-social a:hover{color:var(--color-primary)}
.footer-policy{font-family:var(--font-rns);font-weight:300;color:#7A7A7A;cursor:pointer;background:none;border:0;padding:0;font-size:16px}
.footer-policy:hover{color:#5EDBE3}
.footer-bottom{background:#E6E6E6}
.footer-bottom p{text-align:center;color:#3A3A3A;font-size:14px;margin:0;padding:13px 10px 10px}
@media (max-width:1024px){.footer-col{width:50%}}
@media (max-width:767px){.footer-col{width:100%}}

/* Botão voltar ao topo */
.scroll-top{position:fixed;z-index:99;bottom:24px;right:30px;height:50px;width:50px;line-height:50px;text-align:center;background:var(--color-primary);border-radius:50%;color:#fff;font-size:16px;opacity:0;visibility:hidden;box-shadow:0 3px 6px 0 rgba(14,32,77,.05);transition:all 300ms linear 0ms;cursor:pointer;border:0}
.scroll-top:hover{color:#fff;background:var(--color-tertiary)}
.scroll-top.on{bottom:44px;opacity:1;visibility:visible}

/* Botão flutuante WhatsApp (Click to Chat – estilo 3) */
.ht-ctc{position:fixed;bottom:15px;left:15px;z-index:99999;display:flex;align-items:center;cursor:pointer}
.ht-ctc .ctc-cta{padding:0 16px;line-height:1.6;background:#25d366;color:#fff;border-radius:10px;margin:0 10px;font-family:'Roboto',sans-serif;font-size:14px;order:2;box-shadow:0 2px 6px rgba(0,0,0,.15);display:none}
.ht-ctc:hover .ctc-cta{display:block}
.ht-ctc svg{display:block;height:50px;width:50px;order:1}
.ht-ctc:hover svg{transform:scale(1.05)}

/* =====================================================================
   MODAIS (vídeo, política, lightbox)
   ===================================================================== */
.modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.modal-box{position:relative;z-index:2;background:#fff;max-width:800px;width:100%;max-height:90vh;border-radius:4px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.3);animation:modalIn .35s ease}
@keyframes modalIn{from{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}
#modal-video .modal-overlay{background:rgba(255,255,255,.75);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.modal-box.video{background:transparent;aspect-ratio:16/9;max-height:none;overflow:visible;border-radius:0;box-shadow:0 10px 40px rgba(0,50,99,.25)}
.modal-box.video iframe{width:100%;height:100%;border:0;display:block;position:absolute;inset:0}
.modal-box.policy{height:550px;padding:40px;overflow-y:auto;color:var(--text-editor);font-family:var(--font-rns);font-weight:300;font-size:15px}
.modal-box.policy h2{font-family:var(--font-rns);font-weight:900;font-size:28px;text-align:center;margin:20px 0 25px}
.modal-box.policy img{display:block;margin:0 auto;max-width:200px}
.modal-box.policy p{margin-bottom:15px}
.modal-close{position:absolute;top:8px;right:8px;width:36px;height:36px;border:0;background:rgba(0,0,0,.55);color:#fff;border-radius:50%;cursor:pointer;font-size:18px;line-height:36px;text-align:center;z-index:2}
.modal-close:hover{background:var(--color-primary)}
.modal-box.video .modal-close{top:-44px;right:0;background:rgba(0,50,99,.85)}
.lightbox{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center}
.lightbox.open{display:flex}
.lightbox img{max-width:92vw;max-height:88vh;box-shadow:0 0 30px rgba(0,0,0,.5);animation:modalIn .3s ease}
.lightbox .lb-close{position:absolute;top:15px;right:20px;color:#fff;font-size:30px;background:none;border:0;cursor:pointer;opacity:.8}
.lightbox .lb-nav{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:40px;background:none;border:0;cursor:pointer;opacity:.7;padding:20px}
.lightbox .lb-nav:hover,.lightbox .lb-close:hover{opacity:1}
.lightbox .lb-prev{left:10px}.lightbox .lb-next{right:10px}
.lightbox .lb-title{position:absolute;bottom:15px;left:0;right:0;text-align:center;color:#fff;font-size:14px;font-family:var(--font-rns)}
body.modal-open{overflow:hidden}
