.vep-calculator{box-sizing:border-box;max-width:780px;padding:24px;border:1px solid #dcdcde;border-radius:6px;background:#fff;color:#1d2327}.vep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.vep-grid label{font-weight:600}.vep-grid input,.vep-grid select,.vep-grid textarea{box-sizing:border-box;width:100%;margin-top:6px;padding:9px;border:1px solid #8c8f94;border-radius:4px;background:#fff}.vep-date-input{cursor:pointer}.vep-calendar{width:min(100%,390px);margin:18px auto 0;padding:18px;box-sizing:border-box;border:1px solid #dcdcde;border-radius:10px;background:#fff;box-shadow:0 16px 40px rgba(7,34,55,.12)}.vep-calendar__header{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px}.vep-calendar__header strong{text-align:center;text-transform:capitalize}.vep-calendar__header button{width:42px;height:42px;padding:0;border:1px solid #dcdcde;border-radius:50%;background:#fff;color:#0b2940;font-size:25px;line-height:1;cursor:pointer}.vep-calendar__instruction{margin:12px 0;text-align:center;color:#50575e;font-size:14px}.vep-calendar__weekdays,.vep-calendar__days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.vep-calendar__weekdays span{padding:6px 0;color:#646970;font-size:12px;text-transform:uppercase}.vep-calendar__days button{position:relative;min-width:0;height:40px;padding:0;border:0;border-radius:50%;background:transparent;color:#1d2327;cursor:pointer}.vep-calendar__days button:hover,.vep-calendar__days button:focus-visible{background:#f0f6fc;outline:2px solid #2271b1;outline-offset:1px}.vep-calendar__days .is-arrival,.vep-calendar__days .is-departure{background:#2271b1;color:#fff}.vep-calendar__days .is-unavailable,.vep-calendar__days .is-past{color:#8c8f94;cursor:not-allowed}.vep-calendar__days .is-unavailable::after{position:absolute;top:50%;left:17%;width:66%;height:1px;background:#d63638;content:"";transform:rotate(-18deg)}.vep-calendar__legend{margin:12px 0 0;color:#646970;font-size:13px}.vep-calendar__legend span{display:inline-block;width:18px;margin-right:6px;color:#d63638;font-weight:700}.vep-result,.vep-request,.vep-success-wrap{margin-top:24px}.vep-result dl{margin:16px 0}.vep-result dl>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #dcdcde}.vep-result dd{margin:0;font-weight:600}.vep-result .vep-total{border-top:2px solid #1d2327;font-size:1.15em;font-weight:700}.vep-deposit,.vep-summary,.vep-villa-info{margin:16px 0;padding:14px;background:#f0f0f1}.vep-summary{display:flex;flex-wrap:wrap;gap:8px 20px;font-weight:600}.vep-button{padding:10px 18px;border:1px solid #2271b1;border-radius:3px;background:#2271b1;color:#fff;cursor:pointer}.vep-button:disabled{cursor:wait;opacity:.65}.vep-message{padding:12px;border-left:4px solid #2271b1;background:#f0f6fc}.vep-error,.vep-request-error{border-color:#d63638;background:#fcf0f1;color:#8a2424}.vep-success{border-color:#00a32a;background:#edfaef}.vep-status{display:flex;align-items:center;gap:10px;margin:16px 0 0;padding:12px 14px;border-radius:4px;background:#f0f6fc;color:#135e96;font-weight:600}.vep-status[hidden]{display:none}.vep-spinner{flex:0 0 18px;width:18px;height:18px;border:2px solid rgba(34,113,177,.22);border-top-color:#2271b1;border-radius:50%;animation:vep-spin .75s linear infinite}.vep-wide{grid-column:1/-1}.vep-honeypot{position:absolute!important;left:-9999px!important}.vep-tip{position:relative;display:inline-block}.vep-tip button{padding:0;border:0;background:transparent;color:#2271b1;cursor:pointer}.vep-tip span{position:absolute;z-index:10;bottom:calc(100% + 8px);left:50%;display:none;width:260px;padding:12px;transform:translateX(-50%);border-radius:4px;background:#1d2327;color:#fff;font-size:13px;font-weight:400}.vep-tip:hover span,.vep-tip:focus-within span,.vep-tip button[aria-expanded=true]+span{display:block}@keyframes vep-spin{to{transform:rotate(360deg)}}@media(max-width:680px){.vep-calculator{padding:16px}.vep-grid{grid-template-columns:1fr}.vep-wide{grid-column:auto}.vep-tip span{left:0;transform:none}.vep-status{font-size:14px}.vep-calendar{padding:14px}.vep-calendar__days button{height:38px}}@media(prefers-reduced-motion:reduce){.vep-spinner{animation-duration:1.5s}}
.vep-calendar[hidden]{display:none}
