@charset "utf-8";

@import url("fontawesome-free/css/all.min.css");

/* Base estrutural */

/* Framework CSS limpo e funcional - baseado no Pentwist */

/* Fontes */

@font-face {

  font-family: "Love Ya Like A Sister";

  src: url("LoveYaLikeASister-Regular.woff2") format("woff2");

  font-display: swap;

}

/* Família original usada exclusivamente no título do hero. */

@font-face {

  font-family: "Love Ya Like A Sister Regular";

  src: url("LoveYaLikeASister-Regular.woff2") format("woff2");

  font-weight: normal;

  font-style: normal;

  font-display: swap;

}

/* HTML e Body */

html {

  overflow-y: scroll;

  overflow-x: hidden;

}

html, body {

  margin: 0;

  padding: 0;

  font-size: 16px;

  line-height: 1.6em;

  color: #103c6a;

}

/* Tipografia */

.bold { font-weight: bold; }

.center { text-align: center; }

.right { text-align: right; }

.uppercase { text-transform: uppercase; }

.capitalise { text-transform: capitalize; }

.hidden { display: none; }

input, textarea, select {

  font-family: Verdana, Geneva, sans-serif;

}

.heading.nospace { margin-bottom: 0; }

address { font-style: normal; font-weight: normal; }

hr { display: block; width: 100%; height: 1px; border: solid; border-width: 1px 0 0 0; }

/* Font Sizes */

.font-xs { font-size: .8rem; }

.font-x1 { font-size: 1.2rem; }

.font-x2 { font-size: 1.8rem; line-height: normal; }

.font-x3 { font-size: 2.8rem; line-height: normal; }

/* Wrappers e Containers */

.wrapper { display: block; position: relative; width: 100%; margin: 0; padding: 0; text-align: left; word-wrap: break-word; }

.hoc { display: block; margin: 0 auto; }

/* Display Helpers */

.block { display: block; }

.inline { display: inline-block; }

.justified { text-align: justify; }

.inline * { display: inline-block; }

.inline *:last-child { margin-right: 0; }

.pushright li { margin-right: 20px; }

.pushright li:last-child { margin-right: 0; }

/* Borders */

.borderedbox { border: 1px solid; }

/* Overlay */

.overlay { position: relative; z-index: 1; }

.overlay::after {

  display: block;

  position: absolute;

  top: 0; left: 0;

  width: 100%; height: 100%;

  content: "";

  z-index: -1;

}

/* Background & Shapes */

.bgded { background-position: top center; background-repeat: no-repeat; background-size: cover; }

.circle { border-radius: 50%; background-clip: padding-box; }

/* Buttons */

.btn {

  display: inline-block;

  padding: 8px 25px 10px;

  font-size: 1rem;

  font-weight: bold;

  cursor: pointer;

}

/* Clearfix */

.clear, .group { display: block; }

.clear::before, .clear::after, .group::before, .group::after { display: table; content: ""; }

.clear, .clear::after, .group, .group::after { clear: both; }

/* Links */

a { outline: none; text-decoration: none; }

/* Floats */

.fl_left, .imgl { float: left; }

.fl_right, .imgr { float: right; }

/* Images */

img {

  width: auto;

  max-width: 100%;

  height: auto;

  margin: 0;

  padding: 0;

  border: none;

  line-height: normal;

  vertical-align: middle;

}

.imgl { margin: 0 15px 10px 0; clear: left; }

.imgr { margin: 0 0 10px 15px; clear: right; }

/* Image Hover */

.imgover {

  display: inline-block;

  position: relative;

  max-width: 100%;

}

.imgover::before,

.imgover::after {

  display: block;

  position: absolute;

  content: "";

  text-align: center;

  opacity: 0;

}

.imgover::before { top: 0; right: 0; bottom: 0; left: 0; }

.imgover::after {

  top: 50%; left: 50%;

  width: 50px; height: 50px;

  line-height: 50px;

  margin: -25px 0 0 -25px;

  font-family: "Font Awesome 5 Free";

  font-weight: 900;

  content: "\f0c1";

  font-size: 28px;

}

.imgover:hover::before,

.imgover:hover::after { opacity: 1; }

/* Grid System */

.one_half, .one_third, .two_third, .one_quarter, .two_quarter, .three_quarter {

  float: left;

  display: block;

  margin-left: 4%;

}

 

.clear::after {

  content: "";

  display: block;

  clear: both;

}

.first { margin-left: 0; clear: left; }

.one_quarter { width: 21.8421%; }

.one_third { width: 30.52631%; }

.one_half, .two_quarter { width: 47.89473%; }

.two_third { width: 65.26315%; }

.three_quarter { width: 73.94736%; }

/* Spacing Utilities */

.btmspace-10 { margin-bottom: 10px; }

.btmspace-15 { margin-bottom: 15px; }

.btmspace-20 { margin-bottom: 20px; }

.btmspace-30 { margin-bottom: 30px; }

.btmspace-50 { margin-bottom: 0px; }

.btmspace-80 { margin-bottom: 80px; }

.rgtspace-5 { margin-right: 5px; }

.rgtspace-10 { margin-right: 10px; }

.rgtspace-15 { margin-right: 15px; }

.rgtspace-20 { margin-right: 20px; }

.rgtspace-30 { margin-right: 30px; }

.inspace-5 { padding: 5px; }

.inspace-10 { padding: 10px; }

.inspace-15 { padding: 15px; }

.inspace-20 { padding: 20px; }

.inspace-30 { padding: 30px; }

/* Estilos gerais preservados */

/* Rows */

.row1{border-top:1px solid;}

.row5{border-top:0px solid;}

#header{height:100%;}

#header #logo{margin:10px 0 0 0;}

#header #logo h1{margin:0;padding:0;font-size:2rem;font-variant:small-caps;}

#pageintro{padding:200px 0;}

#pageintro article{display:block;max-width:65%;margin:0 auto;text-transform:capitalize;text-align:center;}

#pageintro p:first-of-type{font-size:1.6rem;letter-spacing:2px;text-transform:uppercase;}

#pageintro .heading{

  margin:-8px 0 4px;

  font-family:"Love Ya Like A Sister Regular", Sans-serif;

  font-size:7.5rem;

  line-height:normal;

  font-weight:normal;

  text-transform:none;

  color:#FF0;

  text-shadow:6px 6px 3px rgba(0,0,0,.6);

}

#pageintro footer{margin-top:50px;}

.cta{padding:50px 0;}

.cta>:first-child{margin-top:10px;}

.cta>:last-child{margin-bottom:0;}

.split section{display:block;position:relative;float:left;width:50%;padding:100px 50px 100px 0;}

.split section::after{display:block;position:absolute;top:0;right:100%;bottom:0;left:-1000%;content:"";}

.container{padding:40px 0;}

.sectiontitle{display:block;max-width:100%;margin:0 auto 20px;text-align:center;}

.sectiontitle *{margin:0;}

.icon{display:inline-block;width:80px;height:80px;line-height:80px;font-size:36px;text-align:center;}

.grid-3>li{margin-bottom:50px;}

.grid-3>li:nth-last-child(-n+3){margin-bottom:0;}

.grid-3>li:nth-child(3n+1){margin-left:0;clear:left;}

#latest{text-align:center;}

#latest>li:last-child{margin-bottom:0;}

#latest article .excerpt{padding:0px;border-bottom:2px solid;}

#latest article .excerpt .heading{margin:0 0 8px 0;}

#latest article .excerpt .meta{display:block;margin:0 0 20px 0;}

#latest article .excerpt .meta li{display:inline-block;margin-right:5px;padding-right:10px;border-right:1px solid;font-size:.8rem;}

#latest article .excerpt .meta li:last-child{margin-right:0;padding-right:0;border-right:none;}

#latest article .excerpt .meta li i{margin-right:5px;}

#comments ul{margin:0 0 40px 0;padding:0;list-style:none;}

#comments li{margin:0 0 10px 0;padding:15px;}

#comments .avatar{float:right;margin:0 0 10px 10px;padding:3px;border:1px solid;}

#comments address{font-weight:bold;}

#comments time{font-size:smaller;}

#comments .comcont{display:block;margin:0;padding:0;}

#comments .comcont p{margin:10px 5px 10px 0;padding:0;}

#comments form{display:block;width:100%;}

#comments input,#comments textarea{width:100%;padding:10px;border:1px solid;}

#comments textarea{overflow:auto;}

#comments div{margin-bottom:15px;}

#comments input[type="submit"],#comments input[type="reset"]{display:inline-block;width:auto;min-width:150px;margin:0;padding:8px 5px;cursor:pointer;}

.sidebar .sdb_holder{margin-bottom:50px;}

.sidebar .sdb_holder:last-child{margin-bottom:0;}

#copyright{padding:20px 0;}

#copyright *{margin:0;padding:0;}

#backtotop,

.imgover::before,

.imgover::after{transition:all .3s ease-in-out;}

nav ul,nav ol{margin:0;padding:0;list-style:none;}

.sidebar nav{line-height:normal;}

.sidebar nav a::after{position:absolute;font-family:"Font Awesome 5 Free";font-weight:900;font-size:10px;line-height:10px;}

.sidebar nav{display:block;width:100%;}

.sidebar nav li{margin:0 0 3px 0;padding:0;}

.sidebar nav a{display:block;position:relative;margin:0;padding:5px 10px 5px 15px;text-decoration:none;border:solid;border-width:0 0 1px 0;}

.sidebar nav a::after{top:10px;left:5px;content:"\f0da";}

.sidebar nav ul ul a{padding-left:35px;}

.sidebar nav ul ul a::after{left:25px;}

.sidebar nav ul ul ul a{padding-left:55px;}

.sidebar nav ul ul ul a::after{left:45px;}

#backtotop{z-index:999;display:inline-block;position:fixed;visibility:hidden;bottom:20px;right:20px;width:36px;height:36px;line-height:36px;font-size:16px;text-align:center;opacity:.2;}

#backtotop i{display:block;width:100%;height:100%;line-height:inherit;}

#backtotop.visible{visibility:visible;opacity:1;}

#backtotop:hover{opacity:1;}

/* Tables */

table,th,td{border:1px solid;border-collapse:collapse;vertical-align:top;}

table,th{table-layout:auto;}

table{width:100%;margin-bottom:15px;}

th,td{padding:5px 8px;}

td{border-width:0 1px;}

/* Gallery */

body{color:#A8A8A8;background-color:transparent;}

a{color:transparent;}

a:active,a:focus{background:transparent !important;}

hr,.borderedbox{border-color:#D7D7D7;}

label span{color:#FF0000;background-color:inherit;}

input:focus,textarea:focus,*:required:focus{border-color:transparent !important;}

.overlay{color:#FFF;background-color:inherit;}

.overlay::after{color:inherit;background-color:rgba(0,0,0,.55);}

.overlay.light{color:#474747;}

.overlay.light::after{background-color:rgba(255,255,255,.7);}

.btn-search{background-color:#FFF;color:#103c6a;}

.btn-search:hover{background-color:#6ec1e4;color:#103c6a;}

.btn-passeios{background-color:#103c6a;color:#FFF;}

.btn-passeios:hover{background-color:#6ec1e4;color:#FFF;}

.imgover:hover::before{background-color:transparent;}

.imgover,.imgover:hover::after{color:#FFF;}

/* Rows */

.row0{color:#474747;background-color:#FFF;}

.row1{color:#FFF;background-color:#103c6a;border-color:rgba(0,0,0,.2);}

.row2{color:#474747;background-color:#6ec1e4;}

.row3{color:#103c6a;background-color:#E1F5FF;}

.row4{color:#A8A8A8;background-color:#202020;}

.row5,.row5 a{color:#A8A8A8;background-color:#202020;}

.row5{border-color:rgba(255,255,255,.2);}

.coloured{color:#FFF;background-color:#103c6a;}

/* Contact Details */

/* Header */

#header #logo a{color:inherit;}

/* Split Box */

.split section,.split section::after{color:#FFF;background-color:#202020;}

.split section i{color:#D24130;}

/* Content */

.icon{color:inherit;background:linear-gradient(to bottom,rgba(210,65,48,.5),rgba(210,65,48,.05));}

.icon:hover{color:#FFF;background:#D24130;}

#latest article .excerpt{color:#474747;background-color:#FFF;border-color:transparent;}

#latest article .excerpt:hover{border-color:transparent;}

#latest article .excerpt .meta li{border-color:rgba(0,0,0,.1);}

#copyright{border-color:rgba(255,255,255,.2);}

.container .sidebar nav a{color:inherit;border-color:#D7D7D7;}

.container .sidebar nav a:hover{color:#D24130;}

#backtotop{color:#FFF;background-color:#103c6a;}

table,th,td,#comments .avatar,#comments input,#comments textarea{border-color:#D7D7D7;}

th{color:#FFF;background-color:#373737;}

tr,#comments li,#comments input[type="submit"],#comments input[type="reset"]{color:inherit;background-color:#FBFBFB;}

tr:nth-child(even),#comments li:nth-child(even){color:inherit;background-color:#F7F7F7;}

table a,#comments a{background-color:inherit;}

@-ms-viewport{width:device-width;}

/* Media queries seguem intactas... */

/* Max Wrapper Width - Laptop, Desktop etc. */

@media screen and (min-width:1140px){

    .hoc{max-width:1140px;}

}

@media screen and (min-width:978px) and (max-width:1140px){

    .hoc{max-width:95%;}

}

/* Mobile Devices */

@media screen and (max-width:978px){

    .hoc{max-width:90%;}

    #header #logo{margin-top:0;}

    #comments input[type="reset"]{margin-top:10px;}

    #copyright p:first-of-type{margin-bottom:10px;}

}

@media screen and (max-width:750px){

    .imgl,.imgr{display:inline-block;float:none;margin:0 0 10px 0;}

    .fl_left,.fl_right{display:block;float:none;}

    .one_half,.one_third,.two_third,.one_quarter,.two_quarter,.three_quarter{display:block;float:none;width:auto;margin:0 0 30px 0;}

    .last,.group .group > *:last-child,.clear .clear > *:last-child,.clear .group > *:last-child,.group .clear > *:last-child{margin-bottom:0;}

    #header{text-align:center;}

    #header #logo{margin:0 0 15px 0;}

    #pageintro article{max-width:none;}

    #pageintro .heading{margin-bottom:20px;font-size:4em;}

    .cta > :first-child{margin-top:0;text-align:center;}

    .sectiontitle{max-width:none;}

    .grid-3{margin:0 auto;max-width:348px;}

    .grid-3 > li:nth-last-child(-n+3){margin-bottom:50px;}

    .grid-3 > li:last-child{margin-bottom:0;}

    #latest > li{margin:0 auto 50px;}

}

@media screen and (max-width:450px){

}

/* Other */

@media screen and (max-width:650px){

    .scrollable{display:block;width:100%;margin:0 0 30px 0;padding:0 0 15px 0;overflow:auto;overflow-x:scroll;}

    .scrollable table{margin:0;padding:0;white-space:nowrap;}

    .inline li{display:block;margin-bottom:10px;}

    .pushright li{margin-right:0;}

    .font-x2{font-size:1.6rem;}

    .font-x3{font-size:1.8rem;}

    .hoc.split{max-width:none;width:100%;}

    .split section{float:none;width:100%;padding:10% 5%;}

}

/* Componentes e responsividade preservados */

    #main {

      margin-top: -40px;

    }

    body {

      background-color: #FFFFFF;

    }

    /*ul {

      list-style: none;

      height: 100%;

      width: 100%;

      display: flex;

      align-items: center;

      justify-content: space-around;

    }

    ul a {

      color: #ffffff;

    }

*/

    ul li {

      padding: 6px 5px 5px 5px;

      margin-left: 10px;

    }

    /*ul .scale-effect:hover {

      transform: scale(1.1);

      transition: 0.3s;

  }

*/

  

    .container .demo {

      text-align: center;

    }

    .container .demo div {

      padding: 0px;

    }

    

    @media screen and (max-width:900px) {

      .container .demo div {

        margin-bottom: 0;

      }

    }

  

    /* Clear floats after the columns */

    .row:after {

      content: "";

      display: table;

      clear: both;

    }

    @media screen and (max-width: 600px) {

      .row:after {

        content: "";

        display: table;

        clear: both;

      }

    }

  

    .left {

      float: left;

      width: 50%;

      padding: 60px 0 0 80px;

    }

    .right {

      float: right;

      width: 50%;

    }

    img {

      max-width: 100%;

      height: auto;

    }

    .shadow {

      box-shadow: 0px 0px 5px 5px rgba(0, 0, 0, 0.24);

      

    }

    .group:after {

      content: "";

      display: table;

      clear: both;

    }

    @media screen and (max-width: 480px) {

      .left,

      .right {

        float: none;

        width: auto;

      }

      img {

        max-width: 100%;

        height: auto;

      }

      #pageintro .heading {

        font-size: 64px

      }

    }

    @media screen and (max-width: 1000px) {

      #pageintro .heading {

        font-size: 64px

      }

      .left {

        float: none;

        width: auto;

        padding: 40px 40px 0 40px;

      }

      .right {

        float: none;

        width: auto;

      }

      img.transfer {

        min-width: 100%;

        height: auto;

      }

    }

  

    #container {

      background-color: antiquewhite;

      display: flex;

      flex-direction: column;

      flex-wrap: wrap;

      flex: 0 0;

      justify-content: space-evenly;

      height: 20vh;

      width: 20vw;

      margin: 0 15% 0 15%;

      /*box-shadow: 10px 10px 10px 10px #535050;*/

      box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.24);

    }

    .item {

      text-align: left;

      white-space: normal;

      /*overflow: auto;*/

    }

    .item1 {

      flex-basis: 50%;

      background-color: white;

    }

    .item2 {

      flex-basis: 50%;

      background-color: white;

    }

    .item3 {

      flex-basis: 100%;

      background-color: white;

    }

  

  

    .whatsapp-fixo {

      position: fixed;

      bottom: 20em;

      right: 10px;

      z-index: 999;

    }

     

    

    .atracao {

      float: left;

      width: 40%;

    }

    .titulo {

      float: right;

      width: 60%;

      padding: 40px 20px 0px 20px;

    }

    .texto {

      float: right;

      width: 60%;

      padding: 40px 20px 20px 20px;

    }

    .saiba {

      float: right;

      width: 60%;

      padding: 0 0 20px 0;

    }

    img {

      max-width: 100%;

      height: auto;

    }

    .shadow {

      

      box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.24);

    }

    .group:after {

      content: "";

      display: table;

      clear: both;

    }

    @media screen and (max-width: 480px) {

      /*.left, .right{padding:0;}*/

      .atracoes {

        display: flex;

        flex-direction: column;

      }

      .atracao {

        float: none;

        width: auto;

        order: 2;

      }

      .titulo {

        float: none;

        width: auto;

        padding: 40px 40px 10px 40px;

        order: 1;

      }

      .texto {

        float: none;

        width: auto;

        padding: 20px 20px 20px 20px;

        order: 3;

      }

      .saiba {

        float: right;

        width: 60%;

        padding: 0 0 20px 0;

      }

      img {

        max-width: 100%;

        height: auto;

      }

      #pageintro .heading {

        font-size: 64px

      }

    }

    @media screen and (max-width: 1000px) {

      #pageintro .heading {

        font-size: 64px

      }

      .atracoes {

        display: flex;

        flex-direction: column;

      }

      .atracao {

        float: none;

        width: auto;

        order: 2;

      }

      .titulo {

        float: none;

        width: auto;

        padding: 40px 40px 10px 40px;

        order: 1;

      }

      .texto {

        float: none;

        width: auto;

        padding: 20px 20px 20px 20px;

        order: 3;

      }

      img.transfer {

        min-width: 100%;

        height: auto;

      }

      

    }

    .linky {

      color: #FFF;

      text-decoration: none;

      padding-top: 20px;

      transition: color 0.3s ease;

    }

    

    .linky:hover {

      color: #FAE82C; /* Escolha a cor que deseja para o hover */

    }

  

   

/* Tema e componentes finais */

/* =========================================================

   THEME.CSS - UNIFICADO E CORRIGIDO

   ========================================================= */

/* Reset e ajustes básicos */

*,

*::before,

*::after {

    box-sizing: border-box;

    margin: 0;

    padding: 0;

}

/* Fonte padrão */

html, body {

    font-family: "Poppins", sans-serif;

}

/* Forçar Poppins nos títulos do site */
@media (max-width: 800px) {
  body h1, body h2, body h3, body h4, body h5, body h6,
  body .heading, body .visual-heading-h1,
  body .site-hero #pageintro .heading,
  body #latest > li.passeio-card .passeio-card-title {
    line-height: 1.4;
  }
}

h1, h2, h3, h4, h5, h6, .heading {

    font-family: "Poppins", sans-serif;

}

/* Hero */

.hero-title {

    font-family: 'Love Ya Like A Sister', cursive;

}

.tour-catalog { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; align-items: start; scroll-margin-top: 110px; }
.tour-filter-panel { border: 1px solid #d6dce3; border-radius: 10px; background: #fff; color: #263445; overflow: hidden; }
.tour-filter-panel summary { padding: 18px; background: #f1f5fa; color: #103c6a; cursor: pointer; font-size: 18px; font-weight: 700; }
.tour-filter-panel summary span { display: block; font-size: 12px; font-weight: 400; margin: 6px 0 0; }
.tour-filter-panel form { padding: 18px; }
.tour-filter-panel fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.tour-filter-panel legend { font-size: 16px; font-weight: 700; padding: 0; }
.tour-filter-panel fieldset p { font-size: 12px; color: #596778; margin: 10px 0; }
.tour-filter-check { display: flex; align-items: center; gap: 10px; min-height: 48px; margin: 0; cursor: pointer; font-size: 14px; line-height: 1.4; }
.tour-filter-check input { appearance: auto; display: inline-block; width: 19px; height: 19px; flex: 0 0 19px; margin: 0; accent-color: #0867b2; }
.tour-filter-panel .tour-filter-check span { flex: 1; color: #263445; }
.tour-filter-check small { color: #687584; font-size: 12px; }
.tour-filter-apply { display: block; width: 100%; min-height: 46px; margin-top: 18px; padding: 10px; background: #0867b2; color: white; border: 0; border-radius: 6px; cursor: pointer; font-weight: 700; }
.tour-filter-apply:hover { background: #103c6a; }
.tour-filter-clear { display: block; text-align: center; margin-top: 16px; color: #0867b2; text-decoration: underline; font-size: 14px; }
.tour-filter-panel :focus-visible { outline: 3px solid #edaa31; outline-offset: 3px; }
.tour-results { min-width: 0; }
.tour-results > h2 { font-size: 24px; color: #103c6a; margin-bottom: 8px; }
.tour-results-caption { margin: 0 0 24px; color: #596778; }
.tour-results #latest.grid-3 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; max-width: none; }
.tour-results #latest.grid-3::before, .tour-results #latest.grid-3::after { display: none; }
.tour-results #latest.grid-3 > li { width: auto; margin: 0; float: none; }
.tour-results .tour-card figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
@media (min-width: 801px) {
  .tour-filter-panel { border: 0; border-radius: 0; overflow: visible; }
  .tour-filter-panel summary { display: none; }
  .tour-filter-panel form { padding: 0; }
  .tour-filter-panel fieldset { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: 10px; }
  .tour-filter-check { position: relative; min-width: 0; }
  .tour-filter-check input { position: absolute; opacity: 0; pointer-events: none; }
  .tour-filter-panel .tour-filter-check span { display: flex; align-items: center; justify-content: center; box-sizing: border-box; height: 84px; min-width: 0; padding: 12px 8px; border-radius: 14px; border: 1px solid #d6e2f3; background: #f8fbff; color: #24415f; font-weight: 700; text-align: center; line-height: 1.4; overflow-wrap: break-word; }
  .tour-filter-check small { display: none; }
  .tour-filter-panel .tour-filter-check input:checked + span { background: #1e3d6b; color: #fcfe00; border-color: #1e3d6b; box-shadow: 0 8px 18px rgba(30,61,107,.20); }
  .tour-filter-check input:focus-visible + span { outline: 3px solid #edaa31; outline-offset: 3px; }
  .tour-filter-check:hover span { border-color: #1e3d6b; }
  .tour-filter-panel fieldset p { grid-column: 1 / -1; }
  .tour-filter-panel form { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
  .tour-filter-panel fieldset { flex-basis: 100%; }
  .tour-filter-apply { display: none; }
  .tour-filter-clear { margin: 0; }
  .tour-results #latest.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .tour-catalog { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .tour-filter-panel summary { display: list-item; }
}
@media (max-width: 540px) {
  .tour-results #latest.grid-3 { grid-template-columns: minmax(0, 1fr); }
  .tour-results > h2 { font-size: 21px; }
}
.tour-filters { margin-bottom: 32px; scroll-margin-top: 110px; }
.tour-filters h2 { margin-bottom: 18px; color: #103c6a; font-size: 24px; text-align: center; }
.tour-filter-options { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.tour-filter-options a { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 10px 16px; border: 1px solid #cbdbe9; border-radius: 24px; background: #f4f8fc; color: #103c6a; font-size: 14px; font-weight: 600; line-height: 1.4; text-align: center; box-sizing: border-box; }
.tour-filter-options a span { padding: 2px 7px; border-radius: 12px; background: #e2ecf5; font-size: 12px; }
.tour-filter-options a:hover, .tour-filter-options a[aria-current="true"] { background: #103c6a; border-color: #103c6a; color: #fff; }
.tour-filter-options a[aria-current="true"] span, .tour-filter-options a:hover span { background: #fff; color: #103c6a; }
.tour-filter-options a:focus-visible { outline: 3px solid #edaa31; outline-offset: 3px; }
.tour-filter-summary { margin: 18px 0 0; text-align: center; color: #52677a; font-size: 14px; }
@media (max-width: 600px) {
  .tour-filters h2 { font-size: 21px; }
  .tour-filter-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .tour-filter-options a { border-radius: 12px; padding: 10px; font-size: 13px; }
  .tour-filter-options a:first-child { grid-column: 1 / -1; }
}

footer .footer-logo {
  width: 220px;
  max-width: 100%;
  height: auto;
  margin-bottom: 25px;
}

/* Heroes: mesma altura de tela, independente do número de linhas do título. */
.site-hero #pageintro {
  box-sizing: border-box;
  height: calc(100vh - 90px);
  height: calc(100svh - 90px);
  padding: 24px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.site-hero #pageintro article {
  width: 100%;
  max-width: none;
  min-width: 0;
}
.site-hero #pageintro .heading {
  margin: 0;
  font-size: clamp(18px, min(8.5vw, 10vh), 88px);
  font-size: clamp(18px, min(8.5vw, 10svh), 88px);
  line-height: 1.15;
  height: auto;
  text-wrap: balance;
  overflow-wrap: break-word;
}
.hero-two-lines .hero-title-line {
  display: block;
  white-space: nowrap;
}
@media (max-width: 600px) {
  .site-hero #pageintro .heading {
    font-size: clamp(18px, min(10vw, 12vh), 60px);
    font-size: clamp(18px, min(10vw, 12svh), 60px);
  }
}


#pageintro .heading {

  color: #FAE82C;

}

.sectiontitle h3,
.home-section-title {
  margin-bottom: 25px; 
}

/* Títulos dos banners de destaque na home. */

.home-promo-title {
  color: #103c6a;
  font-size: 28px;
  line-height: 1.2;
}

@media screen and (max-width: 750px) {
  .index-cta-action {
    padding-top: 12px;
  }
}

/* Cards de passeios: reserva espaço para títulos de até duas linhas. */

#latest > li.passeio-card .passeio-card-title {
  display: flex;

  align-items: center;

  justify-content: center;

  min-height: 2.4em;

  margin: 0;

  line-height: 1.2;

  text-align: center;
}

/* A área branca de todos os cards de passeios mantém a mesma altura. */
#latest > li.passeio-card > article.tour-card .excerpt {
  display: flex;
  min-height: 164px;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
}

#latest > li.passeio-card > article.tour-card .excerpt .meta {
  margin-bottom: 10px;
}

#latest > li.passeio-card > article.tour-card .excerpt > p {
  margin: auto 0 0;
  padding: 16px 0 10px !important;
}

/* Aviso antes de abrir um passeio em site parceiro. */

.tour-redirect-modal {

  position: fixed;

  z-index: 100000;

  inset: 0;

  display: grid;

  place-items: center;

  padding: 20px;

}

.tour-redirect-modal[hidden] {

  display: none;

}

.tour-redirect-modal__backdrop {

  position: absolute;

  inset: 0;

  background: rgba(0, 27, 53, 0.68);

}

.tour-redirect-modal__content {

  position: relative;

  z-index: 1;

  width: min(100%, 480px);

  padding: 34px;

  border-radius: 8px;

  background: #ffffff;

  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.3);

  text-align: center;

}

.tour-redirect-modal__content h2 {

  margin: 0 0 14px;

  color: #103c6a;

  font-size: 24px;

  line-height: 1.2;

}

.tour-redirect-modal__content p {

  margin: 0;

  color: #0a243f;

  line-height: 1.55;

}

.tour-redirect-modal__close {

  position: absolute;

  top: 8px;

  right: 12px;

  border: 0;

  background: transparent;

  color: #103c6a;

  cursor: pointer;

  font-size: 30px;

  line-height: 1;

}

.tour-redirect-modal__actions {

  display: flex;

  justify-content: center;

  gap: 12px;

  margin-top: 24px;

}

.tour-redirect-modal__cancel {

  border: 1px solid #103c6a;

  border-radius: 30px;

  background: #ffffff;

  color: #103c6a;

  cursor: pointer;

  font: inherit;

  padding: 10px 20px;

}

@media screen and (max-width: 480px) {

  .tour-redirect-modal__content {

    padding: 30px 22px 24px;

  }

  .tour-redirect-modal__actions {

    flex-direction: column-reverse;

  }

}

@media screen and (max-width: 480px) {

  .home-promo-title {

    font-size: 24px;

  }

}

/* Acabamento dos cards de serviços exibidos pelo componente de banners. */

#latest > li > article.banner-card {

    overflow: hidden;

    border: 1px solid #d7d7d7;

    border-radius: 3px;

    background: #ffffff;

    transition: transform 0.25s ease, box-shadow 0.25s ease;

}

.banner-card figure {

    margin: 0;

}

#latest > li > article.banner-card .excerpt {

    display: flex;

    align-items: center;

    justify-content: center;

    min-height: 50px;

    padding: 6px 10px;

    text-align: center;

}

.banner-card .meta {

    display: none !important;

}

#latest > li > article.banner-card .excerpt .banner-card-title {
    width: 100%;

    margin: 0;

    line-height: 1.2;

}

.banner-card .imgover {

    display: block;

    overflow: hidden;

}

.banner-card .imgover img {

    display: block;

    transition: transform 0.3s ease;

}

#latest > li > article.banner-card:hover {

    transform: translateY(-4px);

    box-shadow: 0 12px 22px rgba(0, 0, 0, 0.24);

}

#latest > li > article.banner-card:hover .imgover img {
    transform: scale(1.04);
}

/* Mesmo acabamento dos banners nos cards de outros destinos, sem alterar o conteúdo interno. */
#latest > li > article.destination-card {
    overflow: hidden;
    border: 1px solid #d7d7d7;
    border-radius: 3px;
    background: #ffffff;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.destination-card figure,
.destination-card .imgover {
    display: block;
    margin: 0;
    overflow: hidden;
}

.destination-card .imgover img {
    display: block;
    transition: transform 0.3s ease;
}

#latest > li > article.destination-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 22px rgba(0, 0, 0, 0.24);
}

#latest > li > article.destination-card:hover .imgover img {
    transform: scale(1.04);
}

/* Mesmo hover dos cards de destinos nos passeios: elevação e zoom discreto. */
#latest > li > article.tour-card {
    overflow: hidden;
    border: 1px solid #d7d7d7;
    border-radius: 3px;
    background: #ffffff;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.tour-card figure,
.tour-card .imgover {
    display: block;
    margin: 0;
    overflow: hidden;
}

.tour-card .imgover img {
    display: block;
    transition: transform 0.3s ease;
}

#latest > li > article.tour-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 22px rgba(0, 0, 0, 0.24);
}

#latest > li > article.tour-card:hover .imgover img {
    transform: scale(1.04);
}

/* Títulos da seção de três atrações em destaque. */
#latest > li > article.top-attraction-card .excerpt {

    display: flex;

    align-items: center;

    justify-content: center;

    min-height: 38px;

    padding: 4px 8px;

    text-align: center;

}

#latest > li > article.top-attraction-card .excerpt .top-attraction-card-title {
    width: 100%;

    margin: 0;

    line-height: 1.2;

}

/* =========================================================

   HEADER / NAVBAR

   ========================================================= */

/* Cabeçalho Rio: logo horizontal no tamanho adequado, sem alterar os demais logos. */
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    position: relative;
    z-index: 99999;
    background-color: #103c6a;
    height: 90px;
}
.navbar .logo {
    display: flex;
    align-items: center;
    width: 300px;
    flex: 0 0 300px;
    min-width: 0;
    padding-left: 0;
}
.navbar .logo a { display: block; width: 100%; }
.navbar .logo img { width: 100%; height: auto; max-width: 100%; display: block; }

/* Menu items */

.menu-items {

    display: flex;

    gap: 10px;

    z-index: 100000;

}

.menu-items a {

    text-decoration: none;

    color: white;

    padding: 14px 20px;

    text-align: center;

    transition: color 0.3s ease;

}

.menu-items a:hover {

    text-decoration: none;

    color: #F6E708;

}

/* Hamburger menu */

.hamburger {

    display: none;

    cursor: pointer;

    font-size: 32px;

    color: white;

    position: absolute;

    right: 20px;

    top: 50%;

    transform: translateY(-50%);

    z-index: 100001;

}

@media (max-width: 1100px) {

    .navbar {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
    }
    .navbar .logo {
        width: min(280px, calc(100% - 64px));
        flex: 0 1 280px;
        max-width: calc(100% - 64px);
    }
    .navbar .hamburger {
        display: flex;
        align-items: center;
        justify-content: center;
        position: static;
        transform: none;
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        line-height: 1;
    }

    .menu-items {

        display: none;

        flex-direction: column;

        width: 100%;

        background-color: #103c6a;

        position: absolute;

        top: 90px;

        left: 0;

        z-index: 3;

        transition: opacity 0.3s ease;

        text-align: center;

    }

    .menu-items.active {

        display: flex;

    }

    .menu-items a {

        padding: 12px;

        color: white;

    }

}

/* =========================================================

   BUTTONS

   ========================================================= */

.btn-search,

.btn-search2 {

    display: inline-block;

    text-align: center;

    border: none;

    border-radius: 30px;

    padding: 10px 24px;

    font-size: 1rem;

    line-height: 1.4;

    font-weight: normal;

    text-decoration: none;

    text-transform: none;

    transition: background-color 0.3s ease, color 0.3s ease;

    cursor: pointer;

}

.btn-search {

    background-color: #F6E708;

    color: #103c6a;

}

.btn-search:hover {

    background-color: #F3A71E;

    color: #103c6a;

}

.btn-search2 {

    background-color: #F3A71E;

    color: #103c6a;

}

.btn-search2:hover {

    background-color: #F6E708;

    color: #103c6a;

}

/* =========================================================

   LAYOUT FLEX / CONTAINERS

   ========================================================= */

.one_quarter,

.one_quarter2 {

    display: flex;

    justify-content: center;

    align-items: center;

}

@media (max-width: 768px) {

    .one_quarter,

    .one_quarter2 {

        width: 100%;

        justify-content: center;

    }

}

/* WhatsApp */

.whatsapp {

    width: 55px !important;

    height: 55px !important;

    display: block;

}

/* IFRAME / CONTENT */

.content {

    padding: 0;

    margin: 0;

    position: relative;

    z-index: 1;

}

iframe {

    width: 100%;

    height: 800px;

    border: none;

}

.ios-scroll-wrapper {

    -webkit-overflow-scrolling: touch;

    overflow: auto;

    height: 800px;

}

.ios-scroll-wrapper iframe {

    width: 100%;

    min-width: 300px;

    max-width: 100%;

    height: 100%;

    border: none;

    padding: 1px;

    box-sizing: border-box;

}

/* IMAGES */

img {

    max-width: 100%;

    height: auto;

}

.image-container {

    background-image: url('/images/seja-bem-vindo-ao-rio-de-janeiro-pc.jpg');

}

@media (max-width: 1024px) {

    .image-container { background-image: url('/images/seja-bem-vindo-ao-rio-de-janeiro-tablet.jpg'); }

}

@media (max-width: 768px) {

    .image-container { background-image: url('/images/seja-bem-vindo-ao-rio-de-janeiro-mobile.jpg'); }

}

/* Container social */

.social-section-title {
    margin: 0 0 40px;

    color: #ffffff;

    font-family: 'Poppins', 'Segoe UI', sans-serif;

    font-size: 28px;

    font-weight: 700;

    line-height: 1.2;

    text-align: center;
}

/* Título da seção de recomendações nas páginas de passeio. */
.related-tours-title {
    margin: 0 0 30px;
    color: #103c6a;
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
}

/* Títulos das seções de um passeio individual. */
.tour-detail-title,
.tour-places-title {
    margin: 0 0 24px;
    color: #103c6a;
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
}

.tour-places-title {
    margin-top: 8px;
    color: #0A243F;
}

/* Ações na seção final de cada passeio. Não dependem de JavaScript. */
.tour-round-action {
    display: inline-flex;
    width: 50px;
    height: 50px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 0;
    background: #3498db;
    color: #FAE82C;
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.22);
    transition: transform 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease;
}

.tour-round-action--back {
    font-size: 30px;
}

.tour-round-action:hover,
.tour-round-action:focus-visible {
    background: #1f78b4;
    color: #ffffff;
    transform: translateY(-3px) scale(1.04);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.28);
}

.tour-faq-section {
    display: none;
    margin-top: 20px;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.tour-faq-section.is-open {
    display: block;
}

.tour-faq-item {
    display: block;
    position: static;
    clear: both;
    width: 100%;
    margin-bottom: 12px;
    overflow: hidden;
    border: 1px solid #d5e0ea;
    border-radius: 10px;
    background: #ffffff;
    color: #103c6a;
    box-shadow: 0 3px 10px rgba(8, 42, 73, 0.12);
}

.tour-faq-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.tour-faq-question {
    display: block;
    padding: 17px 54px 17px 20px;
    position: relative;
    cursor: pointer;
    font-weight: 700;
    line-height: 1.4;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.tour-faq-question::after {
    content: '+';
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    font-size: 26px;
    font-weight: 300;
    color: #3498db;
}

.tour-faq-question:hover {
    background: #edf7fd;
    color: #0a243f;
}

.tour-faq-answer {
    display: none;
    position: static;
    clear: both;
    padding: 17px 20px 20px;
    border-top: 1px solid #dce8f0;
    background: #f7fbfe;
    color: #24445f;
    line-height: 1.6;
}

.tour-faq-input:checked + .tour-faq-question::after {
    content: '−';
}

.tour-faq-input:checked + .tour-faq-question {
    background: #103c6a;
    color: #ffffff;
}

.tour-faq-input:checked + .tour-faq-question::after {
    color: #fae82c;
}

.tour-faq-input:checked ~ .tour-faq-answer {
    display: block;
}

.tour-faq-close {
    display: block;
    margin: 20px auto 0;
    padding: 10px 18px;
    border: 1px solid rgba(255, 255, 255, 0.75);
    border-radius: 999px;
    background: transparent;
    color: #ffffff;
    cursor: pointer;
    font: inherit;
    font-size: 0.9rem;
    font-weight: 700;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.tour-faq-close:hover,
.tour-faq-close:focus-visible {
    background: #ffffff;
    color: #103c6a;
    transform: translateY(-2px);
}

@media (max-width: 480px) {
    .social-section-title,
    .related-tours-title,
    .tour-detail-title,
    .tour-places-title {
        font-size: 22px;
    }
}

.social-section .group .one_third {
    text-align: center;

}

/* Ícones sociais */

.social-section .social-icon {

    display: inline-block;

    overflow: hidden;

    border-radius: 50%; /* opcional, deixa redondinho */

}

.social-section .social-icon img {

    width: 65px;             /* tamanho inicial */

    height: 65px;

    display: block;

    transition: transform 0.3s ease, filter 0.3s ease;

}

/* Hover nos ícones */

.social-section .social-icon:hover img {

    transform: scale(1.3);    /* aumenta 30% */

    filter: brightness(1.3);  /* deixa mais claro */

}

/* FOOTER */

footer {

    background-color: #002a4d;

    color: #fff;

    padding: 5px;

    font-size: 15px;

}

.footer a {

    color: #fff;

    text-decoration: none;

    display: block;

    margin-bottom: 10px;

}

.footer-column a:hover {

    text-decoration: none;

    color: yellow;

}

.footer-bottom {

    text-align: center;

    margin-top: 20px;

    border-top: 1px solid #1a4f73;

    padding-top: 10px;

}

/* BREADCRUMBS */

.breadcrumbs {

    font-size: 1rem;

    color: #1d1f1d;

    margin: 0.5rem 0 0 55px;

}

.breadcrumbs a {

    color: #1d1f1d;

    text-decoration: none;

    transition: color 0.3s ease;

}

.breadcrumbs a:hover { color: #003b95; }

.breadcrumbs span { color: #1d1f1d; }

@media (max-width: 768px) {

    .breadcrumbs { font-size: 0.875rem; margin: 0.5rem 0 0 0.5rem; }

}

@media (max-width: 480px) {

    .breadcrumbs { font-size: 0.75rem; margin: 0.25rem 0 0 10px; }

}

/* FAQ / DETALHES */

.faq details {

    margin-bottom: 12px;

    border-left: 3px solid #103c6a;

    padding: 10px 12px;

    background: #fff;

}

.faq summary {

    font-weight: 600;

    cursor: pointer;

    outline: none;

}

.faq p { margin: 8px 0 0 0; }

.faq details > summary {

    list-style: none;

}

.faq details > summary::-webkit-details-marker {

    display: none;

}

.faq details > summary {

    display: inline-block;

    background: #103c6a;

    color: #fff;

    padding: 10px 16px;

    border-radius: 6px;

    font-weight: 600;

}

.faq details[open] > summary {

    margin-bottom: 10px;

}

/* SCROLLBAR */

::-webkit-scrollbar { width: 0; height: 0; }

/* ICON BRASIL TOURS */

.page-contact #bt.texto { padding-top: 12px; padding-bottom: 12px; }
.page-contact #bt .icon-brasiltours { padding: 0 0 8px; margin: 0; }
.page-contact #bt .visual-heading-h1 { margin-bottom: 10px; text-align: center; }
.page-contact #bt .visual-heading-h1 + br { display: none; }
.page-contact #bt p { margin-top: 0; margin-bottom: 0; }

.icon-brasiltours {

  display: flex;

  justify-content: center;

  align-items: center;

  padding-bottom: 20px;

}

.icon-brasiltours img {

  width: 55px !important;

  height: 55px !important;

  display: block;

  object-fit: contain;

}

.wrapper.row3 section {    

    padding-bottom: 0 !important;

}

.whatsapp-fixo {

  position: fixed;

  top: 50%;             /* verticalmente no meio */

  right: 20px;           /* distância da direita */

  transform: translateY(-50%); /* centraliza exatamente no meio */

  z-index: 999;

}

.whatsapp-fixo .whatsapp {

  width: 60px;

  height: 60px;

  transition: transform 0.2s;

}

.whatsapp-fixo .whatsapp:hover {

  transform: scale(1.1);

}

h2 {
  font-size: 18px;
  margin-top: 25px;

  color: #103c6a;

  font-weight: 700;

}

/* Mantém o visual original de títulos que, fora do assunto principal da página,
   passaram de H1 para H2 por acessibilidade e SEO. */
.visual-heading-h1 {
  font-size: 2em;
  font-weight: bold;
}

.banner-feature-title {
  font-size: 28px;
  line-height: 1.2;
  margin-top: 0;
  padding-top: 8px;
}

/* Cards de orçamento: faixa branca mais compacta e texto centralizado. */
#latest > li > article.quote-banner-card .excerpt {
  min-height: 44px;
  padding: 6px 12px;
}

p {

  line-height: 1.6;

}

ul {

  margin-left: 20px;

}

.privacy-list li,

.privacy-list li:hover {

  background: transparent !important;

  color: #374151 !important;

  transform: none !important;

  cursor: default !important;

}

.privacy-list li {

  margin-bottom: 6px;

  transition: none !important;

}

/* GRID PRINCIPAL */

.sitemap-layout {

  display: grid;

  grid-template-columns: 0.8fr 1.7fr 1.7fr 0.8fr !important;

  gap: 30px;

  margin-top: 20px;

}

/* RESPONSIVO */

@media(max-width:900px) {

  .sitemap-layout {

    grid-template-columns: 1fr;

  }

}

/* COLUNA */

.sitemap-card {

  border-right: 1px solid #e5e7eb;

  padding: 10px 15px;

}

/* REMOVE BORDA DA ÚLTIMA */

.sitemap-card:last-child {

  border-right: none;

}

/* TITULOS */

.sitemap-card h3 {

  text-align: center;

  color: #0a5bd3;

  margin-bottom: 15px;

  font-size: 16px;

  font-weight: 700;

}

/* LISTA */

.sitemap-card ul {

  list-style: none;

  padding: 0;

  margin: 0;

}

/* ESPAÇAMENTO */

.sitemap-card li {

  margin-bottom: 10px;

}

/* LINKS */

.sitemap-card a,

.sitemap-card a:visited {

  color: #374151 !important;

  text-decoration: none;

  font-size: 14px;

}

/* HOVER PROFISSIONAL */

.sitemap-card a:hover {

  color: #0a5bd3 !important;

  text-decoration: underline;

}

/* PASSEIOS (melhor leitura) */

.sitemap-links a {

  display: block;

  line-height: 1.6;

}

/* HEADER */

.page-header {

  text-align: center;

  margin-bottom: 30px;

}

.page-header img {

  width: 70px;

  margin-bottom: 10px;

}

.page-header h1 {

  font-weight: 800;

  margin-bottom: 10px;

}

.page-header h2 {

  color: #0a5bd3;

  font-size: 18px;

}

/* Atrações: respiro entre o título e o texto de abertura. */

.atracoes-intro-title {

  margin-bottom: 20px;

}

/* Atrações: leitura um pouco maior em telas de computador. */

@media screen and (min-width: 1001px) {

  .atracoes-card-description {

    font-size: 16px !important;

  }

}

/* ======================

   COOKIE BANNER

====================== */

.cookie-banner {

  position: fixed;

  bottom: 24px;

  left: 24px;

  right: 24px;

  z-index: 99999;

  display: flex;

  justify-content: center;

}

.cookie-banner[hidden] {

  display: none;

}

.cookie-banner__box {

  max-width: 880px;

  width: 100%;

  background: #ffffff;

  border-radius: 14px;

  border: 1px solid #d1d5db;

  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);

}

.cookie-banner__content {

  padding: 24px;

}

.cookie-banner__content h3 {

  margin: 0 0 12px;

  color: #111827;

  font-size: 1.25rem;

  font-weight: 700;

}

.cookie-banner__content p {

  margin: 0;

  line-height: 1.6;

  color: #374151;

  font-size: 0.95rem;

}

.cookie-banner__links {

  margin-top: 16px;

  color: #374151;

}

.cookie-banner__links a {

  color: #0a5bd3;

  text-decoration: none;

  font-weight: 600;

}

.cookie-banner__links a:hover {

  text-decoration: underline;

}

.cookie-banner__actions {

  margin-top: 18px;

  margin-bottom: 24px;

  display: flex;

  gap: 10px;

  flex-wrap: wrap;

}

.cookie-btn {

  padding: 10px 16px;

  border-radius: 8px;

  font-size: 14px;

  font-weight: 600;

  cursor: pointer;

  transition: background-color .2s ease, color .2s ease, border-color .2s ease;

}

.cookie-btn:focus {

  outline: 3px solid rgba(10, 91, 211, 0.3);

  outline-offset: 2px;

}

.cookie-btn--primary {

  background: #0a5bd3;

  color: #ffffff;

  border: none;

}

.cookie-btn--primary:hover {

  background: #0847a7;

}

.cookie-btn--secondary {

  background: #f3f4f6;

  color: #111827;

  border: 1px solid #d1d5db;

}

.cookie-btn--secondary:hover {

  background: #e5e7eb;

}

.cookie-btn--ghost {

  background: transparent;

  color: #111827;

  border: 1px solid #d1d5db;

}

.cookie-btn--ghost:hover {

  background: #f9fafb;

}

/* ======================

   COOKIE MODAL

====================== */

.cookie-modal {

  position: fixed;

  inset: 0;

  background: rgba(0, 0, 0, 0.55);

  z-index: 100000;

  display: none;

  align-items: center;

  justify-content: center;

  padding: 20px;

}

.cookie-modal.active {

  display: flex;

}

.cookie-modal__dialog {

  background: #ffffff;

  border-radius: 12px;

  max-width: 520px;

  width: 100%;

  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);

  overflow: hidden;

}

.cookie-modal__header,

.cookie-modal__footer {

  padding: 16px 20px;

  display: flex;

  justify-content: space-between;

  align-items: center;

}

.cookie-modal__header {

  border-bottom: 1px solid #e5e7eb;

}

.cookie-modal__header h3 {

  margin: 0;

  color: #111827;

  font-size: 1.15rem;

}

.cookie-modal__body {

  padding: 20px;

}

.cookie-category {

  display: flex;

  justify-content: space-between;

  gap: 20px;

  margin-bottom: 16px;

}

.cookie-category strong {

  color: #111827;

}

.cookie-category p {

  margin: 4px 0 0;

  color: #374151;

  line-height: 1.5;

}

.cookie-modal__close {

  background: transparent;

  border: none;

  font-size: 24px;

  cursor: pointer;

  color: #374151;

}

/* ======================

   BOTÃO FLUTUANTE

====================== */

.cookie-floating-btn {

  position: fixed;

  bottom: 20px;

  right: 20px;

  z-index: 99998;

  background: #0a5bd3;

  color: #ffffff;

  padding: 10px 14px;

  border-radius: 8px;

  border: none;

  cursor: pointer;

  font-weight: 600;

  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);

}

.cookie-floating-btn:hover {

  background: #0847a7;

}

/* ======================

   MOBILE

====================== */

@media (max-width: 768px) {

  .cookie-banner {

    left: 12px;

    right: 12px;

    bottom: 12px;

  }

  .cookie-banner__content {

    padding: 18px;

  }

  .cookie-banner__actions {

    flex-direction: column;

  }

  .cookie-btn {

    width: 100%;

  }

  .cookie-category {

    flex-direction: column;

  }

  .cookie-floating-btn {

    right: 12px;

    bottom: 12px;

  }

}
