/**
 * GF Field Groups — Base frontend styles
 * Copyright (c) 2026 nextpathdev.com. All rights reserved.
 */

/* ── Field group wrapper ─────────────────────────────────── */
/* Must span full width of GF 2.5+'s CSS Grid on .gform_fields */
.gf-field-group {
    grid-column: 1 / -1 !important;
    margin-bottom: 16px;
}

/* Fields inside a group: full width + spacing */
.gf-field-group .gfield {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 12px;
    grid-column: unset !important;
}

/* Inputs inside a group: full width */
.gf-field-group input[type="text"],
.gf-field-group input[type="email"],
.gf-field-group input[type="tel"],
.gf-field-group input[type="number"],
.gf-field-group input[type="url"],
.gf-field-group input[type="password"],
.gf-field-group select,
.gf-field-group textarea {
    width: 100% !important;
    box-sizing: border-box;
}

/* ── Group title ─────────────────────────────────────────── */
.gf-group-title {
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 15px 0;
    padding-bottom: 8px;
    border-bottom: 2px solid rgba(0, 0, 0, 0.1);
}

/* ── Half-width row grid ─────────────────────────────────── */
/* Row must also span full width of parent GF grid */
.gf-group-row {
    grid-column: 1 / -1 !important;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    width: 100%;
    margin-bottom: 16px;
}

.gf-group-row > .gf-field-group {
    grid-column: unset !important;
    margin-bottom: 0;
}

@media (max-width: 768px) {
    .gf-group-row {
        grid-template-columns: 1fr;
    }
}

/* ── Hidden group markers ────────────────────────────────── */
[data-gffg-marker] {
    display: none !important;
}
