/* Plugin-owned layouts work with and without a theme's Bootstrap grid. */
.teams-elementor-widget,
.team-contact-form,
.team-form,
.lwd-teams-single,
.lwd-teams-archive { min-width: 0; overflow-wrap: anywhere; }
.teams-elementor-widget *,
.team-form * { box-sizing: border-box; }
.teams-elementor-widget .container-fluid,
.teams-elementor-widget .row,
.teams-elementor-widget #team_list { min-width: 0; max-width: 100%; }
.teams-elementor-widget .row { margin-inline: 0; }
.teams-elementor-widget { width: 100%; }
.teams-elementor-widget > .container-fluid,
.teams-elementor-widget > .container-fluid > .row,
.teams-elementor-widget #team_list { width: 100%; padding-inline: 0; margin-inline: 0; }
.teams-elementor-widget #team_list > .row,
.teams-elementor-widget #team_anchors > .row,
.team-form > .row { display: flex; flex-wrap: wrap; }
.teams-elementor-widget #team_list { width: 100%; }
.teams-elementor-widget #team_list > .row { column-gap: var(--lwd-teams-gap, 24px); }
.teams-elementor-widget #team_list .team {
    flex: 0 0 100%;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding-inline: 0;
    margin-bottom: var(--lwd-teams-gap, 24px);
}
.teams-elementor-widget #team_list .team:only-of-type { margin-inline: auto; }
.teams-elementor-widget #team_list article,
.teams-elementor-widget #team_list .team-container { min-width: 0; max-width: 100%; }
.teams-elementor-widget #team_list .team.col-md-12,
.teams-elementor-widget #team_list .team.col-md-12 article { max-width: 100%; }
.teams-elementor-widget #team_list .hover-background-element { min-width: 0; }
.teams-elementor-widget #team_list img,
.lwd-teams-single img,
.lwd-teams-archive img { max-width: 100%; }
.lwd-teams-single img,
.lwd-teams-archive img { height: auto; }
.teams-elementor-widget .flip-container { width: 250px; max-width: 100%; }
.teams-elementor-widget .flip-container .front,
.teams-elementor-widget .flip-container .back { width: 100%; right: 0; }
.teams-elementor-widget #team_list .hover-element { overflow-y: auto; }
.teams-elementor-widget #team_list .hover-element-active { justify-content: flex-start; justify-content: safe center; padding-block: 12px; }
.teams-elementor-widget #team_list .elementor-button,
.teams-elementor-widget #team_anchors .elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    min-height: 44px;
    white-space: normal;
    overflow-wrap: anywhere;
}
.teams-elementor-widget #team_anchors .elementor-button-wrapper { width: 100%; min-width: 0; padding-inline: 12px; }
.teams-elementor-widget .team-pagination { display: flex; flex-wrap: wrap; width: 100%; gap: 12px; }
.teams-elementor-widget .team-pagination a { flex: 1 1 200px; min-height: 44px; }
.teams-elementor-widget .heading-subtitle { display: inline-block; max-width: 100%; }

.team-form { width: 100%; max-width: 100%; }
.team-form > .row { margin-inline: 0; }
.team-form > .row > [class*="col-"] { min-width: 0; max-width: 100%; padding-inline: 8px; margin-bottom: 16px; }
.team-form > .row > .col-12 { flex: 0 0 100%; width: 100%; }
.team-form > .row > .col-6 { flex: 0 0 50%; width: 50%; }
.team-form > .row > .col-4 { flex: 0 0 33.333333%; width: 33.333333%; }
.team-form input:not([type="checkbox"]):not([type="radio"]),
.team-form select,
.team-form textarea { box-sizing: border-box; min-width: 0; max-width: 100%; width: 100%; min-height: 44px; }
.team-form textarea { resize: vertical; }
.team-form .custom-control { max-width: 100%; }
.team-form .custom-radio { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-right: 12px; }
.team-form .custom-checkbox { display: flex; align-items: flex-start; gap: 8px; }
.team-form .custom-checkbox input { flex: 0 0 auto; margin-top: 5px; }

@media (min-width: 768px) {
    .teams-elementor-widget #team_list .team.col-md-6,
    .teams-elementor-widget #team_list .team.col-md-4,
    .teams-elementor-widget #team_list .team.col-md-3 { flex-basis: calc((100% - var(--lwd-teams-gap, 24px)) / 2); width: calc((100% - var(--lwd-teams-gap, 24px)) / 2); }
    .teams-elementor-widget #team_anchors .elementor-button-wrapper { width: 50%; }
}
@media (min-width: 1025px) {
    .teams-elementor-widget #team_list .team.col-md-4 { flex-basis: calc((100% - 2 * var(--lwd-teams-gap, 24px)) / 3); width: calc((100% - 2 * var(--lwd-teams-gap, 24px)) / 3); }
    .teams-elementor-widget #team_list .team.col-md-3 { flex-basis: calc((100% - 3 * var(--lwd-teams-gap, 24px)) / 4); width: calc((100% - 3 * var(--lwd-teams-gap, 24px)) / 4); }
    .teams-elementor-widget #team_anchors .elementor-button-wrapper { width: 33.333333%; }
}
/* Measured widths preserve the intrinsic sizing of Elementor flex widgets. */
.teams-elementor-widget.lwd-teams-narrow #team_list .team.col-md-12,
.teams-elementor-widget.lwd-teams-narrow #team_list .team.col-md-6,
.teams-elementor-widget.lwd-teams-narrow #team_list .team.col-md-4,
.teams-elementor-widget.lwd-teams-narrow #team_list .team.col-md-3 { flex-basis: 100%; width: 100%; }
.teams-elementor-widget.lwd-teams-narrow #team_anchors .elementor-button-wrapper { width: 100%; }
.teams-elementor-widget.lwd-teams-medium #team_list .team.col-md-4,
.teams-elementor-widget.lwd-teams-medium #team_list .team.col-md-3 { flex-basis: calc((100% - var(--lwd-teams-gap, 24px)) / 2); width: calc((100% - var(--lwd-teams-gap, 24px)) / 2); }
.teams-elementor-widget.lwd-teams-medium #team_anchors .elementor-button-wrapper { width: 50%; }
@media (max-width: 767px) {
    .team-form > .row > .col-6,
    .team-form > .row > .col-4 { flex-basis: 100%; width: 100%; }
    .team-form input:not([type="checkbox"]):not([type="radio"]),
    .team-form select,
    .team-form textarea { font-size: 16px; }
    .teams-elementor-widget #team_list .team-container > img,
    .teams-elementor-widget .flip-container img { height: auto !important; min-height: 0 !important; max-height: none !important; }
}
/* A desktop user-agent on iPad must not make contact details depend on hover. */
@media (hover: none), (pointer: coarse), (max-width: 767px) {
    .teams-elementor-widget #team_list .hover-element {
        display: block;
        position: relative;
        inset: auto;
        height: auto;
        padding: 16px;
        overflow: visible;
    }
    .teams-elementor-widget #team_list .hover-background-element { background-color: transparent !important; min-height: 0; }
    .teams-elementor-widget .flip-container,
    .teams-elementor-widget .flip-container .card,
    .teams-elementor-widget .flip-container .back { height: auto; }
    .teams-elementor-widget .flip-container .front { display: none; }
    .teams-elementor-widget .flip-container .back { position: relative; transform: none; }
    .teams-elementor-widget #team_list .elementor-post__card:hover .attachment-medium { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .teams-elementor-widget .animated,
    .teams-elementor-widget .hover-element-active,
    .teams-elementor-widget .flip-container * { animation: none !important; transition: none !important; }
}
