/**/@media(max-width:767px){body.dmRoot div[dmtemplateid]:not([dmtemplateid=SlideRightTopFloatM]) .dmHeader .multilingualWidget{position:absolute;top:14px;left:13px;margin-top:0}body.dmRoot div[dmtemplateid][dmtemplateid=SlideRightTopFloatM] .dmHeader .multilingualWidget{position:absolute;top:5px;right:17px}
}@media(min-width:768px) and (max-width:1024px){body:not(.responsiveTablet) #dm div[dmtemplateid=StandardLayoutMultiT] .dmHeader .multilingualWidget{position:absolute!important;top:5px!important;right:17px!important;left:initial!important}
}@media(max-width:767px){body.dmRoot .dmHeader .displayHidden-inner .multilingualWidget{top:0!important}}#dm_content div.dmRespCol div.multilingualWidget,#hcontainer div.dmRespCol div.multilingualWidget{width:auto!important;display:table!important}
.multilingualWidget.displayNone{display:none!important}.multilingualWidget>div{position:relative}.multilingualWidget{clear:both;margin:0;vertical-align:top;display:table!important;font-size:0;font-family:sans-serif}
.multilingualWidget .language{color:#888;display:inline-block}.multilingualWidget .language a{text-align:center;display:inline-block;color:inherit;border:#dadada 1px solid;background-color:#fff}.multilingualWidget .language a img{width:24px;height:26px;min-width:24px;min-height:26px}
.multilingualWidget .language a span{display:none;line-height:initial}.multilingualWidget .language a span.name{margin-top:5px;margin-left:7px;font-size:12px;font-weight:400;text-transform:capitalize}
.multilingualWidget .language a span.short-label{font-size:12px}.multilingualWidget .language a:after{line-height:initial}.multilingualWidget.open .current-language a:after{transform:rotate(-180deg)}.multilingualWidget .current-language a:after{transition:transform .2s}
.multilingualWidget.dropdown .language{width:100%}.multilingualWidget.dropdown .language a{display:block;padding:1px 5px}.multilingualWidget.dropdown .language.other-languages{position:absolute;z-index:800;max-height:0;overflow:hidden;transition:max-height .1s ease-in-out}
.multilingualWidget.dropdown .language.other-languages a{border-top:0!important}.multilingualWidget.dropdown .current-language{position:relative}.multilingualWidget.dropdown .current-language span.name{padding-right:25px}
.multilingualWidget.dropdown .dm-icon{font-size:9px;display:inline-block;position:absolute;top:46%;transform:translateY(-50%);transition:transform .2s;right:8px}.multilingualWidget.dropdown.open .dm-icon{transform:rotate(-180deg) translateY(50%)}
.multilingualWidget.dropdown.open .other-languages{display:block;max-height:300px}.multilingualWidget.dropdown .other-languages,.multilingualWidget.dropdown.flag-only .dm-icon,.multilingualWidget.inline span,.multilingualWidget.no-flag a img{display:none}
.multilingualWidget.dropdown.flag-only a{border:transparent 1px solid;background-color:transparent}.multilingualWidget.dropdown.flag-only.open .language a{background-color:rgba(0,0,0,.3);border:#dadada 1px solid}
.multilingualWidget.dropdown.long-label a{text-align:left;padding:2px 0 2px 5px;position:relative;box-sizing:border-box}.multilingualWidget.dropdown.long-label a span.name,.multilingualWidget.inline.flag-only .language,.multilingualWidget.inline.short-label.no-flag span.short-label{display:inline-block}
.multilingualWidget.dropdown.long-label.no-flag a{padding:7px 10px 9px}.multilingualWidget.dropdown.long-label.no-flag a span.name,.multilingualWidget.dropdown.short-label.no-flag a span.short-label{margin:0;display:inline-block}
.multilingualWidget.dropdown.short-label.no-flag a{padding:8px 22px 9px 10px;font-size:12px;min-height:32px;height:auto;box-sizing:border-box}.multilingualWidget.dropdown.short-label.no-flag .current-language a:after{top:12px}
.multilingualWidget.short-label span.short-label{text-transform:uppercase}.multilingualWidget.inline.flag-only a{padding:2px 5px;height:32px;box-sizing:border-box}.multilingualWidget.inline.flag-only .current-language a{box-shadow:inset 0 0 8px 0 rgba(0,0,0,.6);border-right:0;border-right-width:0!important;border-right-color:transparent!important;border-right-style:none!important}
.multilingualWidget.inline.flag-only .other-languages a:not(:last-child){border-right-width:0!important;border-right-color:transparent!important;border-right-style:none!important}.multilingualWidget.inline.flag-only .dm-icon,.multilingualWidget.inline.short-label.no-flag .dm-icon{display:none}
.multilingualWidget.inline.short-label.no-flag .current-language a{padding-right:0;border-right-width:0!important;border-right-color:transparent!important;border-right-style:none!important}.multilingualWidget.inline.short-label.no-flag .current-language a span.short-label{font-weight:700}
.multilingualWidget.inline.short-label.no-flag .other-languages a{border-left-color:transparent!important;border-left-width:0!important;border-left-style:none!important}.multilingualWidget.inline.short-label.no-flag .other-languages a:not(:last-child){padding-right:0;border-right-color:transparent!important;border-right-width:0!important;border-right-style:none!important}
.multilingualWidget.inline.short-label.no-flag a{position:relative;padding:8px 10px;font-size:12px;min-height:32px;height:auto;text-decoration:none}.multilingualWidget.inline.short-label.no-flag a:after{content:"/";position:absolute;top:8px;right:-7px;z-index:1;pointer-events:none}
.multilingualWidget.inline.short-label.no-flag a:hover .short-label{text-decoration:underline}.multilingualWidget.inline.short-label.no-flag .other-languages a:last-child:after{content:""}/**/.imageWidget{position:relative}.imageWidget a,.imageWidget span.image-caption{font-style:italic;text-align:center}.imageWidget a[data-caption]::after,.imageWidget span[data-caption]::after{content:attr(data-caption);display:block;line-height:100%}
.imageWidget.with-caption a::after,.imageWidget.with-caption span.image-caption::after{margin-top:12px}.imageWidget img[width][height]{height:auto}[data-flex-site] #fcontainer .imageWidget:after,[data-flex-site] #flex-footer .imageWidget:after,[data-flex-site] #flex-header .imageWidget:after{content:none}
[data-flex-site] #fcontainer .imageWidget:before,[data-flex-site] #flex-footer .imageWidget:before,[data-flex-site] #flex-header .imageWidget:before{font-size:80px;transform:none}.imageWidget.hover img.hover-image,.imageWidget:hover img.hover-image{display:initial}
.imageWidget.hover.hasHover img:not(.hover-image),.imageWidget:hover.hasHover img:not(.hover-image){display:none!important}.imageWidget img.hover-image,.imageWidget img.logo-on-scroll{display:none}/**/.dmNewParagraph[data-version] .text-align-left{text-align:left!important}.dmNewParagraph[data-version] .text-align-center{text-align:center!important}.dmNewParagraph[data-version] .text-align-right{text-align:right!important}
.dmNewParagraph[data-version] .text-align-justify{text-align:justify!important}.dmNewParagraph[data-version] .ql-indent-1{padding:0 1em;padding-inline-end:0;padding-inline-start:3em}.dmNewParagraph[data-version] .ql-indent-2{padding:0 2em;padding-inline-end:0;padding-inline-start:6em}
.dmNewParagraph[data-version] .ql-indent-3{padding:0 3em;padding-inline-end:0;padding-inline-start:9em}.dmNewParagraph[data-version] .ql-indent-4{padding:0 4em;padding-inline-end:0;padding-inline-start:12em}
.dmNewParagraph[data-version] .ql-indent-5{padding:0 5em;padding-inline-end:0;padding-inline-start:15em}.dmNewParagraph[data-version] .ql-indent-6{padding:0 6em;padding-inline-end:0;padding-inline-start:18em}
.dmNewParagraph[data-version] .ql-indent-7{padding:0 7em;padding-inline-end:0;padding-inline-start:21em}.dmNewParagraph[data-version] .ql-indent-8{padding:0 8em;padding-inline-end:0;padding-inline-start:24em}
.dmNewParagraph[data-version] .ql-indent-9{padding:0 9em;padding-inline-end:0;padding-inline-start:27em}.dmNewParagraph[data-version]{line-height:initial}.dmNewParagraph[data-version] [class*=size-]{width:auto!important;height:auto!important}
.dmNewParagraph[data-version] h1,.dmNewParagraph[data-version] h2,.dmNewParagraph[data-version] h3,.dmNewParagraph[data-version] h4,.dmNewParagraph[data-version] h5,.dmNewParagraph[data-version] h6,.dmNewParagraph[data-version] ol,.dmNewParagraph[data-version] p,.dmNewParagraph[data-version] ul{margin-top:0;margin-bottom:0}
.dmNewParagraph[data-version] ol,.dmNewParagraph[data-version] ul{padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.dmNewParagraph[data-version] ol>li,.dmNewParagraph[data-version] ul>li{list-style-type:none;text-indent:-1.5em;margin:0 1em;margin-inline-end:0;margin-inline-start:2em}
.dmNewParagraph[data-version] ol>li:before,.dmNewParagraph[data-version] ul>li:before{min-width:1em;display:inline-block;margin-right:.5em;margin-inline-start:0;margin-inline-end:.5em;text-align:right;text-align:end}
.dmNewParagraph[data-version] ul .ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-1}.dmNewParagraph[data-version] ul .ql-indent-1:before{font-weight:700;content:"○"}
.dmNewParagraph[data-version] ul .ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-2}.dmNewParagraph[data-version] ul .ql-indent-2:before,.dmNewParagraph[data-version] ul .ql-indent-3:before,.dmNewParagraph[data-version] ul .ql-indent-4:before,.dmNewParagraph[data-version] ul .ql-indent-5:before,.dmNewParagraph[data-version] ul .ql-indent-6:before,.dmNewParagraph[data-version] ul .ql-indent-7:before,.dmNewParagraph[data-version] ul .ql-indent-8:before,.dmNewParagraph[data-version] ul .ql-indent-9:before{font-weight:700;content:"■"}
.dmNewParagraph[data-version] ul .ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-3}.dmNewParagraph[data-version] ul .ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9;counter-increment:list-4}
.dmNewParagraph[data-version] ul .ql-indent-5{counter-reset:list-6 list-7 list-8 list-9;counter-increment:list-5}.dmNewParagraph[data-version] ul .ql-indent-6{counter-reset:list-7 list-8 list-9;counter-increment:list-6}
.dmNewParagraph[data-version] ul .ql-indent-7{counter-reset:list-8 list-9;counter-increment:list-7}.dmNewParagraph[data-version] ul .ql-indent-8{counter-reset:list-9;counter-increment:list-8}.dmNewParagraph[data-version] ul .ql-indent-9{counter-reset:list-10 list-9;counter-increment:list-9}
.dmNewParagraph[data-version] ul>li:before{font-weight:700;content:"•";font-family:Arial}.dmNewParagraph[data-version] ul.custom-list-1>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"○";transform:scale(1);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-2>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"★";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-3>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"➞";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-4>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"＋";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-5>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"－";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-6>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"✓";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-7>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"✗";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ol .ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-1}.dmNewParagraph[data-version] ol .ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}
.dmNewParagraph[data-version] ol .ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-2}.dmNewParagraph[data-version] ol .ql-indent-2:before{content:counter(list-2,lower-roman) ". "}
.dmNewParagraph[data-version] ol .ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-3}.dmNewParagraph[data-version] ol .ql-indent-3:before{content:counter(list-3,decimal) ". "}
.dmNewParagraph[data-version] ol .ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9;counter-increment:list-4}.dmNewParagraph[data-version] ol .ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}
.dmNewParagraph[data-version] ol .ql-indent-5{counter-reset:list-6 list-7 list-8 list-9;counter-increment:list-5}.dmNewParagraph[data-version] ol .ql-indent-5:before{content:counter(list-5,lower-roman) ". "}
.dmNewParagraph[data-version] ol .ql-indent-6{counter-reset:list-7 list-8 list-9;counter-increment:list-6}.dmNewParagraph[data-version] ol .ql-indent-6:before{content:counter(list-6,decimal) ". "}
.dmNewParagraph[data-version] ol .ql-indent-7{counter-reset:list-8 list-9;counter-increment:list-7}.dmNewParagraph[data-version] ol .ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}
.dmNewParagraph[data-version] ol .ql-indent-8{counter-reset:list-9;counter-increment:list-8}.dmNewParagraph[data-version] ol .ql-indent-8:before{content:counter(list-8,lower-roman) ". "}
.dmNewParagraph[data-version] ol .ql-indent-9{counter-reset:list-10 list-9;counter-increment:list-9}.dmNewParagraph[data-version] ol .ql-indent-9:before{content:counter(list-9,decimal) ". "}
.dmNewParagraph[data-version] ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.dmNewParagraph[data-version] ol li:before{content:counter(list-0,decimal) ". "}
.dmNewParagraph[data-version] a{vertical-align:initial}@media(min-width:768px) and (max-width:1024px){.dmNewParagraph[data-version] .t-text-align-left{text-align:left!important}.dmNewParagraph[data-version] .t-text-align-center{text-align:center!important}
.dmNewParagraph[data-version] .t-text-align-right{text-align:right!important}.dmNewParagraph[data-version] .t-text-align-justify{text-align:justify!important}}@media(max-width:767px){.dmRoot .dmNewParagraph[data-version] .m-text-align-left{text-align:left!important}
.dmRoot .dmNewParagraph[data-version] .m-text-align-center{text-align:center!important}.dmRoot .dmNewParagraph[data-version] .m-text-align-right{text-align:right!important}.dmRoot .dmNewParagraph[data-version] .m-text-align-justify{text-align:justify!important}
}.inlineBindingLink{color:inherit!important;text-decoration:inherit!important}/**/#dm .dmSocialHub:not(.gapSpacing) .socialHubInnerDiv a:not(:last-child){margin-right:5px}.socialHubIcon{display:flex!important;align-items:center;justify-content:center}.socialHubIcon svg{fill:currentColor;width:80%;height:80%}
.socialHubIcon.style1,.socialHubIcon.style4,.socialHubIcon.style6,.socialHubIcon.style7{background:#617379}.socialHubIcon.style7{box-shadow:0 5px 0 0 #475459}.style1.dmSocialTiktok,.style4.dmSocialTiktok{background:#000}
.style1.dmSocialFacebook,.style4.dmSocialFacebook{background:#1877f2}.style1.dmSocialTwitter,.style4.dmSocialTwitter{background:#0f1419}.style1.dmSocialGooglePlus,.style4.dmSocialGooglePlus{background:#da4835}
.style1.dmSocialInstagram,.style4.dmSocialInstagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}.style1.dmSocialYoutube,.style4.dmSocialYoutube{background:red}
.style1.dmSocialLinkedin,.style4.dmSocialLinkedin{background:#2867b2}.style1.dmSocialYelp,.style4.dmSocialYelp{background:#e43340}.style1.dmSocialPinterest,.style4.dmSocialPinterest{background:#c8232c}
.style1.dmSocialVimeo,.style4.dmSocialVimeo{background:#1ab7ea}.style1.dmSocialPicasa,.style4.dmSocialPicasa{background:#be81d1}.style1.dmSocialFoursquare,.style4.dmSocialFoursquare{background:#ef4b78}
.style1.dmSocialRss,.style4.dmSocialRss{background:#f39200}.style1.dmSocialReddit,.style4.dmSocialReddit{background:#ff4500}.style1.dmSocialEmail,.style4.dmSocialEmail{background:#617379}.style1.dmSocialSnapchat,.style4.dmSocialSnapchat{background:#fffc00}
.style1.dmSocialTripadvisor,.style4.dmSocialTripadvisor{background:#589442}.style1.dmSocialWaze,.style4.dmSocialWaze{background:#56cbe7}.style1.dmSocialGoogleMyBusiness,.style4.dmSocialGoogleMyBusiness{background:#477cdf}
.style1.dmSocialWhatsapp,.style4.dmSocialWhatsapp{background:#25d366}.style1.dmSocialPhone,.style4.dmSocialPhone{background:#616c79}.style1:after{content:"";width:44px;height:28px;display:block;position:absolute;top:0;left:0;z-index:-1;border-radius:10px}
.style1.dmSocialEmail:after,.style1.dmSocialFacebook:after,.style1.dmSocialFoursquare:after,.style1.dmSocialGoogleMyBusiness:after,.style1.dmSocialGooglePlus:after,.style1.dmSocialInstagram:after,.style1.dmSocialLinkedin:after,.style1.dmSocialPhone:after,.style1.dmSocialPicasa:after,.style1.dmSocialPinterest:after,.style1.dmSocialReddit:after,.style1.dmSocialRss:after,.style1.dmSocialSnapchat:after,.style1.dmSocialTripadvisor:after,.style1.dmSocialTwitter:after,.style1.dmSocialVimeo:after,.style1.dmSocialYelp:after,.style1.dmSocialYoutube:after{background:#fff;opacity:.2}
.style2.dmSocialTiktok{color:#000}.style2.dmSocialFacebook{color:#1877f2}.style2.dmSocialTwitter{color:#0f1419}.style2.dmSocialGooglePlus{color:#da4835}.style2.dmSocialInstagram:before{background-image:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.style2.dmSocialYoutube{color:red}.style2.dmSocialLinkedin{color:#2867b2}.style2.dmSocialYelp{color:#e43340}.style2.dmSocialPinterest{color:#c8232c}.style2.dmSocialVimeo{color:#1ab7ea}.style2.dmSocialPicasa{color:#be81d1}
.style2.dmSocialFoursquare{color:#ef4b78}.style2.dmSocialRss{color:#f39200}.style2.dmSocialReddit{color:#ff4500}.style2.dmSocialEmail{color:#617379}.style2.dmSocialSnapchat{color:#fffc00}.style2.dmSocialTripadvisor{color:#589442}
.style2.dmSocialGoogleMyBusiness:before{color:#477cdf}.style2.dmSocialWaze:before{color:#56cbe7}.style2.dmSocialWhatsapp:before{color:#25d366}.style2.dmSocialPhone{color:#616c79}.style6.dmSocialTiktok{background:#000}
.style6.dmSocialFacebook{background:#1877f2}.style6.dmSocialTwitter{background:#0f1419}.style6.dmSocialGooglePlus{background:#da4835}.style6.dmSocialInstagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}
.style6.dmSocialYoutube{background:red}.style6.dmSocialLinkedin{background:#2867b2}.style6.dmSocialYelp{background:#e43340}.style6.dmSocialPinterest{background:#c8232c}.style6.dmSocialVimeo{background:#1ab7ea}
.style6.dmSocialPicasa{background:#be81d1}.style6.dmSocialFoursquare{background:#ef4b78}.style6.dmSocialRss{background:#f39200}.style6.dmSocialReddit{background:#ff4500}.style6.dmSocialEmail{background:#617379}
.style6.dmSocialSnapchat{background:#fffc00}.style6.dmSocialTripadvisor{background:#589442}.style6.dmSocialWaze{background:#56cbe7}.style6.dmSocialGoogleMyBusiness{background:#477cdf}.style6.dmSocialWhatsapp{background:#25d366}
.style6.dmSocialPhone{background:#616c79}.style7.dmSocialTiktok{background:#000}.style7.dmSocialFacebook{background:#1877f2;box-shadow:0 5px 0 0 #4b68a5}.style7.dmSocialTwitter{background:#0f1419}.style7.dmSocialGooglePlus{background:#da4835;box-shadow:0 5px 0 0 #c44130}
.style7.dmSocialInstagram{box-shadow:0 5px 0 0 #ad2271;background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}.style7.dmSocialYoutube{background:red;box-shadow:0 5px 0 0 #b3392c}
.style7.dmSocialLinkedin{background:#2867b2;box-shadow:0 5px 0 0 #1278b1}.style7.dmSocialYelp{background:#e43340;box-shadow:0 5px 0 0 #b62933}.style7.dmSocialPinterest{background:#c8232c;box-shadow:0 5px 0 0 #a21a2d}
.style7.dmSocialVimeo{background:#1ab7ea;box-shadow:0 5px 0 0 #1592bb}.style7.dmSocialPicasa{background:#be81d1;box-shadow:0 5px 0 0 #9867a7}.style7.dmSocialFoursquare{background:#ef4b78;box-shadow:0 5px 0 0 #da3b67}
.style7.dmSocialRss{background:#f39200;box-shadow:0 5px 0 0 #c27500}.style7.dmSocialReddit{background:#ff4500;box-shadow:0 5px 0 0 #ae5534}.style7.dmSocialEmail{background:#617379;box-shadow:0 5px 0 0 #475459}
.style7.dmSocialSnapchat{background:#fffc00;box-shadow:0 5px 0 0 #d1d05d}.style7.dmSocialTripadvisor{background:#589442;box-shadow:0 5px 0 0 #4e7b3e}.style7.dmSocialWaze{background:#56cbe7;box-shadow:0 5px 0 0 #475459}
.style7.dmSocialGoogleMyBusiness{background:#477cdf;box-shadow:0 5px 0 0 #475459}.style7.dmSocialWhatsapp{background:#25d366;box-shadow:0 5px 0 0 #475459}.style7.dmSocialPhone{background:#616c79;box-shadow:0 5px 0 0 #4a5458}
/* Custom Widgets Styles */
@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Heebo:wght@300;400;500;600;700&display=swap");
/* ── Widget root ──────────────────────────────────────────────────────────── */
.widget-19bbc2 {
  /* ════════════════════════════════════════════════════════════
     LAYER 1 — Platform token aliases (--mfw-* → --w-*)
     ALL --mfw-* references live ONLY here.
     Every --mfw-* var has a hardcoded fallback (Rule 2).
     ALL CSS rules below consume --w-* tokens only (Rule 1).
     ════════════════════════════════════════════════════════════ */
  --w-bg: var(--mfw-surface, #f5f6fa);
  --w-surface: var(--mfw-surface-raised, #ffffff);
  --w-border: var(--mfw-border, #e0e4ef);
  --w-brand: var(--mfw-brand, #2d6cdf);
  --w-brand-hover: var(--mfw-accent, #1a4fb5);
  --w-brand-text: var(--mfw-brand-text, #ffffff);
  --w-text: var(--mfw-text, #1a1f36);
  --w-text-muted: var(--mfw-text-muted, #6b7280);
  --w-text-subtle: var(--mfw-text-subtle, #9ca3af);
  --w-row-hover: var(--mfw-surface-subtle, #eef3ff);
  --w-chip-bg: var(--mfw-surface-subtle, #f0f4ff);
  --w-chip-text: var(--mfw-brand, #2d6cdf);
  --w-divider: var(--mfw-divider, var(--mfw-border, #e0e4ef));
  --w-focus: var(--mfw-focus, var(--mfw-brand, #2d6cdf));
  --w-font: var(--mfw-font-family-ui, "Heebo", system-ui, sans-serif);
  --w-font-heading: var(--mfw-font-family-heading, var(--mfw-font-family-body, inherit));
  --w-font-ui: var(--mfw-font-family-ui, var(--mfw-font-family-body, inherit));
  --w-font-weight-body: var(--mfw-font-weight-body, 400);
  --w-font-weight-heading: var(--mfw-font-weight-heading, 600);
  --w-radius: var(--mfw-radius, 8px);
  --w-radius-sm: var(--mfw-radius-sm, 6px);
  --w-radius-card: var(--mfw-radius-card, 10px);
  --w-shadow: var(--mfw-shadow, 0 2px 12px rgba(0,0,0,0.08));
  --w-shadow-lg: var(--mfw-shadow-lg, 0 8px 40px rgba(0,0,0,0.22));
  --w-easing: var(--mfw-easing-standard, ease);
  --w-duration-fast: var(--mfw-duration-fast, 0.15s);
  --w-duration-base: var(--mfw-duration-base, 0.2s);
  /* Status tokens */
  --w-success-bg: var(--mfw-status-success, #d1fae5);
  --w-success-text: var(--mfw-status-success-text, #065f46);
  --w-warning-bg: var(--mfw-status-warning, #fef3c7);
  --w-warning-text: var(--mfw-status-warning-text, #92400e);
  --w-danger-bg: var(--mfw-status-danger, #fee2e2);
  --w-danger-text: var(--mfw-status-danger-text, #991b1b);
  --w-neutral-bg: var(--mfw-status-neutral, #f3f4f6);
  --w-neutral-text: var(--mfw-status-neutral-text, #6b7280);
  /* Button tokens */
  --w-btn-bg: var(--mfw-btn-bg, var(--mfw-brand, #2d6cdf));
  --w-btn-text: var(--mfw-btn-text, var(--mfw-brand-text, #ffffff));
  --w-btn-border: var(--mfw-btn-border, transparent);
  /* Table header tokens */
  --w-table-hdr-bg: var(--mfw-table-col-header-bg, var(--mfw-brand, #2d6cdf));
  --w-table-hdr-text: var(--mfw-table-col-header-text, #ffffff);
  /* Popup / dialog tokens */
  --w-popup-bg: var(--mfw-popup-bg, var(--mfw-surface-raised, #ffffff));
  --w-popup-overlay: var(--mfw-popup-overlay, rgba(15, 23, 42, 0.5));
  --w-popup-title: var(--mfw-popup-header-text, var(--mfw-text, #1a1f36));
  /* Input tokens */
  --w-input-bg: var(--mfw-input-bg, #ffffff);
  --w-input-border: var(--mfw-input-border, var(--mfw-border, #e0e4ef));
  --w-input-text: var(--mfw-input-text, var(--mfw-text, #1a1f36));
  /* On-brand surface text (Rule 5 — icon / name colour on the navbar) */
  --w-on-brand: var(--mfw-text-on-brand, #ffffff);
  /* ════════════════════════════════════════════════════════════
     RULE 5 — Root-level font + colour inheritance
     ════════════════════════════════════════════════════════════ */
  font-family: var(--w-font) !important;
  color: var(--w-text) !important;
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 160px;
  position: relative;
  margin: 0;
  /* ── Login bar shell ─────────────────────────────────────────────────── */
  /* ── Logged-in panel ─────────────────────────────────────────────────── */
  /* ── Guest panel ─────────────────────────────────────────────────────── */
  /* ── Name + theme label stack ───────────────────────────────────────── */
  /* ── Name stack CSS tooltip ─────────────────────────────────────────── */
  /* ── Display name — uses on-brand text colour ──────────────────────────── */
  /* ── Theme name — dimmed line beneath the display name ──────────────── */
  /* ── Privacy padlock ─────────────────────────────────────────────────── */
  /* ── Account icon button (shared base) ──────────────────────────────── */
  /* ── Solid icon: normal logged-in user — brand primary colour ──────────── */
  /* ── Solid icon: admin — gold ─────────────────────────────────────────── */
  /* Swap icons when admin class is active */
  /* ── Outline icon: guest / not logged in ─────────────────────────────── */
  /* ── Dropdown container ──────────────────────────────────────────────── */
  /* ── Dropdown menu ───────────────────────────────────────────────────── */
  /* ── Menu items (shared for <a> and <button>) ────────────────────────── */
  /* ── Admin divider ───────────────────────────────────────────────────── */
  /* ── Admin menu items ────────────────────────────────────────────────── */
  /* ── Responsive ──────────────────────────────────────────────────────── */
}
.widget-19bbc2 * {
  box-sizing: border-box;
}
.widget-19bbc2 .mf-login-bar {
  width: 100%;
  max-width: 100%;
  min-width: 160px;
  background: transparent;
  font-family: var(--w-font) !important;
  font-size: 13px;
  margin: 0;
}
.widget-19bbc2 .mf-login-bar-inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 5px;
  min-height: 38px;
  margin: 0;
}
.widget-19bbc2 .mf-login-bar-auth {
  display: none;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.widget-19bbc2 .mf-login-bar-guest {
  display: none;
  align-items: center;
  min-width: 0;
}
.widget-19bbc2 .mf-login-bar-name-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  min-width: 0;
  max-width: 180px;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  overflow: visible;
}
.widget-19bbc2 .mf-login-bar-name-stack:hover,
.widget-19bbc2 .mf-login-bar-name-stack:focus {
  text-decoration: none;
  color: inherit;
  outline: none;
}
.widget-19bbc2 .mf-login-bar-name-tip {
  position: relative;
}
.widget-19bbc2 .mf-login-bar-name-tip::after {
  content: "Change your Mood in your User Profile";
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  white-space: nowrap;
  background: var(--w-surface) !important;
  color: var(--w-text) !important;
  border: 1px solid var(--w-border);
  box-shadow: var(--w-shadow);
  font-size: 11px;
  line-height: 1.4;
  padding: 4px 8px;
  border-radius: 4px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.15s ease;
  z-index: 9999;
}
.widget-19bbc2 .mf-login-bar-name-tip:hover::after {
  opacity: 1;
}
.widget-19bbc2 .mf-login-bar-name {
  font-family: var(--w-font) !important;
  font-weight: 400;
  color: var(--w-on-brand) !important;
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.widget-19bbc2 .mf-login-bar-theme {
  font-family: var(--w-font) !important;
  font-weight: 400;
  color: var(--w-on-brand) !important;
  font-size: 10px;
  opacity: 0.6;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  line-height: 1.2;
}
.widget-19bbc2 .mf-login-bar-theme:empty {
  display: none;
}
.widget-19bbc2 .mf-login-bar-privacy {
  display: inline-flex;
  align-items: center;
  color: var(--w-on-brand) !important;
  flex-shrink: 0;
  opacity: 0.85;
}
.widget-19bbc2 #mf-login-bar-privacy-locked {
  display: none;
  align-items: center;
  line-height: 1;
}
.widget-19bbc2 .mf-account-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  padding: 6px;
  /* Rule 6 — transitions use duration + easing tokens */
  transition: opacity var(--w-duration-fast) var(--w-easing) !important, background var(--w-duration-fast) var(--w-easing) !important;
  flex-shrink: 0;
  line-height: 1;
}
.widget-19bbc2 .mf-account-btn:hover {
  /* hardcoded — semi-transparent white overlay on a brand-coloured navbar;
     must remain white regardless of theme so it is always visible */
  background: rgba(255, 255, 255, 0.12) !important;
}
.widget-19bbc2 .mf-account-btn:active {
  /* hardcoded — semi-transparent white overlay, same reason as :hover */
  background: rgba(255, 255, 255, 0.2) !important;
}
.widget-19bbc2 .mf-account-icon--solid {
  color: var(--w-brand) !important;
  display: block;
}
.widget-19bbc2 .mf-account-icon--admin {
  /* hardcoded — semantic status colour: gold distinguishes admin from
     regular user at a glance; intentionally not theme-adaptive */
  color: #f5c842 !important;
  display: none;
}
.widget-19bbc2 .mf-account-btn.is-admin .mf-account-icon--solid {
  display: none;
}
.widget-19bbc2 .mf-account-btn.is-admin .mf-account-icon--admin {
  display: block;
}
.widget-19bbc2 .mf-account-icon--outline {
  color: var(--w-brand) !important;
  opacity: 0.65;
}
.widget-19bbc2 .mf-account-btn--guest:hover .mf-account-icon--outline {
  opacity: 1;
}
.widget-19bbc2 .mf-account-dropdown {
  position: relative;
  flex-shrink: 0;
}
.widget-19bbc2 .mf-logout-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  min-width: 150px;
  background: var(--w-surface) !important;
  border: 1px solid var(--w-border) !important;
  border-radius: var(--w-radius-card);
  box-shadow: var(--w-shadow) !important;
  z-index: 9999;
  overflow: hidden;
  display: none;
  animation: mf-dropdown-in var(--w-duration-fast) var(--w-easing);
}
.widget-19bbc2 .mf-logout-menu.mf-logout-menu--open {
  display: block;
}
.widget-19bbc2 .mf-logout-menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 10px 14px;
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--w-font) !important;
  font-size: 13px;
  font-weight: 400;
  color: var(--w-text) !important;
  text-align: left;
  text-decoration: none;
  transition: background var(--w-duration-fast) var(--w-easing) !important;
  white-space: nowrap;
}
.widget-19bbc2 .mf-logout-menu-item:hover {
  background: var(--w-row-hover) !important;
  color: var(--w-text) !important;
}
.widget-19bbc2 .mf-admin-divider {
  height: 1px;
  background: var(--w-divider) !important;
  margin: 4px 0;
}
.widget-19bbc2 .mf-admin-item {
  color: var(--w-brand) !important;
}
.widget-19bbc2 .mf-admin-item:hover {
  color: var(--w-brand) !important;
  background: var(--w-row-hover) !important;
}
@media (max-width: 767px) {
  .widget-19bbc2 {
    /* On mobile: icon comes first, text second — reverse the desktop order */
    /* Left-align the name/theme stack on mobile */
    /* Larger name on mobile */
    /* Theme name — balanced with the larger name */
    /* Dropdown opens above and to the right of the icon on mobile */
  }
  .widget-19bbc2 .mf-login-bar-inner {
    padding: 5px 5px 5px 0;
    justify-content: flex-start;
  }
  .widget-19bbc2 .mf-login-bar-auth {
    flex-direction: row-reverse;
    gap: 9px;
  }
  .widget-19bbc2 .mf-login-bar-guest {
    flex-direction: row-reverse;
  }
  .widget-19bbc2 .mf-login-bar-name-stack {
    max-width: 120px;
    align-items: flex-start;
  }
  .widget-19bbc2 .mf-login-bar-name {
    font-size: 15px;
    font-weight: 600;
    color: #ffffff !important;
  }
  .widget-19bbc2 .mf-login-bar-theme {
    font-size: 12px;
    color: #ffffff !important;
  }
  .widget-19bbc2 .mf-logout-menu {
    right: auto;
    left: 0;
    top: auto;
    bottom: calc(100% + 6px);
  }
  .widget-19bbc2 .mf-account-btn {
    padding-left: 0;
    margin-left: -6px;
  }
  .widget-19bbc2 .mf-login-bar-name-tip::after {
    right: auto;
    left: 0;
  }
}

/* ── Dropdown entrance animation (outside root to avoid nesting quirks) ── */
@keyframes mf-dropdown-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@charset "UTF-8";
/* ── Editor placeholder (Option A) ─────────────────────────────────────────
   Visible by default in the editor (the boot code never runs there).
   Hidden immediately at boot on live/preview pages via #mf-editor-placeholder
   display:none set as the very first act of _mfRegFormBoot().
   All elements are purely decorative divs — no real inputs, no IDs that the
   boot code references, no event listeners. Fully inert.
────────────────────────────────────────────────────────────────────────── */
.mf-editor-placeholder {
  width: 100%;
  max-width: 714px;
  margin: 0 auto;
  padding: 20px 32px 28px;
  box-sizing: border-box;
  /* Keep the container itself clickable so the editor can select the widget,
     but block all interaction on the children so nothing is actually live.
     position + z-index create a stacking context the editor hit-test resolves
     correctly — without these the editor overlay can intercept the click. */
  pointer-events: auto;
  user-select: none;
  cursor: default;
  position: relative;
  z-index: 1;
}

.mf-editor-placeholder * {
  pointer-events: none;
  user-select: none;
}

.mf-ep-header {
  padding-bottom: 14px;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--mfw-border, #e5e7eb);
}

.mf-ep-title {
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  color: rgb(255, 0, 117) !important;
  margin: 0 0 3px !important;
  font-family: var(--mfw-font-family-heading, system-ui, sans-serif) !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  font-style: normal !important;
}

.mf-ep-subtitle {
  font-size: 0.8125rem;
  color: var(--mfw-text-subtle, #6b7280);
  margin: 0;
  font-style: italic;
}

.mf-ep-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.mf-ep-row {
  display: flex;
  gap: 14px;
  width: 100%;
}

.mf-ep-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 0;
  min-width: 0;
}

.mf-ep-field-narrow {
  flex: 0 0 28%;
}

.mf-ep-label {
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mfw-text-subtle, #6b7280);
  line-height: 1.2;
}

.mf-ep-input {
  height: 33px;
  background: var(--mfw-input-bg, #ffffff);
  border: 1px solid var(--mfw-input-border, #c0c5cc);
  border-radius: 6px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  padding: 0 9px;
  font-size: 0.875rem;
  color: var(--mfw-text-subtle, #9ca3af);
  font-family: var(--mfw-font-family-body, system-ui, sans-serif);
}

.mf-ep-select {
  color: var(--mfw-text-subtle, #9ca3af);
}

.mf-ep-phone {
  display: flex;
  gap: 0;
  padding: 0;
  overflow: hidden;
}

.mf-ep-idd {
  flex: 0 0 64px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--mfw-table-col-header-bg, #f3f4f6);
  border-right: 1px solid var(--mfw-input-border, #c0c5cc);
  font-size: 0.8rem;
  color: var(--mfw-text-muted, #374151);
  font-family: var(--mfw-font-family-body, system-ui, sans-serif);
  flex-shrink: 0;
  padding: 0 8px;
}

.mf-ep-phone-local {
  flex: 1;
}

.mf-ep-btn-row {
  display: flex;
  justify-content: center;
  margin-top: 4px;
}

.mf-ep-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 160px;
  height: 44px;
  background: rgba(255, 0, 117, 0.28);
  border: 2px solid rgba(255, 0, 117, 0.35);
  border-radius: 8px;
  font-size: 0.9375rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
  font-family: var(--mfw-font-family-body, system-ui, sans-serif);
  letter-spacing: 0.01em;
}

.widget-cac361 {
  display: block;
  width: 100%;
  min-height: 120px;
  box-sizing: border-box;
  padding: 20px 0;
  position: relative;
  pointer-events: auto;
  z-index: 1;
  background: rgba(255, 255, 255, 0.01);
  font-family: var(--mfw-font-family-body, system-ui, sans-serif);
}

/* Monitor Mode styles removed — now injected by __mfMonitorDisplay.renderPlaceholder() v2.0 */
/* ── Default header (verification state only) ──────────────────────────── */
.mf-reg-header {
  padding: 16px 32px 12px;
}

.mf-reg-title {
  font-size: 1.3rem;
  font-weight: var(--mfw-font-weight-heading, 700);
  color: rgb(255, 0, 117);
  margin: 0;
}

/* ── Unified verified identity bar ─────────────────────────────────────── */
/* Replaces both the old header and the floating logged-in badge.
   Shows: ✓ Verified · Name · House · Phone · email        [Log out] */
.mf-verified-bar {
  padding: 0;
  background: #f0fdf4;
  border-bottom: 1px solid #bbf7d0;
}

.mf-verified-bar-inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 32px;
  font-size: 0.875rem;
  font-weight: var(--mfw-font-weight-body, 400);
  color: var(--mfw-text-muted, #374151);
}

.mf-verified-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #16a34a;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: var(--mfw-font-weight-ui, 700);
  letter-spacing: 0.04em;
  padding: 3px 10px 3px 7px;
  border-radius: 999px;
  flex-shrink: 0;
}

.mf-verified-chip svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}

.mf-verified-name {
  font-weight: var(--mfw-font-weight-ui, 700);
  color: var(--mfw-text, #111827);
}

.mf-verified-house,
.mf-verified-phone,
.mf-verified-email {
  color: var(--mfw-text-subtle, #6b7280);
  font-size: 0.8125rem;
}

.mf-verified-sep {
  color: var(--mfw-border, #d1d5db);
  font-size: 0.8125rem;
}

/* Pushes Log out button to the far right */
.mf-verified-bar-right {
  margin-left: auto;
  flex-shrink: 0;
}

.mf-logout-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--mfw-text-muted, #166534);
  font-size: 0.75rem;
  font-weight: var(--mfw-font-weight-body, 400);
  padding: 3px 0;
  text-decoration: underline;
  line-height: 1;
  white-space: nowrap;
}

.mf-logout-btn:hover {
  color: var(--mfw-text, #14532d);
}

@media (max-width: 767px) {
  .mf-verified-bar-inner {
    padding: 10px 20px;
  }
  .mf-verified-bar-right {
    margin-left: 0;
    width: 100%;
  }
}
/* ── Container ──────────────────────────────────────────────────────────── */
.mf-reg-container {
  background: rgba(255, 255, 255, 0.01);
  border-radius: 12px;
  box-shadow: none;
  width: 100%;
  max-width: 714px;
  margin: 0 auto;
  position: relative;
  z-index: 0;
}

/* ── Form shell ─────────────────────────────────────────────────────────── */
.mf-reg-form {
  padding: 0 32px 24px;
  position: relative;
  z-index: 0;
  min-height: 900px;
}

.mf-form-grid {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* ── Profile top block: photo left + heading right ─────────────────────── */
.mf-profile-top-block {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 4px 0 8px;
}

.mf-profile-photo-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.mf-photo-label {
  font-size: 0.6875rem;
  font-weight: var(--mfw-font-weight-ui, 700);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mfw-text-subtle, #6b7280);
  text-align: center;
  cursor: pointer;
}

.mf-photo-uploading {
  font-size: 0.625rem;
  font-weight: var(--mfw-font-weight-body, 400);
  color: var(--mfw-text-subtle, #6b7280);
  text-align: center;
  font-style: italic;
}

/* ── Validation failure banner ──────────────────────────────────────────── */
.mf-photo-required {
  color: #dc2626;
}

.mf-profile-intro-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 4px;
}

.mf-profile-heading {
  font-size: 1.15rem;
  font-weight: var(--mfw-font-weight-heading, 700);
  font-family: var(--mfw-font-family-heading, system-ui, sans-serif);
  color: var(--mfw-text, #111827);
  margin: 0 0 4px;
}

.mf-profile-subtext {
  font-size: 0.8125rem;
  font-weight: var(--mfw-font-weight-body);
  color: var(--mfw-text-subtle, #6b7280);
  margin: 0;
}

/* ── Profile header: name · house · email + verified chip ───────────────── */
.mf-profile-header {
  padding: 16px 0 12px;
  margin-bottom: 16px;
}

.mf-profile-title {
  font-size: 1.25rem;
  font-weight: var(--mfw-font-weight-heading, 700);
  color: var(--mfw-text, #111827);
  margin: 0 0 4px;
  letter-spacing: -0.01em;
  font-family: var(--mfw-font-family-heading, system-ui, sans-serif);
}

.mf-profile-name-row {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 12px;
  margin: 0 0 4px;
}

/* ── Defeat Duda theme h2 overrides on .mf-profile-title ──────────────────
   Duda injects multiple rules targeting #dm div.dmContent h2 (and .dmInner h2)
   that set Poppins/Montserrat, 30px, rgb(51,51,51), font-weight:bold etc.
   These dominate a plain .mf-profile-title rule.
   Adding .widget-cac361 scope + the element tag brings our specificity above
   every Duda rule in the cascade. !important seals it against inline styles. */
.widget-cac361 h2.mf-profile-title,
.widget-cac361 .mf-profile-title {
  font-size: 1.875rem !important;
  font-weight: var(--mfw-font-weight-heading, 700) !important;
  color: var(--mfw-text, #111827) !important;
  margin: 0 0 4px !important;
  letter-spacing: -0.01em !important;
  font-family: var(--mfw-font-family-heading, system-ui, sans-serif) !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  font-style: normal !important;
  direction: ltr !important;
  text-transform: none !important;
}

/* Circular mugshot in header */
.mf-profile-header-mugshot {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--mfw-border, #e5e7eb);
  flex-shrink: 0;
  display: none;
}

/* Name + house stacked column */
.mf-profile-name-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}

.mf-profile-name {
  font-size: 1.25rem;
  font-weight: var(--mfw-font-weight-heading, 700);
  font-family: var(--mfw-font-family-heading, system-ui, sans-serif);
  color: var(--mfw-text, #111827);
  margin: 0;
  text-align: left;
  line-height: 1.3;
}

.mf-profile-house {
  font-size: 0.75rem;
  font-weight: var(--mfw-font-weight-body, 400);
  color: var(--mfw-text-subtle, #9ca3af);
  margin: 0;
  line-height: 1.4;
}

.mf-profile-email-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.mf-profile-email-text {
  font-size: 0.8125rem;
  font-weight: var(--mfw-font-weight-body);
  color: var(--mfw-text-subtle, #6b7280);
}

.mf-verified-chip-small {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #16a34a;
  color: #ffffff;
  font-size: 0.6875rem;
  font-weight: var(--mfw-font-weight-ui, 700);
  letter-spacing: 0.04em;
  padding: 2px 8px 2px 6px;
  border-radius: 999px;
  flex-shrink: 0;
}

.mf-verified-chip-small svg {
  width: 10px;
  height: 10px;
  flex-shrink: 0;
}

.mf-email-change-link {
  margin-left: auto;
  font-size: 0.6875rem;
  font-weight: var(--mfw-font-weight-ui, 600);
  color: rgb(255, 0, 117);
  text-decoration: none;
  letter-spacing: 0.03em;
  white-space: nowrap;
  flex-shrink: 0;
  cursor: pointer;
}

.mf-email-change-link:hover {
  text-decoration: underline;
}

/* ── Email change inline form ──────────────────────────────────────────── */
.widget-cac361 .mf-email-change-form {
  margin-top: 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.widget-cac361 .mf-email-change-input {
  font-size: 0.8125rem;
  width: 100%;
  max-width: 320px;
}

.widget-cac361 .mf-email-change-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.widget-cac361 .mf-email-change-save-btn {
  background: none;
  border: none;
  padding: 0;
  font-size: 0.6875rem;
  font-weight: var(--mfw-font-weight-ui, 600);
  color: rgb(255, 0, 117);
  cursor: pointer;
  font-family: var(--mfw-font-family-body);
  letter-spacing: 0.03em;
  text-decoration: none;
  transition: color 0.15s;
}

.widget-cac361 .mf-email-change-save-btn:hover {
  text-decoration: underline;
}

.widget-cac361 .mf-email-change-save-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.widget-cac361 .mf-email-change-cancel-btn {
  background: none;
  border: none;
  padding: 0;
  font-size: 0.6875rem;
  font-weight: var(--mfw-font-weight-ui, 600);
  color: var(--mfw-text-subtle, #9ca3af);
  cursor: pointer;
  font-family: var(--mfw-font-family-body);
  letter-spacing: 0.03em;
  text-decoration: none;
  transition: color 0.15s;
}

.widget-cac361 .mf-email-change-cancel-btn:hover {
  color: var(--mfw-text-muted, #6b7280);
  text-decoration: underline;
}

.widget-cac361 .mf-email-change-hint {
  font-size: 0.6875rem;
  color: var(--mfw-text-subtle, #6b7280);
  margin: 0;
  font-style: italic;
  line-height: 1.4;
}

/* ── Photo wrap (inline in form) ────────────────────────────────────────── */
.mf-reg-photo-wrap-inline {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
  background: #e2e8f0;
  cursor: pointer;
  position: relative;
  border: 2px solid transparent;
  transition: border-color 0.2s;
}

.mf-reg-photo-wrap-inline.mf-error {
  border-color: #dc2626;
  border-width: 3px;
}

.mf-reg-photo-wrap-inline:hover::after {
  content: "Change";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  font-size: 0.625rem;
  font-weight: var(--mfw-font-weight-ui, 600);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.mf-reg-photo,
.mf-reg-photo-anon {
  width: 72px;
  height: 72px;
  display: block;
}

.mf-reg-photo {
  object-fit: cover;
}

/* ── Large circular Mug Shot on Page B ──────────────────────────────────── */
.mf-mugshot-col {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 160px;
}

/* ── Page B: Row 1 — Mug Shot (left) + Current Role field (right) ─────── */
.mf-pageb-top-row {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  margin-bottom: 4px;
}

.mf-pageb-photo-col {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 160px;
}

.mf-pageb-role-col {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: flex-start;
  padding-top: 4px;
}

.mf-pageb-role-col .mf-form-group {
  width: 100%;
}

/* Large square mug shot with soft rounded corners */
.mf-pageb-photo-wrap {
  width: 160px;
  height: 160px;
  border-radius: 14px;
  overflow: hidden;
  background: #e2e8f0;
  cursor: pointer;
  position: relative;
  border: 2px solid transparent;
  transition: border-color 0.2s;
}

.mf-pageb-photo-wrap.mf-error {
  border-color: #dc2626;
  border-width: 3px;
}

.mf-pageb-photo-wrap:hover::after {
  content: "Change";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  font-size: 0.75rem;
  font-weight: var(--mfw-font-weight-ui, 600);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
}

.mf-pageb-photo {
  width: 160px;
  height: 160px;
  object-fit: cover;
  display: block;
}

.mf-pageb-photo-anon {
  width: 160px;
  height: 160px;
  display: block;
}

@media (max-width: 540px) {
  .mf-pageb-top-row {
    flex-direction: column;
    align-items: center;
  }
  .mf-pageb-photo-col {
    width: 100%;
    align-items: center;
  }
  .mf-pageb-photo-wrap,
  .mf-pageb-photo,
  .mf-pageb-photo-anon {
    width: 140px;
    height: 140px;
  }
  .mf-pageb-role-col {
    width: 100%;
  }
}
/* ── Conversational Page B labels ───────────────────────────────────────── */
/* Reframed questions on Page B use a warmer, more personal typographic      */
/* style to match the informal, reflective tone of the prompts.               */
.mf-convo-label {
  font-size: 0.8125rem !important;
  font-weight: var(--mfw-font-weight-body, 400) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--mfw-text-muted, #374151) !important;
  line-height: 1.5 !important;
  font-style: italic;
  margin-bottom: 6px;
  display: block;
}

/* The parenthetical aside within each conversational label */
.mf-convo-sub {
  font-size: 0.75rem;
  font-weight: var(--mfw-font-weight-body, 400);
  color: var(--mfw-text-subtle, #9ca3af);
  font-style: italic;
  display: inline;
}

/* ── Verification message ───────────────────────────────────────────────── */
.mf-verification-message {
  padding: 12px 16px;
  background: #fef3c7;
  border: 1px solid #fbbf24;
  border-radius: 8px;
  margin-bottom: 8px;
}

.mf-verification-message p {
  margin: 0;
  font-size: 0.875rem;
  font-weight: var(--mfw-font-weight-body, 500);
  color: #92400e;
  line-height: 1.5;
}

/* ── Verification error message ─────────────────────────────────────────── */
.mf-verification-error {
  padding: 12px 16px;
  background: #fee2e2;
  border: 1px solid #dc2626;
  border-radius: 8px;
  margin-top: 12px;
  animation: mf-error-fadein 0.3s ease;
}

.mf-verification-error p {
  margin: 0;
  font-size: 0.875rem;
  font-weight: var(--mfw-font-weight-body, 500);
  color: #991b1b;
  line-height: 1.5;
}

@keyframes mf-error-fadein {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ── Form rows & groups ─────────────────────────────────────────────────── */
.mf-form-row {
  display: flex;
  gap: 14px;
  width: 100%;
}

.mf-form-group {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.mf-form-label {
  font-size: 0.6875rem;
  font-weight: var(--mfw-font-weight-ui, 700);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mfw-text-subtle, #6b7280);
  text-align: left;
  margin-bottom: 0;
  line-height: 1.2;
}

/* Defeat Duda theme overrides on .mf-form-label inside the widget */
.widget-cac361 .mf-form-label {
  font-size: 0.6875rem !important;
  font-weight: var(--mfw-font-weight-ui, 700) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: var(--mfw-text-subtle, #6b7280) !important;
  text-align: left !important;
  line-height: 1.2 !important;
  display: block;
}

/* Required bar indicator — thick red left border on the label */
.mf-req-label {
  /* label no longer carries the red bar — moved to the input itself */
}

/* Required field indicator — left border on the input, not the label */
.mf-form-group:has(.mf-req-label) .mf-form-input,
.mf-form-group:has(.mf-req-label) .mf-form-textarea,
.mf-form-group:has(.mf-req-label) .mf-form-select,
.mf-form-group:has(.mf-req-label) .mf-country-input,
.mf-form-group:has(.mf-req-label) .mf-phone-idd-row {
  border-left: 3px solid #be123c;
}

/* "Fields with a red bar are required" note — bottom of each page */
.mf-req-note {
  font-size: 0.6875rem;
  color: var(--mfw-text-subtle, #9ca3af);
  margin: 16px 0 4px;
  font-style: italic;
  line-height: 1.4;
}

.mf-form-input,
.mf-form-textarea,
.mf-form-select {
  width: 100%;
  padding: 6px 9px;
  font-size: 0.875rem;
  font-weight: var(--mfw-font-weight-body, 400);
  color: var(--mfw-text, #1a1a1a);
  background: var(--mfw-input-bg, #ffffff);
  border: 1px solid var(--mfw-input-border, #c0c5cc);
  border-radius: 6px;
  box-sizing: border-box;
  font-family: var(--mfw-font-family-body, system-ui, sans-serif);
  line-height: 1.4;
}

/* Override Duda theme which sets font-size:16px, height:40px etc. on inputs inside div.dmInner */
.widget-cac361 input.mf-form-input,
.widget-cac361 input[type=text].mf-form-input,
.widget-cac361 input[type=email].mf-form-input,
.widget-cac361 input[type=tel].mf-form-input,
.widget-cac361 input[type=number].mf-form-input,
.widget-cac361 input[type=password].mf-form-input,
.widget-cac361 select.mf-form-select {
  font-size: 0.875rem !important;
  font-family: var(--mfw-font-family-body, system-ui, sans-serif) !important;
  color: var(--mfw-text, #1a1a1a) !important;
  background-color: var(--mfw-input-bg, #ffffff) !important;
  border: 1px solid var(--mfw-input-border, #c0c5cc) !important;
  height: auto !important;
  margin: 0 !important;
  padding: 6px 9px !important;
}

.mf-form-input:disabled {
  background: var(--mfw-input-bg-disabled, #f3f4f6);
  color: var(--mfw-text-subtle, #6b7280);
  cursor: not-allowed;
}

.mf-form-input:focus,
.mf-form-textarea:focus,
.mf-form-select:focus {
  border-color: #4a7c59;
  outline: none;
}

/* Error state — high specificity to override Duda theme */
.widget-cac361 .mf-form-input.mf-error,
.widget-cac361 input.mf-form-input.mf-error,
.widget-cac361 input[type=text].mf-error,
.widget-cac361 input[type=tel].mf-error,
.widget-cac361 input[type=email].mf-error,
.widget-cac361 .mf-form-textarea.mf-error,
.widget-cac361 textarea.mf-form-textarea.mf-error,
.widget-cac361 .mf-form-select.mf-error,
.widget-cac361 select.mf-form-select.mf-error {
  border: 2px solid #dc2626 !important;
  border-radius: 6px !important;
}

.widget-cac361 .mf-form-input.mf-error:focus,
.widget-cac361 input.mf-form-input.mf-error:focus,
.widget-cac361 input[type=text].mf-error:focus,
.widget-cac361 input[type=tel].mf-error:focus,
.widget-cac361 input[type=email].mf-error:focus,
.widget-cac361 .mf-form-textarea.mf-error:focus,
.widget-cac361 textarea.mf-form-textarea.mf-error:focus,
.widget-cac361 .mf-form-select.mf-error:focus,
.widget-cac361 select.mf-form-select.mf-error:focus {
  border-color: #dc2626 !important;
}

/* Valid state — full green border on all fields */
.widget-cac361 .mf-form-input.mf-valid,
.widget-cac361 input.mf-form-input.mf-valid,
.widget-cac361 input[type=text].mf-valid,
.widget-cac361 input[type=tel].mf-valid,
.widget-cac361 input[type=email].mf-valid,
.widget-cac361 .mf-form-textarea.mf-valid,
.widget-cac361 textarea.mf-form-textarea.mf-valid,
.widget-cac361 .mf-form-select.mf-valid,
.widget-cac361 select.mf-form-select.mf-valid {
  border: 2px solid #16a34a !important;
  border-radius: 6px !important;
}

.widget-cac361 .mf-form-input.mf-valid:focus,
.widget-cac361 input.mf-form-input.mf-valid:focus,
.widget-cac361 input[type=text].mf-valid:focus,
.widget-cac361 input[type=email].mf-valid:focus,
.widget-cac361 .mf-form-textarea.mf-valid:focus,
.widget-cac361 textarea.mf-form-textarea.mf-valid:focus,
.widget-cac361 .mf-form-select.mf-valid:focus,
.widget-cac361 select.mf-form-select.mf-valid:focus {
  border-color: #16a34a !important;
  outline: none;
}

/* ── Verify button ──────────────────────────────────────────────────────── */
.mf-verify-btn {
  width: 160px;
  padding: 12px 24px;
  font-size: 0.9375rem;
  font-weight: var(--mfw-font-weight-body, 600);
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.2s ease, opacity 0.2s;
  border: 2px solid rgb(255, 0, 117);
  background: rgb(255, 0, 117);
  color: #ffffff;
}

.mf-verify-btn-row {
  justify-content: center;
  margin-top: 4px;
}

.mf-verify-btn:hover:not(:disabled) {
  background: rgb(220, 0, 100);
  border-color: rgb(220, 0, 100);
}

.mf-verify-btn:disabled {
  cursor: not-allowed;
  background: rgba(255, 0, 117, 0.3);
  border-color: rgba(255, 0, 117, 0.3);
  color: rgba(255, 255, 255, 0.7);
}

/* ── Textareas ──────────────────────────────────────────────────────────── */
.mf-form-textarea {
  resize: vertical;
  min-height: 150px;
  line-height: 1.5;
}

/* ── Profile form section block spacing ──────────────────────────────── */
.mf-section-block {
  margin-bottom: 30px !important;
}

/* ── Read-only field display ────────────────────────────────────────────── */
.widget-cac361 .mf-ro-fields {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 6px 0 10px;
}

.widget-cac361 .mf-ro-field {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
  width: 100%;
}

.widget-cac361 .mf-ro-field-label {
  font-size: 0.625rem !important;
  font-weight: var(--mfw-font-weight-ui, 700) !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--mfw-text-subtle, #9ca3af) !important;
  flex-shrink: 0;
  min-width: 90px;
  text-align: left;
  line-height: 1.4;
}

.widget-cac361 .mf-ro-field-value {
  font-size: 0.875rem !important;
  font-weight: var(--mfw-font-weight-body, 400) !important;
  color: var(--mfw-text, #1a1a1a) !important;
  font-family: var(--mfw-font-family-body);
  line-height: 1.5;
  flex: 1;
  min-width: 0;
  word-break: break-word;
  text-align: left;
  white-space: pre-wrap;
}

/* Bio + Social sections: fixed-width label column */
.widget-cac361 [data-section=bio] .mf-ro-field-label,
.widget-cac361 [data-section=social] .mf-ro-field-label {
  width: 35%;
  min-width: 0;
  flex-shrink: 0;
}

.widget-cac361 [data-section=bio] .mf-ro-field-value,
.widget-cac361 [data-section=social] .mf-ro-field-value {
  width: 65%;
  flex: none;
}

/* Contact read-only layout */
.widget-cac361 .mf-ro-contact-row {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 6px 0 10px;
}

.widget-cac361 .mf-ro-photo-col {
  flex-shrink: 0;
}

.widget-cac361 .mf-ro-photo-col .mf-ro-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--mfw-border, #e5e7eb);
  display: block;
}

.widget-cac361 .mf-ro-contact-row .mf-ro-fields {
  flex: 1;
  padding: 0;
}

.widget-cac361 .mf-ro-address-block {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 10px;
}

.widget-cac361 .mf-ro-address-line,
.widget-cac361 .mf-ro-phone-line {
  font-size: 0.875rem !important;
  font-weight: var(--mfw-font-weight-body, 400) !important;
  color: var(--mfw-text, #1a1a1a) !important;
  font-family: var(--mfw-font-family-body);
  line-height: 1.5;
  text-align: left;
  word-break: break-word;
}

.widget-cac361 .mf-privacy-indicator {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin-top: 8px;
}

.widget-cac361 .mf-privacy-padlock {
  flex-shrink: 0;
  line-height: 1;
  margin-top: 1px;
}

.widget-cac361 .mf-privacy-indicator-text {
  font-size: 0.6875rem;
  font-style: italic;
  color: var(--mfw-text-muted, #374151);
  line-height: 1.4;
}

/* ── Toggle status icons in contact read-only view ──────────────────────── */
.widget-cac361 .mf-ro-toggle-icons {
  display: flex;
  gap: 6px;
  align-items: center;
  margin-top: 10px;
}

.widget-cac361 .mf-ro-toggle-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border-radius: 4px;
  cursor: default;
  opacity: 0.75;
}

/* Per-icon brand colours — matches Directory widget pattern */
.widget-cac361 .mf-ro-toggle-icon.mf-icon-padlock {
  color: #9ca3af;
}

.widget-cac361 .mf-ro-toggle-icon.mf-icon-whatsapp {
  color: #25D366;
}

.widget-cac361 .mf-ro-toggle-icon.mf-icon-chain {
  color: var(--rw-accent, #6366f1);
}

/* OM badge uses the same dark-navy style as the Directory badge */
.widget-cac361 .mf-ro-toggle-icon.mf-icon-om {
  height: 22px;
  padding: 0 6px;
  font-size: 0.5625rem;
  font-weight: var(--mfw-font-weight-ui, 700);
  letter-spacing: 0.04em;
  border-radius: 4px;
  background: #1e3a5f;
  color: #ffffff;
  opacity: 0.75;
}

.widget-cac361 .mf-ro-toggle-icon svg {
  display: block;
  width: 20px;
  height: 20px;
}

.widget-cac361 .mf-bio-social-row {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

.widget-cac361 .mf-bio-social-row > .mf-section-block {
  flex: 1 1 0;
  min-width: 0;
}

@media (max-width: 600px) {
  .widget-cac361 .mf-bio-social-row {
    flex-direction: column;
  }
  .widget-cac361 .mf-bio-social-row > .mf-section-block {
    width: 100%;
  }
  .widget-cac361 .mf-ro-contact-row {
    flex-direction: column;
    align-items: center;
  }
  .widget-cac361 .mf-ro-contact-row .mf-ro-fields {
    width: 100%;
  }
}
/* ── Section header row (label + Edit/Save/Cancel right-aligned) ──────── */
.widget-cac361 .mf-section-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 24px 0 8px;
  padding: 7px 10px;
  border-bottom: 1px solid var(--mfw-table-col-header-bg, #d1d5db);
  border-top: 1px solid var(--mfw-table-col-header-bg, #e5e7eb);
  background: var(--mfw-table-col-header-bg, #f3f4f6);
  border-radius: var(--mfw-radius-card, 6px) var(--mfw-radius-card, 6px) 0 0;
  width: 100%;
  box-sizing: border-box;
  gap: 8px;
  color: var(--mfw-table-col-header-text, #374151);
}

/* mf-section-label-inline: always used alongside mf-form-section-label
   on the same element. That rule provides all typography (Georgia, 10px,
   700, uppercase, #374151). This rule provides only the flex-child layout
   needed when the label sits inside a mf-section-header-row. */
.widget-cac361 .mf-section-label-inline {
  flex: 1;
  min-width: 0;
  display: block; /* override display:inline from the injected strip rule */
}

.widget-cac361 .mf-section-edit-link {
  font-size: 0.6875rem;
  font-weight: var(--mfw-font-weight-ui, 600);
  color: var(--mfw-brand-text, rgb(255, 0, 117));
  text-decoration: none;
  letter-spacing: 0.03em;
  flex-shrink: 0;
  margin-left: auto;
  white-space: nowrap;
  /* Pale ghost frame — visible on dark backgrounds, fades on light */
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 4px;
  padding: 1px 7px;
  transition: background 0.15s, border-color 0.15s;
}

.widget-cac361 .mf-section-edit-link:hover {
  text-decoration: underline;
  background: rgba(255, 255, 255, 0.3);
  border-color: rgba(255, 255, 255, 0.4);
}

.widget-cac361 .mf-section-edit-actions {
  display: inline-flex;
  align-items: center;
  gap: 0;
  flex-shrink: 0;
  margin-left: auto;
}

.widget-cac361 .mf-section-save-btn {
  /* Pale ghost frame — visible on dark backgrounds, fades on light */
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 4px;
  padding: 1px 7px;
  margin: 0 0 0 8px;
  font-size: 0.6875rem;
  font-weight: var(--mfw-font-weight-ui, 600);
  color: var(--mfw-brand-text, rgb(255, 0, 117));
  cursor: pointer;
  font-family: var(--mfw-font-family-body);
  letter-spacing: 0.03em;
  white-space: nowrap;
  text-decoration: none;
  transition: color 0.15s;
}

.widget-cac361 .mf-section-save-btn:hover:not(:disabled) {
  text-decoration: underline;
  color: var(--mfw-brand-text, rgb(220, 0, 100));
  background: rgba(255, 255, 255, 0.3);
  border-color: rgba(255, 255, 255, 0.4);
}

.widget-cac361 .mf-section-save-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.widget-cac361 .mf-section-cancel-btn {
  /* Pale ghost frame — visible on dark backgrounds, fades on light */
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 4px;
  padding: 1px 7px;
  margin: 0 0 0 6px;
  font-size: 0.6875rem;
  font-weight: var(--mfw-font-weight-ui, 600);
  color: var(--mfw-text-subtle, #9ca3af);
  cursor: pointer;
  font-family: var(--mfw-font-family-body);
  letter-spacing: 0.03em;
  white-space: nowrap;
  text-decoration: none;
  transition: color 0.15s, background 0.15s, border-color 0.15s;
}

.widget-cac361 .mf-section-cancel-btn:hover {
  color: var(--mfw-text-muted, #6b7280);
  text-decoration: underline;
  background: rgba(255, 255, 255, 0.3);
  border-color: rgba(255, 255, 255, 0.4);
}

/* ── Section divider ────────────────────────────────────────────────────── */
.mf-form-section-divider {
  border: none;
  border-top: 1px solid var(--mfw-border, #d1d5db);
  margin: 8px 0;
}

/* ── Profile form section label ─────────────────────────────────────────── */
/* Standalone use (edit/registration form, not inside a section-header-row) */
.mf-form-section-label {
  font-family: var(--mfw-font-family-heading, Georgia, "Times New Roman", serif);
  font-size: 0.625rem;
  font-weight: var(--mfw-font-weight-heading, 700);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--mfw-table-col-header-text, #374151);
  margin: 30px 0 12px;
  padding: 7px 10px;
  background: var(--mfw-table-col-header-bg, #f3f4f6);
  border-top: 1px solid var(--mfw-table-col-header-bg, #e5e7eb);
  border-bottom: 1px solid var(--mfw-table-col-header-bg, #d1d5db);
  border-radius: var(--mfw-radius-card, 6px) var(--mfw-radius-card, 6px) 0 0;
  display: block;
  width: 100%;
  box-sizing: border-box;
}

/* When the label is inside a section-header-row, strip all its own chrome —
   the row itself provides the background, borders, radius and spacing */
.mf-section-header-row .mf-form-section-label {
  background: none;
  border: none;
  border-radius: 0;
  margin: 0;
  padding: 0;
  width: auto;
  display: inline;
}

/* ── Section divider ────────────────────────────────────────────────────── */
.mf-contact-whatsapp-row {
  margin-top: 8px;
  margin-bottom: 0;
}

/* ── Phone + IDD side-by-side row ───────────────────────────────────────────── */
.mf-phone-idd-row {
  display: flex;
  align-items: stretch;
  gap: 0;
  width: 100%;
  position: relative;
}

/* ── IDD Combo dropdown (verification form) ─────────────────────────────────── */
.mf-idd-combo {
  position: relative;
  flex: 0 0 auto;
}

/* The clickable display cell showing flag + code + chevron */
.mf-idd-combo-display {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 100%;
  min-width: 72px;
  max-width: 88px;
  padding: 6px 6px 6px 8px;
  background: var(--mfw-input-bg, #ffffff);
  border: 1px solid var(--mfw-input-border, #c0c5cc);
  border-right: none;
  border-radius: 6px 0 0 6px;
  font-size: 0.8rem;
  font-family: var(--mfw-font-family-body, system-ui, sans-serif);
  color: var(--mfw-text-muted, #374151);
  white-space: nowrap;
  box-sizing: border-box;
  line-height: 1.4;
  cursor: pointer;
  user-select: none;
  outline: none;
}

.mf-idd-combo-display:hover,
.mf-idd-combo-display:focus {
  background: var(--mfw-table-col-header-bg, #f3f4f6);
  border-color: var(--mfw-text-subtle, #9ca3af);
}

.mf-idd-chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--mfw-text-subtle, #9ca3af);
  margin-left: 1px;
  width: 12px;
  height: 12px;
}

/* The floating panel containing search box + option list */
.mf-idd-combo-panel {
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  width: 260px;
  background: var(--mfw-input-bg, #ffffff);
  border: 1px solid var(--mfw-input-border, #c0c5cc);
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.14);
  z-index: 10001;
  overflow: hidden;
}

.mf-idd-search-wrap {
  padding: 8px 8px 6px;
  border-bottom: 1px solid var(--mfw-border, #e5e7eb);
}

.mf-idd-search {
  width: 100%;
  box-sizing: border-box;
  padding: 5px 8px;
  font-size: 0.8rem;
  border: 1px solid var(--mfw-input-border, #c0c5cc);
  border-radius: 5px;
  outline: none;
  font-family: var(--mfw-font-family-body);
  color: var(--mfw-text, #1a1a1a);
  background: var(--mfw-input-bg, #ffffff);
}

.mf-idd-search:focus {
  border-color: #4a7c59;
}

.mf-idd-options {
  max-height: 220px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.mf-idd-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  font-size: 0.8rem;
  font-family: var(--mfw-font-family-body, system-ui, sans-serif);
  color: var(--mfw-text, #1a1a1a);
  cursor: pointer;
  transition: background 0.1s;
  white-space: nowrap;
  text-align: left;
}

.mf-idd-option:hover,
.mf-idd-option.is-active {
  background: var(--mfw-table-col-header-bg, #f3f4f6);
}

.mf-idd-option.is-selected {
  background: var(--mfw-surface-raised, #f0f4ff);
  font-weight: 600;
}

.mf-idd-option-name {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--mfw-text-muted, #374151);
  text-align: left !important;
}

.mf-idd-option-code {
  flex-shrink: 0;
  color: var(--mfw-text-subtle, #9ca3af);
  font-size: 0.75rem;
  font-family: var(--mfw-font-family-body, system-ui, sans-serif);
  font-variant-numeric: tabular-nums;
}

/* IDD display: flag + dial code — legacy (profile form Page A) */
.mf-idd-display {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 100%;
  min-width: 64px;
  padding: 6px 8px;
  background: var(--mfw-input-bg, #ffffff);
  border: 1px solid var(--mfw-input-border, #c0c5cc);
  border-right: none;
  border-radius: 6px 0 0 6px;
  font-size: 0.875rem;
  color: var(--mfw-text-muted, #374151);
  white-space: nowrap;
  box-sizing: border-box;
  line-height: 1.4;
  cursor: pointer;
  user-select: none;
}

/* Override underline style inside #additional-fields for IDD display */
#additional-fields .mf-idd-display {
  background: var(--mfw-input-bg-disabled, #f9fafb);
  border: 1px solid var(--mfw-input-border, #c0c5cc);
  border-right: none;
  border-radius: 0;
  padding: 6px 8px;
}

.mf-idd-flag {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

.mf-idd-flag .mf-flag-img {
  display: block;
  width: auto;
  height: 14px;
  border-radius: 2px;
  object-fit: cover;
}

.mf-idd-code {
  font-size: 0.8rem;
  font-weight: var(--mfw-font-weight-body, 400);
  font-family: var(--mfw-font-family-body, system-ui, sans-serif);
  color: var(--mfw-text-muted, #374151);
}

/* Hidden select — profile form Page A (legacy pattern) */
.mf-idd-select-hidden {
  position: absolute;
  left: 0;
  top: 0;
  width: 80px;
  height: 100%;
  opacity: 0;
  pointer-events: auto;
  cursor: pointer;
  z-index: 2;
  border: none;
  -webkit-appearance: menulist;
  appearance: menulist;
}

/* Local phone input: takes remaining space, right-anchored border */
.mf-phone-local {
  flex: 1 1 0;
  min-width: 0;
  border-radius: 0 6px 6px 0 !important;
  border-left: none !important;
}

.mf-phone-local:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}

#additional-fields .mf-phone-local {
  border-radius: 0 !important;
  border-left: none !important;
  padding-left: 6px !important;
  border: 1px solid #c0c5cc !important;
  border-left: none !important;
  background: transparent;
}

/* ── Compact filter/toggle rows ───────────────────────────────────────── */
/* Mirror the Directory Widget rw-filter-group-inline pattern.                  */
/* Pair wrapper: Private + WhatsApp side by side on one line */
.mf-filter-row-pair {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 20px;
  margin-top: 0;
}

/* Inside the contact column, cancel the 12px column gap above the toggle blocks
   and keep only a small 5px gap between the two toggle pair rows */
.mf-contact-col > .mf-filter-row-pair {
  margin-top: -6px;
}

.mf-contact-col > .mf-filter-row-pair + .mf-filter-row-pair {
  margin-top: 2px;
}

/* Each toggle in a pair takes exactly half the row so columns align across rows */
.mf-filter-row-pair .mf-filter-group {
  margin-top: 0;
  flex-shrink: 1;
  min-width: 0;
  flex: 0 0 calc(50% - 10px);
}

/* Allow the label inside a pair to wrap onto a second line if needed */
.mf-filter-row-pair .mf-filter-label {
  white-space: normal;
}

.mf-filter-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 3px;
  margin-top: 0;
  margin-bottom: 0;
}

.mf-filter-group.mf-filter-group-inline {
  flex-direction: row;
  align-items: center;
  gap: 7px;
}

.mf-filter-label {
  font-size: 0.75rem;
  font-weight: var(--mfw-font-weight-body, 400);
  color: var(--mfw-text-subtle, #6b7280);
  text-transform: none;
  letter-spacing: 0;
  flex-shrink: 0;
  white-space: nowrap;
  margin: 0;
}

.mf-pill-group {
  display: inline-flex;
  gap: 0;
  border: 1.5px solid var(--mfw-border, #d1d5db);
  border-radius: 5px;
  overflow: hidden;
  background: var(--mfw-input-bg, #ffffff);
  flex-shrink: 0;
}

.mf-pill-btn {
  padding: 1px 8px;
  font-size: 0.75rem;
  font-weight: var(--mfw-font-weight-ui, 600);
  line-height: 1.35;
  border: none;
  border-right: 1.5px solid var(--mfw-border, #d1d5db);
  background: transparent;
  color: var(--mfw-text-subtle, #9ca3af);
  cursor: pointer;
  transition: background 0.13s ease, color 0.13s ease;
  white-space: nowrap;
  font-family: var(--mfw-font-family-body);
}

.mf-pill-btn:last-child {
  border-right: none;
}

.mf-pill-btn:hover {
  background: var(--mfw-table-col-header-bg, #f3f4f6);
  color: var(--mfw-text-muted, #374151);
}

/* On (✓) active state — green for Yes, and also green for "No" on the Private toggle
   (because "No" = share = positive action on that toggle) */
.mf-pill-btn[data-value=Yes].mf-pill-active {
  background: #111827;
  color: #ffffff;
}

/* Private toggle ✓ pill: data-value="No" (= share = not private in DB) — show green */
#private-pills .mf-pill-btn[data-value=No].mf-pill-active {
  background: #d1fae5;
  color: #065f46;
}

/* Private toggle ✗ pill: data-value="Yes" (= keep private) — show red */
#private-pills .mf-pill-btn[data-value=Yes].mf-pill-active {
  background: #fee2e2;
  color: #991b1b;
}

/* WhatsApp toggle ✓ pill: data-value="Yes" (= on WhatsApp) — show green */
#whatsapp-pills .mf-pill-btn[data-value=Yes].mf-pill-active {
  background: #d1fae5;
  color: #065f46;
}

/* WhatsApp toggle ✗ pill: data-value="No" (= not on WhatsApp) — show red */
#whatsapp-pills .mf-pill-btn[data-value=No].mf-pill-active {
  background: #fee2e2;
  color: #991b1b;
}

/* MalSoc toggle ✓ pill: data-value="Yes" (= on mailing list) — show green */
#malsoc-pills .mf-pill-btn[data-value=Yes].mf-pill-active {
  background: #d1fae5;
  color: #065f46;
}

/* MalSoc toggle ✗ pill: data-value="No" (= not on mailing list) — show red */
#malsoc-pills .mf-pill-btn[data-value=No].mf-pill-active {
  background: #fee2e2;
  color: #991b1b;
}

/* Off (✗) active state for all other pill groups */
.mf-pill-btn[data-value=No].mf-pill-active {
  background: #fee2e2;
  color: #991b1b;
}

/* required-but-unanswered state — red ring on the pill group border */
.mf-filter-group.mf-pill-required .mf-pill-group {
  border-color: #e74c3c;
  box-shadow: 0 0 0 2px rgba(231, 76, 60, 0.15);
}

/* Subscribe pill toggle: ✓ = subscribed (green), ✗ = unsubscribed (red) */
#subscribe-pills .mf-pill-btn[data-value=Yes].mf-pill-active {
  background: #d1fae5;
  color: #065f46;
}

#subscribe-pills .mf-pill-btn[data-value=No].mf-pill-active {
  background: #fee2e2;
  color: #991b1b;
}

/* ── Unsubscribe checkbox (bottom of Page B) ─────────────────────────────── */
.mf-unsubscribe-row {
  margin-top: 20px;
  margin-bottom: 4px;
}

.mf-unsubscribe-label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
  font-size: 0.75rem;
  color: var(--mfw-text-subtle, #9ca3af);
  line-height: 1.5;
}

.mf-unsubscribe-checkbox {
  margin-top: 2px;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  cursor: pointer;
  accent-color: rgb(255, 0, 117);
}

/* ── Role field textarea (Page B, 2-line) ──────────────────────────────── */
.mf-role-textarea {
  min-height: 0;
  height: calc(2.8em + 16px);
  resize: none;
  overflow: hidden;
  line-height: 1.4;
}

/* Page B textarea breathing room */
#profile-page-b .mf-form-textarea {
  line-height: 1.65;
  font-size: 0.9rem;
  color: var(--mfw-text, #1a1a1a);
}

/* Applies ONLY inside #additional-fields — verification inputs are untouched */
#additional-fields .mf-form-input,
#additional-fields .mf-form-select {
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--mfw-input-border, #c0c5cc);
  border-radius: 0;
  padding-left: 2px;
  padding-right: 2px;
}

/* Restore red left border for required fields — overrides the border:none above */
#additional-fields .mf-form-group:has(.mf-req-label) .mf-form-input,
#additional-fields .mf-form-group:has(.mf-req-label) .mf-form-select {
  border-left: 3px solid #be123c !important;
}

#additional-fields .mf-form-group:has(.mf-req-label) .mf-country-input {
  border-left: 3px solid #be123c !important;
}

#additional-fields .mf-form-group:has(.mf-req-label) .mf-form-textarea {
  border-left: 3px solid #be123c !important;
}

/* Textareas in #additional-fields get a full visible border — underline alone
   is insufficient to signal a multi-line text area to the user */
#additional-fields .mf-form-textarea {
  background: var(--mfw-input-bg, #ffffff);
  border: 1px solid var(--mfw-input-border, #c0c5cc);
  border-radius: 0;
  padding: 8px 10px;
  white-space: pre-wrap;
}

#additional-fields .mf-form-input:focus,
#additional-fields .mf-form-select:focus {
  border-bottom-color: #4a7c59;
  outline: none;
  box-shadow: none;
}

#additional-fields .mf-form-textarea:focus {
  border-color: #4a7c59;
  outline: none;
  box-shadow: none;
}

/* Error state for underline inputs — full red border (overrides underline-only style) */
.widget-cac361 #additional-fields .mf-form-input.mf-error,
.widget-cac361 #additional-fields input.mf-form-input.mf-error,
.widget-cac361 #additional-fields input[type=text].mf-error,
.widget-cac361 #additional-fields input[type=tel].mf-error,
.widget-cac361 #additional-fields input[type=email].mf-error,
.widget-cac361 #additional-fields .mf-form-select.mf-error,
.widget-cac361 #additional-fields select.mf-form-select.mf-error {
  border: 2px solid #dc2626 !important;
  border-radius: 6px !important;
  background: transparent;
}

/* Error state for textareas — full border */
.widget-cac361 #additional-fields .mf-form-textarea.mf-error,
.widget-cac361 #additional-fields textarea.mf-form-textarea.mf-error {
  border: 2px solid #dc2626 !important;
  border-radius: 6px !important;
  background: transparent;
}

/* Valid state for underline inputs — full green border */
.widget-cac361 #additional-fields .mf-form-input.mf-valid,
.widget-cac361 #additional-fields input.mf-form-input.mf-valid,
.widget-cac361 #additional-fields input[type=text].mf-valid,
.widget-cac361 #additional-fields input[type=tel].mf-valid,
.widget-cac361 #additional-fields input[type=email].mf-valid,
.widget-cac361 #additional-fields .mf-form-select.mf-valid,
.widget-cac361 #additional-fields select.mf-form-select.mf-valid {
  border: 2px solid #16a34a !important;
  border-radius: 6px !important;
  background: transparent;
}

/* Valid state for textareas */
.widget-cac361 #additional-fields .mf-form-textarea.mf-valid,
.widget-cac361 #additional-fields textarea.mf-form-textarea.mf-valid {
  border: 2px solid #16a34a !important;
  border-radius: 6px !important;
  background: transparent;
}

/* Country combo underline override */
#additional-fields .mf-country-dropdown {
  background: var(--mfw-input-bg, #ffffff);
  border: 1px solid var(--mfw-input-border, #c0c5cc);
  border-radius: 8px;
}

/* ── Profile wizard navigation buttons ──────────────────────────────────── */
.mf-profile-nav-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-top: 34px;
  padding-top: 16px;
  border-top: 1px solid var(--mfw-border, #e5e7eb);
  gap: 12px;
}

.mf-profile-nav-btn-primary {
  padding: 11px 28px;
  font-size: 0.875rem;
  font-weight: var(--mfw-font-weight-body, 600);
  border-radius: 8px;
  cursor: pointer;
  border: 2px solid rgb(255, 0, 117);
  background: rgb(255, 0, 117);
  color: #ffffff;
  font-family: var(--mfw-font-family-body);
  transition: all 0.2s ease;
  white-space: nowrap;
}

.mf-profile-nav-btn-primary:hover {
  background: rgb(220, 0, 100);
  border-color: rgb(220, 0, 100);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 0, 117, 0.3);
}

.mf-profile-nav-btn-secondary {
  padding: 11px 24px;
  font-size: 0.875rem;
  font-weight: var(--mfw-font-weight-body, 600);
  border-radius: 8px;
  cursor: pointer;
  border: 2px solid var(--mfw-border, #d1d5db);
  background: transparent;
  color: var(--mfw-text-subtle, #6b7280);
  font-family: var(--mfw-font-family-body);
  transition: all 0.2s ease;
  white-space: nowrap;
}

.mf-profile-nav-btn-secondary:hover {
  border-color: var(--mfw-text-subtle, #9ca3af);
  color: var(--mfw-text-muted, #374151);
  background: var(--mfw-input-bg-disabled, #f9fafb);
}

/* Next button — secondary style with pink border */
.mf-profile-nav-btn-next {
  border-color: rgb(255, 0, 117);
  color: rgb(255, 0, 117);
}

.mf-profile-nav-btn-next:hover {
  border-color: rgb(220, 0, 100);
  color: rgb(220, 0, 100);
  background: #fff0f6;
}

@media (max-width: 767px) {
  .mf-profile-nav-row {
    flex-direction: column-reverse;
    align-items: stretch;
  }
  .mf-profile-nav-btn-primary,
  .mf-profile-nav-btn-secondary {
    width: 100%;
    text-align: center;
  }
}
/* ── Bottom bar: privacy toggle + submit ────────────────────────────────── */
.mf-form-bottom-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 0;
  padding-top: 0;
  gap: 16px;
  margin-bottom: 40px;
}

/* ── Privacy toggle ─────────────────────────────────────────────────────── */
.mf-privacy-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  user-select: none;
  flex: 1;
}

.mf-privacy-toggle-inline {
  flex: 1;
}

.mf-privacy-label {
  font-size: 0.6875rem;
  font-weight: var(--mfw-font-weight-body, 400);
  color: var(--mfw-text-subtle, #9ca3af);
  cursor: pointer;
  line-height: 1.4;
}

.mf-privacy-checkbox {
  width: 14px;
  height: 14px;
  cursor: pointer;
  accent-color: rgb(255, 0, 117);
  flex-shrink: 0;
}

/* ── Submit button ──────────────────────────────────────────────────────── */
.mf-reg-btn-submit-large {
  padding: 12px 28px;
  font-size: 0.9375rem;
  font-weight: var(--mfw-font-weight-body, 600);
  border-radius: 8px;
  cursor: pointer;
  border: 2px solid rgb(255, 0, 117);
  background: rgb(255, 0, 117);
  color: #ffffff;
  transition: all 0.2s ease;
  white-space: nowrap;
  flex-shrink: 0;
}

.mf-reg-btn-submit-large:hover:not(:disabled) {
  background: rgb(220, 0, 100);
  border-color: rgb(220, 0, 100);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 0, 117, 0.3);
}

.mf-reg-btn-submit-large:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  background: #d1d5db;
  border-color: #d1d5db;
  color: #9ca3af;
  transform: none;
  box-shadow: none;
}

/* ── File input (hidden) ────────────────────────────────────────────────── */
.mf-file-input {
  display: none;
}

/* ── Success state ──────────────────────────────────────────────────────── */
.mf-success {
  text-align: center;
  padding: 40px 24px;
}

.mf-success-icon {
  width: 52px;
  height: 52px;
  margin: 0 auto 16px;
  color: #4a7c59;
}

.mf-success-title {
  font-size: 1.4rem;
  font-weight: var(--mfw-font-weight-heading, 700);
  font-family: var(--mfw-font-family-heading, system-ui, sans-serif);
  color: var(--mfw-text, #222222);
  margin: 0 0 8px;
}

.mf-success-text {
  font-size: 0.95rem;
  color: var(--mfw-text-subtle, #666666);
  line-height: 1.6;
}

/* ── Country fuzzy-match dropdown ───────────────────────────────────────── */
.mf-country-combo {
  position: relative;
  width: 100%;
}

.mf-country-input {
  width: 100%;
}

.mf-country-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--mfw-input-bg, #ffffff);
  border: 1px solid var(--mfw-input-border, #c0c5cc);
  border-radius: 8px;
  max-height: 220px;
  overflow-y: auto;
  z-index: 1000;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  display: none;
  margin-top: 4px;
}

.mf-country-dropdown.is-open {
  display: block;
}

.mf-country-option {
  padding: 8px 12px;
  font-size: 0.875rem;
  font-weight: var(--mfw-font-weight-body);
  cursor: pointer;
  color: var(--mfw-text, #1a1a1a);
  transition: background 0.15s ease;
  text-align: left;
}

.mf-country-option:hover {
  background: var(--mfw-table-col-header-bg, #f3f4f6);
}

.mf-country-option.is-active {
  background: var(--mfw-table-col-header-bg, #e8eaed);
}

.mf-country-option.is-selected {
  background: var(--mfw-surface-raised, #f0f4ff);
  font-weight: 600;
}

.mf-country-option.no-match {
  color: var(--mfw-text-subtle, #9ca3af);
  font-style: italic;
  cursor: default;
  font-size: 0.75rem;
}

.mf-country-option.no-match:hover {
  background: transparent;
}

/* ── Attending intent modal question ────────────────────────────────────── */
.mf-modal-attending-block {
  width: 100%;
  margin-top: 4px;
}

.mf-modal-attending-question {
  font-size: 0.9375rem;
  font-weight: var(--mfw-font-weight-ui, 600);
  font-family: var(--mfw-font-family-body, system-ui, sans-serif);
  color: var(--mfw-text-muted, #374151);
  margin: 0 0 14px;
  text-align: center;
}

.mf-modal-attending-choices {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  width: 100%;
}

.mf-attending-choice-btn {
  flex: 1 1 calc(50% - 10px);
  min-width: 120px;
  padding: 12px 16px;
  font-size: 0.875rem;
  font-weight: var(--mfw-font-weight-body, 600);
  border-radius: 10px;
  cursor: pointer;
  border: 2px solid var(--mfw-border, #d1d5db);
  background: var(--mfw-input-bg, #ffffff);
  color: var(--mfw-text-muted, #374151);
  font-family: inherit;
  transition: all 0.2s ease;
  text-align: center;
}

.mf-attending-choice-btn:hover {
  border-color: rgb(255, 0, 117);
  color: rgb(255, 0, 117);
  background: #fff0f6;
  transform: translateY(-1px);
}

.mf-attending-choice-btn.is-selected {
  border-color: rgb(255, 0, 117);
  background: rgb(255, 0, 117);
  color: #ffffff;
}

@media (max-width: 400px) {
  .mf-attending-choice-btn {
    flex: 1 1 100%;
  }
}
/* ── Success modal overlay ──────────────────────────────────────────────── */
.mf-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  animation: mf-modal-fadein 0.3s ease;
}

@keyframes mf-modal-fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.mf-modal-dialog {
  background: var(--mfw-input-bg, #ffffff);
  border-radius: 16px;
  max-width: 500px;
  width: 100%;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  animation: mf-modal-slidein 0.4s ease;
}

@keyframes mf-modal-slidein {
  from {
    opacity: 0;
    margin-top: 30px;
  }
  to {
    opacity: 1;
    margin-top: 0;
  }
}
.mf-modal-content {
  padding: 40px 32px 32px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.mf-modal-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #d1fae5;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #059669;
  margin-bottom: 8px;
}

.mf-modal-icon svg {
  width: 36px;
  height: 36px;
  stroke-width: 3;
}

.mf-modal-title {
  font-size: 1.75rem;
  font-weight: var(--mfw-font-weight-heading, 700);
  font-family: var(--mfw-font-family-heading, system-ui, sans-serif);
  color: var(--mfw-text, #1a1a1a);
  margin: 0;
  line-height: 1.3;
}

.mf-modal-text {
  font-size: 1rem;
  color: var(--mfw-text-subtle, #6b7280);
  line-height: 1.6;
  margin: 0;
  max-width: 400px;
}

.mf-modal-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  margin-top: 12px;
}

.mf-modal-btn {
  width: 100%;
  padding: 14px 28px;
  font-size: 0.9375rem;
  font-weight: var(--mfw-font-weight-body, 600);
  border-radius: 10px;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all 0.2s ease;
  font-family: inherit;
}

.mf-modal-btn-primary {
  background: rgb(255, 0, 117);
  color: #ffffff;
  border-color: rgb(255, 0, 117);
}

.mf-modal-btn-primary:hover {
  background: rgb(220, 0, 100);
  border-color: rgb(220, 0, 100);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(255, 0, 117, 0.4);
}

.mf-modal-btn-secondary {
  background: var(--mfw-input-bg, #ffffff);
  color: var(--mfw-text-muted, #4b5563);
  border-color: var(--mfw-border, #d1d5db);
}

.mf-modal-btn-secondary:hover {
  background: var(--mfw-input-bg-disabled, #f9fafb);
  border-color: var(--mfw-text-subtle, #9ca3af);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.mf-modal-btn-disabled {
  background: var(--mfw-border, #e5e7eb);
  color: var(--mfw-text-subtle, #9ca3af);
  border-color: var(--mfw-border, #e5e7eb);
  cursor: not-allowed;
  opacity: 0.7;
}

.mf-modal-btn-disabled:hover {
  background: var(--mfw-border, #e5e7eb);
  border-color: var(--mfw-border, #e5e7eb);
  transform: none;
  box-shadow: none;
}

/* ── Modal theme picker wrapper ────────────────────────────────── */
.mf-modal-theme-picker-wrap {
  width: 100%;
  max-width: 360px;
  min-height: 60px;
  margin: 0 auto;
  text-align: left;
}

.mf-modal-theme-picker-wrap .mf-theme-combo {
  max-width: 100%;
}

.mf-modal-theme-picker-wrap .mf-theme-picker-group {
  margin-top: 0;
}

/* ── Tab bar ────────────────────────────────────────────────────────────── */
.mf-tab-bar {
  display: flex;
  border-bottom: 2px solid var(--mfw-border, #e5e7eb);
  margin-bottom: 20px;
  gap: 0;
}

.mf-tab {
  flex: 1;
  padding: 10px 16px;
  font-size: 0.875rem;
  font-weight: var(--mfw-font-weight-body, 600);
  color: var(--mfw-text-subtle, #6b7280);
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s;
  font-family: inherit;
  letter-spacing: 0.01em;
}

.mf-tab:hover {
  color: var(--mfw-text-muted, #374151);
}

.mf-tab-active {
  color: rgb(255, 0, 117);
  border-bottom-color: rgb(255, 0, 117);
}

.mf-tab-panel {
  display: block;
}

/* ── Maiden name row — offset to align under Last Name ───────────────── */
.mf-maiden-offset {
  margin-left: calc(28% + 14px + 14px + 1px);
  flex: 1 1 0;
  min-width: 0;
}

/* ── Login panel ────────────────────────────────────────────────────────── */
.mf-login-intro {
  font-size: 0.875rem;
  font-weight: var(--mfw-font-weight-body);
  color: var(--mfw-text-subtle, #6b7280);
  margin: 0 0 8px;
  line-height: 1.5;
}

.mf-login-grid {
  max-width: 420px;
  margin: 0 auto;
}

.mf-login-link-message {
  font-size: 0.8125rem;
  font-weight: var(--mfw-font-weight-body);
  padding: 10px 0 4px;
  line-height: 1.5;
}

/* ── Verification success inline message ────────────────────────────────── */
.mf-verify-success-msg {
  padding: 18px 20px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 10px;
  text-align: center;
}

.mf-verify-success-msg p {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: var(--mfw-font-weight-body);
  color: #166534;
  line-height: 1.6;
}

.mf-verify-success-msg strong {
  font-weight: 700;
}

/* ── Boot loader / session-resolving spinner ────────────────────────────── */
/* min-height matches the approximate profile form height so the page layout
   does not collapse while the spinner is visible for logged-in users.       */
.mf-boot-loader {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 900px;
  width: 100%;
}

/* In editor context, give the body AND the widget root a solid, fully opaque
   background. The Duda editor determines which frame areas are selectable by
   performing a paint-layer hit-test on the iframe content. If the background
   is transparent or near-transparent (rgba with very low alpha) the editor
   overlay sees through it and never registers the area as belonging to a
   selectable widget — which is why the cursor stays 'default' instead of
   changing to 'pointer'. A fully opaque background is the minimum requirement
   for the editor's selection chrome to appear. */
.mf-editor-context body {
  min-height: 200px !important;
}

/* In editor context, boot never runs — hide the spinner so it does not
   create a giant transparent hit-area that blocks widget selection.
   The editor-context flag is set on <html> by the inline script. */
.mf-editor-context .mf-boot-loader {
  display: none !important;
}

.mf-boot-spinner {
  width: 36px;
  height: 36px;
  border: 3px solid var(--mfw-border, #e5e7eb);
  border-top-color: rgb(255, 0, 117);
  border-radius: 50%;
  animation: mf-spin 0.75s linear infinite;
}

@keyframes mf-spin {
  to {
    transform: rotate(360deg);
  }
}
/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
  .mf-reg-form {
    padding: 16px 20px;
  }
  .mf-form-row {
    flex-wrap: wrap;
  }
  .mf-form-group {
    width: 100% !important;
    flex: 1 1 100% !important;
  }
  .mf-profile-top-block {
    flex-direction: column;
    align-items: center;
  }
  .mf-form-bottom-bar {
    flex-direction: column;
    align-items: stretch;
  }
  .mf-reg-btn-submit-large {
    width: 100%;
  }
  .mf-modal-content {
    padding: 32px 24px 24px;
  }
  .mf-modal-title {
    font-size: 1.5rem;
    font-weight: var(--mfw-font-weight-heading, 700);
  }
  .mf-modal-text {
    font-size: 0.95rem;
  }
}
/* ── Theme Preferences Section ─────────────────────────────────────────── */
/* Section chrome: .mf-section-block / .mf-section-header-row /             */
/* .mf-section-edit-link / .mf-section-save-btn — all defined above.        */
/* Read-only rows: .mf-ro-field / .mf-ro-field-label / .mf-ro-field-value   */
/* — defined in the Read-only field display block above. No redeclaration.  */
/* Picker group label: .mf-form-label — defined in Form rows & groups above.*/
/* Only unique theme-content styles live here.                               */
/* Square swatches appended after the theme name in read-only + combo views */
.mf-theme-swatches {
  display: inline-flex;
  gap: 3px;
  align-items: center;
  margin-left: 4px;
  flex-shrink: 0;
}

.mf-theme-swatch {
  display: inline-block;
  width: 13px;
  height: 13px;
  border-radius: 2px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  flex-shrink: 0;
}

/* Picker container */
.mf-theme-pickers {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 6px 0 4px;
  margin-top: 14px;
}

.mf-theme-picker-group {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: 14px;
}

.mf-theme-picker-group:first-child {
  margin-top: 0;
}

/* Picker group label — uses shared .mf-form-label class (see Form rows & groups above). */
/* Picker group description — small hint text under each theme type label. */
.mf-theme-picker-desc {
  font-size: 0.75rem;
  font-weight: var(--mfw-font-weight-body, 400);
  color: var(--mfw-text-subtle, #6b7280);
  text-transform: none;
  letter-spacing: 0;
  text-align: left;
  display: block;
  white-space: normal;
  margin: 0 0 4px;
  line-height: 1.4;
}

/* Edit actions row — Save/Cancel (via shared .mf-section-save/cancel-btn)  */
/* + optional "Save as Defaults" admin button.                               */
.mf-theme-edit-actions {
  display: flex;
  align-items: center;
  gap: 0;
  margin-top: 12px;
}

/* "Save as Defaults" admin-only pill ghost, site pink */
.mf-theme-default-btn {
  background: none;
  border: 1px solid rgb(255, 0, 117);
  border-radius: 20px;
  padding: 3px 12px;
  margin-left: 16px;
  font-size: 0.6875rem;
  font-weight: var(--mfw-font-weight-ui, 600);
  color: rgb(255, 0, 117);
  cursor: pointer;
  font-family: var(--mfw-font-family-body);
  letter-spacing: 0.03em;
  white-space: nowrap;
  transition: background 0.15s, color 0.15s;
}

.mf-theme-default-btn:hover:not(:disabled) {
  background: rgb(255, 0, 117);
  color: #ffffff;
}

.mf-theme-default-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ── Colour / Font combo — IDD dropdown pattern ────────────────────── */
.mf-theme-combo {
  position: relative;
  z-index: 10000;
  width: 100%;
  max-width: 380px;
}

.mf-theme-combo-trigger {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  padding: 6px 9px;
  background: var(--mfw-input-bg, #ffffff);
  border: 1px solid var(--mfw-input-border, #c0c5cc);
  border-radius: 0;
  font-size: 0.875rem;
  font-family: var(--mfw-font-family-body, system-ui, sans-serif);
  font-weight: var(--mfw-font-weight-body, 400);
  color: var(--mfw-text, #374151);
  text-align: left;
  cursor: pointer;
  white-space: nowrap;
  box-sizing: border-box;
  line-height: 1.4;
  transition: border-color 0.15s;
  overflow: hidden;
}

.mf-theme-combo-trigger:hover,
.mf-theme-combo-trigger[aria-expanded=true] {
  background: var(--mfw-table-col-header-bg, #f3f4f6);
  border-color: rgb(255, 0, 117);
}

/* mf-theme-combo-name / placeholder: font-size and font-family inherited
   from parent .mf-theme-combo-trigger (defined above). Colour + layout only. */
.mf-theme-combo-name {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
  color: var(--mfw-text, #374151);
}

.mf-theme-combo-placeholder {
  flex: 1;
  min-width: 0;
  text-align: left;
  color: var(--mfw-text-subtle, #9ca3af);
}

.mf-theme-combo-swatches {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
  margin-left: 2px;
}

/* .mf-theme-combo-arrow — replaced by shared .mf-idd-chevron (see IDD combo styles above) */
.mf-theme-combo-dropdown {
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  width: 100%;
}

/* Portal variant: fixed positioning, appended to document.body to escape stacking contexts */
.mf-theme-combo-dropdown--portal {
  position: fixed;
  top: 0;
  left: 0;
  width: 240px;
  background: var(--mfw-input-bg, #ffffff);
  border: 1px solid var(--mfw-input-border, #c0c5cc);
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.14);
  z-index: 2147483647;
  overflow: hidden;
  max-height: 280px;
  overflow-y: auto;
  font-family: var(--mfw-font-family-body, system-ui, sans-serif);
}

.mf-theme-combo-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  font-size: 0.875rem;
  font-family: var(--mfw-font-family-body, system-ui, sans-serif);
  color: var(--mfw-text, #1a1a1a);
  cursor: pointer;
  transition: background 0.1s;
  white-space: nowrap;
  text-align: left;
}

.mf-theme-combo-option:hover {
  background: var(--mfw-table-col-header-bg, #f3f4f6);
}

.mf-theme-combo-option--active {
  background: var(--mfw-surface-raised, #f0f4ff);
  font-weight: 600;
}

.mf-theme-combo-option--font {
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 9px 10px;
  white-space: normal;
}

.widget-cac361 .mf-theme-combo-sample {
  font-size: 0.6875rem !important;
  color: var(--mfw-text-subtle, #9ca3af) !important;
  margin-top: 1px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}

/* ── Pill group (Badge / Transitions / Surface / Status) ─────────────── */
/* Identical pattern to .mf-pill-group / .mf-pill-btn — no width expansion */
.mf-theme-pill-group {
  display: inline-flex;
  gap: 0;
  border: none;
  border-radius: 5px;
  overflow: hidden;
  background: var(--mfw-input-bg, #ffffff);
  flex-wrap: nowrap;
  flex-shrink: 0;
  width: auto;
  align-self: flex-start;
}

.mf-theme-pill {
  padding: 2px 10px;
  font-size: 0.75rem;
  font-weight: var(--mfw-font-weight-ui, 600);
  line-height: 1.35;
  border: 1.5px solid var(--mfw-border, #d1d5db);
  border-right-width: 0;
  background: transparent;
  color: var(--mfw-text-subtle, #9ca3af);
  cursor: pointer;
  font-family: var(--mfw-font-family-body);
  transition: background 0.13s ease, color 0.13s ease;
  white-space: nowrap;
  flex-shrink: 0;
  border-radius: 0;
}

.mf-theme-pill:first-child {
  border-radius: 5px 0 0 5px;
}

.mf-theme-pill:last-child {
  border-right-width: 1.5px;
  border-radius: 0 5px 5px 0;
}

.mf-theme-pill:hover {
  background: var(--mfw-table-col-header-bg, #f3f4f6);
  color: var(--mfw-text-muted, #374151);
}

.mf-theme-pill--active {
  background: #d1fae5;
  color: #065f46;
}
