.booking-page{color:#171717;background:linear-gradient(#e8f5f2 0,#f8fbfa 320px,#fff 100%);width:100%;min-height:100vh;padding:58px 24px 85px}.booking-intro{max-width:1120px;margin:0 auto 35px}.booking-eyebrow{color:#087471;letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:700}.booking-intro h1,.booking-success h1{color:#0c1514;margin:0;font:650 clamp(38px,5vw,58px)/1.02 Cormorant Garamond,serif}.booking-intro>p:last-child{color:#354441;margin:10px 0 0}.booking-shell{background:#fff;border:1px solid #cddbd7;grid-template-columns:300px minmax(0,1fr);width:min(1120px,100%);min-height:690px;margin:auto;display:grid}.booking-summary{color:#fff;background:#0d5553;flex-direction:column;padding:32px 26px;display:flex}.booking-brand{border-bottom:1px solid #fff3;align-items:center;gap:12px;padding-bottom:26px;display:flex}.booking-brand>span{border:1px solid #9bd1ca;border-radius:50%;place-items:center;width:42px;height:42px;font:600 24px Cormorant Garamond,serif;display:grid}.booking-brand div{flex-direction:column;display:flex}.booking-brand small{color:#cae4e0;margin-top:3px;font-size:10px}.booking-summary ol{gap:22px;margin:32px 0;padding:0;list-style:none;display:grid}.booking-summary li{color:#bbd5d1;align-items:center;gap:12px;font-size:13px;font-weight:600;display:flex}.booking-summary li>span{border:1px solid #719d99;border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;display:grid}.booking-summary li svg{width:14px}.booking-summary li.active{color:#fff}.booking-summary li.active>span,.booking-summary li.done>span{color:#3f2a27;background:#e4b9ad;border-color:#e4b9ad}.summary-selection{border-top:1px solid #fff3;margin-top:auto;padding:20px 0}.summary-selection small,.summary-selection strong{display:block}.summary-selection small{text-transform:uppercase;letter-spacing:.12em;color:#a9cdca;font-size:9px}.summary-selection strong{margin:8px 0;font:600 20px/1.15 Cormorant Garamond,serif}.summary-selection p{color:#d8e9e7;margin:5px 0;font-size:11px}.booking-whatsapp{color:#fff;border:1px solid #ffffff52;align-items:center;gap:10px;margin-top:15px;padding:13px;display:flex}.booking-whatsapp svg{width:20px}.booking-whatsapp span{flex-direction:column;display:flex}.booking-whatsapp small{color:#cce2df;font-size:10px}.booking-panel{flex-direction:column;min-width:0;display:flex}.booking-step{flex:1;padding:42px 48px 25px}.step-heading>span{color:#087471;letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:700}.step-heading h2{color:#0b0b0b;margin:8px 0;font:650 clamp(30px,4vw,42px)/1.05 Cormorant Garamond,serif}.step-heading p{color:#3f4a48;margin:0;font-size:13px}.catalog-groups{gap:30px;margin-top:30px;display:grid}.catalog-group h3{color:#182220;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:12px}.catalog-options{grid-template-columns:1fr 1fr;gap:9px;display:grid}.catalog-options button{color:#202524;text-align:left;cursor:pointer;background:#fff;border:1px solid #d4dfdc;grid-template-columns:22px 1fr;gap:10px;min-height:86px;padding:14px;display:grid;position:relative}.catalog-radio{border:1px solid #9aacaa;border-radius:50%;place-items:center;width:20px;height:20px;margin-top:2px;display:grid}.catalog-radio svg{width:12px}.catalog-options button.selected .catalog-radio{color:#fff;background:#087b77;border-color:#087b77}.catalog-options button>span:nth-child(2){flex-direction:column;gap:5px;display:flex}.catalog-options strong{font-size:12px;line-height:1.35}.catalog-options small{color:#52605d;font-size:10px}.catalog-options em{color:#8a6a5c;text-transform:uppercase;font-size:8px;font-style:normal;position:absolute;top:7px;right:9px}.date-strip{gap:8px;margin:32px -6px 36px;padding:6px;display:flex;overflow-x:auto}.date-strip button{cursor:pointer;background:#fff;border:1px solid #d1ddda;flex-direction:column;align-items:center;min-width:66px;padding:12px 8px;display:flex}.date-strip small,.date-strip span{color:#596562;font-size:10px}.date-strip strong{margin:5px 0;font-size:21px}.date-strip button.selected{color:#fff;background:#0c6663;border-color:#0c6663}.date-strip button.selected small,.date-strip button.selected span{color:#d9eeee}.slot-title{align-items:center;gap:8px;font-size:14px;display:flex}.slot-title svg{color:#087b77;width:18px}.time-slots{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.time-slots button{color:#202524;cursor:pointer;background:#fff;border:1px solid #cedbd7;padding:14px;font-weight:600}.time-slots button.selected{color:#075b58;background:#e9f7f4;border-color:#087b77}.field-grid{grid-template-columns:1fr 1fr;gap:20px;margin-top:28px;display:grid}.field-grid label{gap:7px;display:grid}.field-grid label.wide{grid-column:1/-1}.field-grid label>span{color:#303b39;font-size:11px;font-weight:700}.field-grid input,.field-grid textarea{color:#171717;background:#fff;border:1px solid #c9d5d2;outline:0;width:100%;padding:12px;font:500 14px Quicksand,sans-serif}.field-grid input:focus,.field-grid textarea:focus{border-color:#087b77;box-shadow:0 0 0 3px #087b7717}.booking-trap{left:-10000px;position:absolute!important}.deposit-box{background:#eef8f6;border-left:3px solid #087b77;gap:13px;margin-top:24px;padding:16px;display:flex}.deposit-box svg{color:#087b77}.deposit-box p{color:#34413e;margin:4px 0 0;font-size:11px}.submit-booking{color:#fff;cursor:pointer;background:#087b77;border:0;margin-top:22px;padding:15px 25px;font-weight:700}.submit-booking:disabled{opacity:.6}.booking-error{color:#702d25;background:#fff1ef;border:1px solid #e2bcb4;gap:6px;margin-top:20px;padding:16px;font-size:12px;display:grid}.booking-error a{color:#08716e;font-weight:700}.booking-controls{border-top:1px solid #e1e8e6;justify-content:space-between;padding:20px 48px;display:flex}.booking-controls button{cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:11px 18px;font-weight:700;display:flex}.booking-controls svg{width:17px}.booking-controls .continue{color:#fff;background:#087b77}.booking-controls button:disabled{opacity:.35;cursor:not-allowed}.booking-assurance{color:#46524f;justify-content:center;gap:35px;width:min(900px,100%);margin:30px auto 0;font-size:11px;display:flex}.booking-assurance span{align-items:center;gap:7px;display:flex}.booking-assurance svg{color:#087b77;width:16px}.booking-loading{place-items:center;min-height:500px;display:grid}.booking-success{text-align:center;grid-column:1/-1;max-width:650px;margin:auto;padding:70px 30px}.success-mark{color:#087b77;background:#dff3ee;border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 20px;display:grid}.booking-success>p:not(.booking-eyebrow){color:#35413f;line-height:1.7}.payment-prompt-status{color:#173f3d;background:#edf9f7;border-radius:18px;flex-direction:column;align-items:center;gap:7px;max-width:560px;margin:24px auto 28px;padding:20px 22px;display:flex}.payment-prompt-status--warning{color:#5f3a13;background:#fff7ed}.payment-prompt-status button{color:#fff;cursor:pointer;background:#087c78;border:0;border-radius:999px;margin-top:8px;padding:12px 20px;font:700 15px Quicksand,sans-serif}.payment-prompt-status button:disabled{opacity:.65;cursor:wait}.payment-prompt-status small{color:inherit;font-weight:600}.success-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;display:flex}.success-actions a,.success-actions button{color:#fff;cursor:pointer;background:#087b77;border:1px solid #087b77;align-items:center;gap:7px;padding:13px 18px;font-weight:700;display:flex}.success-actions button{color:#087b77;background:#fff}@media (max-width:820px){.booking-page{padding:35px 14px 65px}.booking-shell{grid-template-columns:1fr}.booking-summary{padding:22px}.booking-summary ol{grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.booking-summary li{flex-direction:column;align-items:flex-start;font-size:10px}.summary-selection{margin-top:5px}.booking-whatsapp{max-width:320px}.booking-step{padding:32px 24px}.catalog-options{grid-template-columns:1fr}.booking-controls{padding:18px 24px}.booking-assurance{flex-direction:column;align-items:center;gap:12px}}@media (max-width:520px){.booking-intro h1{font-size:38px}.booking-summary ol{display:none}.booking-brand{padding-bottom:17px}.field-grid{grid-template-columns:1fr}.field-grid label.wide{grid-column:auto}.time-slots{grid-template-columns:1fr 1fr}.booking-step{padding:27px 17px}.booking-controls{padding:16px 17px}.catalog-options button{min-height:78px}.booking-success{padding:50px 20px}}.booking-eyebrow,.step-heading>span{font-size:13px}.booking-intro>p:last-child,.step-heading p{font-size:16px;line-height:1.65}.booking-brand small,.booking-whatsapp small{font-size:12px}.booking-summary li{font-size:15px}.summary-selection small{font-size:11px}.summary-selection p,.deposit-box p,.booking-assurance,.field-grid label>span{font-size:14px}.field-grid input,.field-grid textarea{font-size:16px}.catalog-groups{gap:12px}.catalog-group__toggle{color:#182220;text-align:left;cursor:pointer;background:#fff;border:0;justify-content:space-between;align-items:center;width:100%;padding:18px 20px;display:flex}.catalog-group__toggle span{gap:4px;display:grid}.catalog-group__toggle strong{font-size:16px}.catalog-group__toggle small{color:#5a6865;font-size:13px}.catalog-group__toggle svg{color:#087b77;width:22px;transition:transform .2s}.catalog-group.open .catalog-group__toggle{background:#f0f8f6}.catalog-group.open .catalog-group__toggle svg{transform:rotate(180deg)}.catalog-options{border-top:1px solid #dce6e3;padding:12px}.catalog-options strong{font-size:14px}.catalog-options small{font-size:12px}.catalog-options em{font-size:10px}.date-strip small,.date-strip span{font-size:12px}.time-slots button{font-size:15px}.booking-whatsapp svg,.booking-assurance svg{color:#25d366}@media (max-width:520px){.booking-intro>p:last-child,.step-heading p{font-size:15px}.catalog-group__toggle{padding:16px}.booking-summary li,.booking-assurance{font-size:13px}}.booking-intro h1,.booking-success h1,.step-heading h2,.summary-selection strong{font-family:Quicksand,sans-serif}.booking-intro h1{letter-spacing:-.045em;font-size:clamp(34px,4.5vw,50px);font-weight:650}.step-heading h2{letter-spacing:-.04em;font-size:clamp(27px,3.5vw,38px);font-weight:650}.booking-shell{border-radius:16px;overflow:hidden}.catalog-group{background:0 0;border:0}.catalog-group__toggle{border:1px solid #d2ddda;border-radius:10px;padding:14px 19px}.catalog-group.open .catalog-group__toggle{background:#eaf6f3;border-color:#9bc6be}.catalog-options{border:0;gap:10px;margin:10px 7px 18px;padding:4px 0 0}.catalog-options button{border-color:#dce4e2;border-radius:8px}.catalog-options button:hover,.catalog-options button.selected{background:#eff9f7;border-color:#087b77}.date-strip button,.time-slots button,.field-grid input,.field-grid textarea,.deposit-box,.booking-controls .continue,.submit-booking,.booking-whatsapp{border-radius:10px}.booking-controls .continue,.submit-booking{border-radius:999px}@media (max-width:520px){.booking-shell,.catalog-group__toggle{border-radius:10px}.catalog-options button{border-radius:8px}}.booking-payment-page{color:#101c25;background:#fbfdfc;min-height:calc(100vh - 180px);padding:46px 20px 80px}.payment-page-heading{text-align:left;width:min(760px,100%);margin:0 auto 22px}.payment-page-heading>span{color:#08792b;letter-spacing:.12em;text-transform:uppercase;background:#e7f8eb;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:800;display:inline-block}.payment-page-heading h1{color:#081728;letter-spacing:-.05em;margin:12px 0 8px;font:700 clamp(30px,5vw,43px)/1.08 Quicksand,sans-serif}.payment-page-heading p{color:#657487;margin:0;font-size:15px}.booking-payment-card{text-align:left;background:#fff;border:1px solid #d7e0e5;border-radius:12px;width:min(760px,100%);margin:0 auto;padding:32px}.mpesa-heading{grid-template-columns:auto 1fr auto;align-items:center;gap:15px;margin-bottom:22px;display:grid}.mpesa-brand{color:#fff;text-align:center;letter-spacing:-.05em;background:#08a82d;border-radius:11px;min-width:80px;padding:14px 12px;font-weight:900}.mpesa-heading h2{color:#071729;margin:0;font:700 23px/1.2 Quicksand,sans-serif}.mpesa-heading p{color:#748195;margin:4px 0 0;font-size:13px}.mpesa-heading>span{color:#d95817;text-transform:uppercase;letter-spacing:.07em;border:1px solid #ffc8a6;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:800}.deposit-highlight{background:#eafaf0;border:1px solid #9ee1ba;margin-bottom:22px;padding:19px 20px}.deposit-highlight small{color:#0b7230;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800;display:block}.deposit-highlight strong{color:#031d0e;margin:5px 0 8px;font-size:31px;line-height:1;display:block}.deposit-highlight p{color:#166c35;margin:0;font-size:12px;font-weight:700}.payment-phone{text-align:left;gap:8px;display:grid}.payment-phone span{color:#303b39;font-size:14px;font-weight:700}.payment-phone-control{border:1px solid #cad5db;border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;display:grid;overflow:hidden}.payment-phone-control b{color:#07852a;background:#eefaf1;border-radius:8px;margin-left:12px;padding:8px 10px;font-size:13px}.payment-phone-control input{color:#111b25;background:#fff;border:0;outline:0;width:100%;padding:15px 12px;font:700 17px Quicksand,sans-serif}.payment-phone-control>svg{color:#08a82d;width:20px;margin-right:15px}.payment-phone-control:focus-within{border-color:#08a82d}.payment-security{color:#182734;background:#f7f9fa;border:1px solid #d8e1e6;border-radius:8px;align-items:center;gap:12px;margin:20px 0 17px;padding:17px 18px;font-size:13px;font-weight:650;display:flex}.payment-security svg{color:#08a82d;flex:none;width:20px}.payment-submit{color:#fff;cursor:pointer;background:#08ae2f;border:0;border-radius:8px;width:100%;padding:15px 20px;font:800 16px Quicksand,sans-serif}.payment-submit:hover{background:#079a2a}.payment-submit:disabled{opacity:.65;cursor:wait}.payment-feedback{margin:12px 0 0;font-size:13px;line-height:1.5}.payment-feedback.success{color:#176043}.payment-feedback.error{color:#9b2e2e}.booking-payment-card .success-actions{border-top:1px solid #e1e8e6;padding-top:18px}.booking-payment-card .success-actions a,.booking-payment-card .success-actions button{border-radius:8px}.payment-reference{color:#7c878f;text-align:center;margin-top:17px;font-size:11px;display:block}@media (max-width:520px){.booking-payment-page{padding:28px 12px 60px}.booking-payment-card{padding:22px 18px}.mpesa-heading{grid-template-columns:auto 1fr}.mpesa-heading>span{display:none}.mpesa-brand{min-width:70px;padding:12px 9px}.mpesa-heading h2{font-size:19px}.payment-page-heading h1{font-size:30px}.booking-payment-card .success-actions{display:grid}.booking-payment-card .success-actions a,.booking-payment-card .success-actions button{justify-content:center}}
