:root{
  --moxxie-radius-sm:6px;
  --moxxie-radius:12px;
  --moxxie-radius-lg:20px;
  --moxxie-space-xs:.5rem;
  --moxxie-space-sm:1rem;
  --moxxie-space-md:1.5rem;
  --moxxie-space-lg:2.5rem;
  --moxxie-border:#d8dee8;
  --moxxie-border-strong:#c4ccd8;
  --moxxie-muted:#667085;
  --moxxie-text:#101828;
  --moxxie-bg:#f7f8fa;
  --moxxie-bg-soft:#fbfcfd;
  --moxxie-accent:#111827;
  --moxxie-accent-contrast:#fff;
  --moxxie-shadow-sm:0 1px 3px rgba(16,24,40,.08),0 1px 2px rgba(16,24,40,.04);
  --moxxie-shadow:0 10px 30px rgba(16,24,40,.08);
  --moxxie-shadow-lg:0 24px 70px rgba(16,24,40,.18);
  --moxxie-transition:200ms ease;
}

[class*="wp-block-moxxie-"]{box-sizing:border-box}
[class*="wp-block-moxxie-"] *,[class*="wp-block-moxxie-"] *::before,[class*="wp-block-moxxie-"] *::after{box-sizing:border-box}

/* Accordion / FAQ */
.wp-block-moxxie-accordion,.wp-block-moxxie-faq{display:grid;gap:.75rem}
.wp-block-moxxie-accordion-item{border:1px solid var(--moxxie-border);border-radius:var(--moxxie-radius);overflow:hidden;background:#fff;box-shadow:var(--moxxie-shadow-sm);transition:border-color var(--moxxie-transition),box-shadow var(--moxxie-transition)}
.wp-block-moxxie-accordion-item:hover{border-color:var(--moxxie-border-strong)}
.wp-block-moxxie-accordion-item.is-open{box-shadow:var(--moxxie-shadow)}
.moxxie-accordion__button{appearance:none;border:0;background:transparent;color:inherit;width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.05rem 1.25rem;text-align:left;font:inherit;font-weight:650;line-height:1.4;cursor:pointer}
.moxxie-accordion__button:focus-visible{outline:2px solid currentColor;outline-offset:-3px}
.moxxie-accordion__icon{flex:0 0 auto;width:1.75rem;height:1.75rem;border-radius:999px;background:var(--moxxie-bg);display:grid;place-items:center;transition:transform var(--moxxie-transition),background var(--moxxie-transition)}
.is-open>.moxxie-accordion__button .moxxie-accordion__icon{transform:rotate(45deg)}
.moxxie-accordion__content{padding:0 1.25rem 1.25rem;color:inherit}
.moxxie-accordion__content>:first-child{margin-top:0}.moxxie-accordion__content>:last-child{margin-bottom:0}
.wp-block-moxxie-accordion-item:not(.is-open)>.moxxie-accordion__content{display:none}

/* Tabs */
.wp-block-moxxie-tabs{border:1px solid var(--moxxie-border);border-radius:var(--moxxie-radius-lg);overflow:hidden;background:#fff;box-shadow:var(--moxxie-shadow-sm)}
.moxxie-tabs__nav{display:flex;gap:.35rem;padding:.5rem;background:var(--moxxie-bg);border-bottom:1px solid var(--moxxie-border);overflow:auto}
.moxxie-tabs__button{appearance:none;border:0;border-radius:9px;padding:.72rem 1rem;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap;transition:background var(--moxxie-transition),box-shadow var(--moxxie-transition)}
.moxxie-tabs__button:hover{background:rgba(255,255,255,.6)}
.moxxie-tabs__button[aria-selected="true"]{background:#fff;box-shadow:var(--moxxie-shadow-sm)}
.moxxie-tabs__button:focus-visible{outline:2px solid currentColor;outline-offset:1px}
.wp-block-moxxie-tab{padding:1.5rem}.wp-block-moxxie-tab>:first-child{margin-top:0}.wp-block-moxxie-tab>:last-child{margin-bottom:0}.wp-block-moxxie-tab[hidden]{display:none}

/* Notice / alert */
.wp-block-moxxie-notice{position:relative;padding:1rem 1.25rem 1rem 1.4rem;border:1px solid var(--moxxie-border);border-left:4px solid currentColor;border-radius:var(--moxxie-radius);background:var(--moxxie-bg-soft);box-shadow:var(--moxxie-shadow-sm)}
.wp-block-moxxie-notice>:first-child{margin-top:0}.wp-block-moxxie-notice>:last-child{margin-bottom:0}

/* Cards */
.wp-block-moxxie-card{height:100%;border:1px solid var(--moxxie-border);border-radius:var(--moxxie-radius-lg);padding:1.35rem;background:#fff;box-shadow:var(--moxxie-shadow);overflow:hidden;transition:transform var(--moxxie-transition),box-shadow var(--moxxie-transition),border-color var(--moxxie-transition)}
.wp-block-moxxie-card:hover{transform:translateY(-2px);border-color:var(--moxxie-border-strong);box-shadow:0 16px 36px rgba(16,24,40,.11)}
.wp-block-moxxie-card>:first-child{margin-top:0}.wp-block-moxxie-card>:last-child{margin-bottom:0}
.wp-block-moxxie-card img{border-radius:calc(var(--moxxie-radius) - 2px);display:block;width:100%;height:auto}
.wp-block-moxxie-card-grid,.wp-block-moxxie-logo-grid{display:grid;grid-template-columns:repeat(var(--moxxie-columns,3),minmax(0,1fr));gap:1.25rem;align-items:stretch}

/* Icon / Icon list */
.wp-block-moxxie-icon{display:inline-flex;align-items:center;justify-content:center;width:1.9em;height:1.9em;border-radius:10px;background:var(--moxxie-bg);font-size:var(--moxxie-icon-size,1.5rem);line-height:1}
.wp-block-moxxie-icon-list{list-style:none!important;padding-left:0!important;margin-left:0!important}
.wp-block-moxxie-icon-list li{display:flex;gap:.7rem;align-items:flex-start;margin:.55rem 0}
.wp-block-moxxie-icon-list li:before{content:'✓';flex:0 0 1.35rem;width:1.35rem;height:1.35rem;margin-top:.08em;display:grid;place-items:center;border-radius:999px;background:var(--moxxie-bg);font-size:.78em;font-weight:800}

/* Modal */
.wp-block-moxxie-modal:not(dialog){display:none}
.moxxie-modal-dialog{border:0;border-radius:var(--moxxie-radius-lg);padding:0;max-width:min(720px,calc(100% - 2rem));width:100%;background:#fff;color:var(--moxxie-text);box-shadow:var(--moxxie-shadow-lg)}
.moxxie-modal-dialog::backdrop{background:rgba(10,15,25,.65);backdrop-filter:blur(2px)}
.moxxie-modal-dialog__inner{padding:1.75rem}
.moxxie-modal-close{float:right;border:1px solid var(--moxxie-border);background:var(--moxxie-bg);color:inherit;width:2.4rem;height:2.4rem;border-radius:999px;cursor:pointer;font:inherit;line-height:1}
.moxxie-modal-trigger{display:inline-flex;align-items:center;justify-content:center;padding:.72rem 1.05rem;border:1px solid var(--moxxie-accent);border-radius:9px;background:var(--moxxie-accent);color:var(--moxxie-accent-contrast);font:inherit;font-weight:650;cursor:pointer;box-shadow:var(--moxxie-shadow-sm)}

/* Slider */
.wp-block-moxxie-slider{position:relative;overflow:hidden;border-radius:var(--moxxie-radius-lg)}
.moxxie-slider__track{display:flex;transition:transform 300ms ease;will-change:transform}
.wp-block-moxxie-slide{min-width:100%;box-sizing:border-box}
.moxxie-slider__controls{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}
.moxxie-slider__controls button{appearance:none;border:1px solid var(--moxxie-border);background:#fff;color:inherit;border-radius:999px;width:2.6rem;height:2.6rem;display:grid;place-items:center;padding:0;cursor:pointer;box-shadow:var(--moxxie-shadow-sm);font:inherit}
.moxxie-slider__controls button:hover{background:var(--moxxie-bg)}

/* Timeline / steps */
.wp-block-moxxie-timeline{border-left:2px solid var(--moxxie-border);padding-left:1.75rem}
.wp-block-moxxie-timeline>*{position:relative;margin-bottom:1.75rem}
.wp-block-moxxie-timeline>*:last-child{margin-bottom:0}
.wp-block-moxxie-timeline>*:before{content:'';position:absolute;width:.9rem;height:.9rem;border:3px solid #fff;border-radius:50%;background:currentColor;box-shadow:0 0 0 1px var(--moxxie-border);left:-2.28rem;top:.38rem}
.wp-block-moxxie-steps{counter-reset:moxxie-step;display:grid;gap:1rem}
.wp-block-moxxie-steps>*{counter-increment:moxxie-step;position:relative;min-height:2.5rem;padding:1.1rem 1.1rem 1.1rem 4rem;border:1px solid var(--moxxie-border);border-radius:var(--moxxie-radius);background:#fff;box-shadow:var(--moxxie-shadow-sm)}
.wp-block-moxxie-steps>*:before{content:counter(moxxie-step);position:absolute;left:1rem;top:1rem;width:2.1rem;height:2.1rem;display:grid;place-items:center;border-radius:50%;background:var(--moxxie-accent);color:var(--moxxie-accent-contrast);font-weight:750}

/* Counter / progress */
.wp-block-moxxie-counter{text-align:center;padding:1.5rem;border:1px solid var(--moxxie-border);border-radius:var(--moxxie-radius-lg);background:#fff;box-shadow:var(--moxxie-shadow-sm)}
.moxxie-counter__number{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1;letter-spacing:-.035em;margin-bottom:.45rem}
.wp-block-moxxie-progress{display:grid;gap:.6rem;padding:.25rem 0}
.moxxie-progress__track{height:.75rem;background:var(--moxxie-bg);border-radius:999px;overflow:hidden;border:1px solid var(--moxxie-border)}
.moxxie-progress__bar{height:100%;width:var(--moxxie-progress,0%);background:currentColor;border-radius:inherit;transition:width 500ms ease}

/* Before / after */
.wp-block-moxxie-before-after{position:relative;overflow:hidden;border-radius:var(--moxxie-radius-lg);background:var(--moxxie-bg);box-shadow:var(--moxxie-shadow-sm);--moxxie-ba:50%}
.moxxie-before-after__after{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--moxxie-ba,50%)) 0 0)}
.wp-block-moxxie-before-after img{display:block;width:100%;height:auto}
.moxxie-before-after__range{position:absolute;z-index:2;left:1rem;right:1rem;bottom:1rem;width:calc(100% - 2rem)}

/* Navigation helpers */
.moxxie-toc{padding:1.15rem 1.25rem;border:1px solid var(--moxxie-border);border-radius:var(--moxxie-radius);background:var(--moxxie-bg-soft);box-shadow:var(--moxxie-shadow-sm)}
.moxxie-toc__title{display:block;font-weight:750}.moxxie-toc__list{margin:.75rem 0 0;padding-left:1.25rem}.moxxie-toc__list li+li{margin-top:.25rem}.moxxie-toc a{text-decoration:none}.moxxie-toc a:hover{text-decoration:underline}
.moxxie-breadcrumbs{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;font-size:.92em;color:var(--moxxie-muted)}.moxxie-breadcrumbs a{color:inherit;text-decoration:none}.moxxie-breadcrumbs a:hover{text-decoration:underline}.moxxie-breadcrumbs [aria-current="page"]{color:inherit;font-weight:600}.moxxie-breadcrumbs__sep{opacity:.65}
.wp-block-moxxie-anchor-navigation{display:flex;gap:.6rem;flex-wrap:wrap;padding:.6rem;border:1px solid var(--moxxie-border);border-radius:var(--moxxie-radius);background:var(--moxxie-bg-soft)}

/* Toggle content */
.wp-block-moxxie-toggle-content{border:1px solid var(--moxxie-border);border-radius:var(--moxxie-radius);background:#fff;padding:1rem;box-shadow:var(--moxxie-shadow-sm)}
.wp-block-moxxie-toggle-content .moxxie-toggle-content__content[hidden]{display:none}
.moxxie-toggle-content__button{appearance:none;border:1px solid var(--moxxie-border);background:var(--moxxie-bg);color:inherit;border-radius:9px;padding:.67rem 1rem;cursor:pointer;font:inherit;font-weight:650}
.moxxie-toggle-content__content{padding-top:1rem}.moxxie-toggle-content__content>:first-child{margin-top:0}.moxxie-toggle-content__content>:last-child{margin-bottom:0}

/* Logo grid */
.wp-block-moxxie-logo-grid>*{min-height:90px;display:flex;align-items:center;justify-content:center;padding:1rem;border:1px solid var(--moxxie-border);border-radius:var(--moxxie-radius);background:#fff}
.wp-block-moxxie-logo-grid img{max-height:var(--moxxie-logo-height,72px);width:auto;max-width:100%;height:auto;object-fit:contain}

/* Testimonials */
.wp-block-moxxie-testimonial{position:relative;margin:0;padding:1.5rem 1.5rem 1.5rem 1.75rem;border:1px solid var(--moxxie-border);border-left:4px solid currentColor;background:#fff;border-radius:0 var(--moxxie-radius-lg) var(--moxxie-radius-lg) 0;box-shadow:var(--moxxie-shadow-sm)}
.moxxie-testimonial__quote{font-size:1.12em;line-height:1.65}.moxxie-testimonial__author{font-weight:750;margin-top:1rem}.moxxie-testimonial__author+div{color:var(--moxxie-muted);font-size:.92em;margin-top:.15rem}

/* Pricing */
.wp-block-moxxie-pricing-table{border:1px solid var(--moxxie-border);border-radius:var(--moxxie-radius-lg);padding:1.6rem;background:#fff;box-shadow:var(--moxxie-shadow)}
.wp-block-moxxie-pricing-table>h3{margin-top:0}.moxxie-pricing__price{display:flex;align-items:baseline;gap:.35rem;font-size:clamp(2rem,5vw,3.3rem);font-weight:800;letter-spacing:-.035em;line-height:1.1;margin:.75rem 0 1.25rem}.moxxie-pricing__price small{font-size:.32em;font-weight:500;letter-spacing:0;color:var(--moxxie-muted)}
.wp-block-moxxie-pricing-table ul{padding-left:1.25rem}.wp-block-moxxie-pricing-table li+li{margin-top:.45rem}

/* Comparison table */
.wp-block-moxxie-comparison-table{overflow-x:auto;border:1px solid var(--moxxie-border);border-radius:var(--moxxie-radius);background:#fff}
.wp-block-moxxie-comparison-table table{width:100%;min-width:520px;border-collapse:collapse;margin:0}
.wp-block-moxxie-comparison-table th,.wp-block-moxxie-comparison-table td{border-bottom:1px solid var(--moxxie-border);border-right:1px solid var(--moxxie-border);padding:.85rem 1rem;text-align:left}
.wp-block-moxxie-comparison-table th:last-child,.wp-block-moxxie-comparison-table td:last-child{border-right:0}.wp-block-moxxie-comparison-table tr:last-child td{border-bottom:0}.wp-block-moxxie-comparison-table thead th{background:var(--moxxie-bg);font-weight:750}

/* Rating */
.wp-block-moxxie-rating{display:flex;gap:.55rem;align-items:center}.moxxie-rating__stars{letter-spacing:.08em;font-size:1.35em;line-height:1;color:#b7791f}

@media(max-width:782px){
  .wp-block-moxxie-card-grid,.wp-block-moxxie-logo-grid{grid-template-columns:1fr}
  .moxxie-tabs__nav{flex-wrap:nowrap}
  .wp-block-moxxie-tab{padding:1.15rem}
  .moxxie-modal-dialog__inner{padding:1.25rem}
}

/* === Moxxie Blocks 1.2 refinements === */
/* Consistent breathing room for standalone Moxxie blocks. Structural child blocks are reset below. */
[class*="wp-block-moxxie-"]{margin-block:1.5rem}
.wp-block-moxxie-accordion-item,.wp-block-moxxie-tab,.wp-block-moxxie-slide,
.wp-block-moxxie-card-grid>.wp-block-moxxie-card,
.wp-block-moxxie-testimonial-slider .wp-block-moxxie-testimonial{margin-block:0}
.wp-block-moxxie-notice{margin-block:1.5rem}

/* Icon alignment and icon list */
.wp-block-moxxie-icon{margin-inline:0;vertical-align:middle}
.wp-block-moxxie-icon-list{margin-block:1.5rem!important;padding:0!important}
.wp-block-moxxie-icon-list li{list-style:none;display:flex;gap:.75rem;align-items:flex-start;margin:.65rem 0}
.wp-block-moxxie-icon-list li:before{display:none!important;content:none!important}
.moxxie-icon-list__icon{display:inline-grid;place-items:center;flex:0 0 1.5rem;width:1.5rem;height:1.5rem;margin-top:.05em;border-radius:999px;background:var(--moxxie-bg);font-size:.82em;font-weight:800;line-height:1}

/* Notice icon + semantic accent variants */
.wp-block-moxxie-notice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem;align-items:start;padding:1rem 1.2rem;border-left-width:4px}
.moxxie-notice__icon{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:999px;background:color-mix(in srgb,currentColor 10%,transparent);font-weight:800;line-height:1}
.moxxie-notice__content>:first-child{margin-top:0}.moxxie-notice__content>:last-child{margin-bottom:0}
.wp-block-moxxie-notice[data-type="info"]{color:#175cd3;background:#eff8ff;border-color:#84caff}
.wp-block-moxxie-notice[data-type="success"]{color:#067647;background:#ecfdf3;border-color:#75e0a7}
.wp-block-moxxie-notice[data-type="warning"]{color:#b54708;background:#fffaeb;border-color:#fec84b}
.wp-block-moxxie-notice[data-type="error"]{color:#b42318;background:#fef3f2;border-color:#fda29b}

/* Modal: native dialog forced to true viewport center, regardless of theme dialog rules. */
.moxxie-modal-dialog[open]{position:fixed!important;inset:0!important;display:block!important;margin:auto!important;max-height:min(88vh,900px);overflow:auto;transform:none!important;z-index:100000}
body.moxxie-modal-open{overflow:hidden!important}

/* Slider: no default rounded clipping. */
.wp-block-moxxie-slider{border-radius:0}
.wp-block-moxxie-testimonial-slider .moxxie-slider__track{gap:1.25rem}
.wp-block-moxxie-testimonial-slider .wp-block-moxxie-slide{padding:.1rem;min-width:100%}

/* Steps: number size remains identical whatever block typography is used inside a step. */
.wp-block-moxxie-steps>*:before{font-size:1rem!important;line-height:1!important;font-family:inherit!important;font-weight:750!important}

/* Progress label and percentage */
.moxxie-progress__label{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.moxxie-progress__value{font-variant-numeric:tabular-nums;font-weight:700;color:var(--moxxie-muted)}

/* Before/after with mirrored controls above and below and a visual center handle. */
.wp-block-moxxie-before-after{overflow:visible;border-radius:var(--moxxie-radius);padding-block:2.2rem;box-shadow:none;background:transparent}
.wp-block-moxxie-before-after>.moxxie-before-after__before{border-radius:var(--moxxie-radius);overflow:hidden}
.moxxie-before-after__after{top:2.2rem;bottom:2.2rem;border-radius:var(--moxxie-radius);overflow:hidden}
.moxxie-before-after__range{position:absolute;z-index:5;left:0;right:0;width:100%;height:1.5rem;margin:0;appearance:none;background:transparent;cursor:ew-resize}
.moxxie-before-after__range.is-top{top:.25rem;bottom:auto}.moxxie-before-after__range.is-bottom{bottom:.25rem}
.moxxie-before-after__range::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:var(--moxxie-border-strong)}
.moxxie-before-after__range::-moz-range-track{height:4px;border-radius:999px;background:var(--moxxie-border-strong)}
.moxxie-before-after__range::-webkit-slider-thumb{appearance:none;width:18px;height:18px;margin-top:-7px;border:3px solid #fff;border-radius:50%;background:var(--moxxie-accent);box-shadow:0 1px 5px rgba(0,0,0,.25)}
.moxxie-before-after__range::-moz-range-thumb{width:14px;height:14px;border:3px solid #fff;border-radius:50%;background:var(--moxxie-accent);box-shadow:0 1px 5px rgba(0,0,0,.25)}
.moxxie-before-after__divider{position:absolute;z-index:3;top:2.2rem;bottom:2.2rem;left:var(--moxxie-ba,50%);width:2px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.15);transform:translateX(-50%);pointer-events:none}
.moxxie-before-after__handle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:2.65rem;height:2.65rem;border:2px solid #fff;border-radius:50%;background:var(--moxxie-accent);color:#fff;font-size:1rem;box-shadow:0 3px 12px rgba(0,0,0,.25)}

/* TOC */
.moxxie-toc__list .is-h3,.moxxie-toc__list li[data-level="3"]{margin-left:1rem}
.moxxie-toc a{scroll-margin-top:2rem}

/* Testimonial spacing */
.wp-block-moxxie-testimonial-slider .wp-block-moxxie-testimonial{height:100%}

/* Editable comparison table */
.wp-block-moxxie-comparison-table th span,.wp-block-moxxie-comparison-table td span{display:block;min-width:1ch}

/* Half-star rating via clipped filled layer. */
.moxxie-rating__stars{position:relative;display:inline-block;white-space:nowrap;letter-spacing:.08em;font-size:1.35em;line-height:1;color:#b7791f}
.moxxie-rating__empty{display:block;color:#d0d5dd}
.moxxie-rating__filled{position:absolute;inset:0 auto 0 0;display:block;overflow:hidden;white-space:nowrap;color:#b7791f}

.wp-block-moxxie-testimonial-slider .moxxie-slider__track{gap:0}
.wp-block-moxxie-testimonial-slider .wp-block-moxxie-slide{padding-inline:.625rem}

/* === Moxxie Blocks 1.3 interaction refinements === */
/* Accordion / FAQ: animate content vertically instead of toggling display. */
.moxxie-accordion__content{
  display:block!important;
  max-height:0;
  overflow:hidden;
  padding-top:0;
  padding-bottom:0;
  opacity:.25;
  transition:max-height 320ms cubic-bezier(.2,.7,.2,1),padding-bottom 320ms cubic-bezier(.2,.7,.2,1),opacity 220ms ease;
  will-change:max-height;
}
.wp-block-moxxie-accordion-item.is-open>.moxxie-accordion__content{
  max-height:var(--moxxie-accordion-height,1200px);
  padding-bottom:1.25rem;
  opacity:1;
}
.wp-block-moxxie-accordion-item:not(.is-open)>.moxxie-accordion__content{display:block!important}
.wp-block-moxxie-faq .wp-block-moxxie-accordion-item{background:#fff}
.wp-block-moxxie-faq .moxxie-accordion__button{cursor:pointer}

/* Notice icon: consistent illustrated badge, including emoji such as the lamp. */
.moxxie-notice__icon{
  width:2.25rem;
  height:2.25rem;
  margin-top:-.15rem;
  border:1px solid currentColor;
  border-color:color-mix(in srgb,currentColor 28%,transparent);
  border-radius:11px;
  background:#fff;
  box-shadow:0 1px 3px rgba(16,24,40,.10),inset 0 0 0 3px color-mix(in srgb,currentColor 5%,transparent);
  font-size:1.05rem;
  font-family:system-ui,-apple-system,"Segoe UI Emoji","Apple Color Emoji",sans-serif;
}


/* === Moxxie Blocks 1.3.2 frontend refinements === */
/* Steps: theme-independent number alignment and compact heading/paragraph rhythm. */
.wp-block-moxxie-steps>*::before{
  width:2.1rem!important;
  height:2.1rem!important;
  padding:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1!important;
}
.wp-block-moxxie-steps>*>:is(h1,h2,h3,h4,h5,h6,p){margin-top:0!important;margin-bottom:0!important}
.wp-block-moxxie-steps>*>:is(h1,h2,h3,h4,h5,h6)+p{margin-top:.35rem!important}

/* Before/After: the full divider, including its center handle, is draggable. */
.moxxie-before-after__divider{
  pointer-events:auto!important;
  cursor:ew-resize;
  touch-action:none;
  user-select:none;
}
.moxxie-before-after__divider:hover .moxxie-before-after__handle,
.moxxie-before-after__divider.is-dragging .moxxie-before-after__handle{
  transform:translate(-50%,-50%) scale(1.06);
}
.moxxie-before-after__handle{cursor:ew-resize;transition:transform 140ms ease,box-shadow 140ms ease}

/* TOC target headings retain visual breathing room below sticky headers. */
.wp-block-post-content h2[id],.wp-block-post-content h3[id],
.entry-content h2[id],.entry-content h3[id]{scroll-margin-top:100px}

/* Testimonial slider: visible space between neighbouring slides without changing slide width math. */
.wp-block-moxxie-testimonial-slider .moxxie-slider__track{gap:1rem!important}
.wp-block-moxxie-testimonial-slider .wp-block-moxxie-slide{
  min-width:calc(100% - 1rem)!important;
  padding-inline:0!important;
}


/* === Moxxie Blocks 1.3.3 refinements === */
/* Accordion: always keep comfortable space below the final line when expanded. */
.wp-block-moxxie-accordion-item.is-open>.moxxie-accordion__content{
  padding-bottom:1.5rem!important;
}

/* Modal close button: clearly interactive on pointer devices. */
.moxxie-modal-close{
  cursor:pointer!important;
  transition:background-color var(--moxxie-transition),border-color var(--moxxie-transition),transform var(--moxxie-transition),box-shadow var(--moxxie-transition);
}
.moxxie-modal-close:hover{
  background:#eef1f5;
  border-color:var(--moxxie-border-strong);
  transform:scale(1.06);
  box-shadow:var(--moxxie-shadow-sm);
}
.moxxie-modal-close:active{transform:scale(.98)}

/* Steps: do not inherit theme spacing between headings and paragraphs. */
.wp-block-moxxie-steps>*{--wp--style--block-gap:0!important;gap:0!important}
.wp-block-moxxie-steps>*>:is(h1,h2,h3,h4,h5,h6,p),
.wp-block-moxxie-steps>*>.wp-block-heading{
  margin-top:0!important;
  margin-bottom:0!important;
  margin-block-start:0!important;
  margin-block-end:0!important;
}
.wp-block-moxxie-steps>*>:is(h1,h2,h3,h4,h5,h6)+p{margin-top:0!important;margin-block-start:0!important}

/* Media Card + Media Card List */
.wp-block-moxxie-media-card{
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--moxxie-border);
  border-radius:var(--moxxie-radius-lg);
  background:#fff;
  box-shadow:var(--moxxie-shadow-sm);
  transition:transform var(--moxxie-transition),box-shadow var(--moxxie-transition),border-color var(--moxxie-transition);
}
.wp-block-moxxie-media-card:hover{transform:translateY(-2px);border-color:var(--moxxie-border-strong);box-shadow:var(--moxxie-shadow)}
.moxxie-media-card__media{position:relative;overflow:hidden;aspect-ratio:16/10;background:var(--moxxie-bg)}
.moxxie-media-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 300ms ease}
.wp-block-moxxie-media-card:hover .moxxie-media-card__media img{transform:scale(1.025)}
.moxxie-media-card__body{display:flex;flex:1;flex-direction:column;gap:.35rem;padding:1.15rem 1.25rem 1.3rem}
.moxxie-media-card__title{margin:0!important;font-size:1.15em;line-height:1.3}
.moxxie-media-card__subtitle{margin:0!important;color:var(--moxxie-muted);line-height:1.55}
.wp-block-moxxie-media-card-list{display:grid;grid-template-columns:repeat(var(--moxxie-columns,3),minmax(0,1fr));gap:1.25rem;align-items:stretch}
@media(max-width:782px){.wp-block-moxxie-media-card-list{grid-template-columns:1fr}}

/* === Moxxie Blocks 1.3.4: anchor & WordPress menu navigation === */
.wp-block-moxxie-anchor-navigation{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.6rem;
  padding:.75rem;
  border:1px solid var(--moxxie-border);
  border-radius:var(--moxxie-radius);
  background:var(--moxxie-bg-soft);
}
.wp-block-moxxie-anchor-navigation a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:.5rem .8rem;
  border:1px solid var(--moxxie-border);
  border-radius:999px;
  background:var(--moxxie-bg);
  color:inherit;
  text-decoration:none;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.wp-block-moxxie-anchor-navigation a:hover{border-color:var(--moxxie-border-strong);background:#fff;transform:translateY(-1px)}

.wp-block-moxxie-navigation-menu{width:100%}
.wp-block-moxxie-navigation-menu .moxxie-navigation-menu__list,
.wp-block-moxxie-navigation-menu .wp-block-navigation__container{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.85rem 1.2rem;
  margin:0;
  padding:0;
  list-style:none;
}
.wp-block-moxxie-navigation-menu[data-orientation="vertical"] .moxxie-navigation-menu__list,
.wp-block-moxxie-navigation-menu[data-orientation="vertical"] .wp-block-navigation__container{flex-direction:column;align-items:flex-start}
.wp-block-moxxie-navigation-menu[data-justify="center"] .moxxie-navigation-menu__list,
.wp-block-moxxie-navigation-menu[data-justify="center"] .wp-block-navigation__container{justify-content:center}
.wp-block-moxxie-navigation-menu[data-justify="right"] .moxxie-navigation-menu__list,
.wp-block-moxxie-navigation-menu[data-justify="right"] .wp-block-navigation__container{justify-content:flex-end}
.wp-block-moxxie-navigation-menu a{text-decoration:none}
.wp-block-moxxie-navigation-menu .sub-menu{margin:.5rem 0 0;padding:.7rem;list-style:none;border:1px solid var(--moxxie-border);border-radius:var(--moxxie-radius);background:var(--moxxie-bg)}

/* === Moxxie Blocks 1.3.5: slider controls & resilient accordion sizing === */
.wp-block-moxxie-slider{position:relative}
.moxxie-slider__navigation{display:flex;align-items:center;gap:.6rem;z-index:5}
.moxxie-slider__navigation button{appearance:none;border:1px solid var(--moxxie-border);background:#fff;color:inherit;box-shadow:var(--moxxie-shadow-sm);cursor:pointer;transition:transform var(--moxxie-transition),background-color var(--moxxie-transition),border-color var(--moxxie-transition)}
.moxxie-slider__navigation button:hover,.moxxie-slider__navigation button:focus-visible{background:var(--moxxie-bg);border-color:var(--moxxie-border-strong);transform:translateY(-1px)}
.moxxie-slider__navigation--arrows-below{justify-content:center;margin-top:1rem}
.moxxie-slider__navigation--arrows-below button,.moxxie-slider__navigation--arrows-inside button{width:2.75rem;height:2.75rem;padding:0;border-radius:999px;display:grid;place-items:center;font:inherit}
.moxxie-slider__navigation--arrows-inside{position:absolute;inset:50% .75rem auto .75rem;transform:translateY(-50%);justify-content:space-between;pointer-events:none}
.moxxie-slider__navigation--arrows-inside button{pointer-events:auto;background:rgba(255,255,255,.94);backdrop-filter:blur(4px)}
.moxxie-slider__dots{justify-content:center;margin-top:1rem}
.moxxie-slider__dot{width:.7rem;height:.7rem;padding:0;border-radius:999px!important;background:var(--moxxie-border-strong)!important;box-shadow:none!important;border:0!important;opacity:.45;transform:none!important}
.moxxie-slider__dot.is-active{opacity:1;background:currentColor!important}
.moxxie-slider__track{transition:transform 360ms cubic-bezier(.2,.7,.2,1)}
/* The animated max-height now includes the intended open bottom padding. */
.wp-block-moxxie-accordion-item.is-open>.moxxie-accordion__content{padding-bottom:1.5rem!important}


/* === Moxxie Blocks 1.3.6 refinements === */
/* Notices: lightweight SVG icons and theme-resistant internal typography. */
.wp-block-moxxie-notice .moxxie-notice__icon{
  width:2rem!important;height:2rem!important;min-width:2rem!important;
  display:grid!important;place-items:center!important;
  margin:0!important;padding:0!important;
  border:1px solid color-mix(in srgb,currentColor 25%,transparent)!important;
  border-radius:50%!important;background:color-mix(in srgb,currentColor 7%,#fff)!important;
  box-shadow:none!important;line-height:1!important;
}
.wp-block-moxxie-notice .moxxie-notice__icon svg{display:block!important;width:1.15rem!important;height:1.15rem!important;color:currentColor!important}
.wp-block-moxxie-notice .moxxie-notice__content{min-width:0!important;color:inherit!important}
.wp-block-moxxie-notice .moxxie-notice__content h1,
.wp-block-moxxie-notice .moxxie-notice__content h2,
.wp-block-moxxie-notice .moxxie-notice__content h3,
.wp-block-moxxie-notice .moxxie-notice__content h4,
.wp-block-moxxie-notice .moxxie-notice__content h5,
.wp-block-moxxie-notice .moxxie-notice__content h6{
  margin:0 0 .35rem!important;padding:0!important;color:inherit!important;
  font-family:inherit!important;font-size:1rem!important;font-weight:700!important;
  line-height:1.35!important;letter-spacing:normal!important;text-transform:none!important;
}
.wp-block-moxxie-notice .moxxie-notice__content p{
  margin:0!important;padding:0!important;color:inherit!important;
  font-family:inherit!important;font-size:1rem!important;font-weight:400!important;
  line-height:1.55!important;letter-spacing:normal!important;text-transform:none!important;
}
.wp-block-moxxie-notice .moxxie-notice__content p + p{margin-top:.5rem!important}
.wp-block-moxxie-notice .moxxie-notice__content h1 + p,
.wp-block-moxxie-notice .moxxie-notice__content h2 + p,
.wp-block-moxxie-notice .moxxie-notice__content h3 + p,
.wp-block-moxxie-notice .moxxie-notice__content h4 + p,
.wp-block-moxxie-notice .moxxie-notice__content h5 + p,
.wp-block-moxxie-notice .moxxie-notice__content h6 + p{margin-top:0!important}

/* A linked Media Card behaves like one large interactive link. */
a.wp-block-moxxie-media-card{color:inherit!important;text-decoration:none!important;cursor:pointer!important}
a.wp-block-moxxie-media-card:hover,a.wp-block-moxxie-media-card:focus-visible{color:inherit!important;text-decoration:none!important}
.wp-block-moxxie-media-card[data-linked="true"]{cursor:pointer!important}


/* === Moxxie Blocks 1.3.7 refinements === */
/* Keep inside-arrow navigation clear of slide content. */
.wp-block-moxxie-slider[data-navigation="arrows-inside"] .wp-block-moxxie-slide{padding-left:4rem!important;padding-right:4rem!important;box-sizing:border-box}
@media (max-width:600px){.wp-block-moxxie-slider[data-navigation="arrows-inside"] .wp-block-moxxie-slide{padding-left:3.25rem!important;padding-right:3.25rem!important}}

/* Steps: deliberately override aggressive theme typography inside step cards. */
.wp-block-moxxie-steps>*>h1,.wp-block-moxxie-steps>*>h2,.wp-block-moxxie-steps>*>h3,.wp-block-moxxie-steps>*>h4,.wp-block-moxxie-steps>*>h5,.wp-block-moxxie-steps>*>h6,
.wp-block-moxxie-steps>*>.wp-block-heading{
 margin:0!important;margin-block:0!important;padding:0!important;
 font-family:inherit!important;font-style:normal!important;line-height:1.25!important;
 letter-spacing:normal!important;text-transform:none!important;
 color:inherit!important;
}
.wp-block-moxxie-steps>*>h1,.wp-block-moxxie-steps>*>h2,.wp-block-moxxie-steps>*>h3,.wp-block-moxxie-steps>*>h4,.wp-block-moxxie-steps>*>h5,.wp-block-moxxie-steps>*>h6,.wp-block-moxxie-steps>*>.wp-block-heading{font-size:1.15rem!important;font-weight:700!important}
.wp-block-moxxie-steps>*>p,.wp-block-moxxie-steps>*>.wp-block-paragraph{margin:0!important;margin-block:0!important;padding:0!important;font:inherit!important;line-height:1.55!important;color:inherit!important}
.wp-block-moxxie-steps>*>h1+p,.wp-block-moxxie-steps>*>h2+p,.wp-block-moxxie-steps>*>h3+p,.wp-block-moxxie-steps>*>h4+p,.wp-block-moxxie-steps>*>h5+p,.wp-block-moxxie-steps>*>h6+p,.wp-block-moxxie-steps>*>.wp-block-heading+p{margin-top:.35rem!important}

/* Range controls overhang by half a thumb, so their thumb centre maps exactly to the image/divider percentage. */
.wp-block-moxxie-before-after{--moxxie-ba-thumb:18px}
.moxxie-before-after__range{left:calc(var(--moxxie-ba-thumb) / -2)!important;right:auto!important;width:calc(100% + var(--moxxie-ba-thumb))!important}

/* Optional desktop-only sticky navigation alongside the standard content column. */
@media (min-width:1100px){
 .wp-block-moxxie-anchor-navigation[data-fixed-desktop="true"],
 .wp-block-moxxie-navigation-menu[data-fixed-desktop="true"]{
  position:sticky;z-index:20;width:220px;max-width:220px;box-sizing:border-box;
 }
 .wp-block-moxxie-anchor-navigation[data-fixed-desktop="true"]{top:var(--moxxie-anchor-top,100px);flex-direction:column;align-items:stretch}
 .wp-block-moxxie-navigation-menu[data-fixed-desktop="true"]{top:var(--moxxie-nav-top,100px)}
 .wp-block-moxxie-anchor-navigation[data-fixed-desktop="true"][data-fixed-side="left"],
 .wp-block-moxxie-navigation-menu[data-fixed-desktop="true"][data-fixed-side="left"]{float:left;margin-left:-244px;margin-right:24px}
 .wp-block-moxxie-anchor-navigation[data-fixed-desktop="true"][data-fixed-side="right"],
 .wp-block-moxxie-navigation-menu[data-fixed-desktop="true"][data-fixed-side="right"]{float:right;margin-right:-244px;margin-left:24px}
 .wp-block-moxxie-anchor-navigation[data-fixed-desktop="true"] a{width:100%;box-sizing:border-box}
 .wp-block-moxxie-navigation-menu[data-fixed-desktop="true"] .moxxie-navigation-menu__list,
 .wp-block-moxxie-navigation-menu[data-fixed-desktop="true"] .wp-block-navigation__container{flex-direction:column;align-items:stretch}
}
@media (max-width:1099px){
 .wp-block-moxxie-anchor-navigation[data-fixed-desktop="true"],
 .wp-block-moxxie-navigation-menu[data-fixed-desktop="true"]{position:static;float:none;width:auto;max-width:none;margin-left:0;margin-right:0}
}

/* === Moxxie Blocks 1.4.0 Steps theme hardening === */
.wp-block-moxxie-steps > * > :where(h1,h2,h3,h4,h5,h6,.wp-block-heading,p,.wp-block-paragraph) {
  margin:0!important;
  margin-top:0!important;
  margin-right:0!important;
  margin-bottom:0!important;
  margin-left:0!important;
  margin-block:0!important;
  margin-block-start:0!important;
  margin-block-end:0!important;
}
.wp-block-moxxie-steps > * {--wp--style--block-gap:0px!important;gap:0!important}


/* === Moxxie Blocks 1.4.1 sticky navigation flow compensation === */
@media (min-width:1100px){
  .wp-block-moxxie-anchor-navigation[data-fixed-desktop="true"],
  .wp-block-moxxie-navigation-menu[data-fixed-desktop="true"]{
    margin-bottom:calc(-1 * var(--moxxie-sticky-nav-height, 0px));
  }
}

/* v1.4.4 — clickable logo items */
.wp-block-moxxie-logo-item{min-height:90px;display:flex;align-items:center;justify-content:center;padding:1rem;border:1px solid var(--moxxie-border);border-radius:var(--moxxie-radius);background:#fff;box-sizing:border-box}
.wp-block-moxxie-logo-item>a{display:flex;position:absolute;inset:0;width:100%;height:100%;align-items:center;justify-content:center;color:inherit;text-decoration:none;z-index:2}
.wp-block-moxxie-logo-item.is-linked,.wp-block-moxxie-logo-item.is-linked>a{cursor:pointer}
.wp-block-moxxie-logo-item{position:relative}.wp-block-moxxie-logo-item img{display:block;max-width:100%;max-height:72px;width:auto;height:auto;object-fit:contain}

/* === Moxxie Blocks 1.4.6 Steps direct-child theme override === */
.wp-block-moxxie-steps > :is(h1,h2,h3,h4,h5,h6,.wp-block-heading,p,.wp-block-paragraph) {
  margin:0!important;
  margin-top:0!important;
  margin-right:0!important;
  margin-bottom:0!important;
  margin-left:0!important;
  margin-block:0!important;
  margin-block-start:0!important;
  margin-block-end:0!important;
}

/* === Moxxie Blocks 1.5.0 — Image Slider === */
.wp-block-moxxie-image-slider{position:relative;box-sizing:border-box}
.wp-block-moxxie-image-slider .moxxie-slider__viewport{position:relative;overflow:hidden;min-width:0}
.wp-block-moxxie-image-slider .moxxie-slider__track{display:flex;align-items:stretch;will-change:transform;transition-property:transform;transition-timing-function:cubic-bezier(.2,.7,.2,1)}
.wp-block-moxxie-image-slider .wp-block-moxxie-image-slide{position:relative;flex:0 0 100%;min-width:100%;margin:0!important;padding:0;box-sizing:border-box;background:#f6f7f7;overflow:hidden}
.wp-block-moxxie-image-slider .wp-block-moxxie-image-slide>img{display:block;width:100%;height:auto;max-width:none;object-fit:cover;margin:0}
.wp-block-moxxie-image-slider .moxxie-image-slide__caption{position:absolute;left:0;right:0;bottom:0;margin:0;padding:.75rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;font-size:.9rem}
.wp-block-moxxie-image-slider .moxxie-slider__navigation--arrows-below{justify-content:center;margin-top:1rem}
.wp-block-moxxie-image-slider .moxxie-slider__navigation--arrows-inside{position:absolute;left:.75rem;right:.75rem;top:50%;transform:translateY(-50%);justify-content:space-between;pointer-events:none}
.wp-block-moxxie-image-slider .moxxie-slider__navigation--arrows-inside button{pointer-events:auto}
.wp-block-moxxie-image-slider .moxxie-slider__thumbnails{gap:.65rem;align-items:center}
.wp-block-moxxie-image-slider .moxxie-slider__navigation--thumbnails-below{display:flex;overflow-x:auto;overflow-y:hidden;margin-top:.8rem;padding:.15rem .05rem .45rem;scrollbar-width:thin}
.wp-block-moxxie-image-slider .moxxie-slider__thumbnail{flex:0 0 82px;width:82px;height:62px;padding:3px!important;border:2px solid transparent!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important;overflow:hidden;opacity:.62;cursor:pointer;transform:none!important}
.wp-block-moxxie-image-slider .moxxie-slider__thumbnail img{display:block;width:100%;height:100%;object-fit:cover;border-radius:4px}
.wp-block-moxxie-image-slider .moxxie-slider__thumbnail.is-active{opacity:1;border-color:currentColor!important}
.wp-block-moxxie-image-slider[data-navigation="thumbnails-side"]{display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:.8rem;align-items:stretch}
.wp-block-moxxie-image-slider[data-navigation="thumbnails-side"] .moxxie-slider__viewport{grid-column:1;grid-row:1}
.wp-block-moxxie-image-slider .moxxie-slider__navigation--thumbnails-side{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:stretch;overflow-x:hidden;overflow-y:auto;max-height:100%;padding:0 .25rem 0 0;scrollbar-width:thin}
.wp-block-moxxie-image-slider .moxxie-slider__navigation--thumbnails-side .moxxie-slider__thumbnail{flex:0 0 74px;width:100%;height:74px}
@media(max-width:700px){.wp-block-moxxie-image-slider[data-navigation="thumbnails-side"]{display:block}.wp-block-moxxie-image-slider .moxxie-slider__navigation--thumbnails-side{display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;margin-top:.8rem;padding:0 0 .4rem}.wp-block-moxxie-image-slider .moxxie-slider__navigation--thumbnails-side .moxxie-slider__thumbnail{flex:0 0 82px;width:82px;height:62px}}

/* === Moxxie Blocks 1.5.2 — Media Card image clipping === */
.wp-block-moxxie-media-card > .moxxie-media-card__media{
  border-radius:calc(var(--moxxie-radius-lg,16px) - 1px) calc(var(--moxxie-radius-lg,16px) - 1px) 0 0;
  clip-path:inset(0 round calc(var(--moxxie-radius-lg,16px) - 1px) calc(var(--moxxie-radius-lg,16px) - 1px) 0 0);
}

/* === Moxxie Blocks 1.5.4 — thumbnail navigation scrolling === */
.wp-block-moxxie-image-slider .moxxie-slider__navigation--thumbnails-below,
.wp-block-moxxie-image-slider .moxxie-slider__navigation--thumbnails-side{
  -ms-overflow-style:none!important;
  scrollbar-width:none!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.wp-block-moxxie-image-slider .moxxie-slider__navigation--thumbnails-below::-webkit-scrollbar,
.wp-block-moxxie-image-slider .moxxie-slider__navigation--thumbnails-side::-webkit-scrollbar{
  display:none!important;
  width:0!important;
  height:0!important;
}
.wp-block-moxxie-image-slider[data-navigation="thumbnails-side"]{
  align-items:start;
  min-width:0;
}
.wp-block-moxxie-image-slider[data-navigation="thumbnails-side"] .moxxie-slider__viewport{
  min-width:0;
}
.wp-block-moxxie-image-slider .moxxie-slider__navigation--thumbnails-side{
  min-height:0!important;
  height:var(--moxxie-image-slider-height,auto);
  max-height:var(--moxxie-image-slider-height,none);
  overflow-x:hidden!important;
  overflow-y:auto!important;
  touch-action:pan-y;
}
.wp-block-moxxie-image-slider .moxxie-slider__navigation--thumbnails-below{
  touch-action:pan-x;
}
@media(max-width:700px){
  .wp-block-moxxie-image-slider .moxxie-slider__navigation--thumbnails-side{
    width:100%;
    height:auto!important;
    max-height:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    touch-action:pan-x;
  }
}


/* Lightbox afbeelding */
.wp-block-moxxie-lightbox-image{margin-top:1.5rem;margin-bottom:1.5rem}
.wp-block-moxxie-lightbox-image .moxxie-lightbox-image__link{display:block;cursor:zoom-in}
.wp-block-moxxie-lightbox-image img{display:block;width:100%;height:auto}
.wp-block-moxxie-lightbox-image__caption,.moxxie-lightbox-image__caption{margin-top:.55rem;font-size:.9rem;color:#646970}
.moxxie-lightbox{position:fixed!important;inset:0!important;z-index:100000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:28px!important;background:rgba(0,0,0,.88)!important;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.moxxie-lightbox.is-open{opacity:1;visibility:visible}
.moxxie-lightbox__image{display:block;max-width:min(94vw,1600px)!important;max-height:90vh!important;width:auto!important;height:auto!important;object-fit:contain;box-shadow:0 12px 50px rgba(0,0,0,.35)}
.moxxie-lightbox__close{position:absolute!important;top:16px!important;right:16px!important;width:44px!important;height:44px!important;padding:0!important;border:0!important;border-radius:50%!important;background:rgba(255,255,255,.94)!important;color:#111!important;font:32px/42px Arial,sans-serif!important;text-align:center!important;cursor:pointer!important;z-index:2!important}
body.moxxie-lightbox-open{overflow:hidden!important}
@media(max-width:600px){.moxxie-lightbox{padding:14px!important}.moxxie-lightbox__close{top:10px!important;right:10px!important}}


/* Google Kaart */
.wp-block-moxxie-google-map{box-sizing:border-box}
.wp-block-moxxie-google-map .moxxie-google-map__frame{position:relative;width:100%;overflow:hidden;background:#f0f0f0}
.wp-block-moxxie-google-map .moxxie-google-map__frame iframe{display:block;width:100%;height:100%;border:0}
.wp-block-moxxie-google-map .moxxie-google-map__link{display:inline-block;margin-top:.7rem}

/* ========================================================================
   Moxxie Blocks 1.5.22 — frontend image containment
   ------------------------------------------------------------------------
   Content images in Moxxie blocks must always remain fully visible. Fixed
   preview/media frames therefore use contain instead of cover. This is a
   frontend rule and mirrors the editor's existing contain behaviour.
   ======================================================================== */
:where([class^="wp-block-moxxie-"],[class*=" wp-block-moxxie-"]) img{
  object-fit:contain!important;
  max-width:100%;
}

/* Media cards use a fixed 16:10 media frame. Let the image fill that frame as
   a box, while contain keeps the complete image visible inside it. */
.wp-block-moxxie-media-card .moxxie-media-card__media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  transform:none!important;
}
.wp-block-moxxie-media-card:hover .moxxie-media-card__media img{
  transform:none!important;
}

/* Image-slider navigation also shows the complete thumbnail rather than
   cropping it. */
.wp-block-moxxie-image-slider .moxxie-slider__thumbnail img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}

/* Main image slides retain their natural aspect ratio and are never cropped. */
.wp-block-moxxie-image-slider .wp-block-moxxie-image-slide>img{
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  object-fit:contain!important;
}


/* === Moxxie Blocks 1.5.32 front-end consistency === */
/* Theme button styles should not change slider arrow geometry. */
.wp-block-moxxie-slider .moxxie-slider__navigation--arrows-below button,
.wp-block-moxxie-slider .moxxie-slider__navigation--arrows-inside button,
.wp-block-moxxie-testimonial-slider .moxxie-slider__navigation--arrows-below button,
.wp-block-moxxie-testimonial-slider .moxxie-slider__navigation--arrows-inside button{
  width:2.75rem!important;
  height:2.75rem!important;
  min-width:2.75rem!important;
  min-height:2.75rem!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
}

/* Keep breadcrumb spacing independent from theme link/span margins. */
.wp-block-moxxie-breadcrumbs.moxxie-breadcrumbs>*{
  margin:0!important;
}
.wp-block-moxxie-breadcrumbs.moxxie-breadcrumbs{
  column-gap:.55rem!important;
  row-gap:.35rem!important;
}

/* Core button markup inside pricing tables should always remain usable,
   while still inheriting theme colours where available. */
.wp-block-moxxie-pricing-table .wp-block-buttons{margin-top:1.25rem}
.wp-block-moxxie-pricing-table .wp-block-button__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:.7rem 1.05rem;
  border-radius:9px;
  text-decoration:none;
}

/* Numbered TOC, including nested levels. */
.wp-block-moxxie-table-of-contents.moxxie-toc ol{
  list-style:decimal;
}
.wp-block-moxxie-table-of-contents.moxxie-toc ol ol{
  margin-top:.25rem;
  padding-left:1.35rem;
}

/* Before/after handle remains visible even when a theme resets spans/ranges. */
.wp-block-moxxie-before-after .moxxie-before-after__divider{
  position:absolute;
  z-index:3;
  top:0;
  bottom:0;
  left:var(--moxxie-ba,50%);
  width:2px;
  transform:translateX(-1px);
  background:#fff;
  box-shadow:0 0 0 1px rgba(0,0,0,.15);
  pointer-events:auto;
  cursor:ew-resize;
}
.wp-block-moxxie-before-after .moxxie-before-after__handle{
  position:absolute;
  top:50%;
  left:50%;
  display:grid;
  place-items:center;
  width:2.8rem;
  height:2.8rem;
  transform:translate(-50%,-50%);
  border-radius:999px;
  background:#fff;
  color:#111827;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
  font-size:1.15rem;
  line-height:1;
}


/* === Moxxie Blocks 1.5.33: modal viewport margin === */
/* Keep a small safe margin around dialogs on both the real front end and the admin showcase iframe. */
.moxxie-modal-dialog{
  box-sizing:border-box!important;
  width:min(720px,calc(100vw - 2rem))!important;
  max-width:calc(100vw - 2rem)!important;
}
.moxxie-modal-dialog[open]{
  left:1rem!important;
  right:1rem!important;
  width:min(720px,calc(100vw - 2rem))!important;
  max-width:calc(100vw - 2rem)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:480px){
  .moxxie-modal-dialog,
  .moxxie-modal-dialog[open]{
    width:calc(100vw - 1.5rem)!important;
    max-width:calc(100vw - 1.5rem)!important;
    left:.75rem!important;
    right:.75rem!important;
  }
}

/* ========================================================================
   Moxxie Blocks 1.5.50 — stronger front-end isolation & contrast surfaces
   ======================================================================== */
/* WordPress themes often target buttons, links, headings and lists with high
   specificity. These selectors deliberately sit at the end of the Moxxie
   stylesheet and protect component geometry without resetting site typography. */
:where([class^="wp-block-moxxie-"],[class*=" wp-block-moxxie-"]) :where(button,[role="button"]){
  box-sizing:border-box!important;
  font-family:inherit!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  text-indent:0!important;
}
:where([class^="wp-block-moxxie-"],[class*=" wp-block-moxxie-"]) :where(a,button){
  -webkit-tap-highlight-color:transparent;
}
:where([class^="wp-block-moxxie-"],[class*=" wp-block-moxxie-"]) :where(svg){
  flex:none;
}

/* Protect Moxxie controls against broad theme button rules. */
.wp-block-moxxie-accordion .moxxie-accordion__button,
.wp-block-moxxie-faq .moxxie-accordion__button{
  width:100%!important;
  margin:0!important;
  padding:1.05rem 1.25rem!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:left!important;
  line-height:1.4!important;
}
.wp-block-moxxie-tabs .moxxie-tabs__button{
  margin:0!important;
  padding:.72rem 1rem!important;
  border:0!important;
  box-shadow:none;
  line-height:1.25!important;
}
.moxxie-modal-trigger,
.moxxie-toggle-content__button{
  margin:0!important;
  line-height:1.25!important;
}
.moxxie-modal-close{
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
}

/* Notice: centre the icon against the complete message instead of its first
   text line. Also neutralise theme margins inside the message container. */
.wp-block-moxxie-notice{
  align-items:center!important;
}
.wp-block-moxxie-notice .moxxie-notice__icon{
  align-self:center!important;
  margin:0!important;
}
.wp-block-moxxie-notice .moxxie-notice__content{
  align-self:center!important;
}
.wp-block-moxxie-notice .moxxie-notice__content > :first-child{
  margin-top:0!important;
}
.wp-block-moxxie-notice .moxxie-notice__content > :last-child{
  margin-bottom:0!important;
}

/* Text-bearing utility blocks get their own explicit surface. This prevents a
   theme page background from becoming the accidental contrast background. */
.wp-block-moxxie-progress .moxxie-progress__label{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:1rem!important;
  margin:0!important;
  padding:.65rem .8rem!important;
  border:1px solid var(--moxxie-border)!important;
  border-radius:var(--moxxie-radius-sm)!important;
  background:var(--moxxie-bg-soft)!important;
  box-shadow:var(--moxxie-shadow-sm)!important;
  line-height:1.35!important;
}
.wp-block-moxxie-progress .moxxie-progress__label > *{
  margin:0!important;
}
.wp-block-moxxie-progress .moxxie-progress__value{
  flex:none!important;
}

.wp-block-moxxie-breadcrumbs.moxxie-breadcrumbs{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:.35rem .55rem!important;
  margin-block:1.5rem!important;
  padding:.65rem .8rem!important;
  border:1px solid var(--moxxie-border)!important;
  border-radius:var(--moxxie-radius-sm)!important;
  background:var(--moxxie-bg-soft)!important;
  box-shadow:var(--moxxie-shadow-sm)!important;
  line-height:1.4!important;
}
.wp-block-moxxie-breadcrumbs.moxxie-breadcrumbs > *{
  margin:0!important;
  padding:0!important;
}
.wp-block-moxxie-breadcrumbs.moxxie-breadcrumbs a{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
.wp-block-moxxie-breadcrumbs.moxxie-breadcrumbs a:hover{
  text-decoration:underline!important;
}

.wp-block-moxxie-rating{
  display:inline-flex!important;
  align-items:center!important;
  gap:.6rem!important;
  width:auto!important;
  max-width:100%!important;
  margin-block:1.5rem!important;
  padding:.65rem .8rem!important;
  border:1px solid var(--moxxie-border)!important;
  border-radius:var(--moxxie-radius-sm)!important;
  background:var(--moxxie-bg-soft)!important;
  box-shadow:var(--moxxie-shadow-sm)!important;
  line-height:1.25!important;
}
.wp-block-moxxie-rating > *{
  margin:0!important;
}

/* Tables and navigation are particularly often restyled globally by themes. */
.wp-block-moxxie-comparison-table table{
  border-spacing:0!important;
  border-collapse:collapse!important;
}
.wp-block-moxxie-comparison-table th,
.wp-block-moxxie-comparison-table td{
  padding:.85rem 1rem!important;
  text-align:left!important;
  vertical-align:middle!important;
}
.wp-block-moxxie-anchor-navigation a{
  margin:0!important;
  padding:.55rem .75rem!important;
  border:1px solid var(--moxxie-border)!important;
  border-radius:var(--moxxie-radius-sm)!important;
  box-shadow:none!important;
  text-decoration:none!important;
  line-height:1.3!important;
}

/* Prevent theme heading/paragraph margins from pushing compact component
   internals apart. Structural content areas keep their normal Gutenberg flow. */
.moxxie-media-card__body > :first-child,
.wp-block-moxxie-testimonial > :first-child,
.wp-block-moxxie-pricing-table > :first-child,
.wp-block-moxxie-counter > :first-child{
  margin-top:0!important;
}
.moxxie-media-card__body > :last-child,
.wp-block-moxxie-testimonial > :last-child,
.wp-block-moxxie-pricing-table > :last-child,
.wp-block-moxxie-counter > :last-child{
  margin-bottom:0!important;
}


/* ========================================================================
   Moxxie Blocks 1.5.53 — explicit contrast surfaces for floating content
   ======================================================================== */
/* Icon List
   List text should never have to contrast directly with an arbitrary theme
   page background. Each item gets a small preset-controlled surface. */
.wp-block-moxxie-icon-list > li{
  box-sizing:border-box!important;
  margin:.45rem 0!important;
  padding:.7rem .8rem!important;
  border:1px solid var(--moxxie-border)!important;
  border-radius:var(--moxxie-radius-sm)!important;
  background:var(--moxxie-bg)!important;
  color:var(--moxxie-text)!important;
  box-shadow:var(--moxxie-shadow-sm)!important;
}
.wp-block-moxxie-icon-list > li > span:not(.moxxie-icon-list__icon){
  color:var(--moxxie-text)!important;
}
.wp-block-moxxie-icon-list > li .moxxie-icon-list__icon{
  background:var(--moxxie-bg-soft)!important;
  color:var(--moxxie-accent)!important;
  border:1px solid var(--moxxie-border)!important;
}

/* Slider / Carousel
   A slide is a content surface, not transparent page content. Keeping the
   frame on the slide itself also makes each slide read as a separate card. */
.wp-block-moxxie-slider:not(.wp-block-moxxie-image-slider) .wp-block-moxxie-slide{
  box-sizing:border-box!important;
  padding:1.25rem!important;
  border:1px solid var(--moxxie-border)!important;
  border-radius:var(--moxxie-radius-lg)!important;
  background:var(--moxxie-bg)!important;
  color:var(--moxxie-text)!important;
  box-shadow:var(--moxxie-shadow-sm)!important;
  overflow:hidden;
}
.wp-block-moxxie-slider:not(.wp-block-moxxie-image-slider) .wp-block-moxxie-slide > :first-child{
  margin-top:0!important;
}
.wp-block-moxxie-slider:not(.wp-block-moxxie-image-slider) .wp-block-moxxie-slide > :last-child{
  margin-bottom:0!important;
}
/* Preserve the room required by arrows-inside after adding the standard card
   padding above. */
.wp-block-moxxie-slider:not(.wp-block-moxxie-image-slider)[data-navigation="arrows-inside"] .wp-block-moxxie-slide{
  padding-left:4rem!important;
  padding-right:4rem!important;
}
@media(max-width:600px){
  .wp-block-moxxie-slider:not(.wp-block-moxxie-image-slider)[data-navigation="arrows-inside"] .wp-block-moxxie-slide{
    padding-left:3.25rem!important;
    padding-right:3.25rem!important;
  }
}

/* Timeline
   The timeline line remains structural, while every event receives its own
   surface. This provides predictable preset contrast without losing the
   timeline visual language. */
.wp-block-moxxie-timeline > *{
  box-sizing:border-box!important;
  padding:1rem 1.1rem!important;
  border:1px solid var(--moxxie-border)!important;
  border-radius:var(--moxxie-radius-lg)!important;
  background:var(--moxxie-bg)!important;
  color:var(--moxxie-text)!important;
  box-shadow:var(--moxxie-shadow-sm)!important;
}
.wp-block-moxxie-timeline > * > :first-child{
  margin-top:0!important;
}
.wp-block-moxxie-timeline > * > :last-child{
  margin-bottom:0!important;
}
.wp-block-moxxie-timeline > *:before{
  border-color:var(--moxxie-bg)!important;
  background:var(--moxxie-accent)!important;
  box-shadow:0 0 0 1px var(--moxxie-border)!important;
}


/* ========================================================================
   Moxxie Blocks 1.5.54 — slider rollback, thumbnail hardening, heading reset
   ======================================================================== */
/* The generic slide surface introduced in 1.5.53 is useful for the normal
   carousel, but a testimonial already is its own card. Do not wrap that card
   in a second card/surface. */
.wp-block-moxxie-testimonial-slider.wp-block-moxxie-slider .wp-block-moxxie-slide{
  padding-inline:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.wp-block-moxxie-testimonial-slider.wp-block-moxxie-slider[data-navigation="arrows-inside"] .wp-block-moxxie-slide{
  padding-left:0!important;
  padding-right:0!important;
}

/* Thumbnail navigation must remain an actual scroll container even when a
   theme applies broad overflow/display rules to buttons or navigation. */
.wp-block-moxxie-image-slider .moxxie-slider__navigation--thumbnails-below{
  display:flex!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  min-width:0!important;
  max-width:100%!important;
}
.wp-block-moxxie-image-slider .moxxie-slider__navigation--thumbnails-side{
  display:flex!important;
  flex-wrap:nowrap!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  min-width:0!important;
}
.wp-block-moxxie-image-slider .moxxie-slider__navigation--thumbnails-below .moxxie-slider__thumbnail,
.wp-block-moxxie-image-slider .moxxie-slider__navigation--thumbnails-side .moxxie-slider__thumbnail{
  flex-shrink:0!important;
}
@media(max-width:700px){
  .wp-block-moxxie-image-slider .moxxie-slider__navigation--thumbnails-side{
    flex-direction:row!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }
}

/* Preset heading colour was already protected from themes; margins need the
   same protection so compact block layouts stay predictable. */
:where([class^="wp-block-moxxie-"],[class*=" wp-block-moxxie-"]) :is(h1,h2,h3,h4,h5,h6){
  margin-top:0!important;
  margin-bottom:0!important;
}


/* ========================================================================
   Moxxie Blocks 1.5.55 — slider spacing, modal isolation, thumbnail sizing
   ======================================================================== */
/* Ordinary carousel slides need a visible gutter. Testimonial Slider already
   has its own spacing model and Image Slider is intentionally edge-to-edge. */
.wp-block-moxxie-slider:not(.wp-block-moxxie-image-slider):not(.wp-block-moxxie-testimonial-slider) > .moxxie-slider__track{
  gap:1rem!important;
}

/* Dialog elements are a common target for opinionated theme CSS. Keep the
   complete Moxxie modal surface under plugin control, not only its width. */
dialog.wp-block-moxxie-modal.moxxie-modal-dialog,
dialog.moxxie-modal-dialog{
  box-sizing:border-box!important;
  width:min(720px,calc(100vw - 2rem))!important;
  max-width:calc(100vw - 2rem)!important;
  min-width:0!important;
  height:auto!important;
  max-height:min(88vh,900px)!important;
  margin:auto!important;
  padding:0!important;
  border:1px solid var(--moxxie-border)!important;
  border-radius:var(--moxxie-radius-lg)!important;
  background:var(--moxxie-bg)!important;
  color:var(--moxxie-text)!important;
  box-shadow:var(--moxxie-shadow-lg)!important;
  font-family:inherit!important;
  line-height:1.5!important;
  text-align:left!important;
}
dialog.wp-block-moxxie-modal.moxxie-modal-dialog[open],
dialog.moxxie-modal-dialog[open]{
  position:fixed!important;
  inset:0!important;
  display:block!important;
  width:min(720px,calc(100vw - 2rem))!important;
  max-width:calc(100vw - 2rem)!important;
  margin:auto!important;
  overflow:auto!important;
  transform:none!important;
  z-index:100000!important;
}
dialog.wp-block-moxxie-modal.moxxie-modal-dialog::backdrop,
dialog.moxxie-modal-dialog::backdrop{
  background:rgba(10,15,25,.65)!important;
  backdrop-filter:blur(2px)!important;
}
dialog.wp-block-moxxie-modal.moxxie-modal-dialog > .moxxie-modal-dialog__inner,
dialog.moxxie-modal-dialog > .moxxie-modal-dialog__inner{
  box-sizing:border-box!important;
  width:100%!important;
  margin:0!important;
  padding:1.75rem!important;
  border:0!important;
  background:transparent!important;
  color:var(--moxxie-text)!important;
}
dialog.moxxie-modal-dialog .moxxie-modal-dialog__inner :is(p,li){color:var(--moxxie-text)!important;}
dialog.moxxie-modal-dialog .moxxie-modal-dialog__inner :is(h1,h2,h3,h4,h5,h6){color:var(--moxxie-heading)!important;}
dialog.moxxie-modal-dialog .moxxie-modal-close{
  width:2.4rem!important;
  height:2.4rem!important;
  min-width:2.4rem!important;
  min-height:2.4rem!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--moxxie-border)!important;
  border-radius:999px!important;
  background:var(--moxxie-bg-soft)!important;
  color:var(--moxxie-text)!important;
  box-shadow:none!important;
  font:inherit!important;
  line-height:1!important;
}
@media(max-width:480px){
  dialog.wp-block-moxxie-modal.moxxie-modal-dialog,
  dialog.moxxie-modal-dialog,
  dialog.wp-block-moxxie-modal.moxxie-modal-dialog[open],
  dialog.moxxie-modal-dialog[open]{
    width:calc(100vw - 1.5rem)!important;
    max-width:calc(100vw - 1.5rem)!important;
  }
  dialog.wp-block-moxxie-modal.moxxie-modal-dialog > .moxxie-modal-dialog__inner,
  dialog.moxxie-modal-dialog > .moxxie-modal-dialog__inner{
    padding:1.25rem!important;
  }
}

/* Side thumbnails are a scroll rail, not a second full-height content column.
   JS writes a bounded pixel height; these rules prevent themes/grid stretching
   from expanding the rail to the full natural image height. */
.wp-block-moxxie-image-slider[data-navigation="thumbnails-side"] .moxxie-slider__navigation--thumbnails-side{
  align-self:start!important;
  min-height:0!important;
  height:var(--moxxie-image-slider-thumb-height,420px)!important;
  max-height:var(--moxxie-image-slider-thumb-height,420px)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
@media(max-width:700px){
  .wp-block-moxxie-image-slider[data-navigation="thumbnails-side"] .moxxie-slider__navigation--thumbnails-side{
    height:auto!important;
    max-height:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }
}


/* ========================================================================
   Moxxie Blocks 1.5.56 — compact modal sizing + outlined image thumbnails
   ======================================================================== */
/* A modal should grow with its content, not occupy the full 720px by default.
   720px remains the ceiling; a small minimum keeps compact dialogs usable. */
dialog.wp-block-moxxie-modal.moxxie-modal-dialog,
dialog.moxxie-modal-dialog,
dialog.wp-block-moxxie-modal.moxxie-modal-dialog[open],
dialog.moxxie-modal-dialog[open]{
  width:fit-content!important;
  inline-size:fit-content!important;
  min-width:min(280px,calc(100vw - 2rem))!important;
  max-width:min(720px,calc(100vw - 2rem))!important;
  max-inline-size:min(720px,calc(100vw - 2rem))!important;
}
dialog.wp-block-moxxie-modal.moxxie-modal-dialog > .moxxie-modal-dialog__inner,
dialog.moxxie-modal-dialog > .moxxie-modal-dialog__inner{
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
}
@media(max-width:480px){
  dialog.wp-block-moxxie-modal.moxxie-modal-dialog,
  dialog.moxxie-modal-dialog,
  dialog.wp-block-moxxie-modal.moxxie-modal-dialog[open],
  dialog.moxxie-modal-dialog[open]{
    width:fit-content!important;
    inline-size:fit-content!important;
    min-width:min(260px,calc(100vw - 1.5rem))!important;
    max-width:calc(100vw - 1.5rem)!important;
    max-inline-size:calc(100vw - 1.5rem)!important;
  }
}

/* Thumbnails are controls around an image, not preset-coloured cards. Keep
   their surface transparent and use the border to communicate state. */
.wp-block-moxxie-image-slider .moxxie-slider__thumbnail,
.wp-block-moxxie-image-slider .moxxie-slider__navigation--thumbnails-below .moxxie-slider__thumbnail,
.wp-block-moxxie-image-slider .moxxie-slider__navigation--thumbnails-side .moxxie-slider__thumbnail{
  appearance:none!important;
  -webkit-appearance:none!important;
  padding:3px!important;
  border:2px solid var(--moxxie-border)!important;
  border-radius:8px!important;
  background:transparent!important;
  background-color:transparent!important;
  color:var(--moxxie-text)!important;
  box-shadow:none!important;
  opacity:.72!important;
}
.wp-block-moxxie-image-slider .moxxie-slider__thumbnail:hover,
.wp-block-moxxie-image-slider .moxxie-slider__thumbnail:focus-visible{
  border-color:var(--moxxie-accent)!important;
  opacity:1!important;
  outline:none!important;
}
.wp-block-moxxie-image-slider .moxxie-slider__thumbnail.is-active{
  border-color:var(--moxxie-accent)!important;
  background:transparent!important;
  background-color:transparent!important;
  opacity:1!important;
  box-shadow:0 0 0 1px var(--moxxie-accent)!important;
}


/* ========================================================================
   Moxxie Blocks 1.5.57 — modal keeps its intended width, content-sized height
   ======================================================================== */
/* Keep the established horizontal modal size. Vertically the dialog is
   content-sized and explicitly centred, so top/bottom positioning from themes
   cannot stretch a short modal across a large part of the viewport. */
dialog.wp-block-moxxie-modal.moxxie-modal-dialog,
dialog.moxxie-modal-dialog,
dialog.wp-block-moxxie-modal.moxxie-modal-dialog[open],
dialog.moxxie-modal-dialog[open]{
  width:min(720px,calc(100vw - 2rem))!important;
  inline-size:min(720px,calc(100vw - 2rem))!important;
  min-width:0!important;
  max-width:min(720px,calc(100vw - 2rem))!important;
  max-inline-size:min(720px,calc(100vw - 2rem))!important;
  height:fit-content!important;
  block-size:fit-content!important;
  min-height:0!important;
  max-height:calc(100dvh - 2rem)!important;
  max-block-size:calc(100dvh - 2rem)!important;
}
dialog.wp-block-moxxie-modal.moxxie-modal-dialog[open],
dialog.moxxie-modal-dialog[open]{
  inset:auto!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  left:50%!important;
  margin:0!important;
  transform:translate(-50%,-50%)!important;
  overflow:auto!important;
}
dialog.wp-block-moxxie-modal.moxxie-modal-dialog > .moxxie-modal-dialog__inner,
dialog.moxxie-modal-dialog > .moxxie-modal-dialog__inner{
  width:100%!important;
  min-height:0!important;
  height:auto!important;
}
@media(max-width:480px){
  dialog.wp-block-moxxie-modal.moxxie-modal-dialog,
  dialog.moxxie-modal-dialog,
  dialog.wp-block-moxxie-modal.moxxie-modal-dialog[open],
  dialog.moxxie-modal-dialog[open]{
    width:calc(100vw - 1.5rem)!important;
    inline-size:calc(100vw - 1.5rem)!important;
    max-width:calc(100vw - 1.5rem)!important;
    max-inline-size:calc(100vw - 1.5rem)!important;
    max-height:calc(100dvh - 1.5rem)!important;
    max-block-size:calc(100dvh - 1.5rem)!important;
  }
}


/* v1.5.60 — TOC hierarchy with icons instead of numbering. */
.wp-block-moxxie-table-of-contents.moxxie-toc .moxxie-toc__list,
.wp-block-moxxie-table-of-contents.moxxie-toc .moxxie-toc__sublist{
  list-style:none!important;
  margin:.75rem 0 0!important;
  padding:0!important;
}
.wp-block-moxxie-table-of-contents.moxxie-toc .moxxie-toc__sublist{
  margin:.45rem 0 0!important;
  padding-left:2rem!important;
}
.wp-block-moxxie-table-of-contents.moxxie-toc li{
  position:relative!important;
  display:grid!important;
  grid-template-columns:1rem minmax(0,1fr)!important;
  align-items:start!important;
  gap:.55rem!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.wp-block-moxxie-table-of-contents.moxxie-toc li+li{margin-top:.45rem!important;}
.wp-block-moxxie-table-of-contents.moxxie-toc li>.moxxie-toc__sublist{
  grid-column:1 / -1!important;
}
.wp-block-moxxie-table-of-contents.moxxie-toc .moxxie-toc__icon{
  position:relative!important;
  display:block!important;
  width:1rem!important;
  height:1.35em!important;
  flex:none!important;
}
.wp-block-moxxie-table-of-contents.moxxie-toc li[data-level="2"]>.moxxie-toc__icon::before{
  content:""!important;
  position:absolute!important;
  left:.12rem!important;
  top:.42em!important;
  width:.42rem!important;
  height:.42rem!important;
  border-top:2px solid var(--moxxie-accent,currentColor)!important;
  border-right:2px solid var(--moxxie-accent,currentColor)!important;
  transform:rotate(45deg)!important;
  box-sizing:border-box!important;
}
.wp-block-moxxie-table-of-contents.moxxie-toc li[data-level="3"]>.moxxie-toc__icon::before{
  content:""!important;
  position:absolute!important;
  left:.2rem!important;
  top:.52em!important;
  width:.38rem!important;
  height:.38rem!important;
  border-radius:50%!important;
  background:var(--moxxie-accent,currentColor)!important;
}
.wp-block-moxxie-table-of-contents.moxxie-toc a{
  min-width:0!important;
  color:var(--moxxie-text,inherit)!important;
}


/* v1.5.61 — TOC supports configurable depth H2–H6. */
.wp-block-moxxie-table-of-contents.moxxie-toc .moxxie-toc__sublist .moxxie-toc__sublist{
  padding-left:1.65rem!important;
}
.wp-block-moxxie-table-of-contents.moxxie-toc li[data-level="4"]>.moxxie-toc__icon::before,
.wp-block-moxxie-table-of-contents.moxxie-toc li[data-level="5"]>.moxxie-toc__icon::before,
.wp-block-moxxie-table-of-contents.moxxie-toc li[data-level="6"]>.moxxie-toc__icon::before{
  content:""!important;position:absolute!important;left:.23rem!important;top:.55em!important;
  width:.32rem!important;height:.32rem!important;border-radius:2px!important;
  background:var(--moxxie-accent,currentColor)!important;opacity:.72!important;
}
.wp-block-moxxie-table-of-contents.moxxie-toc li[data-level="5"]>.moxxie-toc__icon::before{opacity:.55!important;}
.wp-block-moxxie-table-of-contents.moxxie-toc li[data-level="6"]>.moxxie-toc__icon::before{opacity:.4!important;}


/* v1.5.62 — TOC nested sections: remove theme list margins while preserving indentation. */
.wp-block-moxxie-table-of-contents.moxxie-toc ul.moxxie-toc__sublist{
  margin:0!important;
  margin-block-start:0!important;
  margin-block-end:0!important;
}


/* ========================================================================
   Moxxie Blocks 1.5.64 — cleaner Before / After + scoped interaction hover
   ======================================================================== */
/* Keep the range inputs in saved markup for backwards-compatible Gutenberg
   validation, but hide the rails. The divider itself is the drag control. */
.wp-block-moxxie-before-after{
  padding-block:0!important;
  overflow:hidden!important;
}
.wp-block-moxxie-before-after>.moxxie-before-after__before{
  border-radius:var(--moxxie-radius)!important;
}
.wp-block-moxxie-before-after .moxxie-before-after__after{
  top:0!important;
  bottom:0!important;
}
.wp-block-moxxie-before-after .moxxie-before-after__divider{
  top:0!important;
  bottom:0!important;
  height:auto!important;
}
.wp-block-moxxie-before-after .moxxie-before-after__range{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
/* Accordion and tab labels are content/navigation controls, not CTA buttons. */
.wp-block-moxxie-accordion .moxxie-accordion__button:hover,
.wp-block-moxxie-accordion .moxxie-accordion__button:focus-visible,
.wp-block-moxxie-faq .moxxie-accordion__button:hover,
.wp-block-moxxie-faq .moxxie-accordion__button:focus-visible{
  background:transparent!important;
  color:var(--moxxie-heading,inherit)!important;
}
.wp-block-moxxie-tabs .moxxie-tabs__button:hover,
.wp-block-moxxie-tabs .moxxie-tabs__button:focus-visible{
  color:var(--moxxie-text,inherit)!important;
}
.wp-block-moxxie-tabs .moxxie-tabs__button[aria-selected="true"],
.wp-block-moxxie-tabs .moxxie-tabs__button[aria-selected="true"]:hover,
.wp-block-moxxie-tabs .moxxie-tabs__button[aria-selected="true"]:focus-visible{
  color:var(--moxxie-heading,inherit)!important;
}


/* ========================================================================
   Moxxie Blocks 1.5.65 — scoped action hovers + Before/After saved start
   ======================================================================== */
/* Real CTA/action buttons: always expose the active preset accent on hover
   and keyboard focus, even when a theme ships stronger button selectors. */
.wp-block-moxxie-pricing-table .wp-block-button > .wp-block-button__link:hover,
.wp-block-moxxie-pricing-table .wp-block-button > .wp-block-button__link:focus,
.wp-block-moxxie-pricing-table .wp-block-button > .wp-block-button__link:focus-visible,
button.moxxie-modal-trigger:hover,
button.moxxie-modal-trigger:focus,
button.moxxie-modal-trigger:focus-visible,
dialog.moxxie-modal-dialog button.moxxie-modal-close:hover,
dialog.moxxie-modal-dialog button.moxxie-modal-close:focus,
dialog.moxxie-modal-dialog button.moxxie-modal-close:focus-visible{
  background:var(--moxxie-accent)!important;
  background-color:var(--moxxie-accent)!important;
  border-color:var(--moxxie-accent)!important;
  color:var(--moxxie-accent-contrast,#fff)!important;
  text-decoration:none!important;
}
.wp-block-moxxie-pricing-table .wp-block-button > .wp-block-button__link:focus-visible,
button.moxxie-modal-trigger:focus-visible,
dialog.moxxie-modal-dialog button.moxxie-modal-close:focus-visible{
  outline:2px solid var(--moxxie-accent)!important;
  outline-offset:2px!important;
}

/* Accordion: keep the title surface untouched; only the + / × affordance
   receives the accent interaction treatment. */
.wp-block-moxxie-accordion .moxxie-accordion__button:hover .moxxie-accordion__icon,
.wp-block-moxxie-accordion .moxxie-accordion__button:focus .moxxie-accordion__icon,
.wp-block-moxxie-accordion .moxxie-accordion__button:focus-visible .moxxie-accordion__icon,
.wp-block-moxxie-faq .moxxie-accordion__button:hover .moxxie-accordion__icon,
.wp-block-moxxie-faq .moxxie-accordion__button:focus .moxxie-accordion__icon,
.wp-block-moxxie-faq .moxxie-accordion__button:focus-visible .moxxie-accordion__icon{
  background:var(--moxxie-accent)!important;
  border-color:var(--moxxie-accent)!important;
  color:var(--moxxie-accent-contrast,#fff)!important;
}


/* ========================================================================
   Moxxie Blocks 1.5.67 — navigation styling & focused accent actions
   ======================================================================== */
.wp-block-moxxie-anchor-navigation a,
.wp-block-moxxie-navigation-menu .moxxie-navigation-menu__list a,
.wp-block-moxxie-navigation-menu .wp-block-navigation-item__content{
  display:inline-flex!important;
  align-items:center!important;
  min-height:38px!important;
  margin:0!important;
  padding:.55rem .8rem!important;
  border:1px solid var(--moxxie-border)!important;
  border-radius:var(--moxxie-radius-sm)!important;
  background:var(--moxxie-bg)!important;
  background-image:none!important;
  color:var(--moxxie-text)!important;
  box-shadow:none!important;
  text-decoration:none!important;
  line-height:1.3!important;
  transition:background-color var(--moxxie-transition),border-color var(--moxxie-transition),color var(--moxxie-transition),transform var(--moxxie-transition)!important;
}
.wp-block-moxxie-anchor-navigation a:hover,
.wp-block-moxxie-anchor-navigation a:focus-visible,
.wp-block-moxxie-navigation-menu .moxxie-navigation-menu__list a:hover,
.wp-block-moxxie-navigation-menu .moxxie-navigation-menu__list a:focus-visible,
.wp-block-moxxie-navigation-menu .wp-block-navigation-item__content:hover,
.wp-block-moxxie-navigation-menu .wp-block-navigation-item__content:focus-visible{
  background:var(--moxxie-accent)!important;
  background-color:var(--moxxie-accent)!important;
  background-image:none!important;
  border-color:var(--moxxie-accent)!important;
  color:var(--moxxie-accent-contrast,#fff)!important;
  box-shadow:none!important;
  text-decoration:none!important;
  filter:none!important;
  opacity:1!important;
}
.wp-block-moxxie-anchor-navigation a:focus-visible,
.wp-block-moxxie-navigation-menu a:focus-visible{
  outline:2px solid var(--moxxie-accent)!important;
  outline-offset:2px!important;
}
.wp-block-moxxie-navigation-menu{
  width:100%!important;
  padding:.75rem!important;
  border:1px solid var(--moxxie-border)!important;
  border-radius:var(--moxxie-radius)!important;
  background:var(--moxxie-bg-soft)!important;
  box-sizing:border-box!important;
}
.wp-block-moxxie-navigation-menu .moxxie-navigation-menu__list,
.wp-block-moxxie-navigation-menu .wp-block-navigation__container{
  gap:.6rem!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.wp-block-moxxie-navigation-menu .moxxie-navigation-menu__list li,
.wp-block-moxxie-navigation-menu .wp-block-navigation-item{
  margin:0!important;
  padding:0!important;
}
.wp-block-moxxie-navigation-menu .sub-menu,
.wp-block-moxxie-navigation-menu .wp-block-navigation__submenu-container{
  padding:.5rem!important;
  border:1px solid var(--moxxie-border)!important;
  border-radius:var(--moxxie-radius-sm)!important;
  background:var(--moxxie-bg)!important;
  box-shadow:var(--moxxie-shadow-sm)!important;
}

.wp-block-moxxie-counter .moxxie-counter__number{
  color:var(--moxxie-accent)!important;
}
.wp-block-moxxie-steps :is(h1,h2,h3,h4,h5,h6,.wp-block-heading){
  color:var(--moxxie-accent)!important;
}

/* CTA buttons use a quiet default surface; accent is the interaction state. */
.wp-block-moxxie-pricing-table .wp-block-button > .wp-block-button__link,
button.moxxie-modal-trigger{
  background:var(--moxxie-bg-soft)!important;
  background-color:var(--moxxie-bg-soft)!important;
  background-image:none!important;
  border:1px solid var(--moxxie-border)!important;
  color:var(--moxxie-text)!important;
  filter:none!important;
  opacity:1!important;
}
.wp-block-moxxie-pricing-table .wp-block-button > .wp-block-button__link:hover,
.wp-block-moxxie-pricing-table .wp-block-button > .wp-block-button__link:focus,
.wp-block-moxxie-pricing-table .wp-block-button > .wp-block-button__link:focus-visible,
button.moxxie-modal-trigger:hover,
button.moxxie-modal-trigger:focus,
button.moxxie-modal-trigger:focus-visible{
  background:var(--moxxie-accent)!important;
  background-color:var(--moxxie-accent)!important;
  background-image:none!important;
  border-color:var(--moxxie-accent)!important;
  color:var(--moxxie-accent-contrast,#fff)!important;
  box-shadow:none!important;
  filter:none!important;
  opacity:1!important;
  text-decoration:none!important;
}

/* v1.5.68 — Pricing CTA stays accent by default; hover/focus gets depth instead of a color swap. */
.wp-block-moxxie-pricing-table .wp-block-button > .wp-block-button__link{
  background:var(--moxxie-accent)!important;
  background-color:var(--moxxie-accent)!important;
  background-image:none!important;
  border-color:var(--moxxie-accent)!important;
  color:var(--moxxie-accent-contrast,#fff)!important;
  box-shadow:0 2px 6px rgba(0,0,0,.12)!important;
  filter:none!important;
  transform:translateY(0)!important;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease!important;
}
.wp-block-moxxie-pricing-table .wp-block-button > .wp-block-button__link:hover,
.wp-block-moxxie-pricing-table .wp-block-button > .wp-block-button__link:focus,
.wp-block-moxxie-pricing-table .wp-block-button > .wp-block-button__link:focus-visible{
  background:var(--moxxie-accent)!important;
  background-color:var(--moxxie-accent)!important;
  border-color:var(--moxxie-accent)!important;
  color:var(--moxxie-accent-contrast,#fff)!important;
  box-shadow:0 5px 14px rgba(0,0,0,.20),0 0 0 3px color-mix(in srgb,var(--moxxie-accent) 24%,transparent)!important;
  filter:brightness(.88)!important;
  transform:translateY(-1px)!important;
  text-decoration:none!important;
}


/* ========================================================================
   Moxxie Blocks 1.5.69 — isolated Navigation Menu + dropdowns
   ======================================================================== */
/* These rules are deliberately scoped to the Moxxie wrapper. They do not
   target theme navigation outside .wp-block-moxxie-navigation-menu. */
.wp-block-moxxie-navigation-menu,
.wp-block-moxxie-navigation-menu *{
  box-sizing:border-box;
}
.wp-block-moxxie-navigation-menu :is(ul,ol),
.wp-block-moxxie-navigation-menu :is(li,.wp-block-navigation-item){
  list-style:none!important;
}
.wp-block-moxxie-navigation-menu :is(li,.wp-block-navigation-item)::marker{
  content:""!important;
  display:none!important;
}

/* Top level: horizontal by default. */
.wp-block-moxxie-navigation-menu > .moxxie-navigation-menu__list,
.wp-block-moxxie-navigation-menu .moxxie-navigation-menu__block > .wp-block-navigation .wp-block-navigation__container,
.wp-block-moxxie-navigation-menu > .wp-block-navigation__container{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:.5rem!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.wp-block-moxxie-navigation-menu > .moxxie-navigation-menu__list > li,
.wp-block-moxxie-navigation-menu .wp-block-navigation__container > .wp-block-navigation-item{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
}

/* Preserve the explicit vertical option without letting theme CSS add bullets. */
.wp-block-moxxie-navigation-menu[data-orientation="vertical"] > .moxxie-navigation-menu__list,
.wp-block-moxxie-navigation-menu[data-orientation="vertical"] .moxxie-navigation-menu__block > .wp-block-navigation .wp-block-navigation__container,
.wp-block-moxxie-navigation-menu[data-orientation="vertical"] > .wp-block-navigation__container{
  flex-direction:column!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
}

/* Dropdown surface. */
.wp-block-moxxie-navigation-menu .sub-menu,
.wp-block-moxxie-navigation-menu .wp-block-navigation__submenu-container{
  position:absolute!important;
  z-index:1000!important;
  top:calc(100% + .45rem)!important;
  left:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:.25rem!important;
  min-width:210px!important;
  width:max-content!important;
  max-width:min(320px,calc(100vw - 2rem))!important;
  margin:0!important;
  padding:.5rem!important;
  border:1px solid var(--moxxie-border)!important;
  border-radius:var(--moxxie-radius-sm)!important;
  background:var(--moxxie-bg)!important;
  color:var(--moxxie-text)!important;
  box-shadow:var(--moxxie-shadow,0 12px 28px rgba(16,24,40,.14))!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(-4px)!important;
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease!important;
}
.wp-block-moxxie-navigation-menu .sub-menu li,
.wp-block-moxxie-navigation-menu .wp-block-navigation__submenu-container .wp-block-navigation-item{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.wp-block-moxxie-navigation-menu .sub-menu a,
.wp-block-moxxie-navigation-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
  display:flex!important;
  width:100%!important;
  min-height:36px!important;
  justify-content:flex-start!important;
  white-space:nowrap!important;
}

/* Open on mouse hover and keyboard focus. */
.wp-block-moxxie-navigation-menu .menu-item-has-children:hover > .sub-menu,
.wp-block-moxxie-navigation-menu .menu-item-has-children:focus-within > .sub-menu,
.wp-block-moxxie-navigation-menu .wp-block-navigation-submenu:hover > .wp-block-navigation__submenu-container,
.wp-block-moxxie-navigation-menu .wp-block-navigation-submenu:focus-within > .wp-block-navigation__submenu-container,
.wp-block-moxxie-navigation-menu .wp-block-navigation-submenu.has-child-selected > .wp-block-navigation__submenu-container{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0)!important;
}

/* Nested dropdowns open to the side. */
.wp-block-moxxie-navigation-menu .sub-menu .sub-menu,
.wp-block-moxxie-navigation-menu .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{
  top:-.5rem!important;
  left:calc(100% + .45rem)!important;
}

/* Keep the core submenu toggle tidy and inside the Moxxie component only. */
.wp-block-moxxie-navigation-menu .wp-block-navigation__submenu-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:1rem!important;
  height:1rem!important;
  margin-left:.25rem!important;
  color:currentColor!important;
}

@media (max-width:782px){
  .wp-block-moxxie-navigation-menu > .moxxie-navigation-menu__list,
  .wp-block-moxxie-navigation-menu .moxxie-navigation-menu__block > .wp-block-navigation .wp-block-navigation__container,
  .wp-block-moxxie-navigation-menu > .wp-block-navigation__container{
    gap:.4rem!important;
  }
  .wp-block-moxxie-navigation-menu .sub-menu,
  .wp-block-moxxie-navigation-menu .wp-block-navigation__submenu-container{
    max-width:calc(100vw - 2rem)!important;
  }
}


/* ========================================================================
   Moxxie Blocks 1.5.70 — Pricing CTA colour inversion
   ======================================================================== */
.wp-block-moxxie-pricing-table .wp-block-button > .wp-block-button__link{
  background:var(--moxxie-accent)!important;
  background-color:var(--moxxie-accent)!important;
  background-image:none!important;
  border-color:var(--moxxie-accent)!important;
  color:var(--moxxie-accent-contrast,#fff)!important;
}
.wp-block-moxxie-pricing-table .wp-block-button > .wp-block-button__link:hover,
.wp-block-moxxie-pricing-table .wp-block-button > .wp-block-button__link:focus,
.wp-block-moxxie-pricing-table .wp-block-button > .wp-block-button__link:focus-visible{
  background:var(--moxxie-accent-contrast,#fff)!important;
  background-color:var(--moxxie-accent-contrast,#fff)!important;
  background-image:none!important;
  border-color:var(--moxxie-accent)!important;
  color:var(--moxxie-accent)!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
  text-decoration:none!important;
}

/* ========================================================================
   Moxxie Blocks 1.5.71 — Navigation Menu top-level buttons in one row
   ======================================================================== */
/* Keep this strictly inside the Moxxie Navigation Menu. The top level mirrors
   Anchor Navigation; submenu lists keep their dropdown layout. */
.wp-block-moxxie-navigation-menu:not([data-orientation="vertical"]){
  display:block!important;
}
.wp-block-moxxie-navigation-menu:not([data-orientation="vertical"]) > .moxxie-navigation-menu__list,
.wp-block-moxxie-navigation-menu:not([data-orientation="vertical"]) > .menu,
.wp-block-moxxie-navigation-menu:not([data-orientation="vertical"]) > .moxxie-navigation-menu__block > .wp-block-navigation,
.wp-block-moxxie-navigation-menu:not([data-orientation="vertical"]) > .moxxie-navigation-menu__block > .wp-block-navigation > .wp-block-navigation__container,
.wp-block-moxxie-navigation-menu:not([data-orientation="vertical"]) > .wp-block-navigation__container{
  display:flex!important;
  flex-flow:row wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:.6rem!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.wp-block-moxxie-navigation-menu:not([data-orientation="vertical"])[data-justify="center"] > .moxxie-navigation-menu__list,
.wp-block-moxxie-navigation-menu:not([data-orientation="vertical"])[data-justify="center"] > .moxxie-navigation-menu__block > .wp-block-navigation,
.wp-block-moxxie-navigation-menu:not([data-orientation="vertical"])[data-justify="center"] > .moxxie-navigation-menu__block > .wp-block-navigation > .wp-block-navigation__container{
  justify-content:center!important;
}
.wp-block-moxxie-navigation-menu:not([data-orientation="vertical"])[data-justify="right"] > .moxxie-navigation-menu__list,
.wp-block-moxxie-navigation-menu:not([data-orientation="vertical"])[data-justify="right"] > .moxxie-navigation-menu__block > .wp-block-navigation,
.wp-block-moxxie-navigation-menu:not([data-orientation="vertical"])[data-justify="right"] > .moxxie-navigation-menu__block > .wp-block-navigation > .wp-block-navigation__container{
  justify-content:flex-end!important;
}
.wp-block-moxxie-navigation-menu:not([data-orientation="vertical"]) > .moxxie-navigation-menu__list > li,
.wp-block-moxxie-navigation-menu:not([data-orientation="vertical"]) > .menu > li,
.wp-block-moxxie-navigation-menu:not([data-orientation="vertical"]) > .moxxie-navigation-menu__block > .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-item{
  display:inline-flex!important;
  flex:0 0 auto!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
}
.wp-block-moxxie-navigation-menu:not([data-orientation="vertical"]) > .moxxie-navigation-menu__list > li > a,
.wp-block-moxxie-navigation-menu:not([data-orientation="vertical"]) > .menu > li > a,
.wp-block-moxxie-navigation-menu:not([data-orientation="vertical"]) > .moxxie-navigation-menu__block > .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content{
  display:inline-flex!important;
  width:auto!important;
  white-space:nowrap!important;
}

/* ========================================================================
   Moxxie Blocks 1.5.72 — Navigation Menu: force top-level horizontal row
   ======================================================================== */
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] > ul.moxxie-navigation-menu__list,
.wp-block-moxxie-navigation-menu:not([data-orientation]) > ul.moxxie-navigation-menu__list,
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] .moxxie-navigation-menu__block > .wp-block-navigation > ul.wp-block-navigation__container,
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] .moxxie-navigation-menu__block > .wp-block-navigation > .wp-block-navigation__responsive-container > .wp-block-navigation__responsive-close > .wp-block-navigation__responsive-dialog > .wp-block-navigation__responsive-container-content > ul.wp-block-navigation__container{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  align-content:center!important;
  gap:.75rem!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] > ul.moxxie-navigation-menu__list > li,
.wp-block-moxxie-navigation-menu:not([data-orientation]) > ul.moxxie-navigation-menu__list > li,
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] .moxxie-navigation-menu__block > .wp-block-navigation > ul.wp-block-navigation__container > li.wp-block-navigation-item,
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] .moxxie-navigation-menu__block .wp-block-navigation__responsive-container-content > ul.wp-block-navigation__container > li.wp-block-navigation-item{
  display:inline-flex!important;
  flex:0 0 auto!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
/* Submenus deliberately remain vertical dropdowns. */
.wp-block-moxxie-navigation-menu .sub-menu,
.wp-block-moxxie-navigation-menu .wp-block-navigation__submenu-container{
  flex-direction:column!important;
  flex-wrap:nowrap!important;
  gap:.25rem!important;
}

/* ========================================================================
   Moxxie Blocks 1.5.73 — Navigation Menu: neutralise theme 100% menu items
   ======================================================================== */
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] > ul.moxxie-navigation-menu__list,
.wp-block-moxxie-navigation-menu:not([data-orientation]) > ul.moxxie-navigation-menu__list{
  display:flex!important;
  flex-flow:row wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:.75rem!important;
}
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] > ul.moxxie-navigation-menu__list > li.menu-item,
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] > ul.moxxie-navigation-menu__list > li,
.wp-block-moxxie-navigation-menu:not([data-orientation]) > ul.moxxie-navigation-menu__list > li.menu-item,
.wp-block-moxxie-navigation-menu:not([data-orientation]) > ul.moxxie-navigation-menu__list > li{
  display:inline-flex!important;
  flex-grow:0!important;
  flex-shrink:0!important;
  flex-basis:auto!important;
  width:max-content!important;
  inline-size:max-content!important;
  min-width:0!important;
  max-width:none!important;
  align-self:center!important;
}
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] > ul.moxxie-navigation-menu__list > li > a,
.wp-block-moxxie-navigation-menu:not([data-orientation]) > ul.moxxie-navigation-menu__list > li > a{
  width:auto!important;
  inline-size:auto!important;
  min-width:0!important;
  max-width:none!important;
  white-space:nowrap!important;
}
/* The same reset for top-level items from a wp_navigation menu. */
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] .moxxie-navigation-menu__block .wp-block-navigation__responsive-container-content > ul.wp-block-navigation__container{
  display:flex!important;
  flex-flow:row wrap!important;
  align-items:center!important;
  gap:.75rem!important;
}
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] .moxxie-navigation-menu__block .wp-block-navigation__responsive-container-content > ul.wp-block-navigation__container > li.wp-block-navigation-item{
  display:inline-flex!important;
  flex:0 0 auto!important;
  width:max-content!important;
  inline-size:max-content!important;
  min-width:0!important;
  max-width:none!important;
}


/* ========================================================================
   Moxxie Blocks 1.5.74 — Navigation Menu: definitive horizontal top level
   ======================================================================== */
/* A horizontal Moxxie menu must stay horizontal, including when the optional
   desktop-sticky mode is active. Only the submenu itself remains vertical. */
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] > ul.moxxie-navigation-menu__list,
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] .moxxie-navigation-menu__block .wp-block-navigation__responsive-container-content > ul.wp-block-navigation__container{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  align-content:center!important;
  gap:.75rem!important;
  width:100%!important;
  inline-size:100%!important;
  margin:0!important;
  padding:0!important;
}
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] > ul.moxxie-navigation-menu__list > li,
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] .moxxie-navigation-menu__block .wp-block-navigation__responsive-container-content > ul.wp-block-navigation__container > li.wp-block-navigation-item{
  display:inline-flex!important;
  flex:0 0 auto!important;
  width:auto!important;
  inline-size:auto!important;
  min-width:0!important;
  max-width:max-content!important;
  margin:0!important;
  padding:0!important;
  align-self:center!important;
}
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] > ul.moxxie-navigation-menu__list > li > a,
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] .moxxie-navigation-menu__block .wp-block-navigation__responsive-container-content > ul.wp-block-navigation__container > li.wp-block-navigation-item > .wp-block-navigation-item__content{
  display:inline-flex!important;
  flex:0 0 auto!important;
  width:auto!important;
  inline-size:auto!important;
  white-space:nowrap!important;
}
@media (min-width:1100px){
  .wp-block-moxxie-navigation-menu[data-orientation="horizontal"][data-fixed-desktop="true"] > .moxxie-navigation-menu__list,
  .wp-block-moxxie-navigation-menu[data-orientation="horizontal"][data-fixed-desktop="true"] .wp-block-navigation__container{
    flex-direction:row!important;
    flex-wrap:wrap!important;
    align-items:center!important;
  }
}


/* ========================================================================
   Moxxie Blocks 1.5.75 — Navigation Menu: reset WordPress Navigation item width
   ======================================================================== */
/* WordPress/theme navigation CSS can put width:100% directly on the LI itself.
   Target the actual top-level Navigation block items independent of the
   responsive wrapper structure. Submenu lists use __submenu-container and are
   intentionally not matched here. */
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] ul.wp-block-navigation__container > li.wp-block-navigation-item,
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] ul.wp-block-navigation__container > li.wp-block-navigation-item.wp-block-navigation-link,
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] ul.wp-block-navigation__container > li.menu-item.wp-block-navigation-item{
  display:inline-flex!important;
  flex-grow:0!important;
  flex-shrink:0!important;
  flex-basis:auto!important;
  width:fit-content!important;
  inline-size:fit-content!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  align-self:center!important;
}
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] ul.wp-block-navigation__container > li.wp-block-navigation-item > a,
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] ul.wp-block-navigation__container > li.wp-block-navigation-item > .wp-block-navigation-item__content{
  width:fit-content!important;
  inline-size:fit-content!important;
  min-width:0!important;
  max-width:none!important;
  white-space:nowrap!important;
}

/* ========================================================================
   Moxxie Blocks 1.5.76 — linked cards and logos: accent hover/focus
   ======================================================================== */
/* Full-card links get a clear interactive state. Keep this scoped to Moxxie
   linked cards/logo items so ordinary theme links and unlinked cards stay put. */
a.wp-block-moxxie-media-card,
.wp-block-moxxie-logo-item.is-linked{
  transition:background-color var(--moxxie-transition),border-color var(--moxxie-transition),color var(--moxxie-transition),box-shadow var(--moxxie-transition),transform var(--moxxie-transition)!important;
}
a.wp-block-moxxie-media-card:hover,
a.wp-block-moxxie-media-card:focus-visible,
.wp-block-moxxie-logo-item.is-linked:hover,
.wp-block-moxxie-logo-item.is-linked:focus-within{
  background:var(--moxxie-accent)!important;
  background-color:var(--moxxie-accent)!important;
  border-color:var(--moxxie-accent)!important;
  color:var(--moxxie-accent-contrast)!important;
}
a.wp-block-moxxie-media-card:hover :is(h1,h2,h3,h4,h5,h6,p,span,strong,small),
a.wp-block-moxxie-media-card:focus-visible :is(h1,h2,h3,h4,h5,h6,p,span,strong,small),
.wp-block-moxxie-logo-item.is-linked:hover :is(h1,h2,h3,h4,h5,h6,p,span,strong,small),
.wp-block-moxxie-logo-item.is-linked:focus-within :is(h1,h2,h3,h4,h5,h6,p,span,strong,small){
  color:var(--moxxie-accent-contrast)!important;
}
.wp-block-moxxie-logo-item.is-linked:hover > a,
.wp-block-moxxie-logo-item.is-linked:focus-within > a{
  color:var(--moxxie-accent-contrast)!important;
  background:transparent!important;
  text-decoration:none!important;
}


/* ========================================================================
   Moxxie Blocks 1.5.77 — preserve inner spacing for linked grid cards
   ======================================================================== */
/* A linked Logo item uses an absolutely positioned full-card <a>. Because
   that anchor fills the complete card it must carry the same inner spacing
   as the unlinked card; otherwise the logo can visually touch the border. */
.wp-block-moxxie-logo-grid > .wp-block-moxxie-logo-item.is-linked > a,
.wp-block-moxxie-logo-grid > .wp-block-moxxie-logo-item[data-moxxie-logo-url] > a{
  padding:1rem!important;
  box-sizing:border-box!important;
}
.wp-block-moxxie-logo-grid > .wp-block-moxxie-logo-item.is-linked > a > img,
.wp-block-moxxie-logo-grid > .wp-block-moxxie-logo-item[data-moxxie-logo-url] > a > img{
  max-width:100%!important;
  max-height:var(--moxxie-logo-height,72px)!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
}

/* Keep full-card links in grid-based Moxxie cards from collapsing their own
   content spacing when a theme resets anchors. Media Cards already carry
   their padding on the body, so only their box model/link reset is hardened. */
.wp-block-moxxie-media-card-list > a.wp-block-moxxie-media-card,
.wp-block-moxxie-card-grid > a.wp-block-moxxie-card{
  box-sizing:border-box!important;
  min-width:0!important;
}


/* ========================================================================
   Moxxie Blocks 1.5.78 — Navigation Menu: isolated plugin-owned markup
   ======================================================================== */
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] > ul.moxxie-navigation-menu__list{
  display:flex!important;
  flex-flow:row wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  gap:.75rem!important;
  list-style:none!important;
}
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"][data-justify="center"] > ul.moxxie-navigation-menu__list{justify-content:center!important}
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"][data-justify="right"] > ul.moxxie-navigation-menu__list{justify-content:flex-end!important}
.wp-block-moxxie-navigation-menu[data-orientation="horizontal"] > ul.moxxie-navigation-menu__list > li{
  position:relative!important;
  display:block!important;
  flex:0 0 auto!important;
  width:auto!important;
  inline-size:auto!important;
  min-width:0!important;
  max-width:max-content!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.wp-block-moxxie-navigation-menu > ul.moxxie-navigation-menu__list > li::marker,
.wp-block-moxxie-navigation-menu .sub-menu > li::marker{content:""!important}
.wp-block-moxxie-navigation-menu > ul.moxxie-navigation-menu__list > li > a{
  display:inline-flex!important;
  align-items:center!important;
  gap:.4rem!important;
  width:auto!important;
  white-space:nowrap!important;
}
.wp-block-moxxie-navigation-menu .moxxie-navigation-menu__chevron{
  display:inline-block!important;
  font-size:.8em!important;
  line-height:1!important;
  transition:transform var(--moxxie-transition)!important;
}
.wp-block-moxxie-navigation-menu .menu-item-has-children:hover > a .moxxie-navigation-menu__chevron,
.wp-block-moxxie-navigation-menu .menu-item-has-children:focus-within > a .moxxie-navigation-menu__chevron{transform:rotate(180deg)!important}
.wp-block-moxxie-navigation-menu .sub-menu{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:.35rem!important;
  width:max-content!important;
  min-width:12rem!important;
  max-width:min(22rem,calc(100vw - 2rem))!important;
  margin:0!important;
  padding:.5rem!important;
  list-style:none!important;
}
.wp-block-moxxie-navigation-menu .sub-menu > li{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.wp-block-moxxie-navigation-menu .sub-menu > li > a{
  display:flex!important;
  width:100%!important;
  box-sizing:border-box!important;
}


/* ========================================================================
   Moxxie Blocks 1.5.80 — dropdown bridge, stable pricing CTA, lightbox caption
   ======================================================================== */
/* Keep the hover path alive across the intentional visual gap between a
   navigation item and its dropdown. The bridge exists only inside Moxxie's
   own navigation component and therefore cannot affect theme navigation. */
.wp-block-moxxie-navigation-menu .menu-item-has-children{
  position:relative!important;
}
.wp-block-moxxie-navigation-menu > ul.moxxie-navigation-menu__list > li.menu-item-has-children::after{
  content:""!important;
  position:absolute!important;
  z-index:999!important;
  top:100%!important;
  left:-.25rem!important;
  width:calc(100% + .5rem)!important;
  height:.55rem!important;
  background:transparent!important;
  pointer-events:auto!important;
}
.wp-block-moxxie-navigation-menu .sub-menu > li.menu-item-has-children::after{
  content:""!important;
  position:absolute!important;
  z-index:999!important;
  top:-.15rem!important;
  left:100%!important;
  width:.55rem!important;
  height:calc(100% + .3rem)!important;
  background:transparent!important;
  pointer-events:auto!important;
}

/* Pricing CTA: no movement, scaling or dimensional change. Hover/focus only
   swaps foreground/background colours. */
.wp-block-moxxie-pricing-table .wp-block-button > .wp-block-button__link{
  transform:none!important;
  filter:none!important;
  box-shadow:none!important;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease!important;
}
.wp-block-moxxie-pricing-table .wp-block-button > .wp-block-button__link:hover,
.wp-block-moxxie-pricing-table .wp-block-button > .wp-block-button__link:focus,
.wp-block-moxxie-pricing-table .wp-block-button > .wp-block-button__link:focus-visible{
  transform:none!important;
  filter:none!important;
  box-shadow:none!important;
  padding-top:.7rem!important;
  padding-right:1.05rem!important;
  padding-bottom:.7rem!important;
  padding-left:1.05rem!important;
}

/* The authored lightbox caption belongs to the overlay, not below the
   thumbnail on the normal page. It remains in the saved markup so Gutenberg
   block validation/backwards compatibility are unaffected; view.js copies it
   into the opened lightbox. */
.wp-block-moxxie-lightbox-image > .moxxie-lightbox-image__caption{
  display:none!important;
}
.moxxie-lightbox__figure{
  display:flex!important;
  flex-direction:column!important;
  width:fit-content!important;
  max-width:min(94vw,1600px)!important;
  max-height:calc(100vh - 56px)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#fff!important;
}
.moxxie-lightbox__figure .moxxie-lightbox__image{
  max-width:100%!important;
  max-height:calc(90vh - 5rem)!important;
  margin:0 auto!important;
}
.moxxie-lightbox__caption{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  margin:0!important;
  padding:.8rem 1rem!important;
  border-top:1px solid var(--moxxie-border,#d8dee8)!important;
  border-left:4px solid var(--moxxie-accent,#111827)!important;
  border-radius:0 0 var(--moxxie-radius,12px) var(--moxxie-radius,12px)!important;
  background:var(--moxxie-bg-soft,#fbfcfd)!important;
  color:var(--moxxie-text,#101828)!important;
  font-family:inherit!important;
  font-size:.95rem!important;
  line-height:1.5!important;
  text-align:left!important;
  box-shadow:0 12px 50px rgba(0,0,0,.35)!important;
}
.moxxie-lightbox__caption :is(p,span,strong,em){
  color:var(--moxxie-text,#101828)!important;
}
.moxxie-lightbox__caption a{
  color:var(--moxxie-accent,#111827)!important;
  text-decoration:underline!important;
  text-underline-offset:.16em!important;
}
@media(max-width:600px){
  .moxxie-lightbox__figure{max-width:calc(100vw - 28px)!important;max-height:calc(100vh - 28px)!important}
  .moxxie-lightbox__figure .moxxie-lightbox__image{max-height:calc(86vh - 5rem)!important}
  .moxxie-lightbox__caption{padding:.7rem .85rem!important;font-size:.9rem!important}
}


/* ========================================================================
   Moxxie Blocks 1.5.81 — themed lightbox caption
   ======================================================================== */
.moxxie-lightbox__caption{
  background:var(--moxxie-bg-soft,#fbfcfd)!important;
  color:var(--moxxie-text,#101828)!important;
  border-color:var(--moxxie-border,#d8dee8)!important;
  border-left-color:var(--moxxie-accent,#111827)!important;
}
.moxxie-lightbox__caption :is(p,span,strong,em){color:var(--moxxie-text,#101828)!important}
.moxxie-lightbox__caption a{color:var(--moxxie-accent,#111827)!important}
