/* Booking enquiry sheet — shared by every page (extracted from index.html) */
body.no-scroll{overflow:hidden}
.btn-gold{--bg:var(--gold);--fg:#2a1c08}
#sheet-scrim{position:fixed;inset:0;z-index:960;background:rgba(20,8,4,.5);opacity:0;visibility:hidden;transition:opacity .4s}
#sheet-scrim.open{opacity:1;visibility:visible}
#sheet{position:fixed;left:0;right:0;bottom:0;z-index:970;background:var(--ivory);border-radius:22px 22px 0 0;transform:translateY(100%);transition:transform .5s var(--ease);max-height:92vh;overflow-y:auto;padding:12px 26px calc(30px + var(--safe-b));box-shadow:0 -20px 60px rgba(30,12,6,.3)}
#sheet.open{transform:none}
#sheet .grip{width:44px;height:5px;border-radius:3px;background:var(--grey-2);margin:6px auto 20px}
.sheet-close{position:absolute;top:16px;right:18px;z-index:6;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--maroon);font-size:1.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s var(--ease),background .3s}
.sheet-close:hover{background:var(--ivory);transform:scale(1.07)}
.sheet-close:active{transform:scale(.92)}
#sheet h3{font-family:var(--display);font-size:1.9rem;margin-bottom:6px}
#sheet .ssub{font-size:.86rem;color:var(--ink-soft);margin-bottom:24px}
.field{margin-bottom:16px}
.field label{display:block;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;padding:15px 16px;border:1px solid var(--line);border-radius:10px;font-family:var(--sans);font-size:1rem;background:#fff;color:var(--ink);outline:none;transition:border .3s,box-shadow .3s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,74,.18)}
.field textarea{resize:vertical;min-height:52px;line-height:1.5;padding:12px 16px}
.field .msg-hint{font-size:.82em;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink-soft);opacity:.75;margin-left:4px}
.field .msg-hint.over{color:#c0392b;opacity:1}
.rtype-tabs{display:flex;gap:8px;flex-wrap:nowrap}
.rtab{flex:1;min-width:0;position:relative; display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px; padding:10px 8px; border:1.5px solid var(--line);border-radius:10px; background:#fff;cursor:pointer; font-family:var(--sans); transition:border-color .22s,background .22s,box-shadow .22s,transform .18s var(--ease);}
.rtab:hover{border-color:var(--gold);background:var(--ivory)}
.rtab:active{transform:scale(.96)}
.rtab.active{border-color:var(--gold);background:rgba(201,162,74,.07);box-shadow:0 0 0 3px rgba(201,162,74,.14)}
.rtab-label{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--ink-soft);transition:color .2s}
.rtab.active .rtab-label{color:var(--ink)}
.rtab-badge{font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase; padding:3px 11px;border-radius:20px;display:inline-block; transition:background .22s,color .22s;}
.rtab-badge.majestic{background:rgba(201,162,74,.13);color:#7a5a18}
.rtab-badge.royal{background:rgba(110,27,38,.1);color:var(--maroon)}
.rtab.active .rtab-badge.majestic{background:rgba(201,162,74,.28);color:#5a3e08}
.rtab.active .rtab-badge.royal{background:rgba(110,27,38,.22);color:var(--maroon-deep)}
.rtab-count{font-size:.6rem;font-weight:500;letter-spacing:.06em; background:var(--grey-2);color:var(--ink-soft); padding:1px 7px;border-radius:10px; transition:background .22s,color .22s;}
.rtab.active .rtab-count{background:var(--gold);color:#3a2400}
.rtab-top{display:inline-flex;align-items:center;gap:6px}
.rtab-price{font-size:.82rem;font-weight:600;letter-spacing:.06em;line-height:1}
.rtab-price.majestic{color:var(--gold-3,#8A6A24)}
.rtab-price.royal{color:var(--maroon)}
.room-checks{border:1.5px solid var(--line);border-radius:10px;overflow:hidden; background:#fff;}
.rc-group{transition:opacity .3s var(--ease),max-height .4s var(--ease)}
.rc-group.hidden{display:none}
.rc-group-label{padding:8px 14px 6px; background:var(--grey); border-bottom:1px solid var(--line); display:flex;align-items:center;gap:8px;}
.rc-item{display:flex;align-items:center;gap:12px; padding:13px 16px;cursor:pointer; border-bottom:1px solid var(--line); transition:background .2s; -webkit-user-select:none;user-select:none;}
.rc-item:last-child{border-bottom:0}
.rc-item:hover{background:var(--ivory)}
.rc-item input[type="checkbox"]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.rc-box{flex-shrink:0;width:20px;height:20px;border-radius:5px; border:1.5px solid var(--grey-2);background:#fff; display:flex;align-items:center;justify-content:center; transition:border-color .2s,background .2s,box-shadow .2s;}
.rc-box svg{width:12px;height:10px;opacity:0;transform:scale(.5);transition:opacity .18s,transform .18s var(--ease)}
.rc-item input:checked ~ .rc-box{border-color:var(--gold);background:var(--gold); box-shadow:0 0 0 3px rgba(201,162,74,.18);}
.rc-item input:checked ~ .rc-box svg{opacity:1;transform:scale(1)}
.rc-name{font-size:.92rem;color:var(--ink);transition:color .2s}
.rc-item input:checked ~ .rc-box + .rc-name{color:var(--maroon);font-weight:500}
.room-sel-count{font-size:.68rem;letter-spacing:.06em;color:var(--gold);font-weight:500; margin-left:4px;}
.field.room-err .room-checks{border-color:#c0392b;box-shadow:0 0 0 3px rgba(192,57,43,.1)}
.field.err input,.field.err select{border-color:#c0392b;box-shadow:0 0 0 3px rgba(192,57,43,.14)}
.field .msg{font-size:.72rem;color:#c0392b;margin-top:6px;display:none}
.field.err .msg{display:block}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-note{font-size:.78rem;color:var(--ink-soft);margin-top:10px;text-align:center}
.rmeta .rtab-badge{font-size:.58rem;padding:2px 9px;margin-bottom:4px;display:inline-block;border-radius:20px}
.toast{position:fixed;left:50%;bottom:calc(90px + var(--safe-b));transform:translateX(-50%) translateY(20px);background:var(--maroon);color:#fff;padding:14px 26px;border-radius:40px;font-size:.86rem;box-shadow:var(--shadow-md);z-index:9800;opacity:0;visibility:hidden;transition:.4s var(--ease);display:flex;align-items:center;gap:10px;max-width:90vw}
.toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.toast.ok{background:#1e7a41}
.toast svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2;flex-shrink:0}
.room-checks{
  border:1.5px solid var(--line);border-radius:10px;overflow:hidden;
  background:#fff;
}
/* group header */
.rc-group{transition:opacity .3s var(--ease),max-height .4s var(--ease)}
.rc-group.hidden{display:none}
.rc-group-label{
  padding:8px 14px 6px;
  background:var(--grey);
  border-bottom:1px solid var(--line);
  display:flex;align-items:center;gap:8px;
}
/* room row */
.rc-item{
  display:flex;align-items:center;gap:12px;
  padding:13px 16px;cursor:pointer;
  border-bottom:1px solid var(--line);
  transition:background .2s;
  -webkit-user-select:none;user-select:none;
}
.rc-item:last-child{border-bottom:0}
.rc-item:hover{background:var(--ivory)}
/* hide native checkbox */
.rc-item input[type="checkbox"]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
/* custom box */
.rc-box{
  flex-shrink:0;width:20px;height:20px;border-radius:5px;
  border:1.5px solid var(--grey-2);background:#fff;
  display:flex;align-items:center;justify-content:center;
  transition:border-color .2s,background .2s,box-shadow .2s;
}
.rc-box svg{width:12px;height:10px;opacity:0;transform:scale(.5);transition:opacity .18s,transform .18s var(--ease)}
.rc-item input:checked ~ .rc-box{
  border-color:var(--gold);background:var(--gold);
  box-shadow:0 0 0 3px rgba(201,162,74,.18);
}
.rc-item input:checked ~ .rc-box svg{opacity:1;transform:scale(1)}
.rc-name{font-size:.92rem;color:var(--ink);transition:color .2s}
.rc-item input:checked ~ .rc-box + .rc-name{color:var(--maroon);font-weight:500}
/* selected count label */
.room-sel-count{
  font-size:.68rem;letter-spacing:.06em;color:var(--gold);font-weight:500;
  margin-left:4px;
}
/* error state on the room field */
.field.room-err .room-checks{border-color:#c0392b;box-shadow:0 0 0 3px rgba(192,57,43,.1)}
