/* WPForms fixes */
/* Initial field looks */
.wpforms-container input[type=date],
.wpforms-container input[type=datetime],
.wpforms-container input[type=datetime-local],
.wpforms-container input[type=email],
.wpforms-container input[type=month],
.wpforms-container input[type=number],
.wpforms-container input[type=password],
.wpforms-container input[type=range],
.wpforms-container input[type=search],
.wpforms-container input[type=tel],
.wpforms-container input[type=text],
.wpforms-container input[type=time],
.wpforms-container input[type=url],
.wpforms-container input[type=week],
.wpforms-container select,
.wpforms-container textarea {
    background: #fff;
    border-width: 0 0 1px 0;
    color: var(--ast-global-color-2);
    opacity: 0.5;
}
/* On focus */
.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
    outline: none;
    opacity: 1;
    border-color: var(--ast-global-color-0);
}
/* Don't allow resizing the Message box */
.wpforms-container textarea {
    resize: none;
}
/* Message box fixed height */
.wpforms-container .wpforms-field-textarea textarea.wpforms-field-medium {
    height: 136px;
}
/* Button size & font size */
.wpforms-container button {
    padding: 15px 34px;
    font-size: 15px;
}
/* WPForms done */
/* Footer 2 big columns on sides and 1 small one in the middle */
.ast-builder-grid-row-3-equal .ast-builder-grid-row {
    grid-template-columns: 3fr 1fr 3fr;
}


/* Service page stat boxes — gold figure pinned to the top so figures line up
   across boxes; supporting copy centred in the space beneath. */
.elementor-section.pf-stat-row .elementor-widget-wrap {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    align-content: flex-start;
    justify-content: flex-start;
}
.elementor-section.pf-stat-row .elementor-widget-heading {
    flex: 0 0 auto;
}
.elementor-section.pf-stat-row .elementor-widget-text-editor {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Accreditation / award tiles — add the pf-award-card CSS class to an image
   widget to get the same treatment as the homepage strip. */
.pf-award-card {
    background: #fff !important;
    border: 1px solid rgba(15,23,42,.10) !important;
    border-radius: 16px !important;
    box-shadow: 0 14px 34px rgba(15,23,42,.10) !important;
    height: 184px !important;
    padding: 32px 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 14px !important;
    margin-right: 14px !important;
}
.pf-award-card img {
    max-height: 112px !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
}
@media (max-width: 767px) {
    .pf-award-card {
        height: 150px !important;
        padding: 26px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .pf-award-card img { max-height: 92px !important; }
}

/* Services hub cards - flex the description so the Learn More buttons
   line up along a common baseline across each row. */
.elementor-section.pf-service-row .elementor-column > .elementor-widget-wrap {
    display: flex; flex-direction: column; flex-wrap: nowrap;
    align-items: stretch; align-content: flex-start; justify-content: flex-start;
}
.elementor-section.pf-service-row .elementor-column > .elementor-widget-wrap > .elementor-widget-image,
.elementor-section.pf-service-row .elementor-column > .elementor-widget-wrap > .elementor-widget-heading,
.elementor-section.pf-service-row .elementor-column > .elementor-widget-wrap > .elementor-widget-button { flex: 0 0 auto; }
.elementor-section.pf-service-row .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor { flex: 1 1 auto; }