@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@400;500;600;700;800&family=Quicksand:wght@400;500;600;700&display=swap";
.party-booking-app.cotswold{--pink:#ff69b4;--blue:#4169e1;--yellow:gold;--purple:#9370db;--green:#32cd32;--orange:#ff6b35;--cream:#fff8e7;--dark:#2d1b4e;background:var(--cream);min-height:100vh;color:var(--dark);background-image:radial-gradient(circle at 10% 20%,#ff69b414 0%,#0000 50%),radial-gradient(circle at 90% 80%,#4169e114 0%,#0000 50%);font-family:Quicksand,sans-serif;position:relative;overflow-x:hidden}.floating-elements{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.floating-shape{opacity:.3;font-size:1.8rem;animation:linear infinite float-up;position:absolute;bottom:-50px}@keyframes float-up{0%{opacity:0;transform:translateY(0)rotate(0)}10%{opacity:.3}90%{opacity:.3}to{opacity:0;transform:translateY(-100vh)rotate(360deg)}}.app-header{z-index:100;background:linear-gradient(135deg,var(--pink)0%,var(--purple)50%,var(--blue)100%);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0;box-shadow:0 4px 20px #00000026}.logo{align-items:center;gap:.75rem;display:flex}.logo-icon{filter:drop-shadow(2px 2px #0003);font-size:2rem}.logo-text{color:#fff;text-shadow:2px 2px #0003;font-family:"Baloo 2",cursive;font-size:1.75rem;font-weight:800}.progress-container{flex:1;max-width:600px;margin:0 2rem}.progress-track{background:#ffffff4d;border-radius:10px;height:8px;margin-bottom:.75rem;overflow:hidden}.progress-fill{background:#fff;border-radius:10px;height:100%;transition:width .4s;box-shadow:0 0 10px #ffffff80}.progress-steps{justify-content:space-between;display:flex}.progress-step{flex-direction:column;align-items:center;gap:.25rem;display:flex}.step-bubble{color:#fff;background:#ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-family:"Baloo 2",cursive;font-size:.85rem;font-weight:700;transition:all .3s;display:flex}.progress-step.active .step-bubble{color:var(--purple);background:#fff;box-shadow:0 0 15px #ffffff80}.progress-step.completed .step-bubble{background:var(--green);color:#fff}.step-label{color:#fffc;font-size:.7rem;font-weight:600}.app-main{z-index:1;max-width:1200px;margin:0 auto;padding:2rem;position:relative}.page-header{text-align:center;margin-bottom:2rem}.page-title{color:var(--dark);margin:0 0 .5rem;font-family:"Baloo 2",cursive;font-size:2.5rem;font-weight:800}.page-subtitle{color:#666;margin:0;font-size:1.1rem}.calendar-step{grid-template-columns:1fr 280px;align-items:start;gap:2rem;display:grid}.calendar-card{border:4px solid var(--purple);box-shadow:0 6px 0 var(--purple);background:#fff;border-radius:20px;padding:1.5rem;overflow:hidden}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.nav-btn{border:3px solid var(--purple);width:40px;height:40px;color:var(--purple);cursor:pointer;background:#fff;border-radius:50%;font-size:1.25rem;font-weight:700;transition:all .2s}.nav-btn:hover{background:var(--purple);color:#fff;transform:scale(1.1)}.month-title{color:var(--dark);margin:0;font-family:"Baloo 2",cursive;font-size:1.5rem;font-weight:700}.weekday-headers{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:.5rem;display:grid}.weekday-header{text-align:center;color:#888;padding:.5rem;font-size:.85rem;font-weight:700}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-day{aspect-ratio:1;cursor:pointer;background:#fff;border:3px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex;position:relative}.calendar-day:hover:not(:disabled){border-color:var(--purple);transform:scale(1.05)}.calendar-day.weekend{background:#9370db14}.calendar-day.selected{background:var(--purple);border-color:var(--purple);transform:scale(1.05)}.calendar-day.selected .day-number{color:#fff}.calendar-day.past{opacity:.4;cursor:not-allowed}.calendar-day.other-month{opacity:.3}.calendar-day.unavailable{cursor:not-allowed;background:#f5f5f5}.calendar-day.unavailable .day-number{color:#ccc}.day-number{color:var(--dark);font-family:"Baloo 2",cursive;font-size:1.1rem;font-weight:700;line-height:1}.day-number.crossed-out{color:#ccc;text-decoration:line-through}.availability-indicator{justify-content:center;align-items:center;gap:2px;margin-top:2px;font-size:.65rem;display:flex}.service-dots{align-items:center;gap:1px;display:flex}.service-emoji{font-size:.6rem;line-height:1;display:inline-block}.service-more{color:#666;margin-left:1px;font-size:.5rem;font-weight:700}.party-filters{background:#fff;border:2px solid #e0e0e0;border-radius:12px;margin-bottom:1rem;padding:1rem}.filters-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.filters-header h4{color:var(--dark);margin:0;font-family:"Baloo 2",cursive;font-size:1rem}.clear-filters-btn{color:#666;cursor:pointer;background:#f5f5f5;border:1px solid #ddd;border-radius:6px;padding:.4rem .8rem;font-size:.75rem;transition:all .2s}.clear-filters-btn:hover:not(:disabled){color:#fff;background:#ef5350;border-color:#ef5350}.clear-filters-btn:disabled{opacity:.4;cursor:not-allowed}.party-filter-list{flex-wrap:wrap;align-items:center;gap:.5rem;min-height:40px;margin-bottom:1rem;display:flex}.party-filter-tag{background:linear-gradient(135deg,var(--pink),var(--purple));color:#fff;cursor:pointer;border:none;border-radius:20px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 4px #0000001a}.party-filter-tag .filter-emoji{font-size:.9rem}.party-filter-tag .filter-name{flex:1}.party-filter-tag .filter-remove{opacity:.8;font-size:1.1rem;font-weight:700}.available-party-types h5{color:#666;margin:0 0 .5rem;font-family:Quicksand,sans-serif;font-size:.85rem;font-weight:600}.party-type-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;display:grid}.party-type-option{text-align:left;cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8rem;transition:all .2s;display:flex}.party-type-option:hover{border-color:var(--purple);background:#9370db0d}.party-type-option.selected{border-color:var(--purple);background:#9370db1a;box-shadow:0 2px 8px #9370db33}.party-type-emoji{flex-shrink:0;font-size:1rem}.party-type-name{color:#333;flex:1;font-weight:500}.view-toggle{background:#f5f5f5;border-radius:10px;gap:.5rem;margin-bottom:1rem;padding:.25rem;display:flex}.view-toggle .toggle-btn{color:#666;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;flex:1;padding:.5rem .75rem;font-family:Quicksand,sans-serif;font-size:.85rem;font-weight:600;transition:all .2s}.view-toggle .toggle-btn:hover{background:#9370db1a}.view-toggle .toggle-btn.active{background:var(--purple);color:#fff;border-color:var(--purple)}.service-legend-item{align-items:center;gap:.5rem;display:flex}.service-legend-item .service-emoji{font-size:.9rem;line-height:1;display:inline-block}.calendar-legend{background:#fff;border:3px solid #ddd;border-radius:15px;padding:1rem}.calendar-legend h4{color:var(--dark);margin:0 0 .75rem;font-family:"Baloo 2",cursive;font-size:1rem}.legend-items{flex-direction:column;gap:.5rem;display:flex}.legend-item{color:#555;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.selected-date-card{border:4px solid var(--green);box-shadow:0 4px 0 var(--green);background:#fff;border-radius:15px;grid-column:1/-1;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.selected-date-icon{font-size:2rem}.selected-date-info{flex-direction:column;gap:.25rem;display:flex}.selected-date-info strong{color:var(--dark);font-size:1.1rem}.selected-date-info span{color:var(--green);font-size:.9rem;font-weight:600}.calendar-sidebar{flex-direction:column;gap:1rem;display:flex}.selected-dates-panel{border:3px solid var(--green);background:#fff;border-radius:15px;padding:1rem}.selected-dates-panel h4{color:var(--dark);margin:0 0 .25rem;font-family:"Baloo 2",cursive;font-size:1rem}.panel-subtitle{color:#888;margin:0 0 .75rem;font-size:.85rem}.selected-dates-list{flex-direction:column;gap:.5rem;display:flex}.date-slot{border:2px dashed #ddd;border-radius:10px;align-items:center;gap:.75rem;padding:.75rem;transition:all .2s;display:flex}.date-slot.filled{border-style:solid;border-color:var(--green);background:#32cd320d}.date-slot.empty{background:#fafafa}.date-slot-icon{font-size:1.1rem}.date-slot-info{flex-direction:column;flex:1;gap:.1rem;display:flex}.date-slot-day{color:var(--dark);font-size:.85rem;font-weight:700}.date-slot-date{color:#555;font-size:.9rem}.empty-slot{color:#bbb;font-size:.9rem;font-style:italic}.remove-date{color:#ef5350;cursor:pointer;background:#fff;border:2px solid #ef5350;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:1rem;font-weight:700;transition:all .2s;display:flex}.remove-date:hover{color:#fff;background:#ef5350}.filter-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:2rem;display:flex}.filter-btn{border:3px solid var(--purple);color:var(--purple);cursor:pointer;box-shadow:0 4px 0 var(--purple);background:#fff;border-radius:50px;padding:.75rem 1.5rem;font-family:"Baloo 2",cursive;font-size:1rem;font-weight:600;transition:all .3s}.filter-btn:hover{box-shadow:0 6px 0 var(--purple);transform:translateY(-2px)}.filter-btn.active{background:var(--purple);color:#fff;box-shadow:0 2px 0 var(--dark);transform:translateY(2px)}.filter-btn.disabled,.filter-btn:disabled{opacity:.4;cursor:not-allowed}.party-cards-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.party-card{cursor:pointer;background:#fff;border:4px solid #ddd;border-radius:20px;padding:1.5rem;transition:all .3s;position:relative;box-shadow:0 4px #ddd}.party-card:hover{transform:translateY(-4px);box-shadow:0 8px #ddd}.party-card.selected{border-width:5px;transform:translateY(-6px);box-shadow:0 10px}.party-card.unavailable{opacity:.6;cursor:not-allowed;background:#f8f8f8}.party-card.unavailable:hover{transform:none;box-shadow:0 4px #ddd}.unavailable-badge{color:#fff;background:#999;border-radius:20px;padding:.4rem 1rem;font-size:.75rem;font-weight:600;position:absolute;top:-12px;right:1rem}.selected-badge{color:#fff;border-radius:20px;padding:.4rem 1rem;font-size:.85rem;font-weight:700;position:absolute;top:-12px;right:1rem}.party-icon{border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 1rem;font-size:2rem;display:flex;box-shadow:0 4px 15px #00000026}.party-title{color:var(--dark);text-align:center;margin:0 0 .5rem;font-family:"Baloo 2",cursive;font-size:1.3rem;font-weight:700}.party-meta{color:#666;justify-content:center;gap:1rem;margin-bottom:.75rem;font-size:.85rem;display:flex}.party-description{color:#555;min-height:80px;margin-bottom:1rem;font-size:.9rem;line-height:1.5}.party-footer{text-align:center;border-top:2px dashed #ddd;padding-top:1rem}.party-price{justify-content:center;align-items:baseline;gap:.5rem;display:flex}.price-label{color:#888;font-size:.8rem}.price-amount{color:var(--dark);font-family:"Baloo 2",cursive;font-size:1.8rem;font-weight:800}.price-note{color:#888;font-size:.75rem}.time-slot-step{max-width:700px;margin:0 auto}.date-tabs{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.date-tab{cursor:pointer;background:#fff;border:3px solid #ddd;border-radius:12px;flex-direction:column;align-items:center;padding:.75rem 1.25rem;transition:all .2s;display:flex}.date-tab:hover{border-color:var(--blue);transform:translateY(-2px)}.date-tab.active{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 4px 0 var(--dark);transform:translateY(-2px)}.tab-day{font-family:"Baloo 2",cursive;font-size:1rem;font-weight:700}.tab-date{opacity:.8;font-size:.85rem}.book-slot-btn{background:var(--green);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:.75rem;padding:.5rem 1rem;font-family:Quicksand,sans-serif;font-size:.85rem;font-weight:600;transition:all .2s}.book-slot-btn:hover{background:#28a428;transform:scale(1.05)}.no-slots-message{text-align:center;border:3px dashed var(--yellow);background:#ffd7001a;border-radius:15px;grid-column:1/-1;padding:2rem}.no-slots-message p{color:#666;margin:0;font-size:1.1rem}.party-type-selection{max-width:1000px;margin:0 auto}.selected-slot-banner{border:3px solid var(--blue);background:linear-gradient(135deg,#4169e11a,#9370db1a);border-radius:15px;justify-content:center;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.5rem;font-size:1.1rem;display:flex}.selected-slot-banner span{font-size:1.3rem}.selected-slot-banner .entertainers-available{color:var(--green);border-left:2px solid #ddd;margin-left:1rem;padding-left:1rem;font-size:.9rem;font-weight:500}.date-display{border:3px solid var(--blue);background:#fff;border-radius:15px;justify-content:center;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex}.date-icon{font-size:1.5rem}.entertainer-section{border:3px solid var(--purple);background:#fff;border-radius:15px;margin-bottom:1.5rem;padding:1.5rem}.entertainer-section h3{color:var(--purple);margin:0 0 1rem;font-family:"Baloo 2",cursive}.entertainer-options{flex-direction:column;gap:.75rem;display:flex}.entertainer-option{cursor:pointer;border:3px solid #ddd;border-radius:12px;align-items:center;gap:.75rem;padding:1rem;transition:all .2s;display:flex}.entertainer-option:hover{border-color:var(--purple)}.entertainer-option.selected{border-color:var(--purple);background:#9370db1a}.entertainer-option input{width:18px;height:18px}.time-notice{border:3px solid var(--yellow);text-align:center;background:#ffd70033;border-radius:12px;margin-bottom:1.5rem;padding:1rem;font-size:.95rem}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.slot-card{text-align:center;cursor:pointer;background:#fff;border:4px solid #ddd;border-radius:15px;padding:1.25rem;transition:all .3s;box-shadow:0 3px #ddd}.slot-card:hover:not(.unavailable){border-color:var(--green);transform:translateY(-3px);box-shadow:0 6px #ddd}.slot-card.selected{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 8px 0 var(--dark);transform:translateY(-5px)}.slot-card.unavailable{opacity:.5;cursor:not-allowed;background:#f5f5f5}.slot-time{margin-bottom:.5rem;font-family:"Baloo 2",cursive;font-size:1.4rem;font-weight:700}.slot-status{margin-bottom:.5rem;font-size:.85rem}.available-badge{color:var(--green);font-weight:600}.unavailable-badge{color:#999}.slot-price{font-family:"Baloo 2",cursive;font-size:1.2rem;font-weight:700}.slot-card.selected .slot-price,.slot-card.selected .available-badge{color:#fff}.slot-card.skeleton{pointer-events:none}.skeleton-time,.skeleton-price{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:4px;height:20px;margin:.5rem 0;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.customer-details-step{max-width:900px;margin:0 auto}.form-columns{grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;display:grid}.form-section{background:#fff;border:3px solid #ddd;border-radius:20px;padding:1.5rem}.section-title{color:var(--dark);align-items:center;gap:.5rem;margin:0 0 1rem;font-family:"Baloo 2",cursive;font-size:1.2rem;display:flex}.form-field{margin-bottom:1rem}.form-field label{color:var(--dark);margin-bottom:.4rem;font-size:.95rem;font-weight:600;display:block}.form-field input,.form-field select,.form-field textarea{box-sizing:border-box;border:3px solid #ddd;border-radius:10px;width:100%;padding:.75rem 1rem;font-family:Quicksand,sans-serif;font-size:1rem;transition:border-color .2s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--blue);outline:none}.form-field input.error,.form-field textarea.error{border-color:#ef5350}.error-message{color:#ef5350;margin-top:.25rem;font-size:.85rem;display:block}.form-row{grid-template-columns:1fr auto;gap:1rem;display:grid}.form-field.small{width:100px}.venue-selection{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.venue-card{cursor:pointer;border:3px solid #ddd;border-radius:12px;align-items:center;gap:.75rem;padding:1rem;transition:all .2s;display:flex}.venue-card:hover{border-color:var(--purple)}.venue-card.selected{border-color:var(--purple);background:#9370db1a}.venue-card.error{border-color:#ef5350}.venue-card input{width:18px;height:18px}.venue-info{flex:1;justify-content:space-between;align-items:center;display:flex}.venue-name{font-weight:600}.venue-cost{color:#666;font-size:.9rem}.toggle-group{gap:.75rem;display:flex}.toggle-btn{cursor:pointer;background:#fff;border:3px solid #ddd;border-radius:10px;flex:1;padding:.75rem;font-family:Quicksand,sans-serif;font-size:1rem;font-weight:600;transition:all .2s}.toggle-btn:hover{border-color:var(--blue)}.toggle-btn.active{background:var(--blue);border-color:var(--blue);color:#fff}.toggle-btn.error{border-color:#ef5350}.guest-counter{background:#fff;border:3px solid #ddd;border-radius:10px;justify-content:center;align-items:center;gap:1rem;padding:.75rem;display:flex}.guest-counter button{border:2px solid var(--purple);width:40px;height:40px;color:var(--purple);cursor:pointer;background:#fff;border-radius:50%;font-size:1.25rem;font-weight:700;transition:all .2s}.guest-counter button:hover{background:var(--purple);color:#fff}.guest-counter span{text-align:center;min-width:40px;font-family:"Baloo 2",cursive;font-size:1.5rem;font-weight:700}.acknowledgement-box{border:3px solid var(--yellow);background:#ffd70026;border-radius:15px;margin-bottom:1.5rem;padding:1.25rem}.acknowledgement-box label{cursor:pointer;align-items:flex-start;gap:1rem;display:flex}.acknowledgement-box label.error{color:#ef5350}.acknowledgement-box input{flex-shrink:0;width:20px;height:20px;margin-top:2px}.acknowledgement-box span{flex:1;line-height:1.5}.confirmation-step{max-width:1000px;margin:0 auto}.confirmation-columns{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.booking-summary{border:4px solid var(--purple);box-shadow:0 6px 0 var(--purple);background:#fff;border-radius:20px;padding:1.5rem}.summary-title{color:var(--purple);margin:0 0 1rem;font-family:"Baloo 2",cursive;font-size:1.3rem}.summary-card{border:3px solid;border-radius:15px;margin-bottom:1.5rem;overflow:hidden}.summary-header{color:#fff;align-items:center;gap:1rem;padding:1rem;display:flex}.summary-header .party-icon{background:#fff3;width:50px;height:50px;margin:0;font-size:1.5rem}.summary-header h4{margin:0;font-family:"Baloo 2",cursive;font-size:1.2rem}.summary-header p{opacity:.9;margin:0;font-size:.9rem}.summary-details{padding:1rem}.detail-row{border-bottom:1px solid #eee;gap:1rem;padding:.75rem 0;display:flex}.detail-row:last-child{border-bottom:none}.detail-row span:first-child{font-size:1.25rem}.detail-row strong{margin-bottom:.25rem;display:block}.detail-row p{color:#555;margin:0;font-size:.95rem}.detail-row .small{color:#888;font-size:.85rem}.price-breakdown{border-top:2px dashed #ddd;margin-top:1rem;padding-top:1rem}.price-row{justify-content:space-between;padding:.5rem 0;font-size:1rem;display:flex}.price-row.addon{color:#666;padding-left:1rem;font-size:.9rem}.price-row.total{border-top:3px solid var(--green);color:var(--dark);margin-top:.75rem;padding-top:.75rem;font-family:"Baloo 2",cursive;font-size:1.4rem;font-weight:800}.payment-note{border:2px solid var(--blue);text-align:center;color:#555;background:#4169e11a;border-radius:10px;margin-top:1rem;padding:1rem;font-size:.9rem}.add-ons-panel{border:4px solid var(--blue);box-shadow:0 6px 0 var(--blue);background:#fff;border-radius:20px;padding:1.5rem}.add-ons-panel h3{color:var(--blue);text-align:center;margin:0 0 1rem;font-family:"Baloo 2",cursive;font-size:1.3rem}.addon-category{border-bottom:2px dashed #ddd;margin-bottom:1.5rem;padding-bottom:1.5rem}.addon-category:last-of-type{border-bottom:none;margin-bottom:1rem}.addon-category h4{color:var(--dark);margin:0 0 .5rem;font-family:"Baloo 2",cursive;font-size:1.1rem}.category-note{color:#666;margin:0 0 .75rem;font-size:.85rem}.addon-option{cursor:pointer;border:2px solid #ddd;border-radius:10px;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.75rem;transition:all .2s;display:flex}.addon-option:hover{border-color:var(--green)}.addon-option.selected{border-color:var(--green);background:#32cd321a}.addon-option input{width:18px;height:18px}.addon-name{flex:1;font-weight:600}.addon-info{flex-direction:column;flex:1;gap:.25rem;display:flex}.addon-info .addon-name{flex:unset}.addon-description{color:#666;font-size:.8rem;font-weight:400;line-height:1.4}.matched-badge{background:var(--green);color:#fff;border-radius:10px;padding:.2rem .5rem;font-size:.75rem;font-weight:700}.addon-price{color:var(--dark);font-family:"Baloo 2",cursive;font-weight:700}.addon-category--food-room{border-left:4px solid var(--orange);background:#fff7ed;border-radius:12px;padding:1rem 1.25rem}.addon-option--prominent{border-width:2.5px;padding:1rem;font-size:1.05rem}.addon-option--prominent .addon-name{font-weight:700}.price-row.venue-info{color:#888;border-top:1px dashed #ccc;margin-top:.5rem;padding-top:.5rem;font-size:.85rem;font-style:italic}.uv-swords-addon{border:2px solid var(--purple);background:#9370db0d;border-radius:10px;padding:.75rem}.uv-swords-addon select{border:2px solid #ddd;border-radius:8px;width:100%;margin-top:.5rem;padding:.5rem;font-family:Quicksand,sans-serif}.terms-checkbox{cursor:pointer;align-items:flex-start;gap:.75rem;margin:1.5rem 0;display:flex}.terms-checkbox input{width:18px;height:18px;margin-top:2px}.terms-checkbox span{font-size:.9rem;line-height:1.5}.terms-checkbox a{color:var(--blue)}.book-btn{background:linear-gradient(135deg,var(--pink),var(--purple));color:#fff;cursor:pointer;width:100%;box-shadow:0 5px 0 var(--dark);border:none;border-radius:15px;padding:1.25rem;font-family:"Baloo 2",cursive;font-size:1.3rem;font-weight:800;transition:all .3s}.book-btn:hover:not(:disabled){box-shadow:0 8px 0 var(--dark);transform:translateY(-3px)}.book-btn:disabled{opacity:.5;cursor:not-allowed}.success-screen{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.success-card{border:5px solid var(--green);text-align:center;max-width:500px;box-shadow:0 10px 0 var(--green);background:#fff;border-radius:30px;padding:3rem}.success-icon{margin-bottom:1rem;font-size:5rem;animation:1s infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.success-card h2{color:var(--green);margin:0 0 1rem;font-family:"Baloo 2",cursive;font-size:2.5rem}.booking-ref{background:#32cd321a;border-radius:10px;margin-bottom:1rem;padding:1rem;font-size:1.1rem}.confirmation-text{color:#555;margin-bottom:1.5rem}.what-next{border:3px solid var(--yellow);text-align:left;background:#ffd7001a;border-radius:15px;margin-bottom:1.5rem;padding:1.25rem}.what-next h3{margin:0 0 .75rem;font-family:"Baloo 2",cursive}.what-next ul{margin:0;padding:0;list-style:none}.what-next li{padding:.4rem 0;font-size:.95rem}.home-btn{background:var(--blue);color:#fff;cursor:pointer;box-shadow:0 4px 0 var(--dark);border:none;border-radius:15px;padding:1rem 2rem;font-family:"Baloo 2",cursive;font-size:1.1rem;font-weight:700;transition:all .3s}.home-btn:hover{box-shadow:0 7px 0 var(--dark);transform:translateY(-3px)}.continue-btn{background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;cursor:pointer;width:100%;max-width:400px;box-shadow:0 5px 0 var(--dark);border:none;border-radius:50px;margin:1.5rem auto 0;padding:1.25rem 2rem;font-family:"Baloo 2",cursive;font-size:1.2rem;font-weight:700;transition:all .3s;display:block}.continue-btn:hover:not(:disabled){box-shadow:0 8px 0 var(--dark);transform:translateY(-3px)}.continue-btn:disabled{opacity:.5;cursor:not-allowed}.app-footer{justify-content:space-between;max-width:1200px;margin:2rem auto 0;padding:1rem 2rem;display:flex}.nav-button{border:3px solid var(--purple);color:var(--purple);cursor:pointer;background:#fff;border-radius:50px;padding:.75rem 1.5rem;font-family:"Baloo 2",cursive;font-size:1rem;font-weight:700;transition:all .2s}.nav-button:hover:not(:disabled){background:var(--purple);color:#fff}.nav-button:disabled{opacity:.4;cursor:not-allowed}@media (max-width:900px){.calendar-step{grid-template-columns:1fr}.calendar-legend{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.legend-items{flex-flow:wrap;justify-content:center}.form-columns,.confirmation-columns{grid-template-columns:1fr}.progress-container{display:none}.app-header{justify-content:center}}@media (max-width:600px){.app-main{padding:1rem}.page-title{font-size:1.8rem}.calendar-card{box-shadow:0 4px 0 var(--purple);border-width:3px;padding:1rem}.weekday-headers{gap:2px;margin-bottom:.25rem}.weekday-header{padding:.25rem 0;font-size:.75rem}.calendar-grid{gap:2px}.calendar-day{border-width:2px;border-radius:8px;padding:2px}.day-number{font-size:.9rem}.availability-indicator{margin-top:1px;font-size:.55rem}.service-emoji{font-size:.5rem}.party-cards-grid{grid-template-columns:1fr}.filter-buttons{flex-direction:column}.slots-grid{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.form-field.small{width:100%}.success-card{padding:2rem 1.5rem}.app-header{padding:.75rem 1rem}.logo-text{font-size:1.3rem}.logo-icon{font-size:1.5rem}.party-type-list{grid-template-columns:1fr}}@media (max-width:380px){.app-main{padding:.5rem}.calendar-card{border-radius:14px;padding:.5rem}.calendar-grid{gap:1px}.calendar-day{border-width:2px;border-radius:6px;padding:1px}.day-number{font-size:.8rem}.availability-indicator{font-size:.5rem}.month-title{font-size:1.2rem}.nav-btn{border-width:2px;width:34px;height:34px;font-size:1rem}.view-toggle .toggle-btn{padding:.4rem .5rem;font-size:.75rem}.app-header{padding:.5rem .75rem}.logo-text{font-size:1.1rem}.logo-icon{font-size:1.3rem}}.slot-party-combined{flex-direction:column;gap:1.5rem;display:flex}.combined-layout{grid-template-columns:1fr 1.5fr;gap:1.5rem;min-height:500px;display:grid}.slots-panel,.parties-panel{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000000f}.panel-title{color:var(--dark);margin-bottom:1rem;font-family:"Baloo 2",cursive;font-size:1.4rem;font-weight:700}.slots-panel .date-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.slots-panel .date-tab{cursor:pointer;background:#f5f5f5;border:2px solid #0000;border-radius:10px;flex-direction:column;align-items:center;padding:.5rem .75rem;font-size:.85rem;transition:all .2s;display:flex}.slots-panel .date-tab:hover{background:#eee}.slots-panel .date-tab.active{background:var(--pink);color:#fff;border-color:var(--pink)}.slots-panel .tab-day{font-weight:600}.slots-panel .tab-date{opacity:.8;font-size:.75rem}.slots-list{flex-direction:column;gap:.75rem;max-height:400px;display:flex;overflow-y:auto}.slot-item{cursor:pointer;background:#f9f9f9;border:2px solid #0000;border-radius:12px;align-items:center;gap:1rem;padding:1rem;transition:all .2s;display:flex}.slot-item:hover{background:#f0f0f0;transform:translate(4px)}.slot-item.selected{border-color:var(--pink);background:linear-gradient(135deg,#ff69b41a,#4169e11a)}.slot-time-large{color:var(--dark);min-width:80px;font-family:"Baloo 2",cursive;font-size:1.3rem;font-weight:700}.slot-entertainers{color:#666;flex:1;font-size:.85rem}.slot-check{background:var(--pink);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-weight:700;display:flex}.select-slot-prompt{text-align:center;color:#888;flex-direction:column;justify-content:center;align-items:center;height:300px;display:flex}.prompt-icon{margin-bottom:1rem;font-size:3rem;animation:1s ease-in-out infinite point-left}@keyframes point-left{0%,to{transform:translate(0)}50%{transform:translate(-10px)}}.selected-slot-info{background:linear-gradient(135deg,#ff69b426,#4169e126);border-radius:12px;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.selected-slot-info strong{font-size:1rem}.entertainers-badge{color:#666;background:#fff;border-radius:20px;padding:.25rem .75rem;font-size:.85rem}.filter-buttons.compact{gap:.5rem;margin-bottom:1rem;display:flex}.filter-buttons.compact .filter-btn{padding:.5rem 1rem;font-size:.85rem}.party-cards-compact{flex-direction:column;gap:.75rem;max-height:320px;display:flex;overflow-y:auto}.party-card-compact{cursor:pointer;background:#f9f9f9;border:2px solid #0000;border-radius:12px;align-items:center;padding:.75rem 1rem;transition:all .2s;display:flex;position:relative}.party-card-compact:hover:not(.unavailable){background:#f0f0f0;transform:translate(4px)}.party-card-compact.selected{background:#fff;box-shadow:0 4px 12px #0000001a}.party-card-compact.unavailable{opacity:.5;cursor:not-allowed}.unavailable-overlay{color:#999;background:#fff;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.party-card-header{align-items:center;gap:.75rem;width:100%;display:flex}.party-icon-small{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:flex}.party-info{flex:1;min-width:0}.party-info h4{color:var(--dark);margin:0;font-family:"Baloo 2",cursive;font-size:1rem;font-weight:700}.party-price-inline{margin-left:.5rem;font-family:"Baloo 2",cursive;font-size:1.05rem;font-weight:800}.party-meta-compact{color:#666;font-size:.8rem}.party-descriptor{color:#666;-webkit-line-clamp:1;cursor:pointer;-webkit-box-orient:vertical;margin:4px 0 0;font-size:.9rem;line-height:1.4;display:-webkit-box;overflow:hidden}.party-descriptor.expanded{-webkit-line-clamp:unset;overflow:visible}.check-badge{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.85rem;font-weight:700;display:flex}.entertainer-section.compact{background:#f5f5f5;border-radius:12px;margin-top:1rem;padding:1rem}.entertainer-section.compact h4{margin-bottom:.75rem;font-size:.9rem}.entertainer-options-compact{flex-wrap:wrap;gap:.5rem;display:flex}.entertainer-opt{cursor:pointer;background:#fff;border-radius:8px;padding:.5rem 1rem;font-size:.85rem;transition:all .2s}.entertainer-opt.selected{background:var(--purple);color:#fff}.entertainer-opt input{display:none}.combined-footer{background:#fff;border-radius:16px;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex;box-shadow:0 4px 20px #00000014}.selection-summary{color:var(--dark);gap:1.5rem;font-size:.95rem;display:flex}.selection-summary span{align-items:center;gap:.5rem;display:flex}.combined-footer .continue-btn{padding:.875rem 2rem;font-size:1rem}@media (max-width:900px){.combined-layout{grid-template-columns:1fr}.slots-panel{order:1}.parties-panel{order:2}.select-slot-prompt{height:150px}.prompt-icon{animation:1s ease-in-out infinite point-down;transform:rotate(90deg)}@keyframes point-down{0%,to{transform:rotate(90deg)translate(0)}50%{transform:rotate(90deg)translate(-10px)}}.selection-summary{flex-direction:column;gap:.5rem;font-size:.85rem}.combined-footer{flex-direction:column;gap:1rem}.combined-footer .continue-btn{width:100%}.combined-layout{min-height:auto}}.venue-status-options{flex-direction:column;gap:.5rem;display:flex}.venue-status-option{cursor:pointer;background:#fafafa;border:2px solid #e5e7eb;border-radius:12px;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;transition:all .2s;display:flex}.venue-status-option:hover{background:#f3f4f6;border-color:#d1d5db}.venue-status-option.selected{border-color:var(--primary,#6366f1);background:linear-gradient(135deg,#6366f10f,#6366f105)}.venue-status-option.error{border-color:var(--red,#ef4444)}.venue-status-option input[type=radio]{width:18px;height:18px;accent-color:var(--primary,#6366f1);cursor:pointer;flex-shrink:0;margin-top:2px}.venue-status-content{flex-direction:column;gap:.15rem;display:flex}.venue-status-content strong{color:var(--dark,#1f2937);font-size:.95rem}.venue-status-content span{color:#6b7280;font-size:.825rem;line-height:1.3}.reserve-notice{border-left-color:var(--orange,#f59e0b);background:#fffbeb}.tbd-notice{border-left:4px solid var(--blue);background:#f0f9ff;border-radius:12px;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.tbd-notice span{font-size:1.2rem}.tbd-notice p{color:#555;margin:0;font-size:.9rem}.slot-time-range{color:#666;font-size:.9rem;font-weight:400}.time-windows-section{border-top:2px dashed #0000001a;margin-top:1.25rem;padding-top:1.25rem}.time-windows-title{color:var(--dark);margin:0 0 .75rem;font-family:"Baloo 2",cursive;font-size:1.1rem;font-weight:700}.time-windows-loading{text-align:center;color:#666;padding:1rem;font-size:.9rem}.time-window-auto-selected{color:#333;background:linear-gradient(135deg,#6366f114,#8b5cf614);border:2px solid #6366f140;border-radius:12px;padding:.75rem 1rem;font-size:.9rem}.time-window-auto-selected p{margin:0}.time-windows-empty{text-align:center;color:#999;padding:1rem;font-size:.9rem}.time-windows-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.time-window-btn{text-align:center;cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:.65rem .75rem;font-family:inherit;transition:all .2s}.time-window-btn:hover:not(:disabled){border-color:var(--pink);background:#ff14930a}.time-window-btn.selected{border-color:var(--pink);box-shadow:0 0 0 1px var(--pink);background:#ff149314}.time-window-btn.unavailable{cursor:not-allowed;opacity:.6;background:#f9f9f9;border-color:#f0f0f0}.time-window-range{color:var(--dark);font-size:.9rem;font-weight:600;display:block}.time-window-btn.unavailable .time-window-range{color:#aaa}.time-window-full{color:#999;margin-top:.15rem;font-size:.75rem;display:block}@media (max-width:640px){.time-windows-grid{grid-template-columns:1fr}}
