/* Vynoriq AI — responsive & touch polish (R8.17). Loaded last on every page. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-wrap:break-word}
img,video,canvas,svg{max-width:100%;height:auto}
.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:18px;margin:0 0 6px}
.table-wrap>table{min-width:420px}
input,select,textarea{font-size:16px} /* stops iOS zoom-on-focus */

/* ---------- public header ---------- */
.site-top .in{gap:10px}
.site-top .brand{min-width:0;flex:0 1 auto}
.site-top .brand span{white-space:nowrap}
.site-top nav{flex:0 0 auto;white-space:nowrap}
.site-top nav a{display:inline-flex;align-items:center;min-height:44px}
.site-top nav a.btn{min-height:40px}

@media(max-width:720px){
  body.landing .site-top nav,.site-top nav{gap:4px}
  .site-top nav a:not(.btn){padding:0 10px;font-size:14px!important}
  .site-top nav a.btn{padding:0 14px;font-size:14px;white-space:nowrap}
  .site-top .brand img{width:32px;height:32px}
  .site-top .brand span{font-size:15px}
}
@media(max-width:380px){
  .site-top .in{padding:10px 12px!important}
  .site-top .brand span{display:none}  /* logo alone on very small phones */
  .site-top nav a:not(.btn){padding:0 8px}
}

/* ---------- footer ---------- */
.site-foot nav{gap:2px 6px}
.site-foot nav a{display:inline-flex;align-items:center;min-height:40px;padding:0 8px}
.site-foot .credit a{display:inline-block;padding:10px 4px}
@media(max-width:720px){
  .site-foot{padding:22px 16px 32px;flex-direction:column;gap:10px}
  .site-foot nav{width:100%}
}

/* ---------- landing ---------- */
@media(max-width:720px){
  .hero-cta{display:flex;flex-direction:column;gap:12px;align-items:stretch}
  .hero-cta .btn{width:100%;justify-content:center;min-height:50px}
  .hero-proof{justify-content:center}
  .hero-proof span{font-size:13px;padding:8px 12px}
  .cta-band .btn{width:100%;max-width:320px;justify-content:center}
  .faq summary{min-height:48px;display:flex;align-items:center}
}

/* ---------- pricing / tables ---------- */
@media(max-width:720px){
  .cost-table th,.cost-table td{padding:11px 12px;font-size:14px}
  .trust{display:flex;flex-direction:column;gap:8px}
}

/* ---------- auth pages ---------- */
.auth-kicker{font-size:11px}
.form-between a,.premium-form a{display:inline-flex;align-items:center;min-height:36px}
.premium-check{min-height:44px;align-items:center}
.field-shell input{min-height:46px}
.field-eye{min-width:44px;min-height:44px}
@media(max-width:480px){
  .auth-form-side{padding-left:18px!important;padding-right:18px!important}
  .auth-card,.auth-form-side>*{max-width:100%}
}

/* ---------- admin login ---------- */
.admin-login-card{max-width:100%;box-sizing:border-box}
@media(max-width:420px){
  .admin-login-card{padding:24px 18px;border-radius:20px}
  .admin-login-card h1{font-size:26px}
}
.admin-login-brand small{font-size:10px}
.admin-login-card a{display:inline-flex;align-items:center;min-height:40px}

/* ---------- chat sidebar small text ---------- */
body.app .side-legal{gap:4px;flex-wrap:wrap}
body.app .side-legal a{display:inline-flex;align-items:center;min-height:36px;padding:0 8px}
body.app .side-section-label{font-size:12px}
body.app .side-credit{font-size:11px}

/* touch devices: comfortable tap targets, no sticky hover */
@media(pointer:coarse){
  .btn,button,select{min-height:44px}
  a.btn.small,.btn.sm{min-height:40px}
}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* admin login stage: never wider than the screen */
.admin-login-stage{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));box-sizing:border-box;width:100%}
.admin-login-stage .admin-login-card{width:100%;max-width:470px;min-width:0}
/* stand-alone links under forms */
.auth-form-side p a,.auth-support a,.legal a{display:inline-block;padding:6px 2px}
.auth-form-side .form-between a{padding:6px 0}
.auth-kicker,.admin-auth-kicker{font-size:11px}
.admin-login-stage{grid-template-columns:minmax(0,1fr)}
.admin-login-card .auth-kicker{display:block;margin-bottom:4px}
.admin-login-brand{width:100%}

/* chat: long words/URLs never push the layout */
body.app .md,body.app .msg .bubble,body.app .msg{overflow-wrap:anywhere;min-width:0}
body.app .md img,body.app .md video{max-width:100%;height:auto}
body.app .side-credit a,body.app .side-credit{font-size:11px}
body.app .side-credit a{display:inline-block;padding:8px 2px}
body.app .side small,body.app .side .side-section-label{font-size:12px}
