/* Shared dimensions override the theme's different defaults for text, date and select. */
.gf-contact-form .gf-form-field,
.gf-contact-form .gf-form-row {
    min-width: 0;
}

#foresporsel .gf-contact-form .gf-form-field input,
#foresporsel .gf-contact-form .gf-form-field select,
.gf-contact-form .gf-form-field input,
.gf-contact-form .gf-form-field select {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 54px;
    min-height: 54px;
    max-height: 54px;
    margin: 0;
    padding: 0 15px;
    border: 1px solid #F4EBDD;
    border-radius: 3px;
    background-color: #F4EBDD;
    color: #26382C;
    font: inherit;
    font-size: 15px;
    line-height: 1.4;
    vertical-align: middle;
}

#foresporsel .gf-contact-form .gf-form-field textarea,
.gf-contact-form .gf-form-field textarea {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 165px;
    padding: 14px 15px;
    font: inherit;
    font-size: 15px;
    line-height: 1.6;
    resize: vertical;
}

#foresporsel .gf-contact-form input::placeholder,
#foresporsel .gf-contact-form textarea::placeholder,
.gf-contact-form input::placeholder,
.gf-contact-form textarea::placeholder {
    color: #26382C;
    opacity: .62;
}

/* The unselected prompt uses translucent palette green; chosen values stay solid. */
#foresporsel .gf-contact-form select:required:invalid,
.gf-contact-form select:required:invalid {
    color: rgb(38 56 44 / .62);
}

.gf-contact-form select option {
    color: #26382C;
    background-color: #F4EBDD;
}

.gf-contact-form input[type="date"] {
    appearance: auto;
}

.gf-contact-form input[type="date"]::-webkit-date-and-time-value {
    text-align: left;
    margin: 0;
}

.gf-contact-form input[type="date"]::-webkit-datetime-edit {
    padding: 0;
}

#foresporsel .gf-contact-form input.gf-date-empty::-webkit-datetime-edit {
    color: rgb(38 56 44 / .62);
}

.gf-contact-form input[type="date"]::-webkit-calendar-picker-indicator {
    margin: 0;
    padding: 0 0 0 8px;
}

#foresporsel .gf-contact-form .gf-form-field :is(input, select, textarea):focus-visible {
    outline: 2px solid #D29A45;
    outline-offset: 3px;
}
/* Keep focused form fields at a comfortable size on narrow screens. */
@media (max-width: 690px) {
    #foresporsel .gf-contact-form .gf-form-field :is(input, select, textarea),
    .gf-contact-form .gf-form-field :is(input, select, textarea) {
        font-size: 16px;
    }
}

/* Contain native date controls and their grid parents on mobile. */
@media (max-width: 690px) {
    .da-contact > *,
    #foresporsel,
    .gf-contact-form,
    .gf-contact-form .gf-form-row,
    .gf-contact-form .gf-form-field {
        min-width: 0;
        max-width: 100%;
    }
    .da-contact,
    .gf-contact-form .gf-form-row {
        grid-template-columns: minmax(0, 1fr);
    }
    #foresporsel .gf-contact-form input[type="date"],
    .gf-contact-form input[type="date"] {
        -webkit-appearance: none;
        appearance: none;
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
}

/* Product enquiries use the same palette and controls as the other contact forms. */
.da-page .gf-product-inquiry-band {
    background: var(--da-cream);
    padding: 64px 24px;
}
.gf-product-inquiry-band .gf-product-contact-section {
    max-width: 1180px !important;
    padding: 72px clamp(22px, 4vw, 48px);
    gap: clamp(32px, 5vw, 64px);
    background: var(--da-green);
    border-top: 3px solid var(--da-gold, #D29A45);
    border-radius: 6px;
}
.gf-product-contact-section > .da-copy h2 { color: var(--da-cream); margin: 0 0 18px; }
.gf-product-contact-section > .da-copy p { max-width: 360px; margin-bottom: 0; }
.gf-product-inquiry-band #foresporsel.gf-product-inquiry {
    min-width: 0;
    width: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--da-cream);
}
#foresporsel.gf-product-inquiry .gf-contact-form { max-width: none; margin: 0; }
#foresporsel.gf-product-inquiry .gf-form-row { gap: 20px; }
#foresporsel.gf-product-inquiry label { color: var(--da-cream); }
#foresporsel.gf-product-inquiry .gf-small { color: var(--da-cream); line-height: 1.65; }
#foresporsel.gf-product-inquiry .gf-submit { min-height: 48px; }
@media (max-width: 900px) {
    .gf-product-inquiry-band .gf-product-contact-section { grid-template-columns: minmax(0, 1fr); gap: 30px; }
    .gf-product-contact-section > .da-copy p { max-width: 620px; }
}
@media (max-width: 690px) {
    .da-page .gf-product-inquiry-band { padding: 40px 16px; }
    .gf-product-inquiry-band .gf-product-contact-section { padding-block: 48px; }
    #foresporsel.gf-product-inquiry .gf-form-row { gap: 0; }
    #foresporsel.gf-product-inquiry .gf-submit { width: 100%; }
}
