
/* =========================================================
   FATIMA 4.6.100 — GLOBAL KALAMEH
   Every plugin popup/modal and every plugin-generated element,
   including dynamically appended body children, uses Kalameh.
   ========================================================= */

@font-face{font-family:"Kalameh";src:url("https://fatimanailbar.ir/wp-content/uploads/2026/07/Kalameh-Thin.ttf") format("truetype");font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:"Kalameh";src:url("https://fatimanailbar.ir/wp-content/uploads/2026/07/Kalameh-ExtraLight.ttf") format("truetype");font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:"Kalameh";src:url("https://fatimanailbar.ir/wp-content/uploads/2026/07/Kalameh-Light.ttf") format("truetype");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Kalameh";src:url("https://fatimanailbar.ir/wp-content/uploads/2026/07/Kalameh-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Kalameh";src:url("https://fatimanailbar.ir/wp-content/uploads/2026/07/Kalameh-Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Kalameh";src:url("https://fatimanailbar.ir/wp-content/uploads/2026/07/Kalameh-SemiBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Kalameh";src:url("https://fatimanailbar.ir/wp-content/uploads/2026/07/Kalameh-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Kalameh";src:url("https://fatimanailbar.ir/wp-content/uploads/2026/07/Kalameh-ExtraBold.ttf") format("truetype");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Kalameh";src:url("https://fatimanailbar.ir/wp-content/uploads/2026/07/Kalameh-Black.ttf") format("truetype");font-weight:900;font-style:normal;font-display:swap}

/* Entire plugin root and all descendants */
.fnb,
.fnb *,
.fnb *::before,
.fnb *::after,
.fnb-admin,
.fnb-admin *,
.fnb-admin *::before,
.fnb-admin *::after,
[class^="fnb-"],
[class*=" fnb-"],
[class^="fnb-"] *,
[class*=" fnb-"] *,
[id^="fnb-"],
[id^="fnb-"] *,
.fnb-modal,
.fnb-modal *,
.fnb-popup,
.fnb-popup *,
.fnb-popover,
.fnb-popover *,
.fnb-dialog,
.fnb-dialog *,
.fnb-overlay,
.fnb-overlay *,
.fnb-confirm,
.fnb-confirm *,
.fnb-success,
.fnb-success *,
.fnb-calendar-popover,
.fnb-calendar-popover *{
  font-family:"Kalameh",Tahoma,Arial,sans-serif !important;
}

/* Form controls are frequent sources of inherited-font failures */
.fnb input,.fnb select,.fnb textarea,.fnb button,.fnb option,
.fnb-admin input,.fnb-admin select,.fnb-admin textarea,.fnb-admin button,.fnb-admin option,
[class^="fnb-"] input,[class^="fnb-"] select,[class^="fnb-"] textarea,
[class^="fnb-"] button,[class^="fnb-"] option,
[class*=" fnb-"] input,[class*=" fnb-"] select,[class*=" fnb-"] textarea,
[class*=" fnb-"] button,[class*=" fnb-"] option{
  font-family:"Kalameh",Tahoma,Arial,sans-serif !important;
}

/* WordPress/Elementor popup containers when they contain the booking plugin */
.elementor-popup-modal .fnb,
.elementor-popup-modal .fnb *,
.elementor-popup-modal [class^="fnb-"],
.elementor-popup-modal [class*=" fnb-"],
.elementor-popup-modal [class^="fnb-"] *,
.elementor-popup-modal [class*=" fnb-"] *{
  font-family:"Kalameh",Tahoma,Arial,sans-serif !important;
}


/* =========================================================
   FATIMA 4.6.83 — KALAMEH FONT FILES
   Directly load the exact Elementor-uploaded font files.
   ========================================================= */

@font-face{
  font-family:"Kalameh";
  src:url("https://fatimanailbar.ir/wp-content/uploads/2026/07/Kalameh-Thin.ttf") format("truetype");
  font-weight:100;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Kalameh";
  src:url("https://fatimanailbar.ir/wp-content/uploads/2026/07/Kalameh-ExtraLight.ttf") format("truetype");
  font-weight:200;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Kalameh";
  src:url("https://fatimanailbar.ir/wp-content/uploads/2026/07/Kalameh-Light.ttf") format("truetype");
  font-weight:300;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Kalameh";
  src:url("https://fatimanailbar.ir/wp-content/uploads/2026/07/Kalameh-Regular.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Kalameh";
  src:url("https://fatimanailbar.ir/wp-content/uploads/2026/07/Kalameh-Medium.ttf") format("truetype");
  font-weight:500;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Kalameh";
  src:url("https://fatimanailbar.ir/wp-content/uploads/2026/07/Kalameh-SemiBold.ttf") format("truetype");
  font-weight:600;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Kalameh";
  src:url("https://fatimanailbar.ir/wp-content/uploads/2026/07/Kalameh-Bold.ttf") format("truetype");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Kalameh";
  src:url("https://fatimanailbar.ir/wp-content/uploads/2026/07/Kalameh-ExtraBold.ttf") format("truetype");
  font-weight:800;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Kalameh";
  src:url("https://fatimanailbar.ir/wp-content/uploads/2026/07/Kalameh-Black.ttf") format("truetype");
  font-weight:900;
  font-style:normal;
  font-display:swap;
}

/* Hard override: plugin frontend + WordPress admin screen. */
.fnb,
.fnb *,
.fnb *::before,
.fnb *::after,
.fnb-admin,
.fnb-admin *,
.fnb-admin *::before,
.fnb-admin *::after,
.fnb-admin input,
.fnb-admin select,
.fnb-admin textarea,
.fnb-admin button,
.fnb-admin option,
.fnb-admin .button,
.fnb-admin .button-primary,
.fnb-admin .button-secondary,
.fnb-admin label,
.fnb-admin a,
.fnb-admin h1,
.fnb-admin h2,
.fnb-admin h3,
.fnb-admin h4,
.fnb-admin h5,
.fnb-admin h6,
.fnb-admin p,
.fnb-admin span,
.fnb-admin table,
.fnb-admin th,
.fnb-admin td{
  font-family:"Kalameh",Tahoma,Arial,sans-serif !important;
}

/* FATIMA NAIL BOOKING - MODERN UI */
.fnb{max-width:680px;margin:25px auto;padding:24px;border-radius:22px;background:#fff;box-shadow:0 14px 45px rgba(34,20,27,.08);direction:rtl;font-family:"Kalameh","kalameh",inherit;box-sizing:border-box;position:relative;overflow:visible}.fnb *{box-sizing:border-box}.fnb-progress{display:flex;gap:8px;margin-bottom:24px}.fnb-progress b{flex:1;text-align:center;background:#f5f2f4;color:#999;padding:11px 5px;border-radius:11px;font-size:12px;transition:.22s;cursor:pointer;user-select:none}.fnb-progress b:hover{transform:translateY(-1px)}.fnb-progress b.current{background:#c85c89;color:#fff;box-shadow:0 6px 16px rgba(200,92,137,.18)}.fnb-progress b.done{background:#faeaf1;color:#a33c68}.fnb.finalized .fnb-progress b{pointer-events:none;cursor:not-allowed;opacity:.55}.fnb.finalized .fnb-progress b.current{opacity:1}.fnb-step{display:none}.fnb-step.active{display:block;animation:fnbFade .25s ease}.fnb h2{margin:0 0 8px;font-size:24px;line-height:1.6}.fnb p{color:#777;line-height:1.9;font-size:14px}.fnb input{display:block;width:100%;margin:12px 0;padding:14px 15px;border:1px solid #e1dfe0;border-radius:13px;background:#fff;font:inherit;outline:0;transition:.2s}.fnb input:focus{border-color:#c85c89;box-shadow:0 0 0 4px rgba(200,92,137,.09)}.fnb button{font:inherit;cursor:pointer}.fnb-go1,.fnb-book{width:100%;padding:15px;border:0;border-radius:13px;background:#c85c89;color:#fff;font-weight:700;position:relative;transition:.2s;box-shadow:0 8px 20px rgba(200,92,137,.18)}.fnb-go1:hover,.fnb-book:hover{background:#b84f7b;transform:translateY(-1px)}.fnb-go1:disabled,.fnb-book:disabled{opacity:.55;cursor:not-allowed;transform:none}.fnb-edit-info{display:block;margin:10px auto 0;background:none;border:0;color:#a33c68;font-size:12px}.fnb-back{background:#fff;border:1px solid #ddd;padding:11px 18px;color:#666;border-radius:11px;margin-top:8px;transition:.2s}.fnb-back:hover{border-color:#c85c89;color:#a33c68;transform:translateY(-1px)}.fnb.finalized .fnb-back,.fnb.finalized .fnb-edit-info{display:none!important}.fnb-dates,.fnb-slots,.fnb-services{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;margin:18px 0}.fnb-choice{position:relative;padding:16px 15px;border:1px solid #e4e1e3;border-radius:15px;background:#fff;text-align:right;transition:.22s;min-height:82px;box-shadow:0 4px 12px rgba(0,0,0,.025)}.fnb-choice:hover{border-color:#c85c89;transform:translateY(-2px);box-shadow:0 7px 18px rgba(200,92,137,.10)}.fnb-choice.selected{border-color:#c85c89;background:#fff7fa;box-shadow:0 0 0 2px rgba(200,92,137,.08)}.fnb-choice b{display:block;padding-left:22px}.fnb-choice small{display:block;color:#888;margin-top:5px;font-size:12px;line-height:1.7}.fnb-choice em{display:block;color:#a33c68;font-style:normal;font-size:12px;font-weight:700;margin-top:5px}.fnb-choice-icon{position:absolute;left:13px;top:14px;width:25px;height:25px;border-radius:8px;background:#fff0f5;color:#c85c89;display:flex;align-items:center;justify-content:center;font-size:12px}.fnb-date-icon{font-size:13px}.fnb-selected-date{padding:13px;border-radius:12px;background:#faf5f7;text-align:center;font-weight:700;margin:15px 0;color:#7c3b58}.fnb-slot{text-align:center}.fnb-slot-time{display:block;font-size:18px;font-weight:800;direction:ltr}.fnb-slot small{font-size:11px}.fnb-slot-booked{opacity:.45;background:#f3f3f3!important;border-color:#ddd!important;color:#888}.fnb-slot-booked:hover{transform:none!important;border-color:#ddd!important}.fnb-slot-blocked{opacity:.5;background:#f7f7f7!important;border-color:#e5e5e5!important;color:#999}.fnb-slot-booked small,.fnb-slot-blocked small{color:#999}.fnb-summary{background:#fafafa;padding:15px;border-radius:15px;margin:15px 0}.fnb-summary-row{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #eee;font-size:14px}.fnb-summary-row:last-child{border-bottom:0}.fnb-summary-row span{color:#777}.fnb-price-row strong{color:#23834a}.fnb-msg{text-align:center;color:#a33c68;margin-top:16px;min-height:24px;line-height:1.8;font-size:13px}.fnb-known{padding:13px 15px;background:#fff7fa;border:1px solid #f2d6e2;border-radius:13px;margin-bottom:14px;color:#7c3b58}.fnb-known strong{color:#a33c68}.fnb-success{text-align:center;padding:15px 5px}.fnb-success-icon{width:65px;height:65px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 15px;background:#c85c89;color:#fff;font-size:32px;box-shadow:0 9px 25px rgba(200,92,137,.2)}.fnb-success-summary{text-align:right;margin:20px 0}.fnb-new{width:100%;padding:14px;border:0;border-radius:12px;background:#222;color:#fff;transition:.2s}.fnb-new:hover{background:#111;transform:translateY(-1px)}

/* loader - local to each data box */
.fnb-loading-target{position:relative;min-height:145px!important}.fnb-loader{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:18px;border-radius:16px;background:rgba(255,255,255,.94);backdrop-filter:blur(4px);opacity:0;visibility:hidden;pointer-events:none;transition:.2s ease}.fnb-loader.show{opacity:1;visibility:visible;pointer-events:auto}.fnb-loader-card{min-width:min(270px,92%);padding:18px 20px;border:1px solid #f0e5ea;border-radius:17px;background:linear-gradient(145deg,#fff,#fff8fb);box-shadow:0 12px 30px rgba(88,43,62,.10);text-align:center;display:flex;flex-direction:column;align-items:center;gap:5px}.fnb-loader-card strong{font-size:13px;color:#7e3858}.fnb-loader-card small{font-size:11px;color:#9a7c89}.fnb-loader-orbit{position:relative;width:48px;height:48px;margin-bottom:2px}.fnb-loader-orbit:before,.fnb-loader-orbit:after{content:"";position:absolute;inset:4px;border:2px solid #f0d5e1;border-radius:50%}.fnb-loader-orbit:after{inset:10px;border-color:#d9f1e3}.fnb-loader-orbit span{position:absolute;width:10px;height:10px;border-radius:50%;background:#c85c89;top:0;left:19px;animation:fnbOrbit 1.15s linear infinite;box-shadow:0 0 0 4px rgba(200,92,137,.10)}.fnb-loader-orbit i{position:absolute;width:7px;height:7px;border-radius:50%;background:#25a35a;right:2px;top:20px;animation:fnbOrbitReverse 1.55s linear infinite}.fnb-loader-orbit b{position:absolute;width:6px;height:6px;border-radius:50%;background:#d9a33b;bottom:2px;left:21px;animation:fnbPulse 1s ease-in-out infinite}.fnb.loading{pointer-events:none}.fnb.loading .fnb-progress,.fnb.loading .fnb-step{pointer-events:none}

/* readable hover text */
.fnb-choice:hover b,.fnb-choice:hover small,.fnb-choice:hover em{color:#fff}.fnb-choice:hover .fnb-choice-icon{background:rgba(255,255,255,.18);color:#fff}.fnb-choice:hover{background:linear-gradient(135deg,#c85c89,#ad4b75);border-color:#c85c89;box-shadow:0 10px 24px rgba(200,92,137,.20)}.fnb-choice:hover small{opacity:.95}.fnb-choice:hover em{color:#fff}.fnb-choice.selected small,.fnb-choice.selected em{color:#8d4261}

/* confirmation modal */
.fnb-confirm-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:18px;opacity:0;visibility:hidden;pointer-events:none;transition:.22s ease}.fnb-confirm-modal.show{opacity:1;visibility:visible;pointer-events:auto}.fnb-confirm-backdrop{position:absolute;inset:0;background:rgba(27,18,22,.52);backdrop-filter:blur(6px)}.fnb-confirm-dialog{position:relative;width:min(470px,100%);max-height:min(90vh,720px);overflow:auto;background:#fff;border-radius:22px;padding:25px;box-shadow:0 25px 80px rgba(0,0,0,.22);transform:translateY(12px) scale(.98);transition:.22s ease}.fnb-confirm-modal.show .fnb-confirm-dialog{transform:translateY(0) scale(1)}.fnb-confirm-icon{width:58px;height:58px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:#e9f8ef;color:#239552;font-size:29px;font-weight:800;margin:0 auto 12px}.fnb-confirm-dialog h3{text-align:center;margin:0;font-size:21px;color:#2d272a}.fnb-confirm-subtitle{text-align:center;margin:5px 0 18px!important;color:#777!important;font-size:13px!important}.fnb-confirm-summary{background:#fafafa;border:1px solid #eee;border-radius:15px;padding:8px 14px}.fnb-confirm-actions{margin-top:16px}.fnb-confirm-submit{width:100%;border:0;border-radius:14px;padding:15px 16px;font-weight:800;font-size:15px;background:#25a35a;color:#fff;box-shadow:0 10px 24px rgba(37,163,90,.24);transition:.2s}.fnb-confirm-submit:hover{background:#218d4f;transform:translateY(-1px);box-shadow:0 13px 28px rgba(37,163,90,.28)}.fnb-confirm-submit:disabled{opacity:.75;cursor:not-allowed;transform:none}.fnb-mini-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;vertical-align:-3px;margin-left:5px;animation:fnbSpin .65s linear infinite}

@keyframes fnbOrbit{from{transform:rotate(0deg) translateY(0)}50%{transform:rotate(180deg) translateY(3px)}to{transform:rotate(360deg) translateY(0)}}@keyframes fnbOrbitReverse{from{transform:rotate(360deg) translateX(0)}50%{transform:rotate(180deg) translateX(2px)}to{transform:rotate(0deg) translateX(0)}}@keyframes fnbPulse{0%,100%{transform:scale(.75);opacity:.55}50%{transform:scale(1.15);opacity:1}}@keyframes fnbFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fnbSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@media(max-width:520px){.fnb{padding:17px;margin:15px auto;border-radius:18px}.fnb-loader{border-radius:18px}.fnb-progress{gap:5px}.fnb-progress b{font-size:9px;padding:9px 3px}.fnb-dates,.fnb-slots,.fnb-services{grid-template-columns:1fr}.fnb h2{font-size:21px}.fnb-choice{min-height:76px}.fnb-confirm-dialog{padding:22px 17px;border-radius:19px}.fnb-loader-card{min-width:230px;padding:16px}.fnb-loading-target{min-height:135px!important}.fnb-confirm-actions{grid-template-columns:1fr}.fnb-confirm-submit{order:-1}.fnb-confirm-modal{padding:12px}}

/* v12.2 - force readable hover text on every service/date/slot card */
.fnb .fnb-choice:hover b,
.fnb .fnb-choice:hover small,
.fnb .fnb-choice:hover em,
.fnb .fnb-choice:hover span { color:#fff !important; }
.fnb .fnb-choice:hover small { opacity:1 !important; }
.fnb .fnb-choice:hover .fnb-choice-icon { color:#fff !important; background:rgba(255,255,255,.18) !important; }
.fnb .fnb-choice.selected:hover small,
.fnb .fnb-choice.selected:hover em { color:#fff !important; }

/* v12.4 modal/finalization fixes */
.fnb-confirm-icon{display:none!important}.fnb-confirm-submit{background:#25a35a!important;color:#fff!important;border-color:#25a35a!important}.fnb-confirm-submit:hover{background:#218d4f!important;color:#fff!important}.fnb-confirm-submit.is-loading{background:#208d4f!important;color:#fff!important}.fnb-confirm-submit:disabled{background:#208d4f!important;color:#fff!important}


/* v4.4.6 mobile PWA polish */
.fnb-admin-loading{
  position:fixed!important;
  inset:0!important;
  z-index:999999!important;
  display:none;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(248,247,250,.72)!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
}
.fnb-admin-loading.is-active{display:flex!important}
.fnb-loader-card{
  min-width:150px;
  padding:22px 20px;
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 55px rgba(35,24,40,.16);
  text-align:center;
}
.fnb-loader-ring{
  width:48px;height:48px;margin:0 auto 12px;
  border:4px solid #eee5ec;
  border-top-color:#c85c89;
  border-right-color:#6d5dfc;
  border-radius:50%;
  animation:fnbSpin .72s linear infinite;
}
.fnb-loader-card span{display:block;color:#6f6670;font-size:12px;font-weight:600}
@keyframes fnbSpin{to{transform:rotate(360deg)}}

/* Always retain the mobile bottom navigation. */
.fnb-mobile-nav,
.fnb-bottom-nav,
.fnb-admin-bottom-nav{
  display:flex!important;
}
@media(min-width:769px){
  .fnb-mobile-nav,.fnb-bottom-nav,.fnb-admin-bottom-nav{display:none!important}
}
@media(max-width:768px){
  .fnb-mobile-nav,.fnb-bottom-nav,.fnb-admin-bottom-nav{
    position:fixed!important;
    left:10px!important;right:10px!important;bottom:10px!important;
    z-index:99990!important;
    min-height:66px!important;
    padding:7px!important;
    border:1px solid rgba(0,0,0,.06)!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.94)!important;
    box-shadow:0 12px 36px rgba(24,18,28,.18)!important;
    align-items:stretch!important;
    justify-content:space-around!important;
    gap:4px!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
  }
  .fnb-mobile-nav>*,
  .fnb-bottom-nav>*,
  .fnb-admin-bottom-nav>*{
    flex:1 1 0!important;
    min-width:0!important;
    min-height:52px!important;
    border:0!important;
    border-radius:16px!important;
    background:transparent!important;
  }
  body{padding-bottom:92px!important}
}

/* If the existing nav has a known class, keep it above content. */


/* v4.4.20 - reservation loader: local to services/dates/slots only */
.fnb .fnb-loading-target{
  position:relative!important;
  min-height:150px!important;
  border:1px solid #f0e1e8!important;
  border-radius:18px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.fnb .fnb-loading-target > .fnb-loader{
  position:absolute!important;
  inset:0!important;
  z-index:30!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
  margin:0!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.97)!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .22s ease,visibility .22s ease!important;
}
.fnb .fnb-loading-target > .fnb-loader.show{
  opacity:1!important;
  visibility:visible!important;
}
.fnb .fnb-loading-target > *:not(.fnb-loader){
  visibility:hidden!important;
}
.fnb .fnb-loading-target > .fnb-loader .fnb-loader-card{
  min-width:210px!important;
  max-width:270px!important;
  padding:18px 20px!important;
  border:1px solid #f0dfe7!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#fff,#fff8fb)!important;
  box-shadow:0 12px 30px rgba(88,43,62,.10)!important;
  text-align:center!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
}
.fnb .fnb-loading-target .fnb-loader-orbit{
  position:relative!important;
  width:48px!important;
  height:48px!important;
  margin:0 auto 3px!important;
}
.fnb .fnb-loading-target .fnb-loader-orbit:before,
.fnb .fnb-loading-target .fnb-loader-orbit:after{
  content:""!important;
  position:absolute!important;
  inset:4px!important;
  border:2px solid #f0d5e1!important;
  border-radius:50%!important;
}
.fnb .fnb-loading-target .fnb-loader-orbit:after{
  inset:10px!important;
  border-color:#d9f1e3!important;
}
.fnb .fnb-loading-target .fnb-loader-orbit span{
  position:absolute!important;
  width:10px!important;
  height:10px!important;
  border-radius:50%!important;
  background:#c85c89!important;
  top:0!important;
  left:19px!important;
  animation:fnbOrbit 1.15s linear infinite!important;
}
.fnb .fnb-loading-target .fnb-loader-orbit i{
  position:absolute!important;
  width:7px!important;
  height:7px!important;
  border-radius:50%!important;
  background:#25a35a!important;
  right:2px!important;
  top:20px!important;
  animation:fnbOrbitReverse 1.55s linear infinite!important;
}
.fnb .fnb-loading-target .fnb-loader-orbit b{
  position:absolute!important;
  width:6px!important;
  height:6px!important;
  border-radius:50%!important;
  background:#d9a33b!important;
  bottom:2px!important;
  left:21px!important;
  animation:fnbPulse 1s ease-in-out infinite!important;
}
.fnb .fnb-loading-target .fnb-loader-card strong{
  display:block!important;
  color:#7e3858!important;
  font-size:13px!important;
  font-weight:800!important;
}
.fnb .fnb-loading-target .fnb-loader-card small{
  display:block!important;
  color:#8f7d86!important;
  font-size:11px!important;
  line-height:1.7!important;
}
@media(max-width:520px){
  .fnb .fnb-loading-target{min-height:145px!important}
  .fnb .fnb-loading-target > .fnb-loader .fnb-loader-card{min-width:195px!important;padding:16px!important}
}

/* v4.4.21 - attractive LOCAL loader: only inside services/dates/slots */
.fnb .fnb-loading-target{position:relative!important;min-height:150px!important;border:1px solid #eadde3!important;border-radius:18px!important;background:#fff!important;overflow:hidden!important}
.fnb .fnb-loading-target>.fnb-loader{position:absolute!important;inset:0!important;z-index:999!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;margin:0!important;background:rgba(255,255,255,.97)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .2s ease,visibility .2s ease!important}
.fnb .fnb-loading-target>.fnb-loader.show{opacity:1!important;visibility:visible!important}
.fnb .fnb-loading-target>.fnb-loader>*{visibility:visible!important}
.fnb .fnb-loading-target>.fnb-loader-card{display:flex!important}
.fnb .fnb-loading-target>.fnb-loader .fnb-loader-card{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-width:220px!important;padding:20px 24px!important;border:1px solid #f0dfe7!important;border-radius:18px!important;background:#fff!important;box-shadow:0 12px 32px rgba(80,35,55,.10)!important}
.fnb .fnb-loader-bars{height:42px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important}
.fnb .fnb-loader-bars i{display:block!important;width:6px!important;height:14px!important;border-radius:6px!important;background:#c85c89!important;animation:fnbBar 1s ease-in-out infinite!important}
.fnb .fnb-loader-bars i:nth-child(2){animation-delay:.1s!important;background:#d4779c!important}.fnb .fnb-loader-bars i:nth-child(3){animation-delay:.2s!important;background:#25a35a!important}.fnb .fnb-loader-bars i:nth-child(4){animation-delay:.3s!important;background:#d9a33b!important}.fnb .fnb-loader-bars i:nth-child(5){animation-delay:.4s!important;background:#c85c89!important}
.fnb .fnb-loading-target>.fnb-loader .fnb-loader-card strong{display:block!important;color:#6f334f!important;font-size:13px!important;font-weight:800!important}
.fnb .fnb-loading-target>.fnb-loader .fnb-loader-card small{display:block!important;color:#8e7b84!important;font-size:11px!important}
@keyframes fnbBar{0%,100%{height:12px;transform:scaleY(.8);opacity:.55}50%{height:34px;transform:scaleY(1);opacity:1}}
@media(max-width:520px){.fnb .fnb-loading-target{min-height:135px!important}.fnb .fnb-loading-target>.fnb-loader .fnb-loader-card{min-width:200px!important;padding:17px!important}}


/* v4.4.22 - beautiful reservation loading overlay */
.fnb{position:relative!important}
.fnb-loading-overlay{position:fixed!important;inset:0!important;z-index:2147483000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:20px!important;background:rgba(255,255,255,.58)!important;backdrop-filter:blur(3px)!important;-webkit-backdrop-filter:blur(3px)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .22s ease,visibility .22s ease!important}
.fnb-loading-overlay.show{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.fnb-loading-overlay-card{min-width:235px!important;max-width:90vw!important;padding:24px 28px!important;border:1px solid rgba(232,213,222,.95)!important;border-radius:22px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 18px 55px rgba(55,28,42,.16)!important;text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:7px!important;animation:fnbLoaderCardIn .25s ease both!important}
.fnb-loading-overlay-card strong{font-size:14px!important;color:#71354f!important;font-weight:800!important}
.fnb-loading-overlay-card small{font-size:11px!important;color:#95848c!important}
.fnb-loading-spinner{position:relative!important;width:66px!important;height:66px!important;margin:0 auto 4px!important;display:block!important}
.fnb-loading-spinner:before{content:""!important;position:absolute!important;inset:5px!important;border:3px solid #f1dce5!important;border-top-color:#c85c89!important;border-right-color:#25a35a!important;border-radius:50%!important;animation:fnbLoadingSpin 1.05s linear infinite!important}
.fnb-loading-spinner:after{content:""!important;position:absolute!important;inset:13px!important;border:2px dashed #ead8df!important;border-left-color:#d9a33b!important;border-radius:50%!important;animation:fnbLoadingSpinReverse 1.5s linear infinite!important}
.fnb-loading-spinner span,.fnb-loading-spinner i,.fnb-loading-spinner b{position:absolute!important;width:7px!important;height:7px!important;border-radius:50%!important;display:block!important}
.fnb-loading-spinner span{top:1px!important;left:30px!important;background:#c85c89!important;box-shadow:0 0 0 5px rgba(200,92,137,.10)!important;animation:fnbLoadingDot 1.05s ease-in-out infinite!important}
.fnb-loading-spinner i{right:4px!important;top:29px!important;background:#25a35a!important;animation:fnbLoadingDot 1.25s ease-in-out infinite .18s!important}
.fnb-loading-spinner b{bottom:2px!important;left:29px!important;background:#d9a33b!important;animation:fnbLoadingDot 1.15s ease-in-out infinite .32s!important}
.fnb.is-loading{cursor:wait!important}
.fnb.is-loading .fnb-progress,.fnb.is-loading .fnb-step{pointer-events:none!important}
@keyframes fnbLoadingSpin{to{transform:rotate(360deg)}}
@keyframes fnbLoadingSpinReverse{to{transform:rotate(-360deg)}}
@keyframes fnbLoadingDot{0%,100%{transform:scale(.72);opacity:.55}50%{transform:scale(1.15);opacity:1}}
@keyframes fnbLoaderCardIn{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:520px){.fnb-loading-overlay{padding:15px!important;background:rgba(255,255,255,.52)!important}.fnb-loading-overlay-card{min-width:215px!important;padding:21px 22px!important;border-radius:20px!important}.fnb-loading-spinner{width:60px!important;height:60px!important}}


/* v4.4.39 - public booking day/night mode */


/* v4.4.60 - compact premium calendar modal */
.fnb-date-time-picker{position:relative;margin:16px 0 12px}
.fnb-date-trigger{width:100%;display:flex;align-items:center;gap:13px;border:1px solid #eadde4;background:linear-gradient(135deg,#fff 0%,#fff9fb 100%);border-radius:18px;padding:13px 15px;cursor:pointer;text-align:right;transition:.22s;box-shadow:0 8px 24px rgba(64,38,50,.07);font-family:inherit;min-height:68px}
.fnb-date-trigger:hover,.fnb-date-trigger[aria-expanded="true"]{border-color:#c85c89;box-shadow:0 10px 28px rgba(200,92,137,.14);transform:translateY(-1px)}
.fnb-date-trigger-icon{width:40px;height:40px;border-radius:13px;background:#fbeaf1;color:#c85c89;display:flex;align-items:center;justify-content:center;font-size:19px;flex:0 0 40px}.fnb-date-trigger small{display:block;color:#a28d96;font-size:10px;margin-bottom:3px}.fnb-date-trigger strong{display:block;color:#30282d;font-size:14px;line-height:1.5}.fnb-date-trigger-chevron{margin-right:auto;color:#a66a82;font-size:22px;line-height:1;transition:.2s}.fnb-date-trigger[aria-expanded="true"] .fnb-date-trigger-chevron{transform:rotate(180deg)}
.fnb-calendar-popover{position:fixed;z-index:2147483000;top:50%;left:50%;right:auto;bottom:auto;width:min(390px,calc(100vw - 28px));transform:translate(-50%,-50%);background:#fff;border:1px solid #eadde4;border-radius:24px;padding:16px;box-shadow:0 28px 90px rgba(43,26,35,.28);overflow:hidden}
.fnb-cal-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 12px}.fnb-cal-modal-head small{display:block;color:#a18b95;font-size:10px;margin-bottom:2px}.fnb-cal-modal-head strong{display:block;color:#342a30;font-size:16px}.fnb-cal-close{width:34px;height:34px;border:0;border-radius:11px;background:#f7eef2;color:#9e5475;font-size:22px;line-height:1;cursor:pointer}.fnb-cal-close:hover{background:#f2dce6}
.fnb-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.fnb-cal-title{border:0;background:transparent;color:#4b3942;font:800 12px inherit;cursor:default}.fnb-cal-nav{width:34px;height:34px;border:0;border-radius:11px;background:#f8f1f5;color:#a44770;font-size:23px;line-height:1;cursor:pointer}.fnb-cal-nav:hover{background:#f0dce6}.fnb-cal-week,.fnb-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.fnb-cal-week span{text-align:center;color:#a58c98;font-size:10px;font-weight:800;padding:4px 0}.fnb-cal-day{min-height:42px;border:1px solid #eee4e9;border-radius:12px;background:#fff;color:#44373e;font:700 12px inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.16s}.fnb-cal-day:hover{border-color:#c85c89;background:#fff7fa;transform:translateY(-1px)}.fnb-cal-day.today{box-shadow:inset 0 0 0 1px #c85c89}.fnb-cal-day.selected{background:#c85c89;color:#fff;border-color:#c85c89;box-shadow:0 6px 14px rgba(200,92,137,.22)}.fnb-cal-day.disabled{opacity:.28;cursor:not-allowed;background:#f7f5f6;transform:none}.fnb-cal-empty{min-height:42px}
.fnb-selected-date{font-size:11px;color:#8f7481;margin:7px 2px 9px;text-align:right}.fnb-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fnb-slot{min-height:64px!important}.fnb-slot-disabled{opacity:.42!important;cursor:not-allowed!important;filter:grayscale(.15)}.fnb-tomorrow-btn{width:100%;margin-top:10px;border:1px solid #c85c89;background:#fff7fa;color:#a44770;border-radius:12px;padding:11px 14px;font:800 12px inherit;cursor:pointer}.fnb-tomorrow-btn:hover{background:#c85c89;color:#fff}
@media(max-width:520px){.fnb-calendar-popover{width:calc(100vw - 22px);padding:14px;border-radius:22px}.fnb-cal-day{min-height:40px;border-radius:10px}.fnb-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}}

/* v4.4.61 - Apple-inspired premium public date picker */
.fnb-date-time-picker{margin:20px 0 14px}
.fnb-date-trigger{position:relative;width:100%;min-height:76px;display:flex;align-items:center;padding:15px 18px;border:1px solid rgba(54,39,47,.10);border-radius:20px;background:rgba(255,255,255,.92);box-shadow:0 10px 30px rgba(34,20,28,.055),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#2b2529;text-align:right;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.fnb-date-trigger:hover{transform:translateY(-1px);border-color:rgba(200,92,137,.34);box-shadow:0 15px 38px rgba(34,20,28,.09),0 0 0 4px rgba(200,92,137,.045)}
.fnb-date-trigger[aria-expanded="true"]{border-color:rgba(200,92,137,.52);box-shadow:0 16px 42px rgba(34,20,28,.11),0 0 0 4px rgba(200,92,137,.07);transform:none}
.fnb-date-trigger-copy{display:block;min-width:0}
.fnb-date-trigger small{display:block;margin:0 0 5px;color:#9b8b93;font-size:11px;font-weight:600;letter-spacing:.1px}
.fnb-date-trigger strong{display:block;color:#282126;font-size:17px;line-height:1.45;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fnb-date-trigger-chevron{margin-right:auto;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#f8eef3;color:#a64b70;font-size:20px;line-height:1;transition:transform .25s ease,background .2s ease}
.fnb-date-trigger[aria-expanded="true"] .fnb-date-trigger-chevron{transform:rotate(180deg);background:#f6e3eb}
.fnb-calendar-popover{position:fixed;z-index:2147483000;top:50%;left:50%;width:min(408px,calc(100vw - 28px));transform:translate(-50%,-50%) scale(.98);background:rgba(255,255,255,.98);border:1px solid rgba(48,35,42,.08);border-radius:28px;padding:20px;box-shadow:0 35px 100px rgba(27,17,23,.24),0 8px 30px rgba(27,17,23,.08);overflow:hidden;animation:fnbCalendarIn .22s ease forwards}
@keyframes fnbCalendarIn{to{transform:translate(-50%,-50%) scale(1)}}
.fnb-cal-modal-head{padding:0 1px 14px;align-items:center}
.fnb-cal-modal-head small{font-size:11px;color:#a08d96;margin-bottom:4px}
.fnb-cal-modal-head strong{font-size:19px;color:#292328;font-weight:850}
.fnb-cal-close{width:36px;height:36px;border:0;border-radius:50%;background:#f6f1f3;color:#7e6872;font-size:21px;line-height:1;transition:.2s}
.fnb-cal-close:hover{background:#eee4e8;color:#b24e77;transform:scale(1.04)}
.fnb-cal-head{margin:0 0 13px;padding:8px 6px;border-radius:16px;background:#faf7f8}
.fnb-cal-title{font-size:14px;font-weight:850;color:#352a30}
.fnb-cal-nav{width:36px;height:36px;border:0;border-radius:50%;background:#fff;color:#9e4b6f;font-size:24px;box-shadow:0 2px 10px rgba(39,23,31,.07);transition:.18s}
.fnb-cal-nav:hover{background:#f9edf2;transform:scale(1.04)}
.fnb-cal-week,.fnb-cal-grid{gap:3px}
.fnb-cal-week{margin-bottom:3px}
.fnb-cal-week span{padding:5px 0;color:#aa98a0;font-size:10px;font-weight:800}
.fnb-cal-day{position:relative;min-height:46px;border:0!important;border-radius:50%;background:transparent;color:#332a2f;font-size:13px;font-weight:750;box-shadow:none!important;transform:none!important}
.fnb-cal-day span{position:relative;z-index:1;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .16s ease,color .16s ease,transform .16s ease}
.fnb-cal-day:hover:not(.disabled) span{background:#faedf2;color:#ad4d73;transform:scale(1.04)}
.fnb-cal-day.today span{box-shadow:inset 0 0 0 1.5px #c85c89}
.fnb-cal-day.selected span{background:#c85c89;color:#fff;box-shadow:0 8px 18px rgba(200,92,137,.25)}
.fnb-cal-day.disabled{opacity:1!important;background:transparent!important;color:#d4cdd1!important}
.fnb-cal-day.disabled span{background:transparent;color:#d2c9ce;cursor:not-allowed}
.fnb-cal-empty{min-height:46px}
.fnb-selected-date{margin:8px 2px 11px;font-size:11px;color:#9b8490}
@media(max-width:520px){.fnb-date-trigger{min-height:72px;padding:14px 16px;border-radius:18px}.fnb-date-trigger strong{font-size:15px}.fnb-calendar-popover{width:calc(100vw - 20px);padding:16px;border-radius:25px}.fnb-cal-modal-head strong{font-size:17px}.fnb-cal-day{min-height:44px}.fnb-cal-day span{width:38px;height:38px}.fnb-cal-empty{min-height:44px}}


/* v4.4.62 - clean Apple-like public date/time picker: single date field + local status */
.fnb-date-time-picker{margin:18px 0 10px;position:relative}
.fnb-date-trigger{appearance:none;-webkit-appearance:none;width:100%;min-height:68px;padding:14px 17px;border:1px solid rgba(43,31,37,.11);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 7px 24px rgba(31,19,25,.045),inset 0 1px 0 rgba(255,255,255,.95);display:flex;align-items:center;text-align:right;color:#282126;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.fnb-date-trigger:hover{border-color:rgba(200,92,137,.38);box-shadow:0 12px 32px rgba(31,19,25,.075),0 0 0 4px rgba(200,92,137,.045);transform:translateY(-1px)}
.fnb-date-trigger[aria-expanded="true"]{border-color:rgba(200,92,137,.55);box-shadow:0 13px 36px rgba(31,19,25,.09),0 0 0 4px rgba(200,92,137,.065);transform:none}
.fnb-date-trigger-copy{display:block;min-width:0}
.fnb-date-trigger small{display:block;margin:0 0 4px;color:#9a8a92;font-size:10px;font-weight:700;line-height:1.2}
.fnb-date-trigger strong{display:block;color:#272026;font-size:16px;font-weight:800;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fnb-date-trigger-chevron{margin-right:auto;width:30px;height:30px;border-radius:10px;background:#f8eef3;color:#a64d70;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;transition:.2s}
.fnb-date-trigger[aria-expanded="true"] .fnb-date-trigger-chevron{transform:rotate(180deg);background:#f4e2e9}
.fnb-calendar-popover{position:fixed;z-index:2147483000;top:50%;left:50%;width:min(400px,calc(100vw - 24px));transform:translate(-50%,-50%) scale(.97);background:#fff;border:1px solid rgba(43,31,37,.08);border-radius:27px;padding:19px;box-shadow:0 32px 90px rgba(25,15,21,.20),0 10px 35px rgba(25,15,21,.07);overflow:hidden;animation:fnbCalendarIn62 .2s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes fnbCalendarIn62{to{transform:translate(-50%,-50%) scale(1)}}
.fnb-cal-modal-head{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 1px 13px!important}
.fnb-cal-modal-head small{font-size:10px!important;color:#a08d96!important;margin-bottom:4px!important}
.fnb-cal-modal-head strong{font-size:19px!important;color:#292328!important;font-weight:850!important}
.fnb-cal-close{width:34px!important;height:34px!important;border:0!important;border-radius:50%!important;background:#f6f1f3!important;color:#7d6871!important;font-size:20px!important;cursor:pointer}
.fnb-cal-head{margin:0 0 11px!important;padding:7px 5px!important;border-radius:15px!important;background:#faf8f9!important;display:grid!important;grid-template-columns:38px 1fr 38px!important;align-items:center!important;gap:8px!important}
.fnb-cal-title{border:0!important;background:transparent!important;box-shadow:none!important;font-size:14px!important;font-weight:850!important;color:#352a30!important;text-align:center!important;cursor:default!important}
.fnb-cal-nav{width:34px!important;height:34px!important;border:0!important;border-radius:50%!important;background:#fff!important;color:#9e4b6f!important;font-size:22px!important;box-shadow:0 2px 10px rgba(39,23,31,.06)!important}
.fnb-cal-week,.fnb-cal-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:2px!important}
.fnb-cal-week{margin-bottom:2px!important}
.fnb-cal-week span{text-align:center!important;padding:5px 0!important;color:#ad9ca3!important;font-size:9px!important;font-weight:800!important}
.fnb-cal-day{min-height:45px!important;border:0!important;border-radius:50%!important;background:transparent!important;color:#332a2f!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;box-shadow:none!important;transform:none!important}
.fnb-cal-day span{width:38px!important;height:38px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:.16s ease!important}
.fnb-cal-day:hover:not(.disabled) span{background:#faedf2!important;color:#ad4d73!important;transform:scale(1.04)}
.fnb-cal-day.today span{box-shadow:inset 0 0 0 1.5px #c85c89!important}
.fnb-cal-day.selected span{background:#c85c89!important;color:#fff!important;box-shadow:0 8px 18px rgba(200,92,137,.23)!important}
.fnb-cal-day.disabled{opacity:1!important;background:transparent!important;cursor:not-allowed!important}
.fnb-cal-day.disabled span{color:#d2c9ce!important;background:transparent!important}
.fnb-cal-day.disabled:hover span{transform:none!important;background:transparent!important}
.fnb-cal-empty{min-height:45px!important}
.fnb-slot-message{min-height:0;margin:7px 2px 0;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#a33c68;font-size:12px;font-weight:700;line-height:1.6}
.fnb-slot-message:empty{display:none}
.fnb-slot-message + .fnb-slots{margin-top:10px}
.fnb-tomorrow-btn{margin-top:8px!important}
@media(max-width:520px){.fnb-date-trigger{min-height:66px;padding:13px 15px;border-radius:17px}.fnb-date-trigger strong{font-size:15px}.fnb-calendar-popover{width:calc(100vw - 18px);padding:15px;border-radius:24px}.fnb-cal-modal-head strong{font-size:17px!important}.fnb-cal-day{min-height:43px!important}.fnb-cal-day span{width:37px!important;height:37px!important}.fnb-cal-empty{min-height:43px!important}.fnb-slot-message{font-size:11px}}

/* v4.4.63 - light-only premium calendar + fixed interactions */
.fnb-date-time-picker{margin:18px 0 8px;position:relative}
.fnb-date-trigger{width:100%;min-height:66px;padding:13px 16px;border:1px solid #eee5ea;border-radius:18px;background:#fff;display:flex;align-items:center;text-align:right;color:#292126;cursor:pointer;box-shadow:0 8px 26px rgba(42,24,32,.055);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.fnb-date-trigger:hover{border-color:#dca0b9;box-shadow:0 12px 32px rgba(42,24,32,.08);transform:translateY(-1px)}
.fnb-date-trigger[aria-expanded="true"]{border-color:#c85c89;box-shadow:0 0 0 4px rgba(200,92,137,.08),0 14px 35px rgba(42,24,32,.08)}
.fnb-date-trigger-copy{min-width:0;display:block}
.fnb-date-trigger small{display:block;margin:0 0 3px;color:#a18f98;font-size:10px;font-weight:700;line-height:1.2}
.fnb-date-trigger strong{display:block;color:#292126;font-size:16px;font-weight:800;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fnb-date-trigger-chevron{margin-right:auto;width:29px;height:29px;border-radius:10px;background:#faf0f4;color:#a64d70;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;transition:transform .2s ease,background .2s ease}
.fnb-date-trigger[aria-expanded="true"] .fnb-date-trigger-chevron{transform:rotate(180deg);background:#f5e2ea}
.fnb-calendar-popover{position:fixed!important;z-index:2147483000!important;top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;width:min(400px,calc(100vw - 24px))!important;transform:translate(-50%,-50%) scale(.97)!important;background:#fff!important;border:1px solid #eee5ea!important;border-radius:27px!important;padding:18px!important;box-shadow:0 32px 90px rgba(25,15,21,.20),0 10px 35px rgba(25,15,21,.07)!important;overflow:hidden!important;animation:fnbCalendarIn63 .2s cubic-bezier(.2,.8,.2,1) forwards!important}
@keyframes fnbCalendarIn63{to{transform:translate(-50%,-50%) scale(1)!important}}
.fnb-calendar-popover[hidden]{display:none!important}
.fnb-cal-modal-head{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 1px 13px!important}
.fnb-cal-modal-head small{font-size:10px!important;color:#a18f98!important;margin-bottom:4px!important}
.fnb-cal-modal-head strong{font-size:19px!important;color:#292126!important;font-weight:850!important}
.fnb-cal-close{width:34px!important;height:34px!important;border:0!important;border-radius:50%!important;background:#f8f3f5!important;color:#8e6f7b!important;font-size:19px!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:.18s!important}
.fnb-cal-close:hover{background:#f5e3eb!important;color:#a33c68!important;transform:scale(1.04)}
.fnb-cal-head{margin:0 0 10px!important;padding:7px 5px!important;border-radius:15px!important;background:#fbf8f9!important;display:grid!important;grid-template-columns:36px 1fr 36px!important;align-items:center!important;gap:8px!important}
.fnb-cal-title{border:0!important;background:transparent!important;box-shadow:none!important;font-size:14px!important;font-weight:850!important;color:#352a30!important;text-align:center!important;cursor:default!important}
.fnb-cal-nav{width:34px!important;height:34px!important;border:0!important;border-radius:50%!important;background:#fff!important;color:#9e4b6f!important;font-size:22px!important;box-shadow:0 2px 10px rgba(39,23,31,.06)!important;cursor:pointer!important;transition:.18s!important}
.fnb-cal-nav:hover{background:#f9edf2!important;transform:scale(1.04)}
.fnb-cal-week,.fnb-cal-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:2px!important}
.fnb-cal-week{margin-bottom:2px!important}.fnb-cal-week span{text-align:center!important;padding:5px 0!important;color:#b09da6!important;font-size:9px!important;font-weight:800!important}
.fnb-cal-day{min-height:45px!important;border:0!important;border-radius:50%!important;background:transparent!important;color:#332a2f!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;box-shadow:none!important;transform:none!important;cursor:pointer!important}
.fnb-cal-day span{width:38px!important;height:38px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:background .16s ease,color .16s ease,transform .16s ease!important}
.fnb-cal-day:hover:not(.disabled) span{background:#faedf2!important;color:#ad4d73!important;transform:scale(1.04)}
.fnb-cal-day.today span{box-shadow:inset 0 0 0 1.5px #c85c89!important}.fnb-cal-day.selected span{background:#c85c89!important;color:#fff!important;box-shadow:0 8px 18px rgba(200,92,137,.23)!important}
.fnb-cal-day.disabled{opacity:1!important;background:transparent!important;cursor:not-allowed!important}.fnb-cal-day.disabled span{color:#d4cbd0!important;background:transparent!important}.fnb-cal-day.disabled:hover span{transform:none!important;background:transparent!important}
.fnb-slot-status{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:0;margin:6px 2px 0;direction:rtl}
.fnb-slot-message{margin:0!important;min-height:0!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;color:#a33c68!important;font-size:11px!important;font-weight:700!important;line-height:1.5!important}
.fnb-slot-message:empty{display:none!important}.fnb-tomorrow-wrap:empty{display:none!important}
.fnb-tomorrow-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;margin:0!important;padding:5px 9px!important;border:0!important;border-radius:9px!important;background:#faf0f4!important;color:#a33c68!important;font-size:10px!important;font-weight:800!important;line-height:1.3!important;cursor:pointer!important;box-shadow:none!important;transition:background .18s ease,color .18s ease,transform .18s ease!important;white-space:nowrap!important}
.fnb-tomorrow-btn:hover{background:#f3dfe8!important;color:#92365d!important;transform:translateY(-1px)!important}
@media(max-width:520px){.fnb-calendar-popover{width:calc(100vw - 18px)!important;padding:15px!important;border-radius:24px!important}.fnb-cal-modal-head strong{font-size:17px!important}.fnb-cal-day{min-height:43px!important}.fnb-cal-day span{width:37px!important;height:37px!important}.fnb-date-trigger{min-height:64px;padding:12px 14px;border-radius:17px}.fnb-date-trigger strong{font-size:15px}.fnb-slot-message{font-size:10px!important}.fnb-tomorrow-btn{font-size:9px!important;padding:5px 8px!important}}


/* v4.4.65 - minimal light booking UI; single service; clean controls */
.fnb{font-family:"Kalameh","kalameh",inherit;color:#292126}
/* stages: clean segmented text, no bulky cards */
.fnb-progress{gap:0;margin:0 0 28px;border-bottom:1px solid #eee7eb;overflow:hidden}
.fnb-progress b{position:relative;flex:1;background:transparent!important;color:#a09299!important;border-radius:0!important;box-shadow:none!important;padding:10px 6px 13px!important;font-size:11px!important;font-weight:750!important;transform:none!important}
.fnb-progress b:hover{background:transparent!important;color:#7e6872!important;transform:none!important}
.fnb-progress b.current{color:#b74f79!important}
.fnb-progress b.current:after{content:"";position:absolute;right:18%;left:18%;bottom:-1px;height:2px;border-radius:99px;background:#c85c89}
.fnb-progress b.done{color:#7d6570!important;background:transparent!important}
/* services: no card rectangles */
.fnb-services{grid-template-columns:1fr!important;gap:0!important;margin:20px 0 14px!important}
.fnb-services .fnb-choice{width:100%;min-height:0!important;padding:17px 6px 17px 34px!important;border:0!important;border-bottom:1px solid #f0eaed!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;text-align:right!important;color:#30282d!important;position:relative!important}
.fnb-services .fnb-choice:last-child{border-bottom:0!important}
.fnb-services .fnb-choice:hover{border-color:#f0eaed!important;background:#fffafb!important;box-shadow:none!important;transform:none!important;color:#30282d!important}
.fnb-services .fnb-choice.selected{background:transparent!important;border-color:#f0eaed!important;box-shadow:none!important;color:#b24d77!important}
.fnb-services .fnb-choice-icon{display:none!important}
.fnb-services .fnb-choice:before{content:"";position:absolute;left:3px;top:50%;width:15px;height:15px;border:1.5px solid #d8c8cf;border-radius:50%;transform:translateY(-50%);background:#fff;transition:.18s}
.fnb-services .fnb-choice.selected:before{border-color:#c85c89;box-shadow:inset 0 0 0 4px #fff;background:#c85c89}
.fnb-services .fnb-choice b{padding:0!important;font-size:14px!important;color:inherit!important;font-weight:800!important}
.fnb-services .fnb-choice small{margin-top:4px!important;color:#9a8c93!important;font-size:10px!important}
.fnb-services .fnb-choice em{margin-top:3px!important;color:#b34e77!important;font-size:10px!important}
/* primary buttons: soft pill, not rectangles */
.fnb-go1,.fnb-book,.fnb-services-next{border-radius:999px!important;min-height:50px!important;padding:12px 22px!important;box-shadow:0 8px 20px rgba(200,92,137,.13)!important}
.fnb-back{background:transparent!important;border:0!important;border-radius:999px!important;color:#927d86!important;padding:9px 12px!important;margin-top:10px!important;box-shadow:none!important}
.fnb-back:hover{background:#fbf3f6!important;border:0!important;color:#a44770!important;transform:none!important}
/* date field: light, centered and compact */
.fnb-date-time-picker{margin:20px auto 12px!important;max-width:520px!important}
.fnb-date-trigger{min-height:60px!important;padding:10px 18px!important;border:0!important;border-bottom:1px solid #eadfe4!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;color:#292126!important}
.fnb-date-trigger:hover,.fnb-date-trigger[aria-expanded="true"]{border-color:#c85c89!important;box-shadow:none!important;transform:none!important}
.fnb-date-trigger:before{display:none!important}
.fnb-date-trigger-copy{width:100%!important;text-align:center!important}
.fnb-date-trigger small{margin:0 0 4px!important;color:#aa9ba2!important;font-size:10px!important}
.fnb-date-trigger strong{color:#292126!important;font-size:18px!important;font-weight:850!important}
.fnb-date-trigger-chevron{display:none!important}
/* desktop calendar is inline; mobile remains modal */
@media(min-width:701px){
  .fnb-calendar-popover{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:430px!important;margin:10px auto 0!important;background:#fff!important;border:0!important;border-radius:22px!important;padding:12px 10px!important;box-shadow:none!important;animation:none!important}
  .fnb-calendar-popover[hidden]{display:none!important}
  .fnb-cal-close{display:none!important}
}
.fnb-cal-modal-head{padding:2px 4px 12px!important}
.fnb-cal-modal-head small{font-size:9px!important;color:#aa9ba2!important}
.fnb-cal-modal-head strong{font-size:17px!important;color:#2b2429!important}
.fnb-cal-head{margin:0 0 9px!important;padding:4px!important;border:0!important;border-radius:999px!important;background:#faf7f8!important;box-shadow:none!important}
.fnb-cal-title{font-size:13px!important;color:#352a30!important}
.fnb-cal-nav{width:32px!important;height:32px!important;background:transparent!important;box-shadow:none!important;color:#a34a70!important}
.fnb-cal-nav:hover{background:#f8edf2!important;transform:none!important}
.fnb-cal-week span{padding:5px 0!important;color:#b2a1a8!important;font-size:9px!important}
.fnb-cal-day{min-height:42px!important;color:#332a2f!important;background:transparent!important;border:0!important;box-shadow:none!important}
.fnb-cal-day span{width:36px!important;height:36px!important}
.fnb-cal-day:hover:not(.disabled) span{background:#faedf2!important;color:#ad4d73!important;transform:none!important}
.fnb-cal-day.selected span{background:#c85c89!important;color:#fff!important;box-shadow:0 5px 13px rgba(200,92,137,.18)!important}
.fnb-cal-day.today:not(.selected) span{box-shadow:inset 0 0 0 1.5px #c85c89!important}
.fnb-cal-day.disabled span{color:#d6cdd1!important}
/* slot area: text-like pills, never white-on-white */
.fnb-slots{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important;margin:14px auto 0!important;max-width:520px!important}
.fnb-slots .fnb-slot{min-height:48px!important;border:1px solid #eadfe4!important;border-radius:999px!important;background:#fff!important;color:#5d4d55!important;box-shadow:none!important;padding:7px 10px!important;transition:background .18s,border-color .18s,color .18s,transform .18s!important}
.fnb-slots .fnb-slot:hover:not(:disabled){border-color:#d79ab3!important;background:#fff7fa!important;color:#a44770!important;transform:translateY(-1px)!important}
.fnb-slots .fnb-slot:hover:not(:disabled) .fnb-slot-time,.fnb-slots .fnb-slot:hover:not(:disabled) small{color:#a44770!important}
.fnb-slots .fnb-slot.selected,.fnb-slots .fnb-slot.selected:hover{background:#c85c89!important;border-color:#c85c89!important;color:#fff!important;box-shadow:0 7px 17px rgba(200,92,137,.18)!important}
.fnb-slots .fnb-slot.selected .fnb-slot-time,.fnb-slots .fnb-slot.selected small{color:#fff!important}
.fnb-slots .fnb-slot-time{font-size:15px!important;font-weight:850!important;color:#5d4d55!important}
.fnb-slots .fnb-slot small{display:none!important}
.fnb-slot-disabled,.fnb-slots .fnb-slot:disabled{opacity:.32!important;color:#9c9096!important;background:#faf8f9!important;border-color:#eee7eb!important;cursor:not-allowed!important}
/* status + tomorrow: centered and quiet */
.fnb-slot-status{display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;margin:12px auto 0!important;text-align:center!important;direction:rtl!important}
.fnb-slot-message{margin:0!important;min-height:0!important;color:#a44770!important;font-size:13px!important;font-weight:750!important;line-height:1.5!important;white-space:nowrap!important}
.fnb-tomorrow-btn{display:inline-flex!important;width:auto!important;margin:0!important;padding:6px 11px!important;border:0!important;border-radius:999px!important;background:#fbf0f4!important;color:#9f416b!important;font-size:10px!important;font-weight:800!important;line-height:1.3!important;box-shadow:none!important}
.fnb-tomorrow-btn:hover{background:#f4e1e9!important;color:#8f365e!important;transform:none!important}
@media(max-width:700px){
  .fnb-progress b{font-size:9px!important;padding:9px 3px 11px!important}
  .fnb-slots{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:100%!important}
  .fnb-date-trigger strong{font-size:16px!important}
  .fnb-calendar-popover{position:fixed!important;z-index:2147483000!important;top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;width:calc(100vw - 22px)!important;max-height:calc(100vh - 34px)!important;overflow:auto!important;transform:translate(-50%,-50%) scale(.98)!important;background:#fff!important;border:1px solid #eee5ea!important;border-radius:24px!important;padding:15px!important;box-shadow:0 30px 90px rgba(25,15,21,.20)!important;animation:fnbCalendarMobileIn65 .2s ease forwards!important}
  .fnb-cal-close{display:flex!important;width:32px!important;height:32px!important;border:0!important;border-radius:50%!important;background:#f8f3f5!important;color:#8e6f7b!important}
}
@keyframes fnbCalendarMobileIn65{to{transform:translate(-50%,-50%) scale(1)}}


/* v4.4.66 - refined minimal service/time selection */
.fnb .fnb-progress b{border-radius:7px!important}
.fnb .fnb-progress b.current{border-radius:7px!important}
.fnb .fnb-progress b.done{border-radius:7px!important}

/* services: airy, subtle outlined tiles; never invert text on hover */
.fnb-services{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:18px 0 14px!important}
.fnb-services .fnb-choice{
  width:100%!important;
  min-height:74px!important;
  padding:14px 14px!important;
  border:1px solid #eee4e8!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 2px 10px rgba(70,35,50,.025)!important;
  color:#30282d!important;
  text-align:right!important;
  transform:none!important;
}
.fnb-services .fnb-choice:hover,
.fnb-services .fnb-choice:focus-visible{
  background:#fffafb!important;
  border-color:#dfc0cd!important;
  color:#30282d!important;
  box-shadow:0 5px 16px rgba(200,92,137,.07)!important;
  transform:none!important;
  outline:none!important;
}
.fnb-services .fnb-choice:hover b,
.fnb-services .fnb-choice:hover small,
.fnb-services .fnb-choice:hover em,
.fnb-services .fnb-choice:hover span,
.fnb-services .fnb-choice:focus-visible b,
.fnb-services .fnb-choice:focus-visible small,
.fnb-services .fnb-choice:focus-visible em,
.fnb-services .fnb-choice:focus-visible span{
  color:inherit!important;
}
.fnb-services .fnb-choice b{color:#30282d!important;font-size:13px!important;padding:0!important}
.fnb-services .fnb-choice small{color:#9a8c93!important;font-size:10px!important;margin-top:4px!important}
.fnb-services .fnb-choice em{color:#b34e77!important;font-size:10px!important;margin-top:3px!important}
.fnb-services .fnb-choice.selected{background:#fff7fa!important;border-color:#c85c89!important;color:#a44770!important;box-shadow:0 0 0 2px rgba(200,92,137,.06)!important}
.fnb-services .fnb-choice.selected b{color:#a44770!important}
.fnb-services .fnb-choice.selected small{color:#9a7c89!important}
.fnb-services .fnb-choice.selected em{color:#a44770!important}

/* hours: same quiet visual language as services */
.fnb-slots{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.fnb-slots .fnb-slot{
  min-height:46px!important;
  border:1px solid #eee4e8!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#5d4d55!important;
  box-shadow:none!important;
  padding:8px 10px!important;
}
.fnb-slots .fnb-slot:hover:not(:disabled),
.fnb-slots .fnb-slot:focus-visible:not(:disabled){
  background:#fffafb!important;
  border-color:#dfc0cd!important;
  color:#a44770!important;
  transform:none!important;
  outline:none!important;
}
.fnb-slots .fnb-slot:hover:not(:disabled) .fnb-slot-time,
.fnb-slots .fnb-slot:focus-visible:not(:disabled) .fnb-slot-time{color:#a44770!important}
.fnb-slots .fnb-slot.selected,
.fnb-slots .fnb-slot.selected:hover{background:#c85c89!important;border-color:#c85c89!important;color:#fff!important;box-shadow:0 5px 14px rgba(200,92,137,.15)!important}
.fnb-slots .fnb-slot.selected .fnb-slot-time{color:#fff!important}

/* less visual noise from the generic icon layer */
.fnb-services .fnb-choice-icon{display:none!important}

@media(max-width:700px){
  .fnb-services{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .fnb-services .fnb-choice{min-height:72px!important;padding:12px 11px!important;border-radius:11px!important}
  .fnb-services .fnb-choice b{font-size:12px!important}
  .fnb-slots{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
}

/* v4.4.68 - compact confirmation actions + premium selectable services */
.fnb-confirm-actions{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;margin-top:14px!important}
.fnb-confirm-submit{width:auto!important;min-width:132px!important;padding:9px 15px!important;border-radius:9px!important;font-size:12px!important;line-height:1.4!important;box-shadow:0 6px 14px rgba(37,163,90,.16)!important}
.fnb-confirm-cancel{width:auto!important;min-width:64px!important;padding:8px 12px!important;border:1px solid #f0cfd4!important;border-radius:9px!important;background:#fff7f7!important;color:#c94f5b!important;font-size:11px!important;font-weight:700!important;transition:.18s ease!important}
.fnb-confirm-cancel:hover{background:#fff0f1!important;border-color:#e9aeb5!important;color:#b83e4b!important;transform:translateY(-1px)!important}
.fnb-confirm-cancel:focus-visible{outline:2px solid rgba(201,79,91,.18)!important;outline-offset:2px!important}

/* services: selectable, airy, refined — one service at a time */
.fnb-services{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.fnb-services .fnb-choice{cursor:pointer!important;position:relative!important;overflow:hidden!important;padding:15px 15px 15px 42px!important;border:1px solid #ece4e8!important;border-radius:14px!important;background:#fff!important;color:#332b30!important;box-shadow:0 3px 12px rgba(57,31,43,.035)!important;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease!important}
.fnb-services .fnb-choice:before{content:""!important;position:absolute!important;left:14px!important;top:50%!important;width:18px!important;height:18px!important;border:1.5px solid #d8c8cf!important;border-radius:50%!important;background:#fff!important;transform:translateY(-50%)!important;transition:.18s ease!important}
.fnb-services .fnb-choice:hover{background:#fffafb!important;border-color:#dfc3cf!important;color:#332b30!important;box-shadow:0 7px 18px rgba(200,92,137,.08)!important;transform:translateY(-1px)!important}
.fnb-services .fnb-choice:hover b,.fnb-services .fnb-choice:hover small,.fnb-services .fnb-choice:hover em{color:inherit!important}
.fnb-services .fnb-choice.selected{background:#fff8fb!important;border-color:#c85c89!important;color:#a44770!important;box-shadow:0 0 0 2px rgba(200,92,137,.07),0 8px 20px rgba(200,92,137,.08)!important}
.fnb-services .fnb-choice.selected:before{border-color:#c85c89!important;background:#c85c89!important;box-shadow:inset 0 0 0 4px #fff!important}
.fnb-services .fnb-choice.selected b{color:#a44770!important}
.fnb-services .fnb-choice.selected small{color:#9a7c89!important}
.fnb-services .fnb-choice.selected em{color:#a44770!important}

@media(max-width:700px){
  .fnb-services{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .fnb-services .fnb-choice{min-height:78px!important;padding:13px 11px 13px 34px!important;border-radius:12px!important}
  .fnb-services .fnb-choice:before{left:10px!important;width:16px!important;height:16px!important}
  .fnb-services .fnb-choice b{font-size:12px!important}
  .fnb-confirm-actions{gap:7px!important}
  .fnb-confirm-submit{min-width:124px!important;padding:8px 12px!important;font-size:11px!important}
  .fnb-confirm-cancel{min-width:58px!important;padding:7px 10px!important;font-size:10px!important}
}

/* v4.4.70 - service selection stays on step 2 until explicit continue */
.fnb-services-next{display:flex!important;width:100%!important;align-items:center!important;justify-content:center!important;gap:8px!important;margin:6px 0 8px!important;padding:11px 18px!important;min-height:42px!important;border:1px solid #d8c1cb!important;border-radius:12px!important;background:#fff!important;color:#a44770!important;font-size:12px!important;font-weight:800!important;box-shadow:none!important;transition:.18s ease!important}
.fnb-services-next span{font-size:15px!important;line-height:1!important;transition:transform .18s ease!important}
.fnb-services-next:hover:not(:disabled){background:#fff8fb!important;border-color:#c85c89!important;color:#a44770!important;transform:translateY(-1px)!important}
.fnb-services-next:hover:not(:disabled) span{transform:translateX(-2px)}
.fnb-services-next:disabled{opacity:.38!important;cursor:not-allowed!important;transform:none!important}
.fnb-date-heading{text-align:center!important;margin-bottom:4px!important}
.fnb-date-hint{text-align:center!important;margin:0 auto 8px!important;color:#9a8a92!important;font-size:12px!important}
@media(max-width:520px){.fnb-services-next{min-height:40px!important;font-size:11px!important;border-radius:11px!important}.fnb-date-hint{font-size:11px!important}}


/* v4.4.71 — centered date trigger + minimal back controls */
.fnb-date-time-picker .fnb-date-trigger{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:62px!important;
  padding:10px 52px!important;
  text-align:center!important;
}
.fnb-date-time-picker .fnb-date-trigger-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  margin:0 auto!important;
  text-align:center!important;
}
.fnb-date-time-picker .fnb-date-trigger-copy small,
.fnb-date-time-picker .fnb-date-trigger-copy strong{
  text-align:center!important;
}
.fnb-date-time-picker .fnb-date-trigger-chevron{
  position:absolute!important;
  left:16px!important;
  right:auto!important;
  margin:0!important;
}

.fnb-back{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  width:auto!important;
  min-height:38px!important;
  padding:7px 11px!important;
  margin:10px 0 0!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:#777!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:700!important;
  transition:color .18s ease,background .18s ease!important;
}
.fnb-back span{font-size:16px!important;line-height:1!important;transition:transform .18s ease!important}
.fnb-back:hover{
  background:#faf1f5!important;
  border:0!important;
  color:#a33c68!important;
  transform:none!important;
}
.fnb-back:hover span{transform:translateX(-2px)!important}

/* Keep service/slot text readable on hover */
.fnb-choice:hover,
.fnb-choice:hover b,
.fnb-choice:hover small,
.fnb-choice:hover em,
.fnb-choice:hover .fnb-choice-icon,
.fnb-slot:hover,
.fnb-slot:hover b,
.fnb-slot:hover small,
.fnb-slot:hover .fnb-slot-time{
  color:inherit!important;
}
.fnb-choice:hover{
  background:#fff!important;
  border-color:#dca0b9!important;
  box-shadow:0 7px 18px rgba(200,92,137,.10)!important;
}
.fnb-choice:hover .fnb-choice-icon{background:#fff0f5!important;color:#c85c89!important}

@media(max-width:520px){
  .fnb-date-time-picker .fnb-date-trigger{min-height:60px!important;padding:9px 48px!important;border-radius:15px!important}
  .fnb-back{min-height:36px!important;padding:6px 9px!important;font-size:11px!important}
}

/* v4.4.72 — centered date trigger + minimal navigation arrows */
.fnb-date-time-picker .fnb-date-trigger{position:relative!important;justify-content:center!important;text-align:center!important;padding:12px 48px!important;min-height:62px!important}
.fnb-date-time-picker .fnb-date-trigger-copy{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;margin:0 auto!important}
.fnb-date-time-picker .fnb-date-trigger-copy small,.fnb-date-time-picker .fnb-date-trigger-copy strong{text-align:center!important}
.fnb-date-time-picker .fnb-date-trigger-chevron{position:absolute!important;left:14px!important;right:auto!important;margin:0!important;width:28px!important;height:28px!important;background:transparent!important}
.fnb-back{border:0!important;background:transparent!important;border-radius:8px!important;padding:7px 2px!important;color:#777!important;font-size:12px!important;box-shadow:none!important}
.fnb-back span{display:inline-block!important;margin-right:5px!important;font-size:16px!important;line-height:1!important;vertical-align:-1px!important;transition:transform .18s ease!important}
.fnb-back:hover{background:transparent!important;border:0!important;color:#a33c68!important;transform:none!important}
.fnb-back:hover span{transform:translateX(3px)!important}
.fnb-services-next{border-radius:10px!important}


/* v4.4.73 — polished service/date/time controls */
.fnb-date-heading{text-align:center!important;margin-bottom:6px!important}
.fnb-date-hint{text-align:center!important;margin-top:0!important}
.fnb-date-time-picker{margin:18px auto 14px!important}
.fnb-date-time-picker .fnb-date-trigger{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:60px!important;padding:10px 46px!important;text-align:center!important;border-radius:14px!important}
.fnb-date-time-picker .fnb-date-trigger-copy{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;margin:0 auto!important;text-align:center!important}
.fnb-date-time-picker .fnb-date-trigger-copy small,.fnb-date-time-picker .fnb-date-trigger-copy strong{display:block!important;text-align:center!important}
.fnb-date-time-picker .fnb-date-trigger-chevron{position:absolute!important;left:14px!important;right:auto!important;margin:0!important;font-size:20px!important}
.fnb-services-next{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;width:100%!important;min-height:44px!important;padding:10px 16px!important;border:0!important;border-radius:11px!important;background:#c85c89!important;color:#fff!important;font-weight:700!important;box-shadow:0 7px 18px rgba(200,92,137,.14)!important;transition:background .2s,box-shadow .2s,transform .2s!important}
.fnb-services-next:disabled{opacity:.45!important;box-shadow:none!important;cursor:not-allowed!important}
.fnb-services-next:not(:disabled):hover{transform:translateY(-1px)!important;background:#b84f7b!important}
.fnb-services-next span{display:inline-block!important;font-size:21px!important;line-height:1!important;transition:transform .35s ease!important}
.fnb-services-next:not(:disabled):hover span{animation:fnbArrowNudge .75s ease-in-out infinite!important}
@keyframes fnbArrowNudge{0%,100%{transform:translateX(0)}50%{transform:translateX(-6px)}}
.fnb-time-heading{text-align:center!important;margin:18px 0 8px!important}
.fnb-time-heading small{display:inline-block!important;font-size:13px!important;font-weight:700!important;color:#30282d!important;line-height:1.5!important}
.fnb-slot-status{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important}
.fnb-slot-message{font-size:14px!important;line-height:1.7!important;text-align:center!important}
.fnb-tomorrow-wrap{display:flex!important;align-items:center!important;justify-content:center!important;margin-top:3px!important}
.fnb-tomorrow-btn{font:inherit!important;font-size:14px!important;border:0!important;background:transparent!important;color:#a33c68!important;padding:2px 5px!important;line-height:1.5!important;cursor:pointer!important}
.fnb-tomorrow-btn:hover{color:#c85c89!important;text-decoration:underline!important}
.fnb-back{display:inline-flex!important;align-items:center!important;gap:5px!important}
.fnb-back span{font-size:18px!important}
@media(max-width:520px){
 .fnb-services-next{min-height:42px!important;font-size:12px!important}
 .fnb-services-next span{font-size:20px!important}
 .fnb-time-heading{margin-top:16px!important}
 .fnb-time-heading small{font-size:13px!important}
}

/* v4.4.74 - remove duplicate full-screen loader; keep one local loader only */
.fnb-loading-overlay{display:none!important}

/* v4.4.75 - navigation arrows + conditional time heading */
.fnb-services-next,.fnb-back{position:relative;display:flex!important;align-items:center;justify-content:center;min-height:44px;padding-left:44px!important;padding-right:44px!important;text-align:center!important}
.fnb-services-next > span{position:absolute;left:18px;top:50%;transform:translateY(-50%);font-size:21px;font-weight:800;line-height:1;transition:transform .22s ease}
.fnb-services-next.fnb-ready:hover > span{transform:translate(-5px,-50%) scale(1.08)}
.fnb-services-next.fnb-ready > span{animation:fnbNextArrow 1.25s ease-in-out infinite}
@keyframes fnbNextArrow{0%,100%{transform:translate(0,-50%)}50%{transform:translate(-5px,-50%) scale(1.08)}}
.fnb-back > span{position:absolute;right:18px;left:auto;top:50%;transform:translateY(-50%);font-size:19px;font-weight:800;line-height:1;transition:transform .2s ease}
.fnb-back:hover > span{transform:translate(4px,-50%)}
.fnb-time-heading{margin:17px 0 9px;text-align:right}
.fnb-time-heading small{display:inline-block;color:#9a8a92;font-size:11px;font-weight:700;line-height:1.4}

/* v4.4.76 — larger animated continue arrow + softer matching time heading */
.fnb-services-next.fnb-ready > span{
  font-size:27px!important;
  font-weight:900!important;
  animation:fnbNextArrow76 1.05s ease-in-out infinite!important;
}
.fnb-services-next.fnb-ready:hover > span{
  transform:translate(-7px,-50%) scale(1.12)!important;
}
@keyframes fnbNextArrow76{
  0%,100%{transform:translate(0,-50%) scale(1)}
  50%{transform:translate(-7px,-50%) scale(1.12)}
}
.fnb-time-heading small{
  color:#aa9ba2!important;
  font-size:11px!important;
  font-weight:700!important;
}

/* v4.4.77 — clean final confirmation + success state */
.fnb .fnb-success-icon{
  background:#25a35a!important;
  box-shadow:0 9px 25px rgba(37,163,90,.18)!important;
}
.fnb .fnb-book{
  width:auto!important;
  min-width:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:10px 20px!important;
  border-radius:999px!important;
  background:#c85c89!important;
  box-shadow:0 6px 16px rgba(200,92,137,.15)!important;
  font-size:13px!important;
  line-height:1.4!important;
}
.fnb .fnb-book:hover{
  background:#b84f7b!important;
  transform:translateY(-1px)!important;
}
.fnb .fnb-book:disabled{
  transform:none!important;
}
.fnb .fnb-new{
  width:auto!important;
  min-width:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:9px 18px!important;
  border-radius:999px!important;
  font-size:13px!important;
}
/* completed progress item / final check uses a calm green */
.fnb-progress b.done{
  background:#eaf8ef!important;
  color:#23834a!important;
}

/* v4.4.77 — clean final confirmation + success state */
.fnb .fnb-success-icon{background:#25a35a!important;box-shadow:0 9px 25px rgba(37,163,90,.18)!important}
.fnb .fnb-book{width:auto!important;min-width:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;padding:10px 20px!important;border-radius:999px!important;background:#c85c89!important;box-shadow:0 6px 16px rgba(200,92,137,.15)!important;font-size:13px!important;line-height:1.4!important}
.fnb .fnb-book:hover{background:#b84f7b!important;transform:translateY(-1px)!important}
.fnb .fnb-book:disabled{transform:none!important}
.fnb .fnb-new{width:auto!important;min-width:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:9px 18px!important;border-radius:999px!important;font-size:13px!important}
.fnb-progress b.done{background:#eaf8ef!important;color:#23834a!important}

/* FINAL FIX — service hover text must stay readable */
.fnb .fnb-services .fnb-choice:hover,
.fnb .fnb-services .fnb-choice:focus-visible{
  background:#fffafb!important;
  color:#332b30!important;
}
.fnb .fnb-services .fnb-choice:hover b,
.fnb .fnb-services .fnb-choice:focus-visible b{
  color:#332b30!important;
}
.fnb .fnb-services .fnb-choice:hover small,
.fnb .fnb-services .fnb-choice:focus-visible small{
  color:#9a8c93!important;
}
.fnb .fnb-services .fnb-choice:hover em,
.fnb .fnb-services .fnb-choice:focus-visible em{
  color:#b34e77!important;
}
.fnb .fnb-services .fnb-choice.selected:hover,
.fnb .fnb-services .fnb-choice.selected:focus-visible{
  background:#fff8fb!important;
  color:#a44770!important;
  border-color:#c85c89!important;
}
.fnb .fnb-services .fnb-choice.selected:hover b,
.fnb .fnb-services .fnb-choice.selected:focus-visible b{color:#a44770!important}
.fnb .fnb-services .fnb-choice.selected:hover small,
.fnb .fnb-services .fnb-choice.selected:focus-visible small{color:#9a7c89!important}
.fnb .fnb-services .fnb-choice.selected:hover em,
.fnb .fnb-services .fnb-choice.selected:focus-visible em{color:#a44770!important}

/* Customer booking: compact service cards + "Add service" picker. */
.fnb-service-card-picker{position:relative;margin-top:6px}
.fnb-selected-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fnb-selected-service-card{position:relative;display:flex;align-items:center;gap:10px;min-height:70px;padding:12px 13px;border:1px solid #eadde4;border-radius:17px;background:linear-gradient(135deg,#fff,#fff8fb);box-shadow:0 5px 16px rgba(70,30,50,.05)}
.fnb-selected-service-icon{width:32px;height:32px;flex:0 0 32px;border-radius:11px;display:grid;place-items:center;background:#f4dbe7;color:#a44770;font-weight:900}
.fnb-selected-service-info{min-width:0;padding-left:25px}
.fnb-selected-service-info strong{display:block;font-size:13px;color:#3b3238;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fnb-selected-service-info small{display:block;margin-top:4px;font-size:11px;color:#8b7c85}
.fnb-remove-picked-service{position:absolute;top:8px;left:8px;width:24px;height:24px;border:0;border-radius:8px;background:#f8eef2;color:#9b7182;cursor:pointer;font-size:17px;line-height:1}
.fnb-remove-picked-service:hover{background:#f2dce6;color:#9b315f}
.fnb-no-service-selected{grid-column:1/-1;display:flex;align-items:center;gap:11px;padding:14px;border:1px dashed #dccbd4;border-radius:17px;background:#fdf9fb;color:#7b6b74}
.fnb-no-service-selected>span{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:#f4e1e9;color:#a44770}
.fnb-no-service-selected strong{display:block;font-size:13px}.fnb-no-service-selected small{display:block;margin-top:3px;font-size:11px;color:#96858d}
.fnb-add-service-btn{width:100%;margin-top:10px;padding:11px 13px;border:1px dashed #d7aabd;border-radius:15px;background:#fff9fc;display:flex;align-items:center;gap:10px;text-align:right;cursor:pointer;color:#7f3155;transition:.18s ease}
.fnb-add-service-btn:hover{border-color:#c85c89;background:#fff4f8;transform:translateY(-1px)}
.fnb-add-service-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#f4dbe7;font-size:21px;font-weight:700}
.fnb-add-service-btn strong{display:block;font-size:13px}.fnb-add-service-btn small{display:block;margin-top:2px;font-size:10px;color:#967f89}
.fnb-service-options{display:none;position:absolute;z-index:30;right:0;left:0;top:100%;margin-top:8px;padding:12px;border:1px solid #eadde4;border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(45,25,35,.16)}
.fnb-service-options.open{display:block}
.fnb-service-options-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;color:#4a3b43;font-size:13px}
.fnb-service-options-close{width:28px;height:28px;border:0;border-radius:9px;background:#f8eef2;color:#846b76;font-size:18px;cursor:pointer}
.fnb-service-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:260px;overflow:auto}
.fnb-admin-service-choice{appearance:none;border:1px solid #e8dfe4;background:#fff;border-radius:14px;padding:11px 12px;display:flex;align-items:center;gap:9px;text-align:right;cursor:pointer;transition:.16s ease;min-height:58px;color:#3a3237}
.fnb-admin-service-choice:hover{border-color:#c85c89;background:#fff8fb}
.fnb-admin-service-choice.selected{border-color:#c85c89;background:#fff2f7}
.fnb-admin-service-choice .fnb-service-check{width:23px;height:23px;border:1px solid #d8ccd2;border-radius:7px;display:grid;place-items:center;color:transparent;font-size:14px;flex:0 0 23px;background:#fff}
.fnb-admin-service-choice.selected .fnb-service-check{background:#c85c89;border-color:#c85c89;color:#fff}
.fnb-admin-service-choice strong{display:block;font-size:12px}.fnb-admin-service-choice small{display:block;color:#8a7e85;font-size:10px;margin-top:3px}
.fnb-service-selection-summary{margin-top:8px;padding:8px 11px;border-radius:11px;background:#faf6f8;color:#7b6d74;font-size:11px}
.fnb-complete-service-card{border:1px solid #eee2e8;border-radius:16px;padding:13px;background:#fffafd}.fnb-complete-service-card .fnb-complete-row{grid-template-columns:1fr 180px 38px}.fnb-complete-service-name{font-weight:800}.fnb-complete-service-meta{font-size:11px;color:#8a7d84;margin-top:4px}
@media(max-width:700px){.fnb-admin-service-picker{grid-template-columns:1fr}.fnb-complete-row,.fnb-complete-service-card .fnb-complete-row{grid-template-columns:1fr 1fr 38px}.fnb-complete-row .fnb-complete-price{grid-column:1/3}}

@media(max-width:700px){.fnb-selected-services,.fnb-service-options-grid{grid-template-columns:1fr}.fnb-service-options{position:fixed;right:12px;left:12px;top:50%;transform:translateY(-50%);max-height:75vh}.fnb-service-options-grid{max-height:52vh}}

/* v4.4.86 - premium service cards for admin new/existing customer reservations */
.fnb-service-card-picker{width:100%;margin-top:8px}
.fnb-admin-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fnb-admin-service-choice{appearance:none!important;position:relative!important;width:100%!important;min-height:94px!important;padding:15px 16px!important;border:1px solid #eadfe5!important;border-radius:18px!important;background:linear-gradient(145deg,#fff 0%,#fffafd 100%)!important;display:flex!important;align-items:center!important;gap:12px!important;text-align:right!important;cursor:pointer!important;color:#392f35!important;box-shadow:0 5px 18px rgba(65,35,48,.045)!important;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease!important}
.fnb-admin-service-choice:hover{transform:translateY(-2px)!important;border-color:#d58aaa!important;background:linear-gradient(145deg,#fff,#fff6fa)!important;box-shadow:0 9px 24px rgba(200,92,137,.11)!important}
.fnb-admin-service-choice.selected{border-color:#c85c89!important;background:linear-gradient(145deg,#fff3f8,#ffeef5)!important;box-shadow:0 0 0 2px rgba(200,92,137,.11),0 10px 25px rgba(200,92,137,.10)!important;transform:translateY(-1px)!important}
.fnb-service-card-check{width:30px!important;height:30px!important;flex:0 0 30px!important;border:1.5px solid #d9cbd2!important;border-radius:10px!important;background:#fff!important;color:transparent!important;display:grid!important;place-items:center!important;font-size:15px!important;font-weight:900!important;transition:.18s ease!important}
.fnb-admin-service-choice.selected .fnb-service-card-check{background:#c85c89!important;border-color:#c85c89!important;color:#fff!important;box-shadow:0 5px 12px rgba(200,92,137,.22)!important}
.fnb-service-card-content{min-width:0;display:block!important;flex:1!important}
.fnb-service-card-content strong{display:block!important;font-size:14px!important;line-height:1.7!important;font-weight:800!important;color:#382f35!important;white-space:normal!important;overflow:visible!important}
.fnb-admin-service-choice.selected .fnb-service-card-content strong{color:#a4436d!important}
.fnb-service-card-content small{display:flex!important;align-items:center!important;gap:4px!important;margin-top:7px!important;color:#8d7f87!important;font-size:11px!important;font-weight:600!important;line-height:1.5!important}
.fnb-service-card-clock{font-size:14px!important;color:#c85c89!important;line-height:1!important}
.fnb-service-selection-summary{margin-top:10px!important;padding:10px 13px!important;border:1px solid #eee2e8!important;border-radius:12px!important;background:#faf7f9!important;color:#8a7a82!important;font-size:11px!important;transition:.18s ease!important}
.fnb-service-selection-summary.has-selection{border-color:#f0c5d7!important;background:#fff5f9!important;color:#a44770!important;font-weight:700!important}
/* Hide the old popup/add-service UI; services are now always visible as cards. */
.fnb-service-card-picker .fnb-selected-services,.fnb-service-card-picker .fnb-add-service-btn,.fnb-service-card-picker .fnb-service-options{display:none!important}
@media(max-width:900px){.fnb-admin-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.fnb-admin-service-grid{grid-template-columns:1fr;gap:9px}.fnb-admin-service-choice{min-height:82px!important;padding:13px!important}.fnb-service-card-content strong{font-size:13px!important}}

/* v4.4.89 — completion/income editor: price gets its own full-width row */
.fnb-complete-edit-box{width:min(720px,100%)!important}
.fnb-income-edit-meta{margin:2px 0 18px!important;padding:14px;border:1px solid #eee2e8;border-radius:17px;background:#fffafd}
.fnb-edit-service-row{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;padding:13px!important;padding-left:48px!important;border:1px solid #eadfe5!important;border-radius:16px!important;background:linear-gradient(135deg,#fff,#fff9fb)!important;box-shadow:0 5px 16px rgba(70,30,50,.045)!important}
.fnb-edit-service-main select{width:100%!important;min-height:47px!important;font:inherit!important;border:1px solid #ddd4d9!important;border-radius:12px!important;padding:11px 12px!important;background:#fff!important}
.fnb-edit-price-line{display:block!important;width:100%!important;margin:0!important}
.fnb-edit-price-line>label{display:block!important;margin:0 0 6px!important;color:#7f6d76!important;font-size:11px!important;font-weight:800!important}
.fnb-edit-price-line>div{position:relative!important;width:100%!important}
.fnb-edit-price-line .fnb-money-input{width:100%!important;min-height:50px!important;padding-left:82px!important;font-size:15px!important}
.fnb-edit-price-line .fnb-money-unit{left:12px!important}
.fnb-edit-service-row .fnb-remove-service{position:absolute!important;left:10px!important;top:10px!important;width:32px!important;height:32px!important;border-radius:10px!important}
.fnb-income-appointment-row{cursor:pointer;transition:.16s ease}
.fnb-income-appointment-row:hover{background:#fff7fa!important}
.fnb-income-appointment-row td:last-child{cursor:default}
@media(max-width:700px){
 .fnb-income-edit-meta{grid-template-columns:1fr!important}
 .fnb-edit-service-row{padding-left:46px!important}
 .fnb-edit-price-line .fnb-money-input{min-height:52px!important;font-size:14px!important}
}
.fnb-dark-mode .fnb-income-edit-meta{background:#211d20!important;border-color:#40353b!important}
.fnb-dark-mode .fnb-edit-service-row,.fnb-dark-mode .fnb-edit-service-main select{background:#211d20!important;color:#eee7eb!important;border-color:#44383e!important}
.fnb-dark-mode .fnb-edit-service-main select{color:#eee7eb!important}
.fnb-dark-mode .fnb-edit-price-line>label{color:#b8aab1!important}
.fnb-dark-mode .fnb-edit-price-line .fnb-money-unit{background:#211d20!important;border-color:#4a3e44!important;color:#bdaab4!important}


/* v4.4.89b — editable completion rows: service selector + price on separate rows */
.fnb-complete-editable-row{grid-template-columns:1fr!important;display:grid!important;gap:10px!important;position:relative!important;padding:14px!important;padding-left:50px!important}
.fnb-complete-editable-row .fnb-complete-service-info{padding-right:2px!important}
.fnb-complete-service-change{display:block!important;width:100%!important}
.fnb-complete-service-change label{display:block!important;margin:0 0 6px!important;color:#806e77!important;font-size:11px!important;font-weight:800!important}
.fnb-complete-service-change select{width:100%!important;min-height:48px!important;padding:11px 12px!important;border:1px solid #ddd4d9!important;border-radius:12px!important;background:#fff!important;font:inherit!important}
.fnb-complete-editable-row .fnb-complete-price-wrap{width:100%!important;grid-column:1!important;display:flex!important;align-items:center!important;gap:8px!important}
.fnb-complete-editable-row .fnb-complete-price-wrap>span{min-width:32px!important}
.fnb-complete-editable-row .fnb-complete-price-wrap .fnb-price-field{flex:1!important}
.fnb-complete-editable-row .fnb-remove-any-service{position:absolute!important;left:10px!important;top:10px!important;width:32px!important;height:32px!important;border-radius:10px!important}
.fnb-dark-mode .fnb-complete-service-change label{color:#b8aab1!important}
.fnb-dark-mode .fnb-complete-service-change select{background:#211d20!important;color:#eee7eb!important;border-color:#44383e!important}
/* v4.4.91 — تومان is a separate fixed box, never overlays the amount */
.fnb-price-field{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) 78px!important;gap:8px!important;align-items:stretch!important;width:100%!important;direction:ltr!important}
.fnb-price-field .fnb-money-input{grid-column:1!important;width:100%!important;min-width:0!important;padding:14px 16px!important;direction:ltr!important;text-align:left!important;overflow:visible!important}
.fnb-price-field .fnb-money-unit{grid-column:2!important;position:static!important;transform:none!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:58px!important;padding:0!important;border:1px solid #e8dce2!important;border-radius:12px!important;background:#faf7f9!important;color:#9a7c89!important;font-size:12px!important;font-weight:800!important;line-height:1!important;pointer-events:none!important;white-space:nowrap!important}
.fnb-complete-service-card .fnb-price-field .fnb-money-input{padding:14px 16px!important;min-height:58px!important}
.fnb-complete-service-card .fnb-price-field .fnb-money-unit{left:auto!important;font-size:12px!important}
.fnb-complete-box .fnb-edit-service-row .fnb-edit-price-line{display:block!important;width:100%!important}
.fnb-complete-box .fnb-edit-service-row .fnb-edit-price-line>div{display:grid!important;grid-template-columns:minmax(0,1fr) 78px!important;gap:8px!important;width:100%!important;align-items:stretch!important;direction:ltr!important}
.fnb-complete-box .fnb-edit-service-row .fnb-edit-price-line>div .fnb-money-input{grid-column:1!important;width:100%!important;min-height:58px!important;padding:14px 16px!important}
.fnb-complete-box .fnb-edit-service-row .fnb-edit-price-line>div .fnb-money-unit{grid-column:2!important;position:static!important;transform:none!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:58px!important;padding:0!important;border:1px solid #e8dce2!important;border-radius:12px!important;background:#faf7f9!important;color:#9a7c89!important;font-size:12px!important;font-weight:800!important;white-space:nowrap!important}
@media(max-width:700px){
 .fnb-price-field{grid-template-columns:minmax(0,1fr) 72px!important;gap:7px!important}
 .fnb-price-field .fnb-money-input{padding:14px 13px!important;font-size:17px!important}
 .fnb-price-field .fnb-money-unit{min-height:58px!important;font-size:11px!important}
 .fnb-complete-box .fnb-edit-service-row .fnb-edit-price-line>div{grid-template-columns:minmax(0,1fr) 72px!important;gap:7px!important}
}

/* v4.4.99 — spacing for appointment edit modal footer controls */
.fnb-appointment-edit-box .fnb-appointment-add-service{display:flex!important;width:100%!important;margin:16px 0!important;justify-content:center!important;align-items:center!important;min-height:46px!important}
.fnb-appointment-edit-box .fnb-appointment-service-picker{margin:0 0 16px!important;padding:14px!important;border:1px solid #eee2e8!important;border-radius:16px!important;background:#fffafd!important}
.fnb-appointment-edit-box .fnb-complete-extra-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-bottom:12px!important}
.fnb-appointment-edit-box .fnb-complete-extra-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.fnb-appointment-edit-box .fnb-modal-note{margin:16px 0!important;line-height:1.9!important}
.fnb-appointment-edit-box .fnb-appointment-edit-save{margin-top:16px!important}
.fnb-appointment-edit-box .fnb-complete-status{margin:12px 0 0!important}
@media(max-width:600px){.fnb-appointment-edit-box .fnb-complete-extra-grid{grid-template-columns:1fr!important}}

/* v4.5.01 — remove-service buttons stay beside their own service */
.fnb-appointment-edit-box .fnb-appointment-edit-service{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 38px!important;
  align-items:center!important;
  gap:10px!important;
  direction:rtl!important;
}
.fnb-appointment-edit-box .fnb-appointment-edit-service > div{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
}
.fnb-appointment-edit-box .fnb-appointment-edit-service > button.fnb-remove-extra-service{
  position:static!important;
  grid-column:2!important;
  grid-row:1!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  z-index:3!important;
}
.fnb-income-edit-modal .fnb-edit-service-row{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 42px!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  gap:10px!important;
  direction:rtl!important;
  padding:12px!important;
  padding-left:12px!important;
}
.fnb-income-edit-modal .fnb-edit-service-row .fnb-edit-service-main{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
}
.fnb-income-edit-modal .fnb-edit-service-row > button.fnb-remove-service{
  position:static!important;
  grid-column:2!important;
  grid-row:1!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  z-index:3!important;
}
.fnb-income-edit-modal .fnb-edit-service-row .fnb-edit-price-line{
  grid-column:1 / -1!important;
  grid-row:2!important;
  width:100%!important;
  min-width:0!important;
}

/* v4.5.08 — visible loading state while admin reschedule availability is fetched */
.fnb-reschedule-loading{min-height:110px;margin:12px 0;padding:22px 16px;border:1px solid #eee2e8;border-radius:16px;background:#fffafd;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;color:#6f6269}
.fnb-reschedule-loading strong{font-size:13px;color:#493d44}
.fnb-reschedule-loading small{font-size:11px;color:#9a8d95}
.fnb-reschedule-spinner{width:28px;height:28px;border:3px solid #ead9e1;border-top-color:#c85c89;border-radius:50%;animation:fnbRescheduleSpin .8s linear infinite;display:block}
@keyframes fnbRescheduleSpin{to{transform:rotate(360deg)}}

/* v4.5.21 — historical reservation: service/delete on row 1, full-width price on row 2 */
.fnb-old-services-list .fnb-complete-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 46px!important;
  grid-template-rows:auto auto!important;
  gap:10px!important;
  align-items:center!important;
  padding:14px!important;
}
.fnb-old-services-list .fnb-complete-row .fnb-edit-service-main{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  min-width:0!important;
}
.fnb-old-services-list .fnb-complete-row .fnb-edit-service-main select{
  width:100%!important;
  min-height:50px!important;
}
.fnb-old-services-list .fnb-complete-row .fnb-remove-service{
  grid-column:2!important;
  grid-row:1!important;
  position:static!important;
  width:42px!important;
  height:42px!important;
  margin:0!important;
  justify-self:center!important;
  align-self:center!important;
  display:grid!important;
  place-items:center!important;
}
.fnb-old-services-list .fnb-complete-row .fnb-edit-price-line{
  grid-column:1/-1!important;
  grid-row:2!important;
  width:100%!important;
  margin:0!important;
}
.fnb-old-services-list .fnb-complete-row .fnb-edit-price-line>div{
  width:100%!important;
}
.fnb-old-services-list .fnb-complete-row .fnb-edit-price-line .fnb-money-input{
  width:100%!important;
  min-height:64px!important;
  font-size:20px!important;
  font-weight:900!important;
  padding:15px 92px 15px 18px!important;
}
.fnb-old-services-list .fnb-complete-row .fnb-edit-price-line .fnb-money-unit{
  left:12px!important;
  font-size:13px!important;
}
@media(max-width:700px){
  .fnb-old-services-list .fnb-complete-row{
    grid-template-columns:minmax(0,1fr) 44px!important;
    grid-template-rows:auto auto!important;
  }
  .fnb-old-services-list .fnb-complete-row .fnb-edit-service-main{grid-column:1!important;grid-row:1!important}
  .fnb-old-services-list .fnb-complete-row .fnb-remove-service{grid-column:2!important;grid-row:1!important}
  .fnb-old-services-list .fnb-complete-row .fnb-edit-price-line{grid-column:1/-1!important;grid-row:2!important}
}

/* v4.5.22 — historical reservation service card layout */
.fnb-old-services-list .fnb-complete-row{display:grid!important;grid-template-columns:minmax(0,1fr) 46px!important;grid-template-rows:auto auto!important;gap:10px!important;align-items:start!important;padding:14px!important;position:relative!important}.fnb-old-services-list .fnb-complete-row .fnb-edit-service-main{grid-column:1!important;grid-row:1!important;width:100%!important;min-width:0!important}.fnb-old-services-list .fnb-complete-row .fnb-edit-service-main select{display:block!important;width:100%!important;min-height:52px!important;padding:12px 14px!important;border:1px solid #ddd4d9!important;border-radius:13px!important;background:#fff!important;font:inherit!important;font-weight:800!important;box-sizing:border-box!important}.fnb-old-services-list .fnb-complete-row .fnb-remove-service{grid-column:2!important;grid-row:1!important;position:static!important;width:46px!important;height:46px!important;margin:3px 0 0!important;border:0!important;border-radius:12px!important;background:#fff0f1!important;color:#b43d4a!important;font-size:22px!important;display:grid!important;place-items:center!important;cursor:pointer!important;box-sizing:border-box!important}.fnb-old-services-list .fnb-complete-row .fnb-edit-price-line{grid-column:1/-1!important;grid-row:2!important;width:100%!important;margin:0!important;min-width:0!important}.fnb-old-services-list .fnb-complete-row .fnb-edit-price-line>label{display:block!important;margin:0 0 6px!important;color:#806f78!important;font-size:11px!important;font-weight:900!important}.fnb-old-services-list .fnb-complete-row .fnb-edit-price-line .fnb-price-field{position:relative!important;display:block!important;width:100%!important;min-width:0!important;height:62px!important}.fnb-old-services-list .fnb-complete-row .fnb-edit-price-line .fnb-money-input{display:block!important;width:100%!important;height:62px!important;min-height:62px!important;margin:0!important;padding:14px 92px 14px 18px!important;border:1px solid #ddd4d9!important;border-radius:13px!important;background:#fff!important;font-size:20px!important;font-weight:900!important;line-height:1.3!important;direction:ltr!important;text-align:left!important;box-sizing:border-box!important}.fnb-old-services-list .fnb-complete-row .fnb-edit-price-line .fnb-money-unit{position:absolute!important;left:14px!important;top:50%!important;transform:translateY(-50%)!important;padding:0 0 0 10px!important;border-left:1px solid #e8dce2!important;background:#fff!important;color:#9a7c89!important;font-size:12px!important;font-weight:900!important;line-height:1!important;pointer-events:none!important;white-space:nowrap!important}

/* v4.5.23 — compact price field: تومان inside the same field, amount readable */
.fnb-complete-service-card .fnb-price-field,
.fnb-complete-box .fnb-edit-service-row .fnb-price-field{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-height:50px!important;
  height:50px!important;
  direction:rtl!important;
}
.fnb-complete-service-card .fnb-price-field .fnb-money-input,
.fnb-complete-box .fnb-edit-service-row .fnb-price-field .fnb-money-input{
  display:block!important;
  width:100%!important;
  height:50px!important;
  min-height:50px!important;
  margin:0!important;
  padding:10px 16px 10px 76px!important;
  border:1px solid #ddd4d9!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#3b3238!important;
  -webkit-text-fill-color:#3b3238!important;
  font-size:17px!important;
  font-weight:800!important;
  line-height:28px!important;
  direction:rtl!important;
  text-align:right!important;
  opacity:1!important;
}
.fnb-complete-service-card .fnb-price-field .fnb-money-input::placeholder,
.fnb-complete-box .fnb-edit-service-row .fnb-price-field .fnb-money-input::placeholder{
  color:#9a8b93!important;
  -webkit-text-fill-color:#9a8b93!important;
  opacity:1!important;
}
.fnb-complete-service-card .fnb-price-field .fnb-money-unit,
.fnb-complete-box .fnb-edit-service-row .fnb-price-field .fnb-money-unit{
  position:absolute!important;
  left:10px!important;
  right:auto!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:56px!important;
  height:30px!important;
  min-height:30px!important;
  padding:0 8px!important;
  border:0!important;
  border-right:1px solid #eadfe5!important;
  border-radius:0!important;
  background:transparent!important;
  color:#8d6f7c!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1!important;
  pointer-events:none!important;
  white-space:nowrap!important;
  z-index:3!important;
}
.fnb-complete-service-card .fnb-complete-price-wrap,
.fnb-complete-box .fnb-edit-service-row .fnb-edit-price-line{
  width:100%!important;
}
.fnb-complete-service-card .fnb-complete-price-wrap>span,
.fnb-complete-box .fnb-edit-service-row .fnb-edit-price-line>label{
  margin-bottom:6px!important;
}
@media(max-width:700px){
  .fnb-complete-service-card .fnb-price-field .fnb-money-input,
  .fnb-complete-box .fnb-edit-service-row .fnb-price-field .fnb-money-input{
    height:50px!important;
    min-height:50px!important;
    font-size:16px!important;
    padding:10px 14px 10px 72px!important;
  }
}

/* v4.5.23 — dark mode keeps entered amount visible */
.fnb-dark-mode .fnb-complete-service-card .fnb-price-field .fnb-money-input,
.fnb-dark-mode .fnb-complete-box .fnb-edit-service-row .fnb-price-field .fnb-money-input{
  background:#211d20!important;
  color:#f7f2f5!important;
  -webkit-text-fill-color:#f7f2f5!important;
  border-color:#44383e!important;
}
.fnb-dark-mode .fnb-complete-service-card .fnb-price-field .fnb-money-unit,
.fnb-dark-mode .fnb-complete-box .fnb-edit-service-row .fnb-price-field .fnb-money-unit{
  color:#cdb8c2!important;
  border-color:#4a3e44!important;
}



/* v4.5.24 — FINAL historical price/card layout: compact, readable, unit beside amount */
.fnb-old-services-list .fnb-complete-row{display:grid!important;grid-template-columns:minmax(0,1fr) 46px!important;grid-template-rows:auto auto!important;gap:9px!important;align-items:start!important;padding:12px!important;position:relative!important}
.fnb-old-services-list .fnb-complete-row .fnb-edit-service-main{grid-column:1!important;grid-row:1!important;width:100%!important;min-width:0!important}
.fnb-old-services-list .fnb-complete-row .fnb-edit-service-main select{width:100%!important;height:48px!important;min-height:48px!important;margin:0!important;padding:9px 12px!important;color:#3b3238!important;-webkit-text-fill-color:#3b3238!important;background:#fff!important;border:1px solid #d9d0d5!important;border-radius:12px!important;font:inherit!important;font-weight:700!important;box-sizing:border-box!important}
.fnb-old-services-list .fnb-complete-row .fnb-remove-service{grid-column:2!important;grid-row:1!important;position:static!important;justify-self:center!important;align-self:center!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;margin:0!important;padding:0!important;display:grid!important;place-items:center!important;border:0!important;border-radius:11px!important;background:#fff0f1!important;color:#b43d4a!important;font-size:20px!important;line-height:1!important;cursor:pointer!important}
.fnb-old-services-list .fnb-complete-row .fnb-edit-price-line{grid-column:1/-1!important;grid-row:2!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
.fnb-old-services-list .fnb-complete-row .fnb-edit-price-line>label{display:block!important;margin:0 0 5px!important;color:#8b7a83!important;font-size:10px!important;font-weight:800!important}
.fnb-old-services-list .fnb-complete-row .fnb-edit-price-line>div,.fnb-old-services-list .fnb-complete-row .fnb-edit-price-line .fnb-price-field{position:relative!important;display:block!important;width:100%!important;height:50px!important;min-height:50px!important;margin:0!important;padding:0!important;direction:ltr!important}
.fnb-old-services-list .fnb-complete-row .fnb-edit-price-line .fnb-money-input{display:block!important;width:100%!important;height:50px!important;min-height:50px!important;margin:0!important;padding:8px 76px 8px 14px!important;border:1px solid #ddd4d9!important;border-radius:12px!important;background:#fff!important;color:#302a2f!important;-webkit-text-fill-color:#302a2f!important;caret-color:#c85c89!important;opacity:1!important;font-family:inherit!important;font-size:16px!important;font-weight:800!important;line-height:32px!important;direction:ltr!important;text-align:right!important;text-indent:0!important;box-shadow:none!important;box-sizing:border-box!important}
.fnb-old-services-list .fnb-complete-row .fnb-edit-price-line .fnb-money-input::placeholder{color:#a3929b!important;-webkit-text-fill-color:#a3929b!important;opacity:1!important}
.fnb-old-services-list .fnb-complete-row .fnb-edit-price-line .fnb-money-unit{position:absolute!important;right:12px!important;left:auto!important;top:50%!important;transform:translateY(-50%)!important;z-index:5!important;display:flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:48px!important;height:28px!important;padding:0 7px!important;margin:0!important;border:0!important;border-left:1px solid #eadfe5!important;border-right:0!important;border-radius:0!important;background:#fff!important;color:#8d6f7c!important;font-size:10px!important;font-weight:800!important;line-height:1!important;pointer-events:none!important;white-space:nowrap!important;box-sizing:border-box!important}
.fnb-dark-mode .fnb-old-services-list .fnb-complete-row .fnb-edit-service-main select{background:#211d20!important;color:#f7f2f5!important;-webkit-text-fill-color:#f7f2f5!important;border-color:#44383e!important}
.fnb-dark-mode .fnb-old-services-list .fnb-complete-row .fnb-edit-price-line .fnb-money-input{background:#211d20!important;color:#f7f2f5!important;-webkit-text-fill-color:#f7f2f5!important;border-color:#44383e!important}
.fnb-dark-mode .fnb-old-services-list .fnb-complete-row .fnb-edit-price-line .fnb-money-unit{background:#211d20!important;color:#cdb8c2!important;border-color:#4a3e44!important}
@media(max-width:700px){.fnb-old-services-list .fnb-complete-row{grid-template-columns:minmax(0,1fr) 42px!important;padding:11px!important;gap:8px!important}.fnb-old-services-list .fnb-complete-row .fnb-remove-service{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important}.fnb-old-services-list .fnb-complete-row .fnb-edit-price-line .fnb-money-input{height:50px!important;min-height:50px!important;font-size:15px!important;padding-right:72px!important}}

/* v4.5.25 — historical reservation dark-mode + desktop width refinement */
.fnb-dark-mode .fnb-old-book-modal .fnb-field input[type="date"],
.fnb-dark-mode .fnb-old-book-modal .fnb-field input[type="time"]{
  background:#211d20!important;
  color:#f7f2f5!important;
  -webkit-text-fill-color:#f7f2f5!important;
  border-color:#44383e!important;
  color-scheme:dark!important;
}
.fnb-dark-mode .fnb-old-book-modal .fnb-field input[type="date"]::-webkit-calendar-picker-indicator,
.fnb-dark-mode .fnb-old-book-modal .fnb-field input[type="time"]::-webkit-calendar-picker-indicator{
  filter:invert(1) brightness(1.15)!important;
  opacity:.8!important;
}

/* Desktop admin app: centered 1080px content area */
@media(min-width:901px){
  body.fnb-app-screen .fnb-admin{
    width:100%!important;
    max-width:1080px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}

/* v4.5.26 FINAL: desktop app width */
@media (min-width:901px){
  body.fnb-app-screen .fnb-admin{
    width:1080px!important;
    max-width:calc(100vw - 40px)!important;
    box-sizing:border-box!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  body.fnb-app-screen #wpcontent,
  body.fnb-app-screen #wpbody,
  body.fnb-app-screen #wpbody-content{width:100%!important;max-width:none!important;}
}
/* v4.5.26 FINAL: historical reservation date/time dark mode */
html.fnb-dark-mode #fnb-old-date,
html.fnb-dark-mode #fnb-old-time,
body.fnb-dark-mode #fnb-old-date,
body.fnb-dark-mode #fnb-old-time,
.fnb-dark-mode .fnb-old-book-modal #fnb-old-date,
.fnb-dark-mode .fnb-old-book-modal #fnb-old-time{
  background:#191619!important;
  background-color:#191619!important;
  color:#f2edf0!important;
  -webkit-text-fill-color:#f2edf0!important;
  border-color:#4a3e44!important;
  color-scheme:dark!important;
  box-shadow:none!important;
}
html.fnb-dark-mode #fnb-old-date::-webkit-calendar-picker-indicator,
html.fnb-dark-mode #fnb-old-time::-webkit-calendar-picker-indicator,
body.fnb-dark-mode #fnb-old-date::-webkit-calendar-picker-indicator,
body.fnb-dark-mode #fnb-old-time::-webkit-calendar-picker-indicator,
.fnb-dark-mode .fnb-old-book-modal #fnb-old-date::-webkit-calendar-picker-indicator,
.fnb-dark-mode .fnb-old-book-modal #fnb-old-time::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.15)!important;opacity:.85!important;}


/* v4.5.35 — پس از ثبت موفق رزرو، تب «تأیید» سبز و واضح بماند */
.fnb.booking-success.finalized .fnb-progress b.confirmed,
.fnb.booking-success .fnb-progress b.confirmed{
  background:#eaf8ef!important;
  color:#23834a!important;
  opacity:1!important;
  box-shadow:none!important;
}
.fnb.booking-success.finalized .fnb-progress b.confirmed:after,
.fnb.booking-success .fnb-progress b.confirmed:after{
  background:#25a35a!important;
}


/* v4.5.36 — تب «۴ تأیید» بعد از ثبت موفق رزرو همیشه completed/سبز باشد، نه current */
.fnb.confirmation-completed .fnb-progress b[data-progress="5"],
.fnb.booking-success .fnb-progress b[data-progress="5"].confirmed,
.fnb.booking-success.finalized .fnb-progress b[data-progress="5"].confirmed{
  background:#25a35a!important;
  color:#fff!important;
  opacity:1!important;
  box-shadow:0 6px 16px rgba(37,163,90,.20)!important;
}
.fnb.confirmation-completed .fnb-progress b[data-progress="5"].current,
.fnb.booking-success .fnb-progress b[data-progress="5"].current,
.fnb.booking-success.finalized .fnb-progress b[data-progress="5"].current{
  background:#25a35a!important;
  color:#fff!important;
}
.fnb.confirmation-completed .fnb-progress b[data-progress="5"]:after{
  content:"✓";
  display:inline-block;
  margin-right:5px;
  font-weight:900;
}

/* v13 - independent form design editor */
.fnb-design-palette{display:grid;gap:7px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #eee5e9}
.fnb-design-palette-title{font-size:11px;font-weight:900;color:#6b6066;margin-bottom:3px}
.fnb-design-palette button{width:100%;border:1px solid #e7dde2;background:#fff;border-radius:10px;padding:9px 10px;text-align:right;font:inherit;font-size:11px;color:#5e555a;cursor:pointer;transition:.18s}
.fnb-design-palette button:hover{border-color:#c85c89;background:#fff7fa;color:#a33c68;transform:translateY(-1px)}
.fnb-design-control textarea{width:100%;min-height:80px;border:1px solid #ddd4d9;border-radius:10px;padding:10px;font:inherit;resize:vertical}
.fnb-design-preview .fnb-go1,.fnb-design-preview .fnb-services-next,.fnb-design-preview .fnb-book,.fnb-design-preview .fnb-back,.fnb-design-preview .fnb-date-trigger{position:relative}
.fnb-design-preview [data-fnb-edit]{position:relative}
.fnb-design-preview [data-fnb-edit]::after{content:"";position:absolute;inset:-4px;border:1px dashed transparent;border-radius:inherit;pointer-events:none}
.fnb-design-preview [data-fnb-edit]:hover::after,.fnb-design-preview [data-fnb-edit].fnb-design-selected-el::after{border-color:#c85c89}

/* v4.5.39 confirmation step */
.fnb-confirm-check{display:flex;align-items:flex-start;gap:9px;margin:14px 0;padding:13px 14px;border:1px solid #eee1e7;border-radius:13px;background:#fff8fb;color:#5f555b;font-size:13px;line-height:1.8;cursor:pointer}.fnb-confirm-checkbox{width:19px!important;height:19px!important;margin:2px 0 0!important;accent-color:#c85c89;flex:0 0 auto}.fnb-book:disabled{opacity:.5;cursor:not-allowed;transform:none!important}

/* v4.6.25 — final dark-mode hardening.
   Kept at the end so later light-mode hover/design-editor rules cannot win. */
html.fnb-dark-mode .fnb,
body.fnb-dark-mode .fnb,
.fnb.fnb-dark-mode{
  background:#211d20!important;
  color:#eee7eb!important;
  border-color:#40353b!important;
}
.fnb-dark-mode .fnb-design-palette,
.fnb-dark-mode .fnb-design-palette-title,
.fnb-dark-mode .fnb-design-control textarea{
  border-color:#40353b!important;
  color:#eee7eb!important;
}
.fnb-dark-mode .fnb-design-palette button{
  background:#211d20!important;
  border-color:#40353b!important;
  color:#d5c9cf!important;
}
.fnb-dark-mode .fnb-design-palette button:hover{
  background:#30252b!important;
  border-color:#c85c89!important;
  color:#f09abd!important;
}
.fnb-dark-mode .fnb-services .fnb-choice:hover,
.fnb-dark-mode .fnb-services .fnb-choice:focus-visible,
.fnb-dark-mode .fnb-services .fnb-choice.selected:hover,
.fnb-dark-mode .fnb-services .fnb-choice.selected:focus-visible{
  background:#30252b!important;
  color:#eee7eb!important;
  border-color:#c85c89!important;
}
.fnb-dark-mode .fnb-services .fnb-choice:hover b,
.fnb-dark-mode .fnb-services .fnb-choice:focus-visible b,
.fnb-dark-mode .fnb-services .fnb-choice.selected:hover b,
.fnb-dark-mode .fnb-services .fnb-choice.selected:focus-visible b{
  color:#f09abd!important;
}
.fnb-dark-mode .fnb-services .fnb-choice:hover small,
.fnb-dark-mode .fnb-services .fnb-choice:focus-visible small{
  color:#bdb1b8!important;
}
.fnb-dark-mode .fnb-services .fnb-choice:hover em,
.fnb-dark-mode .fnb-services .fnb-choice:focus-visible em{
  color:#f09abd!important;
}



/* v4.6.27 — booking theme isolation, complete light/dark surfaces */
.fnb.fnb-light-mode,
.fnb:not(.fnb-dark-mode){
  color-scheme:light!important;
  background:#fff!important;
  color:var(--fnb-text,#25232a)!important;
}
.fnb:not(.fnb-dark-mode) input,
.fnb:not(.fnb-dark-mode) textarea,
.fnb:not(.fnb-dark-mode) select,
.fnb:not(.fnb-dark-mode) .fnb-choice,
.fnb:not(.fnb-dark-mode) .fnb-summary,
.fnb:not(.fnb-dark-mode) .fnb-confirm-dialog,
.fnb:not(.fnb-dark-mode) .fnb-confirm-summary,
.fnb:not(.fnb-dark-mode) .fnb-date-trigger,
.fnb:not(.fnb-dark-mode) .fnb-calendar-popover{
  background:#fff!important;color:#25232a!important;-webkit-text-fill-color:#25232a!important;
}
.fnb:not(.fnb-dark-mode) .fnb-loader{
  background:rgba(255,255,255,.96)!important;color:#25232a!important;
}
.fnb:not(.fnb-dark-mode) .fnb-loader-card{
  background:linear-gradient(145deg,#fff,#fff8fb)!important;color:#25232a!important;
}
.fnb:not(.fnb-dark-mode) .fnb-loader-card strong{color:#7e3858!important}
.fnb:not(.fnb-dark-mode) .fnb-loader-card small{color:#9a7c89!important}
.fnb:not(.fnb-dark-mode) .fnb-confirm-dialog h3{color:#2d272a!important}
.fnb:not(.fnb-dark-mode) .fnb-confirm-subtitle{color:#777!important}
.fnb:not(.fnb-dark-mode) .fnb-confirm-summary{background:#fafafa!important;color:#25232a!important}
.fnb:not(.fnb-dark-mode) .fnb-confirm-cancel{background:#fff7f7!important;color:#c94f5b!important}

/* All selected services use exactly the same soft-pink selected state. */
.fnb .fnb-services .fnb-choice.selected,
.fnb .fnb-services .fnb-choice.selected:hover,
.fnb .fnb-services .fnb-choice.selected:focus,
.fnb .fnb-services .fnb-choice.selected:active{
  background:#fff1f6!important;
  border-color:#c85c89!important;
  color:#4a303b!important;
  box-shadow:0 0 0 2px rgba(200,92,137,.08)!important;
  transform:none!important;
}
.fnb .fnb-services .fnb-choice.selected b{color:#4a303b!important}
.fnb .fnb-services .fnb-choice.selected small{color:#8d4261!important;opacity:1!important}
.fnb .fnb-services .fnb-choice.selected em{color:#a33c68!important}
.fnb .fnb-services .fnb-choice.selected .fnb-choice-icon{background:#fde2ed!important;color:#c85c89!important}

/* Dark selected services keep the same pink selection language. */
.fnb-dark-mode .fnb-services .fnb-choice.selected,
.fnb-dark-mode .fnb-services .fnb-choice.selected:hover,
.fnb-dark-mode .fnb-services .fnb-choice.selected:focus{
  background:#3a2530!important;border-color:#c85c89!important;color:#f7edf1!important;
}
.fnb-dark-mode .fnb-services .fnb-choice.selected b{color:#f7edf1!important}
.fnb-dark-mode .fnb-services .fnb-choice.selected small{color:#e2bdcb!important}
.fnb-dark-mode .fnb-services .fnb-choice.selected em{color:#f09abd!important}
.fnb-dark-mode .fnb-services .fnb-choice.selected .fnb-choice-icon{background:#51303f!important;color:#f09abd!important}

/* Calendar/date numbers and every native date input follow the actual form theme. */
.fnb:not(.fnb-dark-mode) .fnb-calendar-popover *,
.fnb:not(.fnb-dark-mode) input[type=date],
.fnb:not(.fnb-dark-mode) input[type=time]{
  color:#25232a!important;-webkit-text-fill-color:#25232a!important;color-scheme:light!important;
}
.fnb-dark-mode .fnb-calendar-popover *,
.fnb-dark-mode input[type=date],
.fnb-dark-mode input[type=time]{
  color:#f2edf0!important;-webkit-text-fill-color:#f2edf0!important;color-scheme:dark!important;
}
.fnb-dark-mode .fnb-calendar-popover{background:#211d20!important;color:#eee7eb!important;border-color:#40353b!important}
.fnb-dark-mode .fnb-calendar-popover button{color:#eee7eb!important;background:#211d20!important}
.fnb-dark-mode .fnb-calendar-popover button:hover{background:#30252b!important}
.fnb-dark-mode .fnb-calendar-popover .selected,
.fnb-dark-mode .fnb-calendar-popover .current{background:#c85c89!important;color:#fff!important}

/* Complete loader theme for the whole form, including final booking submission. */
.fnb-dark-mode .fnb-loader{background:rgba(25,22,25,.96)!important}
.fnb-dark-mode .fnb-loader-card{background:linear-gradient(145deg,#211d20,#2a2227)!important;border-color:#40353b!important}
.fnb-dark-mode .fnb-loader-card strong{color:#f09abd!important}
.fnb-dark-mode .fnb-loader-card small{color:#b9aab2!important}
.fnb-dark-mode .fnb-loader-orbit:before{border-color:#604454!important}
.fnb-dark-mode .fnb-loader-orbit:after{border-color:#3c5948!important}

/* Popup must never inherit a stale white/light surface in dark mode. */
.fnb-dark-mode .fnb-confirm-dialog{background:#211d20!important;color:#eee7eb!important;border:1px solid #40353b!important}
.fnb-dark-mode .fnb-confirm-dialog h3{color:#f7f2f5!important}
.fnb-dark-mode .fnb-confirm-subtitle{color:#aaa0a7!important}
.fnb-dark-mode .fnb-confirm-summary{background:#191619!important;border-color:#40353b!important;color:#eee7eb!important}
.fnb-dark-mode .fnb-summary-row{border-bottom-color:#40353b!important}
.fnb-dark-mode .fnb-summary-row span{color:#aaa0a7!important}
.fnb-dark-mode .fnb-confirm-cancel{background:#3a2227!important;border-color:#75434c!important;color:#ffb1b8!important}

/* Keep the WordPress chrome behind/out of the app when this is the plugin screen. */
body.fnb-app-screen #wpadminbar,
body.fnb-app-screen #adminmenumain,
body.fnb-app-screen #wpfooter,
body.fnb-app-screen .notice:not(.fnb-notice),
body.fnb-app-screen .update-nag{display:none!important}
body.fnb-app-screen #wpcontent,
body.fnb-app-screen #wpbody,
body.fnb-app-screen #wpbody-content{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}

/* v4.6.27 — compact mobile chat */
.fnb-chat-embed{max-width:400px!important}
.fnb-chat-panel{height:min(620px,78vh)!important;border-radius:20px!important}
@media(max-width:600px){
  .fnb-chat-embed{width:100%!important;max-width:360px!important;margin:0 auto!important}
  .fnb-chat-panel{height:min(540px,66vh)!important;min-height:390px!important;border-radius:15px!important}
  .fnb-chat-panel header{min-height:58px!important;padding:9px 12px!important;gap:8px!important}
  .fnb-chat-panel header:before{width:32px!important;height:32px!important;flex-basis:32px!important;border-radius:10px!important;font-size:15px!important}
  .fnb-chat-panel header strong{font-size:13px!important}
  .fnb-chat-panel header small{font-size:9px!important}
  .fnb-chat-body{padding:12px 10px 10px!important}
  .fnb-chat-row{margin:6px 0!important}
  .fnb-chat-bubble{max-width:88%!important;min-width:48px!important;padding:8px 10px 7px!important;border-radius:14px!important;font-size:12px!important}
  .fnb-chat-form{gap:5px!important;padding:7px 7px 8px!important}
  .fnb-chat-compose{gap:3px!important;min-height:38px!important}
  .fnb-chat-form textarea{height:38px!important;min-height:38px!important;max-height:80px!important;padding:7px 9px!important;font-size:11px!important;border-radius:12px!important}
  .fnb-chat-send{width:43px!important;flex-basis:43px!important;height:38px!important;border-radius:11px!important;font-size:10px!important}
  .fnb-chat-attach{width:36px!important;flex-basis:36px!important;height:38px!important;border-radius:11px!important;font-size:18px!important}
  .fnb-chat-image-button{width:min(160px,100%)!important}
  .fnb-chat-info-form{margin:6px 7px 5px!important;padding:5px 24px 5px 5px!important;min-height:36px!important}
}


/* v4.6.29 — final mobile/chat + reservation theme hardening.
   The reservation form owns its theme; popup/builder/global styles must not leak in. */
.fnb.fnb-dark-mode,
.fnb.fnb-dark-mode *{
  color-scheme:dark!important;
}
.fnb.fnb-dark-mode,
.fnb.fnb-dark-mode .fnb-step,
.fnb.fnb-dark-mode .fnb-card,
.fnb.fnb-dark-mode .fnb-section,
.fnb.fnb-dark-mode .fnb-summary,
.fnb.fnb-dark-mode .fnb-known,
.fnb.fnb-dark-mode .fnb-selected-date,
.fnb.fnb-dark-mode .fnb-calendar-popover,
.fnb.fnb-dark-mode .fnb-confirm-dialog,
.fnb.fnb-dark-mode .fnb-confirm-summary,
.fnb.fnb-dark-mode .fnb-confirm-actions,
.fnb.fnb-dark-mode .fnb-field,
.fnb.fnb-dark-mode .fnb-services,
.fnb.fnb-dark-mode .fnb-dates,
.fnb.fnb-dark-mode .fnb-slots{
  background-color:#211d20!important;
  color:#eee7eb!important;
  border-color:#40353b!important;
}
.fnb.fnb-dark-mode input,
.fnb.fnb-dark-mode textarea,
.fnb.fnb-dark-mode select,
.fnb.fnb-dark-mode button,
.fnb.fnb-dark-mode option{
  background-color:#191619!important;
  color:#f2edf0!important;
  -webkit-text-fill-color:#f2edf0!important;
  border-color:#4a3e44!important;
}
.fnb.fnb-dark-mode button:hover,
.fnb.fnb-dark-mode button:focus-visible{color:#fff!important;-webkit-text-fill-color:#fff!important}
.fnb.fnb-dark-mode .fnb-choice{
  background:#211d20!important;color:#eee7eb!important;border-color:#40353b!important;
}
.fnb.fnb-dark-mode .fnb-choice b{color:#f7f2f5!important}
.fnb.fnb-dark-mode .fnb-choice small{color:#bdb1b8!important}
.fnb.fnb-dark-mode .fnb-choice em{color:#f09abd!important}
.fnb.fnb-dark-mode .fnb-date,
.fnb.fnb-dark-mode .fnb-slot{background:#211d20!important;color:#eee7eb!important;border-color:#40353b!important}
.fnb.fnb-dark-mode .fnb-date:hover,
.fnb.fnb-dark-mode .fnb-slot:hover{background:#30252b!important;color:#fff!important}
.fnb.fnb-dark-mode .fnb-summary-row span{color:#bdb1b8!important}
.fnb.fnb-dark-mode .fnb-summary-row strong{color:#f2edf0!important}
.fnb.fnb-dark-mode .fnb-confirm-submit{background:#25a35a!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.fnb.fnb-dark-mode .fnb-confirm-cancel{background:#3a2227!important;color:#ffb1b8!important;-webkit-text-fill-color:#ffb1b8!important}
.fnb.fnb-dark-mode .fnb-success-confirmed{color:#58c983!important;font-weight:700}

/* Light mode: reset every common form surface so no stale dark background survives. */
.fnb:not(.fnb-dark-mode),
.fnb:not(.fnb-dark-mode) .fnb-step,
.fnb:not(.fnb-dark-mode) .fnb-card,
.fnb:not(.fnb-dark-mode) .fnb-section,
.fnb:not(.fnb-dark-mode) .fnb-field,
.fnb:not(.fnb-dark-mode) .fnb-date,
.fnb:not(.fnb-dark-mode) .fnb-slot{
  background-color:#fff!important;color:#25232a!important;
}
.fnb:not(.fnb-dark-mode) input,
.fnb:not(.fnb-dark-mode) textarea,
.fnb:not(.fnb-dark-mode) select,
.fnb:not(.fnb-dark-mode) option{
  background-color:#fff!important;color:#25232a!important;-webkit-text-fill-color:#25232a!important;color-scheme:light!important;
}
.fnb:not(.fnb-dark-mode) .fnb-success-confirmed{color:#23834a!important;font-weight:700}

/* Popup inherits the actual reservation theme even when a page builder adds its own styles. */
.fnb .fnb-confirm-modal,
.fnb .fnb-confirm-modal *{box-sizing:border-box}
.fnb.fnb-dark-mode .fnb-confirm-modal .fnb-confirm-dialog{background:#211d20!important;color:#eee7eb!important}
.fnb:not(.fnb-dark-mode) .fnb-confirm-modal .fnb-confirm-dialog{background:#fff!important;color:#25232a!important}

/* Mobile touch: do not let popup overlays steal the chat controls. */
.fnb-chat-embed .fnb-chat-form,
.fnb-chat-embed .fnb-chat-send,
.fnb-chat-embed .fnb-chat-form textarea{touch-action:manipulation!important;pointer-events:auto!important}
.fnb-chat-embed .fnb-chat-send{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
@media(max-width:600px){
  .fnb-chat-embed{width:100%!important;max-width:calc(100vw - 20px)!important}
  .fnb-chat-panel{width:100%!important;height:min(560px,70vh)!important;min-height:360px!important}
  .fnb-chat-form{position:relative!important;z-index:100!important}
  .fnb-chat-send{width:46px!important;min-width:46px!important;flex-basis:46px!important;height:40px!important}
  .fnb-chat-form textarea{min-height:40px!important;height:40px!important;font-size:12px!important}
}


/* v4.6.32 — final mobile/theme hardening */
/* The public reservation form owns every visual surface. These rules intentionally
   sit at the end of the stylesheet so theme/design-builder CSS cannot reintroduce
   white inputs, slots, calendar cells, popups or loaders. */
.fnb.fnb-dark-mode,
.fnb.fnb-dark-mode .fnb-step,
.fnb.fnb-dark-mode .fnb-card,
.fnb.fnb-dark-mode .fnb-section,
.fnb.fnb-dark-mode .fnb-field,
.fnb.fnb-dark-mode .fnb-summary,
.fnb.fnb-dark-mode .fnb-known,
.fnb.fnb-dark-mode .fnb-selected-date,
.fnb.fnb-dark-mode .fnb-date-time-picker,
.fnb.fnb-dark-mode .fnb-calendar-popover,
.fnb.fnb-dark-mode .fnb-confirm-modal,
.fnb.fnb-dark-mode .fnb-confirm-dialog,
.fnb.fnb-dark-mode .fnb-confirm-summary,
.fnb.fnb-dark-mode .fnb-confirm-actions,
.fnb.fnb-dark-mode .fnb-services,
.fnb.fnb-dark-mode .fnb-dates,
.fnb.fnb-dark-mode .fnb-slots,
.fnb.fnb-dark-mode .fnb-loading-target{
  background-color:#211d20!important;
  color:#eee7eb!important;
  border-color:#40353b!important;
}
.fnb.fnb-dark-mode input,
.fnb.fnb-dark-mode textarea,
.fnb.fnb-dark-mode select,
.fnb.fnb-dark-mode option,
.fnb.fnb-dark-mode .fnb-date-trigger,
.fnb.fnb-dark-mode .fnb-choice,
.fnb.fnb-dark-mode .fnb-slot,
.fnb.fnb-dark-mode .fnb-date{
  background:#191619!important;
  color:#f2edf0!important;
  -webkit-text-fill-color:#f2edf0!important;
  border-color:#4a3e44!important;
  color-scheme:dark!important;
}
.fnb.fnb-dark-mode .fnb-date-trigger-copy small,
.fnb.fnb-dark-mode .fnb-date-trigger-copy strong,
.fnb.fnb-dark-mode .fnb-cal-modal-head small,
.fnb.fnb-dark-mode .fnb-cal-modal-head strong,
.fnb.fnb-dark-mode .fnb-cal-head,
.fnb.fnb-dark-mode .fnb-cal-day,
.fnb.fnb-dark-mode .fnb-cal-day span,
.fnb.fnb-dark-mode .fnb-time-heading small,
.fnb.fnb-dark-mode .fnb-slot-time,
.fnb.fnb-dark-mode .fnb-slot small{
  color:#f2edf0!important;
  -webkit-text-fill-color:#f2edf0!important;
}
.fnb.fnb-dark-mode .fnb-cal-day.disabled span{color:#776c73!important;-webkit-text-fill-color:#776c73!important}
.fnb.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day:hover:not(.disabled) span{background:#30252b!important;color:#f09abd!important}
.fnb.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.selected span{background:#c85c89!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.fnb.fnb-dark-mode .fnb-loader{background:rgba(25,22,25,.97)!important}
.fnb.fnb-dark-mode .fnb-loader-card{background:#211d20!important;border-color:#40353b!important;color:#eee7eb!important}
.fnb.fnb-dark-mode .fnb-loader-card strong{color:#f09abd!important}
.fnb.fnb-dark-mode .fnb-loader-card small{color:#bdb1b8!important}

.fnb:not(.fnb-dark-mode) .fnb-loading-target{background:#fff!important;color:#25232a!important}
.fnb:not(.fnb-dark-mode) .fnb-loader{background:rgba(255,255,255,.97)!important}
.fnb:not(.fnb-dark-mode) .fnb-loader-card{background:#fff!important;border-color:#f0e5ea!important;color:#25232a!important}

/* Touch screens keep the selected service pink; browser :hover must never turn
   the last tapped service into the old hover gradient. */
@media (hover:none), (pointer:coarse){
  .fnb .fnb-services .fnb-choice:hover:not(.selected),
  .fnb .fnb-services .fnb-choice:focus:not(.selected),
  .fnb .fnb-services .fnb-choice:active:not(.selected){
    background:#fff!important;
    border-color:#ece4e8!important;
    color:#332b30!important;
    box-shadow:0 3px 12px rgba(57,31,43,.035)!important;
    transform:none!important;
  }
  .fnb .fnb-services .fnb-choice:hover:not(.selected) b,
  .fnb .fnb-services .fnb-choice:hover:not(.selected) small,
  .fnb .fnb-services .fnb-choice:hover:not(.selected) em{color:inherit!important}
  .fnb .fnb-services .fnb-choice.selected,
  .fnb .fnb-services .fnb-choice.selected:hover,
  .fnb .fnb-services .fnb-choice.selected:focus,
  .fnb .fnb-services .fnb-choice.selected:active{
    background:#fff1f6!important;
    border-color:#c85c89!important;
    color:#4a303b!important;
    box-shadow:0 0 0 2px rgba(200,92,137,.08)!important;
    transform:none!important;
  }
  .fnb.fnb-dark-mode .fnb-services .fnb-choice:hover:not(.selected),
  .fnb.fnb-dark-mode .fnb-services .fnb-choice:focus:not(.selected),
  .fnb.fnb-dark-mode .fnb-services .fnb-choice:active:not(.selected){
    background:#211d20!important;
    border-color:#40353b!important;
    color:#eee7eb!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .fnb.fnb-dark-mode .fnb-services .fnb-choice:hover:not(.selected) b{color:#f7f2f5!important}
  .fnb.fnb-dark-mode .fnb-services .fnb-choice:hover:not(.selected) small{color:#bdb1b8!important}
  .fnb.fnb-dark-mode .fnb-services .fnb-choice:hover:not(.selected) em{color:#f09abd!important}
}

/* Final success state: clean green check tab, no loading overlay. */
.fnb.booking-success .fnb-step[data-step="4"]{display:block!important}
.fnb.booking-success .fnb-success-icon{background:#25a35a!important;color:#fff!important}
.fnb.booking-success .fnb-success-confirmed{color:#23834a!important;font-weight:800!important}
.fnb.booking-success .fnb-progress b[data-progress="4"].confirmed,
.fnb.booking-success .fnb-progress b[data-progress="4"].completed{
  background:#25a35a!important;color:#fff!important;box-shadow:0 6px 16px rgba(37,163,90,.18)!important;
}
.fnb.booking-success .fnb-progress b[data-progress="4"].confirmed::after{content:" ✓";font-weight:900}
.fnb.booking-success .fnb-loader{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}


/* v4.6.34 — loader must follow the saved booking theme even if the page builder
   applies/removes the root theme class after the loader is created. */
.fnb .fnb-loader.fnb-loader-dark,
.fnb .fnb-loading-target > .fnb-loader.fnb-loader-dark{
  background:rgba(25,22,25,.98)!important;
  color:#eee7eb!important;
}
.fnb .fnb-loader.fnb-loader-dark .fnb-loader-card,
.fnb .fnb-loading-target > .fnb-loader.fnb-loader-dark .fnb-loader-card{
  background:#211d20!important;
  border-color:#40353b!important;
  color:#eee7eb!important;
}
.fnb .fnb-loader.fnb-loader-dark .fnb-loader-card strong{color:#f09abd!important}
.fnb .fnb-loader.fnb-loader-dark .fnb-loader-card small{color:#bdb1b8!important}
.fnb .fnb-loader.fnb-loader-dark .fnb-loader-orbit:before{border-color:#604454!important}
.fnb .fnb-loader.fnb-loader-dark .fnb-loader-orbit:after{border-color:#3c5948!important}


/* v12 - selected service: keep card neutral, make the text visibly soft-pink. */
.fnb .fnb-services .fnb-choice.selected,
.fnb .fnb-services .fnb-choice.selected:hover,
.fnb .fnb-services .fnb-choice.selected:focus,
.fnb .fnb-services .fnb-choice.selected:active{
  background:#fff!important;
  border-color:#e4e1e3!important;
  box-shadow:0 4px 12px rgba(0,0,0,.025)!important;
  transform:none!important;
}
.fnb .fnb-services .fnb-choice.selected b{color:#c85c89!important}
.fnb .fnb-services .fnb-choice.selected small{color:#b98a9e!important}
.fnb .fnb-services .fnb-choice.selected em{color:#c85c89!important}
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected,
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected:hover,
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected:focus,
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected:active{
  background:#211d20!important;
  border-color:#40353b!important;
  box-shadow:none!important;
  transform:none!important;
}
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected b{color:#f09abd!important}
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected small{color:#c69aaa!important}
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected em{color:#f09abd!important}

/* Service selection: active service keeps the normal card surface; only its text turns soft pink, like the time-slot hover. */
.fnb .fnb-services .fnb-choice.selected,
.fnb .fnb-services .fnb-choice.selected:hover,
.fnb .fnb-services .fnb-choice.selected:focus,
.fnb .fnb-services .fnb-choice.selected:active{
  background:#fff!important;
  border-color:#e4e1e3!important;
  color:#a44770!important;
  box-shadow:0 4px 12px rgba(0,0,0,.025)!important;
  transform:none!important;
}
.fnb .fnb-services .fnb-choice.selected b,
.fnb .fnb-services .fnb-choice.selected small,
.fnb .fnb-services .fnb-choice.selected em{
  color:#a44770!important;
}
.fnb .fnb-services .fnb-choice.selected .fnb-choice-icon{
  background:#fff0f5!important;
  color:#c85c89!important;
}
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected,
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected:hover,
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected:focus,
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected:active{
  background:#211d20!important;
  border-color:#40353b!important;
  color:#f09abd!important;
  box-shadow:none!important;
  transform:none!important;
}
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected b,
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected small,
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected em{
  color:#f09abd!important;
}
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected .fnb-choice-icon{
  background:#30252b!important;
  color:#f09abd!important;
}


/* v13 - final selected-service state: neutral card, visible soft-pink text. */
.fnb .fnb-services .fnb-choice.selected,
.fnb .fnb-services .fnb-choice.selected:hover,
.fnb .fnb-services .fnb-choice.selected:focus,
.fnb .fnb-services .fnb-choice.selected:active{
  background:#fff!important;
  border-color:#e4e1e3!important;
  color:#c85c89!important;
  box-shadow:0 4px 12px rgba(0,0,0,.025)!important;
  transform:none!important;
}
.fnb .fnb-services .fnb-choice.selected b,
.fnb .fnb-services .fnb-choice.selected small,
.fnb .fnb-services .fnb-choice.selected em{
  color:#c85c89!important;
}
.fnb .fnb-services .fnb-choice.selected small{color:#b98a9e!important}
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected,
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected:hover,
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected:focus,
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected:active{
  background:#211d20!important;
  border-color:#40353b!important;
  color:#f09abd!important;
  box-shadow:none!important;
  transform:none!important;
}
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected b,
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected small,
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected em{color:#f09abd!important}
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected small{color:#c69aaa!important}
@media (hover:none),(pointer:coarse){
  .fnb .fnb-services .fnb-choice.selected,
  .fnb .fnb-services .fnb-choice.selected:hover,
  .fnb .fnb-services .fnb-choice.selected:focus,
  .fnb .fnb-services .fnb-choice.selected:active{
    background:#fff!important;
    border-color:#e4e1e3!important;
    color:#c85c89!important;
    box-shadow:0 4px 12px rgba(0,0,0,.025)!important;
  }
  .fnb.fnb-dark-mode .fnb-services .fnb-choice.selected,
  .fnb.fnb-dark-mode .fnb-services .fnb-choice.selected:hover,
  .fnb.fnb-dark-mode .fnb-services .fnb-choice.selected:focus,
  .fnb.fnb-dark-mode .fnb-services .fnb-choice.selected:active{
    background:#211d20!important;
    border-color:#40353b!important;
    color:#f09abd!important;
    box-shadow:none!important;
  }
}


/* v14 - force selected service text color even when Elementor/theme applies text-fill color. */
.fnb .fnb-services .fnb-choice.selected b,
.fnb .fnb-services .fnb-choice.selected small,
.fnb .fnb-services .fnb-choice.selected em{
  color:#c85c89!important;
  -webkit-text-fill-color:#c85c89!important;
}
.fnb .fnb-services .fnb-choice.selected b{font-weight:800!important}
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected b,
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected small,
.fnb.fnb-dark-mode .fnb-services .fnb-choice.selected em{
  color:#f09abd!important;
  -webkit-text-fill-color:#f09abd!important;
}


/* FINAL FIX: calendar must not dim or blur the page behind it */

/* FINAL CALENDAR FIX v4.6.49: opening the date picker must NEVER dim/blur the page. */
body.fnb-calendar-open:before,
body.fnb-calendar-open:after,
.fnb-calendar-popover:before,
.fnb-calendar-popover:after{display:none!important;content:none!important;background:transparent!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;opacity:1!important;pointer-events:none!important;}
.fnb-calendar-popover,.fnb-calendar-popover *{filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}

/* v4.6.50 — premium dark calendar matching the booking dark theme. */
.fnb.fnb-dark-mode .fnb-calendar-popover{
  background:linear-gradient(145deg,#171419 0%,#211b20 100%)!important;
  color:#f7f2f5!important;
  border:1px solid #49333f!important;
  border-radius:26px!important;
  padding:18px!important;
  box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 0 1px rgba(200,92,137,.06)!important;
}
.fnb.fnb-dark-mode .fnb-cal-modal-head{
  padding:2px 2px 14px!important;
}
.fnb.fnb-dark-mode .fnb-cal-modal-head small{
  color:#9e8c95!important;
}
.fnb.fnb-dark-mode .fnb-cal-modal-head strong{
  color:#f7f1f4!important;
  font-size:18px!important;
  font-weight:850!important;
}
.fnb.fnb-dark-mode .fnb-cal-close{
  background:#2b2026!important;
  color:#dca0b8!important;
  border:1px solid #49333f!important;
}
.fnb.fnb-dark-mode .fnb-cal-close:hover{
  background:#3a2530!important;
  color:#f09abd!important;
}
.fnb.fnb-dark-mode .fnb-cal-head{
  background:linear-gradient(180deg,#211a20,#1d181c)!important;
  border:1px solid #4b3440!important;
  border-radius:18px!important;
  padding:7px 6px!important;
  gap:8px!important;
}
.fnb.fnb-dark-mode .fnb-cal-title{
  background:transparent!important;
  color:#f8f3f5!important;
  -webkit-text-fill-color:#f8f3f5!important;
  font-size:15px!important;
  font-weight:850!important;
}
.fnb.fnb-dark-mode .fnb-cal-nav{
  background:#181419!important;
  color:#f09abd!important;
  border:1px solid #513747!important;
  box-shadow:none!important;
}
.fnb.fnb-dark-mode .fnb-cal-nav:hover{
  background:#34232c!important;
  color:#ffb5d0!important;
  transform:scale(1.04);
}
.fnb.fnb-dark-mode .fnb-cal-week span{
  color:#b9aab2!important;
  -webkit-text-fill-color:#b9aab2!important;
  font-size:10px!important;
  font-weight:850!important;
}
.fnb.fnb-dark-mode .fnb-cal-grid{
  gap:3px!important;
}
.fnb.fnb-dark-mode .fnb-cal-day{
  min-height:46px!important;
  color:#eee7eb!important;
  -webkit-text-fill-color:#eee7eb!important;
  background:transparent!important;
}
.fnb.fnb-dark-mode .fnb-cal-day span{
  width:40px!important;
  height:40px!important;
  border:1px solid #3a2c35!important;
  background:#19151a!important;
  color:#eee7eb!important;
  -webkit-text-fill-color:#eee7eb!important;
  box-shadow:none!important;
}
.fnb.fnb-dark-mode .fnb-cal-day:hover:not(.disabled) span{
  background:#30212a!important;
  border-color:#9b4c70!important;
  color:#f4a8c3!important;
  -webkit-text-fill-color:#f4a8c3!important;
  transform:scale(1.04)!important;
}
.fnb.fnb-dark-mode .fnb-cal-day.today span{
  box-shadow:inset 0 0 0 1.5px #c85c89!important;
  border-color:#6c3c51!important;
}
.fnb.fnb-dark-mode .fnb-cal-day.selected span,
.fnb.fnb-dark-mode .fnb-cal-day.current span{
  background:linear-gradient(145deg,#d66a99,#c85c89)!important;
  border-color:#e27aaa!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:0 8px 22px rgba(200,92,137,.30)!important;
}
.fnb.fnb-dark-mode .fnb-cal-day.disabled span{
  background:#151216!important;
  border-color:#282128!important;
  color:#655a61!important;
  -webkit-text-fill-color:#655a61!important;
}
.fnb.fnb-dark-mode .fnb-cal-empty{
  background:transparent!important;
}
@media(max-width:520px){
  .fnb.fnb-dark-mode .fnb-calendar-popover{padding:15px!important;border-radius:23px!important}
  .fnb.fnb-dark-mode .fnb-cal-day{min-height:43px!important}
  .fnb.fnb-dark-mode .fnb-cal-day span{width:37px!important;height:37px!important}
}


/* v4.6.51 — fix calendar navigation arrows: arrow must sit perfectly inside its circle */
.fnb.fnb-dark-mode .fnb-cal-head .fnb-cal-nav{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  max-width:42px!important;
  max-height:42px!important;
  flex:0 0 42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  border:2px solid #f09abd!important;
  border-radius:50%!important;
  background:#181419!important;
  color:#f09abd!important;
  font-size:27px!important;
  font-family:Arial,sans-serif!important;
  font-weight:700!important;
  line-height:1!important;
  text-align:center!important;
  box-shadow:none!important;
  transform:none!important;
}
.fnb.fnb-dark-mode .fnb-cal-head .fnb-cal-nav:hover{
  background:#2b1d25!important;
  color:#ffb5d0!important;
  border-color:#ffb5d0!important;
  transform:scale(1.04)!important;
}
.fnb.fnb-dark-mode .fnb-cal-head .fnb-cal-nav:active{
  transform:scale(.98)!important;
}
@media(max-width:520px){
  .fnb.fnb-dark-mode .fnb-cal-head .fnb-cal-nav{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    max-width:40px!important;
    max-height:40px!important;
    flex-basis:40px!important;
    font-size:25px!important;
  }
}


/* v4.6.60 — calendar modal: isolated overlay, preserve original calendar styling */
#fnb-calendar-modal-layer{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  z-index:2147483646!important;
  display:block!important;
  pointer-events:none!important;
  isolation:isolate!important;
}
#fnb-calendar-modal-layer[hidden]{display:none!important}
#fnb-calendar-modal-layer .fnb-calendar-modal-backdrop{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  background:rgba(0,0,0,.42)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  filter:none!important;
  pointer-events:auto!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover{
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:min(400px,calc(100vw - 24px))!important;
  max-width:400px!important;
  max-height:calc(100vh - 32px)!important;
  margin:0!important;
  transform:translate(-50%,-50%)!important;
  overflow:auto!important;
  z-index:2!important;
  pointer-events:auto!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover *{
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
#fnb-calendar-modal-layer .fnb-cal-head .fnb-cal-nav,
#fnb-calendar-modal-layer .fnb-cal-nav{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  max-width:40px!important;
  max-height:40px!important;
  flex:0 0 40px!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  text-align:center!important;
  overflow:hidden!important;
  font-family:Arial,sans-serif!important;
  font-size:25px!important;
}
#fnb-calendar-modal-layer .fnb-cal-head .fnb-cal-nav:hover{
  transform:scale(1.04)!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-head .fnb-cal-nav,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-nav{
  background:#181419!important;
  color:#f09abd!important;
  border:2px solid #f09abd!important;
  box-shadow:none!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-head .fnb-cal-nav:hover,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-nav:hover{
  background:#2b1d25!important;
  color:#ffb5d0!important;
  border-color:#ffb5d0!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover{
  background:linear-gradient(145deg,#171419 0%,#211b20 100%)!important;
  color:#f7f2f5!important;
  border-color:#49333f!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover button{
  color:#eee7eb!important;
}
@media(max-width:520px){
  #fnb-calendar-modal-layer .fnb-calendar-popover{
    width:calc(100vw - 18px)!important;
    max-height:calc(100vh - 22px)!important;
  }
  #fnb-calendar-modal-layer .fnb-cal-head .fnb-cal-nav,
  #fnb-calendar-modal-layer .fnb-cal-nav{
    width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;
    max-width:38px!important;max-height:38px!important;flex-basis:38px!important;font-size:23px!important;
  }
}


/* v4.6.61 — calendar modal polish: Kalameh + subtle backdrop blur + complete dark theme */
#fnb-calendar-modal-layer,
#fnb-calendar-modal-layer *{
  font-family:"Kalameh","kalameh",Tahoma,Arial,sans-serif!important;
}
#fnb-calendar-modal-layer .fnb-calendar-modal-backdrop{
  background:rgba(10,7,10,.34)!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover{
  isolation:isolate!important;
  background:#fff!important;
  color:#25232a!important;
}
#fnb-calendar-modal-layer .fnb-cal-head .fnb-cal-nav,
#fnb-calendar-modal-layer .fnb-cal-nav{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  max-width:42px!important;
  max-height:42px!important;
  flex:0 0 42px!important;
  border-radius:50%!important;
  border:1px solid #e7d9e0!important;
  background:#fff7fa!important;
  color:#a33c68!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  font-family:Tahoma,Arial,sans-serif!important;
  font-size:27px!important;
  font-weight:700!important;
  line-height:1!important;
  text-align:center!important;
  box-shadow:0 4px 12px rgba(90,45,65,.08)!important;
  overflow:hidden!important;
  transform:none!important;
}
#fnb-calendar-modal-layer .fnb-cal-head .fnb-cal-nav:hover,
#fnb-calendar-modal-layer .fnb-cal-nav:hover{
  background:#fdebf2!important;
  color:#c85c89!important;
  border-color:#d995b2!important;
  transform:scale(1.04)!important;
}
#fnb-calendar-modal-layer .fnb-cal-head .fnb-cal-nav:active,
#fnb-calendar-modal-layer .fnb-cal-nav:active{transform:scale(.98)!important}

/* Dark calendar is independent of the form's parent because the calendar is now portaled. */
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover{
  background:linear-gradient(145deg,#171419 0%,#211b20 100%)!important;
  color:#f2edf0!important;
  border-color:#49333f!important;
  box-shadow:0 30px 90px rgba(0,0,0,.45)!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-modal-head,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-head,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-week,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-grid{
  color:#f2edf0!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-modal-head small,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-modal-head strong,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-week span,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-title{
  color:#f2edf0!important;
  -webkit-text-fill-color:#f2edf0!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-close{
  background:#2a2026!important;
  color:#f09abd!important;
  border-color:#49333f!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-head .fnb-cal-nav,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-nav{
  background:#211920!important;
  color:#f09abd!important;
  border:2px solid #c85c89!important;
  box-shadow:0 4px 14px rgba(0,0,0,.22)!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-head .fnb-cal-nav:hover,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-nav:hover{
  background:#34232d!important;
  color:#ffb5d0!important;
  border-color:#f09abd!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day span{
  color:#eee7eb!important;
  -webkit-text-fill-color:#eee7eb!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day.disabled span{
  color:#756a71!important;
  -webkit-text-fill-color:#756a71!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day:hover:not(.disabled) span{
  background:#30252b!important;
  color:#f09abd!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day.selected span,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day.current span{
  background:#c85c89!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day.today:not(.selected) span{
  border-color:#f09abd!important;
  color:#f09abd!important;
}
@media(max-width:520px){
  #fnb-calendar-modal-layer .fnb-cal-head .fnb-cal-nav,
  #fnb-calendar-modal-layer .fnb-cal-nav{
    width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;
    max-width:40px!important;max-height:40px!important;flex-basis:40px!important;font-size:25px!important;
  }
}


/* v4.6.62 — calendar dark mode must follow the saved booking theme even when the calendar is portaled outside .fnb. */
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark{
  background:linear-gradient(145deg,#171419 0%,#211b20 100%)!important;
  color:#f2edf0!important;
  border-color:#49333f!important;
  box-shadow:0 30px 90px rgba(0,0,0,.45)!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-modal-head,
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-head,
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-week,
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-grid{color:#f2edf0!important;}
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-modal-head small,
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-modal-head strong,
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-week span,
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-title{
  color:#f2edf0!important;
  -webkit-text-fill-color:#f2edf0!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-close{
  background:#2a2026!important;color:#f09abd!important;border-color:#49333f!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-head .fnb-cal-nav,
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-nav{
  background:#211920!important;color:#f09abd!important;border:2px solid #c85c89!important;
  box-shadow:0 4px 14px rgba(0,0,0,.22)!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day span{
  color:#eee7eb!important;-webkit-text-fill-color:#eee7eb!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.disabled span{
  color:#756a71!important;-webkit-text-fill-color:#756a71!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day:hover:not(.disabled) span{
  background:#30252b!important;color:#f09abd!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.selected span,
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.current span{
  background:#c85c89!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.today:not(.selected) span{
  border-color:#f09abd!important;color:#f09abd!important;-webkit-text-fill-color:#f09abd!important;
}


/* v4.6.64 — FINAL calendar dark-mode hardening.
   The calendar is portaled to <body>; explicitly theme the actual BUTTON
   elements too, not only their text/spans. This prevents theme/page CSS from
   leaving the calendar cells white. */
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover,
html body #fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark{
  background:#171419!important;
  background-image:linear-gradient(145deg,#171419 0%,#211b20 100%)!important;
  color:#f2edf0!important;
  border-color:#49333f!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-modal-head,
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-head{
  background:#211920!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-week,
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-grid{
  background:transparent!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day,
html body #fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day{
  appearance:none!important;
  -webkit-appearance:none!important;
  background:#211920!important;
  background-image:none!important;
  color:#eee7eb!important;
  border-color:#49333f!important;
  box-shadow:none!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day:hover:not(.disabled),
html body #fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day:hover:not(.disabled){
  background:#30252b!important;
  color:#f09abd!important;
  border-color:#c85c89!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.disabled,
html body #fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.disabled{
  background:#1c181b!important;
  color:#756a71!important;
  border-color:#33282e!important;
  opacity:.55!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.selected,
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.current,
html body #fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.selected,
html body #fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.current{
  background:#c85c89!important;
  color:#fff!important;
  border-color:#c85c89!important;
  box-shadow:0 6px 14px rgba(200,92,137,.22)!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day span,
html body #fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day span{
  background:transparent!important;
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.selected span,
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.current span,
html body #fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.selected span,
html body #fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.current span{
  background:transparent!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today:not(.selected),
html body #fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.today:not(.selected){
  box-shadow:inset 0 0 0 1px #c85c89!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-close{
  background:#2a2026!important;color:#f09abd!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-nav,
html body #fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-nav{
  appearance:none!important;-webkit-appearance:none!important;
  background:#211920!important;
  color:#f09abd!important;
  border:2px solid #c85c89!important;
  box-shadow:0 4px 14px rgba(0,0,0,.22)!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-title{
  background:transparent!important;color:#f2edf0!important;
}


/* v4.6.65 — Dark calendar header separation + modal close button */
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-modal-head,
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-head{
  background:#c85c89!important;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.22)!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-modal-head *,
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-head *{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-nav{
  background:#a94670!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.4)!important;
  width:34px!important;
  height:34px!important;
  border-radius:9px!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-close{
  position:absolute!important;
  top:10px!important;
  right:10px!important;
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.35)!important;
  border-radius:50%!important;
  font-size:0!important;
  line-height:1!important;
  cursor:pointer!important;
  z-index:20!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-close::before{
  content:"×"!important;
  font-size:24px!important;
  font-weight:400!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  line-height:1!important;
}


/* v4.6.66 — calendar UX refinements */
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-modal-head{
  background:#211920!important;
  color:#f2edf0!important;
  border-bottom:0!important;
  position:relative!important;
  padding:14px 58px 12px 52px!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-modal-head small{
  color:#a99aa2!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-modal-head strong{
  color:#f2edf0!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-head{
  background:#c85c89!important;
  color:#fff!important;
  border:0!important;
  border-radius:14px!important;
  margin:0 12px 10px!important;
  padding:7px 8px!important;
  box-shadow:0 8px 20px rgba(200,92,137,.16)!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-head .fnb-cal-nav{
  background:#a94670!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.38)!important;
  box-shadow:none!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-head .fnb-cal-title{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-close{
  left:12px!important;
  right:auto!important;
  top:12px!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.28)!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today{
  background:#30252b!important;
  border:1px solid rgba(200,92,137,.45)!important;
  box-shadow:none!important;
  position:relative!important;
  min-height:52px!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today span{
  color:#f7c0d5!important;
  -webkit-text-fill-color:#f7c0d5!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today .fnb-cal-today-label{
  display:block!important;
  margin-top:1px!important;
  font-size:9px!important;
  line-height:11px!important;
  font-weight:500!important;
  color:#e8a9c1!important;
  -webkit-text-fill-color:#e8a9c1!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.selected.today{
  background:#c85c89!important;
  border-color:#c85c89!important;
  box-shadow:0 6px 14px rgba(200,92,137,.22)!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.selected.today span,
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.selected.today .fnb-cal-today-label{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-head .fnb-cal-nav[data-cal="next"]{
  order:1!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-head .fnb-cal-title{
  order:2!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-head .fnb-cal-nav[data-cal="prev"]{
  order:3!important;
}

/* v4.6.67 — final calendar header/date refinements */
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-head{
  position:relative!important;
  min-height:42px!important;
  margin-bottom:10px!important;
  padding:0 48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-head .fnb-cal-close{
  position:absolute!important;
  left:8px!important;
  right:auto!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  border-radius:50%!important;
  padding:0!important;
  z-index:30!important;
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.35)!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-head .fnb-cal-close::before{
  content:"×"!important;
  font-size:24px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-head .fnb-cal-title{
  order:2!important;
  flex:1 1 auto!important;
  text-align:center!important;
  background:#c85c89!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-radius:10px!important;
  min-height:34px!important;
  padding:0 12px!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-head .fnb-cal-nav[data-cal="prev"]{
  order:1!important;
  flex:0 0 34px!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-head .fnb-cal-nav[data-cal="next"]{
  order:3!important;
  flex:0 0 34px!important;
}
/* Today: one subtle border only, slightly lifted background, label under number. */
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today:not(.selected){
  background:#2b2429!important;
  border:1px solid #c85c89!important;
  box-shadow:none!important;
  flex-direction:column!important;
  gap:0!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today:not(.selected) span{
  display:block!important;
  line-height:16px!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day .fnb-cal-today-label{
  display:block!important;
  width:100%!important;
  margin:0!important;
  text-align:center!important;
  font-size:8px!important;
  line-height:9px!important;
  font-weight:500!important;
  color:#e9a7bf!important;
  -webkit-text-fill-color:#e9a7bf!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.selected.today{
  flex-direction:column!important;
  gap:0!important;
  box-shadow:0 6px 14px rgba(200,92,137,.22)!important;
}
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.selected.today .fnb-cal-today-label{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* v4.6.68 — calendar today label + single today circle + month arrow positions */
#fnb-calendar-modal-layer .fnb-cal-head{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 42px!important;
  align-items:center!important;
  direction:ltr!important;
  justify-content:initial!important;
}
#fnb-calendar-modal-layer .fnb-cal-head .fnb-cal-nav[data-cal="prev"]{
  grid-column:1!important;
  grid-row:1!important;
  order:initial!important;
}
#fnb-calendar-modal-layer .fnb-cal-head .fnb-cal-title{
  grid-column:2!important;
  grid-row:1!important;
  order:initial!important;
  direction:rtl!important;
  text-align:center!important;
}
#fnb-calendar-modal-layer .fnb-cal-head .fnb-cal-nav[data-cal="next"]{
  grid-column:3!important;
  grid-row:1!important;
  order:initial!important;
}

/* Keep today's number in the normal 38px circle; only that circle gets the today border. */
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected){
  position:relative!important;
  min-height:54px!important;
  height:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:row!important;
  gap:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected) span{
  position:relative!important;
  z-index:1!important;
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  transform:none!important;
  border-radius:50%!important;
  box-shadow:inset 0 0 0 1.5px #c85c89!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected) .fnb-cal-today-label{
  position:absolute!important;
  left:50%!important;
  top:calc(50% + 20px)!important;
  transform:translate(-50%,1px)!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  text-align:center!important;
  font-size:8px!important;
  line-height:9px!important;
  font-weight:500!important;
  color:#c08fa3!important;
  -webkit-text-fill-color:#c08fa3!important;
  pointer-events:none!important;
}

/* Dark-mode today: keep the same single inner circle and make the label subtle. */
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day.today:not(.selected){
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day.today:not(.selected) span{
  background:#2b2429!important;
  border:0!important;
  box-shadow:inset 0 0 0 1.5px #c85c89!important;
  color:#f7c0d5!important;
  -webkit-text-fill-color:#f7c0d5!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day.today:not(.selected) .fnb-cal-today-label{
  color:#d79aaf!important;
  -webkit-text-fill-color:#d79aaf!important;
}


/* v4.6.69 — ONLY calendar today label + single ring + month arrow direction */
#fnb-calendar-modal-layer .fnb-cal-head{
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr) 40px!important;
  grid-template-areas:"prev title next"!important;
  direction:ltr!important;
  align-items:center!important;
  justify-content:stretch!important;
}
#fnb-calendar-modal-layer .fnb-cal-head .fnb-cal-nav[data-cal="prev"]{
  grid-area:prev!important;
  justify-self:center!important;
  order:initial!important;
}
#fnb-calendar-modal-layer .fnb-cal-head .fnb-cal-title{
  grid-area:title!important;
  justify-self:stretch!important;
  order:initial!important;
}
#fnb-calendar-modal-layer .fnb-cal-head .fnb-cal-nav[data-cal="next"]{
  grid-area:next!important;
  justify-self:center!important;
  order:initial!important;
}

/* Today: do not let the label participate in layout, so the day number never moves. */
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected){
  position:relative!important;
  min-height:45px!important;
  height:45px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:row!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected) > span{
  position:relative!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  flex:0 0 38px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  box-sizing:border-box!important;
  border:0!important;
  background:transparent!important;
  box-shadow:inset 0 0 0 1.5px #c85c89!important;
  transform:none!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected) .fnb-cal-today-label{
  position:absolute!important;
  top:calc(50% + 20px)!important;
  left:50%!important;
  transform:translate(-50%,0)!important;
  width:max-content!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  white-space:nowrap!important;
  font-size:8px!important;
  line-height:9px!important;
  font-weight:500!important;
  text-align:center!important;
  color:#c08fa3!important;
  -webkit-text-fill-color:#c08fa3!important;
  pointer-events:none!important;
}

/* After another date is selected, today keeps only its one inner circle. */
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected),
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected)::before,
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected)::after{
  border:0!important;
  box-shadow:none!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected) > span{
  box-shadow:inset 0 0 0 1.5px #c85c89!important;
}

#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day.today:not(.selected) > span,
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.today:not(.selected) > span{
  background:#2b2429!important;
  color:#f7c0d5!important;
  -webkit-text-fill-color:#f7c0d5!important;
  box-shadow:inset 0 0 0 1.5px #c85c89!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day.today:not(.selected) .fnb-cal-today-label,
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.today:not(.selected) .fnb-cal-today-label{
  color:#d79aaf!important;
  -webkit-text-fill-color:#d79aaf!important;
}


/* v4.6.70 — final calendar today/arrow cleanup only */
#fnb-calendar-modal-layer .fnb-cal-head{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 42px!important;
  grid-template-areas:"prev title next"!important;
  direction:ltr!important;
  align-items:center!important;
  gap:8px!important;
}
#fnb-calendar-modal-layer .fnb-cal-head .fnb-cal-nav[data-cal="prev"]{
  grid-area:prev!important;
  justify-self:center!important;
}
#fnb-calendar-modal-layer .fnb-cal-head .fnb-cal-title{
  grid-area:title!important;
  justify-self:center!important;
  width:100%!important;
}
#fnb-calendar-modal-layer .fnb-cal-head .fnb-cal-nav[data-cal="next"]{
  grid-area:next!important;
  justify-self:center!important;
}

/* Today: the number is always centered in the same circle; the word "امروز"
   is absolutely positioned below it and can never push the number sideways. */
#fnb-calendar-modal-layer .fnb-cal-day.today{
  position:relative!important;
  min-height:50px!important;
  height:50px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:row!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  overflow:visible!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today > span{
  position:relative!important;
  z-index:1!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  flex:0 0 38px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  box-sizing:border-box!important;
  transform:none!important;
}
#fnb-calendar-modal-layer .fnb-cal-grid{
  overflow:visible!important;
}

#fnb-calendar-modal-layer .fnb-cal-day.today .fnb-cal-today-label{
  position:absolute!important;
  z-index:2!important;
  top:calc(50% + 19px)!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:max-content!important;
  height:10px!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  white-space:nowrap!important;
  font-size:8px!important;
  line-height:10px!important;
  font-weight:500!important;
  text-align:center!important;
  pointer-events:none!important;
}

/* Today when another date is selected: ONE ring only, no outer border. */
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected){
  border:0!important;
  box-shadow:none!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected)::before,
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected)::after{
  content:none!important;
  display:none!important;
  border:0!important;
  box-shadow:none!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected) > span{
  border:0!important;
  background:transparent!important;
  box-shadow:inset 0 0 0 1.5px #c85c89!important;
  color:#b99faa!important;
  -webkit-text-fill-color:#b99faa!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected) .fnb-cal-today-label{
  color:#c09aaa!important;
  -webkit-text-fill-color:#c09aaa!important;
}

/* If today itself is selected: keep the normal selected circle and remove
   the extra today ring; the label remains directly underneath. */
#fnb-calendar-modal-layer .fnb-cal-day.today.selected,
#fnb-calendar-modal-layer .fnb-cal-day.today.selected::before,
#fnb-calendar-modal-layer .fnb-cal-day.today.selected::after{
  border:0!important;
  box-shadow:none!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today.selected > span{
  border:0!important;
  background:#c85c89!important;
  box-shadow:0 5px 13px rgba(200,92,137,.18)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today.selected .fnb-cal-today-label{
  color:#c85c89!important;
  -webkit-text-fill-color:#c85c89!important;
}

/* Dark mode versions of the same two states. */
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day.today:not(.selected) > span,
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.today:not(.selected) > span{
  background:#2b2429!important;
  box-shadow:inset 0 0 0 1.5px #c85c89!important;
  color:#f7c0d5!important;
  -webkit-text-fill-color:#f7c0d5!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day.today:not(.selected) .fnb-cal-today-label,
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.today:not(.selected) .fnb-cal-today-label{
  color:#d79aaf!important;
  -webkit-text-fill-color:#d79aaf!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day.today.selected > span,
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.today.selected > span{
  background:#c85c89!important;
  box-shadow:0 5px 13px rgba(200,92,137,.18)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day.today.selected .fnb-cal-today-label,
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.today.selected .fnb-cal-today-label{
  color:#f09abd!important;
  -webkit-text-fill-color:#f09abd!important;
}

/* v4.6.71 — today label must remain fully visible after another date is selected */
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected){
  min-height:50px!important;
  height:50px!important;
  overflow:visible!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected) > span{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  border-radius:50%!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected) .fnb-cal-today-label{
  top:calc(50% + 20px)!important;
  margin:0!important;
  padding:0!important;
  height:9px!important;
  line-height:9px!important;
  font-size:8px!important;
  transform:translateX(-50%)!important;
}


/* v4.6.72 — keep the TODAY circle and label in one full calendar row.
   The row is intentionally taller so the label never gets clipped by the
   next row or the calendar viewport. */
#fnb-calendar-modal-layer .fnb-calendar-popover{
  padding-bottom:22px!important;
}
#fnb-calendar-modal-layer .fnb-cal-grid{
  overflow:visible!important;
  align-items:stretch!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today{
  min-height:56px!important;
  height:56px!important;
  overflow:visible!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today > span{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  flex:0 0 38px!important;
  margin:0!important;
  padding:0!important;
  position:relative!important;
  top:0!important;
  transform:none!important;
  box-sizing:border-box!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today .fnb-cal-today-label{
  position:absolute!important;
  left:50%!important;
  top:48px!important;
  transform:translateX(-50%)!important;
  width:max-content!important;
  height:10px!important;
  margin:0!important;
  padding:0!important;
  line-height:10px!important;
  font-size:8px!important;
  white-space:nowrap!important;
  display:block!important;
  z-index:5!important;
  pointer-events:none!important;
}
/* Never create a second ring on the day button itself. */
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected){
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected)::before,
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected)::after{
  content:none!important;
  display:none!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today.selected{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today.selected::before,
#fnb-calendar-modal-layer .fnb-cal-day.today.selected::after{
  content:none!important;
  display:none!important;
}


/* v4.6.73 — TODAY states redesigned cleanly:
   inactive = no pink ring at all, label close under number;
   active   = one pink circle containing number + "امروز". */
#fnb-calendar-modal-layer .fnb-cal-day.today{
  min-height:48px!important;
  height:48px!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today > span{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  flex:0 0 44px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  color:inherit!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today .fnb-cal-day-number{
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  font:inherit!important;
  font-weight:500!important;
  line-height:18px!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today .fnb-cal-today-label{
  display:block!important;
  position:static!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  font-size:8px!important;
  line-height:10px!important;
  font-weight:500!important;
  white-space:nowrap!important;
  pointer-events:none!important;
}

/* Inactive today: absolutely no circle/ring. */
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected) > span,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day.today:not(.selected) > span,
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.today:not(.selected) > span{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#b99faa!important;
  -webkit-text-fill-color:#b99faa!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected) .fnb-cal-today-label,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day.today:not(.selected) .fnb-cal-today-label,
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.today:not(.selected) .fnb-cal-today-label{
  color:#c09aaa!important;
  -webkit-text-fill-color:#c09aaa!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected)::before,
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected)::after{
  content:none!important;
  display:none!important;
  border:0!important;
  box-shadow:none!important;
}

/* Active today: the ONLY circle is the span itself; both number and label
   live inside it, with "امروز" directly below the number. */
#fnb-calendar-modal-layer .fnb-cal-day.today.selected > span,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day.today.selected > span,
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.today.selected > span{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  border:0!important;
  border-radius:50%!important;
  background:#c85c89!important;
  box-shadow:0 5px 13px rgba(200,92,137,.18)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today.selected .fnb-cal-day-number{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  line-height:17px!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today.selected .fnb-cal-today-label{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  line-height:9px!important;
  font-size:7px!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today.selected,
#fnb-calendar-modal-layer .fnb-cal-day.today.selected::before,
#fnb-calendar-modal-layer .fnb-cal-day.today.selected::after{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
#fnb-calendar-modal-layer .fnb-cal-grid{overflow:visible!important;}
#fnb-calendar-modal-layer .fnb-calendar-popover{overflow:visible!important;}


/* v4.6.74 — today state rebuilt: inactive = no circle; active = label inside pink circle */
#fnb-calendar-modal-layer .fnb-cal-day.today{
  position:relative!important;
  min-height:50px!important;
  height:50px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:row!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  overflow:visible!important;
}

/* TODAY, NOT SELECTED: absolutely no ring/circle. Number stays normal; label sits directly below. */
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected){
  min-height:45px!important;
  height:45px!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected) > .fnb-cal-day-number{
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  flex:none!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
  font:inherit!important;
  line-height:1.2!important;
  transform:none!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today:not(.selected) > .fnb-cal-today-label{
  position:absolute!important;
  left:50%!important;
  top:calc(50% + 8px)!important;
  transform:translateX(-50%)!important;
  width:max-content!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  white-space:nowrap!important;
  font-size:8px!important;
  line-height:10px!important;
  font-weight:500!important;
  color:#c08fa3!important;
  -webkit-text-fill-color:#c08fa3!important;
  pointer-events:none!important;
  z-index:2!important;
}

/* TODAY, SELECTED: one pink circle; number + "امروز" are both INSIDE it. */
#fnb-calendar-modal-layer .fnb-cal-day.today.selected{
  min-height:50px!important;
  height:50px!important;
  width:50px!important;
  justify-self:center!important;
  align-self:center!important;
  border:0!important;
  border-radius:50%!important;
  background:#c85c89!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(200,92,137,.25)!important;
  overflow:hidden!important;
  flex-direction:column!important;
  gap:0!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today.selected > .fnb-cal-day-number{
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  flex:none!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font:inherit!important;
  font-weight:800!important;
  line-height:15px!important;
}
#fnb-calendar-modal-layer .fnb-cal-day.today.selected > .fnb-cal-today-label{
  position:static!important;
  left:auto!important;
  top:auto!important;
  transform:none!important;
  width:auto!important;
  height:auto!important;
  margin:1px 0 0!important;
  padding:0!important;
  display:block!important;
  white-space:nowrap!important;
  font-size:7px!important;
  line-height:9px!important;
  font-weight:500!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  pointer-events:none!important;
}

/* Dark mode: inactive today remains un-circled. */
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day.today:not(.selected) > .fnb-cal-day-number,
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.today:not(.selected) > .fnb-cal-day-number{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#f7c0d5!important;
  -webkit-text-fill-color:#f7c0d5!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day.today:not(.selected) > .fnb-cal-today-label,
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.today:not(.selected) > .fnb-cal-today-label{
  color:#d79aaf!important;
  -webkit-text-fill-color:#d79aaf!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day.today.selected,
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.today.selected{
  background:#c85c89!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 8px 18px rgba(200,92,137,.25)!important;
}
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day.today.selected > .fnb-cal-day-number,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-cal-day.today.selected > .fnb-cal-today-label,
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.today.selected > .fnb-cal-day-number,
#fnb-calendar-modal-layer .fnb-calendar-popover.fnb-calendar-dark .fnb-cal-day.today.selected > .fnb-cal-today-label{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}


/* v4.6.75 — FINAL TODAY STATES. Scoped last so legacy calendar rules cannot win. */
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today:not(.selected),
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today:not(.selected){
  width:auto!important;
  height:48px!important;
  min-height:48px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:1px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform:none!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today:not(.selected)::before,
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today:not(.selected)::after,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today:not(.selected)::before,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today:not(.selected)::after{
  content:none!important;
  display:none!important;
  border:0!important;
  box-shadow:none!important;
  background:none!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today:not(.selected) > .fnb-cal-day-number,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today:not(.selected) > .fnb-cal-day-number{
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  transform:none!important;
  line-height:18px!important;
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today:not(.selected) > .fnb-cal-today-label,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today:not(.selected) > .fnb-cal-today-label{
  position:static!important;
  left:auto!important;
  top:auto!important;
  transform:none!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  font-size:8px!important;
  line-height:9px!important;
  font-weight:500!important;
  white-space:nowrap!important;
  color:#c08fa3!important;
  -webkit-text-fill-color:#c08fa3!important;
  pointer-events:none!important;
}

/* Active TODAY: one 52px pink circle. Number + label live inside it. */
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today.selected,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today.selected{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  min-height:52px!important;
  justify-self:center!important;
  align-self:center!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  outline:0!important;
  border-radius:50%!important;
  background:#c85c89!important;
  background-image:none!important;
  box-shadow:0 8px 18px rgba(200,92,137,.25)!important;
  color:#fff!important;
  overflow:hidden!important;
  transform:none!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today.selected > .fnb-cal-day-number,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today.selected > .fnb-cal-day-number{
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  line-height:16px!important;
  font-weight:800!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today.selected > .fnb-cal-today-label,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today.selected > .fnb-cal-today-label{
  position:static!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:1px 0 0!important;
  padding:0!important;
  transform:none!important;
  font-size:7px!important;
  line-height:9px!important;
  font-weight:500!important;
  white-space:nowrap!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}


/* v4.6.76 — uniform calendar cells + perfectly round active TODAY */
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-grid,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-grid{
  grid-auto-rows:48px!important;
  overflow:visible!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day{
  width:auto!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  min-width:0!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform:none!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day > span:not(.fnb-cal-day-number),
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day > span:not(.fnb-cal-day-number){
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  max-width:38px!important;
  max-height:38px!important;
  flex:0 0 38px!important;
  aspect-ratio:1 / 1!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}
/* Non-today cells and inactive today use the exact same 48px row height. */
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today:not(.selected),
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today:not(.selected){
  width:auto!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  flex-direction:column!important;
  gap:1px!important;
}
/* Active today is a real circle, not the grid cell itself. */
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today.selected,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today.selected{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  aspect-ratio:1 / 1!important;
  flex:0 0 46px!important;
  justify-self:center!important;
  align-self:center!important;
  box-sizing:border-box!important;
  border:0!important;
  border-radius:50%!important;
  background:#c85c89!important;
  box-shadow:0 8px 18px rgba(200,92,137,.25)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  overflow:hidden!important;
  transform:none!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today.selected > .fnb-cal-day-number,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today.selected > .fnb-cal-day-number{
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  line-height:15px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today.selected > .fnb-cal-today-label,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today.selected > .fnb-cal-today-label{
  position:static!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  line-height:8px!important;
  font-size:7px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  white-space:nowrap!important;
}

/* v4.6.77 — today number stays on the exact baseline of every other date;
   the label is positioned separately so it never pushes the number up/down. */
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today:not(.selected),
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today:not(.selected){
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  position:relative!important;
  display:block!important;
  flex-direction:initial!important;
  gap:0!important;
  overflow:visible!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today:not(.selected) > .fnb-cal-day-number,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today:not(.selected) > .fnb-cal-day-number{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
  line-height:18px!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today:not(.selected) > .fnb-cal-today-label,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today:not(.selected) > .fnb-cal-today-label{
  position:absolute!important;
  left:50%!important;
  top:37px!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  line-height:9px!important;
  font-size:8px!important;
  white-space:nowrap!important;
}

/* Available time slots: remove the faint background; keep the clean border/text. */
.fnb-slots .fnb-slot:not(:disabled):not(.fnb-slot-disabled),
.fnb:not(.fnb-dark-mode) .fnb-slots .fnb-slot:not(:disabled):not(.fnb-slot-disabled){
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
/* Keep the selected slot visibly selected. */
.fnb-slots .fnb-slot.selected,
.fnb-slots .fnb-slot.selected:hover{
  background:#c85c89!important;
  background-image:none!important;
}

/* Dark mode: available slots are also background-free. */
.fnb.fnb-dark-mode .fnb-slots .fnb-slot:not(:disabled):not(.fnb-slot-disabled){
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}


/* v4.6.78 — all calendar date cells use one fixed height so today's number
   sits on exactly the same horizontal line as every other date. */
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day{
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-empty,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-empty{
  height:48px!important;
  min-height:48px!important;
}

/* Reservable dates have no faint background. Keep hover/selected styling
   only where the calendar explicitly needs it. */
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day:not(.disabled):not(.selected),
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day:not(.disabled):not(.selected){
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
/* Today in its inactive state must also stay completely background-free. */
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today:not(.selected),
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today:not(.selected){
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}

/* Keep the active today marker perfectly circular. */
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today.selected,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today.selected{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  aspect-ratio:1 / 1!important;
  border-radius:50%!important;
  flex:0 0 46px!important;
}

@media(max-width:520px){
  #fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day,
  #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day,
  #fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-empty,
  #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-empty{
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
  }
}

/* v4.6.79 — final date alignment and clean reservable-date appearance. */
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day:not(.disabled):not(.selected) > span,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day:not(.disabled):not(.selected) > span{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  transform:none!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day:not(.disabled):not(.selected):hover > span,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day:not(.disabled):not(.selected):hover > span{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  transform:none!important;
}
/* Inactive today: keep the number exactly centered; move only the label upward. */
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today:not(.selected) > .fnb-cal-day-number,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today:not(.selected) > .fnb-cal-day-number{
  top:50%!important;
  left:50%!important;
  transform:translate(-50%,-50%)!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today:not(.selected) > .fnb-cal-today-label,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today:not(.selected) > .fnb-cal-today-label{
  top:29px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  line-height:9px!important;
}
/* Active today: the circle stays 46x46, while the number is anchored to the
   exact vertical center of the 48px calendar row, so it aligns with every date. */
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today.selected,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today.selected{
  position:relative!important;
  width:46px!important;height:46px!important;
  min-width:46px!important;max-width:46px!important;
  min-height:46px!important;max-height:46px!important;
  margin:1px auto!important;
  padding:0!important;
  border-radius:50%!important;
  overflow:hidden!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today.selected > .fnb-cal-day-number,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today.selected > .fnb-cal-day-number{
  position:absolute!important;
  left:50%!important;
  top:15px!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  line-height:15px!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today.selected > .fnb-cal-today-label,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today.selected > .fnb-cal-today-label{
  position:absolute!important;
  left:50%!important;
  top:30px!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  line-height:8px!important;
}

/* v4.6.80 — final calendar date cleanup */
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day:not(.selected),
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day:not(.selected) > span,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day:not(.selected),
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day:not(.selected) > span{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day:not(.selected):hover,
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day:not(.selected):hover > span,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day:not(.selected):hover,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day:not(.selected):hover > span{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  transform:none!important;
}
/* Inactive today: same row/number position as every other date. Only the label moves. */
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today:not(.selected) > .fnb-cal-day-number,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today:not(.selected) > .fnb-cal-day-number{
  top:50%!important;
  transform:translate(-50%,-50%)!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today:not(.selected) > .fnb-cal-today-label,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today:not(.selected) > .fnb-cal-today-label{
  top:27px!important;
  transform:translateX(-50%)!important;
  line-height:9px!important;
}
/* Active today: 46x46 true circle, with the number on the normal date baseline. */
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today.selected,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today.selected{
  width:46px!important;height:46px!important;
  min-width:46px!important;max-width:46px!important;
  min-height:46px!important;max-height:46px!important;
  aspect-ratio:1 / 1!important;
  margin:1px auto!important;
  border-radius:50%!important;
  overflow:hidden!important;
  position:relative!important;
  box-sizing:border-box!important;
  display:block!important;
  background:#c85c89!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today.selected > .fnb-cal-day-number,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today.selected > .fnb-cal-day-number{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
  line-height:15px!important;
}
#fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today.selected > .fnb-cal-today-label,
#fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today.selected > .fnb-cal-today-label{
  position:absolute!important;
  left:50%!important;
  top:30px!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  line-height:8px!important;
  font-size:7px!important;
}


/* v4.6.81 — reservable dates: absolutely no cell/inner background; inactive today label slightly farther from number. */
html body #fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-grid .fnb-cal-day:not(.disabled):not(.selected),
html body #fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-grid .fnb-cal-day:not(.disabled):not(.selected) > span,
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-grid .fnb-cal-day:not(.disabled):not(.selected),
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-grid .fnb-cal-day:not(.disabled):not(.selected) > span{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border-color:transparent!important;
}
html body #fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-grid .fnb-cal-day:not(.disabled):not(.selected):hover,
html body #fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-grid .fnb-cal-day:not(.disabled):not(.selected):focus,
html body #fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-grid .fnb-cal-day:not(.disabled):not(.selected):focus-visible,
html body #fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-grid .fnb-cal-day:not(.disabled):not(.selected):hover > span,
html body #fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-grid .fnb-cal-day:not(.disabled):not(.selected):focus > span,
html body #fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-grid .fnb-cal-day:not(.disabled):not(.selected):focus-visible > span{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border-color:transparent!important;
  outline:none!important;
}
html body #fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-grid .fnb-cal-day:not(.disabled):not(.selected)::before,
html body #fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-grid .fnb-cal-day:not(.disabled):not(.selected)::after{
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
}
html body #fnb-calendar-modal-layer .fnb-calendar-popover .fnb-cal-day.today:not(.selected) > .fnb-cal-today-label,
html body #fnb-calendar-modal-layer.fnb-dark-mode .fnb-calendar-popover .fnb-cal-day.today:not(.selected) > .fnb-cal-today-label{
  top:30px!important;
}


/* =========================================================
   FINAL FONT + DESKTOP WIDTH OVERRIDE
   Kalameh is defined in Elementor, so the plugin inherits
   Elementor's loaded Kalameh font and all available weights.
   ========================================================= */

/* Main booking panel: use the available horizontal space better
   on smaller laptops while remaining responsive. */
.fnb{
  width:min(1100px, calc(100vw - 40px))!important;
  max-width:1100px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  font-family:"Kalameh",Tahoma,Arial,sans-serif!important;
}

/* Force Kalameh through every booking element, including controls
   that may otherwise inherit Elementor/WordPress defaults. */
.fnb,
.fnb *,
.fnb *::before,
.fnb *::after,
.fnb input,
.fnb button,
.fnb select,
.fnb textarea,
.fnb option,
.fnb label,
.fnb a,
.fnb table,
.fnb th,
.fnb td,
.fnb svg,
.fnb-calendar-popover,
.fnb-calendar-popover *,
#fnb-calendar-modal-layer,
#fnb-calendar-modal-layer *,
#fnb-calendar-modal-layer button,
#fnb-calendar-modal-layer input{
  font-family:"Kalameh",Tahoma,Arial,sans-serif!important;
}

/* Keep form controls on the same font and allow every Elementor-loaded
   Kalameh weight to be used instead of browser defaults. */
.fnb input,
.fnb button,
.fnb select,
.fnb textarea{
  font-weight:inherit;
}

.fnb input::placeholder,
.fnb textarea::placeholder{
  font-family:"Kalameh",Tahoma,Arial,sans-serif!important;
}

/* Calendar was explicitly forcing Arial/Tahoma for its navigation;
   remove that exception so it also uses Kalameh. */
#fnb-calendar-modal-layer .fnb-cal-head .fnb-cal-nav,
#fnb-calendar-modal-layer .fnb-cal-nav,
.fnb.fnb-dark-mode .fnb-cal-head .fnb-cal-nav{
  font-family:"Kalameh",Tahoma,Arial,sans-serif!important;
}

/* Admin/panel area too. */
.fnb-admin,
.fnb-admin *,
.fnb-admin *::before,
.fnb-admin *::after,
.fnb-admin button,
.fnb-admin input,
.fnb-admin select,
.fnb-admin textarea,
.fnb-admin option{
  font-family:"Kalameh",Tahoma,Arial,sans-serif!important;
}

@media(max-width:1150px) and (min-width:521px){
  .fnb{
    width:calc(100vw - 32px)!important;
    max-width:1100px!important;
  }
}

@media(max-width:520px){
  .fnb{
    width:calc(100vw - 30px)!important;
    max-width:none!important;
  }
}


/* =========================================================
   FATIMA 4.6.82 — REAL DASHBOARD LAYOUT FIX
   Desktop only:
   - Upcoming appointments takes the full available width.
   - System status moves underneath it.
   ========================================================= */

@media (min-width: 769px){

  .fnb-admin .fnb-two{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:none!important;
    gap:20px!important;
  }

  .fnb-admin .fnb-two > .fnb-panel{
    width:100%!important;
    max-width:none!important;
    flex:0 0 100%!important;
    box-sizing:border-box!important;
  }

  /* First panel = today's / upcoming appointments */
  .fnb-admin .fnb-two > .fnb-panel:first-child{
    order:1!important;
  }

  /* Second panel = system status */
  .fnb-admin .fnb-two > .fnb-panel:nth-child(2){
    order:2!important;
  }

  /* Let the dashboard itself use the available desktop width. */
  .fnb-admin{
    width:calc(100% - 40px)!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
}

/* =========================================================
   FATIMA 4.6.81 — KALAMEH FORCE FOR WORDPRESS ADMIN PANEL
   ========================================================= */

.fnb-admin,
.fnb-admin *,
.fnb-admin *::before,
.fnb-admin *::after{
  font-family:"Kalameh",Tahoma,Arial,sans-serif!important;
}

/* WordPress controls that can escape normal inheritance. */
.fnb-admin input,
.fnb-admin select,
.fnb-admin textarea,
.fnb-admin button,
.fnb-admin option,
.fnb-admin .button,
.fnb-admin .button-primary,
.fnb-admin .button-secondary,
.fnb-admin table,
.fnb-admin th,
.fnb-admin td,
.fnb-admin label,
.fnb-admin a,
.fnb-admin h1,
.fnb-admin h2,
.fnb-admin h3,
.fnb-admin h4,
.fnb-admin h5,
.fnb-admin h6,
.fnb-admin p,
.fnb-admin span{
  font-family:"Kalameh",Tahoma,Arial,sans-serif!important;
}

/* WordPress admin UI immediately surrounding the plugin. */
body.wp-admin #wpcontent .fnb-admin,
body.wp-admin #wpcontent .fnb-admin *,
body.wp-admin #wpbody-content .fnb-admin,
body.wp-admin #wpbody-content .fnb-admin *{
  font-family:"Kalameh",Tahoma,Arial,sans-serif!important;
}

/* 4.6.85 confirmed-only UI */
.fnb-admin .fnb-status-pending,.fnb-admin .fnb-status-waiting,.fnb-admin .fnb-tab-pending,.fnb-admin .fnb-tab-waiting{display:none!important;}


/* v4.6.100 — consistent popup title/subtitle spacing + income edit field spacing */
.fnb-move-head > div{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:6px!important;
}
.fnb-move-head h3{
  margin:0!important;
  padding:0!important;
  line-height:1.55!important;
}
.fnb-move-head .fnb-mini{
  display:block!important;
  margin:0!important;
  padding:0!important;
  line-height:1.8!important;
  font-size:11px!important;
  color:#887b83!important;
}
.fnb-move-head + .fnb-modal-note{
  margin-top:14px!important;
}
.fnb-complete-box .fnb-income-edit-meta{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  margin-top:18px!important;
}
.fnb-complete-box .fnb-income-edit-meta .fnb-field{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:7px!important;
  min-width:0!important;
}
.fnb-complete-box .fnb-income-edit-meta .fnb-field label{
  display:block!important;
  margin:0!important;
  line-height:1.7!important;
}
.fnb-complete-box .fnb-income-edit-meta .fnb-field input,
.fnb-complete-box .fnb-income-edit-meta .fnb-field select,
.fnb-complete-box .fnb-income-edit-meta .fnb-field textarea{
  margin:0!important;
  width:100%!important;
}
@media(max-width:700px){
  .fnb-complete-box .fnb-income-edit-meta{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
}
.fnb-dark-mode .fnb-move-head .fnb-mini{color:#b7aab2!important}


/* v4.6.116 - Keep booking form strictly inside its parent container on mobile. */
.fnb{
  width:100%!important;
  max-width:680px!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
  overflow-x:hidden!important;
}
.fnb, .fnb *{max-width:100%;min-width:0;}
.fnb input, .fnb select, .fnb textarea, .fnb button{
  max-width:100%!important;
  box-sizing:border-box!important;
}
.fnb-progress, .fnb-dates, .fnb-slots, .fnb-services, .fnb-summary, .fnb-choice, .fnb-step{
  min-width:0!important;
  max-width:100%!important;
}
.fnb-choice, .fnb-choice *{overflow-wrap:anywhere;}
@media(max-width:768px){
  .fnb{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:17px!important;
    overflow-x:hidden!important;
  }
  .fnb-progress b{min-width:0!important;overflow:hidden;text-overflow:ellipsis;}
  .fnb-choice{width:100%!important;}
}
