#kcc-camp-form-wrapper{max-width:850px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.kcc-header{text-align:center;margin-bottom:25px}
.kcc-title{color:#2c3e50;font-size:28px;margin-bottom:2px}
.kcc-subtitle{color:#666;font-size:16px;margin-top:0}
.kcc-fieldset{border:1px solid #ddd;border-radius:8px;padding:20px 25px;margin-bottom:20px;background:#fff}
.kcc-fieldset legend{font-size:18px;font-weight:700;color:#4a7c2e;padding:0 10px}
.kcc-camper-fieldset{border-color:#4a7c2e;border-width:2px}
.kcc-camper-fieldset legend{background:#4a7c2e;color:#fff;padding:4px 14px;border-radius:4px;font-size:16px}
.kcc-sub-heading{color:#4a7c2e;font-size:15px;margin:15px 0 10px;padding-top:10px;border-top:1px solid #eee}
.kcc-row{display:flex;gap:15px;margin-bottom:15px;flex-wrap:wrap}
.kcc-col-full{flex:1 1 100%}.kcc-col-8{flex:2;min-width:200px}.kcc-col-6{flex:1;min-width:180px}.kcc-col-4{flex:0 0 120px;min-width:100px}.kcc-col-3{flex:1;min-width:140px}
.kcc-fieldset label{display:block;font-weight:600;margin-bottom:5px;font-size:14px;color:#333}
.kcc-fieldset input[type="text"],.kcc-fieldset input[type="email"],.kcc-fieldset input[type="tel"],.kcc-fieldset input[type="date"],.kcc-fieldset input[type="number"],.kcc-fieldset select,.kcc-fieldset textarea{width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:5px;font-size:14px;transition:border-color .2s;box-sizing:border-box}
.kcc-fieldset input:focus,.kcc-fieldset select:focus,.kcc-fieldset textarea:focus{border-color:#4a7c2e;outline:none;box-shadow:0 0 0 2px rgba(74,124,46,.15)}
.req{color:#dc3232}
.kcc-week-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.kcc-week-option{cursor:pointer}
.kcc-week-option input[type="radio"]{display:none}
.kcc-week-card{display:flex;flex-direction:column;padding:18px 15px;border:2px solid #ddd;border-radius:8px;text-align:center;transition:all .2s;background:#fff}
.kcc-week-option input[type="radio"]:checked+.kcc-week-card{border-color:#4a7c2e;background:#f0f7ec;box-shadow:0 0 0 2px rgba(74,124,46,.2)}
.kcc-week-option:not(.kcc-week-full):hover .kcc-week-card{border-color:#4a7c2e}
.kcc-week-full .kcc-week-card{opacity:.55;cursor:not-allowed;background:#f5f5f5}
.kcc-advanced-badge{display:inline-block;background:#ff9800;color:#fff;padding:2px 10px;border-radius:3px;font-size:11px;font-weight:700;margin-top:4px}
.kcc-seats-info{font-size:13px;margin-top:6px;display:flex;flex-direction:column;gap:2px}
.kcc-booked{color:#c0392b;font-weight:600;font-size:13px}
.kcc-remaining{color:#4a7c2e;font-weight:600;font-size:13px}
.kcc-full-badge{background:#dc3232;color:#fff;padding:3px 12px;border-radius:3px;font-size:12px;font-weight:700;display:inline-block;margin-top:4px}
.kcc-week-price{font-size:18px;font-weight:700;color:#4a7c2e;margin-top:6px}
.kcc-seats-summary-box{background:#f0f7ec;border:1px solid #c5e1a5;border-radius:8px;padding:15px;margin-top:24px;text-align:center;font-size:15px;color:#333}
.kcc-checkbox-label{display:flex!important;align-items:center;gap:8px;font-weight:400!important;cursor:pointer}
.kcc-checkbox-label input[type="checkbox"]{width:auto!important}
.kcc-agreement-text{background:#f9f9f9;padding:15px;border-radius:5px;border:1px solid #e0e0e0;margin-bottom:15px;font-size:14px;line-height:1.6}
.kcc-submit-section{text-align:center;padding:25px 0}
.kcc-submit-btn{background:#4a7c2e;color:#fff;padding:16px 50px;font-size:18px;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:background .2s}
.kcc-submit-btn:hover{background:#3a6222}
.kcc-submit-btn:disabled{background:#999;cursor:not-allowed}
.kcc-spinner{display:inline-block;width:20px;height:20px;border:3px solid #ddd;border-top-color:#4a7c2e;border-radius:50%;animation:kcc-spin .8s linear infinite;vertical-align:middle;margin-right:8px}
@keyframes kcc-spin{to{transform:rotate(360deg)}}
#kcc-form-messages .kcc-error{background:#fdf0f0;border:1px solid #dc3232;color:#dc3232;padding:12px 18px;border-radius:5px;margin-bottom:15px}
#kcc-form-messages .kcc-success{background:#f0f7ec;border:1px solid #4a7c2e;color:#4a7c2e;padding:12px 18px;border-radius:5px;margin-bottom:15px}
.kcc-confirmation{text-align:center;max-width:500px;margin:40px auto;padding:30px;background:#f0f7ec;border-radius:12px}
.kcc-confirmation-icon{width:70px;height:70px;line-height:70px;background:#4a7c2e;color:#fff;border-radius:50%;font-size:36px;margin:0 auto 15px}
.kcc-confirmation h2{color:#4a7c2e}
.kcc-confirmation-details{text-align:left;background:#fff;padding:20px;border-radius:8px;margin-top:20px}
@media(max-width:768px){.kcc-week-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.kcc-row{flex-direction:column;gap:10px}.kcc-col-3,.kcc-col-4,.kcc-col-6,.kcc-col-8{flex:1 1 100%;min-width:100%}.kcc-week-grid{grid-template-columns:1fr}}
