/* ========== CSS PARA PÁGINA DE DETALHES DA SUITE ========== */

/* Estilos gerais e container principal */
.vbo-rdet-desc-cont {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    color: #222;
    line-height: 1.5;
    margin-bottom: 40px;
}

/* Remover border-radius de inputs e selects - MÁXIMA ESPECIFICIDADE */
.wrap.plugin-container .vbo-listing-details-wrap input[type="date"], 
.wrap.plugin-container .vbo-listing-details-wrap input[type="email"], 
.wrap.plugin-container .vbo-listing-details-wrap input[type="number"], 
.wrap.plugin-container .vbo-listing-details-wrap input[type="password"], 
.wrap.plugin-container .vbo-listing-details-wrap input[type="search"], 
.wrap.plugin-container .vbo-listing-details-wrap input[type="tel"], 
.wrap.plugin-container .vbo-listing-details-wrap input[type="text"], 
.wrap.plugin-container .vbo-listing-details-wrap input[type="url"], 
.wrap.plugin-container .vbo-listing-details-wrap select, 
.wrap.plugin-container .vbo-listing-details-wrap textarea,
.wrap.plugin-container .vbo-listing-details-wrap .vbdivsearch form input,
.wrap.plugin-container .vbo-listing-details-wrap .vbdivsearch form select {
    border-radius: 0px;
}

/* Ocultar parágrafos descritivos da suíte - regra básica */
.vbo-rdet-desc-cont &gt; p,
.vbo-listing-details-desc-cont &gt; p {
    display: none !important;
}

/* Ocultar parágrafos descritivos com maior especificidade */
.vbo-rdet-descprice-block .vbo-rdet-desc-cont &gt; p,
.vbo-listing-details-descprice-block .vbo-listing-details-desc-cont &gt; p {
    display: none !important;
}

/* Regra máxima especificidade para casos de conflito com outros estilos */
body .elementor-shortcode .vbo-listing-details-wrap .vbo-listing-details-descprice-block .vbo-listing-details-desc-cont &gt; p,
.page-content .elementor .elementor-element .elementor-widget-shortcode .elementor-widget-container .elementor-shortcode .vbo-listing-details-wrap .vbo-listing-details-descprice-block .vbo-listing-details-desc-cont &gt; p {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
}

/* Seletor alternativo baseado no conteúdo, caso a estrutura HTML mude */
.vbo-listing-details-desc-cont p:contains("Abra as janelas para um mar de vinhas"),
.vbo-listing-details-desc-cont p:contains("Nascida do desejo de oferecer"),
.vbo-listing-details-desc-cont p:contains("No interior, um jacuzzi privativo") {
    display: none !important;
}

/* Método preventivo para qualquer parágrafo antes das amenidades */
.vbo-listing-details-desc-cont p:not(.vbo-listing-amenities-wrap p) {
    display: none !important;
}

/* Abordagem com nth-child para os três primeiros parágrafos */
.vbo-listing-details-desc-cont &gt; p:nth-child(1),
.vbo-listing-details-desc-cont &gt; p:nth-child(2),
.vbo-listing-details-desc-cont &gt; p:nth-child(3) {
    display: none !important;
}

/* Para templates que possam usar div em vez de p para o texto */
.vbo-listing-details-desc-cont &gt; div:not(.vbo-listing-amenities-wrap):not(.vbo-roomdet-calscontainer):not(.vbo-availcalendars-cont) {
    display: none !important;
}

/* Preservar apenas os elementos importantes */
.vbo-listing-details-desc-cont &gt; *:not(.vbo-listing-amenities-wrap):not(.vbo-roomdet-calscontainer):not(.vbo-availcalendars-cont) {
    display: none !important;
}

/* Vbroomimgdesc */
.elementor-shortcode .vbo-listing-details-wrap .vbroomimgdesc{
    display:none;
}

/* Widget text editor */
.vbo-listing-details-descprice-block .vbo-listing-details-desc-cont .elementor-widget-text-editor{
    display:none;
}

/* Vbo listing amenities wrap */
.vbo-listing-details-descprice-block .vbo-listing-details-desc-cont .vbo-listing-amenities-wrap{
    display:none;
}

/* Detcostroom */
.vbo-listing-details-costroomdet .vb_detcostroom{
    display:none;
}

/* Vbo listing details descprice block */
.elementor-shortcode .vbo-listing-details-wrap .vbo-listing-details-descprice-block{
    display:grid;
    column-gap:50px;
}

/* Vbo listing details descprice block */
#content .page-content .elementor .elementor-element .elementor-widget-shortcode .elementor-widget-container .elementor-shortcode .plugin-container .vbo-listing-details-wrap .vbo-listing-details-descprice-block{
    grid-template-columns:2fr 1fr !important;
}

/* Vbo availcalendars cont */
.vbo-listing-details-desc-cont .vbo-availcalendars-cont{
    margin-top:0px;
}

/* Heading */
.vbo-seldates-cont h4{
    text-transform:capitalize;
}

/* Títulos e cabeçalhos */
.vbo-rdet-desc-cont h4 {
    font-family: "Times New Roman", Times, serif;
    text-transform: uppercase;
    font-weight: normal;
    letter-spacing: 1px;
    font-size: 24px;
    margin-top: 0;
    margin-bottom: 15px;
    color: #222;
    text-align: left;
}

/* Container de calendário */
.vbo-roomdet-calscontainer {
    background-color: #fff;
    margin-bottom: 40px;
}

.vbo-roomdet-calscontainer-inner {
    padding: 0;
}

/* Container de bloco de calendários - ADAPTATIVO */
.vbcalsblock {
    margin-bottom: 30px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
}

/* Container de disponibilidade */
.vbo-availcalendars-cont {
    border: 1px solid #e2e2e2;
    padding: 25px;
    margin-top: 25px;
    background-color: #fff;
}

/* Selector de mês */
.vbselectm {
    border: 1px solid #e2e2e2;
    background-color: #fff;
    color: #222;
    padding: 10px 15px;
    font-size: 15px;
    margin-bottom: 20px;
    width: 100%;
    max-width: none;
    height: 50px;
    transition: border-color 0.3s ease;
}

.vbselectm:focus {
    outline: none;
    border-color: #253F2A;
}

.vbselectm option {
    width: 100%;
}

/* ========== MELHORIA: LEGENDA MAIS VISÍVEL E ACESSÍVEL - MÁXIMA ESPECIFICIDADE ========== */
.wrap.plugin-container .vbo-listing-details-wrap .vbo-listing-details-desc-cont .vbo-availcalendars-cont .vblegendediv {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    padding: 15px 20px;
    background-color: #f8f9fa;
    border: 1px solid #e2e2e2;
    border-radius: 0px;
    margin-bottom: 15px;
}

.vblegenda {
    display: flex;
    align-items: center;
    margin-right: 0;
    font-size: 16px;
    font-weight: 500;
}

.vblegenda-status {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 12px;
    border: 2px solid #333;
    position: relative;
}

/* ========== MELHORIA: CORES MAIS SUAVES E ACESSÍVEIS ========== */
.vblegfree {
    background-color: #D1FAE5;
}

.vblegbusy {
    background-color: #FEE2E2;
}

.vblegbusycheckin {
    background: linear-gradient(to bottom right, #D1FAE5 0%, #D1FAE5 49%, #FEE2E2 51%, #FEE2E2 100%);
}

.vblegbusycheckout {
    background: linear-gradient(to bottom right, #FEE2E2 0%, #FEE2E2 49%, #D1FAE5 51%, #D1FAE5 100%);
}

.vblegenda-lbl {
    color: #1f2937;
    font-weight: 500;
}

/* Aviso de preços */
.vbpricecalwarning {
    font-size: 14px;
    color: #666;
    margin-top: 10px;
    margin-bottom: 20px;
    font-style: italic;
}

/* Container da tabela de calendário - ADAPTATIVO PARA 2 MESES */
.vbcaldivcont {
    flex: 1;
    min-width: 300px;
    max-width: calc(50% - 10px);
    margin-bottom: 20px;
}

/* Tabela de calendário */
.vbcalprice {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #e2e2e2;
    background-color: #fff;
    table-layout: fixed;
}

/* FORÇAR LARGURA UNIFORME DAS COLUNAS */
.vbcalprice td {
    min-width: 42px !important;
    max-width: 42px !important;
    width: 42px !important;
    box-sizing: border-box;
}

/* Coluna do mês com largura específica */
.vbcaltrmonth td:first-child {
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
}

/* Cabeçalho do mês - Design minimalista */
.vbcaltrmonth {
    background-color: #f9f9f9;
    border-bottom: 2px solid #e2e2e2;
}

.vbcaltrmonth td {
    padding: 10px 5px;
    text-align: center;
    border: none;
}

.vbcaltrmonth-month,
.vbcaltrmonth-year {
    font-family: "Times New Roman", Times, serif;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 16px;
    font-weight: normal;
    margin: 0 3px;
    color: #222;
}

/* Dias da semana - ALTURA AINDA MAIS REDUZIDA */
.vbcaldays {
    background-color: #f9f9f9;
}

.vbcaldays td {
    padding: 3px 2px;
    text-align: center;
    font-weight: 600;
    color: #555;
    border: 1px solid #e2e2e2;
    font-size: 13px;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
}

/* ========== MELHORIA CRÍTICA: CÉLULAS DO CALENDÁRIO COM ALTURA REDUZIDA ========== */
.vbcalnumdaysprice td {
    padding: 8px 4px !important;
    border: 1px solid #e2e2e2;
    position: relative;
    width: 42px !important;
    height: 48px !important;
    background-color: #fff;
    min-height: 48px !important;
    cursor: pointer;
    transition: background-color 0.15s ease;
    min-width: 42px !important;
    max-width: 42px !important;
    box-sizing: border-box;
}

/* ========== MELHORIA: FOCUS STATES PARA ACESSIBILIDADE ========== */
.vbcalnumdaysprice td:focus {
    outline: 3px solid #2563eb;
    outline-offset: -1px;
    z-index: 10;
}

/* ========== MELHORIA: MELHOR ORGANIZAÇÃO INTERNA DAS CÉLULAS ========== */
.vbcalpricedaynum {
    position: absolute;
    top: 4px;
    left: 4px;
    font-weight: 600;
    font-size: 14px;
    color: #222;
    z-index: 1;
    line-height: 1;
}

/* Cor do número nas células livres */
.vbtdfree .vbcalpricedaynum {
    color: #059669 !important;
}

/* Cor do número nas células ocupadas */
.vbtdbusy .vbcalpricedaynum {
    color: #DC2626 !important;
}

/* Preço do dia */
.vbcalpricedaycost {
    position: absolute;
    bottom: 2px;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 11px;
    line-height: 1.1;
    padding: 0 2px;
    color: #222;
}

/* MODIFICADO: Seletor específico para vbo_currency dentro do calendário */
.vbcalsblock.vbcalsblock-price .vbcaldivcont .vbcalprice .vbcalnumdaysprice td .vbcalpricedaycost div .vbo_currency {
    font-size: 11px;
    color: #222;
}

/* MODIFICADO: Seletor específico para vbo_price dentro do calendário */
.vbcalsblock.vbcalsblock-price .vbcaldivcont .vbcalprice .vbcalnumdaysprice td .vbcalpricedaycost div .vbo_price {
    font-weight: 600;
    font-size: 11px;
    color: #222;
}

/* ========== MELHORIA: CORES MAIS SUAVES E ESTADOS MAIS CLAROS ========== */
.vbtdfree {
    background-color: #D1FAE5 !important;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.vbtdfree:hover {
    background-color: #BBF7D0 !important;
}

.vbtdfree:focus {
    outline: 3px solid #2563eb;
    outline-offset: -1px;
}

.vbtdbusy {
    background-color: #FEE2E2 !important;
    cursor: not-allowed;
}

.vbtdbusy:hover {
    background-color: #FECACA !important;
}

/* ========== MELHORIA: CONTRASTE MELHORADO PARA DATAS PASSADAS ========== */
.vbtdpast {
    opacity: 0.4 !important;
    background-color: #f3f4f6 !important;
    color: #9ca3af !important;
}

.vbtdpast.vbtdfree {
    background-color: #f3f4f6 !important;
}

.vbtdpast.vbtdbusy {
    background-color: #f9f9f9 !important;
}

.vbtdpast .vbcalpricedaynum {
    color: #9ca3af !important;
}

.vbtdpast .vbcalpricedaycost {
    color: #9ca3af !important;
}

/* Gradientes simplificados para check-in/check-out */
.vbtdbusyforcheckin {
    background: linear-gradient(to bottom right, 
                #D1FAE5 0%, 
                #D1FAE5 49.5%, 
                #FEE2E2 50.5%, 
                #FEE2E2 100%) !important;
}

.vbtdbusyforcheckout {
    background: linear-gradient(to bottom right, 
                #FEE2E2 0%, 
                #FEE2E2 49.5%, 
                #D1FAE5 50.5%, 
                #D1FAE5 100%) !important;
}

/* Células vazias */
.vbtdempty {
    background-color: #fff !important;
}

/* Container principal - full-width */
.plugin-container{
    margin: 0 auto;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

/* =================== INÍCIO DOS ESTILOS ESPECÍFICOS DO CALENDÁRIO =================== */

.vbo-roomdet-calscontainer .vbcaldays td,
.vbo-roomdet-calscontainer tr.vbcaldays th {
    height: 40px !important;
    padding: 6px !important;
    background-color: #f9f9f9;
    font-size: 15px;
    font-weight: 600;
    color: #333;
    vertical-align: middle;
}

.vbo-roomdet-calscontainer .vbo-availability-month-name{
    font-weight: 600;
    color: #253F2A;
    padding: 15px;
    text-align: left;
    border: 1px solid #e2e2e2;
    background-color: #f9f9f9;
    vertical-align: middle;
    width: auto;
    white-space: nowrap;
}

/* ========== UNIFORMIZAÇÃO: TODAS AS CÉLULAS COM TAMANHO CONSISTENTE ========== */
.vbo-roomdet-calscontainer .vbo-availability-month-day {
    text-align: center;
    padding: 6px 3px !important;
    border: 1px solid #e2e2e2;
    background-color: #f9f9f9;
    width: 42px !important;
    height: 40px !important;
    box-sizing: border-box;
    vertical-align: middle;
    min-height: 40px !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 12px !important;
}

.vbo-roomdet-calscontainer .vbo-availability-daynumber {
    display: block;
    font-size: 14px !important;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 1px !important;
    color: #333 !important;
}

.vbo-roomdet-calscontainer .vbo-availability-weekday {
    display: block;
    font-size: 9px !important;
    color: #666 !important;
    font-weight: 500;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-top: 0 !important;
}

/* ========== UNIFORMIZAÇÃO: TODAS AS CÉLULAS DE DISPONIBILIDADE COM ALTURA REDUZIDA ========== */
.vbo-roomdet-calscontainer .vbo-availability-room-avdays td,
.vbo-roomdet-calscontainer .vbcalnumdaysprice td {
    height: 48px !important;
    text-align: center;
    padding: 8px 4px !important;
    border: 1px solid #e2e2e2;
    font-weight: 600;
    font-size: 14px;
    width: 42px !important;
    vertical-align: middle;
    box-sizing: border-box;
    position: relative;
    min-height: 48px !important;
    cursor: pointer;
    transition: background-color 0.15s ease;
    min-width: 42px !important;
    max-width: 42px !important;
}

.vbo-roomdet-calscontainer .vbcalpricedaynum {
    display: block;
    margin-bottom: 4px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

.vbo-roomdet-calscontainer .vbcalpricedaycost {
    display: block;
    font-size: 11px;
    margin-top: 2px;
    padding: 0 2px;
    line-height: 1.1;
    color: #222;
}

.vbo-roomdet-calscontainer .vbcalpricedaycost div {
    display: flex;
    justify-content: flex-end;
    flex-direction: row-reverse;
}

.vbo-roomdet-calscontainer div.vbcaldivcont:nth-child(1) &gt; table:nth-child(1) &gt; tbody:nth-child(1) &gt; tr:nth-child(3) &gt; td:nth-child(7) &gt; div:nth-child(2) {
    padding-right: 3px;
    padding-left: 4px;
}

.vbo-roomdet-calscontainer .vbcalpricedaycost div .vbo_currency {
    margin-left: 0;
    font-size: 11px;
    color: #222;
}

.vbo-roomdet-calscontainer .vbcalpricedaycost div .vbo_price {
    font-size: 11px;
    color: #222;
}

/* ========== CÉLULAS COM CORES MELHORADAS ========== */
.vbo-roomdet-calscontainer .vbo-free-cell{
    cursor: pointer;
    background-color: #D1FAE5 !important;
    transition: background-color 0.15s ease;
}

.vbo-roomdet-calscontainer .vbo-free-cell:hover{
    background-color: #BBF7D0 !important;
}

.vbo-roomdet-calscontainer .vbo-free-cell:focus{
    outline: 3px solid #2563eb;
    outline-offset: -1px;
}

.vbo-roomdet-calscontainer .vbo-occupied-cell{
    background-color: #FEE2E2 !important;
    cursor: not-allowed;
}

.vbo-roomdet-calscontainer .vbo-occupied-cell:hover{
    background-color: #FECACA !important;
}

.vbo-roomdet-calscontainer .vbo-availability-day-container{
    background-color: transparent !important;
    display: inline-block;
    font-weight: 600;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.vbo-roomdet-calscontainer .vbo-partially-cell{
    background-color: #fffaf0;
    color: #e67e22;
    cursor: pointer;
}

.vbo-roomdet-calscontainer .vbo-cell-selected-arrival{
    background-color: #2563eb !important;
    background-image: none !important;
    border: 3px solid #1d4ed8 !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.4);
}

.vbo-roomdet-calscontainer .vbo-checkinday-cell{
    border-left: 4px solid #253F2A;
}

.vbo-roomdet-calscontainer .vbo-checkoutday-cell{
    border-right: 4px solid #253F2A;
}

.vbo-roomdet-calscontainer .vbo-availability-room-avdays td[data-cell-date*="/01/"] {
    background-color: inherit;
}

.vbo-roomdet-calscontainer .vbo-availability-room-avdays td[data-cell-date*="/01/"].vbo-free-cell {
    background-color: #D1FAE5 !important;
}

.vbo-roomdet-calscontainer .vbo-availability-room-avdays td[data-cell-date*="/01/"].vbo-occupied-cell {
    background-color: #FEE2E2 !important;
}

.vbo-roomdet-calscontainer .vbtdfree .vbcalpricedaynum {
    color: #059669 !important;
}

.vbo-roomdet-calscontainer .vbtdbusy .vbcalpricedaynum {
    color: #DC2626 !important;
}

.vbo-roomdet-calscontainer .vbcaldivcont {
    margin-bottom: 30px;
}

.vbo-roomdet-calscontainer .vbcalprice {
    width: 100%;
    border-collapse: collapse;
}

.vbo-roomdet-calscontainer .vbcaltrmonth td {
    padding: 12px;
    font-size: 16px;
    text-align: center;
}

.vbo-roomdet-calscontainer .vbcaltrmonth-month, 
.vbo-roomdet-calscontainer .vbcaltrmonth-year {
    margin: 0 2px;
}

.vbo-roomdet-calscontainer .vbcalnumdaysprice td {
    height: 48px !important;
    width: 50px;
    text-align: center;
    vertical-align: middle;
    padding: 8px 4px !important;
}

/* Plugin container */
#content .page-content .elementor .elementor-element .elementor-widget-shortcode .elementor-widget-container .elementor-shortcode .plugin-container{
    width:100% !important;
}

.elementor-widget-shortcode .elementor-shortcode .plugin-container{
    max-width:none !important;
}

.vbo-seldates-cont h4{
    color: #333;
    margin-top: 0px;
    font-family: inherit;
    height: 45px;
}

.vbo-listing-details-desc-cont .vbo-availcalendars-cont h4{
    font-family: inherit;
    text-transform: capitalize;
    margin-bottom: 25px;
    margin-top: 0px;
}

.vbo-listing-details-desc-cont .vbo-availcalendars-cont p{
    display: none;
}

.wrap.plugin-container .vbo-listing-details-wrap .vbo-availcalendars-cont form[name="vbmonths"] select.vbselectm {
    margin-bottom: 15px;
    max-width: none;
}

.vbo-listing-details-desc-cont .vbo-availcalendars-cont .vbcalsblock-price{
    margin-bottom: 0px;
}

.vbcalsblock-price .vbcaldivcont .vbcalprice{
    margin-bottom: 0px;
}

.vbo-listing-details-wrap .vbo-listing-details-descprice-block .vbo-listing-details-desc-cont{
    order: 2;
    margin-top: 60px;
    margin-bottom: 0px;
}

.vbcalsblock-price .vbcaldays td{
    text-align: center;
}

.vbcaldivcont{
    margin-bottom: 0px;
}

.vbo-listing-details-descprice-block .vbo-listing-details-costroomdet .vbo-listing-details-costroomdet-inner{
    position: sticky;
    top: 0px;
}

.vbo-listing-details-descprice-block .vbo-listing-details-desc-cont .vbo-roomdet-calscontainer{
    margin-bottom: 0px;
}

.vb_detcostroom .vblistroomnamedivprice .vblistroomname .room_cost .vbo_currency,
.vb_detcostroom .vblistroomnamedivprice .vblistroomname .room_cost .vbo_price {
    font-size: inherit;
}

.vbo_currency:not(.vbcalsblock .vbcaldivcont .vbcalprice .vbcalnumdaysprice td .vbcalpricedaycost div .vbo_currency):not(.vbo-roomdet-calscontainer .vbcalpricedaycost div .vbo_currency) {
    font-size: inherit;
}

.vbo_price:not(.vbcalsblock .vbcaldivcont .vbcalprice .vbcalnumdaysprice td .vbcalpricedaycost div .vbo_price):not(.vbo-roomdet-calscontainer .vbcalpricedaycost div .vbo_price) {
    font-size: inherit;
}

/* ========== MELHORIAS CRÍTICAS PARA MOBILE ========== */

/* 767px and smaller screen sizes */
@media (max-width:767px){

    /* Back */
    .page-content .e-grid .btn-noBack{
        position:fixed;
        bottom:0px;
        left:0px;
        display:flex;
        justify-content:center;
        background-color:#daa52b;
        height:50px;
        z-index:999999;
        align-items:center;
    }
    
    #content .page-content .elementor .e-grid .elementor-element .btn-noBack{
        width:100% !important;
    }
    
    .page-content .btn-noBack .elementor-widget-container{
        display:flex;
        flex-direction:row;
        align-items:center;
    }
    
    .gtranslate_wrapper &gt; div{
        margin-bottom:40px;
    }
    
    #content .page-content .elementor .e-grid .elementor-element .btn-noBack .elementor-widget-container .elementor-button-wrapper a{
        height:100% !important;
    }
    
    .btn-noBack .elementor-button-wrapper{
        height:100%;
        display:flex;
        flex-direction:row;
        align-items:center;
    }
    
    .btn-noBack a{
        display:flex;
        align-items:center;
    }

    /* ========== LEGENDA RESPONSIVA - MÁXIMA ESPECIFICIDADE ========== */
    .wrap.plugin-container .vbo-listing-details-wrap .vbo-listing-details-desc-cont .vbo-availcalendars-cont .vblegendediv {
        padding: 10px 15px;
        gap: 15px;
        border-radius: 0px;
        margin-bottom: 15px;
    }

    /* ========== AJUSTES DE ESPAÇAMENTO MOBILE ========== */
    .wrap.plugin-container .vbo-listing-details-wrap .vbo-availcalendars-cont form[name="vbmonths"] select.vbselectm {
        margin-bottom: 15px;
    }

    /* ========== COLUNAS COMPACTAS PARA MOBILE ========== */
    .vbo-roomdet-calscontainer table td:first-child,
    .vbcalprice td:first-child {
        width: 70px !important;
        min-width: 70px !important;
        max-width: 70px !important;
    }
    
    .vbo-roomdet-calscontainer table td:not(:first-child),
    .vbcalprice td:not(:first-child) {
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
    }

    /* ========== CÉLULAS RESPONSIVAS E UNIFORMES PARA MOBILE ========== */
    .vbo-roomdet-calscontainer .vbcaldays td,
    .vbo-roomdet-calscontainer tr.vbcaldays th {
        height: 32px !important;
        font-size: 11px !important;
        padding: 4px 2px !important;
        min-width: 38px !important;
    }
    
    .vbo-roomdet-calscontainer .vbo-availability-month-day {
        width: 38px !important;
        height: 32px !important;
        padding: 4px 2px !important;
        min-height: 32px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        font-size: 10px !important;
    }
    
    .vbo-roomdet-calscontainer .vbo-availability-daynumber {
        font-size: 12px !important;
        font-weight: 700;
        margin-bottom: 1px;
        line-height: 1;
    }
    
    .vbo-roomdet-calscontainer .vbo-availability-weekday {
        font-size: 8px !important;
        line-height: 1;
        text-transform: uppercase;
        letter-spacing: 0.2px;
    }
    
    .vbo-roomdet-calscontainer .vbo-availability-room-avdays td,
    .vbo-roomdet-calscontainer .vbcalnumdaysprice td {
        width: 38px !important;
        height: 42px !important;
        padding: 6px 2px !important;
        min-height: 42px !important;
        min-width: 38px !important;
        max-width: 38px !important;
    }
    
    .vbo-roomdet-calscontainer .vbcalpricedaynum {
        font-size: 12px !important;
        font-weight: 700;
        margin-bottom: 2px;
    }
    
    .vbo-roomdet-calscontainer .vbcalpricedaycost {
        font-size: 9px !important;
        color: #222;
    }
    
    .vbo-roomdet-calscontainer .vbcalpricedaycost div .vbo_currency,
    .vbo-roomdet-calscontainer .vbcalpricedaycost div .vbo_price {
        font-size: 9px !important;
        color: #222;
    }

    /* ========== LAYOUT EM COLUNA PARA MOBILE ========== */
    .vbo-rdet-descprice-block, 
    .vbo-listing-details-descprice-block {
        display: flex !important;
        flex-direction: column !important;
    }
    
    .vbo-listing-details-costroomdet {
        order: 1;
        margin-bottom: 0px;
        width: 100%;
    }
    
    .vbo-listing-details-desc-cont {
        order: 2;
        width: 100%;
        margin-top: 0 !important;
    }
    
    #content .page-content .elementor .elementor-element .elementor-widget-shortcode .elementor-widget-container .elementor-shortcode .plugin-container .vbo-listing-details-wrap .vbo-listing-details-descprice-block{
        display: flex !important;
        flex-direction: column !important;
    }
    
    .vbo-listing-details-desc-cont .vbo-availcalendars-cont{
        padding: 25px 20px !important;
    }
    
    .vbo-availcalendars-cont .vbcalsblock-price .vbcaldivcont{
        margin-bottom: 25px;
    }
}

/* Mobile pequeno */
@media (max-width: 480px) {
    .wrap.plugin-container .vbo-listing-details-wrap .vbo-listing-details-desc-cont .vbo-availcalendars-cont .vblegendediv {
        padding: 8px 10px;
        gap: 12px;
        border-radius: 0px;
        margin-bottom: 15px;
    }

    .wrap.plugin-container .vbo-listing-details-wrap .vbo-availcalendars-cont form[name="vbmonths"] select.vbselectm {
        margin-bottom: 15px;
    }
}

/* 1025px and larger screen sizes */
@media (min-width:1025px){
    .page-content .elementor .elementor-element .elementor-widget-shortcode .elementor-widget-container .elementor-shortcode .plugin-container .vbo-listing-details-wrap .vbo-listing-details-descprice-block .vbo-listing-details-costroomdet .vbo-listing-details-costroomdet-inner .vbo-seldates-cont .vbo-seldates-cont-inner h4{
        line-height:1.3em !important;
    }
}

/* Media queries para responsividade - AJUSTADO PARA 2 MESES */
@media (min-width: 768px) {
    .vbcaldivcont {
        max-width: calc(50% - 10px);
        flex: 0 0 calc(50% - 10px);
    }
    
    /* Layout em duas colunas para telas maiores */
    #content .page-content .elementor .elementor-element .elementor-widget-shortcode .elementor-widget-container .elementor-shortcode .plugin-container .vbo-listing-details-wrap .vbo-listing-details-descprice-block{
        grid-template-columns: 1fr 2fr !important;
        display: grid !important;
    }
    
    .vbo-listing-details-desc-cont .vbo-availcalendars-cont{
        padding: 35px !important;
    }
}

/* Telas médias e pequenas - 1 mês por linha */
@media (max-width: 767px) {
    .vbo-availcalendars-cont {
        padding: 15px;
    }
    
    .vbcaldivcont {
        max-width: 100%;
        flex: 0 0 100%;
    }
}

@media (max-width: 640px){
    #content .page-content .elementor .elementor-element .elementor-widget-shortcode .elementor-widget-container .elementor-shortcode .plugin-container .vbo-listing-details-wrap .vbo-listing-details-descprice-block{
        display: flex !important;
        flex-direction: column !important;
    }
}

@media (max-width: 480px) {
    .vbo-rdet-desc-cont h4 {
        font-size: 18px;
    }
    
    .vbo-availcalendars-cont {
        padding: 10px;
    }
    
    .vbcaldivcont {
        min-width: 280px;
    }
    
    .vbcalpricedaycost {
        font-size: 10px;
        color: #222;
    }
    
    .vbcalsblock.vbcalsblock-price .vbcaldivcont .vbcalprice .vbcalnumdaysprice td .vbcalpricedaycost div .vbo_currency,
    .vbcalsblock.vbcalsblock-price .vbcaldivcont .vbcalprice .vbcalnumdaysprice td .vbcalpricedaycost div .vbo_price {
        font-size: 10px;
        color: #222;
    }
    
    .vbcalnumdaysprice td {
        height: 42px !important;
    }
}

@media (max-width: 360px){
    .vbo-roomdet-calscontainer .vbo-availability-room-avdays td,
    .vbo-roomdet-calscontainer .vbcalnumdaysprice td {
        width: 35px !important;
        height: 40px !important;
        padding: 4px 1px !important;
        min-height: 40px !important;
        min-width: 35px !important;
        max-width: 35px !important;
    }
    
    .vbo-roomdet-calscontainer .vbo-availability-month-day {
        width: 35px !important;
        height: 30px !important;
        min-height: 30px !important;
        min-width: 35px !important;
        max-width: 35px !important;
        padding: 3px 1px !important;
        font-size: 9px !important;
    }
    
    .vbo-roomdet-calscontainer .vbo-availability-daynumber {
        font-size: 11px !important;
        margin-bottom: 1px;
    }
    
    .vbo-roomdet-calscontainer .vbo-availability-weekday {
        font-size: 7px !important;
    }
    
    .vbo-roomdet-calscontainer .vbcalpricedaynum {
        font-size: 11px !important;
        margin-bottom: 1px;
    }
    
    .vbo-roomdet-calscontainer .vbcalpricedaycost {
        font-size: 8px !important;
        color: #222;
    }
    
    .vbo-roomdet-calscontainer .vbcalpricedaycost div .vbo_currency,
    .vbo-roomdet-calscontainer .vbcalpricedaycost div .vbo_price {
        font-size: 8px !important;
        color: #222;
    }
    
    /* ========== COLUNAS EXTRA COMPACTAS PARA TELAS MUITO PEQUENAS ========== */
    .vbo-roomdet-calscontainer table td:first-child,
    .vbcalprice td:first-child {
        width: 60px !important;
        min-width: 60px !important;
        max-width: 60px !important;
        font-size: 11px !important;
    }
    
    .vbo-roomdet-calscontainer table td:not(:first-child),
    .vbcalprice td:not(:first-child) {
        width: 35px !important;
        min-width: 35px !important;
        max-width: 35px !important;
    }
}

/* Melhorias de acessibilidade */
@media (hover: hover) {
    .vbtdfree:hover {
        background-color: #BBF7D0 !important;
    }
}

/* Otimização para impressão */
@media print {
    .vbo-availcalendars-cont {
        border: none;
        padding: 0;
    }
    
    .vbcalprice {
        border: 1px solid #000;
    }
    
    .vbcaltrmonth {
        background-color: #fff !important;
        color: #000 !important;
    }
    
    .vbcaldays,
    .vbtdempty {
        background-color: #fff !important;
    }
    
    .vblegendediv {
        display: none;
    }
}