/* ═══════════════════════════════════════════════════════════
   HSR RESORT BOOKING — ULTRA PREMIUM v8
   3D • Animated • Glassmorphism • Gradient Borders • Premium
   ═══════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Jost:wght@200;300;400;500;600&display=swap');

:root {
  --f:  #1a2b1c;
  --f2: #243227;
  --g:  #c9a84c;
  --g2: #e8c96a;
  --g3: #a07830;
  --cr: #faf7f2;
  --dk: #0e1610;
  --ms: #f0ede7;
  --sh: 0 24px 72px rgba(16,28,18,.24);
  --sh2:0 8px 32px rgba(16,28,18,.14);
  --glow:0 0 60px rgba(201,168,76,.2);
  --r: 0px;
  --trans: cubic-bezier(.23,1,.32,1);
  /* Sunrise palette */
  --sunrise-orange: #FF6B2B;
  --sunrise-amber:  #FFA726;
  --sunrise-sky:    #29B6F6;
  --sunrise-deep:   #0277BD;
  --sunrise-red:    #EF5350;
  --sunrise-glow:   0 0 80px rgba(255,107,43,.25);
}

/* ── SUNRISE KEYFRAMES ── */
@keyframes sunriseGlow {
  0%,100% { box-shadow: 0 0 40px rgba(255,107,43,.2), 0 0 80px rgba(41,182,246,.1); }
  50%      { box-shadow: 0 0 60px rgba(255,167,38,.35), 0 0 120px rgba(41,182,246,.2); }
}
@keyframes skyShimmer {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* ── KEYFRAMES ── */
@keyframes spin   { to { transform:rotate(360deg); } }
@keyframes fadeUp { from { opacity:0;transform:translateY(24px); } to { opacity:1;transform:translateY(0); } }
@keyframes shimmer{ 0%{background-position:-200% 0} 100%{background-position:200% 0} }
@keyframes pulse  { 0%,100%{box-shadow:0 0 0 0 rgba(201,168,76,.35)} 50%{box-shadow:0 0 0 12px rgba(201,168,76,0)} }
@keyframes borderGlow { 0%,100%{opacity:.6} 50%{opacity:1} }
@keyframes float  { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
@keyframes scanline{ 0%{top:-40%} 100%{top:110%} }

/* ── BASE ── */
.hsr-booking-wrap {
  font-family:'Jost',sans-serif;
  max-width:1100px; margin:0 auto;
  background:var(--cr); font-size:16px;
  color:var(--dk); position:relative;
}

/* ── PROGRESS BAR ── */
.hsr-progress-wrap {
  background:linear-gradient(135deg, var(--dk) 0%, var(--f) 100%);
  display:flex; border-bottom:1px solid rgba(201,168,76,.25);
  position:relative; overflow:hidden;
}
.hsr-progress-wrap::after {
  content:''; position:absolute; bottom:0; left:0; height:2px; width:0;
  background:linear-gradient(90deg, var(--g3), var(--g), var(--g2), var(--g));
  transition:width .6s var(--trans);
}
.hsr-progress-wrap[data-step="1"]::after { width:0%; }
.hsr-progress-wrap[data-step="2"]::after { width:33%; }
.hsr-progress-wrap[data-step="3"]::after { width:66%; }
.hsr-progress-wrap[data-step="4"]::after { width:100%; }
.hsr-progress-step {
  flex:1; display:flex; align-items:center; justify-content:center;
  gap:10px; padding:16px 10px;
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(250,247,242,.28);
  border-right:1px solid rgba(255,255,255,.05);
  transition:all .4s var(--trans); cursor:default; position:relative;
}
.hsr-progress-step:last-child { border-right:none; }
.hsr-progress-step.active { color:#FF6B2B; background:rgba(255,107,43,.08); }
.hsr-progress-step.done   { color:rgba(250,247,242,.55); }
.hsr-progress-num {
  width:28px; height:28px; border-radius:50%;
  background:rgba(255,255,255,.06);
  display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:600; flex-shrink:0;
  transition:all .4s var(--trans);
}
.hsr-progress-step.active .hsr-progress-num {
  background:linear-gradient(135deg,#FF6B2B,#FFA726); color:#fff;
  animation:pulse 2s infinite;
  box-shadow:0 0 20px rgba(255,107,43,.6);
}
.hsr-progress-step.done .hsr-progress-num {
  background:rgba(41,182,246,.2); color:#29B6F6;
}

/* ── STEP ── */
.hsr-step {
  padding:44px 52px 56px;
  animation:fadeUp .5s var(--trans) both;
}
.hsr-step-header {
  display:flex; align-items:center; gap:20px; margin-bottom:40px;
  padding-bottom:24px;
  border-bottom:1px solid rgba(26,43,28,.07);
  flex-wrap:wrap;
}
.hsr-step-num {
  width:54px; height:54px; flex-shrink:0;
  background:linear-gradient(135deg, var(--f) 0%, var(--f2) 100%);
  color:var(--g); display:flex; align-items:center; justify-content:center;
  font-size:14px; letter-spacing:.2em;
  box-shadow:0 6px 24px rgba(26,43,28,.3), inset 0 1px 0 rgba(201,168,76,.2);
  position:relative;
}
.hsr-step-num::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(201,168,76,.15) 0%, transparent 60%);
}
.hsr-step-header h3 {
  font-family:'Cormorant Garamond',serif;
  font-size:40px; font-weight:300; color:var(--f); margin:0; flex:1;
  letter-spacing:.01em;
}
.hsr-back-btn {
  background:none; border:1px solid rgba(26,43,28,.18);
  padding:10px 24px; font-size:13px; letter-spacing:.1em;
  text-transform:uppercase; cursor:pointer; color:#888;
  font-family:'Jost',sans-serif; transition:all .25s;
}
.hsr-back-btn:hover { border-color:var(--f); color:var(--f); background:rgba(26,43,28,.03); }

/* ── FORMS ── */
.hsr-form-row { display:grid; gap:22px; }
.hsr-form-row--4 { grid-template-columns:1fr 1fr 1fr auto; }
.hsr-form-row--2 { grid-template-columns:1fr 1fr; }
.hsr-field { display:flex; flex-direction:column; gap:9px; }
.hsr-field label {
  font-size:10px; letter-spacing:.45em; text-transform:uppercase;
  color:var(--g); font-weight:600;
}
.hsr-req { color:#e53935; }
.hsr-input {
  border:1px solid rgba(26,43,28,.15); border-radius:0;
  padding:16px 20px; font-family:'Jost',sans-serif;
  font-size:16px; font-weight:300; color:var(--dk);
  outline:none; transition:border-color .3s, box-shadow .3s, background .3s;
  width:100%; background:#fff; box-sizing:border-box;
}
.hsr-input:focus {
  border-color:var(--g);
  box-shadow:0 0 0 3px rgba(201,168,76,.14), 0 4px 16px rgba(201,168,76,.08);
  background:#fffef9;
}
.hsr-input:hover:not(:focus) { border-color:rgba(26,43,28,.28); }
.hsr-textarea { resize:vertical; min-height:110px; }

/* ── SEARCH PANEL ── */
.hsr-search-panel {
  background:linear-gradient(135deg, var(--dk) 0%, var(--f) 60%, #1e3020 100%);
  padding:40px 44px; position:relative; overflow:hidden;
}
.hsr-search-panel::before {
  content:''; position:absolute; top:-80px; right:-80px;
  width:320px; height:320px; border-radius:50%;
  background:radial-gradient(circle, rgba(201,168,76,.12) 0%, transparent 70%);
  pointer-events:none;
}
.hsr-search-panel::after {
  content:''; position:absolute; bottom:-60px; left:-40px;
  width:200px; height:200px; border-radius:50%;
  background:radial-gradient(circle, rgba(201,168,76,.07) 0%, transparent 70%);
  pointer-events:none;
}
.hsr-search-panel .hsr-field label { color:rgba(201,168,76,.8); }
.hsr-search-panel .hsr-input {
  background:rgba(255,255,255,.07); border-color:rgba(201,168,76,.2);
  color:#fff; backdrop-filter:blur(4px);
}
.hsr-search-panel .hsr-input::placeholder { color:rgba(255,255,255,.3); }
.hsr-search-panel .hsr-input:focus {
  background:rgba(255,255,255,.12); border-color:var(--g);
  box-shadow:0 0 0 3px rgba(201,168,76,.18);
}
.hsr-search-panel select.hsr-input option { background:var(--f); color:#fff; }

/* ══════════════════════════════════════════════
   BUTTONS — Ultra Premium
   ══════════════════════════════════════════════ */
.hsr-btn {
  display:inline-block; padding:18px 44px;
  font-family:'Jost',sans-serif; font-size:13px;
  letter-spacing:.35em; text-transform:uppercase;
  font-weight:500; border:none; cursor:pointer;
  transition:all .4s var(--trans); text-decoration:none;
  line-height:1; position:relative; overflow:hidden;
}
/* Shimmer effect on primary btn */
.hsr-btn--primary {
  background:linear-gradient(115deg, #FF6B2B 0%, #FFA726 45%, #29B6F6 100%);
  background-size:200% 200%;
  color:#fff;
  box-shadow:0 4px 20px rgba(255,107,43,.35);
  animation:skyShimmer 4s ease infinite;
}
.hsr-btn--primary:hover {
  transform:translateY(-3px);
  box-shadow:0 12px 36px rgba(255,107,43,.5), 0 4px 20px rgba(41,182,246,.2);
  filter:brightness(1.05);
}
.hsr-btn--outline {
  background:transparent; border:1px solid var(--g); color:var(--g);
}
.hsr-btn--outline:hover { background:var(--g); color:var(--f); }
.hsr-btn--full { width:100%; text-align:center; box-sizing:border-box; }
.hsr-btn--lg { padding:22px 60px; font-size:14px; letter-spacing:.4em; }

/* ── LOADING ── */
.hsr-loading {
  text-align:center; padding:64px 40px;
  color:#aaa; font-size:13px; letter-spacing:.25em; text-transform:uppercase;
}
.hsr-loading::before {
  content:''; display:inline-block; width:32px; height:32px;
  border:2px solid rgba(201,168,76,.2); border-top-color:var(--g);
  border-radius:50%; animation:spin .9s linear infinite;
  margin-right:14px; vertical-align:middle;
}

/* ── RESULTS HEADER ── */
.hsr-results-header {
  background:linear-gradient(135deg, var(--f) 0%, var(--f2) 100%);
  color:var(--cr); padding:18px 32px; font-size:15px;
  margin-bottom:32px; border-left:4px solid var(--g);
  letter-spacing:.05em; display:flex; align-items:center; gap:12px;
  box-shadow:var(--sh2);
}
.hsr-results-header strong { color:var(--g2); }

/* ══════════════════════════════════════════════════════════
   ULTRA PREMIUM 3D ANIMATED ROOM CARDS — THE SHOWSTOPPER
   ══════════════════════════════════════════════════════════ */
.hsr-result-card {
  position:relative; background:#fff;
  margin-bottom:36px;
  /* Animated gradient border */
  border:1px solid rgba(26,43,28,.1);
  transition:transform .5s var(--trans), box-shadow .5s var(--trans);
  transform-style:preserve-3d; perspective:1200px;
  overflow:hidden;
}
/* Animated border glow on hover */
.hsr-result-card::before {
  content:''; position:absolute; inset:-1.5px; z-index:0; border-radius:1px;
  background:linear-gradient(115deg,
    rgba(255,107,43,0) 0%,
    rgba(255,107,43,.9) 25%,
    rgba(255,167,38,1) 40%,
    rgba(41,182,246,.9) 60%,
    rgba(239,83,80,.8) 75%,
    rgba(255,107,43,0) 100%
  );
  background-size:300% 300%;
  opacity:0; transition:opacity .5s;
  animation:skyShimmer 3s ease infinite paused;
}
.hsr-result-card:hover::before {
  opacity:1;
  animation-play-state:running;
}
/* Inner white layer to hide border trick */
.hsr-result-card::after {
  content:''; position:absolute; inset:1px; background:#fff; z-index:0; pointer-events:none;
}
.hsr-result-card:hover {
  transform:translateY(-6px) rotateX(.6deg);
  box-shadow:
    0 32px 80px rgba(16,28,18,.26),
    0 12px 32px rgba(16,28,18,.14),
    0 0 0 1.5px rgba(255,107,43,.5),
    0 0 60px rgba(255,107,43,.15),
    0 0 120px rgba(41,182,246,.1);
}

/* Card grid — everything above z:0 */
.hsr-result-grid {
  display:grid; grid-template-columns:300px 1fr 260px;
  align-items:stretch; min-height:280px;
  position:relative; z-index:1;
}

/* ── IMAGE COLUMN ── */
.hsr-result-img-wrap {
  position:relative; overflow:hidden;
}
.hsr-result-img {
  width:100%; height:100%; min-height:280px;
  background-size:cover; background-position:center;
  transition:transform .7s var(--trans), filter .5s;
  will-change:transform;
}
.hsr-result-card:hover .hsr-result-img {
  transform:scale(1.1);
  filter:brightness(1.05) saturate(1.1);
}
/* Cinematic overlays */
.hsr-result-img-wrap::before {
  content:''; position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(to right, rgba(16,28,18,.3) 0%, transparent 50%),
    linear-gradient(to top, rgba(16,28,18,.6) 0%, transparent 45%);
  transition:opacity .4s;
}
.hsr-result-card:hover .hsr-result-img-wrap::before { opacity:.7; }

/* Scan-line effect on hover */
.hsr-result-img-wrap::after {
  content:''; position:absolute; left:0; right:0; height:40px; z-index:2;
  background:linear-gradient(to bottom, transparent, rgba(201,168,76,.06), transparent);
  opacity:0; pointer-events:none;
  animation:scanline 2.5s linear infinite paused;
}
.hsr-result-card:hover .hsr-result-img-wrap::after { opacity:1; animation-play-state:running; }

/* Badges */
.hsr-result-type-badge {
  position:absolute; top:20px; left:20px; z-index:5;
  background:linear-gradient(115deg, var(--g3), var(--g));
  color:var(--f); padding:6px 16px;
  font-size:9px; letter-spacing:.4em; text-transform:uppercase; font-weight:700;
  box-shadow:0 4px 16px rgba(0,0,0,.25);
  clip-path:polygon(0 0, calc(100% - 8px) 0, 100% 50%, calc(100% - 8px) 100%, 0 100%);
}
.hsr-popular-badge {
  position:absolute; top:20px; right:0; z-index:5;
  background:linear-gradient(115deg, #a02020, #e53935);
  color:#fff; padding:6px 18px 6px 14px;
  font-size:9px; letter-spacing:.25em; text-transform:uppercase; font-weight:700;
  box-shadow:0 4px 16px rgba(229,57,53,.45);
  clip-path:polygon(8px 0, 100% 0, 100% 100%, 8px 100%, 0 50%);
  animation:borderGlow 2s ease-in-out infinite;
}

/* Gallery dots */
.hsr-img-dots {
  position:absolute; bottom:16px; left:50%; transform:translateX(-50%);
  display:flex; gap:6px; z-index:5;
}
.hsr-img-dot {
  width:6px; height:6px; border-radius:50%;
  background:rgba(255,255,255,.4); cursor:pointer;
  transition:all .25s; border:1px solid rgba(255,255,255,.2);
}
.hsr-img-dot.active {
  background:var(--g); transform:scale(1.4);
  box-shadow:0 0 8px rgba(201,168,76,.6);
}
.hsr-img-dot:hover { background:rgba(255,255,255,.7); }

/* ── BODY COLUMN ── */
.hsr-result-body {
  padding:32px 36px; display:flex; flex-direction:column;
  justify-content:center; gap:8px;
  border-right:1px solid rgba(26,43,28,.07);
  background:linear-gradient(160deg, #fff 0%, #fdfcf8 100%);
}
.hsr-result-type {
  font-size:9px; letter-spacing:.55em; text-transform:uppercase;
  color:var(--g); font-weight:700; margin-bottom:4px;
}
.hsr-result-name {
  font-family:'Cormorant Garamond',serif;
  font-size:32px; font-weight:300; color:var(--f);
  margin:0 0 14px; line-height:1.15;
  transition:color .3s;
}
.hsr-result-card:hover .hsr-result-name { color:var(--g3); }
.hsr-result-meta { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:14px; }
.hsr-result-meta span {
  font-size:13px; color:#777;
  display:flex; align-items:center; gap:5px;
}
.hsr-result-desc { font-size:14px; color:#888; line-height:1.95; font-weight:200; margin:0; }
.hsr-amenities { display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }
.hsr-amenity {
  font-size:12px; letter-spacing:.06em; color:var(--f2);
  background:rgba(36,50,39,.05); padding:5px 13px;
  border:1px solid rgba(36,50,39,.1);
  transition:all .2s;
}
.hsr-amenity:hover { background:rgba(36,50,39,.1); transform:translateY(-1px); }

/* ── PRICE COLUMN — Glass + Dark Premium ── */
.hsr-result-price-col {
  background:linear-gradient(160deg, var(--f) 0%, var(--dk) 100%);
  padding:36px 28px; display:flex; flex-direction:column;
  justify-content:center; align-items:center; text-align:center; gap:14px;
  position:relative; overflow:hidden;
}
/* Animated radial glow */
.hsr-result-price-col::before {
  content:''; position:absolute;
  width:200px; height:200px; border-radius:50%;
  background:radial-gradient(circle, rgba(201,168,76,.18) 0%, transparent 70%);
  top:-50px; right:-50px; pointer-events:none;
  animation:float 4s ease-in-out infinite;
}
.hsr-result-price-col::after {
  content:''; position:absolute;
  width:120px; height:120px; border-radius:50%;
  background:radial-gradient(circle, rgba(201,168,76,.1) 0%, transparent 70%);
  bottom:-30px; left:-30px; pointer-events:none;
}
.hsr-result-price {
  font-family:'Cormorant Garamond',serif;
  font-size:36px; font-weight:300; color:var(--g); line-height:1;
  text-shadow:0 2px 24px rgba(201,168,76,.4);
  position:relative; z-index:1;
}
.hsr-result-price .currency { font-size:20px; vertical-align:super; }
.hsr-result-price span {
  font-family:'Jost',sans-serif; font-size:12px;
  color:rgba(250,247,242,.45); display:block;
  margin-top:5px; letter-spacing:.14em;
}
.hsr-result-total {
  font-size:13px; color:rgba(250,247,242,.6);
  position:relative; z-index:1; line-height:1.6;
}
.hsr-result-total strong { color:var(--cr); font-weight:400; font-size:15px; }
.hsr-result-npr {
  font-size:12px; color:rgba(201,168,76,.6);
  border-top:1px solid rgba(201,168,76,.18);
  padding-top:12px; width:100%; text-align:center;
  position:relative; z-index:1;
  letter-spacing:.03em;
}
/* Select button */
.hsr-select-room-btn {
  margin-top:4px; width:100%; position:relative; z-index:1;
  background:linear-gradient(135deg, rgba(255,107,43,.08), rgba(41,182,246,.06));
  border:1.5px solid rgba(255,107,43,.5); color:#FF6B2B;
  padding:15px 16px;
  font-family:'Jost',sans-serif; font-size:11px;
  letter-spacing:.3em; text-transform:uppercase; cursor:pointer;
  transition:all .35s var(--trans); overflow:hidden;
  text-shadow: 0 0 20px rgba(255,107,43,.3);
}
.hsr-select-room-btn::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(115deg, #FF6B2B 0%, #FFA726 35%, #29B6F6 70%, #EF5350 100%);
  background-size:200% 200%;
  transform:scaleX(0); transform-origin:left;
  transition:transform .4s var(--trans); z-index:0;
  animation:skyShimmer 3s ease infinite paused;
}
.hsr-select-room-btn:hover {
  color:#fff; border-color:transparent;
  text-shadow: 0 1px 8px rgba(0,0,0,.3);
  box-shadow: 0 8px 32px rgba(255,107,43,.4), 0 2px 12px rgba(41,182,246,.2);
  letter-spacing:.35em;
}
.hsr-select-room-btn:hover::before { transform:scaleX(1); animation-play-state:running; }
.hsr-select-room-btn span { position:relative; z-index:1; }

/* ── SUMMARY BAR ── */
.hsr-summary-bar {
  background:linear-gradient(135deg, var(--f) 0%, var(--f2) 100%);
  padding:20px 40px; margin-bottom:36px;
  display:flex; gap:36px; flex-wrap:wrap; align-items:center;
  border-bottom:2px solid var(--g);
  box-shadow:var(--sh2);
}
.hsr-summary-bar span { font-size:14px; color:rgba(250,247,242,.6); letter-spacing:.04em; }
.hsr-summary-bar strong { color:var(--g2); font-weight:400; }

/* ── SUMMARY FINAL ── */
.hsr-summary-final {
  background:#fff;
  border:1px solid rgba(26,43,28,.1);
  border-left:4px solid var(--g);
  padding:26px 36px; margin-bottom:32px;
  display:flex; justify-content:space-between;
  align-items:center; flex-wrap:wrap; gap:16px;
  box-shadow:var(--sh2);
  position:relative; overflow:hidden;
}
.hsr-summary-final::before {
  content:''; position:absolute; top:0; right:0;
  width:200px; height:100%;
  background:linear-gradient(to left, rgba(201,168,76,.04), transparent);
  pointer-events:none;
}
.hsr-summary-final h4 {
  font-family:'Cormorant Garamond',serif;
  font-size:24px; font-weight:300; color:var(--f); margin:0;
}
.hsr-summary-final .hsr-final-total {
  font-family:'Cormorant Garamond',serif;
  font-size:50px; font-weight:300; color:var(--f); line-height:1;
}
.hsr-summary-final .hsr-final-total small {
  font-family:'Jost',sans-serif; font-size:13px;
  color:#aaa; letter-spacing:.1em; display:block; margin-top:5px;
}

/* ── PAYMENT RADIO ── */
.hsr-radio-group { display:flex; flex-direction:column; gap:12px; }
.hsr-radio {
  display:flex; align-items:flex-start; gap:18px;
  padding:20px 24px; border:1px solid rgba(26,43,28,.1);
  cursor:pointer; transition:all .3s; background:#fff;
  position:relative; overflow:hidden;
}
.hsr-radio::before {
  content:''; position:absolute; left:0; top:0; bottom:0; width:0;
  background:linear-gradient(to bottom, var(--g3), var(--g));
  transition:width .3s;
}
.hsr-radio:hover::before { width:3px; }
.hsr-radio:hover { border-color:rgba(201,168,76,.5); background:rgba(201,168,76,.03); }
.hsr-radio--selected { border-color:var(--g); background:rgba(201,168,76,.05); }
.hsr-radio--selected::before { width:4px; }
.hsr-radio input { margin-top:3px; accent-color:var(--g); flex-shrink:0; width:18px; height:18px; }
.hsr-radio span { font-size:16px; font-weight:300; color:var(--f); display:block; }
.hsr-radio small { font-size:13px; color:#999; display:block; margin-top:5px; line-height:1.6; }

/* ── ERROR / NOTE ── */
.hsr-error {
  background:linear-gradient(135deg, #fff5f5, #fff0f0);
  border-left:3px solid #e53935;
  padding:15px 20px; color:#c62828; font-size:15px; margin-top:14px;
}
.hsr-form-note {
  font-size:13px; color:#bbb; text-align:center;
  margin-top:20px; letter-spacing:.06em; line-height:2;
}

/* ── SUCCESS PAGE ── */
.hsr-success {
  text-align:center; padding:88px 60px;
  background:#fff; position:relative; overflow:hidden;
}
.hsr-success::before {
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg, var(--f) 0%, var(--g3) 25%, var(--g) 50%, var(--g2) 75%, var(--f) 100%);
  background-size:200% 100%;
  animation:shimmer 4s linear infinite;
}
/* Background decoration */
.hsr-success::after {
  content:''; position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:600px; height:600px; border-radius:50%;
  background:radial-gradient(circle, rgba(201,168,76,.04) 0%, transparent 70%);
  pointer-events:none;
}
.hsr-success-icon {
  width:96px; height:96px;
  background:linear-gradient(135deg, var(--f) 0%, var(--f2) 100%);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:42px; color:var(--g); margin:0 auto 36px;
  box-shadow:0 0 0 16px rgba(26,43,28,.06), 0 0 0 32px rgba(26,43,28,.03), var(--sh2);
  animation:float 3s ease-in-out infinite;
  position:relative; z-index:1;
}
.hsr-success h2 {
  font-family:'Cormorant Garamond',serif;
  font-size:48px; font-weight:300; color:var(--f); margin:0 0 18px;
  position:relative; z-index:1;
}
.hsr-success p {
  color:#666; font-size:17px; font-weight:200; line-height:2;
  max-width:500px; margin:0 auto; position:relative; z-index:1;
}
.hsr-success-ref {
  background:linear-gradient(135deg, var(--f) 0%, var(--f2) 100%);
  color:var(--g); padding:20px 56px; display:inline-block;
  font-size:28px; letter-spacing:.28em; margin:36px 0;
  font-weight:300; box-shadow:var(--sh2);
  position:relative; z-index:1;
}
.hsr-success-note { font-size:14px !important; color:#aaa !important; position:relative; z-index:1; }
.hsr-success-note strong { color:var(--f); }
.hsr-success-details {
  background:var(--ms); border:1px solid rgba(26,43,28,.08);
  padding:28px 40px; margin-top:32px; text-align:left;
  max-width:520px; margin-left:auto; margin-right:auto;
  font-size:15px; color:#666; line-height:2.4;
  position:relative; z-index:1;
}

/* ── ROOMS GRID (rooms list shortcode) ── */
.hsr-rooms-grid { display:grid; gap:32px; }
.hsr-cols-2 { grid-template-columns:repeat(2,1fr); }
.hsr-cols-3 { grid-template-columns:repeat(3,1fr); }
.hsr-cols-4 { grid-template-columns:repeat(4,1fr); }
.hsr-room-card {
  background:#fff; border:1px solid rgba(26,43,28,.08); overflow:hidden;
  transition:transform .5s var(--trans), box-shadow .5s;
  position:relative;
}
.hsr-room-card::before {
  content:''; position:absolute; inset:-1px; z-index:0;
  background:linear-gradient(115deg, transparent, var(--g), transparent);
  background-size:300% 100%; opacity:0;
  transition:opacity .4s;
  animation:shimmer 3s linear infinite paused;
}
.hsr-room-card:hover::before { opacity:1; animation-play-state:running; }
.hsr-room-card::after { content:''; position:absolute; inset:1px; background:#fff; z-index:0; }
.hsr-room-card:hover { box-shadow:var(--sh), var(--glow); transform:translateY(-8px); }
.hsr-room-img {
  height:280px; background-size:cover; background-position:center;
  position:relative; overflow:hidden; z-index:1;
}
.hsr-room-img::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:55%;
  background:linear-gradient(to top, rgba(16,28,18,.45) 0%, transparent 100%);
}
.hsr-room-type {
  position:absolute; top:18px; left:18px;
  background:linear-gradient(115deg, var(--g3), var(--g));
  color:var(--f); padding:6px 16px;
  font-size:9px; letter-spacing:.35em; text-transform:uppercase; font-weight:700;
  z-index:1; clip-path:polygon(0 0, calc(100% - 8px) 0, 100% 50%, calc(100% - 8px) 100%, 0 100%);
}
.hsr-room-body { padding:28px 32px; position:relative; z-index:1; }
.hsr-room-name {
  font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:300;
  color:var(--f); margin:0 0 12px; line-height:1.2;
  transition:color .3s;
}
.hsr-room-card:hover .hsr-room-name { color:var(--g3); }
.hsr-room-meta { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:14px; }
.hsr-room-meta span { font-size:13px; color:#888; }
.hsr-room-desc { font-size:15px; color:#888; line-height:1.9; font-weight:200; margin:0 0 18px; }
.hsr-room-price {
  display:flex; align-items:baseline; gap:8px; margin:18px 0;
  padding-top:16px; border-top:1px solid rgba(26,43,28,.06);
}
.hsr-price-num {
  font-family:'Cormorant Garamond',serif; font-size:32px;
  font-weight:300; color:var(--f);
}
.hsr-price-label { font-size:14px; color:#bbb; }

/* ── CHECK BOOKING ── */
.hsr-check-booking {
  background:#fff; border:1px solid rgba(26,43,28,.1); padding:44px;
}
.hsr-check-booking h3 {
  font-family:'Cormorant Garamond',serif; font-size:34px;
  font-weight:300; color:var(--f); margin:0 0 30px;
}

/* ── RESPONSIVE ── */
@media (max-width:960px) {
  .hsr-step { padding:30px 24px 40px; }
  .hsr-form-row--4 { grid-template-columns:1fr 1fr; }
  .hsr-result-grid { grid-template-columns:1fr; }
  .hsr-result-img { height:250px; min-height:250px; }
  .hsr-result-price-col { padding:30px 24px; }
  .hsr-cols-3,.hsr-cols-4 { grid-template-columns:1fr 1fr; }
  .hsr-progress-step { font-size:10px; padding:13px 8px; }
}
@media (max-width:640px) {
  .hsr-step { padding:22px 18px 32px; }
  .hsr-form-row--4,.hsr-form-row--2 { grid-template-columns:1fr; }
  .hsr-cols-2,.hsr-cols-3,.hsr-cols-4 { grid-template-columns:1fr; }
  .hsr-summary-bar { flex-direction:column; gap:10px; padding:20px; }
  .hsr-summary-final { flex-direction:column; text-align:center; }
  .hsr-success { padding:56px 24px; }
  .hsr-success h2 { font-size:36px; }
  .hsr-progress-step .hsr-progress-label { display:none; }
}

/* ── CURRENCY SWITCHER ── */
.hsr-currency-switcher { position:relative; display:inline-block; font-family:'Jost',sans-serif; z-index:100; }
.hsr-currency-btn { background:var(--f); color:var(--cr); border:1px solid rgba(201,168,76,.3); padding:10px 18px; font-size:13px; letter-spacing:.1em; cursor:pointer; display:flex; align-items:center; gap:8px; transition:all .25s; }
.hsr-currency-btn:hover { border-color:var(--g); }
.hsr-currency-flag { font-size:17px; }
.hsr-currency-code { font-weight:600; color:var(--g); }
.hsr-currency-arrow { font-size:11px; color:rgba(245,240,232,.5); transition:transform .2s; }
.hsr-currency-switcher.open .hsr-currency-arrow { transform:rotate(180deg); }
.hsr-currency-dropdown { display:none; position:absolute; top:100%; left:0; background:#fff; border:1px solid #e0e0e0; box-shadow:var(--sh); min-width:230px; max-height:320px; overflow-y:auto; z-index:9999; }
.hsr-currency-switcher.open .hsr-currency-dropdown { display:block; }
.hsr-currency-option { display:flex; align-items:center; gap:10px; padding:12px 18px; width:100%; background:none; border:none; cursor:pointer; font-family:'Jost',sans-serif; font-size:14px; text-align:left; transition:background .15s; border-bottom:1px solid rgba(0,0,0,.04); }
.hsr-currency-option:hover { background:var(--ms); }
.hsr-currency-option.active { background:rgba(36,50,39,.06); }
.hsr-opt-code { font-weight:700; color:var(--f); width:42px; }
.hsr-opt-name { color:#999; font-size:13px; }

/* ── PAYMENT/BOOKING STYLES ── */
.hsr-payment-wrap { font-family:'Jost',sans-serif; max-width:800px; margin:0 auto; }
.hsr-payment-summary { background:linear-gradient(135deg, var(--f), var(--dk)); padding:32px 36px; margin-bottom:28px; border-top:2px solid var(--g); position:relative; overflow:hidden; }
.hsr-pay-row { display:flex; justify-content:space-between; align-items:center; padding:11px 0; border-bottom:1px solid rgba(250,247,242,.07); font-size:15px; color:rgba(250,247,242,.65); }
.hsr-pay-row:last-child { border-bottom:none; }
.hsr-pay-row strong { color:var(--cr); }
.hsr-pay-total { padding-top:16px; font-size:17px; color:var(--cr) !important; }
.hsr-pay-npr strong { color:var(--g) !important; font-size:22px; }
.hsr-payment-title { font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:300; color:var(--f); margin:0 0 20px; }
.hsr-payment-methods { display:flex; flex-direction:column; gap:14px; }
.hsr-pay-method { border:1px solid rgba(26,43,28,.1); overflow:hidden; transition:all .3s; }
.hsr-pay-method:hover { box-shadow:var(--sh2); border-color:rgba(26,43,28,.2); }
.hsr-pay-method-header { display:flex; align-items:center; gap:18px; padding:20px 24px; }
.hsr-pay-logo { display:flex; align-items:center; justify-content:center; width:60px; height:40px; border-radius:4px; font-size:11px; font-weight:700; color:#fff; flex-shrink:0; }
.hsr-pay-logo--esewa { background:#60BB46; }
.hsr-pay-logo--khalti { background:#5C2D91; }
.hsr-pay-logo--bank { background:#2c3a2e; font-size:22px; }
.hsr-pay-logo--arrival { background:#555; font-size:22px; }
.hsr-pay-info { flex:1; }
.hsr-pay-info strong { display:block; font-size:16px; color:var(--f); font-weight:400; }
.hsr-pay-info span { font-size:13px; color:#aaa; }
.hsr-pay-method-body { padding:18px 24px; background:var(--ms); border-top:1px solid rgba(26,43,28,.07); }
.hsr-bank-details pre { margin:0; font-size:14px; line-height:1.9; }
.hsr-pay-arrival-note { font-size:13px; color:#aaa; letter-spacing:.04em; }

/* ── AVAILABILITY ── */
.hsr-avail-widget { font-family:'Jost',sans-serif; }
.hsr-avail-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; flex-wrap:wrap; gap:14px; }
.hsr-avail-header h4 { font-family:'Cormorant Garamond',serif; font-size:26px; font-weight:300; color:var(--f); margin:0; }
.hsr-avail-legend { display:flex; gap:16px; font-size:13px; color:#888; }
.hsr-dot { display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:5px; }
.hsr-dot--free { background:#4caf50; } .hsr-dot--booked { background:#e53935; } .hsr-dot--checkin { background:#c9a84c; }
.hsr-avail-calendars { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; }
.hsr-mini-cal-wrap { background:#fff; border:1px solid #e8e4da; padding:20px; box-shadow:var(--sh2); }
.hsr-mini-cal-nav { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.hsr-mini-cal-title { font-size:14px; font-weight:600; color:var(--f); }
.hsr-mini-cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:2px; }
.hsr-mini-cal-day { text-align:center; padding:7px 2px; font-size:12px; border-radius:2px; cursor:default; }
.hsr-mini-cal-day.free { background:#e8f5e9; color:#2e7d32; }
.hsr-mini-cal-day.booked { background:#ffebee; color:#b71c1c; }
.hsr-mini-cal-day.checkin { background:#fff8e1; color:#e65100; }
.hsr-mini-cal-day.past { color:#ddd; }
.hsr-mini-cal-day.hdr { background:none; color:#bbb; font-weight:700; font-size:10px; letter-spacing:.1em; }
.hsr-mini-cal-day.empty { background:none; }

/* ── AVAILABILITY ROOM GRID ── */
.hsr-all-avail-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:24px; font-family:'Jost',sans-serif; }
.hsr-avail-room-card { border:1px solid rgba(26,43,28,.1); overflow:hidden; background:#fff; transition:all .3s; }
.hsr-avail-room-card:hover { box-shadow:var(--sh2); transform:translateY(-4px); }
.hsr-avail-room-img { height:210px; background-size:cover; background-position:center; position:relative; }
.hsr-avail-badge { position:absolute; bottom:14px; right:14px; padding:7px 16px; font-size:10px; letter-spacing:.15em; text-transform:uppercase; font-weight:700; }
.hsr-avail-badge--free { background:#4caf50; color:#fff; }
.hsr-avail-badge--booked { background:#e53935; color:#fff; }
.hsr-avail-room-body { padding:22px 24px; }
.hsr-avail-room-type { font-size:10px; letter-spacing:.38em; text-transform:uppercase; color:var(--g); margin-bottom:7px; }
.hsr-avail-room-name { font-family:'Cormorant Garamond',serif; font-size:24px; font-weight:300; color:var(--f); margin:0 0 10px; }
.hsr-avail-room-meta { display:flex; flex-wrap:wrap; gap:10px; font-size:13px; color:#888; margin-bottom:12px; }
.hsr-avail-price { font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:300; color:var(--f); }
.hsr-avail-price span { font-family:'Jost',sans-serif; font-size:13px; color:#bbb; }
.hsr-next-avail { background:#fff8e1; border-left:3px solid #ff9800; padding:11px 16px; font-size:13px; color:#e65100; margin-top:14px; }
.hsr-avail-room-card--booked .hsr-avail-room-img::after { content:''; position:absolute; inset:0; background:rgba(0,0,0,.2); }

/* ── REVIEWS ── */
.hsr-reviews-summary { background:linear-gradient(135deg, var(--f), var(--dk)); padding:32px 44px; display:flex; align-items:center; gap:32px; margin-bottom:32px; border-top:2px solid var(--g); position:relative; overflow:hidden; }
.hsr-reviews-avg { display:flex; align-items:center; gap:20px; }
.hsr-reviews-avg-num { font-family:'Cormorant Garamond',serif; font-size:68px; font-weight:300; color:var(--g); line-height:1; text-shadow:0 2px 20px rgba(201,168,76,.35); }
.hsr-reviews-stars { color:#f9a825; font-size:24px; letter-spacing:4px; }
.hsr-reviews-count { font-size:13px; color:rgba(250,247,242,.5); margin-top:5px; }
.hsr-reviews-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:24px; font-family:'Jost',sans-serif; }
.hsr-review-card { background:#fff; border:1px solid rgba(26,43,28,.07); border-bottom:3px solid var(--g); padding:32px; transition:all .3s; }
.hsr-review-card:hover { box-shadow:var(--sh2); transform:translateY(-3px); }
.hsr-review-stars { color:#f9a825; font-size:20px; margin-bottom:12px; }
.hsr-review-title { font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:400; color:var(--f); margin:0 0 12px; }
.hsr-review-body { font-size:15px; color:#666; line-height:2; font-weight:200; font-style:italic; margin:0 0 18px; }
.hsr-review-meta { font-size:13px; color:#bbb; display:flex; flex-wrap:wrap; gap:10px; }
.hsr-review-meta strong { color:var(--f); }
.hsr-review-cats { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; font-size:12px; color:#999; }
.hsr-star-rating { display:flex; flex-direction:row-reverse; justify-content:flex-end; gap:4px; }
.hsr-star-rating input { display:none; }
.hsr-star-rating label { font-size:38px; color:#ddd; cursor:pointer; transition:color .15s, transform .2s; }
.hsr-star-rating label:hover { transform:scale(1.2); }
.hsr-star-rating input:checked ~ label, .hsr-star-rating label:hover, .hsr-star-rating label:hover ~ label { color:#f9a825; }

/* ── WAITLIST / MODAL / CALC ── */
.hsr-waitlist-standalone { background:var(--ms); border:1px solid rgba(26,43,28,.1); border-left:4px solid #ff9800; padding:32px; font-family:'Jost',sans-serif; }
.hsr-waitlist-standalone h4 { font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:300; color:var(--f); margin:0 0 10px; }
.hsr-modal { position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center; }
.hsr-modal-overlay { position:absolute; inset:0; background:rgba(10,18,12,.82); backdrop-filter:blur(6px); }
.hsr-modal-box { position:relative; background:#fff; padding:52px; max-width:560px; width:92%; max-height:90vh; overflow-y:auto; box-shadow:0 32px 100px rgba(0,0,0,.4); border-top:3px solid var(--g); animation:fadeUp .35s var(--trans); }
.hsr-modal-close { position:absolute; top:18px; right:22px; background:none; border:none; font-size:30px; cursor:pointer; color:#ccc; transition:color .2s; }
.hsr-modal-close:hover { color:var(--f); }
.hsr-modal-box h3 { font-family:'Cormorant Garamond',serif; font-size:34px; font-weight:300; color:var(--f); margin:0 0 8px; }
.hsr-price-calc { background:var(--ms); border:1px solid rgba(26,43,28,.1); padding:32px; font-family:'Jost',sans-serif; }
.hsr-price-calc h4 { font-family:'Cormorant Garamond',serif; font-size:26px; font-weight:300; color:var(--f); margin:0 0 22px; }
.hsr-calc-result { background:linear-gradient(135deg, var(--f), var(--dk)); padding:28px; margin-top:22px; border-top:2px solid var(--g); position:relative; overflow:hidden; }
.hsr-calc-total { font-family:'Cormorant Garamond',serif; font-size:50px; font-weight:300; color:var(--g); text-shadow:0 2px 20px rgba(201,168,76,.3); }
.hsr-calc-detail { font-size:14px; color:rgba(250,247,242,.6); margin-top:7px; }
.hsr-calc-avail { font-size:13px; margin-top:12px; }
.hsr-calc-avail--yes { color:#7ecc9e; } .hsr-calc-avail--no { color:#ef9a9a; }
.hsr-calc-breakdown { margin-top:18px; border-top:1px solid rgba(250,247,242,.08); padding-top:18px; }
.hsr-calc-breakdown div { display:flex; justify-content:space-between; font-size:13px; color:rgba(250,247,242,.45); padding:5px 0; }

@media (max-width:640px) {
  .hsr-all-avail-grid,.hsr-reviews-grid { grid-template-columns:1fr; }
  .hsr-avail-calendars { grid-template-columns:1fr; }
  .hsr-reviews-summary { flex-direction:column; text-align:center; }
}

/* ── SPECIAL DEAL BANNER ── */
.hsr-deal-banner {
  background:linear-gradient(115deg, #1a2b1c 0%, #c9a84c 50%, #1a2b1c 100%);
  background-size:200% 100%;
  animation:shimmer 4s linear infinite;
  padding:14px 28px; display:flex; align-items:center;
  gap:14px; flex-wrap:wrap; justify-content:center;
}
.hsr-deal-badge {
  background:rgba(255,255,255,.15); color:#fff;
  padding:5px 16px; font-size:12px; font-weight:700;
  letter-spacing:.2em; text-transform:uppercase;
  border:1px solid rgba(255,255,255,.25);
  animation:pulse 2.5s infinite;
}
.hsr-deal-text {
  color:rgba(255,255,255,.92); font-size:14px;
  font-family:'Cormorant Garamond',serif; font-style:italic;
  letter-spacing:.02em;
}

/* ── WHATSAPP FLOATING BUTTON ── */
.hsr-whatsapp-btn {
  position:fixed; bottom:28px; right:28px; z-index:9999;
  background:linear-gradient(135deg, #1fbe5e, #25d366);
  color:#fff; border-radius:50px;
  padding:14px 22px 14px 18px;
  display:flex; align-items:center; gap:10px;
  text-decoration:none; font-family:'Jost',sans-serif;
  font-size:14px; font-weight:500; letter-spacing:.05em;
  box-shadow:0 8px 32px rgba(37,211,102,.45);
  transition:all .35s var(--trans);
  animation:float 3s ease-in-out infinite;
}
.hsr-whatsapp-btn:hover {
  transform:translateY(-4px) scale(1.05);
  box-shadow:0 16px 48px rgba(37,211,102,.55);
  color:#fff;
}
.hsr-whatsapp-btn svg { filter:drop-shadow(0 1px 2px rgba(0,0,0,.2)); }
@media (max-width:640px) {
  .hsr-whatsapp-btn span { display:none; }
  .hsr-whatsapp-btn { padding:16px; border-radius:50%; }
}

/* ══ v10 LAYOUT: Two-column booking + sidebar ══ */
.hsr-booking-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 28px;
  align-items: start;
}
.hsr-booking-main { min-width: 0; }

/* Sticky Summary Card */
.hsr-booking-sidebar { position: sticky; top: 80px; }
.hsr-summary-card {
  background: var(--f);
  border: 1px solid rgba(201,168,76,.2);
  padding: 24px;
  border-top: 3px solid var(--g);
  box-shadow: var(--sh2);
}
.hsr-summary-card-title {
  font-size: 11px; letter-spacing:.32em; text-transform:uppercase;
  color: var(--g); font-weight:600; margin-bottom:18px;
  padding-bottom:12px; border-bottom:1px solid rgba(201,168,76,.15);
}
.hsr-summary-rows { display:flex; flex-direction:column; gap:10px; }
.hsr-summary-row {
  display:flex; justify-content:space-between; align-items:flex-start;
  font-size:13px; gap:8px;
}
.hsr-summary-row span { color:rgba(250,247,242,.55); flex-shrink:0; }
.hsr-summary-row strong { color:var(--cr); text-align:right; font-weight:400; font-size:13px; }
.hsr-summary-divider { border-top:1px solid rgba(201,168,76,.15); margin:4px 0; }
.hsr-summary-total {
  display:flex; justify-content:space-between; align-items:center;
  padding-top:8px; font-size:14px;
}
.hsr-summary-total span { color:rgba(250,247,242,.7); }
.hsr-summary-total strong { color:var(--g); font-size:20px; font-weight:300; font-family:'Cormorant Garamond',serif; }
.hsr-summary-discount { display:flex; justify-content:space-between; font-size:13px; }
.hsr-summary-discount span { color:rgba(250,247,242,.55); }
.hsr-summary-note {
  font-size:11px; color:rgba(250,247,242,.3);
  text-align:center; margin-top:16px; padding-top:14px;
  border-top:1px solid rgba(255,255,255,.05); letter-spacing:.04em;
}

/* Step confirm micro-feedback */
.hsr-step-confirm {
  background: linear-gradient(135deg, #e8f5e9, #f1f8f1);
  border-left: 3px solid #4caf50;
  color: #2e7d32; padding: 10px 16px;
  font-size: 13px; font-weight: 500;
  margin-bottom: 20px; letter-spacing:.02em;
  animation: fadeUp .3s ease both;
}

/* Date selection grid */
.hsr-date-select-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr 1fr;
  gap: 16px; align-items: end; margin-bottom: 20px;
}
.hsr-date-divider {
  font-size: 20px; color: var(--g); text-align:center;
  padding-bottom: 14px; font-weight:300;
}
.hsr-date-field label {
  font-size:10px; letter-spacing:.4em; text-transform:uppercase;
  color:var(--g); font-weight:600; display:block; margin-bottom:8px;
}
.hsr-date-input-wrap { position:relative; }
.hsr-date-icon {
  position:absolute; left:14px; top:50%; transform:translateY(-50%);
  font-size:16px; pointer-events:none; z-index:1;
}
.hsr-date-input-wrap .hsr-input { padding-left: 42px; }

/* Room groups */
.hsr-room-group { margin-bottom: 32px; }
.hsr-room-group-title {
  display: flex; align-items: center; gap: 10px;
  font-size: 14px; font-weight: 600; color: var(--f);
  letter-spacing: .08em; text-transform: uppercase;
  margin-bottom: 16px; padding-bottom: 12px;
  border-bottom: 2px solid var(--g);
}
.hsr-room-group-icon { font-size: 20px; }
.hsr-room-group-count {
  margin-left: auto; font-size: 11px; font-weight:400;
  color: #aaa; letter-spacing:.1em;
}

/* Selected room button state */
.hsr-room-selected-btn {
  background: var(--g) !important;
  color: var(--f) !important;
  border-color: var(--g) !important;
}

/* Map link */
.hsr-map-link {
  display:inline-block; margin-top:10px; font-size:12px;
  color:#1565c0; text-decoration:none;
  transition:color .2s;
}
.hsr-map-link:hover { color:var(--g3); }

/* Form sections */
.hsr-form-section {
  background:#fff; border:1px solid rgba(26,43,28,.07);
  padding:24px 28px; margin-bottom:18px;
}
.hsr-form-section-title {
  font-size:10px; letter-spacing:.4em; text-transform:uppercase;
  color:var(--g); margin:0 0 18px;
  padding-bottom:12px; border-bottom:1px solid rgba(26,43,28,.06);
  font-weight:600;
}

/* Trust badges */
.hsr-trust-badges {
  display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px;
}
.hsr-trust-badges span {
  font-size: 12px; color: #666;
  background: #f9f7f2; padding: 6px 12px;
  border: 1px solid #e8e4da;
  display: flex; align-items: center; gap: 5px;
}

/* Mobile responsive overrides */
@media (max-width: 800px) {
  .hsr-booking-layout { grid-template-columns: 1fr; }
  .hsr-booking-sidebar { position: static; }
  .hsr-summary-card { margin-bottom: 20px; }
  .hsr-date-select-grid { grid-template-columns: 1fr 1fr; }
  .hsr-date-divider { display: none; }
  .hsr-guests-field { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .hsr-date-select-grid { grid-template-columns: 1fr; }
}

/* ══ v11 — Full-width, quantity display, clean cards ══ */
.hsr-booking-fullwidth {
  max-width: 100% !important;
  width: 100% !important;
}

/* Available count badge */
.hsr-avail-count {
  font-size: 12px; font-weight: 600; letter-spacing: .04em;
  padding: 7px 10px; margin-bottom: 8px;
  background: rgba(255,255,255,.07); border-radius: 2px;
  text-align: center; position: relative; z-index: 1;
}

/* Tighter room card body — prevent text overflow */
.hsr-result-name {
  font-size: 26px !important;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.hsr-result-desc {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 13px !important;
}
.hsr-result-body { padding: 24px 26px !important; }
.hsr-result-grid { grid-template-columns: 260px 1fr 230px !important; min-height: 250px !important; }
@media (max-width:900px) {
  .hsr-result-grid { grid-template-columns: 1fr !important; }
}

/* ══════════════════════════════════════════════════════════
   v15 — ULTRA PREMIUM BOOKING FORM REDESIGN
   Inspired by dark forest-green + gold resort aesthetic
   ══════════════════════════════════════════════════════════ */

/* Full-width immersive wrap */
.hsr-booking-wrap {
  background: #0e1610 !important;
  max-width: 100% !important;
  min-height: 100vh;
}

/* Dark glass hero for step 1 */
#hsr-step-1 {
  background: linear-gradient(135deg, #0e1610 0%, #1a2b1c 60%, #0e1610 100%);
  padding: 60px 5vw 56px !important;
  position: relative;
  overflow: hidden;
}
#hsr-step-1::before {
  content: '';
  position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23c9a84c' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  opacity: 0.6;
  pointer-events: none;
}
#hsr-step-1 .hsr-step-header h3 {
  color: #fff !important;
  font-size: 44px !important;
}
#hsr-step-1 .hsr-step-num {
  background: linear-gradient(135deg, var(--g3), var(--g)) !important;
  color: #1a2b1c !important;
}
#hsr-step-1 .hsr-field label { color: rgba(201,168,76,.9) !important; }
#hsr-step-1 .hsr-step-header { border-bottom-color: rgba(201,168,76,.2) !important; }

/* Date inputs — glass style */
.hsr-date-input-wrap .hsr-input {
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(201,168,76,.3) !important;
  color: #fff !important;
  font-size: 17px !important;
  padding: 18px 18px 18px 46px !important;
}
.hsr-date-input-wrap .hsr-input:focus {
  background: rgba(201,168,76,.1) !important;
  border-color: var(--g) !important;
  box-shadow: 0 0 0 3px rgba(201,168,76,.18) !important;
}
.hsr-date-input-wrap .hsr-input::placeholder { color: rgba(255,255,255,.4) !important; }
.hsr-date-input-wrap .hsr-input option { background: #1a2b1c; }
.hsr-date-icon { color: var(--g) !important; font-size: 18px !important; }
.hsr-date-divider { color: var(--g) !important; font-size: 28px !important; }
.hsr-date-field label { color: rgba(201,168,76,.85) !important; font-size: 9px !important; }

/* Search button — gold full */
#hsr-search-btn {
  background: linear-gradient(115deg, var(--g3) 0%, var(--g) 50%, var(--g2) 100%) !important;
  color: #1a2b1c !important;
  font-size: 14px !important;
  letter-spacing: .35em !important;
  padding: 20px 44px !important;
  border: none !important;
  font-weight: 700 !important;
  box-shadow: 0 8px 32px rgba(201,168,76,.35) !important;
}
#hsr-search-btn:hover {
  background: linear-gradient(115deg, #1a2b1c 0%, #243227 100%) !important;
  color: var(--g) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,.4) !important;
}

/* Steps 2-4 on cream background */
#hsr-step-2, #hsr-step-3, #hsr-step-4 {
  background: #faf7f2;
  padding: 40px 5vw 52px !important;
}
#hsr-step-2 .hsr-step-header h3,
#hsr-step-3 .hsr-step-header h3 { color: #1a2b1c !important; }

/* Room result cards — more luxe */
.hsr-result-card {
  border-radius: 0 !important;
  box-shadow: 0 4px 24px rgba(16,28,18,.1) !important;
}
.hsr-result-card:hover {
  box-shadow: 0 20px 60px rgba(16,28,18,.22), 0 0 0 1px rgba(201,168,76,.25) !important;
  transform: translateY(-6px) !important;
}
.hsr-result-name { font-size: 28px !important; }
.hsr-avail-count {
  font-size: 13px !important;
  letter-spacing: .04em !important;
  padding: 8px 12px !important;
}

/* Form sections — elegant cards */
.hsr-form-section {
  background: #fff !important;
  border: 1px solid rgba(26,43,28,.08) !important;
  border-left: 3px solid var(--g) !important;
  padding: 24px 28px !important;
  margin-bottom: 16px !important;
  box-shadow: 0 2px 12px rgba(16,28,18,.06) !important;
}
.hsr-form-section-title {
  font-size: 9px !important;
  letter-spacing: .55em !important;
  color: var(--g) !important;
  margin-bottom: 20px !important;
  font-weight: 700 !important;
}
.hsr-input {
  border-color: rgba(26,43,28,.15) !important;
  font-size: 15px !important;
  padding: 15px 18px !important;
}
.hsr-field label {
  font-size: 9px !important;
  letter-spacing: .42em !important;
  color: var(--g) !important;
}

/* Summary card dark */
.hsr-summary-card {
  background: linear-gradient(160deg, #1a2b1c 0%, #0e1610 100%) !important;
  border: 1px solid rgba(201,168,76,.2) !important;
  border-top: 3px solid var(--g) !important;
}
.hsr-summary-card-title { 
  color: rgba(201,168,76,.8) !important;
  letter-spacing: .3em !important;
}
.hsr-summary-row span { color: rgba(250,247,242,.5) !important; }
.hsr-summary-row strong { color: #fff !important; }
.hsr-summary-total strong { 
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 24px !important;
  color: var(--g) !important;
}
.hsr-summary-note { color: rgba(250,247,242,.25) !important; }

/* Trust badges — premium */
.hsr-trust-badges span {
  background: rgba(26,43,28,.04) !important;
  border-color: rgba(26,43,28,.12) !important;
  font-size: 12px !important;
  padding: 7px 14px !important;
  color: #555 !important;
}

/* Submit button — gold CTA */
#hsr-submit-btn {
  background: linear-gradient(115deg, var(--g3), var(--g), var(--g2)) !important;
  color: #1a2b1c !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: .35em !important;
  padding: 22px 60px !important;
  box-shadow: 0 8px 32px rgba(201,168,76,.35) !important;
  border: none !important;
}
#hsr-submit-btn:hover {
  background: linear-gradient(115deg, #1a2b1c, #243227) !important;
  color: var(--g) !important;
  box-shadow: 0 16px 48px rgba(0,0,0,.3) !important;
  transform: translateY(-3px) !important;
}

/* Progress bar — gold on dark */
.hsr-progress-wrap {
  background: linear-gradient(135deg, #0e1610, #1a2b1c) !important;
}
.hsr-progress-step.active { background: rgba(201,168,76,.1) !important; }

/* Coupon section */
#hsr-coupon-input {
  border-color: rgba(201,168,76,.4) !important;
  font-family: 'Jost', monospace !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
}
#hsr-apply-coupon {
  border-color: var(--g) !important;
  color: var(--g) !important;
  font-weight: 600 !important;
}
#hsr-apply-coupon:hover {
  background: var(--g) !important;
  color: #1a2b1c !important;
}

/* Summary final price */
.hsr-summary-final {
  background: linear-gradient(135deg, #1a2b1c 0%, #0e1610 100%) !important;
  border-color: rgba(201,168,76,.2) !important;
  border-left: 4px solid var(--g) !important;
  color: #fff !important;
}
.hsr-summary-final h4 { color: rgba(250,247,242,.7) !important; }
.hsr-summary-final .hsr-final-total {
  color: var(--g) !important;
  font-size: 44px !important;
  text-shadow: 0 2px 24px rgba(201,168,76,.3) !important;
}
.hsr-summary-final .hsr-final-total small { color: rgba(250,247,242,.45) !important; }

/* Step confirm — premium green */
.hsr-step-confirm {
  background: linear-gradient(135deg, rgba(46,125,50,.12), rgba(46,125,50,.06)) !important;
  border-color: #4caf50 !important;
  color: #2e7d32 !important;
  font-size: 13px !important;
  letter-spacing: .05em !important;
}

/* Payment radio — dark themed */
.hsr-radio {
  background: #fff !important;
  border-color: rgba(26,43,28,.1) !important;
}
.hsr-radio--selected {
  background: rgba(201,168,76,.04) !important;
  border-color: var(--g) !important;
}
.hsr-radio span { font-size: 15px !important; color: #1a2b1c !important; }

/* Mobile booking layout */
@media (max-width: 800px) {
  #hsr-step-1 { padding: 40px 20px 40px !important; }
  #hsr-step-2, #hsr-step-3 { padding: 28px 16px 36px !important; }
  #hsr-step-1 .hsr-step-header h3 { font-size: 32px !important; }
}

/* Deal banner — premium shimmer */
.hsr-deal-banner { padding: 16px 28px !important; }
.hsr-deal-text { font-size: 15px !important; }
.hsr-deal-badge { font-size: 11px !important; letter-spacing: .2em !important; }

/* ══════════════════════════════════
   v16 — MOBILE RESPONSIVE FIXES
   ══════════════════════════════════ */

/* ── Date selector — stack on mobile, no overflow ── */
@media (max-width: 768px) {
  .hsr-date-select-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    width: 100% !important;
  }
  .hsr-date-divider { display: none !important; }
  .hsr-date-field,
  .hsr-guests-field { width: 100% !important; }
  .hsr-date-input-wrap { width: 100% !important; }
  .hsr-date-input-wrap .hsr-input {
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: 16px !important; /* prevent iOS zoom */
    padding: 16px 16px 16px 44px !important;
  }
  #hsr-step-1 { padding: 32px 16px 40px !important; }
  #hsr-step-1 .hsr-step-header h3 { font-size: 28px !important; }

  /* Payment radio — full width on mobile */
  .hsr-radio {
    padding: 14px 16px !important;
  }
  .hsr-radio span { font-size: 15px !important; }
  .hsr-radio small { font-size: 12px !important; line-height: 1.5 !important; }

  /* Trust badges — wrap properly */
  .hsr-trust-badges {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
  }
  .hsr-trust-badges span {
    font-size: 11px !important;
    padding: 6px 8px !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    word-break: break-word !important;
  }

  /* Coupon input row — stack on mobile */
  #hsr-step-3 .hsr-form-section div[style*="display:flex"] {
    flex-direction: column !important;
    gap: 8px !important;
  }
  #hsr-coupon-input {
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: 16px !important;
  }
  #hsr-apply-coupon {
    width: 100% !important;
    padding: 14px 20px !important;
    font-size: 13px !important;
  }
  #hsr-coupon-msg {
    font-size: 13px !important;
    word-break: break-word !important;
  }

  /* Form rows — always 1 col on mobile */
  .hsr-form-row--2,
  .hsr-form-row--3,
  .hsr-form-row--4 {
    grid-template-columns: 1fr !important;
  }

  /* Search button — full width */
  #hsr-search-btn {
    width: 100% !important;
    padding: 18px 20px !important;
    font-size: 13px !important;
  }

  /* Booking layout — single column */
  .hsr-booking-layout {
    display: flex !important;
    flex-direction: column !important;
  }
  .hsr-booking-sidebar {
    order: -1 !important; /* summary on top on mobile */
    position: static !important;
    margin-bottom: 16px !important;
  }
  .hsr-summary-card { padding: 16px !important; }
  .hsr-summary-total strong { font-size: 18px !important; }

  /* Progress bar — smaller on mobile */
  .hsr-progress-step {
    padding: 10px 4px !important;
    gap: 4px !important;
    font-size: 9px !important;
  }
  .hsr-progress-num {
    width: 22px !important;
    height: 22px !important;
    font-size: 9px !important;
  }
  .hsr-progress-label { font-size: 9px !important; }

  /* Room cards — full width */
  .hsr-result-grid {
    grid-template-columns: 1fr !important;
  }
  .hsr-result-img, .hsr-result-img-wrap {
    height: 220px !important;
    min-height: 220px !important;
  }
  .hsr-result-body { padding: 18px !important; }
  .hsr-result-price-col { padding: 20px !important; }
  .hsr-result-price { font-size: 28px !important; }

  /* Summary final */
  .hsr-summary-final {
    flex-direction: column !important;
    padding: 16px 18px !important;
  }
  .hsr-summary-final .hsr-final-total { font-size: 32px !important; }

  /* Form sections */
  .hsr-form-section { padding: 18px 16px !important; }

  /* Submit button */
  #hsr-submit-btn {
    width: 100% !important;
    padding: 18px 20px !important;
    font-size: 13px !important;
    letter-spacing: .2em !important;
  }

  /* Step confirm */
  .hsr-step-confirm { font-size: 12px !important; padding: 9px 12px !important; }

  /* WhatsApp button */
  .hsr-whatsapp-btn { padding: 14px !important; border-radius: 50% !important; }
  .hsr-whatsapp-btn span { display: none !important; }

  /* No horizontal scroll — critical */
  .hsr-booking-wrap,
  .hsr-booking-main,
  #hsr-step-1,
  #hsr-step-2,
  #hsr-step-3 {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }

  /* Form inputs — prevent overflow */
  .hsr-input, textarea.hsr-input, select.hsr-input {
    max-width: 100% !important;
    box-sizing: border-box !important;
    font-size: 16px !important; /* prevents iOS auto-zoom */
  }

  /* Steps padding */
  #hsr-step-2, #hsr-step-3, #hsr-step-4 {
    padding: 24px 16px 32px !important;
  }

  /* Room groups */
  .hsr-room-group { margin-bottom: 20px !important; }
  .hsr-room-group-title { font-size: 12px !important; }

  /* Success page */
  .hsr-success { padding: 40px 16px !important; }
  .hsr-success h2 { font-size: 28px !important; }
  .hsr-success-ref { font-size: 20px !important; padding: 14px 24px !important; letter-spacing: .15em !important; }
  .hsr-success-details { padding: 16px !important; font-size: 13px !important; }

  /* Deal banner */
  .hsr-deal-banner { flex-direction: column !important; text-align: center !important; gap: 6px !important; padding: 12px 16px !important; }
  .hsr-deal-text { font-size: 13px !important; }
}

/* Extra small phones */
@media (max-width: 380px) {
  .hsr-progress-label { display: none !important; }
  #hsr-step-1 .hsr-step-header h3 { font-size: 24px !important; }
  .hsr-trust-badges { grid-template-columns: 1fr !important; }
}

/* Coupon row base style */
.hsr-coupon-row {
  display: flex; gap: 10px; align-items: stretch;
}
.hsr-coupon-input-field { flex: 1; min-width: 0; }
.hsr-coupon-apply-btn { white-space: nowrap; padding: 14px 24px; flex-shrink: 0; }
@media (max-width: 500px) {
  .hsr-coupon-row { flex-direction: column !important; }
  .hsr-coupon-apply-btn { width: 100% !important; text-align: center !important; }
}

/* ══════════════════════════════════
   v17 — DATE GRID, STICKY, 3D ROOMS
   ══════════════════════════════════ */

/* New 3-column date grid */
.hsr-date-select-grid-v2 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
  margin-bottom: 24px;
}
.hsr-date-field-v2 {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.hsr-date-field-v2 label {
  font-size: 10px;
  letter-spacing: .4em;
  text-transform: uppercase;
  color: rgba(201,168,76,.85);
  font-weight: 700;
  display: block;
}
.hsr-date-input-v2 {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 16px 16px !important;
  font-size: 16px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(201,168,76,.3) !important;
  color: #fff !important;
  border-radius: 4px !important;
  appearance: none;
  -webkit-appearance: none;
}
.hsr-date-input-v2:focus {
  outline: none !important;
  border-color: var(--g) !important;
  background: rgba(201,168,76,.12) !important;
  box-shadow: 0 0 0 3px rgba(201,168,76,.2) !important;
}
.hsr-date-input-v2 option { background: #1a2b1c; color: #fff; }

@media (max-width: 640px) {
  .hsr-date-select-grid-v2 {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .hsr-date-input-v2 {
    font-size: 16px !important;
    padding: 18px 14px !important;
  }
}
@media (min-width: 641px) and (max-width: 900px) {
  .hsr-date-select-grid-v2 {
    grid-template-columns: 1fr 1fr !important;
  }
  .hsr-date-field-v2:last-child {
    grid-column: 1 / -1 !important;
  }
}

/* Sticky sidebar — scrolls with page, not fixed */
.hsr-booking-sidebar {
  position: sticky !important;
  top: 40px !important;
  align-self: flex-start !important;
  max-height: calc(100vh - 80px) !important;
  overflow-y: auto !important;
}
/* On mobile: sidebar at top, not sticky */
@media (max-width: 800px) {
  .hsr-booking-sidebar {
    position: static !important;
    max-height: none !important;
    order: -1 !important;
    margin-bottom: 20px !important;
  }
}

/* ── ROOM CARDS — Ultra Premium 3D Radius ── */
.hsr-result-card {
  border-radius: 12px !important;
  overflow: hidden !important;
}
.hsr-result-img-wrap {
  border-radius: 12px 0 0 12px !important;
  overflow: hidden !important;
}
.hsr-result-price-col {
  border-radius: 0 12px 12px 0 !important;
  overflow: hidden !important;
}
@media (max-width: 900px) {
  .hsr-result-img-wrap { border-radius: 12px 12px 0 0 !important; }
  .hsr-result-price-col { border-radius: 0 0 12px 12px !important; }
}
.hsr-result-card:hover {
  transform: translateY(-5px) rotateX(.8deg) !important;
  box-shadow:
    0 24px 80px rgba(16,28,18,.28),
    0 8px 24px rgba(16,28,18,.16),
    0 0 0 1px rgba(201,168,76,.3),
    0 0 60px rgba(201,168,76,.15) !important;
}
/* Room group headers — styled */
.hsr-room-group-title {
  font-size: 13px !important;
  letter-spacing: .15em !important;
  padding-bottom: 14px !important;
  border-bottom-width: 3px !important;
  border-image: linear-gradient(90deg, var(--g3), var(--g), var(--g2)) 1 !important;
}
/* Amenity tags — rounded */
.hsr-amenity {
  border-radius: 20px !important;
  padding: 5px 14px !important;
  font-size: 11px !important;
}
/* Available count badge */
.hsr-avail-count {
  border-radius: 20px !important;
  font-weight: 700 !important;
  font-size: 12px !important;
}
/* Select room button — rounded with shine */
.hsr-select-room-btn {
  border-radius: 6px !important;
  font-size: 12px !important;
  letter-spacing: .2em !important;
}
/* Room body */
.hsr-result-body { border-radius: 0 !important; }
.hsr-result-name { font-size: 24px !important; }

/* Room cards in rooms list */
.hsr-room-card {
  border-radius: 12px !important;
  overflow: hidden !important;
}
.hsr-room-img { border-radius: 0 !important; }

/* ══════════════════════════════════════════════════════════════
   v26 — MOBILE 100% + STICKY SIDEBAR FIX + CHECK BOOKING FIX
   ══════════════════════════════════════════════════════════════ */

/* ── STICKY SIDEBAR: desktop fix — stays visible as you scroll ── */
.hsr-booking-layout {
  display: grid !important;
  grid-template-columns: 1fr 300px !important;
  gap: 0 !important;
  align-items: start !important;
  position: relative !important;
}
.hsr-booking-main {
  min-width: 0 !important;
}
.hsr-booking-sidebar {
  position: sticky !important;
  top: 24px !important;
  align-self: start !important;
  max-height: calc(100vh - 48px) !important;
  overflow-y: auto !important;
  padding: 28px 20px !important;
  /* always show once dates entered — handled by JS show() */
}
/* The summary card fills the sidebar */
.hsr-booking-sidebar .hsr-summary-card {
  position: relative !important;
  top: auto !important;
}

/* ── CHECK BOOKING shortcode — full redesign ── */
.hsr-check-booking-wrap {
  max-width: 780px;
  margin: 0 auto;
  font-family: 'Jost', sans-serif;
}
.hsr-check-booking-header {
  text-align: center;
  margin-bottom: 16px;
}
.hsr-check-booking-icon {
  font-size: 32px;
  margin-bottom: 6px;
}
.hsr-check-booking-header h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 28px;
  font-weight: 300;
  color: var(--f);
  margin: 0 0 4px;
}
.hsr-check-booking-header p {
  color: #888;
  font-size: 13px;
  margin: 0;
}
.hsr-check-booking-form {
  background: #fff;
  border: 1px solid rgba(26,43,28,.1);
  border-top: 3px solid var(--g);
  padding: 20px 24px;
  box-shadow: 0 4px 24px rgba(16,28,18,.07);
}
.hsr-lookup-fields {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 14px;
  align-items: end;
}
.hsr-lookup-btn-wrap {
  grid-column: unset;
}
.hsr-lookup-submit-btn {
  width: 100% !important;
  padding: 13px 24px !important;
  font-size: 12px !important;
  letter-spacing: .2em !important;
  white-space: nowrap !important;
}
/* Fix input text visibility in check booking */
.hsr-lookup-input {
  background: #faf7f2 !important;
  border: 1px solid rgba(26,43,28,.2) !important;
  color: #1a2b1c !important;
  font-size: 16px !important;
  padding: 15px 18px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.hsr-lookup-input:focus {
  background: #fff !important;
  border-color: var(--g) !important;
  box-shadow: 0 0 0 3px rgba(201,168,76,.15) !important;
  color: #1a2b1c !important;
}
.hsr-lookup-input::placeholder {
  color: #aaa !important;
}
.hsr-check-booking-form .hsr-field label {
  color: var(--g) !important;
  font-size: 10px !important;
  letter-spacing: .4em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
  display: block !important;
}

/* Lookup result card */
.hsr-lookup-found {
  background: #fff;
  border: 1px solid rgba(26,43,28,.1);
  border-top: 3px solid var(--g);
  padding: 28px;
  box-shadow: 0 4px 20px rgba(16,28,18,.07);
  animation: fadeUp .35s ease both;
}
.hsr-lookup-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(26,43,28,.07);
  flex-wrap: wrap;
}
.hsr-lookup-ref-badge {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px;
  font-weight: 600;
  color: var(--f);
  letter-spacing: .12em;
}
.hsr-lookup-status {
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #fff;
  padding: 4px 12px;
  font-weight: 600;
  border-radius: 2px;
}
.hsr-lookup-rows {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.hsr-lookup-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 14px;
  gap: 12px;
  padding: 6px 0;
  border-bottom: 1px solid rgba(26,43,28,.04);
}
.hsr-lookup-row:last-child { border-bottom: none; }
.hsr-lookup-row span {
  color: #999;
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  flex-shrink: 0;
}
.hsr-lookup-row strong {
  color: #1a2b1c;
  font-weight: 500;
  text-align: right;
}
.hsr-lookup-note {
  margin-top: 12px;
  font-size: 13px;
  color: #888;
  font-style: italic;
  padding: 10px 14px;
  background: #faf7f2;
  border-left: 2px solid var(--g);
}

/* ── MOBILE 100% RESPONSIVE — v26 complete overhaul ── */
/* Remove conflicting white-space nowrap on room names */
.hsr-result-name {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  word-break: break-word !important;
}

@media (max-width: 900px) {
  /* Single column layout */
  .hsr-booking-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
  /* Sidebar: static, shown ABOVE main content on mobile */
  .hsr-booking-sidebar {
    position: static !important;
    order: -1 !important;
    max-height: none !important;
    overflow-y: visible !important;
    padding: 16px !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .hsr-booking-sidebar .hsr-summary-card {
    margin-bottom: 0 !important;
  }
  /* Room grid — stack vertically */
  .hsr-result-grid {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }
  .hsr-result-img-wrap {
    height: 240px !important;
    min-height: 240px !important;
    border-radius: 12px 12px 0 0 !important;
  }
  .hsr-result-img {
    height: 240px !important;
    min-height: 240px !important;
    border-radius: 0 !important;
  }
  .hsr-result-body {
    padding: 20px !important;
    border-radius: 0 !important;
  }
  .hsr-result-price-col {
    border-radius: 0 0 12px 12px !important;
    padding: 20px !important;
  }
  /* No 3D hover on touch */
  .hsr-result-card:hover {
    transform: none !important;
  }
}

@media (max-width: 768px) {
  /* Step padding */
  #hsr-step-1 { padding: 32px 18px 40px !important; }
  #hsr-step-2, #hsr-step-3, #hsr-step-4 { padding: 24px 18px 32px !important; }

  /* Step header */
  #hsr-step-1 .hsr-step-header h3 { font-size: 28px !important; }
  .hsr-step-header h3 { font-size: 26px !important; }
  .hsr-step-num { width: 42px !important; height: 42px !important; font-size: 12px !important; }

  /* Date grid */
  .hsr-date-select-grid-v2 {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .hsr-date-input-v2 {
    font-size: 16px !important;
    padding: 17px 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Form rows */
  .hsr-form-row--2,
  .hsr-form-row--3,
  .hsr-form-row--4 {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  /* Inputs */
  .hsr-input {
    font-size: 16px !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
  }

  /* Buttons full-width */
  #hsr-search-btn, #hsr-submit-btn {
    width: 100% !important;
    padding: 18px 20px !important;
    font-size: 13px !important;
    letter-spacing: .2em !important;
    box-sizing: border-box !important;
  }

  /* Form sections */
  .hsr-form-section { padding: 18px 16px !important; }

  /* Payment radio */
  .hsr-radio { padding: 14px 16px !important; }

  /* Trust badges — 2 columns */
  .hsr-trust-badges {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
  }
  .hsr-trust-badges span {
    font-size: 11px !important;
    padding: 7px 10px !important;
    word-break: break-word !important;
  }

  /* Coupon */
  #hsr-step-3 .hsr-form-section div[style*="display:flex"] {
    flex-direction: column !important;
  }
  #hsr-coupon-input, #hsr-apply-coupon {
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: 16px !important;
  }
  #hsr-apply-coupon { padding: 14px 20px !important; }

  /* Progress bar */
  .hsr-progress-step {
    padding: 10px 4px !important;
    gap: 4px !important;
    font-size: 9px !important;
  }
  .hsr-progress-num {
    width: 22px !important; height: 22px !important;
    font-size: 9px !important;
  }
  .hsr-progress-label { font-size: 9px !important; letter-spacing: .1em !important; }

  /* Room cards */
  .hsr-result-img-wrap { height: 200px !important; min-height: 200px !important; }
  .hsr-result-img { height: 200px !important; }
  .hsr-result-name { font-size: 22px !important; }
  .hsr-result-price { font-size: 26px !important; }

  /* Summary card on mobile */
  .hsr-summary-card { padding: 16px 18px !important; }
  .hsr-summary-total strong { font-size: 18px !important; }

  /* Room groups */
  .hsr-room-group { margin-bottom: 20px !important; }
  .hsr-room-group-title { font-size: 12px !important; }

  /* Success page */
  .hsr-success { padding: 36px 16px !important; }
  .hsr-success h2 { font-size: 28px !important; }
  .hsr-success-ref { font-size: 20px !important; padding: 14px 20px !important; }
  .hsr-success-details { padding: 16px !important; font-size: 13px !important; }

  /* Deal banner */
  .hsr-deal-banner {
    flex-direction: column !important;
    text-align: center !important;
    gap: 6px !important;
    padding: 12px 16px !important;
  }

  /* Step confirm */
  .hsr-step-confirm { font-size: 12px !important; padding: 9px 12px !important; }

  /* Overflow prevention — critical */
  .hsr-booking-wrap,
  .hsr-booking-main,
  #hsr-step-1, #hsr-step-2, #hsr-step-3, #hsr-step-4 {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }
  * { box-sizing: border-box; }

  /* Check booking form — stack on mobile */
  .hsr-check-booking-form { padding: 20px 18px !important; }
  .hsr-lookup-fields { grid-template-columns: 1fr !important; gap: 14px !important; }
  .hsr-lookup-btn-wrap { grid-column: 1 !important; }

  /* WhatsApp btn */
  .hsr-whatsapp-btn { padding: 14px !important; border-radius: 50% !important; }
  .hsr-whatsapp-btn span { display: none !important; }
}

@media (max-width: 480px) {
  .hsr-trust-badges { grid-template-columns: 1fr !important; }
  .hsr-progress-label { display: none !important; }
  #hsr-step-1 .hsr-step-header h3 { font-size: 24px !important; }
  .hsr-result-meta { flex-wrap: wrap !important; gap: 6px !important; font-size: 12px !important; }
  .hsr-amenities { gap: 4px !important; }
  .hsr-amenity { font-size: 11px !important; padding: 4px 10px !important; }
  .hsr-lookup-found { padding: 18px 16px !important; }
  .hsr-lookup-ref-badge { font-size: 18px !important; }
}

/* ── Sidebar scrollbar hide (aesthetic) ── */
.hsr-booking-sidebar::-webkit-scrollbar { width: 4px; }
.hsr-booking-sidebar::-webkit-scrollbar-track { background: transparent; }
.hsr-booking-sidebar::-webkit-scrollbar-thumb { background: rgba(201,168,76,.25); border-radius: 2px; }

/* ── Date inputs in search: fix color on all browsers ── */
input[type="date"].hsr-date-input-v2,
select.hsr-date-input-v2 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
input[type="date"].hsr-date-input-v2::-webkit-calendar-picker-indicator {
  filter: invert(1) sepia(1) saturate(2) hue-rotate(10deg);
  opacity: .7;
  cursor: pointer;
}

/* ══════════════════════════════════════════════════════════════
   v29 — ULTRA PREMIUM ROOM RESULT CARDS
   ══════════════════════════════════════════════════════════════ */

/* Results meta bar */
.hsr-results-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0 20px;
  font-size: 13px;
  color: #666;
  flex-wrap: wrap;
  gap: 8px;
}
.hsr-results-meta-left { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.hsr-results-count { font-weight: 700; color: var(--f); font-size: 15px; }
.hsr-results-divider { color: #ccc; }
.hsr-results-arrow { color: var(--g); font-weight: 700; }

/* ── NEW PREMIUM CARD ── */
.hsr-result-card-v2 {
  display: grid;
  grid-template-columns: 280px 1fr 230px;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 20px;
  box-shadow: 0 2px 20px rgba(16,28,18,.08), 0 0 0 1px rgba(26,43,28,.06);
  transition: transform .35s cubic-bezier(.23,1,.32,1), box-shadow .35s cubic-bezier(.23,1,.32,1);
  position: relative;
}
.hsr-result-card-v2:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 60px rgba(16,28,18,.16), 0 0 0 1px rgba(201,168,76,.3), 0 0 40px rgba(201,168,76,.1);
}

/* Image panel */
.hsr-rc-img-wrap {
  position: relative;
  overflow: hidden;
}
.hsr-rc-img {
  width: 100%;
  height: 100%;
  min-height: 260px;
  background-size: cover;
  background-position: center;
  transition: transform .5s cubic-bezier(.23,1,.32,1);
}
.hsr-result-card-v2:hover .hsr-rc-img {
  transform: scale(1.05);
}

/* Badges */
.hsr-rc-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 20px;
  z-index: 2;
}
.hsr-rc-badge--pop {
  background: linear-gradient(115deg, var(--g3), var(--g));
  color: var(--f);
}
.hsr-rc-badge--urgent {
  background: #e53935;
  color: #fff;
  top: auto;
  bottom: 48px;
}

/* Image dots */
.hsr-img-dots {
  position: absolute;
  bottom: 14px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 5px;
  z-index: 2;
}
.hsr-img-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,.5);
  cursor: pointer;
  transition: background .2s, transform .2s;
}
.hsr-img-dot.active {
  background: #fff;
  transform: scale(1.3);
}

/* Body panel */
.hsr-rc-body {
  padding: 24px 24px 24px 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid rgba(26,43,28,.06);
}
.hsr-rc-type {
  font-size: 9px;
  letter-spacing: .35em;
  text-transform: uppercase;
  color: var(--g);
  font-weight: 700;
  margin-bottom: 6px;
}
.hsr-rc-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 26px;
  font-weight: 400;
  color: var(--f);
  margin: 0 0 12px;
  line-height: 1.2;
  word-break: break-word;
}
.hsr-rc-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.hsr-rc-facts span {
  font-size: 12px;
  color: #666;
  background: #f5f5f5;
  padding: 4px 10px;
  border-radius: 20px;
}
.hsr-rc-desc {
  font-size: 13px;
  color: #888;
  line-height: 1.6;
  margin: 0 0 14px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.hsr-rc-amenities {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.hsr-rc-amenities span {
  font-size: 11px;
  color: #555;
  background: rgba(26,43,28,.04);
  border: 1px solid rgba(26,43,28,.08);
  padding: 3px 10px;
  border-radius: 20px;
}

/* Price panel */
.hsr-rc-price-col {
  background:
    linear-gradient(160deg,
      #060d1a 0%,
      #0d1230 25%,
      #1a0830 50%,
      #2a0a08 75%,
      #160302 100%
    );
  padding: 28px 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: background .5s ease;
  border-left: 1px solid rgba(232,201,122,.08);
}
/* Animated shimmer orb top-right */
.hsr-rc-price-col::before {
  content: '';
  position: absolute;
  width: 260px; height: 260px;
  background: radial-gradient(ellipse,
    rgba(255,107,43,.22) 0%,
    rgba(255,152,0,.1) 40%,
    transparent 70%
  );
  top: -80px; right: -80px;
  border-radius: 50%;
  pointer-events: none;
  transition: transform .6s ease, opacity .4s ease;
  animation: priceOrbPulse 5s ease-in-out infinite;
}
/* Sky-blue orb bottom-left */
.hsr-rc-price-col::after {
  content: '';
  position: absolute;
  width: 180px; height: 180px;
  background: radial-gradient(ellipse,
    rgba(41,182,246,.18) 0%,
    rgba(2,119,189,.08) 50%,
    transparent 75%
  );
  bottom: -50px; left: -50px;
  border-radius: 50%;
  pointer-events: none;
  transition: transform .6s ease;
  animation: priceOrbPulse 7s ease-in-out infinite reverse;
}
@keyframes priceOrbPulse {
  0%,100% { transform: scale(1);   opacity: .7; }
  50%      { transform: scale(1.3); opacity: 1;  }
}

/* Hover: orbs expand, background brightens */
.hsr-result-card-v2:hover .hsr-rc-price-col {
  background:
    linear-gradient(160deg,
      #0a1530 0%,
      #160f42 25%,
      #260a3a 50%,
      #380e06 75%,
      #1e0402 100%
    ) !important;
  border-left-color: rgba(232,201,122,.25) !important;
}
.hsr-result-card-v2:hover .hsr-rc-price-col::before {
  transform: scale(1.4);
  opacity: 1;
}
.hsr-result-card-v2:hover .hsr-rc-price-col::after {
  transform: scale(1.3);
  opacity: 1;
}
.hsr-rc-price-wrap { text-align: center; position: relative; z-index: 2; }
.hsr-rc-price-per {
  font-family: 'Cormorant Garamond', serif;
  font-size: 30px;
  font-weight: 400;
  color: #f0d080;
  line-height: 1.1;
  text-shadow:
    0 0 30px rgba(240,208,128,.45),
    0 2px 8px rgba(0,0,0,.5);
  position: relative;
  z-index: 2;
  transition: color .3s, text-shadow .3s;
}
.hsr-result-card-v2:hover .hsr-rc-price-per {
  color: #ffe099 !important;
  text-shadow:
    0 0 50px rgba(255,224,153,.6),
    0 2px 10px rgba(0,0,0,.5) !important;
}
.hsr-rc-price-unit {
  font-size: 9.5px;
  color: rgba(255,255,255,.5);
  letter-spacing: .22em;
  text-transform: uppercase;
  margin-bottom: 8px;
  position: relative;
  z-index: 2;
}
.hsr-rc-price-total {
  font-size: 12px;
  color: rgba(255,255,255,.6);
  padding-top: 10px;
  border-top: 1px solid rgba(240,208,128,.18);
  position: relative;
  z-index: 2;
  transition: color .3s;
}
.hsr-result-card-v2:hover .hsr-rc-price-total { color: rgba(255,255,255,.8); }
.hsr-rc-price-total strong {
  color: #ffffff;
  display: block;
  font-size: 17px;
  margin-top: 4px;
  font-weight: 600;
  text-shadow: 0 1px 8px rgba(0,0,0,.5);
  transition: color .3s, text-shadow .3s;
}
.hsr-result-card-v2:hover .hsr-rc-price-total strong {
  color: #29B6F6 !important;
  text-shadow: 0 0 20px rgba(41,182,246,.4), 0 1px 8px rgba(0,0,0,.4) !important;
}
.hsr-rc-price-usd {
  font-size: 10.5px;
  color: rgba(255,255,255,.35);
  text-align: center;
  position: relative;
  z-index: 2;
  letter-spacing: .04em;
}
.hsr-rc-avail {
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  padding: 7px 10px;
  border-radius: 6px;
  letter-spacing: .04em;
}
.hsr-rc-avail--ok  { background: rgba(46,125,50,.2); color: #a5d6a7; border: 1px solid rgba(46,125,50,.3); }
.hsr-rc-avail--low { background: rgba(229,57,53,.2);  color: #ef9a9a; border: 1px solid rgba(229,57,53,.3); }
.hsr-rc-avail { position: relative; z-index: 2; }

/* SELECT BUTTON — v9.4.4: ultra premium */
.hsr-rc-select-btn {
  width: 100%;
  padding: 15px 20px;
  background: linear-gradient(115deg,
    #FF6B2B 0%, #FFA726 30%, #f0d080 55%, #29B6F6 80%, #0288d1 100%
  );
  background-size: 250% 100%;
  background-position: 0% 0%;
  color: #1a0d05;
  border: none;
  border-radius: 10px;
  font-family: 'Jost', sans-serif;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all .4s cubic-bezier(.23,1,.32,1);
  position: relative;
  overflow: hidden;
  z-index: 2;
  box-shadow:
    0 4px 20px rgba(255,107,43,.25),
    0 2px 6px rgba(0,0,0,.3),
    inset 0 1px 0 rgba(255,255,255,.15);
}
.hsr-rc-select-btn:hover {
  background-position: 100% 0%;
  color: #fff;
  transform: translateY(-3px) scale(1.02);
  box-shadow:
    0 12px 40px rgba(41,182,246,.35),
    0 6px 16px rgba(255,107,43,.25),
    0 2px 6px rgba(0,0,0,.4);
}
.hsr-rc-select-btn:active { transform: translateY(0) scale(.98); }
.hsr-rc-select-btn span,
.hsr-rc-select-arrow { position: relative; z-index: 1; }
.hsr-rc-select-arrow { transition: transform .35s cubic-bezier(.23,1,.32,1); }
.hsr-rc-select-btn:hover .hsr-rc-select-arrow { transform: translateX(5px); }

/* Selected state — gold premium */
.hsr-rc-select-btn.hsr-room-selected-btn {
  background: linear-gradient(115deg, #c9a84c, #f0d080, #c9a84c) !important;
  background-size: 200% 100% !important;
  color: #1a0d05 !important;
  box-shadow: 0 6px 24px rgba(201,168,76,.4) !important;
  animation: selectedGlow 2s ease-in-out infinite !important;
}
@keyframes selectedGlow {
  0%,100% { box-shadow: 0 6px 24px rgba(201,168,76,.4); }
  50%      { box-shadow: 0 8px 32px rgba(201,168,76,.7), 0 0 0 2px rgba(201,168,76,.3); }
}
.hsr-rc-select-btn.hsr-room-selected-btn::after {
  content: ' ✓';
  font-size: 11px;
}

.hsr-rc-trust {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 10.5px;
  color: rgba(255,255,255,.4);
  text-align: center;
  letter-spacing: .04em;
  position: relative;
  z-index: 2;
  transition: color .3s;
}
.hsr-result-card-v2:hover .hsr-rc-trust { color: rgba(255,255,255,.6); }

/* ── RESPONSIVE ── */
@media (max-width: 960px) {
  .hsr-result-card-v2 {
    grid-template-columns: 240px 1fr;
    grid-template-rows: auto auto;
  }
  .hsr-rc-price-col {
    grid-column: 1 / -1;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    flex-wrap: wrap;
  }
  .hsr-rc-price-wrap { text-align: left; flex: 1; }
  .hsr-rc-price-per { font-size: 22px; }
  .hsr-rc-avail { flex-shrink: 0; }
  .hsr-rc-select-btn { flex: 1; min-width: 160px; }
  .hsr-rc-trust { display: none; }
}

@media (max-width: 680px) {
  .hsr-result-card-v2 {
    grid-template-columns: 1fr;
  }
  .hsr-rc-img { min-height: 220px; }
  .hsr-rc-body { padding: 18px 18px; }
  .hsr-rc-name { font-size: 22px; }
  .hsr-rc-price-col { flex-direction: column; align-items: stretch; text-align: center; }
  .hsr-rc-price-wrap { text-align: center; }
  .hsr-rc-select-btn { width: 100%; }
}

/* Step 1 search form — v29 improved */
#hsr-step-1 .hsr-step-header h3 {
  font-size: 36px !important;
}

/* ══════════════════════════════════════════════════════════════
   v32 — ULTRA PREMIUM HERO SEARCH FORM
   ══════════════════════════════════════════════════════════════ */

/* Override old step-1 */
#hsr-step-1.hsr-hero-step {
  background:
    linear-gradient(180deg,
      rgba(0,0,0,.55) 0%,
      rgba(0,0,0,.2)  60%,
      rgba(0,0,0,.65) 100%
    ),
    linear-gradient(135deg,
      #030b07 0%,
      #081a26 20%,
      #0a2218 40%,
      #1a2b1c 60%,
      #2c1205 80%,
      #180800 100%
    ) !important;
  padding: 70px 5vw 60px !important;
  position: relative !important;
  overflow: hidden !important;
  min-height: 380px;
  border-bottom: 2px solid rgba(255,107,43,.3) !important;
  box-shadow:
    inset 0 -80px 140px rgba(255,107,43,.1),
    inset 0 0 200px rgba(0,0,0,.3) !important;
}
/* Animated glow orbs */
.hsr-hero-glow1, .hsr-hero-glow2 {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(90px);
}
.hsr-hero-glow1 {
  width: 700px; height: 700px;
  background: radial-gradient(circle, rgba(255,107,43,.32) 0%, rgba(255,152,0,.18) 35%, transparent 65%);
  top: -280px; right: -140px;
  animation: glowPulse 7s ease-in-out infinite;
}
.hsr-hero-glow2 {
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(41,182,246,.25) 0%, rgba(2,136,209,.12) 35%, transparent 65%);
  bottom: -150px; left: -100px;
  animation: glowPulse 9s ease-in-out infinite reverse;
}
/* Third orb — deep sky upper left */
.hsr-hero-glow1::after {
  content:'';
  position:absolute; width:300px; height:300px;
  background: radial-gradient(circle, rgba(239,83,80,.14) 0%, transparent 70%);
  top: 300px; left: -400px;
  border-radius:50%; pointer-events:none;
}
@keyframes glowPulse {
  0%,100% { transform: scale(1); opacity: .6; }
  50%      { transform: scale(1.2); opacity: .9; }
}

/* Header */
.hsr-hero-head {
  text-align: center;
  margin-bottom: 36px;
  position: relative;
  z-index: 2;
}
.hsr-hero-eyebrow {
  font-size: 10.5px;
  letter-spacing: .5em;
  text-transform: uppercase;
  color: var(--g);
  font-weight: 700;
  font-family: 'Jost', sans-serif;
  margin-bottom: 16px;
  opacity: 1;
  text-shadow: 0 0 20px rgba(201,168,76,.4);
}
.hsr-hero-h2 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 52px !important;
  font-weight: 400 !important;
  color: #ffffff !important;
  margin: 0 0 14px !important;
  line-height: 1.1 !important;
  letter-spacing: -.01em;
  text-shadow: 0 2px 40px rgba(0,0,0,.8), 0 0 80px rgba(0,0,0,.5) !important;
}
.hsr-hero-tagp {
  font-family: 'Jost', sans-serif;
  font-size: 14.5px;
  color: rgba(255,255,255,.88);
  margin: 0;
  font-weight: 300;
  letter-spacing: .02em;
  text-shadow: 0 1px 8px rgba(0,0,0,.6);
}

/* The bar */
.hsr-hero-form-wrap {
  position: relative;
  z-index: 2;
  max-width: 860px;
  margin: 0 auto;
}
.hsr-hero-bar {
  display: flex;
  align-items: stretch;
  background: rgba(255,255,255,.11);
  backdrop-filter: blur(28px);
  -webkit-backdrop-filter: blur(28px);
  border: 1px solid rgba(201,168,76,.4);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 24px 80px rgba(0,0,0,.55), inset 0 1px 0 rgba(201,168,76,.2);
}
.hsr-hero-slot {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 18px;
  border-right: 1px solid rgba(201,168,76,.12);
  transition: background .2s;
  min-width: 0;
}
.hsr-hero-slot:hover { background: rgba(201,168,76,.06); }
.hsr-hero-slot-icon { color: var(--g); flex-shrink: 0; opacity: .75; }
.hsr-hero-slot-body { flex: 1; min-width: 0; }
.hsr-hero-slot-label {
  display: block;
  font-size: 9px;
  letter-spacing: .35em;
  text-transform: uppercase;
  color: rgba(201,168,76,.9);
  font-weight: 700;
  font-family: 'Jost', sans-serif;
  margin-bottom: 4px;
}
.hsr-hero-slot-input {
  width: 100%;
  background: none !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  color: #fff !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  padding: 0 !important;
  cursor: pointer;
  -webkit-text-fill-color: #fff !important;
}
.hsr-hero-slot-input::-webkit-calendar-picker-indicator {
  filter: invert(1) sepia(1) saturate(2) hue-rotate(10deg);
  opacity: .5;
}
.hsr-hero-slot-input option { background: #1a2b1c; color: #fff; }
.hsr-hero-bar-div {
  color: rgba(201,168,76,.3);
  font-size: 16px;
  padding: 0 2px;
  align-self: center;
  flex-shrink: 0;
}
.hsr-hero-bar-sep {
  width: 1px;
  background: rgba(201,168,76,.12);
  margin: 10px 0;
  flex-shrink: 0;
}

/* Search button */
.hsr-hero-search-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 28px;
  background: linear-gradient(115deg, #FF6B2B 0%, #FFA726 50%, #FF6B2B 100%);
  background-size: 200% 100%;
  border: none;
  color: #fff;
  font-family: 'Jost', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  flex-shrink: 0;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
  transition: all .35s cubic-bezier(.23,1,.32,1);
  min-width: 120px;
  justify-content: center;
  box-shadow: 0 4px 24px rgba(255,107,43,.45);
  animation: skyShimmer 3s ease infinite;
}
.hsr-hero-search-btn::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(115deg, #29B6F6 0%, #0277BD 100%);
  opacity: 0;
  transition: opacity .35s;
}
.hsr-hero-search-btn:hover::after { opacity: 1; }
.hsr-hero-search-btn:hover {
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(41,182,246,.5), 0 0 0 1px rgba(41,182,246,.3);
}
.hsr-hero-search-btn svg, .hsr-hero-search-btn span { position: relative; z-index: 1; }

/* Trust row */
.hsr-hero-trust-row {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 22px;
  flex-wrap: wrap;
  position: relative;
  z-index: 2;
}
.hsr-hero-trust-row span {
  font-size: 11.5px;
  color: rgba(255,255,255,.6);
  font-family: 'Jost', sans-serif;
  letter-spacing: .04em;
}

/* Loading */
.hsr-hero-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: rgba(255,255,255,.45);
  font-size: 13px;
  margin-top: 18px;
  position: relative;
  z-index: 2;
  font-family: 'Jost', sans-serif;
}
.hsr-hero-spinner {
  width: 16px; height: 16px;
  border: 2px solid rgba(201,168,76,.25);
  border-top-color: var(--g);
  border-radius: 50%;
  animation: spin .7s linear infinite;
}

/* Responsive */
@media (max-width: 820px) {
  .hsr-hero-h2 { font-size: 36px !important; }
  .hsr-hero-bar { flex-direction: column; border-radius: 12px; }
  .hsr-hero-slot { border-right: none; border-bottom: 1px solid rgba(201,168,76,.12); padding: 14px 16px; }
  .hsr-hero-bar-div, .hsr-hero-bar-sep { display: none; }
  .hsr-hero-search-btn { padding: 16px 24px; min-width: unset; justify-content: center; }
  .hsr-hero-trust-row { gap: 10px; }
}
@media (max-width: 480px) {
  #hsr-step-1.hsr-hero-step { padding: 36px 16px 32px !important; }
  .hsr-hero-h2 { font-size: 28px !important; }
  .hsr-hero-trust-row span { font-size: 10px; }
}

/* ── Room results header ── */
.hsr-results-meta {
  padding: 14px 0 20px;
  font-size: 13px;
  color: #666;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.hsr-results-count { font-weight: 700; color: var(--f); font-size: 15px; }

/* ── v35: Search form enhanced ── */
.hsr-hero-slot-input:focus { outline: none; border-bottom: 1px solid rgba(201,168,76,.5) !important; }
.hsr-hero-bar:focus-within { border-color: rgba(201,168,76,.55); box-shadow: 0 24px 80px rgba(0,0,0,.5), 0 0 0 3px rgba(201,168,76,.1); }
.hsr-hero-search-btn:active { transform: scale(.97); }

/* Nights counter badge */
.hsr-nights-badge {
  display:inline-block;
  background:rgba(201,168,76,.15);
  color:var(--g);
  font-size:10px;
  letter-spacing:.1em;
  padding:2px 8px;
  border-radius:10px;
  font-weight:700;
  margin-top:4px;
  font-family:'Jost',sans-serif;
}

/* Results enhancement */
.hsr-results-meta { border-bottom: 1px solid rgba(26,43,28,.06); padding-bottom: 16px; }
.hsr-results-count { background: var(--f); color: var(--g); padding: 3px 12px; border-radius: 20px; font-size: 13px; }

/* Room card entrance animation */
@keyframes cardIn {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
.hsr-result-card-v2 { animation: cardIn .4s ease both; }
.hsr-result-card-v2:nth-child(1) { animation-delay: .05s; }
.hsr-result-card-v2:nth-child(2) { animation-delay: .1s; }
.hsr-result-card-v2:nth-child(3) { animation-delay: .15s; }
.hsr-result-card-v2:nth-child(4) { animation-delay: .2s; }

/* ══════════════════════════════════════════════════════════════
   v36 — COMPLETE UI POLISH
   ══════════════════════════════════════════════════════════════ */

/* Results bar — flex row with Modify Search */
.hsr-results-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0 16px;
  border-bottom: 1px solid rgba(26,43,28,.06);
  margin-bottom: 20px;
  flex-wrap: wrap;
  gap: 10px;
}
.hsr-results-meta { flex: 1; }

/* Modify search button */
.hsr-modify-search-btn {
  background: none;
  border: 1px solid rgba(26,43,28,.2);
  color: #555;
  font-family: 'Jost', sans-serif;
  font-size: 12px;
  letter-spacing: .08em;
  padding: 7px 16px;
  border-radius: 20px;
  cursor: pointer;
  transition: all .2s;
  flex-shrink: 0;
}
.hsr-modify-search-btn:hover {
  background: var(--f);
  color: var(--g);
  border-color: var(--f);
}

/* Fix room type slot in hero bar - ensure consistent styling */
.hsr-hero-slot select.hsr-hero-slot-input {
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23c9a84c' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 4px center;
  padding-right: 20px !important;
}

/* Admin booking type card — prevent WP admin pointer-events override */
.hsr-type-card * { pointer-events: none !important; }
.hsr-type-card   { pointer-events: auto !important; }

/* Room card image fallback — no external dependency */
.hsr-rc-img[style*="unsplash"] {
  background-image: linear-gradient(135deg, #1a2b1c 0%, #2c3a2e 50%, #1a2b1c 100%) !important;
}

/* Bookings list table responsive */
.hsr-table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
}

/* Revenue chart mobile fix */
#hsr-revenue-chart, canvas[id*="chart"] {
  max-width: 100% !important;
  height: auto !important;
}

/* Guest profile search bar */
.hsr-guest-filter-bar {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

/* Housekeeping quick buttons */
.hsr-hk-quick-btn {
  font-size: 10px;
  padding: 3px 9px;
  border-radius: 12px;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: .05em;
  display: inline-block;
  margin-left: 4px;
}

/* Step 2 results — load animation already in v35 */

/* Mobile search form fix — room type slot */
@media (max-width: 820px) {
  .hsr-results-bar { flex-direction: column; align-items: flex-start; }
  .hsr-modify-search-btn { align-self: flex-start; }
}

/* Fix booking step scroll on mobile */
@media (max-width: 900px) {
  #hsr-step-2, #hsr-step-3, #hsr-step-4 {
    scroll-margin-top: 20px;
  }
}

/* ══════════════════════════════════════════════
   v36.1 — LOOKUP MODIFY/CANCEL UI
   ══════════════════════════════════════════════ */
.hsr-lookup-found {
  background:#fff;
  border:1px solid rgba(26,43,28,.1);
  border-top:3px solid #c9a84c;
  padding:24px;
  border-radius:0 0 8px 8px;
  box-shadow:0 4px 20px rgba(16,28,18,.08);
  animation:fadeUp .3s ease both;
}
@keyframes fadeUp { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }

.hsr-lookup-header {
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:12px;margin-bottom:16px;padding-bottom:14px;
  border-bottom:1px solid rgba(26,43,28,.07);flex-wrap:wrap;
}
.hsr-lookup-ref-badge {
  font-family:'Cormorant Garamond',serif;font-size:26px;
  font-weight:600;color:#1a2b1c;letter-spacing:.1em;
}
.hsr-lookup-status {
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:#fff;padding:5px 13px;border-radius:20px;font-weight:700;
  flex-shrink:0;margin-top:4px;
}
.hsr-lookup-rows {display:flex;flex-direction:column;gap:0;}
.hsr-lookup-row {
  display:flex;justify-content:space-between;align-items:baseline;
  font-size:13px;padding:7px 0;border-bottom:1px solid rgba(26,43,28,.04);gap:12px;
}
.hsr-lookup-row:last-child{border-bottom:none}
.hsr-lookup-row span{font-size:10px;color:#bbb;text-transform:uppercase;letter-spacing:.1em;flex-shrink:0}
.hsr-lookup-row strong{color:#1a2b1c;font-weight:500;text-align:right}
.hsr-lookup-note{margin-top:12px;padding:10px 14px;background:#faf7f2;border-left:2px solid #c9a84c;font-size:13px;color:#777;border-radius:0 4px 4px 0}

/* Action buttons */
.hsr-lookup-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.hsr-lk-btn{
  padding:10px 20px;border-radius:6px;font-family:'Jost',sans-serif;
  font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  cursor:pointer;border:none;transition:all .2s;
}
.hsr-lk-btn-modify{background:#1a2b1c;color:#c9a84c}
.hsr-lk-btn-modify:hover{background:#0e1610;transform:translateY(-1px)}
.hsr-lk-btn-cancel{background:#fff0f0;color:#c62828;border:1px solid #fecaca!important}
.hsr-lk-btn-cancel:hover{background:#c62828;color:#fff;transform:translateY(-1px)}
.hsr-lk-btn-save{background:linear-gradient(115deg,#c9a84c,#e8c96a);color:#1a2b1c}
.hsr-lk-btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(201,168,76,.3)}
.hsr-lk-btn-secondary{background:none;border:1px solid #ddd!important;color:#888}
.hsr-lk-btn-secondary:hover{background:#f5f5f5}

/* Mobile */
@media(max-width:540px){
  .hsr-lookup-actions{flex-direction:column}
  .hsr-lk-btn{text-align:center}
}

/* ══════════════════════════════════════════════════════════════
   v36.1 — CHECK BOOKING + SEARCH FORM ADVANCED POLISH
   ══════════════════════════════════════════════════════════════ */

/* ── Check Booking Wrapper ── */
.hsr-check-booking-wrap {
  max-width: 580px;
  margin: 0 auto;
  font-family: 'Jost', sans-serif;
}

/* Header */
.hsr-cb-header { text-align: center; margin-bottom: 14px; }
.hsr-cb-icon { font-size: 28px; margin-bottom: 5px; }
.hsr-cb-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 26px;
  font-weight: 300;
  color: var(--f);
  margin: 0 0 4px;
}
.hsr-cb-sub { font-size: 13px; color: #888; margin: 0; line-height: 1.5; }

/* Form card */
.hsr-cb-form-card {
  background: #fff;
  border: 1px solid rgba(26,43,28,.1);
  border-top: 3px solid var(--g);
  border-radius: 0 0 8px 8px;
  padding: 20px 22px;
  box-shadow: 0 4px 24px rgba(16,28,18,.07);
}

/* Field layout — compact horizontal: ref | email | button */
.hsr-cb-fields {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 14px;
  align-items: end;
  margin-bottom: 0;
}
.hsr-cb-field { display: flex; flex-direction: column; gap: 5px; }
.hsr-cb-label {
  font-size: 10px;
  letter-spacing: .3em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--f);
  display: flex;
  align-items: center;
  gap: 5px;
}
.hsr-cb-label-icon { font-size: 12px; }
.hsr-cb-hint { font-size: 11px; color: #aaa; }

/* Input styling */
.hsr-cb-input {
  background: #faf7f2 !important;
  border: 1px solid rgba(26,43,28,.15) !important;
  color: #1a2b1c !important;
  padding: 12px 14px !important;
  border-radius: 6px !important;
  transition: all .2s !important;
}
.hsr-cb-input:focus {
  background: #fff !important;
  border-color: var(--g) !important;
  box-shadow: 0 0 0 3px rgba(201,168,76,.12) !important;
  outline: none !important;
}
.hsr-cb-input::placeholder { color: #ccc !important; }

/* Submit button */
.hsr-cb-submit-btn {
  width: auto;
  padding: 12px 20px;
  font-size: 12px;
  letter-spacing: .15em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  white-space: nowrap;
}
.hsr-cb-btn-icon { font-size: 15px; }

/* Help hints */
.hsr-cb-help {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 6px 20px;
  margin-top: 14px;
  padding: 10px 16px;
  background: #f9f7f2;
  border-radius: 6px;
  border: 1px solid rgba(201,168,76,.15);
}
.hsr-cb-help-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  color: #666;
}
.hsr-cb-help-item > span:first-child {
  flex-shrink: 0;
  width: 20px;
  text-align: center;
}

/* Best value badge */
.hsr-rc-badge--value {
  background: linear-gradient(115deg, #16a34a, #22c55e) !important;
  color: #fff !important;
}

/* Search form — enforce min-date dynamically */
.hsr-hero-slot-input[type="date"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  filter: invert(1) sepia(1) saturate(1.5) hue-rotate(10deg);
  opacity: .6;
}

/* Nights display below checkout — v9.4.1: responsive pill */
#hsr-nights-badge {
  position: absolute;
  bottom: 6px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(90deg, rgba(41,182,246,.18), rgba(255,107,43,.18));
  border: 1px solid rgba(41,182,246,.35);
  color: #29B6F6;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  padding: 3px 10px;
  border-radius: 20px;
  white-space: nowrap;
  font-family: 'Jost', sans-serif;
  pointer-events: none;
  z-index: 5;
  max-width: 90%;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media (max-width: 600px) {
  #hsr-nights-badge {
    font-size: 9px;
    padding: 2px 8px;
    bottom: 4px;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .hsr-cb-fields { grid-template-columns: 1fr; }
  .hsr-cb-submit-btn { width: 100% !important; }
  .hsr-cb-form-card { padding: 16px 14px; }
  .hsr-cb-title { font-size: 22px; }
  .hsr-cb-help { flex-direction: column; }
}

/* ══════════════════════════════════════════════════════════════
   v37.1 — FIX: Check booking input text visibility
   Scope all white-text overrides strictly to dark-background contexts
   ══════════════════════════════════════════════════════════════ */

/* Reset: ensure check booking inputs always have dark text */
.hsr-check-booking-wrap .hsr-input,
.hsr-check-booking-wrap input,
.hsr-check-booking-wrap select,
.hsr-check-booking-wrap textarea,
#hsr-lookup-ref,
#hsr-lookup-email,
.hsr-lookup-input,
.hsr-cb-input {
  color: #1a2b1c !important;
  -webkit-text-fill-color: #1a2b1c !important;
  background: #faf7f2 !important;
  caret-color: #1a2b1c !important;
}

.hsr-check-booking-wrap .hsr-input:focus,
.hsr-check-booking-wrap input:focus,
.hsr-lookup-input:focus,
.hsr-cb-input:focus {
  background: #ffffff !important;
  color: #1a2b1c !important;
  -webkit-text-fill-color: #1a2b1c !important;
  border-color: #c9a84c !important;
  box-shadow: 0 0 0 3px rgba(201,168,76,.15) !important;
  outline: none !important;
}

.hsr-check-booking-wrap .hsr-input::placeholder,
.hsr-lookup-input::placeholder,
.hsr-cb-input::placeholder {
  color: #bbb !important;
  -webkit-text-fill-color: #bbb !important;
  opacity: 1 !important;
}

/* Ensure the check booking form background is visibly light */
.hsr-cb-form-card,
.hsr-check-booking-form {
  background: #fff !important;
  color: #1a2b1c !important;
}

/* Label text in check booking - dark */
.hsr-cb-label,
.hsr-cb-hint,
.hsr-check-booking-form label,
.hsr-check-booking-header p,
.hsr-cb-sub {
  color: #555 !important;
  -webkit-text-fill-color: #555 !important;
}
.hsr-cb-title,
.hsr-check-booking-header h3 {
  color: #1a2b1c !important;
  -webkit-text-fill-color: #1a2b1c !important;
}

/* Restrict the dark search panel white text ONLY to the hero search bar */
#hsr-step-1 .hsr-hero-slot-input {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Do NOT apply white text to any inputs outside the hero bar */
.hsr-date-input-wrap .hsr-input {
  color: #1a2b1c !important;
  -webkit-text-fill-color: #1a2b1c !important;
}

/* ── Search form nights bar ── */
.hsr-hero-nights-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 12px;
  padding: 7px 18px;
  background: rgba(201,168,76,.12);
  border: 1px solid rgba(201,168,76,.25);
  border-radius: 20px;
  font-family: 'Jost', sans-serif;
  font-size: 13px;
  color: var(--g);
  position: relative;
  z-index: 2;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}
#hsr-hero-nights-text {
  font-weight: 700;
  letter-spacing: .05em;
}
.hsr-hero-nights-sep { opacity: .4; }
#hsr-hero-dates-text { opacity: .7; font-size: 12px; }

/* Slot sub-label (day name under date) */
.hsr-slot-sub {
  display: block;
  font-size: 10px;
  color: rgba(201,168,76,.55);
  font-family: 'Jost', sans-serif;
  margin-top: 2px;
  min-height: 14px;
}

/* Hero search bar focus highlight */
.hsr-hero-slot:focus-within {
  background: rgba(201,168,76,.08);
}
.hsr-hero-slot:focus-within .hsr-hero-slot-label {
  color: var(--g);
}

/* ══════════════════════════════════════════════════════════════
   v7.5.4 — SUCCESS PAGE ACTIONS + PRINT STYLES
   ══════════════════════════════════════════════════════════════ */

/* Success action buttons */
.hsr-success-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 24px;
}
.hsr-success-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  border-radius: 8px;
  font-family: 'Jost', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  cursor: pointer;
  text-decoration: none;
  border: none;
  transition: all .25s cubic-bezier(.23,1,.32,1);
}
.hsr-success-wa-btn {
  background: #25D366;
  color: #fff;
}
.hsr-success-wa-btn:hover {
  background: #1da851;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(37,211,102,.35);
}
.hsr-success-print-btn {
  background: #1a2b1c;
  color: #c9a84c;
}
.hsr-success-print-btn:hover {
  background: #0e1610;
  color: #c9a84c;
  transform: translateY(-2px);
}
.hsr-success-new-btn {
  background: transparent;
  color: #888;
  border: 1px solid rgba(26,43,28,.2) !important;
}
.hsr-success-new-btn:hover {
  background: var(--f);
  color: var(--g);
  border-color: var(--f) !important;
  transform: translateY(-2px);
}

/* Print styles — only show the success confirmation */
@media print {
  /* Hide everything — show only #hsr-print-receipt (moved to body by JS) */
  body * { display: none !important; }

  body > #hsr-print-receipt,
  body > #hsr-print-receipt * {
    display: revert !important;
    visibility: visible !important;
    color: #1a2b1c !important;
    background: transparent !important;
    position: static !important;
    overflow: visible !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
    box-shadow: none !important;
    float: none !important;
  }

  body > #hsr-print-receipt {
    display: block !important;
    width: 100% !important;
    max-width: 680px !important;
    margin: 0 auto !important;
    padding: 16px 24px !important;
    font-family: Georgia, serif !important;
    font-size: 10.5pt !important;
    line-height: 1.6 !important;
  }

  /* Grid layout must be re-enabled */
  body > #hsr-print-receipt .pr-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }
  body > #hsr-print-receipt .pr-grid .pr-cell {
    display: block !important;
  }

  /* Keep payment badge inline */
  body > #hsr-print-receipt .pr-payment-badge { display: inline-block !important; }

  /* Tighten spacing for single page */
  body > #hsr-print-receipt .pr-header { padding-bottom: 10px !important; margin-bottom: 10px !important; }
  body > #hsr-print-receipt .pr-ref-box { margin: 8px 0 !important; }
  body > #hsr-print-receipt .pr-total-box { padding: 8px !important; margin: 8px 0 !important; }
  body > #hsr-print-receipt .pr-total-box .pr-total-amt { font-size: 18pt !important; }
  body > #hsr-print-receipt .pr-total-box { background: #1a2b1c !important; color: #c9a84c !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  body > #hsr-print-receipt .pr-status { background: #e8f5e9 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  body > #hsr-print-receipt .pr-cell:nth-child(odd)  { background: #f9f7f2 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }

  body { background: #fff !important; margin: 0 !important; padding: 0 !important; }

  @page { margin: 12mm 14mm; size: A4 portrait; }
}

@media (max-width: 480px) {
  .hsr-success-actions { flex-direction: column; align-items: center; }
  .hsr-success-btn { width: 100%; justify-content: center; }
}

/* ══════════════════════════════════════════════════════════
   v8-FIXES — Responsive Search Form, Radio/Checkbox, Dates
   ══════════════════════════════════════════════════════════ */

/* Fix 1: .hsr-radio overflow:hidden clips the radio input dot.
   Use clip-path on the pseudo instead so input is fully visible. */
.hsr-radio {
  overflow: visible !important;
  /* Keep border-box so padding doesn't push content out */
  box-sizing: border-box !important;
}
.hsr-radio::before {
  /* pseudo stays behind — use clip to contain it inside the border */
  border-radius: 0 !important;
  /* Hide via width still works; overflow on parent no longer needed */
}

/* Fix 2: Search bar — checkin / checkout date inputs must show full text */
.hsr-hero-slot {
  min-width: 120px !important;
}
.hsr-hero-slot-input[type="date"] {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Fix 3: On mobile the hero bar stacks — each slot must be full-width
   and date inputs must be completely readable */
@media (max-width: 820px) {
  .hsr-hero-bar {
    overflow: visible !important; /* no clip when stacked */
    border-radius: 12px !important;
  }
  .hsr-hero-slot {
    width: 100% !important;
    min-width: 0 !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(201,168,76,.12) !important;
    padding: 14px 16px !important;
    box-sizing: border-box !important;
  }
  .hsr-hero-slot:last-child {
    border-bottom: none !important;
  }
  .hsr-hero-slot-body {
    width: 100% !important;
  }
  .hsr-hero-slot-input {
    font-size: 15px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    display: block !important;
  }
  .hsr-hero-slot-input[type="date"] {
    display: block !important;
    font-size: 15px !important;
    min-height: 28px !important;
    line-height: 1.4 !important;
  }
}

/* Fix 4: Step 3 (booking form) — overall padding fixes for mobile */
@media (max-width: 640px) {
  .hsr-step {
    padding: 20px 14px 28px !important;
  }
  .hsr-form-section {
    padding: 16px 14px !important;
    box-sizing: border-box !important;
  }
  /* Payment radio on small screens — make sure input stays inside */
  .hsr-radio {
    padding: 12px 14px !important;
    gap: 12px !important;
    align-items: center !important;
  }
  .hsr-radio input[type="radio"] {
    flex-shrink: 0 !important;
    margin: 0 !important;
    width: 18px !important;
    height: 18px !important;
    position: relative !important;
    z-index: 1 !important;
  }
  /* Fix checkbox/radio being clipped on desktop too */
  .hsr-radio input {
    overflow: visible !important;
    position: relative !important;
    z-index: 1 !important;
  }
  .hsr-radio span {
    font-size: 14px !important;
  }
  .hsr-radio small {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }
}

/* Fix 5: hsr-form-row—ensure no overflow on mobile */
@media (max-width: 640px) {
  .hsr-form-row--2,
  .hsr-form-row--3,
  .hsr-form-row--4 {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .hsr-input,
  select.hsr-input,
  textarea.hsr-input {
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: 16px !important;
  }
}

/* Fix 6: Trust badges responsive */
@media (max-width: 480px) {
  .hsr-trust-badges {
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  .hsr-trust-badges span {
    font-size: 10px !important;
    padding: 5px 8px !important;
  }
}

/* Fix 7: Booking layout — stack on mobile properly */
@media (max-width: 768px) {
  .hsr-booking-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
  .hsr-booking-sidebar {
    display: none !important; /* hide sidebar on mobile step 1 */
  }
}

/* ══════════════════════════════════════════════════════════════════
   v9 SEARCH FORM OVERHAUL — Clean, readable, fully responsive
   Overrides all previous hero-bar/slot/input rules
   ══════════════════════════════════════════════════════════════════ */

/* ── HERO SEARCH BAR: clean white card on dark background ── */
#hsr-step-1 .hsr-hero-bar {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  background: rgba(255,255,255,0.10) !important;
  border: 1.5px solid rgba(201,168,76,0.45) !important;
  border-radius: 12px !important;
  overflow: visible !important;  /* allow date picker to overflow */
  box-shadow: 0 8px 40px rgba(0,0,0,0.35) !important;
  gap: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* ── Each slot ── */
#hsr-step-1 .hsr-hero-slot {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 3px !important;
  padding: 12px 16px !important;
  border-right: 1px solid rgba(201,168,76,0.20) !important;
  border-radius: 0 !important;
  background: transparent !important;
  transition: background 0.2s !important;
  box-sizing: border-box !important;
}
#hsr-step-1 .hsr-hero-slot:first-child { border-radius: 10px 0 0 10px !important; }
#hsr-step-1 .hsr-hero-slot:hover { background: rgba(201,168,76,0.08) !important; }
#hsr-step-1 .hsr-hero-bar-div,
#hsr-step-1 .hsr-hero-bar-sep { display: none !important; }

/* ── Slot icon: hide to save space ── */
#hsr-step-1 .hsr-hero-slot-icon { display: none !important; }
#hsr-step-1 .hsr-hero-slot-body {
  width: 100% !important;
  min-width: 0 !important;
  flex: 1 !important;
}

/* ── Label ── */
#hsr-step-1 .hsr-hero-slot-label {
  display: block !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(201,168,76,0.85) !important;
  margin-bottom: 4px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

/* ── ALL INPUTS in search bar: clearly visible white text ── */
#hsr-step-1 .hsr-hero-slot-input,
#hsr-step-1 .hsr-hero-slot-input[type="date"],
#hsr-step-1 select.hsr-hero-slot-input {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(201,168,76,0.30) !important;
  outline: none !important;
  box-shadow: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 4px 0 4px 0 !important;
  line-height: 1.5 !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  /* Ensure date placeholder text is also white */
  color-scheme: dark !important;
}
#hsr-step-1 .hsr-hero-slot-input:focus {
  border-bottom-color: rgba(201,168,76,0.75) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
/* Date picker calendar icon */
#hsr-step-1 .hsr-hero-slot-input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(1) brightness(1.5) !important;
  opacity: 0.7 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}
/* Select options dropdown */
#hsr-step-1 .hsr-hero-slot-input option,
#hsr-step-1 select.hsr-hero-slot-input option {
  background: #1a2b1c !important;
  color: #fff !important;
}

/* ── Search button ── */
#hsr-step-1 .hsr-hero-search-btn {
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 20px !important;
  background: linear-gradient(135deg, #a07830, #c9a84c, #e8c96a) !important;
  color: #1a2b1c !important;
  border: none !important;
  border-radius: 0 10px 10px 0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  min-height: 56px !important;
  min-width: 90px !important;
  transition: filter 0.2s !important;
  overflow: visible !important;
}
#hsr-step-1 .hsr-hero-search-btn::after { display: none !important; }
#hsr-step-1 .hsr-hero-search-btn:hover { filter: brightness(1.08) !important; color: #1a2b1c !important; }
#hsr-step-1 .hsr-hero-search-btn svg,
#hsr-step-1 .hsr-hero-search-btn span { position: static !important; z-index: auto !important; }

/* ── Nights indicator bar ── */
#hsr-hero-nights-bar {
  background: rgba(201,168,76,0.12) !important;
  border: 1px solid rgba(201,168,76,0.25) !important;
  border-radius: 6px !important;
  padding: 8px 16px !important;
  margin-top: 10px !important;
  font-size: 13px !important;
  color: #c9a84c !important;
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
}

/* ── Trust row below search ── */
.hsr-hero-trust-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 16px !important;
  margin-top: 14px !important;
  font-size: 12px !important;
  color: rgba(255,255,255,0.6) !important;
  padding: 0 4px !important;
}
.hsr-hero-trust-row span {
  white-space: nowrap !important;
}

/* ══ RESPONSIVE — tablet (≤820px): 2-column grid ══ */
@media (max-width: 820px) {
  #hsr-step-1 .hsr-hero-bar {
    flex-wrap: wrap !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }
  #hsr-step-1 .hsr-hero-slot {
    flex: 1 1 calc(50% - 1px) !important;
    min-width: calc(50% - 1px) !important;
    border-right: 1px solid rgba(201,168,76,0.20) !important;
    border-bottom: 1px solid rgba(201,168,76,0.20) !important;
    padding: 14px 16px !important;
    border-radius: 0 !important;
  }
  #hsr-step-1 .hsr-hero-slot:nth-child(2n) {
    border-right: none !important;
  }
  #hsr-step-1 .hsr-hero-search-btn {
    flex: 1 1 100% !important;
    width: 100% !important;
    border-radius: 0 0 10px 10px !important;
    min-height: 50px !important;
    padding: 14px !important;
  }
  #hsr-step-1 .hsr-hero-slot-input,
  #hsr-step-1 .hsr-hero-slot-input[type="date"],
  #hsr-step-1 select.hsr-hero-slot-input {
    font-size: 15px !important;
    min-height: 30px !important;
  }
}

/* ══ RESPONSIVE — mobile (≤480px): single column ══ */
@media (max-width: 480px) {
  #hsr-step-1 .hsr-hero-slot {
    flex: 1 1 100% !important;
    min-width: 100% !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(201,168,76,0.18) !important;
    padding: 12px 14px !important;
  }
  #hsr-step-1 .hsr-hero-slot-label { font-size: 9px !important; }
  #hsr-step-1 .hsr-hero-slot-input,
  #hsr-step-1 .hsr-hero-slot-input[type="date"],
  #hsr-step-1 select.hsr-hero-slot-input {
    font-size: 16px !important; /* prevent iOS zoom */
    min-height: 32px !important;
  }
  #hsr-step-1 .hsr-hero-search-btn {
    min-height: 48px !important;
    font-size: 14px !important;
  }
  .hsr-hero-trust-row { gap: 6px 12px !important; font-size: 11px !important; }
  .hsr-hero-trust-row span { white-space: nowrap !important; }
}

/* ══════════════════════════════════════════════════════════
   v9.2 — Print Header (hidden on screen, shown on print)
   ══════════════════════════════════════════════════════════ */
.hsr-print-header {
  display: none !important;
}

/* ══════════════════════════════════════════════════════════
   v9.3.9 — Advanced Search Form: Sky-Blue/Orange/Red/White
   ══════════════════════════════════════════════════════════ */

/* Gradient background glow on the hero step */
#hsr-step-1 {
  background: linear-gradient(135deg, #0a1628 0%, #1a2b1c 40%, #0d2137 100%) !important;
}

/* Slot hover: sky-blue gradient shimmer */
.hsr-hero-slot {
  position: relative;
  transition: background .25s, box-shadow .25s;
}
.hsr-hero-slot::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(41,182,246,.0) 0%, rgba(41,182,246,.08) 100%);
  opacity: 0;
  transition: opacity .25s;
  pointer-events: none;
}
.hsr-hero-slot:hover::before { opacity: 1; }
.hsr-hero-slot:hover {
  background: rgba(41,182,246,.06) !important;
  box-shadow: inset 0 -2px 0 rgba(41,182,246,.45);
}
.hsr-hero-slot:focus-within {
  background: rgba(255,107,43,.05) !important;
  box-shadow: inset 0 -2px 0 #FF6B2B;
}
.hsr-hero-slot:focus-within .hsr-hero-slot-label {
  color: #FF6B2B !important;
}

/* Room type slot — distinctive gradient label */
.hsr-hero-slot:last-of-type .hsr-hero-slot-label {
  background: linear-gradient(90deg, #29B6F6, #FF6B2B);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Slot icon gradient */
.hsr-hero-slot:hover .hsr-hero-slot-icon svg {
  filter: drop-shadow(0 0 4px rgba(41,182,246,.6));
}

/* Search button: orange → sky-blue animated gradient */
.hsr-hero-search-btn {
  background: linear-gradient(115deg, #FF6B2B 0%, #FFA726 35%, #29B6F6 70%, #0277BD 100%) !important;
  background-size: 250% 100% !important;
  animation: hsr-btn-slide 4s ease infinite !important;
  box-shadow: 0 4px 28px rgba(255,107,43,.4), 0 2px 8px rgba(41,182,246,.25) !important;
}
@keyframes hsr-btn-slide {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
.hsr-hero-search-btn:hover {
  background: linear-gradient(115deg, #e53935 0%, #FF6B2B 40%, #29B6F6 80%, #0288d1 100%) !important;
  box-shadow: 0 8px 36px rgba(229,57,53,.45), 0 4px 16px rgba(41,182,246,.35) !important;
  transform: translateY(-3px) scale(1.02) !important;
}
.hsr-hero-search-btn:active {
  transform: scale(.97) translateY(0) !important;
}

/* Nights indicator bar: sky-blue gradient pill */
.hsr-hero-nights-bar {
  background: linear-gradient(90deg, rgba(41,182,246,.15), rgba(255,107,43,.15));
  border: 1px solid rgba(41,182,246,.3);
  color: #29B6F6;
}

/* Hero bar border on hover: sky-blue ring */
.hsr-hero-bar:hover {
  border-color: rgba(41,182,246,.5) !important;
  box-shadow: 0 24px 80px rgba(0,0,0,.55), 0 0 0 2px rgba(41,182,246,.18), inset 0 1px 0 rgba(201,168,76,.2) !important;
}

/* Trust row icons: colored */
.hsr-hero-trust-row span:nth-child(1) { color: rgba(41,182,246,.85); }
.hsr-hero-trust-row span:nth-child(2) { color: rgba(255,107,43,.85); }
.hsr-hero-trust-row span:nth-child(3) { color: rgba(255,255,255,.65); }
.hsr-hero-trust-row span:nth-child(4) { color: rgba(201,168,76,.85); }

/* Room type dropdown: custom chevron in sky-blue */
.hsr-hero-slot select.hsr-hero-slot-input {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2329B6F6' stroke-width='2' fill='none'/%3E%3C/svg%3E") !important;
}

/* Error highlight on required fields */
.hsr-hero-slot-input:invalid:not(:placeholder-shown) {
  border-bottom: 2px solid #e53935 !important;
}
.hsr-hero-slot.hsr-field-error {
  background: rgba(229,57,53,.07) !important;
  box-shadow: inset 0 -2px 0 #e53935;
}
.hsr-hero-slot.hsr-field-error .hsr-hero-slot-label { color: #e53935 !important; }


/* ══════════════════════════════════════════════════════════
   v9.4.0 — Fix 2a: Room card description hover effect
   Advanced attractive hover with description reveal
   ══════════════════════════════════════════════════════════ */

/* Description: show full text on hover with animated reveal */
.hsr-result-card-v2 .hsr-rc-desc {
  -webkit-line-clamp: 2;
  max-height: 3.4em;
  overflow: hidden;
  transition: max-height .4s cubic-bezier(.23,1,.32,1),
              color .3s,
              -webkit-line-clamp .3s;
}
.hsr-result-card-v2:hover .hsr-rc-desc {
  -webkit-line-clamp: unset;
  max-height: 12em;
  color: #444;
}

/* Description glow shimmer line on hover */
.hsr-rc-desc {
  position: relative;
}
.hsr-result-card-v2:hover .hsr-rc-desc::after {
  content: '';
  display: block;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--g), transparent);
  margin-top: 8px;
  border-radius: 2px;
  animation: hsr-desc-shimmer .6s ease forwards;
}
@keyframes hsr-desc-shimmer {
  from { opacity: 0; transform: scaleX(0); }
  to   { opacity: 1; transform: scaleX(1); }
}

/* Amenities: highlight on card hover */
.hsr-result-card-v2:hover .hsr-rc-amenities span {
  background: rgba(201,168,76,.08);
  border-color: rgba(201,168,76,.25);
  color: #2c3a2e;
  transition: background .3s, border-color .3s;
}

/* Facts chips glow on hover */
.hsr-result-card-v2:hover .hsr-rc-facts span {
  background: rgba(26,43,28,.06);
  color: #2c3a2e;
  transition: background .3s, color .3s;
}

/* Body panel: slide up subtle reveal */
.hsr-rc-body {
  transition: padding .3s;
}
.hsr-result-card-v2:hover .hsr-rc-body {
  padding-top: 20px;
  padding-bottom: 20px;
}

/* ══════════════════════════════════════════════════════════
   v9.4.0 — Fix 2b: Payment section — prevent text overflow
   Radio text wraps properly, never clips outside container
   ══════════════════════════════════════════════════════════ */

.hsr-form-section {
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* Payment radio: fix text overflow at all widths */
.hsr-radio {
  overflow: visible !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 14px !important;
  padding: 16px 18px !important;
}
.hsr-radio > div {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
}
.hsr-radio span {
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  display: block !important;
  line-height: 1.4 !important;
}
.hsr-radio small {
  white-space: normal !important;
  word-break: break-word !important;
  display: block !important;
  line-height: 1.5 !important;
  margin-top: 4px !important;
}

/* ══════════════════════════════════════════════════════════
   v9.4.0 — Fix 2c: Checkbox/radio correct sizing
   Not too big, not too small — 18px consistent
   ══════════════════════════════════════════════════════════ */

.hsr-radio input[type="radio"],
.hsr-radio input[type="checkbox"] {
  flex-shrink: 0 !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  margin: 2px 0 0 0 !important;
  cursor: pointer !important;
  accent-color: var(--g) !important;
  position: relative !important;
  z-index: 1 !important;
  overflow: visible !important;
}

/* Mobile: tighten payment section */
@media (max-width: 640px) {
  .hsr-radio {
    padding: 13px 14px !important;
    gap: 12px !important;
  }
  .hsr-radio input[type="radio"],
  .hsr-radio input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
  }
}

/* ══════════════════════════════════════════════════════════
   v9.4.0 — Fix 3: Print receipt — amounts fully visible
   Dark bg with gold text, proper contrast and spacing
   ══════════════════════════════════════════════════════════ */

@media print {
  /* Force colour printing */
  * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }

  #hsr-print-receipt .pr-total-box {
    background: #1a2b1c !important;
    color: #c9a84c !important;
    padding: 14px !important;
    border-radius: 6px !important;
    overflow: visible !important;
  }
  #hsr-print-receipt .pr-total-box .pr-total-amt {
    font-size: 20pt !important;
    font-weight: bold !important;
    color: #c9a84c !important;
    display: block !important;
  }
  #hsr-print-receipt .pr-total-box .pr-total-label {
    color: rgba(201,168,76,.8) !important;
    font-size: 8pt !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
    display: block !important;
    margin-bottom: 4px !important;
  }
  /* Row items inside total box */
  #hsr-print-receipt .pr-total-box div[style] {
    color: #e0d4b0 !important;
  }
  /* Grid cells */
  #hsr-print-receipt .pr-cell:nth-child(odd) {
    background: #f9f7f2 !important;
    color: #666 !important;
  }
  #hsr-print-receipt .pr-cell:nth-child(even) {
    background: #fff !important;
    color: #1a2b1c !important;
    font-weight: 600 !important;
  }
  /* Status badge */
  #hsr-print-receipt .pr-status {
    background: #e8f5e9 !important;
    border: 1px solid #a5d6a7 !important;
    color: #2e7d32 !important;
  }
  /* Payment badge */
  #hsr-print-receipt .pr-payment-badge {
    background: #fff8e1 !important;
    border: 1px solid #ffe082 !important;
    color: #e65100 !important;
  }
}

/* On-screen receipt: ensure amounts are visible in the total box */
#hsr-print-receipt .pr-total-box {
  background: #1a2b1c !important;
  color: #c9a84c !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}
#hsr-print-receipt .pr-total-box * {
  color: #e0d4b0 !important;
}
#hsr-print-receipt .pr-total-box .pr-total-amt {
  color: #c9a84c !important;
  font-size: 22pt !important;
  display: block !important;
}
#hsr-print-receipt .pr-total-box .pr-total-label {
  color: rgba(201,168,76,.75) !important;
  display: block !important;
}
/* Breakdown rows inside total box */
#hsr-print-receipt .pr-total-box > div[style*="display:flex"] span {
  color: rgba(255,255,255,.7) !important;
}
#hsr-print-receipt .pr-total-box > div[style*="display:flex"] span:last-child {
  color: #e0d4b0 !important;
  font-weight: 600 !important;
}


/* ══════════════════════════════════════════════════════════
   v9.4.1 — Fix 5: Advanced room card — Sky-Blue/Orange/Red
   Middle body section: hover color overlay
   Price column: gradient background
   Selected room: clear gradient highlight
   ══════════════════════════════════════════════════════════ */

/* ── Room card body: advanced hover with color wash ── */
.hsr-rc-body {
  position: relative;
  z-index: 1;
  transition: background .35s ease;
}
.hsr-rc-body::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,
    rgba(41,182,246,.04) 0%,
    rgba(255,107,43,.04) 50%,
    rgba(229,57,53,.03) 100%
  );
  opacity: 0;
  transition: opacity .35s ease;
  pointer-events: none;
  z-index: -1;
}
.hsr-result-card-v2:hover .hsr-rc-body::after { opacity: 1; }

/* Left border accent: sky-blue on hover */
.hsr-result-card-v2 {
  border-left: 3px solid transparent;
  transition: border-color .3s ease, box-shadow .3s ease;
}
.hsr-result-card-v2:hover {
  border-left-color: #29B6F6 !important;
  box-shadow: 0 8px 40px rgba(41,182,246,.12), 0 2px 8px rgba(0,0,0,.15) !important;
}

/* Facts chips: hover glow in theme colors */
.hsr-rc-facts span {
  transition: background .25s, color .25s, border-color .25s;
}
.hsr-result-card-v2:hover .hsr-rc-facts span:nth-child(1) { background: rgba(41,182,246,.1);  color: #0288d1; border-color: rgba(41,182,246,.3); }
.hsr-result-card-v2:hover .hsr-rc-facts span:nth-child(2) { background: rgba(255,107,43,.08); color: #e65100; border-color: rgba(255,107,43,.25); }
.hsr-result-card-v2:hover .hsr-rc-facts span:nth-child(3) { background: rgba(229,57,53,.07);  color: #c62828; border-color: rgba(229,57,53,.2); }
.hsr-result-card-v2:hover .hsr-rc-facts span:nth-child(4) { background: rgba(201,168,76,.1);  color: #a07a20; border-color: rgba(201,168,76,.3); }

/* Name: sunrise gradient on hover */
.hsr-rc-name { transition: background .3s, -webkit-background-clip .3s; }
.hsr-result-card-v2:hover .hsr-rc-name {
  background: linear-gradient(90deg, #FF6B2B, #29B6F6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── Price column: gradient bg — always ── */
.hsr-rc-price-col {
  background: linear-gradient(160deg,
    #0d1b3e 0%, #1a1435 35%, #2a0d0a 70%, #1a0d05 100%
  ) !important;
  position: relative;
  overflow: hidden;
}
/* Sunrise shimmer overlay on price col hover */
.hsr-rc-price-col::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg,
    rgba(255,107,43,.06) 0%,
    rgba(41,182,246,.08) 50%,
    rgba(229,57,53,.05) 100%
  );
  opacity: 0;
  transition: opacity .4s ease;
  pointer-events: none;
}
.hsr-result-card-v2:hover .hsr-rc-price-col::before { opacity: 1; }

/* Price per night: orange on hover */
.hsr-rc-price-per { transition: color .3s; }
.hsr-result-card-v2:hover .hsr-rc-price-per {
  color: #FF6B2B !important;
  text-shadow: 0 0 20px rgba(255,107,43,.25);
}

/* Total price strong: white → sky-blue on hover */
.hsr-rc-price-total strong { transition: color .3s; }
.hsr-result-card-v2:hover .hsr-rc-price-total strong { color: #29B6F6 !important; }

/* ── Select button: sunrise gradient animated ── */
.hsr-rc-select-btn {
  background: linear-gradient(115deg,
    #FF6B2B 0%, #FFA726 40%, #29B6F6 80%, #0277BD 100%) !important;
  background-size: 220% 100% !important;
  transition: background-position .5s ease, transform .3s ease, box-shadow .3s ease !important;
  color: #fff !important;
}
.hsr-rc-select-btn:hover {
  background-position: 100% 0 !important;
  color: #fff !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 30px rgba(41,182,246,.3), 0 4px 12px rgba(255,107,43,.25) !important;
}
/* Override the dark hover fill from ::before */
.hsr-rc-select-btn::before { display: none !important; }

/* ── Selected room card: clear gradient highlight ── */
.hsr-result-card-v2:has(.hsr-room-selected-btn) {
  border-left-color: #FF6B2B !important;
  box-shadow: 0 0 0 2px rgba(255,107,43,.25), 0 8px 32px rgba(255,107,43,.12) !important;
}
.hsr-rc-select-btn.hsr-room-selected-btn {
  background: linear-gradient(115deg, #c9a84c, #e8c97a, #c9a84c) !important;
  color: #1a2b1c !important;
  box-shadow: 0 4px 16px rgba(201,168,76,.35) !important;
}
.hsr-rc-select-btn.hsr-room-selected-btn::after {
  content: ' ✓';
}

/* ── Summary sidebar selected room row ── */
#hsr-sum-room {
  background: linear-gradient(90deg, rgba(41,182,246,.06), rgba(255,107,43,.06));
  border-radius: 4px;
  transition: background .3s;
}
#hsr-sum-room strong {
  color: #FF6B2B;
  font-weight: 700;
}

/* ── Step 2 rooms: results bar nights display ── */
.hsr-results-meta span { line-height: 1.4; }
.hsr-results-meta { flex-wrap: wrap; gap: 4px; }
.hsr-results-arrow { color: #29B6F6; font-weight: 700; }

/* Responsive: price col on small screens */
@media (max-width: 680px) {
  .hsr-rc-price-col {
    background: linear-gradient(180deg, #1a2b1c, #0d1f2d) !important;
  }
}


/* ══════════════════════════════════════════════════════════
   v9.4.2 — Find Booking: Attractive horizontal card
   Wide not tall — brand panel left, form right
   ══════════════════════════════════════════════════════════ */

.hsr-cb-wrap {
  max-width: 820px;
  margin: 0 auto;
  font-family: 'Jost', sans-serif;
}

/* Main card: side by side */
.hsr-cb-card {
  display: grid;
  grid-template-columns: 240px 1fr;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 40px rgba(26,43,28,.13), 0 2px 8px rgba(0,0,0,.08);
  border: 1px solid rgba(201,168,76,.2);
}

/* Left: dark brand panel */
.hsr-cb-brand {
  background: linear-gradient(160deg, #1a2b1c 0%, #0d1f12 60%, #2a1005 100%);
  padding: 32px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  overflow: hidden;
}
.hsr-cb-brand::before {
  content: '';
  position: absolute;
  width: 200px; height: 200px;
  background: radial-gradient(circle, rgba(255,107,43,.18), transparent 70%);
  top: -60px; right: -60px;
  border-radius: 50%;
  pointer-events: none;
}
.hsr-cb-brand::after {
  content: '';
  position: absolute;
  width: 150px; height: 150px;
  background: radial-gradient(circle, rgba(41,182,246,.12), transparent 70%);
  bottom: -40px; left: -40px;
  border-radius: 50%;
  pointer-events: none;
}
.hsr-cb-brand-icon {
  font-size: 32px;
  line-height: 1;
}
.hsr-cb-brand-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px;
  font-weight: 400;
  color: #fff;
  margin: 0;
  line-height: 1.2;
  position: relative;
  z-index: 1;
}
.hsr-cb-brand-sub {
  font-size: 12px;
  color: rgba(255,255,255,.55);
  margin: 0;
  line-height: 1.4;
  position: relative;
  z-index: 1;
}
.hsr-cb-bullets {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: 6px;
  position: relative;
  z-index: 1;
}
.hsr-cb-bullets div {
  font-size: 11px;
  color: rgba(255,255,255,.45);
  display: flex;
  align-items: center;
  gap: 6px;
}
.hsr-cb-wa-btn {
  display: inline-block;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  color: #fff !important;
  text-decoration: none !important;
  padding: 7px 12px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
  transition: background .2s;
  position: relative;
  z-index: 1;
  margin-top: 4px;
  width: fit-content;
}
.hsr-cb-wa-btn:hover { background: rgba(255,255,255,.18) !important; }

/* Right: form panel */
.hsr-cb-form-side {
  background: #fff;
  padding: 28px 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-left: 1px solid rgba(201,168,76,.15);
}

/* Two-col row inside form */
.hsr-cb-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 18px;
}
.hsr-cb-fld {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.hsr-cb-lbl {
  font-size: 10px;
  letter-spacing: .25em;
  text-transform: uppercase;
  font-weight: 700;
  color: #2c3a2e;
}
.hsr-cb-hint2 {
  font-size: 10px;
  color: #bbb;
  margin-top: 2px;
}

/* Input */
.hsr-cb-inp {
  background: #f8f6f1 !important;
  border: 1.5px solid rgba(26,43,28,.12) !important;
  border-radius: 7px !important;
  padding: 11px 14px !important;
  font-size: 14px !important;
  color: #1a2b1c !important;
  font-family: 'Jost', sans-serif !important;
  transition: border-color .2s, box-shadow .2s !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.hsr-cb-inp:focus {
  background: #fff !important;
  border-color: #c9a84c !important;
  box-shadow: 0 0 0 3px rgba(201,168,76,.12) !important;
  outline: none !important;
}
.hsr-cb-inp::placeholder { color: #c0b89a !important; }

/* Find button: full-width sunrise gradient */
.hsr-cb-find-btn {
  width: 100%;
  padding: 13px 24px;
  background: linear-gradient(115deg, #1a2b1c 0%, #2c3a2e 35%, #c9a84c 100%);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-family: 'Jost', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: all .3s ease;
  background-size: 200% 100%;
}
.hsr-cb-find-btn:hover {
  background: linear-gradient(115deg, #FF6B2B 0%, #FFA726 50%, #29B6F6 100%);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(255,107,43,.3);
}
.hsr-cb-find-btn:active { transform: translateY(0); }

/* Results card underneath */
#hsr-lookup-result .hsr-lookup-found,
#hsr-lookup-result .hsr-cb-result-card {
  border-radius: 10px !important;
  border: 1px solid rgba(201,168,76,.2) !important;
  border-top: 3px solid var(--g) !important;
  box-shadow: 0 4px 20px rgba(26,43,28,.08) !important;
}

/* Mobile: stack vertically */
@media (max-width: 640px) {
  .hsr-cb-card {
    grid-template-columns: 1fr;
  }
  .hsr-cb-brand {
    padding: 22px 20px;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
  }
  .hsr-cb-brand-icon { font-size: 24px; }
  .hsr-cb-brand-title { font-size: 18px; }
  .hsr-cb-bullets, .hsr-cb-wa-btn { display: none; }
  .hsr-cb-form-side { padding: 20px 18px; }
  .hsr-cb-row { grid-template-columns: 1fr; gap: 12px; }
}
@media (max-width: 420px) {
  .hsr-cb-find-btn { font-size: 11px; padding: 12px 16px; letter-spacing: .1em; }
}


/* ══════════════════════════════════════════════════════════
   v9.4.2 — Search form: text visibility + mobile refinement
   ══════════════════════════════════════════════════════════ */

/* Slot label: always clearly readable */
.hsr-hero-slot-label {
  color: rgba(255,255,255,.6) !important;
  font-size: 9.5px !important;
  letter-spacing: .3em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}
/* Slot input text: pure white */
.hsr-hero-slot-input {
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  text-shadow: 0 1px 4px rgba(0,0,0,.4) !important;
}
.hsr-hero-slot-input::placeholder {
  color: rgba(255,255,255,.35) !important;
}
.hsr-hero-slot-input option {
  background: #1a2b1c !important;
  color: #fff !important;
}
/* Date input text on chrome/safari */
.hsr-hero-slot-input[type="date"] {
  color-scheme: dark !important;
}

/* Bar: slightly more opaque for text readability */
.hsr-hero-bar {
  background: rgba(10,20,14,.72) !important;
  backdrop-filter: blur(32px) !important;
  -webkit-backdrop-filter: blur(32px) !important;
  border: 1px solid rgba(201,168,76,.5) !important;
}
.hsr-hero-bar:focus-within {
  border-color: rgba(201,168,76,.8) !important;
  box-shadow: 0 0 0 3px rgba(201,168,76,.15), 0 24px 80px rgba(0,0,0,.5) !important;
}

/* Trust row: readable */
.hsr-hero-trust-row {
  color: rgba(255,255,255,.65) !important;
  text-shadow: 0 1px 4px rgba(0,0,0,.5) !important;
}
.hsr-hero-trust-row span { text-shadow: 0 1px 4px rgba(0,0,0,.5); }

/* Eyebrow readable */
.hsr-hero-eyebrow {
  text-shadow: 0 0 30px rgba(201,168,76,.6), 0 1px 6px rgba(0,0,0,.6) !important;
  color: var(--g) !important;
}

/* Mobile: tighter padding, full-width bar, readable */
@media (max-width: 680px) {
  #hsr-step-1.hsr-hero-step {
    padding: 40px 16px 36px !important;
    min-height: 320px !important;
  }
  .hsr-hero-h2 {
    font-size: 34px !important;
    text-shadow: 0 2px 20px rgba(0,0,0,.9) !important;
  }
  .hsr-hero-tagp {
    font-size: 13px !important;
  }
  .hsr-hero-head { margin-bottom: 24px !important; }
  .hsr-hero-slot-label { font-size: 8.5px !important; letter-spacing: .2em !important; }
  .hsr-hero-slot-input  { font-size: 14px !important; }
}
@media (max-width: 420px) {
  #hsr-step-1.hsr-hero-step { padding: 30px 12px 28px !important; }
  .hsr-hero-h2 { font-size: 28px !important; }
}


/* ══════════════════════════════════════════════════════════
   v9.4.3 — Fix 3: Global text visibility audit
   Replace dark green (#1a2b1c / #2c3a2e) text that appears
   on dark backgrounds → use white/light variants instead
   ══════════════════════════════════════════════════════════ */

/* Step 1 hero: all labels and values inside dark bg must be light */
#hsr-step-1 .hsr-step-header h3,
#hsr-step-1 .hsr-step-header p,
#hsr-step-1 .hsr-hero-head h2,
#hsr-step-1 .hsr-hero-head p {
  color: #ffffff !important;
}

/* Room card NAME on white bg: keep dark (correct) */
.hsr-rc-body .hsr-rc-name { color: #1a2b1c !important; }

/* Room card PRICE COL: all text must be light */
.hsr-rc-price-col,
.hsr-rc-price-col * {
  color: rgba(255,255,255,.9) !important;
}
.hsr-rc-price-col .hsr-rc-price-per   { color: #e8c97a !important; }
.hsr-rc-price-col .hsr-rc-price-unit  { color: rgba(255,255,255,.55) !important; }
.hsr-rc-price-col .hsr-rc-price-total { color: rgba(255,255,255,.65) !important; }
.hsr-rc-price-col .hsr-rc-price-total strong { color: #ffffff !important; }
.hsr-rc-price-col .hsr-rc-price-usd   { color: rgba(255,255,255,.4) !important; }
.hsr-rc-price-col .hsr-rc-avail       { color: inherit !important; }
.hsr-rc-price-col .hsr-rc-avail--ok   { color: #a5d6a7 !important; }
.hsr-rc-price-col .hsr-rc-avail--low  { color: #ef9a9a !important; }
.hsr-rc-price-col .hsr-rc-trust       { color: rgba(255,255,255,.42) !important; }

/* Select button: gold gradient text should be dark (button is light) */
.hsr-rc-select-btn { color: #1a2b1c !important; }
.hsr-rc-select-btn:hover { color: var(--g) !important; }
.hsr-rc-select-btn.hsr-room-selected-btn { color: #1a2b1c !important; }

/* Booking summary sidebar on step-3 dark bg: text must be light */
.hsr-sidebar,
.hsr-sidebar * {
  color: rgba(255,255,255,.85) !important;
}
.hsr-sidebar .hsr-sum-label { color: rgba(255,255,255,.5) !important; }
.hsr-sidebar .hsr-sum-val   { color: #ffffff !important; font-weight: 600 !important; }
.hsr-sidebar .hsr-sum-total { color: var(--g) !important; }

/* Steps 2–4: header text — stays dark (white bg) */
#hsr-step-2 .hsr-step-header h3,
#hsr-step-3 .hsr-step-header h3,
#hsr-step-4 .hsr-step-header h3 {
  color: #1a2b1c !important;
}

/* Radio labels on white background — dark text is correct */
.hsr-radio span  { color: #1a2b1c !important; }
.hsr-radio small { color: #666 !important; }

/* Section headers on white bg: dark forest green is correct */
.hsr-section-title { color: #1a2b1c !important; }

/* Lookup result card: text on white bg — keep dark */
.hsr-lookup-found,
.hsr-lookup-found * {
  color: #1a2b1c !important;
}
.hsr-lookup-row span  { color: #888 !important; }
.hsr-lookup-row strong { color: #1a2b1c !important; }

/* Find Booking card: form side white bg — dark text */
.hsr-cb-form-side .hsr-cb-lbl  { color: #2c3a2e !important; }
.hsr-cb-form-side .hsr-cb-hint2 { color: #bbb !important; }
.hsr-cb-inp { color: #1a2b1c !important; }

/* Admin: payment panel dark bg — force white text */
.hsr-pay-methods-section,
.hsr-pay-result-row,
.hsr-pay-ledger-row { color: #1a2b1c; }

/* Guest form on step 3 white card */
.hsr-form-section label { color: #1a2b1c !important; }
.hsr-form-section .hsr-input { color: #1a2b1c !important; }

/* Print receipt — dark bg total box already handled; white sections */
#hsr-print-receipt .pr-header,
#hsr-print-receipt .pr-cell { color: #1a2b1c !important; }
#hsr-print-receipt .pr-total-box,
#hsr-print-receipt .pr-total-box * { color: #e8c97a !important; }
#hsr-print-receipt .pr-total-box .pr-total-amt { color: #c9a84c !important; font-size: 24pt !important; }

/* Responsive: price col stack — text must stay light */
@media (max-width: 960px) {
  .hsr-rc-price-col .hsr-rc-price-per { color: #e8c97a !important; font-size: 24px !important; }
}


/* ══════════════════════════════════════════════════════════
   v9.4.4 — Fix 5: Find Booking card — ultra attractive
   Fix 4: Search bar gradient enhancement
   Fix 1/2: Price col v9.4.4 overrides
   ══════════════════════════════════════════════════════════ */

/* Fix 4: Search bar — richer gradient + glow on focus, reduced 3D */
.hsr-hero-bar {
  background: rgba(8,16,12,.75) !important;
  border: 1px solid rgba(201,168,76,.45) !important;
  box-shadow:
    0 20px 60px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.04),
    inset 0 -1px 0 rgba(201,168,76,.08) !important;
}
.hsr-hero-bar:hover {
  border-color: rgba(201,168,76,.65) !important;
  box-shadow:
    0 24px 72px rgba(0,0,0,.5),
    0 0 0 1px rgba(201,168,76,.2),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.hsr-hero-bar:focus-within {
  border-color: rgba(201,168,76,.8) !important;
  box-shadow:
    0 28px 80px rgba(0,0,0,.55),
    0 0 0 3px rgba(201,168,76,.15),
    0 0 40px rgba(255,107,43,.08) !important;
}

/* Fix 5: Find Booking card — ultra enhanced */

/* Card: deeper shadow, animated border shimmer */
.hsr-cb-card {
  border-radius: 14px !important;
  box-shadow:
    0 16px 60px rgba(26,43,28,.2),
    0 4px 16px rgba(0,0,0,.15),
    0 0 0 1px rgba(201,168,76,.18) !important;
  border: none !important;
  transition: box-shadow .4s ease, transform .4s ease !important;
}
.hsr-cb-card:hover {
  box-shadow:
    0 24px 80px rgba(26,43,28,.28),
    0 8px 24px rgba(0,0,0,.2),
    0 0 0 1.5px rgba(201,168,76,.3) !important;
  transform: translateY(-3px) !important;
}

/* Brand panel: richer multi-stop gradient with more orb intensity */
.hsr-cb-brand {
  background:
    linear-gradient(160deg,
      #060f08 0%,
      #0d1f12 30%,
      #1a2b1c 55%,
      #2c0f04 80%,
      #190600 100%
    ) !important;
  padding: 34px 26px !important;
}
.hsr-cb-brand::before {
  width: 240px !important; height: 240px !important;
  background: radial-gradient(circle, rgba(255,107,43,.28), rgba(255,152,0,.1) 50%, transparent 70%) !important;
  top: -70px !important; right: -70px !important;
  animation: priceOrbPulse 6s ease-in-out infinite !important;
}
.hsr-cb-brand::after {
  width: 180px !important; height: 180px !important;
  background: radial-gradient(circle, rgba(41,182,246,.2), transparent 70%) !important;
  bottom: -50px !important; left: -50px !important;
  animation: priceOrbPulse 9s ease-in-out infinite reverse !important;
}

/* Brand icon: glowing emoji ring */
.hsr-cb-brand-icon {
  font-size: 36px !important;
  line-height: 1 !important;
  filter: drop-shadow(0 0 12px rgba(255,107,43,.4));
}

/* Brand title: elegant serif with gradient */
.hsr-cb-brand-title {
  font-size: 24px !important;
  background: linear-gradient(115deg, #fff 0%, #e8c97a 60%, #fff 100%);
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* Brand subtitle: more visible */
.hsr-cb-brand-sub {
  color: rgba(255,255,255,.65) !important;
  font-size: 12.5px !important;
  line-height: 1.5 !important;
}

/* Bullets: gold checkmarks */
.hsr-cb-bullets div {
  color: rgba(255,255,255,.55) !important;
  font-size: 11.5px !important;
}
.hsr-cb-bullets div::before { content: '✦ '; color: rgba(201,168,76,.6); }

/* WhatsApp btn: green gradient */
.hsr-cb-wa-btn {
  background: linear-gradient(115deg, rgba(37,211,102,.15), rgba(37,211,102,.08)) !important;
  border-color: rgba(37,211,102,.3) !important;
  color: #7AE28C !important;
}
.hsr-cb-wa-btn:hover {
  background: linear-gradient(115deg, rgba(37,211,102,.3), rgba(37,211,102,.15)) !important;
  color: #a8f0b8 !important;
}

/* Form side: subtle warmth */
.hsr-cb-form-side {
  background: linear-gradient(160deg, #fffef9 0%, #fdf8f0 100%) !important;
  padding: 32px 30px !important;
}

/* Label: gold tinted */
.hsr-cb-lbl {
  background: linear-gradient(90deg, #2c3a2e, #7a6020);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-size: 9.5px !important;
  letter-spacing: .3em !important;
}

/* Input: elevated with warm border */
.hsr-cb-inp {
  background: #fff !important;
  border: 1.5px solid rgba(201,168,76,.2) !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  transition: all .25s !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.04) !important;
}
.hsr-cb-inp:focus {
  border-color: #c9a84c !important;
  box-shadow: 0 0 0 3px rgba(201,168,76,.15), 0 2px 8px rgba(0,0,0,.06) !important;
  transform: translateY(-1px) !important;
}

/* Find button: full sunrise animated */
.hsr-cb-find-btn {
  background: linear-gradient(115deg,
    #1a2b1c 0%, #c9a84c 40%, #FF6B2B 70%, #29B6F6 100%
  ) !important;
  background-size: 250% 100% !important;
  background-position: 0% 0% !important;
  padding: 14px 24px !important;
  border-radius: 9px !important;
  box-shadow: 0 4px 20px rgba(201,168,76,.3), inset 0 1px 0 rgba(255,255,255,.1) !important;
  transition: all .45s cubic-bezier(.23,1,.32,1) !important;
}
.hsr-cb-find-btn:hover {
  background-position: 100% 0% !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 36px rgba(255,107,43,.3), 0 4px 12px rgba(41,182,246,.2) !important;
  color: #fff !important;
}

/* Hint text row below inputs */
.hsr-cb-hint2 {
  font-size: 10.5px !important;
  color: rgba(201,168,76,.6) !important;
}

/* v9.4.4 override: price col v9.4.1 bg fix (same deep gradient) */
.hsr-rc-price-col {
  background: linear-gradient(160deg,
    #060d1a 0%, #0d1230 25%, #1a0830 50%, #2a0a08 75%, #160302 100%
  ) !important;
}


/* ══════════════════════════════════════════════════════════
   v9.4.5 — Fix 1: Search form ultra-advanced hover effects
   Sky-blue · Red · White · Orange sunrise gradient system
   ══════════════════════════════════════════════════════════ */

/* === HERO STEP: richer sunrise background === */
#hsr-step-1.hsr-hero-step {
  background:
    radial-gradient(ellipse at 80% 0%, rgba(255,107,43,.18) 0%, transparent 55%),
    radial-gradient(ellipse at 15% 100%, rgba(41,182,246,.15) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 50%, rgba(229,57,53,.06) 0%, transparent 60%),
    linear-gradient(160deg,
      #020608 0%,
      #071420 18%,
      #091e14 36%,
      #1a2b1c 54%,
      #2a0e05 75%,
      #160300 100%
    ) !important;
}

/* === BAR: glassmorphism with sunrise border animation === */
.hsr-hero-bar {
  background: rgba(6,12,8,.78) !important;
  border: 1.5px solid rgba(201,168,76,.35) !important;
  border-radius: 16px !important;
  box-shadow:
    0 24px 80px rgba(0,0,0,.5),
    0 8px 24px rgba(0,0,0,.3),
    inset 0 1px 0 rgba(255,255,255,.05),
    inset 0 -1px 0 rgba(201,168,76,.07) !important;
  transition: border-color .4s, box-shadow .4s !important;
  position: relative !important;
}
/* Animated sunrise border on hover */
.hsr-hero-bar::before {
  content: '';
  position: absolute;
  inset: -1.5px;
  border-radius: 17px;
  background: linear-gradient(115deg,
    rgba(255,107,43,0)   0%,
    rgba(255,107,43,.5) 20%,
    rgba(255,255,255,.3) 40%,
    rgba(41,182,246,.5)  60%,
    rgba(229,57,53,.4)   80%,
    rgba(255,107,43,0)  100%
  );
  background-size: 300% 100%;
  opacity: 0;
  transition: opacity .4s;
  z-index: -1;
  animation: barBorderSlide 4s linear infinite paused;
}
.hsr-hero-bar:hover::before {
  opacity: 1;
  animation-play-state: running;
}
@keyframes barBorderSlide {
  0%   { background-position: 0% 50%; }
  100% { background-position: 300% 50%; }
}
.hsr-hero-bar:focus-within {
  border-color: rgba(41,182,246,.6) !important;
  box-shadow:
    0 28px 90px rgba(0,0,0,.55),
    0 0 0 3px rgba(41,182,246,.12),
    0 0 60px rgba(255,107,43,.06) !important;
}

/* === SLOT: individual hover effects with color coding === */
.hsr-hero-slot {
  position: relative;
  transition: background .3s ease !important;
}
/* Slot hover: sky-blue tint */
.hsr-hero-slot:hover {
  background: rgba(41,182,246,.07) !important;
}
/* Slot focus-within: orange tint */
.hsr-hero-slot:focus-within {
  background: rgba(255,107,43,.06) !important;
}
/* Bottom accent line slides in on hover */
.hsr-hero-slot::after {
  content: '';
  position: absolute;
  bottom: 0; left: 18px; right: 18px;
  height: 2px;
  background: linear-gradient(90deg,
    transparent, rgba(41,182,246,.6), rgba(255,107,43,.6), transparent
  );
  transform: scaleX(0);
  transition: transform .35s cubic-bezier(.23,1,.32,1);
  border-radius: 2px;
}
.hsr-hero-slot:hover::after { transform: scaleX(1); }
.hsr-hero-slot:focus-within::after {
  transform: scaleX(1);
  background: linear-gradient(90deg,
    transparent, rgba(255,107,43,.8), rgba(255,152,0,.6), transparent
  );
}

/* Slot label: gradient text on hover */
.hsr-hero-slot-label {
  transition: color .3s !important;
}
.hsr-hero-slot:hover .hsr-hero-slot-label {
  color: rgba(41,182,246,.9) !important;
}
.hsr-hero-slot:focus-within .hsr-hero-slot-label {
  color: rgba(255,107,43,.9) !important;
}

/* Slot icon: colored glow on hover */
.hsr-hero-slot-icon {
  transition: filter .3s, opacity .3s !important;
}
.hsr-hero-slot:hover .hsr-hero-slot-icon {
  opacity: 1 !important;
  filter: drop-shadow(0 0 6px rgba(41,182,246,.5));
}
.hsr-hero-slot:focus-within .hsr-hero-slot-icon {
  filter: drop-shadow(0 0 6px rgba(255,107,43,.5));
}

/* Slot input text: white with warm shadow */
.hsr-hero-slot-input {
  transition: color .3s !important;
}
.hsr-hero-slot:hover .hsr-hero-slot-input {
  color: #ffffff !important;
  text-shadow: 0 0 20px rgba(41,182,246,.2) !important;
}

/* === SEARCH BUTTON: ultra-premium sunrise → sky-blue animated === */
.hsr-hero-search-btn {
  background: linear-gradient(115deg,
    #e53935 0%,
    #FF6B2B 20%,
    #FFA726 45%,
    #ffffff 60%,
    #29B6F6 80%,
    #0277BD 100%
  ) !important;
  background-size: 300% 100% !important;
  background-position: 0% 50% !important;
  color: #1a0d05 !important;
  border-radius: 0 14px 14px 0 !important;
  padding: 0 32px !important;
  box-shadow:
    0 4px 28px rgba(255,107,43,.4),
    0 2px 8px rgba(0,0,0,.3),
    inset 0 1px 0 rgba(255,255,255,.25) !important;
  animation: btnSunriseSlide 5s ease infinite !important;
  transition: transform .3s ease, box-shadow .3s ease, color .3s !important;
}
@keyframes btnSunriseSlide {
  0%   { background-position: 0%   50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0%   50%; }
}
/* Override the ::after layer from old CSS */
.hsr-hero-search-btn::after {
  display: none !important;
}
.hsr-hero-search-btn:hover {
  background-position: 100% 50% !important;
  color: #fff !important;
  transform: translateY(-3px) !important;
  box-shadow:
    0 12px 40px rgba(41,182,246,.45),
    0 4px 16px rgba(255,107,43,.3),
    0 0 0 1.5px rgba(41,182,246,.35) !important;
}
.hsr-hero-search-btn:active {
  transform: scale(.97) translateY(0) !important;
}
/* Icon and text always above bg */
.hsr-hero-search-btn svg,
.hsr-hero-search-btn span { position: relative; z-index: 1; }

/* === NIGHTS BADGE: sky-blue gradient === */
#hsr-hero-nights-bar,
#hsr-nights-badge {
  background: linear-gradient(90deg,
    rgba(41,182,246,.15), rgba(255,107,43,.12)
  ) !important;
  border: 1px solid rgba(41,182,246,.3) !important;
  color: #29B6F6 !important;
  font-weight: 700 !important;
}

/* === TRUST ROW: colored icons per item === */
.hsr-hero-trust-row span { transition: color .3s; }
.hsr-hero-trust-row span:hover { color: rgba(255,255,255,.9) !important; }
.hsr-hero-trust-row span:nth-child(1) { color: rgba(41,182,246,.75) !important; }
.hsr-hero-trust-row span:nth-child(2) { color: rgba(255,107,43,.75) !important; }
.hsr-hero-trust-row span:nth-child(3) { color: rgba(255,255,255,.6) !important; }
.hsr-hero-trust-row span:nth-child(4) { color: rgba(201,168,76,.75) !important; }

/* === HERO HEADING: sunrise gradient text === */
.hsr-hero-eyebrow {
  background: linear-gradient(90deg, #c9a84c, #FF6B2B, #29B6F6);
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  background-size: 200% 100%;
  animation: eyebrowShimmer 4s ease infinite !important;
}
@keyframes eyebrowShimmer {
  0%,100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}

/* === MOBILE: clean up hover effects at small sizes === */
@media (max-width: 820px) {
  .hsr-hero-bar::before { display: none; }
  .hsr-hero-slot::after { left: 12px; right: 12px; }
  .hsr-hero-search-btn {
    border-radius: 10px !important;
    padding: 16px 24px !important;
    animation-play-state: paused !important;
  }
}


/* ══════════════════════════════════════════════════════════
   v9.4.5 — Fix 3: Overall plugin improvements
   Step 2 room results header + cards consistent
   Step 3 guest form polish
   ══════════════════════════════════════════════════════════ */

/* Room results section header */
.hsr-results-meta {
  background: linear-gradient(90deg,
    rgba(41,182,246,.05), rgba(255,107,43,.04), transparent
  );
  border-left: 3px solid rgba(41,182,246,.35);
  padding: 10px 16px !important;
  border-radius: 0 6px 6px 0;
  margin-bottom: 16px !important;
}
.hsr-results-count { color: #0288d1 !important; }

/* Step 3 guest form card: warm border */
#hsr-step-3 .hsr-form-section {
  border-top: 3px solid var(--g) !important;
  border-radius: 0 0 8px 8px !important;
}

/* Section titles: gold gradient */
.hsr-form-section > h4,
.hsr-form-section > .hsr-section-title {
  background: linear-gradient(90deg, #1a2b1c 0%, #7a6020 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 700 !important;
}

/* Step progress dots: active = sunrise gradient */
.hsr-step-dot.active {
  background: linear-gradient(115deg, #FF6B2B, #29B6F6) !important;
}
.hsr-step-dot.done {
  background: linear-gradient(115deg, #c9a84c, #e8c97a) !important;
}

/* Success receipt: header gradient */
#hsr-print-receipt .pr-header {
  background: linear-gradient(115deg, #1a2b1c 0%, #0d1f2d 50%, #2a0d0a 100%) !important;
}

/* Booking steps nav line: gradient */
.hsr-step-line-fill {
  background: linear-gradient(90deg, #c9a84c, #FF6B2B, #29B6F6) !important;
}

/* Input focus: sunrise ring */
.hsr-input:focus,
.hsr-form-section input:focus,
.hsr-form-section select:focus,
.hsr-form-section textarea:focus {
  border-color: rgba(255,107,43,.5) !important;
  box-shadow: 0 0 0 3px rgba(255,107,43,.1), 0 0 0 1px rgba(41,182,246,.1) !important;
}

/* Submit btn in guest form: sunrise gradient */
#hsr-submit-btn {
  background: linear-gradient(115deg,
    #1a2b1c 0%, #c9a84c 35%, #FF6B2B 65%, #29B6F6 100%
  ) !important;
  background-size: 250% 100% !important;
  background-position: 0% 0% !important;
  transition: background-position .5s ease, transform .3s, box-shadow .3s !important;
}
#hsr-submit-btn:hover {
  background-position: 100% 0% !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(255,107,43,.3) !important;
}


/* ══════════════════════════════════════════════════════════
   v9.4.6 — SUNRISE GRADIENT COLOR SYSTEM
   Sky-Blue · Red · White · Orange applied across ALL booking
   elements with special effects. Search form included.
   ══════════════════════════════════════════════════════════ */

/* ── KEYFRAMES (new) ── */
@keyframes textSunrise {
  0%,100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}
@keyframes borderSunrise {
  0%   { border-color: rgba(255,107,43,.6); }
  33%  { border-color: rgba(41,182,246,.6); }
  66%  { border-color: rgba(239,83,80,.5); }
  100% { border-color: rgba(255,107,43,.6); }
}
@keyframes glowSunrise {
  0%,100% { box-shadow: 0 0 20px rgba(255,107,43,.25), 0 0 40px rgba(41,182,246,.1); }
  50%      { box-shadow: 0 0 30px rgba(41,182,246,.3),  0 0 60px rgba(255,107,43,.15); }
}

/* ══ PROGRESS BAR ══ */
/* Step active: sunrise gradient number */
.hsr-progress-step.active .hsr-progress-num {
  background: linear-gradient(135deg, #FF6B2B 0%, #FFA726 45%, #EF5350 100%) !important;
  box-shadow: 0 0 20px rgba(255,107,43,.5), 0 0 40px rgba(239,83,80,.2) !important;
}
/* Step done: sky-blue */
.hsr-progress-step.done .hsr-progress-num {
  background: linear-gradient(135deg, #29B6F6 0%, #0277BD 100%) !important;
  color: #fff !important;
}
/* Active step label: sunrise gradient text */
.hsr-progress-step.active {
  color: transparent !important;
  background: linear-gradient(90deg, #FF6B2B, #FFA726, #EF5350);
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
/* Progress bar fill: sunrise */
.hsr-progress-wrap::after {
  background: linear-gradient(90deg,
    #EF5350, #FF6B2B, #FFA726, #ffffff, #29B6F6, #0277BD
  ) !important;
  background-size: 300% 100% !important;
  animation: textSunrise 3s ease infinite !important;
}

/* ══ STEP HEADER ══ */
/* Step number badge: sunrise gradient */
.hsr-step-num {
  background: linear-gradient(135deg,
    #FF6B2B 0%, #FFA726 40%, #EF5350 70%, #c9a84c 100%
  ) !important;
  color: #fff !important;
  box-shadow: 0 6px 24px rgba(255,107,43,.35), 0 0 0 4px rgba(255,107,43,.1) !important;
  animation: glowSunrise 3s ease-in-out infinite !important;
}
/* Step heading: gradient on hover */
.hsr-step-header h3 {
  background: linear-gradient(90deg, #1a2b1c 40%, #FF6B2B 70%, #29B6F6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  background-size: 200% 100%;
  transition: background-position .5s ease;
}
.hsr-step-header:hover h3 {
  background-position: 100% 0%;
}

/* ══ FIELD LABELS ══ */
.hsr-field label {
  background: linear-gradient(90deg, #c9a84c 0%, #FF6B2B 50%, #29B6F6 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  background-size: 200% 100%;
  animation: textSunrise 5s ease infinite !important;
}

/* ══ INPUT FOCUS: sunrise ring ══ */
.hsr-input:focus {
  border-color: #FF6B2B !important;
  box-shadow:
    0 0 0 3px rgba(255,107,43,.12),
    0 0 0 1px rgba(41,182,246,.12),
    0 4px 16px rgba(255,107,43,.08) !important;
  background: #fffdf9 !important;
}
.hsr-input:hover:not(:focus) {
  border-color: rgba(41,182,246,.4) !important;
}

/* ══ ROOM CARD: body section ══ */
/* Room type badge: sunrise */
.hsr-result-type {
  background: linear-gradient(90deg, #FF6B2B, #FFA726, #29B6F6) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  background-size: 200% 100%;
  animation: textSunrise 4s ease infinite !important;
}
/* Room name hover: sunrise gradient */
.hsr-result-card:hover .hsr-result-name {
  background: linear-gradient(90deg, #FF6B2B 0%, #FFA726 40%, #29B6F6 100%);
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
/* Amenity chips: sunrise hover border */
.hsr-amenity:hover {
  background: rgba(255,107,43,.07) !important;
  border-color: rgba(41,182,246,.35) !important;
  color: #FF6B2B !important;
  transform: translateY(-2px) !important;
}
/* Room card border glow: sunrise palette */
.hsr-result-card:hover {
  box-shadow:
    0 32px 80px rgba(16,28,18,.22),
    0 12px 32px rgba(16,28,18,.12),
    0 0 0 1.5px rgba(255,107,43,.45),
    0 0 60px rgba(255,107,43,.12),
    0 0 120px rgba(41,182,246,.08) !important;
}

/* ══ PRICE COLUMN (old card style) ══ */
.hsr-result-price-col {
  background: linear-gradient(160deg,
    #060d1a 0%, #0d1230 25%, #1a0830 50%, #2a0a08 75%, #160302 100%
  ) !important;
}
/* Price value: gold-orange */
.hsr-result-price {
  background: linear-gradient(90deg, #FFA726, #FF6B2B, #EF5350);
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  background-size: 200% 100%;
  animation: textSunrise 3s ease infinite !important;
  text-shadow: none !important;
}
.hsr-result-price .currency {
  -webkit-text-fill-color: rgba(255,167,38,.8) !important;
}

/* ══ NEW ROOM CARD (v2) ══ */
/* Room type label: sunrise */
.hsr-rc-type {
  background: linear-gradient(90deg, #FF6B2B, #FFA726, #29B6F6) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  background-size: 200% 100%;
  animation: textSunrise 4s ease infinite !important;
}
/* Room name: subtle sunrise on hover */
.hsr-result-card-v2:hover .hsr-rc-name {
  background: linear-gradient(90deg, #FF6B2B, #FFA726 50%, #29B6F6) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
/* Price per: golden orange */
.hsr-rc-price-per {
  background: linear-gradient(90deg, #FFA726 0%, #FF6B2B 50%, #EF5350 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  background-size: 200% 100% !important;
  animation: textSunrise 3s ease infinite !important;
  text-shadow: none !important;
}

/* ══ PAYMENT RADIO ══ */
/* Radio accent: orange → sky-blue */
.hsr-radio input[type="radio"] { accent-color: #FF6B2B !important; }
/* Radio hover: sunrise left bar */
.hsr-radio::before {
  background: linear-gradient(to bottom, #FF6B2B, #29B6F6) !important;
}
.hsr-radio:hover {
  border-color: rgba(255,107,43,.4) !important;
  background: rgba(255,107,43,.02) !important;
}
.hsr-radio--selected {
  border-color: rgba(255,107,43,.5) !important;
  background: rgba(255,107,43,.03) !important;
}
/* Radio title text: sunrise on selected */
.hsr-radio--selected > span {
  background: linear-gradient(90deg, #FF6B2B, #FFA726, #29B6F6) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* ══ SUMMARY BARS ══ */
.hsr-summary-bar strong,
.hsr-sidebar .hsr-sum-total,
#hsr-sum-room strong {
  background: linear-gradient(90deg, #FFA726, #FF6B2B, #29B6F6) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  background-size: 200% 100%;
  animation: textSunrise 4s ease infinite !important;
}
/* Summary final total: big sunrise */
.hsr-summary-final .hsr-final-total {
  background: linear-gradient(115deg,
    #EF5350 0%, #FF6B2B 25%, #FFA726 50%, #fff 65%, #29B6F6 85%, #0277BD 100%
  ) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  background-size: 250% 100%;
  animation: textSunrise 5s ease infinite !important;
  text-shadow: none !important;
}
/* Summary final border: animated */
.hsr-summary-final {
  border-left-color: #FF6B2B !important;
  animation: borderSunrise 4s ease-in-out infinite !important;
}

/* ══ SUCCESS PAGE ══ */
/* Success heading: sunrise gradient */
.hsr-success h2 {
  background: linear-gradient(115deg, #FF6B2B 0%, #FFA726 35%, #fff 55%, #29B6F6 80%, #EF5350 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  background-size: 250% 100%;
  animation: textSunrise 5s ease infinite !important;
}
/* Success icon: sunrise */
.hsr-success-icon {
  background: linear-gradient(135deg, #FF6B2B 0%, #FFA726 40%, #EF5350 70%, #29B6F6 100%) !important;
  box-shadow:
    0 0 0 16px rgba(255,107,43,.06),
    0 0 0 32px rgba(41,182,246,.04),
    0 8px 32px rgba(255,107,43,.3) !important;
  animation: glowSunrise 3s ease-in-out infinite, float 3s ease-in-out infinite !important;
}
/* Success reference number */
.hsr-success-ref {
  background: linear-gradient(115deg, #1a2b1c 0%, #FF6B2B 40%, #29B6F6 100%) !important;
  border-color: rgba(255,107,43,.3) !important;
}
/* Top stripe: full sunrise */
.hsr-success::before {
  background: linear-gradient(90deg,
    #EF5350, #FF6B2B, #FFA726, #fff, #29B6F6, #0277BD, #EF5350
  ) !important;
  background-size: 300% 100% !important;
  animation: textSunrise 3s linear infinite !important;
  height: 5px !important;
}

/* ══ SECTION TITLES (admin form panels) ══ */
.hsr-form-section h4,
.hsr-form-section .hsr-section-title,
.hsr-form-section > strong:first-child {
  background: linear-gradient(90deg, #FF6B2B 0%, #FFA726 40%, #29B6F6 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* ══ BACK BUTTON: sunrise outline hover ══ */
.hsr-back-btn:hover {
  border-color: #FF6B2B !important;
  color: #FF6B2B !important;
  background: rgba(255,107,43,.04) !important;
  box-shadow: 0 0 0 2px rgba(255,107,43,.12) !important;
}

/* ══ SEARCH FORM — search form slot accents v9.4.6 ══ */
/* Slot active border: cycle through sunrise */
.hsr-hero-slot:nth-child(1):focus-within .hsr-hero-slot-label { color: #FF6B2B !important; }
.hsr-hero-slot:nth-child(2):focus-within .hsr-hero-slot-label { color: #FFA726 !important; }
.hsr-hero-slot:nth-child(3):focus-within .hsr-hero-slot-label { color: #29B6F6 !important; }
.hsr-hero-slot:nth-child(4):focus-within .hsr-hero-slot-label { color: #EF5350 !important; }
/* Slot underline per slot: different sunrise color */
.hsr-hero-slot:nth-child(1)::after { background: linear-gradient(90deg, transparent, #FF6B2B, transparent) !important; }
.hsr-hero-slot:nth-child(2)::after { background: linear-gradient(90deg, transparent, #FFA726, transparent) !important; }
.hsr-hero-slot:nth-child(3)::after { background: linear-gradient(90deg, transparent, #29B6F6, transparent) !important; }
.hsr-hero-slot:nth-child(4)::after { background: linear-gradient(90deg, transparent, #EF5350, transparent) !important; }
/* Eyebrow: gold → orange → sky already set — add red */
.hsr-hero-eyebrow {
  background: linear-gradient(90deg,
    #c9a84c, #FF6B2B, #EF5350, #FFA726, #fff, #29B6F6, #c9a84c
  ) !important;
  background-size: 300% 100% !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  animation: textSunrise 5s ease infinite !important;
}
/* Hero H2: white with subtle orange-sky shadow */
.hsr-hero-h2 {
  color: #ffffff !important;
  text-shadow:
    0 2px 40px rgba(0,0,0,.8),
    0 0 60px rgba(255,107,43,.12),
    0 0 120px rgba(41,182,246,.08) !important;
}

/* ══ PRINT RECEIPT ══ */
#hsr-print-receipt .pr-status {
  background: linear-gradient(90deg, rgba(255,107,43,.08), rgba(41,182,246,.06)) !important;
  border-color: rgba(255,107,43,.25) !important;
  color: #FF6B2B !important;
}

/* ══ RESPONSIVE: disable gradient text on mobile (perf) ══ */
@media (max-width: 480px) {
  .hsr-result-type,
  .hsr-rc-type,
  .hsr-field label {
    -webkit-text-fill-color: #FF6B2B !important;
    animation: none !important;
  }
  .hsr-summary-final .hsr-final-total {
    -webkit-text-fill-color: #FF6B2B !important;
    animation: none !important;
  }
}


/* ══════════════════════════════════════════════════════════
   v9.4.8 — BOOKING FRONTEND: Full visibility audit fixes
   Gradient text inheritance, icon visibility, contrast fixes
   ══════════════════════════════════════════════════════════ */

/* ── Field labels: gradient must not affect child hints/spans ── */
.hsr-field label *,
.hsr-field label small,
.hsr-field label span {
  -webkit-text-fill-color: #aaa !important;
  background: none !important;
  animation: none !important;
  color: #aaa !important;
  font-size: 11px !important;
}
.hsr-req {
  -webkit-text-fill-color: #EF5350 !important;
  color: #EF5350 !important;
  background: none !important;
  animation: none !important;
}

/* ── Step header: h3 child elements must not inherit gradient ── */
.hsr-step-header h3 *,
.hsr-step-header h3 span,
.hsr-step-header h3 small {
  -webkit-text-fill-color: #888 !important;
  background: none !important;
  animation: none !important;
  color: #888 !important;
}

/* ── Radio payment: title text is visible on white bg ── */
.hsr-radio--selected > span {
  -webkit-text-fill-color: #FF6B2B !important;
}
/* Radio icon/emoji: never transparent */
.hsr-radio .hsr-radio-icon,
.hsr-radio > div > span:first-child {
  -webkit-text-fill-color: initial !important;
  background: none !important;
  animation: none !important;
}

/* ── Room type badge: ensure emoji before text is visible ── */
.hsr-result-type,
.hsr-rc-type {
  /* Gradient only on text, not on emoji prefix */
  display: inline !important;
}

/* ── Price column: all children visible ── */
.hsr-rc-price-col * {
  -webkit-text-fill-color: rgba(255,255,255,.85) !important;
}
.hsr-rc-price-col .hsr-rc-price-per {
  -webkit-text-fill-color: transparent !important; /* gradient text intentional */
}
.hsr-rc-price-col .hsr-rc-avail--ok  { -webkit-text-fill-color: #a5d6a7 !important; }
.hsr-rc-price-col .hsr-rc-avail--low { -webkit-text-fill-color: #ef9a9a !important; }
.hsr-rc-price-col .hsr-rc-trust      { -webkit-text-fill-color: rgba(255,255,255,.42) !important; }
.hsr-rc-price-col .hsr-rc-price-unit { -webkit-text-fill-color: rgba(255,255,255,.55) !important; }
.hsr-rc-price-col .hsr-rc-price-total strong {
  -webkit-text-fill-color: #fff !important;
}

/* ── Select button: text always readable ── */
.hsr-rc-select-btn {
  -webkit-text-fill-color: #1a0d05 !important;
  color: #1a0d05 !important;
}
.hsr-rc-select-btn:hover {
  -webkit-text-fill-color: #fff !important;
  color: #fff !important;
}
.hsr-rc-select-btn.hsr-room-selected-btn {
  -webkit-text-fill-color: #1a2b1c !important;
  color: #1a2b1c !important;
}

/* ── Summary sidebar: text on dark background ── */
.hsr-sidebar * { -webkit-text-fill-color: rgba(255,255,255,.85); }
.hsr-sidebar .hsr-sum-label { -webkit-text-fill-color: rgba(255,255,255,.5) !important; }
.hsr-sidebar .hsr-sum-val   { -webkit-text-fill-color: #fff !important; }
.hsr-sidebar .hsr-sum-total { -webkit-text-fill-color: #FFA726 !important; }
/* Summary strong/total: gradient text intentional */
.hsr-summary-final .hsr-final-total {
  -webkit-text-fill-color: transparent !important;
}

/* ── Success page: emoji icon never clipped ── */
.hsr-success-icon {
  -webkit-text-fill-color: initial !important;
}
/* Success reference: readable gold */
.hsr-success-ref {
  -webkit-text-fill-color: #c9a84c !important;
  color: #c9a84c !important;
}

/* ── Print receipt amounts: full visibility ── */
#hsr-print-receipt .pr-total-box .pr-total-amt {
  -webkit-text-fill-color: #c9a84c !important;
  color: #c9a84c !important;
}
#hsr-print-receipt .pr-total-box .pr-total-label {
  -webkit-text-fill-color: rgba(201,168,76,.75) !important;
}
#hsr-print-receipt .pr-cell {
  -webkit-text-fill-color: #1a2b1c !important;
  color: #1a2b1c !important;
}

/* ── Hero search: slot inputs never transparent ── */
.hsr-hero-slot-input {
  -webkit-text-fill-color: #ffffff !important;
  color: #ffffff !important;
}
.hsr-hero-slot-input::placeholder {
  -webkit-text-fill-color: rgba(255,255,255,.35) !important;
}
/* Slot label: intentional sky-blue, but never transparent */
.hsr-hero-slot-label {
  -webkit-text-fill-color: rgba(255,255,255,.6) !important;
}
.hsr-hero-slot:hover .hsr-hero-slot-label {
  -webkit-text-fill-color: #29B6F6 !important;
}
.hsr-hero-slot:focus-within .hsr-hero-slot-label {
  -webkit-text-fill-color: #FFA726 !important;
}

/* ── Find booking card: form inputs always dark ── */
.hsr-cb-inp {
  -webkit-text-fill-color: #1a2b1c !important;
  color: #1a2b1c !important;
}

/* ── Back button and secondary buttons: always visible ── */
.hsr-back-btn {
  -webkit-text-fill-color: #555 !important;
  color: #555 !important;
}
.hsr-back-btn:hover {
  -webkit-text-fill-color: #FF6B2B !important;
}

/* ── Step eyebrow: gradient is intentional ── */
.hsr-hero-eyebrow {
  -webkit-text-fill-color: transparent !important;
}

/* ── Guest form submit button: white text ── */
#hsr-submit-btn,
.hsr-btn--primary {
  -webkit-text-fill-color: #fff !important;
  color: #fff !important;
}

/* ── Nights badge: sky-blue text ── */
#hsr-nights-badge,
#hsr-hero-nights-bar {
  -webkit-text-fill-color: #29B6F6 !important;
  color: #29B6F6 !important;
}

/* ── Room description text: always #555 on white bg ── */
.hsr-rc-desc {
  -webkit-text-fill-color: #666 !important;
  color: #666 !important;
}
.hsr-result-card-v2:hover .hsr-rc-desc {
  -webkit-text-fill-color: #444 !important;
}

/* ── Amenity chips: dark text on light chips ── */
.hsr-rc-amenities span {
  -webkit-text-fill-color: #555 !important;
  color: #555 !important;
}
.hsr-result-card-v2:hover .hsr-rc-amenities span {
  -webkit-text-fill-color: #2c3a2e !important;
}

/* ── Facts chips: dark text on light ── */
.hsr-rc-facts span {
  -webkit-text-fill-color: #444 !important;
  color: #444 !important;
}

/* ── Find Booking brand panel: all text light ── */
.hsr-cb-brand,
.hsr-cb-brand * {
  -webkit-text-fill-color: rgba(255,255,255,.85);
}
.hsr-cb-brand-title {
  -webkit-text-fill-color: transparent !important; /* gradient intentional */
}
.hsr-cb-brand-sub {
  -webkit-text-fill-color: rgba(255,255,255,.6) !important;
}
.hsr-cb-wa-btn {
  -webkit-text-fill-color: #7AE28C !important;
}
.hsr-cb-bullets div {
  -webkit-text-fill-color: rgba(255,255,255,.5) !important;
}

/* ── Find Booking form side: dark text ── */
.hsr-cb-form-side,
.hsr-cb-form-side * {
  -webkit-text-fill-color: #1a2b1c;
}
.hsr-cb-lbl {
  -webkit-text-fill-color: transparent !important; /* gradient intentional */
}
.hsr-cb-find-btn,
.hsr-cb-find-btn * {
  -webkit-text-fill-color: #fff !important;
}

/* ── Mobile: disable gradient on weakest elements ── */
@media (max-width: 480px) {
  .hsr-field label {
    -webkit-text-fill-color: #FF6B2B !important;
    animation: none !important;
  }
  .hsr-step-header h3 {
    -webkit-text-fill-color: #1a2b1c !important;
    animation: none !important;
  }
  .hsr-result-type,
  .hsr-rc-type {
    -webkit-text-fill-color: #FF6B2B !important;
    animation: none !important;
  }
}


/* ══════════════════════════════════════════════════════════
   v9.4.9 — Fix 6: Search form — admin-matching colors
   Deep cosmic bg · Sunrise accents · Advanced hover
   ══════════════════════════════════════════════════════════ */

/* ── Hero background: match admin deep cosmic palette ── */
#hsr-step-1.hsr-hero-step {
  background:
    radial-gradient(ellipse at 85% 0%,  rgba(255,107,43,.22) 0%, transparent 50%),
    radial-gradient(ellipse at 12% 95%, rgba(41,182,246,.18) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 50%, rgba(239,83,80,.06)  0%, transparent 55%),
    linear-gradient(160deg,
      #020508 0%,
      #060d1a 18%,
      #091220 35%,
      #0d1b0e 52%,
      #1a2b1c 65%,
      #2c0e05 80%,
      #160402 100%
    ) !important;
}

/* ── Glassmorphism bar: darker, more admin-like ── */
.hsr-hero-bar {
  background: rgba(4,8,6,.82) !important;
  border: 1px solid rgba(201,168,76,.4) !important;
  border-radius: 14px !important;
  box-shadow:
    0 32px 80px rgba(0,0,0,.6),
    0 8px 24px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.04),
    inset 0 0 60px rgba(201,168,76,.02) !important;
  transition: border-color .35s, box-shadow .35s !important;
}
.hsr-hero-bar:hover {
  border-color: rgba(255,107,43,.55) !important;
  box-shadow:
    0 36px 90px rgba(0,0,0,.65),
    0 12px 32px rgba(0,0,0,.4),
    inset 0 1px 0 rgba(255,255,255,.06),
    0 0 0 1px rgba(255,107,43,.15) !important;
}
.hsr-hero-bar:focus-within {
  border-color: rgba(41,182,246,.65) !important;
  box-shadow:
    0 32px 80px rgba(0,0,0,.6),
    0 0 0 3px rgba(41,182,246,.14),
    0 0 80px rgba(255,107,43,.06) !important;
}

/* ── Slot: admin-style dark hover ── */
.hsr-hero-slot {
  transition: background .3s ease !important;
}
.hsr-hero-slot:hover {
  background: rgba(255,107,43,.05) !important;
}
.hsr-hero-slot:focus-within {
  background: rgba(41,182,246,.05) !important;
}

/* ── Slot underline per position: admin color-coded ── */
.hsr-hero-slot::after {
  content: '';
  position: absolute;
  bottom: 0; left: 14px; right: 14px;
  height: 2px;
  transform: scaleX(0);
  transition: transform .35s cubic-bezier(.23,1,.32,1);
  border-radius: 2px;
}
.hsr-hero-slot:nth-child(1)::after { background: linear-gradient(90deg, transparent, #FF6B2B, transparent); }
.hsr-hero-slot:nth-child(2)::after { background: linear-gradient(90deg, transparent, #FFA726, transparent); }
.hsr-hero-slot:nth-child(3)::after { background: linear-gradient(90deg, transparent, #29B6F6, transparent); }
.hsr-hero-slot:nth-child(4)::after { background: linear-gradient(90deg, transparent, #EF5350, transparent); }
.hsr-hero-slot:hover::after { transform: scaleX(1); }

/* ── Slot label: per-slot color on focus ── */
.hsr-hero-slot:nth-child(1):focus-within .hsr-hero-slot-label { color: #FF6B2B !important; -webkit-text-fill-color: #FF6B2B !important; }
.hsr-hero-slot:nth-child(2):focus-within .hsr-hero-slot-label { color: #FFA726 !important; -webkit-text-fill-color: #FFA726 !important; }
.hsr-hero-slot:nth-child(3):focus-within .hsr-hero-slot-label { color: #29B6F6 !important; -webkit-text-fill-color: #29B6F6 !important; }
.hsr-hero-slot:nth-child(4):focus-within .hsr-hero-slot-label { color: #EF5350 !important; -webkit-text-fill-color: #EF5350 !important; }

/* ── Slot icon: sunrise glow per position ── */
.hsr-hero-slot:nth-child(1):hover .hsr-hero-slot-icon { filter: drop-shadow(0 0 6px rgba(255,107,43,.6)); }
.hsr-hero-slot:nth-child(2):hover .hsr-hero-slot-icon { filter: drop-shadow(0 0 6px rgba(255,167,38,.6)); }
.hsr-hero-slot:nth-child(3):hover .hsr-hero-slot-icon { filter: drop-shadow(0 0 6px rgba(41,182,246,.6)); }
.hsr-hero-slot:nth-child(4):hover .hsr-hero-slot-icon { filter: drop-shadow(0 0 6px rgba(239,83,80,.6)); }

/* ── Search button: full sunrise animated — admin style ── */
.hsr-hero-search-btn {
  background: linear-gradient(115deg,
    #EF5350 0%, #FF6B2B 20%, #FFA726 40%, #fff 58%, #29B6F6 78%, #0277BD 100%
  ) !important;
  background-size: 300% 100% !important;
  background-position: 0% 50% !important;
  color: #1a0d05 !important;
  font-weight: 800 !important;
  border-radius: 0 13px 13px 0 !important;
  box-shadow:
    0 4px 24px rgba(255,107,43,.35),
    0 2px 8px rgba(0,0,0,.3),
    inset 0 1px 0 rgba(255,255,255,.2) !important;
  animation: btnSunriseSlide 5s ease infinite !important;
  transition: transform .3s ease, box-shadow .3s ease, color .3s !important;
}
.hsr-hero-search-btn:hover {
  background-position: 100% 50% !important;
  color: #fff !important;
  transform: none !important;
  box-shadow:
    0 10px 36px rgba(41,182,246,.4),
    0 4px 14px rgba(255,107,43,.3) !important;
}
.hsr-hero-search-btn:active { transform: scale(.97) !important; }

/* ── Heading: visible with crisp shadow ── */
.hsr-hero-h2 {
  color: #ffffff !important;
  text-shadow:
    0 2px 32px rgba(0,0,0,.85),
    0 0 60px rgba(255,107,43,.1),
    0 0 100px rgba(41,182,246,.07) !important;
}
.hsr-hero-tagp {
  color: rgba(255,255,255,.82) !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.6) !important;
}

/* ── Eyebrow: full sunrise cycle ── */
.hsr-hero-eyebrow {
  background: linear-gradient(90deg,
    #c9a84c, #FF6B2B, #EF5350, #FFA726, #fff, #29B6F6, #c9a84c
  ) !important;
  background-size: 300% 100% !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  animation: textSunrise 5s ease infinite !important;
}

/* ── Trust row: admin-style colored labels ── */
.hsr-hero-trust-row { text-shadow: 0 1px 4px rgba(0,0,0,.5) !important; }
.hsr-hero-trust-row span:nth-child(1) { color: rgba(255,107,43,.85) !important; }
.hsr-hero-trust-row span:nth-child(2) { color: rgba(41,182,246,.85) !important; }
.hsr-hero-trust-row span:nth-child(3) { color: rgba(255,255,255,.65) !important; }
.hsr-hero-trust-row span:nth-child(4) { color: rgba(239,83,80,.75) !important; }

/* ── Nights badge: admin accent style ── */
#hsr-nights-badge,
#hsr-hero-nights-bar {
  background: linear-gradient(90deg,
    rgba(255,107,43,.15), rgba(41,182,246,.12)
  ) !important;
  border: 1px solid rgba(255,107,43,.35) !important;
  color: #FFA726 !important;
  -webkit-text-fill-color: #FFA726 !important;
}

/* ── Mobile: simplified for performance ── */
@media (max-width: 680px) {
  #hsr-step-1.hsr-hero-step {
    padding: 36px 14px 32px !important;
    min-height: 300px !important;
  }
  .hsr-hero-h2    { font-size: 30px !important; }
  .hsr-hero-tagp  { font-size: 12px !important; }
  .hsr-hero-search-btn {
    border-radius: 10px !important;
    animation: none !important;
    background-position: 0% 50% !important;
  }
  .hsr-hero-bar::before { display: none !important; }
}
@media (max-width: 420px) {
  .hsr-hero-h2 { font-size: 24px !important; }
  #hsr-step-1.hsr-hero-step { padding: 28px 12px 26px !important; }
}

