
.reservation-modal{position: fixed; inset: 0; z-index: 220; display: none; place-items: center; padding: 24px; background: rgba(17, 24, 32, .65); backdrop-filter: blur(7px);}
.elementor .reservation-modal{position: fixed; inset: 0; z-index: 220; display: none; place-items: center; padding: 24px; background: rgba(17, 24, 32, .65); backdrop-filter: blur(7px);}
.reservation-modal.open{display: grid;}
.elementor .reservation-modal.open{display: grid;}
.reservation-dialog{width: min(760px, 100%); max-height: min(760px, calc(100vh - 48px)); overflow: auto; padding: 28px; border-radius: 10px; background: #fff; box-shadow: 0 28px 72px rgba(10, 16, 24, .34);}
.elementor .reservation-dialog{width: min(760px, 100%); max-height: min(760px, calc(100vh - 48px)); overflow: auto; padding: 28px; border-radius: 10px; background: #fff; box-shadow: 0 28px 72px rgba(10, 16, 24, .34);}
.reservation-head{display: flex; align-items: start; justify-content: space-between; gap: 18px; margin-bottom: 22px;}
.elementor .reservation-head{display: flex; align-items: start; justify-content: space-between; gap: 18px; margin-bottom: 22px;}
.reservation-head h2{margin: 0 0 6px; color: #111318; font-size: 28px;}
.elementor .reservation-head h2{margin: 0 0 6px; color: #111318; font-size: 28px;}
.reservation-head p{margin: 0; color: #566170; line-height: 1.55;}
.elementor .reservation-head p{margin: 0; color: #566170; line-height: 1.55;}
.reservation-close{display: grid; flex: 0 0 40px; place-items: center; width: 40px; height: 40px; border: 1px solid #dce3ec; border-radius: 50%; background: #fff; color: #252c36; cursor: pointer;}
.elementor .reservation-close{display: grid; flex: 0 0 40px; place-items: center; width: 40px; height: 40px; border: 1px solid #dce3ec; border-radius: 50%; background: #fff; color: #252c36; cursor: pointer;}
.reservation-grid{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px;}
.elementor .reservation-grid{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px;}
.reservation-field{display: grid; gap: 7px;}
.elementor .reservation-field{display: grid; gap: 7px;}
.reservation-field.full{grid-column: 1 / -1;}
.elementor .reservation-field.full{grid-column: 1 / -1;}
.reservation-field label{color: #303743; font-size: 13px; font-weight: 800;}
.elementor .reservation-field label{color: #303743; font-size: 13px; font-weight: 800;}
.reservation-field input, .reservation-field select, .reservation-field textarea{width: 100%; min-height: 49px; padding: 12px 14px; border: 1px solid #dbe2eb; border-radius: 6px; outline: 0; background: #fff; color: #252c36; font: inherit;}
.elementor .reservation-field input,
.elementor .reservation-field select,
.elementor .reservation-field textarea{width: 100%; min-height: 49px; padding: 12px 14px; border: 1px solid #dbe2eb; border-radius: 6px; outline: 0; background: #fff; color: #252c36; font: inherit;}
.reservation-field textarea{min-height: 88px; resize: vertical;}
.elementor .reservation-field textarea{min-height: 88px; resize: vertical;}
.reservation-field input:focus, .reservation-field select:focus, .reservation-field textarea:focus{border-color: #d9342b; box-shadow: 0 0 0 4px rgba(217, 52, 43, .1);}
.elementor .reservation-field input:focus,
.elementor .reservation-field select:focus,
.elementor .reservation-field textarea:focus{border-color: #d9342b; box-shadow: 0 0 0 4px rgba(217, 52, 43, .1);}
.reservation-submit{width: 100%; justify-content: center; margin-top: 20px;}
.elementor .reservation-submit{width: 100%; justify-content: center; margin-top: 20px;}
.reservation-success{display: none; margin-top: 15px; padding: 13px 15px; border-radius: 6px; background: #ecf8f1; color: #17683c; font-size: 14px; font-weight: 700;}
.elementor .reservation-success{display: none; margin-top: 15px; padding: 13px 15px; border-radius: 6px; background: #ecf8f1; color: #17683c; font-size: 14px; font-weight: 700;}
.reservation-success.show{display: block;}
.elementor .reservation-success.show{display: block;}
@media (max-width: 640px){.reservation-modal{align-items: end; padding: 10px;}
.elementor .reservation-modal{align-items: end; padding: 10px;}
.reservation-dialog{max-height: calc(100vh - 20px); padding: 22px; border-radius: 10px;}
.elementor .reservation-dialog{max-height: calc(100vh - 20px); padding: 22px; border-radius: 10px;}
.reservation-head h2{font-size: 24px;}
.elementor .reservation-head h2{font-size: 24px;}
.reservation-grid{grid-template-columns: 1fr;}
.elementor .reservation-grid{grid-template-columns: 1fr;}
.reservation-field.full{grid-column: auto;}
.elementor .reservation-field.full{grid-column: auto;}}