/* Presentation adapters for existing public forms, legal and checkout templates.
   This file is never loaded by the authenticated ERP or login. */
body{font-family:var(--v31-font);color:var(--v31-ink)}
:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #5581ff;outline-offset:4px}
body.v-public-v4{--v-font-body:var(--v31-font);--v-font-display:var(--v31-font);--v-blue:var(--v31-blue);--v-accent:var(--v31-blue)}
.v-public-v4 :is(h1,h2,h3){text-wrap:balance;letter-spacing:-.045em}
.v-public-v4 :is(p,li){text-wrap:pretty}
.v-header{background:#fffffff2!important;border-bottom:1px solid var(--v31-line);backdrop-filter:blur(14px);box-shadow:0 8px 24px -20px #17396366}
.v-header .v-brand{color:var(--v31-ink)}
.v-header .v-nav-toggle{border:1px solid var(--v31-line);border-radius:10px;min-height:44px;min-width:44px}
.v-header .v-nav a{min-height:44px;display:inline-flex;align-items:center}
.v-public-v4 .v-button{min-height:48px;border-radius:10px;transition:background 180ms,transform 180ms;font-weight:600}
.v-public-v4 .v-button:active{transform:translateY(1px)}
.v-public-v4 .v-button-accent{background:var(--v31-blue);color:#fff;box-shadow:0 5px 15px #2453df1c}
.v-public-v4 .v-button-accent:hover{background:var(--v31-blue-hover)}
.v-trial-hero,.vx-contact-hero{background:radial-gradient(ellipse at 85% 5%,#dde8fc,transparent 65%),#f5f8fd!important;padding-block:44px 55px!important}
.v-trial-aurora{display:none}.v-trial-copy h1,.vx-page-copy h1{font-size:clamp(2.2rem,5vw,4rem)!important;line-height:1.1!important;font-weight:600;max-width:19ch}
.v-trial-copy h1 em{color:var(--v31-blue)}
.v-trial-lead,.vx-lead{font-size:1rem!important;line-height:1.75!important;color:var(--v31-muted)!important}
.v-trial-proof{gap:12px!important}.v-trial-proof li{background:#fff;border:1px solid var(--v31-line);border-radius:12px;padding:16px!important;box-shadow:var(--v31-shadow)}
.v-public-v4 :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px;min-height:50px;border-radius:9px;border-color:#c3d1e6}
.v-public-v4 :is(input,select,textarea):focus{border-color:var(--v31-blue);box-shadow:0 0 0 3px #2453df12}
.v-public-v4 label{line-height:1.5}.v-public-v4 input[type=checkbox]{min-width:20px;min-height:20px;accent-color:var(--v31-blue)}
.v-trial-form-card,.v-trial-card,.vx-contact-panel{border:1px solid #d3dff0!important;border-radius:20px!important;box-shadow:var(--v31-shadow)!important;background:#fff}
.vx-contact-panel{padding:22px!important}.vx-contact-photo{border-radius:12px;overflow:hidden;margin-bottom:20px}.vx-contact-panel>a{padding-block:16px!important;border-color:#dee6f1!important;overflow-wrap:anywhere;min-height:60px}
.vx-contact-panel-label{letter-spacing:.13em;color:var(--v31-blue)!important;font-size:.75rem!important}
.vx-contact-reasons{gap:18px!important}.vx-contact-reasons article{padding:26px!important;border:1px solid var(--v31-line);border-radius:16px;background:#f7f9fd!important}.vx-contact-reasons article>span{color:var(--v31-blue)!important}.vx-contact-reasons h2{line-height:1.2}.vx-contact-reasons p{font-size:1rem;line-height:1.7}
.v-footer{background:#091b31!important;color:#c4d5ec;padding-top:48px!important}.v-footer-top{gap:35px!important}.v-footer-intro p{color:#b5c8e2!important;max-width:32ch}.v-footer .v-brand img{background:white;border-radius:8px;padding:2px}.v-footer-links a,.v-footer-bottom a{color:#b8cce7!important;min-height:44px;display:inline-flex;align-items:center}.v-footer-links h2{color:#fff!important;font-size:.875rem!important}.v-footer-links a:hover{color:#fff!important}.v-footer-bottom{border-color:#314960!important;color:#adc3df!important}.v-footer-bottom p{color:#adc3df!important}
body.legal-page{margin:0;background:#f2f5fa;color:var(--v31-ink);font-family:var(--v31-font);padding:22px 16px}
.legal-page .legal-container{width:100%;max-width:940px;padding:26px 20px;margin:0 auto;border:1px solid var(--v31-line);border-radius:18px;background:#fff;box-shadow:var(--v31-shadow)}
.legal-back{display:inline-flex;align-items:center;min-height:44px;color:var(--v31-blue)}
.legal-header{padding:20px 0 28px;border-bottom:1px solid var(--v31-line);margin-bottom:30px}.legal-brand{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--v31-blue)}
.legal-header h1{font-size:clamp(1.9rem,5vw,3rem);line-height:1.12;letter-spacing:-.04em;text-wrap:balance;margin:16px 0}.legal-meta{color:var(--v31-muted);font-size:.8125rem;line-height:1.7}
.legal-page .legal-content{line-height:1.85;font-size:1rem;overflow-wrap:anywhere}.legal-content h2{font-size:1.4rem;line-height:1.3;letter-spacing:-.025em;margin-top:36px}.legal-content h3{line-height:1.4}.legal-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:.875rem}.legal-content :is(td,th){padding:12px;border:1px solid var(--v31-line);min-width:100px}.legal-content th{background:#edf2fb}.legal-footer{border-top:1px solid var(--v31-line);padding-top:24px;margin-top:36px;line-height:1.8;color:var(--v31-muted);font-size:.8125rem}
/* Checkout is deliberately presentation-only: no new buttons or scripts. */
body:not(.v-public-v4):not(.legal-page){background:#f3f6fb}
body:not(.v-public-v4):not(.legal-page) :is(.wrap,.checkout-card,.payment-card,.plan-card,.summary-card){border-color:var(--v31-line);border-radius:16px;box-shadow:var(--v31-shadow)}
body:not(.v-public-v4):not(.legal-page) :is(button,.btn,.button){min-height:44px;border-radius:9px}
body:not(.v-public-v4):not(.legal-page) :is(input:not([type=checkbox]):not([type=radio]),select){min-height:48px;font-size:16px;border-radius:8px}
body:not(.v-public-v4):not(.legal-page) .wrap{width:calc(100% - 32px);box-sizing:border-box;padding:30px 20px;margin:36px auto}
@media(max-width:599px){.v-public-v4 .v-trial-grid,.vx-contact-grid{gap:28px!important}.v-trial-proof{grid-template-columns:1fr!important}.v-public-v4 .vx-actions{display:grid;gap:10px}.v-public-v4 .vx-actions .v-button{width:100%}.v-footer-links{grid-template-columns:1fr 1fr!important;gap:25px 16px!important}.v-footer-intro{padding-bottom:20px}.v-trial-hero{padding-top:30px!important}.v-public-v4 :is(.v-trial-card,.v-trial-form-card){padding:24px 18px!important}}
@media(min-width:768px){.legal-page .legal-container{padding:38px 48px}.legal-page{padding:36px 24px}.v-trial-hero,.vx-contact-hero{padding-block:58px 70px!important}.vx-contact-panel{padding:28px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

html,body.v-public-v4{min-width:0!important}
