/* Legacy widgets remain functional; only the scoped page presentation changes. */
.ksbb-preview .ksbb-unified-page { min-height:60vh; background:var(--paper); padding-bottom:64px; }
.ksbb-preview .ksbb-page-heading { background:var(--mint); border-bottom:1px solid var(--line); padding:52px 0; margin-bottom:32px; }
.ksbb-preview .ksbb-page-heading .eyebrow { color:var(--green); margin-bottom:12px; }
.ksbb-preview .ksbb-page-heading h1 { font-size:clamp(32px,4vw,52px); }
.ksbb-preview .ksbb-page-heading a { color:var(--green); }
.ksbb-preview .ksbb-unified-page .entry-content { max-width:1200px; margin:auto; }
.ksbb-preview .ksbb-unified-page .elementor { --e-global-color-primary:var(--green); --e-global-color-secondary:var(--deep); --e-global-color-text:var(--ink); --e-global-color-accent:var(--green); }
.ksbb-preview .ksbb-unified-page .elementor :is(.elementor-widget-text-editor,.elementor-heading-title,.elementor-image-box-title,.elementor-image-box-description,.elementor-icon-box-title,.elementor-icon-box-description,.elementor-tab-title,.elementor-tab-content) { color:var(--ink)!important; font-family:"KSBB Figtree",sans-serif!important; }
.ksbb-preview .ksbb-unified-page .elementor :is(.elementor-heading-title,.elementor-image-box-title,.elementor-icon-box-title) { font-family:"KSBB Sora",sans-serif!important; line-height:1.35; }
.ksbb-preview .ksbb-unified-page .elementor :is(.elementor-top-section,.e-con.e-parent) { background-color:var(--paper)!important; background-image:none!important; color:var(--ink); }
.ksbb-preview .ksbb-unified-page .elementor :is(.elementor-background-overlay,.elementor-spacer) { display:none; }
.ksbb-preview .ksbb-unified-page .elementor :is(.elementor-button,a.elementskit-btn) { background:var(--green)!important; color:white!important; border-radius:9px!important; padding:14px 22px!important; font-family:"KSBB Figtree",sans-serif!important; box-shadow:none!important; }
.ksbb-preview .ksbb-unified-page .elementor :is(.elementor-image-box-wrapper,.elementor-widget-accordion,.elementor-widget-toggle) { border-radius:16px; }
.ksbb-preview .ksbb-unified-page :is(iframe,video,img) { max-width:100%; }
.ksbb-preview .ksbb-unified-page .entry-content:not(:has(.elementor)) { padding:24px; }
@media(max-width:767px){.ksbb-preview .ksbb-page-heading { padding:32px 0; }.ksbb-preview .ksbb-unified-page { padding-bottom:36px; }.ksbb-preview .ksbb-unified-page .elementor-section { padding-inline:16px!important; }}
/* Consistent editorial rhythm, without touching embedded applications. */
.ksbb-preview .ksbb-unified-page .elementor :is(.elementor-top-section,.e-con.e-parent) {
  min-height:0!important; height:auto!important; margin-top:0!important; margin-bottom:0!important;
  padding-top:36px!important; padding-bottom:36px!important;
  border-bottom:1px solid var(--line);
}
.ksbb-preview .ksbb-unified-page .elementor :is(.elementor-top-section,.e-con.e-parent):nth-child(even) { background-color:white!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-top-section > .elementor-container { max-width:1100px; }
.ksbb-preview .ksbb-unified-page .elementor :is(h1,h2).elementor-heading-title { font-size:clamp(25px,2.5vw,36px)!important; letter-spacing:-.035em; }
.ksbb-preview .ksbb-unified-page .elementor :is(h3,h4).elementor-heading-title { font-size:clamp(20px,2vw,26px)!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-text-editor { font-size:16px!important; line-height:1.8!important; }
.ksbb-preview .ksbb-unified-page .elementor :is(.elementor-image-box-description,.elementor-icon-box-description) { font-size:16px!important; line-height:1.75!important; margin-top:12px; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-image img { border-radius:12px; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-image-box-wrapper { padding:24px; background:white; border:1px solid var(--line); height:100%; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-image-box { margin-bottom:18px; }
.ksbb-preview .ksbb-unified-page .elementor :is(.elementor-tab-title,.elementor-accordion-item,.elementor-toggle-item) { border-color:var(--line)!important; }
.ksbb-preview .ksbb-unified-page .elementor :is(.elementor-tab-content,.elementor-tab-title) { background:white!important; padding:20px!important; }
.ksbb-preview .ksbb-unified-page a:focus-visible { outline:3px solid var(--green); outline-offset:4px; }
@media(max-width:767px){
 .ksbb-preview .ksbb-unified-page .elementor :is(.elementor-top-section,.e-con.e-parent) { padding:24px 16px!important; }
 .ksbb-preview .ksbb-unified-page .elementor .elementor-image-box-wrapper { padding:20px; }
 .ksbb-preview .ksbb-unified-page .elementor .elementor-widget-text-editor { font-size:16px!important; }
}
/* Render critical content without scroll-animation dependencies. */
.ksbb-preview .ksbb-unified-page .elementor .elementor-invisible { visibility:visible!important; opacity:1!important; transform:none!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-top-section { overflow-wrap:break-word; }
.ksbb-preview .ksbb-unified-page .elementor :is(.elementor-column,.elementor-widget-wrap,.e-con) { min-width:0; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-icon-box-content { color:var(--ink); }
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-testimonial-carousel,
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-elementskit-testimonial .elementor-widget-container { overflow:hidden; }
@media(max-width:767px){
 .ksbb-preview .ksbb-unified-page .elementor .e-con.e-parent { width:100%!important; max-width:100%!important; margin-inline:0!important; }
 .ksbb-preview .ksbb-unified-page .elementor .elementor-widget-container { max-width:100%; }
}
/* Old full-screen hero settings must not survive inside the new page shell. */
.ksbb-preview .ksbb-unified-page .elementor .elementor-top-section > .elementor-container { min-height:0!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-top-section > .elementor-container > .elementor-column > .elementor-widget-wrap { min-height:0!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-text-editor :is(p,span) { color:var(--ink)!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-image-box-img { margin-bottom:18px!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-image-box-img img { width:auto!important; max-width:100%; height:auto!important; max-height:180px; object-fit:contain; }
/* Legacy coloured column cards: keep the new palette and readable text. */
.ksbb-preview .ksbb-unified-page .elementor :is(.elementor-column > .elementor-widget-wrap.elementor-element-populated,.e-con.e-child) { background-color:white!important; background-image:none!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-section .elementor-column > .elementor-widget-wrap.elementor-element-populated,
.ksbb-preview .ksbb-unified-page .elementor .elementor-top-section .elementor-col-50 > .elementor-widget-wrap.elementor-element-populated:has(.elementor-widget-text-editor + .elementor-widget-text-editor, .elementor-widget-icon-box) { border:1px solid var(--line); border-radius:16px; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-icon-box-wrapper :is(a,span,p,h3,h4) { color:var(--ink)!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-icon-box-icon :is(svg,i) { fill:var(--green)!important; color:var(--green)!important; }
/* Compact the first legacy hero block after the new page title. */
.ksbb-preview .ksbb-unified-page .elementor > .elementor-section:first-child { padding-top:8px!important; padding-bottom:28px!important; }
.ksbb-preview .ksbb-unified-page .elementor > .elementor-section:first-child .elementor-widget-wrap { margin:0!important; padding:24px!important; border:1px solid var(--line); border-radius:16px; }
.ksbb-preview .ksbb-unified-page .elementor > .elementor-section:first-child .elementor-widget-text-editor { margin:0!important; }
.ksbb-preview .ksbb-page-heading h1 { letter-spacing:-.025em; word-spacing:.12em; }
.ksbb-preview .ksbb-page-heading .eyebrow { font-size:12px; }
.ksbb-preview .ksbb-unified-page .elementor > .elementor-section:first-child .elementor-widget-text-editor :is(p,span,strong) { color:var(--ink)!important; opacity:1!important; }

/* ===== v2: visual QA pass (portfolio grid, about pages, legacy widgets) ===== */
/* One typeface system for legacy text, icon fonts untouched. */
.ksbb-preview .ksbb-unified-page .elementor :is(p,li,a,strong,b,em,blockquote,td,th,label,figcaption,.elementor-toggle-title,.eael-accordion-tab-title,.elementskit-commentor-content,.elementskit-profile-info,.elementor-progress-text,.elementor-progress-percentage,.elementor-button-text,.elementor-icon-list-text) { font-family:"KSBB Figtree",sans-serif!important; }
.ksbb-preview .ksbb-unified-page .elementor :is(.elementor-heading-title,.eael-accordion-tab-title,.elementskit-author-name) { font-family:"KSBB Sora",sans-serif!important; }
.ksbb-preview .ksbb-unified-page .elementor :is(h1,h2,h3,h4,.elementor-heading-title) { hyphens:manual; overflow-wrap:normal; word-break:normal; }

/* Page intro: legacy subtitle becomes the lead of the page heading. */
.ksbb-preview .ksbb-page-heading { margin-bottom:0; }
.ksbb-preview .ksbb-unified-page .elementor > .elementor-section:first-child { background:var(--mint)!important; border-bottom:1px solid var(--line); padding:0 0 40px!important; }
.ksbb-preview .ksbb-unified-page .elementor > .elementor-section:first-child .elementor-widget-wrap { border:0!important; background:transparent!important; padding:0 20px!important; }
.ksbb-preview .ksbb-unified-page .elementor > .elementor-section:first-child .elementor-widget-text-editor { font-size:18px!important; text-align:left!important; max-width:760px; }
.ksbb-preview .ksbb-unified-page .elementor > .elementor-section:first-child .elementor-widget-text-editor :is(p,span,strong,h1,h2,h3) { text-align:left!important; font-size:18px!important; line-height:1.6!important; margin:0 0 6px!important; }

/* Shared content width for every legacy section and its cards. */
.ksbb-preview .ksbb-unified-page .elementor .elementor-top-section > .elementor-container,
.ksbb-preview .ksbb-unified-page .elementor .e-con.e-parent > .e-con-inner { max-width:1100px!important; margin-inline:auto; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-top-section > .elementor-container > .elementor-column > .elementor-widget-wrap { padding:20px!important; margin:0!important; box-shadow:none!important; }
.ksbb-preview .ksbb-unified-page .elementor > :is(.elementor-section,.e-con):not(:has(.elementor-widget)) { display:none!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-divider { display:none; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-text-editor p { margin:0 0 14px; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-heading { margin-bottom:14px!important; }

/* Buttons: one style, no legacy underline. */
.ksbb-preview .ksbb-unified-page .elementor :is(.elementor-button,.elementor-button *) { text-decoration:none!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-button.elementor-size-xs { padding:6px 12px!important; font-size:12px!important; border-radius:999px!important; font-weight:600; letter-spacing:.02em; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-button.elementor-size-xs .elementor-button-icon { font-size:10px; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-button { margin-bottom:12px!important; }

/* Card grids (portfolio, services, products): equal cards, full-bleed media. */
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-section > .elementor-container:has(.elementor-widget-image-box) { gap:20px; flex-wrap:wrap; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-section { margin-bottom:20px!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-column:has(> .elementor-widget-wrap > .elementor-widget-image-box) { flex:1 1 0; min-width:0; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-column > .elementor-widget-wrap:has(> .elementor-widget-image-box) { display:flex!important; flex-direction:column; align-content:stretch; height:100%; padding:0 0 18px!important; background:white!important; border:1px solid var(--line)!important; border-radius:16px!important; overflow:hidden; box-shadow:none!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-column > .elementor-widget-wrap:has(> .elementor-widget-image-box) > .elementor-element { width:100%; margin-bottom:10px!important; padding-inline:18px; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-column > .elementor-widget-wrap:has(> .elementor-widget-image-box) > .elementor-widget-image-box { padding:0!important; margin-bottom:16px!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-column > .elementor-widget-wrap > .elementor-widget-image-box .elementor-image-box-wrapper { padding:0!important; border:0!important; border-radius:0!important; background:transparent!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-column > .elementor-widget-wrap > .elementor-widget-image-box .elementor-image-box-img { display:block; width:100%!important; margin:0!important; aspect-ratio:400/275; background:var(--mint); overflow:hidden; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-column > .elementor-widget-wrap > .elementor-widget-image-box .elementor-image-box-img img { width:100%!important; height:100%!important; max-height:none!important; object-fit:cover; border-radius:0!important; filter:none!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-column > .elementor-widget-wrap:has(> .elementor-widget-image-box) .elementor-heading-title { font-size:18px!important; line-height:1.35!important; letter-spacing:-.01em; text-transform:none; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-column > .elementor-widget-wrap:has(> .elementor-widget-image-box) .elementor-widget-text-editor { font-size:15px!important; margin-top:auto!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-column > .elementor-widget-wrap:has(> .elementor-widget-image-box) .elementor-widget-text-editor :is(p,strong,b) { margin:0!important; font-weight:700; color:var(--deep)!important; }
.ksbb-preview .ksbb-unified-page img.ksbb-img-missing { visibility:hidden; }

/* Toggle "Detail" and progress bars inside cards. */
.ksbb-preview .ksbb-unified-page .elementor .elementor-toggle .elementor-tab-title { padding:10px 0!important; background:transparent!important; border:0!important; border-top:1px solid var(--line)!important; font-size:14px; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-toggle .elementor-tab-title a { color:var(--green)!important; font-weight:600; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-toggle .elementor-tab-content { padding:4px 0 10px!important; border:0!important; font-size:14px; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-toggle .elementor-tab-content p { margin:0 0 4px; text-align:left!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-progress-wrapper { height:22px!important; border-radius:999px!important; background:var(--mint)!important; overflow:hidden; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-progress-bar { height:22px!important; line-height:22px!important; border-radius:999px; background:var(--green)!important; }
.ksbb-preview .ksbb-unified-page .elementor :is(.elementor-progress-text,.elementor-progress-percentage) { font-size:12px!important; color:white!important; padding-inline:10px; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-progress-bar:not([style*="width: 1"]):not([style*="width: 2"]):not([style*="width: 3"]):not([style*="width: 4"]):not([style*="width: 5"]):not([style*="width: 6"]):not([style*="width: 7"]):not([style*="width: 8"]):not([style*="width: 9"]) :is(.elementor-progress-text,.elementor-progress-percentage) { color:var(--ink)!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-progress .elementor-title { font-size:13px; color:var(--ink); }

/* Quote/decorative icons must not sit on top of text. */
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-icon { position:static!important; transform:none!important; margin:0 0 8px!important; width:auto!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-icon .elementor-icon { font-size:32px!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-image img { border-radius:14px!important; }

/* Testimonials. */
.ksbb-preview .ksbb-unified-page .elementor .elementskit-testimonial-slider-block-style { background:white!important; border:1px solid var(--line)!important; border-radius:16px!important; box-shadow:none!important; padding:24px!important; height:100%; text-align:left; }
.ksbb-preview .ksbb-unified-page .elementor .elementskit-testimonial-slider .swiper-slide { padding:6px; height:auto; }
.ksbb-preview .ksbb-unified-page .elementor .elementskit-commentor-content p { color:var(--ink)!important; font-size:15px!important; line-height:1.7!important; text-align:left!important; }
.ksbb-preview .ksbb-unified-page .elementor :is(.elementskit-author-name,.elementskit-author-des) { color:var(--deep)!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementskit-author-des:empty,.ksbb-preview .ksbb-unified-page .elementor .elementskit-author-des:is(:empty) { display:none; }
.ksbb-preview .ksbb-unified-page .elementor .elementskit-watermark-icon { position:static!important; display:block; margin-bottom:10px; opacity:.35; }
.ksbb-preview .ksbb-unified-page .elementor .elementskit-commentor-image img { width:56px!important; height:56px!important; border-radius:50%!important; object-fit:cover; }

/* FAQ / accordions. */
.ksbb-preview .ksbb-unified-page .elementor .eael-adv-accordion .eael-accordion-list { border:1px solid var(--line)!important; border-radius:12px!important; margin-bottom:10px!important; overflow:hidden; background:white; }
.ksbb-preview .ksbb-unified-page .elementor .eael-adv-accordion .eael-accordion-header { background:white!important; padding:16px 20px!important; border:0!important; color:var(--ink)!important; }
.ksbb-preview .ksbb-unified-page .elementor .eael-adv-accordion .eael-accordion-tab-title { font-size:16px!important; color:var(--ink)!important; margin:0!important; }
.ksbb-preview .ksbb-unified-page .elementor .eael-adv-accordion .eael-accordion-content { padding:0 20px 18px!important; border:0!important; background:white!important; color:var(--ink); }
.ksbb-preview .ksbb-unified-page .elementor .eael-adv-accordion :is(.fa-toggle,.eael-advanced-accordion-icon-closed,.eael-advanced-accordion-icon-opened) { color:var(--green)!important; fill:var(--green)!important; }

/* Contact blocks, social strips, maps. */
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-social-icons .elementor-social-icons-wrapper { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-social-icon { background:var(--mint)!important; color:var(--green)!important; border-radius:50%!important; margin:0!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-social-icon :is(i,svg) { color:var(--green)!important; fill:var(--green)!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-google_maps iframe { min-height:320px; border-radius:14px; display:block; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-icon-box-wrapper { align-items:center; }

@media(max-width:767px){
 .ksbb-preview .ksbb-unified-page .elementor .elementor-inner-column:has(> .elementor-widget-wrap > .elementor-widget-image-box) { flex:1 1 100%; }
 .ksbb-preview .ksbb-unified-page .elementor .elementor-inner-section > .elementor-container:has(.elementor-widget-image-box) { gap:16px; }
 .ksbb-preview .ksbb-unified-page .elementor > .elementor-section:first-child .elementor-widget-text-editor :is(p,span,strong,h1,h2,h3) { font-size:16px!important; }
}

/* ===== v3: card internals ===== */
/* Legacy negative offsets made "Detail" ride over the title. */
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-column .elementor-widget > .elementor-widget-container { margin:0!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-column .elementor-widget { margin-top:0!important; position:relative!important; top:auto!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-column > .elementor-widget-wrap:has(> .elementor-widget-image-box) .elementor-heading-title { text-transform:none!important; font-size:17px!important; line-height:1.4!important; min-height:calc(1.4em * 3); }
.ksbb-preview .ksbb-unified-page .elementor .elementor-toggle .elementor-tab-title { line-height:1.4!important; display:flex!important; align-items:center; justify-content:space-between; flex-direction:row-reverse; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-toggle .elementor-toggle-icon { float:none!important; color:var(--green); }
/* Progress label: show full text instead of a clipped first letter. */
.ksbb-preview .ksbb-unified-page .elementor .elementor-progress-bar { display:flex!important; align-items:center; justify-content:space-between; min-width:0; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-progress-wrapper { position:relative; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-progress-bar[style*="width: 0"] { width:100%!important; background:transparent!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-progress-bar[style*="width: 0"] :is(.elementor-progress-text,.elementor-progress-percentage) { color:var(--ink)!important; }
.ksbb-preview .ksbb-unified-page .elementor :is(.elementor-progress-text,.elementor-progress-percentage) { white-space:nowrap; overflow:visible!important; text-overflow:clip; width:auto!important; flex:none; }
/* Section heading breathing room before card grids. */
.ksbb-preview .ksbb-unified-page .elementor .elementor-top-column > .elementor-widget-wrap > .elementor-widget-heading:has(+ .elementor-inner-section) { margin-bottom:24px!important; }
/* Social strip: centered, no card chrome; drop decorative rules. */
.ksbb-preview .ksbb-unified-page .elementor .elementor-top-section:has(.elementor-widget-social-icons):not(:has(.elementor-widget-text-editor)) { background:transparent!important; border:0!important; padding-block:24px!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-top-section:has(.elementor-widget-social-icons):not(:has(.elementor-widget-text-editor)) .elementor-widget-wrap { background:transparent!important; border:0!important; justify-content:center; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-social-icons .elementor-social-icon { width:42px!important; height:42px!important; font-size:18px!important; display:inline-flex!important; align-items:center; justify-content:center; }

/* ===== v4 ===== */
.ksbb-preview .elementor-page-content .ksbb-page-heading { border-bottom:0; padding-bottom:20px; }
.ksbb-preview .ksbb-unified-page .elementor > .elementor-section:first-child > .elementor-container { max-width:min(1200px, calc(100% - 96px))!important; }
.ksbb-preview .ksbb-unified-page .elementor > .elementor-section:first-child .elementor-widget-wrap { padding:0!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-column.elementor-col-33:has(> .elementor-widget-wrap > .elementor-widget-image-box) { flex:0 0 calc((100% - 40px) / 3)!important; max-width:calc((100% - 40px) / 3); }
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-column.elementor-col-50:has(> .elementor-widget-wrap > .elementor-widget-image-box) { flex:0 0 calc((100% - 20px) / 2)!important; max-width:calc((100% - 20px) / 2); }
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-column:not(:has(.elementor-widget)) { display:none!important; }
@media(max-width:767px){
 .ksbb-preview .ksbb-unified-page .elementor > .elementor-section:first-child > .elementor-container { max-width:calc(100% - 32px)!important; }
 .ksbb-preview .ksbb-unified-page .elementor .elementor-inner-column:is(.elementor-col-33,.elementor-col-50):has(> .elementor-widget-wrap > .elementor-widget-image-box) { flex:1 1 100%!important; max-width:100%; }
}

/* ===== v5: full-bleed intro aligned with page heading ===== */
.ksbb-preview .elementor-page-content.ksbb-unified-page .entry-content { max-width:none!important; }
.ksbb-preview .ksbb-unified-page .elementor > .elementor-section:first-child { width:100%!important; max-width:none!important; padding:0 0 32px!important; }
.ksbb-preview .ksbb-unified-page .elementor > .elementor-section:first-child > .elementor-container { width:min(1200px, calc(100% - 96px))!important; max-width:none!important; margin-inline:auto!important; }
.ksbb-preview .ksbb-unified-page .elementor > .elementor-section:first-child :is(.elementor-column,.elementor-widget-wrap,.elementor-widget,.elementor-widget-container) { padding:0!important; margin:0!important; }
@media(max-width:1024px){ .ksbb-preview .ksbb-unified-page .elementor > .elementor-section:first-child > .elementor-container { width:calc(100% - 64px)!important; } }
@media(max-width:767px){ .ksbb-preview .ksbb-unified-page .elementor > .elementor-section:first-child > .elementor-container { width:calc(100% - 32px)!important; } }

/* ===== v6 ===== */
/* Legacy decorative quote glyphs render as boxes; Elementor placeholder avatars are not real people. */
.ksbb-preview .ksbb-unified-page .elementor :is(.elementor-widget-icon:has(.icon-quote2),.elementskit-watermark-icon) { display:none!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementskit-commentor-image:has(img[src*="elementor/assets/images/placeholder"]) { display:none!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementskit-testimonial-slider-block-style { display:flex!important; flex-direction:column-reverse; gap:14px; }
.ksbb-preview .ksbb-unified-page .elementor .elementskit-commentor-bio { margin:0!important; padding:14px 0 0!important; border-top:1px solid var(--line); position:static!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementskit-profile-info { display:block; text-align:left; }
.ksbb-preview .ksbb-unified-page .elementor .elementskit-author-name { font-size:15px!important; }
/* Missing legacy image: branded neutral frame. */
.ksbb-preview .ksbb-unified-page .elementor .elementor-image-box-img:has(img.ksbb-img-missing) { position:relative; background:var(--deep)!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-image-box-img:has(img.ksbb-img-missing)::after { content:"KSBB"; position:absolute; inset:0; display:grid; place-items:center; color:#e3eadb; font:600 28px "KSBB Sora",sans-serif; letter-spacing:.08em; }
/* Buttons inside cards keep padding from the card edge. */
.ksbb-preview .ksbb-unified-page .elementor .elementor-top-section > .elementor-container > .elementor-column > .elementor-widget-wrap { padding-bottom:28px!important; }
/* Contact icon list: icon aligns with first line. */
.ksbb-preview .ksbb-unified-page .elementor .elementor-icon-list-item { align-items:flex-start!important; }

/* ===== v7 ===== */
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-text-editor :is(span,div,font) { font-family:"KSBB Figtree",sans-serif!important; font-size:inherit!important; }
/* Icon images inside image-box cards: show whole icon at a modest size. */
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-image-box .elementor-image-box-img:has(img.ksbb-icon-img) { aspect-ratio:auto!important; background:transparent!important; padding:24px 18px 0!important; text-align:left; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-image-box img.ksbb-icon-img { width:72px!important; height:72px!important; object-fit:contain!important; border-radius:0!important; }
/* Decorative absolutely-positioned legacy shapes. */
.ksbb-preview .ksbb-unified-page .elementor .elementor-absolute:is(.elementor-widget-image,.elementor-widget-icon,.elementor-widget-spacer,.elementor-widget-html) { display:none!important; }
/* Two-column info cards (e.g. Legalitas). */
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-section > .elementor-container:not(:has(.elementor-widget-image-box)) { gap:20px; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-section .elementor-inner-column:not(:has(.elementor-widget-image-box)) > .elementor-widget-wrap { padding:20px!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-button:last-child { margin-bottom:0!important; }
@media(max-width:767px){ .ksbb-preview .ksbb-unified-page .elementor .elementor-inner-section > .elementor-container:not(:has(.elementor-widget-image-box)) { flex-direction:column; } }

/* ===== v8 ===== */
/* Legacy negative widget offsets cause text overlap. */
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget > .elementor-widget-container { margin-top:0!important; }
/* Service icon cards: compact green-tinted icons, padded text, buttons pinned to card bottom. */
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-column > .elementor-widget-wrap > .elementor-widget-image-box .elementor-image-box-img:has(img.ksbb-icon-img) { aspect-ratio:auto!important; background:transparent!important; padding:24px 18px 0!important; text-align:left!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-column > .elementor-widget-wrap > .elementor-widget-image-box .elementor-image-box-img img.ksbb-icon-img { width:64px!important; height:64px!important; object-fit:contain!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-image-box .elementor-image-box-content { padding:0 18px!important; text-align:left!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-column > .elementor-widget-wrap:has(> .elementor-widget-image-box) > .elementor-widget-button:last-child { margin-top:auto!important; }
/* Container sections whose button followed the white card: one card for the whole block. */
.ksbb-preview .ksbb-unified-page .elementor .e-con.e-parent:has(.elementor-widget-button) > .e-con-inner { background:white; border:1px solid var(--line); border-radius:16px; padding:28px!important; }
.ksbb-preview .ksbb-unified-page .elementor .e-con.e-parent:has(.elementor-widget-button) > .e-con-inner .e-con { background:transparent!important; border:0!important; padding:0!important; }

/* ===== v9 ===== */
/* Intro subtitle flush with page title (beats generic column padding). */
.ksbb-preview .ksbb-unified-page .elementor > .elementor-section.elementor-top-section:first-child > .elementor-container > .elementor-column > .elementor-widget-wrap { padding:0!important; }
/* Card grids: identical column widths in every row. */
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-section:has(.elementor-widget-image-box) { padding:0!important; margin-inline:0!important; width:100%!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-section:has(.elementor-widget-image-box) > .elementor-container { max-width:100%!important; width:100%!important; margin:0!important; padding:0!important; }
.ksbb-preview .ksbb-unified-page .elementor .elementor-inner-column:has(> .elementor-widget-wrap > .elementor-widget-image-box) { padding:0!important; margin:0!important; }
/* Sections holding only spacers/dividers are leftover gaps. */
.ksbb-preview .ksbb-unified-page .elementor > :is(.elementor-section,.e-con):not(:has(.elementor-widget:not(.elementor-widget-spacer):not(.elementor-widget-divider))) { display:none!important; }
.ksbb-preview .ksbb-unified-page .elementor > :is(.elementor-section,.e-con):last-child { border-bottom:0!important; }
/* Button after text: breathing room inside its card. */
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-text-editor + .elementor-widget-button { margin-top:12px!important; }
/* Contact text lists: icon rows align with the first line. */
.ksbb-preview .ksbb-unified-page .elementor .elementor-widget-social-icons + .elementor-widget-text-editor p { margin-bottom:10px!important; line-height:1.6!important; }

/* Contact block: legacy icon column was 10px wide, so icons were clipped. */
.ksbb-preview .ksbb-unified-page .elementor :is(.e-con,.e-con-inner):has(> .e-con > .elementor-widget-social-icons):has(> .e-con > .elementor-widget-text-editor) { flex-wrap:nowrap!important; gap:14px!important; align-items:flex-start!important; }
.ksbb-preview .ksbb-unified-page .elementor .e-con:has(> .elementor-widget-social-icons):has(+ .e-con > .elementor-widget-text-editor) { --width:36px!important; width:36px!important; min-width:36px!important; flex:0 0 36px!important; margin:0!important; padding:0!important; overflow:visible!important; }
.ksbb-preview .ksbb-unified-page .elementor .e-con:has(> .elementor-widget-social-icons) + .e-con:has(> .elementor-widget-text-editor) { --width:auto!important; width:auto!important; flex:1 1 auto!important; min-width:0!important; margin:0!important; padding:0!important; }
.ksbb-preview .ksbb-unified-page .elementor .e-con:has(+ .e-con > .elementor-widget-text-editor) > .elementor-widget-social-icons { width:36px!important; max-width:none!important; --container-widget-width:36px!important; }
.ksbb-preview .ksbb-unified-page .elementor .e-con:has(+ .e-con > .elementor-widget-text-editor) > .elementor-widget-social-icons .elementor-social-icons-wrapper { display:flex!important; flex-direction:column!important; flex-wrap:nowrap!important; gap:0!important; }
.ksbb-preview .ksbb-unified-page .elementor .e-con:has(+ .e-con > .elementor-widget-text-editor) > .elementor-widget-social-icons .elementor-social-icon { width:32px!important; height:32px!important; font-size:15px!important; }
.ksbb-preview .ksbb-unified-page .elementor .e-con:has(> .elementor-widget-social-icons) + .e-con > .elementor-widget-text-editor p { margin:0!important; line-height:32px!important; overflow-wrap:anywhere; }

/* Daftar > Hak & Kewajiban Anggota: number + text stay in one compact row card. */
.ksbb-preview .ksbb-unified-page .elementor-1491 :is(.elementor-element-aa48e02,.elementor-element-7085bb9c) .elementor-inner-section { margin:0 0 12px!important; padding:0!important; }
.ksbb-preview .ksbb-unified-page .elementor-1491 :is(.elementor-element-aa48e02,.elementor-element-7085bb9c) .elementor-inner-section > .elementor-container { display:flex!important; flex-direction:row!important; flex-wrap:nowrap!important; align-items:flex-start!important; gap:14px!important; padding:14px 16px!important; background:white!important; border:1px solid var(--line)!important; border-radius:14px!important; }
.ksbb-preview .ksbb-unified-page .elementor-1491 :is(.elementor-element-aa48e02,.elementor-element-7085bb9c) .elementor-inner-section .elementor-inner-column { width:auto!important; max-width:none!important; }
.ksbb-preview .ksbb-unified-page .elementor-1491 :is(.elementor-element-aa48e02,.elementor-element-7085bb9c) .elementor-inner-section .elementor-inner-column > .elementor-widget-wrap { padding:0!important; margin:0!important; border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; min-height:0!important; }
.ksbb-preview .ksbb-unified-page .elementor-1491 :is(.elementor-element-aa48e02,.elementor-element-7085bb9c) .elementor-inner-section .elementor-inner-column:first-child { flex:0 0 32px!important; }
.ksbb-preview .ksbb-unified-page .elementor-1491 :is(.elementor-element-aa48e02,.elementor-element-7085bb9c) .elementor-inner-section .elementor-inner-column:last-child { flex:1 1 auto!important; min-width:0!important; }
.ksbb-preview .ksbb-unified-page .elementor-1491 :is(.elementor-element-aa48e02,.elementor-element-7085bb9c) .elementor-inner-section .elementor-inner-column:first-child p { display:grid; place-items:center; width:32px; height:32px; margin:0!important; border-radius:50%; background:var(--mint)!important; color:var(--green)!important; font-weight:700; font-size:14px!important; line-height:1!important; }
.ksbb-preview .ksbb-unified-page .elementor-1491 :is(.elementor-element-aa48e02,.elementor-element-7085bb9c) .elementor-inner-section .elementor-inner-column:last-child p { margin:0!important; padding-top:4px; font-size:15px!important; line-height:1.55!important; }
.ksbb-preview .ksbb-unified-page .elementor-1491 :is(.elementor-element-11622f8,.elementor-element-41ce9140) .elementor-widget-container { padding-right:0!important; }
.ksbb-preview .ksbb-unified-page .elementor-1491 :is(.elementor-element-11622f8,.elementor-element-41ce9140) { margin-bottom:16px!important; }
@media(max-width:767px){ .ksbb-preview .ksbb-unified-page .elementor-1491 :is(.elementor-element-bca4ba4,.elementor-element-6aa29e4,.elementor-element-734a586d,.elementor-element-46c389da) { display:none!important; } .ksbb-preview .ksbb-unified-page .elementor-1491 :is(.elementor-element-7c17cfa,.elementor-element-115d4503) .elementor-heading-title { font-size:30px!important; text-align:left!important; } }

/* Mobile registration procedure: compact heading and full-width step cards. */
@media(max-width:767px){
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-41c4dfa5 > .elementor-container { min-height:0!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-2b9aa953 > .elementor-container { flex-direction:row!important; flex-wrap:nowrap!important; gap:10px!important; align-items:center!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-2b9aa953 .elementor-inner-column { width:auto!important; flex:1 1 0!important; min-width:0!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-2b9aa953 .elementor-inner-column > .elementor-widget-wrap { padding:0!important; border:0!important; border-radius:0!important; background:transparent!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-2b9aa953 .elementor-element-8ccef48 { flex:0 0 auto!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-79ed535 .elementor-heading-title { font-size:15px!important; line-height:1.4!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-2b9aa953 .elementor-divider-separator { width:100%!important; border-color:var(--line)!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-2d19eea9 { margin-bottom:20px!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-2d19eea9 .elementor-heading-title { font-size:28px!important; line-height:1.3!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-a40851d { width:100%!important; padding:0!important; margin:0!important; gap:14px!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 :is(.elementor-element-8001f2b,.elementor-element-ba220ad,.elementor-element-7a69035) { width:100%!important; max-width:100%!important; margin:0!important; padding:18px!important; border:1px solid var(--line)!important; border-radius:14px!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 :is(.elementor-element-8001f2b,.elementor-element-ba220ad,.elementor-element-7a69035) > .e-con-inner { width:100%!important; padding:0!important; margin:0!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 :is(.elementor-element-c35a332,.elementor-element-d93b905,.elementor-element-cc31af0) { width:100%!important; padding:0!important; margin:0!important; gap:10px!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-a40851d .elementor-widget-heading .elementor-heading-title { font-size:19px!important; line-height:1.4!important; text-align:left!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-a40851d .elementor-widget-text-editor { text-align:left!important; font-size:15px!important; line-height:1.65!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-a40851d .elementor-widget-text-editor > .elementor-widget-container { margin:0!important; padding:0!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-a40851d :is(ol,ul) { padding-left:1.3em!important; margin:0!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-a40851d li { margin-bottom:8px!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-a3dc7b4 > .elementor-widget-container { margin:10px 0 0!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-a3dc7b4 .elementor-heading-title { text-align:center!important; font-size:16px!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-56da865 > .elementor-widget-container { margin:0!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-56da865 .elementor-button { width:100%!important; }
}

/* Registration page: align desktop content and remove decorative empty cards. */
.ksbb-preview .ksbb-unified-page .elementor-1491 :is(.elementor-element-54505e8b,.elementor-element-ae1c74e) > .elementor-container { max-width:900px!important; }
.ksbb-preview .ksbb-unified-page .elementor-1491 :is(.elementor-element-734a586d,.elementor-element-46c389da,.elementor-element-bca4ba4,.elementor-element-6aa29e4) { display:none!important; }
.ksbb-preview .ksbb-unified-page .elementor-1491 :is(.elementor-element-7085bb9c,.elementor-element-aa48e02) { width:100%!important; }
.ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-2b9aa953 > .elementor-container { display:flex!important; flex-direction:row!important; flex-wrap:nowrap!important; gap:14px!important; align-items:center!important; }
.ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-2b9aa953 .elementor-inner-column { width:auto!important; flex:1 1 0!important; }
.ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-2b9aa953 .elementor-element-8ccef48 { flex:0 0 auto!important; }
.ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-2b9aa953 .elementor-inner-column > .elementor-widget-wrap { border:0!important; border-radius:0!important; padding:0!important; background:transparent!important; box-shadow:none!important; }
.ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-2b9aa953 .elementor-divider-separator { width:100%!important; border-color:var(--line)!important; }
@media(min-width:768px){
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-41c4dfa5 > .elementor-container { max-width:1000px!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-a40851d { width:100%!important; padding:0!important; margin-top:28px!important; background:transparent!important; border:0!important; gap:20px!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 :is(.elementor-element-8001f2b,.elementor-element-ba220ad,.elementor-element-7a69035) { width:100%!important; max-width:100%!important; padding:24px!important; margin:0!important; border:1px solid var(--line)!important; border-radius:14px!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 :is(.elementor-element-8001f2b,.elementor-element-ba220ad,.elementor-element-7a69035) > .e-con-inner { max-width:100%!important; padding:0!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 :is(.elementor-element-c35a332,.elementor-element-d93b905,.elementor-element-cc31af0) { width:100%!important; padding:0!important; gap:12px!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-a40851d .elementor-widget-text-editor { text-align:left!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-a40851d .elementor-widget-text-editor > .elementor-widget-container { margin:0!important; padding:0!important; }
 .ksbb-preview .ksbb-unified-page .elementor-1491 .elementor-element-a40851d ol { padding-left:1.4em!important; }
}
