
/* IJEMA 5.4 - Page Builder Pro Plus */
.builder-section{
  position:relative;
  padding:var(--section-pt,72px) 0 var(--section-pb,72px);
  background:var(--builder-bg,#fff);
  color:var(--builder-color,var(--ink));
  background-size:cover;
  background-position:center;
  overflow:hidden;
}
.builder-section.builder-soft{--builder-bg:#f3f8fc}
.builder-section.builder-blue{--builder-bg:#0f5cab;--builder-color:#fff}
.builder-section.builder-dark{--builder-bg:#0d2f55;--builder-color:#fff}
.builder-section.builder-green{--builder-bg:#eff8f2}
.builder-section.has-bg-image::before{
  content:"";position:absolute;inset:0;
  background:rgba(8,29,49,var(--builder-overlay,.28));
}
.builder-section>.builder-container{position:relative;z-index:1;margin:0 auto;padding:0 20px;width:100%}
.builder-container.narrow{max-width:900px}
.builder-container.normal{max-width:1180px}
.builder-container.wide{max-width:1380px}
.builder-row{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:var(--builder-gap,20px);
  align-items:var(--builder-align,start);
  margin-bottom:24px;
}
.builder-row:last-child{margin-bottom:0}
.builder-column{
  grid-column:span var(--builder-span,12);
  min-width:0;
  background:var(--col-bg,transparent);
  color:var(--col-color,inherit);
  padding:var(--col-padding,0);
  border-radius:var(--col-radius,0);
  box-shadow:var(--col-shadow,none);
}
.builder-block{
  margin-top:var(--block-mt,0);
  margin-bottom:var(--block-mb,16px);
}
.builder-block:last-child{margin-bottom:0}
.builder-heading{
  margin:0;color:var(--block-color,inherit);
  font-size:clamp(1.8rem,3.5vw,var(--builder-font,3rem));
  line-height:1.08;letter-spacing:-.035em;
  text-align:var(--builder-text-align,left)
}
.builder-text,.builder-list{
  margin:0;color:var(--block-color,inherit);opacity:.9;
  font-size:var(--builder-font,1.02rem);
  text-align:var(--builder-text-align,left);
  white-space:pre-line
}
.builder-list{padding-left:1.3rem;display:grid;gap:8px}
.builder-image{margin:0}
.builder-image img{
  width:100%;height:var(--builder-image-height,auto);max-height:720px;
  object-fit:var(--builder-image-fit,cover);
  border-radius:var(--builder-radius,22px);display:block
}
.builder-image figcaption{font-size:.82rem;opacity:.72;margin-top:8px}
.builder-video-shell{position:relative;width:100%;overflow:hidden;border-radius:var(--builder-radius,22px);background:#061929}
.builder-video-shell.ratio-16-9{aspect-ratio:16/9}
.builder-video-shell.ratio-4-3{aspect-ratio:4/3}
.builder-video-shell iframe,.builder-video-shell video{width:100%;height:100%;border:0;display:block;object-fit:cover}
.builder-gallery{display:grid;grid-template-columns:repeat(var(--gallery-cols,3),minmax(0,1fr));gap:var(--gallery-gap,12px)}
.builder-gallery img{width:100%;height:var(--gallery-height,220px);object-fit:cover;border-radius:var(--builder-radius,18px);display:block}
.builder-button{
  display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:14px;
  font-weight:800;background:var(--blue);color:#fff;box-shadow:0 12px 28px rgba(15,92,171,.22)
}
.builder-button.secondary{background:#fff;color:var(--blue-dark);border:1px solid var(--line);box-shadow:none}
.builder-button.outline{background:transparent;color:inherit;border:1px solid currentColor;box-shadow:none}
.builder-quote{
  margin:0;padding:22px 24px;border-left:4px solid var(--green);border-radius:16px;
  background:rgba(255,255,255,.72);color:var(--ink);font-weight:700;font-size:1.08rem
}
.builder-blue .builder-quote,.builder-dark .builder-quote{background:rgba(255,255,255,.12);color:#fff;border-color:#8fe1aa}
.builder-divider{height:var(--divider-size,1px);background:var(--divider-color,#d9e5ee);border:0;margin:0}
.builder-spacer{height:var(--builder-space,40px)}
.editor-preview .builder-hover{outline:2px dashed rgba(15,92,171,.58)!important;outline-offset:3px}
.editor-preview .builder-selected{outline:3px solid #0f5cab!important;outline-offset:4px!important;box-shadow:0 0 0 7px rgba(15,92,171,.12)!important}
@media(max-width:760px){
  .builder-column{grid-column:1/-1!important}
  .builder-section{padding-top:54px;padding-bottom:54px}
  .builder-gallery{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){.builder-gallery{grid-template-columns:1fr}}
