.fyp-ob{
  --ink:#241d18;--muted:#776b63;--line:#e8e0d7;--line-strong:#d7c8bc;--soft:#faf7f3;
  --accent:#6f4b34;--accent-dark:#553725;--accent-soft:#f7efe8;--ok:#edf5ee;--danger:#9b4d40;
  width:100%;max-width:900px;margin:40px auto 76px;padding:0 18px;color:var(--ink);
  font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-sizing:border-box;-webkit-font-smoothing:antialiased
}
.fyp-ob *{box-sizing:border-box}.fyp-ob button,.fyp-ob input,.fyp-ob textarea{font-family:inherit}.fyp-ob button{-webkit-tap-highlight-color:transparent}
.fyp-ob-card{background:#fff;border:1px solid #eee6de;border-radius:28px;box-shadow:0 24px 72px rgba(62,43,31,.085);padding:32px 38px 36px;overflow:visible}
.fyp-ob-head{text-align:center;max-width:650px;margin:0 auto 24px}.fyp-ob-brand{display:flex;align-items:center;justify-content:center;gap:9px;text-transform:uppercase;letter-spacing:.095em;font-size:10px;font-weight:780;color:#675b52;margin-bottom:14px}.fyp-ob-monogram{font-family:Georgia,serif;font-size:25px;letter-spacing:-.08em;text-transform:none;color:#4b3324}.fyp-ob-head h1,.fyp-ob-step-head h2,.fyp-ob-success h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:#211a16}.fyp-ob-head h1{font-size:32px;line-height:1.08;margin:0 0 8px;letter-spacing:-.024em}.fyp-ob-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.fyp-ob-progress{--fyp-ob-progress:0%;display:grid;grid-template-columns:repeat(4,1fr);position:relative;max-width:610px;margin:0 auto 32px}.fyp-ob-progress:before,.fyp-ob-progress:after{content:"";position:absolute;top:14px;left:12.5%;height:2px;border-radius:999px}.fyp-ob-progress:before{right:12.5%;background:#e4dbd2}.fyp-ob-progress:after{width:var(--fyp-ob-progress);max-width:75%;background:var(--accent);transition:width .22s ease}.fyp-ob-progress span{position:relative;z-index:1;text-align:center;color:#9b9189;font-size:9.5px;line-height:1.25}.fyp-ob-progress b{width:29px;height:29px;margin:0 auto 6px;border-radius:50%;border:1px solid #cfc4ba;background:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;transition:.18s ease}.fyp-ob-progress em{display:block;font-style:normal;font-weight:650}.fyp-ob-progress .is-active,.fyp-ob-progress .is-done{color:#4e3423}.fyp-ob-progress .is-active b,.fyp-ob-progress .is-done b{background:var(--accent);border-color:var(--accent);color:#fff}.fyp-ob-progress .is-active b{box-shadow:0 0 0 4px rgba(111,75,52,.10)}
.fyp-ob-step{animation:fypObIn .18s ease}.fyp-ob-step[hidden]{display:none!important}@keyframes fypObIn{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
.fyp-ob-step-head{margin-bottom:22px}.fyp-ob-kicker{display:inline-block;font-size:9px;letter-spacing:.15em;text-transform:uppercase;font-weight:800;color:#956f56;margin-bottom:7px}.fyp-ob-step-head h2{font-size:29px;line-height:1.17;letter-spacing:-.023em;margin:0 0 8px;max-width:680px}.fyp-ob-step-head p{font-size:13px;line-height:1.55;color:var(--muted);margin:0;max-width:690px}
.fyp-ob-treatment-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.fyp-ob-treatment{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;min-height:82px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:13px 14px;color:var(--ink);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s,background .15s}.fyp-ob-treatment:hover{border-color:#c8b4a4;transform:translateY(-1px);box-shadow:0 8px 20px rgba(66,45,31,.045)}.fyp-ob-treatment.is-selected{border-color:#7b553c;background:#fdf9f5;box-shadow:0 0 0 1px #7b553c}.fyp-ob-treatment-mark{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#f2ece6;color:#79563e;font-family:Georgia,serif;font-size:18px}.fyp-ob-treatment strong,.fyp-ob-treatment small{display:block}.fyp-ob-treatment strong{font-size:13.5px;margin-bottom:3px;line-height:1.25}.fyp-ob-treatment small{font-size:10.5px;line-height:1.38;color:#887d75}.fyp-ob-treatment i{font-style:normal;font-size:19px;color:#9d9087}
.fyp-ob-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:26px}.fyp-ob-actions.is-end{justify-content:flex-end}.fyp-ob-primary,.fyp-ob-ghost,.fyp-ob-alt-time{min-height:48px;border-radius:12px;padding:0 18px;font-weight:760;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s,background .15s}.fyp-ob-primary{border:0;background:linear-gradient(135deg,#60402c,#815b41);color:#fff;min-width:174px;box-shadow:0 8px 22px rgba(95,62,41,.14)}.fyp-ob-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 11px 24px rgba(95,62,41,.18)}.fyp-ob-primary:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}.fyp-ob-primary[aria-busy="true"]{cursor:wait}.fyp-ob-primary span{margin-left:8px}.fyp-ob-ghost{border:0;background:transparent;color:#685b51;padding-left:0}.fyp-ob-ghost:hover{color:#352820}
.fyp-ob button:focus-visible,.fyp-ob input:focus-visible,.fyp-ob textarea:focus-visible,.fyp-ob a:focus-visible{outline:3px solid rgba(111,75,52,.22);outline-offset:2px}
.fyp-ob-calendar{border:1px solid var(--line);border-radius:19px;padding:17px;background:#fff}.fyp-ob-calendar-nav{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;margin-bottom:14px}.fyp-ob-calendar-nav strong{text-align:center;font-family:Georgia,serif;font-size:19px;text-transform:capitalize}.fyp-ob-calendar-nav button{width:38px;height:38px;border:1px solid transparent;background:var(--soft);border-radius:11px;font-size:22px;color:#66564a;cursor:pointer}.fyp-ob-calendar-nav button:hover:not(:disabled){border-color:#dfd2c7;background:#fff}.fyp-ob-calendar-nav button:disabled{opacity:.32;cursor:not-allowed}.fyp-ob-weekdays,.fyp-ob-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.fyp-ob-weekdays{margin-bottom:6px}.fyp-ob-weekdays span{text-align:center;font-size:9.5px;font-weight:760;color:#948980;padding:4px}.fyp-ob-days button{min-height:46px;border:1px solid transparent;border-radius:11px;background:#faf8f5;color:#443a33;cursor:pointer;font-size:12.5px;font-weight:650}.fyp-ob-days button:hover:not(:disabled){border-color:#cbb8aa;background:#fff}.fyp-ob-days button.is-selected{background:#78543c!important;color:#fff!important;border-color:#78543c!important;box-shadow:0 5px 12px rgba(95,66,47,.14);opacity:1!important}.fyp-ob-days button.is-out{opacity:.38}.fyp-ob-days button:disabled{cursor:not-allowed}.fyp-ob-days button:not(.is-unavailable):disabled{opacity:.30}.fyp-ob-days button.is-unavailable{background:#f7f4f1!important;border-color:#f1ebe5!important;color:#b5aba3!important;opacity:.62!important}.fyp-ob-days button.is-out.is-unavailable{opacity:.34!important}.fyp-ob-selection-note{margin-top:12px;padding:11px 13px;background:var(--accent-soft);border:1px solid #efe2d8;border-radius:12px;color:#705e51;font-size:11.5px;line-height:1.45}
.fyp-ob-window-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.fyp-ob-window-grid button{display:flex;align-items:center;gap:13px;text-align:left;min-height:74px;border:1px solid var(--line);border-radius:15px;background:#fff;padding:13px 15px;color:var(--ink);cursor:pointer;transition:.15s}.fyp-ob-window-grid button:hover{border-color:#cdbbae;box-shadow:0 7px 18px rgba(66,45,31,.04)}.fyp-ob-window-grid button.is-selected{border-color:#79543b;background:#fdf9f5;box-shadow:0 0 0 1px #79543b}.fyp-ob-window-grid .fyp-ob-flex{grid-column:1/-1}.fyp-ob-window-icon{font-size:21px;color:#9b6841;width:29px;text-align:center}.fyp-ob-window-grid strong,.fyp-ob-window-grid small{display:block}.fyp-ob-window-grid strong{font-size:13.5px}.fyp-ob-window-grid small{font-size:10.5px;color:#8c8179;margin-top:3px}
.fyp-ob-loading{display:flex;align-items:center;gap:10px;padding:17px;border-radius:14px;background:var(--soft);color:#766b62;font-size:12px}.fyp-ob-loading span{width:17px;height:17px;border-radius:50%;border:2px solid #d8c8bb;border-top-color:#7d583e;animation:fypObSpin .8s linear infinite}@keyframes fypObSpin{to{transform:rotate(360deg)}}
.fyp-ob-slot-groups{display:grid;gap:12px}.fyp-ob-slot-group{border:1px solid var(--line);border-radius:16px;padding:15px 16px;background:#fff}.fyp-ob-slot-date{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}.fyp-ob-slot-date strong{font-size:13.5px;text-transform:capitalize}.fyp-ob-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.fyp-ob-slots button{min-height:46px;border:1px solid #d8c8bb;background:#fff;border-radius:11px;color:#4d382a;font-weight:760;font-size:12.5px;cursor:pointer}.fyp-ob-slots button:hover{background:#faf4ef;border-color:#a9866e}.fyp-ob-slots button.is-selected{background:#755139;color:#fff;border-color:#755139}
.fyp-ob-smart-list{display:grid;gap:10px}.fyp-ob-smart-slot{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:13px;text-align:left;border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px 16px;min-height:76px;color:var(--ink);cursor:pointer;transition:.15s}.fyp-ob-smart-slot:hover{border-color:#ba9c85;transform:translateY(-1px);box-shadow:0 8px 20px rgba(66,45,31,.04)}.fyp-ob-smart-slot.is-best{border-color:#a8866e;background:#fdf9f5;box-shadow:0 0 0 1px rgba(119,80,55,.30)}.fyp-ob-smart-slot.is-selected{background:#755139;color:#fff;border-color:#755139}.fyp-ob-smart-date{display:grid;gap:4px;min-width:0}.fyp-ob-smart-date small{width:max-content;padding:3px 7px;border-radius:999px;background:#f5ebe3;font-size:8px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:#8e664c}.fyp-ob-smart-slot.is-selected .fyp-ob-smart-date small{background:rgba(255,255,255,.14);color:#fff}.fyp-ob-smart-date strong{font-size:13.5px;text-transform:capitalize;white-space:normal}.fyp-ob-smart-time{font-family:Georgia,serif;font-size:26px;line-height:1;color:#4d3424}.fyp-ob-smart-slot.is-selected .fyp-ob-smart-time{color:#fff}.fyp-ob-smart-arrow{font-size:18px;color:#a18f82}.fyp-ob-smart-slot.is-selected .fyp-ob-smart-arrow{color:#fff}
.fyp-ob-divider{display:flex;align-items:center;gap:10px;color:#a99c92;font-size:9px;text-transform:uppercase;letter-spacing:.08em;margin:18px 0}.fyp-ob-divider:before,.fyp-ob-divider:after{content:"";height:1px;background:#eee7df;flex:1}.fyp-ob-alt-time{width:100%;border:1px solid #bda999;background:#fff;color:#5f4939;display:flex;justify-content:center;align-items:center;gap:10px}.fyp-ob-alt-time:hover{border-color:#95735d;background:#fdf9f5}.fyp-ob-no-slot{padding:16px;border:1px dashed #d9cabc;border-radius:13px;color:#75665d;font-size:12px;background:#fdfaf7}
.fyp-ob-field{display:grid;gap:7px;position:relative;min-width:0}.fyp-ob-field>span{font-size:11.5px;font-weight:800;color:#5f534a}.fyp-ob-field>span b{color:#a55348}.fyp-ob-field>span em{font-style:normal;font-weight:500;color:#938880}.fyp-ob-field input,.fyp-ob-field textarea{width:100%;border:1px solid #ded6ce!important;background:#fff!important;border-radius:11px!important;padding:11px 12px!important;font:inherit!important;font-size:13px!important;outline:none;box-shadow:none!important;color:#352c26!important}.fyp-ob-field input::placeholder,.fyp-ob-field textarea::placeholder{color:#aaa098}.fyp-ob-field input:focus,.fyp-ob-field textarea:focus{border-color:#9e7b63!important;box-shadow:0 0 0 3px rgba(133,93,65,.08)!important}.fyp-ob-field textarea{resize:vertical;line-height:1.5}.fyp-ob-char-count{position:absolute;right:10px;bottom:8px;color:#a2968c;font-size:9px;background:rgba(255,255,255,.88);padding-left:4px}.fyp-ob-field-help{position:static!important;display:block;color:#91867d!important;font-size:9.5px!important;line-height:1.35;margin-top:-1px}.fyp-ob-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fyp-ob-field.is-wide{grid-column:1/-1}.fyp-ob-phone{display:grid;grid-template-columns:84px minmax(0,1fr);width:100%;min-width:0}.fyp-ob-phone .fyp-ob-country-code{width:100%!important;min-width:0!important;border-radius:11px 0 0 11px!important;border-right:0!important;text-align:center;padding-left:8px!important;padding-right:8px!important}.fyp-ob-phone input[data-phone]{min-width:0!important;border-radius:0 11px 11px 0!important}.fyp-ob-summary,.fyp-ob-success-summary{display:grid;grid-template-columns:1fr 1.3fr;gap:11px;background:var(--soft);border:1px solid #eee5dc;border-radius:15px;padding:14px 16px;margin-bottom:18px}.fyp-ob-summary span,.fyp-ob-success-summary span{display:grid;gap:4px;min-width:0}.fyp-ob-summary b,.fyp-ob-success-summary b{font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:#93867b}.fyp-ob-summary strong,.fyp-ob-success-summary strong{font-size:11.5px;line-height:1.45;overflow-wrap:anywhere}.fyp-ob-consent{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 13px;border:1px solid #eee5dc;border-radius:12px;background:#fcfaf8;color:#665b53;font-size:10.5px;line-height:1.48;cursor:pointer}.fyp-ob-consent input{margin-top:1px;width:17px;height:17px;flex:0 0 auto;accent-color:var(--accent)}.fyp-ob-privacy{font-size:9.5px;margin:7px 0 0 40px}.fyp-ob-privacy a{color:#6f4b34;text-underline-offset:2px}.fyp-ob-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.fyp-ob-success{text-align:center;padding:24px 0 10px}.fyp-ob-success-icon{width:62px;height:62px;border-radius:50%;margin:0 auto 19px;display:grid;place-items:center;background:var(--ok);border:1px solid #d8e8db;color:#386449;font-size:27px}.fyp-ob-success h2{font-size:29px;line-height:1.18;max-width:660px;margin:0 auto 10px}.fyp-ob-success>p{max-width:560px;margin:0 auto 20px;color:var(--muted);font-size:13px;line-height:1.6}.fyp-ob-success-summary{max-width:610px;margin:0 auto 14px;text-align:left}.fyp-ob-reference{font-size:10px!important;color:#92857b!important}.fyp-ob-alert{margin:0 0 18px;padding:12px 14px;border-radius:12px;background:#fff1ee;border:1px solid #f0d5cf;color:var(--danger);font-size:11.5px;line-height:1.45;font-weight:600}

/* Keep the booking surface focused instead of inheriting Kadence article chrome. */
.fyp-online-booking-page .entry-header{display:none!important}.fyp-online-booking-page .content-area,.fyp-online-booking-page .site-main,.fyp-online-booking-page .entry-content{margin-top:0!important}.fyp-online-booking-page .entry-content-wrap{padding-top:0!important}

@media(max-width:680px){
  body.fyp-online-booking-page{background:#fff!important}
  .fyp-online-booking-page #masthead,.fyp-online-booking-page .site-header,.fyp-online-booking-page #colophon,.fyp-online-booking-page .site-footer{display:none!important}
  .fyp-online-booking-page .site,.fyp-online-booking-page .site-content,.fyp-online-booking-page .content-container,.fyp-online-booking-page #primary,.fyp-online-booking-page .content-area,.fyp-online-booking-page .site-main,.fyp-online-booking-page article,.fyp-online-booking-page .entry-content,.fyp-online-booking-page .entry-content-wrap{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important}
  .fyp-ob{margin:0;padding:0;max-width:none;min-height:100dvh;background:#fff}
  .fyp-ob-card{min-height:100dvh;border:0;border-radius:0;box-shadow:none;padding:calc(16px + env(safe-area-inset-top)) 16px calc(112px + env(safe-area-inset-bottom));overflow:visible}
  .fyp-ob-head{text-align:left;margin:0 0 15px;max-width:none;padding-right:4px}.fyp-ob-brand{justify-content:flex-start;margin-bottom:9px;font-size:9.5px}.fyp-ob-monogram{font-size:23px}.fyp-ob-head h1{font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:820;font-size:21px;line-height:1.15;letter-spacing:-.02em;margin:0 0 4px}.fyp-ob-head p{font-size:11.5px;line-height:1.42;max-width:350px}
  .fyp-ob-progress{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);margin:0 -16px 23px;padding:10px 14px 9px;border-bottom:1px solid #eee7e0;max-width:none}.fyp-ob-progress:before,.fyp-ob-progress:after{top:24px}.fyp-ob-progress b{width:29px;height:29px;margin-bottom:5px;font-size:10px}.fyp-ob-progress span{font-size:9.5px}.fyp-ob-progress em{font-size:9px;font-weight:700}
  .fyp-ob-step-head{margin-bottom:18px}.fyp-ob-kicker{font-size:8.5px;margin-bottom:5px}.fyp-ob-step-head h2{font-size:25px;line-height:1.17;margin-bottom:7px;letter-spacing:-.022em}.fyp-ob-step-head p{font-size:12.25px;line-height:1.47}
  .fyp-ob-treatment-grid{grid-template-columns:1fr 1fr;gap:8px}.fyp-ob-treatment{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;min-height:108px;padding:12px;border-radius:14px}.fyp-ob-treatment-mark{width:38px;height:38px;font-size:17px}.fyp-ob-treatment strong{font-size:13px}.fyp-ob-treatment small{display:none}.fyp-ob-treatment i{display:none}
  .fyp-ob-calendar{padding:12px 10px;border-radius:16px}.fyp-ob-calendar-nav{margin-bottom:10px;grid-template-columns:40px 1fr 40px}.fyp-ob-calendar-nav strong{font-size:18px}.fyp-ob-calendar-nav button{width:38px;height:38px}.fyp-ob-weekdays,.fyp-ob-days{gap:3px}.fyp-ob-weekdays span{font-size:8.5px;padding:4px 0}.fyp-ob-days button{min-height:43px;border-radius:9px;font-size:13px;min-width:0;padding:0}.fyp-ob-selection-note{font-size:11px;margin-top:10px;padding:10px 11px}
  .fyp-ob-window-grid{grid-template-columns:1fr;gap:8px}.fyp-ob-window-grid .fyp-ob-flex{grid-column:auto}.fyp-ob-window-grid button{min-height:68px;padding:11px 13px;border-radius:13px}.fyp-ob-window-icon{font-size:20px}.fyp-ob-window-grid strong{font-size:13.5px}.fyp-ob-window-grid small{font-size:10.5px}
  .fyp-ob-smart-slot{grid-template-columns:minmax(0,1fr) auto 20px;min-height:72px;padding:12px 13px;gap:10px}.fyp-ob-smart-date strong{font-size:12.5px}.fyp-ob-smart-time{font-size:24px}.fyp-ob-slot-group{padding:13px;border-radius:14px}.fyp-ob-slot-date{margin-bottom:10px}.fyp-ob-slots{grid-template-columns:repeat(3,1fr);gap:7px}.fyp-ob-slots button{min-height:47px;font-size:12.5px}
  .fyp-ob-alt-time{min-height:51px;font-size:12px}.fyp-ob-divider{margin:15px 0}
  .fyp-ob-form-grid{grid-template-columns:1fr;gap:13px}.fyp-ob-field.is-wide{grid-column:auto}.fyp-ob-field>span{font-size:11.5px}.fyp-ob-field input,.fyp-ob-field textarea{font-size:16px!important;padding:12px!important;min-height:49px}.fyp-ob-phone{grid-template-columns:82px minmax(0,1fr)}.fyp-ob-phone .fyp-ob-country-code{font-size:16px!important;padding-left:7px!important;padding-right:7px!important}.fyp-ob-field textarea{min-height:110px}.fyp-ob-field-help{font-size:10px!important;line-height:1.4;margin-top:0}.fyp-ob-char-count{bottom:9px;font-size:9.5px}.fyp-ob-summary,.fyp-ob-success-summary{grid-template-columns:1fr;gap:10px;padding:13px;margin-bottom:16px}.fyp-ob-summary strong,.fyp-ob-success-summary strong{font-size:12px}.fyp-ob-consent{font-size:11px;line-height:1.48;padding:12px}.fyp-ob-consent input{width:19px;height:19px}.fyp-ob-privacy{font-size:10px;margin-left:41px}
  .fyp-ob-actions{margin-top:21px}.fyp-ob-actions.is-mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;margin:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid #eee6de;box-shadow:0 -10px 28px rgba(65,44,30,.07);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.fyp-ob-actions.is-mobile-bar .fyp-ob-primary{flex:1;min-width:0;min-height:52px;padding:0 14px;font-size:13px}.fyp-ob-actions.is-mobile-bar .fyp-ob-ghost{min-width:76px;min-height:52px;padding:0 8px;font-size:12px}.fyp-ob-actions:not(.is-mobile-bar) .fyp-ob-ghost{min-height:44px}
  .fyp-ob-success{padding-top:28px}.fyp-ob-success-icon{width:58px;height:58px;margin-bottom:17px}.fyp-ob-success h2{font-size:24px;line-height:1.22;padding:0 4px}.fyp-ob-success>p{font-size:12.25px}.fyp-ob-alert{font-size:11.25px;padding:11px 12px}
}

@media(max-width:380px){.fyp-ob-card{padding-left:13px;padding-right:13px}.fyp-ob-progress{margin-left:-13px;margin-right:-13px;padding-left:11px;padding-right:11px}.fyp-ob-treatment-grid{gap:7px}.fyp-ob-treatment{min-height:104px;padding:10px}.fyp-ob-step-head h2{font-size:23px}.fyp-ob-days button{min-height:40px;font-size:12px}.fyp-ob-slots{grid-template-columns:repeat(2,1fr)}.fyp-ob-actions.is-mobile-bar{padding-left:13px;padding-right:13px}.fyp-ob-actions.is-mobile-bar .fyp-ob-primary{font-size:12px;padding:0 10px}.fyp-ob-actions.is-mobile-bar .fyp-ob-ghost{min-width:68px;padding:0 4px}}

@media(prefers-reduced-motion:reduce){.fyp-ob-step,.fyp-ob-loading span{animation:none!important}.fyp-ob *{scroll-behavior:auto!important;transition:none!important}}

/* 1.24.7.30.10 — interaction-state isolation.
 * Kadence/WordPress/global button states must never wash out booking controls.
 */
.fyp-ob button{
  appearance:none!important;
  -webkit-appearance:none!important;
  text-shadow:none!important;
}
.fyp-ob button *{
  text-shadow:none!important;
}

/* Primary CTA: keep contrast through hover/focus/active/busy. */
.fyp-ob .fyp-ob-primary,
.fyp-ob .fyp-ob-primary:hover:not(:disabled),
.fyp-ob .fyp-ob-primary:focus,
.fyp-ob .fyp-ob-primary:focus-visible,
.fyp-ob .fyp-ob-primary:active,
.fyp-ob .fyp-ob-primary[aria-busy="true"]{
  background:linear-gradient(135deg,#60402c,#815b41)!important;
  border-color:transparent!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.fyp-ob .fyp-ob-primary *,
.fyp-ob .fyp-ob-primary:hover:not(:disabled) *,
.fyp-ob .fyp-ob-primary:focus *,
.fyp-ob .fyp-ob-primary:active *{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.fyp-ob .fyp-ob-primary:active:not(:disabled){
  transform:translateY(0)!important;
  box-shadow:0 5px 14px rgba(95,62,41,.18)!important;
}
.fyp-ob .fyp-ob-primary:disabled{
  background:#d7cec7!important;
  border-color:#d7cec7!important;
  color:#766b63!important;
  -webkit-text-fill-color:#766b63!important;
  opacity:1!important;
}
.fyp-ob .fyp-ob-primary:disabled *{color:#766b63!important;-webkit-text-fill-color:#766b63!important}

/* Back / ghost controls. */
.fyp-ob .fyp-ob-ghost,
.fyp-ob .fyp-ob-ghost:hover,
.fyp-ob .fyp-ob-ghost:focus,
.fyp-ob .fyp-ob-ghost:focus-visible,
.fyp-ob .fyp-ob-ghost:active{
  background:transparent!important;
  border-color:transparent!important;
  color:#5d4d42!important;
  -webkit-text-fill-color:#5d4d42!important;
}
.fyp-ob .fyp-ob-ghost:active{color:#2f241e!important;-webkit-text-fill-color:#2f241e!important}

/* Treatment cards. */
.fyp-ob .fyp-ob-treatment,
.fyp-ob .fyp-ob-treatment:hover,
.fyp-ob .fyp-ob-treatment:focus,
.fyp-ob .fyp-ob-treatment:focus-visible,
.fyp-ob .fyp-ob-treatment:active{
  background:#fff!important;
  color:var(--ink)!important;
  -webkit-text-fill-color:var(--ink)!important;
}
.fyp-ob .fyp-ob-treatment:active:not(.is-selected){background:#f8f2ed!important;border-color:#b99b85!important}
.fyp-ob .fyp-ob-treatment strong{color:#2c231d!important;-webkit-text-fill-color:#2c231d!important}
.fyp-ob .fyp-ob-treatment small{color:#887d75!important;-webkit-text-fill-color:#887d75!important}
.fyp-ob .fyp-ob-treatment i{color:#9d9087!important;-webkit-text-fill-color:#9d9087!important}
.fyp-ob .fyp-ob-treatment.is-selected,
.fyp-ob .fyp-ob-treatment.is-selected:hover,
.fyp-ob .fyp-ob-treatment.is-selected:focus,
.fyp-ob .fyp-ob-treatment.is-selected:focus-visible,
.fyp-ob .fyp-ob-treatment.is-selected:active{
  background:#f7eee7!important;
  border-color:#79543b!important;
  color:#2b211b!important;
  -webkit-text-fill-color:#2b211b!important;
  box-shadow:0 0 0 1px #79543b!important;
}
.fyp-ob .fyp-ob-treatment.is-selected strong{color:#2b211b!important;-webkit-text-fill-color:#2b211b!important}
.fyp-ob .fyp-ob-treatment.is-selected small{color:#68584d!important;-webkit-text-fill-color:#68584d!important}
.fyp-ob .fyp-ob-treatment.is-selected i{color:#79543b!important;-webkit-text-fill-color:#79543b!important}
.fyp-ob .fyp-ob-treatment.is-selected .fyp-ob-treatment-mark{background:#79543b!important;color:#fff!important;-webkit-text-fill-color:#fff!important}

/* Calendar navigation and day cells. */
.fyp-ob .fyp-ob-calendar-nav button,
.fyp-ob .fyp-ob-calendar-nav button:hover:not(:disabled),
.fyp-ob .fyp-ob-calendar-nav button:focus,
.fyp-ob .fyp-ob-calendar-nav button:focus-visible,
.fyp-ob .fyp-ob-calendar-nav button:active:not(:disabled){
  background:#faf7f3!important;
  border-color:#dfd2c7!important;
  color:#5e4e43!important;
  -webkit-text-fill-color:#5e4e43!important;
}
.fyp-ob .fyp-ob-calendar-nav button:active:not(:disabled){background:#f1e8e1!important}
.fyp-ob .fyp-ob-calendar-nav button:disabled{background:#f5f2ef!important;color:#b8aea6!important;-webkit-text-fill-color:#b8aea6!important;opacity:1!important}
.fyp-ob .fyp-ob-days button,
.fyp-ob .fyp-ob-days button:hover:not(:disabled),
.fyp-ob .fyp-ob-days button:focus,
.fyp-ob .fyp-ob-days button:focus-visible,
.fyp-ob .fyp-ob-days button:active:not(:disabled){
  color:#443a33!important;
  -webkit-text-fill-color:#443a33!important;
}
.fyp-ob .fyp-ob-days button:active:not(:disabled):not(.is-selected){background:#f1e7df!important;border-color:#b89b86!important}
.fyp-ob .fyp-ob-days button.is-selected,
.fyp-ob .fyp-ob-days button.is-selected:hover,
.fyp-ob .fyp-ob-days button.is-selected:focus,
.fyp-ob .fyp-ob-days button.is-selected:focus-visible,
.fyp-ob .fyp-ob-days button.is-selected:active{
  background:#78543c!important;
  border-color:#78543c!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.fyp-ob .fyp-ob-days button.is-selected *{color:#fff!important;-webkit-text-fill-color:#fff!important}
.fyp-ob .fyp-ob-days button.is-unavailable,
.fyp-ob .fyp-ob-days button.is-unavailable:hover,
.fyp-ob .fyp-ob-days button.is-unavailable:focus,
.fyp-ob .fyp-ob-days button.is-unavailable:active{
  background:#f7f4f1!important;
  border-color:#f1ebe5!important;
  color:#aaa098!important;
  -webkit-text-fill-color:#aaa098!important;
  opacity:.72!important;
}

/* Availability windows. */
.fyp-ob .fyp-ob-window-grid button,
.fyp-ob .fyp-ob-window-grid button:hover,
.fyp-ob .fyp-ob-window-grid button:focus,
.fyp-ob .fyp-ob-window-grid button:focus-visible,
.fyp-ob .fyp-ob-window-grid button:active{
  background:#fff!important;
  color:var(--ink)!important;
  -webkit-text-fill-color:var(--ink)!important;
}
.fyp-ob .fyp-ob-window-grid button:active:not(.is-selected){background:#f8f2ed!important;border-color:#b99b85!important}
.fyp-ob .fyp-ob-window-grid button strong{color:#2c231d!important;-webkit-text-fill-color:#2c231d!important}
.fyp-ob .fyp-ob-window-grid button small{color:#81756d!important;-webkit-text-fill-color:#81756d!important}
.fyp-ob .fyp-ob-window-grid button.is-selected,
.fyp-ob .fyp-ob-window-grid button.is-selected:hover,
.fyp-ob .fyp-ob-window-grid button.is-selected:focus,
.fyp-ob .fyp-ob-window-grid button.is-selected:focus-visible,
.fyp-ob .fyp-ob-window-grid button.is-selected:active{
  background:#f7eee7!important;
  border-color:#79543b!important;
  color:#2b211b!important;
  -webkit-text-fill-color:#2b211b!important;
  box-shadow:0 0 0 1px #79543b!important;
}
.fyp-ob .fyp-ob-window-grid button.is-selected .fyp-ob-window-icon{color:#79543b!important;-webkit-text-fill-color:#79543b!important}

/* Ordinary slots. */
.fyp-ob .fyp-ob-slots button,
.fyp-ob .fyp-ob-slots button:hover,
.fyp-ob .fyp-ob-slots button:focus,
.fyp-ob .fyp-ob-slots button:focus-visible,
.fyp-ob .fyp-ob-slots button:active{
  background:#fff!important;
  border-color:#d8c8bb!important;
  color:#4d382a!important;
  -webkit-text-fill-color:#4d382a!important;
}
.fyp-ob .fyp-ob-slots button:active:not(.is-selected){background:#f3e9e1!important;border-color:#a9866e!important}
.fyp-ob .fyp-ob-slots button.is-selected,
.fyp-ob .fyp-ob-slots button.is-selected:hover,
.fyp-ob .fyp-ob-slots button.is-selected:focus,
.fyp-ob .fyp-ob-slots button.is-selected:focus-visible,
.fyp-ob .fyp-ob-slots button.is-selected:active{
  background:#755139!important;
  border-color:#755139!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.fyp-ob .fyp-ob-slots button.is-selected *{color:#fff!important;-webkit-text-fill-color:#fff!important}

/* Recommended slots: explicitly lock every child color. */
.fyp-ob .fyp-ob-smart-slot,
.fyp-ob .fyp-ob-smart-slot:hover,
.fyp-ob .fyp-ob-smart-slot:focus,
.fyp-ob .fyp-ob-smart-slot:focus-visible,
.fyp-ob .fyp-ob-smart-slot:active{
  background:#fff!important;
  border-color:#d7c8bc!important;
  color:var(--ink)!important;
  -webkit-text-fill-color:var(--ink)!important;
}
.fyp-ob .fyp-ob-smart-slot.is-best,
.fyp-ob .fyp-ob-smart-slot.is-best:hover,
.fyp-ob .fyp-ob-smart-slot.is-best:focus,
.fyp-ob .fyp-ob-smart-slot.is-best:active{background:#fdf9f5!important;border-color:#a8866e!important}
.fyp-ob .fyp-ob-smart-slot:active:not(.is-selected){background:#f5ede7!important}
.fyp-ob .fyp-ob-smart-slot .fyp-ob-smart-date strong{color:#2c231d!important;-webkit-text-fill-color:#2c231d!important}
.fyp-ob .fyp-ob-smart-slot .fyp-ob-smart-date small{background:#f5ebe3!important;color:#805d46!important;-webkit-text-fill-color:#805d46!important}
.fyp-ob .fyp-ob-smart-slot .fyp-ob-smart-time{color:#4d3424!important;-webkit-text-fill-color:#4d3424!important}
.fyp-ob .fyp-ob-smart-slot .fyp-ob-smart-arrow{color:#8d7a6d!important;-webkit-text-fill-color:#8d7a6d!important}
.fyp-ob .fyp-ob-smart-slot.is-selected,
.fyp-ob .fyp-ob-smart-slot.is-selected:hover,
.fyp-ob .fyp-ob-smart-slot.is-selected:focus,
.fyp-ob .fyp-ob-smart-slot.is-selected:focus-visible,
.fyp-ob .fyp-ob-smart-slot.is-selected:active{
  background:#755139!important;
  border-color:#755139!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:0 0 0 1px #755139!important;
}
.fyp-ob .fyp-ob-smart-slot.is-selected .fyp-ob-smart-date strong,
.fyp-ob .fyp-ob-smart-slot.is-selected .fyp-ob-smart-time,
.fyp-ob .fyp-ob-smart-slot.is-selected .fyp-ob-smart-arrow{color:#fff!important;-webkit-text-fill-color:#fff!important}
.fyp-ob .fyp-ob-smart-slot.is-selected .fyp-ob-smart-date small{background:rgba(255,255,255,.16)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}

/* Alternate-time control. */
.fyp-ob .fyp-ob-alt-time,
.fyp-ob .fyp-ob-alt-time:hover,
.fyp-ob .fyp-ob-alt-time:focus,
.fyp-ob .fyp-ob-alt-time:focus-visible,
.fyp-ob .fyp-ob-alt-time:active{
  background:#fff!important;
  border-color:#bda999!important;
  color:#5f4939!important;
  -webkit-text-fill-color:#5f4939!important;
}
.fyp-ob .fyp-ob-alt-time:active{background:#f4ece6!important;border-color:#8d6952!important}
.fyp-ob .fyp-ob-alt-time *{color:inherit!important;-webkit-text-fill-color:inherit!important}

/* Keep selected/focused states legible under high-contrast browser/theme overrides. */
@media (forced-colors:active){
  .fyp-ob button{forced-color-adjust:auto}
  .fyp-ob .is-selected{outline:2px solid CanvasText!important;outline-offset:2px}
}
