/* Blushé Booking Bridge: uses the theme's tokens with safe fallbacks. */
.bbb{--b-berry:var(--berry,#8F3E49);--b-berry-deep:var(--berry-deep,#6F2C36);--b-ink:var(--ink,#1F1F1F);--b-stone:var(--stone,#6B605D);--b-line:var(--line,#E6D6D2);--b-bg:var(--porcelain,#FBF7F6);
font-family:var(--sans,system-ui,sans-serif);color:var(--b-ink);max-width:520px;margin-inline:auto}
.bbb .bbb-title{font-family:var(--serif,Georgia,serif);font-weight:500;font-size:clamp(2rem,4vw,2.6rem);line-height:1.1;margin:0 0 .35em}
.bbb .bbb-intro{color:var(--b-stone);margin:0 0 28px;font-size:1.05rem;line-height:1.55}
.bbb-field{margin:0 0 20px}
.bbb label{display:block;font-weight:400;font-size:.95rem;margin:0 0 6px}
.bbb .bbb-opt{color:var(--b-stone);font-weight:300}
.bbb input[type=text],.bbb input[type=email],.bbb input[type=tel],.bbb select{box-sizing:border-box;width:100%;font:inherit;font-size:16px;color:var(--b-ink);background:#fff;border:1px solid #CDBDB9;border-radius:2px;padding:14px 14px;min-height:50px;transition:border-color .2s,box-shadow .2s}
.bbb input:focus,.bbb select:focus{outline:none;border-color:var(--b-berry);box-shadow:0 0 0 3px rgba(143,62,73,.18)}
.bbb [aria-invalid=true]{border-color:#A3242F}
.bbb .bbb-err{color:#A3242F;font-size:.9rem;margin:6px 0 0}
.bbb .bbb-hint{color:var(--b-stone);font-size:.88rem;margin:6px 0 0;line-height:1.45}
.bbb-check{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;margin:4px 0 24px}
.bbb-check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--b-berry)}
.bbb-check label{font-size:.9rem;color:var(--b-stone);margin:0;line-height:1.45}
.bbb-hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.bbb .bbb-submit{display:block;width:100%;background:var(--b-berry);color:#fff;border:1px solid var(--b-berry);border-radius:2px;font:400 1rem/1 var(--sans,system-ui,sans-serif);letter-spacing:.06em;padding:19px 24px;min-height:56px;cursor:pointer;transition:background .2s}
.bbb .bbb-submit:hover{background:var(--b-berry-deep)}
.bbb .bbb-submit:focus-visible{outline:2px solid var(--b-ink);outline-offset:3px}
.bbb .bbb-submit[disabled]{opacity:.75;cursor:progress}
.bbb .bbb-small{font-size:.85rem;color:var(--b-stone);margin:16px 0 0;line-height:1.5}
.bbb .bbb-small a,.bbb .bbb-status a{color:var(--b-berry)}
.bbb .bbb-alert{background:#FBEAEA;border-left:3px solid #A3242F;color:#6E1A21;padding:12px 14px;margin:0 0 20px;font-size:.95rem}
.bbb .bbb-status p{margin:14px 0 0;font-size:.95rem}

.bbb-dialog{border:0;padding:0;max-width:min(560px,100vw);width:100%;background:var(--porcelain,#FBF7F6);box-shadow:0 30px 80px rgba(31,31,31,.25)}
.bbb-dialog::backdrop{background:rgba(31,31,31,.55)}
.bbb-dialog .bbb{padding:48px 40px 36px}
.bbb-close{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;background:transparent;font-size:1.8rem;line-height:1;color:var(--ink,#1F1F1F);cursor:pointer}
.bbb-close:focus-visible{outline:2px solid var(--berry,#8F3E49)}
@media (max-width:600px){
 .bbb-dialog{max-width:100vw;max-height:100dvh;height:100dvh;margin:0}
 .bbb-dialog .bbb{padding:56px 22px calc(28px + env(safe-area-inset-bottom))}
}
.bbb-page{padding-top:64px}
