.booking-flow{max-width:800px;margin:0 auto;padding:2rem}.error-message{background:#fee;border:1px solid #fcc;color:#c33;padding:1rem;border-radius:8px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.error-close{background:none;border:none;color:#c33;font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.step-indicator{display:flex;justify-content:space-between;margin-bottom:2rem;padding:0 1rem}.step{background:var(--tech-gray-100);color:var(--tech-gray-600);padding:.5rem 1rem;border-radius:20px;font-size:.9rem;flex:1;text-align:center;margin:0 .25rem;transition:all .3s ease}.step.active{background:var(--nate-green);color:#fff;font-weight:600}.step-content{background:var(--bg-secondary);padding:2rem;border-radius:12px;box-shadow:var(--metal-shadow)}.auth-step{text-align:center}.auth-step h3{color:var(--text-primary);margin-bottom:1rem}.auth-step p{color:var(--tech-gray-600);margin-bottom:2rem}.google-auth-button{background:var(--nate-green);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;margin:0 auto;transition:background-color .3s ease}.google-auth-button:hover{background:var(--nate-green-dark)}.google-icon{font-size:1.2rem}.calendar-step h3{color:var(--text-primary);margin-bottom:1.5rem}.duration-selector{margin-bottom:2rem}.duration-selector label{display:block;color:var(--text-primary);font-weight:600;margin-bottom:.5rem}.duration-options{display:flex;gap:.5rem}.duration-option{background:var(--tech-gray-100);border:2px solid transparent;color:var(--tech-gray-700);padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:all .3s ease}.duration-option:hover{background:var(--tech-gray-200)}.duration-option.active{background:var(--nate-green);color:#fff;border-color:var(--nate-green)}.calendar-container{border:1px solid var(--tech-gray-300);border-radius:8px;overflow:hidden;background:var(--bg-primary)}.calendar-loading{padding:3rem;text-align:center;color:var(--tech-gray-600)}.calendar-header{background:var(--tech-gradient);padding:1rem;display:flex;justify-content:space-between;align-items:center}.calendar-header h3{color:var(--text-primary);margin:0}.nav-button{background:var(--nate-green);color:#fff;border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease}.nav-button:hover{background:var(--nate-green-dark)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.day-header{background:var(--tech-gray-100);padding:.5rem;text-align:center;font-weight:600;color:var(--tech-gray-700);border-bottom:1px solid var(--tech-gray-300)}.calendar-day{min-height:100px;padding:.5rem;border-bottom:1px solid var(--tech-gray-200);border-right:1px solid var(--tech-gray-200);position:relative}.calendar-day.empty{background:var(--tech-gray-50)}.calendar-day.past{background:var(--tech-gray-50);color:var(--tech-gray-400)}.calendar-day.today{background:#e8f5e8}.calendar-day.available{background:var(--bg-primary);cursor:pointer}.calendar-day.unavailable{background:var(--tech-gray-100)}.day-number{font-weight:600;margin-bottom:.25rem;color:var(--text-primary)}.time-slots{display:flex;flex-direction:column;gap:2px}.time-slot{background:var(--nate-green);color:#fff;border:none;padding:2px 4px;border-radius:3px;font-size:.7rem;cursor:pointer;transition:all .2s ease}.time-slot:hover{background:var(--nate-green-dark)}.time-slot.selected{background:var(--nate-aluminum);color:var(--nate-black);font-weight:600}.more-slots{font-size:.6rem;color:var(--tech-gray-600);text-align:center;margin-top:2px}.no-slots{font-size:.7rem;color:var(--tech-gray-500);text-align:center;margin-top:.5rem}.selected-slot{margin-top:1.5rem;padding:1rem;background:var(--tech-gradient);border:2px solid var(--nate-green);border-radius:8px;text-align:center}.selected-slot p{color:var(--text-primary);margin:0 0 1rem}.details-step h3{color:var(--text-primary);margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;color:var(--text-primary);font-weight:600;margin-bottom:.5rem}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:2px solid var(--tech-gray-300);border-radius:6px;font-size:1rem;background:var(--bg-primary);color:var(--text-primary);transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--nate-green)}.radio-group{display:flex;flex-direction:column;gap:1rem}.radio-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:1rem;border:2px solid var(--tech-gray-300);border-radius:8px;transition:all .3s ease}.radio-option:hover{border-color:var(--nate-green);background:var(--tech-gray-50)}.radio-option input[type=radio]{width:auto;margin:0}.radio-option span{color:var(--text-primary);font-weight:500}.upload-status{color:var(--nate-green);font-size:.9rem;margin-top:.5rem}.quote-step h3{color:var(--text-primary);margin-bottom:1.5rem}.booking-summary{margin-bottom:2rem}.summary-section{background:var(--tech-gray-50);padding:1.5rem;border-radius:8px;margin-bottom:1rem}.summary-section h4{color:var(--nate-green);margin:0 0 1rem}.summary-section p{color:var(--text-primary);margin:.5rem 0}.quote-section{background:var(--tech-gradient);border:2px solid var(--nate-green);padding:1.5rem;border-radius:8px}.quote-breakdown{display:flex;flex-direction:column;gap:.5rem}.quote-line{display:flex;justify-content:space-between;color:var(--text-primary)}.quote-total{display:flex;justify-content:space-between;font-size:1.2rem;font-weight:700;color:var(--nate-green);border-top:2px solid var(--nate-green);padding-top:.5rem;margin-top:.5rem}.quote-actions{display:flex;gap:1rem;justify-content:space-between}.back-button,.continue-button,.confirm-button{padding:1rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.back-button{background:var(--tech-gray-300);color:var(--tech-gray-700)}.back-button:hover{background:var(--tech-gray-400)}.continue-button,.confirm-button{background:var(--nate-green);color:#fff;flex:1}.continue-button:hover,.confirm-button:hover{background:var(--nate-green-dark)}.continue-button:disabled,.confirm-button:disabled{background:var(--tech-gray-400);cursor:not-allowed}.confirmation-step{text-align:center}.success-icon{font-size:4rem;margin-bottom:1rem}.confirmation-step h3{color:var(--nate-green);margin-bottom:1.5rem}.confirmation-details{text-align:left;margin-bottom:2rem}.confirmation-details p{color:var(--text-primary);margin-bottom:1rem}.event-title{background:var(--tech-gradient);border:2px solid var(--nate-green);padding:1rem;border-radius:8px;font-weight:600;color:var(--nate-green);text-align:center;margin:1rem 0}.next-steps h4{color:var(--text-primary);margin:1.5rem 0 1rem}.next-steps ol{color:var(--tech-gray-700);padding-left:1.5rem}.next-steps li{margin-bottom:.5rem}.booking-info{background:var(--tech-gray-50);padding:1rem;border-radius:8px;margin:1rem 0}.booking-info p{margin:.5rem 0;color:var(--text-primary)}.new-booking-button{background:var(--nate-green);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.new-booking-button:hover{background:var(--nate-green-dark)}.spinner{border:3px solid var(--tech-gray-300);border-top:3px solid var(--nate-green);border-radius:50%;width:24px;height:24px;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.booking-flow{padding:1rem}.step-indicator{flex-direction:column;gap:.5rem}.step{margin:0}.step-content{padding:1.5rem}.form-row{grid-template-columns:1fr}.calendar-day{min-height:80px}.quote-actions{flex-direction:column}.duration-options{flex-wrap:wrap}}.booking-hero[data-astro-cid-uk4drrvt]{background:var(--tech-gradient);padding:4rem 0;text-align:center}.booking-header[data-astro-cid-uk4drrvt] h1[data-astro-cid-uk4drrvt]{margin-bottom:1rem;color:var(--text-primary)}.booking-header[data-astro-cid-uk4drrvt] p[data-astro-cid-uk4drrvt]{font-size:1.2rem;color:var(--tech-gray-600);max-width:600px;margin:0 auto;line-height:1.7}.booking-section[data-astro-cid-uk4drrvt]{padding:4rem 0;background:var(--bg-secondary)}.booking-content[data-astro-cid-uk4drrvt]{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.booking-info[data-astro-cid-uk4drrvt] h2[data-astro-cid-uk4drrvt]{color:var(--text-primary);margin-bottom:2rem}.info-cards[data-astro-cid-uk4drrvt]{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:3rem}.info-card[data-astro-cid-uk4drrvt]{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;background:var(--tech-gray-50);border-radius:12px;border-left:4px solid var(--nate-green)}.info-icon[data-astro-cid-uk4drrvt]{font-size:2rem;flex-shrink:0}.info-card[data-astro-cid-uk4drrvt] h3[data-astro-cid-uk4drrvt]{margin:0 0 .5rem;color:var(--nate-green);font-size:1.1rem}.info-card[data-astro-cid-uk4drrvt] p[data-astro-cid-uk4drrvt]{margin:0;color:var(--tech-gray-600);font-size:.95rem;line-height:1.6}.consultation-types[data-astro-cid-uk4drrvt]{background:var(--tech-gradient);padding:2rem;border-radius:12px;border:2px solid var(--nate-aluminum)}.consultation-types[data-astro-cid-uk4drrvt] h3[data-astro-cid-uk4drrvt]{margin:0 0 1.5rem;color:var(--text-primary)}.types-list[data-astro-cid-uk4drrvt]{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.types-list[data-astro-cid-uk4drrvt] li[data-astro-cid-uk4drrvt]{color:var(--tech-gray-700);font-weight:500;display:flex;align-items:center;gap:.5rem}.booking-section[data-astro-cid-uk4drrvt]{position:sticky;top:2rem}.booking-faq[data-astro-cid-uk4drrvt]{padding:4rem 0;background:var(--tech-gray-50)}.booking-faq[data-astro-cid-uk4drrvt] h2[data-astro-cid-uk4drrvt]{text-align:center;color:var(--text-primary);margin-bottom:3rem}.faq-grid[data-astro-cid-uk4drrvt]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.faq-item[data-astro-cid-uk4drrvt]{background:var(--bg-secondary);padding:2rem;border-radius:12px;box-shadow:var(--metal-shadow)}.faq-item[data-astro-cid-uk4drrvt] h4[data-astro-cid-uk4drrvt]{margin:0 0 1rem;color:var(--nate-green);font-size:1.1rem}.faq-item[data-astro-cid-uk4drrvt] p[data-astro-cid-uk4drrvt]{margin:0;color:var(--tech-gray-600);line-height:1.6}@media (max-width: 768px){.booking-content[data-astro-cid-uk4drrvt]{grid-template-columns:1fr;gap:3rem}.booking-section[data-astro-cid-uk4drrvt]{position:static}.booking-hero[data-astro-cid-uk4drrvt],.booking-section[data-astro-cid-uk4drrvt]{padding:3rem 0}.info-cards[data-astro-cid-uk4drrvt]{gap:1rem}.info-card[data-astro-cid-uk4drrvt]{padding:1.25rem}.consultation-types[data-astro-cid-uk4drrvt]{padding:1.5rem}.faq-grid[data-astro-cid-uk4drrvt]{grid-template-columns:1fr}}
