/* Consultation booking widget (preview + WordPress plugin share this file). */
.mmw-booking{--bk-blue:#17a8e3;--bk-grey:#e6e6e6;background:var(--cream,#faf6ee);color:var(--ink,#14110c);border-top:3px solid var(--gold,#c9a24b);box-shadow:0 40px 90px rgba(0,0,0,.45);position:relative;font-family:Manrope,Arial,sans-serif;font-size:15px;line-height:1.6;text-align:left}
.mmw-booking *{box-sizing:border-box}
.mmw-booking [hidden]{display:none!important}
.bk-steps{display:flex;gap:0;list-style:none;margin:0;padding:0;border-bottom:1px solid #c9a24b55;counter-reset:s}
.bk-steps li{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#8a7f69;counter-increment:s;transition:color .3s,background .3s}
.bk-steps li::before{content:counter(s);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid currentColor;font-size:11px;letter-spacing:0}
.bk-steps li.on{color:var(--ink,#14110c);background:#fff}
.bk-steps li.on::before{background:var(--gold,#c9a24b);border-color:var(--gold,#c9a24b);color:var(--ink,#14110c)}
.bk-steps li.done{color:#806119}
.bk-body{padding:28px}
.bk-pick{display:grid;grid-template-columns:minmax(290px,330px) 1fr;gap:32px;align-items:start}

/* calendar: ivory and gold, with a serif month title */
.bk-cal{position:relative;background:#fffdf8;border:1px solid #c9a24b99;box-shadow:0 18px 44px rgba(20,17,12,.14);padding:0 0 18px}
.bk-cal::after{content:'';position:absolute;inset:6px;border:1px solid #c9a24b33;pointer-events:none}
.bk-cal-head{display:flex;align-items:center;justify-content:space-between;gap:6px;background:var(--ink,#14110c);padding:16px 14px;color:var(--cream,#faf6ee);border-bottom:2px solid var(--gold,#c9a24b);position:relative;z-index:1}
.bk-cal-head button{width:38px;height:38px;border:1px solid #c9a24b88;border-radius:50%;background:transparent;color:var(--gold,#c9a24b);display:grid;place-items:center;cursor:pointer;padding:0;transition:background .25s,color .25s,transform .25s}
.bk-cal-head button:hover:not(:disabled){background:var(--gold,#c9a24b);color:var(--ink,#14110c);transform:scale(1.06)}
.bk-cal-head button:disabled{opacity:.28;cursor:default}
.bk-cal-title{font:400 28px/1 'Cormorant Garamond',Georgia,serif;letter-spacing:.01em;color:var(--cream,#faf6ee);text-align:center}
.bk-cal-title em{font-style:italic}
.bk-cal-title span{color:var(--gold,#c9a24b);margin-left:6px}
.bk-week,.bk-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;position:relative;z-index:1}
.bk-week{padding:18px 14px 8px;font-size:10px;letter-spacing:.2em;font-weight:700;color:#806119;text-transform:uppercase}
.bk-grid{padding:4px 14px 6px;row-gap:6px}
.bk-day{width:42px;height:42px;margin:0 auto;border:1px solid transparent;border-radius:50%;background:transparent;color:#c2b8a0;font:400 17px/1 'Cormorant Garamond',Georgia,serif;font-weight:500;cursor:default;transition:background .25s,border-color .25s,color .25s,transform .25s}
.bk-day.avail{color:var(--ink,#14110c);font:600 15px/1 Manrope,Arial,sans-serif;cursor:pointer;background:#faf3e0;border-color:#c9a24b66}
.bk-day.avail:hover{background:#fff;border-color:var(--gold,#c9a24b);transform:translateY(-2px);box-shadow:0 6px 14px rgba(201,162,75,.35)}
.bk-day.sel,.bk-day.sel:hover{background:var(--gold,#c9a24b);border-color:var(--gold,#c9a24b);color:var(--ink,#14110c);box-shadow:0 0 0 4px #c9a24b44,0 8px 18px rgba(201,162,75,.4)}
.bk-day.today{text-decoration:underline;text-decoration-color:var(--gold,#c9a24b);text-underline-offset:5px}
.bk-legend{margin:14px 0 0;font-size:12px;letter-spacing:.04em;color:#625844}
.bk-legend i{display:inline-block;width:14px;height:14px;border-radius:50%;background:#faf3e0;border:1px solid #c9a24b;margin-right:8px;vertical-align:-2px}
/* times */
.bk-times h3{font:400 28px/1.15 'Cormorant Garamond',Georgia,serif;margin:0 0 6px}
.bk-times .bk-tz{font-size:12px;color:#625844;margin:0 0 18px}
.bk-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}
.bk-slot{min-height:48px;border:1px solid #c9a24b;background:#fff;color:var(--ink,#14110c);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .25s,color .25s,transform .25s}
.bk-slot:hover{background:var(--ink,#14110c);color:var(--gold,#c9a24b);transform:translateY(-2px)}
.bk-slot.sel{background:var(--gold,#c9a24b);border-color:var(--gold,#c9a24b)}
.bk-hint{color:#625844;font-size:14px;margin:0;padding:22px;border:1px dashed #c9a24b99;background:#fff}
.bk-loading{opacity:.55;pointer-events:none}

/* details */
.bk-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#fff;border-left:3px solid var(--gold,#c9a24b);padding:14px 18px;margin:0 0 24px}
.bk-summary strong{font:400 24px/1.2 'Cormorant Garamond',Georgia,serif}
.bk-summary button,.bk-back{background:none;border:0;color:#806119;font:inherit;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;cursor:pointer;padding:6px 0;text-decoration:underline}
.bk-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px}
.bk-fields label,.bk-wide{display:block;font-size:12px;color:var(--ink,#14110c)}
.bk-wide{margin-top:18px}
.mmw-booking input[type=text],.mmw-booking input[type=email],.mmw-booking input[type=tel],.mmw-booking textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #958974;border-radius:0;color:var(--ink,#14110c);padding:12px 0;font:inherit;font-size:16px;color-scheme:light;transition:border-color .25s,box-shadow .25s}
.mmw-booking input:focus,.mmw-booking textarea:focus{outline:none;border-bottom-color:var(--gold,#c9a24b);box-shadow:0 1px 0 0 var(--gold,#c9a24b)}
.bk-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.bk-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:24px}
.bk-submit{min-height:54px;padding:0 30px;border:0;background:var(--gold,#c9a24b);color:var(--ink,#14110c);font:inherit;font-size:13px;font-weight:700;letter-spacing:.03em;cursor:pointer;transition:background .25s,transform .25s}
.bk-submit:hover{background:#e1c47f;transform:translateY(-2px)}
.bk-submit:disabled{opacity:.6;cursor:wait;transform:none}
.bk-msg{margin:16px 0 0;font-size:14px;color:#8a1f1f}
.bk-note{font-size:12px;color:#625844;margin:16px 0 0}

/* confirmed */
.bk-done{text-align:center;padding:26px 8px 12px}
.bk-check{width:74px;height:74px;margin:0 auto 18px;border-radius:50%;background:var(--ink,#14110c);color:var(--gold,#c9a24b);display:grid;place-items:center;box-shadow:0 0 0 6px #fff,0 0 0 7px var(--gold,#c9a24b)}
.bk-check svg{width:34px;height:34px}
.bk-done h3{font:400 38px/1.1 'Cormorant Garamond',Georgia,serif;margin:0 0 10px}
.bk-done p{max-width:480px;margin:0 auto 10px;color:#4a4a4a}
.bk-done .bk-when{font:400 28px/1.2 'Cormorant Garamond',Georgia,serif;color:#806119;margin:18px 0}
.bk-done .bk-links{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:22px}
.bk-done .bk-links a{display:inline-flex;align-items:center;min-height:48px;padding:0 22px;border:1px solid var(--gold,#c9a24b);font-size:13px;font-weight:600;color:var(--ink,#14110c)}
.bk-done .bk-links a:hover{background:var(--ink,#14110c);color:var(--gold,#c9a24b)}
.bk-preview-flag{margin:0;padding:8px 14px;background:#14110c;color:#e6dcc6;font-size:11px;letter-spacing:.08em;text-align:center}

@media(max-width:850px){.bk-pick{grid-template-columns:1fr}.bk-cal{max-width:360px;margin:0 auto;width:100%}.bk-times{text-align:center}}
@media(max-width:650px){
  .mmw-booking{border-radius:20px;overflow:hidden}
  .bk-steps li{font-size:0;gap:0;padding:12px 4px}
  .bk-steps li::before{font-size:11px;width:26px;height:26px}
  .bk-steps li.on::after{content:attr(data-label);font-size:11px;margin-left:8px;letter-spacing:.1em}
  .bk-body{padding:20px 16px}
  .bk-fields{grid-template-columns:1fr}
  .bk-slots{grid-template-columns:repeat(2,1fr)}
  .bk-slot{min-height:52px}
  .bk-actions{flex-direction:column;align-items:stretch;text-align:center}
  .bk-submit{width:100%;min-height:58px}
  .bk-done h3{font-size:32px}
}
@media(prefers-reduced-motion:reduce){.mmw-booking *{transition:none!important}}

/* refinements: elegant times, steps and headings */
.bk-times h3{font:400 34px/1.1 'Cormorant Garamond',Georgia,serif;font-style:italic;margin:0 0 6px}
.bk-times .bk-tz{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#806119;margin:0 0 20px}
.bk-slot{min-height:50px;border:1px solid #c9a24b99;background:#fffdf8;font:600 14px Manrope,Arial,sans-serif;letter-spacing:.06em;transition:background .25s,color .25s,transform .25s,box-shadow .25s}
.bk-slot:hover{background:var(--ink,#14110c);color:var(--gold,#c9a24b);border-color:var(--ink,#14110c);transform:translateY(-2px);box-shadow:0 10px 20px rgba(20,17,12,.2)}
.bk-hint{background:#fffdf8;border:1px dashed #c9a24b88;font-family:'Cormorant Garamond',Georgia,serif;font-size:19px;font-style:italic;color:#4a4a4a;padding:26px}
.bk-steps li{font-size:11px;letter-spacing:.2em}
.mmw-booking{background:linear-gradient(180deg,#fffdf8,#faf6ee)}

/* phone fixes for the refined design */
.bk-pick>*{min-width:0}
.bk-times h3{overflow-wrap:anywhere}
@media(max-width:650px){
  .bk-steps li{font-size:0!important;gap:0!important;letter-spacing:0!important}
  .bk-steps li.on::after{font-size:10px;letter-spacing:.18em;margin-left:8px}
  .bk-cal{max-width:none;width:100%}
  .bk-cal-head{padding:14px 10px}
  .bk-cal-head button{width:34px;height:34px}
  .bk-cal-title{font-size:23px}
  .bk-week{padding:14px 8px 6px}
  .bk-grid{padding:2px 8px 4px;row-gap:4px}
  .bk-day{width:38px;height:38px}
  .bk-times h3{font-size:28px}
  .bk-times .bk-tz{font-size:10px;letter-spacing:.1em}
}

/* wedding questions (step 2) */
.bk-intro{margin:0 0 6px}
.bk-intro h3{font:400 34px/1.1 'Cormorant Garamond',Georgia,serif;font-style:italic;margin:0 0 6px}
.bk-intro p{margin:0 0 6px;color:#4a4a4a;font-size:14px}
.bk-group{border:0;margin:26px 0 0;padding:20px 0 0;min-width:0;border-top:1px solid #c9a24b55}
.bk-group legend{padding:0 14px 0 0;margin-left:0;font:italic 400 25px/1 'Cormorant Garamond',Georgia,serif;color:var(--ink,#14110c);float:left;width:100%;margin-bottom:14px}
.bk-group legend span{font:700 11px Manrope,Arial,sans-serif;font-style:normal;letter-spacing:.2em;color:#806119;margin-right:10px;vertical-align:3px}
.bk-group .bk-fields{clear:both}
.bk-wide2{grid-column:1/-1}
.bk-fields select{width:100%;background:transparent;border:0;border-bottom:1px solid #958974;border-radius:0;color:var(--ink,#14110c);padding:12px 0;font:inherit;font-size:16px;min-height:48px}
.bk-fields select:focus,.bk-fields input[type=date]:focus,.bk-fields input[type=time]:focus{outline:none;border-bottom-color:var(--gold,#c9a24b);box-shadow:0 1px 0 0 var(--gold,#c9a24b)}
.mmw-booking input[type=date],.mmw-booking input[type=time]{width:100%;background:transparent;border:0;border-bottom:1px solid #958974;border-radius:0;color:var(--ink,#14110c);padding:12px 0;font:inherit;font-size:16px;min-height:48px;color-scheme:light}
.mmw-booking input:disabled{opacity:.4}
.bk-tick{display:flex!important;align-items:center;gap:10px;font-size:14px!important;align-self:end;min-height:48px;cursor:pointer}
.bk-tick input{width:20px;height:20px;min-width:20px;accent-color:#c9a24b;flex:none;margin:0;-webkit-appearance:auto;appearance:auto}
.bk-reception[hidden]{display:none!important}
.bk-chips{display:flex;flex-wrap:wrap;gap:10px}
.bk-chips label{cursor:pointer}
.bk-chips input{position:absolute;opacity:0;width:1px;height:1px}
.bk-chips span{display:inline-flex;align-items:center;min-height:46px;padding:0 20px;border:1px solid #c9a24b99;background:#fffdf8;font-size:13px;font-weight:600;letter-spacing:.04em;transition:background .2s,color .2s,border-color .2s}
.bk-chips label:hover span{border-color:var(--gold,#c9a24b);background:#faf3e0}
.bk-chips input:checked+span{background:var(--ink,#14110c);border-color:var(--ink,#14110c);color:var(--gold,#c9a24b)}
.bk-chips input:focus-visible+span{outline:2px solid var(--gold,#c9a24b);outline-offset:2px}
@media(max-width:650px){
  .bk-intro h3{font-size:28px}
  .bk-group legend{font-size:22px}
  .bk-chips span{min-height:48px;padding:0 16px}
  .bk-tick{align-self:start}
}

/* layout fixes found on the live site */
.bk-group>.bk-fields,.bk-group>.bk-chips{clear:both;width:100%}
.bk-group legend{float:none;display:block;width:100%}
.bk-chips{display:flex;flex-wrap:wrap;gap:10px}
.bk-chips label{display:block;margin:0!important;position:relative}
.bk-chips span{white-space:nowrap}
.mmw-booking input:-webkit-autofill,.mmw-booking input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #fffdf8 inset!important;box-shadow:0 0 0 1000px #fffdf8 inset!important;-webkit-text-fill-color:var(--ink,#14110c)}
.bk-fields label{margin:0}
.bk-chips span{line-height:1.3!important;padding:12px 18px!important;min-height:46px}
.bk-chips{align-items:flex-start}
.bk-other{margin-top:16px}
.bk-other[hidden]{display:none!important}
