.hof-form-shell { --hof-accent: #673ab7; --hof-bg: #f6f4fb; --hof-card: #fff; --hof-text: #202124; --hof-radius: 10px; max-width: 800px; margin: 24px auto; padding: 22px; border-radius: calc(var(--hof-radius) + 4px); background: var(--hof-bg); color: var(--hof-text); font-family: inherit; box-sizing: border-box; }
.hof-form-card { background: var(--hof-card); color: var(--hof-text); border: 1px solid color-mix(in srgb, var(--hof-text) 14%, transparent); border-radius: var(--hof-radius); padding: 22px; margin-bottom: 16px; box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.hof-form-intro { border-top: 8px solid var(--hof-accent); }
.hof-form-intro h2, .hof-section-header h3 { margin-top: 0; color: var(--hof-text); }
.hof-form-intro h2 { text-align: center; }
.hof-question { display: block; font-size: 1.05rem; font-weight: 600; margin-bottom: 8px; color: var(--hof-text); }
.hof-required { color: #d93025; }
.hof-help, .hof-form-description, .hof-form-card small { color: color-mix(in srgb, var(--hof-text) 72%, transparent); }
.hof-control { margin-top: 12px; }
.hof-form input[type="text"], .hof-form input[type="email"], .hof-form input[type="number"], .hof-form input[type="url"], .hof-form input[type="date"], .hof-form input[type="time"], .hof-form input[type="file"], .hof-form textarea, .hof-form select { width: 100%; box-sizing: border-box; border: 1px solid color-mix(in srgb, var(--hof-text) 22%, transparent); border-radius: 6px; padding: 11px 12px; font: inherit; background: var(--hof-card); color: var(--hof-text); }
.hof-form input:focus, .hof-form textarea:focus, .hof-form select:focus { outline: 2px solid color-mix(in srgb, var(--hof-accent) 45%, transparent); border-color: var(--hof-accent); }
.hof-choice { display: flex; align-items: center; gap: 9px; margin: 10px 0; font-weight: 400; color: var(--hof-text); }
.hof-scale { display: flex; gap: 14px; flex-wrap: wrap; }
.hof-scale label { display: grid; justify-items: center; gap: 6px; }
.hof-section-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 6px; }
.hof-submit, .hof-button { border: 0; border-radius: 6px; background: var(--hof-accent); color: #fff; padding: 10px 18px; cursor: pointer; font: inherit; text-decoration: none; }
.hof-section-back { background: transparent; color: var(--hof-accent); border: 1px solid var(--hof-accent); }
.hof-button { padding: 8px 13px; }
.hof-submit:disabled, .hof-button:disabled { opacity: .6; cursor: wait; }
.hof-email-action-row { display: flex; align-items: stretch; gap: 10px; }
.hof-email-action-row input[type="email"] { flex: 1 1 auto; min-width: 0; width: auto; }
.hof-email-action-row .hof-send-code { flex: 0 0 auto; white-space: nowrap; }
.hof-verify-box { margin-top: 10px; }
.hof-code-row { display: flex; gap: 8px; margin-top: 10px; }
.hof-code-row[hidden] { display: none !important; }
.hof-code-row .hof-code { max-width: 180px; letter-spacing: .2em; }
.hof-verify-status, .hof-submit-status { color: color-mix(in srgb, var(--hof-text) 72%, transparent); }
.hof-email-verified .hof-verify-status { color: #137333; font-weight: 600; }
.hof-invalid { outline: 2px solid #d93025; }
.hof-success { padding: 22px; background: var(--hof-card); color: var(--hof-text); border-left: 5px solid #137333; font-weight: 600; }
.hof-score-result { margin-top: 14px; font-size: 1.1rem; }
.hof-quiz-passed { margin-top: 6px; color: #137333; }
.hof-quiz-failed { margin-top: 6px; color: #b3261e; }
.hof-edit-link { display: inline-block; margin-top: 16px; color: var(--hof-accent); }
.hof-editing-notice { margin-top: 12px; padding: 10px 12px; border-radius: 6px; background: color-mix(in srgb, var(--hof-accent) 10%, transparent); }
.hof-existing-file { margin-top: 8px; }
.hof-existing-file a { color: var(--hof-accent); }
.hof-notice { padding: 16px; border: 1px solid #ddd; border-radius: 8px; }
.hof-error { border-color: #d93025; }
.hof-section[hidden] { display: none !important; }
@supports not (color: color-mix(in srgb, black, white)) {
    .hof-form-card { border-color: #dadce0; }
    .hof-help, .hof-form-description, .hof-form-card small, .hof-verify-status, .hof-submit-status { color: #5f6368; }
}
@media (max-width: 600px) {
    .hof-form-shell { padding: 12px; }
    .hof-form-card { padding: 16px; }
    .hof-code-row { flex-direction: column; }
    .hof-code-row .hof-code { max-width: none; }
    .hof-section-actions { align-items: stretch; }
    .hof-section-actions .hof-button, .hof-section-actions .hof-submit { width: 100%; }
}

.hof-portal{display:grid;gap:18px}.hof-portal h2{margin:8px 0 0}.hof-portal-table{width:100%;border-collapse:collapse}.hof-portal-table th,.hof-portal-table td{padding:10px;border-bottom:1px solid rgba(127,127,127,.25);text-align:left;vertical-align:top}.hof-portal-table th{font-weight:600}

.hof-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.hof-form input[type="tel"]{width:100%;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--hof-text) 22%,transparent);border-radius:6px;padding:11px 12px;font:inherit;background:var(--hof-card);color:var(--hof-text)}.hof-slider-wrap{display:flex;align-items:center;gap:14px}.hof-slider-wrap input[type="range"]{flex:1}.hof-rating{display:flex;gap:5px;flex-wrap:wrap}.hof-rating label{cursor:pointer}.hof-rating input{position:absolute;opacity:0}.hof-rating span[aria-hidden="true"]{font-size:2rem;color:color-mix(in srgb,var(--hof-text) 28%,transparent)}.hof-rating input:checked+span,.hof-rating label:has(input:checked)~label span[aria-hidden="true"]{color:var(--hof-accent)}.hof-matrix{overflow-x:auto}.hof-matrix table{width:100%;border-collapse:collapse}.hof-matrix th,.hof-matrix td{padding:9px;border-bottom:1px solid color-mix(in srgb,var(--hof-text) 14%,transparent);text-align:center}.hof-matrix th:first-child{text-align:left}.hof-signature-canvas{display:block;width:100%;height:auto;aspect-ratio:10/3;border:1px solid color-mix(in srgb,var(--hof-text) 25%,transparent);border-radius:6px;background:#fff;touch-action:none}.hof-signature-clear{margin-top:8px}.hof-privacy-consent{display:flex;align-items:flex-start;gap:8px}.hof-captcha{margin-top:12px}

.hof-privacy-gate .hof-form-intro { margin-bottom: 0; }
.hof-global-privacy-text { margin: 16px 0; }
.hof-global-privacy-form { margin-top: 18px; }
.hof-global-privacy-choice { align-items: flex-start; }
.hof-privacy-link { color: var(--hof-accent); }
.hof-standalone-page { margin: 0; min-height: 100vh; background: var(--hof-page-bg, #f6f4fb); color: var(--hof-page-text, #202124); }
.hof-standalone-page #wpadminbar { display: none !important; }
.hof-standalone-main { width: 100%; box-sizing: border-box; padding: 1px 16px 28px; }
.hof-standalone-footer { max-width: 800px; margin: 0 auto; padding: 0 22px 28px; box-sizing: border-box; text-align: center; color: var(--hof-page-text, #202124); opacity: .72; font-size: .9rem; }
.hof-standalone-footer p:last-child { margin-bottom: 0; }

/* v0.4.6 - access gates, system font and custom backgrounds */
.hof-form-shell {
    --hof-bg-image: none;
    --hof-bg-blur: 0px;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.hof-form-shell::before {
    content: "";
    position: absolute;
    inset: -36px;
    z-index: -1;
    background-color: var(--hof-bg);
    background-image: var(--hof-bg-image);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    filter: blur(var(--hof-bg-blur));
}
.hof-access-gate input[type="email"],
.hof-access-gate input[type="text"] {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid color-mix(in srgb, var(--hof-text) 22%, transparent);
    border-radius: 6px;
    padding: 11px 12px;
    font: inherit;
    background: var(--hof-card);
    color: var(--hof-text);
}
.hof-access-gate input:focus {
    outline: 2px solid color-mix(in srgb, var(--hof-accent) 45%, transparent);
    border-color: var(--hof-accent);
}
.hof-privacy-gate,
.hof-access-gate {
    margin-top: 0;
    margin-bottom: 0;
}
.hof-privacy-gate > .hof-form-card,
.hof-access-gate > .hof-form-card {
    width: 100%;
    margin-bottom: 0;
}
.hof-verified-identity {
    margin-top: 12px;
    text-align: center;
    color: color-mix(in srgb, var(--hof-text) 72%, transparent);
    font-size: .92rem;
}
.hof-standalone-page {
    position: relative;
    isolation: isolate;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: var(--hof-page-bg, #f6f4fb);
}
.hof-standalone-page::before {
    content: "";
    position: fixed;
    inset: -48px;
    z-index: -1;
    background-color: var(--hof-page-bg, #f6f4fb);
    background-image: var(--hof-page-bg-image, none);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    filter: blur(var(--hof-page-bg-blur, 0px));
}
.hof-standalone-page .hof-form-shell {
    background: transparent;
    overflow: visible;
}
.hof-standalone-page .hof-form-shell::before {
    display: none;
}
.hof-standalone-main:has(.hof-privacy-gate),
.hof-standalone-main:has(.hof-access-gate) {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 16px;
    padding-bottom: 16px;
}
.hof-standalone-main:has(.hof-privacy-gate) .hof-privacy-gate,
.hof-standalone-main:has(.hof-access-gate) .hof-access-gate {
    width: 100%;
}
@media (max-width: 600px) {
    .hof-email-action-row { flex-direction: column; }
    .hof-email-action-row .hof-send-code { width: 100%; }
}
.hof-privacy-gate,
.hof-access-gate {
    min-height: calc(100vh - 32px);
    display: flex;
    align-items: center;
    justify-content: center;
}
