.elementor-48 .elementor-element.elementor-element-4b30de9{--display:flex;--min-height:381px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:10px 0px;--row-gap:10px;--column-gap:0px;--overlay-opacity:0.29;--margin-top:0px;--margin-bottom:60px;--margin-left:0px;--margin-right:0px;}.elementor-48 .elementor-element.elementor-element-4b30de9:not(.elementor-motion-effects-element-type-background), .elementor-48 .elementor-element.elementor-element-4b30de9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://algarvebohobeachhouse.com/wp-content/uploads/2025/08/IMG_2960-scaled.jpeg");background-position:center center;background-size:cover;}.elementor-48 .elementor-element.elementor-element-4b30de9::before, .elementor-48 .elementor-element.elementor-element-4b30de9 > .elementor-background-video-container::before, .elementor-48 .elementor-element.elementor-element-4b30de9 > .e-con-inner > .elementor-background-video-container::before, .elementor-48 .elementor-element.elementor-element-4b30de9 > .elementor-background-slideshow::before, .elementor-48 .elementor-element.elementor-element-4b30de9 > .e-con-inner > .elementor-background-slideshow::before, .elementor-48 .elementor-element.elementor-element-4b30de9 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-48 .elementor-element.elementor-element-47a6aee{text-align:left;}.elementor-48 .elementor-element.elementor-element-47a6aee .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:45px;font-weight:600;text-transform:capitalize;letter-spacing:-0.7px;word-spacing:0px;color:#FFFFFF;}.elementor-48 .elementor-element.elementor-element-52a438fe{--display:flex;--margin-top:0px;--margin-bottom:200px;--margin-left:0px;--margin-right:0px;}.elementor-48 .elementor-element.elementor-element-57d28caf > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-48 .elementor-element.elementor-element-57d28caf.elementor-element{--order:99999 /* order end hack */;}@media(max-width:767px){.elementor-48 .elementor-element.elementor-element-52a438fe{--content-width:500px;--min-height:0px;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-48 .elementor-element.elementor-element-57d28caf > .elementor-widget-container{margin:0% 0% 0% 0%;padding:0px 0px 0px 0px;}.elementor-48 .elementor-element.elementor-element-57d28caf.elementor-element{--align-self:center;}}/* Start custom CSS for shortcode, class: .elementor-element-57d28caf *//* =======================
   Forçar texto azul escuro no booking
   ======================= */
.vbrowcdescr p,
.vbo-info-room,
.vblistroomblock,
.vbo-searchresults-classic-wrap,
.vbdescrlistdiv,
.vbbooking * {
    color: #0D1B2A !important; /* Azul escuro */
}

/* Para inputs, labels e selects do booking */
.vbbooking input,
.vbbooking select,
.vbbooking textarea,
.vbbooking label {
    color: #0D1B2A !important;
}

/* Para títulos ou headings dentro do booking */
.vbbooking h1,
.vbbooking h2,
.vbbooking h3,
.vbbooking h4,
.vbbooking h5,
.vbbooking h6 {
    color: #0D1B2A !important;
}
/* Links */
a, a:visited, .vbrowcname a {
    color: #0D1B2A !important;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    color: #0D1B2A !important;
}

/* Normal text */
body, p, label, span, li, em, div {
    color: #0D1B2A !important;
}

/* Backgrounds */
body, div, section, article {
    background-color: inherit !important;
}

/* Botões - Elementor + plugin VB */
.elementor-button,
.elementor-button *,
.vbselectr button,
.vbselectr input[type="submit"],
.vbdivtot button,
.vbdivtot input[type="submit"],
.vbdivtot a,
.vbdivtot input.button,
.vbdivtot .button {
    background-color: #F3A200 !important;
    color: #FFFFFF !important;
    border-color: #F3A200 !important;
    text-shadow: none !important;
}

/* Hover state */
.elementor-button:hover,
.elementor-button *:hover,
.vbselectr button:hover,
.vbselectr input[type="submit"]:hover,
.vbdivtot button:hover,
.vbdivtot input[type="submit"]:hover,
.vbdivtot a:hover,
.vbdivtot input.button:hover,
.vbdivtot .button:hover {
    background-color: #e59400 !important;
    color: #FFFFFF !important;
    border-color: #e59400 !important;
}

/* Active / Focus state */
.elementor-button:active,
.elementor-button:focus,
.elementor-button *:active,
.elementor-button *:focus,
.vbselectr button:active,
.vbselectr button:focus,
.vbselectr input[type="submit"]:active,
.vbselectr input[type="submit"]:focus,
.vbdivtot button:active,
.vbdivtot button:focus,
.vbdivtot input[type="submit"]:active,
.vbdivtot input[type="submit"]:focus,
.vbdivtot a:active,
.vbdivtot a:focus,
.vbdivtot input.button:active,
.vbdivtot input.button:focus,
.vbdivtot .button:active,
.vbdivtot .button:focus {
    background-color: #cc7a00 !important;
    color: #FFFFFF !important;
    border-color: #cc7a00 !important;
}
/* =======================
   Global text and links
   ======================= */
a, a:visited, .vbrowcname a,
body, p, label, span, li, em, div,
h1, h2, h3, h4, h5, h6 {
    color: #0D1B2A !important; /* Azul escuro */
}

/* =======================
   Backgrounds
   ======================= */
body, div, section, article {
    background-color: inherit !important;
}

/* =======================
   Buttons
   ======================= */
button,
input[type="submit"],
.elementor-button,
.elementor-button * {
    background-color: #F3A200 !important; /* Botão amarelo */
    color: #FFFFFF !important; /* Texto do botão branco */
    border-color: #F3A200 !important;
}
/* =======================
   Texto e links - Global
   ======================= */
a, a:visited, .vbrowcname a,
body, p, label, span, li, em, div,
h1, h2, h3, h4, h5, h6 {
    color: #0D1B2A !important; /* Azul escuro */
}

/* =======================
   Texto para todos os ecrãs
   ======================= */
@media only screen and (max-width: 1024px) { /* Tablet e telemóvel */
  a, a:visited, .vbrowcname a,
  body, p, label, span, li, em, div,
  h1, h2, h3, h4, h5, h6 {
      color: #0D1B2A !important;
  }
}

/* =======================
   Backgrounds
   ======================= */
body, div, section, article {
    background-color: inherit !important;
}

/* =======================
   Botões - Global
   ======================= */
button,
input[type="submit"],
.elementor-button,
.elementor-button *,
.vbselectr button,
.vbselectr input[type="submit"],
.vbdivtot button,
.vbdivtot input[type="submit"],
.vbdivtot a,
.vbdivtot input.button,
.vbdivtot .button {
    background-color: #F3A200 !important; /* Botão amarelo */
    color: #FFFFFF !important; /* Texto branco */
    border-color: #F3A200 !important;
    text-shadow: none !important;
}

/* =======================
   Hover dos botões
   ======================= */
button:hover,
input[type="submit"]:hover,
.elementor-button:hover,
.elementor-button *:hover,
.vbselectr button:hover,
.vbselectr input[type="submit"]:hover,
.vbdivtot button:hover,
.vbdivtot input[type="submit"]:hover,
.vbdivtot a:hover,
.vbdivtot input.button:hover,
.vbdivtot .button:hover {
    background-color: #e59400 !important;
    color: #FFFFFF !important;
    border-color: #e59400 !important;
}

/* =======================
   Active / Focus
   ======================= */
button:active,
button:focus,
input[type="submit"]:active,
input[type="submit"]:focus,
.elementor-button:active,
.elementor-button:focus,
.elementor-button *:active,
.elementor-button *:focus,
.vbselectr button:active,
.vbselectr button:focus,
.vbselectr input[type="submit"]:active,
.vbselectr input[type="submit"]:focus,
.vbdivtot button:active,
.vbdivtot button:focus,
.vbdivtot input[type="submit"]:active,
.vbdivtot input[type="submit"]:focus,
.vbdivtot a:active,
.vbdivtot a:focus,
.vbdivtot input.button:active,
.vbdivtot input.button:focus,
.vbdivtot .button:active,
.vbdivtot .button:focus {
    background-color: #cc7a00 !important;
    color: #FFFFFF !important;
    border-color: #cc7a00 !important;
}

/* =======================
   Forçar todos os elementos (último recurso)
   ======================= */
body * {
    color: #0D1B2A !important;
}
[data-header*="type-1"] .ct-header [data-id="button"] .ct-button {
    --theme-button-background-initial-color: #ffffff; /* fundo branco */
    --theme-button-text-initial-color: #0D1B2A;       /* texto azul escuro */
    --theme-button-background-hover-color: #f3a200;   /* mantém hover se quiser */
    --theme-button-text-hover-color: #ffffff;         /* texto no hover */
}
/* Fundo do cabeçalho do datepicker */
.ui-datepicker-header {
    background-color: white !important; /* fundo branco */
    border: 1px solid #ccc; /* borda opcional para destacar */
}

/* Cor do mês e do ano */
.ui-datepicker-header .ui-datepicker-month,
.ui-datepicker-header .ui-datepicker-year {
    color: black !important; /* texto escuro para contraste */
}

/* Setas de navegação */
.ui-datepicker-prev, 
.ui-datepicker-next {
    color: black !important; /* se as setas forem texto */
}

.ui-datepicker-prev .ui-icon,
.ui-datepicker-next .ui-icon {
    background-image: none !important; /* remove ícone padrão se necessário */
    color: black !important;
}
/* Fundo da tabela do calendário */
.ui-datepicker-calendar {
    background-color: white !important; /* fundo branco */
    border-collapse: collapse; /* remove espaçamento entre células */
    border: 1px solid #ccc; /* borda opcional */
}

/* Cabeçalho com os dias da semana */
.ui-datepicker-calendar thead th {
    background-color: white !important; /* fundo branco */
    color: black !important; /* texto escuro */
    font-weight: bold; /* destaca os dias da semana */
    border: 1px solid #ccc; /* borda opcional */
    text-align: center;
    padding: 5px;
}

/* Dias do mês */
.ui-datepicker-calendar tbody td {
    background-color: white !important; /* fundo branco */
    border: 1px solid #eee; /* bordas discretas entre os dias */
    text-align: center;
    padding: 5px;
}

/* Dias que são links (selecionáveis) */
.ui-datepicker-calendar tbody td a {
    color: black !important; /* texto visível */
    display: block;
    text-decoration: none;
    padding: 5px;
}

/* Destaca o dia de hoje */
.ui-datepicker-today a {
    background-color: #f0f0f0 !important; /* leve destaque */
    border-radius: 50%;
}

/* Dias desabilitados */
.ui-datepicker-unselectable {
    color: #aaa !important; /* cinza claro */
    background-color: white !important; /* mantém fundo branco */
}
#ui-datepicker-div {
    background-color: white !important;
    color: black !important;
    width: auto !important;           /* largura automática */
    min-width: 680px !important;      /* pelo menos suficiente para dois meses */
    overflow: visible !important;     /* garante que cabeçalho não seja cortado */
    z-index: 9999 !important;
}

/* Cabeçalho dos meses e setas */
#ui-datepicker-div .ui-datepicker-header {
    display: block !important;
    background-color: white !important;
    color: black !important;
}

/* Títulos do mês e ano */
#ui-datepicker-div .ui-datepicker-title {
    display: inline-block !important;
    width: auto !important;
}

/* Dias da semana e dias do mês */
#ui-datepicker-div .ui-datepicker-calendar th,
#ui-datepicker-div .ui-datepicker-calendar td,
#ui-datepicker-div .ui-datepicker-calendar td a {
    background-color: white !important;
    color: black !important;
}
.vbo-search-num-rooms label,
.vbo-search-num-rooms select {
    display: none !important; /* esconde apenas o "Rooms" e o select */
}
.vbo-search-roomnum {
    display: none !important;
}/* End custom CSS */