.whi-search{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.whi-search label{display:flex;flex-direction:column;gap:5px;flex:1;min-width:130px}.whi-search input,.whi-search select,.whi-search button{padding:10px;font:inherit}.whi-answer{flex-basis:100%}.whi-result{padding:8px 0}.whi-calendar{max-width:460px}.whi-calendar-nav{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}.whi-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.whi-day{padding:10px 2px;text-align:center;border-radius:4px;background:#eee}.whi-free{background:#d7efde;color:#174e2b}.whi-blocked{background:#f3d9d9;color:#732a2a}.whi-unknown{background:#eee;color:#444}.whi-result a,.whi-answer a{display:inline-block;margin:5px 0}
.whi-search.whi-home {
    box-sizing: border-box;
    width: 100%;
    padding: 20px 30px;
    border-radius: 16px;
    background: rgba(0, 0, 0, .5);
    color: #fff;
    gap: 12px;
}
.whi-search.whi-home label {
    color: #fff;
    font-size: 14px;
    line-height: 1.4;
}
.whi-search.whi-home input,
.whi-search.whi-home select,
.whi-search.whi-home button {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: 42px;
    margin: 0;
    border: 0;
    border-radius: 10px;
    padding: 10px 12px;
    background-color: #fff;
    color: #000;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.2;
    box-shadow: none;
    color-scheme: light;
}
.whi-search.whi-home input::placeholder { color: #555; opacity: 1; }
.whi-search.whi-home select {
    appearance: none;
    padding-right: 34px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
    cursor: pointer;
}
.whi-search.whi-home button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    padding: 10px 18px;
    background: #ff5f1f;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}
.whi-search.whi-home button:hover { background: #ff5f1f; color: #fff; }
.whi-search.whi-home input:focus-visible,
.whi-search.whi-home select:focus-visible,
.whi-search.whi-home button:focus-visible {
    outline: 3px solid #ffab85;
    outline-offset: 3px;
}
@media (max-width: 991px) {
    .whi-search.whi-home { flex-direction: column; align-items: stretch; gap: 10px; padding: 15px; }
    .whi-search.whi-home label { flex: 0 0 auto; width: 100%; min-width: 0; }
    .whi-search.whi-home button { width: 100%; margin-top: 5px; }
}
.whi-search label[hidden], .whi-search .whi-range-panel[hidden] { display: none !important; }
.whi-search .whi-range { position: relative; flex: 2 1 290px; min-width: 0; display: flex; flex-direction: column; gap: 5px; font-size: 14px; }
.whi-search .whi-range .whi-range-trigger { width: 100%; min-height: 42px; height: auto; text-align: left; justify-content: flex-start; background: #fff; color: #222; border: 1px solid #ccc; border-radius: 10px; font-weight: 400; white-space: normal; }
.whi-search .whi-range-panel { position: absolute; top: calc(100% + 8px); left: 0; z-index: 1000; box-sizing: border-box; width: 396px; max-width: calc(100vw - 40px); padding: 14px; border: 1px solid #ddd; border-radius: 14px; background: #fff; color: #222; box-shadow: 0 8px 30px #0003; }
.whi-range-nav, .whi-range-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.whi-range-nav strong { text-align: center; font-size: 15px; text-transform: none; }
.whi-range-weekdays, .whi-range-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; }
.whi-range-weekdays span { text-align: center; padding: 6px 0; font-size: 11px; color: #555; }
.whi-search .whi-range-panel button { display: inline-flex; justify-content: center; align-items: center; box-sizing: border-box; width: 100%; height: 38px; min-width: 0; margin: 0; padding: 0; border: 0; border-radius: 6px; background: #f4f4f4; color: #222; font: inherit; font-size: 14px; cursor: pointer; }
.whi-search .whi-range-nav button { width: 34px; flex: 0 0 34px; font-size: 24px; }
.whi-search .whi-range-panel button:hover:not(:disabled) { background: #ff5f1f; color: #fff; }
.whi-search .whi-range-panel button:disabled { opacity: .35; cursor: default; }
.whi-search .whi-range-panel button.whi-selected { background: #ff5f1f; color: #fff; }
.whi-search .whi-range-panel button.whi-in-range { background: #ffe0d2; color: #222; }
.whi-search .whi-range-panel button:focus-visible { outline: 2px solid #ff5f1f; outline-offset: 1px; }
.whi-search .whi-range-hint { margin: 10px 0; color: #444; font-size: 13px; line-height: 1.4; min-height: 36px; }
.whi-range-actions { margin-top: 10px; }
@media (max-width: 991px) { .whi-search.whi-home .whi-range { flex: 0 0 auto; width: 100%; } }
@media (max-width: 480px) { .whi-search .whi-range { flex-basis: 100%; } .whi-search .whi-range-panel { width: 100%; } }
.whi-search, .whi-result, .whi-answer, .whi-results-status, .whi-calendar {
    font-family: 'Montserrat', sans-serif;
    color: #0d1618;
}
.whi-result a, .whi-answer a { color: #0d1618; transition: color .15s ease; }
.whi-result a:hover, .whi-answer a:hover,
.whi-result a:focus-visible, .whi-answer a:focus-visible { color: #ff5f1f; }
.whi-contact { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; width: 100%; text-align: left; gap: 8px; margin-top: 10px; font-size: 15px; font-weight: 700; }
.whi-contact a { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; font-size: 15px; font-weight: 700; }
.whi-contact svg { width: 19px; height: 19px; flex: 0 0 19px; }
.whi-results-status { margin: 16px 0 24px; font-size: 14px; line-height: 1.6; }
.whi-search .whi-range-panel button.whi-preview,
.whi-search .whi-range-panel button.whi-in-range { background: #ffe0d2; color: #0d1618; }
.whi-search .whi-range-panel button.whi-preview-end,
.whi-search .whi-range-panel button.whi-selected,
.whi-search .whi-range-panel button:hover:not(:disabled),
.whi-search .whi-range .whi-range-trigger:hover { background: #ff5f1f; color: #fff; }
.whi-search.whi-results-search {
    box-sizing: border-box; width: 100%; padding: 24px; gap: 16px;
    border: 1px solid #e4e8e7; border-radius: 18px; background: #fff;
    box-shadow: 0 5px 24px rgba(13,22,24,.06);
}
.whi-results-search label, .whi-results-search .whi-range > span {
    font-size: 12px; font-weight: 600; letter-spacing: .02em; color: #0d1618;
}
.whi-search.whi-results-search input, .whi-search.whi-results-search select,
.whi-search.whi-results-search .whi-range-trigger {
    box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px;
    border: 1px solid #e4e8e7; border-radius: 10px; padding: 12px;
    background: #f6f8f7; color: #0d1618; font: inherit; font-size: 14px;
}
.whi-search.whi-results-search button[type="submit"] {
    min-height: 48px; padding: 12px 22px; border: 0; border-radius: 10px;
    background: #ff5f1f; color: #fff; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer;
}
.whi-search.whi-results-search .whi-range-trigger:hover { background: #ff5f1f; color: #fff; }
.whi-results-search input:focus-visible, .whi-results-search select:focus-visible,
.whi-results-search button:focus-visible { outline: 2px solid #ff5f1f; outline-offset: 3px; }
@media (max-width: 991px) {
    .whi-search.whi-results-search { flex-direction: column; align-items: stretch; padding: 18px; gap: 12px; }
    .whi-search.whi-results-search label, .whi-search.whi-results-search .whi-range { flex: 0 0 auto; width: 100%; min-width: 0; }
    .whi-search.whi-results-search button[type="submit"] { width: 100%; }
}
.whi-search > label:has(select[name="location"]) { flex: 2 1 200px; }
.whi-search > label.whi-guests { flex: 0 0 90px; min-width: 70px; }
.whi-search .whi-range-panel button.whi-occupied { text-decoration: line-through; color: #858585; }
.whi-search .whi-range-panel button.whi-no-data { color: #858585; }
.whi-search .whi-range-panel button.whi-occupied:not(:disabled):hover { color: #fff; }
.whi-extras { display: block; margin: 0 0 12px; font-size: 11px; line-height: 1.5; }
.whi-result a.whi-book, .whi-answer a.whi-book {
    display: inline-flex; justify-content: center; align-items: center;
    padding: 12px 18px; border: 1px solid #cf343b; border-radius: 10px;
    background: #cf343b; color: #fff; font-size: 16px; font-weight: 700;
    text-transform: uppercase; text-decoration: none; line-height: 1.4;
}
.whi-result a.whi-book:hover, .whi-answer a.whi-book:hover,
.whi-result a.whi-book:focus-visible, .whi-answer a.whi-book:focus-visible { background: #fff; color: #cf343b; border-color: #cf343b; }
.whi-search.whi-property { flex-direction: column; align-items: stretch; }
.whi-search.whi-property > label, .whi-search.whi-property .whi-range { flex: 0 0 auto; width: 100%; }
.whi-property .whi-answer { flex-basis: auto; }
.whi-total-price { font-size: calc(1em + 4px); font-weight: 700; }
.whi-property .whi-answer > strong.whi-total-price { font-size: 30px; }
.whi-result .whi-contact a.whi-phone, .whi-answer .whi-contact a.whi-phone { color: #0d1618; }
.whi-result .whi-contact a.whi-whatsapp, .whi-answer .whi-contact a.whi-whatsapp { color: #25d366; }
.whi-contact a:hover { text-decoration: underline; }
.whi-result.whi-price { padding-top: 3px; }
.whi-result .whi-price-description, .whi-answer .whi-price-description { margin: 3px 0 0; line-height: 1.5; }
.whi-night-price { margin: 0; }
.whi-search .whi-guest-stepper { display: flex; align-items: center; gap: 4px; min-height: 42px; padding: 3px; border: 1px solid #e4e8e7; border-radius: 10px; background: #fff; box-sizing: border-box; }
.whi-search .whi-guest-stepper button { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; min-height: 32px; flex: 0 0 32px; padding: 0; margin: 0; border: 1px solid #e4e8e7; border-radius: 50%; background: #fff; color: #0d1618; font-size: 22px; line-height: 1; cursor: pointer; }
.whi-search .whi-guest-stepper button:hover:not(:disabled) { color: #fff; background: #ff5f1f; border-color: #ff5f1f; }
.whi-search .whi-guest-stepper button:disabled { opacity: .35; cursor: default; }
.whi-search .whi-guest-stepper input[name="people"] { appearance: textfield; -moz-appearance: textfield; flex: 1 1 auto; width: 38px; min-width: 28px; min-height: 32px; height: 32px; padding: 0; border: 0; background: transparent; text-align: center; color: #0d1618; font-weight: 600; }
.whi-guest-stepper input::-webkit-inner-spin-button, .whi-guest-stepper input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.whi-search > label.whi-guests { flex-basis: 132px; }
.whi-search.whi-results-search .whi-guest-stepper { min-height: 48px; background: #f6f8f7; }
@media(max-width:991px) { .whi-search > label.whi-guests { flex-basis: auto; } }
.whi-tariff { display: block; font-size: 11px; line-height: 1.5; margin: 2px 0 4px; }
.whi-offer { font-weight: 700; line-height: 1.5; margin: 10px 0; }
.whi-property .whi-book { box-sizing: border-box; width: 100%; }
.whi-property > small { font-size: 11px; line-height: 1.5; }
.whi-property .whi-range-panel { left: auto; right: 0; }
@media (max-width: 991px) { .whi-search > label.whi-guests, .whi-search > label:has(select[name="location"]) { flex: 0 0 auto; width: 100%; } }
.whi-search.whi-property > label.whi-guests { flex: 0 0 auto; }
.whi-search.whi-property { row-gap: 14px; }
.whi-search.whi-property button[hidden] { display: none !important; }
.whi-search.whi-property .whi-answer:empty { display: none; }
.whi-group-section:has(.whi-group-marker[data-empty="1"]) { display: none !important; }
.elementor-editor-active .whi-group-section:has(.whi-group-marker[data-empty="1"]) { display: flex !important; }
.whi-group-title { font-family: 'Montserrat', sans-serif; color: #0d1618; margin: 24px 0 16px; }
.whi-consultation-card { padding: 24px; background: #fff; border: 1px solid #e4e8e7; border-radius: 18px; box-shadow: 0 5px 24px #0d16180f; }
