.reservation-form{width:100%;padding-bottom:2rem;font-family:inherit}.reservation-card{background-color:var(--site-color-1,#cb5544);border:1px solid #0000000d;border-radius:1rem;margin-bottom:1.5rem;padding:1.5rem;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 20px #0000000d}.reservation-card:hover{box-shadow:0 6px 25px #00000014}.primary-card{border-left:4px solid var(--site-color-1,#cb5544)}.reservation-card-title{color:var(--site-color-3,#062430);align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:1.1rem;font-weight:700;display:flex}.reservation-grid-2,.reservation-grid-1{grid-template-columns:1fr;gap:1.25rem;display:grid}.reservation-row-group{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (min-width:768px){.reservation-grid-2,.reservation-grid-1{grid-template-columns:repeat(2,1fr)}}.reservation-input-group{flex-direction:column;gap:.5rem;display:flex;position:relative}.reservation-label{color:var(--site-color-3,#062430);opacity:.8;white-space:nowrap;text-overflow:ellipsis;margin-left:.25rem;font-size:.85rem;font-weight:600;overflow:hidden}.required-mark{color:#ef4444;margin-left:.1rem}.reservation-input-wrapper{align-items:center;display:flex;position:relative}.reservation-input{background-color:var(--site-color-2,#f3f4f6);width:100%;min-height:3rem;color:var(--site-color-3,#062430);border:1px solid #e5e7eb;border-radius:.75rem;outline:none;padding:.875rem 1rem;font-size:.95rem;transition:all .2s}.reservation-input.has-icon{padding-left:2.75rem}.reservation-input-icon{color:var(--site-color-3,#062430);opacity:.5;pointer-events:none;z-index:10;position:absolute;left:1rem}.reservation-input:focus{background-color:var(--site-color-1,#cb5544);border-color:var(--site-color-1,#cb5544);color:var(--site-color-3,#062430);box-shadow:0 0 0 4px #cb55441a}.reservation-input:hover{border-color:#d1d5db}.reservation-form .phone-input-container{gap:.5rem;width:100%;display:flex}.reservation-form .phone-country-select{background-color:var(--site-color-2,#f3f4f6);width:auto;min-width:7.5rem;max-width:10rem;min-height:3rem;color:var(--site-color-3,#062430);cursor:pointer;border:1px solid #e5e7eb;border-radius:.75rem;outline:none;flex-shrink:0;padding:.875rem .75rem;font-size:.95rem;transition:all .2s}.reservation-form .phone-country-select:hover{border-color:#d1d5db}.reservation-form .phone-country-select:focus{background-color:var(--site-color-1,#cb5544);border-color:var(--site-color-1,#cb5544);box-shadow:0 0 0 4px #cb55441a}.reservation-form .phone-number-input{flex:1;min-width:0}select.reservation-input{appearance:none;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:16px;padding-right:2.5rem;overflow:hidden}.textarea-wrapper{align-items:flex-start}.textarea-icon{top:1rem}.textarea-input{resize:vertical;min-height:100px;padding-top:.875rem}.reservation-submit-btn{cursor:pointer;background-color:var(--site-color-1,#cb5544);width:100%;color:var(--site-color-3,#062430);border:none;border-radius:.75rem;margin-top:1rem;padding:1.1rem;font-size:1.1rem;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 10px 20px -5px #00000026}.reservation-submit-btn:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 15px 30px -5px #0003}.reservation-submit-btn:active:not(:disabled){transform:translateY(0)}.reservation-submit-btn:disabled{opacity:.7;cursor:not-allowed;filter:grayscale(.5)}.reservation-error-banner{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:.75rem;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;padding:1rem;animation:.3s ease-out slideIn;display:flex}.reservation-error-icon{color:#fff;background-color:#ef4444;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:.1rem;font-size:.8rem;font-weight:700;display:flex}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}input[type=date],input[type=time]{-webkit-appearance:none;align-items:center;min-height:3rem;display:flex}@media (max-width:640px){.reservation-card{margin-bottom:1rem;padding:1rem}.reservation-input{padding-top:.75rem;padding-bottom:.75rem;font-size:16px}.reservation-input.has-icon{padding-left:2.5rem}.reservation-input-icon{left:.75rem}.reservation-form .phone-country-select,.reservation-form .phone-number-input{font-size:16px}.reservation-form .phone-country-select{min-width:6.75rem;padding-left:.5rem;padding-right:.5rem}.reservation-submit-btn{z-index:50;margin-bottom:1rem;position:sticky;bottom:1rem;box-shadow:0 4px 20px #0000004d}}
