
:root{--pbb-navy:#063b54;--pbb-text:#0c2a42;--pbb-muted:#7c8b9c;--pbb-border:#dfe6ed;--pbb-gold:#edae38}
.pbb4-wrap{max-width:960px;margin:0 auto 40px;font-family:Inter,Arial,sans-serif;color:var(--pbb-text)}
.pbb4-progress{height:72px;display:flex;align-items:center;justify-content:center;max-width:520px;margin:auto}
.pbb4-step{display:flex;flex-direction:column;align-items:center;gap:4px;color:#9aa6b5;min-width:78px;font-size:11px;font-weight:700}
.pbb4-circle{width:24px;height:24px;border:2px solid #d6dee7;border-radius:50%;display:grid;place-items:center;background:#fff;font-size:12px}
.pbb4-step.active{color:var(--pbb-navy)}.pbb4-step.active .pbb4-circle{background:var(--pbb-navy);color:white;border-color:var(--pbb-navy)}
.pbb4-step.done .pbb4-circle:before{content:"✓";font-size:13px}.pbb4-step.done .pbb4-circle{font-size:0}
.pbb4-line{height:2px;background:#d7e0e8;width:145px;margin:0 8px 18px}
.pbb4-panel{display:none}.pbb4-panel.active{display:block}
.pbb4-card{background:white;border:1px solid #e4e9ee;border-radius:24px;padding:32px;box-shadow:0 2px 5px rgba(7,40,61,.03)}
.pbb4-title-row{display:flex;align-items:center;gap:16px}.pbb4-title-row h2{font-size:27px;margin:0 0 5px}.pbb4-title-row p{margin:0;color:var(--pbb-muted)}
.pbb4-icon,.pbb4-boat-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-weight:800}
.pbb4-icon.blue,.pbb4-boat-icon.blue{background:#eef5ff;color:#2676ff}.pbb4-icon.orange{background:#fff7eb;color:#f5a623}.pbb4-icon.mint{background:#ecfbf5;color:#10a36b}.pbb4-boat-icon.green{background:#edfbf1;color:#1fbf68}
.pbb4-step1-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:30px}.pbb4-label{font-size:12px;font-weight:800;letter-spacing:.08em;color:#71839a;margin-bottom:12px}.pbb4-muted{color:#8b99a9;font-size:14px;margin:-4px 0 12px}
.pbb4-calendar{background:#f8faff;border:1px solid #dce4ee;border-radius:16px;padding:18px}.pbb4-cal-head{display:flex;justify-content:space-between;align-items:center;padding:4px 5px 18px}.pbb4-cal-head button{border:0;background:transparent;font-size:28px;color:#738aa2;cursor:pointer}.pbb4-weekdays,.pbb4-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.pbb4-weekdays span{font-size:12px;color:#8596aa;font-weight:700;padding:8px}.pbb4-days button{height:40px;border:0;background:transparent;border-radius:50%;cursor:pointer;color:#435a72}.pbb4-days button.selected{background:var(--pbb-navy);color:#fff;font-weight:800}.pbb4-days button:disabled{color:#d7dee6;cursor:not-allowed}.pbb4-selected-date{border-top:1px solid #dde5ee;margin-top:10px;padding:15px 4px 0;font-weight:700}
.pbb4-slots{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pbb4-slot{border:1px solid #dce4ec;background:#fff;border-radius:12px;padding:15px 10px;cursor:pointer;color:#102c45}.pbb4-slot strong{display:block}.pbb4-slot small{display:block;margin-top:5px;color:#9aa9ba}.pbb4-slot.selected{border:2px solid var(--pbb-navy)}.pbb4-slot.selected small{color:#e9a72f}.pbb4-slot:disabled{opacity:.4;cursor:not-allowed;background:#f7f9fb}.pbb4-empty{grid-column:1/-1;border:1px dashed #d9e1e9;border-radius:12px;padding:18px;color:#8998a8}
.pbb4-footer{border-top:1px solid #e9eef2;margin-top:28px;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:15px}.pbb4-footer.standalone{padding:24px 0 0}
.pbb4-primary,.pbb4-back{border:0;border-radius:11px;padding:14px 22px;font-weight:800;cursor:pointer}.pbb4-primary{background:var(--pbb-navy);color:#fff;box-shadow:0 5px 13px rgba(6,59,84,.16)}.pbb4-primary:disabled{opacity:.45;cursor:not-allowed}.pbb4-back{background:#fff;color:var(--pbb-text);border:1px solid #dce4eb}
.pbb4-ticket-intro{margin-bottom:22px}.pbb4-boat-card{border:1px solid #e0e6eb;border-radius:18px;margin-bottom:15px;overflow:hidden;background:#fff}.pbb4-boat-card.active-card{border:2px solid var(--pbb-gold)}.pbb4-boat-header{width:100%;display:grid;grid-template-columns:48px 1fr 120px 34px;gap:16px;align-items:center;border:0;background:#fff;padding:22px;text-align:left;cursor:pointer}.pbb4-boat-copy h3{margin:0 0 6px;font-size:17px}.pbb4-boat-copy p{margin:0;color:#6f8296;font-size:13px;line-height:1.45}.pbb4-start{text-align:right}.pbb4-start span{display:block;font-size:10px;color:#93a0ae;font-weight:800}.pbb4-start strong{font-size:18px}.pbb4-chevron{width:30px;height:30px;border-radius:50%;background:#f4f7fa;display:grid;place-items:center;color:#738aa1}
.pbb4-boat-body{display:none;border-top:1px solid #eef2f5;padding:12px 20px 20px}.pbb4-boat-body.open{display:block}.pbb4-ticket-row{display:grid;grid-template-columns:1fr 100px 116px;align-items:center;gap:15px;border:1px solid #e5e9ed;border-radius:12px;padding:13px 16px;margin-top:10px}.pbb4-ticket-row h4{margin:0 0 4px;font-size:14px}.pbb4-ticket-row p{margin:0;color:#8a9aaa;font-size:12px}.pbb4-counter{display:flex;justify-content:flex-end}.pbb4-counter button{width:34px;height:34px;border:1px solid #dce4eb;background:#fff;font-size:18px;cursor:pointer}.pbb4-counter input{width:40px;border:1px solid #dce4eb;border-left:0;border-right:0;text-align:center;font-weight:800}.pbb4-charter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:8px}.pbb4-charter-grid label{border:1px solid #dfe6ec;border-radius:12px;padding:15px;cursor:pointer}.pbb4-charter-grid label:has(input:checked){border:2px solid var(--pbb-navy)}.pbb4-charter-grid span{display:flex;justify-content:space-between;gap:8px;margin-top:7px}
.payment-card{max-width:570px;margin:auto}.pbb4-field{margin-top:18px}.pbb4-field label{display:block;font-size:13px;color:#6f7f90;margin-bottom:7px}.pbb4-field input,.pbb4-phone select{width:100%;height:46px;border:1px solid #dce4eb;border-radius:9px;padding:0 12px;box-sizing:border-box;font-size:15px}.pbb4-phone{display:grid;grid-template-columns:62px 1fr;gap:8px}.pbb4-phone select{padding:0 8px}
.pbb4-coupon{margin-top:24px;border:1px solid #e2e7ec;border-radius:14px;padding:10px;display:grid;grid-template-columns:1fr auto;gap:10px;box-shadow:0 2px 5px rgba(0,0,0,.03)}.pbb4-coupon-input{display:flex;align-items:center;gap:10px}.pbb4-coupon-input input{border:0;outline:0;width:100%;font-size:15px}.pbb4-coupon button{border:0;border-radius:10px;background:#f0f4f8;color:var(--pbb-navy);font-weight:800;padding:10px 16px;cursor:pointer}.pbb4-coupon-msg{font-size:12px;margin-top:6px;color:#159a62}
.pbb4-pay-label{font-size:12px;font-weight:800;letter-spacing:.06em;color:#69798b;margin:24px 0 10px}.pbb4-pay-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pbb4-pay-card{border:1px solid #dce4eb;border-radius:14px;padding:16px;cursor:pointer;position:relative}.pbb4-pay-card.selected{border:2px solid var(--pbb-navy)}.pbb4-pay-card input{position:absolute;opacity:0}.pbb4-pay-card b{font-size:14px}.pbb4-pay-card p{font-size:12px;line-height:1.45;color:#62768a;margin:6px 0 0}.pbb4-badge{float:right;background:#fff1c8;color:#b36c00;border-radius:5px;padding:3px 6px;font-size:10px;font-weight:800}
.pbb4-fare{margin-top:24px;border:1px solid #eadfce;border-radius:14px;background:#fffdf9;padding:20px}.pbb4-fare h3{margin:0 0 12px}.pbb4-fare>div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #e5e6e7}.pbb4-fare>div:last-child{border-bottom:0}.pbb4-fare .pbb4-total{font-size:16px;font-weight:800}.pbb4-mini{font-size:12px;color:#728396}
.pbb4-message{max-width:960px;margin:0 auto 12px;padding:12px 16px;border:1px solid #f0d3a1;background:#fff6e7;color:#774b00;border-radius:10px}.pbb4-success{text-align:center}.pbb4-success-icon{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#ebf8ef;margin:0 auto 16px;font-size:32px}
@media(max-width:767px){.pbb4-wrap{padding:0 10px}.pbb4-card{padding:20px;border-radius:18px}.pbb4-step1-grid{grid-template-columns:1fr}.pbb4-slots{grid-template-columns:1fr}.pbb4-boat-header{grid-template-columns:44px 1fr 90px 28px;padding:16px;gap:10px}.pbb4-boat-copy p{display:none}.pbb4-ticket-row{grid-template-columns:1fr auto;}.pbb4-ticket-row>strong{grid-column:1}.pbb4-counter{grid-column:2;grid-row:1/3}.pbb4-charter-grid,.pbb4-pay-options{grid-template-columns:1fr}.pbb4-footer{flex-direction:column;align-items:stretch}.pbb4-primary,.pbb4-back{width:100%}.pbb4-line{width:55px}.payment-card{max-width:none}}
