.mpres {
--mpres-ink: var(--mp-ink, #242521);
--mpres-muted: var(--mp-muted, #595952);
--mpres-olive: var(--mp-olive, #425337);
--mpres-rust: var(--mp-rust, #b45135);
--mpres-sage: var(--mp-sage, #dedfd3);
--mpres-line: #e4e3db;
--mpres-card: #fffdfa;
}
.mpres [hidden] { display: none !important; } .mpres button { white-space: normal; }
.mpres .mpres-notice { margin-bottom: 32px; } .mpres .mpres-field { display: block; margin: 18px 0 0; }
.mpres .mpres-label { display: block; margin-bottom: 6px; font-weight: 550; }
.mpres .mpres-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 52px; margin: 0; padding: 12px 16px; border: 1px solid var(--mpres-line); border-radius: 12px; background: var(--mpres-card); color: var(--mpres-muted); font: inherit; text-align: left; cursor: pointer; transition: border-color .2s; }
.mpres .mpres-bar:hover, .mpres .mpres-bar[aria-expanded="true"] { border-color: var(--mpres-olive); }
.mpres .mpres-bar:focus-visible { outline: 3px solid var(--mpres-olive); outline-offset: 1px; }
.mpres .mpres-bar.is-filled { color: var(--mpres-ink); }
.mpres .mpres-bar [data-dates-value] { min-width: 0; }
.mpres .mpres-bar [data-dates-value] strong { display: block; font-weight: 550; line-height: 1.35; }
.mpres .mpres-bar [data-dates-value] small { display: block; margin-top: 2px; font-size: 13px; color: var(--mpres-olive); }
.mpres .mpres-bar svg { flex: 0 0 20px; width: 20px; height: 20px; fill: none; stroke: var(--mpres-olive); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; } .mpres .mpres-select { position: relative; }
.mpres .mpres-select-face { color: var(--mpres-ink); pointer-events: none; }
.mpres .mpres-select-face > span { min-width: 0; }
.mpres .mpres-select-face strong { display: block; font-weight: 550; line-height: 1.35; }
.mpres .mpres-select-face small { display: block; margin-top: 2px; font-size: 13px; color: var(--mpres-olive); }
.mpres .mpres-select-face small::first-letter { text-transform: uppercase; }
.mpres .mpres-select select { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; opacity: 0; font-size: 16px; cursor: pointer; -webkit-appearance: none; appearance: none; }
.mpres .mpres-select:hover .mpres-select-face { border-color: var(--mpres-olive); }
.mpres .mpres-select:has(select:focus-visible) .mpres-select-face { border-color: var(--mpres-olive); outline: 3px solid var(--mpres-olive); outline-offset: 1px; }
.mpres .mpres-select select:focus-visible { outline: none; } .mpres .mpres-picker { position: relative; }
.mpres .mpres-calendar { position: absolute; z-index: 30; top: calc(100% + 8px); left: 0; width: min(380px, 100%); padding: 16px; border: 1px solid var(--mpres-line); border-radius: 18px; background: var(--mpres-card); box-shadow: 0 18px 40px -18px rgba(36, 37, 33, .35); }
.mpres .mpres-cal-hint { margin: 0 0 10px; font-size: 13px; color: var(--mpres-muted); }
@media (max-width: 480px) {
.mpres .mpres-calendar { padding: 12px; }
}
.mpres .mpres-cal-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.mpres .mpres-cal-head p { margin: 0; font-weight: 550; text-transform: capitalize; }
.mpres .mpres-cal-head button { width: 40px; height: 40px; border: 1px solid var(--mpres-line); border-radius: 50%; background: var(--mpres-card); color: var(--mpres-ink); font-size: 20px; line-height: 1; cursor: pointer; }
.mpres .mpres-cal-head button:disabled { opacity: .35; cursor: default; }
.mpres .mpres-cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.mpres .mpres-cal-dow { padding-bottom: 4px; text-align: center; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--mpres-muted); }
.mpres .mpres-cal-grid button { aspect-ratio: 1; min-height: 36px; padding: 0; border: 1px solid transparent; border-radius: 10px; background: transparent; color: var(--mpres-ink); font: inherit; font-variant-numeric: tabular-nums; cursor: pointer; transition: background .2s, border-color .2s; }
.mpres .mpres-cal-grid button:hover:not(:disabled) { border-color: var(--mpres-olive); }
.mpres .mpres-cal-grid button:focus-visible, .mpres .mpres-cal-head button:focus-visible { outline: 3px solid var(--mpres-olive); outline-offset: 2px; }
.mpres .mpres-cal-grid button:disabled { color: #b5b5ad; cursor: default; }
.mpres .mpres-cal-grid button.is-off,
.mpres .mpres-cal-legend span { background: repeating-linear-gradient(135deg, #efeee8 0 4px, #e4e3db 4px 8px); text-decoration: line-through; }
.mpres .mpres-cal-grid button.is-range { background: var(--mpres-sage); border-radius: 0; }
.mpres .mpres-cal-grid button.is-start,
.mpres .mpres-cal-grid button.is-end { background: var(--mpres-olive); color: #fff; }
.mpres .mpres-cal-legend { display: flex; align-items: center; gap: 8px; margin: 10px 0 0; }
.mpres .mpres-cal-legend span { display: inline-block; width: 16px; height: 16px; border-radius: 4px; } .mpres .mpres-contact { margin-top: 8px; }
.mpres .mpres-contact label { display: block; margin-top: 12px; }
.mpres .mpres-contact input, .mpres .mpres-contact textarea { display: block; width: 100%; margin-top: 6px; padding: 12px 14px; border: 1px solid var(--mpres-line); border-radius: 12px; background: var(--mpres-card); color: var(--mpres-ink); font: inherit; }
.mpres .mpres-contact input:focus-visible, .mpres .mpres-contact textarea:focus-visible { outline: 3px solid var(--mpres-olive); outline-offset: 1px; }
.mpres .mpres-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mpres .mpres-feedback { margin: 12px 0 0; color: var(--mpres-rust); font-weight: 550; }
.mpres .mpres-feedback:empty { display: none; }
.mpres .mpres-form .mp-button:disabled { opacity: .6; cursor: wait; } .mpres .mpr-dates { margin: 0 0 14px; font-weight: 550; }
.mpres .mpr-lines { margin: 0 0 16px; padding: 0; }
.mpres .mpr-lines > div { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; border-bottom: 1px solid var(--mpres-line); font-size: 14px; }
.mpres .mpr-lines dt { color: var(--mpres-muted); }
.mpres .mpr-lines dd { margin: 0; font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (prefers-reduced-motion: reduce) {
.mpres .mpres-cal-grid button { transition: none; }
}
.mpres .mpres-consent { display: flex; align-items: flex-start; gap: 12px; margin: 22px 0 0; font-size: 14px; line-height: 1.5; cursor: pointer; }
.mpres .mpres-consent input { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--mpres-olive); }
.mpres .mpres-consent a, .mpres .mpres-form .mp-small a { color: var(--mpres-olive); text-decoration: underline; text-underline-offset: 3px; } .mpres .mpres-float { display: none; }
@media (max-width: 900px) {
.mpres .mpres-float { position: fixed; z-index: 60; left: 50%; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); display: flex; align-items: center; gap: 14px; width: min(calc(100% - 28px), 440px); margin: 0; padding: 10px 12px 10px 22px; border: 0; border-radius: 999px; background: var(--mpres-olive); color: #fff; font: inherit; text-align: left; box-shadow: 0 16px 34px -14px rgba(36, 37, 33, .55); cursor: pointer; opacity: 0; visibility: hidden; transform: translate(-50%, 18px); transition: opacity .3s, transform .45s cubic-bezier(.22, 1, .36, 1), visibility 0s linear .45s; }
.mpres .mpres-float.is-visible { opacity: 1; visibility: visible; transform: translate(-50%, 0); transition-delay: 0s; }
.mpres .mpres-float:focus-visible { outline: 3px solid var(--mpres-ink); outline-offset: 3px; }
.mpres .mpres-float-text { flex: 1; min-width: 0; line-height: 1.3; }
.mpres .mpres-float-kicker { display: block; font-size: 10px; font-weight: 550; letter-spacing: .2em; text-transform: uppercase; opacity: .72; }
.mpres .mpres-float-text [data-float-detail] { display: block; margin-top: 2px; font-size: 13px; }
.mpres .mpres-float-price { flex: none; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 30px; font-weight: 500; line-height: 1; letter-spacing: -.02em; font-variant-numeric: lining-nums; white-space: nowrap; }
.mpres .mpres-float-price.is-small { font-family: inherit; font-size: 14px; font-weight: 550; letter-spacing: 0; }
.mpres .mpres-float svg { flex: none; width: 34px; height: 34px; padding: 8px; border-radius: 50%; background: rgba(255, 255, 255, .14); fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.mpres .mpres-float.is-bump .mpres-float-price { animation: mpres-bump .5s cubic-bezier(.22, 1, .36, 1); }
.mpres .mp-estimate-summary { scroll-margin: 90px; } body:has(.mpres-float) { padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
}
@keyframes mpres-bump { 0% { transform: translateY(6px); opacity: 0; } 100% { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
.mpres .mpres-float { transition: none !important; }
.mpres .mpres-float.is-bump .mpres-float-price { animation: none; }
}