:root{--fn-green:#2f7d3f;--fn-green-2:#246933;--fn-dark:#153d26;--fn-soft:#eef8f0;--fn-soft2:#f7fbf7;--fn-border:#dceee0;--fn-text:#1f2937;--fn-muted:#667085;--fn-shadow:0 18px 50px rgba(21,61,38,.10)}*{box-sizing:border-box}body.fn-public-body{margin:0;font-family:Inter,Arial,sans-serif;background:linear-gradient(135deg,#f8fbf8 0%,#eef8f0 100%);color:var(--fn-text);font-size:15px;line-height:1.55}.fn-public-wrap{width:min(1180px,calc(100% - 28px));margin:24px auto 42px}.fn-public-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;margin-bottom:22px}.fn-public-copy,.fn-public-photo,.fn-public-card,.fn-description,.fn-confirm-card{background:#fff;border:1px solid var(--fn-border);border-radius:28px;box-shadow:var(--fn-shadow)}.fn-public-copy{padding:34px;position:relative}.fn-public-logo{margin-bottom:18px}.fn-public-logo img{max-width:210px;max-height:76px;object-fit:contain;display:block}.fn-svg{display:inline-flex;align-items:center;justify-content:center;color:currentColor;flex:0 0 auto}.fn-svg svg{display:block;width:100%;height:100%}.fn-public-badge{display:inline-flex;align-items:center;gap:8px;background:#e7f5ea;color:var(--fn-green);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;border-radius:999px;padding:9px 13px;margin-bottom:16px}.fn-public-badge .fn-svg{width:16px;height:16px}.fn-hero-float-icon{position:absolute;top:38px;right:34px;width:64px;height:64px;border-radius:18px;border:1px solid var(--fn-border);background:linear-gradient(135deg,#f7fbf7,#eef8f0);display:flex;align-items:center;justify-content:center;color:var(--fn-green);box-shadow:0 12px 26px rgba(47,125,63,.09)}.fn-hero-float-icon .fn-svg{width:30px;height:30px}.fn-public-copy h1,.fn-card-head h2,.fn-confirm-card h1{margin:0;color:var(--fn-dark);font-weight:900;letter-spacing:-.035em}.fn-public-copy h1{font-size:42px;line-height:1.05;max-width:520px}.fn-public-copy p{color:var(--fn-muted);font-size:17px;max-width:600px}.fn-public-hours{display:grid;gap:4px;margin-top:20px;background:linear-gradient(135deg,#f1faf3,#fff);border:1px solid var(--fn-border);border-radius:18px;padding:16px}.fn-public-hours strong{color:var(--fn-dark);font-size:14px;display:flex;align-items:center;gap:10px}.fn-public-hours strong .fn-svg{width:32px;height:32px;border-radius:10px;background:#e8f6ec;color:var(--fn-green);padding:6px}.fn-public-hours span{color:#52635a;padding-left:42px}.fn-public-photo{min-height:320px;background-size:cover;background-position:center;border-radius:28px;position:relative;overflow:hidden}.fn-public-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.14),rgba(47,125,63,.08))}.fn-alert{border-radius:18px;padding:14px 16px;margin:0 0 18px;font-weight:800}.fn-alert.error{background:#fff0f0;color:#b42318;border:1px solid #ffd5d5}.fn-alert.success{background:#e8fff4;color:#067647;border:1px solid #baf2d4}.fn-public-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:22px;align-items:start}.fn-public-card{padding:24px}.fn-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px}.fn-card-head span{display:block;color:var(--fn-green);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.fn-card-head h2{font-size:26px;line-height:1.05}.fn-head-badge{width:44px;height:44px;border-radius:14px;background:#ecf7ee;color:var(--fn-green);padding:10px;border:1px solid #dceee0;box-shadow:0 10px 20px rgba(47,125,63,.08)}.fn-card-head.small h2{font-size:22px}.fn-public-form label{display:flex;align-items:center;gap:8px;margin:14px 0 7px;color:var(--fn-dark);font-weight:800}.fn-mini{width:18px;height:18px;color:var(--fn-green)}.fn-mini.white{color:#fff}.fn-public-form input,.fn-public-form select{width:100%;height:48px;border:1px solid #d6e6d9;border-radius:14px;background:#fff;padding:0 14px;color:#1f2937;outline:none;transition:.2s}.fn-public-form input:focus,.fn-public-form select:focus{border-color:var(--fn-green);box-shadow:0 0 0 4px rgba(47,125,63,.12)}.fn-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fn-help{margin:8px 0 16px;color:var(--fn-muted);font-size:13px;display:flex;align-items:center;gap:8px}.fn-main-button{display:inline-flex;width:100%;height:54px;border:0;border-radius:16px;background:linear-gradient(135deg,var(--fn-green),var(--fn-green-2));color:#fff!important;text-decoration:none!important;align-items:center;justify-content:center;gap:8px;font-weight:900;letter-spacing:.01em;box-shadow:0 14px 26px rgba(47,125,63,.22);cursor:pointer;transition:.2s}.fn-main-button:hover{transform:translateY(-1px);box-shadow:0 18px 32px rgba(47,125,63,.28)}.fn-summary-card{position:sticky;top:22px}.fn-summary-box{display:grid;gap:10px}.fn-summary-box>div,.fn-confirm-details>div{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f8fbf8;border:1px solid var(--fn-border);border-radius:16px;padding:13px}.fn-summary-box span,.fn-confirm-details span{color:#617069;display:flex;align-items:center;gap:9px}.fn-summary-box strong,.fn-confirm-details strong{color:var(--fn-dark);font-size:16px;text-align:right}.fn-summary-box .total,.fn-confirm-details .total{background:linear-gradient(135deg,var(--fn-green),var(--fn-green-2));border-color:var(--fn-green)}.fn-summary-box .total span,.fn-summary-box .total strong,.fn-confirm-details .total span,.fn-confirm-details .total strong{color:#fff}.fn-note{margin:16px 0 0;color:#60736a;background:#f1faf3;border:1px solid var(--fn-border);border-radius:16px;padding:14px;display:flex;gap:12px;align-items:flex-start}.fn-note-icon{width:28px;height:28px;border-radius:10px;background:#e8f6ec;color:var(--fn-green);padding:6px;flex:0 0 28px}.fn-description{margin-top:22px;padding:0;overflow:hidden}.fn-description>div{margin:0!important}.fn-short-desc{padding:18px}.fn-long-desc{background:#fff}.fn-public-wrap.confirmation{min-height:100vh;display:flex;align-items:center;justify-content:center}.fn-confirm-card{width:min(720px,100%);padding:34px;text-align:center}.fn-confirm-card>img{max-width:220px;max-height:80px;object-fit:contain;margin:0 auto 20px;display:block}.fn-confirm-icon{width:70px;height:70px;margin:0 auto 18px;border-radius:50%;background:#e8fff4;color:#067647;display:flex;align-items:center;justify-content:center;font-size:32px}.fn-confirm-card h1{font-size:34px}.fn-confirm-card p{color:var(--fn-muted);font-size:16px}.fn-confirm-details{display:grid;gap:10px;margin:22px 0;text-align:left}.fn-secondary-link{display:inline-block;margin-top:14px;color:var(--fn-green);font-weight:800;text-decoration:none}@media(max-width:991px){.fn-public-hero,.fn-public-grid{grid-template-columns:1fr}.fn-summary-card{position:static}.fn-public-photo{min-height:240px}.fn-hero-float-icon{position:static;margin:4px 0 16px}}@media(max-width:640px){.fn-public-wrap{width:min(100% - 18px,1180px);margin-top:12px}.fn-public-copy,.fn-public-card,.fn-confirm-card{padding:18px;border-radius:22px}.fn-public-copy h1{font-size:32px}.fn-two-cols{grid-template-columns:1fr}.fn-public-photo{min-height:210px}.fn-card-head h2{font-size:22px}.fn-description{border-radius:20px}.fn-summary-box>div,.fn-confirm-details>div{padding:12px}.fn-public-hours span{padding-left:0}}

/* v1.0.9 Professional public booking hero + responsive image corrections */
.fn-public-hero-brand{grid-template-columns:minmax(0,1fr) 430px;align-items:stretch}
.fn-public-hero-brand .fn-public-copy{min-height:320px;display:flex;flex-direction:column;justify-content:center}
.fn-brand-panel{background:linear-gradient(145deg,#ffffff 0%,#f2faf4 100%);border:1px solid var(--fn-border);border-radius:28px;box-shadow:var(--fn-shadow);padding:28px;display:flex;flex-direction:column;justify-content:center;gap:18px;overflow:hidden;position:relative}
.fn-brand-panel:before{content:"";position:absolute;inset:auto -35px -55px auto;width:170px;height:170px;border-radius:50%;background:rgba(47,125,63,.08)}
.fn-brand-logo-box{position:relative;z-index:1;background:#fff;border:1px solid #dceee0;border-radius:24px;padding:22px;min-height:170px;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 30px rgba(21,61,38,.08)}
.fn-brand-logo-box img{display:block;width:100%;max-width:260px;max-height:138px;object-fit:contain}
.fn-brand-info{position:relative;z-index:1;text-align:center}
.fn-brand-info span{display:inline-flex;color:var(--fn-green);background:#e8f6ec;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}
.fn-brand-info h2{margin:0;color:var(--fn-dark);font-size:26px;line-height:1.1;font-weight:900;letter-spacing:-.03em}
.fn-brand-info p{margin:10px auto 0;color:var(--fn-muted);max-width:320px;font-size:14px;line-height:1.55}
.fn-brand-seal{position:relative;z-index:1;display:flex;justify-content:center}
.fn-brand-seal img{display:block;max-width:210px;max-height:82px;object-fit:contain;opacity:.92;border-radius:14px}
@media(max-width:991px){.fn-public-hero-brand{grid-template-columns:1fr}.fn-public-hero-brand .fn-public-copy{min-height:auto}.fn-brand-logo-box{min-height:140px}.fn-brand-panel{padding:22px}}
@media(max-width:640px){.fn-public-hero-brand{gap:14px}.fn-brand-panel{border-radius:22px;padding:18px}.fn-brand-logo-box{border-radius:18px;padding:16px;min-height:120px}.fn-brand-logo-box img{max-height:105px}.fn-brand-info h2{font-size:22px}.fn-brand-seal img{max-width:170px;max-height:70px}.fn-hero-float-icon{display:none}}


/* v1.1.0 two-step booking popup + readable brand image */
.fn-brand-logo-small{min-height:116px!important;padding:16px!important}
.fn-brand-logo-small img{max-width:145px!important;max-height:105px!important}
.fn-brand-seal-large{background:#fff;border:1px solid #dceee0;border-radius:22px;padding:14px;display:flex;justify-content:center;align-items:center;min-height:240px;box-shadow:0 14px 30px rgba(21,61,38,.08)}
.fn-brand-seal-large img{width:min(100%,260px)!important;height:auto!important;aspect-ratio:1/1!important;object-fit:contain!important;max-height:none!important;border-radius:16px!important;opacity:1!important}
.fn-selected-slot{margin:16px 0;background:#f8fbf8;border:1px solid var(--fn-border);border-radius:18px;padding:14px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.fn-selected-slot>div{display:flex;align-items:center;gap:9px;color:var(--fn-dark)}.fn-calendar-button{border:1px solid #cfe7d5;background:#eaf7ef;color:var(--fn-green);border-radius:14px;padding:12px 14px;font-weight:900;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.fn-calendar-button:hover{background:#def2e5}.fn-main-button:disabled{opacity:.55;cursor:not-allowed;transform:none!important}.fn-modal{position:fixed;inset:0;z-index:99999;display:none}.fn-modal.active{display:block}.fn-modal-backdrop{position:absolute;inset:0;background:rgba(7,31,18,.56);backdrop-filter:blur(5px)}.fn-modal-dialog{position:relative;width:min(640px,calc(100% - 26px));max-height:calc(100vh - 40px);overflow:auto;margin:20px auto;background:#fff;border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.25);border:1px solid var(--fn-border)}.fn-modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;border-bottom:1px solid var(--fn-border);background:linear-gradient(135deg,#f8fff9,#edf8f0)}.fn-modal-head span{display:block;color:var(--fn-green);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.fn-modal-head h3{margin:3px 0 0;color:var(--fn-dark);font-size:26px;font-weight:900;letter-spacing:-.03em}.fn-modal-close{width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:var(--fn-dark);font-size:30px;line-height:1;cursor:pointer;border:1px solid var(--fn-border)}.fn-modal-body{padding:24px}.fn-modal-body label{display:flex;align-items:center;gap:8px;margin:0 0 8px;color:var(--fn-dark);font-weight:900}.fn-modal-body input[type=date]{width:100%;height:54px;border:1px solid #d6e6d9;border-radius:16px;padding:0 14px;font-size:16px}.fn-slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.fn-slot-chip{border:1px solid #cfe7d5;background:#fff;border-radius:14px;min-height:48px;color:var(--fn-dark);font-weight:900;cursor:pointer}.fn-slot-chip:hover,.fn-slot-chip.active{background:linear-gradient(135deg,var(--fn-green),var(--fn-green-2));color:#fff;border-color:var(--fn-green)}.fn-slot-empty{grid-column:1/-1;background:#f4fbf6;border:1px dashed #cfe7d5;border-radius:16px;padding:18px;color:#617069;text-align:center;font-weight:800}.fn-modal-foot{display:flex;justify-content:flex-end;gap:12px;padding:18px 24px;border-top:1px solid var(--fn-border)}.fn-modal-secondary{border:1px solid #d6e6d9;background:#fff;border-radius:14px;padding:0 18px;font-weight:900}.fn-modal-continue{width:auto;min-width:230px}.fn-modal-open{overflow:hidden}@media(max-width:640px){.fn-brand-logo-small{min-height:88px!important}.fn-brand-logo-small img{max-width:105px!important;max-height:78px!important}.fn-brand-seal-large{min-height:210px}.fn-brand-seal-large img{width:min(100%,230px)!important}.fn-selected-slot{align-items:stretch}.fn-calendar-button{width:100%;justify-content:center}.fn-slot-grid{grid-template-columns:repeat(2,1fr)}.fn-modal-dialog{border-radius:22px;margin:12px auto}.fn-modal-head,.fn-modal-body,.fn-modal-foot{padding:18px}.fn-modal-foot{flex-direction:column}.fn-modal-secondary,.fn-modal-continue{width:100%;height:50px}}

/* v1.2.2 Apple/Vagaro modal scroll fix + blue primary payment button */
:root{--fn-apple-blue:#007aff;--fn-apple-blue-2:#005bea;--fn-orange:#ff8a00;--fn-orange-2:#ff6a00;--fn-ink:#0b1220;--fn-card-border:#dceee0}
.fn-stage-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:-6px 0 22px;position:relative}
.fn-stage{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid #dbe7ee;border-radius:16px;background:#f8fbfd;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;transition:.2s}
.fn-stage span{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#e8eef5;color:#64748b;flex:0 0 28px}
.fn-stage.active{background:#eef6ff;border-color:rgba(0,122,255,.28);color:var(--fn-apple-blue);box-shadow:0 12px 28px rgba(0,122,255,.10)}
.fn-stage.active span{background:linear-gradient(135deg,var(--fn-apple-blue),var(--fn-apple-blue-2));color:#fff}
.fn-stage.complete{background:#fff8ef;border-color:rgba(255,138,0,.25);color:#a54f00}.fn-stage.complete span{background:linear-gradient(135deg,var(--fn-orange),var(--fn-orange-2));color:#fff}.fn-stage.complete span:before{content:'✓';font-size:13px}.fn-stage.complete span{font-size:0}
.fn-calendar-button{background:linear-gradient(135deg,var(--fn-apple-blue),var(--fn-apple-blue-2))!important;border-color:rgba(0,122,255,.35)!important;color:#fff!important;box-shadow:0 12px 24px rgba(0,122,255,.20)}
.fn-calendar-button .fn-svg{color:#fff!important}.fn-calendar-button:hover{filter:brightness(1.03);transform:translateY(-1px)}
.fn-pay-stage-button{background:linear-gradient(135deg,var(--fn-apple-blue),var(--fn-apple-blue-2))!important;box-shadow:0 16px 30px rgba(0,122,255,.24)!important}.fn-pay-stage-button:disabled{background:linear-gradient(135deg,#8ec5ff,#7badff)!important;box-shadow:none!important}.fn-blue-button{background:linear-gradient(135deg,var(--fn-apple-blue),var(--fn-apple-blue-2))!important;box-shadow:0 16px 30px rgba(0,122,255,.24)!important}.fn-orange-button{background:linear-gradient(135deg,var(--fn-orange),var(--fn-orange-2))!important;box-shadow:0 16px 30px rgba(255,138,0,.24)!important}
.fn-modal-head-blue{background:linear-gradient(135deg,#f6fbff,#eaf4ff)!important}.fn-modal-head-blue span,.fn-modal-head-blue h3{color:#064f9e!important}.fn-modal-head-orange{background:linear-gradient(135deg,#fffaf4,#fff1df)!important}.fn-modal-head-orange span,.fn-modal-head-orange h3{color:#9a4b00!important}.fn-modal-head p{margin:8px 0 0;color:#64748b;line-height:1.55;max-width:720px}
.fn-vagaro-dialog{width:min(980px,calc(100% - 28px))!important;border-radius:30px!important;overflow:hidden}.fn-vagaro-calendar{padding:20px 24px 0;background:#fff}.fn-week-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.fn-week-title{text-align:center;color:var(--fn-ink)}.fn-week-title strong{display:block;font-size:24px;line-height:1.15;letter-spacing:-.035em}.fn-week-title span{display:block;color:#64748b;font-size:13px;font-weight:800;margin-top:2px}.fn-week-nav{width:46px;height:46px;border-radius:50%;border:1px solid #dbeafe;background:#f8fbff;color:var(--fn-apple-blue);font-size:34px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s}.fn-week-nav:hover{background:#eef6ff;transform:translateY(-1px)}
.fn-day-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:14px}.fn-day-card{min-height:74px;border:1px solid #dbeafe;background:#fff;border-radius:18px;color:#1e293b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:.2s}.fn-day-card span{font-size:11px;font-weight:900;letter-spacing:.08em;color:#64748b}.fn-day-card strong{font-size:24px;line-height:1}.fn-day-card:hover{border-color:rgba(0,122,255,.45);box-shadow:0 10px 24px rgba(0,122,255,.10)}.fn-day-card.active{background:linear-gradient(135deg,var(--fn-orange),var(--fn-orange-2));border-color:var(--fn-orange);color:#fff;box-shadow:0 14px 26px rgba(255,138,0,.22)}.fn-day-card.active span{color:#fff}.fn-day-card.disabled{opacity:.45;cursor:not-allowed;background:#f1f5f9}
.fn-date-field-label{margin:0 0 8px!important;color:#475569!important;font-size:13px}.fn-vagaro-calendar input[type=date]{width:100%;height:48px;border:1px solid #dbeafe;border-radius:16px;padding:0 14px;font-weight:800;color:#0f172a;background:#f8fbff}.fn-time-body{padding-top:18px!important}.fn-selected-service-card{display:flex;align-items:center;gap:14px;border:1px solid #e2e8f0;border-radius:20px;background:linear-gradient(135deg,#ffffff,#f8fbff);padding:14px;margin-bottom:18px}.fn-service-avatar{width:58px;height:58px;border-radius:50%;background:#fff;border:1px solid #dbeafe;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 58px}.fn-service-avatar img{width:100%;height:100%;object-fit:contain;padding:6px}.fn-selected-service-card strong{display:block;color:var(--fn-dark);font-size:16px}.fn-selected-service-card span{display:block;color:#64748b;font-weight:800;font-size:13px}.fn-time-section{border:1px solid #e2e8f0;border-radius:22px;overflow:hidden}.fn-time-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:#f8fbff;border-bottom:1px solid #e2e8f0}.fn-time-section-head span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--fn-apple-blue);font-weight:900}.fn-time-section-head strong{color:#0f172a}.fn-time-groups{padding:16px}.fn-time-group{margin-bottom:18px}.fn-time-group:last-child{margin-bottom:0}.fn-time-group h4{margin:0 0 10px;color:#0f172a;font-size:15px;font-weight:900}.fn-slot-grid{grid-template-columns:repeat(4,1fr)!important}.fn-slot-chip{border-color:#dbeafe!important;background:#fff!important;color:#0f172a!important;min-height:48px!important;font-size:14px;box-shadow:0 6px 16px rgba(15,23,42,.04)}.fn-slot-chip:hover{background:#eef6ff!important;color:var(--fn-apple-blue)!important;border-color:rgba(0,122,255,.35)!important}.fn-slot-chip.active{background:linear-gradient(135deg,var(--fn-orange),var(--fn-orange-2))!important;color:#fff!important;border-color:var(--fn-orange)!important;box-shadow:0 12px 22px rgba(255,138,0,.22)!important}.fn-loading-slots:after{content:'';display:inline-block;width:14px;height:14px;border:2px solid rgba(0,122,255,.25);border-top-color:var(--fn-apple-blue);border-radius:50%;margin-left:8px;vertical-align:-2px;animation:fnspin .75s linear infinite}@keyframes fnspin{to{transform:rotate(360deg)}}
.fn-sticky-foot{position:sticky;bottom:0;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);z-index:2}.fn-review-dialog{width:min(620px,calc(100% - 28px))!important;border-radius:30px!important;overflow:hidden}.fn-review-body{padding:24px;display:grid;gap:12px}.fn-review-card,.fn-review-total{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #e2e8f0;border-radius:18px;padding:14px;background:#fff}.fn-review-card span,.fn-review-total span{color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.fn-review-card strong{color:#0f172a;text-align:right}.fn-review-total{background:linear-gradient(135deg,#fff7ed,#fff);border-color:rgba(255,138,0,.30)}.fn-review-total strong{font-size:25px;color:#9a4b00}.fn-stripe-note{display:flex;gap:12px;align-items:flex-start;background:#eef6ff;border:1px solid #dbeafe;border-radius:18px;padding:14px;color:#475569;font-weight:700}.fn-stripe-note .fn-note-icon{background:#dbeafe!important;color:var(--fn-apple-blue)!important}
@media(max-width:991px){.fn-vagaro-dialog{width:min(760px,calc(100% - 22px))!important}.fn-slot-grid{grid-template-columns:repeat(3,1fr)!important}.fn-day-strip{gap:6px}.fn-day-card{min-height:68px}.fn-day-card strong{font-size:21px}}
@media(max-width:700px){.fn-stage-bar{grid-template-columns:1fr;gap:8px}.fn-stage{padding:9px 10px}.fn-vagaro-dialog,.fn-review-dialog{width:100%!important;height:100vh!important;max-height:100vh!important;margin:0!important;border-radius:0!important}.fn-modal-head{padding:18px!important}.fn-modal-head h3{font-size:24px!important}.fn-vagaro-calendar{padding:16px 16px 0}.fn-week-title strong{font-size:20px}.fn-week-nav{width:40px;height:40px;font-size:28px}.fn-day-strip{overflow-x:auto;grid-template-columns:repeat(7,72px);padding-bottom:4px}.fn-day-card{min-height:64px;border-radius:15px}.fn-time-body{padding:16px!important}.fn-time-section-head{align-items:flex-start;flex-direction:column}.fn-slot-grid{grid-template-columns:repeat(2,1fr)!important}.fn-slot-chip{min-height:50px!important}.fn-modal-foot{padding:14px 16px!important}.fn-review-body{padding:16px}.fn-review-card,.fn-review-total{align-items:flex-start;flex-direction:column}.fn-review-card strong{text-align:left}.fn-review-total strong{font-size:24px}.fn-selected-service-card{align-items:flex-start}.fn-service-avatar{width:50px;height:50px;flex-basis:50px}}
@media(max-width:380px){.fn-day-strip{grid-template-columns:repeat(7,64px)}.fn-slot-grid{grid-template-columns:1fr!important}}


/* v1.2.2: keep modal footer visible and allow the date/time content to scroll */
.fn-modal.active{display:flex!important;align-items:center;justify-content:center;padding:14px}
.fn-modal .fn-modal-backdrop{position:fixed!important}
.fn-modal-dialog.fn-vagaro-dialog,.fn-modal-dialog.fn-review-dialog{display:flex!important;flex-direction:column!important;max-height:calc(100dvh - 28px)!important;overflow:hidden!important;margin:0 auto!important}
.fn-vagaro-dialog .fn-modal-head,.fn-review-dialog .fn-modal-head{flex:0 0 auto!important}
.fn-vagaro-dialog .fn-vagaro-calendar{flex:0 0 auto!important}
.fn-vagaro-dialog .fn-time-body,.fn-review-dialog .fn-review-body{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;padding-bottom:20px!important}
.fn-vagaro-dialog .fn-modal-foot,.fn-review-dialog .fn-modal-foot{flex:0 0 auto!important;position:relative!important;bottom:auto!important;box-shadow:0 -12px 26px rgba(15,23,42,.08);background:#fff!important}
.fn-modal-foot .fn-orange-button{background:linear-gradient(135deg,var(--fn-orange),var(--fn-orange-2))!important;color:#fff!important}
.fn-modal-foot .fn-modal-secondary{min-height:52px;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:700px){
  .fn-modal.active{align-items:stretch;justify-content:stretch;padding:0!important}
  .fn-vagaro-dialog,.fn-review-dialog{width:100%!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important}
  .fn-vagaro-dialog .fn-time-body{padding-bottom:18px!important}
  .fn-modal-foot{padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))!important}
}


/* v1.2.4: simplified review popup + Stripe payment footer */
.fn-simple-help{font-size:13px!important;color:#526173!important;margin-top:10px!important}
.fn-pay-stage-button{background:linear-gradient(135deg,#007aff,#005eea)!important;box-shadow:0 16px 30px rgba(0,122,255,.24)!important;color:#fff!important}
.fn-review-dialog{width:min(580px,calc(100% - 28px))!important}
.fn-review-dialog .fn-modal-head-compact{background:#fff!important;padding:20px 24px 16px!important;border-bottom:1px solid #e2e8f0!important;align-items:flex-start!important}
.fn-review-dialog .fn-modal-head-compact span{color:#007aff!important;font-size:11px!important;letter-spacing:.12em!important;font-weight:900!important;text-transform:uppercase!important}
.fn-review-dialog .fn-modal-head-compact h3{color:#0f172a!important;font-size:25px!important;line-height:1.08!important;margin:7px 0 0!important;letter-spacing:-.03em!important}
.fn-review-dialog .fn-modal-head-compact p{font-size:13.5px!important;line-height:1.45!important;max-width:430px!important;margin:8px 0 0!important;color:#64748b!important}
.fn-review-body-compact{padding:18px 24px!important;gap:9px!important;background:#f8fafc!important}
.fn-review-body-compact .fn-review-card,.fn-review-body-compact .fn-review-total{border-radius:15px!important;padding:12px 14px!important;background:#fff!important;box-shadow:none!important}
.fn-review-body-compact .fn-review-card span,.fn-review-body-compact .fn-review-total span{font-size:10.5px!important;letter-spacing:.1em!important;color:#64748b!important}
.fn-review-body-compact .fn-review-card strong{font-size:14.5px!important;line-height:1.3!important;color:#0f172a!important}
.fn-review-body-compact .fn-review-total{margin-top:4px!important;background:linear-gradient(135deg,#fff7ed,#ffffff)!important;border-color:rgba(255,138,0,.28)!important}
.fn-review-body-compact .fn-review-total strong{font-size:25px!important;color:#9a4b00!important;white-space:nowrap!important}
.fn-stripe-note-small{padding:11px 13px!important;border-radius:15px!important;font-size:13px!important;line-height:1.45!important;font-weight:700!important;background:#eef6ff!important}
.fn-stripe-note-small .fn-note-icon{width:25px!important;height:25px!important;flex:0 0 25px!important;padding:5px!important}
.fn-review-pay-footer{display:grid!important;grid-template-columns:90px minmax(0,1fr)!important;gap:12px!important;padding:16px 24px!important;background:#fff!important}
.fn-review-pay-footer .fn-main-button{height:54px!important;font-size:15.5px!important;border-radius:16px!important}
.fn-review-pay-footer .fn-modal-secondary{height:54px!important;border-radius:15px!important;font-weight:900!important}
@media(max-width:700px){
  .fn-review-dialog .fn-modal-head-compact{padding:18px 18px 14px!important}
  .fn-review-dialog .fn-modal-head-compact h3{font-size:23px!important}
  .fn-review-dialog .fn-modal-head-compact p{font-size:13px!important}
  .fn-review-body-compact{padding:14px 16px!important;gap:8px!important}
  .fn-review-body-compact .fn-review-card,.fn-review-body-compact .fn-review-total{flex-direction:row!important;align-items:center!important;gap:12px!important;padding:12px!important}
  .fn-review-body-compact .fn-review-card strong{text-align:right!important;font-size:13.5px!important;max-width:62%}
  .fn-review-body-compact .fn-review-total strong{font-size:22px!important}
  .fn-review-pay-footer{grid-template-columns:1fr!important;padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px))!important}
  .fn-review-pay-footer .fn-modal-secondary{order:2;height:48px!important}
  .fn-review-pay-footer .fn-main-button{order:1;height:54px!important;width:100%!important}
}
@media(max-width:420px){
  .fn-review-body-compact .fn-review-card,.fn-review-body-compact .fn-review-total{flex-direction:column!important;align-items:flex-start!important}
  .fn-review-body-compact .fn-review-card strong{text-align:left!important;max-width:100%}
}

/* v1.2.7 inline appointment review before Stripe */
.fn-stage-bar-simple{grid-template-columns:1fr 1fr!important}
.fn-inline-review{display:none;margin:16px 0 12px;border:1px solid #dbeafe;background:linear-gradient(135deg,#f8fbff,#ffffff);border-radius:20px;padding:16px;box-shadow:0 12px 30px rgba(0,122,255,.07)}
.fn-inline-review.active{display:block}
.fn-inline-review-head{display:flex;align-items:center;gap:10px;color:#0f5132;font-weight:900;margin-bottom:12px}
.fn-inline-review-head .fn-mini{width:24px;height:24px;border-radius:50%;background:#e8f6ec;padding:5px}
.fn-inline-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fn-inline-review-grid>div{border:1px solid #e2e8f0;background:#fff;border-radius:15px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.fn-inline-review-grid span{font-size:11px;color:#64748b;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.fn-inline-review-grid strong{color:#0f172a;text-align:right;font-weight:900}
.fn-inline-review-grid .fn-inline-total{grid-column:1 / -1;border-color:rgba(0,122,255,.25);background:linear-gradient(135deg,#eef6ff,#fff)}
.fn-inline-review-grid .fn-inline-total strong{font-size:24px;color:#005bbb}
@media(max-width:700px){.fn-stage-bar-simple{grid-template-columns:1fr!important}.fn-inline-review-grid{grid-template-columns:1fr}.fn-inline-review-grid>div{align-items:flex-start;flex-direction:column}.fn-inline-review-grid strong{text-align:left}.fn-pay-stage-button{min-height:54px}}


/* v1.4.1 Apple-blue calendar selection + explicit schedule slots only */
.fn-day-card.active,
.fn-day-card.active:hover{
  background:linear-gradient(135deg,#007aff,#005eea)!important;
  border-color:#007aff!important;
  color:#fff!important;
  box-shadow:0 14px 26px rgba(0,122,255,.24)!important;
}
.fn-day-card.active span{color:#fff!important;}
.fn-slot-chip.active,
.fn-slot-chip.active:hover{
  background:linear-gradient(135deg,#007aff,#005eea)!important;
  border-color:#007aff!important;
  color:#fff!important;
  box-shadow:0 12px 22px rgba(0,122,255,.24)!important;
}
.fn-orange-button,
.fn-modal-foot .fn-orange-button,
.fn-modal-continue{
  background:linear-gradient(135deg,#007aff,#005eea)!important;
  border-color:#007aff!important;
  color:#fff!important;
  box-shadow:0 16px 30px rgba(0,122,255,.24)!important;
}
.fn-review-total{
  background:linear-gradient(135deg,#eef6ff,#ffffff)!important;
  border-color:rgba(0,122,255,.25)!important;
}
.fn-review-total strong{color:#005bbb!important;}
.fn-stage.complete{background:#eef6ff!important;border-color:rgba(0,122,255,.25)!important;color:#005bbb!important;}
.fn-stage.complete span{background:linear-gradient(135deg,#007aff,#005eea)!important;color:#fff!important;}


/* v1.4.2: show configured booked slots as disabled, keep lunch hidden */
.fn-slot-chip.unavailable,
.fn-slot-chip.unavailable:hover{
  background:#f1f5f9!important;
  border-color:#e2e8f0!important;
  color:#94a3b8!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
  opacity:.82!important;
}
.fn-slot-chip span{display:block;line-height:1.15;}
.fn-slot-chip small{display:block;margin-top:3px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#b45309;font-weight:900;}
.fn-slot-chip.unavailable small{color:#64748b!important;}


/* v1.4.3: keep past configured slots visible but disabled in clean black/white style */
.fn-slot-chip.unavailable.past,
.fn-slot-chip.unavailable.past:hover{
  background:#f8fafc!important;
  color:#111827!important;
  border-color:#cbd5e1!important;
  box-shadow:none!important;
  opacity:1!important;
  cursor:not-allowed!important;
}
.fn-slot-chip.unavailable.past span{color:#111827!important;}
.fn-slot-chip.unavailable.past small{
  background:#e5e7eb!important;
  color:#374151!important;
  border:1px solid #d1d5db!important;
}


/* v1.4.6 Compact booking modal description */
.fn-calendar-modal .fn-modal-head-blue{
  padding-top:18px!important;
  padding-bottom:16px!important;
}
.fn-calendar-modal .fn-modal-head-blue h3{
  margin-bottom:6px!important;
}
.fn-calendar-modal .fn-modal-head-blue p{
  margin:0!important;
  font-size:14px!important;
  line-height:1.45!important;
  max-width:640px!important;
}
.fn-calendar-modal .fn-day-pill.is-selected,
.fn-calendar-modal .fn-slot-button.is-selected,
.fn-calendar-modal .fn-use-time-btn{
  background:#0a84ff!important;
  border-color:#0a84ff!important;
  color:#fff!important;
}


/* v1.4.7 Compact calendar popup + require patient contact before opening */
.fn-calendar-modal.fn-modal.active{
  align-items:flex-start!important;
  justify-content:center!important;
  padding-top:8px!important;
  padding-left:10px!important;
  padding-right:10px!important;
}
.fn-calendar-modal .fn-vagaro-dialog{
  width:min(920px,calc(100% - 18px))!important;
  max-height:calc(100dvh - 16px)!important;
  border-radius:24px!important;
}
.fn-calendar-modal .fn-modal-head-blue{
  padding:12px 22px 10px!important;
}
.fn-calendar-modal .fn-modal-head-blue span{font-size:10px!important;letter-spacing:.12em!important;}
.fn-calendar-modal .fn-modal-head-blue h3{font-size:24px!important;line-height:1.05!important;margin:4px 0 3px!important;}
.fn-calendar-modal .fn-modal-head-blue p{font-size:13px!important;line-height:1.35!important;}
.fn-calendar-modal .fn-modal-close{width:38px!important;height:38px!important;font-size:26px!important;}
.fn-calendar-modal .fn-vagaro-calendar{padding:12px 20px 0!important;}
.fn-calendar-modal .fn-week-header{margin-bottom:8px!important;}
.fn-calendar-modal .fn-week-title strong{font-size:21px!important;}
.fn-calendar-modal .fn-week-title span{font-size:12px!important;}
.fn-calendar-modal .fn-week-nav{width:40px!important;height:40px!important;font-size:28px!important;}
.fn-calendar-modal .fn-day-card{min-height:62px!important;border-radius:15px!important;}
.fn-calendar-modal .fn-day-card strong{font-size:20px!important;}
.fn-calendar-modal .fn-date-field-label{margin-top:8px!important;font-size:12px!important;}
.fn-calendar-modal #fn-modal-date{height:42px!important;border-radius:13px!important;}
.fn-calendar-modal .fn-time-body{padding:10px 20px 12px!important;}
.fn-calendar-modal .fn-selected-service-card{display:none!important;}
.fn-calendar-modal .fn-time-section{border-radius:18px!important;}
.fn-calendar-modal .fn-time-section-head{padding:10px 14px!important;}
.fn-calendar-modal .fn-time-groups{padding:12px!important;}
.fn-calendar-modal .fn-time-group{margin-bottom:12px!important;}
.fn-calendar-modal .fn-time-group h4{font-size:14px!important;margin-bottom:8px!important;}
.fn-calendar-modal .fn-slot-chip{min-height:44px!important;border-radius:13px!important;}
.fn-calendar-modal .fn-modal-foot{padding:12px 20px!important;}
.fn-calendar-modal .fn-modal-continue{min-width:220px!important;height:50px!important;}
@media(max-width:700px){
  .fn-calendar-modal.fn-modal.active{align-items:stretch!important;padding:0!important;}
  .fn-calendar-modal .fn-vagaro-dialog{height:100dvh!important;max-height:100dvh!important;border-radius:0!important;width:100%!important;}
  .fn-calendar-modal .fn-modal-head-blue{padding:12px 16px 10px!important;}
  .fn-calendar-modal .fn-vagaro-calendar{padding:10px 14px 0!important;}
  .fn-calendar-modal .fn-time-body{padding:10px 14px 12px!important;}
  .fn-calendar-modal .fn-day-card{min-height:58px!important;}
}

.fn-sms-note{font-size:11px;color:#64748b;font-weight:800;text-transform:none;letter-spacing:0;margin-left:2px;}


/* v1.4.8 REAL FIX: visible neon-blue outline for available time buttons */
.fn-slot-chip:not(.unavailable):not(.active),
.fn-calendar-modal .fn-slot-chip:not(.unavailable):not(.active){
  border:2px solid #0a84ff!important;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%)!important;
  color:#0f172a!important;
  box-shadow:
    0 0 0 3px rgba(10,132,255,.14),
    0 10px 24px rgba(10,132,255,.10)!important;
}
.fn-slot-chip:not(.unavailable):not(.active):hover,
.fn-calendar-modal .fn-slot-chip:not(.unavailable):not(.active):hover{
  border-color:#006ee6!important;
  color:#005bbb!important;
  background:#eef6ff!important;
  box-shadow:
    0 0 0 4px rgba(10,132,255,.22),
    0 14px 30px rgba(10,132,255,.16)!important;
  transform:translateY(-1px);
}
.fn-slot-chip.active,
.fn-calendar-modal .fn-slot-chip.active,
.fn-slot-chip.active:hover,
.fn-calendar-modal .fn-slot-chip.active:hover{
  border:2px solid #005eea!important;
  background:linear-gradient(135deg,#0a84ff,#005eea)!important;
  color:#ffffff!important;
  box-shadow:
    0 0 0 4px rgba(10,132,255,.24),
    0 18px 34px rgba(10,132,255,.28)!important;
}
.fn-slot-chip.active span,
.fn-calendar-modal .fn-slot-chip.active span{color:#fff!important;}
.fn-modal-continue:not(:disabled),
.fn-calendar-modal .fn-modal-continue:not(:disabled){
  background:linear-gradient(135deg,#0a84ff,#005eea)!important;
  border-color:#0a84ff!important;
  color:#fff!important;
  box-shadow:0 16px 30px rgba(10,132,255,.24)!important;
}


/* v1.5.7 Frontend hero brand order: small logo on top + larger payment card below */
.fn-brand-panel-reordered{
  justify-content:flex-start!important;
  gap:18px!important;
}
.fn-brand-panel-reordered .fn-brand-seal-top{
  order:1!important;
  min-height:138px!important;
  padding:12px!important;
  background:#fff!important;
  border:1px solid #dceee0!important;
  border-radius:22px!important;
  box-shadow:0 14px 30px rgba(21,61,38,.08)!important;
}
.fn-brand-panel-reordered .fn-brand-seal-top img{
  width:min(100%,155px)!important;
  max-width:155px!important;
  max-height:128px!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  border-radius:16px!important;
}
.fn-brand-panel-reordered .fn-brand-info{
  order:2!important;
}
.fn-brand-panel-reordered .fn-brand-payment-card{
  order:3!important;
  min-height:180px!important;
  padding:16px!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 14px 30px rgba(21,61,38,.08)!important;
}
.fn-brand-panel-reordered .fn-brand-payment-card img{
  width:min(100%,285px)!important;
  max-width:285px!important;
  max-height:158px!important;
  height:auto!important;
  object-fit:contain!important;
  border-radius:14px!important;
}
@media(max-width:640px){
  .fn-brand-panel-reordered{gap:15px!important}
  .fn-brand-panel-reordered .fn-brand-seal-top{min-height:128px!important;padding:10px!important}
  .fn-brand-panel-reordered .fn-brand-seal-top img{max-width:135px!important;max-height:112px!important}
  .fn-brand-panel-reordered .fn-brand-payment-card{min-height:165px!important;padding:14px!important}
  .fn-brand-panel-reordered .fn-brand-payment-card img{max-width:260px!important;max-height:145px!important}
}


/* v1.6.0 Patient email lookup and returning patient message */
.fn-patient-lookup-message{
  display:none;
  margin:-4px 0 16px;
  border-radius:16px;
  padding:12px 14px;
  font-weight:800;
  font-size:13px;
  line-height:1.45;
  border:1px solid transparent;
}
.fn-patient-lookup-message.active{display:block}
.fn-patient-lookup-message.success{
  background:#eaf7f2;
  border-color:#bfe7dc;
  color:#0c5d51;
}
.fn-patient-lookup-message.info{
  background:#f8fbff;
  border-color:#dbeafe;
  color:#24506f;
}
.fn-patient-lookup-message.warning{
  background:#fff7ed;
  border-color:#fed7aa;
  color:#9a3412;
}
.fn-patient-lookup-message.loading{
  background:#f8fbff;
  border-color:#dbeafe;
  color:#24506f;
}
.fn-patient-lookup-message.loading:after{
  content:'';
  display:inline-block;
  width:13px;
  height:13px;
  border:2px solid rgba(10,132,255,.22);
  border-top-color:#0a84ff;
  border-radius:50%;
  margin-left:8px;
  vertical-align:-2px;
  animation:fnspin .75s linear infinite;
}
.fn-selected-slot.fn-returning-ready{
  border-color:#bfe7dc!important;
  box-shadow:0 12px 30px rgba(12,93,81,.10)!important;
}


/* v1.6.1 Appointment hours aligned table */
.fn-public-hours{display:grid;gap:12px;margin-top:20px;background:linear-gradient(135deg,#f1faf3,#fff);border:1px solid var(--fn-border);border-radius:18px;padding:16px}
.fn-public-hours strong{color:var(--fn-dark);font-size:14px;display:flex;align-items:center;gap:10px}
.fn-public-hours strong .fn-svg{width:32px;height:32px;border-radius:10px;background:#e8f6ec;color:var(--fn-green);padding:6px}
.fn-hours-table{display:grid;gap:8px;padding-left:42px}
.fn-hours-row{display:grid;grid-template-columns:minmax(140px,190px) minmax(0,1fr);align-items:center;gap:14px;padding:6px 0;border-bottom:1px dashed #dceee0}
.fn-hours-row:last-child{border-bottom:0;padding-bottom:0}
.fn-hours-day{color:var(--fn-dark);font-weight:800}
.fn-hours-time{color:#52635a;text-align:left;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
@media(max-width:640px){.fn-hours-table{padding-left:0}.fn-hours-row{grid-template-columns:1fr;gap:2px;padding:8px 0}.fn-hours-time{padding-left:0}}

/* Feel Natural v1.6.4 - Process anchor button */
html{scroll-behavior:smooth}
#colon-hydrotherapy-wellness-process{scroll-margin-top:24px}
.fn-process-anchor-btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    margin:4px 0 0!important;
    padding:11px 16px!important;
    border-radius:999px!important;
    background:linear-gradient(135deg,#2f7d3f,#0f6b5c)!important;
    color:#ffffff!important;
    border:1px solid rgba(47,125,63,.35)!important;
    box-shadow:0 12px 26px rgba(47,125,63,.18)!important;
    font-size:13px!important;
    font-weight:900!important;
    letter-spacing:.04em!important;
    text-transform:uppercase!important;
    text-decoration:none!important;
    line-height:1.2!important;
}
.fn-process-anchor-btn:hover,
.fn-process-anchor-btn:focus{
    color:#ffffff!important;
    transform:translateY(-1px);
    box-shadow:0 16px 30px rgba(47,125,63,.22)!important;
    text-decoration:none!important;
}
.fn-process-anchor-btn .fn-svg{
    width:17px!important;
    height:17px!important;
}
@media(max-width:600px){
    .fn-process-anchor-btn{
        width:100%!important;
        font-size:12px!important;
        padding:12px 14px!important;
        margin-top:8px!important;
    }
}

/* Feel Natural v1.6.5 - SMS consent box for Twilio/A2P compliance */
.fn-sms-consent-box{
    margin:14px 0 16px!important;
    padding:14px 15px!important;
    border:1px solid #dceee0!important;
    border-radius:16px!important;
    background:linear-gradient(135deg,#f7fbf7,#eef8f0)!important;
    box-shadow:0 10px 24px rgba(21,61,38,.06)!important;
}
.fn-sms-consent-label{
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    margin:0 0 7px!important;
    color:#153d26!important;
    font-size:14px!important;
    font-weight:900!important;
    cursor:pointer!important;
}
.fn-sms-consent-label input{
    width:18px!important;
    height:18px!important;
    margin:0!important;
    accent-color:#2f7d3f!important;
    flex:0 0 auto!important;
}
.fn-sms-consent-label .fn-svg{
    width:18px!important;
    height:18px!important;
    color:#2f7d3f!important;
}
.fn-sms-consent-box p{
    margin:0!important;
    padding-left:27px!important;
    color:#52635a!important;
    font-size:12.5px!important;
    line-height:1.55!important;
    max-width:100%!important;
}
@media(max-width:600px){
    .fn-sms-consent-box{padding:13px!important}
    .fn-sms-consent-box p{padding-left:0!important;font-size:12px!important}
}


/* Feel Natural v1.6.6 - Appointment hours individual days, two columns */
.fn-hours-table.fn-hours-table-two-col{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  padding-left:42px!important;
}
.fn-hours-table.fn-hours-table-two-col .fn-hours-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:10px 12px!important;
  border:1px solid #dceee0!important;
  border-radius:14px!important;
  background:#ffffff!important;
}
.fn-hours-table.fn-hours-table-two-col .fn-hours-row:last-child{
  border:1px solid #dceee0!important;
  padding:10px 12px!important;
}
.fn-hours-table.fn-hours-table-two-col .fn-hours-day{
  color:var(--fn-dark)!important;
  font-weight:900!important;
  padding-left:0!important;
}
.fn-hours-table.fn-hours-table-two-col .fn-hours-time{
  color:#52635a!important;
  text-align:right!important;
  padding-left:0!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.fn-hours-table.fn-hours-table-two-col .fn-hours-closed{
  background:#f6f8f6!important;
  border-style:dashed!important;
}
.fn-hours-table.fn-hours-table-two-col .fn-hours-closed .fn-hours-time{
  color:#8a958f!important;
}
.fn-hours-table.fn-hours-table-two-col .fn-hours-sunday{
  grid-column:1 / -1!important;
}
@media(max-width:640px){
  .fn-hours-table.fn-hours-table-two-col{
    grid-template-columns:1fr!important;
    padding-left:0!important;
  }
  .fn-hours-table.fn-hours-table-two-col .fn-hours-sunday{
    grid-column:auto!important;
  }
}


/* Feel Natural v1.6.9 - Privacy Policy and Terms links inside booking form */
.fn-sms-legal-links{
    margin:-4px 0 18px!important;
    padding:12px 14px!important;
    border:1px solid #dceee0!important;
    border-radius:14px!important;
    background:#ffffff!important;
    color:#52635a!important;
    font-size:12.5px!important;
    line-height:1.55!important;
    box-shadow:0 8px 20px rgba(21,61,38,.045)!important;
}
.fn-sms-legal-links strong{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    color:#153d26!important;
    font-weight:900!important;
    margin-bottom:5px!important;
}
.fn-sms-legal-links .fn-svg{
    width:16px!important;
    height:16px!important;
    color:#2f7d3f!important;
}
.fn-sms-legal-links a{
    color:#0b6f53!important;
    font-weight:900!important;
    text-decoration:underline!important;
    text-underline-offset:2px!important;
}
@media(max-width:600px){
    .fn-sms-legal-links{
        font-size:12px!important;
        padding:11px 12px!important;
    }
}

/* Feel Natural v1.7.0 Google translator toggle */
.fn-hero-top-tools{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 88px 10px 0;flex-wrap:wrap}
.fn-hero-top-tools .fn-public-badge{margin-bottom:0}
.fn-translate-switcher{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;background:#f8fbf8;border:1px solid var(--fn-border);padding:7px;border-radius:16px;box-shadow:0 8px 18px rgba(21,61,38,.06)}
.fn-translate-btn{appearance:none;border:1px solid #d6e6d9;background:#fff;color:var(--fn-dark);height:42px;padding:0 14px;border-radius:12px;display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:14px;cursor:pointer;transition:.2s;box-shadow:0 4px 10px rgba(21,61,38,.04)}
.fn-translate-btn:hover{border-color:var(--fn-green);transform:translateY(-1px)}
.fn-translate-btn.active{background:linear-gradient(135deg,#2f7d3f,#246933);border-color:#2f7d3f;color:#fff;box-shadow:0 10px 18px rgba(47,125,63,.22)}
.fn-translate-btn span{line-height:1}
.fn-google-translate-hidden,#google_translate_element_hidden,.goog-te-banner-frame.skiptranslate,.goog-te-gadget-icon,.goog-logo-link{display:none!important}
body.fn-public-body{top:0!important}
.skiptranslate iframe{display:none!important}
body .goog-te-banner-frame{display:none!important}
body.translated-ltr,body.translated-rtl{top:0!important}
@media(max-width:991px){.fn-hero-top-tools{margin-right:0}.fn-hero-float-icon{position:static;margin:6px 0 14px auto}}
@media(max-width:640px){.fn-hero-top-tools{flex-direction:column;align-items:stretch;gap:10px}.fn-translate-switcher{justify-content:stretch}.fn-translate-btn{flex:1 1 calc(50% - 4px);justify-content:center;min-width:0;padding:0 10px;font-size:13px}}


/* v1.7.1 translator flags + light blue styling */
.fn-hero-top-tools{align-items:center!important;margin:0 88px 14px 0!important}
.fn-translate-switcher{background:linear-gradient(135deg,#f7fbff,#eef5ff)!important;border:1px solid #d8e7ff!important;padding:8px!important;border-radius:18px!important;box-shadow:0 10px 22px rgba(76,141,246,.10)!important}
.fn-translate-btn{height:46px!important;padding:0 14px!important;border-radius:13px!important;border:1px solid #d6e5ff!important;background:#fff!important;color:#23415f!important;gap:10px!important;min-width:112px;justify-content:flex-start;box-shadow:0 4px 12px rgba(76,141,246,.05)!important}
.fn-translate-btn:hover{border-color:#82afff!important;transform:translateY(-1px)}
.fn-translate-btn.active{background:linear-gradient(135deg,#4c8df6,#2e74ea)!important;border-color:#4c8df6!important;color:#fff!important;box-shadow:0 12px 22px rgba(76,141,246,.24)!important}
.fn-translate-flag{width:28px;height:21px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;overflow:hidden;flex:0 0 28px;box-shadow:0 0 0 1px rgba(15,23,42,.08)}
.fn-translate-flag svg{display:block;width:100%;height:100%}
.fn-translate-label{display:flex;align-items:flex-start;gap:6px;line-height:1;white-space:nowrap}
.fn-translate-label small{font-size:11px;font-weight:900;letter-spacing:.08em;opacity:.82;margin-top:4px}
.fn-translate-label strong{font-size:14px;font-weight:900;letter-spacing:-.01em}
.fn-translate-btn.active .fn-translate-flag{box-shadow:0 0 0 1px rgba(255,255,255,.26)}
@media(max-width:991px){.fn-hero-top-tools{margin-right:0!important}}
@media(max-width:640px){.fn-translate-switcher{width:100%;justify-content:stretch!important}.fn-translate-btn{flex:1 1 calc(50% - 4px)!important;min-width:0!important;justify-content:center!important}.fn-translate-label{justify-content:center}}


/* v1.7.2 translator slimmer buttons without initials */
.fn-translate-switcher{padding:6px!important;border-radius:16px!important}
.fn-translate-btn{height:40px!important;padding:0 12px!important;min-width:104px;border-radius:12px!important;gap:8px!important}
.fn-translate-flag{width:24px;height:18px;flex:0 0 24px;border-radius:4px}
.fn-translate-label{display:flex;align-items:center;line-height:1;white-space:nowrap}
.fn-translate-label strong{font-size:13px;font-weight:900;letter-spacing:0!important}
.fn-translate-label small{display:none!important}
@media(max-width:640px){.fn-translate-btn{height:38px!important;padding:0 10px!important}.fn-translate-label strong{font-size:12.5px}}


/* v1.7.5 reCAPTCHA hidden badge disclosure on public booking form */
.fn-recaptcha-disclosure{
  display:block;
  margin-top:8px;
  color:#6b7280!important;
  font-size:11.5px!important;
  line-height:1.5!important;
}
.fn-recaptcha-disclosure a{
  color:#0b6f53!important;
  font-weight:800!important;
  text-decoration:underline!important;
}
body.fn-public-body .grecaptcha-badge{
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}


/* v1.7.6 compact SMS consent area + office phone + higher calendar selector */
.fn-sms-consent-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin:12px 0 12px!important;
}
.fn-sms-consent-grid .fn-sms-consent-box{
  margin:0!important;
  padding:12px 13px!important;
  border-radius:14px!important;
}
.fn-sms-consent-grid .fn-sms-consent-label{
  align-items:flex-start!important;
  gap:8px!important;
  line-height:1.25!important;
  margin:0 0 6px!important;
}
.fn-sms-consent-grid .fn-sms-consent-label input{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  margin-top:2px!important;
}
.fn-sms-consent-grid .fn-sms-consent-label strong{
  font-size:12.6px!important;
  line-height:1.25!important;
}
.fn-sms-consent-grid .fn-sms-consent-box p{
  font-size:10.8px!important;
  line-height:1.42!important;
  margin:0!important;
  color:#52635a!important;
}
.fn-sms-help-phone{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin-top:7px!important;
  padding-top:7px!important;
  border-top:1px solid rgba(47,125,63,.13)!important;
  font-size:11.2px!important;
  line-height:1.2!important;
  color:#153d26!important;
  font-weight:800!important;
}
.fn-sms-help-phone .fn-mini{
  width:14px!important;
  height:14px!important;
  color:#2f7d3f!important;
}
.fn-sms-help-phone a{
  color:#0b6f53!important;
  font-weight:900!important;
  text-decoration:none!important;
}
.fn-sms-legal-links{
  margin:0 0 12px!important;
  font-size:11.5px!important;
  padding:10px 12px!important;
}
.fn-recaptcha-disclosure{
  font-size:10.5px!important;
  margin-top:6px!important;
}
.fn-selected-slot{
  margin-top:10px!important;
  padding:12px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
}
.fn-selected-slot .fn-calendar-button{
  white-space:nowrap!important;
  min-height:42px!important;
  padding:0 14px!important;
}
.fn-simple-help{
  margin:8px 0 10px!important;
  font-size:12px!important;
}
@media(max-width:760px){
  .fn-sms-consent-grid{
    grid-template-columns:1fr!important;
  }
  .fn-selected-slot{
    grid-template-columns:1fr!important;
  }
  .fn-selected-slot .fn-calendar-button{
    width:100%!important;
  }
}

/* v1.7.8 wellness process button icon fix */
.fn-process-anchor-btn .fn-svg{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  color:#ffffff!important;
  stroke-width:2.4!important;
}
.fn-process-anchor-btn{
  gap:9px!important;
}

/* v1.7.9 clear visible hand icon for wellness process button */
.fn-process-anchor-btn{
  gap:12px!important;
}
.fn-process-anchor-btn .fn-process-icon-badge{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#ffffff!important;
  border:2px solid rgba(255,255,255,.95)!important;
  background:rgba(255,255,255,.14)!important;
  box-shadow:0 6px 16px rgba(0,0,0,.12), inset 0 0 0 1px rgba(255,255,255,.14)!important;
}
.fn-process-anchor-btn .fn-process-icon-hand{
  display:block!important;
  color:#ffffff!important;
  font-size:26px!important;
  line-height:1!important;
  font-family:Arial, Helvetica, sans-serif!important;
  font-weight:900!important;
  transform:translateY(-1px)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.28)!important;
}
.fn-process-anchor-btn .fn-svg-hand-point-right,
.fn-process-anchor-btn .fn-svg-info{
  display:none!important;
}
@media(max-width:640px){
  .fn-process-anchor-btn .fn-process-icon-badge{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
  }
  .fn-process-anchor-btn .fn-process-icon-hand{
    font-size:23px!important;
  }
}
