.nb-public{--nb-primary:#6448e8;--nb-accent:#f35f9e;max-width:820px;margin:25px auto;padding:26px;background:#fff;border:1px solid #ece9f3;border-radius:20px;box-shadow:0 18px 50px rgba(50,40,90,.08);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#19172b}.nb-public-head{display:flex;align-items:center;gap:14px;margin-bottom:24px}.nb-public-head img{width:52px;height:52px;object-fit:contain;border-radius:12px}.nb-public h2,.nb-public h3{margin:0 0 8px}.nb-public-head p{margin:0;color:#777487}.nb-step{padding:18px 0;border-top:1px solid #eeeaf4}.nb-choice{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.nb-choice label{cursor:pointer}.nb-choice input{position:absolute;opacity:0}.nb-choice span{display:flex;flex-direction:column;border:1px solid #e5e1ed;border-radius:13px;padding:14px;transition:.2s}.nb-choice input:checked+span{border-color:var(--nb-primary);background:#f4f1ff;box-shadow:0 0 0 2px color-mix(in srgb,var(--nb-primary) 15%,transparent)}.nb-choice small{margin-top:5px;color:#777487}.nb-public input,.nb-public textarea{box-sizing:border-box;width:100%;padding:12px;border:1px solid #ddd9e7;border-radius:10px;margin:5px 0 10px}.nb-public-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.nb-public-grid textarea{grid-column:1/-1}.nb-times{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.nb-times button{border:1px solid #ded9ec;background:#fff;border-radius:9px;padding:9px 12px;cursor:pointer}.nb-times button.active{background:var(--nb-primary);color:#fff;border-color:var(--nb-primary)}.nb-submit{width:100%;padding:14px;border:0;border-radius:11px;background:var(--nb-primary);color:#fff;font-weight:800;font-size:16px;cursor:pointer}.nb-result{margin-top:12px}.nb-success,.nb-notice{padding:14px;border-radius:10px;background:#eaf9f0}.nb-watermark{display:block;text-align:center;margin-top:18px;font-size:11px;color:#aaa;text-decoration:none}.nb-public label{display:block;font-weight:600}.nb-public label.check{display:flex;gap:8px;align-items:flex-start;font-weight:400;margin:10px 0}.nb-public label.check input{width:auto;margin-top:3px}.nb-my{display:grid;grid-template-columns:1fr 1fr 1fr;padding:12px;border-bottom:1px solid #eee}@media(max-width:650px){.nb-choice,.nb-public-grid{grid-template-columns:1fr}.nb-public{padding:18px;margin:10px}.nb-public-grid textarea{grid-column:auto}}
.nb-public{background:var(--nb-bg,#fff)}.nb-public-head img{width:var(--nb-logo-width,72px);height:auto;max-height:110px;border-radius:0}.nb-public-head.nb-logo-center{justify-content:center;text-align:center;flex-direction:column}.nb-public-head.nb-logo-left{justify-content:flex-start}

/* Accessible booking time buttons: explicitly override theme/Elementor button colours. */
.nb-public .nb-times button,
.nb-public .nb-times button:not(:hover):not(:focus):not(.active){
  color:#171717 !important;
  -webkit-text-fill-color:#171717;
  background:#fff !important;
  border:1px solid #d5cfdf !important;
  opacity:1;
  font-weight:600;
}
.nb-public .nb-times button:hover,
.nb-public .nb-times button:focus-visible,
.nb-public .nb-times button.active,
.nb-public .nb-times button.active:hover{
  color:#fff !important;
  -webkit-text-fill-color:#fff;
  background:var(--nb-primary,#6448e8) !important;
  border-color:var(--nb-primary,#6448e8) !important;
}
.nb-public .nb-times button:focus-visible{outline:2px solid #171717;outline-offset:2px}
.nb-public .nb-times button:disabled{color:#777 !important;-webkit-text-fill-color:#777;background:#eee !important;cursor:not-allowed;opacity:.65}

/* Offered dates and per-child consent fields */
.nb-offered-dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:12px 0}.nb-offered-date{padding:14px;border:1px solid #d9c6cf;border-radius:10px;background:#fff;color:#29232a;text-align:left;cursor:pointer;font:inherit}.nb-offered-date:hover,.nb-offered-date.active{background:var(--nb-primary,#ba5082);color:#fff;border-color:var(--nb-primary,#ba5082)}.nb-child-fields{display:grid;gap:12px;margin-top:12px}.nb-child-row{border:1px solid #eadde5;border-radius:12px;padding:14px;display:grid;gap:10px}.nb-child-row h4{margin:0}.nb-child-row label{display:grid;gap:5px}.nb-child-row input{width:100%;box-sizing:border-box;padding:11px;border:1px solid #ddd;border-radius:8px}.nb-capacity-help{font-size:13px;color:#666}

/* v2.2.4: Keep guardian consent statements readable regardless of theme styles. */
.nb-public.consent form label.check {display:flex !important;flex-direction:row !important;align-items:flex-start !important;gap:12px !important;width:100%;color:#19172b !important;-webkit-text-fill-color:#19172b !important;font-size:15px !important;line-height:1.55 !important;visibility:visible !important;opacity:1 !important;}
.nb-public.consent form label.check input[type="checkbox"] {display:block !important;position:static !important;flex:0 0 20px !important;width:20px !important;height:20px !important;min-width:20px !important;margin:2px 0 0 !important;padding:0 !important;opacity:1 !important;visibility:visible !important;appearance:auto !important;-webkit-appearance:checkbox !important;}
.nb-public.consent form label.check .nb-consent-checkbox-text {display:block !important;flex:1 1 auto !important;min-width:0 !important;color:#19172b !important;-webkit-text-fill-color:#19172b !important;font:inherit !important;line-height:1.55 !important;white-space:normal !important;visibility:visible !important;opacity:1 !important;}

/* v2.2.5: Responsive customer-facing layouts, scoped to Noventra Booking. */
.nb-public,.nb-public *{box-sizing:border-box}
.nb-public{width:min(100%,820px);min-width:0;overflow-wrap:anywhere}
.nb-public .nb-my{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid #e9e3ec;min-width:0}
.nb-public .nb-my>div{min-width:0;display:flex;flex-direction:column;gap:5px}
.nb-public .nb-my small{font-size:12px;color:#6f6877;font-weight:500}
.nb-public .nb-my b,.nb-public .nb-my span{overflow-wrap:anywhere;word-break:normal}
.nb-public .nb-my-status span{display:inline-flex;align-self:flex-start;padding:5px 10px;border-radius:99px;background:#eaf8ef;color:#22573a;text-transform:capitalize;font-size:13px}
.nb-public input,.nb-public textarea,.nb-public select{max-width:100%;min-width:0}
.nb-public .nb-public-grid>*{min-width:0}
.nb-public .nb-offered-dates{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.nb-public .nb-offered-date,.nb-public button{touch-action:manipulation}
.nb-public .nb-offered-date,.nb-public .nb-times button{min-height:44px}
.nb-public.consent label.check,.nb-public label.check{min-width:0;max-width:100%;white-space:normal}
.nb-public.consent label.check .nb-consent-checkbox-text{overflow-wrap:anywhere}
@media(max-width:767px){
 .nb-public{padding:18px 14px;margin:14px auto;border-radius:14px}
 .nb-public-head{align-items:flex-start;gap:10px}
 .nb-public-head img{width:44px;height:44px;flex:0 0 44px}
 .nb-public-head h2{font-size:clamp(18px,5vw,24px);line-height:1.25}
 .nb-public-grid,.nb-choice{grid-template-columns:minmax(0,1fr)}
 .nb-public-grid textarea{grid-column:1}
 .nb-public .nb-my{grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;padding:16px;border:1px solid #e9e3ec;border-radius:12px;margin:10px 0;background:#fff}
 .nb-public .nb-my-ref{grid-column:1}
 .nb-public .nb-my-date{grid-column:1}
 .nb-public .nb-my-status{grid-column:2;grid-row:1/3;align-self:start}
 .nb-public .nb-my-status span{font-size:12px}
 .nb-public .nb-step{padding:15px 0}
 .nb-public .nb-child-row{padding:12px}
 .nb-public .nb-submit{min-height:48px}
}
@media(max-width:360px){
 .nb-public .nb-my{grid-template-columns:minmax(0,1fr)}
 .nb-public .nb-my-status{grid-column:1;grid-row:auto}
}

.nb-date-request-entry{margin:16px 0 0;padding:14px;background:#faf7f9;border:1px solid #eadde5;border-radius:12px}.nb-date-request-entry p{margin:0 0 10px}.nb-request-date-open,.nb-request-date-submit{background:var(--nb-primary,#a75a88);color:white;border:0;border-radius:10px;padding:12px 18px;min-height:44px;cursor:pointer;font:inherit;font-weight:700}.nb-date-request-form:not([hidden]){display:grid;gap:10px;margin:15px 0;padding:18px;border:1px solid #e9dce5;border-radius:12px}.nb-date-request-form[hidden]{display:none!important}.nb-date-request-form label{display:block}.nb-date-request-form input,.nb-date-request-form textarea{width:100%;max-width:100%}.nb-request-date-result{overflow-wrap:anywhere}.nb-request-date-submit:disabled{opacity:.65}

/* v2.3.2 account and accessible booking list */
.nb-account-bookings .nb-bookings-scroll{max-height:500px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#d98cb6 #f8f1f5;scrollbar-width:thin;padding-right:8px;}
.nb-account-bookings>h2{margin-bottom:14px}.nb-account-recognised,.nb-account-required{padding:16px;border:1px solid #eadde6;border-radius:12px;margin-bottom:16px;background:#fffafc}.nb-account-recognised p,.nb-account-required p{margin:8px 0}.nb-account-link{display:inline-block;margin:8px 8px 8px 0;padding:11px 18px;background:var(--nb-accent,#e99ec4);border-radius:9px;color:#fff!important;text-decoration:none!important;font-weight:600}.nb-account-hint{font-size:12px}.nb-account-recognised input{display:block;width:100%;margin-top:8px}.nb-bookings-scroll:focus-visible{outline:2px solid var(--nb-accent,#e99ec4)}
@media(max-width:767px){.nb-account-bookings .nb-bookings-scroll{max-height:400px;padding-right:4px}.nb-account-bookings .nb-my{display:flex;flex-wrap:wrap;gap:10px}.nb-account-bookings .nb-my>*{min-width:0;overflow-wrap:anywhere}}

/* v2.3.3 customer booking details */
.nb-account-bookings .nb-booking-details{grid-column:1/-1;width:100%;margin-top:10px;border-top:1px solid #eee;padding-top:10px;}
.nb-booking-details summary{cursor:pointer;color:#a35f7c;font-weight:700;min-height:35px;}
.nb-booking-detail-body{padding:10px 0;overflow-wrap:anywhere;}
.nb-booking-detail-body h4{margin:10px 0 4px;}
.nb-booking-detail-body ul{padding-left:20px;margin:5px 0 12px;}
.nb-pay-early{display:inline-block;border:0;border-radius:8px;padding:12px 15px;background:#b97c98;color:#fff!important;text-decoration:none;cursor:pointer;font:inherit;font-weight:600;max-width:100%;white-space:normal;}
.nb-booking-details form{margin:12px 0;}

/* v2.3.4: WooCommerce is the sole customer login on My Account. */
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-register {
  background:#fff; border:1px solid #f0dce4; border-radius:20px;
  box-shadow:0 12px 32px rgba(81,48,64,.08); padding:clamp(22px,4vw,38px);
  max-width:560px; margin:12px auto 30px;
}
body.woocommerce-account:not(.logged-in) .woocommerce h2 {
  color:#bd995b; font-family:Georgia,serif; font-size:clamp(25px,3vw,34px);
  margin:14px 0 22px; text-align:center;
}
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login input.input-text,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-register input.input-text {
  width:100%; min-height:46px; border:1px solid #dfced5; border-radius:9px;
  padding:10px 13px; background:#fff; box-sizing:border-box; font-size:16px;
}
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login .button,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-register .button {
  background:#bd849b; color:#fff; border:0; border-radius:9px; padding:13px 26px;
  min-height:45px; cursor:pointer;
}
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login .button:hover,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-register .button:hover {background:#a96d87;color:#fff}
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-LostPassword a {color:#a96d87}
body.woocommerce-account:not(.logged-in) .woocommerce .u-columns {display:flex;flex-wrap:wrap;gap:22px;align-items:flex-start}
body.woocommerce-account:not(.logged-in) .woocommerce .u-columns > div {flex:1 1 320px;min-width:0;float:none;width:auto}
@media(max-width:680px){body.woocommerce-account:not(.logged-in) .woocommerce .u-columns{display:block}}

/* v2.3.5: One centred WooCommerce customer authentication card, including registration. */
body.nb-customer-auth .elementor-section:has(.woocommerce form.woocommerce-form-login) > .elementor-container,
body.nb-customer-auth .elementor-section:has(.woocommerce form.woocommerce-form-register) > .elementor-container {display:flex!important;justify-content:center!important;flex-wrap:wrap!important;}
body.nb-customer-auth .elementor-column:has(.woocommerce form.woocommerce-form-login),
body.nb-customer-auth .elementor-column:has(.woocommerce form.woocommerce-form-register){width:100%!important;max-width:100%!important;flex:0 0 100%!important;}
body.nb-customer-auth .elementor-section:has(.woocommerce form.woocommerce-form-login) > .elementor-container > .elementor-column:not(:has(.woocommerce form.woocommerce-form-login)),
body.nb-customer-auth .elementor-section:has(.woocommerce form.woocommerce-form-register) > .elementor-container > .elementor-column:not(:has(.woocommerce form.woocommerce-form-register)){display:none!important;}
body.nb-customer-auth .woocommerce{width:100%!important;max-width:620px!important;margin:0 auto!important;float:none!important;}
body.nb-customer-auth .woocommerce .u-columns{display:block!important;width:100%!important;}
body.nb-customer-auth .woocommerce .u-columns > div{width:100%!important;max-width:100%!important;float:none!important;flex:none!important;}
body.nb-customer-auth .woocommerce .woocommerce-form-login,
body.nb-customer-auth .woocommerce .woocommerce-form-register{width:100%!important;max-width:520px!important;margin:0 auto 25px!important;}
body.nb-customer-auth .woocommerce .woocommerce-form-register{display:none!important;}
body.nb-customer-auth.nb-register-mode .woocommerce .woocommerce-form-register{display:block!important;}
body.nb-customer-auth.nb-register-mode .woocommerce .woocommerce-form-login{display:none!important;}
body.nb-customer-auth .nb-auth-tabs{display:flex;justify-content:center;gap:8px;margin:0 auto 22px;max-width:520px;}
body.nb-customer-auth .nb-auth-tabs a{flex:1;text-align:center;border-radius:10px;padding:13px 12px;border:1px solid #c98ba4;color:#995c75;text-decoration:none;font-weight:700;background:white;}
body.nb-customer-auth .nb-auth-tabs a[aria-current="page"]{background:#b87e98;color:white;}
body.nb-customer-auth .woocommerce .woocommerce-form-login .form-row,
body.nb-customer-auth .woocommerce .woocommerce-form-register .form-row{width:100%;float:none;}
@media(max-width:600px){body.nb-customer-auth .woocommerce{padding:0 12px!important;}body.nb-customer-auth .nb-auth-tabs{gap:5px}}

/* Weekend-only training calendar */
.nb-training-weekend-note{margin:0 0 12px;padding:12px 15px;background:#fff5f9;border:1px solid #e7bbcd;border-left:4px solid var(--nb-primary,#bd809e);border-radius:9px;font-weight:700;color:#75425d;}
.nb-training-date{cursor:pointer!important;background:#fff!important;}
#ui-datepicker-div{z-index:999999!important;background:#fff;border:1px solid #e9d9e1;border-radius:12px;box-shadow:0 12px 35px rgba(0,0,0,.16);padding:12px;min-width:290px;font-family:inherit;}
#ui-datepicker-div .ui-datepicker-header{display:flex;align-items:center;justify-content:space-between;padding:7px 5px 14px;position:relative;}
#ui-datepicker-div .ui-datepicker-title{font-weight:700;text-align:center;flex:1;order:2;}
#ui-datepicker-div .ui-datepicker-prev{order:1;}#ui-datepicker-div .ui-datepicker-next{order:3;}
#ui-datepicker-div .ui-datepicker-prev,#ui-datepicker-div .ui-datepicker-next{cursor:pointer;color:#a65e80;padding:4px 7px;text-decoration:none;}
#ui-datepicker-div table{width:100%;border-collapse:separate;border-spacing:3px;text-align:center;}
#ui-datepicker-div th{padding:5px 1px;font-size:12px;color:#6c6570;}
#ui-datepicker-div td{padding:0!important;border:0!important;}
#ui-datepicker-div td a,#ui-datepicker-div td span{display:block;padding:8px 4px;border-radius:7px;text-align:center;text-decoration:none;}
#ui-datepicker-div td a{color:#7c365a;background:#fff1f7;font-weight:700;}
#ui-datepicker-div td a:hover,#ui-datepicker-div td .ui-state-active{background:#b77b99;color:white;}
#ui-datepicker-div td.ui-datepicker-unselectable span{color:#bbb;background:#f4f4f4;text-decoration:line-through;cursor:not-allowed;}

/* Nail-service weekday-only calendar; matches the training date picker. */
.nb-nails-weekday-note{margin:0 0 12px;padding:12px 15px;background:#f0f5ff;border:1px solid #b7c8ee;border-left:4px solid var(--nb-primary,#7254c9);border-radius:9px;font-weight:700;color:#263c73}
.nb-nails-date{cursor:pointer!important;background:#fff!important}
/* PTP customer rewards */
.nb-rewards{margin-top:22px;padding:24px;border-radius:16px;background:#f8f6ff;color:#27213e;border:1px solid #e3dcff}
.nb-rewards input[readonly]{padding:12px;border:1px solid #c9bdf4;border-radius:9px;background:#fff;color:#282039}
/* Perfect That Polish loyalty card: blush, dusty rose and champagne gold. */
.nb-heart-rewards{box-sizing:border-box;max-width:100%;margin:24px auto;padding:clamp(18px,4vw,36px);border:1px solid #d8b679;border-radius:24px;background:linear-gradient(145deg,#fffaf9,#f9e9ec 65%,#fff8f5);box-shadow:0 14px 35px #7d395025;color:#713b50;font-family:inherit;overflow:hidden}
.nb-heart-rewards *{box-sizing:border-box}.nb-heart-top{text-align:center}.nb-heart-kicker{font-size:11px;letter-spacing:.19em;color:#a87577;font-weight:700}.nb-heart-top h2{font-family:Georgia,serif;font-weight:400;font-style:italic;font-size:clamp(29px,5vw,46px);margin:8px 0;color:#994e69}.nb-heart-top h2 span{color:#c29b56}.nb-heart-top p{letter-spacing:.08em;text-transform:uppercase;font-size:12px;color:#995d70}.nb-heart-prize{display:flex;align-items:center;gap:18px;margin:24px 0;padding:20px;border:1px solid #d8ad68;border-radius:18px;background:linear-gradient(115deg,#a75d74,#d99daa);color:#fff;box-shadow:0 5px 14px #a75d7430}.nb-heart-gift{font-size:34px}.nb-heart-prize strong,.nb-heart-prize span:not(.nb-heart-gift){display:block}.nb-heart-prize strong{font-size:19px}.nb-heart-prize div span{font-size:16px;margin-top:3px}.nb-heart-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;margin:25px 0}.nb-heart{position:relative;display:grid;place-items:center;min-width:0;aspect-ratio:1/1}.nb-heart-shape{font-size:clamp(24px,5.5vw,56px);line-height:1;filter:drop-shadow(0 2px 1px #b7836866)}.nb-heart-earned .nb-heart-shape{color:#c26c89;text-shadow:0 1px #fff,0 0 5px #e2acbd}.nb-heart-empty .nb-heart-shape{color:#f5dfe4;text-shadow:0 0 1px #aa6a7a}.nb-heart-inside{position:absolute;top:43%;left:50%;transform:translate(-50%,-50%);font-weight:700;font-size:clamp(10px,1.8vw,18px);color:#8d5269}.nb-heart-earned .nb-heart-inside{color:#fff}.nb-heart-stats{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:20px}.nb-heart-stats strong{color:#943f5e}.nb-heart-stats strong span{font-weight:400}.nb-heart-countdown{border-radius:100px;padding:7px 14px;background:#bb7289;color:#fff;font-size:16px}.nb-heart-progress{height:19px;border-radius:30px;border:1px solid #d5ad70;background:#f4dfe3;overflow:hidden;margin:16px 0}.nb-heart-progress span{display:block;height:100%;border-radius:30px;background:linear-gradient(90deg,#a75c77,#e8a2ba);transition:width .3s}.nb-heart-message{padding:16px;border:1px solid #dfb7bd;border-radius:16px;background:#fff7f8;text-align:center;font-size:16px}.nb-heart-small{text-align:center;font-size:12px;color:#8e6975}.nb-heart-referral{margin-top:24px;padding:20px;border:1px solid #d8b679;border-radius:18px;background:linear-gradient(120deg,#a96078,#c5889c);color:#fff}.nb-heart-referral h3{color:#fff;margin:0 0 8px;font-family:Georgia,serif;font-style:italic;font-size:26px}.nb-heart-referral p{color:#fff;margin:0 0 12px}.nb-heart-share{display:flex;gap:8px;flex-wrap:wrap}.nb-heart-share input{flex:1 1 180px;min-width:0;border:1px solid #e2b3c2;border-radius:10px;padding:12px;background:#fff;color:#713b50}.nb-heart-share button{border:1px solid #d9b477;border-radius:10px;background:#fff6f6;color:#8b4761;font-weight:700;padding:12px 16px;cursor:pointer}.nb-heart-available{margin-top:22px}.nb-heart-available h3{color:#914a65}.nb-heart-available p{padding:10px 0;border-bottom:1px solid #e8d3d7}.nb-reward-choice{background:#fff6f8;border:1px solid #e8c8d3;border-radius:12px;padding:16px;margin:14px 0}.nb-reward-choice select{max-width:100%;width:100%}
@media(max-width:600px){.nb-heart-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.nb-heart-shape{font-size:clamp(36px,10vw,55px)}.nb-heart-inside{font-size:15px}.nb-heart-stats{font-size:17px}.nb-heart-prize{padding:14px}.nb-heart-rewards{padding:16px}.nb-heart-referral{padding:15px}}

/* v2.7.2 — PTP My Bookings visual refresh. Scoped to customer account only. */
.nb-public.nb-account-bookings{max-width:820px;background:linear-gradient(155deg,#fffaf9 0%,#fff4f6 100%)!important;border:1px solid #dec094;border-radius:26px;padding:clamp(22px,4vw,38px);box-shadow:0 16px 44px rgba(125,70,91,.10);color:#713e52;overflow:hidden}
.nb-account-bookings>h2{font-family:Georgia,'Times New Roman',serif!important;font-weight:400!important;font-style:italic;font-size:clamp(31px,6vw,46px)!important;line-height:1.15!important;color:#98536d!important;margin:0 0 23px!important;letter-spacing:-.025em}
.nb-account-bookings>h2:after{content:'♡';color:#c29a5a;margin-left:12px;font-size:.82em}
.nb-account-bookings .nb-bookings-scroll{max-height:560px;scrollbar-color:#bd8096 #faeaf0;padding:0 3px 2px 0}
.nb-account-bookings .nb-bookings-scroll>p.nb-account-empty{margin:0;padding:32px 20px;border:1px dashed #d7b1bb;border-radius:18px;background:#fff9fa;text-align:center;color:#80576a;font-size:16px;line-height:1.6}
.nb-account-bookings .nb-account-empty-icon{display:block;font-size:38px;line-height:1;margin-bottom:12px;color:#b77991}
.nb-account-bookings .nb-account-empty-title{display:block;font-family:Georgia,'Times New Roman',serif;font-size:24px;color:#984d69;margin-bottom:5px}
.nb-account-bookings .nb-my{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;align-items:start;gap:15px;padding:20px!important;margin:0 0 14px!important;background:#fffafa!important;border:1px solid #e5c5cd!important;border-radius:19px!important;box-shadow:0 5px 18px rgba(125,70,91,.055)}
.nb-account-bookings .nb-my>div{min-width:0}
.nb-account-bookings .nb-my small{font-size:11px!important;letter-spacing:.075em;text-transform:uppercase;font-weight:750;color:#a36f80!important}
.nb-account-bookings .nb-my-ref b{font-size:17px;color:#813f5b;overflow-wrap:anywhere}
.nb-account-bookings .nb-my-date span{font-weight:650;color:#674455}
.nb-account-bookings .nb-my-status span{padding:7px 12px;border-radius:99px;font-weight:750;background:#f5e4eb;color:#92506b;text-transform:capitalize;border:1px solid #e7c9d3}
.nb-account-bookings .nb-booking-details{grid-column:1/-1;margin:4px 0 0!important;border-top:1px solid #ecd5db!important;padding-top:14px!important}
.nb-account-bookings .nb-booking-details summary{display:list-item;color:#984a67!important;font-weight:750;font-size:15px;min-height:42px;padding:10px 2px;cursor:pointer}
.nb-account-bookings .nb-booking-details summary:focus-visible{outline:2px solid #a85b78;outline-offset:3px;border-radius:4px}
.nb-account-bookings .nb-booking-detail-body{padding:8px 0 4px;color:#6e4658;line-height:1.6}
.nb-account-bookings .nb-booking-detail-body h4{color:#964d69;font-size:16px}
.nb-account-bookings .nb-booking-detail-body ul{margin:6px 0 14px;padding-left:22px}
.nb-account-bookings .nb-pay-early,.nb-account-bookings .nb-account-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 18px;background:linear-gradient(115deg,#a85f79,#c4879a)!important;border:1px solid #c89d70;border-radius:12px;color:#fff!important;-webkit-text-fill-color:#fff;font-weight:750;text-align:center;box-shadow:0 4px 12px #a85f7926;text-decoration:none!important}
.nb-account-bookings .nb-pay-early:hover,.nb-account-bookings .nb-account-link:hover{filter:brightness(.96)}
@media(max-width:767px){
 .nb-public.nb-account-bookings{margin:12px auto;padding:23px 18px;border-radius:23px}
 .nb-account-bookings .nb-bookings-scroll{max-height:450px;padding-right:2px}
 .nb-account-bookings .nb-my{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;padding:18px!important}
 .nb-account-bookings .nb-my-ref{grid-column:1!important;grid-row:1!important}
 .nb-account-bookings .nb-my-date{grid-column:1!important;grid-row:2!important}
 .nb-account-bookings .nb-my-status{grid-column:2!important;grid-row:1/3!important;align-self:start}
 .nb-account-bookings .nb-booking-details{grid-column:1/-1!important}
 .nb-account-bookings .nb-my-status span{font-size:11px!important;white-space:normal;text-align:center}
}
@media(max-width:390px){.nb-account-bookings .nb-my{grid-template-columns:minmax(0,1fr)!important}.nb-account-bookings .nb-my-status{grid-column:1!important;grid-row:3!important}.nb-account-bookings .nb-booking-details{grid-row:4!important}}

/* PTP standalone referral banner — v2.7.7 */
.nb-ref-banner{box-sizing:border-box;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:30px;width:100%;padding:36px clamp(20px,4vw,56px);border:1px solid #d9b775;border-radius:26px;background:linear-gradient(115deg,#fff8f8 0%,#f9e8eb 56%,#edcbd4 100%);box-shadow:0 16px 40px rgba(120,65,80,.12);color:#743b51;font-family:inherit}
.nb-ref-banner *{box-sizing:border-box}.nb-ref-banner-body{position:relative;z-index:1;flex:1 1 55%;min-width:0}.nb-ref-banner-kicker{display:block;letter-spacing:.18em;font-size:11px;font-weight:700;color:#a97780;margin-bottom:8px}.nb-ref-banner h2{font-family:Georgia,serif;font-size:clamp(30px,3.8vw,48px);font-style:italic;font-weight:400;line-height:1.15;color:#934e67;margin:0 0 14px}.nb-ref-banner h2 span{color:#c49c54}.nb-ref-banner p{font-size:clamp(16px,1.7vw,21px);line-height:1.5;margin:0 0 9px;color:#703e50}.nb-ref-banner p strong{color:#a45072}.nb-ref-banner small{display:block;font-size:12px;line-height:1.5;color:#865b68}.nb-ref-banner-decoration{position:absolute;z-index:0;right:18%;top:-80px;font:normal 240px/1 Georgia,serif;color:#c99b9e;opacity:.12;pointer-events:none}.nb-ref-banner-action{position:relative;z-index:1;flex:1 1 34%;min-width:240px}.nb-ref-banner-action label{display:block;font-size:13px;font-weight:700;margin:0 0 8px;color:#884b61}.nb-ref-banner-controls{display:flex;gap:8px;flex-wrap:wrap}.nb-ref-banner-controls input{flex:1 1 170px;min-width:0;max-width:100%;height:45px!important;border:1px solid #d9b8c0!important;border-radius:12px!important;background:#fff!important;color:#754456!important;padding:10px!important;font-size:13px!important}.nb-ref-banner-copy,.nb-ref-banner-signin{display:inline-flex!important;align-items:center;justify-content:center;min-height:45px;padding:12px 19px!important;border:1px solid #d8ad6b!important;border-radius:12px!important;background:linear-gradient(110deg,#a65e79,#c58da0)!important;color:#fff!important;font-weight:700!important;font-size:14px!important;text-decoration:none!important;cursor:pointer;box-shadow:0 5px 15px rgba(128,63,88,.18)}.nb-ref-banner-copy:hover,.nb-ref-banner-signin:hover{filter:brightness(.95)}.nb-ref-banner-feedback{display:block;min-height:20px;margin-top:7px;font-size:12px;color:#7e465a}
@media(max-width:760px){.nb-ref-banner{flex-direction:column;align-items:stretch;gap:22px;padding:26px 20px;border-radius:20px}.nb-ref-banner-body,.nb-ref-banner-action{flex:auto;min-width:0;width:100%}.nb-ref-banner h2{font-size:34px}.nb-ref-banner-decoration{right:-20px;top:-30px;font-size:160px}.nb-ref-banner-controls{flex-direction:column}.nb-ref-banner-controls input,.nb-ref-banner-copy{width:100%;flex:auto}.nb-ref-banner-signin{width:100%;text-align:center}}

/* Branded reschedule date/time picker */
.nb-reschedule-picker{display:grid;gap:12px;max-width:360px;margin:14px 0}.nb-reschedule-picker label{display:grid;gap:6px}.nb-reschedule-picker input,.nb-reschedule-picker select{width:100%;min-height:44px;border:1px solid #d8b2bd;border-radius:9px;padding:9px;background:#fff;color:#713f56}.nb-reschedule-picker .nb-reschedule-status{font-size:13px;color:#98546d}.ui-datepicker{z-index:99999!important;background:#fff8f9!important;border:1px solid #d5a7b4!important;border-radius:14px!important;padding:12px!important;box-shadow:0 12px 35px #56313d33!important;max-width:calc(100vw - 32px)}.ui-datepicker .ui-datepicker-header{background:#b46b86!important;color:white!important;border-radius:8px!important;padding:8px!important}.ui-datepicker .ui-datepicker-title{color:white!important}.ui-datepicker table{width:100%;border-collapse:separate;border-spacing:3px}.ui-datepicker td a,.ui-datepicker td span{display:block;text-align:center;padding:7px!important;border-radius:7px!important;text-decoration:none!important;color:#793e55!important;background:#f9eaf0!important}.ui-datepicker td a:hover,.ui-datepicker td .ui-state-active{background:#b46b86!important;color:white!important}.ui-datepicker td.ui-datepicker-unselectable span{opacity:.35;background:#eee!important;color:#777!important}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{cursor:pointer;color:white!important}.ui-datepicker .ui-datepicker-prev:before{content:'‹';font-size:23px}.ui-datepicker .ui-datepicker-next:before{content:'›';font-size:23px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:none}
