/**/.imageWidget{position:relative}.imageWidget a,.imageWidget span.image-caption{font-style:italic;text-align:center}.imageWidget a[data-caption]::after,.imageWidget span[data-caption]::after{content:attr(data-caption);display:block;line-height:100%}
.imageWidget.with-caption a::after,.imageWidget.with-caption span.image-caption::after{margin-top:12px}.imageWidget img[width][height]{height:auto}[data-flex-site] #fcontainer .imageWidget:after,[data-flex-site] #flex-footer .imageWidget:after,[data-flex-site] #flex-header .imageWidget:after{content:none}
[data-flex-site] #fcontainer .imageWidget:before,[data-flex-site] #flex-footer .imageWidget:before,[data-flex-site] #flex-header .imageWidget:before{font-size:80px;transform:none}.imageWidget.hover img.hover-image,.imageWidget:hover img.hover-image{display:initial}
.imageWidget.hover.hasHover img:not(.hover-image),.imageWidget:hover.hasHover img:not(.hover-image){display:none!important}.imageWidget img.hover-image,.imageWidget img.logo-on-scroll{display:none}/**/#dm .dmSocialHub:not(.gapSpacing) .socialHubInnerDiv a:not(:last-child){margin-right:5px}.socialHubIcon{display:flex!important;align-items:center;justify-content:center}.socialHubIcon svg{fill:currentColor;width:80%;height:80%}
.socialHubIcon.style1,.socialHubIcon.style4,.socialHubIcon.style6,.socialHubIcon.style7{background:#617379}.socialHubIcon.style7{box-shadow:0 5px 0 0 #475459}.style1.dmSocialTiktok,.style4.dmSocialTiktok{background:#000}
.style1.dmSocialFacebook,.style4.dmSocialFacebook{background:#1877f2}.style1.dmSocialTwitter,.style4.dmSocialTwitter{background:#0f1419}.style1.dmSocialGooglePlus,.style4.dmSocialGooglePlus{background:#da4835}
.style1.dmSocialInstagram,.style4.dmSocialInstagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}.style1.dmSocialYoutube,.style4.dmSocialYoutube{background:red}
.style1.dmSocialLinkedin,.style4.dmSocialLinkedin{background:#2867b2}.style1.dmSocialYelp,.style4.dmSocialYelp{background:#e43340}.style1.dmSocialPinterest,.style4.dmSocialPinterest{background:#c8232c}
.style1.dmSocialVimeo,.style4.dmSocialVimeo{background:#1ab7ea}.style1.dmSocialPicasa,.style4.dmSocialPicasa{background:#be81d1}.style1.dmSocialFoursquare,.style4.dmSocialFoursquare{background:#ef4b78}
.style1.dmSocialRss,.style4.dmSocialRss{background:#f39200}.style1.dmSocialReddit,.style4.dmSocialReddit{background:#ff4500}.style1.dmSocialEmail,.style4.dmSocialEmail{background:#617379}.style1.dmSocialSnapchat,.style4.dmSocialSnapchat{background:#fffc00}
.style1.dmSocialTripadvisor,.style4.dmSocialTripadvisor{background:#589442}.style1.dmSocialWaze,.style4.dmSocialWaze{background:#56cbe7}.style1.dmSocialGoogleMyBusiness,.style4.dmSocialGoogleMyBusiness{background:#477cdf}
.style1.dmSocialWhatsapp,.style4.dmSocialWhatsapp{background:#25d366}.style1.dmSocialPhone,.style4.dmSocialPhone{background:#616c79}.style1:after{content:"";width:44px;height:28px;display:block;position:absolute;top:0;left:0;z-index:-1;border-radius:10px}
.style1.dmSocialEmail:after,.style1.dmSocialFacebook:after,.style1.dmSocialFoursquare:after,.style1.dmSocialGoogleMyBusiness:after,.style1.dmSocialGooglePlus:after,.style1.dmSocialInstagram:after,.style1.dmSocialLinkedin:after,.style1.dmSocialPhone:after,.style1.dmSocialPicasa:after,.style1.dmSocialPinterest:after,.style1.dmSocialReddit:after,.style1.dmSocialRss:after,.style1.dmSocialSnapchat:after,.style1.dmSocialTripadvisor:after,.style1.dmSocialTwitter:after,.style1.dmSocialVimeo:after,.style1.dmSocialYelp:after,.style1.dmSocialYoutube:after{background:#fff;opacity:.2}
.style2.dmSocialTiktok{color:#000}.style2.dmSocialFacebook{color:#1877f2}.style2.dmSocialTwitter{color:#0f1419}.style2.dmSocialGooglePlus{color:#da4835}.style2.dmSocialInstagram:before{background-image:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.style2.dmSocialYoutube{color:red}.style2.dmSocialLinkedin{color:#2867b2}.style2.dmSocialYelp{color:#e43340}.style2.dmSocialPinterest{color:#c8232c}.style2.dmSocialVimeo{color:#1ab7ea}.style2.dmSocialPicasa{color:#be81d1}
.style2.dmSocialFoursquare{color:#ef4b78}.style2.dmSocialRss{color:#f39200}.style2.dmSocialReddit{color:#ff4500}.style2.dmSocialEmail{color:#617379}.style2.dmSocialSnapchat{color:#fffc00}.style2.dmSocialTripadvisor{color:#589442}
.style2.dmSocialGoogleMyBusiness:before{color:#477cdf}.style2.dmSocialWaze:before{color:#56cbe7}.style2.dmSocialWhatsapp:before{color:#25d366}.style2.dmSocialPhone{color:#616c79}.style6.dmSocialTiktok{background:#000}
.style6.dmSocialFacebook{background:#1877f2}.style6.dmSocialTwitter{background:#0f1419}.style6.dmSocialGooglePlus{background:#da4835}.style6.dmSocialInstagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}
.style6.dmSocialYoutube{background:red}.style6.dmSocialLinkedin{background:#2867b2}.style6.dmSocialYelp{background:#e43340}.style6.dmSocialPinterest{background:#c8232c}.style6.dmSocialVimeo{background:#1ab7ea}
.style6.dmSocialPicasa{background:#be81d1}.style6.dmSocialFoursquare{background:#ef4b78}.style6.dmSocialRss{background:#f39200}.style6.dmSocialReddit{background:#ff4500}.style6.dmSocialEmail{background:#617379}
.style6.dmSocialSnapchat{background:#fffc00}.style6.dmSocialTripadvisor{background:#589442}.style6.dmSocialWaze{background:#56cbe7}.style6.dmSocialGoogleMyBusiness{background:#477cdf}.style6.dmSocialWhatsapp{background:#25d366}
.style6.dmSocialPhone{background:#616c79}.style7.dmSocialTiktok{background:#000}.style7.dmSocialFacebook{background:#1877f2;box-shadow:0 5px 0 0 #4b68a5}.style7.dmSocialTwitter{background:#0f1419}.style7.dmSocialGooglePlus{background:#da4835;box-shadow:0 5px 0 0 #c44130}
.style7.dmSocialInstagram{box-shadow:0 5px 0 0 #ad2271;background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}.style7.dmSocialYoutube{background:red;box-shadow:0 5px 0 0 #b3392c}
.style7.dmSocialLinkedin{background:#2867b2;box-shadow:0 5px 0 0 #1278b1}.style7.dmSocialYelp{background:#e43340;box-shadow:0 5px 0 0 #b62933}.style7.dmSocialPinterest{background:#c8232c;box-shadow:0 5px 0 0 #a21a2d}
.style7.dmSocialVimeo{background:#1ab7ea;box-shadow:0 5px 0 0 #1592bb}.style7.dmSocialPicasa{background:#be81d1;box-shadow:0 5px 0 0 #9867a7}.style7.dmSocialFoursquare{background:#ef4b78;box-shadow:0 5px 0 0 #da3b67}
.style7.dmSocialRss{background:#f39200;box-shadow:0 5px 0 0 #c27500}.style7.dmSocialReddit{background:#ff4500;box-shadow:0 5px 0 0 #ae5534}.style7.dmSocialEmail{background:#617379;box-shadow:0 5px 0 0 #475459}
.style7.dmSocialSnapchat{background:#fffc00;box-shadow:0 5px 0 0 #d1d05d}.style7.dmSocialTripadvisor{background:#589442;box-shadow:0 5px 0 0 #4e7b3e}.style7.dmSocialWaze{background:#56cbe7;box-shadow:0 5px 0 0 #475459}
.style7.dmSocialGoogleMyBusiness{background:#477cdf;box-shadow:0 5px 0 0 #475459}.style7.dmSocialWhatsapp{background:#25d366;box-shadow:0 5px 0 0 #475459}.style7.dmSocialPhone{background:#616c79;box-shadow:0 5px 0 0 #4a5458}/**/.dmSocialHub{clear:both}#dm .dmSocialHub .horizontal a,#dm .dmSocialHub.gapSpacing .socialHubWrapper{display:block}#dm .dmSocialHub.gapSpacing .socialHubInnerDiv{display:flex;flex-wrap:wrap;column-gap:5px;justify-content:center}
#dm .dmSocialHub.alignedLeft .socialHubInnerDiv,#dm .dmSocialHub.alignedLeft h3,.dmSocialHub>div.horizontal{text-align:left}#dm .dmSocialHub a{display:inline-block;text-decoration:none;margin:0;vertical-align:bottom}
#dm .dmSocialHub>h3,.dmSocialHub>div{text-align:inherit}#dm .dmSocialHub.alignedCenter .socialHubInnerDiv,#dm .dmSocialHub.alignedCenter h3{text-align:center}#dm .dmSocialHub.alignedRight .socialHubInnerDiv,#dm .dmSocialHub.alignedRight h3{text-align:right}
a span.socialHubIcon{width:44px;height:44px;font-size:27px;display:inline-block;text-align:center;margin-right:0;margin-bottom:5px;line-height:44px;box-sizing:border-box;background-image:none!important}
.socialHubIcon[class^=icon-]:before,[class*=" icon-"]:before{cursor:pointer}.socialHubIcon.style1{font-size:24px;border-radius:10px;color:#fff;position:relative;z-index:1}.socialHubIcon.style2{font-size:29px}
.socialHubIcon.style3{font-size:24px;border-radius:50%;border:3px solid #fff;color:#fff}.socialHubIcon.style4{font-size:24px;border-radius:10px;color:#fff;position:relative}.socialHubIcon.style5{color:#fff}
.socialHubIcon.style6,.socialHubIcon.style7{font-size:24px;border-radius:50%;color:#fff}.socialHubIcon.style7{border-radius:10px;position:relative;margin-bottom:10px}.socialHubIcon.style8{font-size:24px;border-radius:50%;color:#fff;background:#000}
.socialHubIcon.style9{color:#333;font-size:29px}@media(min-width:768px) and (max-width:1024px){.dmRoot #dm .dmStandardTablet .dmSocialHub.dmSocialHome .socialHubIcon{width:36px;height:36px;background-size:auto}
}#dm .dmSocialHub .socialHubWrapper{display:inline-block;max-width:100%}/**/.hamburgerButton{display:block;background-color:transparent;border:0;padding:0;margin:0}.hamburgerButton,.hamburgerButton svg{width:100%;height:100%}/**/.dmNewParagraph[data-version] .text-align-left{text-align:left!important}.dmNewParagraph[data-version] .text-align-center{text-align:center!important}.dmNewParagraph[data-version] .text-align-right{text-align:right!important}
.dmNewParagraph[data-version] .text-align-justify{text-align:justify!important}.dmNewParagraph[data-version] .ql-indent-1{padding:0 1em;padding-inline-end:0;padding-inline-start:3em}.dmNewParagraph[data-version] .ql-indent-2{padding:0 2em;padding-inline-end:0;padding-inline-start:6em}
.dmNewParagraph[data-version] .ql-indent-3{padding:0 3em;padding-inline-end:0;padding-inline-start:9em}.dmNewParagraph[data-version] .ql-indent-4{padding:0 4em;padding-inline-end:0;padding-inline-start:12em}
.dmNewParagraph[data-version] .ql-indent-5{padding:0 5em;padding-inline-end:0;padding-inline-start:15em}.dmNewParagraph[data-version] .ql-indent-6{padding:0 6em;padding-inline-end:0;padding-inline-start:18em}
.dmNewParagraph[data-version] .ql-indent-7{padding:0 7em;padding-inline-end:0;padding-inline-start:21em}.dmNewParagraph[data-version] .ql-indent-8{padding:0 8em;padding-inline-end:0;padding-inline-start:24em}
.dmNewParagraph[data-version] .ql-indent-9{padding:0 9em;padding-inline-end:0;padding-inline-start:27em}.dmNewParagraph[data-version]{line-height:initial}.dmNewParagraph[data-version] [class*=size-]{width:auto!important;height:auto!important}
.dmNewParagraph[data-version] h1,.dmNewParagraph[data-version] h2,.dmNewParagraph[data-version] h3,.dmNewParagraph[data-version] h4,.dmNewParagraph[data-version] h5,.dmNewParagraph[data-version] h6,.dmNewParagraph[data-version] ol,.dmNewParagraph[data-version] p,.dmNewParagraph[data-version] ul{margin-top:0;margin-bottom:0}
.dmNewParagraph[data-version] ol,.dmNewParagraph[data-version] ul{padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.dmNewParagraph[data-version] ol>li,.dmNewParagraph[data-version] ul>li{list-style-type:none;text-indent:-1.5em;margin:0 1em;margin-inline-end:0;margin-inline-start:2em}
.dmNewParagraph[data-version] ol>li:before,.dmNewParagraph[data-version] ul>li:before{min-width:1em;display:inline-block;margin-right:.5em;margin-inline-start:0;margin-inline-end:.5em;text-align:right;text-align:end}
.dmNewParagraph[data-version] ul .ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-1}.dmNewParagraph[data-version] ul .ql-indent-1:before{font-weight:700;content:"○"}
.dmNewParagraph[data-version] ul .ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-2}.dmNewParagraph[data-version] ul .ql-indent-2:before,.dmNewParagraph[data-version] ul .ql-indent-3:before,.dmNewParagraph[data-version] ul .ql-indent-4:before,.dmNewParagraph[data-version] ul .ql-indent-5:before,.dmNewParagraph[data-version] ul .ql-indent-6:before,.dmNewParagraph[data-version] ul .ql-indent-7:before,.dmNewParagraph[data-version] ul .ql-indent-8:before,.dmNewParagraph[data-version] ul .ql-indent-9:before{font-weight:700;content:"■"}
.dmNewParagraph[data-version] ul .ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-3}.dmNewParagraph[data-version] ul .ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9;counter-increment:list-4}
.dmNewParagraph[data-version] ul .ql-indent-5{counter-reset:list-6 list-7 list-8 list-9;counter-increment:list-5}.dmNewParagraph[data-version] ul .ql-indent-6{counter-reset:list-7 list-8 list-9;counter-increment:list-6}
.dmNewParagraph[data-version] ul .ql-indent-7{counter-reset:list-8 list-9;counter-increment:list-7}.dmNewParagraph[data-version] ul .ql-indent-8{counter-reset:list-9;counter-increment:list-8}.dmNewParagraph[data-version] ul .ql-indent-9{counter-reset:list-10 list-9;counter-increment:list-9}
.dmNewParagraph[data-version] ul>li:before{font-weight:700;content:"•";font-family:Arial}.dmNewParagraph[data-version] ul.custom-list-1>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"○";transform:scale(1);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-2>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"★";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-3>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"➞";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-4>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"＋";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-5>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"－";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-6>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"✓";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-7>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"✗";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ol .ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-1}.dmNewParagraph[data-version] ol .ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}
.dmNewParagraph[data-version] ol .ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-2}.dmNewParagraph[data-version] ol .ql-indent-2:before{content:counter(list-2,lower-roman) ". "}
.dmNewParagraph[data-version] ol .ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-3}.dmNewParagraph[data-version] ol .ql-indent-3:before{content:counter(list-3,decimal) ". "}
.dmNewParagraph[data-version] ol .ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9;counter-increment:list-4}.dmNewParagraph[data-version] ol .ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}
.dmNewParagraph[data-version] ol .ql-indent-5{counter-reset:list-6 list-7 list-8 list-9;counter-increment:list-5}.dmNewParagraph[data-version] ol .ql-indent-5:before{content:counter(list-5,lower-roman) ". "}
.dmNewParagraph[data-version] ol .ql-indent-6{counter-reset:list-7 list-8 list-9;counter-increment:list-6}.dmNewParagraph[data-version] ol .ql-indent-6:before{content:counter(list-6,decimal) ". "}
.dmNewParagraph[data-version] ol .ql-indent-7{counter-reset:list-8 list-9;counter-increment:list-7}.dmNewParagraph[data-version] ol .ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}
.dmNewParagraph[data-version] ol .ql-indent-8{counter-reset:list-9;counter-increment:list-8}.dmNewParagraph[data-version] ol .ql-indent-8:before{content:counter(list-8,lower-roman) ". "}
.dmNewParagraph[data-version] ol .ql-indent-9{counter-reset:list-10 list-9;counter-increment:list-9}.dmNewParagraph[data-version] ol .ql-indent-9:before{content:counter(list-9,decimal) ". "}
.dmNewParagraph[data-version] ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.dmNewParagraph[data-version] ol li:before{content:counter(list-0,decimal) ". "}
.dmNewParagraph[data-version] a{vertical-align:initial}@media(min-width:768px) and (max-width:1024px){.dmNewParagraph[data-version] .t-text-align-left{text-align:left!important}.dmNewParagraph[data-version] .t-text-align-center{text-align:center!important}
.dmNewParagraph[data-version] .t-text-align-right{text-align:right!important}.dmNewParagraph[data-version] .t-text-align-justify{text-align:justify!important}}@media(max-width:767px){.dmRoot .dmNewParagraph[data-version] .m-text-align-left{text-align:left!important}
.dmRoot .dmNewParagraph[data-version] .m-text-align-center{text-align:center!important}.dmRoot .dmNewParagraph[data-version] .m-text-align-right{text-align:right!important}.dmRoot .dmNewParagraph[data-version] .m-text-align-justify{text-align:justify!important}
}.inlineBindingLink{color:inherit!important;text-decoration:inherit!important}
/* Custom Widgets Styles */
.widget-d46357 {
  /*
   * Base styles shared by both the in-editor preview element (.termly-floating-icon)
   * and Termly's own button (.termly-floating-preferences).
   * The design panel targets .termly-floating-icon; JS mirrors those computed styles
   * onto .termly-floating-preferences at runtime on the live site.
   */
  /* Hidden by default on the live site; JS reveals it in the editor or as a fallback */
}
.widget-d46357 .termly-viewport-sentinel {
  display: none;
}
.widget-d46357 .termly-preferences-widget {
  display: inline-block;
}
.widget-d46357 .termly-pref-btn {
  cursor: pointer;
}
.widget-d46357 .termly-pref-link {
  cursor: pointer;
  text-decoration: underline;
  display: inline-block;
}
.widget-d46357 .termly-pref-link:hover {
  opacity: 0.8;
}
.widget-d46357 .termly-floating-icon {
  position: fixed;
  width: 45px;
  height: 45px;
  background-color: #0066cc;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer !important;
  z-index: 2147483647;
  padding: 4px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.06), 0px 1px 2px -1px rgba(0, 0, 0, 0.06), 0px 2px 4px 0px rgba(0, 0, 0, 0.04);
  pointer-events: all !important;
}
.widget-d46357 .termly-floating-preview {
  display: none !important;
}
.widget-d46357 .termly-floating-preview.termly-visible {
  display: flex !important;
}
.widget-d46357 .termly-floating-icon:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.2);
}
.widget-d46357 .termly-floating-icon.bottom-left {
  bottom: 20px;
  left: 20px;
}
.widget-d46357 .termly-floating-icon.bottom-right {
  bottom: 20px;
  right: 20px;
}
.widget-d46357 .termly-floating-icon.top-left {
  top: 20px;
  left: 20px;
}
.widget-d46357 .termly-floating-icon.top-right {
  top: 20px;
  right: 20px;
}
.widget-d46357 .termly-floating-icon-image {
  width: 20px;
  height: 20px;
}
.widget-d46357 .termly-floating-icon svg {
  width: 100%;
  height: 100%;
}

@charset "UTF-8";
/* =====================================================
   Picture-only mode

   The widget root is position:absolute so it FILLS the
   section/column without ever contributing to its height.
   The section's own height (90vh, 400px, etc.) is the
   sole size authority — the widget just fills it.

   The image uses object-fit:contain so it is never
   cropped — always fully visible, centred in the space.
   ===================================================== */
/* Widget root: fills its positioned ancestor (the column/
   section), never adds intrinsic height of its own.
   This is the key — position:absolute breaks the widget
   out of normal flow so images cannot push the section open. */
.widget-8ec108 {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* Global line-height for all text elements */
.widget-8ec108,
.widget-8ec108 * {
  line-height: 1.2 !important;
}

/* ── Picture-only container ─────────────────────────── */
.widget-8ec108 .advanced-slider-container:not(.with-text-slides) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  isolation: isolate;
}

.widget-8ec108 .slider-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.widget-8ec108 .image-slider-section {
  position: relative;
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.widget-8ec108 .slides-track {
  display: flex;
  width: 100%;
  height: 100%;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
  /* Prevent sub-pixel bleed from adjacent slides */
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.widget-8ec108 .slide-wrapper {
  flex: 0 0 100%;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

/* Full image always visible — no cropping.
   object-fit:contain letterboxes if aspect ratio differs. */
.widget-8ec108 .slide-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

/* ─────────────────────────────────────────────────────
   Controls — dots + corner link overlaid on the image
   ───────────────────────────────────────────────────── */
.widget-8ec108 .bottom-controls-wrapper {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0 0 20px 0;
  gap: 20px;
  z-index: 10;
  pointer-events: none;
}

.widget-8ec108 .bottom-controls-wrapper > * {
  pointer-events: auto;
}

.widget-8ec108 .dots-container {
  display: flex;
  gap: 10px;
  flex: 0 0 auto;
  align-items: center;
}

.widget-8ec108 .corner-link-wrapper {
  position: absolute;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  max-width: 40%;
  pointer-events: auto;
}

.widget-8ec108 .slide-corner-link {
  display: block;
  max-width: 100%;
}

.widget-8ec108 .corner-link-text {
  display: inline-block;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
  text-align: right;
  padding: 8px 16px;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35);
  border-radius: 14px;
}

.widget-8ec108 .corner-link-text:hover {
  opacity: 0.8;
}

.widget-8ec108 .arrow-controls {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  pointer-events: none;
  z-index: 2;
}

.widget-8ec108 .arrow-btn {
  pointer-events: auto;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  color: #333;
}

.widget-8ec108 .arrow-btn:hover {
  background: rgb(255, 255, 255);
  transform: scale(1.1);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}

.widget-8ec108 .arrow-btn:active {
  transform: scale(0.95);
}

.widget-8ec108 .advanced-slider-container:not(.with-text-slides) .arrow-btn {
  opacity: 0;
  pointer-events: none;
}

.widget-8ec108 .advanced-slider-container:not(.with-text-slides):hover .arrow-btn {
  opacity: 1;
  pointer-events: auto;
}

.widget-8ec108 .cta-buttons-container:not(:empty) ~ .bottom-controls-wrapper,
.widget-8ec108 .image-slider-section:has(.cta-buttons-container:not(:empty)) .bottom-controls-wrapper {
  bottom: 0;
  padding-bottom: 90px;
}

.widget-8ec108 .dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  border: 2px solid rgba(255, 255, 255, 0.6);
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 0;
}

.widget-8ec108 .dot:hover {
  background: rgba(255, 255, 255, 0.6);
  transform: scale(1.2);
}

.widget-8ec108 .dot.active {
  background: rgb(255, 255, 255);
  transform: scale(1.3);
  box-shadow: 0 0 8px rgba(255, 255, 255, 0.6);
}

.widget-8ec108 .cta-buttons-container {
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  display: flex;
  gap: 16px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 0 20px;
  box-sizing: border-box;
  z-index: 2;
}

.widget-8ec108 .cta-buttons-container.cta-single {
  justify-content: center;
}

.widget-8ec108 .cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  background: rgba(149, 131, 255, 0.75);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
  border-radius: 14px;
  color: white;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease;
  white-space: nowrap;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.widget-8ec108 .cta-button:hover {
  background: rgba(149, 131, 255, 0.9);
  border-color: rgba(255, 255, 255, 0.5);
  box-shadow: 0 10px 35px rgba(149, 131, 255, 0.3);
  transform: translateY(-2px);
}

.widget-8ec108 .cta-button:active {
  transform: translateY(0);
}

/* =====================================================
   Two-column sliding layout (with-text-slides)
   This mode manages its own height via fixed px values
   so it does NOT use position:absolute.
   ===================================================== */
/* When text slides are active, restore normal flow for the widget root */
.widget-8ec108:has(.with-text-slides) {
  position: relative;
  inset: auto;
  height: auto;
  overflow: visible;
}

.widget-8ec108 .advanced-slider-container.with-text-slides {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: visible;
  width: 100%;
  margin: 0;
  padding: 0;
  isolation: isolate;
}

.widget-8ec108 .advanced-slider-container.with-text-slides .slider-wrapper-slides {
  position: relative;
  width: 100%;
  height: 600px;
  min-height: 600px;
  overflow: hidden;
  flex: 0 0 600px;
  isolation: isolate;
}

.widget-8ec108 .advanced-slider-container.with-text-slides .slides-track-combined {
  position: relative;
  z-index: 1;
  display: flex;
  height: 100%;
  align-items: stretch;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}

.widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined {
  min-width: 100%;
  width: 100%;
  height: 600px;
  min-height: 600px;
  flex-shrink: 0;
  display: flex;
  flex-direction: row;
  background: transparent;
  position: relative;
  overflow: hidden;
}

/* ---- Split mode: text column ---- */
.widget-8ec108 .advanced-slider-container.with-text-slides .text-column-slide {
  flex: 0 0 40%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 32px;
  background: transparent;
  overflow-y: auto;
  position: relative;
  z-index: 2;
  order: 1;
}

/* ---- Split mode: image column ---- */
.widget-8ec108 .advanced-slider-container.with-text-slides .image-column-slide {
  flex: 0 0 60%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  background: transparent;
  overflow: hidden;
  position: relative;
  order: 2;
  align-self: stretch;
}

.widget-8ec108 .advanced-slider-container.with-text-slides .image-column-slide .slide-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined.slide-text-right .text-column-slide {
  order: 2;
}

.widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined.slide-text-right .image-column-slide {
  order: 1;
}

/* =====================================================
   Full-image mode
   ===================================================== */
.widget-8ec108 .advanced-slider-container.with-text-slides .slide-full-image-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

.widget-8ec108 .advanced-slider-container.with-text-slides .slide-image-fill {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.widget-8ec108 .advanced-slider-container.with-text-slides .text-overlay-panel {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 40px 32px 32px;
  box-sizing: border-box;
  z-index: 2;
  text-align: left;
}

.widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined.slide-full-image.slide-text-left .text-overlay-panel {
  left: 0;
  right: auto;
  align-items: flex-start;
}

.widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined.slide-full-image.slide-text-right .text-overlay-panel {
  left: auto;
  right: 0;
  align-items: flex-start;
}

.widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined.slide-full-image .slide-fullimage-cta {
  position: absolute;
  bottom: 60px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 16px;
  justify-content: center;
  z-index: 5;
  pointer-events: auto;
  white-space: nowrap;
}

/* ---- Text content ---- */
.widget-8ec108 .advanced-slider-container.with-text-slides .text-column-inner-slide {
  max-width: 500px;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.widget-8ec108 .advanced-slider-container.with-text-slides .text-overlay-panel .text-column-inner-slide {
  max-width: 100%;
  flex: none;
}

/* ---- Text vertical alignment (desktop) ---- */
/* Split mode: text-column-slide — valign-bottom pushes content to bottom */
.widget-8ec108 .advanced-slider-container.with-text-slides .text-column-slide.text-valign-bottom {
  justify-content: flex-end;
}

/* Full-image mode: text-overlay-panel — valign-bottom aligns content to bottom */
.widget-8ec108 .advanced-slider-container.with-text-slides .text-overlay-panel.text-valign-bottom {
  justify-content: flex-end;
}

.widget-8ec108 .advanced-slider-container.with-text-slides .text-column-controls {
  width: 100%;
  max-width: 500px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-top: 30px;
}

.widget-8ec108 .advanced-slider-container.with-text-slides .slide-title-slide {
  font-size: 2rem;
  font-weight: 600;
  margin: 0 0 16px 0;
  color: #1a1a1a;
  line-height: 1.2;
}

.widget-8ec108 .advanced-slider-container.with-text-slides .slide-description-slide {
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 400;
  margin: 0;
  color: #4a4a4a;
}

.widget-8ec108 .advanced-slider-container.with-text-slides .slide-description-slide.no-title {
  margin-top: 0;
}

.widget-8ec108 .slide-nav {
  display: inline;
  color: #6366f1;
  font-weight: 600;
  cursor: pointer;
  text-decoration: underline;
  transition: all 0.2s ease;
}

.widget-8ec108 .slide-nav:hover {
  color: #4f46e5;
  text-decoration: none;
}

.widget-8ec108 .advanced-slider-container.with-text-slides .cta-buttons-container-text {
  display: flex;
  gap: 32px;
  justify-content: center;
  width: 100%;
}

.widget-8ec108 .advanced-slider-container.with-text-slides .cta-buttons-container-text.cta-single {
  justify-content: center;
}

/* =====================================================
   Dots — always overlaid on the slider, never below it
   ===================================================== */
/* Overlay dots for text-slides mode: sit above the slider content */
.widget-8ec108 .advanced-slider-container.with-text-slides .dots-overlay {
  position: absolute;
  bottom: 24px;
  left: 0;
  right: 0;
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  z-index: 10;
  pointer-events: auto;
  opacity: 1;
  transition: opacity 0.3s ease;
}

/* Hide the separate below-row completely — we never use it now */
.widget-8ec108 .advanced-slider-container.with-text-slides .dots-below {
  display: none !important;
}

/* =====================================================
   Text-below-image panel
   Hidden everywhere by default; only shown on mobile/tablet
   when image-middle mode is active on a full-image slide.
   ===================================================== */
.widget-8ec108 .text-below-image-panel {
  display: none;
}

/* The desktop-stacked below-description is shown on desktop by default,
   hidden on mobile/tablet (the separate text-below-image-panel takes over) */
.widget-8ec108 .slide-description-below-desktop {
  margin-top: 1.4em !important; /* ~1 line of spacing between stacked text blocks */
}

/* Image-middle mode (desktop): remove the gap between the two stacked text blocks */
.widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-description-below-desktop {
  margin-top: 0 !important;
}

.widget-8ec108 .slide-img-mobile {
  display: none;
}

@media (max-width: 767px) {
  .widget-8ec108 .slide-img-mobile {
    display: block;
  }
  /* Hide desktop image only when a sibling mobile image is present */
  .widget-8ec108 .slide-img-mobile ~ .slide-img-desktop,
  .widget-8ec108 .slide-img-desktop:has(~ .slide-img-mobile) {
    display: none;
  }
  /* For full-image bg: hide desktop img when mobile img sibling exists */
  .widget-8ec108 .slide-full-image-bg .slide-img-desktop:not(:only-child) {
    display: none;
  }
  .widget-8ec108 .image-column-slide .slide-img-desktop:not(:only-child) {
    display: none;
  }
  .widget-8ec108 .slide-wrapper .slide-img-desktop:not(:only-child) {
    display: none;
  }
}
/* =====================================================
   Typography: paragraph & list spacing (all breakpoints)
   FLATTENED — no CSS nesting, maximum compatibility
   ===================================================== */
.widget-8ec108 p,
.widget-8ec108 li {
  margin-top: 0 !important;
  margin-bottom: 14px !important;
}

@media (min-width: 481px) and (max-width: 768px) {
  .widget-8ec108 p,
  .widget-8ec108 li {
    margin-bottom: 11px !important;
  }
}
@media (max-width: 480px) {
  .widget-8ec108 p,
  .widget-8ec108 li {
    margin-bottom: 10px !important;
  }
}
/* =====================================================
   Tablet landscape (1025px–1366px wide) — picture-only mode
   The editor sets a fixed section height (e.g. 950px) that
   was chosen for desktop. At tablet landscape the viewport
   is narrower, so that fixed height is taller than the image
   naturally needs — causing black letterbox strips above and
   below the image and pushing controls outside the visible area.

   Fix: break the widget root out of the fixed-height section
   and let it auto-size to the image's natural proportions.
   The widget becomes position:relative + height:auto so its
   height is driven by the image, not the editor's desktop value.
   Controls remain absolutely positioned inside the widget root
   (which now exactly wraps the image) so they stay on-screen.
   ===================================================== */
@media (min-width: 1025px) and (max-width: 1366px) {
  /* Picture-only mode: escape the fixed section height,
     auto-size to image natural proportions */
  .widget-8ec108:not(:has(.with-text-slides)) {
    position: relative !important;
    inset: auto !important;
    height: auto !important;
    overflow: visible !important;
    width: 100% !important;
  }
  /* Container matches widget root */
  .widget-8ec108 .advanced-slider-container:not(.with-text-slides) {
    position: relative;
    width: 100%;
    height: auto;
    display: block;
  }
  /* Wrapper: normal flow, auto height */
  .widget-8ec108 .slider-wrapper {
    position: relative;
    width: 100%;
    height: auto;
    display: block;
  }
  /* image-slider-section: normal flow, auto height, clips overflow */
  .widget-8ec108 .image-slider-section {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
  }
  /* slides-track: auto height so it matches image natural height */
  .widget-8ec108 .slides-track {
    height: auto;
  }
  /* Each slide: normal flow, auto height */
  .widget-8ec108 .slide-wrapper {
    height: auto;
    align-self: auto;
  }
  /* Image: fill the full width, height auto from natural aspect ratio.
     No letterboxing, no cropping, no object-fit trickery needed. */
  .widget-8ec108 .slide-wrapper .slide-image {
    width: 100%;
    height: auto;
    object-fit: unset;
    display: block;
  }
  /* Controls: re-anchor to the image-slider-section which now wraps the image */
  .widget-8ec108 .bottom-controls-wrapper {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
  }
  .widget-8ec108 .arrow-controls {
    position: absolute;
    inset: 0;
  }
  .widget-8ec108 .cta-buttons-container {
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
  }
}
/* =====================================================
   Tablet landscape image-only bug fix (surgical)

   Conditions: showText:false + mobileImagePosition:image-bottom
   + both desktop AND mobile images uploaded + viewport
   1024–1366px wide in landscape orientation.

   In this range the base .slide-img-mobile:display:none rule
   (set at ≤767px) does not apply, so both images render.
   This block restores the expected behaviour: show desktop
   image only, hide mobile image — matching every wider viewport.

   NOTHING outside this exact media query is changed.
   ===================================================== */
@media (min-width: 1024px) and (max-width: 1366px) and (orientation: landscape) {
  /* Picture-only mode (showText:false) with image-bottom (default —
     no mobile-img-* modifier class on the container).
     Hide mobile image; desktop image is already visible.
     Explicitly size the desktop image to fill the container width,
     scaling proportionally — matching the desktop (>1366px) behaviour. */
  .widget-8ec108 .advanced-slider-container:not(.with-text-slides) .slide-wrapper .slide-img-mobile {
    display: none;
  }
  .widget-8ec108 .advanced-slider-container:not(.with-text-slides) .slide-wrapper .slide-img-desktop {
    display: block;
    width: 100%;
    height: auto;
    object-fit: unset;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  /* ── Full-image mode on tablet: use contain so image is never cropped ── */
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined.slide-full-image .slide-full-image-bg .slide-image-fill {
    object-fit: contain;
    object-position: center center;
  }
  /* ── Picture-only mode: minor size tweaks ── */
  .widget-8ec108 .arrow-btn {
    width: 42px;
    height: 42px;
  }
  /* Arrows must be position:absolute so they overlay the image without
     pushing content in the flex/grid layout at 1024px */
  .widget-8ec108 .arrow-controls {
    position: absolute;
    inset: 0;
    padding: 0 16px;
    /* Ensure arrows sit above image but below CTA buttons */
    z-index: 3;
    /* pointer-events:none on the wrapper, auto on the buttons (already set globally) */
    pointer-events: none;
  }
  .widget-8ec108 .arrow-controls .arrow-btn {
    pointer-events: auto;
  }
  .widget-8ec108 .cta-button {
    padding: 10px 20px;
    font-size: 0.9rem;
  }
  .widget-8ec108 .cta-buttons-container {
    gap: 12px;
    padding: 0 16px;
  }
  .widget-8ec108 .bottom-controls-wrapper {
    bottom: 0;
    padding: 0 0 18px 0;
  }
  .widget-8ec108 .corner-link-text {
    font-size: 0.95rem;
  }
  /* ── Text-slides mode: same stacked layout as mobile
     EXCEPT image-middle which uses the desktop side-by-side layout ── */
  .widget-8ec108 .slide-description-below-desktop {
    display: none;
  }
  /* image-middle on tablet: restore desktop layout — keep below-desktop text visible */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-description-below-desktop {
    display: block;
  }
  /* Widget root fills fixed height — same as mobile
     (image-middle overrides this below to use desktop normal-flow) */
  .widget-8ec108:has(.with-text-slides:not(.mobile-img-image-middle)) {
    position: absolute;
    inset: 0;
    height: 100%;
    overflow: hidden;
  }
  /* ── Text-slides: arrows overlay the slide without consuming flex space ── */
  .widget-8ec108 .advanced-slider-container.with-text-slides .arrow-controls {
    position: absolute;
    inset: 0;
    z-index: 6;
    pointer-events: none;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides .arrow-controls .arrow-btn {
    pointer-events: auto;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-middle) {
    height: 100%;
    overflow: hidden;
  }
  /* image-middle on tablet: fill the editor's fixed height (same as non-image-middle) */
  .widget-8ec108:has(.advanced-slider-container.with-text-slides.mobile-img-image-middle) {
    position: absolute;
    inset: 0;
    height: 100%;
    overflow: hidden;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle {
    position: relative;
    height: 100%;
    overflow: hidden;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-middle) .slider-wrapper-slides {
    height: 100%;
    min-height: 0;
    flex: 1 1 0;
    overflow: hidden;
    width: 100%;
  }
  /* image-middle: wrapper fills the available container height */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slider-wrapper-slides {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    flex: 1 1 0;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-middle) .slides-track-combined {
    height: 100%;
    align-items: stretch;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }
  /* image-middle: desktop-style track — stretches to fill wrapper */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slides-track-combined {
    position: relative;
    z-index: 1;
    display: flex;
    height: 100%;
    align-items: stretch;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
  }
  /* Every non-image-middle slide fills the full height of the wrapper.
     flex-direction:column + the text panel's space-between layout ensures
     the CTA buttons stay at the bottom without pushing content upward. */
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-middle) .slide-wrapper-combined {
    height: 100%;
    min-height: 0;
    flex-direction: column;
    position: relative;
    overflow: hidden;
  }
  /* image-middle: full desktop side-by-side layout — fills the wrapper height
     so shrinking the widget in the editor also shrinks the slide correctly */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined {
    min-width: 100%;
    width: 100%;
    height: 100%;
    min-height: 0;
    flex-shrink: 0;
    display: flex;
    flex-direction: row;
    background: transparent;
    position: relative;
    overflow: hidden;
  }
  /* image-middle: restore desktop text/image columns.
     For full-image slides, width+left/right come from the per-slide inline style,
     so we must NOT override width here — use width:unset so the inline value wins.
     For split-mode slides, the desktop flex value (flex: 0 0 X%) drives the width;
     we restore position:relative + the desktop flex order so it stays side-by-side. */
  /* Full-image overlay panel: honour the per-slide inline width/position */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined.slide-full-image .text-overlay-panel {
    position: absolute;
    top: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 40px 32px 32px;
    box-sizing: border-box;
    z-index: 2;
    text-align: left;
    /* width is set by the per-slide inline style — do not override */
    width: unset;
    inset: auto;
  }
  /* Split-mode text column: restore desktop flex layout */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined:not(.slide-full-image) .text-column-slide {
    position: relative;
    inset: auto;
    top: auto;
    bottom: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 32px;
    box-sizing: border-box;
    z-index: 2;
    /* width is driven by the desktop CSS flex value (flex: 0 0 40%) — do not override */
    width: unset;
    order: 1;
  }
  /* slide-text-right: swap column order for split-mode slides */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined.slide-text-right:not(.slide-full-image) .text-column-slide {
    order: 2;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined.slide-text-right:not(.slide-full-image) .image-column-slide {
    order: 1;
  }
  /* Restore left/right positioning for full-image overlay panels */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined.slide-full-image.slide-text-left .text-overlay-panel {
    left: 0;
    right: auto;
    top: 0;
    bottom: 0;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined.slide-full-image.slide-text-right .text-overlay-panel {
    left: auto;
    right: 0;
    top: 0;
    bottom: 0;
  }
  /* image-middle: background container inherits the base desktop rule (position:absolute; inset:0)
     so no override needed — just ensure image inside uses contain not cover */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .slide-full-image-bg {
    /* No changes — base desktop rule handles this correctly */
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .image-column-slide {
    flex: 0 0 60%;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    background: transparent;
    overflow: hidden;
    position: relative;
    order: 2;
    align-self: stretch;
    height: 100%;
    max-height: 100%;
    width: auto;
    box-sizing: border-box;
  }
  /* image-middle: split-mode image column uses contain so nothing is cropped.
     Full-image background slides keep cover (they fill the entire slide). */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .image-column-slide .slide-img-desktop,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .image-column-slide .slide-img-mobile {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
  }
  /* Full-image bg slides: keep cover so the background fills fully */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .slide-full-image-bg .slide-img-desktop,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .slide-full-image-bg .slide-img-mobile,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .slide-full-image-bg .slide-image-fill {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }
  /* image-middle: hide below-image panel on tablet (it's shown inline on desktop) */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .text-below-image-panel {
    display: none;
  }
  /* image-middle: restore desktop CTA position */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .slide-fullimage-cta {
    position: absolute;
    bottom: 60px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 16px;
    justify-content: center;
    z-index: 5;
    pointer-events: auto;
    white-space: nowrap;
    inset: auto;
    order: unset;
    flex-direction: row;
    width: auto;
    padding: 0;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .slide-fullimage-cta .cta-button {
    width: auto;
    white-space: nowrap;
  }
  /* image-middle: dots sit inside the slider-wrapper-slides */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .dots-overlay {
    position: absolute;
    bottom: 24px;
    left: 0;
    right: 0;
    padding: 0;
    background: transparent;
    z-index: 10;
  }
  /* ── Image-bottom (default): square image — 100vw makes the image as wide as
     the viewport, so its displayed area is perfectly square. Text takes the rest. ── */
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-top):not(.mobile-img-image-middle) .slide-wrapper-combined .image-column-slide,
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-top):not(.mobile-img-image-middle) .slide-wrapper-combined .slide-full-image-bg {
    flex: 0 0 100%;
    height: 100vw;
    /* Cap image height on wider tablets to prevent the image from
       consuming the full viewport and pushing buttons off-screen */
    max-height: min(100vw, 56vh);
    min-height: 0;
    width: 100%;
    position: relative;
    inset: auto;
    order: 2;
    overflow: hidden;
    align-self: auto;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-top):not(.mobile-img-image-middle) .slide-wrapper-combined .text-column-slide,
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-top):not(.mobile-img-image-middle) .slide-wrapper-combined .text-overlay-panel {
    flex: 1 1 0;
    height: auto;
    min-height: 0;
    width: 100% !important;
    padding: 16px 20px 12px;
    position: relative;
    inset: auto;
    order: 1;
    box-sizing: border-box;
    overflow-y: auto;
    /* Column layout keeps the action buttons anchored below the focal
       text content — prevents the upward shift at wider tablet widths */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  /* Text vertical alignment — bottom */
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-top):not(.mobile-img-image-middle) .slide-wrapper-combined .text-column-slide.text-valign-bottom,
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-top):not(.mobile-img-image-middle) .slide-wrapper-combined .text-overlay-panel.text-valign-bottom {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
  /* image-top variant */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .text-column-slide.text-valign-bottom,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .text-overlay-panel.text-valign-bottom {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
  /* Images fill their block (non-image-middle) */
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-middle) .slide-wrapper-combined .image-column-slide .slide-img-desktop,
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-middle) .slide-wrapper-combined .slide-full-image-bg .slide-img-desktop {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-middle) .slide-wrapper-combined .image-column-slide .slide-img-mobile,
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-middle) .slide-wrapper-combined .slide-full-image-bg .slide-img-mobile {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    display: block;
  }
  /* Full-image bg keeps cover (non-image-middle) */
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-middle) .slide-image-fill {
    object-fit: cover;
    object-position: center center;
  }
  /* Hide desktop image when mobile image sibling is present (non-image-middle) */
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-middle) .slide-wrapper-combined .image-column-slide .slide-img-desktop:not(:only-child),
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-middle) .slide-wrapper-combined .slide-full-image-bg .slide-img-desktop:not(:only-child) {
    display: none;
  }
  /* ── Image-top variant ── */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slider-wrapper-slides {
    overflow-y: auto;
    overflow-x: hidden;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slides-track-combined {
    height: auto;
    min-height: 100%;
    align-items: flex-start;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined {
    height: auto;
    min-height: 100%;
    overflow: visible;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .text-column-slide,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .text-overlay-panel {
    order: 2;
    flex: 0 0 auto;
    overflow-y: visible;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .image-column-slide,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .slide-full-image-bg {
    order: 1;
    flex: 0 0 min(35vw, 28vh);
    height: min(35vw, 28vh);
    min-height: 0;
    width: 100%;
    max-height: 260px;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .image-column-slide .slide-img-desktop,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .slide-full-image-bg .slide-img-desktop,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .image-column-slide .slide-img-mobile,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .slide-full-image-bg .slide-img-mobile {
    object-position: top center;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top {
    position: relative;
  }
  /* CTA buttons for full-image mode (non-image-middle) */
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-middle) .slide-wrapper-combined .slide-fullimage-cta {
    position: relative;
    inset: auto;
    transform: none;
    left: auto;
    order: 3;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 0 24px 16px;
    box-sizing: border-box;
    gap: 10px;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-middle) .slide-wrapper-combined .slide-fullimage-cta .cta-button {
    width: 100%;
    white-space: normal;
  }
  /* Dots always overlay the slider (non-image-middle) */
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-middle) .dots-overlay {
    position: absolute;
    bottom: 16px;
    left: 0;
    right: 0;
    z-index: 10;
  }
  /* Typography (non-image-middle) */
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-middle) .slide-title-slide {
    font-size: 1.5rem;
    margin-bottom: 12px;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-middle) .slide-description-slide {
    font-size: 0.95rem;
    line-height: 1.45;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-middle) .text-column-controls {
    margin-top: 20px;
    gap: 12px;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-middle) .cta-buttons-container-text {
    flex-direction: column;
    width: 100%;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-middle) .cta-button {
    width: 100%;
  }
}
/* =====================================================
   Phone landscape: max-width 900px AND max-height 500px
   Catches the specific "who does this" use-case of a
   phone rotated sideways (e.g. ~844×390 or ~896×414).
   In this orientation width is large but height is tiny,
   so we switch to a compact side-by-side layout instead
   of stacking, keeping both text and image visible.
   ===================================================== */
@media (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {
  /* ── Picture-only mode ── */
  .widget-8ec108 .bottom-controls-wrapper {
    bottom: 10px;
    padding: 0 10px;
    gap: 6px;
  }
  .widget-8ec108 .arrow-btn {
    width: 32px;
    height: 32px;
  }
  .widget-8ec108 .arrow-controls {
    padding: 0 8px;
  }
  .widget-8ec108 .dot {
    width: 7px;
    height: 7px;
  }
  .widget-8ec108 .cta-buttons-container {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    bottom: 10px;
    padding: 0 12px;
  }
  .widget-8ec108 .cta-button {
    padding: 7px 14px;
    font-size: 0.8rem;
    width: auto;
    max-width: none;
  }
  /* ── Text-slides mode: stay in normal flow, auto height ── */
  .widget-8ec108:has(.with-text-slides) {
    position: relative;
    inset: auto;
    height: auto;
    overflow: visible;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides {
    height: auto;
    overflow: visible;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides .slider-wrapper-slides {
    height: auto;
    min-height: 0;
    flex: none;
    overflow: visible;
    overflow-x: hidden;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides .slides-track-combined {
    height: auto;
    min-height: 0;
    align-items: flex-start;
  }
  /* Each slide: horizontal row, capped to a sensible landscape height */
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined {
    flex-direction: row;
    height: auto;
    min-height: 0;
    overflow: hidden;
  }
  /* Text column: left side, roughly 45% width, scrollable if needed */
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined .text-column-slide,
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined .text-overlay-panel {
    flex: 0 0 45%;
    width: 45% !important;
    max-height: 90vh;
    padding: 14px 16px 36px;
    position: relative;
    inset: auto;
    order: 1;
    box-sizing: border-box;
    overflow-y: auto;
  }
  /* Image column: right side, fills remaining space, height driven by viewport */
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined .image-column-slide,
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined .slide-full-image-bg {
    flex: 1 1 0;
    min-height: 0;
    height: 80vh;
    max-height: 440px;
    width: auto;
    position: relative;
    inset: auto;
    order: 2;
    overflow: hidden;
    align-self: stretch;
  }
  /* Images fill their container */
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined .image-column-slide .slide-img-desktop,
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined .slide-full-image-bg .slide-img-desktop,
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined .image-column-slide .slide-img-mobile,
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined .slide-full-image-bg .slide-img-mobile {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined .image-column-slide .slide-img-desktop:not(:only-child),
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined .slide-full-image-bg .slide-img-desktop:not(:only-child) {
    display: none;
  }
  /* image-top / image-middle variants: same row layout in landscape */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined {
    flex-direction: row;
    height: auto;
    min-height: 0;
    overflow: hidden;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .text-column-slide,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .text-overlay-panel,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .text-overlay-panel {
    order: 1;
    flex: 0 0 45%;
    width: 45% !important;
    max-height: 90vh;
    padding: 14px 16px 36px;
    overflow-y: auto;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .image-column-slide,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .slide-full-image-bg,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .slide-full-image-bg,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .image-column-slide {
    order: 2;
    flex: 1 1 0;
    height: 80vh;
    max-height: 440px;
    width: auto;
  }
  /* image-middle: hide the "below image" text block — no room in landscape */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .text-below-image-panel {
    display: none;
  }
  /* image-middle auto-height overrides: revert back to normal flow */
  .widget-8ec108:has(.advanced-slider-container.with-text-slides.mobile-img-image-middle) {
    position: relative;
    inset: auto;
    height: auto;
    overflow: visible;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slider-wrapper-slides {
    height: auto;
    overflow: visible;
    overflow-x: hidden;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slides-track-combined {
    height: auto;
    min-height: 0;
    align-items: flex-start;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined {
    height: auto;
    min-height: 0;
    overflow: hidden;
  }
  /* CTA buttons: inline row in landscape */
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined .slide-fullimage-cta {
    position: absolute;
    bottom: 28px;
    left: 50%;
    transform: translateX(-50%);
    flex-direction: row;
    gap: 10px;
    padding: 0 16px;
    order: unset;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined .slide-fullimage-cta .cta-button {
    width: auto;
    white-space: nowrap;
    padding: 7px 14px;
    font-size: 0.8rem;
  }
  /* Dots: always overlaid, compact */
  .widget-8ec108 .advanced-slider-container.with-text-slides .dots-overlay {
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    z-index: 10;
  }
  /* Text-slides CTA button row */
  .widget-8ec108 .advanced-slider-container.with-text-slides .cta-buttons-container-text {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
    margin-top: 10px;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides .cta-button {
    width: auto;
    padding: 7px 14px;
    font-size: 0.8rem;
  }
  /* Typography: compact for landscape */
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-title-slide {
    font-size: 1.1rem;
    margin-bottom: 8px;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-description-slide {
    font-size: 0.82rem;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides .text-column-controls {
    margin-top: 10px;
    gap: 8px;
  }
  .widget-8ec108 .slide-description-below-desktop {
    display: none;
  }
}
/* =====================================================
   Mobile
   ===================================================== */
@media (max-width: 767px) {
  .widget-8ec108 .slide-description-below-desktop {
    display: none;
  }
  .widget-8ec108 .bottom-controls-wrapper {
    bottom: 0;
    padding: 0 12px 12px;
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }
  .widget-8ec108 .dots-container {
    gap: 8px;
  }
  .widget-8ec108 .corner-link-wrapper {
    position: static;
    max-width: 100%;
    width: 100%;
    justify-content: center;
    text-align: center;
  }
  .widget-8ec108 .slide-corner-link {
    max-width: 100%;
    text-align: center;
  }
  .widget-8ec108 .corner-link-text {
    font-size: 0.82rem;
    text-align: center;
    white-space: normal;
    word-break: break-word;
  }
  .widget-8ec108 .dot {
    width: 8px;
    height: 8px;
  }
  .widget-8ec108 .arrow-controls {
    padding: 0 12px;
  }
  .widget-8ec108 .arrow-btn {
    width: 36px;
    height: 36px;
  }
  .widget-8ec108 .cta-buttons-container {
    flex-direction: column;
    gap: 10px;
    bottom: 15px;
    padding: 0 20px;
    width: 100%;
    max-width: 100%;
  }
  .widget-8ec108 .cta-button {
    padding: 10px 16px;
    font-size: 0.9rem;
    width: 100%;
    max-width: 300px;
    white-space: normal;
    text-align: center;
  }
  /* ── Fixed-height mobile layout ─────────────────────────────────────────
     The widget has a fixed height set in the editor. The slider wrapper
     fills that height. Each slide fills 100% height and stacks text + image
     vertically. Text is auto height at top; image fills the remaining space
     and always touches the bottom edge. No jumping between slides.
     ──────────────────────────────────────────────────────────────────────── */
  /* Widget root already fills its container via position:absolute when
     image-only, but in with-text-slides mode it is position:relative.
     On mobile we need it to fill the fixed height the user set. */
  .widget-8ec108:has(.with-text-slides) {
    position: absolute;
    inset: 0;
    height: 100%;
    overflow: hidden;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides {
    height: 100%;
    overflow: hidden;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides .slider-wrapper-slides {
    height: 100%;
    min-height: 0;
    flex: 1 1 0;
    overflow: hidden;
    width: 100%;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides .slides-track-combined {
    height: 100%;
    align-items: stretch;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }
  /* Every slide fills the full height of the wrapper */
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined {
    height: 100%;
    min-height: 0;
    flex-direction: column;
    position: relative;
    overflow: hidden;
  }
  /* ── Image-bottom variant (default on mobile): fixed image height so it never
     scales with text. Text gets remaining space and scrolls if needed. ── */
  /* Image block: square — width equals 100vw so the image is always as wide as
     the screen, making the displayed area perfectly square. The image sits at
     the bottom of the slide (order:2) and is anchored to its top edge so heads
     are never cropped. */
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-top):not(.mobile-img-image-middle) .slide-wrapper-combined .image-column-slide,
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-top):not(.mobile-img-image-middle) .slide-wrapper-combined .slide-full-image-bg {
    flex: 0 0 100%;
    height: 100vw;
    max-height: 100vw;
    min-height: 0;
    width: 100%;
    position: relative;
    inset: auto;
    order: 2;
    overflow: hidden;
    align-self: auto;
  }
  /* Text block: takes the remaining space above the image, scrolls if needed */
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-top):not(.mobile-img-image-middle) .slide-wrapper-combined .text-column-slide,
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-top):not(.mobile-img-image-middle) .slide-wrapper-combined .text-overlay-panel {
    flex: 1 1 0;
    height: auto;
    min-height: 0;
    width: 100% !important;
    padding: 10px 16px 10px;
    position: relative;
    inset: auto;
    order: 1;
    box-sizing: border-box;
    overflow-y: auto;
  }
  /* Text vertical alignment — bottom */
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-top):not(.mobile-img-image-middle) .slide-wrapper-combined .text-column-slide.text-valign-bottom,
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-top):not(.mobile-img-image-middle) .slide-wrapper-combined .text-overlay-panel.text-valign-bottom {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
  /* ── Text vertical alignment (all mobile variants) ── */
  /* image-top: text is below image, valign-bottom aligns text to bottom of its block */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .text-column-slide.text-valign-bottom,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .text-overlay-panel.text-valign-bottom {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
  /* image-middle: text-overlay-panel (top block) valign-bottom pushes content to bottom of that block */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .text-overlay-panel.text-valign-bottom {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined .image-column-slide .slide-img-desktop,
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined .slide-full-image-bg .slide-img-desktop {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined .image-column-slide .slide-img-mobile,
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined .slide-full-image-bg .slide-img-mobile {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
  }
  /* Hide desktop image when a mobile image sibling is present */
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined .image-column-slide .slide-img-desktop:not(:only-child),
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined .slide-full-image-bg .slide-img-desktop:not(:only-child) {
    display: none;
  }
  /* Image-bottom mode on mobile: square container → use object-fit:contain
     so the full image is always visible and perfectly fills the square box. */
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-top):not(.mobile-img-image-middle) .slide-wrapper-combined .image-column-slide .slide-img-desktop,
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-top):not(.mobile-img-image-middle) .slide-wrapper-combined .slide-full-image-bg .slide-img-desktop,
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-top):not(.mobile-img-image-middle) .slide-wrapper-combined .image-column-slide .slide-img-mobile,
  .widget-8ec108 .advanced-slider-container.with-text-slides:not(.mobile-img-image-top):not(.mobile-img-image-middle) .slide-wrapper-combined .slide-full-image-bg .slide-img-mobile {
    object-fit: contain;
    object-position: center center;
  }
  /* ── Image-top variant ── */
  /* In image-top mode the whole slide becomes scrollable so text is never clipped.
     The image has a fixed height and never grows/shrinks with the text. */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slider-wrapper-slides {
    overflow-y: auto;
    overflow-x: hidden;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slides-track-combined {
    height: auto;
    min-height: 100%;
    align-items: flex-start;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined {
    height: auto;
    min-height: 100%;
    overflow: visible;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .text-column-slide,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .text-overlay-panel {
    order: 2;
    flex: 0 0 auto;
    overflow-y: visible;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .image-column-slide,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .slide-full-image-bg {
    order: 1;
    flex: 0 0 min(65vw, 50vh);
    height: min(65vw, 50vh);
    min-height: 0;
    width: 100%;
    max-height: 480px;
  }
  /* Fix image object-position when image is at top so it anchors to the top edge */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .image-column-slide .slide-img-desktop,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .slide-full-image-bg .slide-img-desktop,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .image-column-slide .slide-img-mobile,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top .slide-wrapper-combined .slide-full-image-bg .slide-img-mobile {
    object-position: top center;
  }
  /* CTA buttons for full-image mode on mobile */
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined .slide-fullimage-cta {
    position: relative;
    inset: auto;
    transform: none;
    left: auto;
    order: 3;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 0 24px 16px;
    box-sizing: border-box;
    gap: 10px;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-wrapper-combined .slide-fullimage-cta .cta-button {
    width: 100%;
    white-space: normal;
  }
  /* ── Dots: always overlay the image block ── */
  .widget-8ec108 .advanced-slider-container.with-text-slides .dots-overlay {
    position: absolute;
    bottom: 16px;
    left: 0;
    right: 0;
    z-index: 10;
  }
  /* When dots are lifted to be a direct child of the container in image-top
     mode, ensure the container itself is position:relative so absolute
     positioning anchors to it correctly */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-top {
    position: relative;
  }
  /* ── Image-middle variant (mobile) ──
     Full-image slide layout: top text → image → below text.
     Widget expands to fit all content (auto height); no scrollbar. */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle {
    position: relative;
  }
  /* Override the fixed-height widget root so it auto-sizes */
  .widget-8ec108:has(.advanced-slider-container.with-text-slides.mobile-img-image-middle) {
    position: relative;
    inset: auto;
    height: auto;
    overflow: visible;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slider-wrapper-slides {
    height: auto;
    min-height: 0;
    flex: none;
    overflow: visible;
    overflow-x: hidden;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slides-track-combined {
    height: auto;
    min-height: 0;
    align-items: flex-start;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined {
    height: auto;
    min-height: 0;
    overflow: visible;
    display: flex;
    flex-direction: column;
  }
  /* Top text panel: order 1 */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .text-overlay-panel {
    order: 1;
    flex: 0 0 auto;
    overflow-y: visible;
    position: relative;
    inset: auto;
    width: 100% !important;
    padding: 24px 24px 20px;
    box-sizing: border-box;
  }
  /* Image block: order 2, capped height — respects landscape vh too */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .slide-full-image-bg {
    order: 2;
    flex: 0 0 min(70vw, 55vh);
    height: min(70vw, 55vh);
    min-height: 0;
    max-height: 560px;
    width: 100%;
    position: relative;
    inset: auto;
    overflow: hidden;
  }
  /* Non-full-image slides: image column */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .image-column-slide {
    order: 2;
    flex: 0 0 min(70vw, 55vh);
    height: min(70vw, 55vh);
    min-height: 0;
    max-height: 560px;
    width: 100%;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .slide-full-image-bg .slide-img-desktop,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .slide-full-image-bg .slide-img-mobile,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .image-column-slide .slide-img-desktop,
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .image-column-slide .slide-img-mobile {
    object-position: center center;
  }
  /* Below-image text panel: order 3, shown */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .text-below-image-panel {
    display: block;
    order: 3;
    flex: 0 0 auto;
    width: 100%;
    padding: 20px 24px 60px; /* 20px top = same gap as below top text; extra bottom clears the dots */
    box-sizing: border-box;
  }
  /* CTA buttons: order 4 */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .slide-wrapper-combined .slide-fullimage-cta {
    order: 4;
  }
  /* Dots: absolutely positioned at the bottom of the slider-wrapper-slides */
  .widget-8ec108 .advanced-slider-container.with-text-slides.mobile-img-image-middle .dots-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 10px 0;
    background: transparent;
    z-index: 10;
  }
  /* Typography size adjustments */
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-title-slide {
    font-size: 1.5rem;
    margin-bottom: 12px;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides .slide-description-slide {
    font-size: 0.9rem;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides .text-column-controls {
    margin-top: 20px;
    gap: 12px;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides .cta-buttons-container-text {
    flex-direction: column;
    width: 100%;
  }
  .widget-8ec108 .advanced-slider-container.with-text-slides .cta-button {
    width: 100%;
  }
}

.widget-1f5975 .copyright {
    font-size: 13px;
    display: flex;
    text-align: left;
    justify-content: flex-start;
}
