/* Presentation comes from the active theme. Only access-screen layout lives here. */
.os-public{margin:0;min-height:100vh;display:grid;place-items:center}
.os-public *{box-sizing:border-box}
.os-public .os-shell{width:min(var(--os-width,640px),calc(100% - 32px));padding:48px;background:inherit;border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 20%,transparent);border-radius:var(--os-radius,20px);text-align:center}
.os-public .os-mark{font-size:38px;font-weight:700;letter-spacing:-3px}
.os-public h1,.os-public h2{overflow-wrap:anywhere}
.os-public .os-button{display:block;padding:13px 24px;border-radius:10px;text-decoration:none;margin:26px 0 16px}
.os-public .os-back{display:block;margin:18px 0}
.os-public #os-open,.os-public #os-close{font:inherit;cursor:pointer;border:1px solid currentColor;background:transparent;color:inherit;border-radius:8px;padding:8px 14px}
.os-public dialog{font:inherit;color:inherit;background:inherit;width:min(var(--os-width,640px),calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 25%,transparent);border-radius:var(--os-radius,20px);padding:40px}
.os-public dialog::backdrop{background:rgb(0 0 0 / .45);backdrop-filter:blur(5px)}
.os-public #os-close{position:absolute;right:12px;top:12px;font-size:24px;line-height:1;padding:4px 10px}
.os-public :focus-visible{outline:3px solid currentColor;outline-offset:4px}
.os-public .os-custom{overflow-wrap:anywhere}
.os-public .os-custom img{max-width:100%;height:auto}
@media(max-width:480px){.os-public .os-shell,.os-public dialog{padding:32px 22px}}
@media(prefers-reduced-motion:reduce){.os-public *{scroll-behavior:auto}}

.os-public.os-preview-mode{min-height:100vh;padding:20px;box-sizing:border-box}
.os-preview-mode a{pointer-events:none}
.os-preview-modal .os-shell{filter:blur(3px);opacity:.35;pointer-events:none}
.os-preview-modal::before{content:'';position:fixed;inset:0;background:rgb(0 0 0 / .35);z-index:1}
.os-preview-modal dialog[open]{position:absolute;top:30px;left:0;right:0;z-index:2;max-height:none;margin:0 auto}
.os-preview-mode #os-close{pointer-events:none}
/* Preview actions point only to #, but should still demonstrate hover styling. */
.os-preview-mode a.os-button,.os-preview-mode a.os-back{pointer-events:auto;cursor:default}
/* Intrinsic preview layout lets the parent iframe fit the complete notification. */
.os-public.os-preview-mode{min-height:0;display:block;margin:0;padding:20px;overflow-wrap:anywhere}
.os-preview-mode .os-shell{margin:0 auto}
.os-preview-modal .os-shell{display:none}
.os-preview-modal dialog[open]{position:relative;top:auto;left:auto;right:auto;margin:0 auto;max-height:none}
html.os-preview-document{margin-top:0!important;min-height:0}

.os-login-form{text-align:left;margin-top:22px}.os-login-form label{display:flex;flex-direction:column;gap:6px;margin:14px 0}.os-login-form input[type=text],.os-login-form input[type=password],.os-login-form input[type=email]{font:inherit;width:100%;min-height:44px;padding:9px;border:1px solid #89978c;border-radius:6px;background:#fff;color:#243337}.os-login-form .os-login-remember{flex-direction:row;align-items:center}.os-login-form .os-button{font:inherit;width:100%;border:0;cursor:pointer}.os-preview-mode:has(.os-login-form) #os-dialog{position:relative;inset:auto;margin:0 auto;max-height:none}.os-preview-mode:has(.os-login-form)>.os-shell:has(#os-open){display:none}

.os-contact-form input[type=tel],.os-contact-form select{font:inherit;width:100%;min-height:44px;padding:9px;border:1px solid #89978c;border-radius:6px;background:#fff;color:#243337}
.os-contact-form .os-contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.os-contact-phone,.os-contact-reasons{border:0;padding:0;margin:18px 0;min-width:0;text-align:left}
.os-contact-phone>div{display:grid;grid-template-columns:minmax(90px,1fr) minmax(0,2fr);gap:12px}
.os-contact-phone label{margin:6px 0}.os-contact-phone small{font-size:12px;line-height:1.5}
.os-contact-reasons>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.os-contact-form .os-contact-reasons label{position:relative;display:block;margin:0;cursor:pointer}
.os-contact-reasons input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.os-contact-reasons span{display:block;padding:9px 14px;border:1px solid currentColor;border-radius:24px;font-size:15px}
.os-contact-reasons input:checked+span{background:color-mix(in srgb,currentColor 15%,transparent);box-shadow:inset 0 0 0 2px currentColor;font-weight:bold}
.os-contact-reasons input:focus-visible+span{outline:3px solid currentColor;outline-offset:3px}
.os-contact-error{padding:12px;border:2px solid currentColor;border-radius:8px;font-weight:600}
@media(max-width:480px){.os-contact-phone>div{grid-template-columns:1fr}.os-contact-reasons span{font-size:14px}}
/* A single phone control keeps country and number aligned at every viewport. */
.os-contact-phone>.os-phone-control{display:grid;grid-template-columns:24px minmax(62px,90px) minmax(0,1fr);align-items:start;gap:8px;background:#fff;color:#243337;border:1px solid #89978c;border-radius:8px;padding:10px 8px}
.os-phone-control .os-phone-icon{font-size:22px;line-height:44px;align-self:start;padding-top:24px}
.os-contact-form .os-phone-control>label{font-size:12px;min-width:0;margin:0;gap:5px}
.os-contact-form .os-phone-control input,.os-contact-form .os-phone-control select{min-width:0;width:100%;font-size:16px;min-height:44px;padding:7px 4px}
.os-phone-control:focus-within{outline:2px solid currentColor;outline-offset:2px}
.os-login-form .os-field-error{font-size:12px;font-weight:600;line-height:1.4;overflow-wrap:anywhere;color:inherit}
.os-login-form [aria-invalid=true]{border:2px solid currentColor}
.os-login-form .os-password-toggle{font:inherit;font-size:14px;border:1px solid currentColor;color:inherit;background:transparent;border-radius:6px;padding:7px 12px;cursor:pointer}
.os-login-form [hidden]{display:none!important}
@media(max-width:380px){.os-contact-phone>.os-phone-control{grid-template-columns:20px 64px minmax(0,1fr);gap:5px;padding:8px 5px}.os-phone-control .os-phone-icon{font-size:19px}}
.os-contact-form .os-phone-control>label{display:grid;grid-template-rows:32px auto;align-content:start}
.os-phone-control .os-phone-icon{padding-top:32px}
/* Compact, viewport-bounded notifications. Long content remains reachable at large text sizes. */
.os-public{min-height:100svh;padding:clamp(8px,2vh,20px);font-size:clamp(14px,1.65vh,16px);line-height:1.4}
.os-public .os-shell,.os-public dialog{width:min(var(--os-width,480px),520px,calc(100vw - 24px));padding:clamp(16px,3vh,26px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.os-public h1,.os-public h2{font-size:clamp(22px,3.3vh,30px);line-height:1.15;margin:10px 0}
.os-public p{margin:8px 0}.os-public .os-mark{font-size:28px;line-height:1.1}.os-public .os-button{padding:10px 16px;margin:12px 0 8px}.os-public .os-back{margin:8px 0;font-size:.9em}
.os-public .os-login-form{margin-top:12px}.os-public .os-login-form label{margin:8px 0;gap:4px}.os-public .os-login-form .os-button{margin:12px 0 6px}
.os-public .os-contact-phone,.os-public .os-contact-reasons{margin:10px 0}.os-public .os-contact-reasons>div{gap:6px;margin-top:6px}.os-public .os-contact-reasons span{padding:6px 10px;font-size:13px}
.os-public .os-contact-phone>.os-phone-control{padding:6px;gap:6px}.os-public .os-phone-control .os-phone-icon{padding-top:22px}.os-public .os-contact-form .os-phone-control>label{grid-template-rows:22px auto;margin:0}
.os-public.os-preview-mode{padding:10px}.os-preview-modal dialog[open],.os-preview-mode:has(.os-login-form) #os-dialog{max-height:calc(100dvh - 20px)}
@media(max-height:720px){.os-public .os-shell,.os-public dialog{padding:14px 20px}.os-public h1,.os-public h2{font-size:23px;margin:6px 0}.os-public p{margin:5px 0}.os-public .os-button{margin:8px 0 5px}.os-public .os-login-form label{margin:6px 0}.os-public .os-login-form{margin-top:8px}}
.os-public .os-contact-form .os-contact-reasons label{margin:0}.os-public dialog{max-width:calc(100vw - 24px)}
.os-public .os-contact-phone small{font-size:11px;line-height:1.3;display:block;margin-top:4px}
@media(max-height:740px){.os-public:has(.os-contact-form){font-size:13px;line-height:1.35}.os-public .os-contact-form label{margin:4px 0}.os-public .os-contact-form input,.os-public .os-contact-form select{min-height:40px;padding:6px}.os-public .os-contact-form .os-phone-control>label{grid-template-rows:17px auto}.os-public .os-contact-phone>.os-phone-control{padding:4px}.os-public .os-contact-form .os-phone-icon{padding-top:17px;line-height:40px}.os-public .os-contact-reasons{margin:7px 0}.os-public .os-contact-form .os-contact-reasons label{margin:0}}
.os-public .os-button{transition:background-color .16s,color .16s,box-shadow .16s;background:var(--wp--preset--color--primary,var(--teal,#246653));color:var(--wp--preset--color--base,#102e2b);font-weight:700}
.os-public .os-button:hover,.os-public .os-button:focus-visible{background:var(--os-hover-background,#174e43);color:var(--os-hover-text,#fff);box-shadow:0 3px 10px rgb(0 0 0 / .12)}
.os-profile-names{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.os-profile-names label:last-child{grid-column:1/-1}.os-login-form details{font-size:13px;text-align:left}.os-login-form summary{cursor:pointer}
@media(prefers-reduced-motion:reduce){.os-public .os-button{transition:none}}

.os-public .os-account-navigation{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 20px}

.os-public .os-contact-phone>.os-phone-control{grid-template-columns:24px minmax(140px,170px) minmax(0,1fr)}
.os-public .os-country-combo{appearance:none;background:var(--os-surface,#fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23246653' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 10px center;border:1px solid #89978c;border-radius:8px;padding-right:28px!important;color:inherit;font-weight:600;cursor:pointer}
@media(max-width:480px){.os-public .os-contact-phone>.os-phone-control{grid-template-columns:20px minmax(120px,140px) minmax(0,1fr)}}
@media(max-width:360px){.os-public .os-contact-phone>.os-phone-control{grid-template-columns:20px minmax(0,1fr)}.os-public .os-phone-control>label:last-child{grid-column:2}}

.os-country-trigger{width:100%;min-height:44px;display:flex;align-items:center;gap:8px;border:1px solid #89978c;border-radius:8px;padding:8px 26px 8px 8px;background:#fffef9;color:#243337;font:inherit;font-size:14px;font-weight:600;position:relative;cursor:pointer;text-align:left}
.os-country-trigger::after{content:'⌄';position:absolute;right:9px;color:#246653}.os-country-trigger img,.os-country-option img{width:24px;height:18px;object-fit:contain;flex:none}
.os-country-options{box-sizing:border-box;position:fixed;inset:auto;margin:0;padding:5px;border:1px solid #89978c;border-radius:10px;background:#fffef9;color:#243337;box-shadow:0 8px 30px #14282330;overflow:auto;font:14px/1.4 sans-serif}
.os-country-option{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;background:transparent;color:inherit;border:0;border-radius:5px;padding:7px;text-align:left;font:inherit;cursor:pointer}.os-country-option:hover,.os-country-option:focus{outline:2px solid #05b9a9;outline-offset:-2px;background:#e5f7f3}.os-country-option[aria-selected=true]{font-weight:700;background:#d4f3e9}

.os-public:has(.os-disclaimer-dialog[open]) #os-close{visibility:hidden}

.os-public .os-contact-phone>.os-phone-control{grid-template-columns:24px 118px minmax(0,1fr)}
@media(max-width:480px){.os-public .os-contact-phone>.os-phone-control{grid-template-columns:20px 112px minmax(0,1fr)}}
@media(max-width:360px){.os-public .os-contact-phone>.os-phone-control{grid-template-columns:20px 112px minmax(0,1fr)}.os-public .os-phone-control>label:last-child{grid-column:auto}}

.os-public .os-contact-phone>.os-phone-control{grid-template-columns:118px minmax(0,1fr)}
@media(max-width:480px){.os-public .os-contact-phone>.os-phone-control{grid-template-columns:112px minmax(0,1fr)}}
.os-field-emoji{display:inline;font-size:1em;line-height:inherit}

.os-public .os-custom-logo img{max-width:140px;max-height:80px;width:auto;height:auto;object-fit:contain}

.os-public.os-form-block{min-height:0;display:block;background:transparent;margin:24px 0}.os-form-block .os-shell{width:100%;max-width:var(--os-width,640px);margin:auto}

.os-form-brand{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:16px}.os-public .os-form-brand .os-form-brand-title{margin:0;letter-spacing:normal}.os-form-brand .os-custom-logo img{display:block}

/* Inline forms must expand with their content, with room above mobile browser chrome. */
.os-public.os-form-block{height:auto;max-height:none;overflow:visible;display:flow-root;padding-bottom:24px}.os-public.os-form-block>.os-shell{height:auto;max-height:none;overflow:visible}
@media(max-width:760px){.os-public.os-form-block{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}.os-public.os-form-block>.os-shell{padding-bottom:32px}}
