.cpl-hero{position:relative;min-height:90vh;display:flex;align-items:center;padding-top:100px;padding-bottom:3rem;background:linear-gradient(135deg,#1c3327,#0f1a14,#1c3327);overflow:hidden}.cpl-hero-overlay{position:absolute;inset:0;background-image:radial-gradient(ellipse at 15% 50%,rgba(198,168,124,.07) 0%,transparent 50%),radial-gradient(ellipse at 85% 20%,rgba(122,139,117,.06) 0%,transparent 40%),radial-gradient(ellipse at 50% 90%,rgba(67,92,75,.08) 0%,transparent 45%);pointer-events:none}.cpl-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 540px;gap:4rem;align-items:center}.cpl-hero-text{padding-right:1rem}.cpl-hero-badge{display:inline-block;padding:.4rem 1rem;border:1px solid var(--clr-gold);border-radius:50px;font-size:.8rem;font-weight:600;color:var(--clr-gold);letter-spacing:1px;text-transform:uppercase;margin-bottom:1.5rem}.cpl-hero-title{font-family:var(--font-heading);font-size:3.5rem;font-weight:800;color:var(--clr-white);line-height:1.1;text-transform:uppercase;letter-spacing:1px;margin-bottom:1.25rem}.cpl-hero-subtitle{font-size:1.1rem;color:#ffffffbf;line-height:1.7;margin-bottom:2rem;max-width:500px}.cpl-hero-details{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.cpl-hero-detail{display:flex;align-items:center;gap:1rem;color:var(--clr-gold)}.cpl-hero-detail svg{flex-shrink:0}.cpl-hero-detail>div{display:flex;flex-direction:column;gap:2px}.cpl-detail-label{font-size:.8rem;font-weight:600;color:var(--clr-gold);text-transform:uppercase;letter-spacing:.5px}.cpl-detail-value{font-size:.95rem;color:#ffffffd9;font-weight:500}.cpl-hero-note{font-size:.85rem;color:var(--clr-moss);line-height:1.6}.cpl-hero-link{color:var(--clr-gold);text-decoration:underline;text-decoration-color:var(--clr-gold);text-underline-offset:3px;transition:color var(--transition-fast)}.cpl-hero-link:hover{color:var(--clr-white)}.cpl-hero-form{position:relative}.cpl-included-section{padding:5rem 0;background-color:var(--clr-light)}.cpl-included-header{text-align:center;margin-bottom:3rem}.cpl-included-title{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:var(--clr-forest);margin-bottom:.5rem}.cpl-included-subtitle{font-size:1.05rem;color:var(--clr-olive);max-width:500px;margin:0 auto}.cpl-included-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.cpl-included-card{background:var(--clr-white);border-radius:12px;padding:2.5rem 2rem;text-align:center;box-shadow:0 10px 30px #0000000d;transition:var(--transition-slow);position:relative;overflow:hidden}.cpl-included-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--clr-forest);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.cpl-included-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #1c33271a}.cpl-included-card:hover:before{transform:scaleX(1)}.cpl-included-icon{width:60px;height:60px;background:var(--clr-light);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--clr-forest);margin:0 auto 1.5rem}.cpl-included-card-title{font-family:var(--font-heading);font-size:1.25rem;color:var(--clr-forest);margin-bottom:.75rem;font-weight:700}.cpl-included-card-text{font-size:.95rem;color:var(--clr-olive);line-height:1.7}.booking-card{max-width:540px;margin:0 auto;background:var(--clr-white);border-radius:16px;box-shadow:0 10px 30px #0000000d;overflow:hidden;display:flex;flex-direction:column}.booking-card-header{padding:1.5rem 1.5rem 0}.booking-card-header-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.booking-card-heading{font-size:1.25rem;color:var(--clr-forest);font-weight:600;font-family:var(--font-heading)}.booking-card-steps{display:flex;align-items:center;gap:4px}.booking-step-num{font-size:.75rem;font-weight:500;color:var(--clr-moss)}.booking-step-active{color:var(--clr-forest);font-weight:600}.booking-step-line{width:16px;height:1px;background:var(--clr-moss);opacity:.4}.booking-step-line-active{background:var(--clr-forest);opacity:1}.booking-card-price-bar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--clr-light);border-radius:8px}.booking-card-price-label{font-size:.75rem;color:var(--clr-moss);margin:0}.booking-card-price-value{font-size:1.25rem;font-weight:700;color:var(--clr-forest);margin:0}.booking-card-step-info{text-align:right}.booking-card-step-name{font-size:.75rem;font-weight:600;color:var(--clr-forest);margin:0}.booking-card-content{min-height:320px;padding:1.5rem}.booking-step-panel{animation:bookingFadeSlide .3s ease}@keyframes bookingFadeSlide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.booking-field-group{display:flex;flex-direction:column;gap:.75rem}.booking-label{font-size:.875rem;font-weight:600;color:var(--clr-dark);display:flex;align-items:center;gap:.5rem}.booking-label-icon{display:flex;align-items:center;gap:.5rem;color:var(--clr-forest)}.booking-option-grid{display:grid;gap:.5rem}.booking-option-card{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border:2px solid rgba(0,0,0,.08);border-radius:8px;text-align:left;cursor:pointer;transition:all .2s ease;background:transparent;min-height:44px;font-family:inherit}.booking-option-card:hover{border-color:var(--clr-forest);background:#1c332705}.booking-option-selected{border-color:var(--clr-forest);background:#1c33270f;box-shadow:0 1px 3px #0000001a}.booking-radio{width:16px;height:16px;border:2px solid var(--clr-moss);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.booking-radio-selected{border-color:var(--clr-forest)}.booking-radio-dot{width:8px;height:8px;border-radius:50%;background:var(--clr-forest)}.booking-option-title{font-size:.875rem;font-weight:500;color:var(--clr-dark)}.booking-option-desc{font-size:.75rem;color:var(--clr-moss);margin-top:2px}.booking-location-bar{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:8px;background:var(--clr-light);border:1px solid rgba(0,0,0,.08);margin-bottom:.75rem;color:var(--clr-moss)}.booking-select{flex:1;min-height:32px;border-radius:6px;border:1px solid rgba(0,0,0,.12);padding:.25rem .5rem;font-size:.875rem;background:var(--clr-white);color:var(--clr-dark);font-family:inherit;outline:none}.booking-select:focus{border-color:var(--clr-forest);box-shadow:0 0 0 2px #1c332726}.booking-location-text{font-size:.875rem;font-weight:500;color:var(--clr-dark)}.booking-empty-state{padding:1rem;border:2px dashed rgba(0,0,0,.08);border-radius:8px;text-align:center;font-size:.875rem;color:var(--clr-moss)}.booking-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;max-height:220px;overflow-y:auto;padding-right:4px}.booking-date-btn{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border:2px solid rgba(0,0,0,.08);border-radius:8px;text-align:left;cursor:pointer;transition:all .2s ease;background:transparent;min-height:44px;font-family:inherit}.booking-date-btn:hover{border-color:var(--clr-forest);background:#1c332705}.booking-date-selected{border-color:var(--clr-forest);background:#1c33270f}.booking-date-label-col{display:flex;flex-direction:column;gap:2px}.booking-date-text{font-size:.875rem;font-weight:500;color:var(--clr-dark)}.booking-date-time{font-size:.75rem;color:var(--clr-moss)}.booking-date-dot{width:8px;height:8px;border-radius:50%;background:var(--clr-forest);flex-shrink:0;margin-left:4px}.booking-attendee-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.booking-attendee-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.75rem;border:2px solid rgba(0,0,0,.08);border-radius:8px;cursor:pointer;transition:all .2s ease;background:transparent;min-height:44px;font-family:inherit}.booking-attendee-btn:hover{border-color:var(--clr-forest);background:#1c332705}.booking-attendee-selected{border-color:var(--clr-forest);background:#1c33270f;box-shadow:0 1px 3px #0000001a}.booking-attendee-num{font-size:1.1rem;font-weight:600;color:var(--clr-dark)}.booking-attendee-label{font-size:.75rem;color:var(--clr-moss)}.booking-attendee-count-note{font-size:.875rem;color:var(--clr-moss);text-align:center;margin-top:.5rem}.booking-gun-list{display:flex;flex-direction:column;gap:.5rem;max-height:280px;overflow-y:auto;padding-right:4px}.booking-gun-row{display:flex;align-items:center;gap:.5rem;padding:.5rem;border:1px solid rgba(0,0,0,.08);border-radius:8px;background:var(--clr-light)}.booking-gun-person{font-size:.75rem;font-weight:600;color:var(--clr-moss);width:64px;flex-shrink:0}.booking-gun-options{display:flex;flex:1;gap:6px}.booking-gun-btn{flex:1;padding:.375rem .5rem;border:1px solid rgba(0,0,0,.12);border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;background:var(--clr-white);color:var(--clr-dark);min-height:32px;font-family:inherit}.booking-gun-btn:hover{background:#1c33270a}.booking-gun-btn-selected{background:var(--clr-forest);color:var(--clr-white);border-color:var(--clr-forest);box-shadow:0 1px 3px #00000026}.booking-remove-btn{background:none;border:none;cursor:pointer;color:var(--clr-moss);padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.booking-remove-btn:hover{color:#dc3545}.booking-add-btn{display:flex;align-items:center;gap:.5rem;background:none;border:none;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--clr-forest);transition:color .2s ease;padding:.5rem 0;font-family:inherit}.booking-add-btn:hover{color:var(--clr-olive)}.booking-intro-card{border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:1rem}.booking-intro-header{display:flex;flex-direction:column;gap:2px}.booking-intro-title{font-size:.875rem;font-weight:600;color:var(--clr-dark);margin:0}.booking-intro-desc{font-size:.75rem;color:var(--clr-moss);margin:0}.booking-intro-alt{display:flex;flex-direction:column;gap:.5rem}.booking-checkbox-row{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid rgba(0,0,0,.08);border-radius:8px;background:var(--clr-light);cursor:pointer;transition:background .2s ease}.booking-checkbox-row:hover{background:#1c33270a}.booking-checkbox{width:16px;height:16px;accent-color:var(--clr-forest)}.booking-checkbox-label{font-size:.875rem;font-weight:500;color:var(--clr-dark)}.booking-intro-dates{padding-top:.75rem;border-top:1px solid rgba(0,0,0,.08);display:flex;flex-direction:column;gap:.75rem}.booking-link-btn{background:none;border:none;cursor:pointer;font-size:.75rem;color:var(--clr-moss);padding:.25rem 0;font-family:inherit}.booking-link-btn:hover{color:var(--clr-dark)}.booking-link-underline{text-decoration:underline;font-weight:500}.booking-intro-suggest-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem;border:1px solid rgba(28,51,39,.3);border-radius:8px;background:#1c332705;cursor:pointer;text-align:left;transition:background .2s ease;font-family:inherit}.booking-intro-suggest-btn:hover{background:#1c33270f}.booking-intro-back-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem;border:1px solid rgba(0,0,0,.08);border-radius:8px;background:var(--clr-light);cursor:pointer;text-align:left;transition:background .2s ease;font-family:inherit;color:var(--clr-dark)}.booking-intro-back-btn:hover{background:#1c33270a}.booking-skip-btn{background:none;border:none;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--clr-moss);padding:.5rem 0;font-family:inherit}.booking-skip-btn:hover{color:var(--clr-dark)}.booking-intro-count-row{display:flex;flex-wrap:wrap;gap:.5rem}.booking-intro-count-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:.875rem;font-weight:500;border:1px solid rgba(0,0,0,.12);background:var(--clr-white);color:var(--clr-dark);cursor:pointer;transition:all .2s ease;font-family:inherit}.booking-intro-count-btn:hover{background:#1c33270a}.booking-intro-count-selected{background:var(--clr-forest);color:var(--clr-white);border-color:var(--clr-forest)}.booking-intro-subtotal{display:flex;flex-direction:column;gap:4px;padding:.75rem;background:var(--clr-light);border-radius:8px}.booking-subtotal-row{display:flex;justify-content:space-between;font-size:.75rem}.booking-subtotal-label{color:var(--clr-moss)}.booking-subtotal-value{font-weight:600;color:var(--clr-dark)}.booking-summary{padding:1rem;background:var(--clr-light);border-radius:8px}.booking-summary-heading{font-size:.875rem;font-weight:600;color:var(--clr-dark);margin-bottom:.75rem}.booking-summary-details{display:flex;flex-direction:column;gap:.375rem;font-size:.875rem}.booking-summary-row{display:flex;justify-content:space-between}.booking-summary-label{color:var(--clr-moss)}.booking-summary-value{font-weight:600;color:var(--clr-dark)}.booking-summary-line-items{padding-top:.375rem;display:flex;flex-direction:column;gap:4px}.booking-summary-line{display:flex;justify-content:space-between;font-size:.75rem}.booking-summary-line-label{color:var(--clr-moss)}.booking-summary-line-value{font-weight:600;color:var(--clr-dark)}.booking-summary-intro-label{font-size:.75rem;font-weight:600;color:var(--clr-moss)}.booking-summary-total-row{display:flex;justify-content:space-between;padding-top:.5rem;border-top:1px solid rgba(0,0,0,.08);margin-top:.375rem}.booking-summary-total-label{font-weight:700;color:var(--clr-dark)}.booking-summary-total-value{font-size:1.1rem;font-weight:700;color:var(--clr-forest)}.booking-card-footer{display:flex;justify-content:space-between;gap:.75rem;padding:1rem 1.5rem 1.5rem}.booking-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;min-height:36px;font-family:inherit}.booking-btn:disabled{opacity:.5;cursor:not-allowed}.booking-btn-outline{background:transparent;border:1px solid rgba(0,0,0,.12);color:var(--clr-dark)}.booking-btn-outline:hover:not(:disabled){background:var(--clr-light)}.booking-btn-primary{background:var(--clr-forest);color:var(--clr-white);margin-left:auto}.booking-btn-primary:hover:not(:disabled){background:var(--clr-olive)}.booking-btn-reserve{padding:.625rem 1.25rem}.booking-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:.75rem}.booking-spinner{width:24px;height:24px;border:2px solid var(--clr-forest);border-top-color:transparent;border-radius:50%;animation:bookingSpin .8s linear infinite}@keyframes bookingSpin{to{transform:rotate(360deg)}}.booking-loader-text{font-size:.875rem;color:var(--clr-moss)}.booking-error-card{max-width:560px;margin:2rem auto;border-radius:12px;border:1px solid rgba(0,0,0,.06);background:var(--clr-white);padding:2rem;text-align:center;box-shadow:0 4px 15px #0000000d}.booking-error-title{font-family:var(--font-heading);font-size:1.25rem;color:var(--clr-forest);margin-bottom:1rem}.booking-error-text{color:var(--clr-olive);margin-bottom:1.5rem;font-size:1rem}.booking-error-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:.75rem 2rem;border-radius:8px;background:var(--clr-forest);color:var(--clr-white);font-weight:500;text-decoration:none;transition:background .2s ease}.booking-error-link:hover{background:var(--clr-olive)}@media(max-width:1100px){.cpl-hero-grid{grid-template-columns:1fr 460px;gap:2.5rem}.cpl-hero-title{font-size:2.75rem}}@media(max-width:992px){.cpl-hero{min-height:auto;padding-top:120px;padding-bottom:3rem}.cpl-hero-grid{grid-template-columns:1fr;gap:2.5rem}.cpl-hero-text{text-align:center;padding-right:0}.cpl-hero-subtitle{margin-left:auto;margin-right:auto}.cpl-hero-details{align-items:center}.cpl-hero-detail{justify-content:center}.cpl-hero-note{text-align:center}.cpl-hero-form{max-width:540px;margin:0 auto}.booking-card{max-width:100%}.cpl-included-grid{grid-template-columns:1fr 1fr}}@media(max-width:768px){.cpl-hero-title{font-size:2.25rem}.cpl-hero-subtitle{font-size:1rem}.cpl-included-grid{grid-template-columns:1fr}}@media(max-width:600px){.cpl-hero{padding-top:100px}.cpl-hero-title{font-size:1.85rem}.cpl-hero-badge{font-size:.7rem;padding:.3rem .8rem}.cpl-hero-detail{flex-direction:column;text-align:center;gap:.5rem}.cpl-hero-detail>div{align-items:center}.booking-date-grid{grid-template-columns:1fr}.booking-attendee-grid{grid-template-columns:repeat(3,1fr)}.booking-gun-row{flex-wrap:wrap}.booking-gun-person,.booking-gun-options{width:100%}}
