.wwb-booking{margin:80px auto 0;padding:48px;max-width:1200px;background:#f1eee2;color:#111;border:1px solid rgba(17,17,15,.14)}
.wwb-booking-head span{font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.wwb-booking-head h2{font:400 clamp(44px,6vw,82px)/.9 Georgia,serif;margin:14px 0 18px}
.wwb-booking-head p{max-width:760px;font-size:16px;line-height:1.5}
.wwb-form{margin-top:35px;position:relative}
.wwb-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.wwb-form-grid label{font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.wwb-form-grid input,.wwb-form-grid select,.wwb-form-grid textarea{display:block;width:100%;margin-top:8px;padding:13px;border:1px solid rgba(17,17,15,.25);background:#fff;font:inherit;box-sizing:border-box}
.wwb-form-grid textarea{resize:vertical}
.wwb-date-field{grid-column:1/-1}
.wwb-date-field input{cursor:pointer}
.wwb-date-field input::placeholder{color:#555}
.wwb-calendar-wrap{display:none;position:relative;margin:10px 0 0;z-index:20}
.wwb-calendar{width:min(680px,100%);box-sizing:border-box;border:1px solid rgba(17,17,15,.18);background:#fff;padding:22px;box-shadow:0 18px 50px rgba(0,0,0,.14)}
.wwb-calendar-open .wwb-calendar-wrap{display:block}
.wwb-cal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.wwb-cal-top button{border:1px solid #111;background:transparent;width:38px;height:38px;cursor:pointer}
.wwb-week,.wwb-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.wwb-week span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;opacity:.6;text-align:center}.wwb-days{margin-top:8px}.wwb-day{min-height:48px;border:1px solid #ddd;background:#f7f5ed;cursor:default}.wwb-day.available{cursor:pointer;border-color:#6b7031;background:#e7e8d6}.wwb-day.selected{background:#68701f;color:#fff;border-color:#68701f}.wwb-day:disabled{opacity:.35;cursor:not-allowed}
.wwb-summary{display:flex;justify-content:space-between;gap:20px;margin:28px 0;padding:18px 0;border-top:1px solid rgba(17,17,15,.2);border-bottom:1px solid rgba(17,17,15,.2);font-size:14px}
.wwb-submit{border:1px solid #111;background:#111;color:#fff;border-radius:999px;padding:15px 24px;text-transform:uppercase;letter-spacing:.1em;font-size:11px;cursor:pointer}.wwb-message{margin-top:15px;font-size:14px}.wwb-message.error{color:#9b2226}.wwb-message.success{color:#46620d}
@media(max-width:767px){.wwb-booking{padding:28px 18px;margin-top:45px}.wwb-form-grid{grid-template-columns:1fr}.wwb-date-field{grid-column:auto}.wwb-calendar{padding:12px}.wwb-day{min-height:42px}.wwb-summary{flex-direction:column}}


/* 1.1.1 — booking title and calendar clarity */
.wwb-booking-head h2{margin-top:14px}
.wwb-calendar-wrap{width:100%}
.wwb-calendar{width:min(680px,100%)}
.wwb-day{font-variant-numeric:tabular-nums}

/* 1.1.2 — compact inline date calendar; never pushes below the whole form */
.wwb-form{position:relative!important}
.wwb-date-field{position:relative!important}
.wwb-calendar-wrap{
  display:none!important;
  position:absolute!important;
  left:0!important;
  top:82px!important;
  width:min(520px,100%)!important;
  margin:0!important;
  z-index:100!important;
}
.wwb-calendar-open .wwb-calendar-wrap{display:block!important}
.wwb-calendar{
  width:100%!important;
  max-width:520px!important;
  box-sizing:border-box!important;
  padding:18px!important;
  box-shadow:0 18px 45px rgba(0,0,0,.18)!important;
}
.wwb-week,.wwb-days{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:5px!important}
.wwb-week span{text-align:center!important}
.wwb-day{width:100%!important;min-width:0!important;min-height:44px!important;padding:0!important}
@media(max-width:767px){
  .wwb-calendar-wrap{position:absolute!important;top:82px!important;left:0!important;width:100%!important}
  .wwb-calendar{max-width:none!important;padding:12px!important}
  .wwb-day{min-height:40px!important}
}
/* Gift voucher cards — follows the existing Wine Walks palette */
.wwb-vouchers{margin-top:0}.wwb-voucher-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}.wwb-voucher-grid form{padding:28px;border:1px solid rgba(17,17,15,.18);background:rgba(255,255,255,.45);display:flex;flex-direction:column;align-items:flex-start;min-height:220px;box-sizing:border-box}.wwb-voucher-grid h3{font:400 clamp(32px,4vw,48px)/1 Georgia,serif;margin:0 0 12px}.wwb-voucher-grid p{margin:0 0 24px}.wwb-voucher-grid .wwb-submit{margin-top:auto}.wwb-voucher-grid .wwb-submit:disabled{opacity:.45;cursor:not-allowed}@media(max-width:767px){.wwb-voucher-grid{grid-template-columns:1fr}.wwb-voucher-grid form{min-height:0}}

/* 1.2.3 — ensure voucher purchase button text remains readable against theme button styles */
.wwb-voucher-grid form button.wwb-submit,.wwb-voucher-grid .wwb-submit{background:#111!important;color:#fff!important;border-color:#111!important;opacity:1;text-shadow:none!important;-webkit-text-fill-color:#fff!important}
.wwb-voucher-grid form button.wwb-submit:hover,.wwb-voucher-grid .wwb-submit:hover{background:#333!important;color:#fff!important;border-color:#333!important;-webkit-text-fill-color:#fff!important}
.wwb-voucher-grid form button.wwb-submit:disabled,.wwb-voucher-grid .wwb-submit:disabled{background:#111!important;color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:.45}
