.book-hero{min-height:100vh;display:flex;flex-direction:column;padding-top:80px}.book-container{max-width:1000px;margin:0 auto;padding:3rem 1.5rem;flex:1}.book-header{text-align:center;margin-bottom:3rem}.book-header h1{font-size:clamp(2rem,5vw,3rem);font-weight:700;margin-bottom:.75rem}.book-header p{color:#fff9;font-size:1.125rem}.steps{display:flex;justify-content:center;gap:.5rem;margin-bottom:3rem}.step{width:40px;height:4px;background:#ffffff1a;border-radius:2px;transition:all .3s}.step.active{background:var(--accent);width:60px}.step.completed{background:var(--accent)}.packages{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;max-width:720px;margin-left:auto;margin-right:auto}@media (max-width: 768px){.packages{grid-template-columns:1fr;max-width:320px}}.package-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.25rem;cursor:pointer;transition:all .3s;position:relative}.package-card:hover{border-color:#10b9814d;background:#ffffff0d}.package-card.selected{border-color:var(--accent);background:#10b98114}.package-card.selected:after{content:"\2713";position:absolute;top:.75rem;right:.75rem;width:20px;height:20px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff}.package-icon{font-size:1.75rem;margin-bottom:.5rem}.package-name{font-size:1rem;font-weight:600;margin-bottom:.125rem}.package-price{font-size:1.5rem;font-weight:700;color:var(--accent);margin-bottom:.375rem}.package-price span{font-size:.875rem;font-weight:400;color:#ffffff80}.package-desc{color:#ffffff80;font-size:.75rem;line-height:1.4}.talent-section{margin-bottom:2rem;display:none}.talent-section.visible{display:block;animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-title{font-size:1rem;font-weight:600;margin-bottom:1rem;text-align:center}.talent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;max-width:560px;margin:0 auto}@media (max-width: 768px){.talent-grid{grid-template-columns:1fr;max-width:280px}}.talent-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:1rem;text-align:center;cursor:pointer;transition:all .3s}.talent-card:hover{border-color:#10b9814d}.talent-card.selected{border-color:var(--accent);background:#10b98114}.talent-avatar{width:64px;height:64px;background:linear-gradient(135deg,var(--accent),#059669);background-size:cover;background-position:center;border-radius:50%;margin:0 auto .75rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600;color:#fff;border:2px solid rgba(255,255,255,.1)}.talent-name{font-weight:600;font-size:.875rem;margin-bottom:.125rem}.talent-specialty{font-size:.65rem;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.talent-stats{display:flex;justify-content:center;gap:.5rem;font-size:.7rem;color:#ffffff80}.talent-stats span{display:flex;align-items:center;gap:.25rem}.talent-profile-link{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;margin-top:.5rem;padding:.35rem .65rem;font-size:.65rem;font-weight:500;color:#fff9;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:6px;text-decoration:none;transition:all .2s ease}.talent-profile-link:hover{color:var(--accent);background:#10b9811a;border-color:#10b9814d}.talent-profile-link svg{width:10px;height:10px}.talent-grid-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:1rem}.talent-grid-loading .loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.talent-grid-loading .loading-text{color:#ffffff80;font-size:.875rem}@keyframes spin{to{transform:rotate(360deg)}}.booking-form{display:none;max-width:440px;margin:0 auto}.booking-form.visible{display:block;animation:fadeIn .4s ease}.booking-form-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 8px 32px #0000004d}.form-card-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 1rem;text-align:center}.booking-summary-compact{display:flex;align-items:center;justify-content:space-between;background:#f9fafb;border-radius:10px;padding:.75rem 1rem;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.summary-item{display:flex;flex-direction:column;align-items:center;gap:.125rem}.summary-item .summary-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;font-weight:500}.summary-item .summary-value{font-size:.8rem;font-weight:600;color:#111827}.summary-total .summary-value{color:#10b981}.summary-divider{width:1px;height:24px;background:#e5e7eb}.addon-compact{display:flex;align-items:center;gap:.75rem;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;padding:.75rem 1rem;margin-bottom:1rem;cursor:pointer;transition:all .2s}.addon-compact:hover{border-color:#10b981;background:#f0fdf4}.addon-compact.selected{border-color:#10b981;background:#ecfdf5}.addon-check{width:18px;height:18px;border:2px solid #d1d5db;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.addon-compact.selected .addon-check{background:#10b981;border-color:#10b981}.addon-check svg{width:10px;height:10px;opacity:0}.addon-compact.selected .addon-check svg{opacity:1}.addon-info{display:flex;justify-content:space-between;align-items:center;flex:1}.addon-label{font-size:.8rem;font-weight:500;color:#374151}.addon-cost{font-size:.8rem;font-weight:600;color:#10b981}.form-group{margin-bottom:1rem}.form-label{display:block;font-size:.75rem;font-weight:600;margin-bottom:.375rem;color:#374151!important;text-transform:uppercase;letter-spacing:.025em}.booking-form-card .form-input{width:100%;padding:.625rem .875rem;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;font-size:1rem;transition:all .2s}.booking-form-card .form-input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.booking-form-card .form-input::placeholder{color:#9ca3af}.booking-form-card textarea.form-input{resize:vertical;min-height:70px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media (max-width: 500px){.form-row{grid-template-columns:1fr}}.strategy-section-header{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#10b9811a,#06b6d41a);border:1px solid rgba(16,185,129,.2);border-radius:10px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.875rem;font-weight:600;color:#10b981}.strategy-icon{font-size:1.25rem}.form-hint{font-size:.7rem;color:#6b7280;margin:-.25rem 0 .5rem}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}@media (max-width: 500px){.checkbox-grid{grid-template-columns:1fr}}.checkbox-item{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s}.checkbox-item:hover{border-color:#10b981;background:#10b9810d}.checkbox-item input[type=checkbox]{width:16px;height:16px;accent-color:#10b981;cursor:pointer}.checkbox-item input[type=checkbox]:checked+.checkbox-label{color:#10b981;font-weight:500}.checkbox-label{font-size:.8rem;color:#374151;cursor:pointer}.content-guidelines{background:#fef3c7;border:1px solid #fcd34d;border-radius:10px;padding:.875rem;margin-bottom:1rem}.guidelines-title{font-size:.75rem;font-weight:700;color:#92400e;margin:0 0 .375rem;text-transform:uppercase;letter-spacing:.05em}.guidelines-text{font-size:.75rem;color:#78350f;margin:0 0 .5rem;line-height:1.4}.guidelines-list{margin:0 0 .5rem;padding-left:1rem;font-size:.7rem;color:#78350f;line-height:1.5}.guidelines-list li{margin-bottom:.125rem}.guidelines-note{font-size:.7rem;color:#92400e;margin:0;font-style:italic}.booking-form-card .time-slots-header h3{color:#374151;font-size:.75rem;font-weight:600;text-transform:uppercase}.booking-form-card .time-slot{background:#f3f4f6;border:1px solid #e5e7eb;color:#374151}.booking-form-card .time-slot:hover:not(.disabled){border-color:#10b981;background:#f0fdf4}.booking-form-card .time-slot.selected{border-color:#10b981;background:#10b981;color:#fff}.booking-form-card .time-slots-loading,.booking-form-card .no-slots-message{color:#6b7280;background:#f9fafb}.booking-form-card .no-slots-message p{color:#6b7280}.booking-form-card .custom-date-request{background:#f9fafb;border-color:#e5e7eb}.booking-form-card .custom-date-request p{color:#6b7280}.booking-form-card .calendar-nav-btn{background:#f3f4f6;border-color:#e5e7eb;color:#374151}.booking-form-card .calendar-nav-btn:hover{background:#10b981;border-color:#10b981;color:#fff}.booking-form-card .calendar-month{color:#111827}.booking-form-card .duration-option{background:#f3f4f6;border-color:#e5e7eb;color:#374151}.booking-form-card .duration-option:hover{border-color:#10b981;background:#f0fdf4}.booking-form-card .duration-option.selected{background:#10b981;border-color:#10b981;color:#fff}.booking-form-card .duration-label,.booking-form-card .time-slots-header h3{color:#374151}.booking-summary{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.summary-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.summary-row:last-child{border-bottom:none;font-weight:600;font-size:1.125rem;padding-top:1rem}.addons-section{margin-bottom:1.5rem}.addons-title{font-size:.875rem;font-weight:500;color:#374151!important;margin-bottom:.75rem}label.addon-card,.addon-card{background:#f9fafb!important;border:1px solid #e5e7eb;border-radius:12px;padding:1rem 1.25rem;cursor:pointer;transition:all .2s;display:flex!important;align-items:flex-start;gap:1rem;color:#374151!important;position:relative}label.addon-card:hover,.addon-card:hover{border-color:#10b98180;background:#f3f4f6!important}label.addon-card.selected,.addon-card.selected{border-color:var(--accent);background:#10b9811a!important}.addon-checkbox{width:20px;height:20px;border:2px solid #d1d5db;border-radius:4px;flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;transition:all .2s}label.addon-card.selected .addon-checkbox,.addon-card.selected .addon-checkbox{background:var(--accent);border-color:var(--accent)}.addon-checkbox svg{width:12px;height:12px;opacity:0;transition:opacity .2s;color:#fff}label.addon-card.selected .addon-checkbox svg,.addon-card.selected .addon-checkbox svg{opacity:1}.addon-content{flex:1;color:#374151!important}.addon-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}label.addon-card .addon-name,.addon-card .addon-name,.addon-name{font-weight:600;font-size:.9375rem;color:#111827!important}label.addon-card .addon-price,.addon-card .addon-price,.addon-price{color:#059669!important;font-weight:600;font-size:.9375rem}label.addon-card .addon-desc,.addon-card .addon-desc,.addon-desc{font-size:.8125rem;color:#6b7280!important;line-height:1.5}.addon-card span,.addon-card p,.addon-card div{color:inherit!important}.addon-card .addon-name{color:#111827!important}.addon-card .addon-price{color:#059669!important}.addon-card .addon-desc{color:#6b7280!important}.addon-link{color:var(--accent);text-decoration:none;font-size:.8125rem;display:inline-block;margin-top:.5rem}.addon-link:hover{text-decoration:underline}.actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.btn-book{padding:1rem 3rem;font-size:1rem}.btn-back{padding:1rem 2rem;background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;border-radius:8px;font-size:1rem;transition:all .2s}.btn-back:hover{background:#ffffff0d}.time-slots-container{margin-bottom:1.5rem}.time-slots-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.time-slots-header h3{font-size:.875rem;font-weight:500;color:#fffc;margin:0}.time-slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}@media (max-width: 500px){.time-slots-grid{grid-template-columns:repeat(3,1fr)}}.time-slot{padding:.75rem .5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;text-align:center;cursor:pointer;font-size:.875rem;transition:all .2s}.time-slot:hover:not(.disabled){border-color:#10b9814d;background:#ffffff14}.time-slot.selected{border-color:var(--accent);background:#10b98126;color:var(--accent)}.time-slot.disabled{opacity:.3;cursor:not-allowed}.time-slots-loading{text-align:center;padding:2rem;color:#ffffff80}.no-slots-message{text-align:center;padding:2rem;background:#ffffff08;border-radius:12px;border:1px solid rgba(255,255,255,.08)}.no-slots-message p{color:#fff9;margin-bottom:1rem}.custom-date-request{margin-top:1.5rem;padding:1.5rem;background:#ffffff08;border:1px dashed rgba(255,255,255,.15);border-radius:12px;text-align:center}.custom-date-request p{color:#fff9;font-size:.875rem;margin-bottom:1rem}.btn-request-custom{padding:.75rem 1.5rem;background:transparent;border:1px solid var(--accent);color:var(--accent);border-radius:8px;cursor:pointer;font-size:.875rem;transition:all .2s}.btn-request-custom:hover{background:#10b9811a}.modal-overlay{display:none;position:fixed;inset:0;background:#000c;z-index:1000;align-items:center;justify-content:center;padding:1rem}.modal-overlay.visible{display:flex}.modal{background:#1a1a1a;border:1px solid rgba(255,255,255,.1);border-radius:16px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center}.modal-header h3{font-size:1.25rem;font-weight:600;margin:0}.modal-close{background:none;border:none;color:#ffffff80;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:#fff}.modal-body{padding:1.5rem}.modal-body>p{color:#ffffffb3;margin-bottom:1.5rem;line-height:1.6}.modal-footer{padding:1.5rem;border-top:1px solid rgba(255,255,255,.08);display:flex;gap:1rem;justify-content:flex-end}.btn-modal-cancel{padding:.75rem 1.5rem;background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:8px;cursor:pointer}.btn-modal-submit{padding:.75rem 1.5rem;background:var(--accent);border:none;color:#fff;border-radius:8px;cursor:pointer;font-weight:500}.btn-modal-submit:hover{background:#059669}.btn-modal-submit:disabled{opacity:.5;cursor:not-allowed}.inquiry-success{text-align:center;padding:2rem 1rem}.inquiry-success .icon{font-size:3rem;margin-bottom:1rem}.inquiry-success h4{color:var(--accent);margin-bottom:.5rem}.inquiry-success p{color:#fff9}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-40px;left:0;background:var(--accent);color:#000;padding:8px 16px;z-index:10000;text-decoration:none;font-weight:600}.skip-link:focus{top:0}.coupon-section{margin-bottom:1rem;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px}.coupon-section .form-label{margin-bottom:.5rem}.coupon-input-group{display:flex;gap:.5rem}.coupon-input-group .form-input{flex:1;text-transform:uppercase}.coupon-apply-btn{padding:.625rem 1rem;background:#10b981;border:none;border-radius:8px;color:#fff;font-weight:500;font-size:.875rem;cursor:pointer;transition:background .2s;white-space:nowrap}.coupon-apply-btn:hover{background:#059669}.coupon-apply-btn:disabled{opacity:.6;cursor:not-allowed}.coupon-applied-group{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px}.applied-coupon-code{font-weight:600;color:#065f46;font-size:.9rem;text-transform:uppercase}.applied-coupon-discount{font-weight:600;color:#10b981;font-size:.9rem;margin-left:auto}.coupon-remove-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:.25rem;font-size:.875rem;line-height:1;transition:color .2s}.coupon-remove-btn:hover{color:#ef4444}.coupon-feedback{margin-top:.5rem;font-size:.8rem;min-height:1.2rem}.coupon-feedback.error{color:#ef4444}.coupon-feedback.success{color:#10b981}.coupon-feedback.loading{color:#6b7280}.pricing-breakdown{margin-top:1rem;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px}.pricing-line{display:flex;justify-content:space-between;padding:.375rem 0;font-size:.875rem;color:#374151}.pricing-line.discount{color:#10b981}.pricing-line.total{font-weight:600;font-size:1rem;padding-top:.5rem;margin-top:.5rem;border-top:1px solid #e5e7eb}.strategy-booking #shootLocationGroup,.strategy-booking #additionalLocationsGroup{display:none!important}.calendar-invite-section{margin-top:1.5rem;padding:1.25rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px}.calendar-invite-header{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:#111827;margin-bottom:1rem}.calendar-invite-icon{font-size:1.25rem}.calendar-invite-hint{display:flex;align-items:center;gap:.375rem;margin-top:.375rem;font-size:.75rem;color:#6b7280}.calendar-invite-hint .info-icon{color:#10b981;font-size:.875rem}.calendar-invite-divider{height:1px;background:#e5e7eb;margin:1.25rem 0}.calendar-attendees-label{margin-bottom:.75rem!important}#calendarAttendeesContainer{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}.attendee-row{display:flex;gap:.5rem;align-items:flex-start}.attendee-row .attendee-email-input{flex:2}.attendee-row .attendee-role-input{flex:1}.attendee-row .form-input{width:100%}.btn-remove-attendee{display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;background:transparent;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;font-size:1rem;cursor:pointer;transition:all .2s;margin-top:1px}.btn-remove-attendee:hover{background:#fef2f2;border-color:#fecaca;color:#ef4444}.btn-add-attendee{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:transparent;border:1px dashed #d1d5db;border-radius:8px;color:#10b981;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-add-attendee:hover{background:#f0fdf4;border-color:#10b981}.btn-add-attendee:disabled{opacity:.5;cursor:not-allowed}.btn-add-attendee:disabled:hover{background:transparent;border-color:#d1d5db}.btn-add-attendee .add-icon{font-size:1rem;font-weight:600}.attendee-limit-hint{font-size:.7rem;color:#9ca3af;margin-left:.5rem}@media (max-width: 500px){.attendee-row{flex-direction:column;gap:.5rem}.attendee-row .attendee-email-input,.attendee-row .attendee-role-input{flex:none;width:100%}.btn-remove-attendee{align-self:flex-end;margin-top:0}}
