.reservierung-container{background-color:var(--reservierung-container-bg) !important;color:var(--reservierung-text-color) !important;padding:30px;padding-right:50px;padding-left:50px;border-radius:var(--reservierung-border-radius,8px);max-width:80%;width:800px;margin-left:auto;margin-right:auto;box-shadow:0 5px 15px rgba(0,0,0,.1);box-sizing:border-box}@media (max-width:1024px){.reservierung-container{max-width:90%;width:auto;padding:25px 40px}}@media (max-width:768px){.reservierung-container{max-width:95%;width:auto;padding:20px 25px;margin-left:auto;margin-right:auto}}.reservierung-container *{color:inherit}.reservierung-container input:not([type=submit]):not([type=button]),.reservierung-container select,.reservierung-container textarea{color:var(--reservierung-input-text-color) !important}.reservierung-container select option{color:#000 !important;background-color:#fff !important}.reservierung-container label,.reservierung-container h2,.reservierung-container h3,.reservierung-container p{color:var(--reservierung-text-color) !important}.reservierung-container input::placeholder,.reservierung-container textarea::placeholder{color:var(--reservierung-input-text-color) !important;opacity:.7 !important}.reservierung-steps{display:flex;justify-content:space-between;margin-bottom:40px;position:relative}.reservierung-steps:before{content:'';position:absolute;top:50%;left:0;right:0;height:2px;background:#ddd;z-index:1;transform:translateY(-50%);width:95%}.reservierung-step{width:40px;height:40px;border-radius:50%;background:#ddd;display:flex;align-items:center;justify-content:center;position:relative;z-index:2;color:#666;font-weight:700}.reservierung-step.active{background:var(--reservierung-active-color);color:#fff}.reservierung-step.completed{background:var(--reservierung-active-color);color:#fff}.reservierung-step-label{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:15px;margin-bottom:15px;white-space:nowrap;font-size:16px;color:var(--reservierung-text-color)}.reservierung-step.active .reservierung-step-label,.reservierung-step.completed .reservierung-step-label{color:var(--reservierung-active-color);font-weight:700}.reservierung-form-step{display:none}.reservierung-form-step.active{display:block;margin-top:50px}@media (max-width:600px){.reservierung-form-step.active{margin-top:20px}}.ui-datepicker-header{background:var(--reservierung-container-bg) !important;color:var(--reservierung-text-color) !important;border-radius:4px 4px 0 0;display:flex !important;align-items:center !important;justify-content:space-between !important;padding:5px !important;border-bottom:1px solid var(--reservierung-button-color)}.ui-datepicker-prev{order:1;flex-shrink:0;position:relative !important;top:auto !important;left:auto !important;right:auto !important;background-color:var(--reservierung-button-color) !important;border:none !important;cursor:pointer;margin-left:5px !important;padding:0 !important;width:28px !important;height:27px !important;border-radius:4px !important;align-self:center !important;display:flex !important;align-items:center !important;justify-content:center !important}.ui-datepicker-title{order:2;flex-grow:1;text-align:center;margin:0 .5em;line-height:1.8em}.ui-datepicker-next{order:3;flex-shrink:0;position:relative !important;top:auto !important;left:auto !important;right:auto !important;background-color:var(--reservierung-button-color) !important;border:none !important;cursor:pointer;margin-right:5px !important;padding:0 !important;width:28px !important;height:27px !important;border-radius:4px !important;align-self:center !important;display:flex !important;align-items:center !important;justify-content:center !important}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:relative !important;left:auto !important;margin-left:0 !important;top:auto !important;margin-top:0 !important}.ui-datepicker-prev .ui-icon,.ui-datepicker-next .ui-icon{background-image:none !important;text-indent:-9999px !important;overflow:hidden;width:1.2em;height:1.2em;display:inline-block;position:relative;vertical-align:middle}.ui-datepicker-prev .ui-icon:before{content:'';display:block;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFFFFF'%3E%3Cpath d='M11.043 1.561a.75.75 0 00-1.061 0L4.779 6.764a.75.75 0 000 1.06L9.982 13.03a.75.75 0 101.06-1.061L6.37 7.294l4.673-4.673a.75.75 0 000-1.06z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center center;background-size:contain}.ui-datepicker-next .ui-icon:before{content:'';display:block;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFFFFF'%3E%3Cpath d='M5.018 1.561a.75.75 0 011.061 0l5.203 5.203a.75.75 0 010 1.06l-5.203 5.203a.75.75 0 11-1.06-1.061L9.63 7.294 5.018 2.622a.75.75 0 010-1.06z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center center;background-size:contain}.ui-datepicker-calendar td.ui-datepicker-today a.ui-state-default,.ui-datepicker-calendar td.ui-datepicker-today span.ui-state-default{background:#fffadd !important;border-color:#fcefae !important;color:#363636 !important;font-weight:700 !important}div.ui-datepicker{font-size:14px !important;border-radius:4px !important;box-shadow:0 5px 15px rgba(0,0,0,.1) !important;z-index:1000 !important;width:80% !important;max-width:300px !important;margin-left:auto !important;margin-right:auto !important;padding:0 !important;background-color:#fff !important;border:1px solid #ddd !important}.ui-datepicker-calendar{width:100% !important;border-collapse:collapse !important;margin:0 !important;table-layout:fixed !important}.ui-datepicker-calendar th{background-color:#f7f7f7 !important;color:#333 !important;padding:5px 2px !important;font-size:12px !important;line-height:1.2 !important;text-align:center !important;font-weight:700 !important;border:none !important;border-width:0 !important}.ui-datepicker-calendar td{padding:1px !important;border:none !important;border-width:0 !important}.ui-datepicker-calendar td a.ui-state-default,.ui-datepicker-calendar td span.ui-state-default{display:block !important;box-sizing:border-box !important;width:100% !important;text-align:center !important;text-decoration:none !important;padding:5px 2px !important;font-size:13px !important;line-height:1.4em !important;border-radius:3px !important;border:1px solid #ddd !important;color:#333 !important;background:#fdfdfd !important;opacity:1 !important}.ui-datepicker-calendar td a.ui-state-hover{background:#e0f7ff !important;border-color:#99d1ff !important;color:#004a7c !important}.ui-datepicker-calendar td.ui-datepicker-current-day a.ui-state-default,.ui-datepicker-calendar td.ui-datepicker-current-day span.ui-state-default{background:#2271b1 !important;color:#fff !important;border-color:#135e96 !important;font-weight:700 !important}.ui-datepicker-calendar td.ui-state-disabled span.ui-state-default,.ui-datepicker-calendar td.ui-state-disabled a.ui-state-default{background-color:var(--reservierung-tile-bg,#f5f5f5) !important;color:rgba(0,0,0,.5) !important;opacity:.7 !important;border-color:rgba(0,0,0,.1) !important;cursor:not-allowed !important}.date-selection-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px, 1fr));gap:20px;margin-bottom:20px}.date-option{background:var(--reservierung-tile-bg,#fff);border:2px solid #e0e0e0;border-radius:12px;padding:24px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px rgba(0,0,0,.08);position:relative;overflow:hidden;text-align:center}.date-option:before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--reservierung-button-color,#2271b1),var(--reservierung-button-hover,#135e96));transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.date-option:hover{border-color:var(--reservierung-button-color,#2271b1);box-shadow:0 8px 24px rgba(34,113,177,.15);transform:translateY(-4px)}.date-option:hover:before{transform:scaleX(1)}.date-option.selected{border-color:var(--reservierung-button-color,#2271b1) !important;background:var(--reservierung-button-color,#2271b1) !important;box-shadow:0 8px 24px color-mix(in srgb,var(--reservierung-button-color,#2271b1) 20%,transparent) !important}.date-option.selected:before{transform:scaleX(1)}.date-option.disabled-option{opacity:.5;cursor:not-allowed;background-color:#f5f5f5}.date-option.disabled-option:hover{transform:none;box-shadow:0 2px 8px rgba(0,0,0,.08);border-color:#e0e0e0}.date-option.disabled-option:before{background:#c94d4d}.date-option h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--reservierung-text-color,#333)}.date-option.selected h3{color:#fff}.date-option p{margin:0;font-size:14px;color:#666;font-weight:500}.date-option.selected p{color:#fff}@media (max-width:1024px){.date-selection-options{grid-template-columns:repeat(auto-fill,minmax(180px, 1fr));gap:16px}}@media (max-width:768px){.date-selection-options{grid-template-columns:repeat(auto-fill,minmax(160px, 1fr));gap:14px}.date-option{padding:20px}.date-option h3{font-size:16px}.date-option p{font-size:13px}}@media (max-width:600px){.date-selection-options{grid-template-columns:1fr;gap:12px}.date-option{padding:18px}}.selected-date-display{text-align:center;margin:20px 0;font-size:18px;font-weight:700}.people-selection-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;justify-content:center}.people-option{border:2px solid #ddd;border-radius:6px;cursor:pointer;transition:all .3s;text-align:center;min-width:50px;font-size:14px;background:var(--reservierung-tile-bg,#eee);min-height:44px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}@media (max-width:600px){.people-selection-grid{gap:6px;margin-bottom:15px}.people-option{padding:14px 16px;min-width:55px;min-height:48px;font-size:16px;flex:0 0 calc(20% - 5px)}}.people-option:hover{border-color:var(--reservierung-button-color)}.people-option.selected{border-color:var(--reservierung-button-color,#2271b1) !important;background:var(--reservierung-button-color,#2271b1) !important;color:#fff !important}.time-selection-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;justify-content:center}.time-option{border:2px solid #ddd;border-radius:6px;cursor:pointer;transition:all .3s;text-align:center;min-width:60px;font-size:14px;background:var(--reservierung-tile-bg,#fff);min-height:44px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:5px 10px}@media (max-width:600px){.time-selection-grid{gap:6px;margin-bottom:15px}.time-option{padding:14px 16px;min-width:calc(33.333% - 4px);min-height:48px;font-size:16px}}.time-option:hover{border-color:var(--reservierung-button-color)}.time-option.selected{border-color:var(--reservierung-button-color,#2271b1) !important;background:var(--reservierung-button-color,#2271b1) !important;color:#fff !important}.time-option.disabled{opacity:.5;cursor:not-allowed;text-decoration:line-through}.form-navigation{display:flex;justify-content:space-between;margin-top:30px;gap:10px;flex-wrap:wrap}.form-button{padding:12px 25px;border:none;border-radius:5px;cursor:pointer;font-weight:700;transition:background-color .3s;font-size:16px;min-height:44px;box-sizing:border-box}@media (max-width:600px){.form-navigation{flex-direction:column;gap:12px;margin-top:20px}.form-button{width:100%;padding:14px 20px;font-size:16px;min-height:48px}}.form-button.back{background-color:var(--reservierung-button-color);color:var(--reservierung-text-color) !important}.form-button.next,.form-button.submit{background-color:var(--reservierung-button-color);color:var(--reservierung-text-color) !important}.form-button:hover{opacity:.9}.form-button.next:hover,.form-button.submit:hover{background-color:var(--reservierung-button-hover);color:var(--reservierung-text-color) !important}.summary-item{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #eee}.summary-item:last-child{border-bottom:none}.summary-label{font-weight:700;margin-bottom:5px;display:inline-block;min-width:100px}@media (max-width:600px){.summary-item{margin-bottom:12px;padding-bottom:12px}.summary-label{display:block;margin-bottom:5px;min-width:auto;font-size:14px}}.reservierung-nachricht{padding:15px;margin-top:12%;border-radius:5px;font-weight:700;font-size:16px;display:none}.reservierung-nachricht.erfolg{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.reservierung-nachricht.fehler{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.form-gruppe{margin-bottom:20px}@media (max-width:600px){.form-gruppe{margin-bottom:18px}}.form-section-header{font-size:20px;font-weight:700;color:var(--reservierung-text-color,#333);margin:0 0 24px;padding-top:16px;padding-bottom:16px;border-bottom:3px solid var(--reservierung-button-color,#2271b1);position:relative;line-height:1.3}.form-section-header:after{content:'';position:absolute;bottom:-3px;left:0;width:60px;height:3px;background:var(--reservierung-button-hover,#135e96);transition:width .3s ease}.form-section-header:hover:after{width:100px}@media (max-width:1024px){.form-section-header{font-size:19px;margin-bottom:20px;padding-top:14px;padding-bottom:14px}}@media (max-width:768px){.form-section-header{font-size:18px;margin-bottom:18px;padding-top:12px;padding-bottom:12px;text-align:center}.form-section-header:after{left:50%;transform:translateX(-50%)}}@media (max-width:600px){.form-section-header{font-size:17px;margin-bottom:16px;padding-top:10px;padding-bottom:10px}}.form-gruppe label{display:block;margin-bottom:8px;color:var(--reservierung-text-color,#333);font-weight:600;font-size:16px}.form-gruppe input:not([type=submit]):not([type=button]),.form-gruppe select,.form-gruppe textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:5px;box-sizing:border-box;margin-top:5px;color:var(--reservierung-input-text-color);font-size:16px}@media (max-width:600px){.form-gruppe input:not([type=submit]):not([type=button]),.form-gruppe select,.form-gruppe textarea{padding:14px;font-size:16px}}.date-selection-options .datepicker{display:block !important;flex:1;padding:15px;text-align:center;border:2px solid #ddd;border-radius:8px;cursor:pointer;transition:all .3s;box-sizing:border-box;width:100%;font-size:16px;line-height:normal;height:auto;background-color:transparent;color:inherit;margin:0}.date-selection-options .datepicker:hover{border-color:var(--reservierung-button-color)}.date-selection-options .datepicker::placeholder{color:transparent}#custom-date-option{position:relative;overflow:hidden}#custom-date-option .datepicker{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:10}#custom-date-option h3,#custom-date-option p{position:relative;z-index:5;pointer-events:none}@media (max-width:600px){.reservierung-container{background-color:var(--reservierung-container-bg) !important;color:var(--reservierung-text-color) !important;padding:15px;padding-right:15px;padding-left:15px;border-radius:10px;max-width:100%;width:100%;margin-left:0;margin-right:0;box-shadow:0 5px 15px rgba(0,0,0,.1);box-sizing:border-box}.date-selection-options{display:flex;gap:12px;margin-bottom:20px;flex-direction:column}.date-selection-options .date-option{padding:20px 15px;min-height:60px}.people-selection-grid,.time-selection-grid{justify-content:center}.reservierung-steps{justify-content:center}.reservierung-steps:before{display:none}.reservierung-step{display:none !important}.reservierung-step.active{display:flex !important}.reservierung-step.active .reservierung-step-label{white-space:normal;text-align:center}.form-gruppe label{display:block;margin-bottom:5px;color:var(--reservierung-text-color);font-weight:700;text-align:center}.form-gruppe .label-anzahl-personen{padding-top:15px;padding-bottom:10px}.form-gruppe .label-fuer-wann{padding-top:0;padding-bottom:0}.form-gruppe .welche-uhrzeit{padding-top:0;padding-bottom:10px}.form-gruppe .bestaetigung-daten{padding-top:0;padding-bottom:0}.reservierung-nachricht{padding:15px;margin-top:20px;margin-bottom:20px;border-radius:5px;font-weight:700;display:none;font-size:14px;line-height:1.5}div.ui-datepicker{width:95% !important;max-width:none !important;left:50% !important;transform:translateX(-50%) !important;position:fixed !important;top:50% !important;transform:translate(-50%,-50%) !important}.ui-datepicker-calendar th{padding:8px 2px !important;font-size:12px !important}.ui-datepicker-calendar td a.ui-state-default,.ui-datepicker-calendar td span.ui-state-default{font-size:14px !important;padding:10px 2px !important;min-height:40px !important;display:flex !important;align-items:center !important;justify-content:center !important}.ui-datepicker-header{padding:10px 5px !important}.ui-datepicker-title{font-size:16px !important}.selected-date-display{font-size:16px;margin:15px 0;text-align:center}}@media (max-width:768px) and (min-width:601px){.reservierung-container{padding:20px 30px}.date-selection-options{grid-template-columns:repeat(2,1fr);gap:15px}.people-option{flex:0 0 calc(16.666% - 7px)}.time-option{flex:0 0 calc(25% - 6px)}}@media (max-width:375px){.reservierung-container{padding:12px}.form-section-header{font-size:16px;padding-top:8px;padding-bottom:8px}.people-option{flex:0 0 calc(25% - 5px);padding:12px 10px;font-size:15px}.time-option{min-width:calc(50% - 3px);padding:12px 10px;font-size:15px}.date-option{padding:18px 12px}.date-option h3{font-size:16px}.date-option p{font-size:13px}}