@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap);body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}div[data-hot-toast-toaster]{z-index:2000!important}.navbar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#2c3e50f2;border-bottom:1px solid #ffffff1a;box-shadow:var(--shadow-medium);padding:1.25rem 0;position:sticky;top:0;transition:var(--transition-medium);z-index:1000}.navbar.scrolled{background:#2c3e50fa;box-shadow:var(--shadow-heavy);padding:.75rem 0}.navbar-container{justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 2rem}.navbar-container,.navbar-left{align-items:center;display:flex}.navbar-left{gap:1rem}.navbar-brand{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary-color),var(--primary-light));-webkit-background-clip:text;background-clip:text;color:var(--primary-color);font-size:1.75rem;font-weight:800;position:relative;text-decoration:none;transition:var(--transition-medium)}.navbar-brand:after{background:linear-gradient(90deg,var(--primary-color),var(--primary-light));border-radius:2px;bottom:-5px;content:"";height:3px;left:0;position:absolute;transition:width .3s ease;width:0}.navbar-brand:hover:after{width:100%}.navbar-brand:hover{transform:translateY(-2px)}.navbar-instagram{align-items:center;border-radius:50%;display:flex;justify-content:center;opacity:.9;padding:.5rem;text-decoration:none;transition:var(--transition-medium)}.navbar-instagram:hover{background:#ffffff1a;opacity:1;transform:translateY(-2px) scale(1.1)}.navbar-menu{align-items:center;display:flex;gap:2.5rem}.navbar-menu .navbar-link{margin:0}.navbar-link{color:#ffffffe6;font-size:.95rem;font-weight:500;padding:.5rem 0;position:relative;text-decoration:none}.navbar-link,.navbar-link:before{transition:var(--transition-medium)}.navbar-link:before{background:var(--primary-color);border-radius:1px;bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:0}.navbar-link:hover{color:#fff;transform:translateY(-1px)}.navbar-link:hover:before{width:100%}.navbar-auth{align-items:center;display:flex;gap:1rem}.navbar-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000;border:2px solid var(--primary-color);border-radius:var(--border-radius);color:var(--primary-color);cursor:pointer;font-size:.9rem;font-weight:600;overflow:hidden;padding:.75rem 1.5rem;position:relative;text-decoration:none;transition:var(--transition-medium)}.navbar-button:before{background:var(--primary-color);content:"";height:100%;left:-100%;position:absolute;top:0;transition:var(--transition-medium);width:100%;z-index:-1}.navbar-button:hover:before{left:0}.navbar-button:hover{box-shadow:0 5px 15px #e74c3c66;color:#fff;transform:translateY(-2px)}.navbar-button.primary{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));border-color:#0000;box-shadow:0 4px 15px #e74c3c4d;color:#fff}.navbar-button.primary:before{background:linear-gradient(135deg,var(--primary-dark),var(--secondary-color))}.navbar-button.primary:hover{box-shadow:0 6px 20px #e74c3c66}.navbar-button.logout{border-color:var(--text-light);color:var(--text-light)}.navbar-button.logout:before{background:var(--text-light)}.navbar-button.logout:hover{box-shadow:0 5px 15px #95a5a64d}.hamburger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;padding:.5rem;z-index:1001}.hamburger,.hamburger span{transition:var(--transition-medium)}.hamburger span{background:#fff;border-radius:2px;height:3px;margin:3px 0;width:25px}.hamburger.active span:first-child{transform:rotate(-45deg) translate(-5px,6px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}.navbar-overlay{background:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:999}body.menu-open{height:100%!important;overflow:hidden!important;position:fixed!important;width:100%!important}@media (max-width:768px){.navbar{padding:1rem 0}.navbar-container{padding:0 1.5rem;position:relative}.hamburger{display:flex}.navbar-menu{display:none}.navbar-menu-mobile{align-items:stretch;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);background:#2c3e50f2;border:1px solid #ffffff1a;border-radius:0 0 16px 16px;border-top:none;box-shadow:0 10px 25px #00000026;display:flex;flex-direction:column;justify-content:flex-start;left:0;max-height:0;opacity:0;overflow:hidden;padding:0;position:absolute;right:0;top:calc(100% + .5rem);transform:scale(.95) translateY(-10px);transition:all .3s cubic-bezier(.4,0,.2,1);visibility:hidden;z-index:1000}.navbar-menu-mobile.active{-webkit-overflow-scrolling:touch;max-height:calc(100vh - 120px);opacity:1;overflow-x:hidden;overflow-y:auto;transform:scale(1) translateY(0);visibility:visible}.navbar-menu-mobile .navbar-link{border-radius:8px;color:#ffffffe6;display:block;font-size:1.2rem;font-weight:500;margin:0 1rem;padding:.625rem 1.5rem;position:relative;text-align:left;text-decoration:none;transition:all .2s ease}.navbar-menu-mobile .navbar-link:first-child{margin-top:.5rem}.navbar-menu-mobile .navbar-link:last-of-type{margin-bottom:0}.navbar-menu-mobile .navbar-link:after{display:none}.navbar-menu-mobile .navbar-link:hover{background:#ffffff1a;color:#fff;transform:translateX(3px)}.navbar-menu-mobile .navbar-auth{border-top:1px solid #ffffff1a;display:flex;flex-direction:column;gap:.375rem;margin:.5rem 1rem;padding-bottom:.5rem;padding-top:.5rem}.navbar-menu-mobile .navbar-button{border-radius:8px;font-size:1.1rem;font-weight:600;padding:.625rem 1.25rem;text-align:center;transition:all .2s ease;width:100%}.navbar-menu-mobile .navbar-button:hover{transform:translateY(-1px)}.navbar-brand{font-size:1.5rem}}@media (max-width:480px){.navbar-brand{font-size:1.3rem}.navbar-menu-mobile .navbar-link{font-size:1.1rem;margin:0 .75rem;padding:.625rem 1rem}.navbar-menu-mobile .navbar-link:first-child{margin-top:.375rem}.navbar-menu-mobile .navbar-auth{margin:.375rem .75rem;padding-bottom:.375rem;padding-top:.375rem}.navbar-menu-mobile .navbar-button{font-size:1rem;padding:.625rem 1rem}}@media (min-width:769px){.hamburger{display:none}.navbar-menu{background:none;border:none;border-radius:0;box-shadow:none;display:flex;flex-direction:row;gap:2.5rem;height:auto;max-height:none;opacity:1;overflow:visible;padding:0;position:static;transform:none;visibility:visible;width:auto}.navbar-link{border-radius:0;color:#ffffffe6;font-size:.95rem;font-weight:500;margin:0;padding:.5rem 0;position:relative}.navbar-link:before{background:var(--primary-color);border-radius:1px;bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:var(--transition-medium);width:0}.navbar-link:hover{background:none;color:#fff;transform:translateY(-1px)}.navbar-link:hover:before{width:100%}.navbar-link:first-child{margin-top:0}.navbar-link:last-of-type{margin-bottom:0}.navbar-auth{border:none;flex-direction:row;gap:1rem;margin:0;padding:0}.navbar-button{border-radius:var(--border-radius);font-size:.9rem;padding:.75rem 1.5rem;width:auto}.navbar-overlay{display:none}}.language-selector{bottom:20px;position:fixed;right:20px;z-index:1000}.language-selector-button{-webkit-tap-highlight-color:transparent;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:50%;box-shadow:0 2px 12px #00000026;cursor:pointer;display:flex;height:56px;justify-content:center;padding:0;touch-action:manipulation;transition:all .2s ease;width:56px}.language-selector-button:hover{background:#f9fafb;box-shadow:0 4px 20px #00000040;transform:translateY(-2px) scale(1.05)}.flag{align-items:center;display:flex;font-size:28px;justify-content:center;line-height:1}.language-dropdown{animation:dropdownSlideUp .2s ease;background:#fff;border:1px solid #e5e7eb;border-radius:12px;bottom:calc(100% + 12px);box-shadow:0 10px 25px #0000001f;min-width:200px;overflow:hidden;position:absolute;right:0}@keyframes dropdownSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.language-option{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:none;color:#374151;cursor:pointer;display:flex;font-size:14px;gap:12px;padding:12px 16px;position:relative;text-align:left;touch-action:manipulation;transition:all .15s ease;width:100%}.language-option:hover{background:#f3f4f6;color:#111827}.language-option.active{background:#eff6ff;color:#1e40af;font-weight:500}.language-option:not(:last-child){border-bottom:1px solid #f3f4f6}.lang-name{flex:1 1}.check-icon{color:#1e40af;flex-shrink:0}@media (hover:none) and (pointer:coarse){.language-selector-button:hover{background:#fff;box-shadow:0 2px 12px #00000026;transform:none}.language-option:hover{background:none;color:#374151}}@media (max-width:768px){.language-selector{bottom:15px;right:15px}.language-selector-button{height:52px;width:52px}.flag{font-size:26px}.language-dropdown{min-width:180px}.language-option{font-size:14px;padding:12px 16px}}.reservation-layout{margin:0 auto;max-width:1200px;min-height:80vh;padding:2rem}.reservation-header{margin-bottom:3rem;text-align:center}.reservation-header h1{color:#1f2937;font-size:2.5rem;font-weight:700;margin:0 0 1rem;text-shadow:0 1px 2px #0000001a}.reservation-header p{color:#6b7280;font-size:1.1rem;margin:0}.restaurant-name{margin-bottom:1.5rem}.restaurant-name h2{color:#e74c3c;font-size:1.8rem;font-weight:600;letter-spacing:-.025em;margin:0;text-align:center}.reservation-content{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:1fr 1fr}.selection-panel{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 24px #0000001a;padding:2rem}.panel-section{margin-bottom:2.5rem}.panel-section:last-child{margin-bottom:0}.panel-section h3{align-items:center;color:#374151;display:flex;font-size:1.2rem;font-weight:600;gap:.5rem;margin:0 0 1rem}.party-size-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr);margin-bottom:1rem}.party-size-button{align-items:center;aspect-ratio:1;background:#fff;border:2px solid #e5e7eb;border-radius:12px;color:#374151;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;justify-content:center;transition:all .2s ease}.party-size-button:hover{background:#eff6ff;border-color:#3b82f6;transform:translateY(-1px)}.party-size-button.selected{background:#3b82f6;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f64d;color:#fff}.party-size-select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:.9rem;padding:.75rem 1rem;transition:border-color .2s ease;width:100%}.party-size-select:focus{border-color:#3b82f6;outline:none}.date-picker{background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;font-size:1.1rem;padding:1rem;position:relative;transition:all .2s ease;width:100%}.date-picker:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.date-picker:hover{background:#eff6ff;border-color:#3b82f6}.date-picker::-webkit-calendar-picker-indicator{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="%233b82f6" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>');background-position:50%;background-repeat:no-repeat;background-size:20px;cursor:pointer;opacity:.7;-webkit-transition:opacity .2s ease;transition:opacity .2s ease}.date-picker:hover::-webkit-calendar-picker-indicator{opacity:1}.calendar-container{width:100%}.calendar-widget{background:#fff;border:2px solid #e5e7eb;border-radius:12px;overflow:hidden}.calendar-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem}.calendar-month-year{color:#374151;font-size:1.1rem;font-weight:600;margin:0}.calendar-nav-button{align-items:center;background:#fff;border:none;border-radius:8px;box-shadow:0 1px 3px #0000001a;color:#6b7280;cursor:pointer;display:flex;font-size:1.2rem;height:36px;justify-content:center;transition:all .2s ease;width:36px}.calendar-nav-button:hover{background:#3b82f6;color:#fff;transform:translateY(-1px)}.calendar-day-names{background:#f8fafc;border-bottom:1px solid #e5e7eb;display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day-name{color:#6b7280;font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:.75rem .5rem;text-align:center;text-transform:uppercase}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-date{align-items:center;aspect-ratio:1;background:#fff;border:1px solid #f3f4f6;border-left:none;border-top:none;color:#374151;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;justify-content:center;transition:all .2s ease}.calendar-date:hover:not(:disabled){background:#eff6ff;color:#3b82f6;transform:scale(1.05)}.calendar-date-selected{background:#3b82f6!important;box-shadow:inset 0 0 0 2px #1d4ed8;color:#fff!important;font-weight:600}.calendar-date-today{background:#fef3c7;color:#d97706;font-weight:600}.calendar-date-today.calendar-date-selected{background:#3b82f6!important;color:#fff!important}.calendar-date-disabled{background:#f9fafb!important;color:#d1d5db!important;cursor:not-allowed!important}.calendar-date-disabled:hover{background:#f9fafb!important;transform:none!important}.calendar-date-other-month{background:#f9fafb;color:#d1d5db}.calendar-date-other-month:hover{background:#f9fafb;cursor:default;transform:none}.time-slots-container{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.time-slot-button{background:#fff;border:2px solid #e5e7eb;border-radius:10px;color:#374151;cursor:pointer;font-size:1rem;font-weight:500;padding:1rem .5rem;text-align:center;transition:all .2s ease}.time-slot-button:hover{background:#ecfdf5;border-color:#10b981;transform:translateY(-1px)}.time-slot-button.selected{background:#10b981;border-color:#10b981;box-shadow:0 4px 12px #10b9814d;color:#fff}.time-slot-button.unavailable{background:#f9fafb!important;border-color:#d1d5db!important;color:#9ca3af!important;cursor:not-allowed!important;opacity:.6}.time-slot-button.unavailable:hover{background:#f9fafb!important;border-color:#d1d5db!important;box-shadow:none!important;transform:none!important}.no-availability{background:#f9fafb;border-radius:8px;color:#6b7280;line-height:1.6;padding:2rem;text-align:center}.no-availability small{color:#9ca3af;font-size:.85rem}.details-panel{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 24px #0000001a;padding:2rem}.details-panel h3{align-items:center;color:#374151;display:flex;font-size:1.2rem;font-weight:600;gap:.5rem;margin:0 0 2rem}.form-row{margin-bottom:1.5rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{color:#374151;font-size:.95rem;font-weight:600}.form-field input,.form-field textarea{background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;padding:.875rem 1rem;transition:all .2s ease}.form-field input:focus,.form-field textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.privacy-hint{color:#6b7280;font-size:.75rem;line-height:1.45;margin-top:-.1rem}.form-field textarea{font-family:inherit;min-height:80px;resize:vertical}.special-requests-section{margin-bottom:1.5rem;margin-top:1.5rem}.special-requests-section label{color:#374151;display:block;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.special-requests-textarea{background:#fff;border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:1rem;min-height:120px;padding:.875rem 1rem;resize:vertical;transition:all .2s ease;width:100%}.special-requests-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.message{align-items:center;border-radius:8px;display:flex;font-weight:500;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.message-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.message-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.message-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.message-icon{flex-shrink:0;font-size:1.2rem}.reserve-button{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:12px;box-shadow:0 4px 16px #3b82f64d;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:.75rem;justify-content:center;padding:1rem 1.5rem;transition:all .2s ease;width:100%}.reserve-button:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.reserve-button:disabled{background:#d1d5db;box-shadow:none;cursor:not-allowed;transform:none}.button-spinner,.loading-spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:20px;width:20px}.button-spinner{border-top-color:#fff}.panel-section{scroll-margin-top:100px;transition:all .3s ease}.panel-section.highlighted,.panel-section:target{background:#eff6ff80;border-radius:12px;box-shadow:0 8px 25px #3b82f626;margin:-1rem;padding:1rem;transform:scale(1.02)}@media (max-width:768px){.form-field input:focus,.form-field textarea:focus{box-shadow:0 0 0 3px #3b82f633,0 4px 12px #0000001a;transform:scale(1.02)}.party-size-button:hover,.time-slot-button:hover{transform:translateY(-2px) scale(1.05)}.calendar-date:hover:not(:disabled){box-shadow:0 4px 12px #3b82f64d;transform:scale(1.1)}}.time-slots-container{animation:slideInUp .5s ease-out}.details-panel{animation:slideInUp .6s ease-out}@media (max-width:768px){.reservation-content:before{background:linear-gradient(90deg,#3b82f6,#10b981);content:"";height:3px;left:0;position:fixed;top:0;transition:width .3s ease;width:33%;width:var(--progress,33%);z-index:1000}.reservation-content[data-step="1"]:before{--progress:33%}.reservation-content[data-step="2"]:before{--progress:66%}.reservation-content[data-step="3"]:before{--progress:100%}.reservation-layout{padding:1rem}.reservation-header h1{font-size:2rem}.reservation-content{gap:2rem;grid-template-columns:1fr}.details-panel,.selection-panel{padding:1.5rem}.party-size-grid{grid-template-columns:repeat(4,1fr)}.time-slots-container{grid-template-columns:repeat(3,1fr)}}@media (max-width:480px){.reservation-layout{padding:.5rem}.details-panel,.selection-panel{padding:1rem}.party-size-grid{gap:.5rem;grid-template-columns:repeat(4,1fr)}.time-slots-container{grid-template-columns:repeat(2,1fr)}.calendar-date{font-size:.8rem}.calendar-month-year{font-size:1rem}.calendar-nav-button{font-size:1rem;height:32px;width:32px}}.step-complete{animation:checkmarkBounce .6s ease-out;color:#10b981;display:inline-block;font-size:1.1em;font-weight:600;margin-left:.5rem}@keyframes checkmarkBounce{0%{opacity:0;transform:scale(0)}50%{opacity:.8;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.party-size-warning{align-items:flex-start;background:#fbbf241a;border:1px solid #fbbf244d;border-radius:8px;display:flex;gap:.75rem;margin-top:1rem;padding:1rem}.party-size-warning .warning-icon{flex-shrink:0;font-size:1.25rem}.party-size-warning p{color:#92400e;font-size:.875rem;line-height:1.5;margin:0}.reservation-payment-policy{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;color:#431407;margin-bottom:1.5rem;margin-top:1.5rem;padding:1.25rem}.reservation-payment-policy h4{color:#9a3412;font-size:1rem;font-weight:700;margin:0 0 .75rem}.reservation-payment-policy p{font-size:.875rem;line-height:1.55;margin:.35rem 0}.reservation-payment-policy ul{margin:.75rem 0;padding-left:1.2rem}.reservation-payment-policy li{font-size:.875rem;line-height:1.55;margin:.35rem 0}.reservation-payment-deadline{color:#7c2d12}.reservation-payment-deadline-expired{color:#b91c1c;font-weight:700}.reservation-payment-terms{grid-gap:.75rem;align-items:flex-start;background:#ffffffb8;border:1px solid #fdba74;border-radius:10px;color:#7c2d12;cursor:pointer;display:grid;font-size:.875rem;gap:.75rem;grid-template-columns:auto 1fr;line-height:1.45;margin-top:.95rem;padding:.85rem}.reservation-payment-terms input{accent-color:#ea580c;height:18px;margin-top:.15rem;width:18px}.reservation-payment-modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172ab8;display:flex;inset:0;justify-content:center;overscroll-behavior:contain;padding:1rem;position:fixed;z-index:2000}.reservation-payment-modal{background:#fff;border-radius:16px;box-shadow:0 24px 80px #0f172a59;max-height:calc(100vh - 2rem);overflow-y:auto;overscroll-behavior:contain;padding:1.25rem;width:min(520px,100%)}.reservation-payment-modal-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.reservation-payment-modal-header h3{color:#0f172a;font-size:1.25rem;margin:0}.reservation-payment-modal-header p{color:#64748b;line-height:1.45;margin:.35rem 0 0}.reservation-payment-summary{grid-gap:.35rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;color:#334155;display:grid;gap:.35rem;line-height:1.45;margin-bottom:1rem;padding:.9rem}.reservation-payment-error{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#b91c1c;margin-top:1rem;padding:.75rem}.reservation-express-checkout{margin-bottom:1rem}.reservation-payment-divider{align-items:center;color:#64748b;display:flex;font-size:.88rem;font-weight:700;gap:.75rem;margin:1rem 0;text-align:center}.reservation-payment-divider:after,.reservation-payment-divider:before{background:#e2e8f0;content:"";flex:1 1;height:1px}.reservation-payment-submit{margin-top:1rem;width:100%}.data-protection-notice{background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;margin-bottom:1.5rem;margin-top:1.5rem;padding:1.25rem;transition:all .3s ease}.data-protection-notice:hover{box-shadow:0 2px 8px #3b82f61a}.data-protection-notice h4{align-items:center;color:#0369a1;display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin:0 0 .75rem}.data-protection-notice p{color:#075985;font-size:.875rem;line-height:1.6;margin:0}.data-protection-notice .data-protection-detail{margin-top:.65rem}.data-protection-notice a{color:#075985;font-weight:700;text-decoration:underline;text-underline-offset:2px}.public-reservation-container{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0 50%,#cbd5e1);display:flex;justify-content:center;min-height:100vh;padding:2rem 1rem}.public-reservation-loading{color:#374151;text-align:center}.public-reservation-loading h2{font-size:1.5rem;margin-bottom:1rem}.public-reservation-loading .spinner{animation:spin 1s linear infinite;border:3px solid #3741514d;border-radius:50%;border-top-color:#374151;height:40px;margin:0 auto;width:40px}.public-reservation-error{color:#374151;max-width:500px;text-align:center}.public-reservation-error h2{font-size:1.5rem;margin-bottom:1rem}.public-reservation-error p{font-size:1rem;line-height:1.6;opacity:.9}:root{--primary-color:#e74c3c;--primary-dark:#c0392b;--primary-light:#f39c12;--secondary-color:#2c3e50;--secondary-light:#34495e;--accent-color:#27ae60;--text-primary:#2c3e50;--text-secondary:#7f8c8d;--text-light:#95a5a6;--background-primary:#fff;--background-secondary:#f8f9fa;--background-gradient:linear-gradient(135deg,#667eea,#764ba2);--shadow-light:0 2px 10px #00000014;--shadow-medium:0 4px 20px #0000001f;--shadow-heavy:0 10px 40px #00000026;--border-radius:12px;--border-radius-large:20px;--transition-fast:all 0.2s cubic-bezier(0.4,0,0.2,1);--transition-medium:all 0.3s cubic-bezier(0.4,0,0.2,1);--transition-slow:all 0.5s cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f9fa;background:var(--background-secondary);color:#2c3e50;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.6;overflow-x:hidden}.App{display:flex;flex-direction:column;min-height:100vh;position:relative}.App:before{background:radial-gradient(circle at 20% 80%,#e74c3c1a 0,#0000 50%),radial-gradient(circle at 80% 20%,#3498db1a 0,#0000 50%),radial-gradient(circle at 40% 40%,#9b59b60d 0,#0000 50%);content:"";height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:-1}main{animation:fadeInUp .6s ease-out;flex:1 1}main:not(.home-page):not(.reservation-tool):not(.public-menu):not(.public-reservation){padding-top:2rem}@media (max-width:768px){main:not(.home-page):not(.reservation-tool):not(.public-menu):not(.public-reservation){padding-top:1rem}}.reservation-tool{height:100vh;overflow:hidden;padding:0!important}.public-reservation{padding-top:0!important}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.container{margin:0 auto;max-width:1200px;padding:0 2rem}.btn{align-items:center;background:#e74c3c;background:var(--primary-color);border:none;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 2px 10px #00000014;box-shadow:var(--shadow-light);color:#fff;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;justify-content:center;letter-spacing:.025em;overflow:hidden;padding:.875rem 2rem;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition-medium)}.btn-accent{background:#27ae60!important;background:var(--accent-color)!important;color:#fff!important}.btn-accent:hover{background:#229954!important;transform:translateY(-2px)}.btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition-medium);width:100%}.btn:hover{background:#c0392b;background:var(--primary-dark);box-shadow:0 4px 20px #0000001f;box-shadow:var(--shadow-medium);transform:translateY(-2px)}.btn:hover:before{left:100%}.btn:active{transform:translateY(0)}.btn-secondary{background:#95a5a6;background:var(--text-light);color:#fff}.btn-secondary:hover{background:#3498db!important;border-color:#3498db!important;transform:translateY(-2px)}.btn-outline{background:#0000;border:2px solid #e74c3c;border:2px solid var(--primary-color);color:#e74c3c;color:var(--primary-color)}.btn-outline:hover{background:#e74c3c;background:var(--primary-color);color:#fff}.form-group{margin-bottom:1.5rem;position:relative}.form-group label{color:#2c3e50;color:var(--text-primary);display:block;font-size:.9rem;font-weight:500;letter-spacing:.025em;margin-bottom:.5rem}.form-group input,.form-group textarea{background:#fff;background:var(--background-primary);border:2px solid #e1e8ed;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 1px 3px #0000000d;font-family:inherit;font-size:1rem;padding:1rem 1.25rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition-medium);width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#e74c3c;border-color:var(--primary-color);box-shadow:0 0 0 3px #e74c3c1a;outline:none;transform:translateY(-1px)}.form-group input:hover:not(:focus),.form-group textarea:hover:not(:focus){border-color:#cbd5e0}.error{color:#e74c3c;color:var(--primary-color);font-size:.85rem;font-weight:500;margin-top:.5rem}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-30px,0)}70%{transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.animate-fadeIn{animation:fadeIn .6s ease-out}.animate-slideInLeft{animation:slideInLeft .6s ease-out}.animate-slideInRight{animation:slideInRight .6s ease-out}.animate-slideInUp{animation:slideInUp .6s ease-out}.animate-scaleIn{animation:scaleIn .4s ease-out}.animate-bounce{animation:bounce 1s}.animate-pulse{animation:pulse 2s infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-delay-1{animation-delay:.1s}.animate-delay-2{animation-delay:.2s}.animate-delay-3{animation-delay:.3s}.animate-delay-4{animation-delay:.4s}.animate-delay-5{animation-delay:.5s}.card{background:#fff;background:var(--background-primary);border-radius:12px;border-radius:var(--border-radius);box-shadow:0 2px 10px #00000014;box-shadow:var(--shadow-light);overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition-medium)}.card:hover{box-shadow:0 10px 40px #00000026;box-shadow:var(--shadow-heavy);transform:translateY(-8px)}.card-glassmorphism{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff40;border:1px solid #ffffff2e}.loading{align-items:center;color:#7f8c8d;color:var(--text-secondary);display:flex;font-size:1.2rem;justify-content:center;min-height:400px}.loading:after{animation:spin 1s linear infinite;border:2px solid #e74c3c;border:2px solid var(--primary-color);border-radius:50%;border-top:2px solid #0000;content:"";height:20px;margin-left:10px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.floating-contact-btn{align-items:center;background:linear-gradient(135deg,#27ae60,#229954);background:linear-gradient(135deg,var(--accent-color) 0,#229954 100%);border:none;border-radius:50px;bottom:2rem;box-shadow:0 8px 25px #27ae604d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;min-width:60px;padding:1rem 1.5rem;position:fixed;right:2rem;transition:all .3s ease;z-index:1000}.floating-contact-btn:hover{background:linear-gradient(135deg,#229954,#27ae60);background:linear-gradient(135deg,#229954 0,var(--accent-color) 100%);box-shadow:0 12px 35px #27ae6066;transform:translateY(-3px) scale(1.05)}.floating-contact-btn:active{transform:translateY(-1px) scale(1.02)}.contact-icon{display:block;font-size:1.3rem}.contact-text{display:none;white-space:nowrap}.floating-contact-btn:hover .contact-text{display:block}@media (max-width:768px){.container{padding:0 1rem}.btn{font-size:.9rem;padding:.75rem 1.5rem}.floating-contact-btn{bottom:1rem;min-width:50px;padding:.8rem 1rem;right:1rem}.contact-icon{font-size:1.1rem}.floating-contact-btn:hover .contact-text{display:none}}@media (hover:none){.floating-contact-btn:hover{box-shadow:0 8px 25px #27ae604d;transform:none}.floating-contact-btn:hover .contact-text{display:none}}
/*# sourceMappingURL=main.5d060b13.css.map*/