/* Base styles; colors are driven by CSS variables + inline overrides */
.hbm-section { background: var(--hbmic-section-bg,#0b1020); padding: 20px 0 30px; }
.hbm-wrap { max-width:1200px; margin:0 auto; padding:0 20px; color: var(--hbmic-text,#f5f7ff); font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; }
.hbm-wrap *{ box-sizing:border-box; }
.hbm-grid{ display:grid; grid-template-columns:1.2fr .8fr; gap:18px; } @media(max-width:960px){ .hbm-grid{ grid-template-columns:1fr; } }
.hbm-card{ background: var(--hbmic-card,#0f1938); border:1px solid rgba(255,255,255,.08); border-radius:16px; padding:14px; box-shadow:0 10px 30px rgba(0,0,0,.25); }
.hbm-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.hbm-billing{ display:none; } /* weekly only */
.hbm-pack-chooser{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:12px 0 16px; }
.hbm-pack{ position:relative; border:1px solid rgb(0, 153, 153); border-radius:16px; padding:12px; background: var(--hbmic-card,#0f1938); cursor:pointer; }
.hbm-pack:hover{ box-shadow:0 10px 24px rgba(0,0,0,.35); transform: translateY(-1px); }
.hbm-pack .hdr{ font-weight:800; margin-bottom:6px; }
.hbm-pack .price{ font-weight:700; }
.hbm-pack.active{ outline:2px solid var(--hbmic-brand,#04B6B6); }
.hbm-addons{ margin-top:12px; }
.hbm-addons h4{ margin:8px 0; color:#04B6B6; }
.hbm-addon{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px; border:1px dashed rgb(0, 153, 153); border-radius:12px; margin-bottom:8px; }
.hbm-addon .meta{ display:flex; align-items:center; gap:8px; }
.hbm-badge{ font-size:12px; padding:3px 8px; border-radius:999px; border:1px solid rgba(255,255,255,.18); color:#dfe3ff; }
.hbm-inclusions{ padding-left:18px; line-height:1.6; }
.hbm-inclusions li + li{ margin-top:6px; }
.hbm-detail{ position:relative; }
.hbm-detail .bar{ height:8px; border-radius:10px 10px 0 0; margin:-14px -14px 12px -14px; }
.hbm-detail .bar.ess{ background: var(--hbmic-ess,#06A5A2); }
.hbm-detail .bar.gro{ background: var(--hbmic-gro,#0C7A79); }
.hbm-detail .bar.sca{ background: var(--hbmic-sca,#F0B429); }
.hbm-detail h3{ margin:4px 0 8px; color:#04B6B6; }
.hbm-value{ margin-top:12px; }
.hbm-value-list{ margin:0; padding:0; list-style:none; }
.hbm-value-list li{ display:flex; justify-content:space-between; align-items:center; padding:6px 0; border-bottom:1px dashed rgb(0, 153, 153); }
.hbm-value .sum{ margin-top:10px; display:grid; grid-template-columns:1fr auto; row-gap:6px; }
.hbm-value .sum .label{ color: var(--hbmic-muted,#8fa0ff); }
.hbm-value .sum .val b{ font-size:18px; }
.hbm-value .save{ color: var(--hbmic-savings,#22c55e); font-weight:800; }
.hbm-cta{ display:flex; gap:10px; margin-top:12px; flex-wrap:wrap; }
.hbm-cta .btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:10px 14px; border-radius:12px; font-weight:500; text-decoration:none; transition: transform .12s ease, box-shadow .12s ease; }
.hbm-cta .btn:hover{ transform: translateY(-1px); box-shadow:0 8px 22px rgba(0,0,0,.35); }
.hbm-cta .btn-primary{ background: var(--hbmic-brand,#04B6B6); color:#fff; border:1px solid rgb(0, 153, 153); }
.hbm-cta .btn-outline{ background: transparent; color:#04B6B6; border:1px solid rgb(0, 153, 153); }
.hbm-sticky{ position:sticky; bottom:10px; margin-top:12px; background: linear-gradient(180deg, #0e1629, #0b1324); border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:12px; display:flex; gap:16px; align-items:center; }
.hbm-sticky .nums{ display:flex; gap:12px; flex-wrap:wrap; width: 100% !important }
.hbm-sticky .nums .n{ background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); padding:8px 10px; border-radius:10px; color:#fff; width:100% !important; }
.hbm-sticky .totals{ margin-left:auto; text-align:right; width:100% !important; }
.hbm-sticky .totals b{ display:block; font-size:18px; }
.hbm-sticky .small{ color: rgba(255,255,255,.75); font-size:12px; }
.hbm-sticky .save{ color: var(--hbmic-savings,#22c55e); font-weight:800; }
