/* WedOne 2026 interface refresh: visual-only overrides, preserve application behavior */

/* Readability pass: typography, accessible sizing and rhythm */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;font-size:16px;line-height:1.55;letter-spacing:0}
#app,.page,.card,.eventCard,.modal,.loginCard,.wdPublicHome{font-size:16px;line-height:1.55}
#app :is(h1,h2,h3,h4),.page :is(h1,h2,h3,h4),.wdPublicHome :is(h1,h2,h3,h4){font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;letter-spacing:-.018em!important;line-height:1.26!important;text-wrap:pretty}
#app h1,.page h1{font-size:clamp(1.7rem,3.3vw,2.3rem);font-weight:750}
#app h2,.page h2{font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:720}
#app h3,.page h3{font-size:clamp(1.12rem,2vw,1.35rem);font-weight:700}
#app :is(p,li,td,th,dd,dt),.page :is(p,li,td,th),.modal :is(p,li,label){line-height:1.6}
#app :is(.card,.eventCard,.stat) p,.modal p{margin-block:.45em .8em}
:where(.field label,.wdPublicHome label){font-size:1rem!important;font-weight:650;line-height:1.4}
:where(input,textarea,select){font-size:16px!important;line-height:1.45!important}
:where(.btn,button,.wedone-navigation button,.wedone-navigation a){font-size:15px;line-height:1.35;font-weight:650}
.wedone-navigation .wedone-location{font-size:14px;line-height:1.45}
.bottom button span{font-size:12px!important;line-height:1.35!important;font-weight:650}
#app .hero p,.hero p{font-size:1rem;line-height:1.65}
#app .hero h1,.hero h1{line-height:1.2!important}
:where(.card,.eventCard,.modal,.loginCard) :is(small,.hint,.helper,.muted){font-size:max(.875rem,14px);line-height:1.5}
:where(input,textarea,select):focus-visible{outline-offset:2px}
@media(max-width:640px){body,#app,.page,.card,.eventCard,.modal{font-size:16px;line-height:1.55}#app h1,.page h1{font-size:1.7rem}#app h2,.page h2{font-size:1.35rem}.btn,button{letter-spacing:0}.bottom button span{font-size:12px!important}}


/* WedOne foreground contrast rules: dark surfaces white, light surfaces black. */
:root{--wd-text-on-dark:#fff;--wd-text-on-light:#101817}
body,#app,.page,.card,.eventCard,.stat,.timeline,.loginCard,.modal,.topbar,.wedone-navigation,.bottom{color:var(--wd-text-on-light)}
#app .card :is(h1,h2,h3,h4,h5,h6,p,span,label,strong,small),#app .eventCard :is(h1,h2,h3,h4,h5,h6,p,span,label,strong,small),#app .stat :is(h1,h2,h3,h4,h5,h6,p,span,label,strong,small),.modal :is(h1,h2,h3,h4,p,span,label,strong),.topbar :is(span,p,label),.wedone-navigation .wedone-location{color:var(--wd-text-on-light)}
#app .hero,#app .hero :is(h1,h2,h3,h4,p,span,strong,small,label,li),.hero,.hero :is(h1,h2,h3,h4,p,span,strong,small,label,li){color:var(--wd-text-on-dark)!important}
#app .hero .btn.ghost,#app .hero .btn.soft,#app .hero .btn.ghost :is(span,strong),#app .hero .btn.soft :is(span,strong){color:var(--wd-text-on-light)!important}
.btn.primary,.btn.primary :is(span,strong,small),button.primary,button.primary :is(span,strong,small),.wlGuest button,.wlGuest button :is(span,strong){color:var(--wd-text-on-dark)!important}
.btn.soft,.btn.soft :is(span,strong),.btn.ghost,.btn.ghost :is(span,strong),.wedone-navigation :is(button,a),.wedone-navigation :is(button,a) :is(span,strong),.bottom button,.bottom button :is(span,strong,small){color:var(--wd-text-on-light)!important}
:where(input,textarea,select){color:var(--wd-text-on-light)}
:where(input,textarea)::placeholder{color:#444f4b;opacity:1}
:is(.card,.eventCard,.stat,.modal,.topbar,.wedone-navigation,.bottom) :is(a,button):not(.primary){text-decoration-color:currentColor}

:root{--wd-ui-radius:18px;--wd-ui-teal:#085b58;--wd-ui-coral:#f07862;--wd-ui-canvas:#f7f8f6;--wd-ui-stroke:#dce6e1;--wd-ui-shadow:0 10px 32px rgba(8,65,62,.075)}
html{scroll-padding-top:85px}
body{background:radial-gradient(ellipse 850px 380px at 93% 0%,rgba(240,120,98,.075),transparent 75%),linear-gradient(180deg,#fbfcfa,#f4f7f5)!important;color:#233b38}
#app,.page,.app{min-width:0}
#app h1,#app h2,#app h3,.page h2,.card h3,.eventCard h3{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;letter-spacing:-.035em;line-height:1.18}
#app h1,.page h1{font-weight:800}
#app .card,#app .eventCard,#app .stat,.card,.eventCard,.stat,.timeline,.loginCard{border:1px solid var(--wd-ui-stroke)!important;border-radius:var(--wd-ui-radius)!important;box-shadow:var(--wd-ui-shadow)!important;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
@media(hover:hover){#app .eventCard:hover,#app .card:hover,.eventCard:hover{border-color:#a9d0c7!important;box-shadow:0 16px 32px rgba(8,65,62,.105)!important;transform:translateY(-2px)}}
#app .hero,.hero{border-radius:24px!important;background:linear-gradient(115deg,#064a48 0%,#08776c 70%,#158078 100%)!important;box-shadow:0 16px 38px rgba(5,80,76,.16)!important;position:relative;overflow:hidden}
#app .hero:before,.hero:before{content:"";position:absolute;right:-45px;top:-110px;width:300px;height:300px;border:1px solid rgba(255,255,255,.18);border-radius:50%;pointer-events:none}
#app .hero:after,.hero:after{content:"";position:absolute;right:25px;top:-75px;width:210px;height:210px;border:1px solid rgba(255,255,255,.11);border-radius:50%;pointer-events:none}
.wedone-navigation{background:rgba(250,252,250,.95)!important;backdrop-filter:blur(18px);border-bottom:1px solid #dce6e1!important;box-shadow:0 3px 15px rgba(10,61,56,.04);min-height:62px;gap:7px!important}
.wedone-navigation button,.wedone-navigation a{background:#fff!important;color:#215b56!important;border-color:#d8e7df!important;border-radius:12px!important;font-weight:700!important;min-height:42px}
.wedone-navigation button:hover,.wedone-navigation a:hover{background:#eaf5f1!important}
.wedone-navigation .wedone-signout{margin-left:auto!important}
.topbar{background:rgba(250,252,250,.95)!important;backdrop-filter:blur(15px);border-color:#e0e8e1!important}
.btn,.bottom button,.eventLink{transition:background .15s ease,box-shadow .15s ease,transform .15s ease}
.btn{min-height:44px;border-radius:12px!important;letter-spacing:-.01em}
.btn.primary{background:#08645e!important;border-color:#08645e!important;box-shadow:0 4px 12px rgba(8,91,88,.14)!important}
.btn.primary:hover{background:#064c49!important}
.btn.soft{background:#e8f5f0!important;color:#075d58!important;border-color:#cee5dc!important}
.btn.ghost{background:#fff!important;color:#085b58!important}
.actions{gap:9px!important}
.field input,.field select,.field textarea,.wedone-tool-search input{border-radius:12px!important;border:1px solid #cfded8!important;background:#fff;min-height:44px}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#08766d;box-shadow:0 0 0 3px rgba(8,118,109,.10)}
.bottom{background:rgba(251,253,251,.97)!important;border-top:1px solid #d9e7df!important;box-shadow:0 -8px 24px rgba(18,68,62,.07)!important;gap:4px!important}
.bottom button{color:#315e59!important;border-radius:13px!important;min-height:62px!important}
.bottom button.active,.bottom button[aria-current="page"],.bottom button[aria-selected="true"]{background:#e1f1eb!important;color:#075d58!important}
.bottom .menuIcon{width:25px!important;height:25px!important}
.wdSection,.eventLink{border-radius:13px}
.modal{border-radius:22px!important;box-shadow:0 22px 80px rgba(15,44,40,.2)!important}
:where(button,a,input,select,textarea):focus-visible{outline:3px solid #ee8b78!important;outline-offset:3px!important}
@media(max-width:760px){.page,.main,.content{max-width:100%;min-width:0}.wedone-navigation{gap:5px!important;padding:6px 10px!important;flex-wrap:wrap}.wedone-navigation button,.wedone-navigation a{padding:0 10px!important;font-size:13px!important}.wedone-location{flex-basis:100%;order:4}.pageHead{gap:12px}.hero{border-radius:19px!important;padding:20px!important}.card,.eventCard,.stat{border-radius:16px!important}.bottom button{font-size:12px!important;padding:6px 2px!important}.stats{gap:10px!important;grid-template-columns:repeat(2,minmax(0,1fr))}.quickLinks{gap:8px!important}.modal{max-height:calc(100dvh - 18px)!important}}
@media(max-width:380px){.stats{grid-template-columns:1fr!important}.wedone-navigation .wedone-signout{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){#app .card,#app .eventCard,.btn,.eventLink{transition:none!important}#app .card:hover,#app .eventCard:hover{transform:none!important}}
@media print{.wedone-navigation,.bottom{display:none!important}body{background:white!important}.card,.eventCard{box-shadow:none!important}}
