/* Damal Restaurants v2.51 — premium compact reservation */
.newsletter-band{display:none!important}
.reservation-v251{position:relative;display:grid!important;grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr)!important;gap:clamp(34px,5vw,84px)!important;align-items:center!important;padding:clamp(58px,7vw,96px) clamp(28px,6.5vw,96px)!important;background:#10291f!important;color:#fff!important;overflow:hidden!important}
.reservation-v251.with-res-photo:before{content:"";position:absolute;inset:0;background-image:var(--res-photo);background-size:cover;background-position:center;opacity:.22;transform:scale(1.02)}
.reservation-v251 .reservation-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,35,27,.98) 0%,rgba(9,35,27,.94) 45%,rgba(9,35,27,.86) 100%)!important}
.reservation-v251 .reservation-intro,.reservation-v251 .reservation-card-v251{position:relative;z-index:2;min-width:0}
.reservation-v251 .reservation-intro{max-width:600px}
.reservation-v251 .reservation-intro>small{display:block;color:#e4b33b;font-size:12px;font-weight:900;letter-spacing:.24em;margin-bottom:18px}
.reservation-v251 .reservation-intro h2{font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(50px,5vw,82px)!important;line-height:.96!important;letter-spacing:-.04em!important;margin:0 0 24px!important;max-width:760px}
.reservation-v251 .reservation-intro>p{font-size:clamp(17px,1.45vw,21px);line-height:1.65;color:rgba(255,255,255,.78);max-width:560px;margin:0}
.reservation-reassurance{display:flex;align-items:flex-start;gap:12px;margin-top:34px;padding-top:25px;border-top:1px solid rgba(255,255,255,.14);max-width:510px}
.reservation-reassurance>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e4b33b;color:#0d3025;font-weight:900;flex:0 0 auto}
.reservation-reassurance strong{display:block;font-size:14px;margin:0 0 4px}.reservation-reassurance small{display:block;color:rgba(255,255,255,.62);font-size:12px;line-height:1.5}
.reservation-card-v251{display:block!important;background:rgba(255,255,255,.095)!important;border:1px solid rgba(255,255,255,.12);border-radius:26px!important;padding:clamp(22px,3vw,38px)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 24px 65px rgba(0,0,0,.22)}
.reservation-form-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:25px}.reservation-form-heading small{display:block;color:#e4b33b;font-size:10px;font-weight:900;letter-spacing:.18em;margin-bottom:5px}.reservation-form-heading h3{font:700 clamp(24px,2.4vw,34px) Georgia,serif;margin:0;color:#fff}.reservation-step{font-size:11px;color:rgba(255,255,255,.58);white-space:nowrap}
.reservation-fields{display:grid;gap:14px}.reservation-primary-fields{grid-template-columns:1.35fr 1fr 1fr .82fr}.reservation-contact-fields{grid-template-columns:1fr 1fr 1fr}
.reservation-card-v251 label,.reservation-card-v251 .guest-field{display:block;min-width:0}.reservation-card-v251 label>span,.reservation-card-v251 .field-label{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:800;color:#edd99c;margin:0 0 7px}.reservation-card-v251 em{font-style:normal;font-weight:500;color:rgba(255,255,255,.45)}
.reservation-card-v251 input,.reservation-card-v251 select,.reservation-card-v251 textarea{display:block;width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.14)!important;border-radius:12px!important;background:#fff!important;color:#18362c!important;font-size:16px!important;outline:none!important;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.reservation-card-v251 input,.reservation-card-v251 select{height:52px;padding:0 14px!important;margin:0!important}.reservation-card-v251 textarea{min-height:92px;padding:13px 14px!important;resize:vertical}.reservation-card-v251 input:focus,.reservation-card-v251 select:focus,.reservation-card-v251 textarea:focus{border-color:#e4b33b!important;box-shadow:0 0 0 3px rgba(228,179,59,.18)!important}
.guest-stepper{height:52px;background:#fff;border-radius:12px;display:grid;grid-template-columns:42px 1fr 42px;overflow:hidden;border:1px solid rgba(255,255,255,.14)}.guest-stepper input{height:50px!important;border:0!important;border-radius:0!important;text-align:center;padding:0!important;-moz-appearance:textfield}.guest-stepper input::-webkit-outer-spin-button,.guest-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.guest-stepper button{border:0;background:#f6f1e6;color:#0c4b3c;font-size:24px;font-weight:600;cursor:pointer;min-width:42px}.guest-stepper button:hover{background:#e8b236;color:#fff}
.reservation-divider{display:flex;align-items:center;gap:12px;margin:22px 0 14px;color:rgba(255,255,255,.45);font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.reservation-divider:before,.reservation-divider:after{content:"";height:1px;background:rgba(255,255,255,.11);flex:1}.reservation-divider span{white-space:nowrap}
.special-request{margin-top:16px;border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.10)}.special-request summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:14px 0;color:#f2dfaa;font-size:12px;font-weight:800}.special-request summary::-webkit-details-marker{display:none}.special-request summary span{font-size:20px;transition:transform .2s ease}.special-request[open] summary span{transform:rotate(45deg)}.special-request label{padding:0 0 16px}
.reservation-summary{display:flex;align-items:center;gap:12px;margin-top:18px;padding:14px 16px;border-radius:14px;background:rgba(0,0,0,.15);border:1px solid rgba(255,255,255,.08)}.reservation-summary small{font-size:9px;font-weight:900;letter-spacing:.16em;color:#e4b33b;white-space:nowrap}.reservation-summary strong{font-size:13px;font-weight:700;color:#fff;line-height:1.4}
.reservation-submit{width:100%!important;min-height:56px!important;margin-top:16px!important;padding:0 20px!important;border:0!important;border-radius:999px!important;background:linear-gradient(135deg,#efbf44,#d99e25)!important;color:#fff!important;font-size:15px!important;font-weight:900!important;letter-spacing:.01em;cursor:pointer;box-shadow:0 10px 24px rgba(215,156,35,.20);transition:transform .18s ease,box-shadow .18s ease}.reservation-submit:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(215,156,35,.26)}.reservation-submit span{margin-left:7px;font-size:20px;vertical-align:-1px}.reservation-submit:disabled{opacity:.65;cursor:wait;transform:none}
.reservation-confirmation-note{text-align:center;margin:10px 0 0;color:rgba(255,255,255,.52);font-size:10px;line-height:1.45}.reservation-card-v251 #reservation-message{margin:8px 0 0!important;text-align:center!important;font-size:12px}.reservation-card-v251 #reservation-message.ok{color:#bfe6cf}.reservation-card-v251 #reservation-message.bad{color:#ffd0c7}
@media(max-width:1180px){.reservation-v251{grid-template-columns:1fr!important}.reservation-v251 .reservation-intro{max-width:760px}.reservation-v251 .reservation-intro h2{max-width:700px}.reservation-card-v251{max-width:900px}.reservation-primary-fields{grid-template-columns:1.35fr 1fr 1fr .8fr}.reservation-contact-fields{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.reservation-v251{padding:48px 22px 58px!important;gap:30px!important}.reservation-v251 .reservation-intro h2{font-size:clamp(46px,12vw,64px)!important}.reservation-v251 .reservation-intro>p{font-size:17px}.reservation-reassurance{margin-top:26px}.reservation-card-v251{border-radius:20px!important;padding:20px!important}.reservation-form-heading{align-items:flex-start;flex-direction:column;gap:5px}.reservation-step{white-space:normal}.reservation-primary-fields{grid-template-columns:1fr 1fr}.field-location{grid-column:1/-1}.reservation-contact-fields{grid-template-columns:1fr}.reservation-card-v251 input,.reservation-card-v251 select{height:50px}.guest-stepper{height:50px}.guest-stepper input{height:48px!important}.reservation-summary{align-items:flex-start;flex-direction:column;gap:5px}}
@media(max-width:440px){.reservation-v251{padding-left:18px!important;padding-right:18px!important}.reservation-primary-fields{grid-template-columns:1fr}.field-location{grid-column:auto}.reservation-card-v251{padding:18px!important}.reservation-v251 .reservation-intro h2{font-size:46px!important}.reservation-reassurance{display:none}.reservation-summary{padding:12px 13px}.reservation-submit{min-height:54px!important}}
