.booking-module-container{min-height:100vh;background-color:#1a1a1c;color:#fff;padding:140px 15px 40px;font-family:Inter,sans-serif}@media(min-width:768px){.booking-module-container{padding:140px 20px 60px}}.booking-form-wrapper{max-width:896px;margin:0 auto;background-color:#2a2b2e;border-radius:16px;padding:20px;box-shadow:0 10px 30px #00000080;border:1px solid #3f3f46}@media(min-width:768px){.booking-form-wrapper{padding:40px}}.booking-title{font-size:2.5rem;text-align:center;color:#f96a00;margin-bottom:30px;letter-spacing:2px}@media(min-width:768px){.booking-title{font-size:3rem;margin-bottom:40px}}.booking-toggle-group{display:flex;flex-direction:column;justify-content:center;gap:15px;margin-bottom:30px}@media(min-width:768px){.booking-toggle-group{flex-direction:row;gap:20px;margin-bottom:40px}}.booking-toggle-btn{padding:15px 20px;border-radius:50px;font-weight:700;text-transform:uppercase;letter-spacing:1px;background-color:transparent;border:2px solid #F96A00;color:#f96a00;cursor:pointer;transition:all .3s ease;text-align:center;width:100%}@media(min-width:768px){.booking-toggle-btn{padding:15px 30px;width:auto}}.booking-toggle-btn.active{background-color:#f96a00;color:#fff;box-shadow:0 4px 15px #f96a0066}.booking-section{background-color:#1f1f22;border-radius:12px;padding:20px;margin-bottom:20px;border:1px solid #3f3f46}@media(min-width:768px){.booking-section{padding:30px;margin-bottom:30px}}.booking-section-title{font-size:1.3rem;color:#f96a00;margin-bottom:15px;border-bottom:1px solid #3f3f46;padding-bottom:10px}@media(min-width:768px){.booking-section-title{font-size:1.5rem;margin-bottom:20px}}.site-requirements-section{background-color:#1a1a1c;border:1px solid #F96A00;position:relative}.requirements-grid{display:grid;grid-template-columns:1fr;gap:30px;margin-bottom:20px}@media(min-width:768px){.requirements-grid{grid-template-columns:1fr 1fr}}.requirement-subtitle{font-size:1.2rem;color:#f96a00;margin-bottom:12px;letter-spacing:1px}.requirement-list{list-style:none;padding:0;margin:0}.requirement-list li{color:#e4e4e7;margin-bottom:8px;font-size:.95rem;position:relative;padding-left:20px}.requirement-list li:before{content:"🦖";position:absolute;left:0;font-size:.8rem}.requirement-note{background-color:#f96a001a;border-left:4px solid #F96A00;padding:15px;border-radius:4px;font-size:.9rem;color:#ff9547}.requirement-note p{margin:0}.booking-grid{display:grid;grid-template-columns:1fr;gap:20px}@media(min-width:768px){.booking-grid{grid-template-columns:1fr 1fr}}.booking-field{display:flex;flex-direction:column;gap:8px}.booking-field label{font-size:.9rem;color:#a1a1aa;font-weight:500}.booking-field input,.booking-field select,.booking-field textarea{padding:12px 15px;border-radius:8px;background-color:#2a2b2e;border:1px solid #52525b;color:#fff;font-size:1rem;transition:border-color .3s ease;width:100%;box-sizing:border-box}.booking-field input:focus,.booking-field select:focus,.booking-field textarea:focus{outline:none;border-color:#f96a00}.booking-checkbox-group{display:flex;flex-direction:column;gap:15px}.booking-checkbox-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:1rem;color:#e4e4e7;line-height:1.4}.booking-checkbox-label input[type=checkbox]{width:20px;height:20px;accent-color:#F96A00;margin-top:2px;flex-shrink:0}.required-disclosure{color:#ff9547;font-size:1.1rem}.pricing-section{background-color:#2a2b2e;border:2px solid #F96A00}.pricing-details{display:flex;flex-direction:column;gap:15px}.price-row{display:flex;justify-content:space-between;font-size:1.1rem;color:#e4e4e7}@media(min-width:768px){.price-row{font-size:1.2rem}}.price-row.highlight{font-size:1.3rem;color:#f96a00;font-weight:700;border-top:1px solid #52525b;padding-top:15px}@media(min-width:768px){.price-row.highlight{font-size:1.5rem}}.payment-note{margin-top:20px;text-align:center;font-size:1.1rem;color:#a1a1aa}.signature-section{text-align:center}.signature-pad-container{background-color:#fff;border-radius:8px;border:2px dashed #52525b;margin-bottom:15px;overflow:hidden}.signature-canvas{width:100%;height:200px}.clear-sig-btn{background-color:transparent;border:1px solid #52525b;color:#a1a1aa;padding:8px 16px;border-radius:6px;cursor:pointer;transition:all .3s ease}.clear-sig-btn:hover{background-color:#3f3f46;color:#fff}.booking-actions{display:flex;justify-content:center;margin-top:30px;width:100%}@media(min-width:768px){.booking-actions{margin-top:40px}}.generate-btn{background:linear-gradient(to bottom,#ff9547,#f96a00);color:#fff;font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:15px 30px;border-radius:50px;border:none;cursor:pointer;box-shadow:0 4px 20px #f96a0066;transition:all .3s ease;width:100%}@media(min-width:768px){.generate-btn{font-size:1.2rem;padding:20px 40px;width:auto}}.generate-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px #f96a0099}.submission-popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.submission-popup-content{background-color:#2a2b2e;padding:30px 20px;border-radius:24px;max-width:500px;width:90%;text-align:center;border:2px solid #F96A00;box-shadow:0 20px 50px #00000080,0 0 30px #f96a0033}@media(min-width:768px){.submission-popup-content{padding:50px 40px}}.success-icon{font-size:5rem;margin-bottom:20px;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}.submission-popup-content h2{font-size:2rem;color:#f96a00;margin-bottom:15px;letter-spacing:1px}@media(min-width:768px){.submission-popup-content h2{font-size:2.5rem;margin-bottom:20px}}.submission-popup-content p{color:#e4e4e7;font-size:1.1rem;line-height:1.6;margin-bottom:15px}.close-popup-btn{margin-top:20px;background:linear-gradient(to bottom,#ff9547,#f96a00);color:#fff;font-size:1rem;font-weight:700;text-transform:uppercase;padding:12px 30px;border-radius:50px;border:none;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #f96a004d;width:100%}@media(min-width:768px){.close-popup-btn{font-size:1.1rem;padding:15px 40px;width:auto}}.close-popup-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px #f96a0080}
