/* Hotel Booking Pro - Premium Frontend UI */
.hbp-app{
  --hbp-espresso:#140904;
  --hbp-brown:#54240f;
  --hbp-brown-2:#7b3516;
  --hbp-gold:#d8a23a;
  --hbp-gold-light:#f7d88a;
  --hbp-cream:#fff7e8;
  --hbp-ivory:#fffdf8;
  --hbp-soft:#f7efe1;
  --hbp-border:rgba(84,36,15,.13);
  --hbp-text:#1f120b;
  --hbp-muted:#6f5b4d;
  --hbp-green:#168a43;
  --hbp-red:#8b0000;
  --hbp-shadow:0 22px 60px rgba(84,36,15,.14);
  --hbp-shadow-dark:0 30px 80px rgba(20,9,4,.22);
  width:100%;
  max-width:100%;
  overflow:hidden;
  font-family:'Manrope',Arial,sans-serif;
  color:var(--hbp-text);
  background:linear-gradient(180deg,#fffaf0 0%,#fff 48%,#fff7e8 100%);
  position:relative;
}
.hbp-app *, .hbp-app *:before, .hbp-app *:after{box-sizing:border-box}
.hbp-app:before{content:"";position:absolute;width:390px;height:390px;border-radius:50%;background:rgba(216,162,58,.12);left:-190px;top:40px;filter:blur(12px);animation:hbpFloatGlow 8s ease-in-out infinite alternate;pointer-events:none}.hbp-app:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(84,36,15,.08);right:-150px;top:520px;filter:blur(12px);animation:hbpFloatGlow 9s ease-in-out infinite alternate-reverse;pointer-events:none}@keyframes hbpFloatGlow{from{transform:translateY(0) scale(1)}to{transform:translateY(26px) scale(1.06)}}
.hbp-premium-hero,.hbp-search-shell,.hbp-messages,.hbp-results,.hbp-booking-flow{max-width:1240px;margin-left:auto;margin-right:auto;position:relative;z-index:2}.hbp-premium-hero{padding:44px 18px 18px}.hbp-hero-copy{text-align:center;max-width:920px;margin:0 auto 28px;animation:hbpFadeUp .75s ease both}.hbp-kicker{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:50px;background:linear-gradient(135deg,var(--hbp-gold-light),var(--hbp-gold));color:#251006;font-size:12px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;box-shadow:0 14px 32px rgba(216,162,58,.3);margin-bottom:16px}.hbp-hero-copy h2{margin:0;color:var(--hbp-espresso);font-family:'Cormorant Garamond',serif;font-size:58px;line-height:1.02;font-weight:700}.hbp-hero-copy p{margin:16px auto 0;max-width:820px;color:var(--hbp-muted);font-size:17px;line-height:1.75;font-weight:500}
.hbp-gallery-mosaic{display:grid;grid-template-columns:2.2fr .62fr .62fr .62fr;gap:16px;min-height:370px}.hbp-gallery-tile{height:170px;border-radius:22px;overflow:hidden;background:#eee;box-shadow:var(--hbp-shadow);position:relative}.hbp-gallery-tile.hbp-big{grid-row:span 2;height:356px}.hbp-gallery-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease,filter .55s ease}.hbp-gallery-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(20,9,4,.18));opacity:.75;pointer-events:none}.hbp-gallery-tile:hover img{transform:scale(1.06);filter:saturate(1.05)}
.hbp-search-shell{margin:22px auto 28px;border:1px solid rgba(216,162,58,.35);border-radius:28px;overflow:hidden;background:rgba(255,255,255,.9);box-shadow:var(--hbp-shadow);backdrop-filter:blur(10px);animation:hbpFadeUp .9s ease both}.hbp-search-title,.hbp-section-title{background:linear-gradient(135deg,var(--hbp-espresso),var(--hbp-brown-2));color:#fff;border-bottom:1px solid rgba(247,216,138,.25);padding:18px 22px;font-size:22px;font-weight:900;display:flex;align-items:center;gap:12px}.hbp-section-title span{font-weight:900;color:var(--hbp-gold-light)}.hbp-search-title i,.hbp-section-title i{color:var(--hbp-gold-light)}.hbp-search-form{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:24px;background:linear-gradient(180deg,#fff,#fff8ed)}.hbp-field label{display:block;font-size:13px;font-weight:900;color:var(--hbp-brown);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.hbp-field input,.hbp-customer-form input,.hbp-customer-form textarea{width:100%;border:1px solid var(--hbp-border);border-radius:16px;padding:15px 16px;font-size:15px;outline:none;background:#fff;color:var(--hbp-text);font-family:'Manrope',Arial,sans-serif;font-weight:700;transition:.25s ease}.hbp-field input:focus,.hbp-customer-form input:focus,.hbp-customer-form textarea:focus{border-color:var(--hbp-gold);box-shadow:0 0 0 4px rgba(216,162,58,.18)}.hbp-date-note{padding:0 24px 22px;color:var(--hbp-muted);font-size:13px;font-weight:700;display:flex;align-items:center;gap:8px}.hbp-date-note i{color:var(--hbp-gold)}
.hbp-btn{border:none;text-decoration:none;cursor:pointer;border-radius:50px;padding:14px 22px;font-weight:900;font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.32s ease;font-family:'Manrope',Arial,sans-serif;position:relative;overflow:hidden}.hbp-btn:before{content:"";position:absolute;top:0;left:-110%;width:85%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-22deg);transition:.6s ease}.hbp-btn:hover:before{left:130%}.hbp-btn-green{background:linear-gradient(135deg,#19a856,var(--hbp-green));color:#fff;box-shadow:0 14px 30px rgba(22,138,67,.24)}.hbp-btn-purple{background:linear-gradient(135deg,var(--hbp-gold-light),var(--hbp-gold));color:#251006;box-shadow:0 14px 30px rgba(216,162,58,.3)}.hbp-btn:hover{transform:translateY(-3px);filter:none}.hbp-messages .hbp-alert{padding:13px 16px;border-radius:16px;margin:14px 18px;font-weight:900;border:1px solid}.hbp-alert-error{background:#fff1f1;color:#991b1b;border-color:#ffc9c9}.hbp-alert-info{background:#fff7e8;color:var(--hbp-brown);border-color:rgba(216,162,58,.3)}
.hbp-room-results{border:1px solid rgba(216,162,58,.35);border-top:none;margin:0 18px 30px;border-radius:0 0 28px 28px;overflow:hidden;background:#fff;box-shadow:var(--hbp-shadow)}.hbp-room-card{display:grid;grid-template-columns:350px 1fr 190px;gap:28px;padding:28px;border-bottom:1px solid rgba(84,36,15,.09);background:linear-gradient(180deg,#fff,#fffaf2);animation:hbpCardIn .55s ease both}.hbp-room-card:nth-child(even){background:#fff}.hbp-room-card:last-child{border-bottom:none}@keyframes hbpCardIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes hbpFadeUp{from{opacity:0;transform:translateY(28px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.hbp-room-image-slider{position:relative;height:285px;overflow:hidden;background:#eee;border-radius:24px;box-shadow:0 18px 40px rgba(84,36,15,.14);border:7px solid #fff}.hbp-room-img-slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease,transform 4s ease;transform:scale(1)}.hbp-room-img-slide.active{opacity:1;transform:scale(1.05);z-index:2}.hbp-room-img-slide img{width:100%;height:100%;object-fit:cover}.hbp-room-dots{position:absolute;left:50%;bottom:13px;transform:translateX(-50%);display:flex;gap:7px;z-index:4}.hbp-room-dots span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.78);box-shadow:0 4px 10px rgba(0,0,0,.2);transition:.3s}.hbp-room-dots span.active{width:25px;border-radius:20px;background:var(--hbp-gold)}.hbp-room-info h3{margin:0 0 10px;font-family:'Cormorant Garamond',serif;color:var(--hbp-espresso);font-size:34px;line-height:1.05;font-weight:700}.hbp-hotel-name{font-weight:900;margin-bottom:14px;color:var(--hbp-brown);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hbp-hotel-name span{font-weight:800;color:var(--hbp-muted);margin-left:0}.hbp-capacity{color:#2c1a10;font-weight:900;margin-bottom:12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.hbp-capacity i{color:var(--hbp-gold)}.hbp-rooms-left{color:var(--hbp-red);font-size:13px;background:#fff2d8;border:1px solid rgba(216,162,58,.25);padding:6px 10px;border-radius:30px}.hbp-room-info p{line-height:1.7;margin:0 0 14px;color:var(--hbp-muted);font-weight:500}.hbp-amenities-list{display:flex;gap:9px;flex-wrap:wrap}.hbp-amenities-list span{font-size:12px;background:#fff6e6;border:1px solid rgba(216,162,58,.28);padding:8px 11px;border-radius:20px;font-weight:900;color:var(--hbp-brown)}.hbp-amenities-list i{color:var(--hbp-gold);margin-right:5px}.hbp-price-box{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:7px;background:rgba(255,255,255,.72);border:1px solid rgba(216,162,58,.22);border-radius:22px;padding:18px;align-self:start;box-shadow:0 12px 30px rgba(84,36,15,.07)}.hbp-price-box small{color:var(--hbp-muted);font-weight:900;text-transform:uppercase;letter-spacing:.5px}.hbp-price{font-size:31px;color:var(--hbp-red);font-weight:900;line-height:1}.hbp-tax{color:var(--hbp-muted);font-weight:900}.hbp-total{font-weight:900;font-size:20px;color:var(--hbp-espresso)}.hbp-total span{display:block;color:var(--hbp-muted);font-size:12px;text-transform:uppercase}.hbp-book-now{margin-top:8px;width:100%}.hbp-empty{padding:38px;text-align:center;font-weight:900;color:var(--hbp-muted);font-size:17px;background:#fff}
.hbp-payment-grid{display:grid;grid-template-columns:1fr 420px;gap:30px;border:1px solid rgba(216,162,58,.35);border-top:none;padding:22px;background:linear-gradient(180deg,#fff,#fff8ed);border-radius:0 0 28px 28px;box-shadow:var(--hbp-shadow);margin:0 18px 30px}.hbp-payment-step .hbp-section-title{margin:0 18px;border-radius:28px 28px 0 0}.hbp-customer-form{display:grid;gap:13px}.hbp-form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.hbp-customer-form textarea{resize:vertical;min-height:72px}.hbp-checkbox{font-size:16px;display:flex;align-items:center;gap:10px;color:var(--hbp-text);font-weight:800}.hbp-checkbox input{width:20px;height:20px;accent-color:var(--hbp-gold)}.hbp-summary-card{border:1px solid rgba(216,162,58,.28);border-radius:26px;padding:22px;background:rgba(255,255,255,.92);box-shadow:0 14px 38px rgba(84,36,15,.1);position:sticky;top:20px}.hbp-summary-card h3{text-align:center;margin:0 0 22px;font-family:'Cormorant Garamond',serif;color:var(--hbp-espresso);font-size:32px;font-weight:700}.hbp-summary-dates{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(84,36,15,.13);padding-bottom:16px}.hbp-summary-dates span{font-size:17px;color:var(--hbp-text);font-weight:900}.hbp-summary-dates b{display:block;color:#9b8b7d;font-size:13px;text-transform:uppercase}.hbp-summary-dates em{background:#2a9d8f;color:#fff;border-radius:18px;padding:7px 18px;font-size:16px;font-style:normal;font-weight:900;white-space:nowrap}.hbp-summary-room{color:var(--hbp-red);font-weight:900;line-height:1.5}.hbp-summary-room small{color:#2563eb}.hbp-summary-line{display:flex;justify-content:space-between;border-top:1px solid rgba(84,36,15,.11);padding:14px 0;font-size:18px}.hbp-summary-line span{color:#9b8b7d;font-weight:900}.hbp-summary-line.total{font-weight:900;color:var(--hbp-espresso)}.hbp-pay-now{display:flex;justify-content:space-between;color:var(--hbp-red);font-weight:900;border-top:1px solid rgba(84,36,15,.11);padding-top:15px;font-size:16px}.hbp-confirmation{text-align:center;background:linear-gradient(180deg,#f0fff6,#fff);border:1px solid #86efac;border-radius:28px;padding:46px 20px;margin:20px 18px 34px;box-shadow:var(--hbp-shadow)}.hbp-confirmation i{font-size:64px;color:#16a34a}.hbp-confirmation h2{font-family:'Cormorant Garamond',serif;color:var(--hbp-espresso);font-size:42px;margin:12px 0}.hbp-confirmation p{color:var(--hbp-muted);font-size:17px;font-weight:700}.hbp-hero-gallery{margin-bottom:12px}
.hbp-reveal{opacity:0;transform:translateY(24px);transition:.7s ease}.hbp-reveal.hbp-show{opacity:1;transform:none}
@media(max-width:1024px){.hbp-hero-copy h2{font-size:46px}.hbp-gallery-mosaic{grid-template-columns:1fr 1fr}.hbp-gallery-tile.hbp-big{grid-row:auto;height:240px}.hbp-gallery-tile{height:240px}.hbp-room-card{grid-template-columns:300px 1fr}.hbp-price-box{grid-column:1/-1;align-items:flex-start;text-align:left;max-width:420px}.hbp-payment-grid{grid-template-columns:1fr}.hbp-summary-card{position:relative;top:auto}.hbp-search-form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.hbp-premium-hero{padding:32px 12px 14px}.hbp-hero-copy h2{font-size:36px}.hbp-hero-copy p{font-size:14.5px}.hbp-search-form,.hbp-form-row{grid-template-columns:1fr}.hbp-gallery-mosaic{grid-template-columns:1fr;gap:11px}.hbp-gallery-tile,.hbp-gallery-tile.hbp-big{height:215px;border-radius:18px}.hbp-search-shell{border-radius:22px;margin:18px 12px 24px}.hbp-search-title,.hbp-section-title{font-size:18px;padding:16px}.hbp-search-form{padding:18px}.hbp-room-results{margin:0 12px 24px;border-radius:0 0 22px 22px}.hbp-room-card{grid-template-columns:1fr;padding:17px;gap:18px}.hbp-room-image-slider{height:238px;border-width:5px;border-radius:20px}.hbp-room-info h3{font-size:29px}.hbp-price-box{max-width:none;width:100%}.hbp-payment-grid{padding:14px;margin:0 12px 24px;border-radius:0 0 22px 22px}.hbp-payment-step .hbp-section-title{margin:0 12px;border-radius:22px 22px 0 0}.hbp-summary-dates{flex-direction:column;text-align:center}.hbp-checkbox{font-size:14px;align-items:flex-start}.hbp-confirmation{margin:18px 12px;padding:34px 16px}.hbp-confirmation h2{font-size:34px}}

/* Bank transfer step */
.hbp-bank-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;border:1px solid rgba(216,162,58,.35);border-top:none;padding:22px;background:linear-gradient(180deg,#fff,#fff8ed);border-radius:0 0 28px 28px;box-shadow:var(--hbp-shadow);margin:0 18px 30px}.hbp-bank-card,.hbp-transaction-form{background:rgba(255,255,255,.95);border:1px solid rgba(216,162,58,.28);border-radius:26px;padding:24px;box-shadow:0 14px 38px rgba(84,36,15,.1)}.hbp-bank-head{display:flex;align-items:center;gap:16px;margin-bottom:18px}.hbp-bank-head>i{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,var(--hbp-gold-light),var(--hbp-gold));display:flex;align-items:center;justify-content:center;font-size:28px;color:#251006;box-shadow:0 14px 30px rgba(216,162,58,.25)}.hbp-bank-head h3,.hbp-transaction-form h3{margin:0;font-family:'Cormorant Garamond',serif;font-size:34px;color:var(--hbp-espresso);line-height:1}.hbp-bank-head p,.hbp-transaction-form p{margin:6px 0 0;color:var(--hbp-muted);font-weight:700;line-height:1.55}.hbp-bank-amount{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,var(--hbp-espresso),var(--hbp-brown));color:#fff;border-radius:18px;padding:16px 18px;margin-bottom:18px;font-weight:900}.hbp-bank-amount strong{font-size:28px;color:var(--hbp-gold-light)}.hbp-bank-lines{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.hbp-bank-lines div{background:#fff8ed;border:1px solid rgba(216,162,58,.22);border-radius:16px;padding:13px 14px}.hbp-bank-lines .hbp-bank-address{grid-column:1/-1}.hbp-bank-lines span{display:block;text-transform:uppercase;font-size:11px;letter-spacing:.7px;font-weight:900;color:#9b8b7d;margin-bottom:5px}.hbp-bank-lines strong{font-size:15px;color:var(--hbp-text);line-height:1.45}.hbp-bank-note{display:flex;align-items:flex-start;gap:9px;margin-top:16px;background:#eefbf4;border:1px solid #bbf7d0;color:#166534;border-radius:16px;padding:13px 14px;font-weight:800;line-height:1.55}.hbp-transaction-form{display:flex;flex-direction:column;gap:14px}.hbp-mini-summary{background:#fff8ed;border:1px solid rgba(216,162,58,.25);border-radius:18px;padding:14px 16px;display:grid;gap:5px}.hbp-mini-summary span{font-size:13px;color:var(--hbp-muted);font-weight:900;text-transform:uppercase}.hbp-mini-summary strong{font-size:20px;color:var(--hbp-espresso)}.hbp-mini-summary em{font-style:normal;color:#2563eb;font-weight:800}.hbp-transaction-form label{font-size:13px;color:var(--hbp-brown);font-weight:900;text-transform:uppercase;letter-spacing:.5px}.hbp-transaction-form input{width:100%;border:1px solid rgba(84,36,15,.16);background:#fff;color:var(--hbp-text);border-radius:16px;padding:15px;font-size:15px;font-weight:700;outline:none}.hbp-transaction-form input:focus{border-color:var(--hbp-gold);box-shadow:0 0 0 4px rgba(216,162,58,.18)}
@media(max-width:1024px){.hbp-bank-grid{grid-template-columns:1fr}.hbp-bank-lines{grid-template-columns:1fr}}
@media(max-width:760px){.hbp-bank-grid{padding:14px;margin:0 12px 24px;border-radius:0 0 22px 22px}.hbp-bank-card,.hbp-transaction-form{padding:18px;border-radius:22px}.hbp-bank-head{align-items:flex-start}.hbp-bank-head h3,.hbp-transaction-form h3{font-size:28px}.hbp-bank-amount{flex-direction:column;align-items:flex-start;gap:7px}.hbp-bank-amount strong{font-size:24px}}

/* Payment QR box - shown at the final payment step */
.hbp-payment-qr-box{background:linear-gradient(180deg,#fff,#fff8ed);border:1px solid rgba(216,162,58,.35);border-radius:22px;padding:16px;box-shadow:0 14px 32px rgba(84,36,15,.08);display:grid;gap:14px}.hbp-payment-qr-head{display:flex;align-items:center;gap:12px}.hbp-payment-qr-head i{width:46px;height:46px;min-width:46px;border-radius:15px;background:linear-gradient(135deg,var(--hbp-gold-light),var(--hbp-gold));display:flex;align-items:center;justify-content:center;font-size:22px;color:#251006;box-shadow:0 12px 26px rgba(216,162,58,.24)}.hbp-payment-qr-head strong{display:block;color:var(--hbp-espresso);font-weight:900;font-size:18px;line-height:1.15}.hbp-payment-qr-head span{display:block;color:var(--hbp-muted);font-weight:700;font-size:13px;line-height:1.35;margin-top:4px}.hbp-payment-qr-img-wrap{background:#fff;border:1px dashed rgba(84,36,15,.18);border-radius:20px;padding:12px;text-align:center}.hbp-payment-qr-img-wrap img{display:block;width:100%;max-width:250px;height:auto;margin:0 auto;border-radius:16px;box-shadow:0 12px 28px rgba(22,10,4,.1);object-fit:contain}.hbp-transaction-form .hbp-payment-qr-box+label{margin-top:2px}
@media(max-width:760px){.hbp-payment-qr-box{padding:14px;border-radius:20px}.hbp-payment-qr-head{align-items:flex-start}.hbp-payment-qr-head strong{font-size:17px}.hbp-payment-qr-img-wrap img{max-width:220px}}
