/*
Theme Name: Homey Child
Theme URI: http://themeforest.net/user/favethemes/
Author: Favethemes
Author URI: http://themeforest.net/user/favethemes/
Description: Homey is a powerful booking platform that lets you run a residential or commercial
rental business online with no hassle
Version: 1.0.0
Tags: right-sidebar, left-sidebar, custom-colors, custom-menu, featured-images, post-formats, theme-options, translation-ready
License: GNU General Public License version 3.0
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Text Domain: homey
Template: homey
*/

/* Fix clearfix.less */

.btn-group-vertical>.btn-group:after,
.btn-group-vertical>.btn-group:before,
.btn-toolbar:after,
.btn-toolbar:before,
.clearfix:after,
.clearfix:before,
.container-fluid:after,
.container-fluid:before,
.container:after,
.container:before,
.dl-horizontal dd:after,
.dl-horizontal dd:before,
.form-horizontal .form-group:after,
.form-horizontal .form-group:before,
.modal-footer:after,
.modal-footer:before,
.modal-header:after,
.modal-header:before,
.nav:after,
.nav:before,
.navbar-collapse:after,
.navbar-collapse:before,
.navbar-header:after,
.navbar-header:before,
.navbar:after,
.navbar:before,
.pager:after,
.pager:before,
.panel-body:after,
.panel-body:before,
.row:after,
.row:before {
    content: none;
}

/* Fix normalize.less */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: flex;
}

/* Fix parent style.css homey */

.homey-google-login .gsi-material-button-icon {
    float: none;
    width: 1.5rem;
    height: 1.5rem;
    margin: 0;
}

.gsi-material-button-content-wrapper {
    display: flex;
    align-items: center;
    column-gap: 0.5rem;
}

.icon-social-media-facebook {
    width: 1.5rem;
    height: 1.5rem;
    line-height: 1;
}

#module_listings span.label,
.item-user-info,
.price-section ul.detail-list li,
​ul.rules_list.detail-list {
    text-transform: none;
}

/* Your CSS code goes here
-------------------------------------- */
:root {
    --map-banner-full-height: 500px;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 120px;
}

b,
strong {
    font-weight: 500;
}

#error-message {
    margin-top: 2px;
}

.form-control.otp-digit {
    width: 32px;
    max-width: 32px;
    flex-grow: 1;
    font-size: 20px;
    text-align: center;
    margin-right: 10px;
    padding: 5px;
}

.clamped-text {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: clip;
    overflow-clip-margin: 0.125em;
}

.homey-icon {
    transition: transform 0.3s ease-in-out;
}

.fs-0875rem {
    font-size: 0.875rem !important;
}

.fs-1rem {
    font-size: 1rem !important;
}

.fs-1-25em {
    font-size: 1.25em !important;
}

.fs-1-5em {
    font-size: 1.5em !important;
}

.fs-2em {
    font-size: 2em !important;
}

.fw-400 {
    font-weight: 400 !important;
}

.modal button .homey-icon.homey-icon-close {
    font-size: 1.5rem;
    color: currentColor;
}

.modal button .homey-icon.homey-icon-close:hover {
    font-size: 1.5rem;
    color: currentColor;
}

.rotate {
    transform: rotate(180deg);
}

/* tailwindcss */
.border {
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
}

.border-none {
    border: 0 !important;
}

.border-b-none {
    border-bottom: none;
}

.flex {
    display: flex;
}

.flex-column {
    flex-direction: column;
}

.flex-grow {
    flex-grow: 1;
}

.flex-basis-50 {
    flex-basis: 50%;
}

.gap-x-4 {
    column-gap: 1rem;
}

.gap-y-4 {
    row-gap: 1rem;
}

.gap-x-5 {
    column-gap: 1.25rem;
}

.underline {
    text-decoration: underline !important;
}

.lowercase {
    text-transform: lowercase !important;
}

.capitalize {
    text-transform: capitalize !important;
}

.border-bottom-0 {
    border-bottom: 0 !important;
}

.w-full {
    width: 100%;
}

.max-w-none {
    max-width: none !important;
}

.min-h-50vh {
    min-height: 50vh !important;
}

.h-50vh {
    height: 50vh !important;
}

.h-100vh {
    height: 100vh !important;
}

@media (min-width: 768px) {
    .w-md-full {
        width: 100%;
    }

    .min-h-md-50vh {
        min-height: 50vh !important;
    }

    .h-md-50vh {
        height: 50vh !important;
    }

    .h-md-100vh {
        height: 100vh !important;
    }
}

/* bootstrap */
.close,
.close:focus,
.close:hover {
    color: currentColor;
    opacity: 1;
}

.input-group-addon {
    border-radius: 8px;
}

.sort-wrap .bootstrap-select {
    box-shadow: 0 0 0 1px #e5e7eb;
    line-height: 2.5rem;
    border-radius: 0.5rem;
    padding: 0 1rem;
}

.table-striped>tbody>tr:nth-of-type(odd) {
    background-color: #f3f4f6;
}

.table-hover>tbody>tr:hover {
    background-color: e5e7eb;
}

.grid-item-1 {
    grid-column: 1 / -1;
}

ul.small,
ul.small li {
    font-size: 85%;
}

.smaller {
    font-size: 75%;
}

.font-italic {
    font-style: italic;
}

.position-relative {
    position: relative !important;
}

.position-absolute {
    position: absolute !important;
}

.position-fixed {
    position: fixed !important;
}

@media (min-width: 768px) {
    .position-md-relative {
        position: relative !important;
    }

    .position-md-absolute {
        position: absolute !important;
    }

    .position-md-fixed {
        position: fixed !important;
    }
}

/* buttons
/* ----------------------------------------------------------- */

a.disabled,
.btn.disabled {
    pointer-events: none;
    /* Impede o clique */
    opacity: 0.6;
    text-decoration: none;
}

.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
    opacity: 1;
}

.btn .fa-spinner {
    position: unset;
}

/*
.btn-success {
    background-color: #65a30d;
    border-color: #65a30d;
}

.btn-success:focus,
.btn-success:hover {
    background-color: #4d7c0f;
    border-color: #4d7c0f;
}
*/

.btn-link {
    color: currentColor;
    text-decoration: none !important;
    border: none;
    outline: none;
    border-radius: 0;
    padding-left: 0;
    padding-right: 0;
    line-height: 1.75;
}

.btn-link:hover,
.btn-link:focus {
    color: currentColor;
    text-decoration: none !important;
    outline: none;
    box-shadow: 0px -1px 0px 0px inset currentColor;
}

.btn-link i {
    font-size: 1.5em;
}

.btn-link-header {
    margin: 0;
}

.btn-share {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    color: #374151;
    background: none;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    text-decoration: none !important;
    width: 3.5rem;
    height: 3.5rem;
}

.btn-share i {
    font-size: 2rem;
    margin: 0;
}

.btn-icon-back {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin-right: 1rem;
    border-radius: 50%;
    text-decoration: none !important;
    width: 2.25rem;
    height: 2.25rem;
}

.btn-icon-back i {
    justify-content: center;
    align-items: center;
}


.guest-apply-btn {
    margin: 1.5rem 0;
    text-align: right;
}

.overley-search-module .guest-apply-btn,
.overley-booking-module .guest-apply-btn {
    margin: 1.25rem 0;
}

.overlay-search-module-close i,
.overlay-booking-module-close i {
    font-size: 1.5em;
}

.account-loggedin {
    display: flex;
    align-items: center;
    border: none;
    line-height: 30px !important;
    padding: 0;
    border-radius: 999px;
}

.account-loggedin .user-image {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 0;
    margin-right: 0;
    width: 30px;
    height: 30px;
    box-shadow: 0 0 0 1px #f3f4f6;
    border-radius: 50%;
}

@media (min-width:768px) {
    .account-loggedin {
        border: 1px solid #e5e7eb;
        padding: 0.5rem 0.875rem 0.5rem 0.5rem;
    }

    .account-loggedin .user-image {
        margin-right: 10px;
    }
}

.account-loggedin .user-image i {
    font-size: 30px;
}

.account-loggedin,
.login-register a,
.btn-link-header {
    text-decoration: none !important;
    color: #374151;
}

.account-loggedin:hover,
.login-register a:hover,
.btn-share:hover {
    color: #1f2937;
    border-color: #d1d5db;
    background-color: #f9fafb;
}

#listings,
#experiences {
    scroll-margin-top: 100px;
}

#listings::before,
#experiences::before {
    content: "";
    display: block;
    height: 120px;
    margin-top: -120px;
    visibility: hidden;
    pointer-events: none;
}

/* select */

.bootstrap-select>.dropdown-toggle.bs-placeholder,
.bootstrap-select>.dropdown-toggle.bs-placeholder:active,
.bootstrap-select>.dropdown-toggle.bs-placeholder:focus,
.bootstrap-select>.dropdown-toggle.bs-placeholder:hover {
    color: #9ca3af;
}

.calendar-navigation .btn {
    display: flex;
    align-items: center;
    justify-content: center;
}

.calendar-navigation .btn i {
    margin: 0;
}

.homey-loadmore,
.homey-loadmore-exp {
    visibility: hidden;
    margin: 0;
    padding: 0;
    height: 0;
    opacity: 0;
    overflow: hidden;
    transition: opacity 0.3s ease-in-out;
}

.homey-loadmore.visible,
.homey-loadmore-exp.visible {
    visibility: visible;
    height: auto;
    padding-block: 1.25rem;
    opacity: 1;
}

/* scrollbars */

/* WebKit-based browsers (Chrome, Safari, Edge) */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f3f4f6;
}

::-webkit-scrollbar-thumb {
    background: #9ca3af;
}

::-webkit-scrollbar-thumb:hover {
    background: #4b5563;
}

/* Firefox */
* {
    scrollbar-width: thin;
    /* Set the scrollbar width to "thin" */
    scrollbar-color: #9ca3af #f3f4f6;
    /* Set thumb and track colors */
}

/* IE/Edge (older versions) */
body {
    -ms-overflow-style: none;
    /* Hide the default scrollbar */
}

body::-ms-browse-element:vertical {
    width: 8px;
    /* Set the scrollbar width */
}

body::-ms-browse-element:vertical::-ms-fill-lower {
    background: #f3f4f6;
    /* Set track color */
}

body::-ms-browse-element:vertical::-ms-fill-upper {
    background: #9ca3af;
    /* Set thumb color */
}

/* Estilos para Controles de Formulário Customizados (Radio e Checkbox) */
.control {
    display: block;
    position: relative;
    padding-left: 28px;
    margin-bottom: 15px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
}

/* Esconde o input padrão do navegador */
.control input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

/* Cria o indicador visual (o círculo/quadrado) */
.control-indicator {
    position: absolute;
    top: 50%;
    left: 0;
    height: 20px;
    width: 20px;
    background-color: #fff;
    border: 1px solid #e5e7eb;
    transform: translateY(-50%);
    transition: all 0.2s ease-in-out;
}

.control:hover input~.control-indicator {
    background-color: #e5e7eb;
}

/* Quando o input está checado, muda a cor do indicador */
.control input:checked~.control-indicator {
    background-color: #1f2937;
    border-color: #1f2937;
}

/* Cria o ponto/marca dentro do indicador */
.control-indicator:after {
    content: '';
    position: absolute;
    display: none;
}

.control input:checked~.control-indicator:after {
    display: block;
}

/* Estilo específico para o Radio Button (círculo) */
.control-radio .control-indicator {
    border-radius: 50%;
}

.control-radio .control-indicator:after {
    top: 5px;
    left: 5px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #fff;
}

/* Estilo específico para o Checkbox (quadrado com "check") */
.control-checkbox .control-indicator {
    border-radius: 3px;
}

.control-checkbox .control-indicator:after {
    left: 6px;
    top: 3px;
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* range slider styles */

.range-price-slider {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding-top: 20px;
}

.range-slider.dragging {
    cursor: ew-resize;
}

.range-price-wrap {
    display: inline-flex;
    flex-direction: column;
}

.range-price-min,
.range-price-max,
.range-slider>input {
    outline: none;
    background: #fff;
    border: 1px solid #e5e7eb;
    font-size: 1rem;
    font-weight: 400;
    padding: 0.5rem 1rem !important;
    text-align: center;
    border-radius: 8px;
    max-width: 100px !important;
}

.range-price {
    width: 100%;
    display: grid;
    position: relative;
    z-index: 5;
}

.range-price input {
    padding: 0;
    grid-row: 2;
    grid-column: 1;
    pointer-events: none;
    appearance: none;
    background: transparent;
}

.range-price input::-webkit-slider-thumb {
    pointer-events: auto;
    appearance: none;
    width: 28px;
    height: 28px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 50%;
    cursor: pointer;
}

.range-slider {
    position: absolute;
    height: 2px;
    width: 100%;
    background: #e5e7eb;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 5px;
    overflow: hidden;
    z-index: -1;
}

.range-price-progress {
    position: absolute;
    height: 100%;
    background: linear-gradient(to right, #FF4602, #FF054A);
    cursor: ew-resize;
}

/* calendar */
.main-search-calendar-wrap .days li.selected,
.main-search-calendar-wrap .days li:hover:not(.day-disabled),
.single-listing-booking-calendar-js .days li.selected,
.single-listing-booking-calendar-js .days li:hover:not(.day-disabled),
.single-experience-booking-calendar-js .days li.selected,
.single-experience-booking-calendar-js .days li:hover:not(.day-disabled) {
    background-color: #1f2937;
    color: #fff;
}

.main-search-calendar-wrap .days li.in-between,
.single-listing-booking-calendar-js .days li.in-between,
.single-experience-booking-calendar-js .days li.in-between {
    background-color: #e5e7eb;
}

.single-listing-booking-calendar-js .days li.homey-not-available-for-booking:hover,
.single-experience-booking-calendar-js .days li.homey-not-available-for-booking:hover {
    background-color: transparent !important;
    color: #9ca3af !important;
}

li.current-month.reservation_start.homey-not-available-for-booking:hover {
    background-color: #1f2937;
    color: #fff
}

.single-listing-calendar li.current-month.reservation_start.day-booked.homey-not-available-for-booking.future-day,
.single-listing-calendar li.current-month.reservation_start.day-pending.homey-not-available-for-booking.future-day {
    background: #e4f4d9;
    z-index: -2
}

.suggestion-title {
    margin-block: 2.5rem;
}

/*****
* Header
*****/
.nav-area {
    position: sticky;
    top: 0;
    background-color: #fff;
    z-index: 3;
}

.nav-area-wrap {
    position: relative;
    height: 10rem;
    z-index: 2;
}

.header-dashboard .nav-area-wrap {
    border-bottom: 1px solid #e5e7eb;
}

.header-nav {
    border: none;
}

.header-nav,
.header-nav .header-comp-logo,
.homey_logo,
.header-profile {
    display: flex;
    align-items: center;
    height: 3.75rem;
}

.header_logo img {
    max-height: 30px;
}

.header-nav .header-comp-logo,
.homey_logo {
    max-width: fit-content;
}

@media (min-width: 768px) {
    .header_logo img {
        max-height: auto;
    }

    .nav-area-wrap {
        height: 13.75rem;
        border-bottom: 1px solid #e5e7eb;
    }

    .header-nav,
    .homey_logo,
    .header-nav .header-comp-logo,
    .header-profile {
        height: 5rem;
    }

    .mobile-logo a img {
        max-height: auto;
    }
}

.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header-nav .header-comp-logo,
.header-nav .header-comp-right {
    display: block;
    flex-grow: 1;
    flex-shrink: 0;
    padding-left: 0;
    padding-right: 0;
    z-index: 3;
}

.header-inner .header-comp-right {
    display: flex;
    justify-content: flex-end;
}

.header-nav .header-comp-nav {
    position: initial;
    display: block;
    flex-basis: auto;
    flex-grow: 0;
    flex-shrink: 1;
    padding: 0 1.5rem;
    min-width: auto;
    z-index: 2;
}

.header-nav .header-comp-nav-inner {
    width: 100%;
    position: absolute;
    top: 2.75rem;
    left: 0;
    text-align: left;
    z-index: 0;
}

.header-nav .header-comp-right .header-profile {
    column-gap: 1rem;
}

@media (min-width: 768px) {

    .header-nav .header-comp-logo,
    .header-nav .header-comp-right {
        flex-basis: 8rem;
    }

    .header-nav .header-comp-nav {
        min-width: 165px;
    }

    .header-nav .header-comp-nav-inner {
        top: 4rem;
    }

    .header-nav .header-comp-right .header-profile {
        column-gap: 1.25rem;
    }
}

.header-language-btn a,
.header-notifications-btn a {
    font-size: 1.25rem;
}

.header-nav .main-nav {
    display: block;
    width: 100%;
    margin: 0 auto;
}

@media (max-width: 767px) {

    .header-language-btn a,
    .header-notifications-btn a {
        display: flex;
        font-size: 30px;
        line-height: 1;
        width: 30px;
        height: 30px;
    }
}

@media (min-width: 1024px) {
    .header-nav .main-nav {
        width: 54rem;
        margin: 0 auto;
    }
}

@media (min-width: 1200px) {
    .nav-area-wrap {
        height: 9.75rem;
    }

    .header-nav .header-comp-nav-inner {
        top: 0;
    }
}

.main-nav .main-menu {
    display: flex;
    align-items: center;
    justify-content: center;
}

.main-nav .nav-tabs>li>a {
    font-size: 1rem;
    line-height: 2.5;
    font-weight: 500;
    padding: 0;
    margin: 0.625rem 1.25rem;
    border: none;
    color: #6b7280;
}

@media (min-width:768px) {
    .main-nav .nav-tabs>li>a {
        margin: 1.25rem;
    }
}

.main-nav .nav-tabs>li>a:hover,
.main-nav .nav-tabs>li>a:focus,
.main-nav .nav-tabs>li.active>a,
.main-nav .nav-tabs>li.active>a:hover,
.main-nav .nav-tabs>li.active>a:focus {
    border: none;
    box-shadow: 0px -2px 0px 0px inset #FF4602;
    background-color: transparent;
    color: #1f2937;
}

/****
* Header Dashboard
*****/
.header-dashboard .nav-area {
    position: relative;
}

.header-dashboard .nav-area-wrap {
    height: auto;
}

.header-dashboard .header-nav .header-comp-nav {
    display: none;
}

/****
* Account menu
******/
.account-login .btn-add-new-listing {
    margin-left: 1.25rem;
}

.header-button-right,
.header-gtranslate-right {
    margin-right: 10px;
    display: flex;
    align-items: center;
}

/* account.php */
.line {
    margin-bottom: .5rem;
    margin-top: .5rem;
    width: 100%;
    height: 1px;
    background: #e5e7eb;
}

.ui-autocomplete {
    font-family: inherit;
    color: #1f2937;
    border: 1px solid transparent;
    border-radius: 0.5rem;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    padding: 5px 0;
    margin: 0;
    z-index: 9999;
}

.ui-autocomplete .ui-menu-item {
    line-height: 5px !important;
    font-size: 14px !important;
    padding: 0;
    border: none;
}

.ui-autocomplete .ui-menu-item:not(:last-of-type) {
    border-bottom: 1px solid #e5e7eb;
}

.ui-autocomplete .ui-menu-item .ui-menu-item-wrapper {
    padding-top: 18px;
    padding-right: 15px;
    padding-bottom: 18px;
    padding-left: 20px;
}

.ui-autocomplete .ui-menu-item .ui-menu-item-wrapper.ui-state-active,
.ui-autocomplete .ui-menu-item .ui-menu-item-wrapper:hover {
    border-color: transparent;
    background: #f3f4f6;
    font-weight: normal;
    color: #1f2937;
}

/* modal */
.modal h2 {
    font-size: 1.125rem;
}

@media (min-width: 1200px) {
    .modal h2 {
        font-size: 1.375rem;
    }
}

#modal-search-filter,
#modal-search-filter-exp {
    background-color: rgba(0, 0, 0, 0.5);
}

@media (max-width: 480px) {

    #modal-extra-expenses,
    #modal-discount,
    #modal-reservation-detail,
    #modal-search-filter,
    #modal-search-filter-exp,
    #modal-search-filter-mobile,
    #modal-search-filter-mobile-exp,
    #modal-login,
    #modal-login-forgot-password,
    #modal-register,
    #modal-contact-host {
        background-color: #fff;
    }

    #modal-extra-expenses .modal-dialog,
    #modal-discount .modal-dialog,
    #modal-reservation-detail .modal-dialog,
    #modal-search-filter .modal-dialog,
    #modal-search-filter-exp .modal-dialog,
    #modal-search-filter-mobile .modal-dialog,
    #modal-search-filter-mobile-exp .modal-dialog,
    #modal-login .modal-dialog,
    #modal-login-forgot-password .modal-dialog,
    #modal-register .modal-dialog,
    #modal-contact-host .modal-dialog {
        height: 100%;
        max-width: 100%;
        box-shadow: none;
    }

    #modal-extra-expenses .modal-body,
    #modal-discount .modal-body,
    #modal-reservation-detail .modal-body,
    #modal-search-filter .modal-body,
    #modal-search-filter-exp .modal-body,
    #modal-search-filter-mobile .modal-body,
    #modal-search-filter-mobile-exp .modal-body,
    #modal-login .modal-body,
    #modal-login-forgot-password .modal-body,
    #modal-register .modal-body,
    #modal-contact-host .modal-body {
        height: 100%;
        padding: 0;
    }

    #modal-extra-expenses .modal-content,
    #modal-discount .modal-content,
    #modal-reservation-detail .modal-content,
    #modal-search-filter .modal-content,
    #modal-search-filter-exp .modal-content,
    #modal-search-filter-mobile .modal-content,
    #modal-search-filter-mobile-exp .modal-content,
    #modal-login .modal-content,
    #modal-login-forgot-password .modal-content,
    #modal-register .modal-content,
    #modal-contact-host .modal-content {
        height: 100%;
    }

    #modal-extra-expenses .modal-body-content,
    #modal-discount .modal-body-content,
    #modal-reservation-detail .modal-body-content,
    #modal-search-filter .modal-body-content,
    #modal-search-filter-exp .modal-body-content,
    #modal-search-filter-mobile .modal-body-content,
    #modal-search-filter-mobile-exp .modal-body-content,
    #modal-login .modal-body-content,
    #modal-login-forgot-password .modal-body-content,
    #modal-register .modal-body-content,
    #modal-contact-host .modal-body-content {
        flex-grow: 1;
        overflow-y: auto;
    }
}

#modal-reservation-detail .modal-dialog,
#modal-reservation-detail .modal-body,
#modal-reservation-detail .modal-body,
#modal-reservation-detail .modal-content {
    height: 100%;
}

#modal-reservation-detail .modal-body-content {
    flex-grow: 1;
    overflow-y: auto;
    overflow-x: hidden;
}

#modal-reservation-detail .block-body {
    padding: 1.25rem 0;
}

.modal #modal-extra-expenses,
.modal #modal-discount {
    padding: 0 !important;
}

.homey_login_messages {
    margin-top: 1rem;
}

.homey_contact_messages .btn {
    margin-bottom: 1.25rem;
}

/* modal-window-register.php */

.password-level {
    transition: opacity ease 0.2s;
}

.password-strength-bar-wrapper {
    height: 5px;
    margin-top: 5px;
    margin-bottom: 5px;
}

.progress-bar-danger {
    background-color: #b91c1c;
}

.progress-bar-warning {
    background-color: #fbbf24;
}

.progress-bar-info {
    background-color: #38bdf8;
}

.progress-bar-primary {
    background-color: #0ea5e9;
}

.progress-bar-success {
    background-color: #84cc16;
}

.password-level {
    transition: opacity ease 0.2s;
}

.password-strength-bar-wrapper {
    height: 5px;
    margin-top: 5px;
    margin-bottom: 5px;
}

/* modal-share / modal-language */
#modal-share .modal-dialog {
    max-width: 360px;
}

#modal-share .media {
    display: flex;
    align-items: center;
    margin: 0.5rem 0 2rem;
}

#modal-share .media .media-left {
    flex-shrink: 0;
}

#modal-share .media .media-left img {
    width: 4rem;
    height: 4rem;
    object-fit: cover;
    border-radius: 0.5rem;
}

#modal-share .modal-share-wrap {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
}

.modal-message-wrap {
    position: absolute;
    display: flex;
    align-items: center;
    column-gap: 0.5rem;
    left: 50%;
    bottom: 1rem;
    color: #1f2937;
    font-weight: 500;
    background: #fff;
    line-height: 2;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2);
    transform: translateX(-50%);
    z-index: 1;
}

.modal-message-wrap i {
    color: #84cc16;
    font-size: 1.5em;
}

@media (min-width: 540px) {
    #modal-share .modal-share-wrap {
        gap: 1.5rem;
    }
}

/* modal-language */
#modal-language .modal-dialog {
    max-width: 400px;
}

#modal-language .modal-language-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
}

@media (min-width: 540px) {
    #modal-language .modal-language-wrap {
        gap: 1.5rem;
    }
}

.modal-language-wrap .glink {
    position: relative;
    display: inline-flex;
    margin-bottom: 0;
    font-weight: 600 !important;
    line-height: 40px;
    padding: 0 32px;
    text-align: center;
    justify-content: center;
    align-items: center;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    color: #1f2937;
    border: 1px solid #d1d5db;
    background-color: transparent;
    background-image: none;
    font-size: 14px;
    border-radius: 8px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    transition: 0.2s;
    text-decoration: none !important;
}


.modal-language-wrap .glink.gt-current-lang {
    border-width: 2px;
    border-color: #111827;
}

/** home map */
.map-banner-wrap {
    position: absolute;
    top: calc(var(--map-banner-full-height) * -1);
    width: 100%;
    height: var(--map-banner-full-height);
    content-visibility: auto;
    z-index: 1;
}

.map-banner-wrap.active {
    position: relative;
    top: 0;
}

#btn-map-view,
#btn-list-view {
    position: fixed;
    font-size: 0.75rem;
    left: 50%;
    min-width: 9rem;
    height: 2.5rem;
    bottom: 4rem;
    padding: 0 1rem;
    transform: translateX(-50%);
    z-index: 2;
}

#wpfront-scroll-top-container {
    right: 0.5rem !important;
    bottom: 4rem !important;
    z-index: 1000 !important;
}

.single #wpfront-scroll-top-container {
    bottom: 4.75rem !important;
}

#wpfront-scroll-top-container img {
    width: 2.5rem !important;
    height: 2.5rem !important;
}

@media (min-width: 768px) {

    #btn-map-view,
    #btn-list-view {
        font-size: 0.875rem;
        min-width: 10rem;
        height: rem;
        bottom: 3.125rem;
    }

    .single #wpfront-scroll-top-container,
    #wpfront-scroll-top-container {
        bottom: 1rem !important;
    }
}

/* Main search
/* ----------------------------------------------------------- */
.main-search.homey-in-view,
.nav-area.homey-in-view,
header.header-nav.homey-in-view {
    left: 0;
}

/* home filter
*/

/*{
    display: flex;
    width: 100%;
    padding-top: 0.75rem;
    background-color: #fff;
}
*/

.type-filter.active {
    box-shadow: rgb(0 0 0/15%) 0 0.125rem 0.25rem;
}

.type-filter-inner {
    display: flex;
    align-items: center;
    column-gap: 1rem;
    width: 100%;
    min-height: 76px;
}



.type-filter-list-wrap {
    position: relative;
    display: flex;
    width: 100%;
}

.type-filter-nav-btn-wrap {
    position: absolute;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    visibility: hidden;
    z-index: 1;
    width: 2.5rem;
}

.type-filter-nav-btn-wrap-prev {
    left: 0;
    background-image: linear-gradient(to right, rgb(255 255 255 / 100%), rgb(255 255 255 / 0%));
}

.type-filter-nav-btn-wrap-next {
    right: 0;
    background-image: linear-gradient(to left, rgb(255 255 255 / 100%), rgb(255 255 255 / 0%));
}

.type-filter-nav-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2rem;
    height: 2rem;
    background-color: #fff;
    color: #111827;
    border: 1px solid #e5e7eb;
    border-radius: 50%;
    cursor: pointer;
}

.type-filter-nav-btn i {
    font-size: 1.5em;
}

#type-filter-prev-btn:hover,
#type-filter-next-btn:hover {
    transform: scale(1.04);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

.type-filter-list {
    display: flex;
    overflow-x: scroll;
    pointer-events: all;
    align-items: center;
    gap: 1rem;
    width: 100%;
    scrollbar-width: none;
    scroll-behavior: smooth;
    scroll-padding-inline-start: 1.5rem;
    scroll-padding-inline-end: 1.5rem;
    touch-action: manipulation;
    padding: 0;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .type-filter-list-wrap {
        width: calc(100% - 1rem - 105px);
    }

    .type-filter-list {
        scroll-padding-inline-start: 2.5rem;
        scroll-padding-inline-end: 2.5rem;
    }
}

.type-filter-list::-webkit-scrollbar {
    height: 0;
}


.type-filter-tag {
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    line-height: 2;
    color: #6b7280;
    margin: 0.75rem 0 0;
    padding: 0 0 0.5rem;
    border-radius: 0 !important;
    scroll-snap-align: start;
}

.type-filter-tag[data-tag-show="false"] {
    display: none;
}

.type-filter-tag:hover,
.type-filter-tag.active {
    color: #1f2937;
    box-shadow: 0px -2px 0px 0px inset #FF4602;
}

.type-filter-tag img,
.type-filter-tag svg {
    width: 2rem;
    height: 2rem;
    object-fit: cover;
    filter: invert(44%) sepia(13%) saturate(443%) hue-rotate(182deg) brightness(95%) contrast(82%);
}

.type-filter-tag:hover img,
.type-filter-tag.active img,
.type-filter-tag:hover svg,
.type-filter-tag.active svg {
    filter: invert(12%) sepia(62%) saturate(348%) hue-rotate(174deg) brightness(94%) contrast(91%);
}

@media (max-width: 767px) {
    .type-filter {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .type-filter:not(.active) {
        border-bottom: 2px solid #e5e7eb;
    }

    .type-filter-tag:first-of-type {
        margin-left: 1.5rem;
    }

    .type-filter-tag:last-of-type {
        margin-right: 1.5rem;
    }
}

@media (max-width: 374px) {
    .type-filter-tag:first-of-type {
        margin-left: 1rem;
    }

    .type-filter-tag:last-of-type {
        margin-right: 1rem;
    }
}

.search-filters {
    display: flex;
    width: 105px;
    flex-shrink: 0;
}

.type-filter.search {
    border-bottom: 1px solid #e5e7eb;
}

.type-filter .line-sep {
    width: 1px;
    height: 3.5rem;
    border-right: 1px solid #6b7280;
    margin-bottom: 0.75rem;
}

.visibility-revert {
    visibility: revert;
}

/* Gallery Grid */
img.img-responsive.fanboxTopGalleryFullWidth-item {
    width: 100%;
    object-fit: cover;
    object-position: center;
    height: 360px;
}

.gallery-slide {
    width: 100%;
    height: 450px;
}

.gallery-grid {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    height: auto;
    padding-left: 0;
    padding-right: 0;
    overflow: hidden;
}

.gallery-grid-left {
    flex: 0 0 100%;
    padding: 0;
    height: 100%;
}

.gallery-grid-left .gallery-grid-item {
    height: 100%;
}

.gallery-grid-middle {
    flex: 0 0 50%;
    padding-left: 4px;
    height: 100%;
}

@media (min-width: 768px) {
    .gallery-grid {
        aspect-ratio: 39 / 25;
    }

    .gallery-grid-left {
        flex: 0 0 50%;
    }

    .gallery-grid-lst .gallery-grid-middle {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
        grid-gap: 4px;
    }
}

@media (min-width: 1024px) {
    .gallery-grid {
        aspect-ratio: 13 / 5;
    }

    .gallery-grid-exp .gallery-grid-left {
        flex: 0 0 33.33%;
    }

    .gallery-grid-lst .gallery-grid-middle {
        flex: 0 0 30%;
        padding: 0 4px;
    }

    .gallery-grid-exp .gallery-grid-middle {
        flex: 0 0 33.33%;
        padding: 0 4px;
    }

    .gallery-grid-right {
        padding: 0;
        height: 100%;
    }

    .gallery-grid-lst .gallery-grid-right {
        flex: 0 0 20%;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(3, 1fr);
        grid-gap: 4px;
    }

    .gallery-grid-exp .gallery-grid-right {
        flex: 0 0 33.33%;
    }
}

.gallery-grid-bottom {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 10px;
}

.gallery-slide-item,
.gallery-grid-item {
    display: flex;
    width: 100%;
    height: 100%;
}

.gallery-slide-item img,
.gallery-grid-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gallery-slide .swiper-pagination {
    padding: 0.125rem 0.5rem;
    background-color: rgba(255, 255, 255, 0.5);
    width: auto;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 0.25rem;
    font-size: 0.875rem;
    font-weight: 700;
}

#show-all-photos {
    position: absolute;
    right: 36px;
    bottom: 20px;
    padding: 0 1rem;
}

/* Single pages
/* ----------------------------------------------------------- */

.listing-nav {
    background-color: #fff;
    box-shadow: rgb(0 0 0/15%) 0 0.125rem 0.25rem;
}

.listing-nav .main-menu {
    padding-left: 0;
    display: flex;
    justify-content: space-between;
}

.listing-nav .main-menu::before,
.listing-nav .main-menu::after {
    content: none;
}

.listing-navi>.main-menu>li>a {
    font-size: 0.875rem;
    color: #6b7280;
}

.listing-navi>.main-menu>li>a::before {
    top: auto;
    height: 2px;
    bottom: 0;
}

.listing-navi>.main-menu>li>a:focus,
.listing-navi>.main-menu>li>a:hover,
.listing-navi>.main-menu>li>a:active {
    color: #1f2937;
}

.single .nav-area {
    position: relative;
}

.single .nav-area-wrap {
    height: 3.75rem;
    border-bottom: 1px solid #e5e7eb;
}

@media (min-width: 768px) {
    .single .nav-area-wrap {
        height: 13.75rem;
    }
}

@media (min-width: 1200px) {
    .single .nav-area-wrap {
        height: 9.75rem;
    }
}

#single-listing-date-range .search-date-range-arrive {
    margin-right: 10px;
}

/***
 overlay booking
 ***/

.overlay-booking-module .search-banner {
    display: flex;
    flex-direction: column;
}

.overlay-booking-module #single-listing-date-range .search-date-range-arrive {
    margin-right: 0;
}

.overlay-booking-module-exp .search-date-range-arrive,
.overlay-search-mobile-exp .search-date-range-arrive {
    max-width: 100%;
    box-shadow: none;
}

.overley-search-module .search-calendar,
.overlay-booking-module .single-booking-search-calendar,
.overlay-booking-module-exp .single-booking-search-calendar {
    max-height: 100dvh;
}

.overlay-search-calendar-wrap,
.single-booking-search-calendar-wrap {
    overflow-y: auto;
    padding-bottom: 88px;
}

.overlay-search-calendar-footer,
.single-booking-calendar-footer {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid #e5e7eb;
    background-color: #fff;
    z-index: 2;
}

.overlay-search-calendar-footer .btn-clear-calendar,
.single-booking-calendar-footer .btn-clear-calendar {
    position: relative;
    left: 0;
}

/***
* Listing pages
***/
.search-destination .clear-input-btn,
.search-type .clear-input-btn,
.search-banner .search-destination .clear-input-btn,
.search-banner .search-type .clear-input-btn {
    max-height: 100%;
}

/* single-listing / single-experience
/* ----------------------------------------------------------- */

/* title */
.title-v3 .block-top-title .block-body,
.title-v3 .block-top-subtitle .block-body {
    display: flex;
    padding: 0 0 1.5rem;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 1.5rem;
}

@media (min-width:768px) {
    .title-v3 .block-top-title .block-body {
        justify-content: space-between;
        flex-wrap: nowrap;
    }
}

.title-v3 .block-top-subtitle .block-body {
    padding: 0 0 1rem;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.title-v3 .block-top-title .block-body::before,
.title-v3 .block-top-title .block-body::after,
.title-v3 .block-top-subtitle .block-body::before,
.title-v3 .block-top-subtitle .block-body::after {
    content: none;
}

.title-v3 .block-top-title .listing-title {
    display: inline-flex;
    width: auto;
    margin: 0;
}

.title-v3 .block-top-title .listing-contact-save {
    display: inline-flex;
    gap: 1rem;
    flex-wrap: wrap;
}

@media (min-width:360px) {
    .title-v3 .block-top-title .listing-contact-save {
        flex-shrink: 0;
        flex-wrap: nowrap;
    }
}

.block-top-subtitle address,
.block-top-subtitle .rating,
.block-top-subtitle .superhost-info-icon,
.block-top-title .listing-contact-save a {
    font-size: 0.875rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    margin-left: 0;
}

.block-top-subtitle address,
.block-top-subtitle .rating,
.block-top-subtitle .superhost-info-icon {
    font-size: 1.125rem;
}

.block-top-subtitle address i,
.block-top-subtitle .rating i,
.block-top-subtitle .superhost-info-icon i,
.block-top-title .listing-contact-save i {
    font-size: 1.5em;
    margin-right: 5px;
}

.detail-list-wrap {
    padding-top: 1rem;
    margin-bottom: 1.25rem;
}

.detail-list-wrap .detail-list {
    margin-bottom: 0;
}

.about-section .title,
.details-section .title,
.price-section .title,
.accomodation-section .title,
.features-section .title,
.map-section .title,
.rules-section .title,
.video-section .title,
.availability-section .title,
.additional-services-section .title,
.similar-listing-section .title,
.reviews-section .title {
    font-size: 1.25rem;
}

@media (min-width: 1200px) {

    .about-section .title,
    .details-section .title,
    .price-section .title,
    .accomodation-section .title,
    .features-section .title,
    .map-section .title,
    .rules-section .title,
    .video-section .title,
    .availability-section .title,
    .additional-services-section .title,
    .similar-listing-section .title,
    .reviews-section .title {
        font-size: 1.375rem;
    }
}

.accomodation-section dd {
    line-height: 2;
}


/* pagination
/* ----------------------------------------------------------- */
.pagination>li>a,
.pagination>li>span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.pagination>.active>a {
    z-index: inherit;
}

/* single-listing.php */
/*
.city-tax, .taxes {
    display: none;
}
*/


/******
* Dashboard
******/
.user-dashboard-menu {
    display: block;
    -webkit-box-shadow: inset 0 1px 0 0 #e5e7eb;
    box-shadow: inset 0 1px 0 0 #e5e7eb;
    background-color: #fff;
    width: 100%;
    height: 3.75rem;
    z-index: 998;
}

.board-panel-menu {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    width: 100%;
    padding-top: 0;
    padding-bottom: 0;
}

.board-panel-menu,
.board-panel-menu ul {
    list-style: none;
}

.board-panel-menu li.has-child {
    position: relative;
    cursor: pointer;
}

.board-panel-menu-item {
    position: relative;
    cursor: pointer;
    line-height: 1;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    row-gap: 0.125rem;
    font-weight: 600;
    padding: 1rem;
}

.board-panel-menu-item-label {
    display: none;
}

.board-panel-menu-item-label .chevron {
    display: none;
}

@media (min-width: 768px) {
    .board-panel-menu-item-label {
        display: flex;
        font-size: 0.875rem;
    }
}

@media (max-width: 991px) {

    .dashboard-with-sidebar,
    .dashboard-without-sidebar {
        padding-left: 0;
        padding-right: 0;
    }
}

@media (min-width:1200px) {
    .user-dashboard-menu {
        display: block;
        width: 13rem;
        top: 0;
        left: 0;
        height: 100%;
        max-height: 100%;
        box-shadow: inset -1px 0 0 0 #e5e7eb;
    }

    .dashboard-with-sidebar,
    .dashboard-without-sidebar {
        padding-left: 13rem;
    }

    .user-dashboard-menu .navi {
        padding-top: 5rem;
    }

    .board-panel-menu {
        flex-direction: column;
        padding-top: 1.25rem;
        padding-bottom: 2rem;
    }

    .board-panel-item {
        width: 100%;
    }

    .board-panel-menu-item {
        flex-direction: row;
        row-gap: 0;
        column-gap: 0.625rem;
        padding: 1.25rem;
        width: 100%;
    }

    .board-panel-menu-item-label {
        font-size: 1rem;
        flex-grow: 1;
        align-items: center;
        justify-content: space-between;
    }

    .board-panel-menu-item-label .chevron {
        display: block;
    }
}

.profile-questions-area i,
.board-panel-menu-item i {
    font-size: 1.5em;
}

.board-panel-item.active ul {
    margin-left: 2rem;
    border-left: 1px solid #9ca3af;
}

.board-panel-item.active .chevron {
    transform: rotate(180deg);
}

.board-panel-menu ul li a {
    position: relative;
    color: #4b5563;
    margin: 0 1.25rem 0 1.25rem;
    padding: 0.5rem 0.25rem 0.5rem 0.75rem;
}

.dashboard-page-title h1,
.dashboard-area {
    margin-left: auto;
    margin-right: auto;
}

.dashboard-submission-wizard .dashboard-page-title h1,
.dashboard-submission-wizard .dashboard-area,
.dashboard-account-settings .dashboard-page-title h1,
.dashboard-account-settings .dashboard-area,
.dashboard-login-security .dashboard-page-title h1,
.dashboard-login-security .dashboard-area,
.dashboard-payment-method .dashboard-page-title h1,
.dashboard-payment-method .dashboard-area,
.dashboard-profile .dashboard-page-title h1,
.dashboard-profile .dashboard-area {
    max-width: 1080px;
}

.dashboard-favorites .dashboard-page-title h1,
.dashboard-favorites .dashboard-area,
.dashboard-reservations:not(.dashboard-hosting) .dashboard-page-title h1,
.dashboard-reservations:not(.dashboard-hosting) .dashboard-area,
.dashboard-reservations2 .dashboard-page-title h1,
.dashboard-reservations2 .dashboard-area,
.dashboard-reservations-experiences:not(.dashboard-hosting) .dashboard-page-title h1,
.dashboard-reservations-experiences:not(.dashboard-hosting) .dashboard-area,
.dashboard-reservations2-experiences .dashboard-page-title h1,
.dashboard-reservations2-experiences .dashboard-area,
.dashboard-hosting:not(.dashboard-reservations):not(.dashboard-reservations-experiences):not(.dashboard-listings):not(.dashboard-experiences) .dashboard-area {
    max-width: 1440px;
}

@media (min-width:1488px) {

    .dashboard-host .dashboard-page-title .container-fluid,
    .dashboard-renter .dashboard-page-title .container-fluid,
    .dashboard-host .dashboard-area .container-fluid,
    .dashboard-renter .dashboard-area .container-fluid {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

@media (min-width:1688px) {

    .dashboard-hosting:not(.dashboard-reservations):not(.dashboard-reservations-experiences):not(.dashboard-listings):not(.dashboard-experiences) .dashboard-page-title .container-fluid,
    .dashboard-hosting:not(.dashboard-reservations):not(.dashboard-reservations-experiences):not(.dashboard-listings):not(.dashboard-experiences) .dashboard-area .container-fluid {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

.help-message-box,
.dashboard-info-box,
.user-profile-progress-box {
    padding: 0 20px;
}

.status-heading {
    font-size: 14px;
    line-height: 18px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: normal;
}

.status-count {
    font-size: 48px;
    line-height: 1;
    font-weight: 600;
    text-transform: none;
    letter-spacing: normal;
    margin: 20px 0;
}

.user-profile-progress-box {
    padding: 20px;
}

.profile-tasks-list li {
    font-size: 0.875rem;
}

.profile-tasks-list li i {
    font-size: 1.5em;
}

/* Estilos para a Barra de Progresso do Perfil */
.progress-bar-container {
    width: 100%;
    height: 10px;
    background-color: #fafafa;
    /* Cor de fundo cinza claro */
    border: 1px solid #e5e7eb;
    /* Borda cinza clara */
    border-radius: 999px;
    /* Cantos arredondados */
    overflow: hidden;
    /* Garante que a barra interna não ultrapasse as bordas arredondadas */
    margin-top: 10px;
    /* Espaçamento opcional do topo */
}

.progress-bar-status {
    height: 100%;
    background-color: #FF4602;
    /* Cor laranja */
    border-radius: 999px;
    /* Cantos arredondados */
    transition: width 0.5s ease-in-out;
    /* Efeito de transição suave */
}

.info-label {
    display: flex;
    align-items: center;
}

.info-label,
.action-link {
    font-weight: 600;
}

.action-link {
    cursor: pointer;
    font-size: 0.875rem;
}

.info-message {
    display: flex;
    align-items: center;
    font-size: 0.875rem;
    padding: 0.875rem;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
}

.info-message i {
    font-size: 2em;
}

.help-message-box i {
    font-size: 2.5em;
}

.info-message.message-success i {
    color: #84cc16;
}

.info-message.message-error i {
    color: #b91c1c;
}

.info-content {
    padding: 0.25rem 0;
}

.info-section {
    padding: 20px 0;
    border-bottom: 1px dashed #e5e7eb;
    transition: opacity 0.3s ease-in-out;
}

.info-section:last-child {
    border-bottom: none;
}

.info-section[inert] {
    opacity: 0.4;
}

.info-section:last-of-type {
    border-bottom: none;
}

.info-content,
.info-content-placeholder {
    color: #6b7280;
    font-size: 0.875rem;
}

.info-content .info-label {
    color: #1f2937;
    font-size: 1rem;
}

.info-content-placeholder {
    color: #9ca3af;
}

.view-mode {
    display: flex;
}

.edit-mode {
    display: none;
}

.form-actions {
    margin-top: 0.625rem;
}

.form-group label {
    display: block;
    font-size: 0.75rem;
    color: #6b7280;
    margin-bottom: 0.25rem;
}

.form-group label.control-checkbox,
.form-group label.control-radio {
    font-size: 0.875rem;
}

/*
----------------------------------------------------------------
[HELPHOUSI] Estilos do Editor de Anúncios (Editor Listing)
Versão Final Otimizada (Correção do Modal Oculto)
----------------------------------------------------------------
*/

/* ----------------------------------------------------------------
 1. Layout Desktop (Padrão)
----------------------------------------------------------------
*/
.editor-nav-sidebar {
    background-color: #fff;
    width: 21rem !important;
}

.editor-content-area {
    width: calc(100% - 21rem);
    margin-left: 21rem;
}



.editor-detail-view-container {
    width: 100%;
    max-width: 1024px;
    margin-right: auto;
    margin-left: auto;
}

/* Visibilidade Padrão: controlada pelo PHP (wp_is_mobile) */
.editor-mobile-back-btn {
    display: none;
}

.editor-desktop-back-btn {
    display: none !important;
}

/* Wrapper de Botões no Header */
.editor-header-right-button {
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

/* Estilo do Botão Voltar (Visível onde renderizado) */
.editor-detail-view .editor-mobile-back-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin-left: 0;
    padding: 0.5rem;
    border-radius: 100%;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    margin-top: 0;
    margin-right: 15px;
    /* Margem movida para o botão */
}

.editor-detail-view .editor-mobile-back-btn i {
    font-size: 24px !important;
}

/* Unifica o estilo do cabeçalho */
.editor-detail-view .block-head {
    display: flex !important;
    align-items: center !important;
    text-align: left !important;
}

.editor-detail-view .block-head:before,
.editor-detail-view .block-head:after {
    content: none !important;
}

.editor-detail-view .block-head h2,
.editor-detail-view .block-head h3 {
    margin: 0 !important;
    /* Margem removida do título */
    flex-grow: 0 !important;
    text-align: left !important;
}

/* ----------------------------------------------------------------
 2. Componentes do Sidebar (mantidos)
----------------------------------------------------------------
*/
.editor-nav-sidebar .navi {
    display: flex;
    flex-direction: column;
    max-height: 100%;
}

.editor-nav-sidebar .block-head {
    padding: 20px 24px !important;
    border-bottom: 1px solid #e5e7eb;
}

.editor-nav-container {
    flex-direction: column;
    padding: 20px 24px;
    flex-grow: 1;
    overflow-y: auto;
}

.editor-nav-footer {
    padding: 20px 24px;
    border-top: 1px solid #e5e7eb;
    flex-shrink: 0;
}

/* Cards (mantidos) */
.editor-nav-card {
    display: block;
    text-decoration: none;
    padding: 18px 20px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    margin-bottom: 15px;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    font-size: 16px;
    font-weight: 400;
    color: #1f2937;
    line-height: 1.3;
    max-width: 100%;
}

.editor-nav-card:hover,
.editor-nav-card:focus {
    border-color: #111827;
    color: #1f2937;
    text-decoration: none;
}

.editor-nav-card.active,
.editor-nav-card.active:hover,
.editor-nav-card.active:focus {
    border-color: #FF4602;
    color: #1f2937;
    box-shadow: 0 0 0 1px #FF4602;
}

.editor-nav-card.no-hover:hover,
.editor-nav-card.no-hover:focus {
    border-color: #e5e7eb;
    box-shadow: none;
    cursor: default;
}

.editor-nav-card .card-title {
    display: block;
    font-weight: 500;
}

.editor-nav-card .card-content-title,
.editor-nav-card .card-content-desc {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: #6b7280;
}

.editor-nav-card .card-content-desc {
    font-weight: 400;
}

.editor-nav-card-image-wrap {
    width: 100%;
    padding-top: 66.67%;
    position: relative;
    border-radius: 0.5rem;
    overflow: hidden;
    background-color: #f3f4f6;
}

.editor-nav-card-image-wrap img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.editor-nav-footer .btn-full-width {
    display: block;
    width: 100%;
    text-align: center;
}

.editor-nav-footer .btn-full-width .homey-icon {
    margin-right: 8px;
    font-size: 16px;
    vertical-align: middle;
    margin-top: -2px;
}

.editor-detail-view-container .info-section[inert] {
    opacity: 0.5;
    pointer-events: none;
    /* Garante o bloqueio de eventos */
}

/* ----------------------------------------------------------------
 4. Secção Fotos (Galeria e Edição)
----------------------------------------------------------------
*/
/* MODO VISUALIZAÇÃO */
.editor-photos-gallery-view .gallery-grid a {
    cursor: default;
    pointer-events: none;
}

.editor-photos-gallery-view .gallery-grid-button {
    display: none;
}

.editor-detail-view .dashboard-submission-wizard-content-container {
    max-width: 100%;
}

/* MODO EDIÇÃO */
.editor-detail-view .photos-gallery-grid {
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.editor-detail-view .photo-card.is-cover {
    grid-column: span 1;
    aspect-ratio: 20 / 19;
}

.editor-detail-view #add-more-photos-card {
    display: none !important;
}

/* [HELPHOUSI] CORREÇÃO DO MODAL: Esconde o GESTOR DE GRID (mas não o modal) no Modo View */
.editor-hidden-include .dashboard-submission-wizard-content-container {
    display: none;
}

/*
----------------------------------------------------------------
 5. Layout Mobile (Telas < 1200px)
----------------------------------------------------------------
*/
@media (max-width: 1199px) {

    /* [HELPHOUSI] Visibilidade no Mobile/Tablet (View e Edit) */
    .editor-detail-view .editor-mobile-back-btn {
        display: inline-flex !important;
    }

    .editor-show-all-photos-btn {
        display: none !important;
    }

    /* Restante das regras mobile */
    .editor-menu-view .editor-nav-sidebar {
        display: block !important;
        width: 100% !important;
        border-right: none;
        position: static;
        height: auto;
    }

    .editor-menu-view .editor-content-area {
        display: none !important;
    }

    .editor-detail-view .editor-nav-sidebar {
        display: none !important;
    }

    .editor-detail-view .editor-content-area {
        display: block !important;
        width: 100%;
        margin-left: 0;
    }

    .editor-detail-view-container {
        padding-left: 0;
        padding-right: 0;
    }

    .editor-header-right-button {
        margin-left: 0;
        width: 100%;
        text-align: right;
        justify-content: flex-end;
    }

    .editor-detail-view .block-head {
        flex-wrap: wrap;
    }

    .editor-menu-view .editor-nav-sidebar .block-head,
    .editor-menu-view .editor-nav-container,
    .editor-menu-view .editor-nav-footer {
        padding: 20px 24px !important;
    }

    .editor-menu-view .editor-nav-card {
        text-align: center;
    }
}

/* Filtros de Comodidades */
.amenity-filters {
    display: flex;
    gap: 10px;
    padding-bottom: 10px;
    flex-wrap: wrap;
}

.amenity-filter-btn {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    padding: 6px 16px;
    font-size: 14px;
    font-weight: 500;
    color: #1f2937;
    cursor: pointer;
    transition: all 0.2s;
}

.amenity-filter-btn:hover {
    background: #e5e7eb;
}

.amenity-filter-btn.active {
    background: #1f2937;
    color: #fff;
    border-color: #1f2937;
}

/* Descrição da Comodidade */
.info-desc {
    font-size: 14px;
    font-weight: 400;
}

/* Ajuste para o label do checkbox */
.control-radio .info-label,
.control-checkbox .info-label {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    font-weight: 400;
}

/* ========================================================================
   [AJUSTE FINO] Estilos da Mensagem Flutuante (Toast) do Editor
   ======================================================================== */

.editor-toast {
    position: fixed;
    bottom: 30px;
    left: calc(50% + 10.5rem);
    transform: translate(-50%, 150%);
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 99999;
    border-radius: 0.5rem;
    background-color: #fff;
    color: #1f2937;
    font-size: 0.875rem;
    padding: 0.5rem;
    text-align: center;
    line-height: 1.3;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.editor-toast.show {
    transform: translate(-50%, 0);
    opacity: 1;
}

.editor-toast i {
    font-size: 1.1rem;
    line-height: 1;
}

@media (max-width: 1199px) {
    .editor-toast {
        left: 50%;
        transform: translate(-50%, 150%);
        width: calc(100% - 40px);
        max-width: 400px;
    }

    .editor-toast.show {
        transform: translate(-50%, 0);
    }
}

.editor-toast.sidebar-toast {
    position: absolute;
    left: 50%;
    bottom: 30px;
    transform: translate(-50%, 150%);
    width: max-content;
    max-width: 380px;
    z-index: 999999;
}

.editor-toast.sidebar-toast.show {
    transform: translate(-50%, 0);
}

#box-restricted-days .checkbox-group {
    display: flex;
    column-gap: 1.25rem;
    row-gap: 0.5rem;
}

/* Define largura mínima para as caixas do editor em telas maiores que 768px */
@media (min-width: 768px) {
    .dashboard-editor-content-wrapper .dashboard-info-box {
        min-width: 578px;
    }

    .sidebar-view .dashboard-info-box {
        min-width: 0 !important;
    }
}

#box-booking-settings .info-content,
#box-booking-settings .info-content-placeholder,
#box-short-term .info-content,
#box-short-term .info-content-placeholder,
#box-long-term .info-content,
#box-long-term .info-content-placeholder {
    font-size: 1rem;
}

.font-semibold,
.booking-settings-extra-title {
    font-weight: 500;
}

/***
* Caledar
*/
.dashboard-calendar-page {
    display: flex;
    padding-bottom: 0 !important;
    align-items: stretch;
    height: 100dvh;
    overflow: hidden;
}

.dashboard-calendar-page .user-dashboard-menu {
    position: relative !important;
    height: 100% !important;
    top: auto !important;
    width: 25% !important;
    min-width: 22.5rem;
    flex-shrink: 0;
    overflow-y: auto;
}

.dashboard-calendar-page .user-dashboard-menu .navi {
    padding-top: 0 !important;
}

.dashboard-calendar-page .user-dashboard-menu .sidebar-view .block-head {
    padding: 32px 24px 12px;
}

.sidebar-form-content {
    padding: 0 24px 20px;
}

.dashboard-calendar-page .dashboard-content-area {
    flex: 1;
    min-width: 0;
    margin-left: 0;
    overflow-y: auto;
}

@media (max-width: 991px) {
    .dashboard-calendar-page {
        display: flex;
        flex-direction: column;
    }

    .dashboard-calendar-page .editor-nav-sidebar {
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
    }
}

.calendar-section {
    padding-top: 32px;
}

.calendar-container-wrap {
    max-width: 1240px;
    margin: 0 auto;
}

.calendar-header-banner {
    width: 100%;
    height: 250px;
    background-size: cover;
    background-position: center;
    border-radius: 12px;
    margin-bottom: 20px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    padding: 20px 30px;
    position: relative;
}

.calendar-header-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.3) 100%);
    border-radius: 12px;
    pointer-events: none;
}

.calendar-stats-card {
    background: #fff;
    border-radius: 12px;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 80%;
    min-width: 794px;
    max-width: max-content;
    z-index: 10;
    position: relative;
    box-sizing: border-box;
}

.stats-col-date-prop {
    flex-shrink: 0;
    margin-right: 30px;
    min-width: 280px;
}

.stats-col-metrics {
    flex-grow: 1;
    border-left: 1px solid #eaeaea;
    padding-left: 15px;
    justify-content: space-around;
}

@media (max-width: 991px) {
    .calendar-stats-card {
        flex-direction: column;
        align-items: flex-start;
        padding: 20px;
        min-width: 0;
        width: 100%;
    }

    .stats-col-date-prop {
        margin-right: 0;
        width: 100%;
    }

    .stats-col-metrics {
        border-left: none;
        padding-left: 0;
        width: 100%;
        flex-wrap: wrap;
        gap: 15px;
        justify-content: space-between;
    }

    .metric-item {
        padding: 0 !important;
        border-right: none !important;
    }

    .calendar-weekdays-header {
        padding: 10px 0 !important;
    }

    .calendar-scroll-container {
        padding: 20px 0 !important;
        height: calc(100vh - 120px) !important;
        overflow-y: auto !important;
    }

    ul.days li {
        padding: 5px !important;
        height: 70px !important;
        align-items: center !important;
    }

    ul.days li .day-price {
        font-size: 10px !important;
    }
}

.metric-item {
    text-align: left;
    padding: 0 15px;
    border-right: 1px solid #eaeaea;
    flex-grow: 1;
    text-align: center;
}

.metric-item-last {
    border-right: none;
}

.metric-value {
    font-size: 20px;
    font-weight: 700;
    color: #1f2937;
    line-height: 1.2;
}

.metric-label {
    font-size: 13px;
    color: #6b7280;
    margin-top: 5px;
    line-height: 1.2;
    white-space: nowrap;
}

.metric-diff {
    font-size: 11px;
    margin-top: 5px;
    font-weight: 600;
    color: #84cc16;
    white-space: nowrap;
    /* green */
}

.metric-icon-fire {
    color: #ea580c;
    /* orange-red */
}

.month-dropdown-btn {
    font-size: 22px;
    font-weight: bold;
    border: none;
    background: transparent;
    padding: 0;
    color: #1f2937;
    display: flex;
    align-items: center;
}

.month-dropdown-btn:hover,
.month-dropdown-btn:focus,
.month-dropdown-btn:active {
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    color: #1f2937;
}

.month-selector-wrap .dropdown-menu>li>a {
    text-align: right;
}

.nav-btn,
.nav-btn-text {
    padding: 0;
    color: #6b7280;
    box-shadow: none;
    font-size: 18px;
}

.nav-btn:hover,
.nav-btn:focus,
.nav-btn-text:hover,
.nav-btn-text:focus {
    color: #1f2937;
    box-shadow: none;
}

.nav-btn-text {
    font-weight: 400;
    font-size: 14px;
}

.calendar-dropdown-btn {
    border: 1px solid #e5e5e5;
    border-radius: 0.5rem;
    padding: 4px 10px;
    background: #fff;
    font-size: 14px;
    line-height: 2rem;
    color: #374151;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 500;
}

.calendar-dropdown-btn i {
    line-height: 2rem;
}

.calendar-dropdown-btn:hover,
.calendar-dropdown-btn:focus {
    background: #f9fafb !important;
    border-color: #d1d5db;
    outline: none !important;
}

.calendar-dropdown-menu {
    width: auto;
    border-radius: 8px;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    border: none;
    padding-top: 0.25rem;
    margin-top: 0.25rem;
    overflow-y: auto;
    overflow-x: hidden;
    max-height: 400px;
}

.prop-dropdown-btn {
    min-width: 220px;
}

.prop-dropdown-menu {
    width: 320px;

}

.prop-dropdown-item {
    display: flex !important;
    align-items: center;
    padding: 0.5rem 1.25rem !important;
    margin-right: 1.25rem !important;
    color: #374151 !important;
    text-decoration: none;
    transition: background 0.2s;
    overflow: hidden;
}

.prop-dropdown-item:hover,
.prop-dropdown-item:focus {
    background: #f3f4f6;
    color: #1f2937 !important;
    text-decoration: none;
}

.prop-img {
    width: 48px;
    height: auto;
    border-radius: 0.5rem;
    overflow: hidden;
    margin-right: 12px;
    flex-shrink: 0;
    background: #e5e7eb;
    aspect-ratio: 20 / 19;
}

.prop-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.prop-info {
    flex-grow: 1;
}

.prop-title {
    font-weight: 600;
    font-size: 14px;
    line-height: 1.3;
}

.prop-status {
    font-size: 12px;
    color: #888;
    margin-top: 4px;
}

.calendar-header-sticky {
    position: sticky;
    top: 0;
    background: #fff;
    padding-top: 20px;
    z-index: 2;
}

.calendar-weekdays-header {
    width: 100%;
    padding: 10px 40px 10px 20px;
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
}

.calendar-weekdays-header ul.weekdays,
.calendar-weekdays-header-local ul.weekdays {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    width: 100%;
}

.calendar-weekdays-header ul.weekdays li,
.calendar-weekdays-header-local ul.weekdays li {
    flex: 1;
    text-align: center;
    font-weight: bold;
    color: #777;
    font-size: 12px;
}

.calendar-weekdays-header-local {
    margin-bottom: 10px;
}

.calendar-scroll-container {
    height: 600px;
    /* Or calculated height */
    overflow-y: auto;
    padding: 20px 20px 100px;
}

/* Month View (Default) - Stacked */
.view-mode-month .homey_month_wrap {
    margin-bottom: 40px;
    width: 100%;
}

/* Year View - Grid */
.view-mode-year {
    display: flex;
    flex-wrap: wrap;
    gap: 2%;
}

.view-mode-year .homey_month_wrap {
    width: 32%;
    /* 3 per row approx */
    margin-bottom: 20px;
}

/* Media Query for smaller screens */
@media (max-width: 1200px) {
    .view-mode-year .homey_month_wrap {
        width: 49%;
        /* 2 per row */
    }
}

@media (max-width: 768px) {
    .view-mode-year .homey_month_wrap {
        width: 100%;
        /* 1 per row */
    }
}

.homey_month_wrap h4 {
    margin-bottom: 15px;
    font-size: 24px;
    font-weight: bold;
}

.view-mode-month .homey_month_wrap ul.days {
    gap: 0.25rem;
}

.view-mode-month .homey_month_wrap ul.days li {
    width: calc(14.28% - 0.25rem);
}

ul.days {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

ul.days li {
    cursor: pointer;
    width: calc(14.28% - 0.5rem);
    /* 100% / 7 - 0.5rem gap*/
    height: 100px;
    /* Fixed height for consistent grid */
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    margin: 0;
    position: relative;
    padding: 10px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Adjust size for grid view */
.view-mode-year ul.days li {
    height: 80px;
}

.view-mode-year ul.days li .day-price {
    display: block;
    font-size: 10px;
}

ul.days li.past-day {
    cursor: not-allowed;
    background-color: #f1f5f9;
}

ul.days li.prev-month {
    background-color: transparent;
    border: none;
    pointer-events: none;
}

ul.days li .day-number {
    font-weight: bold;
    font-size: 14px;
}

ul.days li .day-price {
    font-size: 12px;
    color: #6b7280;
}

/* Status colors */
ul.days li.booked,
ul.days li.unavailable,
ul.days li.blocked {
    background-color: #f2f2f2;
    text-decoration: line-through;
    color: #9ca3af;
    /* Block interaction for some elements but allow hover popover */
}

ul.days li.blocked.future-blocked {
    background-color: #fafafa;
    opacity: 0.6;
    pointer-events: none;
    /* Keep generic future blocked as completely un-interactable if desired, wait, maybe they want hover here too? The user said 'mesmo quando o dia estiver "Bloqueado"'. If future blocked shouldn't have hover, we can put it here. Let's not put it unless requested. */
}

/* Current Day Highlight */
ul.days li.current-day-highlight .day-number {
    background-color: #FF4602;
    color: #fff;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* --- POPOVER STYLES --- */
.calendar-day-popover {
    position: absolute;
    background: #fff;
    border-radius: 12px;
    width: 300px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
    z-index: 1000;
    padding: 20px;
    font-family: inherit;
    border: 1px solid #eaeaea;
}

.calendar-day-popover::after {
    content: '';
    position: absolute;
    bottom: -8px;
    /* Arrow pointing down by default */
    left: 50%;
    margin-left: -8px;
    border-width: 8px 8px 0;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
    display: block;
    width: 0;
}

/* If popover is shown below the origin element */
.calendar-day-popover.arrow-top::after {
    bottom: auto;
    top: -8px;
    border-width: 0 8px 8px;
    border-color: transparent transparent #fff transparent;
}

.popover-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 15px;
}

.popover-date {
    font-size: 16px;
    font-weight: 700;
    color: #222;
    margin: 0;
}

.popover-close {
    background: none;
    border: none;
    font-size: 20px;
    line-height: 1;
    color: #999;
    cursor: pointer;
    padding: 0;
}

.popover-close:hover {
    color: #374151;
}

.popover-demand-wrap {
    margin-bottom: 15px;
}

.popover-demand-title {
    font-size: 14px;
    font-weight: 700;
    color: #222;
}

.popover-demand-sub {
    font-size: 12px;
    color: #777;
    margin-top: 2px;
}

.popover-metrics {
    border-top: 1px solid #eee;
    padding-top: 15px;
    margin-bottom: 15px;
}

.pop-metric-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    font-size: 13px;
}

.pop-m-label {
    color: #555;
}

.pop-m-val {
    color: #222;
    font-weight: 600;
}

.popover-potential {
    color: #84cc16;
    /* green */
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 15px;
}

.popover-potential i {
    margin-right: 5px;
}

.pop-btn-apply {
    width: 100%;
    background-color: #3b5b4a;
    /* dark green from mockup */
    color: #fff;
    border: none;
    padding: 10px;
    border-radius: 6px;
    font-weight: 600;
    margin-bottom: 10px;
}

.pop-btn-apply:hover {
    background-color: #2d4639;
    color: #fff;
}

.pop-btn-manual {
    width: 100%;
    background-color: #fff;
    color: #374151;
    border: 1px solid #ddd;
    padding: 10px;
    border-radius: 6px;
    font-weight: 500;
    margin-bottom: 15px;
}

.pop-btn-manual:hover {
    background-color: #f9f9f9;
}

.pop-link-rule {
    display: block;
    text-align: center;
    font-size: 12px;
    color: #555;
    text-decoration: none;
    margin-bottom: 15px;
}

.pop-link-rule:hover {
    color: #1f2937;
    text-decoration: underline;
}

.popover-alert {
    background-color: #fef3c7;
    /* yellowish */
    color: #92400e;
    padding: 10px;
    border-radius: 6px;
    font-size: 12px;
    text-align: center;
    font-weight: 500;
}

/* Ajustes no calendário importado para não ficar oculto */
#calendar-tab.tab-pane.fade {
    opacity: 1;
    display: block;
}


/**
* Profile
*/
.super-host-flag,
.super-host-flag i {
    font-weight: 600;
}

/* Área de Upload de Foto */
.profile-photo-edit-area {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 160px;
    height: 160px;
    cursor: pointer;
    background-color: #f3f4f6;
    border-radius: 50%;
    font-weight: 600;
}

.profile-photo-edit-area .photo-placeholder img {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    object-fit: cover;
}

.profile-photo-edit-area .photo-upload-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.profile-photo-edit-area:hover .photo-upload-overlay {
    opacity: 1;
}

.profile-photo-edit-area .photo-upload-overlay span {
    font-size: 14px;
    margin-top: 5px;
}

.curiosity-hidden {
    display: none !important;
}

.profile-interests-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* 2 colunas por padrão */
    gap: 1.25rem;
}

.profile-interests-grid .interest-item {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    color: #1f2937;
    font-size: 16px;
    font-weight: 500;
}

@media (max-width: 767px) {
    .profile-interests-grid {
        grid-template-columns: 1fr;
        /* 1 coluna em telas menores */
    }
}

.interest-list-edit .info-label {
    color: #1f2937;
    font-size: 16px;
    gap: 0.5rem;
    margin-left: 0.25rem;
}

.control-checkbox.interest-disabled {
    cursor: not-allowed;
    opacity: 0.6;
}



/**
* Verification
*/
.document-upload-area {
    border: 2px dashed #e5e7eb;
    border-radius: 0.5rem;
    padding: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.document-upload-area.drag-over,
.document-upload-area:hover {
    border-color: #1f2937;
    background-color: #f7f7f7;
}

.document-upload-area .upload-icon i {
    font-size: 48px;
    color: #9ca3af;

}

#homey_user_doc_thumb img {
    max-width: 150px;
    height: auto;
    border-radius: 5px;
    margin-bottom: 15px;
}

/***
* Dashboard renter / host / hosting
*/
.dashboard-host,
.dashboard-hosting,
.dashboard-renter {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
}

.dashboard-host .dashboard-page-title,
.dashboard-hosting .dashboard-page-title,
.dashboard-renter .dashboard-page-title {
    position: relative;
    top: 0 !important;
    margin-left: 0;
    padding: 2.5rem 0 0.5rem 0;
    border-bottom: none;
}

@media (max-width:767px) {

    .dashboard-host .dashboard-page-title,
    .dashboard-hosting .dashboard-page-title,
    .dashboard-renter .dashboard-page-title {
        padding: 2rem 0 0.5rem 0;
        border-bottom: none;
    }
}

.dashboard-hosting .dashboard-page-title {
    padding-bottom: 2rem;
}

.dashboard-hosting .block-head,
.dashboard-host .block-head,
.dashboard-renter .block-head {
    padding: 0 0 1.5rem;
    border-bottom: none;
}

.dashboard-hosting .block-head .title,
.dashboard-host .block-head .title,
.dashboard-renter .block-head .title {
    font-size: 1.125rem;
    /*h3*/
    font-weight: 500;
}

.dashboard-hosting .block-head .title .user-name,
.dashboard-host .block-head .title .user-name,
.dashboard-renter .block-head .title .user-name {
    font-weight: 600;
}

.dashboard-hosting .footer {
    z-index: 2;
}

.dashboard-account-cards-wrap {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

@media (min-width: 768px) {

    .dashboard-host,
    .dashboard-hosting,
    .dashboard-renter {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }

    .dashboard-host .block-head .title,
    .dashboard-hosting .block-head .title,
    .dashboard-renter .block-head .title {
        font-size: 1.25rem;
    }

    .dashboard-account-cards-wrap {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {

    .dashboard-host .block-head .title,
    .dashboard-hosting .block-head .title,
    .dashboard-renter .block-head .title {
        font-size: 1.375rem;
        /*h3*/
    }

    .dashboard-account-cards-wrap {
        gap: 1.5rem;
        grid-template-columns: repeat(3, 1fr);
    }
}

/**
* Dashboard Breadcrumbs
*/
.dashboard-breadcrumb i {
    font-size: 1.5em;
}

/**
* Dashboard Account Cards
*/
.dashboard-account-card {
    padding: 1rem;
    background-color: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    width: 100%;
    height: 100%;
    min-height: 7.75rem;
}

.dashboard-account-card:hover {
    border-color: #111827;
}

.dashboard-account-card .dashboard-account-card-header {
    margin-bottom: 1rem;
}

.dashboard-account-card .dashboard-account-card-header i {
    font-size: 2rem;
    margin-right: 0.5rem;
}

.dashboard-account-card .dashboard-account-card-title {
    margin-bottom: 0;
}

.dashboard-account-card-desc {
    color: #6b7280;
}

/**
* Dashboard Reservation Empty Card
*/
.card-reservation-empty-state {
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
}

.card-reservation-empty-state-icon {
    font-size: 3rem;
}

/**
* Dashboard Card Info
*/
.dashboard-card-info {
    display: grid;
    column-gap: 1rem;
    overflow: hidden;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

.dashboard-card-info-content {
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
    align-items: center;
    row-gap: 0.5rem;
    grid-column: span 1;
}

.dashboard-card-info-icon {
    margin: 1.5rem 0 1rem 0;
}

.dashboard-card-info-img {
    position: relative;
    grid-column: span 1;
}

.dashboard-card-info-img img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (min-width:768px) {
    .dashboard-card-info {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-card-info-content {
        padding: 2rem;
        align-items: flex-start;
    }

    .dashboard-card-info-icon {
        margin: 0.5rem 0 1rem 0;
    }
}

@media (min-width:1200px) {
    .dashboard-card-info {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .dashboard-card-info-img {
        grid-column: span 2;
    }

    .dashboard-submission-wizard-card-info {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .dashboard-card-info-small {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .dashboard-submission-wizard-card-info .dashboard-card-info-content,
    .dashboard-card-info-small .dashboard-card-info-content {
        grid-column: span 2;
    }

    .dashboard-card-info-small .dashboard-card-info-img {
        grid-column: span 3;
    }
}

/**
* Dashboard Reservations Cards
*/
.nav-card-pills::before {
    content: none;
}

.nav-card-pills,
.nav-card-pills-content-wrap {
    display: flex;
    overflow-x: scroll;
    pointer-events: all;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    scrollbar-width: none;
    scroll-behavior: smooth;
    scroll-padding-inline-start: 1.5rem;
    scroll-padding-inline-end: 1.5rem;
    touch-action: manipulation;
    padding: 0;
    box-sizing: border-box;
}

@media (max-width: 1687px) {
    .dashboard-hosting .nav-card-pill-item:first-of-type {
        margin-left: 1.5rem;
    }

    .dashboard-hosting .nav-card-pill-item:last-of-type {
        margin-right: 1.5rem;
    }
}

@media (max-width: 1487px) {

    .dashboard-host .nav-card-pill-item:first-of-type,
    .dashboard-renter .nav-card-pill-item:first-of-type {
        margin-left: 1.5rem;
    }

    .dashboard-host .nav-card-pill-item:last-of-type,
    .dashboard-renter .nav-card-pill-item:last-of-type {
        margin-right: 1.5rem;
    }
}

@media (max-width: 374px) {
    .nav-card-pill-item:first-of-type {
        margin-left: 1rem;
    }

    .nav-card-pill-item:last-of-type {
        margin-right: 1rem;
    }
}

.nav-card-pill-item {
    padding: 0.125rem;
}

.btn-pill {
    color: #1f2937;
    background-color: transparent;
    border-radius: 999px;
    border-color: #d1d5db;
    line-height: 1;
}

.btn-pill:hover {
    background-color: #f9fafb;
    border-color: #1f2937;
}

.nav-card-pill-item.active .btn-pill,
.nav-card-pill-item.active .btn-pill:focus,
.nav-card-pill-item.active .btn-pill:hover {
    background-color: transparent;
    border-color: #FF4602;
    outline: 1px solid #ff4602;
}

.dashboard-host .reservation-cards-wrap,
.dashboard-renter .reservation-cards-wrap {
    display: flex;
    column-gap: 2rem;
    flex-wrap: wrap;
    row-gap: 1.25rem;
}

.reservation-slider-navigation-wrapper {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 1.25rem;
    padding-top: 1.25rem;
}

@media (min-width:768px) {
    .reservation-slider-navigation-wrapper {
        justify-content: center;
    }

    .reservation-slider-navigation-wrapper .btn-link {
        position: absolute;
        right: 0;
    }
}

.reservation-button-prev,
.reservation-button-next {
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2rem;
    height: 2rem;
    background-color: #fff;
    color: #111827;
    border: 1px solid #e5e7eb;
    border-radius: 50%;
    cursor: pointer;
}

.reservation-button-prev i,
.reservation-button-next i {
    font-size: 1.5em;
}

.reservation-button-prev:hover,
.reservation-button-next:hover {
    border-color: #111827;
}

.reservation-button-prev.swiper-button-disabled,
.reservation-button-next.swiper-button-disabled,
.reservation-button-prev.swiper-button-disabled:hover,
.reservation-button-next.swiper-button-disabled:hover {
    color: #e5e7eb;
    border-color: #e5e7eb;
}

.reservation-card-item {
    display: flex;
    flex-direction: column;
    position: relative;
    border-radius: 0.5rem;
    border: 1px solid #e5e7eb;
    width: 100%;
    overflow: hidden;
    transition: all 0.2s ease;
}

.dashboard-hosting .reservation-slider .reservation-card-item {
    visibility: hidden;
    opacity: 0;
}

.dashboard-hosting .reservation-slider.active .reservation-card-item {
    visibility: visible;
    opacity: 1;
}

.reservation-card-item-more .reservation-card-item__content {
    padding: 1rem;
}

.reservation-card-item-more-icon i {
    font-size: 3rem;
}

/*
@media (min-width: 540px) {
    .reservation-card-item {
        max-width: calc(50% - 1rem);
    }
}
*/

@media (min-width: 768px) {

    .dashboard-host .reservation-cards-wrap,
    .dashboard-renter .reservation-cards-wrap {
        column-gap: 2rem;
    }

    .reservation-card-item {
        max-width: calc(50% - 1rem);
    }
}

@media (min-width: 1024px) {

    .dashboard-host .reservation-cards-wrap,
    .dashboard-renter .reservation-cards-wrap {
        column-gap: 1.5rem;
    }

    .reservation-card-item {
        max-width: calc(33% - 1rem);
    }
}

@media (min-width: 1200px) {

    .dashboard-host .reservation-cards-wrap,
    .dashboard-renter .reservation-cards-wrap {
        column-gap: 1.5rem;
    }

    .reservation-card-item {
        max-width: calc(25% - 1rem);
    }
}

@media (min-width: 1488px) {

    .dashboard-host .reservation-cards-wrap,
    .dashboard-renter .reservation-cards-wrap {
        column-gap: 1.25rem;
    }

    .dashboard-host .reservation-card-item,
    .dashboard-renter .reservation-card-item {
        max-width: calc(20% - 1rem);
    }
}

@media (min-width: 1688px) {
    .dashboard-hosting .reservation-card-item {
        max-width: calc(20% - 1rem);
    }
}

.reservation-card-item:hover {
    border-color: #1f2937;
}

.reservation-card-item__link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.reservation-card-item__media-thumb {
    position: relative;
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
    overflow: hidden;
    aspect-ratio: 3 / 2;
}

.reservation-card-item__media-thumb img {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.reservation-card-item__title-wrap {
    padding: 0 1rem;
}

.reservation-card-item__title {
    font-size: 0.875rem;
    line-height: 1;
    max-height: 1;
}

.reservation-card-item__details {
    display: flex;
    flex-direction: column;
    row-gap: 0.25rem;
    padding: 0 1rem;
}

.reservation-card-item__details-status,
.reservation-card-item__details-person,
.reservation-card-item__details-dates {
    font-size: 0.75rem;
}

.reservation-card-item__details-status {
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.reservation-card-item__details-person,
.reservation-card-item__details-dates {
    color: #6b7280;
}

/*
.dashboard-hosting .reservation-card-item__details-person {
    font-size: 1rem;
    color: #1f2937;
}
*/

.reservation-card-item__chat {
    padding: 0.625rem 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    border-top: 1px solid #e5e7eb;
}

/****
* Reservation Details
***/

.reservation-details-wrapper {
    padding-right: 1.25rem;
}

.reservation-details-header {
    padding-bottom: 1.25rem;
}

.reservation-details-list {
    display: flex;
    flex-direction: column;
    row-gap: 0.375rem;
}

.reservation-details-reserve-list {
    row-gap: 1rem;
}

.reservation-details-item-text,
.reservation-details-item-text address,
.reservation-details-item-text span {
    display: flex;
    column-gap: 0.25rem;
    font-size: 0.875rem;
}

.reservation-details-header-guests,
.reservation-details-header-guests span {
    display: contents;
}

.reservation-details-item-text i {
    font-size: 1.5em;
}

.reservation-details-item-text-small {
    color: #6b7280;
    font-size: 0.75rem;
}

.reservation-details-item-label {
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 0.25rem;
}

.reservation-details-guest-payment .payment-list ul .payment-due,
.reservation-details-guest-payment .payment-list ul .sub-total,
.reservation-details-guest-payment .payment-list ul .payment-total,
.reservation-details-host-payment .payment-list ul .payment-due,
.reservation-details-host-payment .payment-list ul .sub-total,
.reservation-details-host-payment .payment-list ul .payment-total,
.reservation-details-listing-title {
    font-weight: 600;
}

.reservation-details-guest-payment .payment-list ul .payment-due,
.reservation-details-guest-payment .payment-list ul .sub-total,
.reservation-details-guest-payment .payment-list ul .payment-total,
.reservation-details-host-payment .payment-list ul .payment-due,
.reservation-details-host-payment .payment-list ul .sub-total,
.reservation-details-host-payment .payment-list ul .payment-total,
.reservation-details-guest-payment .payment-list ul li,
.reservation-details-host-payment .payment-list ul li {
    font-size: 0.875rem;
    line-height: 1;
}

.reservation-details-guest-payment .payment-list ul .payment-due,
.reservation-details-guest-payment .payment-list ul .sub-total,
.reservation-details-guest-payment .payment-list ul .payment-total,
.reservation-details-host-payment .payment-list ul .payment-due,
.reservation-details-host-payment .payment-list ul .sub-total,
.reservation-details-host-payment .payment-list ul .payment-total {
    border-top: 0;
    padding: 0;
}

/***
 * Dashboard Submission Wizard
 */
.dashboard-submission-wizard {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    padding-bottom: 108px;
}

.dashboard-submission-wizard-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    z-index: 100;
    background-color: #fff;
    border-bottom: 1px solid #e5e7eb;
}

.dashboard-submission-wizard-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #fff;
    border-top: 1px solid #e5e7eb;
    padding: 20px 0;
    z-index: 1100;
}

.dashboard-submission-wizard-progress-bar-container {
    width: 100%;
    height: 4px;
    background-color: #e5e7eb;
    border-radius: 2px;
    margin-bottom: 20px;
}

.dashboard-submission-wizard-progress-bar-fill {
    height: 100%;
    background-color: #FF4602;
    border-radius: 2px;
    transition: width 0.4s ease-in-out;
}

.dashboard-submission-wizard-footer-buttons {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.dashboard-submission-wizard-content-container {
    max-width: 680px;
}

.dashboard-submission-wizard-substep-title span {
    font-size: 1.15em;
}

.dashboard-submission-wizard-card-info h1 span,
.dashboard-submission-wizard-intro-container h1 span {
    font-size: 1.5em;
}

.dashboard-submission-wizard-intro-steps-list li {
    display: flex;
    justify-content: space-between;
    gap: 30px;
}

.dashboard-submission-wizard-intro-steps-list .step-text {
    flex-basis: 73%;
    padding-left: 45px;
    position: relative;
}

.dashboard-submission-wizard-intro-steps-list .step-image {
    display: flex;
    flex-basis: 20%;
    justify-content: end;
}

.dashboard-submission-wizard-intro-steps-list .step-image img {
    width: 100%;
    max-width: 120px;
}

.dashboard-submission-wizard-intro-steps-list h3 span {
    position: absolute;
    left: 0;
    top: 0;
    color: #FF4602;
    font-size: 20px;
    font-weight: 700;
    border: 2px solid #FF4602;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

/* Ajustes para telas de celular */
@media (max-width: 767px) {

    .dashboard-submission-wizard-card-info h1 span,
    .dashboard-submission-wizard-intro-container h1 span {
        font-size: 1.25em;
    }

    .dashboard-submission-wizard-intro-steps-list li {
        gap: 15px;
    }

    .dashboard-submission-wizard-intro-steps-list .step-text {
        padding-left: 36px;
    }

    .dashboard-submission-wizard-intro-steps-list .step-image {
        flex-basis: 28%;
    }

    .dashboard-submission-wizard-intro-steps-list h3 {
        font-size: 16px;
    }

    .dashboard-submission-wizard-intro-steps-list h3 span {
        font-size: 16px;
        width: 24px;
        height: 24px;
    }

    .dashboard-submission-wizard-intro-steps-list p {
        font-size: 14px;
    }
}

.dashboard-submission-wizard-property-type-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 15px;
    margin: 0 auto;
}

.dashboard-submission-wizard-property-type-card {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 10px;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.2s;
    height: 110px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.dashboard-submission-wizard-property-type-card:hover {
    border: 1px solid #111827;
}

.dashboard-submission-wizard-property-type-card.selected {
    border: 2px solid #FF4602;
    padding: 9px;
}

.dashboard-submission-wizard-property-type-card input[type="radio"] {
    display: none;
}

.dashboard-submission-wizard-property-type-card input[type="checkbox"] {
    display: none;
}

.dashboard-submission-wizard-property-type-card .icon {
    margin-bottom: 10px;
    height: 2rem;
    width: 2rem;
}

.dashboard-submission-wizard-property-type-card .icon img,
.dashboard-submission-wizard-amenity-card .icon img {
    height: 2rem;
    width: 2rem;
    object-fit: contain;
}

@media (max-width: 767px) {
    .dashboard-submission-wizard-property-type-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .dashboard-submission-wizard-property-type-card {
        height: 100px;
        padding: 10px;
        font-size: 14px;
    }

    .dashboard-submission-wizard-property-type-card.selected {
        padding: 9px;
    }

    .dashboard-submission-wizard-property-type-card .icon {
        height: 1.5rem;
        width: 1.5rem;
    }

    .dashboard-submission-wizard-property-type-card .icon img,
    .dashboard-submission-wizard-amenity-card .icon img {
        height: 1.5rem;
        width: 1.5rem;
    }
}

.dashboard-submission-wizard-amenity-card {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 10px;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.2s;
    height: 110px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}

.dashboard-submission-wizard-amenity-card:hover {
    border: 1px solid #111827;
}

.dashboard-submission-wizard-amenity-card.selected {
    border: 2px solid #FF4602;
    padding: 9px;
}

.dashboard-submission-wizard-amenity-card input[type="checkbox"] {
    display: none;
}

.dashboard-submission-wizard-room-type-card {
    display: flex;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 15px;
    cursor: pointer;
    transition: border-color 0.2s;
}

.dashboard-submission-wizard-room-type-card:hover {
    border: 1px solid #111827;
}

.dashboard-submission-wizard-room-type-card.selected {
    border: 2px solid #FF4602;
    padding: 19px;
}

.dashboard-submission-wizard-room-type-card input[type="radio"] {
    display: none;
}

.dashboard-submission-wizard-room-type-card .icon {
    font-size: 32px;
    color: #111827;
    margin-right: 20px;
    min-width: 30px;
}

.dashboard-submission-wizard-room-type-card .info h3 {
    font-size: 1.125rem;
    display: block;
    margin-bottom: 0.25rem;
}

.dashboard-submission-wizard-room-type-card .info span {
    font-size: 14px;
    color: #6b7280;
}

/* Prefixo adicionado às classes a seguir */
.dashboard-submission-wizard-basics-container {
    max-width: 550px;
}

.dashboard-submission-wizard-basics-tool {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 25px 0;
    border-bottom: 1px solid #e5e7eb;
}

.dashboard-submission-wizard-basics-tool:first-child {
    padding-top: 0;
}

.dashboard-submission-wizard-basics-tool:last-child {
    border-bottom: 0;
}

.dashboard-submission-wizard-basics-tool-label {
    font-size: 16px;
    font-weight: 500;
}

.dashboard-submission-wizard-basics-tool-control {
    display: flex;
    align-items: center;
}

.dashboard-submission-wizard-basics-tool-control input {
    width: 50px;
    text-align: center;
    border: none;
    font-size: 16px;
    -moz-appearance: textfield;
}

.dashboard-submission-wizard-basics-tool-control input::-webkit-outer-spin-button,
.dashboard-submission-wizard-basics-tool-control input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.dashboard-submission-wizard-basics-tool-control .btn-number-decrement,
.dashboard-submission-wizard-basics-tool-control .btn-number-increment {
    width: 32px;
    height: 32px;
    line-height: 32px;
    border-radius: 50%;
    font-size: 14px;
    margin-left: 10px;
    padding: 0;
}

/*
================================================================
// CSS para o Wizard de Submissão - ETAPA 3
================================================================
*/

/* --- Estilos para as telas de Preço (3.2 e 3.3) --- */
.input-group-large {
    display: flex;
    justify-content: center;
    align-items: baseline;
    font-size: 60px;
    font-weight: 700;
}

@media (min-width: 768px) {
    .input-group-large {
        font-size: 80px;
    }
}

@media (min-width: 1200px) {
    .input-group-large {
        font-size: 96px;
    }
}

.input-group-large .input-group-addon-large {
    font-size: inherit;
    font-weight: inherit;
}

.input-group-large .input-group-addon-small {
    font-size: 0.5em;
    font-weight: inherit;
    padding-left: 10px;
}

.input-group-large .form-control-large {
    border: none;
    box-shadow: none;
    font-size: inherit;
    font-weight: inherit;
    height: auto;
    padding: 0;
    width: 1ch;
    text-align: center;
    background-color: transparent;
}

.input-group-large .form-control-large:focus {
    outline: none;
    box-shadow: none;
    border-color: transparent;
}


/* --- Estilos para a tela de Regras (3.5) --- */
.form-group-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0;
}

.form-group-flex label:not(.control) {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 0;
}

.form-group-flex .control-checkbox {
    margin-bottom: 0;
}


/* --- Estilos para a tela de Publicar (3.6) --- */
.dashboard-submission-wizard-publish-container {
    max-width: 900px;
}

.publish-preview-card-wrap {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

@media (min-width: 768px) {
    .publish-preview-card-wrap {
        flex-direction: row;
        align-items: flex-start;
    }
}

.preview-card {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    flex-shrink: 0;
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
}

.preview-card-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.preview-card-content {
    padding: 15px;
}

.preview-card-title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.preview-card-address {
    font-size: 14px;
    color: #6b7280;
    margin-bottom: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.preview-card-price {
    font-size: 14px;
    margin-bottom: 0;
}

.next-steps h4 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 15px;
}

.next-steps ul {
    list-style: none;
    padding-left: 0;
}

.next-steps li {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 15px;
    font-size: 14px;
}

.next-steps li i {
    font-size: 24px;
    margin-top: 2px;
    color: #6b7280;
}


/*
================================================================
// CSS para Wizard - ETAPA 3 - Tela de Descontos (Layout v3)
================================================================
*/
.discount-card-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 15px;
    gap: 20px;
}

.discount-value {
    flex-shrink: 0;
}

.discount-info {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.discount-info strong {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 4px;
}

.discount-info span {
    font-size: 14px;
    color: #6b7280;
}

.discount-enable {
    flex-shrink: 0;
}

.discount-enable .control-checkbox {
    margin-bottom: 0;
}

.input-group-discounts {
    display: flex;
    align-items: center;
    border: 1px solid #9ca3af;
    border-radius: 8px;
    overflow: hidden;
    width: 70px;
    height: 48px;
}

.input-group-discounts.static-discount {
    border: none;
    width: 70px;
    font-size: 18px;
    font-weight: 600;
    justify-content: center;
}

.input-group-discounts input.form-control {
    width: 100%;
    height: 100%;
    border: none;
    box-shadow: none;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    padding: 0 0 0 10px;
}

.input-group-discounts .input-group-addon-discounts {
    padding: 0 10px 0 0;
    font-size: 18px;
    font-weight: 600;
}

.discount-enable .control-indicator,
.rules-wrapper .control-indicator {
    width: 24px;
    height: 24px;
}

.discount-enable .control-checkbox .control-indicator:after,
.rules-wrapper .control-checkbox .control-indicator:after {
    left: 8px;
    top: 4px;
    width: 7px;
    height: 12px;
}

.input-group-discounts input.form-control:disabled {
    background-color: transparent;
    cursor: not-allowed;
}

.input-group-discounts.is-disabled:not(.static-discount) {
    background-color: #f3f4f6;
}

.input-group-discounts.is-disabled:not(.static-discount) .input-group-addon-discounts {
    color: #6b7280;
}

.rules-wrapper .form-group-flex {
    column-gap: 0.625rem;
}

.rules-wrapper .form-group-flex i {
    font-size: 2rem;
}

/* =================================================================================
ESTILOS FINAIS E ATUALIZADOS PARA O UPLOADER DE FOTOS
================================================================================== */
.dashboard-submission-wizard-photos-container {
    padding-bottom: 2rem;
}

.photos-drag-drop-area {
    border: 2px dashed #e0e0e0;
    border-radius: 0.5rem;
    padding: 3rem 1.5rem;
    cursor: pointer;
    transition: background-color 0.2s ease-in-out;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.photos-drag-drop-area:hover,
.modal-previews-container.is-dragging #modal-drag-drop-area {
    background-color: #f9f9f9;
    border-color: #cccccc;
}

.photos-drag-drop-area .upload-icon .homey-icon {
    font-size: 3rem;
    color: #cccccc;
}

.photos-drag-drop-area h3 {
    font-size: 1.25rem;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}

.photos-drag-drop-area p {
    color: #757575;
    margin-bottom: 1.5rem;
}

.photos-drag-drop-area p span {
    font-size: 0.875rem;
}

/* --- Galeria de Fotos --- */
.photos-gallery-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.photo-card {
    position: relative;
    border-radius: 0.5rem;
    overflow: hidden;
    aspect-ratio: 20 / 19;
}

.photo-card.is-cover {
    grid-column: span 2;
    aspect-ratio: 3 / 2;
}

.photo-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cover-photo-tag {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    background-color: rgba(0, 0, 0, 0.6);
    color: white;
    padding: 0.25rem 0.6rem;
    border-radius: 0.25rem;
    font-size: 0.75rem;
    font-weight: 500;
}

.photo-actions {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.photo-actions button {
    color: #fff;
    background-color: rgba(0, 0, 0, 0.35);
    border: 2px solid #fff;
    border-radius: 50%;
    width: 2.25rem;
    height: 2.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    margin: 0;
    transition: background-color 0.2s, color 0.2s;
}

.photo-actions button:hover {
    color: #1f2937;
    background-color: #fff;
}

.photo-actions .homey-icon {
    font-size: 1rem;
}

@media (max-width: 767px) {
    .photos-gallery-grid {
        grid-template-columns: 1fr;
    }

    .photo-card.is-cover {
        grid-column: span 1;
    }
}

.add-more-photos-card {
    border: 2px dashed #e0e0e0;
    border-radius: 0.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    aspect-ratio: 20 / 19;
    transition: background-color 0.2s ease-in-out;
    padding: 1rem;
}

.add-more-photos-card:hover {
    background-color: #f9f9f9;
    border-color: #cccccc;
}

.add-more-photos-card .upload-icon {
    display: none;
}

.add-more-photos-card h3 {
    font-size: 1rem;
    margin-top: 0;
    margin-bottom: 1rem;
}

/* --- Modal de Upload --- */
#photos-upload-modal .modal-body-content {
    padding-top: 0;
    overflow-y: auto;
    height: 100%;
    overflow-x: hidden;
}

#modal-previews-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-top: 1rem;
    height: 100%;
}


/* ###################################################### */
/* ##              INÍCIO DAS ALTERAÇÕES               ## */
/* ###################################################### */

.modal-preview-item {
    position: relative;
    aspect-ratio: 20 / 19;
    /* ALTERADO */
    border-radius: 0.5rem;
    overflow: hidden;
}

.modal-preview-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.modal-preview-item .btn-remove-preview {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    background-color: rgba(0, 0, 0, 0.35);
    /* ALTERADO */
    color: white;
    border: 2px solid #fff;
    /* ALTERADO */
    border-radius: 50%;
    width: 2rem;
    /* ALTERADO */
    height: 2rem;
    /* ALTERADO */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    z-index: 2;
    transition: background-color 0.2s, color 0.2s;
}

.modal-preview-item .btn-remove-preview:hover {
    color: #1f2937 !important;
    /* ALTERADO */
    background-color: #fff;
    /* ALTERADO */
}

.modal-preview-item .btn-remove-preview .homey-icon {
    font-size: 1rem;
    /* ALTERADO */
}

#modal-drag-drop-area.is-sidebar {
    padding: 1rem;
    aspect-ratio: 20 / 19;
    /* ALTERADO */
    grid-column: span 1;
}

/* ###################################################### */
/* ##                FIM DAS ALTERAÇÕES                ## */
/* ###################################################### */

#modal-drag-drop-area:not(.is-sidebar) {
    grid-column: span 2;
}

#modal-drag-drop-area.is-sidebar .upload-icon {
    display: none;
}

#modal-drag-drop-area.is-sidebar h3 {
    font-size: 1rem;
    margin-bottom: 1rem;
    /* ADICIONADO */
}

.progress-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background-color: rgba(255, 255, 255, 0.5);
    display: none;
}

.modal-preview-item.is-uploading .progress-overlay {
    display: block;
}

.progress-bar {
    width: 0%;
    height: 100%;
    background-color: #ff4b38;
    transition: width 0.1s linear;
}

#photos-upload-modal .modal-footer-content {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

/* =================================================================================
ESTILOS FINAIS E ATUALIZADOS PARA O UPLOADER DE FOTOS
================================================================================== */

.dashboard-submission-wizard-photos-container {
    padding-bottom: 2rem;
}

/* ... (outros estilos como .photos-drag-drop-area, .photos-gallery-grid, etc., permanecem os mesmos) ... */

/* --- Modal de Upload --- */
.modal-content {
    position: relative;
    overflow: hidden;
}

#modal-previews-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-top: 1rem;
    height: 100%;
}

.modal-preview-item {
    position: relative;
    aspect-ratio: 20 / 19;
    border-radius: 0.5rem;
    overflow: hidden;
    background-color: #f3f4f6;
}

.modal-preview-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.modal-preview-item .btn-remove-preview {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    background-color: rgba(0, 0, 0, 0.35);
    color: white;
    border: 2px solid #fff;
    border-radius: 50%;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    z-index: 3;
    transition: background-color 0.2s, color 0.2s;
}

.modal-preview-item .btn-remove-preview:hover {
    color: #1f2937 !important;
    background-color: #fff;
}

.modal-preview-item .btn-remove-preview .homey-icon {
    font-size: 1rem;
}

#modal-drag-drop-area.is-sidebar {
    padding: 1rem;
    aspect-ratio: 20 / 19;
    grid-column: span 1;
}

#modal-drag-drop-area:not(.is-sidebar) {
    grid-column: span 2;
}

#modal-drag-drop-area.is-sidebar .upload-icon {
    display: none;
}

#modal-drag-drop-area.is-sidebar h3 {
    font-size: 1rem;
    margin-bottom: 1rem;
}

/* --- Feedback de Upload (NOVO e ATUALIZADO) --- */

.progress-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background-color: rgba(255, 255, 255, 0.5);
    display: none;
    z-index: 2;
}

.modal-preview-item.is-uploading .progress-overlay {
    display: block;
}

.progress-bar {
    width: 0%;
    height: 100%;
    background-color: #ff4b38;
    transition: width 0.1s linear;
}

.preview-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: none;
    z-index: 1;
}

.modal-preview-item.has-error .preview-overlay {
    display: block;
}

.preview-error-message {
    position: absolute;
    bottom: 0.5rem;
    left: 0.5rem;
    width: calc(100% - 1rem);
    background-color: #fff;
    color: #6b7280;
    font-size: 0.875rem;
    padding: 0.5rem;
    text-align: center;
    line-height: 1.3;
    z-index: 2;
    display: none;
    border-radius: 0.5rem;
    font-weight: 600;
}

.modal-preview-item.has-error .preview-error-message {
    display: block;
}

.preview-error-message .homey-icon {
    font-size: 1.25rem;
    vertical-align: middle;
    margin-right: 0.25rem;
}

.success-icon {
    position: absolute;
    bottom: 0.25rem;
    right: 0.25rem;
    font-size: 1.5rem;
    opacity: 0;
    transition: opacity 0.3s;
    z-index: 2;
    display: none;
}

.modal-preview-item.is-success .success-icon {
    display: block;
    opacity: 1;
}

.modal-preview-item.is-success .progress-overlay,
.modal-preview-item.is-success .btn-remove-preview {
    display: none;
}

/* Correção para a barra de progresso do uploader de fotos */
.modal-preview-item.is-uploading .progress-overlay {
    display: block !important;
    /* Garante que a barra seja visível */
    opacity: 1 !important;
}

.modal-preview-item .success-icon {
    display: none;
    /* Esconde o ícone de sucesso inicialmente */
}

.modal-preview-item.is-success .success-icon {
    display: block;
    /* Mostra o ícone de sucesso apenas quando a classe é adicionada */
}

/* Notificação Flutuante (Toast) dentro do Modal */
.photos-upload-toast {
    position: absolute;
    bottom: 5rem;
    left: 50%;
    transform: translateX(-50%) translateY(200%);
    /* Começa escondido em baixo */
    background-color: #374151;
    color: #fff;
    padding: 1rem 1.5rem;
    border-radius: 0.5rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    z-index: 1060;
    /* Acima do overlay do modal */
    transition: transform 0.4s ease-in-out;
    width: 90%;
    max-width: 600px;
    font-size: 0.875rem;
    display: none;
    /* Começa escondido */
}

.photos-upload-toast.show {
    display: block;
    transform: translateX(-50%) translateY(0);
}

.photos-upload-toast .close {
    position: absolute;
    top: 0.5rem;
    right: 0.75rem;
    color: #fff;
    opacity: 0.7;
    font-size: 1.5rem;
    background: none;
    border: none;
    padding: 0;
}

.photos-upload-toast .close:hover {
    opacity: 1;
}

.photos-upload-toast h6,
.photos-upload-toast strong {
    font-weight: 700;
}

/* acessibilidade */
div[vw] {
    min-width: 2.25rem !important;
    min-height: 2.25rem !important;
    transform: translateY(calc(100% + 10px)) !important;
}

/* vlibras*/
[vw] [vw-access-button] {
    width: 2.25rem !important;
    height: 2.25rem !important;
    border-radius: 0 !important;
}

[vw] [vw-access-button]:hover {
    width: 194px !important;
}

[vw] [vw-access-button] img {
    max-height: 2.25rem !important;
}

[vw] [vw-access-button] .access-button {
    width: 2.25rem !important;
    height: 2.25rem !important;
    border-radius: 100% !important;
}

[vw] [vw-access-button] .pop-up {
    height: 2.25rem !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

[vw] [vw-access-button]:hover .pop-up {
    opacity: 1 !important;
    visibility: visible !important;
}

[vw] [vw-plugin-wrapper].active {
    top: 0;
    right: 0;
    max-width: none !important;
    transform: translateY(calc(-50% - 10px));
    position: fixed;
}

/* google translate */
#gt_float_wrapper {
    right: 10px !important;
    bottom: inherit !important;
    top: 55%;
}

.gt_float_switcher {
    border-radius: 10px !important;
}

.gt_float_switcher img {
    width: 20px !important;
    margin: 0 !important;
}

.gt_float_switcher .gt-selected .gt-current-lang {
    padding: 10px !important;
}

.gt_float_switcher .gt-selected .gt-current-lang span.gt-lang-code,
.gt_float_switcher .gt-selected .gt-current-lang span.gt_float_switcher-arrow {
    display: none !important;
}

/*cooke */
#moove_gdpr_cookie_info_bar {
    border: none !important;
    bottom: 1.5rem !important;
    background: transparent !important;
    content-visibility: visible;
}

.change-settings-button {
    font-weight: 500 !important;
}

.moove-gdpr-info-bar-container {
    background-color: #fff !important;
    border-radius: 0.5rem !important;
    padding: 1.5rem !important;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175) !important;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton.moove-gdpr-infobar-allow-all.focus-g,
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton.moove-gdpr-infobar-allow-all:focus,
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton.moove-gdpr-infobar-allow-all:hover,
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-allow-all.focus-g,
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-allow-all:focus,
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-allow-all:hover {
    background-color: #FF054A !important;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-settings-btn,
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-reject-btn {
    color: #1f2937 !important;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-settings-btn.focus-g,
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-settings-btn:focus,
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-settings-btn:hover,
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-reject-btn.focus-g,
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-reject-btn:focus,
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-reject-btn:hover {
    color: #fff !important;
    background-color: #1f2937 !important;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton,
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton {
    opacity: 1 !important;
    font-weight: 600 !important;
    border-radius: 0.5rem !important;
}

/* messages */
.message .homey-icon {
    font-weight: inherit;
    margin-right: 0.5rem;
}

/* forms */
.form-group-password i {
    position: absolute;
    top: 50%;
    right: 0;
    padding: 12px;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 1.25em;
}

.password-tips {
    line-height: 1;
}

.item-tools {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: 1rem 1.25rem;
}

.item-list-view .item-tools,
.item-card-view .item-tools {
    display: none;
}

.btn-items-group {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    z-index: 1;
}

.btn-item-tools {
    position: relative !important;
}

.btn-item-tools,
.compare-item .remove-icon {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 2rem !important;
    height: 2rem !important;
    color: #fff !important;
    background-color: rgba(0, 0, 0, 0.35);
    border: 2px solid #fff;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

@media (min-width: 412px) {

    .btn-item-tools,
    .compare-item .remove-icon {
        width: 2.25rem !important;
        height: 2.25rem !important;
    }
}

.btn-item-tools i,
.compare-item .remove-icon i {
    color: currentColor;
    font-size: 1.25em;
    line-height: 2rem;
    margin: 0;
}

.btn-item-tools:hover,
.compare-item .remove-icon:hover {
    color: #1f2937 !important;
    background-color: #fff;
}

.compare-item .img-responsive,
.compare-table a img {
    width: 100%;
    height: 100%;
    ;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

/* experience-card */
.item-card-view .item-wrap .item-user-image {
    display: none;
}

/* maps */
.homey-osm-cluster {
    width: 48px;
    height: 48px;
    font-size: 1rem;
}

/* customize */
div#offCanvLogin {
    display: none;
}

.listing-nav.hidden-xs {
    display: none;
}

.lef-container-home::after {
    background: #f7f8f9;
}

.fluid-container {
    background-color: #f7f8f9;
}

a.wc-block-components-checkout-return-to-cart-button {
    display: none;
}

button.components-button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained {
    width: 100%;
    color: #ffffff;
    background-color: #f58d9d;
    border-color: #f58d9d;
}

.wc-block-components-order-summary-item__image {
    display: none;
}

.half-map-search.main-search-wrap {
    display: none;
}


ul.login-register.list-inline li i {
    display: none;
}

.user-status {
    display: none;
}

.messages-area-user-info .messages-area-user-status {
    background-color: #2323;
    border-radius: 30px;
    padding: 0px;
}


/* item-media-thumb */
.item-media-thumb img {
    width: 100%;
    object-fit: cover;
}

@media screen and (max-width: 800px) {
    .item-card-view .item-wrap .item-tools {
        top: 20px;
    }

    .dropup .dropdown-menu,
    .navbar-fixed-bottom .dropdown .dropdown-menu {
        top: 100%;
        bottom: auto;
    }

    /*
    #module_listings .item-wrap ul.item-amenities,
    #module_listings .item-wrap ul.item-amenities li {
        display: inline-flex;
    }
        */
}

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

    #module_listings .item-wrap .item-price sub,
    #module_listings .item-wrap .item-price sup {
        top: auto;
        bottom: 0;
        font-size: 10px;
    }

    #module_listings .item-wrap .title-head .title,
    #module_listings .item-wrap .item-price {
        font-size: 14px;
        line-height: 1;
    }

    #module_listings .item-wrap ul.item-amenities,
    #module_listings .item-wrap ul.item-amenities li {
        /*display: inline-flex;*/
        font-size: 14px;
    }
}

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

    #module_listings .item-wrap .item-price sub,
    #module_listings .item-wrap .item-price sup {
        top: auto;
        bottom: 0;
        font-size: 8px;
    }

    #module_listings .item-wrap .title-head .title,
    #module_listings .item-wrap .item-price {
        font-size: 10px;
        line-height: 1;
    }

    #module_listings .item-wrap ul.item-amenities,
    #module_listings .item-wrap ul.item-amenities li {
        /*display: inline-flex;*/
        font-size: 10px;
    }
}



@media (min-width: 1200px) {

    .half-map-wrap .listing-wrap {
        display: flex;
        flex-wrap: wrap;
    }

    .half-map-wrap .item-list-view .item-wrap {
        max-width: 50%;
    }

    .half-map-wrap .item-title-head .title a {
        white-space: normal;
    }
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 160px;
    padding: 5px 0;
    margin: 2px 0 0;
    font-size: 14px;
    text-align: left;
    list-style: none;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid transparent;
    border-radius: 0.5rem;
    -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175)
}

.dropdown-menu ul>li {
    line-height: 5px !important;
    font-size: 14px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1)
}

.dropdown-menu ul>li a {
    color: #1f2937;
    font-weight: 500;
    padding-top: 18px;
    padding-right: 15px;
    padding-bottom: 18px;
    padding-left: 20px;
    line-height: 5px !important;
    font-size: 14px !important;
}

.dropdown-menu ul>li a:hover {
    background-color: #e5e7eb;
}

.dropdown-menu>.active>a,
.dropdown-menu>.active>a:focus,
.dropdown-menu>.active>a:hover {
    color: #1f2937;
    background-color: #e5e7eb;
}

.container,
.container-fluid {
    padding-left: 1rem;
    padding-right: 1rem;
}

.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after {
    content: none !important;
}

@media (min-width: 375px) {

    .container,
    .container-fluid {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

.row-flex {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

.row-flex>[class*="col-"] {
    /* Seletor para todas as colunas dentro de .row */
    flex-grow: 1;
    /* Distribui o espaço disponível igualmente entre as colunas */
    flex-shrink: 1;
    /* Permite que as colunas encolham se necessário */
}

.order-0 {
    order: 0;
}

.order-1 {
    order: 1;
}

/* =========================================
   XS (Extra Small) - < 576px
   Aplicado por padrão (Mobile First)
   ========================================= */

.col-1 {
    flex-basis: 8.33333333%;
    width: 8.33333333%;
}

.col-2 {
    flex-basis: 16.66666667%;
    width: 16.66666667%;
}

.col-3 {
    flex-basis: 25%;
    width: 25%;
}

.col-4 {
    flex-basis: 33.33333333%;
    width: 33.33333333%;
}

.col-5 {
    flex-basis: 41.66666667%;
    width: 41.66666667%;
}

.col-6 {
    flex-basis: 50%;
    width: 50%;
}

.col-7 {
    flex-basis: 58.33333333%;
    width: 58.33333333%;
}

.col-8 {
    flex-basis: 66.66666667%;
    width: 66.66666667%;
}

.col-9 {
    flex-basis: 75%;
    width: 75%;
}

.col-10 {
    flex-basis: 83.33333333%;
    width: 83.33333333%;
}

.col-11 {
    flex-basis: 91.66666667%;
    width: 91.66666667%;
}

.col-12 {
    flex-basis: 100%;
    width: 100%;
}

.order-0 {
    order: 0;
}

.order-1,
.col-order-1 {
    order: 1;
}

.order-2,
.col-order-2 {
    order: 2;
}

.order-3,
.col-order-3 {
    order: 3;
}

.order-4,
.col-order-4 {
    order: 4;
}

.order-5,
.col-order-5 {
    order: 5;
}

.order-6,
.col-order-6 {
    order: 6;
}

.order-7,
.col-order-7 {
    order: 7;
}

.order-8,
.col-order-8 {
    order: 8;
}

.order-9,
.col-order-9 {
    order: 9;
}

.order-10,
.col-order-10 {
    order: 10;
}

.order-11,
.col-order-11 {
    order: 11;
}

.order-12,
.col-order-12 {
    order: 12;
}


/* =========================================
   SM (Small) - ≥ 576px
   ========================================= */
@media (min-width: 576px) {
    .col-sm-1 {
        flex-basis: 8.33333333%;
        width: 8.33333333%;
    }

    .col-sm-2 {
        flex-basis: 16.66666667%;
        width: 16.66666667%;
    }

    .col-sm-3 {
        flex-basis: 25%;
        width: 25%;
    }

    .col-sm-4 {
        flex-basis: 33.33333333%;
        width: 33.33333333%;
    }

    .col-sm-5 {
        flex-basis: 41.66666667%;
        width: 41.66666667%;
    }

    .col-sm-6 {
        flex-basis: 50%;
        width: 50%;
    }

    .col-sm-7 {
        flex-basis: 58.33333333%;
        width: 58.33333333%;
    }

    .col-sm-8 {
        flex-basis: 66.66666667%;
        width: 66.66666667%;
    }

    .col-sm-9 {
        flex-basis: 75%;
        width: 75%;
    }

    .col-sm-10 {
        flex-basis: 83.33333333%;
        width: 83.33333333%;
    }

    .col-sm-11 {
        flex-basis: 91.66666667%;
        width: 91.66666667%;
    }

    .col-sm-12 {
        flex-basis: 100%;
        width: 100%;
    }

    .order-sm-0 {
        order: 0;
    }

    .order-sm-1,
    .col-sm-order-1 {
        order: 1;
    }

    .order-sm-2,
    .col-sm-order-2 {
        order: 2;
    }

    .order-sm-3,
    .col-sm-order-3 {
        order: 3;
    }

    .order-sm-4,
    .col-sm-order-4 {
        order: 4;
    }

    .order-sm-5,
    .col-sm-order-5 {
        order: 5;
    }

    .order-sm-6,
    .col-sm-order-6 {
        order: 6;
    }

    .order-sm-7,
    .col-sm-order-7 {
        order: 7;
    }

    .order-sm-8,
    .col-sm-order-8 {
        order: 8;
    }

    .order-sm-9,
    .col-sm-order-9 {
        order: 9;
    }

    .order-sm-10,
    .col-sm-order-10 {
        order: 10;
    }

    .order-sm-11,
    .col-sm-order-11 {
        order: 11;
    }

    .order-sm-12,
    .col-sm-order-12 {
        order: 12;
    }
}


/* =========================================
   MD (Medium) - ≥ 768px
   ========================================= */
@media (min-width: 768px) {
    .col-md-1 {
        flex-basis: 8.33333333%;
        width: 8.33333333%;
    }

    .col-md-2 {
        flex-basis: 16.66666667%;
        width: 16.66666667%;
    }

    .col-md-3 {
        flex-basis: 25%;
        width: 25%;
    }

    .col-md-4 {
        flex-basis: 33.33333333%;
        width: 33.33333333%;
    }

    .col-md-5 {
        flex-basis: 41.66666667%;
        width: 41.66666667%;
    }

    .col-md-6 {
        flex-basis: 50%;
        width: 50%;
    }

    .col-md-7 {
        flex-basis: 58.33333333%;
        width: 58.33333333%;
    }

    .col-md-8 {
        flex-basis: 66.66666667%;
        width: 66.66666667%;
    }

    .col-md-9 {
        flex-basis: 75%;
        width: 75%;
    }

    .col-md-10 {
        flex-basis: 83.33333333%;
        width: 83.33333333%;
    }

    .col-md-11 {
        flex-basis: 91.66666667%;
        width: 91.66666667%;
    }

    .col-md-12 {
        flex-basis: 100%;
        width: 100%;
    }

    .order-md-0 {
        order: 0;
    }

    .order-md-1,
    .col-md-order-1 {
        order: 1;
    }

    .order-md-2,
    .col-md-order-2 {
        order: 2;
    }

    .order-md-3,
    .col-md-order-3 {
        order: 3;
    }

    .order-md-4,
    .col-md-order-4 {
        order: 4;
    }

    .order-md-5,
    .col-md-order-5 {
        order: 5;
    }

    .order-md-6,
    .col-md-order-6 {
        order: 6;
    }

    .order-md-7,
    .col-md-order-7 {
        order: 7;
    }

    .order-md-8,
    .col-md-order-8 {
        order: 8;
    }

    .order-md-9,
    .col-md-order-9 {
        order: 9;
    }

    .order-md-10,
    .col-md-order-10 {
        order: 10;
    }

    .order-md-11,
    .col-md-order-11 {
        order: 11;
    }

    .order-md-12,
    .col-md-order-12 {
        order: 12;
    }
}


/* =========================================
   LG (Large) - ≥ 992px
   ========================================= */
@media (min-width: 992px) {
    .col-lg-1 {
        flex-basis: 8.33333333%;
        width: 8.33333333%;
    }

    .col-lg-2 {
        flex-basis: 16.66666667%;
        width: 16.66666667%;
    }

    .col-lg-3 {
        flex-basis: 25%;
        width: 25%;
    }

    .col-lg-4 {
        flex-basis: 33.33333333%;
        width: 33.33333333%;
    }

    .col-lg-5 {
        flex-basis: 41.66666667%;
        width: 41.66666667%;
    }

    .col-lg-6 {
        flex-basis: 50%;
        width: 50%;
    }

    .col-lg-7 {
        flex-basis: 58.33333333%;
        width: 58.33333333%;
    }

    .col-lg-8 {
        flex-basis: 66.66666667%;
        width: 66.66666667%;
    }

    .col-lg-9 {
        flex-basis: 75%;
        width: 75%;
    }

    .col-lg-10 {
        flex-basis: 83.33333333%;
        width: 83.33333333%;
    }

    .col-lg-11 {
        flex-basis: 91.66666667%;
        width: 91.66666667%;
    }

    .col-lg-12 {
        flex-basis: 100%;
        width: 100%;
    }

    .order-lg-0 {
        order: 0;
    }

    .order-lg-1,
    .col-lg-order-1 {
        order: 1;
    }

    .order-lg-2,
    .col-lg-order-2 {
        order: 2;
    }

    .order-lg-3,
    .col-lg-order-3 {
        order: 3;
    }

    .order-lg-4,
    .col-lg-order-4 {
        order: 4;
    }

    .order-lg-5,
    .col-lg-order-5 {
        order: 5;
    }

    .order-lg-6,
    .col-lg-order-6 {
        order: 6;
    }

    .order-lg-7,
    .col-lg-order-7 {
        order: 7;
    }

    .order-lg-8,
    .col-lg-order-8 {
        order: 8;
    }

    .order-lg-9,
    .col-lg-order-9 {
        order: 9;
    }

    .order-lg-10,
    .col-lg-order-10 {
        order: 10;
    }

    .order-lg-11,
    .col-lg-order-11 {
        order: 11;
    }

    .order-lg-12,
    .col-lg-order-12 {
        order: 12;
    }
}


/* =========================================
   XL (Extra Large) - ≥ 1200px
   ========================================= */
@media (min-width: 1200px) {
    .col-xl-1 {
        flex-basis: 8.33333333%;
        width: 8.33333333%;
    }

    .col-xl-2 {
        flex-basis: 16.66666667%;
        width: 16.66666667%;
    }

    .col-xl-3 {
        flex-basis: 25%;
        width: 25%;
    }

    .col-xl-4 {
        flex-basis: 33.33333333%;
        width: 33.33333333%;
    }

    .col-xl-5 {
        flex-basis: 41.66666667%;
        width: 41.66666667%;
    }

    .col-xl-6 {
        flex-basis: 50%;
        width: 50%;
    }

    .col-xl-7 {
        flex-basis: 58.33333333%;
        width: 58.33333333%;
    }

    .col-xl-8 {
        flex-basis: 66.66666667%;
        width: 66.66666667%;
    }

    .col-xl-9 {
        flex-basis: 75%;
        width: 75%;
    }

    .col-xl-10 {
        flex-basis: 83.33333333%;
        width: 83.33333333%;
    }

    .col-xl-11 {
        flex-basis: 91.66666667%;
        width: 91.66666667%;
    }

    .col-xl-12 {
        flex-basis: 100%;
        width: 100%;
    }

    .order-xl-0 {
        order: 0;
    }

    .order-xl-1,
    .col-xl-order-1 {
        order: 1;
    }

    .order-xl-2,
    .col-xl-order-2 {
        order: 2;
    }

    .order-xl-3,
    .col-xl-order-3 {
        order: 3;
    }

    .order-xl-4,
    .col-xl-order-4 {
        order: 4;
    }

    .order-xl-5,
    .col-xl-order-5 {
        order: 5;
    }

    .order-xl-6,
    .col-xl-order-6 {
        order: 6;
    }

    .order-xl-7,
    .col-xl-order-7 {
        order: 7;
    }

    .order-xl-8,
    .col-xl-order-8 {
        order: 8;
    }

    .order-xl-9,
    .col-xl-order-9 {
        order: 9;
    }

    .order-xl-10,
    .col-xl-order-10 {
        order: 10;
    }

    .order-xl-11,
    .col-xl-order-11 {
        order: 11;
    }

    .order-xl-12,
    .col-xl-order-12 {
        order: 12;
    }
}


/* =========================================
   XXL (Extra Extra Large) - ≥ 1400px
   ========================================= */
@media (min-width: 1400px) {
    .col-xxl-1 {
        flex-basis: 8.33333333%;
        width: 8.33333333%;
    }

    .col-xxl-2 {
        flex-basis: 16.66666667%;
        width: 16.66666667%;
    }

    .col-xxl-3 {
        flex-basis: 25%;
        width: 25%;
    }

    .col-xxl-4 {
        flex-basis: 33.33333333%;
        width: 33.33333333%;
    }

    .col-xxl-5 {
        flex-basis: 41.66666667%;
        width: 41.66666667%;
    }

    .col-xxl-6 {
        flex-basis: 50%;
        width: 50%;
    }

    .col-xxl-7 {
        flex-basis: 58.33333333%;
        width: 58.33333333%;
    }

    .col-xxl-8 {
        flex-basis: 66.66666667%;
        width: 66.66666667%;
    }

    .col-xxl-9 {
        flex-basis: 75%;
        width: 75%;
    }

    .col-xxl-10 {
        flex-basis: 83.33333333%;
        width: 83.33333333%;
    }

    .col-xxl-11 {
        flex-basis: 91.66666667%;
        width: 91.66666667%;
    }

    .col-xxl-12 {
        flex-basis: 100%;
        width: 100%;
    }

    .order-xxl-0 {
        order: 0;
    }

    .order-xxl-1,
    .col-xxl-order-1 {
        order: 1;
    }

    .order-xxl-2,
    .col-xxl-order-2 {
        order: 2;
    }

    .order-xxl-3,
    .col-xxl-order-3 {
        order: 3;
    }

    .order-xxl-4,
    .col-xxl-order-4 {
        order: 4;
    }

    .order-xxl-5,
    .col-xxl-order-5 {
        order: 5;
    }

    .order-xxl-6,
    .col-xxl-order-6 {
        order: 6;
    }

    .order-xxl-7,
    .col-xxl-order-7 {
        order: 7;
    }

    .order-xxl-8,
    .col-xxl-order-8 {
        order: 8;
    }

    .order-xxl-9,
    .col-xxl-order-9 {
        order: 9;
    }

    .order-xxl-10,
    .col-xxl-order-10 {
        order: 10;
    }

    .order-xxl-11,
    .col-xxl-order-11 {
        order: 11;
    }

    .order-xxl-12,
    .col-xxl-order-12 {
        order: 12;
    }
}

@media (min-width: 1536px) {

    /* bootstrap
    /* ------------------------------------------------------------------------ */
    /*
    .container {
        width: 1320px;
    }
    */
    .container-fluid:not(.no-padding) {
        padding-left: 92px;
        padding-right: 92px;
    }

    .container-fluid.search {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

.homey-loader-wrap {
    display: none;
    justify-content: center;
    padding-block: 1.25rem;
}

/*!
 * three-dots - v0.3.2
 * CSS loading animations made with single element
 * https://nzbin.github.io/three-dots/
 *
 * Copyright (c) 2018 nzbin
 * Released under MIT License
 */
/**
 * ==============================================
 * Dot Flashing
 * ==============================================
 */
.dot-flashing {
    position: relative;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: #FF4602;
    color: #FF4602;
    animation: dot-flashing 1s infinite linear alternate;
    animation-delay: 0.5s;
}

.dot-flashing::before,
.dot-flashing::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
}

.dot-flashing::before {
    left: -15px;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: #FF4602;
    color: #FF4602;
    animation: dot-flashing 1s infinite alternate;
    animation-delay: 0s;
}

.dot-flashing::after {
    left: 15px;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: #FF4602;
    color: #FF4602;
    animation: dot-flashing 1s infinite alternate;
    animation-delay: 1s;
}

@keyframes dot-flashing {
    0% {
        background-color: #FF4602;
    }

    50%,
    100% {
        background-color: rgba(255, 70, 2, 0.2);
    }
}

/* Hide nested headers when editor templates are used in calendar sidebar */
#calendar-sidebar-pricing .editor-detail-view-container>.block-head,
#calendar-sidebar-availability .editor-detail-view-container>.block-head {
    display: none !important;
}

/* Remove extra layout wrappers margin and padding for sidebar */
#calendar-sidebar-pricing .dashboard-editor-content-wrapper,
#calendar-sidebar-availability .dashboard-editor-content-wrapper {
    padding: 0 !important;
}

#calendar-sidebar-pricing .dashboard-editor-content-wrapper>.row,
#calendar-sidebar-availability .dashboard-editor-content-wrapper>.row {
    margin: 0 !important;
}



/* ==========================================================================
   Dashboard Calendar Custom Settings & Keyboard Shortcuts
   ========================================================================== */

/* Calendar Selection & Hover State */
.calendar-section li.selected-day {
    background-color: #FF4602 !important;
    /* using the primary color */
    color: #fff !important;
    border-radius: 4px;
    opacity: 0.9;
}

.calendar-section li.selected-day span {
    color: #fff !important;
}

.calendar-section li.keyboard-focused {
    border: 2px solid #FF4602 !important;
    border-radius: 4px;
    position: relative;
    box-shadow: 0 0 5px rgba(255, 70, 2, 0.5);
    /* glow effect using primary color rgb */
}

/* Sidebar Custom Config Panel */
@media (min-width: 992px) {
    #calendar-sidebar-custom-config {
        height: 100vh;
    }
}
#calendar-sidebar-custom-config .block-head {
    position: sticky;
    top: 0;
    z-index: 10;
    background-color: #fff;
    flex-shrink: 0;
}

.custom-config-panel-content {
    padding: 20px;
    overflow-y: auto;
    flex-grow: 1;
}

.selected-dates-display {
    font-weight: 600;
    margin-bottom: 20px;
    font-size: 14px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 8px 16px;
    color: #1f2937;
}

.custom-config-form-group {
    margin-top: 20px;
}

.custom-config-form-group:first-child {
    margin-top: 0;
}

.custom-config-label {
    font-weight: 600;
    margin-bottom: 10px;
    display: block;
    color: #1f2937;
}

.custom-config-radio-text {
    margin-left: 5px;
    color: #1f2937;
}

.custom-config-save-btn {
    margin-top: 30px;
}

.custom-config-messages {
    margin-top: 15px;
}

/* Keyboard Shortcuts Modal */
.keyboard-shortcuts-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.keyboard-shortcuts-list li {
    display: flex;
    margin-bottom: 16px;
    align-items: center;
}

.keyboard-shortcuts-list .shortcut-keys {
    width: 130px;
    flex-shrink: 0;
}

.keyboard-shortcuts-list kbd {
    background-color: #f3f4f6;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
    color: #1f2937;
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    padding: 4px 6px;
    white-space: nowrap;
    font-family: inherit;
}

.keyboard-shortcuts-list .shortcut-desc {
    color: #6b7280;
    font-size: 14px;
    line-height: 1.4;
}
/* Slider Personalizado Promoção */
#promo_discount_slider {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 3px;
    background: #e5e5e5;
    outline: none;
    border-radius: 3px;
}

#promo_discount_slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #222222;
    cursor: pointer;
    border: none;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

#promo_discount_slider::-moz-range-thumb {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #222222;
    cursor: pointer;
    border: none;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}
