/* Pixvu authentication — isolated theme-native modal and account routes. */

.px-auth-modal,.px-auth-modal *,body.px-auth-page,body.px-auth-page *{box-sizing:border-box}
.px-auth-modal [hidden],body.px-auth-page [hidden],.px-auth-honeypot{display:none!important}

/* Modal shell */
html body .px-auth-modal{--auth-ink:#111214;--auth-muted:#7d8086;--auth-line:rgba(18,20,24,.075);position:fixed!important;z-index:100000!important;inset:0!important;display:grid!important;width:100vw!important;height:100dvh!important;margin:0!important;padding:18px!important;place-items:center!important;overflow:hidden!important;isolation:isolate;color:var(--auth-ink);font-family:"Inter Tight",Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.4}
html body .px-auth-modal[hidden]{display:none!important}
.px-auth-modal__backdrop{position:absolute;z-index:-1;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:rgba(12,13,15,.37);-webkit-backdrop-filter:blur(24px) saturate(.88);backdrop-filter:blur(24px) saturate(.88);animation:px-auth-backdrop-in .24s ease both}
.px-auth-modal__window{position:relative!important;display:block!important;width:min(448px,calc(100vw - 36px))!important;max-width:448px!important;min-width:0!important;max-height:calc(100dvh - 36px)!important;margin:0!important;padding:0!important;overflow:hidden!important;border:1px solid rgba(18,20,24,.08)!important;border-radius:24px!important;outline:0;background:#fff!important;box-shadow:0 32px 96px rgba(0,0,0,.22),0 7px 22px rgba(0,0,0,.06),inset 0 1px 0 #fff!important;animation:px-auth-window-in .4s cubic-bezier(.16,1,.3,1) both}
.px-auth-modal__window:before{content:"";position:absolute;z-index:0;top:-110px;left:50%;width:320px;height:190px;border-radius:50%;background:rgba(0,0,0,.035);filter:blur(42px);transform:translateX(-50%);pointer-events:none}
.px-auth-modal__form-side{position:relative;z-index:1;width:100%;min-width:0;min-height:0;background:transparent}
.px-auth-modal__scroll{width:100%!important;max-height:calc(100dvh - 36px)!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;padding:27px 30px 30px!important;scrollbar-width:thin;scrollbar-color:#c9cbc8 transparent}
.px-auth-modal__scroll::-webkit-scrollbar{width:4px}.px-auth-modal__scroll::-webkit-scrollbar-thumb{border-radius:999px;background:#c9cbc8}
.px-auth-modal__close{position:absolute;z-index:8;top:14px;right:14px;display:grid;width:31px;height:31px;margin:0;padding:0;place-items:center;border:1px solid rgba(18,20,24,.07);border-radius:10px;background:#f6f6f4;color:#4d5055;box-shadow:none;cursor:pointer;transition:transform .22s cubic-bezier(.22,1,.36,1),background .18s ease,color .18s ease}
.px-auth-modal__close:hover{background:#eeeeeb;color:#111214;transform:rotate(4deg)}
.px-auth-modal__close:focus-visible,.px-auth-modal__tabs button:focus-visible{outline:2px solid rgba(16,17,19,.28);outline-offset:3px}
.px-auth-modal__close .px-icon{width:14px;height:14px}

/* Brand + centered mast */
.px-auth-modal__mast{display:grid;width:100%;justify-items:center;margin:0 0 20px;text-align:center}
.px-auth-modal__brandmark{position:relative;display:grid;width:54px;height:54px;margin:0 0 18px;place-items:center;overflow:hidden;border:1px solid #050506;border-radius:17px;background:#0a0b0c;color:#fff;text-decoration:none;box-shadow:0 10px 25px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.08);transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease,background .2s ease}
.px-auth-modal__brandmark:after{content:"";position:absolute;inset:1px;border-radius:15px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);pointer-events:none}
.px-auth-modal__brandmark:hover{background:#000;box-shadow:0 14px 31px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.1);transform:translateY(-2px) rotate(-1deg)}
.px-auth-modal__brandmark .px-icon{width:29px;height:29px;fill:currentColor;stroke:none;transform:translateZ(0);transition:transform .28s cubic-bezier(.22,1,.36,1)}
.px-auth-modal__brandmark:hover .px-icon{transform:scale(1.035)}
.px-auth-modal__welcome{width:100%;padding:0 18px;text-align:center}
.px-auth-modal__welcome h2{margin:0;color:#101114;font-size:31px;font-weight:700;line-height:1.02;letter-spacing:-.047em;text-align:center}
.px-auth-modal__welcome p{max-width:330px;margin:8px auto 0;color:#7b7e84;font-size:12.25px;font-weight:440;line-height:1.5;letter-spacing:-.005em;text-align:center}

/* Simple editorial tab switcher, not a pill control. */
.px-auth-modal__tabs{position:relative;display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:21px;border-bottom:1px solid #e6e7e4;background:transparent}
.px-auth-modal__tabs button{position:relative;min-width:0;min-height:40px;margin:0;padding:0 8px;border:0;border-radius:0;background:transparent;color:#92959a;font:600 12.25px/1 "Inter Tight",Inter,sans-serif;white-space:nowrap;cursor:pointer;transition:color .18s ease}
.px-auth-modal__tabs button:after{content:"";position:absolute;right:22%;bottom:-1px;left:22%;height:2px;border-radius:999px;background:#111214;opacity:0;transform:scaleX(.55);transition:opacity .2s ease,transform .28s cubic-bezier(.22,1,.36,1)}
.px-auth-modal__tabs button:hover:not([aria-selected="true"]){color:#4e5156}
.px-auth-modal__tabs button[aria-selected="true"]{color:#111214}
.px-auth-modal__tabs button[aria-selected="true"]:after{opacity:1;transform:scaleX(1)}
.px-auth-modal__panel{width:100%;min-width:0;padding-top:19px}
.px-auth-modal__panel.is-active{animation:px-auth-panel-in .3s cubic-bezier(.16,1,.3,1) both}

/* WPUM reset: modal styling wins over app-page form CSS. */
.px-auth-modal__native,.px-auth-modal__native>.wpum-template,.px-auth-modal__native>.wpum-form,.px-auth-modal__native>div,.px-auth-modal__native form,body.px-auth-page .px-auth-card__form,body.px-auth-page .px-auth-card__form>div,body.px-auth-page .px-auth-card__form form{display:block!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.px-auth-fields{display:flex;width:100%;min-width:0;flex-direction:column;gap:12px}
.px-auth-modal__native fieldset,.px-auth-modal__native .wpum-fieldset,.px-auth-modal__native .form-row,.px-auth-modal__native .wpum-form-row,body.px-auth-page .px-auth-card__form fieldset{display:block!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important}
.px-auth-modal__native fieldset>label:not(.px-auth-check):not(.px-auth-newsletter),.px-auth-modal__native .wpum-fieldset>label:not(.px-auth-check):not(.px-auth-newsletter),body.px-auth-page .px-auth-card__form fieldset>label:not(.px-auth-check):not(.px-auth-newsletter){display:flex!important;align-items:center!important;margin:0 0 6px!important;color:#393c41!important;font-size:11.5px!important;font-weight:620!important;line-height:1.25!important;letter-spacing:-.006em!important}
.px-auth-modal__native .wpum-required,body.px-auth-page .wpum-required{margin-left:3px;color:#d94b43}
.px-auth-modal__native .field,body.px-auth-page .px-auth-card__form .field{position:relative;display:block;width:100%;min-width:0}
.px-auth-input-icon{position:absolute;z-index:2;top:50%;left:15px;display:grid;width:17px;height:17px;place-items:center;color:#85888e;pointer-events:none;transform:translateY(-50%);transition:color .18s ease}.px-auth-input-icon .px-icon{width:16px;height:16px}.field:focus-within>.px-auth-input-icon{color:#1d1f23}
.px-auth-modal__native input:where(:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"])),.px-auth-modal__native select,.px-auth-modal__native textarea,body.px-auth-page .px-auth-card__form input:where(:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"])),body.px-auth-page .px-auth-card__form select,body.px-auth-page .px-auth-card__form textarea{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;height:49px!important;margin:0!important;padding:0 14px!important;border:1px solid transparent!important;border-radius:11px!important;outline:0!important;background:#f5f5f3!important;color:#111317!important;box-shadow:inset 0 0 0 1px rgba(18,20,24,.055)!important;font:500 14px/1 "Inter Tight",Inter,sans-serif!important;appearance:none!important;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important}
.px-auth-modal__native .has-leading-icon>input,.px-auth-modal__native .has-leading-icon>select,body.px-auth-page .has-leading-icon>input,body.px-auth-page .has-leading-icon>select{padding-left:44px!important}
.px-auth-modal__native .has-password-toggle>input,body.px-auth-page .has-password-toggle>input{padding-right:60px!important}
.px-auth-modal__native textarea,body.px-auth-page textarea{height:auto!important;min-height:90px!important;padding-top:12px!important;padding-bottom:12px!important;resize:vertical}
.px-auth-modal__native input:focus,.px-auth-modal__native select:focus,.px-auth-modal__native textarea:focus,body.px-auth-page .px-auth-card__form input:focus,body.px-auth-page .px-auth-card__form select:focus,body.px-auth-page .px-auth-card__form textarea:focus{border-color:#25272b!important;background:#fff!important;box-shadow:0 0 0 3px rgba(17,18,20,.055)!important}
.px-auth-modal__native input::placeholder,body.px-auth-page input::placeholder{color:#a1a4a9!important;opacity:1!important}
button.px-auth-password-toggle{position:absolute;z-index:3;top:50%;right:10px;min-width:44px;height:28px;margin:0;padding:0 5px;border:0;border-radius:7px;background:transparent;color:#7a7d82;font:620 11px/1 "Inter Tight",Inter,sans-serif;cursor:pointer;transform:translateY(-50%)}button.px-auth-password-toggle:hover{background:#eaeae7;color:#24262a}

/* Secondary form controls. */
.px-auth-form-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;color:#74787e;font-size:11.25px}
.px-auth-remember{display:inline-flex!important;align-items:center!important;gap:7px!important;margin:0!important;font-size:11.25px!important;font-weight:500!important;cursor:pointer!important}.px-auth-remember .field{display:grid!important;width:auto!important;place-items:center!important}
.px-auth-form-meta>a{color:#2d3034;font-weight:620;text-decoration:none}.px-auth-form-meta>a:hover{text-decoration:underline;text-underline-offset:3px}
.px-auth-modal__native input[type="checkbox"],.px-auth-modal__native input[type="radio"],body.px-auth-page input[type="checkbox"],body.px-auth-page input[type="radio"]{width:16px!important;height:16px!important;min-width:16px!important;margin:0!important;accent-color:#111214!important}
.px-auth-modal__native label.px-auth-check,body.px-auth-page label.px-auth-check{display:flex!important;width:100%!important;align-items:flex-start!important;gap:9px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#44474c!important;cursor:pointer!important}.px-auth-check__copy{display:grid;gap:2px;min-width:0}.px-auth-check__copy>strong{font-size:11.75px;font-weight:620;line-height:1.35}.px-auth-check__copy small,.px-auth-modal__native .description,.px-auth-modal__native .wpum-field-description,.px-auth-modal__native .field-description{color:#888c91;font-size:10.25px;font-weight:430;line-height:1.4}
.px-auth-modal__native label.px-auth-newsletter{display:flex!important;width:100%!important;align-items:flex-start!important;gap:8px!important;margin:1px 0 0!important;padding:0!important;border:0!important;background:transparent!important;color:#505359!important;font-size:11.25px!important;font-weight:500!important;line-height:1.4!important;cursor:pointer!important}.px-auth-modal__native label.px-auth-newsletter input[type="checkbox"]{flex:0 0 16px;margin-top:0!important}.px-auth-modal__native label.px-auth-newsletter small{color:#8d9095;font:inherit}

/* Submit + notices. */
.px-auth-modal__native button.px-auth-submit,body.px-auth-page .px-auth-card__form button.px-auth-submit{display:inline-flex!important;width:100%!important;max-width:100%!important;min-height:49px!important;margin:17px 0 0!important;padding:0 15px!important;align-items:center!important;justify-content:center!important;gap:7px!important;border:1px solid #08090a!important;border-radius:11px!important;background:#0b0c0d!important;color:#fff!important;box-shadow:0 8px 20px rgba(0,0,0,.11),inset 0 1px 0 rgba(255,255,255,.1)!important;font:680 12.25px/1 "Inter Tight",Inter,sans-serif!important;text-align:center!important;cursor:pointer!important;transition:transform .22s cubic-bezier(.22,1,.36,1),background .18s ease,box-shadow .22s ease!important}.px-auth-modal__native button.px-auth-submit:hover,body.px-auth-page .px-auth-card__form button.px-auth-submit:hover{background:#202225!important;box-shadow:0 11px 25px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.1)!important;transform:translateY(-1px)!important}.px-auth-modal__native button.px-auth-submit:disabled{opacity:.58;cursor:wait!important;transform:none!important}
.px-auth-submit__icon{display:inline-grid!important;width:13px;height:13px;flex:0 0 13px;place-items:center!important}.px-auth-submit__icon .px-icon{width:12px;height:12px}
body.px-auth-page .px-auth-card__form .px-auth-switch{margin:0!important;padding-top:16px!important}
.px-auth-modal__native .wpum-action-links,.px-auth-modal__native .wpum-form-footer{display:none!important}
.px-auth-modal__native .wpum-message,.px-auth-modal__native .wpum-errors,.px-auth-modal__native .wpum-error,.px-auth-modal__native .wpum-notice,.px-auth-modal__native .message,.px-auth-modal__native .error,body.px-auth-page .px-auth-card__form .wpum-message,body.px-auth-page .px-auth-card__form .wpum-errors{margin:0 0 12px!important;padding:10px 11px!important;border:1px solid #edcfcb!important;border-radius:10px!important;background:#fff7f6!important;color:#98362f!important;font-size:11.25px!important;font-weight:560!important;line-height:1.45!important}.px-auth-modal__native .wpum-message.success,.px-auth-modal__native .wpum-notice.success,.px-auth-modal__native .message.success{border-color:#c4dfce!important;background:#f4fbf6!important;color:#266842!important}.px-auth-modal__native .g-recaptcha,body.px-auth-page .g-recaptcha{max-width:100%;overflow:hidden}

/* Focused password/recovery routes. */
body.px-auth-page{min-height:100vh;margin:0;background:#f5f5f2;color:#111214;font-family:"Inter Tight",Inter,ui-sans-serif,sans-serif;-webkit-font-smoothing:antialiased}.px-auth-shell{display:flex;min-height:100vh;flex-direction:column}.px-auth-topbar{display:flex;height:72px;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,44px)}.px-auth-topbar__brand{display:inline-flex;align-items:center;gap:8px;color:#111214;text-decoration:none}.px-auth-topbar__brand>span{display:grid;width:25px;height:25px;place-items:center}.px-auth-topbar__brand .px-icon{width:22px;height:22px;fill:currentColor;stroke:none}.px-auth-topbar__brand strong{font-size:18px;font-weight:700;letter-spacing:-.04em}.px-auth-topbar__exit{display:inline-flex;min-height:36px;align-items:center;gap:7px;padding:0 10px;border:1px solid rgba(18,20,24,.08);border-radius:9px;background:#fff;color:#35383d;font-size:11.5px;font-weight:600;text-decoration:none}.px-auth-topbar__exit .px-icon{width:12px;height:12px}.px-auth-main{display:grid;flex:1;place-items:center;padding:28px 16px 58px}.px-auth-stage{width:min(520px,100%)}.px-auth-card{overflow:hidden;border:1px solid rgba(18,20,24,.08);border-radius:22px;background:#fff;box-shadow:0 22px 65px rgba(18,20,24,.08)}.px-auth-card__head{padding:32px 34px 23px}.px-auth-card__icon{display:grid;width:38px;height:38px;margin-bottom:20px;place-items:center;border:1px solid rgba(18,20,24,.08);border-radius:11px;background:#f5f5f3}.px-auth-card__icon .px-icon{width:17px;height:17px}.px-auth-card__head .px-eyebrow{display:block;margin-bottom:8px;color:#93969b;font-size:9px;font-weight:740;letter-spacing:.12em}.px-auth-card__head h1{margin:0;font-size:37px;font-weight:680;line-height:1;letter-spacing:-.05em}.px-auth-card__head p{margin:10px 0 0;color:#7c8086;font-size:12.5px;line-height:1.5}.px-auth-card__body{padding:0 34px 34px}.px-auth-switch{margin-top:15px;color:#7b7e83;font-size:11.5px}.px-auth-switch a{display:inline-flex;align-items:center;gap:5px;margin-left:4px;color:#22252a;font-weight:650}.px-auth-switch .px-icon{width:11px;height:11px}.px-auth-footer{display:flex;justify-content:space-between;gap:18px;padding:20px clamp(18px,4vw,44px);color:#8c8f94;font-size:11px}.px-auth-footer a{color:inherit}
.px-auth-entry{min-height:100vh;padding:120px 24px 80px;background:#f2f2ef}.px-auth-entry>header{width:min(1100px,100%);margin:0 auto 36px}.px-auth-entry>header>span{color:#74777c;font-size:10px;font-weight:650;letter-spacing:.14em}.px-auth-entry h1{max-width:760px;margin:12px 0 0;font-size:clamp(48px,7vw,88px);font-weight:690;line-height:.9;letter-spacing:-.065em}.px-auth-entry__grid{display:grid;width:min(1100px,100%);grid-template-columns:repeat(4,1fr);gap:10px;margin:0 auto}.px-auth-entry__grid figure{aspect-ratio:.8;overflow:hidden;border-radius:18px;background:#dedfdb}.px-auth-entry__grid img{width:100%;height:100%;object-fit:cover}.px-auth-entry__unavailable{width:min(560px,100%);margin:40px auto 0;padding:16px;border:1px solid rgba(18,20,24,.08);border-radius:14px;background:#fff}

/* Motion + responsive. */
.px-auth-modal.is-closing .px-auth-modal__backdrop{animation:px-auth-backdrop-out .18s ease both}.px-auth-modal.is-closing .px-auth-modal__window{animation:px-auth-window-out .18s ease both}@keyframes px-auth-backdrop-in{from{opacity:0}to{opacity:1}}@keyframes px-auth-backdrop-out{from{opacity:1}to{opacity:0}}@keyframes px-auth-window-in{from{opacity:0;transform:translateY(15px) scale(.978)}to{opacity:1;transform:none}}@keyframes px-auth-window-out{from{opacity:1;transform:none}to{opacity:0;transform:translateY(8px) scale(.987)}}@keyframes px-auth-panel-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:600px){html body .px-auth-modal{padding:10px!important}.px-auth-modal__window{width:calc(100vw - 20px)!important;max-width:430px!important;max-height:calc(100dvh - 20px)!important;border-radius:20px!important}.px-auth-modal__scroll{max-height:calc(100dvh - 20px)!important;padding:23px 18px max(21px,env(safe-area-inset-bottom))!important}.px-auth-modal__close{top:12px;right:12px;width:30px;height:30px}.px-auth-modal__brandmark{width:50px;height:50px;margin-bottom:16px;border-radius:15px}.px-auth-modal__brandmark .px-icon{width:27px;height:27px}.px-auth-modal__welcome{padding-inline:10px}.px-auth-modal__welcome h2{font-size:28px}.px-auth-modal__welcome p{font-size:12px}.px-auth-modal__tabs{margin-top:18px}.px-auth-modal__tabs button{min-height:39px;font-size:12px}.px-auth-modal__native input:where(:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"])),.px-auth-modal__native select{height:49px!important;font-size:16px!important}.px-auth-form-meta{align-items:flex-start;flex-wrap:wrap}.px-auth-entry__grid{grid-template-columns:repeat(2,1fr)}.px-auth-card__head{padding:27px 22px 21px}.px-auth-card__body{padding:0 22px 27px}.px-auth-card__head h1{font-size:33px}}
@media(max-width:360px){html body .px-auth-modal{padding:6px!important}.px-auth-modal__window{width:calc(100vw - 12px)!important;max-height:calc(100dvh - 12px)!important}.px-auth-modal__scroll{max-height:calc(100dvh - 12px)!important;padding-inline:15px!important}.px-auth-modal__welcome h2{font-size:26px}}
@media(max-height:650px) and (min-width:601px){.px-auth-modal__scroll{padding-top:22px!important;padding-bottom:22px!important}.px-auth-modal__brandmark{margin-bottom:12px}.px-auth-modal__mast{margin-bottom:16px}.px-auth-modal__tabs{margin-top:16px}.px-auth-modal__panel{padding-top:16px}}
@media(prefers-reduced-motion:reduce){.px-auth-modal *,.px-auth-modal *::before,.px-auth-modal *::after,body.px-auth-page *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
