.bvb-booking{
  --bvb-brand:var(--bv-brand,#a94f39);
  --bvb-brand-dark:var(--bv-brand-dark,#7f3527);
  --bvb-cream:var(--bv-cream,#fffaf7);
  --bvb-blush:#fbefeb;
  --bvb-line:#ead8d2;
  --bvb-muted:#716762;
  --bvb-ink:#2b2522;
  --bvb-white:#fff;
  --bvb-serif:var(--bv-serif,Georgia,"Times New Roman",serif);
  width:100%; color:var(--bvb-ink); font-size:16px; line-height:1.5;
}
.bvb-booking *{box-sizing:border-box}
.bvb-progress{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:start;gap:14px;margin:0 0 24px;padding:4px 4px 0}
.bvb-progress-step{min-width:118px;text-align:center;color:#887b75}
.bvb-progress-step span{display:grid;place-items:center;width:36px;height:36px;margin:0 auto 8px;border:1px solid #d7b8ae;border-radius:50%;background:#fff;color:#7a5b52;font-weight:700}
.bvb-progress-step strong{font-size:.77rem;font-weight:700}
.bvb-progress-step.is-active{color:var(--bvb-brand-dark)}
.bvb-progress-step.is-active span{background:var(--bvb-brand);border-color:var(--bvb-brand);color:#fff;box-shadow:0 8px 20px rgba(169,79,57,.18)}
.bvb-progress-line{height:1px;background:#e3d2cd;margin-top:18px}

.bvb-panel{background:rgba(255,255,255,.92);border:1px solid var(--bvb-line);border-radius:20px;padding:26px;box-shadow:0 12px 34px rgba(94,53,42,.045);margin-bottom:18px}
.bvb-heading-row{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px}
.bvb-number{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:var(--bvb-brand);color:#fff;font-weight:800;font-size:1rem;box-shadow:0 7px 18px rgba(169,79,57,.18)}
.bvb-heading-row h2{margin:0!important;font-family:var(--bvb-serif);font-size:clamp(1.75rem,2.6vw,2.45rem)!important;line-height:1.05!important;font-weight:500!important;color:var(--bvb-brand-dark)!important}
.bvb-heading-row p{margin:5px 0 0;color:var(--bvb-muted);font-size:.95rem}

.bvb-date-grid{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(420px,1.18fr);gap:26px;align-items:stretch}
.bvb-calendar-wrap{border:1px solid #eee1dc;border-radius:15px;background:#fff;padding:18px}
.bvb-calendar-head{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;text-align:center;margin-bottom:12px}
.bvb-calendar-head strong{font-size:1rem}
.bvb-cal-nav{width:34px;height:34px;border:0;border-radius:10px;background:#fcf3f0;color:var(--bvb-brand-dark);font-size:1.4rem;cursor:pointer}
.bvb-cal-nav:disabled{opacity:.25;cursor:not-allowed}
.bvb-calendar-week,.bvb-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.bvb-calendar-week{margin-bottom:5px;color:#8a7d77;font-size:.72rem;text-align:center}
.bvb-calendar-week span{padding:4px 0}
.bvb-cal-day,.bvb-cal-blank{aspect-ratio:1/1;min-width:0}
.bvb-cal-day{display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:#39322f;font:inherit;font-size:.88rem;cursor:pointer;transition:.15s ease}
.bvb-cal-day:hover:not(:disabled){background:#f9e8e2;color:var(--bvb-brand-dark)}
.bvb-cal-day.is-selected{background:var(--bvb-brand);color:#fff;font-weight:800}
.bvb-cal-day:disabled{opacity:.23;cursor:not-allowed}

.bvb-times-wrap{padding:6px 0 0}
.bvb-times-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}
.bvb-times-head h3{margin:0!important;font-family:var(--bvb-serif);font-size:1.35rem!important;font-weight:500!important;color:#3d302c!important}
.bvb-times-head span{color:#8a7d77;font-size:.82rem;text-align:right}
.bvb-times{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:10px;min-height:124px}
.bvb-time{min-height:42px;border:1px solid #e7cfc8;border-radius:9px;background:#fff9f7;color:var(--bvb-brand-dark);font-weight:700;cursor:pointer;transition:.15s ease}
.bvb-time:hover{background:#f8e6e0;border-color:#d8ac9f}
.bvb-time.is-selected{background:var(--bvb-brand);border-color:var(--bvb-brand);color:#fff;box-shadow:0 7px 17px rgba(169,79,57,.14)}
.bvb-time:disabled{opacity:.42;cursor:not-allowed}
.bvb-time-note{margin:12px 0 0;color:#8a7d77;font-size:.8rem}
.bvb-muted,.bvb-error{grid-column:1/-1;margin:0;padding:16px 0;color:#8a7d77}
.bvb-error{color:#9d3d2c}

.bvb-service-groups{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.bvb-service-group{padding:18px;border-radius:16px;background:#fffaf8;border:1px solid #f0dfda}
.bvb-service-group h3{margin:0 0 13px!important;font-family:var(--bvb-serif);font-size:1.35rem!important;font-weight:500!important;color:var(--bvb-brand-dark)!important}
.bvb-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.bvb-service-card{position:relative;display:flex;min-height:98px;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid #eadbd6;border-radius:11px;background:#fff;padding:12px 38px 11px 12px;cursor:pointer;color:#332c28;transition:.15s ease}
.bvb-service-card:hover{border-color:#d9afa3;transform:translateY(-1px)}
.bvb-service-card.is-selected{border-color:var(--bvb-brand);background:#fff5f1;box-shadow:0 7px 20px rgba(169,79,57,.08)}
.bvb-service-card strong{font-size:.9rem;line-height:1.25}
.bvb-price{margin-top:5px;font-family:var(--bvb-serif);font-size:1.3rem;color:var(--bvb-brand);font-weight:600}
.bvb-service-card small{margin-top:2px;color:#81756f;font-size:.76rem}
.bvb-service-radio{position:absolute;top:12px;right:12px;width:17px;height:17px;border:1.5px solid #d5a395;border-radius:50%;background:#fff}
.bvb-service-card.is-selected .bvb-service-radio:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--bvb-brand)}
.bvb-inline-alert{margin-top:14px;padding:12px 14px;border-radius:10px;background:#fff0ea;color:#8f3c2c;font-weight:600;font-size:.88rem}

.bvb-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.bvb-fields{display:grid;gap:10px}
.bvb-fields label{display:block}
.bvb-fields label>span{display:block;margin:0 0 5px;color:#6f635e;font-size:.79rem;font-weight:700}
.bvb-fields em{font-weight:400;color:#92867f}
.bvb-fields input,.bvb-fields textarea{width:100%;border:1px solid #ead8d2;border-radius:9px;background:#fff;padding:11px 12px;color:#342c29;outline:none;box-shadow:none!important}
.bvb-fields input:focus,.bvb-fields textarea:focus{border-color:#d6a697;box-shadow:0 0 0 3px rgba(169,79,57,.06)!important}
.bvb-honeypot{position:absolute!important;left:-99999px!important;opacity:0!important;width:1px!important;height:1px!important}
.bvb-summary{margin:0;display:grid;gap:0;border:1px solid #eee0db;border-radius:12px;overflow:hidden;background:#fff}
.bvb-summary div{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:11px 13px;border-bottom:1px solid #f1e5e1}
.bvb-summary div:last-child{border-bottom:0}
.bvb-summary dt{color:#877a74;font-size:.82rem}
.bvb-summary dd{margin:0;font-weight:700;color:#3a312d;text-align:right}
.bvb-confirm-button{width:100%;margin-top:14px;min-height:48px;border:0;border-radius:10px;background:var(--bvb-brand);color:#fff;font-weight:800;cursor:pointer}
.bvb-confirm-button:disabled{background:#dfb4aa;cursor:not-allowed;opacity:.74}
.bvb-submit-message{margin-top:14px;padding:12px 14px;border-radius:10px;font-size:.9rem}
.bvb-submit-message.is-success{background:#eef8f0;color:#27623b;border:1px solid #cfe7d4}
.bvb-submit-message.is-error{background:#fff0ec;color:#8f3e2f;border:1px solid #efd3cb}

.bvb-info-strip{margin-top:18px;padding:20px 22px;border:1px solid var(--bvb-line);border-radius:16px;background:#fbefeb}
.bvb-info-strip h3{margin:0 0 14px!important;font-family:var(--bvb-serif);font-size:1.25rem!important;font-weight:500!important;color:var(--bvb-brand-dark)!important}
.bvb-info-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0}
.bvb-info-grid span{padding:0 14px;border-right:1px solid #e4cbc3;color:#6f635e;font-size:.78rem;text-align:center}
.bvb-info-grid span:first-child{padding-left:0}.bvb-info-grid span:last-child{padding-right:0;border-right:0}

.bvb-business-strip{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:18px;padding:20px 22px;border-top:1px solid var(--bvb-line);border-bottom:1px solid var(--bvb-line)}
.bvb-business-strip>div{display:grid;gap:5px}
.bvb-business-strip strong{font-family:var(--bvb-serif);font-size:1.05rem;color:var(--bvb-brand-dark)}
.bvb-business-strip span{color:#6d625d;font-size:.84rem}

@media(max-width:1000px){
  .bvb-date-grid{grid-template-columns:1fr}
  .bvb-times{grid-template-columns:repeat(4,1fr)}
  .bvb-info-grid{grid-template-columns:repeat(3,1fr);row-gap:14px}
  .bvb-info-grid span:nth-child(3){border-right:0}.bvb-info-grid span:nth-child(4){padding-left:0}
}
@media(max-width:760px){
  .bvb-progress{grid-template-columns:repeat(4,1fr);gap:5px}.bvb-progress-line{display:none}.bvb-progress-step{min-width:0}.bvb-progress-step strong{font-size:.66rem}
  .bvb-panel{padding:18px;border-radius:16px}
  .bvb-date-grid,.bvb-service-groups,.bvb-bottom-grid,.bvb-business-strip{grid-template-columns:1fr}
  .bvb-service-grid{grid-template-columns:1fr 1fr}
  .bvb-times{grid-template-columns:repeat(3,1fr)}
  .bvb-info-grid{grid-template-columns:1fr 1fr}.bvb-info-grid span{padding:8px 10px;border-right:0;border-bottom:1px solid #ead7d0}.bvb-info-grid span:nth-last-child(-n+2){border-bottom:0}
}
@media(max-width:520px){
  .bvb-progress-step strong{display:none}.bvb-progress-step span{margin-bottom:0}
  .bvb-heading-row{gap:10px}.bvb-number{width:34px;height:34px;flex-basis:34px}
  .bvb-calendar-wrap{padding:12px}.bvb-calendar-week,.bvb-calendar{gap:2px}
  .bvb-times{grid-template-columns:repeat(2,1fr)}
  .bvb-service-grid{grid-template-columns:1fr}
  .bvb-summary div{grid-template-columns:80px 1fr}
  .bvb-info-grid{grid-template-columns:1fr}.bvb-info-grid span{border-bottom:1px solid #ead7d0!important;padding:9px 0}.bvb-info-grid span:last-child{border-bottom:0!important}
}

/* Beautivina booking hero + seamless integration with the matching theme */
.bvb-hero{display:grid;grid-template-columns:.88fr 1.12fr;min-height:320px;margin-bottom:22px;overflow:hidden;border:1px solid var(--bvb-line);border-radius:20px;background:linear-gradient(110deg,#fff8f5,#f8e6df)}
.bvb-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:36px 34px}
.bvb-eyebrow{color:var(--bvb-brand);font-size:.7rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase}
.bvb-hero h1{margin:10px 0 10px!important;font-family:var(--bvb-serif);font-size:clamp(2.8rem,5vw,4.7rem)!important;line-height:.92!important;font-weight:500!important;letter-spacing:-.045em;color:var(--bvb-brand-dark)!important}
.bvb-hero-copy>p{margin:0;color:#645a56;font-size:1rem}
.bvb-hero-benefits{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:22px;color:#6f635e;font-size:.78rem;font-weight:700}
.bvb-hero-benefits span:before{content:"✓";display:inline-grid;place-items:center;width:18px;height:18px;margin-right:7px;border:1px solid #d6aa9d;border-radius:50%;color:var(--bvb-brand);font-size:.7rem}
.bvb-hero-image{min-height:320px;overflow:hidden}
.bvb-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.page-template-page-booking .bv-page-hero{display:none}
.page-template-page-booking .bv-page-content{padding-top:30px}
.page-template-page-booking .bv-content-shell{max-width:none;padding:0;background:transparent;border:0;box-shadow:none}
@media(max-width:760px){.bvb-hero{grid-template-columns:1fr;min-height:0}.bvb-hero-copy{padding:28px 22px}.bvb-hero-image{min-height:230px}.bvb-hero-benefits{gap:10px 14px}}
