/* Modal + Button (hard override to avoid theme clobber) */
.hcf-lock{ overflow:hidden; }
.hcf-wrap{ margin:1rem 0; }
.hcf-open{ width:100%; display:block; background:#253645 !important; color:#fff !important; border:0 !important; padding:12px 16px; border-radius:12px; font-size:16px; cursor:pointer; text-align:center; }
.hcf-open:hover{ opacity:.96; }
.hcf-open:focus{ outline:2px solid #000; outline-offset:2px; }

.hcf-modal[aria-hidden="true"]{ display:none; }
.hcf-modal{ position:fixed; inset:0; z-index:99999; }
.hcf-modal .hcf-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.45); }
.hcf-dialog{ position:relative; z-index:1; width:min(760px, 94vw); max-height:90vh; margin:5vh auto 0; background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 14px 44px rgba(0,0,0,.35); }
.hcf-close{ position:absolute; top:8px; right:10px; border:none; background:transparent; font-size:28px; line-height:1; cursor:pointer; }

.hcf-progress{ height:10px; background:#f0f2f5; border-radius:30px; margin:18px; overflow:hidden; }
.hcf-progress__bar{ height:100%; width:0%; background:var(--hcf-primary, #253645) !important; transition:width .25s ease; }

.hcf-root{ padding:20px 18px 22px; overflow:auto; max-height: calc(90vh - 60px); }

/* Card look + FLIP */
.hcf-card{ position:relative; perspective:1200px; margin:6px 0 4px; }
.hcf-card-inner{ position:relative; width:100%; min-height:220px; transform-style:preserve-3d; transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.hcf-card.is-flipped .hcf-card-inner{ transform:rotateY(180deg); }

.hcf-card-face{ position:absolute; inset:0; backface-visibility:hidden; border:1px solid #e6e6e6; border-radius:16px; padding:22px; }
.hcf-card-front{ background:#253645; color:#fff; display:flex; align-items:center; }
.hcf-front-content{ font-size:20px; font-weight:700; line-height:1.5; }
.hcf-card-back{ background:#fff; transform:rotateY(180deg); }
.hcf-answer{ font-weight:700; font-size:20px; margin-bottom:10px; }
.hcf-question-small{ color:#666; font-size:14px; }

.hcf-badge{ position:absolute; top:12px; left:14px; width:28px; height:28px; border-radius:999px; background:var(--hcf-primary, #253645); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; z-index:3; }

.hcf-actions{ display:flex; gap:10px; margin-top:14px; }
.hcf-btn{ border:1px solid #d0d7de !important; background:#fafbfc !important; color:#111 !important; padding:10px 14px; border-radius:12px; cursor:pointer; }
.hcf-btn-primary{ border:none !important; background:var(--hcf-primary, #253645) !important; color:#fff !important; }
.hcf-btn-ok{ border:none !important; background:#22c55e !important; color:#fff !important; }

/* Summary */
.hcf-summary h2{ margin:10px 0 12px; font-size:20px; }
.hcf-summary-list{ max-height:55vh; overflow:auto; display:flex; flex-direction:column; gap:12px; padding-right:6px; }
.hcf-summary-item{ border:1px solid #e6e6e6; border-radius:12px; padding:12px; }
.hcf-summary-q{ font-weight:600; margin-bottom:6px; display:flex; align-items:center; gap:6px; }
.hcf-chip{ display:inline-block; border-radius:999px; padding:4px 8px; background:#e5e7eb; font-size:12px; }
.hcf-chip-ok{ background:#22c55e; color:#fff; }