.opf-layout-3col-wrap { padding: 1.35rem clamp(12px, 2vw, 28px) 0; background: #fff; width: 100%; max-width: none; margin: 0; box-sizing: border-box; }
.opf-layout-3col { display: grid; gap: 1.4rem; grid-template-columns: clamp(220px, 21vw, 320px) minmax(0, 1fr) clamp(220px, 21vw, 320px); align-items: start; width: 100%; }
.opf-col-center { order: 2; min-width: 0; }
.opf-col-left { order: 1; }
.opf-col-right { order: 3; }
.opf-col-left .opf-zone,
.opf-col-right .opf-zone,
.opf-col-left .opf-block,
.opf-col-right .opf-block { margin-bottom: 1rem; }
.opf-center-inline-zone { margin: 1rem 0; }
@media (max-width: 980px) {
  .opf-layout-3col { grid-template-columns: 1fr; }
  .opf-col-center { order: 1; }
  .opf-col-left { order: 2; }
  .opf-col-right { order: 3; }
}


/* v5.2.6: ensure center-column generated blocks span full usable width */
.opf-col-center > *,
.opf-center-inline-zone,
.opf-col-center .opf-block,
.opf-col-center .opf-block-type-accordion,
.opf-col-center .opf-block-default-media,
.opf-col-center .opf-placeholder-image,
.opf-col-center .opf-placeholder-image img,
.opf-col-center .opf-accordion-btn,
.opf-col-center .opf-accordion-panel,
.opf-col-center .opf-default-ad-inline {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* v5.2.9: additional support for Elementor-seeded 3-col scaffolds */
.opf-seeded-3col {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}
.opf-seeded-3col .opf-seeded-col {
  min-width: 0;
}
