body:not([class*="elementor-page-"]) .site-main {
	max-width: 1140px!important;
}


.white-logo,
.colored-logo{
  display:none;
}



.elementor-sticky--active.she-header .colored-logo,
.elementor-sticky--active:not(.she-header) .white-logo
{
  display:flex!important;
}
/* Páginas 4132 e 5806: usar sempre o logo colorido */
body.page-id-5818 .colored-logo,
body.page-id-5850 .colored-logo,
body.page-id-5818 .elementor-sticky--active:not(.she-header) .colored-logo,
body.page-id-5850 .elementor-sticky--active:not(.she-header) .colored-logo {
  display: flex !important;
}

body.page-id-5818 .white-logo,
body.page-id-5850 .white-logo,
body.page-id-5818 .elementor-sticky--active:not(.she-header) .white-logo,
body.page-id-5850 .elementor-sticky--active:not(.she-header) .white-logo {
  display: none !important;
}

.elementor-sticky--active.she-header,
body.single-apartamento .elementor-sticky--active.she-header
{
/*  min-height:100px;*/
border-bottom: 1px solid #e4e4e4!important;
}

.elementor-sticky--active.she-header a{
  color:#000!important;
}

header path{
  transition:fill .25s linear;
}

.elementor-sticky--active.she-header path{
  fill:#000!important;
}


/* A barra de abas deve só ocupar o necessário */
.e-n-tabs-heading {
	display: flex;
	flex-direction: row;
	gap: 10px;
	width: auto !important;
	max-width: 100%;       
	align-self: flex-end;
	padding: 20px 50px!important;
	border: 1px solid rgb(112, 112, 112)!important;
	border-radius: 5px!important;
}

/* Botões com largura automática */
.e-n-tab-title {
	white-space: nowrap;
	padding: 8px 16px;
	background-color: #eee;
	border: none;
	cursor: pointer;
	width: auto;
}


.elementor-gallery__titles-container .elementor-gallery-title:not(:last-child) {
	border-right:1px solid var(--galleries-title-color-normal);
	padding-right:50px!important;
}

.elementor-gallery__titles-container .elementor-gallery-title:not(:first-child) {
	padding-left:50px!important;
}

@media (max-width: 768px) {
  .e-n-tabs-heading {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    width: 100% !important;
    align-self: auto;
  }

  .e-n-tab-title {
    flex: 1 1 auto;
    width: 100%;
    text-align: center;
  }
}


.zoom-background {
  transition: all 0.5s ease!important;
  background-size: 100%!important;
  height:220px!important;
}
.zoom-background:hover {
  background-size: 110%!important;
}

.voucher-form .elementor-field-option {
  width: 33.33%;
  display: inline-block;
  padding: 10px;
  box-sizing: border-box;
}


/* Esconde o texto dos labels */
.voucher-form .elementor-field-type-radio .elementor-field-option label {
  font-size: 0;
  display: inline-block;
  cursor: pointer;
}

/* Esconde os botões radio */
.voucher-form .elementor-field-type-radio .elementor-field-option input[type="radio"] {
  display: none;
}

/* Estilo comum para todos os labels com imagem */
.voucher-form .elementor-field-type-radio .elementor-field-option label {
  width: 100%;
  height: 100px;
  border: 3px solid transparent;
  border-radius: 6px;
  transition: border 0.3s ease;
  content:" ";
  font-size: 0;
  line-height: 0;
  color: transparent;
}



.sticky-scroll-bar::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #33333330;
  backdrop-filter: blur(13px);
  -webkit-backdrop-filter: blur(13px);

}

.elementor-sticky--active.sticky-scroll-bar::before{
  background: #fff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;

}

.elementor-sticky--active.sticky-scroll-bar{
  height:50px;
  background-color:#ffffff!important;
  border-bottom:1px solid rgb(114, 117, 117);
  pasdding:0px!important;
}
.elementor-sticky--active.sticky-scroll-bar span{
  color:rgb(114, 117, 117)!important;
}

.elementor-sticky--active.sticky-scroll-bar svg{
  fill:rgb(114, 117, 117)!important;
}

.elementor-sticky--active.sticky-scroll-bar a.elementor-button {
  background-color: rgb(114, 117, 117)!important;
  fill: #fff!important;
  color: #fff!important;
}

.elementor-sticky--active.sticky-scroll-bar a.elementor-button span{
  fill: #fff!important;
  color: #fff!important;
}

.elementor-sticky--active.sticky-scroll-bar a.elementor-button:hover {
  background-color: #fff!important;
  fill: rgb(114, 117, 117)!important;
  color: rgb(114, 117, 117)!important;
  border:1px solid rgb(114, 117, 117)!important;
}

.elementor-sticky--active.sticky-scroll-bar a.elementor-button:hover span{
  fill: rgb(114, 117, 117)!important;
  color: rgb(114, 117, 117)!important;
}

.menu-button{
  display:none!important;
}

.elementor-sticky--active.sticky-scroll-bar .menu-button{
  display:inline!important;
}

.swiper-pagination{
  text-align:right!important;
  padding-right:20px!important;
  padding-bottom:15px!important;
}


/* Dá espaço em baixo para as setas */
.elementor-image-carousel-wrapper {
  position: relative;
  padding-bottom: 60px;
}

/* Botões — círculo com contorno e ícone simples */
.elementor-image-carousel-wrapper .elementor-swiper-button {
  background: transparent !important;
  border: 2px solid #0a3a4a;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0a3a4a;              /* cor do ícone */
  box-shadow: none;
  transition: all .25s ease;
  position: absolute;          /* tira do centro vertical do Swiper */
  top: auto !important;
  bottom: -30px;                /* encosta em baixo */
  z-index: 5;
}

.elementor-image-carousel-wrapper .elementor-swiper-button svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

/* Posicionamento: canto inferior esquerdo */
.elementor-image-carousel-wrapper .elementor-swiper-button-prev {
  left: 16px;
}
.elementor-image-carousel-wrapper .elementor-swiper-button-next {
  left: 72px; /* 44px + 12px de gap */
}

/* Hover invertido */
.elementor-image-carousel-wrapper .elementor-swiper-button:hover {
  background: #0a3a4a !important;
  color: #fff;
}

.elementor-image-carousel-wrapper .elementor-swiper-button:hover  svg {
  fill: #fff!important;
}

/* Imagens “limpas” (sem raio/sombra) */
.elementor-image-carousel .swiper-slide img {
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block;
}

/* (Opcional) esconder paginação por pontos */
.elementor-image-carousel-wrapper .elementor-swiper-pagination {
  display: none !important;
}

/* Responsivo: centra as setas em ecrã pequeno */
@media (max-width: 767px) {
  .elementor-image-carousel-wrapper .elementor-swiper-button-prev {
    left: 16px;
  }
  .elementor-image-carousel-wrapper .elementor-swiper-button-next {
    left: 72px;
  }
  .elementor-image-carousel-wrapper .elementor-swiper-button {

  bottom: -20px;                /* encosta em baixo */

}
}


.front-page-testemonials .elementor-testimonial{
  box-shadow: 1px 1px 12px 0 rgba(0, 0, 0, 0.1);
  padding: 10px 30px 30px 30px;
  border-radius: 14px;
}


.front-page-testemonials .elementor-swiper-button {
  background: transparent !important;
  border: 2px solid #0a3a4a;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0a3a4a!important;              /* cor do ícone */
  box-shadow: none;
  transition: all .25s ease;
  position: absolute;          /* tira do centro vertical do Swiper */
  top: auto !important;
  top: -25px!important;
  z-index: 5;
}

.front-page-testemonials .elementor-swiper-button svg {
  width: 18px;
  height: 18px;
  fill: #0a3a4a!important;
}

/* Posicionamento: canto inferior esquerdo */
.front-page-testemonials .elementor-swiper-button-prev {
  left: 76px!important;
}
.front-page-testemonials .elementor-swiper-button-next {
  left: 140px;
}

/* Hover invertido */
.front-page-testemonials .elementor-swiper-button:hover {
  background: #0a3a4a !important;
  color: #fff;
}

.front-page-testemonials .elementor-swiper-button:hover  svg {
  fill: #fff!important;
}



.voucher-form .elementor-field-option {
  width: 33.33%;
  display: inline-block;
  padding: 10px;
  box-sizing: border-box;
}


/* Esconde o texto dos labels */
.voucher-form .elementor-field-type-radio .elementor-field-option label {
  font-size: 0;
  display: inline-block;
  cursor: pointer;
}

/* Esconde os botões radio */
.voucher-form .elementor-field-type-radio .elementor-field-option input[type="radio"] {
  display: none;
}

/* Estilo comum para todos os labels com imagem */
.voucher-form .elementor-field-type-radio .elementor-field-option label {
  width: 100%;
  height: 100px;
  border: 3px solid transparent;
  border-radius: 6px;
  transition: border 0.3s ease;
  content:" ";
   font-size: 0;
  line-height: 0;
  color: transparent;
}

/* Primeiro botão (Soldoiro) */
.voucher-form .elementor-field-type-radio .elementor-field-option:first-child label {
  background: url('/wp-content/uploads/2025/08/soldoiro-logo.png') no-repeat center/contain;
}

/* Segundo botão (Hotel de Moura) */
.voucher-form .elementor-field-type-radio .elementor-field-option:nth-child(2) label {
  background: url('/wp-content/uploads/2026/06/logo-hotel-de-moura.png') no-repeat center/contain;
}

/* Terceiro botão (Hotel da Montanha) */
.voucher-form .elementor-field-type-radio .elementor-field-option:last-child label {
  background: url('/wp-content/uploads/2025/09/logo_hotel-da-montanha.png') no-repeat center/contain;
}

/* Quando selecionado */
.voucher-form .elementor-field-type-radio .elementor-field-option input[type="radio"]:checked + label {
  border-color: #66ACCF;
}

.voucher-form .elementor-field-type-radio .elementor-field-subgroup {
  width: 100%!important;
}

.dialog-close-button {
  padding: 20px 20px 20px 20px;
  border-radius: 100%;
  background-color: #903d26;
  border:0!important;
}

.dialog-close-button:hover {
  box-shadow: 0px 0px 0px 7px rgba(46, 140, 195, 0.32)!important;
  transform: rotateZ(180deg);
  border:0!important;
  color:#fff;
}


@media (max-width: 600px) {
  .dialog-close-button {
    padding: 10px 10px 10px 10px;
  }

}

.hotel-read-more-toggle {
    display: none;
}
@media (max-width: 767px) {

    .hotel-read-more-content {
        position: relative;
        max-height: 7.2em;
        overflow: hidden;
        transition: max-height 0.45s ease;
    }

    .hotel-read-more-content::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 3.5em;
        pointer-events: none;
        background: linear-gradient(
            to bottom,
            rgba(255,255,255,0),
            rgba(255,255,255,1) 90%
        );
        transition: opacity 0.25s ease;
    }

    .hotel-read-more.is-open .hotel-read-more-content {
        max-height: 2000px;
    }

    .hotel-read-more.is-open .hotel-read-more-content::after {
        opacity: 0;
    }

    .hotel-read-more-toggle {
        display: flex;
        width: fit-content;

        align-items: center;
        justify-content: center;

        margin: 15px auto 0;
        padding: 8px 18px;

        border: 1px solid #4b2d21;
        border-radius: 30px;

        background: transparent !important;
        box-shadow: none !important;
        outline: none !important;

        color: #4b2d21;
        font-family: inherit;
        font-size: 14px;
        font-weight: 600;
        line-height: 1;

        text-decoration: none;
        cursor: pointer;

        transition: all .25s ease;
    }

    .hotel-read-more-toggle:hover,
    .hotel-read-more-toggle:focus,
    .hotel-read-more-toggle:active,
    .hotel-read-more-toggle:visited {
        background: transparent !important;
        color: #4b2d21 !important;
        border-color: #4b2d21 !important;
        box-shadow: none !important;
        outline: none !important;
        text-decoration: none !important;
    }
}

@media (max-width: 480px) {
  .mobile-small-text{
      font-size:16px;
  }
}