.booking-heading{margin-bottom:28px}.booking-heading>span,.summary-step{display:inline-block;margin-bottom:8px;color:var(--red);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.booking-heading h2{margin-bottom:8px}.booking-heading p{margin:0;color:#56616a;font-size:17px}
.pesel-field .field-help{display:block;margin-top:7px;color:#65707a;font-size:12px;font-weight:400;letter-spacing:0;line-height:1.4;text-transform:none}.pesel-field .field-help.error{color:#a51f24;font-weight:700}.pesel-field .field-help.success{color:#16723e;font-weight:700}.pesel-field input.field-invalid{border-color:#c42a30!important;background:#fff7f7}.pesel-field input.field-valid{border-color:#299359!important;background:#f5fcf7}
.booking-details-form{display:grid;gap:26px}.booking-details-form fieldset{margin:0;padding:26px;border:2px solid #dce1e4;background:#fff}.booking-details-form legend{padding:0 12px;color:#071523;font-family:var(--head);font-size:29px;text-transform:uppercase}.fieldset-intro{margin:-2px 0 22px;color:#59656f;font-size:16px}.copy-address{margin:3px 0;padding:14px 16px}.terms-check{display:flex;align-items:flex-start;gap:13px;padding:20px;border:2px solid #dce1e4;background:#fff;font-size:16px;font-weight:700}.terms-check input{width:20px;height:20px;flex:0 0 auto;margin-top:3px}.terms-check a{color:#a91f24;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.terms-check a:hover{color:var(--red)}.summary-button{width:100%;min-height:60px}.price-preview{margin:22px 0 0;font-size:18px}.price-preview strong{font-size:25px}.booking-details-form textarea[readonly]{background:#f1f3f4;color:#4f5961}
.training-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px}.training-choice label{display:flex;align-items:center;gap:12px;min-height:62px;padding:15px 17px;border:2px solid #dce1e4;background:#f7f9fa;font-size:15px;font-weight:800;cursor:pointer}.training-choice input{width:20px;height:20px;margin:0;accent-color:var(--red)}.training-choice label:has(input:checked){border-color:var(--red);background:#fff2f2}.training-level-field{display:block;margin-top:18px;font-size:14px;font-weight:800;text-transform:uppercase}.training-level-field select{display:block;width:100%;margin-top:8px;padding:15px 14px;border:2px solid #cfd5da;background:#fff;font-size:16px}.training-level-field select:focus{border-color:var(--red);outline:none}
.summary-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start}.summary-sections{display:grid;gap:20px}.summary-card{padding:25px;border:2px solid #e0e4e7;background:#fff}.summary-card h2{margin:0 0 18px;font-size:28px}.summary-data{display:grid;grid-template-columns:1fr 1fr;gap:15px 24px;margin:0}.summary-data div{padding-bottom:12px;border-bottom:1px solid #e7eaec}.summary-data .wide{grid-column:1/3}.summary-data dt{color:#68737c;font-size:13px;font-weight:800;text-transform:uppercase}.summary-data dd{margin:5px 0 0;font-size:17px;white-space:pre-line}.price-box{position:sticky;top:24px}.price-row{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #e2e6e8}.price-row.total{padding-top:17px;border:0;font-size:24px;font-weight:800}.discount-form{margin:22px 0}.discount-form label{font-size:14px;font-weight:800;text-transform:uppercase}.discount-input{display:flex;gap:8px;margin-top:8px}.discount-input input{min-width:0;width:100%;padding:13px;border:2px solid #cfd5da;font-size:16px;text-transform:uppercase}.discount-message{min-height:24px;margin:8px 0 0;font-size:14px}.discount-message.success{color:#168447}.discount-message.error{color:#bc1f23}.summary-actions{display:grid;gap:10px}.summary-actions a{text-align:center}.summary-success{text-align:center;padding:50px}.summary-success h1{font-family:var(--head);font-size:50px;text-transform:uppercase}.summary-success p{font-size:18px}
@media(max-width:850px){.summary-layout{grid-template-columns:1fr}.price-box{position:static}}
@media(max-width:600px){.booking-details-form fieldset{padding:20px 16px}.booking-details-form legend{font-size:25px}.training-choice{grid-template-columns:1fr}.summary-data{grid-template-columns:1fr}.summary-data .wide{grid-column:1}.discount-input{display:grid}}
.waitlist-heading{padding:18px 20px;border-left:4px solid #d89b00;background:#fff8e5}.waitlist-heading>span{color:#9a6900}.waitlist-summary-box{border-top:5px solid #d89b00}.waitlist-summary-note{margin:0 0 18px;padding:13px;background:#fff8e5;color:#604a13;font-size:14px;line-height:1.55}
.online-payment-note{display:grid;gap:4px;margin:18px 0;padding:16px;border:1px solid #b9d8c2;border-radius:10px;background:#f1fbf4;color:#173e22}.online-payment-note span,.payu-attempt-status{display:block;font-size:.86rem;color:#58656f}.booking-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:210px}.payment-return-main{max-width:860px}.payment-return{padding:48px;text-align:center}.payment-return h1{margin:14px 0}.payment-return .summary-actions{justify-content:center;flex-wrap:wrap}.payment-return.paid{border-top:5px solid #238c48}@media(max-width:700px){.booking-actions{width:100%;min-width:0}.payment-return{padding:28px 18px}}
.payment-unavailable{padding:10px 12px;border-radius:8px;background:#fff3e0;color:#7d4b00;font-size:.86rem;font-weight:700}.portal-card .book:disabled{cursor:not-allowed;opacity:.58}
.cancellation-insurance-option{display:flex;align-items:flex-start;gap:12px;margin:18px 0 8px;padding:16px;border:2px solid #dce1e4;background:#f7f9fa;cursor:pointer}.cancellation-insurance-option:has(input:checked){border-color:#EB7706;background:#fff8f0}.cancellation-insurance-option input{flex:0 0 auto;width:20px;height:20px;margin:3px 0 0;accent-color:#EB7706}.cancellation-insurance-option span{display:grid;gap:3px}.cancellation-insurance-option strong{color:#071523;font-size:15px}.cancellation-insurance-option small{color:#4f5d67;font-size:13px}.cancellation-insurance-option em{color:#9a4d00;font-size:12px;font-style:normal;font-weight:700}
.insurance-badge{margin-right:7px;background:#fff1e3!important;color:#9a4b00!important;border:1px solid #EB7706!important}.booking-insurance{margin:10px 0;padding:10px 12px;border-left:4px solid #EB7706;background:#fff8f0;color:#71400f;font-size:13px}
