
/* =========================================================
   BABS Opleiding – Betheme / BeBuilder
   ========================================================= */

body.babs-bebuilder-page{
  --cream:#FAF3E7;
  --cream-deep:#F3E5D1;
  --paper:#FFFDF8;
  --ink:#2B2420;
  --ink-soft:#665B53;
  --terracotta:#DD4E2B;
  --terracotta-dk:#B93C1F;
  --terracotta-tint:#F7DFD7;
  --gold:#A67F1F;
  --gold-soft:#D9BC68;
  --gold-tint:#F4EAC9;
  --line:#E4D6BE;
  --shadow:0 18px 40px -22px rgba(43,36,32,.35);
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Figtree',ui-sans-serif,system-ui,sans-serif;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

body.babs-bebuilder-page *{box-sizing:border-box}
body.babs-bebuilder-page img{max-width:100%;height:auto}
body.babs-bebuilder-page #Header_wrapper,
body.babs-bebuilder-page #Subheader,
body.babs-bebuilder-page #Footer,
body.babs-bebuilder-page .footer_copy{display:none!important}
body.babs-bebuilder-page #Content{padding:0!important;background:var(--cream)!important}
body.babs-bebuilder-page .content_wrapper,
body.babs-bebuilder-page .sections_group{width:100%!important;margin:0!important}
body.babs-bebuilder-page .section_wrapper,
body.babs-bebuilder-page .mcb-section-inner{
  max-width:1120px!important;
  width:100%!important;
  padding-left:28px!important;
  padding-right:28px!important;
  box-sizing:border-box;
}
body.babs-bebuilder-page .babs-section{margin:0!important}
body.babs-bebuilder-page .babs-section .column,
body.babs-bebuilder-page .babs-section .mcb-column{margin-bottom:0}
body.babs-bebuilder-page .babs-section .column_attr,
body.babs-bebuilder-page .babs-section .mcb-column-inner{font-size:inherit;line-height:inherit}

body.babs-bebuilder-page h1,
body.babs-bebuilder-page h2,
body.babs-bebuilder-page h3,
body.babs-bebuilder-page h4{
  font-family:'Baloo 2',ui-rounded,'Segoe UI Rounded',sans-serif;
  font-weight:700;
  color:var(--ink);
  margin:0;
  letter-spacing:.2px;
}
body.babs-bebuilder-page p{margin:0}
body.babs-bebuilder-page a{color:inherit}

/* Helpers */
.babs-eyebrow{
  font-weight:700;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--terracotta-dk);
}
.babs-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5em;
  font-weight:700;
  font-size:1rem;
  padding:.95em 1.7em;
  border-radius:999px;
  text-decoration:none!important;
  border:2px solid transparent;
  cursor:pointer;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease;
  white-space:nowrap;
}
.babs-btn-primary{
  background:var(--terracotta);
  color:#FFF8F1!important;
  box-shadow:0 12px 28px -12px rgba(221,78,43,.65);
}
.babs-btn-primary:hover{background:var(--terracotta-dk);transform:translateY(-2px)}
.babs-btn-ghost{background:transparent;color:var(--ink)!important;border-color:var(--ink)}
.babs-btn-ghost:hover{background:var(--ink);color:var(--cream)!important;transform:translateY(-2px)}
.babs-btn-outline-light{background:transparent;color:#FFF8F1!important;border-color:rgba(255,248,241,.55)}
.babs-btn-outline-light:hover{background:rgba(255,248,241,.14);transform:translateY(-2px)}
.babs-btn-wide{width:100%}

/* Header */
.babs-site-header{
  position:sticky!important;
  top:0;
  z-index:999;
  background:rgba(250,243,231,.9)!important;
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
body.admin-bar .babs-site-header{top:32px}
.babs-site-header .section_wrapper,
.babs-site-header .mcb-section-inner{padding-top:0!important;padding-bottom:0!important}
.babs-nav{
  min-height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.babs-brand{display:flex;align-items:center;gap:10px;text-decoration:none!important}
.babs-brand-mark{width:38px;height:38px;flex:none}
.babs-brand-name{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:1.15rem;color:var(--ink)}
.babs-links{display:flex;align-items:center;gap:28px}
.babs-links a{font-weight:600;font-size:.95rem;text-decoration:none!important;color:var(--ink-soft)}
.babs-links a:hover{color:var(--terracotta-dk)}

/* Hero */
.babs-hero-section{
  padding:76px 0 88px!important;
  background:
    radial-gradient(680px 420px at 88% -10%,var(--gold-tint) 0%,transparent 60%),
    radial-gradient(600px 500px at -10% 20%,var(--terracotta-tint) 0%,transparent 55%)!important;
  overflow:hidden;
}
.babs-hero-copy{padding-right:34px}
.babs-hero-title h1{
  font-size:clamp(2.4rem,4.6vw,3.6rem);
  line-height:1.06;
  margin-top:14px;
}
.babs-hero-title em{font-style:normal;color:var(--terracotta)}
.babs-hero-tagline{margin-top:18px;font-size:1.18rem;color:var(--ink-soft);max-width:52ch}
.babs-hero-ctas{margin-top:34px;display:flex;flex-wrap:wrap;gap:14px}
.babs-hero-trust{
  margin-top:40px;
  display:flex;
  flex-wrap:wrap;
  gap:28px 40px;
  padding-top:26px;
  border-top:1px solid var(--line)
}
.babs-trust-stat b{
  display:block;
  font-family:'Baloo 2',sans-serif;
  font-size:1.5rem;
  color:var(--terracotta-dk)
}
.babs-trust-stat span{font-size:.85rem;color:var(--ink-soft)}
.babs-hero-art{display:flex;align-items:center;justify-content:center;min-height:390px}
.babs-hero-art svg{width:100%;max-width:390px;height:auto}

/* Standard sections */
.babs-content-section{padding:88px 0!important}
.babs-alt-section{
  background:var(--paper)!important;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.babs-section-head{text-align:center;max-width:680px;margin:0 auto 48px}
.babs-section-head h2{font-size:clamp(1.9rem,3vw,2.4rem);margin-top:10px}
.babs-section-head p:not(.babs-eyebrow){margin-top:14px;color:var(--ink-soft);font-size:1.05rem}

/* Intro */
.babs-intro-copy{padding-right:26px}
.babs-intro-copy h2{margin-top:10px;font-size:clamp(1.7rem,2.6vw,2.1rem)}
.babs-intro-body{margin-top:18px;color:var(--ink-soft);font-size:1.05rem}
.babs-intro-body p+p{margin-top:16px}
.babs-intro-body strong{color:var(--ink)}
.babs-pull{
  margin:0;
  background:var(--ink);
  color:var(--cream);
  border-radius:22px;
  padding:38px 34px;
  box-shadow:var(--shadow)
}
.babs-pull p{font-family:'Baloo 2',sans-serif;font-size:1.4rem;line-height:1.35}
.babs-pull footer{margin-top:22px;font-weight:600;font-size:.92rem;color:var(--gold-soft)}
.babs-pull footer span{display:block;font-weight:400;color:#D8CDC2;font-size:.85rem;margin-top:2px}

/* Cards */
.babs-card-wrap{margin-bottom:24px!important}
.babs-card .column_attr,
.column_attr.babs-card,
.babs-card .mcb-column-inner{
  height:100%;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:18px;
  padding:30px 26px!important;
}
.babs-card .babs-icon-badge{
  width:46px;height:46px;border-radius:14px;background:var(--terracotta-tint);
  display:flex;align-items:center;justify-content:center;margin-bottom:14px
}
.babs-card .babs-icon-badge svg{width:24px;height:24px}
.babs-card h3{font-size:1.15rem;margin-top:10px}
.babs-card p{margin-top:10px;color:var(--ink-soft);font-size:.97rem}
.babs-card .babs-num{
  font-family:'Baloo 2',sans-serif;font-size:.85rem;font-weight:700;
  color:var(--terracotta);letter-spacing:.06em;margin-top:0
}

/* Gallery */
.babs-gallery-wrap{margin-top:6px!important}
.babs-gallery .gallery,
.babs-gallery .mfn-gallery{column-count:3;column-gap:18px}
.babs-gallery .gallery-item,
.babs-gallery .gallery .gallery-item,
.babs-gallery .mfn-gallery .gallery-item{
  width:100%!important;
  float:none!important;
  margin:0 0 18px!important;
  break-inside:avoid;
  border-radius:16px;
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow:0 10px 24px -16px rgba(43,36,32,.35);
  background:var(--paper)
}
.babs-gallery img{width:100%;height:auto;display:block;border:0!important}

/* Offers */
.babs-offer-wrap{margin-bottom:24px!important}
.babs-offer-card .column_attr,
.column_attr.babs-offer-card,
.babs-offer-card .mcb-column-inner{
  height:100%;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:22px;
  padding:32px 28px!important;
  position:relative;
  display:flex;
  flex-direction:column
}
.babs-offer-card.babs-featured .column_attr,
.column_attr.babs-offer-card.babs-featured,
.babs-featured .column_attr{
  border-color:var(--terracotta);
  box-shadow:var(--shadow);
  background:linear-gradient(180deg,var(--terracotta-tint) 0%,var(--paper) 190px)
}
.babs-offer-badge{
  display:inline-block;
  background:var(--terracotta);color:#FFF8F1;
  font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:6px 14px;border-radius:999px;margin-bottom:18px
}
.babs-offer-card h3{font-size:1.3rem}
.babs-offer-card .babs-sub{margin-top:6px;color:var(--ink-soft);font-size:.92rem}
.babs-offer-price{margin-top:20px;display:flex;align-items:baseline;gap:6px;font-family:'Baloo 2',sans-serif}
.babs-offer-price b{font-size:2.1rem}
.babs-offer-price span{font-size:.85rem;color:var(--ink-soft);font-family:'Figtree',sans-serif}
.babs-offer-meta{margin-top:14px;font-size:.88rem;color:var(--ink-soft);display:grid;gap:4px}
.babs-offer-list{list-style:none;margin:22px 0 0!important;padding:0!important;display:grid;gap:10px;flex:1}
.babs-offer-list li{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--ink-soft)}
.babs-check{flex:none;color:var(--terracotta);font-weight:800}
.babs-offer-card .babs-btn{margin-top:26px}
.babs-dates{
  margin-top:20px;
  background:var(--gold-tint);
  border:1px solid var(--gold-soft);
  border-radius:16px;
  padding:20px 26px;
  display:flex;flex-wrap:wrap;gap:14px 34px;align-items:center;justify-content:center
}
.babs-dates .label{font-weight:700;font-family:'Baloo 2',sans-serif;color:var(--gold);font-size:.95rem}
.babs-date-pill{background:var(--paper);border:1px solid var(--gold-soft);padding:7px 14px;border-radius:999px;font-size:.9rem;font-weight:600}
.babs-price-note{text-align:center;margin-top:14px;color:var(--ink-soft);font-size:.85rem}

/* FAQ */
.babs-faq-list .column,
.babs-faq-list .mcb-column{margin-bottom:12px!important}
.babs-faq{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:16px;
  padding:4px 0
}
.babs-faq summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:20px 24px;
  font-weight:700;
  font-family:'Baloo 2',sans-serif;
  font-size:1.02rem
}
.babs-faq summary::-webkit-details-marker{display:none}
.babs-faq .plus{
  flex:none;width:26px;height:26px;border-radius:50%;
  background:var(--terracotta-tint);color:var(--terracotta-dk);
  display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-family:'Figtree',sans-serif;font-weight:700;
  transition:transform .2s ease
}
.babs-faq[open] summary .plus{transform:rotate(45deg)}
.babs-faq-body{padding:0 24px 22px;color:var(--ink-soft);font-size:.97rem;max-width:70ch}

/* CTA */
.babs-cta-box{
  background:var(--ink);
  color:var(--cream);
  border-radius:28px;
  padding:56px 48px;
  display:grid;
  grid-template-columns:1.3fr auto;
  gap:32px;
  align-items:center
}
.babs-cta-box h2{color:var(--cream);font-size:clamp(1.7rem,3vw,2.2rem)}
.babs-cta-box p{margin-top:12px;color:#D8CDC2;max-width:48ch}
.babs-cta-actions{display:flex;flex-direction:column;gap:12px}

/* Contact */
.babs-contact-left .column_attr,
.babs-contact-right .column_attr{height:100%}
.babs-contact-shell{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:26px;
  padding:48px!important;
}
.babs-contact-copy h2{font-size:1.9rem;margin-top:8px}
.babs-contact-copy p{margin-top:14px;color:var(--ink-soft)}
.babs-contact-copy .babs-mail{margin-top:22px;font-size:.95rem}
.babs-contact-copy .babs-mail a{font-weight:700;color:var(--terracotta-dk);text-decoration:none}
.babs-contact-panel{
  background:var(--cream-deep);
  border-radius:18px;
  padding:30px;
  min-height:100%;
  display:flex;
  flex-direction:column;
  gap:16px;
  justify-content:center
}
.babs-contact-panel .babs-icon-badge{
  width:46px;height:46px;border-radius:14px;background:var(--paper);
  display:flex;align-items:center;justify-content:center
}
.babs-contact-panel .babs-icon-badge svg{width:24px;height:24px}
.babs-contact-panel h3{font-size:1.1rem}
.babs-contact-panel p{color:var(--ink-soft);font-size:.92rem}

/* Footer */
.babs-footer{
  background:var(--ink)!important;
  color:#D8CDC2;
  padding:52px 0 34px!important
}
.babs-footer-grid{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px;
  padding-bottom:30px;border-bottom:1px solid rgba(216,205,194,.18)
}
.babs-footer-brand{display:flex;align-items:center;gap:10px}
.babs-footer .babs-brand-name{color:var(--cream)}
.babs-footer-links{display:flex;gap:34px;flex-wrap:wrap}
.babs-footer-links a{font-size:.92rem;text-decoration:none!important;color:#D8CDC2}
.babs-footer-links a:hover{color:var(--gold-soft)}
.babs-footer-bottom{
  padding-top:22px;display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;
  font-size:.82rem;color:#A79A8C
}

@media(max-width:900px){
  .babs-hero-copy{padding-right:0}
  .babs-hero-art{min-height:280px}
}
@media(max-width:880px){
  .babs-content-section{padding:68px 0!important}
  .babs-card-wrap,.babs-offer-wrap{margin-bottom:18px!important}
  .babs-gallery .gallery,.babs-gallery .mfn-gallery{column-count:2}
}
@media(max-width:820px){
  .babs-links{display:none}
  .babs-nav .babs-btn{padding:.75em 1.15em;font-size:.9rem}
  .babs-cta-box{grid-template-columns:1fr;text-align:center;padding:42px 28px}
  .babs-cta-box p{margin-inline:auto}
  .babs-cta-actions{align-items:stretch}
}
@media(max-width:782px){body.admin-bar .babs-site-header{top:46px}}
@media(max-width:560px){
  body.babs-bebuilder-page .section_wrapper,
  body.babs-bebuilder-page .mcb-section-inner{padding-left:20px!important;padding-right:20px!important}
  .babs-hero-section{padding:54px 0 62px!important}
  .babs-hero-title h1{font-size:2.25rem}
  .babs-gallery .gallery,.babs-gallery .mfn-gallery{column-count:1}
  .babs-contact-shell{padding:28px!important}
  .babs-btn{white-space:normal;text-align:center;width:100%}
  .babs-footer-grid,.babs-footer-bottom{display:block}
  .babs-footer-links{margin-top:22px;display:grid;gap:10px}
  .babs-footer-bottom span{display:block;margin-top:8px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .babs-btn,.babs-faq summary .plus{transition:none}
}


/* Gravity Forms popup */
body.babs-gf-popup-open{overflow:hidden}
.babs-gf-modal[hidden]{display:none!important}
.babs-gf-modal{
  position:fixed;inset:0;z-index:999999;
  display:grid;place-items:center;padding:24px;
  font-family:'Figtree',sans-serif
}
.babs-gf-backdrop{
  position:absolute;inset:0;background:rgba(43,36,32,.72);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)
}
.babs-gf-dialog{
  position:relative;z-index:1;width:min(760px,100%);max-height:min(88vh,920px);
  overflow:auto;background:var(--paper,#fff);color:var(--ink,#2B2420);
  border-radius:24px;padding:38px 40px 34px;
  box-shadow:0 28px 80px rgba(0,0,0,.28);outline:none
}
.babs-gf-close{
  position:absolute;right:18px;top:16px;width:42px;height:42px;border:0;border-radius:50%;
  background:var(--cream-deep,#f3eadf);color:var(--ink,#2B2420);font-size:30px;line-height:1;
  cursor:pointer;display:grid;place-items:center
}
.babs-gf-close:hover,.babs-gf-close:focus-visible{background:var(--terracotta-tint,#f7dfd8);color:var(--terracotta-dk,#b43c20)}
.babs-gf-heading{padding-right:52px;margin-bottom:26px}
.babs-gf-heading h2{margin:5px 0 6px;font-family:'Baloo 2',sans-serif;font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.1;color:var(--ink,#2B2420)}
.babs-gf-heading>p:last-child{margin:0;color:var(--ink-soft,#665d57)}
.babs-gf-form-wrap .gform_wrapper{margin:0}
.babs-gf-form-wrap .gform_wrapper .gform_heading{display:none}
.babs-gf-form-wrap .gform_wrapper .gfield_label,
.babs-gf-form-wrap .gform_wrapper .gform-field-label{font-weight:700;color:var(--ink,#2B2420)}
.babs-gf-form-wrap .gform_wrapper input[type=text],
.babs-gf-form-wrap .gform_wrapper input[type=email],
.babs-gf-form-wrap .gform_wrapper input[type=tel],
.babs-gf-form-wrap .gform_wrapper input[type=url],
.babs-gf-form-wrap .gform_wrapper input[type=number],
.babs-gf-form-wrap .gform_wrapper select,
.babs-gf-form-wrap .gform_wrapper textarea{
  border:1px solid var(--line,#ded4ca)!important;border-radius:12px!important;background:#fff!important;
  padding:12px 14px!important;box-shadow:none!important;color:var(--ink,#2B2420)!important
}
.babs-gf-form-wrap .gform_wrapper input:focus,
.babs-gf-form-wrap .gform_wrapper select:focus,
.babs-gf-form-wrap .gform_wrapper textarea:focus{
  border-color:var(--terracotta,#DD4E2B)!important;box-shadow:0 0 0 3px rgba(221,78,43,.12)!important;outline:none!important
}
.babs-gf-form-wrap .gform_wrapper .gform_button,
.babs-gf-form-wrap .gform_wrapper input[type=submit],
.babs-gf-form-wrap .gform_wrapper button[type=submit]{
  border:0!important;border-radius:999px!important;background:var(--terracotta,#DD4E2B)!important;color:#fff!important;
  font-family:'Figtree',sans-serif!important;font-weight:700!important;padding:13px 24px!important;cursor:pointer!important
}
.babs-gf-form-wrap .gform_wrapper .gform_button:hover,
.babs-gf-form-wrap .gform_wrapper input[type=submit]:hover,
.babs-gf-form-wrap .gform_wrapper button[type=submit]:hover{filter:brightness(.94)}
.babs-gf-form-wrap .gform_wrapper .gfield_validation_message,
.babs-gf-form-wrap .gform_wrapper .validation_message{border-radius:10px}
.babs-gf-form-wrap .gform_confirmation_message{padding:24px;border-radius:16px;background:var(--cream-deep,#f3eadf);font-size:1.05rem}
@media(max-width:600px){
  .babs-gf-modal{padding:10px;align-items:end}
  .babs-gf-dialog{width:100%;max-height:92vh;border-radius:22px 22px 10px 10px;padding:30px 20px 24px}
  .babs-gf-heading{padding-right:42px}
  .babs-gf-close{right:12px;top:12px}
}
