/* Damal Restaurants v2.52 — premium calendar, 24-hour time slots and smart phone input */
.reservation-card-v251 .booking-field{position:relative;min-width:0}.reservation-card-v251 .booking-field>.field-label{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:800;color:#edd99c;margin:0 0 7px}.booking-trigger{width:100%;height:52px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#fff;color:#18362c;font-size:16px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left;transition:border-color .18s ease,box-shadow .18s ease}.booking-trigger:hover,.booking-trigger:focus-visible{border-color:#e4b33b;box-shadow:0 0 0 3px rgba(228,179,59,.14);outline:none}.booking-trigger:disabled{cursor:not-allowed;color:#7d8a84;background:#f2f4f2;box-shadow:none}.booking-trigger-icon{font-size:17px;color:#0b4a3b;line-height:1}.booking-trigger-value.has-value{font-weight:750;color:#0b4a3b}
.calendar-popover-v252,.time-popover-v252{position:absolute;z-index:80;top:calc(100% + 9px);left:0;width:min(360px,calc(100vw - 36px));background:#fff;color:#18362c;border:1px solid rgba(7,63,50,.16);border-radius:18px;box-shadow:0 22px 58px rgba(0,0,0,.24);padding:15px}.calendar-popover-v252[hidden],.time-popover-v252[hidden]{display:none!important}.calendar-head-v252{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin-bottom:13px}.calendar-head-v252 strong{text-align:center;font-family:Georgia,'Times New Roman',serif;font-size:19px;color:#073f32}.calendar-nav{width:40px;height:40px;border:1px solid #e5e2d8;border-radius:11px;background:#faf8f2;color:#073f32;font-size:18px;cursor:pointer}.calendar-nav:hover{background:#073f32;color:#fff;border-color:#073f32}.calendar-nav:disabled{opacity:.32;cursor:not-allowed}.calendar-weekdays-v252,.calendar-grid-v252{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays-v252{margin-bottom:6px}.calendar-weekdays-v252 span{text-align:center;font-size:10px;font-weight:900;letter-spacing:.05em;color:#8d887c}.calendar-grid-v252 button,.calendar-grid-v252 .calendar-empty{aspect-ratio:1/1;min-height:36px}.calendar-grid-v252 button{border:0;border-radius:10px;background:transparent;color:#213b33;font-weight:700;cursor:pointer}.calendar-grid-v252 button:hover{background:#f3ead2}.calendar-grid-v252 button.is-today{box-shadow:inset 0 0 0 1px #d7a329;color:#8d6500}.calendar-grid-v252 button.is-selected{background:#073f32;color:#fff;box-shadow:none}.calendar-grid-v252 button:disabled{color:#c8c8c1;cursor:not-allowed;background:transparent;text-decoration:line-through}.calendar-foot-v252{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:12px;margin-top:10px;border-top:1px solid #eee9df}.calendar-foot-v252 button{border:0;background:transparent;color:#0a503f;font-weight:850;cursor:pointer;padding:7px 4px}.calendar-close-v252{color:#777!important}
.time-popover-v252{width:min(430px,calc(100vw - 36px))}.time-grid-v252{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:248px;overflow:auto;padding:1px}.time-grid-v252 button{min-height:42px;border:1px solid #e8e2d5;background:#fbf9f4;color:#123c31;border-radius:10px;font-weight:850;font-variant-numeric:tabular-nums;cursor:pointer}.time-grid-v252 button:hover{background:#efe3c3;border-color:#dcb03e}.time-grid-v252 button.is-selected{background:#073f32;color:#fff;border-color:#073f32}.time-grid-v252 button:disabled{opacity:.34;cursor:not-allowed;text-decoration:line-through}.time-help-v252{font-size:10px;color:#777;margin:11px 2px 0;line-height:1.45}
.phone-field-v252{min-width:0}.phone-combo-v252{display:grid;grid-template-columns:118px minmax(0,1fr);height:52px;background:#fff;border-radius:12px;border:1px solid rgba(255,255,255,.14);overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}.phone-combo-v252:focus-within{border-color:#e4b33b;box-shadow:0 0 0 3px rgba(228,179,59,.18)}.reservation-card-v251 .phone-country-v252,.reservation-card-v251 .phone-local-v252{border:0!important;border-radius:0!important;box-shadow:none!important;margin:0!important;height:50px!important;background:#fff!important}.reservation-card-v251 .phone-country-v252{padding:0 8px!important;font-size:14px!important;font-weight:800;color:#0b4a3b!important;border-right:1px solid #e8e2d8!important}.reservation-card-v251 .phone-local-v252{padding:0 12px!important;min-width:0}.phone-hint-v252{display:block;margin-top:6px;color:rgba(255,255,255,.48);font-size:9px;line-height:1.4}.phone-field-v252.is-invalid .phone-combo-v252{border-color:#e37d68;box-shadow:0 0 0 3px rgba(227,125,104,.15)}
@media(max-width:760px){.calendar-popover-v252,.time-popover-v252{position:fixed;z-index:999;left:16px;right:16px;bottom:16px;top:auto;width:auto;max-width:none;border-radius:22px;padding:17px;box-shadow:0 -18px 60px rgba(0,0,0,.34)}.calendar-grid-v252 button,.calendar-grid-v252 .calendar-empty{min-height:42px}.time-grid-v252{grid-template-columns:repeat(3,minmax(0,1fr));max-height:310px}.phone-combo-v252{grid-template-columns:112px minmax(0,1fr)}}
@media(max-width:440px){.time-grid-v252{grid-template-columns:repeat(3,minmax(0,1fr))}.phone-combo-v252{grid-template-columns:108px minmax(0,1fr)}.reservation-card-v251 .phone-country-v252{font-size:13px!important}.calendar-popover-v252,.time-popover-v252{left:10px;right:10px;bottom:10px}}
