/* ==========================================================================
   BNB Host — homepage v22: full rebuild in the new design language.
   Depends only on: base header/footer (site.css), .s4-* + .cg-*/.dm-* +
   .pcard-price + .cover-ph (v20 append block in site.css), results .s4-grid.
   Everything else on this page is namespaced hh-* / hcard-*.
   ========================================================================== */

/* ---------- hero ---------- */
.hh-hero{padding:34px 0 44px}
.hh-kicker{font-size:11px;letter-spacing:.3em;color:var(--coral);font-weight:800;text-transform:uppercase;text-align:center;margin:0 0 10px}
.hh-title{font-family:var(--font-display,'Prata',Georgia,serif);font-weight:400;font-size:clamp(30px,5vw,52px);line-height:1.1;text-align:center;color:var(--ink);margin:0 0 6px}
.hh-title em{font-family:'Cormorant',Georgia,serif;font-style:italic;color:var(--teal);display:block}
.hh-sub{text-align:center;color:var(--muted);font-size:15px;margin:0 auto 24px;max-width:540px}
.hh-hero .s4-panel{margin-top:0}

.hh-trust{list-style:none;display:flex;justify-content:center;gap:8px 22px;flex-wrap:wrap;margin:16px 0 0;padding:0;font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}
.hh-trust li{display:flex;align-items:center;gap:7px}
.hh-trust li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--coral);flex:none}
.hh-trust li.hh-rated{color:var(--teal)}
.hh-trust li.hh-rated::before{display:none}

#search-results{margin-top:18px}

/* ---------- section heads ---------- */
.hh-head{text-align:center;margin-bottom:26px}
.hh-h2{font-family:var(--font-display,'Prata',Georgia,serif);font-weight:400;font-size:clamp(24px,3.4vw,34px);color:var(--teal);margin:0 0 6px}
.hh-h2.light{color:#fff}
.hh-heads{color:var(--muted);font-size:14px;margin:0 auto;max-width:560px}

/* ---------- collection ---------- */
.hh-col{padding:16px 0 54px}
.hh-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.hh-grid{grid-template-columns:1fr 1fr;gap:14px}}
@media (max-width:560px){.hh-grid{grid-template-columns:1fr}}
.hh-frame{grid-column:1/-1}

.hcard{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 26px rgba(10,69,72,.09);display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.hcard:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(10,69,72,.14)}
.hcard-ph{position:relative;display:block;aspect-ratio:16/10;background:var(--teal-deep)}
.hcard-ph .cover-img,.hcard-ph .cover-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.hcard:hover .hcard-ph .cover-img{transform:scale(1.045)}
.hcard-rate{position:absolute;top:11px;left:11px;background:var(--teal-deep);color:#fff;border-radius:8px;padding:3px 9px;font-size:12.5px;font-weight:700;z-index:2}
.hcard-rate small{font-weight:500;opacity:.8;font-size:10px}
/* own price chip — fully self-contained so NOTHING from the legacy
   .pcard-price rules (top+bottom conflict = stretched blob) can leak in */
.hprice{position:absolute;top:auto;right:10px;bottom:10px;left:auto;width:auto;height:auto;z-index:2;background:rgba(255,255,255,.95);color:var(--teal-deep);border-radius:999px;padding:6px 12px;font:800 12.5px/1.1 var(--font-body,'Commissioner',sans-serif);box-shadow:0 4px 14px rgba(10,69,72,.22);white-space:nowrap}
/* placeholder (no photos yet, e.g. Diamond 3/4): calm branded tile */
.hcard-ph .cover-ph,.cg-media .cover-ph{display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,#116468,var(--teal-deep))}
.hcard-ph .cover-ph *,.cg-media .cover-ph *{display:none}
.hcard-ph .cover-ph::after,.cg-media .cover-ph::after{content:"BNB HOST";font:700 11px/1 var(--font-body,'Commissioner',sans-serif);letter-spacing:.34em;color:rgba(255,255,255,.55)}
.hcard-bd{padding:14px 16px 16px;display:flex;flex-direction:column;gap:5px;flex:1}
.hcard-area{margin:0;font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.hcard-name{margin:0;font-size:21px;font-weight:400;font-family:var(--font-display,'Prata',Georgia,serif);line-height:1.2}
.hcard-name a{color:var(--teal);text-decoration:none}
.hcard-name a:hover{text-decoration:underline}
.hcard-meta{margin:0;font-size:13px;color:var(--muted)}
.hcard-night{margin:2px 0 0;font-size:12px;font-weight:700;color:var(--coral)}

.hh-ctas{display:flex;gap:9px;margin-top:auto;padding-top:12px}
.hh-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:11px 10px;border-radius:11px;font:700 13.5px var(--font-body,'Commissioner',sans-serif);text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;text-align:center;white-space:nowrap}
.hh-btn:hover{transform:translateY(-1.5px)}
.hh-btn.ghost{background:#fff;border:1.5px solid var(--stone,#e4dac6);color:var(--ink)}
.hh-btn.ghost:hover{border-color:var(--teal);color:var(--teal)}
.hh-btn.coral{background:var(--coral);color:#fff;box-shadow:0 8px 20px rgba(255,111,97,.35)}
.hh-btn.big{flex:none;padding:15px 34px;font-size:15px;border-radius:100px}
.cg-bd .hh-ctas{padding-top:9px}
.cg-bd .hh-btn{padding:9px 6px;font-size:12.5px}

/* ---------- diamond frame: bigger cards (3 per row, not 5) ---------- */
.hh-grid .cg-row.dm{grid-template-columns:repeat(3,1fr);gap:16px}
.hh-grid .cg-row.dm .cg-name{font-size:19px}
.hh-grid .cg-row.dm .cg-book{padding:11px 8px;font-size:13.5px}
.hh-grid .cg-row.dm .cg-meta{font-size:13px}
@media (max-width:760px){.hh-grid .cg-row.dm{grid-template-columns:1fr 1fr}}
@media (max-width:460px){.hh-grid .cg-row.dm{grid-template-columns:1fr}}

/* ---------- club promo ---------- */
.hh-club{padding:8px 0 50px}
.hh-club-card{display:grid;grid-template-columns:1.05fr 1fr;gap:26px;align-items:center;background:linear-gradient(140deg,#116468,var(--teal-deep));border-radius:24px;padding:34px 36px;color:#fff;box-shadow:0 20px 50px rgba(10,69,72,.3);position:relative;overflow:hidden}
.hh-club-card::before{content:"";position:absolute;right:-70px;top:-70px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.05)}
@media (max-width:860px){.hh-club-card{grid-template-columns:1fr;padding:26px 22px}}
.hh-club-badge{display:inline-block;background:var(--coral);border-radius:100px;padding:6px 14px;font:800 10.5px/1 var(--font-body,'Commissioner',sans-serif);letter-spacing:.22em;margin-bottom:14px}
.hh-club-l h2{font-family:var(--font-display,'Prata',Georgia,serif);font-weight:400;font-size:clamp(23px,3.2vw,32px);margin:0 0 8px;color:#fff}
.hh-club-l .s{color:#F3B8A6;font-family:'Cormorant',Georgia,serif;font-style:italic;font-size:17px;margin:0 0 20px}
.hh-club-l .hh-btn{box-shadow:0 12px 28px rgba(238,108,77,.45)}
.hh-club-r{list-style:none;margin:0;padding:0;display:grid;gap:10px;position:relative;z-index:1}
.hh-club-r li{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:13px;padding:12px 15px}
.hh-club-r b{font-family:var(--font-display,'Prata',Georgia,serif);font-weight:400;font-size:19px;color:#F3B8A6;flex:none;min-width:74px}
.hh-club-r span{font-size:13px;line-height:1.45;color:rgba(255,255,255,.88)}

/* ---------- why + club strip ---------- */
.hh-why{background:linear-gradient(150deg,#116468,var(--teal-deep));padding:46px 0 40px;color:#fff}
.hh-why .hh-h2{text-align:center;margin-bottom:24px}
.hh-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}
@media (max-width:760px){.hh-why-grid{grid-template-columns:1fr}}
.hh-why-it{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:18px 18px 16px}
.hh-why-it span{font-family:var(--font-display,'Prata',Georgia,serif);font-size:15px;color:#F3B8A6;display:block;margin-bottom:8px}
.hh-why-it b{display:block;font-size:16px;margin-bottom:5px}
.hh-why-it p{margin:0;font-size:13px;line-height:1.55;color:rgba(255,255,255,.82)}
.hh-clubstrip{display:flex;align-items:center;gap:13px;background:rgba(255,255,255,.09);border:1.5px dashed rgba(243,184,166,.5);border-radius:15px;padding:15px 18px;text-decoration:none;color:#fff;font-size:14px;font-weight:600;transition:background .2s ease}
.hh-clubstrip:hover{background:rgba(255,255,255,.14)}
.hh-clubstrip .bdg{background:var(--coral);border-radius:100px;padding:5px 11px;font-size:10px;font-weight:800;letter-spacing:.14em;flex:none}
.hh-clubstrip .tx small{display:block;font-size:11.5px;font-weight:400;opacity:.75;margin-top:2px}
.hh-clubstrip .ar{margin-left:auto;color:#F3B8A6;font-size:19px}

/* ---------- about + cta ---------- */
.hh-about{padding:44px 0 8px}
.hh-about .wrap{max-width:760px;text-align:center}
.hh-about p{color:var(--muted);font-size:14.5px;line-height:1.75;margin:10px 0 0}
.hh-cta{padding:38px 0 64px;text-align:center}
.hh-cta .hh-heads{margin-bottom:20px}
