.chalupa-booking{
  --ch-ink:#241F1D; --ch-ink-soft:#6B6259; --ch-panel:#FBF8F3; --ch-panel2:#F3EDE3;
  --ch-accent:#3D5A4C; --ch-tint:#DCE6DE; --ch-line:#DCD2C2; --ch-err:#A33;
  --ch-weekend:#E8C88C; --ch-occupied:#C97B7B; --ch-pending:#E0B15C; --ch-blocked:#9C958C;
  --ch-font-size:15px; --ch-radius:10px; --ch-font-family:inherit;
  max-width:640px; font-family:var(--ch-font-family); font-size:var(--ch-font-size);
  color:var(--ch-ink); line-height:1.5;
}
.chalupa-booking *{box-sizing:border-box;font-family:inherit;}
.chalupa-section{margin-bottom:1.9em;}
.chalupa-h{font-size:1.2em;margin:0 0 0.7em;}
.chalupa-note{font-size:0.87em;color:var(--ch-ink-soft);margin:0 0 0.9em;}

.chalupa-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:0.5em;}
.chalupa-cal-title{font-weight:600;font-size:1em;text-transform:capitalize;}
.chalupa-nav-btn{background:var(--ch-panel);border:1px solid var(--ch-line);border-radius:calc(var(--ch-radius) * 0.8);width:2.2em;height:2.2em;cursor:pointer;font-size:0.93em;}
.chalupa-nav-btn:hover{border-color:var(--ch-accent);}
.chalupa-nav-btn:disabled{opacity:.3;cursor:not-allowed;}

.chalupa-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.chalupa-cal-dow{text-align:center;font-size:0.73em;text-transform:uppercase;color:var(--ch-ink-soft);padding-bottom:4px;}
.chalupa-day{
  position:relative; aspect-ratio:1; display:flex; align-items:center; justify-content:center;
  border-radius:var(--ch-radius); font-size:0.87em; cursor:pointer; background:var(--ch-panel); border:1px solid transparent;
}
.chalupa-day.chalupa-empty{visibility:hidden;cursor:default;}
.chalupa-day.chalupa-past,.chalupa-day.chalupa-beyond{color:var(--ch-ink-soft);opacity:.35;cursor:not-allowed;background:transparent;}
.chalupa-day:hover:not(.chalupa-past):not(.chalupa-beyond):not(.chalupa-empty){border-color:var(--ch-accent);}
.chalupa-day.chalupa-selected-start,.chalupa-day.chalupa-selected-end{background:var(--ch-accent) !important;color:#fff;}
.chalupa-day.chalupa-in-range{background:var(--ch-tint) !important;}

.chalupa-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:0.9em;font-size:0.73em;color:var(--ch-ink-soft);}
.chalupa-legend span{display:flex;align-items:center;gap:5px;}
.chalupa-dot{width:9px;height:9px;border-radius:3px;display:inline-block;}
.chalupa-dot-free{background:var(--ch-panel);border:1px solid var(--ch-line);}
.chalupa-dot-weekend{background:var(--ch-weekend);}
.chalupa-dot-occupied{background:var(--ch-occupied);}
.chalupa-dot-pending{background:var(--ch-pending);}
.chalupa-dot-blocked{background:var(--ch-blocked);}

.chalupa-selection{margin-top:1em;font-size:0.87em;background:var(--ch-panel2);border-radius:var(--ch-radius);padding:0.7em 1em;}
.chalupa-price-preview{margin-top:0.7em;background:var(--ch-tint);border-radius:var(--ch-radius);padding:1em 1.1em;font-size:0.93em;}
.chalupa-price-preview b{font-size:1.13em;}

.chalupa-form{display:grid;gap:10px;max-width:440px;margin-top:1.1em;}
.chalupa-form label{font-size:0.8em;color:var(--ch-ink-soft);margin-bottom:-4px;}
.chalupa-form input[type=text],.chalupa-form input[type=tel],.chalupa-form input[type=email],.chalupa-form input[type=number]{padding:0.7em 0.8em;border:1px solid var(--ch-line);border-radius:calc(var(--ch-radius) * 0.8);background:var(--ch-panel);font-size:0.93em;color:var(--ch-ink);}
.chalupa-gdpr-row{display:flex;gap:8px;align-items:flex-start;font-size:0.8em;color:var(--ch-ink-soft);margin:4px 0;}
.chalupa-gdpr-row input{margin-top:3px;}

.chalupa-cta{background:var(--ch-accent);color:#fff;border:none;border-radius:999px;padding:0.8em 1.6em;font-weight:600;font-size:0.93em;cursor:pointer;margin-top:4px;}
.chalupa-cta:hover{filter:brightness(0.88);}
.chalupa-ghost{background:transparent;border:1px solid var(--ch-line);color:var(--ch-ink);border-radius:999px;padding:0.6em 1.2em;font-size:0.87em;font-weight:600;cursor:pointer;}
.chalupa-ghost:hover{filter:brightness(0.96);}

.chalupa-confirm{display:flex;gap:14px;align-items:center;}
.chalupa-check{width:2.4em;height:2.4em;border-radius:50%;background:var(--ch-accent);color:#fff;display:flex;align-items:center;justify-content:center;flex:none;}
.chalupa-confirm-title{font-weight:600;font-size:1em;}
.chalupa-error-box{background:#F7E3E1;border:1px solid #E0B3AE;color:var(--ch-err);padding:0.7em 1em;border-radius:calc(var(--ch-radius) * 0.8);font-size:0.87em;margin-bottom:0.8em;}
.chalupa-locked{padding:1.3em;background:#F7E3E1;border-radius:var(--ch-radius);color:var(--ch-err);font-size:0.93em;}
