/*
 * blair-handyman-kit — bhs-forms.css
 * Styles for the two kit form widgets (Contact & Quote Form, Form Custom
 * Fields). Uses the approved brand palette so forms match the design.
 * Inputs are 16px+ (iOS zoom rule, §4.1.5). Hover = color changes only.
 */

#bhs-root-wrapper .bhs-form--card {
        background: #ffffff;
        border: 1px solid hsl(213 30% 12% / 0.1);
        padding: 28px;
        max-width: none;
}

#bhs-root-wrapper .bhs-form__grid {
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        gap: 14px 16px;
}

#bhs-root-wrapper .bhs-form__field {
        display: flex;
        flex-direction: column;
        gap: 6px;
        min-width: 0;
        grid-column: span 12;
}

#bhs-root-wrapper .bhs-w-25 { grid-column: span 3; }
#bhs-root-wrapper .bhs-w-33 { grid-column: span 4; }
#bhs-root-wrapper .bhs-w-50 { grid-column: span 6; }
#bhs-root-wrapper .bhs-w-66 { grid-column: span 8; }
#bhs-root-wrapper .bhs-w-75 { grid-column: span 9; }
#bhs-root-wrapper .bhs-w-100 { grid-column: span 12; }

@media (max-width: 767px) {
        #bhs-root-wrapper .bhs-w-25,
        #bhs-root-wrapper .bhs-w-33,
        #bhs-root-wrapper .bhs-w-50,
        #bhs-root-wrapper .bhs-w-66,
        #bhs-root-wrapper .bhs-w-75 { grid-column: span 12; }
}

#bhs-root-wrapper .bhs-form__field label {
        font-family: 'Inter', sans-serif;
        font-size: 13px;
        font-weight: 600;
        color: hsl(213 30% 12% / 0.75);
}

#bhs-root-wrapper .bhs-form__field input,
#bhs-root-wrapper .bhs-form__field select,
#bhs-root-wrapper .bhs-form__field textarea {
        font-family: 'Inter', sans-serif;
        font-size: 16px; /* iOS no-zoom rule */
        color: hsl(213 30% 12%);
        background: #ffffff;
        border: 1px solid hsl(213 30% 12% / 0.18);
        padding: 11px 13px;
        width: 100%;
        border-radius: 0;
        box-shadow: none;
        appearance: none;
        -webkit-appearance: none;
        outline: none;
        transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#bhs-root-wrapper .bhs-form__field select {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235a6b7f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 12px center;
        padding-right: 36px;
}

#bhs-root-wrapper .bhs-form__field input:focus,
#bhs-root-wrapper .bhs-form__field select:focus,
#bhs-root-wrapper .bhs-form__field textarea:focus {
        border-color: #2C5C8F;
        box-shadow: 0 0 0 3px hsl(213 53% 37% / 0.14);
}

#bhs-root-wrapper .bhs-form__check {
        flex-direction: row;
        align-items: center;
        gap: 10px;
}

#bhs-root-wrapper .bhs-form__check input[type="checkbox"] {
        width: 18px;
        height: 18px;
        flex-shrink: 0;
        appearance: auto;
        -webkit-appearance: checkbox;
        accent-color: #2C5C8F;
}

#bhs-root-wrapper .bhs-form__actions {
        margin-top: 18px;
}

#bhs-root-wrapper .bhs-form__actions.bhs-align-center { text-align: center; }
#bhs-root-wrapper .bhs-form__actions.bhs-align-right { text-align: right; }

#bhs-root-wrapper .bhs-form__btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        background: #F5820F;
        color: #ffffff;
        border: none;
        border-radius: 0;
        padding: 14px 28px;
        font-family: 'Inter', sans-serif;
        font-size: 14px;
        font-weight: 700;
        cursor: pointer;
        transition: background-color 0.2s ease, color 0.2s ease;
}

#bhs-root-wrapper .bhs-form__btn:hover {
        background: #d96f08;
        color: #ffffff;
}

#bhs-root-wrapper .bhs-form__btn:disabled {
        opacity: 0.6;
        cursor: wait;
}

#bhs-root-wrapper .bhs-form__note {
        font-family: 'Inter', sans-serif;
        font-size: 14px;
        line-height: 1.5;
        margin: 12px 0 0;
        display: none;
}

#bhs-root-wrapper .bhs-form__note.bhs-note-ok {
        display: block;
        color: #1d7a3a;
}

#bhs-root-wrapper .bhs-form__note.bhs-note-err {
        display: block;
        color: #a12b2b;
}

#bhs-root-wrapper .bhs-hp {
        position: absolute !important;
        left: -9999px !important;
        width: 1px !important;
        height: 1px !important;
        opacity: 0 !important;
        pointer-events: none !important;
}

/*
 * CTA Band variant (v2.1.3): the form lives inside the widget's white
 * card column, so the card chrome comes from the widget markup — the
 * form itself renders flush, plus a card title and small print line.
 */
#bhs-root-wrapper .bhs-form--flush {
        background: transparent;
        border: none;
        padding: 0;
        max-width: none;
}

#bhs-root-wrapper .bhs-form__title {
        font-family: 'Archivo', 'Inter', sans-serif;
        font-size: 20px;
        font-weight: 600;
        letter-spacing: -0.02em;
        line-height: 1.25;
        color: hsl(213 30% 12%);
        margin: 0 0 16px;
}

#bhs-root-wrapper .bhs-form__foot {
        font-family: 'Inter', sans-serif;
        font-size: 13px;
        line-height: 1.6;
        color: hsl(213 30% 12% / 0.55);
        margin: 14px 0 0;
}
