/* Frederiksborg — static booking wizard (demo). Steps 2-4 + step-1 date/proceed.
   No backend: purely client-side navigation that mirrors the original design. */
:root{
  --bk-gold:#b28a4c;
  --bk-gold-soft:#c8a673;
  --bk-ink:#33302b;
  --bk-line:#e3d8c7;
  --bk-row:#ffffff;
  --bk-bg:#f5efe6;
}
#booking-demo, #prices .bk-extra{font-family:'Open Sans',Arial,sans-serif;color:var(--bk-ink);}
#booking-demo{max-width:1180px;margin:0 auto;padding:0 20px 60px;}
.bk-panel{display:none;}
.bk-panel.bk-active{display:block;}

/* step bar (reuse existing .wizard-tabs, just make it interactive) */
#checkout-wizard .wizard-tabs li{cursor:pointer;}
#checkout-wizard .wizard-tabs li.bk-done{opacity:1;}
#checkout-wizard .wizard-tabs li.bk-todo{opacity:.5;cursor:default;}

/* tables */
.bk-table{width:100%;border-collapse:separate;border-spacing:0 14px;}
.bk-table th{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#b8ab97;
  font-weight:400;text-align:left;padding:0 22px;}
.bk-table th.bk-r,.bk-table td.bk-r{text-align:right;}
.bk-table th.bk-c,.bk-table td.bk-c{text-align:center;}
.bk-table td{background:var(--bk-row);padding:26px 22px;font-size:17px;color:var(--bk-gold);
  vertical-align:middle;}
.bk-table tr.bk-row td:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px;}
.bk-table tr.bk-row td:last-child{border-top-right-radius:2px;border-bottom-right-radius:2px;}
.bk-name{font-size:19px;}
.bk-name .bk-date{color:#b9a98f;font-size:15px;}
.bk-remove{cursor:pointer;color:var(--bk-gold);font-size:20px;line-height:1;background:none;
  border:none;padding:0 18px 0 0;}
.bk-remove:hover{color:#8a6a32;}
.bk-qty{width:62px;height:40px;text-align:center;border:1px solid var(--bk-line);
  background:#fff;font-size:16px;color:var(--bk-ink);border-radius:2px;}

/* buttons */
.bk-btn{display:inline-block;border:1px solid var(--bk-gold);background:transparent;
  color:var(--bk-gold);font-size:15px;letter-spacing:.08em;text-transform:uppercase;
  padding:18px 34px;cursor:pointer;border-radius:2px;transition:.18s;text-align:center;
  font-family:inherit;}
.bk-btn:hover{background:var(--bk-gold);color:#fff;}
.bk-btn.bk-block{display:block;width:100%;}
.bk-btn.bk-ghost{border-color:var(--bk-line);color:#a9a08e;}
.bk-btn.bk-ghost:hover{background:#efe7da;color:var(--bk-gold);}
.bk-actions{display:flex;justify-content:flex-end;gap:14px;margin:10px 0 0;}

/* cart totals */
.bk-totals{max-width:520px;margin:46px 0 32px auto;}
.bk-totals h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:30px;
  color:var(--bk-ink);margin:0 0 18px;}
.bk-totals .bk-line{display:flex;justify-content:space-between;background:#fff;
  padding:20px 24px;margin-bottom:14px;font-size:16px;}
.bk-totals .bk-line span:first-child{text-transform:uppercase;letter-spacing:.05em;color:var(--bk-ink);}
.bk-totals .bk-line span:last-child{color:var(--bk-gold);}
.bk-totals .bk-checkout{margin-top:26px;}

/* forms (step 3) */
.bk-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px;max-width:760px;margin:8px 0 32px;}
.bk-field{display:flex;flex-direction:column;}
.bk-field.bk-full{grid-column:1/-1;}
.bk-field label{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:#9a8f7c;margin-bottom:8px;}
.bk-field label .req{color:var(--bk-gold);}
.bk-field input,.bk-field textarea,.bk-field select{border:1px solid var(--bk-line);background:#fff;
  padding:14px 16px;font-size:16px;color:var(--bk-ink);border-radius:2px;font-family:inherit;}
.bk-field input:focus,.bk-field textarea:focus{outline:none;border-color:var(--bk-gold);}
.bk-field .bk-err{color:#b4452f;font-size:12px;margin-top:6px;display:none;}
.bk-field.bk-invalid .bk-err{display:block;}
.bk-field.bk-invalid input{border-color:#b4452f;}

/* step 1 added bits: NEXT button (matches original) */
#prices .bk-extra.bk-next-wrap{margin-top:30px;text-align:right;}
.bk-next{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;
  min-width:230px;border:1px solid var(--bk-gold);background:transparent;color:var(--bk-gold);
  font-size:17px;letter-spacing:.08em;text-transform:uppercase;padding:22px 30px;cursor:pointer;
  border-radius:2px;transition:.18s;font-family:inherit;line-height:1;}
.bk-next:hover{background:var(--bk-gold);color:#fff;}
.bk-next .bk-arrow{font-size:21px;}

/* payment (step 4) */
.bk-pay-method{border:1px solid var(--bk-line);background:#fff;padding:22px 24px;margin-bottom:14px;
  display:flex;align-items:center;gap:14px;font-size:16px;}
.bk-pay-method input{width:18px;height:18px;accent-color:var(--bk-gold);}
.bk-success{background:#fff;border:1px solid var(--bk-line);padding:48px 40px;text-align:center;
  max-width:680px;margin:20px auto;}
.bk-success h2{font-family:Georgia,serif;font-weight:400;color:var(--bk-ink);font-size:30px;margin:0 0 14px;}
.bk-success p{font-size:17px;color:var(--bk-gold);margin:6px 0;}
.bk-success .bk-check{font-size:54px;color:var(--bk-gold);line-height:1;margin-bottom:10px;}

.bk-empty{background:#fff;padding:40px;text-align:center;color:#a9a08e;font-size:17px;}

@media(max-width:680px){
  .bk-form{grid-template-columns:1fr;}
  .bk-table td{padding:18px 14px;font-size:15px;}
  .bk-table th{padding:0 14px;}
  .bk-name{font-size:16px;}
}


/* ---- step 3: billing details + your order ---- */
.bk-title{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:30px;
  color:var(--bk-ink);margin:6px 0 22px;}
.bk-order{margin-top:44px;}
.bk-otable{width:100%;border-collapse:collapse;}
.bk-otable th{text-align:left;color:#b8ab97;text-transform:uppercase;letter-spacing:.05em;
  font-weight:400;font-size:13px;padding:0 0 16px;border-bottom:1px solid var(--bk-line);}
.bk-otable th.bk-r,.bk-otable td.bk-r{text-align:right;}
.bk-otable td{padding:18px 0;color:var(--bk-gold);font-size:16px;
  border-bottom:1px solid var(--bk-line);vertical-align:top;}
.bk-otable .bk-date{color:#b9a98f;}
.bk-otable tfoot td{color:var(--bk-ink);}
.bk-terms{display:flex;align-items:flex-start;gap:12px;margin:26px 0 0;color:var(--bk-gold);
  text-transform:uppercase;letter-spacing:.03em;font-size:14px;line-height:1.55;cursor:pointer;}
.bk-terms input{width:20px;height:20px;margin-top:1px;accent-color:var(--bk-gold);flex:0 0 auto;}
.bk-terms a{color:var(--bk-gold);text-decoration:underline;}
.bk-terms.bk-terms-bad{color:#b4452f;}
.bk-terms.bk-terms-bad input{outline:2px solid #b4452f;}
.bk-order .bk-actions{margin-top:34px;}
.bk-place{min-width:260px;}
.bk-place:disabled,.bk-place[disabled]{opacity:.4;cursor:not-allowed;
  border-color:var(--bk-line);color:#bcb29c;background:transparent;}
.bk-place:disabled:hover{background:transparent;color:#bcb29c;}


/* ---- mobile: stack the cart table into labelled cards (like the original) ---- */
@media(max-width:768px){
  #booking-demo{padding:0 14px 50px;}
  .bk-table{border-spacing:0;}
  .bk-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
  .bk-table tbody,.bk-table tr,.bk-table td{display:block;width:100%;}
  .bk-table tr.bk-row{margin:0 0 16px;background:#fff;border-radius:2px;overflow:hidden;}
  .bk-table td{display:flex;justify-content:space-between;align-items:center;gap:16px;
    padding:16px 20px;border-bottom:1px solid #f1e9dc;text-align:right;border-radius:0;}
  .bk-table tr.bk-row td:last-child{border-bottom:none;}
  .bk-table td::before{content:attr(data-title) ":";color:#b8ab97;text-transform:uppercase;
    letter-spacing:.05em;font-size:13px;font-weight:400;text-align:left;flex:0 0 auto;}
  .bk-table td.bk-c,.bk-table td.bk-r{text-align:right;}
  .bk-name{font-size:16px;text-align:right;}
  .bk-remove{display:none;}            /* original hides the × on mobile */
  .bk-qty{width:72px;}
  .bk-totals{max-width:none;margin:30px 0;}
  .bk-actions{justify-content:stretch;}
  .bk-actions .bk-btn{flex:1;}
}
