.date-picker-container{background-color:#ffffff05;border:1px solid #ffffff0d;border-radius:1rem;width:100%;padding:1.5rem;position:relative;overflow:hidden}.date-picker-glow{filter:blur(3rem);pointer-events:none;background-color:#ffffff0d;border-radius:50%;width:75%;height:8rem;display:none;position:absolute;top:0;left:50%;transform:translate(-50%)}.date-picker-header{z-index:10;justify-content:space-between;align-items:center;margin-bottom:3rem;display:flex;position:relative}.date-picker-title{color:var(--base-100);letter-spacing:-.025rem;font-size:1.25rem;font-weight:500}.date-picker-nav{align-items:center;gap:.5rem;display:flex}.date-picker-nav-btn{color:var(--base-200);cursor:pointer;background-color:#ffffff0d;border:none;border-radius:.75rem;justify-content:center;align-items:center;padding:.75rem;transition:all .3s;display:flex}.date-picker-nav-btn:hover{color:var(--base-100);background-color:#ffffff1a}.date-picker-grid{z-index:10;grid-template-columns:repeat(7,1fr);gap:1rem;display:grid;position:relative}.date-picker-weekday{text-align:center;color:var(--base-350);text-transform:uppercase;letter-spacing:.1em;padding-bottom:.5rem;font-size:.875rem;font-weight:500}.date-picker-day{cursor:pointer;border:1px solid #0000;border-radius:.75rem;justify-content:center;align-items:center;width:100%;padding:1.5rem 0;font-size:1rem;font-weight:500;transition:all .3s;display:flex}.date-picker-day.past{color:var(--base-400);cursor:not-allowed;opacity:.5;background:0 0}.date-picker-day.selected{background-color:var(--base-100);color:var(--base-500)}.date-picker-day.default{color:var(--base-200);background-color:#ffffff0d}.date-picker-day.default:hover{color:var(--base-100);background-color:#ffffff1a}.date-picker-day.today{border-color:var(--base-300)}@media (max-width:480px){.date-picker-container{padding:1rem}.date-picker-grid{gap:.5rem}.date-picker-weekday{padding-bottom:.5rem;font-size:.7rem;font-weight:500}.date-picker-day{width:100%;padding:1rem 0;font-size:.7rem}}
.date-step-wrapper{flex-direction:column;gap:2.5rem;animation:.5s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.date-step-header{flex-direction:column;gap:.5rem;display:flex}.date-step-subtitle{color:var(--base-350);text-transform:uppercase;letter-spacing:.1em;font-family:DM Mono,monospace;font-size:.875rem}.date-step-title{color:var(--base-100);letter-spacing:-.05rem;margin:0;font-size:2.5rem;font-weight:500}@media (min-width:1024px){.date-step-title{font-size:3rem}}.date-step-actions{justify-content:flex-end;padding-top:1rem;display:flex}.booking-next-btn{cursor:pointer;border:none;border-radius:4rem;align-items:center;gap:1.3rem;width:9rem;padding:.8rem 1.5rem;font-weight:500;transition:all .5s cubic-bezier(.65,0,.076,1);display:flex;position:relative}.booking-next-btn.confirmation{width:12.7rem}.booking-next-btn:disabled{color:var(--base-400);cursor:not-allowed;background-color:#ffffff0d}.booking-next-btn.active{background-color:var(--base-100);color:var(--base-500)}.booking-next-btn.active:hover{background-color:#fff}.booking-next-btn .btn-text{font-size:1.125rem}.booking-next-btn .btn-icon-wrapper{border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;transition:transform .5s cubic-bezier(.65,0,.076,1);display:flex;position:absolute;right:.7rem}.booking-next-btn:disabled .btn-icon-wrapper{background-color:#ffffff1a}.booking-next-btn.active .btn-icon-wrapper{background-color:var(--base-500);color:var(--base-100)}.booking-next-btn.active:hover .btn-icon-wrapper{transform:translate(.25rem)}
.time-step-wrapper{flex-direction:column;gap:2.5rem;animation:.5s fadeIn;display:flex}.time-step-header{flex-direction:column;gap:.5rem;display:flex}.time-step-subtitle{color:var(--base-350);text-transform:uppercase;letter-spacing:.1em;font-family:DM Mono,monospace;font-size:.875rem}.time-step-title{color:var(--base-100);letter-spacing:-.05rem;margin:0;font-size:2.5rem;font-weight:500}@media (min-width:1024px){.time-step-title{font-size:3rem}}.time-loading-status{color:var(--base-200);font-style:italic}.time-slots-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}@media (min-width:640px){.time-slots-grid{grid-template-columns:repeat(4,1fr)}}.time-slot{text-align:center;cursor:pointer;color:var(--base-200);background-color:#ffffff05;border:1px solid #ffffff0d;border-radius:1rem;padding:1rem;font-size:1.125rem;font-weight:500;transition:all .3s}.time-slot:hover{background-color:#ffffff0d;border-color:#ffffff1a;transform:translateY(-.1rem)}.time-slot.selected{background-color:var(--base-100);color:var(--base-500);border-color:#0000}.time-slot:disabled{color:var(--base-400);cursor:not-allowed;opacity:.5;background-color:#0000;border-color:#ffffff0d}.duration-section{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.duration-label{color:var(--base-200);font-weight:500}.duration-select{background-color:var(--base-500);width:100%;color:var(--base-100);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg fill=\"rgb(204, 200, 194)\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 10l5 5 5-5z\"/><path d=\"M0 0h24v24H0z\" fill=\"none\"/></svg>");background-position:99%;background-repeat:no-repeat;border:1px solid #ffffff1a;border-radius:1rem;padding:1rem 1.25rem;font-family:inherit;font-size:1.125rem;font-weight:500;transition:all .3s}.duration-select:focus{border-color:var(--base-300);outline:none}.step-actions{justify-content:space-between;align-items:center;padding-top:2rem;display:flex}.booking-back-btn{width:8rem;color:var(--base-200);cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:4rem;justify-content:flex-end;align-items:center;gap:1.3rem;padding:1rem 1.5rem;font-weight:500;transition:all .5s cubic-bezier(.65,0,.076,1);display:flex;position:relative}.booking-back-btn:hover{color:var(--base-100);background-color:#ffffff0d;border-color:#fff3}.booking-back-btn .btn-icon-wrapper{justify-content:center;align-items:center;width:2rem;height:2rem;transition:transform .5s cubic-bezier(.65,0,.076,1);display:flex;position:absolute;left:.8rem}.booking-back-btn:hover .btn-icon-wrapper{transform:translate(-.25rem)}
.room-step-wrapper{flex-direction:column;gap:2.5rem;animation:.5s fadeIn;display:flex}.room-step-header{flex-direction:column;gap:.5rem;display:flex}.room-step-subtitle{color:var(--base-350);text-transform:uppercase;letter-spacing:.1em;font-family:DM Mono,monospace;font-size:.875rem}.room-step-title{color:var(--base-100);letter-spacing:-.05rem;margin:0;font-size:2.5rem;font-weight:500}@media (min-width:1024px){.room-step-title{font-size:3rem}}.room-grid{flex-direction:column;gap:1rem;display:flex}@media (min-width:640px){.room-grid{grid-template-columns:repeat(2,1fr);display:grid}}.room-card{cursor:pointer;text-align:left;background-color:#ffffff05;border:1px solid #ffffff0d;border-radius:1.25rem;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.5rem;transition:all .4s cubic-bezier(.65,0,.076,1);display:flex}.room-card:hover{background-color:#ffffff0d;border-color:#ffffff1a;transform:translateY(-.25rem)}.room-card.selected{background-color:var(--base-100);border-color:#0000;box-shadow:0 10px 30px #f2ede626}.room-name{color:var(--base-100);font-size:1.25rem;font-weight:600;transition:color .4s}.room-card.selected .room-name{color:var(--base-500)}.room-price{color:var(--base-350);font-family:DM Mono,monospace;font-size:.875rem;font-weight:500;transition:color .4s}.room-card.selected .room-price{color:var(--base-400)}
.options-step-wrapper{flex-direction:column;gap:2.5rem;animation:.5s fadeIn;display:flex}.options-step-header{flex-direction:column;gap:.5rem;display:flex}.options-step-subtitle{color:var(--base-350);text-transform:uppercase;letter-spacing:.1em;font-family:DM Mono,monospace;font-size:.875rem}.options-step-title{color:var(--base-100);letter-spacing:-.05rem;margin:0;font-size:2.5rem;font-weight:500}@media (min-width:1024px){.options-step-title{font-size:3rem}}.options-section{flex-direction:column;gap:.875rem;display:flex}.options-section-label{color:var(--base-350);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:.5rem;margin-bottom:.25rem;font-family:DM Mono,monospace;font-size:.8rem;display:flex}.photographer-card{cursor:pointer;background-color:#ffffff05;border:1px solid #ffffff12;border-radius:1.25rem;align-items:center;gap:1rem;padding:1rem 1.25rem;transition:all .35s cubic-bezier(.65,0,.076,1);display:flex;position:relative}.photographer-card:hover{background-color:#ffffff0d;border-color:#ffffff1f;transform:translateY(-.1rem)}.photographer-card.selected{border-color:var(--base-100);background-color:#f9efcf0f}.photographer-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:3rem;height:3rem;overflow:hidden}.placeholder-avatar{color:var(--base-350);background-color:#ffffff14;justify-content:center;align-items:center;display:flex}.initials-avatar{color:var(--base-200);background:linear-gradient(135deg,#f9efcf1f,#9fb07a1f);font-size:1.2rem;font-weight:600}.photographer-info{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.photographer-name{color:var(--base-100);font-size:1rem;font-weight:600}.photographer-bio{color:var(--base-350);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.photographer-price-badge{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.35rem;display:flex}.photographer-rate{color:var(--base-300);white-space:nowrap;font-family:DM Mono,monospace;font-size:.8rem}.no-photographer .photographer-rate{color:var(--base-400);font-family:Manrope,sans-serif;font-size:.8rem}.photographer-check{background-color:var(--base-100);width:1.5rem;height:1.5rem;color:var(--base-500);opacity:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .3s,transform .3s cubic-bezier(.34,1.56,.64,1);display:flex;transform:scale(.6)}.photographer-check.visible{opacity:1;transform:scale(1)}.no-photographer{padding-right:1.25rem}.no-photographer .photographer-check{margin-left:auto}
.client-step-wrapper{flex-direction:column;gap:2.5rem;animation:.5s fadeIn;display:flex}.client-step-header{flex-direction:column;gap:.5rem;display:flex}.client-step-subtitle{color:var(--base-350);text-transform:uppercase;letter-spacing:.1em;font-family:DM Mono,monospace;font-size:.875rem}.client-step-title{color:var(--base-100);letter-spacing:-.05rem;margin:0;font-size:2.5rem;font-weight:500}@media (min-width:1024px){.client-step-title{font-size:3rem}}.client-form-group{flex-direction:column;gap:2rem;display:flex}.client-input-wrapper{flex-direction:column;gap:.5rem;display:flex}.client-label{color:var(--base-350);letter-spacing:.05em;text-transform:uppercase;font-size:.875rem;font-weight:500}.client-input{width:100%;color:var(--base-100);background-color:#0000;border:none;border-bottom:2px solid #ffffff1a;border-radius:0;padding:.75rem 0;font-family:inherit;font-size:1.25rem;font-weight:500;transition:border-color .4s}.client-input:focus{border-color:var(--base-100);outline:none}.client-input::placeholder{color:#fff3}.client-info-box{color:var(--base-300);background-color:#ffffff08;border:1px solid #ffffff0d;border-radius:1rem;padding:1.5rem;font-size:.875rem;line-height:1.6}.client-info-box strong{color:var(--base-100);font-weight:600}
.summary-step-wrapper{flex-direction:column;gap:2.5rem;animation:.5s fadeIn;display:flex}.summary-step-header{flex-direction:column;gap:.5rem;display:flex}.summary-step-subtitle{color:var(--base-350);text-transform:uppercase;letter-spacing:.1em;font-family:DM Mono,monospace;font-size:.875rem}.summary-step-title{color:var(--base-100);letter-spacing:-.05rem;margin:0;font-size:2.5rem;font-weight:500}@media (min-width:1024px){.summary-step-title{font-size:3rem}}.summary-card{background-color:#ffffff05;border:1px solid #ffffff0d;border-radius:1.5rem;flex-direction:column;gap:1.5rem;padding:2rem;display:flex}.summary-section{flex-direction:column;gap:1rem;display:flex}.summary-item{justify-content:space-between;align-items:center;display:flex}.summary-label{color:var(--base-350);font-size:1rem;font-weight:500}.summary-value{color:var(--base-100);text-align:right;font-size:1rem;font-weight:600}.summary-divider{background-color:#ffffff1a;border:none;width:100%;height:1px;margin:.5rem 0}.summary-total .summary-label{color:var(--base-200);font-size:1.125rem}.summary-total .summary-value{color:var(--base-100);font-size:1.25rem}.summary-deposit .summary-label{color:var(--base-100);font-size:1.125rem}.summary-deposit .summary-value{color:#fca311;font-size:1.25rem}.summary-photographer-line .summary-label{color:var(--base-350);font-size:1rem}.summary-photographer-name{color:var(--base-200);font-weight:600}.summary-photographer-value{color:var(--base-300);font-size:1rem}.loading-spinner{border:2px solid #1413134d;border-top-color:var(--base-500);border-radius:50%;width:1rem;height:1rem;margin-right:.5rem;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.booking-confirm-btn{cursor:pointer;background-color:var(--base-100);width:17.5rem;color:var(--base-500);border:none;border-radius:4rem;align-items:center;gap:1.3rem;padding:.8rem 1.5rem;font-weight:500;transition:all .5s cubic-bezier(.65,0,.076,1);display:flex;position:relative}.booking-confirm-btn:hover:not(:disabled){background-color:#fff}.booking-confirm-btn:disabled{cursor:not-allowed;background-color:#ffffff80}.booking-confirm-btn .btn-text{font-size:1.125rem}.booking-confirm-btn .btn-icon-wrapper{background-color:var(--base-500);width:2rem;height:2rem;color:var(--base-100);border-radius:50%;justify-content:center;align-items:center;transition:transform .5s cubic-bezier(.65,0,.076,1);display:flex;position:absolute;right:.7rem}.booking-confirm-btn:hover:not(:disabled) .btn-icon-wrapper{transform:translate(.25rem)}
.booking-form-wrapper{width:100%;max-width:48rem;margin:0 auto;padding:1rem}.progress-bar-container{background-color:#ffffff0d;border-radius:1rem;width:100%;height:.5rem;margin-bottom:2.5rem;position:relative;overflow:hidden}.progress-bar-fill{background-color:var(--base-100);border-radius:1rem;height:100%;transition:width .6s cubic-bezier(.65,0,.076,1);box-shadow:0 0 10px #f2ede680}.booking-popup-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background-color:#0d0c0ccc;justify-content:center;align-items:center;width:100vw;height:100vh;padding:2rem;animation:.4s forwards fadeOverlay;display:flex;position:fixed;top:0;left:0}@keyframes fadeOverlay{0%{opacity:0}to{opacity:1}}.booking-popup{background-color:var(--base-500);text-align:center;border:1px solid #ffffff1a;border-radius:1.5rem;flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:28rem;padding:2.5rem;animation:.5s cubic-bezier(.175,.885,.32,1.275) forwards scalePopup;display:flex;box-shadow:0 20px 50px #00000080}@keyframes scalePopup{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.popup-icon{margin-bottom:.5rem;font-size:4rem}.popup-icon.success{color:var(--base-100)}.popup-icon.error{color:#ff4d4d}.popup-title{color:var(--base-100);margin:0;font-size:1.75rem;font-weight:600}.popup-message{color:var(--base-300);margin:0;font-size:1rem;line-height:1.5}.popup-close-btn{background-color:var(--base-100);color:var(--base-500);cursor:pointer;border:none;border-radius:4rem;width:100%;margin-top:1rem;padding:.875rem 2rem;font-size:1rem;font-weight:600;transition:all .3s}.popup-close-btn:hover{background-color:#fff;transform:translateY(-2px);box-shadow:0 5px 15px #f2ede633}.popup-close-btn:active{transform:translateY(0)}@media (max-width:480px){.booking-form-wrapper{padding:0}}
.booking-hero{color:var(--base-200);padding:10svh 0 5svh;position:relative}
