
.rbu-blocks{width:100%}
.rbu-section{position:relative;background-size:cover;background-position:center;background-repeat:no-repeat}
.rbu-container{width:min(var(--rt-max,1300px),calc(100% - 64px));margin:0 auto}
.rbu-inner{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.rbu-layout-one-third-left .rbu-inner{grid-template-columns:1fr 2fr}
.rbu-layout-one-third-right .rbu-inner{grid-template-columns:2fr 1fr}
.rbu-layout-full .rbu-inner,.rbu-layout-background .rbu-inner{display:block}
.rbu-heading{margin:0 0 16px;line-height:1.1}
.rbu-text{font-size:16px;line-height:1.45}
.rbu-text p{margin:0 0 14px}
.rbu-button{display:inline-flex;margin-top:10px;padding:12px 20px;border-radius:999px;background:#0ea678;color:#fff;text-decoration:none;font-weight:600}
.rbu-image img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain}

/* article layout */
.rbu-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;align-items:start}
.rbu-article-main{min-width:0}
.rbu-article-sidebar{position:sticky;top:100px;background:#f7faf8;border:1px solid #dfe6e1;border-radius:16px;padding:18px}
.rbu-article-sidebar h3{margin:0 0 12px;font-size:20px}
.rbu-sidebar-content{font-size:15px;line-height:1.45}
.rbu-article-featured{margin:0 0 24px}
.rbu-article-featured img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;border-radius:16px}

@media(max-width:900px){
  .rbu-article-layout{grid-template-columns:1fr}
  .rbu-article-sidebar{position:static}
}
@media(max-width:760px){
  .rbu-inner,.rbu-layout-one-third-left .rbu-inner,.rbu-layout-one-third-right .rbu-inner{grid-template-columns:1fr}
  .rbu-container{width:calc(100% - 32px)}
}

/* Ratinger Builder 0.3.0 */
.rbu-section{
  background-repeat:no-repeat;
}
.rbu-width-full{
  width:100vw;
  max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
.rbu-width-full > .rbu-container{
  width:min(var(--rt-max,1300px),calc(100% - 64px));
}
.ratinger-builder-hide-title .rt-content article > h1:first-child,
.ratinger-builder-hide-title .entry-title,
.ratinger-builder-hide-title .page-title{
  display:none!important;
}
.ratinger-builder-hide-title .rt-content{
  padding-top:0;
}
.ratinger-builder-enabled .rt-content article{
  overflow:visible;
}


/* Ratinger Builder 0.4.0 — responsive backgrounds + global width */
.rbu-section{
  background-image:var(--rbu-bg,none);
  background-size:var(--rbu-bg-size,cover);
  background-position:var(--rbu-bg-position,center center);
}
@media(max-width:1024px){
  .rbu-container,
  .rbu-width-full > .rbu-container{
    width:calc(100% - 48px);
  }
}
@media(max-width:640px){
  .rbu-section{
    background-image:var(--rbu-mobile-bg,var(--rbu-bg,none));
    background-size:var(--rbu-mobile-bg-size,var(--rbu-bg-size,cover));
    background-position:var(--rbu-mobile-bg-position,var(--rbu-bg-position,center center));
  }
  .rbu-container,
  .rbu-width-full > .rbu-container{
    width:calc(100% - 32px);
  }
}


/* Ratinger Builder 0.5.0 — typography and spacing controls */
.rbu-section .rbu-copy{max-width:var(--rbu-content-max,none)}
.rbu-section .rbu-heading{
  font-size:var(--rbu-heading-size,inherit)!important;
  line-height:var(--rbu-heading-line,1.06)!important;
  font-weight:var(--rbu-heading-weight,600)!important;
  margin-bottom:var(--rbu-heading-mb,18px)!important;
}
.rbu-section .rbu-text{font-size:var(--rbu-lead-size,inherit)!important}
.rbu-eyebrow{
  margin-bottom:var(--rbu-eyebrow-mb,18px);
  color:var(--rbu-eyebrow-color,#079f74);
  font-size:var(--rbu-eyebrow-size,16px);
  font-weight:600;
  line-height:1.2;
}
.rbu-section .ratinger-hero-code__content{max-width:var(--rbu-content-max,760px)!important}
.rbu-section .ratinger-hero-code h1{
  font-size:var(--rbu-heading-size,48px)!important;
  line-height:var(--rbu-heading-line,1.06)!important;
  font-weight:var(--rbu-heading-weight,600)!important;
  margin-bottom:var(--rbu-heading-mb,18px)!important;
}
.rbu-section .ratinger-hero-code__lead{font-size:var(--rbu-lead-size,18px)!important}
.rbu-section .ratinger-hero-code__eyebrow{
  display:block;
  margin-bottom:var(--rbu-eyebrow-mb,18px);
  color:var(--rbu-eyebrow-color,#079f74);
  font-size:var(--rbu-eyebrow-size,16px);
  font-weight:600;
  line-height:1.2;
}


/* Ratinger Builder 0.6.0 — spacing controls */

/* Generic Builder content */
.rbu-section .rbu-text{
  margin-bottom:var(--rbu-text-mb,0);
}
.rbu-section .rbu-button{
  margin-bottom:var(--rbu-button-mb,0);
}

/* Current Ratinger Hero V2 */
.rbu-section .ratinger-hero-v2__content{
  padding-top:var(--rbu-content-pt,62px)!important;
  padding-bottom:var(--rbu-content-pb,56px)!important;
}
.rbu-section .ratinger-hero-v2__badge{
  margin-bottom:var(--rbu-eyebrow-mb,26px)!important;
}
.rbu-section .ratinger-hero-v2__title{
  margin-bottom:var(--rbu-heading-mb,22px)!important;
}
.rbu-section .ratinger-hero-v2__lead{
  margin-bottom:var(--rbu-text-mb,30px)!important;
}
.rbu-section .ratinger-hero-v2__benefits{
  gap:var(--rbu-items-gap,15px)!important;
}
.rbu-section .ratinger-hero-v2__button{
  margin-bottom:var(--rbu-button-mb,35px)!important;
}

/* Previous Hero class is supported too */
.rbu-section .ratinger-main-hero__content{
  padding-top:var(--rbu-content-pt,68px)!important;
  padding-bottom:var(--rbu-content-pb,62px)!important;
}
.rbu-section .ratinger-main-hero__pretitle{
  margin-bottom:var(--rbu-eyebrow-mb,18px)!important;
}
.rbu-section .ratinger-main-hero__title{
  margin-bottom:var(--rbu-heading-mb,22px)!important;
}
.rbu-section .ratinger-main-hero__lead{
  margin-bottom:var(--rbu-text-mb,25px)!important;
}
.rbu-section .ratinger-main-hero__points{
  gap:var(--rbu-items-gap,9px)!important;
}
.rbu-section .ratinger-main-hero__actions{
  margin-bottom:var(--rbu-button-mb,34px)!important;
}


/* Ratinger Builder 0.6.1 — heading size fix for HTML Hero blocks */

/* Builder heading field now controls the real H1/H2/H3/H4 inside supported HTML heroes. */
.rbu-section .ratinger-hero-v2__title,
.rbu-section .ratinger-main-hero__title,
.rbu-section .ratinger-hero-code h1,
.rbu-section .ratinger-hero-code h2,
.rbu-section .ratinger-hero-code h3,
.rbu-section .ratinger-hero-code h4 {
  font-size: var(--rbu-heading-size) !important;
}

/* If the field is 0, do not force 0px. JS/PHP adds a fallback marker class below. */
.rbu-section[data-rbu-heading-zero="1"] .ratinger-hero-v2__title,
.rbu-section[data-rbu-heading-zero="1"] .ratinger-main-hero__title,
.rbu-section[data-rbu-heading-zero="1"] .ratinger-hero-code h1,
.rbu-section[data-rbu-heading-zero="1"] .ratinger-hero-code h2,
.rbu-section[data-rbu-heading-zero="1"] .ratinger-hero-code h3,
.rbu-section[data-rbu-heading-zero="1"] .ratinger-hero-code h4 {
  font-size: revert !important;
}


/* Ratinger Builder 0.6.2 — separate mobile heading size */
@media (max-width:640px){

  /* Normal Builder headings */
  .rbu-section .rbu-heading{
    font-size:var(--rbu-heading-mobile-size,38px)!important;
  }

  /* HTML Hero headings, including current V4 via its V2 compatibility class */
  .rbu-section .ratinger-hero-v2__title,
  .rbu-section .ratinger-main-hero__title,
  .rbu-section .ratinger-hero-code h1,
  .rbu-section .ratinger-hero-code h2,
  .rbu-section .ratinger-hero-code h3,
  .rbu-section .ratinger-hero-code h4{
    font-size:var(--rbu-heading-mobile-size,38px)!important;
  }
}


/* Ratinger Builder 0.6.3 — mobile typography controls for Hero */
@media(max-width:640px){
  .rbu-section .ratinger-hero-v4__lead,
  .rbu-section .ratinger-hero-v2__lead{
    font-size:var(--rbu-lead-mobile-size,18px)!important;
  }

  .rbu-section .ratinger-hero-v4__benefit strong{
    font-size:var(--rbu-benefit-title-mobile-size,18px)!important;
  }

  .rbu-section .ratinger-hero-v4__benefit>div>span{
    font-size:var(--rbu-benefit-text-mobile-size,15px)!important;
  }

  .rbu-section .ratinger-hero-v4__delivery-item strong{
    font-size:var(--rbu-delivery-title-mobile-size,16px)!important;
  }

  .rbu-section .ratinger-hero-v4__delivery-item>div>span{
    font-size:var(--rbu-delivery-text-mobile-size,14px)!important;
  }
}


/* =========================================================
   Ratinger Builder 0.6.4 — products block heading
   ========================================================= */

.rbu-products-block{
  width:100%;
}

.rbu-products-header{
  margin-bottom:var(--rbu-products-header-mb,30px);
}

.rbu-products-align-left .rbu-products-header{text-align:left}
.rbu-products-align-center .rbu-products-header{text-align:center}
.rbu-products-align-right .rbu-products-header{text-align:right}

.rbu-products-eyebrow{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  margin:0 0 10px;
  color:var(--rbu-products-eyebrow-color,#079f74);
  font-size:14px;
  line-height:1.2;
  font-weight:600;
  letter-spacing:.01em;
}

.rbu-products-align-center .rbu-products-eyebrow{
  margin-left:auto;
  margin-right:auto;
}

.rbu-products-align-right .rbu-products-eyebrow{
  margin-left:auto;
}

.rbu-products-title{
  margin:0;
  color:#1c2924;
  font-size:var(--rbu-products-heading-size,42px)!important;
  line-height:1.08;
  font-weight:600;
  letter-spacing:-.025em;
}

.rbu-products-subtitle{
  max-width:760px;
  margin:12px 0 0;
  color:#6f7b75;
  font-size:var(--rbu-products-subtitle-size,16px)!important;
  line-height:1.45;
  font-weight:400;
}

.rbu-products-align-center .rbu-products-subtitle{
  margin-left:auto;
  margin-right:auto;
}

.rbu-products-align-right .rbu-products-subtitle{
  margin-left:auto;
}

@media(max-width:640px){
  .rbu-products-title{
    font-size:var(--rbu-products-heading-mobile-size,32px)!important;
  }

  .rbu-products-subtitle{
    font-size:var(--rbu-products-subtitle-mobile-size,15px)!important;
  }

  .rbu-products-eyebrow{
    font-size:13px;
  }
}


/* Ratinger Builder 0.7.0 — lightweight widgets */
.rbu-widgets{
  width:100%;
}
.rbu-widget-heading{
  font-size:var(--rbu-w-size,40px);
  line-height:1.15;
}
.rbu-widget-text{
  font-size:var(--rbu-w-size,16px);
  line-height:1.65;
}
.rbu-widget-text p:first-child{margin-top:0}
.rbu-widget-text p:last-child{margin-bottom:0}
.rbu-widget-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:11px 20px;
  border-radius:999px;
  background:#f1c64d;
  color:#25322d;
  text-decoration:none;
  font-weight:600;
  transition:transform .2s ease,box-shadow .2s ease;
}
.rbu-widget-button:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}
.rbu-widget-spacer{
  height:var(--rbu-spacer,30px);
}
@media(max-width:767px){
  .rbu-widget-heading{font-size:var(--rbu-w-mobile-size,30px)}
  .rbu-widget-text{font-size:var(--rbu-w-mobile-size,16px)}
  .rbu-widget-spacer{height:var(--rbu-spacer-mobile,20px)}
}


/* =========================================================
   Ratinger Builder 0.7.3 — mobile video-benefit readability
   ========================================================= */
@media (max-width:767px){
  .rbu-advantages-v3__list li,
  .rt-benefits-dark .rt-benefit-row__content li{
    font-size:20px!important;
    line-height:1.35!important;
  }

  .rbu-advantages-v3__list li::before,
  .rt-benefits-dark .rt-benefit-row__content li > span:first-child{
    font-size:16px!important;
  }
}


/* =========================================================
   Ratinger Builder 0.7.4 — force video modal above mobile layout
   ========================================================= */
.rbu-video-modal-v3,
.rt-video-modal{
  z-index:2147483000!important;
}

.rbu-video-modal-v3.is-open,
.rt-video-modal.is-open{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  overflow:auto!important;
  isolation:isolate!important;
}

@supports not (height:100dvh){
  .rbu-video-modal-v3.is-open,
  .rt-video-modal.is-open{
    height:100vh!important;
  }
}

@media (max-width:767px){
  .rbu-video-modal-v3.is-open,
  .rt-video-modal.is-open{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:14px!important;
  }

  .rbu-video-modal-v3__dialog,
  .rt-video-modal__window{
    position:relative!important;
    z-index:2!important;
    margin:auto!important;
    max-height:calc(100dvh - 28px)!important;
  }

  .rbu-video-modal-v3__overlay,
  .rt-video-modal__backdrop{
    position:fixed!important;
    inset:0!important;
  }
}


/* =========================================================
   Ratinger Builder 0.7.5 — global video modal
   The modal is created directly in body on click.
   ========================================================= */
.rbu-global-video-modal{
  position:fixed!important;
  inset:0!important;
  z-index:2147483646!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100vw!important;
  height:100dvh!important;
  padding:18px!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .18s ease, visibility .18s ease!important;
}

.rbu-global-video-modal.is-open{
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

.rbu-global-video-modal__backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(5,12,10,.88)!important;
  backdrop-filter:blur(6px)!important;
  -webkit-backdrop-filter:blur(6px)!important;
}

.rbu-global-video-modal__dialog{
  position:relative!important;
  z-index:2!important;
  width:min(960px,94vw)!important;
  max-height:calc(100dvh - 36px)!important;
  display:flex!important;
  justify-content:center!important;
}

.rbu-global-video-modal__frame{
  width:100%!important;
  max-width:960px!important;
  aspect-ratio:16 / 9!important;
  overflow:hidden!important;
  border-radius:22px!important;
  background:#000!important;
  box-shadow:0 25px 70px rgba(0,0,0,.42)!important;
}

.rbu-global-video-modal__frame.is-vertical{
  width:auto!important;
  height:min(82dvh,760px)!important;
  max-width:92vw!important;
  aspect-ratio:9 / 16!important;
}

.rbu-global-video-modal__frame iframe{
  display:block!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
}

.rbu-global-video-modal__close{
  position:absolute!important;
  top:-14px!important;
  right:-10px!important;
  z-index:4!important;
  width:44px!important;
  height:44px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#18231f!important;
  font-size:29px!important;
  line-height:1!important;
  cursor:pointer!important;
  box-shadow:0 8px 24px rgba(0,0,0,.25)!important;
}

@supports not (height:100dvh){
  .rbu-global-video-modal{height:100vh!important}
  .rbu-global-video-modal__dialog{max-height:calc(100vh - 36px)!important}
  .rbu-global-video-modal__frame.is-vertical{height:min(82vh,760px)!important}
}

@media(max-width:767px){
  .rbu-global-video-modal{
    padding:12px!important;
  }

  .rbu-global-video-modal__dialog{
    width:96vw!important;
  }

  .rbu-global-video-modal__frame{
    border-radius:18px!important;
  }

  .rbu-global-video-modal__frame.is-vertical{
    height:78dvh!important;
  }

  .rbu-global-video-modal__close{
    top:-48px!important;
    right:0!important;
  }
}

/* =========================================================
   Ratinger Builder 0.7.9 — mobile horizontal overflow fix
   Full-width Builder sections previously used 100vw + negative
   viewport margins. On some Android browsers this made the whole
   document horizontally draggable. Keep the desktop full-bleed
   behavior, but use the real document width on mobile.
   ========================================================= */

@media (max-width:767px){

  html,
  body{
    max-width:100%;
    overflow-x:hidden;
  }

  .rbu-blocks,
  .rbu-section,
  .rbu-width-full,
  .ratinger-builder-enabled .rt-content,
  .ratinger-builder-enabled .rt-content article{
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }

  .rbu-width-full{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* Theme hero V4 is also full-bleed via 100vw. When it is used
     inside a Builder page, keep it inside the mobile document width. */
  .ratinger-builder-enabled .ratinger-hero-v4{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* Fixed video overlays use 100vw; include padding inside that width
     so the hidden/open modal cannot create extra horizontal width. */
  .rbu-video-modal-v3,
  .rt-video-modal,
  .rbu-global-video-modal,
  .rbu-global-video-modal *,
  .rbu-video-modal-v3 *,
  .rt-video-modal *{
    box-sizing:border-box!important;
  }
}

