/* ============================================================
   TEBA Gravity Form Template
   Visual/template-only CSS. Does not modify Gravity Forms logic.
   ============================================================ */

.teba-gf-page,
.teba-gf-page * {
    box-sizing: border-box;
}

.teba-gf-page {
    --teba-gf-cream: #f2efe6;
    --teba-gf-black: #0b0b0c;
    --teba-gf-red: #d62246;
    --teba-gf-muted: #777268;
    --teba-gf-border: rgba(26, 26, 26, .14);
    --teba-gf-field: #faf7ee;
    --teba-gf-display: 'Antonio', 'Barlow Condensed', 'Arial Narrow', sans-serif;
    --teba-gf-body: 'Source Sans 3', 'Inter', 'Barlow', system-ui, sans-serif;
    background: var(--teba-gf-cream);
    color: var(--teba-gf-black);
    font-family: var(--teba-gf-body);
}

.teba-gf-shell {
    width: min(1360px, calc(100vw - 96px));
    margin: 0 auto;
}

.teba-gf-hero {
    background:
        radial-gradient(circle at 12px 12px, rgba(255,255,255,.04) 1.5px, transparent 1.5px),
        linear-gradient(105deg, rgba(114, 14, 34, .24), rgba(8, 13, 22, .98) 42%, rgba(10, 10, 10, 1));
    background-size: 24px 24px, auto;
    color: #fff;
    padding: 64px 0 58px;
    border-bottom: 4px solid var(--teba-gf-red);
}

.teba-gf-kicker {
    color: rgba(255, 255, 255, .78);
    font-family: var(--teba-gf-display);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .22em;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.teba-gf-title {
    font-family: var(--teba-gf-display);
    font-size: clamp(52px, 8vw, 112px);
    font-weight: 900;
    letter-spacing: -.035em;
    line-height: .85;
    text-transform: uppercase;
    color: #fff;
    margin: 0;
}

.teba-gf-content {
    padding: 56px 0 72px;
}

.teba-gf-card {
    background: transparent;
}

.teba-gf-alert {
    background: #fff3f5;
    border: 1px solid rgba(214, 34, 70, .35);
    color: var(--teba-gf-black);
    padding: 18px 20px;
    font-size: 16px;
}

/* Gravity Forms normalization for this template. */
.teba-gf-page .gform_wrapper {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    color: var(--teba-gf-black) !important;
    font-family: var(--teba-gf-body) !important;
}

.teba-gf-page .gform_description,
.teba-gf-page .gfield_description,
.teba-gf-page .gform_required_legend {
    color: var(--teba-gf-muted) !important;
}

.teba-gf-page .gform_fields {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 24px 28px !important;
}

.teba-gf-page .gfield {
    grid-column: span 6 !important;
    min-width: 0 !important;
}

.teba-gf-page .gfield--width-full,
.teba-gf-page .gfield.gfield--type-textarea,
.teba-gf-page .gfield.gfield--type-section,
.teba-gf-page .gsection {
    grid-column: 1 / -1 !important;
}

.teba-gf-page .gfield--width-third {
    grid-column: span 4 !important;
}

.teba-gf-page .gfield--width-quarter {
    grid-column: span 3 !important;
}

.teba-gf-page .gfield--width-half {
    grid-column: span 6 !important;
}

.teba-gf-page .gfield_label,
.teba-gf-page legend.gfield_label,
.teba-gf-page .gform-field-label {
    display: block !important;
    font-family: var(--teba-gf-display) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    color: var(--teba-gf-black) !important;
    margin-bottom: 8px !important;
}

.teba-gf-page .gfield_required,
.teba-gf-page .gfield_required_text {
    color: var(--teba-gf-red) !important;
    font-style: italic !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.teba-gf-page input[type="text"],
.teba-gf-page input[type="email"],
.teba-gf-page input[type="url"],
.teba-gf-page input[type="tel"],
.teba-gf-page input[type="number"],
.teba-gf-page input[type="password"],
.teba-gf-page input[type="search"],
.teba-gf-page select,
.teba-gf-page textarea {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    min-height: 52px !important;
    background: var(--teba-gf-field) !important;
    border: 1px solid var(--teba-gf-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--teba-gf-black) !important;
    font-family: var(--teba-gf-body) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    padding: 14px 16px !important;
}

.teba-gf-page select {
    appearance: auto !important;
    -webkit-appearance: menulist !important;
}

.teba-gf-page textarea {
    min-height: 160px !important;
    resize: vertical !important;
}

.teba-gf-page input:focus,
.teba-gf-page select:focus,
.teba-gf-page textarea:focus {
    outline: 2px solid rgba(214, 34, 70, .25) !important;
    outline-offset: 1px !important;
    border-color: var(--teba-gf-red) !important;
}

.teba-gf-page .ginput_complex {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 20px !important;
}

.teba-gf-page .ginput_complex span {
    display: block !important;
    min-width: 0 !important;
}

.teba-gf-page .ginput_complex label,
.teba-gf-page .gfield .ginput_container label {
    color: var(--teba-gf-muted) !important;
    font-size: 13px !important;
    margin-top: 6px !important;
}

.teba-gf-page .gfield_checkbox,
.teba-gf-page .gfield_radio {
    display: grid !important;
    gap: 10px !important;
}

.teba-gf-page .gchoice {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.teba-gf-page input[type="checkbox"],
.teba-gf-page input[type="radio"] {
    width: auto !important;
    min-height: 0 !important;
    accent-color: var(--teba-gf-red);
}

.teba-gf-page .gform_footer,
.teba-gf-page .gform_page_footer {
    margin-top: 32px !important;
    padding-top: 24px !important;
    border-top: 1px solid var(--teba-gf-border) !important;
}

.teba-gf-page .gform_button,
.teba-gf-page input[type="submit"],
.teba-gf-page button[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 54px !important;
    background: var(--teba-gf-red) !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #fff !important;
    cursor: pointer !important;
    font-family: var(--teba-gf-display) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    letter-spacing: .16em !important;
    line-height: 1 !important;
    padding: 18px 34px !important;
    text-transform: uppercase !important;
}

.teba-gf-page .validation_error,
.teba-gf-page .gform_validation_errors {
    background: #fff3f5 !important;
    border: 1px solid rgba(214, 34, 70, .35) !important;
    color: var(--teba-gf-black) !important;
    padding: 16px 18px !important;
}

.teba-gf-page .gfield_error input,
.teba-gf-page .gfield_error select,
.teba-gf-page .gfield_error textarea {
    border-color: var(--teba-gf-red) !important;
}

@media (max-width: 900px) {
    .teba-gf-shell {
        width: calc(100vw - 48px);
    }

    .teba-gf-page .gform_fields {
        grid-template-columns: 1fr !important;
    }

    .teba-gf-page .gfield,
    .teba-gf-page .gfield--width-third,
    .teba-gf-page .gfield--width-quarter,
    .teba-gf-page .gfield--width-half {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 560px) {
    .teba-gf-shell {
        width: calc(100vw - 28px);
    }

    .teba-gf-hero {
        padding: 46px 0 42px;
    }

    .teba-gf-content {
        padding: 36px 0 48px;
    }

    .teba-gf-page .ginput_complex {
        grid-template-columns: 1fr !important;
    }
}
