:root { 
  --primary:#c9034c; 
  --primary-light:#ff1466;
  --primary-dark:#a00340;
  --primary-glow: rgba(201, 3, 76, 0.12);
  --bg:#f8fafc; 
  --text:#0f172a; 
  --muted:#64748b; 
  --border:#e2e8f0;
  --success:#10b981;
  --error:#ef4444;
  --shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1);
  --radius: 16px;
  --radius-sm: 12px;
  --radius-xs: 8px;
}
* { box-sizing:border-box; margin:0; padding:0 }
body {
  margin:0; background:#fef8f9; color:var(--text);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  line-height:1.6; min-height:100vh; -webkit-font-smoothing:antialiased;
}
body::before {
  content:''; position:fixed; top:0; left:0; right:0; height:400px;
  background:linear-gradient(135deg,rgba(201,3,76,0.06) 0%,rgba(255,20,102,0.03) 50%,transparent 100%);
  pointer-events:none; z-index:-1;
}

/* HEADER */
header {

  background:rgba(255,255,255,0.95); backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(226,232,240,0.8);
  box-shadow:0 2px 8px rgba(0,0,0,0.05);
}
.container { max-width:1200px; margin:auto; padding:16px 24px; }
.brand { 
  display:flex; 
  align-items:center; 
  justify-content:center;
  gap:14px; 
}
.brand-text {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.logo-img {
 width: 100px;
}
h1 { font-size:22px; font-weight:800; color:var(--text); letter-spacing:-0.5px; }
.brand-subtitle {
  font-size:12px;
  font-weight:500;
  color:var(--muted);
  margin-top:2px;
  letter-spacing:0.03em;
  text-transform:uppercase;
}

/* NAV removed – no Admin Panel */

/* LAYOUT */
main { padding:32px 24px; }
.grid { display:grid; grid-template-columns:1.5fr 1fr; gap:28px; max-width:1200px; margin:auto; }
@media (max-width:1024px) { 
  .grid { grid-template-columns:1fr; } 
  .summary { position:static !important; } 
}
.card {
  background:#fff; border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow); overflow:hidden; transition:transform 0.2s,box-shadow 0.2s;
}
.card:hover { box-shadow:var(--shadow-lg); }
.card-header { padding:24px 28px; border-bottom:1px solid var(--border); background:linear-gradient(to bottom,#fff,#fafbfc); }
.card-body { padding:28px; }
.section-title { font-weight:800; font-size:20px; margin:0; color:var(--text); letter-spacing:-0.3px; }
.kicker {
  font-size:12px; color:var(--primary); margin-bottom:6px; font-weight:700;
  text-transform:uppercase; letter-spacing:1px; display:flex; align-items:center; gap:6px;
}
.kicker::before { content:''; width:8px; height:8px; background:linear-gradient(135deg,var(--primary),var(--primary-light)); border-radius:50%; }

/* FORM */
.form-group { margin-bottom:24px; }
label { display:block; font-size:13px; font-weight:700; color:var(--text); margin-bottom:10px; }
input,select,textarea {
  width:100%; padding:14px 16px; border:2px solid var(--border); border-radius:var(--radius-sm);
  font-size:15px; outline:none; transition:all 0.2s; background:#fff; font-family:inherit; color:var(--text);
}
textarea {
  resize:vertical; min-height:80px; line-height:1.6;
}
input:hover,select:hover,textarea:hover { border-color:#cbd5e1; }
input:focus,select:focus,textarea:focus { border-color:var(--primary); box-shadow:0 0 0 4px var(--primary-glow); }
input.error-field,textarea.error-field { border-color:var(--error); animation:shake 0.4s ease; }
input::placeholder,textarea::placeholder { color:#94a3b8; }
.row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media (max-width:640px) { .row { grid-template-columns:1fr; } }

/* ROOM SELECTOR */
.room-selector { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:28px; }
@media (max-width:640px) { .room-selector { grid-template-columns:1fr; } }
.room-card {
  border:2px solid var(--border); border-radius:var(--radius); padding:20px;
  cursor:pointer; transition:all 0.25s; position:relative; background:#fff; overflow:hidden;
}
.room-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg,var(--primary),var(--primary-light));
  transform:scaleX(0); transition:transform 0.3s;
}
.room-card:hover { border-color:var(--primary); transform:translateY(-2px); box-shadow:var(--shadow-lg); }
.room-card:hover::before { transform:scaleX(1); }
.room-card.selected { border-color:var(--primary); background:linear-gradient(to bottom,rgba(201,3,76,0.02),rgba(201,3,76,0.06)); }
.room-card.selected::before { transform:scaleX(1); }
.room-card.disabled { opacity:0.5; cursor:not-allowed; background:#f8fafc; }
.room-card.disabled:hover { transform:none; box-shadow:var(--shadow); }
.room-card h3 { font-size:17px; font-weight:700; margin-bottom:10px; color:var(--text); }
.room-card .price {
  font-size:28px; font-weight:900; margin-bottom:4px; letter-spacing:-1px;
  background:linear-gradient(135deg,var(--primary),var(--primary-light));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.room-card .per-night { font-size:13px; color:var(--muted); font-weight:500; }

/* SKELETON LOADERS */
.skeleton {
  background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);
  background-size:200% 100%; animation:loading 1.5s ease-in-out infinite;
  border-radius:var(--radius-xs);
}
@keyframes loading {
  0% { background-position:200% 0; }
  100% { background-position:-200% 0; }
}
.skeleton-room-card {
  padding:24px; border:2px solid var(--border); border-radius:var(--radius-sm);
  background:#fff;
}
.skeleton-image { width:100%; height:180px; margin-bottom:16px; }
.skeleton-title { width:60%; height:24px; margin-bottom:12px; }
.skeleton-price { width:40%; height:32px; margin-bottom:8px; }
.skeleton-text { width:80%; height:16px; margin-bottom:8px; }
.skeleton-badge { width:100px; height:28px; border-radius:var(--radius-xs); }
.skeleton-amenity { width:70px; height:24px; border-radius:6px; display:inline-block; margin:4px; }

/* BADGES / TOGGLES */
.badge { display:inline-flex; align-items:center; gap:6px; padding:8px 12px; border-radius:var(--radius-xs); font-size:12px; font-weight:700; }
.badge.success { background:linear-gradient(135deg,#ecfdf5,#d1fae5); color:#059669; }
.badge.error { background:linear-gradient(135deg,#fef2f2,#fee2e2); color:#dc2626; }

.toggle-buttons { display:flex; border:2px solid var(--border); border-radius:var(--radius-sm); overflow:hidden; background:#f8fafc; padding:4px; gap:4px; }
.toggle-buttons button {
  flex:1; padding:14px; border:none; background:transparent; cursor:pointer;
  font-weight:700; transition:all 0.25s; font-size:14px; border-radius:var(--radius-xs); font-family:inherit; color:var(--muted);
}
.toggle-buttons button.active { background:linear-gradient(135deg,var(--primary),var(--primary-light)); color:#fff; box-shadow:0 4px 12px rgba(201,3,76,0.3); }
.toggle-buttons button:not(.active):hover { background:#fff; color:var(--text); }

/* CHECKBOX CARD */
.checkbox-card {
  border:2px solid var(--border); border-radius:var(--radius-sm); padding:16px 20px;
  cursor:pointer; transition:all 0.2s; display:flex; align-items:center; justify-content:space-between; background:#fff;
}
.checkbox-card:hover { border-color:var(--primary); background:#fafbfc; }
.checkbox-card.active { border-color:var(--primary); background:linear-gradient(to right,rgba(201,3,76,0.02),rgba(201,3,76,0.06)); }
.checkbox-card input[type="checkbox"] { width:22px; height:22px; cursor:pointer; accent-color:var(--primary); }

/* QTY CONTROL */
.qty-control { display:flex; align-items:center; gap:16px; }
.qty-buttons { display:inline-flex; border:2px solid var(--border); border-radius:var(--radius-sm); overflow:hidden; background:#fff; }
.qty-buttons button {
  width:48px; height:48px; border:none; background:#fff; cursor:pointer;
  font-size:22px; font-weight:700; color:var(--primary); transition:all 0.2s; display:flex; align-items:center; justify-content:center;
}
.qty-buttons button:hover:not(:disabled) { background:var(--primary-glow); }
.qty-buttons button:disabled { opacity:0.3; cursor:not-allowed; }
.qty-buttons input { width:64px; text-align:center; border:none; border-left:2px solid var(--border); border-right:2px solid var(--border); border-radius:0; padding:0; font-weight:800; font-size:18px; }
.qty-buttons input:focus { box-shadow:none; border-color:var(--border); }

/* TEXT / STATUS */
.hint { font-size:13px; color:var(--muted); margin-top:8px; display:flex; align-items:center; gap:6px; font-weight:500; }
.error-msg { font-size:13px; color:var(--error); margin-top:8px; font-weight:600; display:flex; align-items:center; gap:6px; background:rgba(239,68,68,0.08); padding:10px 14px; border-radius:var(--radius-xs); }
.success-msg { background:linear-gradient(135deg,#ecfdf5,#d1fae5); color:#065f46; padding:24px; border-radius:var(--radius); margin-top:24px; box-shadow:var(--shadow); }
.success-msg strong { display:block; margin-bottom:12px; font-size:18px; }
.success-details { font-size:14px; line-height:1.8; margin:12px 0; background:rgba(255,255,255,0.6); padding:16px; border-radius:var(--radius-xs); }
.danger-msg { background:linear-gradient(135deg,#fef2f2,#fee2e2); color:#991b1b; padding:20px; border-radius:var(--radius); margin-top:24px; font-weight:600; }

/* BUTTONS */
.btn {
  width:100%; padding:16px 24px; border-radius:var(--radius-sm); font-weight:700; font-size:15px;
  border:none; cursor:pointer; transition:all 0.25s; display:flex; align-items:center; justify-content:center; gap:10px; font-family:inherit;
}
.btn-primary { background:linear-gradient(135deg,var(--primary),var(--primary-light)); color:#fff; box-shadow:0 8px 20px -4px rgba(201,3,76,0.4); }
.btn-primary:hover:not(:disabled) { transform:translateY(-2px); box-shadow:0 12px 24px -4px rgba(201,3,76,0.5); }
.btn-primary:disabled { opacity:0.5; cursor:not-allowed; transform:none; }
.btn-secondary { background:#fff; color:var(--primary); border:2px solid var(--primary); }
.btn-secondary:hover:not(:disabled) { background:var(--primary-glow); }
.btn-secondary:disabled { opacity:0.5; cursor:not-allowed; background:#f8fafc; color:var(--muted); border-color:var(--border); }
.btn-ghost { background:#f8fafc; color:var(--text); border:2px solid var(--border); }
.btn-ghost:hover:not(:disabled) { background:#f1f5f9; border-color:#cbd5e1; }
.btn-ghost:disabled { opacity:0.5; cursor:not-allowed; }

/* SUMMARY / ASIDE */
.summary { position:sticky; top:88px; align-self:start; }
.summary-item { display:flex; justify-content:space-between; align-items:center; padding:14px 0; font-size:14px; }
.summary-item:not(:last-child) { border-bottom:1px solid var(--border); }
.summary-label { color:var(--muted); font-weight:500; }
.summary-value { font-weight:700; color:var(--text); }
.summary-total {
  display:flex; justify-content:space-between; align-items:center; padding:20px 0; margin-top:12px;
  border-top:2px dashed var(--border); background:linear-gradient(to right,transparent,rgba(201,3,76,0.03),transparent);
  margin-left:-28px; margin-right:-28px; padding-left:28px; padding-right:28px;
}
.summary-total .label { font-size:16px; font-weight:700; color:var(--text); }
.summary-total .value {
  font-size:28px; font-weight:900; letter-spacing:-1px;
  background:linear-gradient(135deg,var(--primary),var(--primary-light));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.pill { padding:8px 16px; border-radius:50px; background:linear-gradient(135deg,var(--primary-glow),rgba(255,20,102,0.1)); color:var(--primary); font-size:13px; font-weight:800; border:1px solid rgba(201,3,76,0.15); }
.divider { height:1px; background:linear-gradient(to right,transparent,var(--border),transparent); margin:20px 0; }
.info-box { background:linear-gradient(135deg,#f0f9ff,#e0f2fe); border-radius:var(--radius-sm); padding:16px; margin-top:20px; font-size:13px; color:#0c4a6e; font-weight:500; }
.button-group { display:flex; flex-direction:column; gap:14px; margin-top:24px; }

/* ANIMATIONS / STATUS */
@keyframes slideIn { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
.animate-in { animation:slideIn 0.4s cubic-bezier(0.16,1,0.3,1); }
.status-indicator { display:flex; align-items:center; gap:12px; padding:16px; background:linear-gradient(135deg,#f8fafc,#f1f5f9); border-radius:var(--radius-sm); margin-top:16px; }
.status-dot { width:10px; height:10px; border-radius:50%; background:var(--success); box-shadow:0 0 0 4px rgba(16,185,129,0.2); animation:pulse 2s infinite; }
@keyframes pulse { 0%,100% { box-shadow:0 0 0 4px rgba(16,185,129,0.2); } 50% { box-shadow:0 0 0 8px rgba(16,185,129,0.1); } }
.status-dot.offline { background:var(--error); box-shadow:0 0 0 4px rgba(239,68,68,0.2); }

/* MODAL - Enhanced for Mobile */
.modal-overlay {
  position:fixed; 
  top:0; 
  left:0; 
  right:0; 
  bottom:0; 
  background:rgba(15,23,42,0.6);
  backdrop-filter:blur(8px); 
  display:flex; 
  align-items:center; 
  justify-content:center;
  z-index:1000; 
  padding:20px; 
  animation:fadeIn 0.25s ease-out;
  overflow-y:auto;
}

@keyframes fadeIn { 
  from { opacity:0; } 
  to { opacity:1; } 
}

.modal { 
  background:#fff; 
  border-radius:var(--radius); 
  max-width:480px; 
  width:100%; 
  box-shadow:var(--shadow-xl); 
  animation:slideUp 0.35s cubic-bezier(0.16,1,0.3,1); 
  overflow:hidden; 
  margin:auto; 
  max-height:90vh; 
  display:flex; 
  flex-direction:column;
}

@keyframes slideUp { 
  from { 
    opacity:0; 
    transform:translateY(24px) scale(0.98); 
  } 
  to { 
    opacity:1; 
    transform:translateY(0) scale(1); 
  } 
}

.modal-header { 
  padding:24px 28px; 
  border-bottom:1px solid var(--border); 
  display:flex; 
  align-items:center; 
  justify-content:space-between; 
  background:linear-gradient(to bottom,#fff,#fafbfc); 
}

.modal-header h3 { 
  font-size:20px; 
  font-weight:800; 
  color:var(--text); 
  margin:0; 
}

.modal-close { 
  width:36px; 
  height:36px; 
  border:none; 
  background:#f1f5f9; 
  border-radius:var(--radius-xs); 
  cursor:pointer; 
  font-size:18px; 
  color:var(--muted); 
  display:flex; 
  align-items:center; 
  justify-content:center; 
  transition:all 0.2s; 
}

.modal-close:hover { 
  background:#e2e8f0; 
  color:var(--text); 
  transform:rotate(90deg); 
}

.modal-body { 
  padding:28px; 
  overflow-y:auto; 
  flex:1; 
}

.policy-icon { 
  width:72px; 
  height:72px; 
  background:linear-gradient(135deg,#fef3c7,#fde68a); 
  border-radius:50%; 
  display:flex; 
  align-items:center; 
  justify-content:center; 
  font-size:32px; 
  margin:0 auto 20px; 
  box-shadow:0 8px 24px rgba(251,191,36,0.25); 
}

.policy-title { 
  text-align:center; 
  font-size:14px; 
  color:var(--muted); 
  margin-bottom:20px; 
  font-weight:500; 
  line-height:1.6; 
}

.policy-list { 
  background:#f8fafc; 
  border:1px solid var(--border); 
  border-radius:var(--radius-sm); 
  padding:8px; 
  margin-bottom:24px; 
}

.policy-item { 
  display:flex; 
  align-items:flex-start; 
  gap:14px; 
  padding:16px; 
  border-radius:var(--radius-xs); 
  transition:background 0.2s; 
}

.policy-item:hover { 
  background:#fff; 
}

.policy-item:not(:last-child) { 
  border-bottom:1px solid var(--border); 
}

.policy-item .icon { 
  width:40px; 
  height:40px; 
  border-radius:var(--radius-xs); 
  display:flex; 
  align-items:center; 
  justify-content:center; 
  font-size:18px; 
  flex-shrink:0; 
}

.policy-item .icon.couples { 
  background:linear-gradient(135deg,#fce7f3,#fbcfe8); 
}

.policy-item .icon.alcohol { 
  background:linear-gradient(135deg,#fee2e2,#fecaca); 
}

.policy-item .text { 
  flex:1; 
}

.policy-item .text strong { 
  display:block; 
  font-size:14px; 
  color:var(--text); 
  margin-bottom:4px; 
  font-weight:700; 
}

.policy-item .text span { 
  font-size:13px; 
  color:var(--muted); 
  line-height:1.5; 
}

.terms-checkbox { 
  display:flex; 
  align-items:flex-start; 
  gap:14px; 
  padding:18px; 
  background:#f8fafc; 
  border:2px solid var(--border); 
  border-radius:var(--radius-sm); 
  cursor:pointer; 
  transition:all 0.2s; 
  margin-bottom:24px; 
}

.terms-checkbox:hover { 
  border-color:var(--primary); 
  background:var(--primary-glow); 
}

.terms-checkbox.checked { 
  border-color:var(--primary); 
  background:linear-gradient(to right,var(--primary-glow),rgba(255,20,102,0.08)); 
}

.terms-checkbox input { 
  width:22px; 
  height:22px; 
  margin-top:2px; 
  accent-color:var(--primary); 
  cursor:pointer; 
}

.terms-checkbox label { 
  font-size:14px; 
  color:var(--text); 
  cursor:pointer; 
  font-weight:500; 
  line-height:1.6; 
  margin-bottom:0; 
}

.modal-footer { 
  padding:20px 28px 28px; 
  display:flex; 
  gap:14px; 
  border-top:1px solid var(--border); 
  background:#fafbfc; 
  flex-shrink:0; 
}

.modal-footer .btn { 
  flex:1; 
}

/* MOBILE ENHANCEMENTS */
@media (max-width:768px) {
  .modal-overlay { 
    padding:0; 
    align-items:flex-end; 
  }
  
  .modal { 
    max-width:100%; 
    border-radius:var(--radius) var(--radius) 0 0; 
    max-height:90vh; 
    margin:0;
    animation:slideUpMobile 0.3s cubic-bezier(0.16,1,0.3,1);
  }
  
  @keyframes slideUpMobile { 
    from { 
      opacity:0; 
      transform:translateY(100%); 
    } 
    to { 
      opacity:1; 
      transform:translateY(0); 
    } 
  }
  
  .modal-header { 
    padding:20px 16px; 
  }
  
  .modal-header h3 { 
    font-size:18px; 
  }
  
  .modal-body { 
    padding:24px 16px; 
  }
  
  .modal-footer { 
    padding:16px; 
    gap:10px; 
  }
  
  .policy-icon { 
    width:64px; 
    height:64px; 
    font-size:28px; 
    margin-bottom:16px; 
  }
  
  .policy-title { 
    font-size:13px; 
    margin-bottom:16px; 
  }
  
  .policy-list { 
    padding:6px; 
    margin-bottom:20px; 
  }
  
  .policy-item { 
    padding:14px; 
    gap:12px; 
  }
  
  .policy-item .icon { 
    width:38px; 
    height:38px; 
    font-size:17px; 
  }
  
  .policy-item .text strong { 
    font-size:13px; 
  }
  
  .policy-item .text span { 
    font-size:12px; 
  }
  
  .terms-checkbox { 
    padding:16px; 
    gap:12px; 
    margin-bottom:20px; 
  }
  
  .terms-checkbox label { 
    font-size:13px; 
  }
}

@media (max-width:640px) {
  .modal-overlay { 
    padding:0; 
    align-items:flex-end; 
  }
  
  .modal { 
    max-width:100%; 
    border-radius:var(--radius) var(--radius) 0 0; 
    max-height:85vh; 
    margin:0;
  }
  
  .modal-header { 
    padding:18px 16px; 
  }
  
  .modal-header h3 { 
    font-size:17px; 
  }
  
  .modal-close {
    width:32px;
    height:32px;
    font-size:16px;
  }
  
  .modal-body { 
    padding:20px 16px; 
  }
  
  .modal-footer { 
    padding:16px; 
    gap:10px; 
    flex-direction:column; 
  }
  
  .modal-footer .btn { 
    width:100%; 
  }
  
  .policy-icon { 
    width:60px; 
    height:60px; 
    font-size:26px; 
    margin-bottom:14px; 
  }
  
  .policy-title { 
    font-size:13px; 
    margin-bottom:14px; 
  }
  
  .policy-list { 
    padding:6px; 
    margin-bottom:16px; 
  }
  
  .policy-item { 
    padding:12px; 
    gap:10px; 
  }
  
  .policy-item .icon { 
    width:36px; 
    height:36px; 
    font-size:16px; 
  }
  
  .policy-item .text strong { 
    font-size:13px; 
  }
  
  .policy-item .text span { 
    font-size:12px; 
  }
  
  .terms-checkbox { 
    padding:14px; 
    gap:10px; 
    margin-bottom:16px; 
  }
  
  .terms-checkbox input {
    width:20px;
    height:20px;
  }
  
  .terms-checkbox label { 
    font-size:13px; 
  }
}
/* PRELOADER */
.preloader { 
  position:fixed; top:0; left:0; right:0; bottom:0; 
  background:linear-gradient(135deg,#fafbfc,#f1f5f9); 
  display:flex; flex-direction:column; align-items:center; justify-content:center; 
  z-index:9999; transition:opacity 0.4s ease-out; 
}
.preloader.fade-out { opacity:0; pointer-events:none; }
.preloader-logo { 
  width:88px; height:88px; border-radius:24px; 
  background:linear-gradient(135deg,var(--primary),var(--primary-light)); 
  box-shadow:0 16px 40px rgba(201,3,76,0.35); 
  display:flex; align-items:center; justify-content:center; 
  margin-bottom:28px; animation:logoFloat 2s ease-in-out infinite; 
}
.preloader-logo-img {
  width:72px;
  height:72px;
  border-radius:20px;
  object-fit:cover;
}
@keyframes logoFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-12px); } }
.preloader-spinner { width:56px; height:56px; border:4px solid #e2e8f0; border-top-color:var(--primary); border-radius:50%; animation:spin 0.8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.preloader-text { margin-top:24px; font-size:14px; color:var(--muted); font-weight:600; }

@keyframes shake { 0%,100% { transform:translateX(0); } 25% { transform:translateX(-8px); } 75% { transform:translateX(8px); } }

/* INPUT NUMBER SPINNERS */
input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
input[type="number"] { -moz-appearance:textfield; }


.step-label {
  font-size:11px; color:var(--muted); margin-top:6px;
  font-weight:600; text-align:center;
}
.progress-step.active .step-label { color:var(--primary); font-weight:700; }

/* QUICK DATE SELECTION */
.quick-dates {
  display:flex; gap:8px; margin-bottom:16px; flex-wrap:wrap;
}
.quick-date-btn {
  padding:8px 16px; border:2px solid var(--border);
  background:#fff; border-radius:var(--radius-xs);
  font-size:13px; font-weight:600; color:var(--text);
  cursor:pointer; transition:all 0.2s;
}
.quick-date-btn:hover {
  border-color:var(--primary); background:var(--primary-glow);
}
.quick-date-btn.active {
  background:var(--primary); border-color:var(--primary);
  color:#fff;
}

/* MOBILE STICKY BUTTON */
.mobile-sticky-btn {
  display:none; position:fixed; bottom:0; left:0; right:0;
  background:#fff; border-top:2px solid var(--border);
  padding:16px 20px; box-shadow:0 -4px 20px rgba(0,0,0,0.1);
  z-index:100;
}
.mobile-sticky-btn .sticky-content {
  max-width:1200px; margin:0 auto; display:flex;
  align-items:center; justify-content:space-between; gap:16px;
}
.mobile-sticky-btn .sticky-price {
  display:flex; flex-direction:column;
}
.mobile-sticky-btn .sticky-label {
  font-size:11px; color:var(--muted); font-weight:600;
  text-transform:uppercase; letter-spacing:0.5px;
}
.mobile-sticky-btn .sticky-amount {
  font-size:20px; font-weight:900; color:var(--primary);
  letter-spacing:-0.5px;
}

/* MOBILE TWEAKS */
@media (max-width:768px) {
  .grid { grid-template-columns:1fr; gap:20px; }
  .summary { position:static !important; margin-top:24px; }
  .container { padding:12px 16px; }
  main { padding:16px 12px 100px; }
  .card-header,.card-body { padding:20px 16px; }
  .section-title { font-size:18px; }
  .room-card { padding:20px; }
  .room-card .price { font-size:24px; }
  .summary-total .value { font-size:24px; }
  .room-selector { flex-direction:column; }
  .room-card { width:100%; }
  .mobile-sticky-btn { display:block; }

  .step-label { font-size:10px; }
  .step-number { width:24px; height:24px; font-size:12px; }
  .quick-dates { gap:6px; }
  .quick-date-btn { padding:6px 12px; font-size:12px; }
  .form-group { margin-bottom:20px; }
  .row { flex-direction:column; gap:0; }
  .logo-img { width:80px; }
}

@media (max-width:640px) {
  .container { padding:8px 12px; }
  main { padding:12px 8px 80px; }
  .card-header,.card-body { padding:16px 12px; }
  .section-title { font-size:16px; }
  .kicker { font-size:11px; }
  .btn { padding:14px 20px; font-size:14px; }
  .mobile-sticky-btn .sticky-amount { font-size:18px; }
  .mobile-sticky-btn .btn { flex:1; }
}