.com-hb{--green:#305b2c;--green-dark:#234720;--green2:#7c9550;--lime:#d6e1a5;--text:#243b22;--muted:#5d6858;--line:#dfe6d8;--bg:#f5f7f1;color:var(--text);font-family:inherit;max-width:1180px;margin:24px auto;padding:0 16px;box-sizing:border-box}.com-hb *{box-sizing:border-box}.com-hb button,.com-hb input,.com-hb select,.com-hb textarea{font-family:inherit}.com-hb-hero{background:linear-gradient(135deg,var(--green),#426d38);border-radius:24px;padding:34px;color:#fff;display:grid;grid-template-columns:1fr 1.3fr;gap:28px;align-items:end}.com-hb-eyebrow{display:block;font-size:12px;font-weight:800;letter-spacing:.16em;color:inherit;opacity:.82}.com-hb-hero h2{font-size:clamp(28px,4vw,46px);line-height:1.08;margin:8px 0 12px;color:#fff}.com-hb-hero p{margin:0;max-width:540px;line-height:1.7;color:#fff;opacity:.92}.com-hb-search{background:#fff;border-radius:18px;padding:16px;display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:10px;color:var(--text);box-shadow:0 16px 40px rgba(30,60,24,.16)}.com-hb-field,.com-hb-form label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:13px;color:var(--text)}.com-hb select,.com-hb input,.com-hb textarea{font:inherit;color:var(--text)!important;background:#fff!important;border:1px solid #cbd5c2!important;border-radius:10px;padding:12px;min-height:44px;opacity:1!important}.com-hb select option{color:#243b22;background:#fff}.com-hb input::placeholder,.com-hb textarea::placeholder{color:#75806f;opacity:1}.com-hb-btn{border:0;border-radius:10px;padding:12px 18px;font-weight:800;cursor:pointer;text-decoration:none;text-align:center;display:inline-flex;align-items:center;justify-content:center;min-height:46px;line-height:1.25;white-space:normal;overflow:visible}.com-hb-btn-primary{background:var(--green)!important;color:#fff!important}.com-hb-btn-primary:hover{background:var(--green-dark)!important;color:#fff!important}.com-hb-btn-outline{background:#fff!important;color:var(--green)!important;border:1px solid var(--green)!important}.com-hb-btn-light{background:#eef3e9!important;color:var(--text)!important;border:1px solid #ccd7c5!important}.com-hb-branch{margin:28px 0 22px;padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:#fff;display:flex;justify-content:space-between;gap:20px;align-items:center}.com-hb-branch h3,.com-hb-section-head h3{margin:4px 0 8px;font-size:25px;color:var(--text)}.com-hb-branch p{margin:0;color:var(--muted)}.com-hb-phone{font-weight:800;color:var(--green)!important;text-decoration:none}.com-hb-section-head{display:flex;justify-content:space-between;align-items:end;margin:30px 0 14px}.com-hb-year-price{background:var(--lime);color:var(--text);border-radius:999px;padding:8px 13px;font-size:13px;font-weight:800}.com-hb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.com-hb-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 5px 18px rgba(36,59,34,.07);transition:.2s}.com-hb-card.is-selected{border-color:var(--green);box-shadow:0 0 0 2px rgba(48,91,44,.12)}.com-hb-photo{height:220px;background:#dfe6d7 center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:var(--green);font-weight:800;position:relative}.com-hb-badge{position:absolute;right:12px;top:12px;padding:7px 10px;border-radius:999px;background:#fff;color:var(--text);font-size:12px;font-weight:800;box-shadow:0 2px 10px rgba(0,0,0,.08)}.com-hb-badge.available{color:#286326}.com-hb-badge.sold{color:#a33}.com-hb-card-body{padding:20px}.com-hb-card h4{margin:0 0 8px;font-size:21px;color:var(--text)}.com-hb-desc{min-height:44px;color:var(--muted);line-height:1.55;margin:0 0 12px}.com-hb-meta{display:flex;flex-wrap:wrap;gap:7px;font-size:12px;color:#4e5a4a;margin-bottom:15px}.com-hb-meta span{background:#f0f4eb;color:#40503c;padding:6px 8px;border-radius:7px}.com-hb-price{margin-bottom:15px;color:var(--text)}.com-hb-price strong{font-size:23px;color:var(--green)}.com-hb-price small{font-size:13px;color:var(--muted)}.com-hb-card-actions{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.com-hb-card .com-hb-btn{width:100%}.com-hb-qty{display:flex;align-items:center;border:1px solid #ccd7c5;border-radius:10px;overflow:hidden;height:46px;background:#fff}.com-hb-qty button{width:42px;height:100%;border:0;background:#eef3e9;color:var(--green);font-size:22px;font-weight:800;cursor:pointer}.com-hb-qty strong{min-width:38px;text-align:center;color:var(--text)}.com-hb-selection-bar{position:sticky;bottom:14px;z-index:20;margin:22px 0;padding:14px 16px;background:#fff;border:1px solid #cfd9c8;border-radius:16px;box-shadow:0 12px 35px rgba(30,50,25,.14);display:flex;align-items:center;justify-content:space-between;gap:16px}.com-hb-selection-bar strong,.com-hb-selection-bar span{display:block;color:var(--text)}.com-hb-selection-bar span{font-size:13px;color:var(--muted);margin-top:2px}.com-hb-empty{padding:28px;background:var(--bg);border-radius:16px;text-align:center;color:var(--text)}.com-hb-form-wrap{margin:38px 0;background:var(--bg);border:1px solid var(--line);border-radius:24px;padding:28px}.com-hb-step-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.com-hb-form-title h3,.com-hb-step-head h3{font-size:30px;margin:5px 0;color:var(--text)}.com-hb-form-title p,.com-hb-step-head p{margin:0;color:var(--muted);line-height:1.6}.com-hb-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.com-hb-form-grid .full{grid-column:1/-1}.com-hb-form label small{font-weight:500;color:var(--muted)}.com-hb-order-preview{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:18px}.com-hb-preview-title{font-weight:900;color:var(--green);margin-bottom:8px}.com-hb-order-preview p{margin:0;color:var(--muted)}.com-hb-order-preview ul{list-style:none;padding:0;margin:0}.com-hb-order-preview li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #edf0ea;color:var(--text)}.com-hb-order-preview li:last-child{border-bottom:0}.com-hb-order-preview li span{color:var(--muted);text-align:right}.com-hb-terms{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px;margin:18px 0;color:var(--text)!important;font-weight:600!important;line-height:1.55}.com-hb-terms input{min-height:auto!important;width:18px;height:18px;flex:0 0 18px;margin-top:3px;accent-color:var(--green)}.com-hb-terms a{color:var(--green)!important;text-decoration:underline;font-weight:800}.com-hb-terms strong{color:#b3261e}.com-hb-summary{margin:18px 0;padding:16px 18px;border-radius:12px;background:#fff;border:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--text)}.com-hb-summary span{color:var(--muted)}.com-hb-summary strong{font-size:20px;color:var(--green)}.com-hb-submit{width:100%;font-size:15px}.com-hb-hp{position:absolute;left:-9999px;opacity:0}.com-hb-modal{position:fixed;inset:0;background:rgba(23,33,18,.6);display:none;align-items:center;justify-content:center;padding:20px;z-index:99999}.com-hb-modal.is-open{display:flex}.com-hb-modal-inner{background:#fff;color:var(--text);border-radius:20px;max-width:680px;width:100%;max-height:90vh;overflow:auto;padding:26px;position:relative}.com-hb-modal-inner h3{color:var(--text);margin-top:0}.com-hb-modal-close{position:absolute;right:12px;top:8px;border:0;background:#eef3e9!important;color:var(--text)!important;font-size:26px;line-height:1;width:38px;height:38px;border-radius:50%;cursor:pointer}.com-hb-success{max-width:650px;text-align:center;margin:50px auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:45px 25px;box-shadow:0 15px 45px rgba(36,59,34,.12)}.com-hb-success-icon{width:60px;height:60px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:var(--green);font-size:30px;font-weight:900}.com-hb-success h2{font-size:32px;margin:8px 0;color:var(--text)}.com-hb-success p{color:var(--muted);line-height:1.7}.com-hb-code{display:inline-block;background:var(--green);color:#fff!important;border-radius:10px;padding:12px 18px;letter-spacing:.06em;font-size:20px;margin:5px 0 12px}.com-hb-success .com-hb-btn{margin-top:12px}.com-hb-list-head{padding:24px 0}.com-hb-list-head h2{margin:5px 0;color:var(--text)}.com-hb-list-head p{margin:0;color:var(--muted)}
@media(max-width:900px){.com-hb-hero{grid-template-columns:1fr}.com-hb-search{grid-template-columns:1fr 1fr}.com-hb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.com-hb{padding:0 10px}.com-hb-hero{padding:23px 18px;border-radius:18px}.com-hb-search{grid-template-columns:1fr;padding:13px}.com-hb-grid{grid-template-columns:1fr}.com-hb-section-head,.com-hb-branch{align-items:flex-start;flex-direction:column}.com-hb-selection-bar{align-items:stretch;flex-direction:column;bottom:8px}.com-hb-selection-bar .com-hb-btn{width:100%}.com-hb-form-wrap{padding:20px;border-radius:18px}.com-hb-form-grid{grid-template-columns:1fr}.com-hb-form-grid .full{grid-column:auto}.com-hb-step-head{flex-direction:column}.com-hb-step-head .com-hb-btn{width:100%}.com-hb-summary{align-items:flex-start;flex-direction:column}.com-hb-card-actions{grid-template-columns:1fr}.com-hb-qty{width:100%}.com-hb-qty button{flex:1}.com-hb-qty strong{min-width:60px}}
/* V0.6: global room selection + stronger branch/select layout */
.com-hb-search,.com-hb-field{min-width:0}
.com-hb-search select{width:100%;min-width:0;max-width:100%;text-overflow:clip;overflow:visible;white-space:normal}
.com-hb-search .com-hb-field:first-child{min-width:190px}
.com-hb-section-note{margin:4px 0 0;color:var(--muted);font-size:14px}
.com-hb-card-branch{display:inline-flex;align-items:center;max-width:100%;margin:-2px 0 10px;padding:6px 9px;border-radius:999px;background:#eef3e9;color:var(--green);font-size:12px;font-weight:800;line-height:1.25;white-space:normal}
.com-hb-modal-branch{display:inline-flex;margin:0 0 8px;padding:7px 10px;border-radius:999px;background:#eef3e9;color:var(--green);font-weight:800;font-size:12px}
.com-hb-selection-bar [data-selected-branch-label]{font-weight:800;color:var(--green);font-size:13px;margin-top:2px}
@media(max-width:900px){.com-hb-hero{grid-template-columns:1fr}.com-hb-search{grid-template-columns:1fr 1fr}.com-hb-search .com-hb-field:first-child{min-width:0}.com-hb-search .com-hb-btn{grid-column:1/-1}}
@media(max-width:620px){.com-hb-search{grid-template-columns:1fr}.com-hb-search .com-hb-btn{grid-column:auto}.com-hb-card-branch{font-size:11px}}
/* V0.7: room media, branch clarity and responsive select */
.com-hb-card-branch{display:inline-flex;align-items:center;gap:5px;margin:0 0 9px;padding:6px 9px;border-radius:999px;background:#eef3e9;color:#305b2c;font-size:12px;font-weight:900;line-height:1.25}
.com-hb-search .com-hb-field:first-child{min-width:230px;}
.com-hb-search select{height:auto;min-height:48px;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35;padding-right:34px;}
.com-hb-modal-gallery{margin:-2px -2px 20px}.com-hb-modal-main{width:100%;aspect-ratio:16/10;background:#eef2ea;border-radius:14px;overflow:hidden}.com-hb-modal-main img{width:100%;height:100%;object-fit:cover;display:block}.com-hb-modal-thumbs{display:flex;gap:8px;overflow-x:auto;padding:9px 1px 2px}.com-hb-modal-thumbs button{border:2px solid transparent;padding:0;border-radius:8px;background:#fff;flex:0 0 70px;width:70px;height:52px;overflow:hidden;cursor:pointer}.com-hb-modal-thumbs button.is-active{border-color:#305b2c}.com-hb-modal-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:620px){.com-hb-search select{white-space:normal}.com-hb-modal-inner{padding:18px}.com-hb-modal-thumbs button{flex-basis:62px;width:62px;height:48px}}

/* V0.7.1: fixed-branch UX + editable dates + detailed price preview */
.com-hb-date-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 18px;padding:18px;border:1px solid #dfe8d5;border-radius:14px;background:#f7faf3}
.com-hb-date-editor .com-hb-field{display:flex;flex-direction:column;gap:7px}
.com-hb-date-editor label{font-weight:700;color:#243B22}
.com-hb-date-editor input{width:100%;min-height:48px;border:1px solid #cbd7c0;border-radius:10px;background:#fff;color:#243B22;padding:10px 12px;font:inherit}
.com-hb-preview-table-wrap{overflow-x:auto}
.com-hb-preview-table{width:100%;border-collapse:collapse;min-width:650px;background:#fff;border:1px solid #e2e9dc;border-radius:12px;overflow:hidden}
.com-hb-preview-table th,.com-hb-preview-table td{padding:12px 10px;border-bottom:1px solid #e8eee3;text-align:left;color:#243B22;vertical-align:top}
.com-hb-preview-table th{background:#f3f7ee;font-size:13px;text-transform:uppercase;letter-spacing:.03em}
.com-hb-preview-table td small{display:block;margin-top:4px;color:#66745f}
.com-hb-preview-total{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:12px;padding:16px 18px;border-radius:12px;background:#eef5e6;color:#243B22}
.com-hb-preview-total strong{font-size:20px;color:#305B2C}
@media(max-width:700px){.com-hb-date-editor{grid-template-columns:1fr}.com-hb-preview-total{align-items:flex-start;flex-direction:column;gap:6px}.com-hb-preview-table th,.com-hb-preview-table td{padding:10px 8px}}

/* V0.7.1 */
.com-hb-date-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 18px;padding:18px;border:1px solid #dfe8d5;border-radius:14px;background:#f7faf3}
.com-hb-date-editor .com-hb-field{display:flex;flex-direction:column;gap:7px}
.com-hb-date-editor label{font-weight:700;color:#243B22}
.com-hb-date-editor input{width:100%;min-height:48px;border:1px solid #cbd7c0;border-radius:10px;background:#fff;color:#243B22;padding:10px 12px;font:inherit}
.com-hb-preview-table-wrap{overflow-x:auto}
.com-hb-preview-table{width:100%;border-collapse:collapse;min-width:650px;background:#fff;border:1px solid #e2e9dc}
.com-hb-preview-table th,.com-hb-preview-table td{padding:12px 10px;border-bottom:1px solid #e8eee3;text-align:left;color:#243B22;vertical-align:top}
.com-hb-preview-table th{background:#f3f7ee;font-size:13px;text-transform:uppercase;letter-spacing:.03em}
.com-hb-preview-table td small{display:block;margin-top:4px;color:#66745f}
.com-hb-preview-total{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:12px;padding:16px 18px;border-radius:12px;background:#eef5e6;color:#243B22}
.com-hb-preview-total strong{font-size:20px;color:#305B2C}
@media(max-width:700px){.com-hb-date-editor{grid-template-columns:1fr}.com-hb-preview-total{align-items:flex-start;flex-direction:column;gap:6px}.com-hb-preview-table th,.com-hb-preview-table td{padding:10px 8px}}
/* V0.8: selling mode, services and VAT */
.com-hb-price small{display:block;margin-top:3px;color:var(--muted);font-size:12px;line-height:1.35}
.com-hb-services{margin:20px 0;padding:20px;background:#fff;border:1px solid var(--line);border-radius:16px}
.com-hb-services-head h3{margin:4px 0;color:var(--text)}
.com-hb-services-head p{margin:0;color:var(--muted);font-size:14px}
.com-hb-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}
.com-hb-service{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px;border:1px solid #e1e8dc;border-radius:13px;background:#fbfcf9;color:var(--text)}
.com-hb-service[hidden]{display:none}
.com-hb-service p{margin:4px 0;color:var(--muted);font-size:13px;line-height:1.45}
.com-hb-service small{color:var(--muted);line-height:1.4}
.com-hb-service.is-selected{border-color:#7c9550;background:#f4f8ee}
.com-hb-service-qty{display:flex;align-items:center;flex:0 0 auto;border:1px solid #ccd8c1;border-radius:10px;overflow:hidden;background:#fff}
.com-hb-service-qty button{width:36px;height:38px;border:0;background:#eef3e9;color:#305b2c;font-size:20px;font-weight:800;cursor:pointer}
.com-hb-service-qty strong{min-width:36px;text-align:center;color:#243b22}
.com-hb-service-empty{margin:10px 0;color:var(--muted)}
.com-hb-preview-subtitle{font-weight:900;color:#305b2c;margin:18px 0 8px}
.com-hb-preview-total{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.com-hb-preview-total>div{padding:12px 14px;border-radius:10px;background:#f7faf3;display:flex;justify-content:space-between;gap:15px;color:#243b22}
.com-hb-preview-total .com-hb-grand-total{grid-column:1/-1;background:#eaf2df;align-items:center}
.com-hb-preview-total strong{color:#305b2c}
.com-hb-vat-note{margin:10px 0 0;color:#66745f;font-size:13px}
@media(max-width:700px){.com-hb-service-grid{grid-template-columns:1fr}.com-hb-preview-total{grid-template-columns:1fr}.com-hb-preview-total .com-hb-grand-total{grid-column:auto}}

/* V1.0: branch-page hero, stock-aware quantity and interactive room modal */
.com-hb-hero.is-branch-page{grid-template-columns:1.05fr 1.35fr}
.com-hb-hero-location{display:inline-flex;margin-top:15px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.13);font-size:13px;font-weight:700}
.com-hb-branch-contact{display:flex;justify-content:flex-end;margin:12px 0 -8px}
.com-hb-qty button:disabled{opacity:.38;cursor:not-allowed}
.com-hb-card.is-checking{opacity:.72}
.com-hb-card.is-checking .com-hb-badge{filter:grayscale(.5)}
.com-hb-modal-open{overflow:hidden}
.com-hb-modal-inner{max-width:760px;padding:18px 20px 22px;box-shadow:0 24px 80px rgba(0,0,0,.25)}
.com-hb-modal-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:4px 0 12px}
.com-hb-modal-heading h3{font-size:28px;margin:0 0 5px}
.com-hb-modal-heading p{margin:0;color:var(--muted);line-height:1.55}
.com-hb-modal-heading>strong{font-size:22px;color:var(--green);white-space:nowrap}
.com-hb-modal-heading>strong small{display:block;font-size:11px;color:var(--muted);font-weight:600;text-align:right}
.com-hb-modal-copy{margin-top:12px;color:var(--muted);line-height:1.65}
.com-hb-modal-copy .com-hb-desc{min-height:0;margin:0}
.com-hb-modal-stock{margin:16px 0 12px;padding:11px 13px;border-radius:10px;background:#eef5e6;color:var(--green);font-weight:800}
.com-hb-modal-picker{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:14px;font-weight:800}
.com-hb-modal-picker .com-hb-qty{height:48px}
.com-hb-modal-picker .com-hb-qty button{width:48px}
.com-hb-modal-picker .com-hb-qty strong{min-width:50px}
.com-hb-modal-select{width:100%}
.com-hb-modal-meta{margin-top:12px}
@media(max-width:620px){
  .com-hb-hero.is-branch-page{grid-template-columns:1fr}
  .com-hb-branch-contact{justify-content:flex-start}
  .com-hb-modal{padding:0;align-items:stretch}
  .com-hb-modal-inner{max-width:none;width:100%;height:100dvh;max-height:none;border-radius:0;padding:14px 14px calc(18px + env(safe-area-inset-bottom));overflow:auto}
  .com-hb-modal-main{aspect-ratio:4/3;border-radius:12px}
  .com-hb-modal-heading{gap:10px}
  .com-hb-modal-heading h3{font-size:22px}
  .com-hb-modal-heading>strong{font-size:18px}
  .com-hb-modal-picker{position:sticky;bottom:0;background:#fff;z-index:2;padding:12px 0;border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(36,59,34,.06)}
  .com-hb-modal-select{position:sticky;bottom:0;z-index:3}
}


/* V1.1: branch shared gallery */
.com-hb-branch-gallery{margin:0 0 28px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 28px rgba(36,59,34,.05)}
.com-hb-branch-gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:15px}.com-hb-branch-gallery-head h3{margin:3px 0 5px;color:var(--text);font-size:25px}.com-hb-branch-gallery-head p{margin:0;color:var(--muted);max-width:680px;line-height:1.55}.com-hb-branch-gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:150px 150px;gap:8px;min-height:308px}.com-hb-branch-gallery-item{position:relative;border:0;padding:0;overflow:hidden;border-radius:10px;background:#edf2e9;cursor:pointer}.com-hb-branch-gallery-item.is-main{grid-row:1/3}.com-hb-branch-gallery-item img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .3s ease}.com-hb-branch-gallery-item:hover img{transform:scale(1.035)}.com-hb-branch-gallery-more{position:absolute;inset:auto 10px 10px auto;padding:7px 10px;border-radius:999px;background:rgba(20,28,18,.72);color:#fff;font-size:12px;font-weight:800}.com-hb-gallery-lightbox{position:relative;display:flex;flex-direction:column;gap:12px;height:calc(100vh - 70px);max-height:860px;padding:8px 8px 10px;background:#10130f;border-radius:16px;color:#fff}.com-hb-gallery-lightbox-head{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;font-size:14px}.com-hb-gallery-lightbox-main{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:12px}.com-hb-gallery-lightbox-main img{width:100%;height:100%;object-fit:contain;display:block}.com-hb-gallery-nav{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:46px;height:46px;border:0;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;font-size:34px;line-height:1;cursor:pointer}.com-hb-gallery-nav.prev{left:12px}.com-hb-gallery-nav.next{right:12px}.com-hb-gallery-lightbox-thumbs{display:flex;gap:7px;overflow-x:auto;padding:2px 2px 4px}.com-hb-gallery-lightbox-thumbs button{flex:0 0 72px;width:72px;height:52px;padding:0;border:2px solid transparent;border-radius:7px;overflow:hidden;background:#20251e;cursor:pointer}.com-hb-gallery-lightbox-thumbs button.is-active{border-color:#fff}.com-hb-gallery-lightbox-thumbs img{width:100%;height:100%;object-fit:cover}.com-hb-gallery-watermark{position:absolute;right:20px;bottom:72px;color:rgba(255,255,255,.62);font-size:11px;font-weight:800;letter-spacing:.03em;user-select:text;pointer-events:none}.com-hb-modal-inner:has(.com-hb-gallery-lightbox){max-width:1000px;padding:10px;background:#10130f}.com-hb-modal-inner:has(.com-hb-gallery-lightbox) .com-hb-modal-close{color:#fff;background:rgba(0,0,0,.5);z-index:5}.com-hb-modal-inner:has(.com-hb-gallery-lightbox) [data-modal-content]{height:100%}
@media(max-width:700px){.com-hb-branch-gallery{padding:14px;border-radius:15px}.com-hb-branch-gallery-head{align-items:flex-start;flex-direction:column}.com-hb-branch-gallery-head h3{font-size:21px}.com-hb-branch-gallery-head .com-hb-btn{width:100%}.com-hb-branch-gallery-grid{grid-template-columns:2fr 1fr;grid-template-rows:130px 130px;min-height:266px}.com-hb-branch-gallery-item.is-main{grid-row:1/3}.com-hb-branch-gallery-item:nth-child(4),.com-hb-branch-gallery-item:nth-child(5){display:none}.com-hb-gallery-lightbox{height:100%;max-height:none;border-radius:0;padding:5px}.com-hb-gallery-lightbox-main{min-height:0}.com-hb-gallery-nav{width:40px;height:40px;font-size:29px}.com-hb-gallery-nav.prev{left:7px}.com-hb-gallery-nav.next{right:7px}.com-hb-gallery-watermark{right:13px;bottom:66px}}
/* V2.0 payment */
.com-hb-payment-box{margin:24px auto;padding:22px;max-width:760px;border:1px solid #dfe8d5;border-radius:18px;background:#fbfcf8;text-align:left}.com-hb-payment-box h3{margin:0 0 12px;color:var(--green)}.com-hb-payment-box p{margin:8px 0}.com-hb-deposit-amount{font-size:22px;color:var(--green)}.com-hb-payment-grid{display:grid;grid-template-columns:1fr 220px;gap:20px;align-items:center;margin:16px 0;padding:16px;background:#fff;border:1px solid #e3eadf;border-radius:14px}.com-hb-payment-grid>div:first-child{display:flex;flex-direction:column;gap:8px}.com-hb-payment-grid img{display:block;width:190px;max-width:100%;margin:auto;border-radius:10px}.com-hb-payment-grid small{display:block;text-align:center;color:var(--muted);margin-top:6px}.com-hb-payment-status{padding:10px 12px;border-radius:10px;background:#f0f5ea}.com-hb-bill-form{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid #e0e8da}.com-hb-bill-form label{display:grid;gap:7px;font-weight:800}.com-hb-bill-form input[type=file]{padding:10px;border:1px solid #ccd8c1;border-radius:10px;background:#fff}.com-hb-bill-form small{color:var(--muted)}
@media(max-width:700px){.com-hb-payment-grid{grid-template-columns:1fr}.com-hb-payment-grid>div:nth-child(2){order:-1}.com-hb-payment-grid img{width:220px}.com-hb-payment-box{padding:15px}}

/* V2.0.2: premium branch gallery + original-quality lightbox */
.com-hb-branch-gallery{margin:8px 0 34px;padding:0;background:transparent;border:0;box-shadow:none}
.com-hb-branch-gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:16px;padding:0 2px}
.com-hb-branch-gallery-head h3{margin:4px 0 6px;font-size:28px;letter-spacing:-.02em}
.com-hb-branch-gallery-head p{margin:0;color:var(--muted);max-width:760px;line-height:1.6}
.com-hb-branch-gallery-grid{display:grid;grid-template-columns:minmax(0,1.75fr) repeat(2,minmax(0,1fr));grid-template-rows:210px 210px;gap:10px;border-radius:22px;overflow:hidden;background:#e9eee6}
.com-hb-branch-gallery-item{position:relative;display:block;width:100%;height:100%;border:0;padding:0;overflow:hidden;background:#e9eee6;cursor:pointer}
.com-hb-branch-gallery-item.is-main{grid-row:1/3}
.com-hb-branch-gallery-item img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.com-hb-branch-gallery-item:hover img{transform:scale(1.035);filter:brightness(.94)}
.com-hb-branch-gallery-item:focus-visible{outline:3px solid #fff;outline-offset:-6px}
.com-hb-branch-gallery-more{position:absolute;right:14px;bottom:14px;padding:9px 13px;border-radius:999px;background:rgba(16,22,14,.78);backdrop-filter:blur(8px);color:#fff;font-size:12px;font-weight:800;letter-spacing:.02em}
.com-hb-gallery-lightbox{position:relative;display:flex;flex-direction:column;gap:10px;height:calc(100dvh - 48px);max-height:920px;padding:10px;background:#0b0e0a;border-radius:18px;color:#fff}
.com-hb-gallery-lightbox-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:4px 8px;font-size:14px}
.com-hb-gallery-lightbox-actions{display:flex;align-items:center;gap:12px}
.com-hb-gallery-lightbox-actions a{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;letter-spacing:.04em}
.com-hb-gallery-lightbox-main{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:12px;background:#050705}
.com-hb-gallery-lightbox-main img{width:100%;height:100%;object-fit:contain;display:block;image-rendering:auto}
.com-hb-gallery-lightbox-thumbs{display:flex;gap:7px;overflow-x:auto;padding:2px 2px 4px;scrollbar-width:thin}
.com-hb-gallery-lightbox-thumbs button{flex:0 0 78px;width:78px;height:56px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#20251e;cursor:pointer}
.com-hb-gallery-lightbox-thumbs button.is-active{border-color:#fff}
.com-hb-gallery-lightbox-thumbs img{width:100%;height:100%;object-fit:cover}
.com-hb-gallery-watermark{position:absolute;right:22px;bottom:76px;color:rgba(255,255,255,.55);font-size:11px;font-weight:800;letter-spacing:.04em;user-select:text;pointer-events:none}
@media(max-width:700px){
 .com-hb-branch-gallery{margin-bottom:26px}
 .com-hb-branch-gallery-head{align-items:flex-start;flex-direction:column;gap:12px}
 .com-hb-branch-gallery-head h3{font-size:22px}
 .com-hb-branch-gallery-head .com-hb-btn{width:100%}
 .com-hb-branch-gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:170px 110px;gap:6px;border-radius:16px}
 .com-hb-branch-gallery-item.is-main{grid-column:1/3;grid-row:auto}
 .com-hb-branch-gallery-item:nth-child(n+4){display:none}
 .com-hb-gallery-lightbox{height:100%;max-height:none;border-radius:0;padding:5px}
 .com-hb-gallery-lightbox-main{min-height:0}
 .com-hb-gallery-lightbox-actions a{font-size:10px;padding:6px 8px}
 .com-hb-gallery-nav{width:40px;height:40px;font-size:29px}
 .com-hb-gallery-watermark{right:13px;bottom:68px}
}

/* V2.0.4: clearer stock state and sold-out UX */
.com-hb-stock-line{margin:4px 0 14px;padding:10px 12px;border-radius:10px;background:#eef5e6;color:var(--green);font-weight:800;font-size:13px;text-align:left}.com-hb-stock-line.is-sold{background:#f4f5f1;color:#6d7568}.com-hb-qty button:disabled{opacity:.35;cursor:not-allowed}.com-hb-modal-stock.is-sold{background:#f0f2ed;color:#666d62}.com-hb-modal-copy{padding-top:2px}.com-hb-modal-select:disabled{opacity:.45;cursor:not-allowed}@media(max-width:620px){.com-hb-stock-line{text-align:center}.com-hb-modal-copy{font-size:15px}}

.com-hb-card.is-sold [data-room-picker]{display:none}.com-hb-card.is-sold .com-hb-card-actions{grid-template-columns:1fr}.com-hb-card.is-sold .com-hb-card-actions .com-hb-btn{width:100%}


/* 2.0.9: avoid truncating long labels/descriptions in the booking interface. */
.com-hb .com-hb-search select{ text-overflow:clip!important; white-space:normal!important; overflow:visible!important; }
.com-hb .com-hb-card h4,.com-hb .com-hb-desc,.com-hb .com-hb-card-branch,.com-hb .com-hb-modal-heading,.com-hb .com-hb-modal-branch,.com-hb .com-hb-order-preview li,.com-hb .com-hb-order-preview li span,.com-hb .com-hb-selection-bar [data-selected-branch-label]{ white-space:normal!important; overflow-wrap:anywhere; word-break:normal; text-overflow:clip!important; }
.com-hb .com-hb-card h4,.com-hb .com-hb-desc{ overflow:visible!important; display:block; }


/* V2.1.3: Vietnamese-safe hero eyebrow font and robust popup close control */
.com-hb .com-hb-eyebrow{font-family:Arial,"Segoe UI",Tahoma,sans-serif!important;font-synthesis:none;letter-spacing:.12em;line-height:1.5;overflow-wrap:anywhere}
.com-hb .com-hb-modal-close{appearance:none!important;-webkit-appearance:none!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;padding:0!important;margin:0!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;border:0!important;border-radius:50%!important;font-family:Arial,"Segoe UI",Tahoma,sans-serif!important;font-size:27px!important;font-weight:400!important;line-height:1!important;text-align:center!important;text-indent:0!important;letter-spacing:0!important;transform:none!important;box-shadow:none!important;cursor:pointer!important;z-index:20!important}
.com-hb .com-hb-modal-inner>.com-hb-modal-close{position:absolute!important;top:10px!important;right:10px!important}
.com-hb .com-hb-modal-inner:has(.com-hb-gallery-lightbox)>.com-hb-modal-close{color:#fff!important;background:rgba(0,0,0,.58)!important}
@media(max-width:620px){.com-hb .com-hb-modal-close{top:10px!important;right:10px!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;font-size:28px!important}}

/* V2.1.4: mobile layout — keep the room selection summary in document flow
   so it never covers room photos, quantity controls, or page content. */
@media (max-width: 620px) {
  .com-hb .com-hb-selection-bar {
    position: static !important;
    inset: auto !important;
    z-index: 1 !important;
    width: 100%;
    margin: 16px 0 22px;
    padding: 12px;
    display: flex;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between;
    gap: 10px;
    border-radius: 14px;
    box-shadow: 0 4px 14px rgba(30,50,25,.09);
  }
  .com-hb .com-hb-selection-bar > div {
    flex: 1 1 auto;
    min-width: 0;
  }
  .com-hb .com-hb-selection-bar strong {
    font-size: 14px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }
  .com-hb .com-hb-selection-bar span {
    font-size: 11px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }
  .com-hb .com-hb-selection-bar .com-hb-btn {
    flex: 0 0 46%;
    width: 46% !important;
    min-width: 0;
    min-height: 44px;
    padding: 9px 8px;
    font-size: 12px;
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}
@media (max-width: 360px) {
  .com-hb .com-hb-selection-bar {
    align-items: stretch !important;
    flex-direction: column !important;
  }
  .com-hb .com-hb-selection-bar .com-hb-btn {
    flex: 0 0 auto;
    width: 100% !important;
  }
}

/* Consultation off: keep room catalogue/details and contact buttons; hide direct booking controls. */
.com-hb-consult-disabled .com-hb-card-actions [data-room-picker],
.com-hb-consult-disabled .com-hb-selection-bar,
.com-hb-consult-disabled [data-step-2],
.com-hb-consult-disabled .com-hb-modal-picker,
.com-hb-consult-disabled .com-hb-modal-select {
  display: none !important;
}
.com-hb-consult-disabled [data-go-step-2] { display:none !important; }

/* V2.1.12: Zalo appears only inside the room popup and matches the Agoda-style CTA. */
.com-hb .com-hb-modal-contact{display:flex;justify-content:stretch;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.com-hb .com-hb-modal-zalo{display:flex;width:100%;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border-radius:10px;background:var(--green)!important;color:#fff!important;font-weight:800;text-decoration:underline!important;text-underline-offset:2px;line-height:1.25;text-align:center}
.com-hb .com-hb-modal-zalo:hover{background:var(--green-dark)!important;color:#fff!important}
