/*
 * Native WPBakery pages: makes builder elements look exactly like the theme.
 * Rows and columns carry the theme's own classes (pb-section, pb-steps, pb-step ...);
 * these rules only neutralise the builder's default spacing and floats around them.
 */

/* Rows and columns that carry theme classes */
:is(.pb-vc, .pb-page-content) .vc_row.pb-n { margin-left: 0; margin-right: 0; }
:is(.pb-vc, .pb-page-content) .vc_row.pb-n:not(.pb-section__head) { margin-bottom: 0; }
:is(.pb-vc, .pb-page-content) .vc_row.pb-n::before, :is(.pb-vc, .pb-page-content) .vc_row.pb-n::after { content: none; display: none; }
:is(.pb-vc, .pb-page-content) .vc_row.pb-n > .wpb_column { float: none; width: auto; min-height: 0; }
:is(.pb-vc, .pb-page-content) .vc_row.pb-n > .wpb_column > .vc_column-inner { padding: 0; }
:is(.pb-vc, .pb-page-content) .vc_row.pb-n > .wpb_column > .vc_column-inner::before, :is(.pb-vc, .pb-page-content) .vc_row.pb-n > .wpb_column > .vc_column-inner::after { content: none; display: none; }
:is(.pb-vc, .pb-page-content) .vc_column_container.pb-container { padding-left: clamp(16px, 4vw, 28px); padding-right: clamp(16px, 4vw, 28px); }
.pb-vc > .vc_row.pb-n:not(.pb-bleed) { max-width: none; padding-left: 0; padding-right: 0; }
:is(.pb-vc, .pb-page-content) .pb-n .wpb_content_element, :is(.pb-vc, .pb-page-content) .pb-n .vc_btn3-container, :is(.pb-vc, .pb-page-content) .pb-n .vc_tta-container { margin-bottom: 0; }

/* Grid items that have their own padding (the builder resets column padding) */
:is(.pb-vc, .pb-page-content) .vc_column_container.pb-step { padding: 26px 26px 26px 72px; }
:is(.pb-vc, .pb-page-content) .vc_column_container.pb-fgrid__item { padding: 22px; }
:is(.pb-vc, .pb-page-content) .vc_column_container.pb-quote { padding: 22px; }
.pb-vc .vc_row.pb-hero__grid { margin-top: 18px; }
.pb-vc .pb-container > .vc_column-inner > .wpb_wrapper > .vc_row.pb-hero__grid:first-child { margin-top: 0; }
:is(.pb-vc, .pb-page-content) .pb-step .wpb_text_column p, .pb-vc .pb-fgrid__item .wpb_text_column p { margin: 0; }
:is(.pb-vc, .pb-page-content) .pb-quote .wpb_text_column p { margin: 0 0 12px; }

/* Alternating feature rows (the builder adds sibling rows, so :nth-child no longer matches) */
.pb-vc .vc_row.pb-feature:nth-child(even) .pb-feature__copy { order: 0; }
.pb-vc .vc_row.pb-feature.pb-feature--flip .pb-feature__copy { order: 2; }
@media (max-width: 860px) { .pb-vc .vc_row.pb-feature.pb-feature--flip .pb-feature__copy { order: 0; } }

/* Buttons: builder Button elements drawn as the theme's .pb-btn */
body .vc_btn3-container.pbn-btn { display: inline-block; margin: 0 12px 12px 0; vertical-align: middle; }
body .pb-cta .vc_btn3-container.pbn-btn { margin-bottom: 0; }
body .vc_btn3-container.pbn-btn a.vc_btn3 { box-shadow: none; background-image: none; line-height: 1.2; text-transform: none; letter-spacing: normal; font-family: inherit; }
body .vc_btn3-container.pbn-btn a.vc_btn3 { display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 46px; padding: 0 22px; border-radius: var(--pb-r); background: var(--pb-primary); color: #fff; font-weight: 700; font-size: var(--fs-1); border: 2px solid var(--pb-primary); cursor: pointer; text-decoration: none; transition: background var(--pb-ease), border-color var(--pb-ease), transform var(--pb-ease); white-space: nowrap; }
body .vc_btn3-container.pbn-btn a.vc_btn3:hover { background: var(--pb-navy); border-color: var(--pb-navy); color: #fff; text-decoration: none; }
body .vc_btn3-container.pbn-btn a.vc_btn3:active { transform: translateY(1px); }
body .vc_btn3-container.pbn-btn.pbn-btn--secondary a.vc_btn3 { background: transparent; color: var(--pb-primary); }
body .vc_btn3-container.pbn-btn.pbn-btn--secondary a.vc_btn3:hover { background: var(--pb-primary); color: #fff; }
body .vc_btn3-container.pbn-btn.pbn-btn--ghost a.vc_btn3 { background: transparent; color: var(--pb-navy); border-color: var(--pb-line); }
body .vc_btn3-container.pbn-btn.pbn-btn--ghost a.vc_btn3:hover { border-color: var(--pb-navy); background: #fff; color: var(--pb-navy); }
body .vc_btn3-container.pbn-btn.pbn-btn--light a.vc_btn3 { background: #fff; color: var(--pb-navy); border-color: #fff; }
body .vc_btn3-container.pbn-btn.pbn-btn--light a.vc_btn3:hover { background: var(--pb-mist); border-color: var(--pb-mist); color: var(--pb-navy); }
body .vc_btn3-container.pbn-btn.pbn-btn--lg a.vc_btn3 { min-height: 54px; padding: 0 28px; font-size: var(--fs-2); }
body .vc_btn3-container.pbn-btn.pbn-btn--on-dark a.vc_btn3 { color: #fff; border-color: rgba(255,255,255,.35); background: transparent; }
body .vc_btn3-container.pbn-btn.pbn-btn--on-dark a.vc_btn3:hover { border-color: #fff; }

/* Screenshot frame for Single Image elements with the pb-shot class */
body .wpb_single_image.pb-shot .vc_figure, body .wpb_single_image.pb-shot .vc_single_image-wrapper { display: block; width: 100%; margin: 0; }
body .wpb_single_image.pb-shot .vc_figure::before { content: ""; display: block; height: 34px; border-bottom: 1px solid var(--pb-line);
  background: radial-gradient(circle at 19px 17px, #C9D5E6 5px, transparent 5.5px), radial-gradient(circle at 35px 17px, #C9D5E6 5px, transparent 5.5px), radial-gradient(circle at 51px 17px, #C9D5E6 5px, transparent 5.5px), var(--pb-mist); }
body .wpb_single_image.pb-shot img { width: 100%; height: auto; display: block; }
body .wpb_single_image.pb-shot .vc_single_image-wrapper { border: 0; padding: 0; border-radius: 0; background: none; }

/* Accordions drawn like the theme's FAQ / openable sections */
body .pb-acc.vc_tta.vc_general { font-size: inherit; }
body .pb-acc .vc_tta-panels-container, body .pb-acc .vc_tta-panels { background: none !important; border: 0 !important; box-shadow: none !important; }
body .pb-acc .vc_tta-panels { border-top: 1px solid var(--pb-line) !important; border-radius: 0 !important; }
body .pb-acc.pb-acc--grid .vc_tta-panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 36px; border-top: 0 !important; }
@media (max-width: 640px) { body .pb-acc.pb-acc--grid .vc_tta-panels { grid-template-columns: 1fr; } }
body .pb-acc .vc_tta-panel { margin: 0 !important; border-bottom: 1px solid var(--pb-line); }
body .pb-acc.pb-acc--grid .vc_tta-panel { border-top: 1px solid var(--pb-line); border-bottom: 0; }
body .pb-acc.pb-acc--grid .vc_tta-panel:nth-last-child(-n+2) { border-bottom: 1px solid var(--pb-line); }
body .pb-acc .vc_tta-panel-heading { background: transparent !important; border: 0 !important; border-radius: 0 !important; }
body .pb-acc .vc_tta-panel-title { margin: 0; font-size: var(--fs-2); line-height: 1.4; }
body .pb-acc .vc_tta-panel-title > a { padding: 18px 44px 18px 0 !important; font-weight: 700; color: var(--pb-navy) !important; background: none !important; }
body .pb-acc .vc_tta-controls-icon { right: 4px !important; left: auto !important; }
body .pb-acc .vc_tta-panel-body { background: transparent !important; border: 0 !important; padding: 0 0 18px !important; color: var(--pb-ink-2); }
body .pb-acc .vc_tta-panel-body p { max-width: 70ch; }
body .pb-acc--content .vc_tta-panel-body { color: inherit; font-size: var(--fs-2); }

/* Trust badges written as an editable list: <li class="pb-badge-gst|checkout|free|once"> */
.pb-badges li[class^="pb-badge-"]::before { content: ""; width: 18px; height: 18px; flex: 0 0 auto; background: var(--pb-primary); -webkit-mask: var(--pb-badge-icon) center / contain no-repeat; mask: var(--pb-badge-icon) center / contain no-repeat; }
.pb-footer .pb-badges li[class^="pb-badge-"]::before { background: var(--pb-accent); }
.pb-badges { margin: 0; }
.pb-badges li.pb-badge-gst { --pb-badge-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 3 6v6c0 5 3.8 9.3 9 10 5.2-.7 9-5 9-10V6z'/%3E%3C/svg%3E"); }
.pb-badges li.pb-badge-checkout { --pb-badge-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 10V8a6 6 0 1 1 12 0v2h1a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-9a1 1 0 0 1 1-1zm2 0h8V8a4 4 0 0 0-8 0z'/%3E%3C/svg%3E"); }
.pb-badges li.pb-badge-free { --pb-badge-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 2 7v6c0 5.5 3.8 10.7 10 12 6.2-1.3 10-6.5 10-12V7zm-1.1 14.2-4.2-4.2 1.4-1.4 2.8 2.8 5.8-5.8 1.4 1.4z'/%3E%3C/svg%3E"); }
.pb-badges li.pb-badge-once { --pb-badge-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 2 7l10 5 10-5zm-8 8v6l8 4 8-4v-6l-8 4z'/%3E%3C/svg%3E"); }
.wpb_text_column .pb-badges { margin: 0; padding: 0; }
