/*============================================================================*/
/*------------------------------- css padrão de todos os header --------------*/

.site-cms-header {}
.imagem-header {}

.site-cms-header.destaque .text-header {}
.site-cms-header.destaque .g-breadcrumb-nav {}
.site-cms-header.destaque .text-header {}

.site-cms-header.promocao {}
.site-cms-header.promocao .g-breadcrumb-nav {}
.site-cms-header.promocao .text-header {}

.site-cms-header.ultra-wide {}
.site-cms-header.ultra-wide .g-breadcrumb-nav {}
.site-cms-header.ultra-wide .text-header {}

.site-cms-header.vertical {}
.site-cms-header.vertical .g-breadcrumb-nav {}
.site-cms-header.vertical .text-header {}

/* Alinhamento: "left" é o padrão (fica direto na regra base). right/center só sobrescrevem o que muda. */
.text-header {position: absolute;height: 100%;width: 100%;top: 0;z-index: 10;bottom: auto;color: #fff;left: 0;right: auto;padding: 5% 30% 0 5%;background: linear-gradient(to right, hsl(0deg 0% 0% / 90%) 0%, rgba(125, 185, 232, 0) 100%);text-align: left;z-index: 999;}
.text-header .nome {color: #fff;font-size: 6vmin;font-weight: 900;text-transform: uppercase;line-height: normal;margin-bottom: 0;position: relative;z-index: 99;}
.text-header .titulo-seo { color: #fff; font-size: 5vmin; position: relative; font-weight: 500 !important; text-transform: uppercase; line-height: normal; margin-bottom: 0; }
.text-header .meta-description {color: #fff;font-size: 16px;line-height: normal;display: -webkit-box;-webkit-line-clamp: 3;-webkit-box-orient: vertical;overflow: hidden;text-overflow: ellipsis;width: 60%;position: relative;z-index: 99;}
.text-header .link-absolute {}
.text-header .btn-scroll {}
.text-header .btn-link {font-size: 14px;letter-spacing: 2px;color: #fff;text-transform: uppercase;padding: 15px 50px;background: var(--thm-primary);display: inline-block;margin: 15px 0;position: relative;z-index: 99;}
.cms-header.left .g-breadcrumb-nav { left: 5%; }

.cms-header.right .text-header { right: 0; padding: 5% 5% 0 10%; background: linear-gradient(to bottom, hsl(0deg 0% 0% / 80%) 0%, rgba(125, 185, 232, 0) 100%); text-align: right; }
.cms-header.right .text-header .meta-description { text-align: right; padding-left: 45%; width: 100%; }
.cms-header.right .text-header .btn-link { margin: 8px auto; }
.cms-header.right .g-breadcrumb-nav { left: auto; right: 5%; }

.cms-header.center .text-header {left: auto;right: 0;padding: 7.5% 15% 0 15%;background: linear-gradient(to bottom, hsl(0deg 0% 0% / 90%) 0%, rgba(125, 185, 232, 0) 100%);text-align: center;}
.cms-header.center .text-header .meta-description {text-align: center;margin: auto;}
.cms-header.center .text-header .btn-link {margin: 15px 0 15px auto;padding: 10px 45px;}
.cms-header.center .g-breadcrumb-nav {}

/* Wrapper dos botões do banner (1 ou 2 - "Ver mais" + externo). O .row/.col-auto
   do Bootstrap tem margem/padding negativos de gutter que desalinhavam o botão
   em relação ao texto acima - zera isso aqui pra alinhar certinho. */
.text-header .row.buttons { display: flex; flex-wrap: wrap; gap: 15px; margin: 15px 0 0 0; }
.text-header .row.buttons .col-auto { padding: 0; }
.text-header .row.buttons .btn-link { margin: 0; padding: 15px 50px; }

/* Um botão só fica centralizado; dois dividem a largura igualmente entre si */
.cms-header.center .text-header .row.buttons { justify-content: center; }
.cms-header.center .text-header .row.buttons .col-auto:not(:only-child) { flex: 1 1 0; }
.cms-header.center .text-header .row.buttons .col-auto:not(:only-child) .btn-link { display: block; width: 100%; text-align: center; }

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

@media screen and (min-width: 1451px) and (max-width: 1600px) {}

@media screen and (min-width: 1025px) and (max-width: 1450px) {}

@media screen and (min-width: 1025px) {
    .site-cms-header.destaque .g-breadcrumb-item a { color: #fff; }
    .site-cms-header.destaque .g-breadcrumb-item.g-active span { color: #fff; }

    .site-cms-header.ultra-wide .g-breadcrumb-item a { color: #fff; }
    .site-cms-header.ultra-wide .g-breadcrumb-item.g-active span { color: #fff; }
}

@media screen and (max-width: 1024px) {
    .site-cms-header {}
    .imagem-header {}

    .site-cms-header.destaque .text-header { padding: 5% !important; }
    .site-cms-header.destaque .g-breadcrumb-nav {}
    .site-cms-header.destaque .text-header {}
    .site-cms-header.destaque .g-breadcrumb-item a {}

    .site-cms-header.promocao {}
    .site-cms-header.promocao .g-breadcrumb-nav {}
    .site-cms-header.promocao .text-header {}

    .site-cms-header.ultra-wide {}
    .site-cms-header.ultra-wide .g-breadcrumb-nav {}
    .site-cms-header.ultra-wide .text-header {background: linear-gradient(to bottom, hsl(0deg 0% 0% / 90%) 0%, rgba(125, 185, 232, 0) 100%);display: none;}
    .site-cms-header.ultra-wide .text-header .nome, .site-cms-header.ultra-wide .text-header .titulo-seo {}
    .site-cms-header.ultra-wide .g-breadcrumb-item a {}

    .site-cms-header.vertical {}
    .site-cms-header.vertical .g-breadcrumb-nav {}
    .site-cms-header.vertical .text-header {}

    .text-header {}
    .text-header .nome {}
    .text-header .titulo-seo {}
    .text-header .meta-description {}
    .text-header .link-absolute {}
    .text-header .btn-scroll {}
    .text-header .btn-link {}

    .cms-header.left .text-header {}
    .cms-header.left .text-header .meta-description {}
    .cms-header.left .text-header .btn-link {}
    .cms-header.left .g-breadcrumb-nav {}

    .cms-header.right .text-header {}
    .cms-header.right .text-header .meta-description {}
    .cms-header.right .text-header .btn-link {}
    .cms-header.right .g-breadcrumb-nav {}

    .cms-header.center .text-header {
    padding: 20% 15% 0 15%;
}
    .cms-header.center .text-header .meta-description {}
    .cms-header.center .text-header .btn-link {
    padding: 15px 30px;
}
    .cms-header.center .g-breadcrumb-nav {}
}

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

/*------------------------------- css padrão de todos os header --------------*/
/*============================================================================*/




/*============================================================================*/
/*------------------------------- header oferta -----------------------------*/

.site-cms-header.oferta {}
.site-cms-header.oferta .imagem {}
.site-cms-header.oferta .imagem img {}
.site-cms-header.oferta .checkin-.footer .checkin-url .datas, .site-cms-header.oferta .checkin-.footer .checkin-url .button { width: 100%; }
.site-cms-header.oferta .infos .g-breadcrumb-nav { left: 0; top: 0; position: relative; bottom: auto!important; }

/* site-cms-h1 / valores: adaptado de .trending/.pricing (style.css) - não existia estilo próprio pro contexto oferta */
.site-cms-header.oferta .site-cms-h1 {}
.site-cms-header.oferta .site-cms-h1.branco {}
.site-cms-header.oferta .site-cms-h1 .tag {}
.site-cms-header.oferta .site-cms-h1 .titulo-seo {}
.site-cms-header.oferta .site-cms-h1 .meta-description {}
.site-cms-header.oferta .valores { display: block !important; }
.site-cms-header.oferta .valores .entry-meta { display: block !important; }
.site-cms-header.oferta .valores .entry-author { position: relative; }
.site-cms-header.oferta .valores .entry-author .obs { position: absolute; left: 0; top: -10px; font-size: 12px; }
.site-cms-header.oferta .valores .entry-author .valor { font-size: 26px !important; }
.site-cms-header.oferta .valores .entry-author .pes {}
.site-cms-header.oferta .valores .trend-meta .entry-author { margin-bottom: 15px; }
.site-cms-header.oferta .valores .trend-meta .entry-author .icon-calendar {}
.site-cms-header.oferta .btn-venda {}

@media screen and (max-width: 1024px) {}
@media screen and (min-width: 1451px) and (max-width: 1600px) {}
@media screen and (min-width: 1025px) and (max-width: 1450px) {}
@media screen and (min-width: 1025px) {
    .site-cms-header.oferta {}
    .site-cms-header.oferta .imagem { padding: 60px !important; }
    .site-cms-header.oferta .imagem img { border-radius: 22px; }
    .site-cms-header.oferta .infos { padding: 53px 30px 30px 0 !important; position: relative; }
    .site-cms-header.oferta .carousel-inner { border-radius: 20px; }
}

@media screen and (max-width: 1024px) {
    .site-cms-header.oferta {}
    .site-cms-header.oferta .imagem {}
    .site-cms-header.oferta .imagem img {}
}
@media screen and (max-width: 380px) {}

/*------------------------------- header oferta -----------------------------*/
/*============================================================================*/




/*============================================================================*/
/*------------------------------- valores no header ---------------------------*/
/* Preco (campo valores, JSON) nos headers destaque/ultrawide/oferta - ver
   resources/views/includes/headers/valores_header.blade.php. No mobile o
   texto do header some, entao o mesmo bloco aparece direto no
   h1_guard_top (classe valores-title-h1) em vez de aqui. */

.valores-header, .valores-title-h1 {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px 20px;
}

.valores-header-preco {
    position: relative;
    display: inline-block;
    font-size: 28px;
    font-weight: 800;
    line-height: 1.1;
    padding-top: 16px;
    padding-bottom: 16px;
}

.valores-header-obs {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    font-size: 11px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
    opacity: 0.85;
}

.valores-header-parcelamento {
    position: absolute;
    bottom: 0;
    right: 0;
    display: block;
    font-size: 12px;
    font-weight: 400;
    white-space: nowrap;
    opacity: 0.85;
}

.valores-header-diarias, .valores-header-pessoas {
    font-size: 13px;
    opacity: 0.85;
}

.valores-header-incluso {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    background-color: rgba(255, 255, 255, 0.15);
    padding: 6px 12px;
    border-radius: 20px;
}

.valores-header-desconto {
    font-size: 13px;
    font-weight: 800;
    color: #fff;
    background-color: #e5417a;
    padding: 6px 14px;
    border-radius: 20px;
}

/* destaque / ultra-wide: o preco flutua no canto inferior direito, sobre a
   foto - a .text-header ja tem gradiente cobrindo a esquerda (pro titulo),
   mas nao a direita, entao aqui ganha seu proprio degrade preto pra sustentar
   o texto branco. */
.site-cms-header.destaque .valores-header,
.site-cms-header.ultra-wide .valores-header {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    color: #fff;
    text-align: right;
    justify-content: flex-end;
    padding: 10% 100px 100px 73%;
    background: linear-gradient(to top, hsl(0deg 0% 0% / 85%) 0%, rgba(0, 0, 0, 0) 100%);
}

/* oferta: fundo branco ao lado da foto - preco fica logo abaixo do
   meta-description, cores escuras (sem degrade, sem posição absoluta). */
.site-cms-header.oferta .valores-header {
    margin-top: 15px;
    color: #1a1a1a;
}

.site-cms-header.oferta .valores-header-preco {
    color: var(--thm-base, #1a1a1a);
}

/* mobile (h1_guard_top): mesmo tratamento do oferta - fundo branco, cores
   escuras, sem posição absoluta - só muda o texto que ativa (destaque/
   ultrawide/oferta), não a aparência. */
.valores-title-h1 {
    margin: 10px 0 20px 0;
    color: #1a1a1a;
}

.valores-title-h1 .valores-header-preco {
    color: var(--thm-base, #1a1a1a);
}

@media screen and (max-width: 1024px) {
    .site-cms-header.destaque .valores-header,
    .site-cms-header.ultra-wide .valores-header {
        display: none;
    }
}

/*------------------------------- valores no header ---------------------------*/
/*============================================================================*/




/*============================================================================*/
/*--------------------------- headers de carrossel ---------------------------*/

.cms-header-carrossel .carousel-control-next-icon, .cms-header-carrossel .carousel-control-prev-icon {}
.cms-header-carrossel {}

.cms-header-carrossel.ultra-wide {}
.cms-header-carrossel.ultra-wide .slide {}
.cms-header-carrossel.ultra-wide .carousels {}
.cms-header-carrossel.ultra-wide .carousels .carousel {}
.cms-header-carrossel.ultra-wide.ultra-wide .carousels .carousel.active {}
.cms-header-carrossel.ultra-wide .carousels .carousel {}
.cms-header-carrossel.ultra-wide .carousels .carousel img {}

.carousel-control-next, .carousel-control-prev {z-index: 1010!important;}

.site-cms-header.carrossel {}
.site-cms-header.carrossel .site-cms-h1-top{padding-top: 30px;padding-bottom: 30px;}
.site-cms-header.carrossel .g-breadcrumb-nav{left: 15px;top: 0;}
.site-cms-header.carrossel .site-cms-h1 {}
.site-cms-header.carrossel .site-cms-h1 .tag { font-size: 16px; color: var(--thm-primary); }
.site-cms-header.carrossel .site-cms-h1 .titulo-seo { font-size: 24px; }
.site-cms-header.carrossel .site-cms-h1 .meta-description { font-size: 14px; }
.site-cms-header.carrossel .site-cms-h1 .btn-venda { color: #fff; margin-top: 30px; }
.site-cms-header.carrossel .site-cms-h1 .valores {}
.site-cms-header.carrossel .site-cms-h1 .valores .trend-meta { padding-top: 45px; }
.site-cms-header.carrossel .site-cms-h1 .valores .obs { font-size: 14px; }
.site-cms-header.carrossel .site-cms-h1 .valores .valor { font-size: 32px !important; }
.site-cms-header.carrossel .site-cms-h1 .valores .valor .pes { font-size: 12px !important; }
.site-cms-header.carrossel .site-cms-h1 .valores span { font-size: 14px; padding-top: 40px; }
.site-cms-header.carrossel .infos { padding: 60px 120px 0 60px; }
.site-cms-header.carrossel .infos .btn-informacoes { padding-top: 30px; }
.site-cms-header.carrossel .infos .btn-informacoes h3 button { background-color: transparent; padding: 0; margin: 0; }
.site-cms-header.carrossel .infos .btn-informacoes .btn { text-align: right; padding: 10px 15px 10px 30px; font-size: 12px; float: left; background-color: #f1f1f1; }
.site-cms-header.carrossel .infos .btn-informacoes .btn-informacoes i { border-radius: 50%; width: 35px; height: 35px; color: #fff; background-color: #ffc107; padding: 12px 13px; margin-left: 15px; }
.site-cms-header.carrossel .infos .btn-informacoes .btn-informacoes { text-align: right; padding: 15px 15px 15px 35px; font-size: 12px; float: left; }

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

@media screen and (min-width: 1451px) and (max-width: 1600px) {}

@media screen and (min-width: 1025px) and (max-width: 1450px) {}

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

@media screen and (max-width: 1024px) {
    .site-cms-header.carrossel .g-breadcrumb-nav{position: relative;top: auto;left: 15px;padding: 0 0 5px 0;bottom: -380px;}
    .site-cms-header.carrossel .infos .btn-informacoes .btn-informacoes {}
    .site-cms-header.carrossel {}
    .site-cms-header.carrossel .title-header{}
    
    .site-cms-header.carrossel .site-cms-h1 {}
    .site-cms-header.carrossel .site-cms-h1 .tag {}
    .site-cms-header.carrossel .site-cms-h1 .titulo-seo {}
    .site-cms-header.carrossel .site-cms-h1 .meta-description {}
    .site-cms-header.carrossel .site-cms-h1 .btn {}
    .site-cms-header.carrossel .site-cms-h1 .valores {}
    .site-cms-header.carrossel .site-cms-h1 .valores .trend-meta {}
    .site-cms-header.carrossel .site-cms-h1 .valores .obs {}
    .site-cms-header.carrossel .site-cms-h1 .valores .valor {}
    .site-cms-header.carrossel .site-cms-h1 .valores .valor .pes {}
    .site-cms-header.carrossel .site-cms-h1 .valores span {}
    .site-cms-header.carrossel .site-cms-h1-top{padding-top: 15px;padding-bottom: 15px;}
    .site-cms-header.carrossel .infos { padding: 30px; }
}

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

/*--------------------------- headers de carrossel ---------------------------*/
/*============================================================================*/




/*============================================================================*/
/*------------------------- site-cms-header-carrossel ------------------------*/
/* usada por resources/views/includes/headers/headers_destaque.blade.php */

.site-cms-header-carrossel {}
.site-cms-header-carrossel .carousel.slide {}
.site-cms-header-carrossel .carousel-inner {}
.site-cms-header-carrossel .carousel-inner .carousel-item {}
.site-cms-header-carrossel .carousel-inner .carousel-item img {}
.site-cms-header-carrossel .carousel-inner .carousel-item .carousel-caption { background: linear-gradient(to bottom, hsl(0deg 0% 0% / 80%) 0, rgba(125, 185, 232, 0) 100%); right: 0; text-align: left; left: 0; top: 0; padding: 5% 35% 0 100px; }
.site-cms-header-carrossel .carousel-inner .carousel-item .carousel-caption .nome { color: #fff; }
.site-cms-header-carrossel .carousel-inner .carousel-item .carousel-caption .buttons {}
.site-cms-header-carrossel .carousel-inner .carousel-item .carousel-caption .buttons a { padding: 15px 75px; color: #fff; background-color: var(--thm-primary); border-color: var(--thm-primary); }
.site-cms-header-carrossel .carousel-inner .carousel-item .carousel-caption .buttons a:hover {}
.site-cms-header-carrossel .carousel-inner .carousel-item .carousel-caption .buttons a i {}
.site-cms-header-carrossel .carousel-control-next-icon, .site-cms-header-carrossel .carousel-control-prev-icon { width: 4rem; height: 4rem; }

@media (min-width: 1081px) {
    .site-cms-header-carrossel .carousel-inner .carousel-item .carousel-caption .nome { font-size: 7vmin; font-weight: 900; line-height: 1.2; }
}

@media (max-width: 1100px) {
    .site-cms-header-carrossel .carousel-inner .carousel-item .carousel-caption .buttons a { padding: 10px 30px; font-size: 12px; }
    .site-cms-header-carrossel .carousel-inner .carousel-item .carousel-caption .nome { margin: 0; font-size: 6vmin; font-weight: 900; margin-bottom: 15px; }
    .site-cms-header-carrossel .carousel-inner .carousel-item .carousel-caption .meta-description { display: none; }
    .site-cms-header-carrossel .carousel-control-next-icon, .site-cms-header-carrossel .carousel-control-prev-icon { width: 3rem; height: 3rem; }
    .site-cms-header-carrossel .carousel-inner .carousel-item .carousel-caption { padding: 60px 60px 0 30px !important; }
}

/*------------------------- site-cms-header-carrossel ------------------------*/
/*============================================================================*/




/*============================================================================*/
/*------------------------- site-cms-header-galeria ---------------------------*/
/* usada por resources/views/includes/headers/galeria.blade.php + galerias/grid.blade.php */

.site-cms-header-galeria {}

.site-cms-header-galeria-topo {padding: 15px 0 15px 0;}
.site-cms-header-galeria-topo .g-breadcrumb-nav {position: absolute;padding: 0 0 10px 0;background: transparent;bottom: -30em;right: 10px;}

.site-cms-header-galeria-title-header {}
.site-cms-header-galeria-titulo { font-size: 2rem; font-weight: 800; color: #1a1a1a; line-height: 1.25; margin: 8px 0 10px 0; }
.site-cms-header-galeria-meta-description { color: #5c676d; font-size: 15px; line-height: 1.5; margin-bottom: 15px; }

.site-cms-header-galeria-fotos { padding-bottom: 30px; }

.site-cms-header-galeria-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(2, 1fr); gap: 8px; height: 420px; }
.site-cms-header-galeria-item { position: relative; overflow: hidden; border-radius: 12px; }
.site-cms-header-galeria-item.oculto { display: none; }
.site-cms-header-galeria-item.principal { grid-column: 1 / 3; grid-row: 1 / 3; }
.site-cms-header-galeria-item a { display: block; width: 100%; height: 100%; }
.site-cms-header-galeria-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.3s ease; }
.site-cms-header-galeria-item:hover img { transform: scale(1.03); }

.site-cms-header-galeria-vertodas { position: absolute; top: 12px; right: 12px; background: #fff; color: #1a1a1a; font-size: 0.8rem; font-weight: 600; padding: 6px 14px; border-radius: 20px; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); display: flex; align-items: center; gap: 6px; }

@media screen and (max-width: 1024px) {
    .site-cms-header-galeria-titulo { font-size: 1.4rem; }
    .site-cms-header-galeria-list { grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(3, 1fr); height: 320px; }
    .site-cms-header-galeria-item.principal { grid-column: 1 / 3; grid-row: 1 / 2; }
    .site-cms-header-galeria-title-header {margin-top: 0;}
    
    .site-cms-header-galeria-topo .g-breadcrumb-nav {bottom: -22.5em;}
}

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

/*------------------------- site-cms-header-galeria ---------------------------*/
/*============================================================================*/




/*============================================================================*/
/*------------------------- site-cms-header-video -----------------------------*/
/* usada por resources/views/includes/headers/video.blade.php */

.site-cms-header-video { position: relative; overflow: hidden; min-height: 620px; display: flex; align-items: center; }
.site-cms-header-video .g-breadcrumb-item a, .site-cms-header-video .g-breadcrumb-item span{color: #fff;}
.site-cms-header-video-poster { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; transition: opacity 0.6s ease; }
.site-cms-header-video-poster-oculta { opacity: 0; }
.site-cms-header-video-player { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; display: block; }
.site-cms-header-video-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to top, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.25) 60%, rgba(0, 0, 0, 0.15) 100%); z-index: 3; }

.site-cms-header-video-content {position: relative;z-index: 4;width: 100%;max-width: 60%;padding: 0 5% 60px 5%;color: #fff;}

.site-cms-header-video-tag { display: inline-block; background-color: var(--thm-primary); color: #fff; padding: 5px 15px; border-radius: 4px; font-size: 0.75rem; text-transform: uppercase; font-weight: bold; margin-bottom: 15px; }
.site-cms-header-video-titulo { font-size: 2.6rem; font-weight: 800; line-height: 1.2; color: #fff; margin-bottom: 15px; text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4); }
.site-cms-header-video-meta-description { font-size: 1.05rem; color: rgba(255, 255, 255, 0.9); margin-bottom: 25px; max-width: 90%; }

.site-cms-header-video-busca { display: flex; align-items: center; background-color: #fff; border-radius: 8px; padding: 6px; max-width: 420px; margin-bottom: 20px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); }
.site-cms-header-video-busca-input { flex: 1; border: none; outline: none; padding: 10px 15px; font-size: 14px; color: #333; background: transparent; }
.site-cms-header-video-busca-btn { border: none; background-color: transparent; color: var(--thm-primary); padding: 10px 15px; font-size: 16px; cursor: pointer; }

.site-cms-header-video-scroll { display: inline-block; color: #fff; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; font-size: 0.85rem; }
.site-cms-header-video-scroll:hover { color: #fff; opacity: 0.85; }

.site-cms-header-video-controles { position: absolute; left: 50%; bottom: 20px; transform: translateX(-50%); z-index: 5; display: flex; gap: 12px; }
.site-cms-header-video-btn-play, .site-cms-header-video-btn-mute { width: 44px; height: 44px; border-radius: 50%; background-color: rgba(255, 255, 255, 0.9); color: #1a1a1a; border: none; display: flex; align-items: center; justify-content: center; font-size: 16px; cursor: pointer; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25); transition: background-color 0.2s ease; }
.site-cms-header-video-btn-play:hover, .site-cms-header-video-btn-mute:hover { background-color: #fff; }

@media screen and (max-width: 1024px) {
    .site-cms-header-video { min-height: 480px; }
    .site-cms-header-video-titulo { font-size: 1.6rem; }
    .site-cms-header-video-meta-description { display: none; }
    .site-cms-header-video-content { max-width: 100%; padding: 0 6% 40px 6%; }
    .site-cms-header-video-busca { max-width: 100%; }
}

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

/*------------------------- site-cms-header-video -----------------------------*/
/*============================================================================*/




/*============================================================================*/
/*------------------------------- paginas padrao -----------------------------*/
.site-cms-header.carrossel {}
.title-header {}
.title-header .nome { }
.title-header .meta-description {}

.site-cms-header.title {color: #fff;padding: 60px 15px 60px 15px;background-color: var(--thm-base);}
.site-cms-header.title .title-header {}
.site-cms-header.title .title-header .nome { color: #fff; font-size: 2em; }
.site-cms-header.title .title-header .meta-description {}
.site-cms-header.title .title-header .g-breadcrumb-item a, .site-cms-header.title .title-header .g-breadcrumb-item span{color: #fff;}

.site-cms-header.breadcrumb-main {}
.site-cms-header.breadcrumb-main .breadcrumb-outer { padding: 15vmin 30px; }
.site-cms-header.breadcrumb-main .breadcrumb-content {}
.site-cms-header.breadcrumb-main .breadcrumb-content nav {}
.site-cms-header.breadcrumb-main .breadcrumb-content nav ul {}
.site-cms-header.breadcrumb-main .breadcrumb-content nav ul li {}
.site-cms-header.breadcrumb-main .breadcrumb-content nav ul li a {}
.site-cms-header.breadcrumb-main .breadcrumb-content h1 {}
.dot-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; transition: all ease-in-out 0.5s; background: var(--thm-black) url(/recantodascaldas/assets/images/dot-overlay.png) repeat; opacity: 0.6; }

.site-cms-h1-top {padding-top: 30px;padding-bottom: 30px;}
.site-cms-h1-top .nome { margin: 0 0 5px 0; }
.site-cms-h1-top .meta-description {}

.site-cms-galeria-content { position: relative; margin-bottom: 30px; }
.site-cms-galeria-content .galeria {}
.site-cms-galeria-content .galeria .carousel-inner { border-radius: 8px; }
.site-cms-galeria-content .box-valores {}
.site-cms-galeria-content .box-valores .content { padding: 30px; box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.16); border-radius: 8px; position: relative; }
.site-cms-galeria-content .box-valores .box { border: solid 1px #ddd; border-radius: 8px; padding: 20px; }
.site-cms-galeria-content .box-valores .observacao { position: relative; top: 12.5px; left: 5px; }
.site-cms-galeria-content .box-valores .valor { font-size: 42px; font-weight: 900; }
.site-cms-galeria-content .box-valores .pensao { position: relative; top: -22.5px; left: 10px; }
.site-cms-galeria-content .box-valores .checkin {}
.site-cms-galeria-content .box-valores .countday {}
.site-cms-galeria-content .box-valores .pes_count {}
.site-cms-galeria-content .box-valores .btn-header { font-size: 14px; letter-spacing: 2px; margin: 15px auto; color: #ffffff; text-transform: uppercase; padding: 15px 15px; background: var(--thm-base); }

.header-checkin { text-align: center; position: relative; }
.header-checkin .site-cms-h1 {}
.header-checkin .site-cms-h1 .tag { font-family: var(--title-font); color: #fff; font-size: 22px; margin: 0; }
.header-checkin .site-cms-h1 .titulo-seo { font-size: 8vmin; color: #fff; }
.header-checkin .form-default { margin-top: 30px; }
.header-checkin .form-default fieldset { background-color: rgb(227 221 221 / 65%); padding: 25px 60px; width: 95%; margin: auto; }
.header-checkin .form-default fieldset .col {}
.header-checkin .form-default fieldset .col .datas {}
.header-checkin .form-default fieldset .col label { color: #000; font-size: 12px; padding-left: 15px; }
.header-checkin .form-default fieldset .col .button {}
.header-checkin .form-default fieldset .col .button button {}
.header-checkin .form-default fieldset .has-feedback .form-control, .header-checkin .checkin-url .input-group-addon { border: none; }
.header-checkin .checkin-url .input-group-addon i { color: var(--thm-primary) !important; }

.checkin-url button { padding: 12.5px 10px !important; background-color: var(--thm-primary) !important; border-color: var(--thm-primary) !important; color: #fff !important; }

.header-checkin .background-color { background-color: rgb(0 0 0 / 45%); height: 100%; width: 100%; left: 0; top: 0; position: absolute; }

.hospede-buttons .form-group .input-group .btn-pes { background-color: var(--thm-primary) !important; border-color: var(--thm-primary) !important; color: #fff !important; }

.site-index .main_header_area { position: fixed; width: 100%; background: linear-gradient(to bottom, hsl(0deg 0% 0%) 0, rgb(255 255 255 / 0%) 100%); height: 250px; z-index: 1030; }
.site-index .header_menu .navbar.navbar-default { background: transparent; border: none; }
.site-index .header_menu .navbar.navbar-default .navbar-header .navbar-brand img { filter: brightness(1000%) saturate(0%); }
.site-index .header_menu.fixed-top .navbar.navbar-default .navbar-header .navbar-brand img { filter: none; }
.site-index .header_menu.fixed-top .navbar.navbar-default .nav.navbar-nav li a { color: var(--thm-black); }
.site-index .header_menu .navbar.navbar-default .nav.navbar-nav li a { color: #fff; }
.site-index .main_header_area .header-content { background-color: transparent !important; border: none; }
.site-index .header_menu.fixed-top {}

.main_header_area .header_menu.fixed-top .navbar.navbar-default { background: #fff; border-bottom: 1px solid #ddd; }

.header-checkin .carousel-control-next, .header-checkin .carousel-control-prev { display: none; }

@media screen and (max-width: 1024px) {
    .site-cms-galeria-content .galeria { margin-top: 15px; }

    .site-cms-h1-top {padding-top: 30px;padding-bottom: 30px;}
    .site-cms-h1-top .nome {margin: 5px 0 5px 0;font-size: 18px;}
    .site-cms-h1-top .meta-description {
    font-size: 12px;
}
    
    .text-header {}
    .text-header .nome, .text-header .titulo-seo {}
    .text-header .meta-description { display: none; }
    .text-header .btn-link { padding: 10px 30px; font-size: 12px; }

    .header-checkin .form-default { margin: 15px 0 0 -15px; }
    .header-checkin.site-cms-header .site-cms-h1 { left: 0; margin-left: 0; top: 20%; width: 100%; text-align: center; }
    .header-checkin .site-cms-h1 .tag { font-size: 14px; }
    .header-checkin .site-cms-h1 .titulo-seo { color: #fff; }
    .header-checkin .form-default fieldset { width: 100%; padding: 30px 15px 20px 15px; border-radius: 8px; display: block; }
    .header-checkin .form-default fieldset .col.datas, .header-checkin .form-default fieldset .col.hospedes { width: 50%; float: left; }

    .site-index .main_header_area { height: 80px; }
    .site-index .header_menu .navbar.navbar-default {}
    .site-index .main_header_area .header-content {}
    .site-index .header_menu.fixed-top {}

    .site-cms-h1-top { padding-top: 15px; padding-bottom: 15px; }
    .site-cms-galeria-content .box-valores .content {}

    .site-cms-header.title { padding: 60px 30px; }
    .site-cms-header.title .title-header {}
    .site-cms-header.title .title-header .nome { font-size: 8vmin; }
    .site-cms-header.title .title-header .meta-description { font-size: 14px; }

    .site-cms-header.breadcrumb-main {}
    .site-cms-header.breadcrumb-main .breadcrumb-outer { padding: 10vmin 30px; }
    .site-cms-header.breadcrumb-main .breadcrumb-content {}
    .site-cms-header.breadcrumb-main .breadcrumb-content nav {}
    .site-cms-header.breadcrumb-main .breadcrumb-content nav ul {}
    .site-cms-header.breadcrumb-main .breadcrumb-content nav ul li {}
    .site-cms-header.breadcrumb-main .breadcrumb-content nav ul li a {}
    .site-cms-header.breadcrumb-main .breadcrumb-content h1 {}
}

@media screen and (min-width: 1451px) and (max-width: 1600px) {}

@media screen and (min-width: 1025px) and (max-width: 1450px) {}

@media screen and (min-width: 1025px) {
    .site-cms-header.galeria .demo-gallery ul li { margin: 0; float: left; }
    .site-cms-header.galeria .list-unstyled { display: flow-root; font-size: 12px; }
    .site-cms-header.galeria .demo-gallery { padding-top: 0; }

    .cms-header-carrossel .carousel-control-next-icon, .cms-header-carrossel .carousel-control-prev-icon { width: 75px !important; height: 75px !important; }
}

@media screen and (max-width: 1024px) {
    .text-header .nome, .text-header .titulo-seo {font-size: 3vmin;}
    .text-header .meta-description { display: none; }
    .text-header .btn-link {padding: 5px 15px;font-size: 10px;}

    .site-cms-header.title {padding: 15px 15px 45px 15px;}
    .site-cms-header.title .title-header {
    padding-top: 40px;
}
    .site-cms-header.title .title-header .nome { font-size: 1.25em; }
    .site-cms-header.title .title-header .meta-description { font-size: 12px; }

    .site-cms-header.breadcrumb-main {}
    .site-cms-header.breadcrumb-main .breadcrumb-outer {padding: 30vmin 30px 10vmin 30px;}
    .site-cms-header.breadcrumb-main .breadcrumb-content {}
    .site-cms-header.breadcrumb-main .breadcrumb-content nav {}
    .site-cms-header.breadcrumb-main .breadcrumb-content nav ul {}
    .site-cms-header.breadcrumb-main .breadcrumb-content nav ul li {}
    .site-cms-header.breadcrumb-main .breadcrumb-content nav ul li a {}
    .site-cms-header.breadcrumb-main .breadcrumb-content h1 {}
}

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

/*------------------------------- paginas padrao -----------------------------*/
/*============================================================================*/




/*============================================================================*/
/*-------------------------------- header box --------------------------------*/

/* Container e Estrutura Geral */
.cms-header-boxs { padding: 15px 0; background-color: #f8f9fa; }
.cms-header-container { max-width: 95%; margin: 0 auto; padding: 0 15px; }

/* O Card Individual */
.cms-header-card { position: relative; width: 100%; border-radius: 12px; overflow: hidden; background-color: #000; display: flex; }

/* Imagens e Efeitos */
.cms-header-img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease, opacity 0.5s ease; opacity: 0.85; }
.cms-header-card:hover .cms-header-img { transform: scale(1.08); opacity: 0.65; }

/* Overlay de Legendas */
.cms-header-caption { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.4) 50%, transparent 100%); display: flex; flex-direction: column; justify-content: flex-end; padding: 30px 25% 50px 50px; pointer-events: none; z-index: 2; }
.cms-header-link-absolute { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 5; }

/* Tipografia Principal */
.cms-header-title { color: #ffffff !important; font-size: 1.8rem; font-weight: 800; line-height: 1.1; margin-bottom: 12px; text-shadow: 0 2px 4px rgba(0,0,0,0.5); }
.cms-header-description { color: rgba(255, 255, 255, 0.9); font-size: 1.05rem; line-height: 1.4; margin-bottom: 15px; max-width: 90%; }
.cms-header-tag { background-color: #004aad; color: white; padding: 5px 15px; border-radius: 4px; font-size: 0.75rem; text-transform: uppercase; font-weight: bold; margin-bottom: 10px; width: 150px; }
.cms-header-meta, .cms-header-meta-sm { color: rgba(255, 255, 255, 0.7); font-size: 0.85rem; display: block; }

/* Tipografia Sidebar */
.cms-header-caption-sm { padding: 30px 150px 30px 30px; }
.cms-header-title-sm { color: #ffffff !important; font-size: 1.2rem; font-weight: 700; line-height: 1.3; margin-bottom: 5px; text-shadow: 0 1px 3px rgba(0,0,0,0.6); }
.cms-header-boxs .col-destaque {}
.cms-header-boxs .col-sidebar {}

/* Alturas e Responsividade */
@media (min-width: 1081px) {
    .cms-header-main { height: 700px; }
    .cms-header-sidebar-lists { height: 550px; }
    .cms-header-side { height: calc((670px / 3) - 6px);margin-bottom: 15px; }
    .col-destaque { padding-right: 0!important; }
    .col-sidebar {}
}

@media (max-width: 1080px) {
    .cms-header-title-sm { font-size: 1.0rem; }
    .cms-header-container { max-width: 100%; }
    .cms-header-title {}
    .cms-header-description {}
    .cms-header-boxs .col-destaque { padding: 0!important; }
    .cms-header-boxs .col-sidebar { padding: 0 5px!important; }
    .cms-header-boxs .col-12 { padding: 0!important; }
    .cms-header-main {}
    .cms-header-side { height: 200px; }
    .cms-header-title { font-size: 0.95rem; }
    .cms-header-caption { padding: 15px 15% 30px 30px; }
}

/*-------------------------------- header box --------------------------------*/
/*============================================================================*/




/*============================================================================*/
/*-------------------------------- breadcrumb --------------------------------*/

.cms-header.title .g-breadcrumb-nav { position: relative; left: 0; top: 0; }
.g-breadcrumb-nav {font-family: Arial, sans-serif;padding: 15px 0;background: transparent;position: absolute;z-index: 1020;right: 3.5%;bottom: 5%;}
.g-breadcrumb { list-style: none; padding: 0; margin: 0 0 0 0; display: flex; flex-wrap: nowrap; flex-direction: row; align-content: center; }
.off .g-breadcrumb-item.g-active span, .off .g-breadcrumb-item a { color: #3c4043; }
.g-breadcrumb-item { display: flex; align-items: center; font-size: 14px; line-height: 1.3; }

/* Links comuns do caminho */
.g-breadcrumb-item a {}
.g-breadcrumb-item a:hover {}

/* Destaque para a página atual (Onde o usuário está) */
.g-breadcrumb-item.g-active span { font-weight: normal; text-decoration: none; }

/* Separador estilo Seta estilizada (>) igual ao print */
.g-breadcrumb-item + .g-breadcrumb-item::before { content: "\203A"; padding: 0 8px; color: #70757a; font-size: 16px; font-weight: bold; visibility: visible; }

/* Bloco Inferior de Metadados */
.g-breadcrumb-meta { display: flex; align-items: center; font-size: 14px; margin-top: 2px; }

/* Bloco de Notas e Estrelas */
.g-rating-value { color: #dd1e7b; /* Magenta exato do print */ display: flex; align-items: center; gap: 4px; }
.g-rating-value i { font-size: 12px; }
.g-rating-count { text-decoration: underline; margin-left: 2px; }

/* Separador em ponto de lista */
.g-meta-separator { padding: 0 8px; color: #70757a; }

/* Nome da Tag cadastrada */
.g-meta-tag-name { color: #3c4043; }

@media (max-width: 1080px) {
    .g-breadcrumb-nav {top: auto;bottom: -45px;left: 15px;margin-left: 0;padding-right: 15px;}
    .g-breadcrumb-item { font-size: 8px; }
    .g-breadcrumb-item a { color: #777; }
    .g-breadcrumb-item.g-active span { color: #777; }
}
/*-------------------------------- breadcrumb --------------------------------*/
/*============================================================================*/
