/* REME Builder — frontend rows & columns */
body.rmb-canvas:not(.rme-demo-page){margin:0;background:#F6FAF7}
body.rmb-canvas.rme-demo-page{margin:0}
.rmb-content{direction:ltr;width:100%;max-width:none!important;margin:0!important}
.is-layout-constrained>.rmb-content,.entry-content>.rmb-content{max-width:none!important}
.rmb-row{position:relative;width:100%;box-sizing:border-box}
.rmb-row-in{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:stretch;gap:var(--rmb-gap,0px);box-sizing:border-box}
.rmb-row.is-multi:not(.rmb-row-fullwidth) .rmb-row-in{gap:var(--rmb-gap,30px);max-width:1240px;margin:0 auto;padding-inline:24px}
.rmb-row.is-multi.rmb-row-fullwidth>.rmb-row-in{gap:var(--rmb-gap,30px);width:100%;max-width:none;margin:0;padding-inline:0}
.rmb-row-boxed .rmb-row-in{max-width:1240px;margin:0 auto;padding-inline:24px}
.rmb-row-stretch .rm-w{background:transparent!important}
.rmb-col{position:relative;box-sizing:border-box;flex:1 1 calc(var(--rmb-w,100%) - var(--rmb-gap,30px));max-width:var(--rmb-w,100%);min-width:0;display:flex;flex-direction:column}
.rmb-col-in{position:relative;z-index:2;display:flex;flex-direction:column;flex:1 1 auto;min-width:0}
.rmb-col-in>*{min-width:0}
.rmb-row:not(.is-multi) .rmb-col{flex-basis:100%;max-width:100%}
.rmb-row.is-multi .rm-w .rm-container,.rmb-row-boxed .rm-w .rm-container{padding-inline:0;max-width:none}
.rmb-row.is-multi .rm-w{--rm-pad:24px}
.rmb-va-start .rmb-row-in{align-items:flex-start}.rmb-va-center .rmb-row-in{align-items:center}.rmb-va-end .rmb-row-in{align-items:flex-end}.rmb-va-stretch .rmb-row-in{align-items:stretch}
.rmb-has-minh{display:flex;flex-direction:column;justify-content:center}
.rmb-has-minh>.rmb-row-in{width:100%;box-sizing:border-box}
.rmb-cva-start>.rmb-col-in{justify-content:flex-start}.rmb-cva-center>.rmb-col-in{justify-content:center}.rmb-cva-end>.rmb-col-in{justify-content:flex-end}.rmb-cva-between>.rmb-col-in{justify-content:space-between}
.rmb-sticky>.rmb-col-in{position:sticky;top:90px;flex:0 0 auto}
.rmb-ov{position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit}
.rmb-has-shape{overflow:hidden}
.rmb-shape{position:absolute;right:0;left:0;z-index:1;line-height:0;pointer-events:none;direction:ltr}
.rmb-shape.is-front{z-index:3}
.rmb-shape svg{display:block;width:calc(100% + 2px);height:70px;margin-right:-1px}
.rmb-shape-t{top:-1px}
.rmb-shape-b{bottom:-1px;transform:rotate(-180deg)}
.rmb-shape-t.is-flip{transform:scaleX(-1)}
.rmb-shape-b.is-flip{transform:rotate(-180deg) scaleX(-1)}
@media (min-width:1025px){.rmb-hide-d{display:none!important}}
@media (min-width:768px) and (max-width:1024px){
  .rmb-hide-t{display:none!important}
  .rmb-rev-t .rmb-row-in{flex-direction:row-reverse}
  .rmb-row.is-multi .rmb-row-in{gap:var(--rmb-gap,24px)}
}
@media (max-width:767px){
  .rmb-row.is-multi .rmb-row-in{padding-inline:16px;gap:var(--rmb-gap,16px)}
  .rmb-row.is-multi.rmb-row-fullwidth>.rmb-row-in{padding-inline:0}
  .rmb-col{flex-basis:100%!important;max-width:100%!important}
  .rmb-rev-m .rmb-row-in{flex-direction:column-reverse}
  .rmb-hide-m{display:none!important}
  .rmb-shape svg{height:40px}
  .rmb-sticky>.rmb-col-in{position:static}
}
/* Narrow columns: stack element internals by the column width (container queries) */
.rmb-row.is-multi .rmb-col-in{container-type:inline-size;container-name:rmbcol}
@container rmbcol (max-width:760px){
  .rm-w .rm-split,.rm-w .rm-news,.rm-w .rm-logo-show,.rm-w .rm-donut-wrap,.rm-w .rm-rsum,.rm-w .rm-tabs-side,.rm-w .rm-prose.has-toc,.rm-w .rm-faq-cols-2,.rm-w .rm-footer-grid{grid-template-columns:minmax(0,1fr)!important;gap:22px}
  .rm-w .rm-split>*{order:initial!important}
  .rm-w .rm-cta{flex-direction:column;text-align:center}
  .rm-w .rm-grid:not([style*="--rm-cols:1;"]),.rm-w .rm-steps:not([style*="--rm-cols:1;"]),.rm-w .rm-trust:not([style*="--rm-cols:1;"]){grid-template-columns:repeat(2,minmax(0,1fr))}
  .rm-w .rm-plist{grid-template-columns:minmax(0,1fr)}
}
@container rmbcol (max-width:460px){
  .rm-w .rm-grid,.rm-w .rm-steps,.rm-w .rm-trust,.rm-w .rm-ilist-grid,.rm-w .rm-form{grid-template-columns:minmax(0,1fr)!important}
  .rm-w .rm-cd{gap:6px}
  .rm-w .rm-cd-cell{min-width:0;flex:1;padding:12px 4px}
}

/* Many columns: wrap nicely on tablets */
@media (min-width:768px) and (max-width:1024px){
  .rmb-row.rmb-cols-4 > .rmb-row-in > .rmb-col{flex:0 0 calc(50% - var(--rmb-gap,24px)/2);max-width:calc(50% - var(--rmb-gap,24px)/2)}
  .rmb-row.rmb-cols-5 > .rmb-row-in > .rmb-col,.rmb-row.rmb-cols-6 > .rmb-row-in > .rmb-col{flex:0 0 calc(33.333% - var(--rmb-gap,24px)*.667);max-width:calc(33.333% - var(--rmb-gap,24px)*.667)}
}
@media (max-width:767px){
  .rmb-row.rmb-cols-6 > .rmb-row-in > .rmb-col:not([style*="w_m"]){flex-basis:calc(50% - var(--rmb-gap,16px)/2)!important;max-width:calc(50% - var(--rmb-gap,16px)/2)!important}
}
.rmb-row-top{position:relative;z-index:990}.rmb-row-top>.rmb-row-in{z-index:990}
/* ---------- REME Header & Footer ---------- */
.rmt{position:relative;z-index:990;display:block}
.rmt-footer{z-index:1}
.rmt .rmb-content{overflow:visible}
.rmt-header .rmb-row{overflow:visible}
.rmt-header .rmb-col-in,.rmt-footer .rmb-row.rmb-inline-m .rmb-col-in{container-type:normal}
.rmt-sticky-sticky,.rmt-sticky-smart{position:sticky;top:var(--wp-admin--admin-bar--height,0px);transition:transform .35s cubic-bezier(.2,.7,.2,1),background .3s,box-shadow .3s}
.rmt-sticky-smart.is-hidden{transform:translateY(-100%)}
.rmt.has-shadow.is-scrolled{box-shadow:0 10px 30px -18px rgba(0,0,0,.35)}
.rmt-header.is-transparent{position:absolute;inset-inline:0;top:var(--wp-admin--admin-bar--height,0px)}
.rmt-header.is-transparent .rmb-row,.rmt-header.is-transparent .rm-w{background:transparent!important}
.rmt-header.is-transparent.rmt-sticky-sticky,.rmt-header.is-transparent.rmt-sticky-smart{position:fixed}
.rmt-header.is-transparent.is-scrolled{background:var(--rmt-sbg,#fff)}
.rmt-header.is-transparent:not(.is-scrolled) .rf{--rf-c:#fff;--rf-m:rgba(255,255,255,.8)}
.rmt-header.is-transparent:not(.is-scrolled) .rwc-mc-btn{color:#fff!important}
.rmt-sticky-sticky.is-scrolled:not(.is-transparent),.rmt-sticky-smart.is-scrolled:not(.is-transparent){background:var(--rmt-sbg,#fff)}
.rmt-skip{position:absolute;inset-inline-start:-9999px}
.rmt-skip:focus{inset-inline-start:12px;top:12px;z-index:100010;padding:10px 16px;background:#fff;color:#111;border-radius:8px}
.rmt-preview-fill{height:60vh;background:repeating-linear-gradient(135deg,#f2f3f5 0 12px,#eceef1 12px 24px)}
body.rmt-has-header{overflow-x:clip}
/* rows that keep their columns side by side on phones / tablets (headers) */
@media (max-width:767px){
  .rmb-inline-m .rmb-row-in{flex-wrap:nowrap!important;align-items:center}
  .rmb-row.rmb-inline-m .rmb-col{flex:0 1 auto!important;max-width:none!important;width:auto;min-width:0}
  .rmb-row.rmb-inline-m .rmb-col:first-child{flex:1 1 auto!important}
  .rmb-row.rmb-inline-m .rmb-col-in{container-type:normal}
}
@media (min-width:768px) and (max-width:1024px){
  .rmb-inline-t .rmb-row-in{flex-wrap:nowrap!important;align-items:center}
  .rmb-row.rmb-inline-t .rmb-col{flex:0 1 auto!important;max-width:none!important;width:auto;min-width:0}
  .rmb-row.rmb-inline-t .rmb-col:first-child{flex:1 1 auto!important}
  .rmb-row.rmb-inline-t .rmb-col-in{container-type:normal}
}
/* column with elements side by side */
.rmb-col-row>.rmb-col-in{flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--rmb-igap,10px)}
.rmb-col-row>.rmb-col-in>*{flex:0 0 auto;width:auto;min-width:0}
.rmb-col-row>.rmb-col-in>.rm-w .rm-container{padding-inline:0}
.rmb-cj-center>.rmb-col-in{justify-content:center}.rmb-cj-end>.rmb-col-in{justify-content:flex-end}.rmb-cj-between>.rmb-col-in{justify-content:space-between}
.rmt .rm-w.rm-anim .rm-container,.rmt .rm-w.rm-anim.rm-pre .rm-container{opacity:1!important;transform:none!important;transition:none!important}
/* headers on phones: logo | icons | menu button, never wrapping */
@media (max-width:767px){
  .rmb-row.rmb-inline-m .rmb-col-row>.rmb-col-in{flex-wrap:nowrap}
  .rmt-header .rmb-row.rmb-inline-m .rmb-col:has(.rmw-mega-menu,.rmw-nav-menu){order:9}
  .rmt-header .rmb-row.rmb-inline-m .rmb-col:has(.rmw-site-logo){flex:1 1 auto!important;min-width:0}
}
/* two columns per line on phones (footers): the first column stays full width */
@media (max-width:767px){
  .rmb-row.rmb-two-m .rmb-row-in{row-gap:28px}
  .rmb-row.rmb-two-m .rmb-col{flex:1 1 calc(50% - var(--rmb-gap,30px))!important;max-width:calc(50% - var(--rmb-gap,30px) / 2)!important}
  .rmb-row.rmb-two-m .rmb-col:first-child{flex-basis:100%!important;max-width:100%!important}
}
/* REME 3.0 globals + loop builder */
.rmb-hide-all{display:none!important}
.rmb-loop-grid{display:grid;grid-template-columns:repeat(var(--rmb-loop-cols,3),minmax(0,1fr));gap:var(--rmb-loop-gap,24px)}
.rmb-loop-grid.is-list{grid-template-columns:1fr}
.rmb-loop-card{background:var(--rm-card,#fff);border:1px solid rgba(1,52,37,.12);border-radius:18px;overflow:hidden;box-shadow:0 14px 35px -28px rgba(1,52,37,.5);height:100%}
.rmb-loop-card>a{display:block;color:inherit;text-decoration:none}
.rmb-loop-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.rmb-loop-card-body{padding:20px}.rmb-loop-card h3{margin:0 0 9px}.rmb-loop-card p{margin:0;opacity:.8}
.rmb-loop-pagination{display:flex;justify-content:center;gap:8px;margin-top:28px;flex-wrap:wrap}
@media(max-width:1024px){.rmb-loop-grid{grid-template-columns:repeat(min(var(--rmb-loop-cols,3),2),minmax(0,1fr))}}
@media(max-width:767px){.rmb-loop-grid{grid-template-columns:1fr}}
/* Theme Builder 2.0 dedicated mobile header */
.rmt-mobile-header{display:none!important}.rmt-desktop-header{display:block!important}@media(max-width:767px){.rmt-has-mobile-header .rmt-mobile-header{display:block!important}.rmt-has-mobile-header .rmt-desktop-header{display:none!important}}


/* REME 4.9 — true full-canvas compatibility for Twenty Twenty-Five and other block themes */
html:has(body.rmb-canvas){margin:0!important}
body.rmb-canvas{margin:0!important;padding:0!important;max-width:none!important;overflow-x:clip}
body.rmb-canvas:not(.rme-demo-page){background:var(--rmb-page-bg,#fff)}
body.rmb-canvas .rmb-canvas-main,
body.rmb-canvas .rmb-content,
body.rmb-canvas .entry-content,
body.rmb-canvas .wp-block-post-content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.rmb-canvas .rmb-canvas-main>*,
body.rmb-canvas .rmb-content>*{max-width:none}
body.rmb-canvas :where(.is-layout-constrained,.is-layout-flow,.wp-site-blocks){max-width:none!important;margin:0!important;padding-inline:0!important}
body.rmb-canvas :where(.alignwide,.alignfull){width:100%!important;max-width:none!important;margin-inline:0!important}
body.rmb-canvas .rmb-row{margin-inline:0!important}
body.rmb-canvas #wpadminbar{max-width:none}
body.rmb-canvas .rmt-header,body.rmb-canvas .rmt-footer{width:100%;max-width:none}

/* REME 4.9 — full-width template inside Twenty Twenty-Five / block themes. */
body.rmb-full-width.rmb-tt5-ready,
body.rmb-full-width.rmb-tt5-ready .wp-site-blocks,
body.rmb-full-width.rmb-tt5-ready main.rmb-full-main,
body.rmb-full-width.rmb-tt5-ready main.rmb-full-main > .entry-content,
body.rmb-full-width.rmb-tt5-ready main.rmb-full-main > .wp-block-post-content{
  width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;
}
body.rmb-full-width.rmb-tt5-ready .wp-site-blocks{padding-left:0!important;padding-right:0!important;overflow-x:clip}
body.rmb-full-width.rmb-tt5-ready main.rmb-full-main{padding:0!important}
body.rmb-full-width.rmb-tt5-ready main.rmb-full-main > *:not(.alignwide):not(.alignfull){max-width:none!important}
body.rmb-full-width.rmb-tt5-ready main.rmb-full-main .alignwide,
body.rmb-full-width.rmb-tt5-ready main.rmb-full-main .alignfull{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}

/* REME 4.9.1 — Twenty Twenty-Five shield: stop block-theme global styles leaking into REME sections. */
body.rmb-full-width .wp-site-blocks>*{margin-block-start:0!important;margin-block-end:0!important}
body.rmb-full-width main.rmb-full-main{display:block;min-height:40vh}
body.rmb-canvas main.rmb-canvas-main{display:block}
.rm-w.rm-w h5,.rm-w.rm-w h6{font-family:var(--rm-font-h);color:var(--rm-title);margin:0 0 .45em;line-height:1.3;font-weight:700;letter-spacing:0;text-transform:none}
:where(.rm-w) figure{margin:0}
:where(.rm-w) blockquote{margin:0;padding:0;border:0;quotes:none}
.rm-w :where(h1,h2,h3,h4,h5,h6){text-wrap:balance;overflow-wrap:break-word}
.rm-w :where(p,li){overflow-wrap:break-word}
.rm-w :where(img,video,iframe){max-width:100%}
body.rmb-canvas .rm-w,body.rmb-full-width .rm-w{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
@media (max-width:781px){body.rmb-canvas,body.rmb-full-width{overflow-x:clip}}

/* REME 5.0 — imported flagship demos always own the full canvas width. */
body.rme-demo-page .rmb-content>.rmb-row:not(.rmb-row-boxed)>.rmb-row-in{max-width:none;width:100%;padding-inline:0}
body.rme-demo-page .rmb-content>.rmb-row:not(.is-multi)>.rmb-row-in>.rmb-col{width:100%}


/* REME 5.3 — hard full-width shield for demos and REME full-width templates.
   The page canvas breaks out of any theme content container; boxed REME rows still keep their own inner max-width. */
html:has(body.rmb-canvas),html:has(body.rmb-full-width),html:has(body.rme-demo-page){width:100%!important;max-width:none!important;overflow-x:clip!important}
body.rmb-canvas,body.rmb-full-width,body.rme-demo-page{width:100%!important;max-width:none!important;overflow-x:clip!important}

/* Theme wrappers are allowed to exist, but they may not constrain the REME page canvas. */
body.rmb-full-width :where(#page,.site,.site-content,.content-area,#content,.block-content,.main-content,.page-content):has(.rmb-full-main),
body.rme-demo-page :where(#page,.site,.site-content,.content-area,#content,.block-content,.main-content,.page-content):has(.rmb-content){
  width:100%!important;max-width:none!important;margin-inline:0!important;padding-inline:0!important
}
body.rmb-full-width main.rmb-full-main,
body.rmb-canvas main.rmb-canvas-main{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important
}

/* True viewport breakout even when a classic theme nests the content inside a 1200px/boxed wrapper. */
body.rmb-full-width main.rmb-full-main>.rmb-content,
body.rmb-canvas main.rmb-canvas-main>.rmb-content,
body.rme-demo-page main>.rmb-content,
body.rme-demo-page .entry-content>.rmb-content,
body.rme-demo-page .wp-block-post-content>.rmb-content{
  position:relative!important;left:50%!important;right:auto!important;
  width:100vw!important;max-width:100vw!important;
  margin-left:-50vw!important;margin-right:0!important;padding-left:0!important;padding-right:0!important
}

/* Full-width sections own the viewport; boxed rows retain their intended readable inner container. */
body.rmb-page .rmb-content>.rmb-row{width:100%!important;max-width:none!important;margin-inline:0!important}
body.rmb-page .rmb-content>.rmb-row:not(.rmb-row-boxed)>.rmb-row-in{width:100%!important;max-width:none!important;margin-inline:0!important}
body.rmb-page .rmb-content>.rmb-row.rmb-row-boxed>.rmb-row-in{width:min(100%,1240px)!important;max-width:1240px!important;margin-inline:auto!important}

/* Header/footer also escape theme content constraints when REME owns them. */
body.rmb-page .rmt-desktop-header,body.rmb-page .rmt-mobile-header,body.rmb-page .rmt-footer,
body.rmb-page .rmt-header,body.rmb-page footer.rmt{
  width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:0!important
}

/* Common classic-theme / TheGem content wrappers. Scoped so normal non-REME pages are untouched. */
body.rmb-full-width :where(.gem-page-content,.block-content,.site-main,.content-main,.page-main):has(.rmb-full-main),
body.rme-demo-page :where(.gem-page-content,.block-content,.site-main,.content-main,.page-main):has(.rmb-content){
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important
}

@supports(width:100dvw){
  body.rmb-full-width main.rmb-full-main>.rmb-content,
  body.rmb-canvas main.rmb-canvas-main>.rmb-content,
  body.rme-demo-page main>.rmb-content,
  body.rme-demo-page .entry-content>.rmb-content,
  body.rme-demo-page .wp-block-post-content>.rmb-content{width:100dvw!important;max-width:100dvw!important;margin-left:-50dvw!important}
  body.rmb-page .rmt-desktop-header,body.rmb-page .rmt-mobile-header,body.rmb-page .rmt-footer,body.rmb-page .rmt-header,body.rmb-page footer.rmt{width:100dvw!important;max-width:100dvw!important;margin-left:calc(50% - 50dvw)!important}
}


/* REME 5.4 — Twenty Twenty-Five reference-theme shield for ALL TA01–TF05 demos.
   Keep the WordPress block theme active, but never let its contentSize/wideSize
   or root padding squeeze a REME-designed page. */
body.rmb-twenty-twenty-five.rme-demo-page{
  --wp--style--global--content-size:100%!important;
  --wp--style--global--wide-size:100%!important;
  --rme-demo-viewport:100vw;
  width:100%!important;max-width:none!important;margin:0!important;overflow-x:clip!important
}
body.rmb-twenty-twenty-five.rme-demo-page :where(.wp-site-blocks,.wp-block-post-content,.entry-content,.site-main,main){
  max-width:none!important
}
body.rmb-twenty-twenty-five.rme-demo-page .wp-site-blocks{
  width:100%!important;max-width:none!important;padding-left:0!important;padding-right:0!important
}
body.rmb-twenty-twenty-five.rme-demo-page :where(.wp-block-post-content,.entry-content):has(>.rmb-content){
  width:100%!important;max-width:none!important;margin-inline:0!important;padding-inline:0!important
}
body.rmb-twenty-twenty-five.rme-demo-page :where(.wp-block-post-content,.entry-content)>.rmb-content,
body.rmb-twenty-twenty-five.rme-demo-page main>.rmb-content{
  position:relative!important;left:50%!important;width:100vw!important;max-width:100vw!important;
  margin-left:-50vw!important;margin-right:0!important;padding-inline:0!important
}
body.rmb-twenty-twenty-five.rme-demo-page .rmb-content>.rmb-row{
  width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important
}
body.rmb-twenty-twenty-five.rme-demo-page .rmb-content>.rmb-row:not(.rmb-row-boxed)>.rmb-row-in{
  width:100%!important;max-width:none!important;margin-inline:0!important
}
body.rmb-twenty-twenty-five.rme-demo-page .rmb-content>.rmb-row.rmb-row-boxed>.rmb-row-in{
  width:min(calc(100% - 32px),1240px)!important;max-width:1240px!important;margin-inline:auto!important
}
/* Neutralize TT5 constrained-layout max-width only inside REME demo content. */
body.rmb-twenty-twenty-five.rme-demo-page .rmb-content :where(.is-layout-constrained,.is-layout-flow){
  max-width:none!important
}
body.rmb-twenty-twenty-five.rme-demo-page .rmb-content :where(.alignfull,.alignwide){
  width:100%!important;max-width:none!important;margin-inline:0!important
}
@supports(width:100dvw){
  body.rmb-twenty-twenty-five.rme-demo-page{--rme-demo-viewport:100dvw}
  body.rmb-twenty-twenty-five.rme-demo-page :where(.wp-block-post-content,.entry-content)>.rmb-content,
  body.rmb-twenty-twenty-five.rme-demo-page main>.rmb-content{width:100dvw!important;max-width:100dvw!important;margin-left:-50dvw!important}
}
@media(max-width:767px){
  body.rmb-twenty-twenty-five.rme-demo-page .rmb-content>.rmb-row.rmb-row-boxed>.rmb-row-in{width:min(calc(100% - 24px),1240px)!important}
}


/* REME 5.5 — definitive flagship tour viewport mode.
   TA01–TF05 are rendered with templates/canvas.php at runtime, so Twenty Twenty-Five
   may remain the active WordPress theme but cannot constrain the demo canvas. */
html:has(body.rmb-force-viewport){margin:0!important;padding:0!important;width:100%!important;max-width:none!important;overflow-x:clip!important}
body.rmb-force-viewport{margin:0!important;padding:0!important;width:100%!important;max-width:none!important;min-width:0!important;overflow-x:clip!important;background:#fff}
body.rmb-force-viewport #rmb-canvas-main,
body.rmb-force-viewport main.rmb-canvas-main,
body.rmb-force-viewport main.rmb-canvas-main>.rmb-content,
body.rmb-force-viewport .rmb-content{
  display:block!important;position:relative!important;left:auto!important;right:auto!important;
  width:100%!important;max-width:none!important;min-width:0!important;
  margin:0!important;padding:0!important;transform:none!important
}
body.rmb-force-viewport .rmb-content>.rmb-row{
  position:relative!important;left:auto!important;right:auto!important;
  width:100%!important;max-width:none!important;margin:0!important
}
/* A real Full row must stay full even when it contains two or more columns.
   Previously the generic multi-column rule silently re-boxed it to 1240px. */
body.rmb-force-viewport .rmb-content>.rmb-row:not(.rmb-row-boxed).is-multi>.rmb-row-in{
  width:100%!important;max-width:none!important;margin:0!important;padding-inline:0!important
}
/* Boxed rows remain deliberately contained, but use a premium travel-site width. */
body.rme-tour-demo .rmb-content>.rmb-row.rmb-row-boxed>.rmb-row-in,
body.rme-tour-demo .rmt-desktop-header .rmb-row-boxed>.rmb-row-in,
body.rme-tour-demo .rmt-mobile-header .rmb-row-boxed>.rmb-row-in,
body.rme-tour-demo .rmt-footer .rmb-row-boxed>.rmb-row-in{
  width:min(calc(100% - 56px),1540px)!important;max-width:1540px!important;margin-inline:auto!important
}
body.rme-tour-demo .rmt-desktop-header,
body.rme-tour-demo .rmt-mobile-header,
body.rme-tour-demo .rmt-footer,
body.rme-tour-demo .rmt-header{width:100%!important;max-width:none!important;margin-inline:0!important}
body.rme-tour-demo .rmt-pro{width:100%!important;max-width:none!important;margin:0!important}
body.rme-tour-demo .rmt-pro .rmt-hero-cover{width:100%!important;max-width:none!important}
@media(max-width:1024px){
  body.rme-tour-demo .rmb-content>.rmb-row.rmb-row-boxed>.rmb-row-in,
  body.rme-tour-demo .rmt-desktop-header .rmb-row-boxed>.rmb-row-in,
  body.rme-tour-demo .rmt-footer .rmb-row-boxed>.rmb-row-in{width:min(calc(100% - 32px),1540px)!important}
  }
@media(max-width:767px){
    body.rme-tour-demo .rmb-content>.rmb-row.rmb-row-boxed>.rmb-row-in{width:calc(100% - 24px)!important;padding-inline:0!important}
}


/* REME 5.5.1 — H.H Tours demos: true edge-to-edge sections, content kept in a premium container. */
body.rme-demo-page .rmb-content,
body.rme-demo-page .rmb-row,
body.rme-demo-page .rmb-row:not(.is-multi)>.rmb-row-in,
body.rme-demo-page .rmb-row:not(.is-multi) .rmb-col,
body.rme-demo-page .rmb-row:not(.is-multi) .rmb-col-in{width:100%!important;max-width:none!important;margin-inline:0!important}
body.rme-demo-page .rmb-row-boxed:not(.is-multi)>.rmb-row-in,
body.rme-demo-page .rmb-row-stretch:not(.is-multi)>.rmb-row-in{padding-inline:0!important}
/* multi-column rows (header / footer / split bands) stay boxed, but wider and centred */
/* 7.3.1: the "no side padding" part is for the tour and medical design systems only (their header, footer and
   split bands add their own). Every other imported demo keeps the builder's normal gutters — before this fix its
   header, footer and column rows sat flush against the screen edges. */
body.rme-tour-demo .rmb-row-boxed.is-multi>.rmb-row-in,
body.rme-med-demo .rmb-row-boxed.is-multi>.rmb-row-in{max-width:min(1540px,calc(100% - 2*var(--hh-edge,24px)))!important;padding-inline:0!important;margin-inline:auto!important}
body.rme-demo-page .rmb-row-fullwidth.is-multi>.rmb-row-in{width:100%!important;max-width:none!important;margin:0!important}
body.rme-tour-demo .rmb-row-fullwidth.is-multi>.rmb-row-in,
body.rme-med-demo .rmb-row-fullwidth.is-multi>.rmb-row-in{padding-inline:0!important}
/* sections carry their own background; never force it transparent over the body colour */
body.rme-demo-page .rmb-row-stretch .rm-w{background:var(--rm-bg)!important}
body.rme-demo-page .rm-w.rmt-pro{--rm-pad:0px;padding:0!important;overflow:visible;background:transparent!important}
/* 7.3.1: these two belong to the tour and medical design systems, whose widgets carry their own inner
   container. Until 7.3.0 they also hit every other imported demo (shops, agency, cafés…) and stretched the
   normal 1240px content box from edge to edge, with no side gutter. */
body.rme-tour-demo .rmb-row-boxed .rm-w .rm-container,
body.rme-med-demo .rmb-row-boxed .rm-w .rm-container,
body.rme-demo-page .rmb-row-boxed .rm-w.rmt-pro .rm-container{max-width:min(1480px,calc(100% - 2*var(--hh-edge,24px)));margin-inline:auto;padding-inline:0}
body.rme-tour-demo .rmb-row-fullwidth .rm-w .rm-container,
body.rme-med-demo .rmb-row-fullwidth .rm-w .rm-container,
body.rme-demo-page .rmb-row-fullwidth .rm-w.rmt-pro .rm-container{max-width:none;width:100%;margin-inline:0;padding-inline:0}
body.rme-demo-page .rmt-pro>.rmt-section,body.rme-demo-page .rmt-pro>.rmt-hero{width:100%;max-width:none}
/* no stray vertical gaps between stacked demo sections */
body.rme-demo-page .rmb-row{margin:0!important}
body.rme-demo-page .rmb-row:not(.rmt-header):not(.rmt-footer) .rmb-col{padding-block:0}

/* REME 5.6 — definitive Twenty Twenty-Five full-viewport canvas for ALL H.H Tours demos. */
html body.rme-tour-demo.rmb-force-viewport{margin:0!important;padding:0!important;width:100%!important;max-width:none!important;overflow-x:clip!important}
html body.rme-tour-demo.rmb-force-viewport>.wp-site-blocks,
html body.rme-tour-demo.rmb-force-viewport>.wp-site-blocks>main,
html body.rme-tour-demo.rmb-force-viewport main.rmb-canvas-main,
html body.rme-tour-demo.rmb-force-viewport main.rmb-canvas-main>.rmb-content{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important
}
html body.rme-tour-demo.rmb-force-viewport .rmb-content{left:auto!important;right:auto!important;transform:none!important}
html body.rme-tour-demo.rmb-force-viewport .rmb-content>.rmb-row{width:100%!important;max-width:none!important;margin:0!important}
html body.rme-tour-demo.rmb-force-viewport .rmb-content>.rmb-row.rmb-row-stretch>.rmb-row-in{width:100%!important;max-width:none!important;margin:0!important;padding-inline:0!important}
html body.rme-tour-demo.rmb-force-viewport .rmb-content>.rmb-row.rmb-row-boxed>.rmb-row-in{width:min(calc(100% - 32px),1540px)!important;max-width:1540px!important;margin-inline:auto!important}
@media(max-width:767px){html body.rme-tour-demo.rmb-force-viewport .rmb-content>.rmb-row.rmb-row-boxed>.rmb-row-in{width:calc(100% - 24px)!important}}

/* REME 5.6 — block-theme leak shield for flagship tour demos. If a cached
 * Twenty Twenty-Five template is served around a REME demo, suppress only
 * its native template parts; REME's own header/footer are .rmt-* elements. */
body.rme-tour-demo.rmb-force-viewport .wp-site-blocks>header.wp-block-template-part,
body.rme-tour-demo.rmb-force-viewport .wp-site-blocks>footer.wp-block-template-part,
body.rme-tour-demo.rmb-force-viewport .wp-site-blocks>.wp-block-template-part[area="header"],
body.rme-tour-demo.rmb-force-viewport .wp-site-blocks>.wp-block-template-part[area="footer"]{display:none!important}
body.rme-tour-demo .rmt-desktop-header,body.rme-tour-demo .rmt-mobile-header,body.rme-tour-demo .rmt-footer{max-width:none!important;margin-inline:0!important}
/* Old imported tour footers occasionally carried a fashion eyebrow above
 * their real column title. Tour footers do not use decorative eyebrows. */
body.rme-tour-demo .rmt-footer :where(.rm-eyebrow,.rmt-eyebrow){display:none!important}


/* REME 5.7 — structural full-width authority.
   Every row that is configured Full or Stretch now receives rmb-row-fullwidth +
   rmb-row-in-full in the rendered HTML. These selectors intentionally beat the
   historical generic multi-column/boxed rules. */
.rmb-fullwidth-region,
.rmb-row-fullwidth,
.rmb-row-full,
.rmb-row-stretch{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important}
.rmb-row-fullwidth>.rmb-row-in,
.rmb-row-full>.rmb-row-in,
.rmb-row-stretch>.rmb-row-in,
.rmb-row-in-full{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important}
.rmb-row-full>.rmb-row-in{padding-left:0!important;padding-right:0!important}
.rmb-row-stretch>.rmb-row-in{padding-left:clamp(16px,2.2vw,40px)!important;padding-right:clamp(16px,2.2vw,40px)!important}
.rmb-row-boxed>.rmb-row-in,.rmb-row-in-boxed{margin-left:auto!important;margin-right:auto!important}
body.rme-tour-demo .rmt-desktop-header .rmb-row-fullwidth>.rmb-row-in,
body.rme-tour-demo .rmt-mobile-header .rmb-row-fullwidth>.rmb-row-in,
body.rme-tour-demo .rmt-footer .rmb-row-fullwidth>.rmb-row-in{width:100%!important;max-width:none!important;padding-left:clamp(18px,3vw,56px)!important;padding-right:clamp(18px,3vw,56px)!important}
body.rme-tour-demo main.rmb-canvas-main>.rmb-content>.rmb-row-fullwidth>.rmb-row-in{width:100%!important;max-width:none!important;margin:0!important}
@media(max-width:767px){
  .rmb-row-stretch>.rmb-row-in{padding-left:14px!important;padding-right:14px!important}
  body.rme-tour-demo .rmt-desktop-header .rmb-row-fullwidth>.rmb-row-in,
  body.rme-tour-demo .rmt-mobile-header .rmb-row-fullwidth>.rmb-row-in,
  body.rme-tour-demo .rmt-footer .rmb-row-fullwidth>.rmb-row-in{padding-left:14px!important;padding-right:14px!important}
}

/* ====================================================================
   REME 7.3.1 — page width that respects the scrollbar
   100vw / 100dvw include the scrollbar, so the old "left:50%; margin-left:-50vw" breakout moved the
   whole page half a scrollbar to the left and cut both edges on desktop browsers with a classic
   scrollbar (Windows, most Linux). --rmb-sbw is the scrollbar width, set by rm-frontend.js.
   ==================================================================== */
:root{--rmb-sbw:0px}
/* canvas template: header, content and footer are direct children of <body> — nothing to break out of */
body.rmb-canvas main.rmb-canvas-main>.rmb-content,
body.rmb-canvas.rme-demo-page main.rmb-canvas-main>.rmb-content,
body.rmb-canvas.rmb-twenty-twenty-five.rme-demo-page main.rmb-canvas-main>.rmb-content{
  left:auto!important;right:auto!important;width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important
}
body.rmb-canvas.rmb-page>.rmt-desktop-header,body.rmb-canvas.rmb-page>.rmt-mobile-header,body.rmb-canvas.rmb-page>.rmt-footer,
body.rmb-canvas.rmb-page>.rmt-header,body.rmb-canvas.rmb-page>footer.rmt,body.rmb-canvas.rmb-page>header.rmt{
  width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important
}
/* inside a theme's own wrappers the breakout stays, minus the scrollbar */
body.rmb-full-width:not(.rmb-canvas) main.rmb-full-main>.rmb-content,
body.rme-demo-page:not(.rmb-canvas) main>.rmb-content,
body.rme-demo-page:not(.rmb-canvas) .entry-content>.rmb-content,
body.rme-demo-page:not(.rmb-canvas) .wp-block-post-content>.rmb-content,
body.rmb-twenty-twenty-five.rme-demo-page:not(.rmb-canvas) :where(.wp-block-post-content,.entry-content)>.rmb-content,
body.rmb-twenty-twenty-five.rme-demo-page:not(.rmb-canvas) main>.rmb-content{
  width:calc(100vw - var(--rmb-sbw,0px))!important;max-width:calc(100vw - var(--rmb-sbw,0px))!important;margin-left:calc(-50vw + var(--rmb-sbw,0px) / 2)!important
}
body.rmb-page:not(.rmb-canvas) .rmt-desktop-header,body.rmb-page:not(.rmb-canvas) .rmt-mobile-header,body.rmb-page:not(.rmb-canvas) .rmt-footer,
body.rmb-page:not(.rmb-canvas) .rmt-header,body.rmb-page:not(.rmb-canvas) footer.rmt{
  width:calc(100vw - var(--rmb-sbw,0px))!important;max-width:calc(100vw - var(--rmb-sbw,0px))!important;margin-left:calc(50% - 50vw + var(--rmb-sbw,0px) / 2)!important
}
/* a header / footer nested inside its own wrapper must not break out twice */
body.rmb-page .rmt-desktop-header .rmt-header,body.rmb-page .rmt-mobile-header .rmt-mobile_header,body.rmb-page .rmt-desktop-header header.rmt,body.rmb-page .rmt-mobile-header header.rmt{
  width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important
}
