/* ---------------------------------------------------------------------------
 * WPBakery layout shim
 *
 * The live site builds five pages with WPBakery Page Builder (js_composer), a
 * licensed plugin we deliberately do not install. Its stylesheet is 464KB; we
 * neither need nor are entitled to redistribute it.
 *
 * The imported markup only ever uses 14 distinct builder classes — measured from
 * the extracted content, not guessed:
 *
 *   vc_column (28)      vc_row (16)          vc_single_image (13)
 *   vc_column_text (10) vc_row_inner (4)     vc_column_inner (4)
 *   vc_box_circle_2 (3) vc_cta (2)           vc_custom_heading (2)
 *   vc_box_rounded (2)  vc_separator (1)     + 3 generated vc_custom_<hash>
 *
 * plus the Ultimate VC Addons heading wrapper (uvc-*, ult-*). This file
 * reproduces that surface in ~100 lines of plain CSS.
 *
 * The vc_custom_<hash> classes carry per-element spacing/background that WPBakery
 * normally emits as an inline <style> block. Those blocks are NOT present in the
 * REST payload, so any such styling is lost — acceptable for a bridge, and the
 * reason the affected pages are worth eyeballing after import.
 * ------------------------------------------------------------------------ */

.wpb-content-wrapper {
    width: 100%;
}

/* --- Rows: a 12-column flex grid with gutters ---------------------------- */

.vc_row,
.vc_row_inner {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
}

.vc_row::after,
.vc_row_inner::after {
    content: "";
    display: table;
    clear: both;
}

.vc_column,
.vc_column_container,
.vc_column_inner {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}

/* Explicit widths. WPBakery emits vc_col-sm-* (and lg/md/xs variants); treat them
   all the same since the bridge does not need per-breakpoint fidelity. */
.vc_col-sm-1  { flex: 0 0 8.3333%;  max-width: 8.3333%;  }
.vc_col-sm-2  { flex: 0 0 16.6667%; max-width: 16.6667%; }
.vc_col-sm-3  { flex: 0 0 25%;      max-width: 25%;      }
.vc_col-sm-4  { flex: 0 0 33.3333%; max-width: 33.3333%; }
.vc_col-sm-5  { flex: 0 0 41.6667%; max-width: 41.6667%; }
.vc_col-sm-6  { flex: 0 0 50%;      max-width: 50%;      }
.vc_col-sm-7  { flex: 0 0 58.3333%; max-width: 58.3333%; }
.vc_col-sm-8  { flex: 0 0 66.6667%; max-width: 66.6667%; }
.vc_col-sm-9  { flex: 0 0 75%;      max-width: 75%;      }
.vc_col-sm-10 { flex: 0 0 83.3333%; max-width: 83.3333%; }
.vc_col-sm-11 { flex: 0 0 91.6667%; max-width: 91.6667%; }
.vc_col-sm-12 { flex: 0 0 100%;     max-width: 100%;     }

@media (max-width: 768px) {
    .vc_row, .vc_row_inner { display: block; }
    .vc_column, .vc_column_container, .vc_column_inner,
    [class*="vc_col-sm-"] { flex: none; max-width: 100%; width: 100%; }
}

/* --- Content elements ---------------------------------------------------- */

.vc_column_text { margin-bottom: 1.5rem; }
.vc_column_text > :last-child { margin-bottom: 0; }

.vc_single_image { margin-bottom: 1.5rem; }
.vc_single_image img,
.vc_single_image-img { max-width: 100%; height: auto; display: block; }
.vc_single_image.vc_align_center,
.vc_single_image .vc_single_image-wrapper.vc_align_center { margin-left: auto; margin-right: auto; }

.vc_box_rounded img,
.vc_box_rounded.vc_single_image-img { border-radius: 6px; }

.vc_box_circle_2,
.vc_box_circle_2 img { border-radius: 50%; overflow: hidden; }

.vc_separator {
    display: flex;
    align-items: center;
    margin: 2rem 0;
}
.vc_separator .vc_sep_holder { flex: 1 1 auto; height: 1px; }
.vc_separator .vc_sep_line { border-top: 1px solid #e0e0e0; display: block; }

.vc_cta,
.vc_cta3-container {
    padding: 1.75rem;
    margin-bottom: 1.5rem;
    background: #f6f6f6;
    border-radius: 4px;
}

.vc_custom_heading { margin-bottom: 1rem; }

/* --- Ultimate VC Addons heading widget ----------------------------------- */

.uvc-heading { margin-bottom: 1.5rem; }
.uvc-heading .uvc-main-heading h1,
.uvc-heading .uvc-main-heading h2,
.uvc-heading .uvc-main-heading h3 { margin: 0; }
.uvc-heading-spacer { margin: 0.5rem 0; }
.uvc-heading-spacer.line_only { display: flex; justify-content: center; }
.uvc-headings-line { display: inline-block; max-width: 100%; }
.ult-adjust-bottom-margin { margin-bottom: 1.5rem; }
.ult-responsive { width: 100%; }

/* --- Replaced plugins ---------------------------------------------------- */

/* Slider Revolution is not installed. Any leftover container collapses rather
   than leaving a gap where a slider used to be. DURO-11 replaces the slider with
   a static positioning hero, so this is the intended end state, not a stopgap. */
.rev_slider_wrapper,
.rev_slider_container,
.forcefullwidth_wrapper_tp_banner { display: none !important; }
