/* Chalet Thena — booking widget.
   Uses the theme's design tokens where present, with fallbacks so it renders
   correctly even if a token name differs. Julius Sans One for display, system
   fonts for body, forest palette throughout. */

.cbk{
  --cbk-forest-dark: var(--forest-dark, #1d2a20);
  --cbk-forest-mid:  var(--forest-mid, #3a4a3c);
  --cbk-forest-soft: var(--forest-soft, #8a9589);
  --cbk-cream:       var(--cream, #fbfaf6);
  --cbk-cream-2:     var(--cream-2, #f3f1e9);
  --cbk-soft-bg:     var(--soft-bg, #f6f5ef);
  --cbk-line:        var(--line, #e4e2d8);
  --cbk-accent:      var(--accent, #2f6f4e);
  --cbk-danger:      #b25b4c;
  max-width:760px;margin:0 auto;
  color:var(--cbk-forest-dark);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.5;
}
.cbk *{box-sizing:border-box}
.cbk-anchor{display:block;height:0;scroll-margin-top:110px}
.cbk-display{font-family:var(--font-display,"Julius Sans One",sans-serif);font-weight:400;letter-spacing:.02em}

.cbk-eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--cbk-forest-soft);font-weight:600}
.cbk-price{font-size:42px;line-height:1.05;margin:12px 0 8px}
.cbk-sub{color:var(--cbk-forest-mid);font-size:15px}

.cbk-section{margin-top:38px}
.cbk-label{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--cbk-forest-soft);font-weight:600;margin-bottom:16px}
.cbk-label svg{width:16px;height:16px;stroke:var(--cbk-forest-soft);fill:none;stroke-width:1.6}

.cbk-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cbk-card{border:1px solid var(--cbk-line);border-radius:8px;padding:16px 18px;background:var(--cbk-cream)}
.cbk-k{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--cbk-forest-soft);margin-bottom:7px}
.cbk-v{font-size:17px;color:var(--cbk-forest-dark)}
.cbk-v.cbk-empty{color:var(--cbk-forest-soft)}

.cbk-daterow{position:relative}
.cbk-calwrap{position:absolute;top:calc(100% + 8px);left:0;z-index:40;width:340px;max-width:100%}
.cbk-cal{border:1px solid var(--cbk-line);border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 14px 34px rgba(6,39,11,.16)}
.cbk-cal-top{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--cbk-line)}
.cbk-cal-month{font-size:16px;flex:1;text-align:center}
.cbk-nav{width:32px;height:32px;border:1px solid var(--cbk-line);background:#fff;border-radius:7px;cursor:pointer;color:var(--cbk-forest-mid);font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:.15s}
.cbk-nav:hover:not(:disabled){background:#eef1ec;border-color:var(--cbk-forest-soft)}
.cbk-nav:disabled{opacity:.3;cursor:not-allowed}
.cbk-dow{display:grid;grid-template-columns:repeat(7,1fr);padding:12px 10px 4px}
.cbk-dow span{text-align:center;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--cbk-forest-soft);font-weight:600}
.cbk-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:4px 10px 12px;gap:2px}

.cbk-day{aspect-ratio:1/1;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;border:1px solid transparent;transition:.12s;min-height:42px}
.cbk-day .cbk-n{font-size:13px;color:var(--cbk-forest-dark);line-height:1}
.cbk-day .cbk-p{font-size:9px;color:var(--cbk-forest-soft);margin-top:2px}
.cbk-day.cbk-x{cursor:default}
.cbk-day.cbk-avail:hover{background:#eef1ec}
.cbk-day.cbk-past,.cbk-day.cbk-blocked{cursor:not-allowed}
.cbk-day.cbk-past .cbk-n{color:#c8c6bc}.cbk-day.cbk-past .cbk-p{display:none}
.cbk-day.cbk-blocked{background:repeating-linear-gradient(135deg,#f1f0ea,#f1f0ea 4px,#e6e4da 4px,#e6e4da 8px)}
.cbk-day.cbk-blocked .cbk-n{color:#bcb9ad}.cbk-day.cbk-blocked .cbk-p{display:none}
.cbk-day.cbk-in{background:#e8efe8}
.cbk-day.cbk-end{background:var(--cbk-forest-dark)}
.cbk-day.cbk-end .cbk-n{color:#fff}.cbk-day.cbk-end .cbk-p{color:#aebca8}

.cbk-legend{display:flex;flex-wrap:wrap;gap:14px;padding:11px 16px;border-top:1px solid var(--cbk-line);font-size:11px;color:var(--cbk-forest-mid)}
.cbk-legend span{display:flex;align-items:center;gap:6px}
.cbk-sw{width:12px;height:12px;border-radius:3px;display:inline-block}
.cbk-sw-sel{background:var(--cbk-forest-dark)}
.cbk-sw-blk{background:repeating-linear-gradient(135deg,#f1f0ea,#f1f0ea 3px,#e6e4da 3px,#e6e4da 6px);border:1px solid var(--cbk-line)}

.cbk-hint{margin-top:10px;font-size:12px;color:var(--cbk-forest-soft);min-height:16px}
.cbk-hint.cbk-warn{color:var(--cbk-danger)}

.cbk-field{margin-top:16px}
.cbk-field label{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--cbk-forest-soft);margin-bottom:8px}
.cbk-field input{width:100%;border:1px solid var(--cbk-line);border-radius:8px;padding:14px 16px;font-size:15px;background:transparent;color:var(--cbk-forest-dark);font-family:inherit;transition:.15s}
.cbk-field input:focus{outline:none;border-color:var(--cbk-forest-soft);background:transparent}
.cbk-field select{width:100%;border:1px solid var(--cbk-line);border-radius:8px;padding:14px 42px 14px 16px;font-size:15px;color:var(--cbk-forest-dark);font-family:inherit;cursor:pointer;transition:.15s;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235a8062' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center}
.cbk-field select:hover{border-color:var(--cbk-forest-soft)}
.cbk-field select:focus{outline:none;border-color:var(--cbk-forest-soft);background-color:transparent}
.cbk-date input{cursor:pointer}
.cbk-field input::placeholder{color:#b4b2a6}
.cbk-field textarea{width:100%;border:1px solid var(--cbk-line);border-radius:8px;padding:14px 16px;font-size:15px;background:transparent;color:var(--cbk-forest-dark);font-family:inherit;line-height:1.5;resize:vertical;min-height:84px;transition:.15s}
.cbk-field textarea:focus{outline:none;border-color:var(--cbk-forest-soft);background:transparent}
.cbk-field textarea::placeholder{color:#b4b2a6}
.cbk-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}

.cbk-accept{display:flex;justify-content:center;align-items:center;gap:9px;margin-top:12px}
.cbk-paycard{height:24px;width:auto;display:block}
.cbk-fee-note{font-style:normal;font-size:11px;letter-spacing:.02em;color:var(--cbk-forest-soft)}

.cbk-lines{margin-top:30px}
.cbk-line{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0;font-size:15px;color:var(--cbk-forest-mid)}
.cbk-line:empty{display:none}
.cbk-amt{color:var(--cbk-forest-dark);white-space:nowrap}
.cbk-tax-note{opacity:.62;font-size:.86em}
.cbk-addons{margin-top:24px;display:flex;flex-direction:column;gap:10px}
.cbk-addons:empty{display:none}
.cbk-addon{display:flex;align-items:center;gap:12px;border:1px solid var(--cbk-line);border-radius:8px;padding:14px 16px;cursor:pointer;background:transparent;transition:.15s}
.cbk-addon:hover{border-color:var(--cbk-forest-soft)}
.cbk-addon input{width:18px;height:18px;accent-color:var(--cbk-forest-dark);flex-shrink:0;cursor:pointer}
.cbk-addon-label{flex:1;font-size:14px;color:var(--cbk-forest-dark)}
.cbk-addon-price{font-size:14px;color:var(--cbk-forest-mid);font-weight:600;white-space:nowrap}
.cbk-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;padding-top:18px;border-top:1px solid var(--cbk-line)}
.cbk-total-t{font-size:14px;letter-spacing:.18em;text-transform:uppercase}
.cbk-total-amt{font-size:26px}

.cbk-terms{display:flex;gap:12px;align-items:flex-start;margin-top:26px;font-size:14px;color:var(--cbk-forest-mid)}
.cbk-terms input{margin-top:3px;width:16px;height:16px;accent-color:var(--cbk-forest-dark);flex-shrink:0}

.cbk-cta{width:100%;margin-top:22px;background:var(--cbk-forest-dark);color:var(--cbk-cream);border:none;border-radius:8px;padding:20px;font-size:14px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:.18s;font-weight:600}
.cbk-cta svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6}
.cbk-cta:hover:not(:disabled){background:#16201a}
.cbk-cta:disabled{opacity:.4;cursor:not-allowed}

.cbk-foot{text-align:center;margin-top:20px;font-size:13px;color:var(--cbk-forest-soft)}
.cbk-foot a{color:var(--cbk-forest-mid);text-decoration:none}
.cbk-stripe{color:var(--cbk-accent);font-weight:700}

@media(max-width:560px){
  .cbk-cards,.cbk-two{grid-template-columns:1fr}
  .cbk-price{font-size:34px}
  .cbk-day{min-height:40px}
}

/* honeypot — visually removed, off-screen, never focusable */
.cbk-hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}

/* promo / discount code */
.cbk-promo{margin-top:18px}
.cbk-promo-toggle{display:inline-flex;align-items:center;gap:8px;background:none;border:none;padding:4px 0;cursor:pointer;font-size:13px;color:var(--cbk-forest-mid);font-family:inherit;letter-spacing:.02em}
.cbk-promo-toggle svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cbk-promo-toggle:hover{color:var(--cbk-forest-dark)}
.cbk-promo-toggle.is-open{color:var(--cbk-forest-dark)}
.cbk-promo-row{display:flex;gap:10px;margin-top:12px}
.cbk-promo-row input{flex:1;min-width:0;border:1px solid var(--cbk-line);border-radius:8px;padding:13px 14px;font-size:14px;font-family:inherit;color:var(--cbk-forest-dark);background:transparent;text-transform:uppercase;letter-spacing:.06em}
.cbk-promo-row input:focus{outline:none;border-color:var(--cbk-forest-soft);background:transparent}
.cbk-promo-apply{flex-shrink:0;background:var(--cbk-forest-soft);color:var(--cbk-cream);border:none;border-radius:8px;padding:0 22px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;cursor:pointer;font-family:inherit;transition:.15s}
.cbk-promo-apply:hover{background:var(--cbk-forest-mid)}
.cbk-promo-msg{margin-top:10px;font-size:13px;line-height:1.4}
.cbk-promo-msg.is-ok{color:var(--cbk-accent)}
.cbk-promo-msg.is-err{color:var(--cbk-danger,#b25b4c)}
.cbk-line.cbk-disc span:first-child{color:var(--cbk-accent)}
.cbk-line.cbk-disc .cbk-amt{color:var(--cbk-accent)}
