:root{--primary-color:#f63b3b;--primary-darken-color:#d32f2f;--background-color:#fff;--secondary-color:#f0f0f0;--text-color:#333;--color-border:#e5e7eb;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444}body{background-color:var(--color-background);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;margin:0}.rdp-root{--rdp-accent-color:#4e4e4e!important;--rdp-selected-border:1px solid #4b4b4bbd!important;--rdp-day_button-border-radius:8px!important;--rdp-disabled-opacity:0.2!important;--rdp-today-color:var(--primary-color)!important;transition:all .2s ease}.rdp-root .rdp-months{max-width:unset;width:100%}.rdp-root .rdp-month,.rdp-root .rdp-month_grid{width:100%}.rdp-root .rdp-day{transition:all .1s ease}.rdp-root .rdp-day.special-event .rdp-day_button{background:linear-gradient(90deg,rgba(249,116,22,.671),rgba(239,68,68,.714));color:#fff}.reservation-layout{min-height:100vh}.reservation-layout .reservation-form{display:flex;flex-direction:column;gap:1.5rem}.reservation-layout .reservation-form.summary .title{font-size:1.875rem;font-weight:600;margin-bottom:.5rem}.reservation-layout .reservation-form.summary .subtitle{color:#6b7280}.reservation-layout .reservation-form.summary .card-container{display:grid;gap:1.5rem;grid-template-columns:1fr}@media(min-width:768px){.reservation-layout .reservation-form.summary .card-container{grid-template-columns:1fr 1fr}}.reservation-layout .reservation-form.summary .card{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);overflow:hidden}.reservation-layout .reservation-form.summary .card-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.5rem}.reservation-layout .reservation-form.summary .card-title{font-size:1.25rem;font-weight:600;margin-bottom:.25rem;margin-top:.25rem}.reservation-layout .reservation-form.summary .status-badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.reservation-layout .reservation-form.summary .status-badge.confirmed{background-color:#d1fae5;color:#065f46}.reservation-layout .reservation-form.summary .status-badge.pending{background-color:#fef3c7;color:#92400e}.reservation-layout .reservation-form.summary .status-badge svg{margin-right:.25rem}.reservation-layout .reservation-form.summary .card-content{padding:1.5rem}.reservation-layout .reservation-form.summary .detail-item{align-items:flex-start;display:flex;margin-bottom:1rem}.reservation-layout .reservation-form.summary .detail-item svg{color:#6b7280;margin-right:.75rem}.reservation-layout .reservation-form.summary .detail-label{font-weight:500;margin:0 0 .25rem}.reservation-layout .reservation-form.summary .detail-value{color:#6b7280;margin:0}.reservation-layout .reservation-form.summary .separator{background-color:#e5e7eb;height:1px;margin:1rem 0}.reservation-layout .reservation-form.summary .special-requests{margin-top:1rem}.reservation-layout .reservation-form.summary .map-container{aspect-ratio:4/3;border-radius:.375rem;overflow:hidden;width:100%}.reservation-layout .reservation-form .form-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:768px){.reservation-layout .reservation-form .form-grid{grid-template-columns:repeat(2,1fr)}}.reservation-layout .reservation-form .form-group{display:flex;flex-direction:column;gap:.5rem}.reservation-layout .reservation-form .form-group label{color:#374151;font-size:.875rem;font-weight:500}.reservation-layout .reservation-form .form-group textarea{min-height:100px;resize:vertical}.reservation-layout .reservation-form .tags-container{display:flex;flex-wrap:wrap;gap:.5rem}.reservation-layout .reservation-form .availability-indicator{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.reservation-layout .reservation-form .availability-indicator .indicator-title{color:#374151;font-size:.875rem;font-weight:500;margin-bottom:.75rem}.reservation-layout .reservation-form .availability-indicator .indicator-dots{display:flex;gap:1.5rem}.reservation-layout .reservation-form .availability-indicator .indicator{align-items:center;display:flex;gap:.5rem}.reservation-layout .reservation-form .availability-indicator .indicator .dot{border-radius:50%;height:.75rem;width:.75rem}.reservation-layout .reservation-form .availability-indicator .indicator .dot.available{background-color:#22c55e}.reservation-layout .reservation-form .availability-indicator .indicator .dot.limited{background-color:#eab308}.reservation-layout .reservation-form .availability-indicator .indicator .dot.full{background-color:#ef4444}.reservation-layout .reservation-form .availability-indicator .indicator .label{color:#6b7280;font-size:.875rem}.reservation-layout .header{background-position:50%;background-size:cover;color:#fff;max-height:250px;min-height:150px;padding:3rem 1rem;position:relative}.reservation-layout .header:before{background:linear-gradient(180deg,rgba(0,0,0,.612),rgba(0,0,0,.412));bottom:0;content:"";left:0;position:absolute;right:0;top:0;width:100%}@media(min-width:1024px){.reservation-layout .header{height:400px}}.reservation-layout .header__image{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.reservation-layout .header__overlay{background:linear-gradient(180deg,rgba(0,0,0,.3),transparent);inset:0;position:absolute}.reservation-layout .header__content{bottom:20px;color:#fff;left:0;padding:1.5rem;position:absolute;right:0}.reservation-layout .header__content-inner{margin:0 auto;max-width:48rem}.reservation-layout .header__content-inner .header-container{display:flex;flex-direction:column;gap:1rem}.reservation-layout .header__content-inner .header-container .additional-info{display:flex;flex-direction:row;gap:1.5rem}.reservation-layout .header__content-inner .header-container .additional-info .location,.reservation-layout .header__content-inner .header-container .additional-info .opening-hours{color:hsla(0,0%,100%,.788);display:flex;font-weight:300;gap:5px}.reservation-layout .header__logo{background-color:#fff;border-radius:50%;height:4rem;margin-right:1rem;overflow:hidden;width:4rem}@media(min-width:1024px){.reservation-layout .header__logo{height:5rem;width:5rem}}.reservation-layout .header__logo img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.reservation-layout .header__title{font-size:1.5rem;font-weight:700}@media(min-width:1024px){.reservation-layout .header__title{font-size:1.875rem}}.reservation-layout .header .header-brand-container{display:flex}.reservation-layout .header__text .header__title{margin:0}.reservation-layout .header__text .header__subtitle{color:hsla(0,0%,100%,.788);font-weight:300;margin:0}.reservation-layout .progress-bar{display:flex;gap:.5rem;margin-top:2rem}.reservation-layout .progress-bar__step{background-color:var(--color-border);border-radius:9999px;flex:1;height:.25rem}.reservation-layout .progress-bar__step--active{background-color:var(--primary-color)}.main-content{margin:0 auto;max-width:48rem;padding:1.5rem}.date-time-step__title{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.date-time-step__subtitle{color:var(--color-text-light);margin-bottom:1.5rem}.date-time-step__grid{display:grid;gap:1.5rem}@media(min-width:1024px){.date-time-step__grid{grid-template-columns:1fr 1fr}}.date-time-step__card{background-color:var(--color-surface);border-radius:.5rem;box-shadow:0 4px 8px rgba(0,0,0,.1);padding:1rem}.date-time-step__calendar{border:1px solid var(--color-border);border-radius:.5rem}.date-time-step__time-slots-header{align-items:center;display:flex;justify-content:space-between}.date-time-step__time-slots-title{font-weight:500}.date-time-step__time-slots-legend{display:flex;font-size:.875rem;gap:1rem}.date-time-step__time-slots-legend-item{align-items:center;display:flex;gap:.375rem}.date-time-step__time-slots-legend-dot{border-radius:50%;height:.5rem;width:.5rem}.date-time-step__time-slots-legend-dot--low{background-color:var(--color-success)}.date-time-step__time-slots-legend-dot--medium{background-color:var(--color-warning)}.date-time-step__time-slots-legend-dot--high{background-color:var(--color-error)}.date-time-step__time-slots-grid{display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr)}@media(min-width:640px){.date-time-step__time-slots-grid{grid-template-columns:repeat(3,1fr)}}.date-time-step__time-slots-showall{align-items:center;background-color:var(--primary-color);border:1px solid hsla(0,0%,59%,.404);border-radius:.375rem;box-shadow:0 4px 8px rgba(0,0,0,.1);color:#fff;cursor:pointer;display:flex;gap:.5rem;justify-content:center;margin-top:15px;padding:.7rem 1rem;transition:all .2s ease-in-out;width:100%}.date-time-step__time-slots-showall:hover{background-color:var(--primary-darken-color)}.date-time-step__time-slots-showall:focus{box-shadow:0 0 0 3px rgba(66,153,225,.5);outline:none}.date-time-step__time-slots-showall:disabled{background-color:#d1d5db;color:#6b7280;cursor:not-allowed}.time-slot{position:relative}.time-slot__button{align-items:center;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);display:flex;font-size:.875rem;gap:.5rem;justify-content:center;padding:.7rem 1rem;transition:all .2s ease;width:100%}.time-slot__button:hover{background-color:var(--hover-color)}.time-slot__button--selected{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.time-slot__button--selected:hover{background-color:var(--primary-darken-color)}.time-slot__event-dot{animation:pulse 2s infinite;background:linear-gradient(90deg,rgba(249,116,22,.671),rgba(239,68,68,.714));border-radius:50%;height:.5rem;position:absolute;right:-.125rem;top:-.125rem;width:.5rem}.time-slot__event-label{background:#000;border-radius:.25rem;color:#fff;font-size:.75rem;opacity:0;padding:.125rem .375rem;pointer-events:none;position:absolute;right:0;top:-1.5rem;transform:translateY(.25rem);transition:all .2s ease;white-space:nowrap}.time-slot__utilization-dot{border-radius:50%;height:.5rem;position:absolute;right:-.125rem;top:-.125rem;width:.5rem}.time-slot__utilization-dot--high{animation:pulse 2s infinite;background-color:var(--color-error)}.time-slot__utilization-dot--medium{background-color:var(--color-warning)}.time-slot__utilization-dot--low{background-color:var(--color-success)}.time-slot__utilization-label{border-radius:.25rem;font-size:.75rem;opacity:0;padding:.125rem .375rem;pointer-events:none;position:absolute;right:0;top:-1.5rem;transform:translateY(.25rem);transition:all .2s ease;white-space:nowrap}.time-slot__utilization-label--high{background-color:var(--color-error);color:#fff}.time-slot__utilization-label--medium{background-color:var(--color-warning);color:#fff}.time-slot__utilization-label--low{background-color:var(--color-success);color:#fff}.time-slot:hover .time-slot__event-label,.time-slot:hover .time-slot__utilization-label{opacity:1;transform:translateY(0)}.continue-button{align-items:center;background-color:var(--primary-color);border:1px solid hsla(0,0%,59%,.404);border-radius:.375rem;box-shadow:0 4px 8px rgba(0,0,0,.1);color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;height:calc(50% - .2rem);justify-content:center;line-height:1.5;margin-top:25px;opacity:1;padding:.5rem 1rem;transition:all .25s ease-in-out;width:-moz-fit-content;width:fit-content}.continue-button:hover{background-color:var(--primary-darken-color)}.continue-button:focus{box-shadow:0 0 0 3px rgba(66,153,225,.5);outline:none}.continue-button:disabled{opacity:0}.continue-button__icon{height:1rem;width:1rem}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}