/* ============================================================
   Booking widget styles — carried over from the original
   myhousecleaners.ca booking embed, extended for the two
   payment options (Helcim card + PayPal) on the success panel.
   ============================================================ */

.bk-wrap{font-family:'Inter',sans-serif;max-width:580px;margin:0 auto;padding:24px 16px;}

/* Header */
.bk-header{text-align:center;margin-bottom:28px;}
.bk-header h1{font-family:'Playfair Display',serif;font-size:28px;font-weight:700;color:#248eff;margin-bottom:6px;}
.bk-header p{font-size:13px;color:#c2c0c0;letter-spacing:0.3px;}

/* Cancel note */
.bk-cancel-note{
  display:none;max-width:580px;margin:0 auto 18px;
  background:rgba(212,175,55,.1);border:1px solid rgba(212,175,55,.35);
  border-radius:12px;padding:16px 18px;font-size:13px;color:#e7d9a8;line-height:1.6;
}
.bk-cancel-note strong{color:#fff;}

/* Progress */
.bk-progress{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:28px;}
.bk-step-dot{display:flex;flex-direction:column;align-items:center;gap:6px;}
.bk-dot{width:32px;height:32px;border-radius:50%;border:2px solid #e0e0e0;background:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#bbb;transition:all .3s;}
.bk-dot.active{border-color:#248eff;background:#248eff;color:#fff;}
.bk-dot.done{border-color:#27ae60;background:#27ae60;color:#fff;}
.bk-step-name{font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#7d92a8;transition:color .3s;}
.bk-step-name.active{color:#248eff;}
.bk-step-name.done{color:#27ae60;}
.bk-line{width:42px;height:2px;background:#33465c;margin:0 8px;margin-bottom:20px;transition:background .3s;}
.bk-line.done{background:#27ae60;}

/* Card */
.bk-card{background:#fff;border:1px solid #e4e4e4;border-radius:14px;padding:28px;margin-bottom:14px;box-shadow:0 2px 12px rgba(0,0,0,0.04);}
.bk-card-title{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#aaa;margin-bottom:20px;}

/* Fields */
.bk-field{margin-bottom:16px;}
.bk-field label{display:block;font-size:12px;font-weight:600;color:#111;margin-bottom:7px;letter-spacing:0.2px;}
.bk-field label .r{color:#e74c3c;margin-left:2px;}

.bk-field select,
.bk-field input{
  width:100%;padding:13px 15px;
  font-family:'Inter',sans-serif;font-size:14px;color:#111;
  background:#fafafa;border:1.5px solid #e0e0e0;border-radius:9px;
  outline:none;appearance:none;-webkit-appearance:none;
  transition:border-color .2s,background .2s;
}
.bk-field select:focus,.bk-field input:focus{border-color:#0b1829;background:#fff;}
.bk-field input.err{border-color:#e74c3c;background:#fff9f9;}
.bk-field input.ok{border-color:#27ae60;background:#f9fff9;}
.bk-field select.err{border-color:#e74c3c;}
.bk-field select.ok{border-color:#27ae60;}

.bk-hint{font-size:11px;color:#e74c3c;margin-top:4px;display:none;}
.bk-hint.show{display:block;}

.bk-sw{position:relative;}
.bk-sw::after{content:'';position:absolute;right:14px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #666;pointer-events:none;}

.bk-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}

/* Frequency options */
.bk-freq{display:flex;flex-direction:column;gap:8px;}
.bk-freq-opt{position:relative;display:flex;align-items:center;padding:14px 16px;border:1.5px solid #e0e0e0;border-radius:9px;background:#fafafa;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;}
.bk-freq-opt:hover{border-color:#c8d2e0;}
.bk-freq-opt input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;min-width:0;margin:0;padding:0;border:0;pointer-events:none;}
.bk-freq-opt:focus-within{outline:2px solid #248eff;outline-offset:2px;}
.bk-freq-opt.sel{background:#0a3d62;border-color:#0a3d62;box-shadow:0 6px 16px -8px rgba(10,61,98,.6);}
.bk-freq-txt{display:flex;flex-direction:column;}
.bk-freq-main{font-size:13px;font-weight:600;color:#111;}
.bk-freq-sub{font-size:11px;color:#248eff;font-weight:600;margin-top:2px;}
.bk-freq-sub.none{color:#999;font-weight:500;}
.bk-freq-opt.sel .bk-freq-main{color:#ffffff;}
.bk-freq-opt.sel .bk-freq-sub{color:#cfe6ff;}
.bk-freq-opt.sel .bk-freq-sub.none{color:#d3ddea;}

/* Price box — simplified, clean read */
.bk-price-box{background:#0b1829;border-radius:14px;padding:24px;margin-bottom:14px;}
.bk-price-tag{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:10px;}
.bk-price-final-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.bk-price-final{font-size:34px;font-weight:700;color:#fff;line-height:1;}
.bk-price-orig{font-size:16px;color:rgba(255,255,255,.4);text-decoration:line-through;}
.bk-price-disc{display:inline-block;background:rgba(212,175,55,0.18);color:#d4af37;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:4px 11px;border-radius:20px;margin-bottom:14px;}
.bk-price-recur{border-top:1px solid rgba(255,255,255,.1);padding-top:14px;margin-bottom:14px;}
.bk-price-recur .rlabel{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#d4af37;margin-bottom:5px;}
.bk-price-recur .rprice{font-size:22px;font-weight:700;color:#fff;margin-bottom:3px;}
.bk-price-recur .rnote{font-size:11px;color:rgba(255,255,255,.5);line-height:1.55;}
.bk-price-dep{background:rgba(45,140,255,.12);border-radius:10px;padding:12px 14px;font-size:13px;color:#cfe6ff;margin-bottom:12px;}
.bk-price-dep strong{color:#fff;font-size:16px;}
.bk-price-summary{font-size:12px;color:rgba(255,255,255,.55);line-height:1.9;border-top:1px solid rgba(255,255,255,.1);padding-top:12px;}
.bk-price-summary .sr{display:flex;justify-content:space-between;gap:12px;}
.bk-price-summary .sr span:last-child{color:#fff;font-weight:600;}

/* Consent */
.bk-consent-box{background:#f8f8f8;border:1px solid #eaeaea;border-radius:12px;padding:20px 22px;margin-bottom:14px;}
.bk-consent-title{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#999;margin-bottom:16px;}
.bk-chk{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;}
.bk-chk:last-child{margin-bottom:0;}
.bk-chk input[type=checkbox]{width:17px;height:17px;min-width:17px;margin-top:2px;accent-color:#0b1829;cursor:pointer;}
.bk-chk-text{font-size:12px;color:#555;line-height:1.65;}
.bk-chk-text a{color:#0b1829;font-weight:600;text-decoration:underline;cursor:pointer;}

/* Buttons */
.bk-btn-row{display:flex;gap:10px;}
.bk-btn-back{flex:1;padding:15px;background:#fff;color:#0b1829;font-family:'Inter',sans-serif;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;border:1.5px solid #0b1829;border-radius:10px;cursor:pointer;transition:all .2s;}
.bk-btn-back:hover{background:#f4f4f4;}
.bk-btn-next{flex:2;padding:15px;background:#0b1829;color:#fff;font-family:'Inter',sans-serif;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;border:none;border-radius:10px;cursor:pointer;transition:all .25s;}
.bk-btn-next:hover:not(:disabled){background:#1a3a5c;transform:translateY(-1px);}
.bk-btn-next:disabled{opacity:.4;cursor:not-allowed;transform:none;}
.bk-btn-full{width:100%;padding:16px;background:#0b1829;color:#fff;font-family:'Inter',sans-serif;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;border:none;border-radius:10px;cursor:pointer;transition:all .25s;margin-bottom:10px;}
.bk-btn-full:hover:not(:disabled){background:#1a3a5c;transform:translateY(-1px);}
.bk-btn-full:disabled{opacity:.4;cursor:not-allowed;transform:none;}

.bk-note{text-align:center;font-size:11px;color:#8fa2b6;line-height:1.7;}
.bk-note strong{color:#c9d7e6;}

/* Payment choice (panel 3) */
.bk-pay-choice{display:flex;flex-direction:column;gap:10px;margin-bottom:10px;}
.bk-btn-pay{
  width:100%;padding:16px;border-radius:11px;border:none;cursor:pointer;
  font-family:'Inter',sans-serif;font-size:14px;font-weight:700;
  display:flex;align-items:center;justify-content:center;gap:10px;
  transition:filter .2s,transform .2s,box-shadow .2s;
}
.bk-btn-pay:disabled{opacity:.45;cursor:not-allowed;transform:none;}
.bk-btn-pay.card{background:linear-gradient(90deg,#238bff,#52b6ff);color:#fff;}
.bk-btn-pay.card:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 10px 24px -8px rgba(39,146,255,.6);}
.bk-btn-pay.paypal{background:#ffc439;color:#0b1829;}
.bk-btn-pay.paypal:hover:not(:disabled){filter:brightness(1.03);transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(255,196,57,.7);}
.bk-btn-pay.paypal i{font-style:italic;font-weight:800;}
.bk-pay-or{display:flex;align-items:center;gap:12px;color:#8fa2b6;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;margin:2px 0;}
.bk-pay-or::before,.bk-pay-or::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.12);}

/* Success */
.bk-success{display:none;text-align:center;padding:44px 28px;background:#fff;border:1px solid #e4e4e4;border-radius:16px;box-shadow:0 2px 12px rgba(0,0,0,0.04);}
.bk-success-ring{width:58px;height:58px;border:2px solid #27ae60;background:rgba(39,174,96,.08);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:24px;color:#27ae60;animation:pop .4s ease;}
.bk-success h3{font-family:'Playfair Display',serif;font-size:22px;color:#0b1829;margin-bottom:10px;}
.bk-success p{font-size:13px;color:#666;line-height:1.8;}

/* Panels */
.bk-panel{display:none;}
.bk-panel.active{display:block;}

@media(max-width:480px){
  .bk-card{padding:20px 16px;}
  .bk-row{grid-template-columns:1fr 1fr;gap:0 10px;}
  .bk-line{width:16px;}
  .bk-header h1{font-size:22px;}
}

/* ── Property condition photos (panel 1, final field) ─────────
   Deliberately the last step in the panel: it is the most effortful
   part of the form, so it comes after every quick selection is
   already invested. Styling follows the .bk-field conventions above. */
.bk-photo-field{margin-bottom:4px;}
.bk-photo-why{
  font-size:12.5px;line-height:1.55;color:#6b7683;margin:0 0 10px;
}
.bk-photo-drop{
  width:100%;display:flex;align-items:center;gap:13px;text-align:left;
  padding:15px;cursor:pointer;
  background:#fafafa;border:1.5px dashed #d7dce3;border-radius:11px;
  font-family:'Inter',sans-serif;color:#111;
  transition:border-color .2s,background .2s;
}
.bk-photo-drop:hover,.bk-photo-drop:focus-visible{border-color:#0b1829;background:#fff;}
.bk-photo-drop.err{border-color:#e74c3c;background:#fff9f9;}
.bk-photo-drop.ok{border-color:#27ae60;background:#f9fff9;}
.bk-photo-drop.busy{opacity:.65;pointer-events:none;}
.bk-photo-ico{
  flex:none;width:38px;height:38px;border-radius:10px;
  background:#eef4ff;color:#2f7cf6;display:flex;align-items:center;justify-content:center;
}
.bk-photo-ico svg{width:19px;height:19px;}
.bk-photo-copy{display:flex;flex-direction:column;gap:2px;min-width:0;}
.bk-photo-main{font-size:14px;font-weight:600;color:#111;}
.bk-photo-sub{font-size:12px;color:#8a939e;}

.bk-photo-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));
  gap:9px;margin-top:11px;
}
.bk-photo-grid:empty{display:none;}
.bk-photo-item{
  position:relative;aspect-ratio:1/1;border-radius:9px;overflow:hidden;
  border:1.5px solid #e0e0e0;background:#f2f4f7;
}
.bk-photo-item img{width:100%;height:100%;object-fit:cover;display:block;}
.bk-photo-del{
  position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;
  border:0;cursor:pointer;background:rgba(11,24,41,.78);color:#fff;
  font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center;
  padding:0;transition:background .15s;
}
.bk-photo-del:hover{background:#e74c3c;}
.bk-photo-status{
  font-size:12px;color:#8a939e;margin-top:9px;min-height:1px;
}
.bk-photo-status.ready{color:#1e8e4e;font-weight:600;}
