/* === BOOKING STYLE FORM === */
/* Cores forçadas para não pegar do tema */

.baf-container,
.baf-container * {
    box-sizing: border-box !important;
    font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

.baf-container {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.baf-form {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    background: #ffb700 !important;
    padding: 4px !important;
    border-radius: 8px !important;
    gap: 2px !important;
    border: none !important;
    box-shadow: none !important;
    margin: 0 !important;
}

/* Campos */
.baf-field {
    position: relative !important;
    flex: 1 !important;
    min-width: 160px !important;
    background: #fff !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
    display: flex !important;
    flex-direction: column !important;
    cursor: pointer !important;
    transition: box-shadow 0.2s !important;
    border: none !important;
    margin: 0 !important;
}

.baf-field:hover {
    box-shadow: inset 0 0 0 2px #ffb700 !important;
}

.baf-field label {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 12px !important;
    color: #6b6b6b !important;
    font-weight: 400 !important;
    margin-bottom: 2px !important;
    cursor: pointer !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}

.baf-field label svg {
    width: 16px !important;
    height: 16px !important;
    fill: #6b6b6b !important;
}

.baf-field input[type="date"] {
    border: none !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    background: transparent !important;
    cursor: pointer !important;
    padding: 4px 0 !important;
    width: 100% !important;
    margin: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    line-height: 1.4 !important;
    height: auto !important;
    min-height: 0 !important;
}

.baf-field input[type="date"]:focus {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
}

/* Dropdown de hóspedes */
.baf-field-guests {
    min-width: 220px !important;
    position: relative !important;
}

.baf-guests-dropdown {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    padding: 4px 0 !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
}

#baf-guests-text {
    color: #1a1a1a !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.baf-chevron {
    width: 20px !important;
    height: 20px !important;
    fill: #1a1a1a !important;
    transition: transform 0.2s !important;
}

/* Painel dropdown */
.baf-guests-panel {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    right: auto !important;
    background: #fff !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
    padding: 16px !important;
    z-index: 99999 !important;
    min-width: 280px !important;
    border: none !important;
}

.baf-guests-panel.active {
    display: block !important;
}

.baf-guest-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #e7e7e7 !important;
    background: transparent !important;
    margin: 0 !important;
}

.baf-guest-row:last-of-type {
    border-bottom: none !important;
}

.baf-guest-label {
    background: transparent !important;
}

.baf-guest-label strong {
    display: block !important;
    font-size: 14px !important;
    color: #1a1a1a !important;
    font-weight: 600 !important;
    background: transparent !important;
}

.baf-guest-label small {
    font-size: 12px !important;
    color: #6b6b6b !important;
    font-weight: 400 !important;
    background: transparent !important;
}

.baf-guest-controls {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: transparent !important;
}

.baf-btn-minus,
.baf-btn-plus {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    border: 1px solid #0071c2 !important;
    background: #fff !important;
    color: #0071c2 !important;
    font-size: 18px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    font-weight: 400 !important;
}

.baf-btn-minus:hover,
.baf-btn-plus:hover {
    background: #0071c2 !important;
    color: #fff !important;
}

.baf-guest-controls > span {
    min-width: 24px !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    background: transparent !important;
}

#baf-adults-display,
#baf-children-display,
#baf-rooms-display {
    color: #1a1a1a !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

/* Idades */
#baf-ages-container {
    padding: 8px 0 !important;
    border-top: 1px solid #e7e7e7 !important;
    margin-top: 8px !important;
    background: transparent !important;
}

.baf-ages-label {
    font-size: 12px !important;
    color: #6b6b6b !important;
    margin-bottom: 8px !important;
    padding-top: 0 !important;
    font-weight: 400 !important;
    background: transparent !important;
}

.baf-ages-selects {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding-bottom: 8px !important;
    background: transparent !important;
}

.baf-age-select {
    padding: 8px 12px !important;
    border: 1px solid #e7e7e7 !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    min-width: 100px !important;
    background: #fff !important;
    color: #1a1a1a !important;
    cursor: pointer !important;
    height: auto !important;
    line-height: 1.4 !important;
}

.baf-done-btn {
    width: 100% !important;
    padding: 12px !important;
    background: #0071c2 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    margin-top: 12px !important;
    line-height: 1.4 !important;
}

.baf-done-btn:hover {
    background: #005999 !important;
    color: #fff !important;
}

/* Botão Pesquisar */
.baf-field-submit {
    flex: 0 0 auto !important;
    min-width: auto !important;
    padding: 0 !important;
    background: #0071c2 !important;
}

.baf-field-submit:hover {
    background: #005999 !important;
    box-shadow: none !important;
}

.baf-field-submit button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    height: 100% !important;
    padding: 16px 24px !important;
    background: transparent !important;
    border: none !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

.baf-field-submit button:hover {
    background: transparent !important;
    color: #fff !important;
}

.baf-field-submit button svg {
    width: 20px !important;
    height: 20px !important;
    fill: #fff !important;
}

/* Hidden inputs */
input#baf-adults,
input#baf-children,
input#baf-rooms {
    display: none !important;
}

/* Responsivo */
@media (max-width: 768px) {
    .baf-form {
        flex-direction: column !important;
        padding: 8px !important;
        gap: 4px !important;
    }
    
    .baf-field {
        min-width: 100% !important;
        width: 100% !important;
    }
    
    .baf-field-guests {
        min-width: 100% !important;
    }
    
    .baf-guests-panel {
        position: fixed !important;
        top: auto !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        border-radius: 16px 16px 0 0 !important;
        max-height: 70vh !important;
        overflow-y: auto !important;
        min-width: 100% !important;
    }
    
    .baf-field-submit {
        width: 100% !important;
        min-width: 100% !important;
    }
    
    .baf-field-submit button {
        padding: 16px !important;
        justify-content: center !important;
    }
}
