:root{--color-gold: #d4af37;--color-gold-light: #f3e5ab;--color-black: #1a1a1a;--color-dark-gray: #333333;--color-light-gray: #f9f9f9;--color-border: #e0e0e0;--shadow-soft: 0 10px 30px rgba(0, 0, 0, .05);--shadow-hover: 0 15px 40px rgba(0, 0, 0, .1);--radius-card: 16px;--radius-input: 8px;--font-serif: "Playfair Display", Georgia, serif;--font-sans: "Inter", system-ui, -apple-system, sans-serif}.reservation-container{max-width:800px;margin:0 auto;padding:0 1.5rem;font-family:var(--font-sans);color:var(--color-black)}.reservation-section{padding-top:1.5rem!important;padding-bottom:2rem!important}.reservation-header{text-align:center;margin-bottom:4rem}.reservation-header h1{font-family:var(--font-serif);font-size:3rem;margin-bottom:1rem;color:var(--color-black);position:relative;display:inline-block}.reservation-header h1:after{content:"";display:block;width:60px;height:3px;background-color:var(--color-gold);margin:1rem auto 0}.reservation-header p{font-size:1.1rem;color:#666;max-width:600px;margin:0 auto;line-height:1.6}.reservation-form-modern{display:flex;flex-direction:column;gap:2rem}.info-item{background:#fff;padding:1rem;border-radius:12px;display:flex;align-items:flex-start;gap:1rem;box-shadow:0 2px 8px #0000000d}.info-item i{color:#1a1a1a;font-size:1.25rem;margin-top:.2rem;flex-shrink:0}.info-item p{margin:0;color:#666;font-size:.95rem;line-height:1.5}.form-card{background:#fff;padding:2.5rem;border-radius:var(--radius-card);box-shadow:var(--shadow-soft);border:1px solid rgba(0,0,0,.02);transition:transform .3s ease,box-shadow .3s ease}.form-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)}.card-label,.card-header{font-family:var(--font-serif);font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;color:var(--color-black);display:flex;align-items:center;gap:.75rem}.card-header i{color:var(--color-gold)}.input-group,.select-group{margin-bottom:1.5rem;position:relative}.input-group input,.input-group textarea,.select-group select{width:100%;padding:1rem 1.25rem;font-size:1rem;border:1px solid var(--color-border);border-radius:var(--radius-input);background-color:var(--color-light-gray);transition:all .3s ease;font-family:var(--font-sans)}.input-group input:focus,.input-group textarea:focus,.select-group select:focus{outline:none;border-color:var(--color-gold);background-color:#fff;box-shadow:0 0 0 4px #d4af371a}.input-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.9rem;color:var(--color-dark-gray)}.date-picker-container input[type=date]{appearance:none;-webkit-appearance:none;padding:1rem;font-size:1.1rem;color:var(--color-black);background-color:#fff;border:2px solid var(--color-light-gray);cursor:pointer}.date-picker-container input[type=date]:focus{border-color:var(--color-gold)}#selectedDateDisplay{font-size:1.2rem;color:var(--color-gold);font-weight:500}.guests-selector{display:flex;align-items:center;justify-content:center;gap:1.5rem;background-color:var(--color-light-gray);padding:1rem;border-radius:var(--radius-input)}.guests-btn{width:40px;height:40px;border-radius:50%;border:none;background-color:#fff;color:var(--color-black);font-size:1rem;cursor:pointer;box-shadow:0 2px 5px #0000001a;transition:all .2s;display:flex;align-items:center;justify-content:center}.guests-btn:hover{background-color:var(--color-gold);color:#fff;transform:scale(1.1)}.guests-selector input{width:60px;text-align:center;font-size:1.5rem;font-weight:700;border:none;background:transparent;font-family:var(--font-serif)}.cta-button{width:100%;padding:1.25rem;font-size:1.1rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:#fff;background-color:var(--color-black);border:none;border-radius:var(--radius-input);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}.cta-button:hover{background-color:var(--color-gold);transform:translateY(-2px);box-shadow:0 10px 20px #d4af3733}.reservation-success-modern{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#166534;padding:1.5rem;border-radius:var(--radius-input);display:flex;align-items:center;gap:1rem;margin-top:2rem;animation:slideIn .5s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.reservation-container{padding:0 1rem}.reservation-header h1{font-size:2.2rem}.form-card{padding:1.5rem}.reservation-section{padding-top:1rem!important;padding-bottom:1.5rem!important}}
