.zrp-booking-app{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(230px,.8fr);gap:22px;color:#092638}.zrp-booking-center,.zrp-summary{background:white;border:1px solid #e4e2dd;border-radius:9px;padding:22px;min-width:0}.zrp-eyebrow{font-size:11px;letter-spacing:3px;color:#007e80;font-weight:800}.zrp-booking-app h2{font-size:34px;margin:4px 0 10px}.zrp-booking-app h3{font-size:26px;margin:0 0 12px}.zrp-calendar{border:1px solid #e1e1e1;border-radius:8px;padding:12px;margin:18px 0}.zrp-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.zrp-calendar-header button{background:#fff;border:0;font-size:28px;cursor:pointer}.zrp-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.zrp-weekday{text-align:center;font-size:12px;color:#65747c}.zrp-day{min-height:39px;border:1px solid #eee;background:#fafafa;border-radius:4px;cursor:pointer;color:#14303d}.zrp-day.zrp-blocked{background:#f5dbe2;color:#8b4553;cursor:not-allowed}.zrp-day.zrp-selected{background:#007c7b;color:white}.zrp-day.zrp-past{color:#aaa}.zrp-legend{font-size:12px;color:#007c7b;margin-top:9px}.zrp-legend span{color:#c7798c}.zrp-legend em{color:#007c7b}.zrp-direct-form label{display:block;font-weight:700;font-size:13px;margin:12px 0}.zrp-direct-form input,.zrp-direct-form textarea{display:block;width:100%;box-sizing:border-box;padding:11px;border:1px solid #ccc;border-radius:4px;margin-top:6px}.zrp-fields-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.zrp-submit{background:#dbac36;color:#102630;border:0;padding:15px;width:100%;font-weight:800;cursor:pointer}.zrp-submit:disabled{opacity:.45;cursor:not-allowed}.zrp-direct-form small{display:block;text-align:center;margin-top:9px}.zrp-quote p{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eee;padding:9px 0}.zrp-total{display:flex;justify-content:space-between;background:#e5f3eb;padding:15px;font-weight:700}.zrp-summary-note{font-size:13px;color:#48626b}.zrp-message{padding:12px;background:#e5f3eb}@media(max-width:1100px){.zrp-booking-app{grid-template-columns:1fr}}@media(max-width:480px){.zrp-fields-two{grid-template-columns:1fr}.zrp-booking-center,.zrp-summary{padding:14px}}

.zrp-savings-banner{background:#e2f3e8;border:1px solid #b5dfc4;border-radius:9px;padding:17px;margin:12px 0 18px;display:flex;flex-direction:column;gap:5px;color:#08633c}
.zrp-savings-banner span{font-weight:800;font-size:11px;letter-spacing:1.6px}
.zrp-savings-banner strong{font-size:27px;line-height:1.2}
.zrp-savings-banner small{font-size:12px}
.zrp-direct-discount{color:#087446}

.zrp-guest-step[hidden],.zrp-calendar[hidden],.zrp-fields-two[hidden],.zrp-back[hidden]{display:none!important}.zrp-guest-step h3{font:600 25px Georgia,serif;color:#082f3d}.zrp-guest-step>p{color:#52656a}.zrp-step-actions{display:flex;gap:10px;flex-wrap:wrap}.zrp-step-actions .zrp-submit{flex:1}.zrp-back{background:white;border:1px solid #bccdca;padding:12px;cursor:pointer}.zrp-stage-note{display:block;margin-top:12px;color:#50666c}

.zrp-payment-step{border:1px solid #d9e8df;background:#f7faf8;border-radius:12px;padding:20px;margin:15px 0}
.zrp-payment-step[hidden]{display:none!important}
.zrp-payment-methods{display:grid;gap:10px;margin:18px 0}
.zrp-payment-methods label{display:block;border:1px solid #cbded5;border-radius:9px;padding:14px;background:white;font-weight:700}
.zrp-payment-methods small{display:block;margin:4px 0 0 24px;color:#536b63;font-weight:400}
.zrp-payment-status{background:#fff2d9;border:1px solid #eed19a;padding:12px;border-radius:8px;font-weight:600}
.zrp-payment-help{font-size:12px;color:#52675e}

.zrp-guest-step select[name=zrp_pets]{display:block;width:100%;padding:11px;margin-top:6px;border:1px solid #cbd5d1;border-radius:6px}.zrp-pet-notice{font-size:12px;color:#536b63}.zrp-pet-fee{font-weight:700}

.zrp-terms-box{border:1px solid #b8d7c9;border-radius:9px;background:#f3f8f4;padding:14px;margin:14px 0}.zrp-terms-box p{font-size:12px;line-height:1.6}.zrp-terms-box label{display:flex;gap:9px;align-items:flex-start;font-size:13px}.zrp-terms-box input[type=checkbox]{width:18px;min-width:18px;height:18px;margin-top:3px}

.zrp-payment-step .zrp-terms-box{margin-top:18px;padding:16px;border:1px solid #b9d8c9;background:#fff;border-radius:9px}
.zrp-payment-step .zrp-terms-box>strong{display:block;font-size:17px;margin-bottom:8px}
.zrp-payment-step .zrp-terms-box label{display:flex;gap:10px;align-items:flex-start;font-size:13px;font-weight:600;line-height:1.5}
.zrp-payment-step .zrp-terms-box input[type=checkbox]{width:20px;height:20px;flex-shrink:0;margin-top:1px}
