/*
Theme Name: HTML Website Builder
Theme URI: https://example.com/
Author: OpenAI
Description: A lightweight code-first WordPress theme designed for complete pages built in one Custom HTML block and powered by HTML Website Builder Core.
Version: 3.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: html-website-builder
*/

html, body { margin: 0; padding: 0; }
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }

/* Shared defaults. A page may override these variables on .hwb-page. */
.hwb-page {
    --hwb-primary: #163a5f;
    --hwb-primary-hover: #102c49;
    --hwb-accent: #d4a548;
    --hwb-text: #26313b;
    --hwb-muted: #667085;
    --hwb-border: #d0d5dd;
    --hwb-form-background: #ffffff;
    --hwb-error: #b42318;
    --hwb-success: #067647;
    --hwb-form-width: 780px;
    --hwb-radius: 14px;
    color: var(--hwb-text);
}

.hwb-form {
    width: calc(100% - 36px);
    max-width: var(--hwb-form-width);
    margin: 0 auto;
    padding: clamp(22px, 4vw, 36px);
    background: var(--hwb-form-background);
    border: 1px solid color-mix(in srgb, var(--hwb-primary) 14%, transparent);
    border-radius: var(--hwb-radius);
    box-shadow: 0 16px 45px rgba(16, 24, 40, 0.12);
}

.hwb-form .hwb-field { margin: 0 0 20px; }
.hwb-form .hwb-field:last-of-type { margin-bottom: 24px; }
.hwb-form label,
.hwb-form legend {
    display: block;
    margin: 0 0 7px;
    color: var(--hwb-text);
    font: inherit;
    font-weight: 700;
}
.hwb-form fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }

.hwb-form input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]),
.hwb-form select,
.hwb-form textarea {
    display: block;
    width: 100%;
    min-height: 48px;
    padding: 11px 13px;
    color: var(--hwb-text);
    background: #fff;
    border: 1px solid var(--hwb-border);
    border-radius: 8px;
    font: inherit;
    line-height: 1.4;
}
.hwb-form textarea { min-height: 125px; resize: vertical; }
.hwb-form input:focus,
.hwb-form select:focus,
.hwb-form textarea:focus {
    outline: 3px solid color-mix(in srgb, var(--hwb-primary) 22%, transparent);
    outline-offset: 1px;
    border-color: var(--hwb-primary);
}
.hwb-form input[type="radio"],
.hwb-form input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 2px 9px 0 0;
    flex: 0 0 auto;
    accent-color: var(--hwb-primary);
}
.hwb-form .hwb-choice {
    display: flex;
    align-items: flex-start;
    gap: 0;
    margin: 9px 0;
    font-weight: 400;
}
.hwb-form .hwb-help { margin: 6px 0 0; color: var(--hwb-muted); font-size: 0.9em; }
.hwb-form .hwb-required { color: var(--hwb-error); }
.hwb-form button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 22px;
    color: #fff;
    background: var(--hwb-primary);
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    font: inherit;
    font-weight: 800;
    line-height: 1.2;
    transition: background-color .2s ease, transform .2s ease;
}
.hwb-form button[type="submit"]:hover { background: var(--hwb-primary-hover); transform: translateY(-1px); }
.hwb-form button[type="submit"]:disabled { opacity: .65; cursor: wait; transform: none; }
.hwb-form-response { margin-top: 18px; padding: 0; font-weight: 700; }
.hwb-form-response.is-success { padding: 12px 14px; color: var(--hwb-success); background: #ecfdf3; border: 1px solid #abefc6; border-radius: 8px; }
.hwb-form-response.is-error { padding: 12px 14px; color: var(--hwb-error); background: #fef3f2; border: 1px solid #fecdca; border-radius: 8px; }
.hwb-form [aria-invalid="true"] { border-color: var(--hwb-error) !important; }
.hwb-form .hwb-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.hwb-fields-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 640px) {
    .hwb-form { width: calc(100% - 28px); padding: 22px 18px; }
    .hwb-fields-2 { grid-template-columns: 1fr; gap: 0; }
    .hwb-form button[type="submit"] { width: 100%; }
}

