/*
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-child
Template: homey
*/

/* Your CSS code goes here
-------------------------------------- */

.field_wrap:not(.col-md-6) {
  width: 100%;
}

.field_wrap {
  position: relative;
}

.field_wrap::before {
  position: absolute;
  left: 15px;
  top: 12px;
  font-family: "Fontawesome";
  font-size: 16px;
  z-index: 1;
}

.wpcf7-form-control {
  margin-bottom: 10px;
  padding-left: 40px;
}

.wpcf7-form input.wpcf7-submit[type="submit"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'%3E%3C/rect%3E%3Cpolyline points='2 6 12 13 22 6'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 16px center;
  background-size: 18px 18px;
}

#call-btn input.wpcf7-submit[type="button"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5l-2.5 1.5a11 11 0 0 0 5 5l1.5 -2.5l5 2v4a2 2 0 0 1 -2 2a16 16 0 0 1 -15 -15a2 2 0 0 1 2 -2'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 16px center;
  background-size: 16px 16px;
}

#call-btn {
  display: flex;
  gap: 8px;
}

/* Span vuoto lasciato dal tema (non è quello di Contact Form 7, quello è
   dentro .wpcf7 e già nascosto altrove): a display:block, anche se largo
   0px, dentro un flex container conta comunque come terzo elemento e
   aggiunge un gap in più, rubando spazio ai due pulsanti. */
#call-btn .ajax-loader {
  display: none;
}

/* flex-grow (flex:1) darebbe due larghezze diverse: "Chiama" è un <input>,
   "WhatsApp" è un <button> — i browser li dimensionano in modo diverso
   internamente anche a parità di CSS. Larghezza fissa al 50% (meno metà
   del gap) invece di lasciarla calcolare, per avere sempre due metà
   davvero uguali. */
#call-btn input.wpcf7-submit,
#call-btn button.wpcf7-submit {
  width: auto;
  flex: 0 0 calc(50% - 4px);
  min-width: 0;
}

/* Quando c'è un solo pulsante (manca il telefono o manca Whatsapp),
   il 50% fisso di sopra lascerebbe metà riga vuota: qui occupa tutto. */
#call-btn.call-btn-single input.wpcf7-submit,
#call-btn.call-btn-single button.wpcf7-submit {
  flex: 1 1 100%;
}

#call-btn button.whatsapp-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 16px;
  border: none;
}

.whatsapp-btn .fa-whatsapp {
  font-size: 18px;
}

.wpcf7-form-control-wrap {
  position: relative;
  font-family: "Quicksand", sans-serif;
}

.row.field-row {
  margin: 0 -5px;
}

.row.field-row > div {
  padding: 0 5px;
}

.field_wrap.col-md-6::before {
  left: 20px;
}

textarea.wpcf7-form-control {
  padding-left: 40px;
}

div.wpcf7 .ajax-loader {
  display: none;
}

.sidebar-booking-module .payment-list {
  display: none;
}

.social-icons-lists li.social-icons-list-item a.social-icon span.socicon {
  width: 25px;
  height: 25px;
  font-size: 16px;
  line-height: 25px;
  text-align: center;
  border-radius: 50%;
  color: #949ca5 !important;
  position: relative;
  color: #fff !important;
  top: 0;
}

ul.social-icons-lists li.social-icons-list-item {
  margin: 0 3px;
}

.social-icons-lists li.social-icons-list-item a.social-icon span.socicon:before {
  position: relative;
  z-index: 2;
}

.social-icons-lists li.social-icons-list-item a.social-icon {
  display: block;
}

.follow-us {
  text-align: center;
}

ul.social-icons-lists {
  padding: 0 0 20px;
  margin: 0;
}

.follow-us > span {
  display: block;
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 10px;
}

.social-icons-lists li.social-icons-list-item a.social-icon span.socicon:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #506dab;
  left: 49%;
  top: 49%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  transition: 0.4s ease all;
  z-index: 1;
  border-radius: 50%;
}

/* .social-icons-lists li.social-icons-list-item a.social-icon span.socicon:hover,
.social-icons-lists li.social-icons-list-item a.social-icon span.socicon:focus,
.social-icons-lists li.social-icons-list-item a.social-icon span.socicon:active {
color: #FFF !important;
}


.social-icons-lists li.social-icons-list-item a.social-icon span.socicon:hover:after,
.social-icons-lists li.social-icons-list-item a.social-icon span.socicon:focus:after,
.social-icons-lists li.social-icons-list-item a.social-icon span.socicon:active:after {
width: 100%;
height: 100%;
} */

.social-icons-lists li.social-icons-list-item a.social-icon span.socicon.socicon-twitter:after {
  background-color: #00aced;
}

.social-icons-lists li.social-icons-list-item a.social-icon span.socicon.socicon-facebook:after {
  background-color: #506dab;
}

.social-icons-lists li.social-icons-list-item a.social-icon span.socicon.socicon-pinterest:after {
  background-color: #cb2027;
}

.social-icons-lists li.social-icons-list-item a.social-icon span.socicon.socicon-instagram:after {
  background-color: #517fa4;
}

.social-icons-lists li.social-icons-list-item a.social-icon span.socicon.socicon-google-plus:after {
  background-color: #dd4b39;
}

.social-icons-lists li.social-icons-list-item a.social-icon span.socicon.socicon-linkedin:after {
  background-color: #007bb6;
}

.social-icons-lists li.social-icons-list-item a.social-icon span.socicon.socicon-youtube:after {
  background-color: #bb0000;
}

.social-icons-lists li.social-icons-list-item a.social-icon span.socicon.socicon-dribbble:after {
  background-color: #ea4c89;
}

.social-icons-lists li.social-icons-list-item a.social-icon span.socicon.socicon-foursquare:after {
  background-color: #0072b1;
}

.social-icons-lists li.social-icons-list-item a.social-icon span.socicon.socicon-flickr:after {
  background-color: #ff0084;
}

.social-icons-lists li.social-icons-list-item a.social-icon span.socicon.socicon-vimeo:after {
  background-color: #aad450;
}

.social-icons-lists li.social-icons-list-item a.social-icon span.socicon.socicon-tumblr:after {
  background-color: #32506d;
}

.social-icons-lists li.social-icons-list-item a.social-icon span.socicon.socicon-rss:after {
  background-color: #ff6600;
}

.social-icons-lists li.social-icons-list-item a.social-icon span.socicon.socicon-email:after {
  background-color: #ccc;
}

.social-icons-lists li.social-icons-list-item a.social-icon span.socicon.socicon-apple:after {
  background-color: #999;
}

.social-icons-lists li.social-icons-list-item a.social-icon span.socicon.socicon-android:after {
  background-color: #a4c639;
}

.social-icons-lists li.social-icons-list-item a.social-icon span.socicon.socicon-windows:after {
  background-color: #2672ec;
}

span.item-price.free.owner-title {
  font-size: 22px;
  font-weight: 600;
  text-align: center;
}

span.item-price {
  display: block;
}

.charge-txt {
  text-align: center;
}

.sharethis-inline-share-buttons {
  padding: 15px 10px;
  background: rgba(148, 156, 165, 0.12);
}

.sharethis-inline-share-buttons:empty {
  /* Resta vuoto finché ShareThis non lo carica (lazy-load al primo
     scroll/tocco): nascosto finché è vuoto, torna visibile da solo
     appena si popola con i pulsanti veri. */
  display: none;
  padding: 0;
  background: none;
}

.sidebar-booking-module-footer .block-body-sidebar {
  /* Conteneva i pulsanti Preferiti/Contatta/Stampa: sono tutti disattivati
     (preferiti da pannello, gli altri due nel codice), quindi il box resta
     sempre vuoto e crea uno spazio bianco/grigio sotto il modulo. */
  display: none;
}

.sidebar-booking-module-footer .block-body-sidebar button.add_fav {
  margin: 0;
}

.overlay-booking-btn .overlay-booking-price {
  line-height: 1;
  margin: 0 0 5px;
}

.overlay-booking-btn .overlay-booking-price span {
  display: block;
}

div.overlay-booking-btn button.trigger-overlay {
  float: right !important;
  padding: 0 20px;
  margin-left: 20px !important;
}

.wpcf7-form .drpContainer {
  position: relative;
}

.wpcf7-form .drpContainer .daterangepicker {
  width: 500px;
  left: -50% !important;
}

.cb-drp-close {
  position: absolute;
  /* Posizione per il popup desktop (i 2 mesi sono affiancati, non
     impilati): angolo in alto a sinistra, lontano dal titolo del mese
     che è centrato. Su mobile a schermo intero questa posizione viene
     corretta più sotto per non sovrapporsi alla freccia "mese
     precedente" (vedi @media max-width:480px). */
  top: 8px;
  left: 8px;
  width: 32px;
  height: 32px;
  line-height: 32px;
  padding: 0;
  border: none;
  background: transparent;
  font-size: 24px;
  font-weight: 700;
  color: #3b4249;
  cursor: pointer;
  z-index: 2;
}

.cb-drp-close:hover {
  color: #000;
}

.drpContainer .daterangepicker.opensright:before,
.drpContainer .daterangepicker.opensright:after {
  left: 40%;
  transform: translateX(-50%);
}

.wpcf7-form .drpContainer .daterangepicker:nth-child(7):before,
.wpcf7-form .drpContainer .daterangepicker:nth-child(7):after {
  left: 70%;
}

@media only screen and (max-width: 991px) {
  .overlay-booking-btn.new {
    left: 0;
  }
  .wpcf7-form .drpContainer .daterangepicker {
    top: 100% !important;
    margin: 0;
    left: -35% !important;
  }
  .wpcf7-form .drpContainer .daterangepicker:nth-child(8) {
    top: calc(100% - 55px) !important;
  }
}

@media only screen and (max-width: 768px) {
  .row.field-row > div {
    width: 100%;
  }
  .wpcf7-form .drpContainer .daterangepicker {
    left: 0 !important;
  }
  .drpContainer .daterangepicker.opensright:before,
  .drpContainer .daterangepicker.opensright:after {
    left: 10%;
  }
}

@media only screen and (max-width: 600px) {
  .wpcf7-form .drpContainer .daterangepicker {
    width: 250px;
  }
  .daterangepicker .drp-calendar.right th.next {
    position: absolute;
    top: 15px;
    right: 10px;
    display: block;
  }
  .daterangepicker .drp-calendar.right tbody {
    display: none;
  }
  .daterangepicker .drp-calendar.right .month {
    display: none;
  }
  .daterangepicker .drp-calendar.right tr:last-child {
    display: none;
  }
  .daterangepicker .drp-calendar.right th {
    display: none;
  }
  .daterangepicker .drp-calendar.right {
    padding: 0 !important;
  }
}

@media only screen and (max-width: 480px) {
  div#modal-contact-host {
    z-index: 4000;
  }
  div.daterangepicker {
    z-index: 4001;
  }
  /* Qui il popup è a schermo intero e la freccia "mese precedente" può
     comparire nello stesso angolo in alto a sinistra (left:20px,
     width:32px) — spostiamo la X più a destra per non sovrapporsi. */
  .cb-drp-close {
    top: 16px;
    left: 60px;
    width: 36px;
    height: 36px;
    line-height: 36px;
    font-size: 28px;
  }
  form.wpcf7-form .drpContainer.drpContainer .daterangepicker {
    width: 100%;
    height: 100%;
    top: 0 !important;
    left: 0 !important;
    position: fixed;
    overflow: auto;
    padding: 10px 20px;
  }
  form.wpcf7-form .drpContainer.drpContainer .daterangepicker .drp-calendar {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }
  form.wpcf7-form .drpContainer.drpContainer .daterangepicker {
    width: 100vw;
    height: 100vh;
    top: 0 !important;
    left: 0 !important;
    position: fixed;
    /* padding-top più ampio per lasciare spazio alla X di chiusura */
    padding: 50px 15px 30px;
    transform: none;
  }
  form.wpcf7-form .drpContainer.drpContainer .daterangepicker .drp-calendar {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }
  form.wpcf7-form .drpContainer.drpContainer .daterangepicker {
    /* spazio in fondo per non far finire l'ultima riga del calendario
       sotto la barra Cancella/Applica, che ora è fissa in basso */
    padding-bottom: 60px;
  }
  .drpContainer .daterangepicker.show-calendar .ranges {
    margin: 0;
  }
  .drpContainer .daterangepicker .calendar-table th.month {
    font-size: 18px;
    padding: 0 0 10px;
    font-weight: 700;
  }
  .drpContainer .daterangepicker.opensright:before,
  .drpContainer .daterangepicker.opensright:after {
    display: none;
  }
  /* .drpContainer .daterangepicker .calendar-table td.disabled {
        color: #949ca5;
        font-weight: 300;
        text-decoration: line-through;
        background: none !important;
    } */
  .drpContainer .daterangepicker .calendar-table td {
    font-size: 14px;
    height: auto;
    padding: 7px 0;
    border: none;
    color: #3b4249;
    font-weight: 600;
  }
  .drpContainer .daterangepicker .calendar-table {
    font-family: "Open Sans", sans-serif;
  }
  .drpContainer .daterangepicker .calendar-table thead th {
    font-size: 14px;
    font-weight: 300;
  }
  .drpContainer .daterangepicker .calendar-table thead tr:last-child {
    position: relative;
    margin-bottom: 4px;
  }
  .drpContainer .daterangepicker .calendar-table thead tr:last-child th {
    border-bottom: 1px solid #ccc;
  }
  .drpContainer .daterangepicker .drp-calendar.right .calendar-table tbody {
    display: table-row-group;
  }
  .drpContainer .daterangepicker .drp-calendar.right .calendar-table th {
    display: table-cell;
  }
  .drpContainer .daterangepicker .drp-calendar.right .calendar-table tr:last-child {
    display: table-row;
  }
  .drpContainer .daterangepicker .drp-calendar.right {
    margin: 4px 0 0;
  }
  .custom-modal-contact-host {
    width: 100vw;
    height: 100%;
    background: #fff;
  }
  .custom-modal-contact-host .modal-content {
    border: none;
    box-shadow: none;
  }
  .custom-modal-contact-host .modal-dialog {
    box-shadow: none;
    margin: 0;
  }
  .custom-modal-contact-host .modal-content .modal-title {
    font-size: 18px;
  }
  .custom-modal-contact-host .modal-content button.close {
    font-size: 26px;
    font-weight: 800;
    opacity: 1;
    color: #949ca5;
  }
  .custom-modal-contact-host .modal-content button.close:hover {
    color: #666;
  }
  .drpContainer .daterangepicker .calendar-table thead th.next,
  .drpContainer .daterangepicker .calendar-table thead th.prev {
    position: absolute;
    top: 20px;
    width: 32px;
    height: 32px;
    padding: 0 5px;
    line-height: 30px;
    border: 1px solid #54c4d9;
    color: #54c4d9;
    right: 20px;
    transform: none;
  }
  .drpContainer .daterangepicker .calendar-table thead th.next span,
  .drpContainer .daterangepicker .calendar-table thead th.prev span {
    border-color: inherit;
    margin: 0 3px 1px 0;
  }
  .drpContainer .daterangepicker .calendar-table thead th.prev {
    left: 20px;
  }
  .drpContainer .daterangepicker .calendar-table thead th.next:hover,
  .drpContainer .daterangepicker .calendar-table thead th.prev:hover {
    background: #54c4d9;
    border-color: #fff;
  }
  .drpContainer .daterangepicker .calendar-table thead th.prev span {
    margin: 0 0px 1px 3px;
  }
  .custom-modal-contact-host .modal-dialog {
    position: static;
    height: 100%;
  }
  .custom-modal-contact-host .modal-body {
    position: static;
    height: 100%;
  }
  .drpContainer .daterangepicker td.active,
  .drpContainer .daterangepicker td.active:hover {
    background: #54c4d9;
    color: #fff !important;
  }
  .drpContainer .daterangepicker td.active.disabled,
  .drpContainer .daterangepicker td.active.disabled:hover {
    color: #3b4249 !important;
  }
  .drpContainer .daterangepicker .drp-buttons {
    display: flex;
    align-items: center;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    border-top: 1px solid #eee;
    padding: 10px 20px;
    z-index: 1;
  }
  .drpContainer .daterangepicker .drp-buttons .drp-selected {
    font-size: 13px;
    float: none;
    margin-right: auto;
    line-height: 34px;
    padding-right: 10px;
    font-weight: 400;
  }
  .drpContainer .daterangepicker .drp-buttons .btn {
    font-size: 12px;
    padding: 8px 10px;
    line-height: 16px;
    margin-left: 5px;
  }
}

div#homey-single-map {
  pointer-events: none;
}

span.wpcf7-spinner {
  display: none;
}

.daterangepicker .calendar-table td.active,
.daterangepicker .calendar-table td.active:hover,
.daterangepicker .calendar-table td.active.end-date {
  background: #54c4d9;
}

.daterangepicker .calendar-table td.in-range {
  background: #54c5d97a;
}

.short_wrap .align-items-center {
  align-items: center;
}

.short_wrap .g-3 {
  gap: 2rem;
}

.short_wrap label {
  margin: 0;
}

.table_content {
  position: relative;
}

.ajax_loader .content_area {
  opacity: 0;
  visibility: hidden;
  transition: 0.5s ease all;
}

.table_content {
  position: relative;
}

.content_area {
  opacity: 1;
  visibility: visible;
  transition: 0.5s ease all;
}

.ajax_loader .content_area {
  opacity: 0;
  visibility: hidden;
}
.ajax_loader .ajx_loader {
  opacity: 1;
  visibility: visible;
}

/* loader */
.ajx_loader {
  width: 50px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 3px solid #b8b8b8;
  border-right-color: #85c341;
  animation: l2 1s infinite linear;
  position: absolute;
  z-index: 11;
  left: 50%;
  top: 10%;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s ease all;
}

.daterangepicker td.available {
  background: #e4f4d9;
}

.daterangepicker .calendar-table td.disabled {
  background: #ecedef;
}

.daterangepicker .calendar-table td.ends {
  background: none;
}

.daterangepicker .calendar-table td.active,
.daterangepicker .calendar-table td.active:hover,
.daterangepicker .calendar-table td.active.end-date {
  color: #fff;
}

.editable_table .tablepress caption {
  display: none;
}

.update_status {
  background-color: #ebf3e1;
  border: 1px solid #7ed321;
  color: #478700;
  padding: 15px;
  margin: 20px 0;
}

/* Barra di ricerca home page: il testo dentro Arrivo/Partenza/Persone
   non era centrato verticalmente come "Dove vuoi andare?"/"Tipo di
   struttura" (quei due usano un centraggio flessibile che è sempre
   preciso; questi campi invece un padding sopra/sotto asimmetrico
   22px/20px che lo spingeva un po' più in basso). Padding simmetrico
   per centrare il testo esattamente come gli altri campi. */
.search-banner .search-date-range-arrive input.form-control,
.search-banner .search-date-range-depart input.form-control,
.search-banner .search-guests input.form-control {
  padding-top: 16px;
  padding-bottom: 16px;
}

/* Barra di ricerca home page: il contenitore della barra resta fisso a
   ~1020px su qualunque schermo desktop (non cresce oltre, anche su
   monitor 1920px+), quindi il campo Arrivo/Partenza si restringeva
   sempre sotto i 50px di padding riservati all'icona, tagliando il
   testo a 1-2 lettere ("A", "P") — non solo sui laptop più piccoli.
   Diamo un minimo di larghezza al campo e riduciamo leggermente il
   padding dell'icona per recuperare spazio per il testo. */
@media (min-width: 992px) {
  .search-banner .search-date-range {
    min-width: 235px;
  }
  .search-banner .search-date-range-arrive input.form-control,
  .search-banner .search-date-range-depart input.form-control {
    padding-left: 34px;
  }
  .search-banner .search-date-range-arrive:after,
  .search-banner .search-date-range-depart:after {
    left: 10px;
  }
}

/* Barra di ricerca home page, fascia tablet (768-991px): nel tema padre,
   sotto i 991px "Dove vuoi andare?", Arrivo/Partenza e Persone passano
   correttamente a blocco intero (uno sotto l'altro), ma "Tipo di
   struttura" e il pulsante di ricerca restano nella vecchia modalità
   tabella — bug del tema originale, non di queste modifiche. Li
   allineiamo agli altri campi. */
@media (max-width: 991px) {
  .search-banner .search-type {
    display: block;
    width: 100%;
    padding-right: 0;
    margin-bottom: 10px;
  }
  .search-banner .search-button {
    display: block;
    width: 100%;
    padding-right: 0;
  }
}

/* Card annuncio: con l'aggiunta di "Animali" c'era pochissimo spazio
   perché "Bagno" entrasse nella prima riga insieme a Persone/Animali/
   Stanze (mancavano solo 4px) — margine tra le voci leggermente
   ridotto per farcelo stare, resta solo la categoria sulla riga sotto. */
.item-amenities li {
  padding-right: 6px !important;
}
