.product-reservation-callout{margin-top:1.25rem;padding:1.25rem 1.5rem;border-radius:1rem;border:1px solid rgb(201 162 74 / .35);background:linear-gradient(145deg,#fffbf3,#faf5eb)}.product-reservation-callout__list{margin:.75rem 0 0;padding:0;list-style:none;display:grid;gap:.5rem;font-size:.875rem;color:var(--brand-body)}.product-reservation-callout__list li:before{content:"✦";margin-right:.5rem;color:var(--brand-terracotta)}.product-info__badge--reserve{background:#c9a24a26;color:var(--brand-green-dark);border-color:#c9a24a73}.reservation-modal[hidden]{display:none!important}.reservation-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:1rem}body.reservation-modal-open{overflow:hidden}.reservation-modal__backdrop{position:absolute;inset:0;background:#0a18128c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.reservation-modal__panel{position:relative;z-index:1;width:min(100%,56rem);max-height:min(92vh,52rem);overflow-y:auto;border-radius:1.5rem;background:#fff;box-shadow:0 32px 80px -24px #0a181273;padding:2rem 1.5rem 2.5rem}@media(min-width:768px){.reservation-modal__panel{padding:2.5rem 2.5rem 3rem}}.reservation-modal__close{position:absolute;top:1rem;inset-inline-end:1rem;width:2.5rem;height:2.5rem;border:none;border-radius:9999px;background:var(--brand-cream);font-size:1.5rem;line-height:1;cursor:pointer;color:var(--brand-ink)}.reservation-modal__eyebrow{margin:0;font-size:.6875rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--brand-terracotta)}.reservation-modal__title{margin:.5rem 0 0;font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;color:var(--brand-ink)}.reservation-modal__subtitle{margin:.75rem 0 0;max-width:36rem;line-height:1.65;color:var(--brand-body)}.reservation-modal__grid{display:grid;gap:2rem;margin-top:2rem}@media(min-width:900px){.reservation-modal__grid{grid-template-columns:1fr 18rem;align-items:start}}.reservation-modal__messaging{margin-bottom:1.25rem;padding:1rem 1.25rem;border-radius:1rem;background:linear-gradient(135deg,var(--brand-cream) 0%,rgb(244 248 245) 100%);font-size:.875rem;line-height:1.6;color:var(--brand-body)}.reservation-modal__messaging p{margin:.35rem 0}.reservation-modal__field{display:block;margin-bottom:1rem}.reservation-modal__field span{display:block;margin-bottom:.35rem;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-muted)}.reservation-modal__submit{width:100%;margin-top:.5rem;padding:.875rem 1.5rem;border:none;border-radius:9999px;background:var(--brand-green-dark);color:var(--brand-cream);font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.reservation-modal__submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 32px -10px #1f4b3a73}.reservation-modal__submit:disabled{opacity:.5;cursor:not-allowed}.reservation-summary{padding:1.5rem;border-radius:1.25rem;border:1px solid rgb(232 226 214 / .95);background:linear-gradient(160deg,var(--brand-cream) 0%,#fff 100%)}.reservation-summary__title{margin:0;font-family:var(--font-display);font-size:1.125rem;font-weight:700;color:var(--brand-ink)}.reservation-summary__rows{margin:1rem 0 0}.reservation-summary__row{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;font-size:.9375rem;border-bottom:1px solid rgb(232 226 214 / .6)}.reservation-summary__row dt{color:var(--brand-muted)}.reservation-summary__row dd{margin:0;font-weight:700;color:var(--brand-ink)}.reservation-summary__row--deposit dd{color:var(--brand-terracotta)}.reservation-summary__percent{margin:1rem 0 0;font-size:.8125rem;font-weight:600;color:var(--brand-green-dark)}.reservation-summary__slots{margin:.5rem 0 0;font-size:.8125rem;color:var(--brand-terracotta);font-weight:600}.reservation-trust__title{margin:0 0 1rem;font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-muted)}.reservation-trust__grid{display:grid;gap:.75rem;list-style:none;margin:0;padding:0}@media(min-width:640px){.reservation-trust__grid{grid-template-columns:1fr 1fr}}.reservation-trust__item{padding:.875rem 1rem;border-radius:.75rem;background:#f4f8f5cc}.reservation-trust__label{margin:0;font-size:.8125rem;font-weight:700;color:var(--brand-ink)}.reservation-trust__body{margin:.25rem 0 0;font-size:.75rem;line-height:1.5;color:var(--brand-body)}.reservation-timeline__title{margin:0 0 1.25rem;font-family:var(--font-display);font-size:1.125rem;font-weight:700;color:var(--brand-ink)}.reservation-timeline__list{list-style:none;margin:0;padding:0}.reservation-timeline__step{display:flex;gap:1rem;padding-bottom:1.25rem;position:relative}.reservation-timeline__step:not(:last-child):before{content:"";position:absolute;inset-inline-start:.4375rem;top:1.25rem;bottom:0;width:2px;background:#e8e2d6e6}.reservation-timeline__step--complete .reservation-timeline__marker{background:var(--brand-green-dark);box-shadow:0 0 0 4px #1f4b3a26}.reservation-timeline__step--current .reservation-timeline__marker{background:var(--brand-gold);box-shadow:0 0 0 4px #c9a24a40}.reservation-timeline__marker{width:.875rem;height:.875rem;margin-top:.25rem;flex-shrink:0;border-radius:9999px;background:#e8e2d6}.reservation-timeline__label{margin:0;font-weight:600;color:var(--brand-ink)}.reservation-timeline__date{margin:.15rem 0 0;font-size:.75rem;color:var(--brand-muted)}.reservation-checkout{padding:2rem .25rem 4rem}.reservation-checkout__inner{max-width:56rem;margin-inline:auto}.reservation-checkout__eyebrow{margin:0;font-size:.6875rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-terracotta)}.reservation-checkout__title{margin:.5rem 0 0;font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;color:var(--brand-ink)}.reservation-checkout__grid{display:grid;gap:2rem;margin-top:2rem}@media(min-width:900px){.reservation-checkout__grid{grid-template-columns:1fr 20rem}}.reservation-checkout__btn{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 1.75rem;border-radius:9999px;font-weight:700;text-decoration:none;border:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.reservation-checkout__btn--primary{background:var(--brand-green-dark);color:var(--brand-cream)}.reservation-checkout__btn--secondary{background:#fff;color:var(--brand-ink);border:2px solid var(--brand-border)}.reservation-checkout__btn--secondary:hover{border-color:var(--brand-terracotta);color:var(--brand-terracotta)}.reservation-checkout__btn--primary:hover{transform:translateY(-1px);box-shadow:0 12px 32px -10px #1f4b3a66}.reservation-checkout__error{margin-top:1rem;color:var(--brand-terracotta);font-size:.875rem}.reservation-confirmed{padding:4rem 1rem;text-align:center}.reservation-confirmed__inner{max-width:32rem;margin-inline:auto}.reservation-confirmed__icon{font-size:2rem;color:var(--brand-gold)}.reservation-confirmed__title{margin:1rem 0 0;font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--brand-ink)}.reservation-confirmed__cta{display:inline-flex;margin-top:2rem;padding:.875rem 1.75rem;border-radius:9999px;background:var(--brand-green-dark);color:var(--brand-cream);font-weight:700;text-decoration:none}.reservation-confirmed__timeline{margin-top:2.5rem;text-align:start}.reservation-card{border-radius:1rem;border:1px solid var(--brand-border);background:#fff;overflow:hidden;transition:box-shadow .25s ease}.reservation-card:hover{box-shadow:0 12px 32px -16px #1f4b3a33}.reservation-card__link{display:flex;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;text-decoration:none;color:inherit}.reservation-card__ref{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-terracotta)}.reservation-card__title{margin:.35rem 0 0;font-weight:700;color:var(--brand-ink)}.reservation-card__status{margin:.25rem 0 0;font-size:.8125rem;color:var(--brand-muted)}.reservation-card__amounts{text-align:end;font-weight:700;color:var(--brand-ink)}.reservation-card__action{display:block;margin-top:.35rem;font-size:.75rem;font-weight:600;color:var(--brand-terracotta)}.reservation-discover__cta{padding:.875rem 1.75rem;border-radius:9999px;background:var(--brand-green-dark);color:var(--brand-cream);font-weight:700;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.reservation-discover__cta:hover{transform:translateY(-2px);box-shadow:0 14px 36px -12px #1f4b3a66}.reservation-detail__grid{display:grid;gap:2rem;margin-top:2rem}@media(min-width:900px){.reservation-detail__grid{grid-template-columns:1fr 18rem}}
