/* MD Visual Builder: scoped frontend styling. */
.mdvb-page,.mdvb-page .mdvb-node,.mdvb-page .mdvb-node::before,.mdvb-page .mdvb-node::after,.mdvb-page .mdvb-button-link{box-sizing:border-box}
.mdvb-page{width:100%;max-width:100%;min-width:0;}
.mdvb-page .mdvb-node{box-sizing:border-box;max-width:100%;min-width:0}
.mdvb-page .mdvb-container{display:flex;flex-direction:column;gap:16px;min-height:60px;width:100%}
.mdvb-page .mdvb-heading{font-size:30px;line-height:1.25;font-weight:700;margin:0}
.mdvb-page .mdvb-text{font-size:16px;line-height:1.7;white-space:pre-line}
.mdvb-page .mdvb-text p:last-child{margin-bottom:0}
.mdvb-page .mdvb-button .mdvb-button-link{display:inline-block;padding:12px 24px;border-radius:7px;background:#7655e8;color:#fff;text-decoration:none;font-weight:600;line-height:1.5}
.mdvb-page .mdvb-button .mdvb-button-link:hover{filter:brightness(.92);color:white}
.mdvb-page .mdvb-image img{display:block;max-width:100%;height:auto}
.mdvb-page .mdvb-spacer{min-height:30px}
.mdvb-page .mdvb-divider hr{border:0;border-top:1px solid #ccd0d4;margin:15px 0}
.mdvb-page .mdvb-video iframe{max-width:100%;aspect-ratio:16/9;width:100%;height:auto}
.mdvb-page .mdvb-icon{font-size:35px}
@media(max-width:767px){.mdvb-page .mdvb-heading{font-size:25px}}

/* Feature and list widgets; styles are restricted to builder content. */
.mdvb-page .mdvb-iconBox,.mdvb-page .mdvb-imageBox{display:block}
.mdvb-page .mdvb-feature-link{display:block;text-decoration:none;color:inherit}
.mdvb-page .mdvb-feature-icon{font-size:38px;line-height:1.2;margin-bottom:12px}
.mdvb-page .mdvb-iconBox h3,.mdvb-page .mdvb-imageBox h3{font-size:22px;line-height:1.3;font-weight:700;margin:0 0 10px;color:inherit}
.mdvb-page .mdvb-imageBox img{display:block;width:100%;height:auto;max-width:100%;margin-bottom:12px}
.mdvb-page .mdvb-list ul{list-style:disc;padding-inline-start:23px;margin:0}
.mdvb-page .mdvb-list li{margin:0 0 7px}
.mdvb-page .mdvb-iconBox .mdvb-feature-copy>div,.mdvb-page .mdvb-imageBox>div{line-height:1.7}

/* v0.3: additional widgets, all styles confined to the rendered builder. */
.mdvb-page .mdvb-accordion-item{border:1px solid #e4e5ed;border-radius:8px;margin-bottom:9px;overflow:hidden;background:#fff}
.mdvb-page .mdvb-accordion-item summary{cursor:pointer;padding:14px 17px;font-weight:650;list-style-position:inside}
.mdvb-page .mdvb-accordion-item[open] summary{background:#f7f5ff}
.mdvb-page .mdvb-accordion-item>div{padding:13px 17px;border-top:1px solid #eceaf4;white-space:pre-line}
.mdvb-page .mdvb-testimonial{padding:23px;border:1px solid #ededf2;border-radius:12px;background:#fff}
.mdvb-page .mdvb-testimonial blockquote{border:0;margin:0 0 19px;padding:0;font-style:normal;font-size:17px;line-height:1.65;color:inherit}
.mdvb-page .mdvb-testimonial-person{display:flex;align-items:center;gap:11px}
.mdvb-page .mdvb-testimonial-person img{width:48px;height:48px;object-fit:cover;border-radius:50%}
.mdvb-page .mdvb-testimonial-person strong,.mdvb-page .mdvb-testimonial-person small{display:block;line-height:1.4}
.mdvb-page .mdvb-testimonial-person small{font-size:12px;opacity:.65;margin-top:2px}
.mdvb-page .mdvb-progress-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;font-weight:650}
.mdvb-page .mdvb-progress-track{height:13px;border-radius:50px;background:#eeebf9;overflow:hidden}
.mdvb-page .mdvb-progress-track>span{display:block;height:100%;background:#7455e8;border-radius:50px}
.mdvb-page .mdvb-alert{border-radius:9px;border:1px solid #c4d8fc;background:#eef5ff;padding:18px 20px}
.mdvb-page .mdvb-alert strong{display:block;font-size:16px;margin-bottom:7px}
.mdvb-page .mdvb-alert>div{line-height:1.65}

/* v0.4: tabs, social links, numbers and star ratings. */
.mdvb-page .mdvb-tabs-list{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid #e4e0f2}
.mdvb-page .mdvb-tabs-list button{appearance:none;cursor:pointer;background:transparent;color:inherit;border:0;border-bottom:3px solid transparent;padding:12px 16px;font:inherit;font-weight:650}
.mdvb-page .mdvb-tabs-list button[aria-selected=true]{color:#7455e8;border-bottom-color:#7455e8}
.mdvb-page .mdvb-tabs-list button:focus-visible{outline:2px solid #7455e8;outline-offset:2px}
.mdvb-page .mdvb-tabs-panels{padding:18px 12px;white-space:pre-line;line-height:1.7}
.mdvb-page .mdvb-tabs-panels [hidden]{display:none!important}
.mdvb-page .mdvb-social{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.mdvb-page .mdvb-social a{padding:9px 14px;border:1px solid #dcd5fa;border-radius:8px;color:#6449c4;text-decoration:none;font-weight:650}
.mdvb-page .mdvb-social a:hover{background:#f5f1ff}
.mdvb-page .mdvb-counter-number{font-size:40px;font-weight:800;line-height:1.15;color:inherit}
.mdvb-page .mdvb-counter-label{font-size:15px;opacity:.78;margin-top:7px}
.mdvb-page .mdvb-rating{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.mdvb-page .mdvb-rating-stars{position:relative;display:inline-block;white-space:nowrap;font-size:30px;line-height:1.2;letter-spacing:3px}
.mdvb-page .mdvb-rating-back{color:#dad8e1}
.mdvb-page .mdvb-rating-fill{position:absolute;inset-inline-start:0;top:0;overflow:hidden;white-space:nowrap;color:#e9a52b;direction:ltr}
.mdvb-page .mdvb-rating-label{font-size:13px;opacity:.8}
/* v0.5: container shape dividers, responsive animation, equal Flexbox columns. */
.mdvb-page .mdvb-container{position:relative}
.mdvb-page .mdvb-container>.mdvb-container{min-width:0}
.mdvb-page .mdvb-shape-top-triangle,.mdvb-page .mdvb-shape-bottom-triangle,.mdvb-page .mdvb-shape-top-tilt,.mdvb-page .mdvb-shape-bottom-tilt,.mdvb-page .mdvb-shape-top-wave,.mdvb-page .mdvb-shape-bottom-wave{isolation:isolate}
.mdvb-page .mdvb-shape-bottom-triangle:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:24px;clip-path:polygon(0 100%,50% 0,100% 100%);background:#fff;pointer-events:none}
.mdvb-page .mdvb-shape-top-triangle:before{content:'';position:absolute;top:-1px;left:0;width:100%;height:24px;clip-path:polygon(0 0,50% 100%,100% 0);background:#fff;pointer-events:none}
.mdvb-page .mdvb-shape-bottom-tilt:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:28px;clip-path:polygon(0 100%,100% 0,100% 100%);background:#fff;pointer-events:none}
.mdvb-page .mdvb-shape-top-tilt:before{content:'';position:absolute;top:-1px;left:0;width:100%;height:28px;clip-path:polygon(0 0,0 100%,100% 0);background:#fff;pointer-events:none}
.mdvb-page .mdvb-shape-bottom-wave:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:23px;background:#fff;border-radius:100% 100% 0 0;pointer-events:none}
.mdvb-page .mdvb-shape-top-wave:before{content:'';position:absolute;top:-1px;left:0;width:100%;height:23px;background:#fff;border-radius:0 0 100% 100%;pointer-events:none}
@keyframes mdvb-fade{from{opacity:0}to{opacity:1}}
@keyframes mdvb-slide{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.mdvb-page .mdvb-animate-fade{animation:mdvb-fade .6s ease both}
.mdvb-page .mdvb-animate-slide{animation:mdvb-slide .6s ease both}
@media(prefers-reduced-motion:reduce){.mdvb-page .mdvb-animate-fade,.mdvb-page .mdvb-animate-slide{animation:none!important}}
/* v0.7 frontend isolation and logical-direction refinements: never select theme nodes. */
.mdvb-page{direction:inherit;text-align:start}
.mdvb-page .mdvb-node:not(.mdvb-container){overflow-wrap:normal}
.mdvb-page .mdvb-heading{margin-block:0}
.mdvb-page .mdvb-text :first-child{margin-block-start:0}
.mdvb-page .mdvb-text :last-child{margin-block-end:0}
.mdvb-page .mdvb-tabs-list{direction:inherit}
.mdvb-page .mdvb-rating-stars{direction:ltr;unicode-bidi:isolate}
.mdvb-page .mdvb-rating-fill{left:0;right:auto;direction:ltr}
.mdvb-page .mdvb-button-link:focus-visible,.mdvb-page .mdvb-social a:focus-visible,.mdvb-page .mdvb-tabs-list button:focus-visible{outline:2px solid #ca2695;outline-offset:3px}
.mdvb-page[dir="rtl"] .mdvb-list ul{padding-inline-start:23px;padding-inline-end:0}
.mdvb-page[dir="ltr"] .mdvb-list ul{padding-inline-start:23px;padding-inline-end:0}
@media(prefers-reduced-motion:reduce){.mdvb-page .mdvb-button-link{transition:none}}

/* v0.18: native shortcodes use an unstyled HTML slot (not a MDVB node).
 * Do NOT target their children or override their CSS / JS behavior. */

/* v0.19: the parent Flexbox/Grid is allowed to size a shortcode slot, but
 * may not shrink it to max-content under align-items:start/center.
 * Styling is applied to the MDVB SLOT ONLY; never to shortcode HTML. */
.mdvb-page .mdvb-native-shortcode{display:block;width:100%;max-width:100%;min-width:0;align-self:stretch;flex-shrink:1;}

/* Responsive equal-column sizing is valid ONLY for horizontal Flexbox.
 * Desktop/tablet/mobile flags are generated by PHP from inherited device styles.
 * Scoped widget CSS emitted later can override flex-grow (e.g. 2:1 columns). */
@media(min-width:1025px){.mdvb-page .mdvb-flex-row-desktop > .mdvb-container{flex:1 1 0}}
@media(min-width:768px) and (max-width:1024px){.mdvb-page .mdvb-flex-row-tablet > .mdvb-container{flex:1 1 0}}
@media(max-width:767px){.mdvb-page .mdvb-flex-row-mobile > .mdvb-container{flex:1 1 0}}

/* v0.26: isolated media aspect presets and local vector icons. */
.mdvb-page .mdvb-video{max-width:100%;min-width:0}
.mdvb-page .mdvb-video .mdvb-video-frame{position:relative;width:100%;max-width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:10px;background:#101828;display:grid;place-items:center}
.mdvb-page .mdvb-video-portrait .mdvb-video-frame{aspect-ratio:9/16;max-width:min(100%,460px);margin-inline:auto}
.mdvb-page .mdvb-video-square .mdvb-video-frame{aspect-ratio:1;max-width:min(100%,760px);margin-inline:auto}
.mdvb-page .mdvb-video .mdvb-video-frame>iframe,.mdvb-page .mdvb-video .mdvb-video-frame>video{display:block;position:absolute;inset:0;width:100%!important;height:100%!important;max-width:100%;max-height:100%;border:0;aspect-ratio:unset;object-fit:contain}
.mdvb-page .mdvb-video .mdvb-video-empty{color:#fff;font-size:14px;text-align:center;padding:20px}
.mdvb-page .mdvb-vector-icon{display:inline-block;vertical-align:-.12em;width:1em;height:1em;fill:currentColor;overflow:visible;flex-shrink:0}
.mdvb-page .mdvb-price-card{background:#fff;color:#202434;padding:28px;border:1px solid #e9e9f1;border-radius:16px;box-shadow:0 6px 24px rgba(20,28,50,.055);height:100%;box-sizing:border-box}
.mdvb-page .mdvb-price-eyebrow{color:#af2181;letter-spacing:.06em;font-size:12px;font-weight:750;text-transform:uppercase}
.mdvb-page .mdvb-price-card h3{margin:8px 0 16px;color:inherit;font-size:26px;line-height:1.25}
.mdvb-page .mdvb-price-value{display:flex;align-items:baseline;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.mdvb-page .mdvb-price-value strong{font-size:40px;line-height:1.1;color:#222b48}
.mdvb-page .mdvb-price-value span{font-size:13px;color:#667085}
.mdvb-page .mdvb-price-card p{font-size:14px;color:#667085;line-height:1.7}
.mdvb-page .mdvb-price-card ul{padding-inline-start:20px;margin:20px 0 24px;color:#344054;line-height:2}
.mdvb-page .mdvb-price-action{display:inline-flex;text-decoration:none;background:#ad2084;color:#fff;border-radius:9px;font-weight:700;padding:11px 20px;justify-content:center}
.mdvb-page .mdvb-callout-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;padding:28px 32px;border-radius:16px;background:linear-gradient(120deg,#152844,#2d4667);color:#fff;box-sizing:border-box}
.mdvb-page .mdvb-callout-copy{flex:1 1 230px;min-width:0}
.mdvb-page .mdvb-callout-copy>span{font-size:12px;letter-spacing:.06em;opacity:.74;font-weight:700}
.mdvb-page .mdvb-callout-copy h3{font-size:25px;line-height:1.3;margin:8px 0;color:#fff}
.mdvb-page .mdvb-callout-copy p{line-height:1.7;margin:0;color:#ecf2fc}
.mdvb-page .mdvb-callout-action{display:inline-flex;background:#fff;color:#152844;padding:12px 20px;font-weight:750;text-decoration:none;border-radius:9px}

/* v0.26.2: multi-video layouts have stable intrinsic sizes; each poster is
   visible before any third-party YouTube/Vimeo iframe is requested. */
.mdvb-page .mdvb-video{min-width:0;box-sizing:border-box}
.mdvb-page .mdvb-video .mdvb-video-frame{box-sizing:border-box;min-width:0;isolation:isolate}
.mdvb-page .mdvb-video .mdvb-video-poster{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;
 background:radial-gradient(circle at 40% 35%,#273b57 0%,#101828 72%);color:#fff}
.mdvb-page .mdvb-video .mdvb-video-poster>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75}
.mdvb-page .mdvb-video .mdvb-video-provider{position:absolute;inset-block-start:12px;inset-inline-start:12px;z-index:1;
 padding:5px 9px;border-radius:6px;background:#000a;color:#fff;font-size:11px;font-weight:700}
.mdvb-page .mdvb-video .mdvb-video-play{position:relative;z-index:2;display:grid;place-items:center;
 width:66px;height:48px;padding:0;border:0;border-radius:13px;background:#e62117;color:#fff;
 font-size:24px;line-height:1;cursor:pointer;box-shadow:0 6px 24px #0008}
.mdvb-page .mdvb-video .mdvb-video-play:hover{background:#c51e16}
.mdvb-page .mdvb-video .mdvb-video-play:focus-visible{outline:3px solid #fff;outline-offset:3px}
.mdvb-page .mdvb-video .mdvb-video-open{position:absolute;inset-inline-end:12px;inset-block-end:10px;z-index:2;
 font-size:11px;line-height:1.4;color:#fff!important;text-decoration:underline!important;text-underline-offset:2px}
/* Give free-standing video widgets a useful flex basis; explicit element
   widths/grow settings from the scoped page styles continue to take priority. */
.mdvb-page .mdvb-container:not(.mdvb-grid-layout) > .mdvb-video{flex:1 1 min(100%,220px)}

/* v0.26.3: Elementor-like selectable video ratios and non-invasive video filters. */
.mdvb-page .mdvb-video .mdvb-video-frame{aspect-ratio:var(--mdvb-video-ratio,16/9)}
.mdvb-page .mdvb-video .mdvb-video-frame>iframe,
.mdvb-page .mdvb-video .mdvb-video-frame>video,
.mdvb-page .mdvb-video .mdvb-video-poster>img{filter:var(--mdvb-video-filter,none)}
.mdvb-page .mdvb-video-3-2 .mdvb-video-frame,
.mdvb-page .mdvb-video-4-3 .mdvb-video-frame,
.mdvb-page .mdvb-video-21-9 .mdvb-video-frame{max-width:100%;margin-inline:auto}

/* v0.28: nested icon/heading/button subparts.  No selectors target shortcode content. */
.mdvb-page .mdvb-icon-glyph{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;box-sizing:border-box;vertical-align:middle;line-height:1;
 font-size:var(--mdvb-icon-size,1em);color:var(--mdvb-icon-color,currentColor);
 padding:var(--mdvb-icon-pad,0px);border:var(--mdvb-icon-border-width,0px) solid var(--mdvb-icon-border-color,transparent);
 border-radius:var(--mdvb-icon-shape-radius,0px);background:var(--mdvb-icon-shape-bg,transparent)}
.mdvb-page .mdvb-icon-glyph>.mdvb-vector-icon{width:1em;height:1em;display:block;flex-shrink:0;fill:currentColor}
.mdvb-page .mdvb-icon-inline,.mdvb-page .mdvb-button .mdvb-button-link{display:inline-flex;align-items:center;justify-content:center;gap:var(--mdvb-icon-gap,9px);flex-direction:var(--mdvb-inline-direction,row);max-width:100%}
.mdvb-page .mdvb-heading .mdvb-icon-inline{justify-content:inherit;vertical-align:middle;flex-wrap:wrap}
.mdvb-page .mdvb-heading .mdvb-icon-inline>.mdvb-heading-text{min-width:0}
.mdvb-page .mdvb-button .mdvb-button-link{color:var(--mdvb-btn-color,#fff);background:var(--mdvb-btn-bg,#7655e8);
 padding:var(--mdvb-btn-pad-y,12px) var(--mdvb-btn-pad-x,24px);border-radius:var(--mdvb-btn-radius,7px);line-height:1.5}
.mdvb-page .mdvb-button .mdvb-button-link:hover{color:var(--mdvb-btn-hover-color,var(--mdvb-btn-color,#fff));background:var(--mdvb-btn-hover-bg,var(--mdvb-btn-bg,#7655e8))}
.mdvb-page .mdvb-map-frame{height:var(--mdvb-map-height,380px);min-height:120px;width:100%;max-width:100%;overflow:hidden;border-radius:inherit;background:#edf2f5}
.mdvb-page .mdvb-map-frame iframe{display:block;width:100%;height:100%;border:0;max-width:100%}

/* v0.28: real sub-element image / divider / progress controls. */
.mdvb-page .mdvb-image img{aspect-ratio:var(--mdvb-image-aspect,auto);object-fit:var(--mdvb-image-fit,contain);border-radius:var(--mdvb-image-radius,0px);border:var(--mdvb-image-border-width,0px) solid var(--mdvb-image-border-color,transparent);box-sizing:border-box}
.mdvb-page .mdvb-image:has([src]){min-width:0}
.mdvb-page .mdvb-divider hr{border:0;border-top:var(--mdvb-divider-thickness,1px) var(--mdvb-divider-style,solid) var(--mdvb-divider-color,#ccd0d4);width:var(--mdvb-divider-width,100%);max-width:100%;margin-inline:auto}
.mdvb-page .mdvb-progress-track{height:var(--mdvb-progress-height,13px);background:var(--mdvb-progress-track-color,#eeebf9)}
.mdvb-page .mdvb-progress-track>span{background:var(--mdvb-progress-color,#7455e8);height:100%}

/* v0.28: physical icon left/right, independent from site RTL/LTR. */
.mdvb-page:dir(rtl){--mdvb-flow-to-right:row;--mdvb-flow-to-left:row-reverse}
.mdvb-page:dir(ltr){--mdvb-flow-to-right:row-reverse;--mdvb-flow-to-left:row}

/* v0.28.1: separate layout-shadow from the actual widget surface.
   Crucially, no rule targets third-party shortcode output. */
.mdvb-page .mdvb-button>.mdvb-button-link,
.mdvb-page .mdvb-button>.mdvb-view-content>.mdvb-button-link{box-shadow:var(--mdvb-surface-shadow,none)}
.mdvb-page .mdvb-icon>.mdvb-icon-glyph,
.mdvb-page .mdvb-icon>.mdvb-view-content>.mdvb-icon-glyph{box-shadow:var(--mdvb-surface-shadow,none);filter:drop-shadow(var(--mdvb-naked-shadow,0 0 0 transparent))}
.mdvb-page .mdvb-image>img,.mdvb-page .mdvb-image>.mdvb-view-content>img{box-shadow:var(--mdvb-surface-shadow,none)}
.mdvb-page .mdvb-imageBox>img,.mdvb-page .mdvb-imageBox>.mdvb-view-content>img{box-shadow:var(--mdvb-surface-shadow,none)}
.mdvb-page .mdvb-pricing .mdvb-price-card{box-shadow:var(--mdvb-surface-shadow,0 6px 24px rgba(20,28,50,.055))}
.mdvb-page .mdvb-callout .mdvb-callout-inner{box-shadow:var(--mdvb-surface-shadow,none)}
.mdvb-page .mdvb-map .mdvb-map-frame,.mdvb-page .mdvb-progress .mdvb-progress-track,.mdvb-page .mdvb-divider hr{box-shadow:var(--mdvb-surface-shadow,none)}
.mdvb-page .mdvb-heading-text,.mdvb-page .mdvb-button-text,.mdvb-page .mdvb-feature-copy,
.mdvb-page .mdvb-imageBox>.mdvb-view-content,.mdvb-page .mdvb-imageBox>h3,
.mdvb-page .mdvb-pricing .mdvb-price-card,.mdvb-page .mdvb-callout .mdvb-callout-copy{text-shadow:var(--mdvb-text-shadow,inherit)}
.mdvb-page .mdvb-icon-glyph{box-shadow:var(--mdvb-icon-shadow,none)}
.mdvb-page .mdvb-icon .mdvb-icon-glyph{box-shadow:var(--mdvb-icon-shadow,var(--mdvb-surface-shadow,none))}
.mdvb-page .mdvb-icon-glyph:hover{color:var(--mdvb-icon-hover-color,var(--mdvb-icon-color,currentColor));background:var(--mdvb-icon-hover-bg,var(--mdvb-icon-shape-bg,transparent))}
.mdvb-page .mdvb-icon .mdvb-icon-glyph:hover{filter:drop-shadow(var(--mdvb-naked-shadow,0 0 0 transparent))}

/* v0.28.1: the button outline is painted on the actual anchor, not its grid slot. */
.mdvb-page .mdvb-button .mdvb-button-link{border:var(--mdvb-btn-border-width,0px) var(--mdvb-btn-border-style,solid) var(--mdvb-btn-border-color,transparent);box-sizing:border-box;transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}
.mdvb-page .mdvb-button .mdvb-button-link:hover{border-color:var(--mdvb-btn-hover-border-color,var(--mdvb-btn-border-color,transparent))}


/* v0.28.2: dedicated Elementor-style icon widget display. Legacy layouts with no
   data-mdvb-icon-view keep their exact saved CSS behavior. */
.mdvb-page .mdvb-icon[data-mdvb-icon-view]{text-align:center}
.mdvb-page .mdvb-icon[data-mdvb-icon-view] .mdvb-icon-glyph{
 --mdvb-icon-primary-default:#16a9f3;
 transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease,filter .2s ease;
 transform:rotate(var(--mdvb-icon-rotation,0deg));
 border-radius:var(--mdvb-icon-corner-radius,var(--mdvb-icon-shape-radius,0px));
}
.mdvb-page .mdvb-icon[data-mdvb-icon-view="default"] .mdvb-icon-glyph{
 color:var(--mdvb-icon-primary,var(--mdvb-icon-color,#16a9f3));
 background:transparent;border:0;padding:0;border-radius:0;
}
.mdvb-page .mdvb-icon[data-mdvb-icon-view="stacked"] .mdvb-icon-glyph{
 color:var(--mdvb-icon-secondary,#fff);
 background:var(--mdvb-icon-primary,var(--mdvb-icon-bg,#16a9f3));
 border:var(--mdvb-icon-border-width,0px) solid var(--mdvb-icon-border-color,transparent);
 padding:var(--mdvb-icon-pad,16px);
}
.mdvb-page .mdvb-icon[data-mdvb-icon-view="framed"] .mdvb-icon-glyph{
 color:var(--mdvb-icon-primary,var(--mdvb-icon-color,#16a9f3));
 background:var(--mdvb-icon-secondary,transparent);
 border:var(--mdvb-icon-border-width,3px) solid var(--mdvb-icon-border-color,var(--mdvb-icon-primary,#16a9f3));
 padding:var(--mdvb-icon-pad,14px);
}
.mdvb-page .mdvb-icon[data-mdvb-icon-shape="circle"] .mdvb-icon-glyph{border-radius:50%}
.mdvb-page .mdvb-icon[data-mdvb-icon-shape="square"] .mdvb-icon-glyph{border-radius:var(--mdvb-icon-corner-radius,var(--mdvb-icon-radius,0px))}
.mdvb-page .mdvb-icon .mdvb-icon-link{display:inline-flex;text-decoration:none;color:inherit;line-height:1;vertical-align:middle}
.mdvb-page .mdvb-icon[data-mdvb-icon-view]:hover .mdvb-icon-glyph{
 color:var(--mdvb-icon-hover-primary,var(--mdvb-icon-hover-color,var(--mdvb-icon-primary,var(--mdvb-icon-color,currentColor))));
 background:var(--mdvb-icon-hover-secondary,var(--mdvb-icon-hover-bg,var(--mdvb-icon-secondary,var(--mdvb-icon-shape-bg,transparent))));
}
.mdvb-page .mdvb-icon[data-mdvb-icon-view="stacked"]:hover .mdvb-icon-glyph{
 background:var(--mdvb-icon-hover-primary,var(--mdvb-icon-hover-color,var(--mdvb-icon-primary,var(--mdvb-icon-bg,#16a9f3))));
 color:var(--mdvb-icon-hover-secondary,var(--mdvb-icon-hover-bg,var(--mdvb-icon-secondary,#fff)));
}
.mdvb-page .mdvb-icon[data-mdvb-icon-view="framed"]:hover .mdvb-icon-glyph{
 border-color:var(--mdvb-icon-hover-primary,var(--mdvb-icon-primary,#16a9f3));
}
.mdvb-page .mdvb-icon[data-mdvb-icon-view][data-mdvb-icon-hover="grow"]:hover .mdvb-icon-glyph{transform:rotate(var(--mdvb-icon-rotation,0deg)) scale(1.13)}
.mdvb-page .mdvb-icon[data-mdvb-icon-view][data-mdvb-icon-hover="shrink"]:hover .mdvb-icon-glyph{transform:rotate(var(--mdvb-icon-rotation,0deg)) scale(.88)}
.mdvb-page .mdvb-icon[data-mdvb-icon-view][data-mdvb-icon-hover="rotate"]:hover .mdvb-icon-glyph{transform:rotate(calc(var(--mdvb-icon-rotation,0deg) + 18deg))}
.mdvb-page .mdvb-icon[data-mdvb-icon-view][data-mdvb-icon-hover="pulse"]:hover .mdvb-icon-glyph{animation:mdvb-icon-pulse .65s ease-in-out infinite alternate}
@keyframes mdvb-icon-pulse{from{transform:rotate(var(--mdvb-icon-rotation,0deg)) scale(1)}to{transform:rotate(var(--mdvb-icon-rotation,0deg)) scale(1.1)}}

/* Legacy icon layouts remain unchanged until styled; the new primary/secondary colors still work without migration. */
.mdvb-page .mdvb-icon:not([data-mdvb-icon-view]) .mdvb-icon-glyph{color:var(--mdvb-icon-primary,var(--mdvb-icon-color,currentColor));background:var(--mdvb-icon-secondary,var(--mdvb-icon-shape-bg,transparent))}
.mdvb-page .mdvb-icon:not([data-mdvb-icon-view]):hover .mdvb-icon-glyph{color:var(--mdvb-icon-hover-primary,var(--mdvb-icon-hover-color,var(--mdvb-icon-primary,var(--mdvb-icon-color,currentColor))));background:var(--mdvb-icon-hover-secondary,var(--mdvb-icon-hover-bg,var(--mdvb-icon-secondary,var(--mdvb-icon-shape-bg,transparent))))}

/* v0.28.3: link widgets remain visually identical when a destination is configured. */
.mdvb-page .mdvb-heading .mdvb-heading-link{color:inherit;text-decoration:none}
.mdvb-page .mdvb-image .mdvb-image-link{display:inline-block;max-width:100%;vertical-align:middle}
.mdvb-page .mdvb-image .mdvb-image-link img{display:block}
.mdvb-page .mdvb-heading .mdvb-heading-link:focus-visible,.mdvb-page .mdvb-image .mdvb-image-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* v0.28.6: icon-only focus parity; scoped to MDVB-owned icon widgets. */
.mdvb-page .mdvb-icon:focus-within .mdvb-icon-glyph{transition:color .2s ease,background-color .2s ease,border-color .2s ease}
.mdvb-page .mdvb-icon .mdvb-icon-glyph>.mdvb-vector-icon{fill:currentColor}

/* Elementor-like default icon mode never creates a background on hover.
   The stacked/framed modes handle their own background paint separately. */
.mdvb-page .mdvb-icon[data-mdvb-icon-view="default"]:is(:hover,:focus-within) .mdvb-icon-glyph{background-color:transparent!important}

/* v0.28.8 — Never substitute an unrelated map when a short link is unresolved. */
.mdvb-page .mdvb-map-link-pending{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;min-height:150px;padding:20px;box-sizing:border-box;color:#3a4c63;font-size:14px}
.mdvb-page .mdvb-map-link-pending a{color:#1769b1;text-decoration:underline}
.mdvb-page .mdvb-map-link-pending p{font-size:12px;margin:0}

/* v0.31.0 — enhanced native widgets; everything scoped to MDVB */
.mdvb-page .mdvb-button{text-align:start}
.mdvb-page .mdvb-button .mdvb-button-link{max-width:100%;vertical-align:middle;justify-content:center;box-sizing:border-box}
.mdvb-page .mdvb-spacer{min-height:0;height:30px}
.mdvb-page .mdvb-divider-pattern{display:flex;justify-content:center;align-items:center;max-width:100%;height:max(4px,var(--mdvb-d-size));margin-inline:auto;overflow:hidden;color:var(--mdvb-divider-color,#7455e8);border:0;line-height:1}
.mdvb-page .mdvb-divider-pattern::before{content:"";height:var(--mdvb-divider-thickness,2px);background:currentColor;flex:1}
.mdvb-page .mdvb-d-double::before{height:7px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;background:none}
.mdvb-page .mdvb-d-dashed::before{background:repeating-linear-gradient(90deg,currentColor 0 14px,transparent 14px calc(14px + var(--mdvb-d-gap)))}
.mdvb-page .mdvb-d-dotted::before,.mdvb-page .mdvb-d-dots::before,.mdvb-page .mdvb-d-dots-large::before,.mdvb-page .mdvb-d-dots-dense::before{height:var(--mdvb-d-size);background:radial-gradient(circle closest-side,currentColor 93%,transparent 100%) left center/calc(var(--mdvb-d-size) + var(--mdvb-d-gap)) var(--mdvb-d-size) repeat-x}
.mdvb-page .mdvb-d-dots-dense::before{background-size:calc(var(--mdvb-d-size) + 2px) var(--mdvb-d-size)}
.mdvb-page .mdvb-d-dots-large::before{height:calc(var(--mdvb-d-size) * 1.6);background-size:calc(var(--mdvb-d-size) * 1.6 + var(--mdvb-d-gap)) calc(var(--mdvb-d-size) * 1.6)}
.mdvb-page .mdvb-d-bars::before,.mdvb-page .mdvb-d-bars-wide::before{height:calc(var(--mdvb-d-size) * 2);background:repeating-linear-gradient(90deg,currentColor 0 var(--mdvb-d-size),transparent var(--mdvb-d-size) calc(var(--mdvb-d-size) + var(--mdvb-d-gap)))}
.mdvb-page .mdvb-d-bars-wide::before{background:repeating-linear-gradient(90deg,currentColor 0 2px,transparent 2px calc(var(--mdvb-d-size) + var(--mdvb-d-gap)))}
.mdvb-page .mdvb-d-bars-tilt::before,.mdvb-page .mdvb-d-slashes::before{height:calc(var(--mdvb-d-size)*2);background:repeating-linear-gradient(65deg,transparent 0 var(--mdvb-d-gap),currentColor var(--mdvb-d-gap) calc(var(--mdvb-d-gap) + 2px),transparent calc(var(--mdvb-d-gap) + 2px) calc(var(--mdvb-d-gap)*2 + 2px))}
.mdvb-page .mdvb-d-backslashes::before{height:calc(var(--mdvb-d-size)*2);background:repeating-linear-gradient(-65deg,transparent 0 var(--mdvb-d-gap),currentColor var(--mdvb-d-gap) calc(var(--mdvb-d-gap) + 2px),transparent calc(var(--mdvb-d-gap) + 2px) calc(var(--mdvb-d-gap)*2 + 2px))}
.mdvb-page .mdvb-d-zigzag::before{height:14px;background:linear-gradient(135deg,transparent 45%,currentColor 50%,transparent 55%) 0 0/20px 100% repeat-x,linear-gradient(45deg,transparent 45%,currentColor 50%,transparent 55%) 10px 0/20px 100% repeat-x}
.mdvb-page .mdvb-d-wave::before,.mdvb-page .mdvb-d-wave-double::before{height:18px;background:radial-gradient(ellipse at 50% 100%,transparent 65%,currentColor 70%,transparent 78%) 0 -8px/22px 18px repeat-x}
.mdvb-page .mdvb-d-wave-double::before{background:radial-gradient(ellipse at 50% 100%,transparent 65%,currentColor 70%,transparent 78%) 0 -8px/22px 18px repeat-x,radial-gradient(ellipse at 50% 100%,transparent 65%,currentColor 70%,transparent 78%) 0 2px/22px 18px repeat-x}
.mdvb-page .mdvb-d-gradient::before{height:var(--mdvb-d-size);background:linear-gradient(90deg,transparent,currentColor,transparent)}
.mdvb-page .mdvb-divider-pattern:has(span)::before{display:none}
.mdvb-page .mdvb-divider-pattern span{display:block;white-space:nowrap;overflow:hidden;font-size:var(--mdvb-d-size);line-height:1.5;letter-spacing:var(--mdvb-d-gap);width:100%;text-align:center}
.mdvb-page .mdvb-feature-icon .mdvb-icon-glyph{display:inline-flex;justify-content:center;align-items:center}
.mdvb-page .mdvb-box-action{display:inline-flex;margin-top:15px}
.mdvb-page .mdvb-list-decimal ol{list-style:decimal}.mdvb-page .mdvb-list-lower-alpha ol{list-style:lower-alpha}.mdvb-page .mdvb-list-upper-alpha ol{list-style:upper-alpha}
.mdvb-page .mdvb-list-square ul{list-style:square}.mdvb-page .mdvb-list-none ul,.mdvb-page .mdvb-list-icon ul,.mdvb-page .mdvb-list-check ul,.mdvb-page .mdvb-list-dash ul{list-style:none;padding-inline-start:0}
.mdvb-page .mdvb-list-check li::before{content:"✓ ";color:#24a68a}.mdvb-page .mdvb-list-dash li::before{content:"— "}
.mdvb-page .mdvb-list .mdvb-li-icon{display:inline-flex;margin-inline-end:8px;vertical-align:middle}
.mdvb-page .mdvb-accordion-item summary .mdvb-icon-glyph,.mdvb-page .mdvb-tabs-list button .mdvb-icon-glyph{display:inline-flex;vertical-align:middle;margin-inline-end:8px}
.mdvb-page .mdvb-testimonial-card{padding-block:9px}.mdvb-page .mdvb-testimonial-card+.mdvb-testimonial-card{border-top:1px solid #ededf2;margin-top:18px;padding-top:22px}
.mdvb-page .mdvb-testimonial-stars{color:#f5a623;letter-spacing:3px;margin-bottom:9px}
.mdvb-page .mdvb-progress-entry+.mdvb-progress-entry{margin-top:22px}
.mdvb-page .mdvb-counter-entry{display:inline-flex;flex-flow:column;align-items:center;min-width:135px;margin:8px 12px 8px 0}
.mdvb-page .mdvb-tabs-pill .mdvb-tabs-list{border:0;gap:6px}.mdvb-page .mdvb-tabs-pill .mdvb-tabs-list button{border:0;border-radius:25px;background:#f3f4f9}.mdvb-page .mdvb-tabs-pill .mdvb-tabs-list button[aria-selected=true]{color:#fff;background:#7455e8}
.mdvb-page .mdvb-tabs-boxed .mdvb-tabs-list button{border:1px solid #ddd; border-radius:8px 8px 0 0}.mdvb-page .mdvb-tabs-boxed .mdvb-tabs-list button[aria-selected=true]{background:#f4f0ff}
.mdvb-page .mdvb-social a{display:inline-flex;align-items:center;gap:8px}.mdvb-page .mdvb-social-round a{border-radius:50%;width:44px;height:44px;justify-content:center;padding:8px}.mdvb-page .mdvb-social-square a{border-radius:3px}.mdvb-page .mdvb-social-minimal a{border:0;background:transparent}.mdvb-page .mdvb-social-outline a{border-radius:4px;border-width:2px}
.mdvb-page .mdvb-video-shape-circle .mdvb-video-frame{clip-path:circle(50% at 50% 50%);aspect-ratio:1!important}
.mdvb-page .mdvb-video-shape-ellipse .mdvb-video-frame{clip-path:ellipse(50% 48% at 50% 50%)}
.mdvb-page .mdvb-video-shape-triangle .mdvb-video-frame{clip-path:polygon(50% 0,100% 100%,0 100%)}
.mdvb-page .mdvb-video-shape-diamond .mdvb-video-frame{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.mdvb-page .mdvb-video-shape-hexagon .mdvb-video-frame{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}
.mdvb-page .mdvb-video-shape-star .mdvb-video-frame{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);aspect-ratio:1!important}
.mdvb-page .mdvb-video-shape-heart .mdvb-video-frame{clip-path:polygon(50% 91%,8% 53%,0 29%,8% 12%,27% 7%,50% 25%,73% 7%,92% 12%,100% 29%,92% 53%);aspect-ratio:1!important}
.mdvb-page .mdvb-video-shape-rounded .mdvb-video-frame{border-radius:35px}

.mdvb-page .mdvb-pricing .mdvb-price-card{position:relative;transition:transform .2s ease,box-shadow .2s ease}
.mdvb-page .mdvb-pricing .mdvb-price-card:hover{transform:translateY(-3px)}
.mdvb-page .mdvb-rating-stars{user-select:none}.mdvb-page .mdvb-rating-stars .mdvb-rating-fill{background:linear-gradient(120deg,#f4b93e,#f48e25);background-clip:text;-webkit-background-clip:text;color:transparent}

.mdvb-page .mdvb-button[data-mdvb-button-align="start"]{text-align:start}
.mdvb-page .mdvb-button[data-mdvb-button-align="center"]{text-align:center}
.mdvb-page .mdvb-button[data-mdvb-button-align="end"]{text-align:end}
.mdvb-page .mdvb-box-action{color:var(--mdvb-btn-color,#fff);background:var(--mdvb-btn-bg,#7655e8);padding:var(--mdvb-btn-pad-y,12px) var(--mdvb-btn-pad-x,24px);border-radius:var(--mdvb-btn-radius,7px);border:var(--mdvb-btn-border-width,0px) var(--mdvb-btn-border-style,solid) var(--mdvb-btn-border-color,transparent)}
.mdvb-page .mdvb-box-action:hover{background:var(--mdvb-btn-hover-bg,var(--mdvb-btn-bg,#7655e8));color:var(--mdvb-btn-hover-color,var(--mdvb-btn-color,#fff))}


/* MDVB Pro container tabs: the tab contents are real native containers. */
.mdvb-page .mdvb-pro-tabs>.mdvb-tabs-list,.mdvb-pro-tabs-preview>.mdvb-tabs-list{gap:var(--mdvb-tabs-gap,8px);border-bottom:0;justify-content:flex-start}
.mdvb-page .mdvb-pro-tabs[data-tabs-align="center"]>.mdvb-tabs-list{justify-content:center}
.mdvb-page .mdvb-pro-tabs[data-tabs-align="end"]>.mdvb-tabs-list{justify-content:flex-end}
.mdvb-page .mdvb-pro-tabs>.mdvb-tabs-list button,.mdvb-pro-tabs-preview>.mdvb-tabs-list button{color:var(--mdvb-tabs-text,#28324a);background:var(--mdvb-tabs-bg,#edf0f5);border:1px solid transparent;border-radius:var(--mdvb-tabs-radius,18px);padding:10px 18px;transition:background .15s,color .15s}
.mdvb-page .mdvb-pro-tabs>.mdvb-tabs-list button[aria-selected="true"],.mdvb-pro-tabs-preview>.mdvb-tabs-list button[aria-selected="true"]{color:#fff;background:var(--mdvb-tabs-active,#7455e8)}
.mdvb-page .mdvb-pro-tabs>.mdvb-tabs-panels,.mdvb-pro-tabs-preview>.mdvb-tabs-panels{padding:16px 0;white-space:normal}
.mdvb-page .mdvb-pro-tabs>.mdvb-tabs-panels>.mdvb-node{padding:0}
.mdvb-page .mdvb-box-button-wrap{display:flex;justify-content:flex-start}
.mdvb-page .mdvb-box-button-wrap[data-mdvb-button-align="center"]{justify-content:center}
.mdvb-page .mdvb-box-button-wrap[data-mdvb-button-align="end"]{justify-content:flex-end}
.mdvb-page .mdvb-box-button-wrap .mdvb-box-action{margin-top:16px;justify-content:center;gap:8px;max-width:100%}

.mdvb-page .mdvb-price-card.mdvb-price-featured{border-color:var(--mdvb-btn-bg,#7455e8);box-shadow:0 10px 36px #4737a51c}
.mdvb-page .mdvb-price-card .mdvb-price-old{font-size:.55em;opacity:.55;margin-inline-end:8px;vertical-align:middle}
.mdvb-page .mdvb-price-note{margin:0 0 12px;font-size:.85em;opacity:.7}
.mdvb-page .mdvb-price-card li{display:flex;align-items:center;gap:9px}
.mdvb-page .mdvb-price-card li .mdvb-icon-glyph{display:inline-flex;color:var(--mdvb-btn-bg,#7455e8)}

.mdvb-pro-tabs-preview[data-tabs-align="center"]>.mdvb-tabs-list{justify-content:center}
.mdvb-pro-tabs-preview[data-tabs-align="end"]>.mdvb-tabs-list{justify-content:flex-end}

.mdvb-page .mdvb-testimonial-extra-icon{display:inline-flex;vertical-align:middle;margin-inline-end:9px}

/* v0.33.9: do not turn configured builder colors into theme defaults.
   Values live on the button anchor; these scoped declarations cannot affect theme buttons. */
.mdvb-page .mdvb-node.mdvb-button .mdvb-button-link{
  background-color:var(--mdvb-btn-bg,#7655e8);
  color:var(--mdvb-btn-color,#fff);
}
.mdvb-page .mdvb-node.mdvb-button .mdvb-button-link:hover{
  background-color:var(--mdvb-btn-hover-bg,var(--mdvb-btn-bg,#7655e8));
  color:var(--mdvb-btn-hover-color,var(--mdvb-btn-color,#fff));
}
