/* Shared presentation for Lingadoo's small authentication/account flows. */
:is(
  body[data-view="auth"],
  body[data-view="signup"],
  body[data-view="signup-password"],
  body[data-view="reset"],
  body[data-view="account-exists"],
  body[data-view="update-password"]
){
  --auth-ink:#0b1220;
  --auth-blue:#108bff;
  --auth-field:#f1f6ff;
  --auth-border:#d9e3f1;
  color:var(--auth-ink);
}

/* These compact journeys use the same quiet logo + menu header as the splash.
   signup.php keeps its own Sign in link next to the hamburger — excluded below
   (login.php IS the sign-in page, so it still hides its copy). */
:is(
  body[data-view="auth"],
  body[data-view="signup"],
  body[data-view="signup-password"],
  body[data-view="reset"],
  body[data-view="account-exists"],
  body[data-view="update-password"]
) :is(.top-nav, .top-right > .top-nav-link:not([href="/login.php"])){
  display:none !important;
}

:is(.auth-main,.signup-main){
  min-height:0;
  padding:clamp(36px,6vh,72px) 20px clamp(52px,8vh,96px);
  align-items:flex-start;
}

:is(.auth-grid,.signup-main){
  width:100%;
}

:is(.auth-card,.signup-card){
  position:relative;
  width:min(100%,430px);
  max-width:430px;
  padding:38px 40px 36px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.88);
  border-radius:32px;
  background:rgba(255,255,255,.96);
  box-shadow:0 22px 60px rgba(30,41,59,.09), 0 2px 8px rgba(30,41,59,.04);
}

:is(.auth-fox,.auth-card-icon,.signup-card-icon,.signup-chick){
  width:68px;
  height:68px;
  padding:10px;
  margin:0 auto 14px;
  object-fit:contain;
  border-radius:22px;
  background:#fff8df;
  filter:none;
}

.auth-fox,
.signup-chick{
  animation:none;
}

:is(.auth-card h1,.signup-title){
  margin:0 0 22px;
  color:var(--auth-ink);
  font-family:"Nunito",system-ui,sans-serif;
  font-size:clamp(24px,4vw,28px);
  font-weight:900;
  line-height:1.15;
  letter-spacing:.1em;
  text-align:center;
  text-transform:uppercase;
}

.signup-email-label{
  margin:-12px 0 22px;
  color:#607089;
  font-size:15px;
  overflow-wrap:anywhere;
}

:is(.auth-email-form,.auth-form,.signup-grid){
  gap:14px;
}

:is(.auth-email-form,.auth-form,.signup-grid) label:not(.sr-only){
  color:#334155;
  font-size:14px;
  font-weight:800;
}

:is(.auth-email-form,.auth-form,.signup-grid) input:not([type="checkbox"]){
  width:100%;
  min-height:50px;
  padding:12px 15px;
  border:1.5px solid var(--auth-border);
  border-radius:14px;
  outline:none;
  background:var(--auth-field);
  color:var(--auth-ink);
  font-size:16px;
  transition:border-color .16s,box-shadow .16s,background .16s;
}

:is(.auth-email-form,.auth-form,.signup-grid) input:not([type="checkbox"]):focus{
  border-color:var(--auth-blue);
  background:#fff;
  box-shadow:0 0 0 4px rgba(16,139,255,.13);
}

:is(.auth-submit,.auth-success-link,.signup-submit,.auth-email-form .pill){
  min-height:50px;
  margin-top:6px;
  padding:12px 24px;
  border:0;
  border-radius:999px;
  background:var(--auth-ink);
  box-shadow:0 8px 18px rgba(11,18,32,.14);
  color:#fff;
  font-size:16px;
  font-weight:900;
  letter-spacing:0;
  text-transform:none;
  transition:transform .16s,box-shadow .16s,background .16s;
}

:is(.auth-submit,.auth-success-link,.signup-submit,.auth-email-form .pill):hover{
  background:#16233a;
  box-shadow:0 11px 22px rgba(11,18,32,.2);
  transform:translateY(-1px);
}

.signup-secondary{
  border:1.5px solid var(--auth-border);
  background:#fff;
  box-shadow:none;
  color:var(--auth-ink);
}

.signup-secondary:hover{
  background:var(--auth-field);
  box-shadow:none;
}

.gsi-material-button,
.auth-actions .gsi-material-button,
.signup-card .gsi-material-button{
  width:100%;
  max-width:none;
  height:48px;
  border-color:#cbd5e1;
  border-radius:14px;
}

:is(.auth-divider,.signup-divider){
  margin:18px 0;
}

:is(.auth-forgot,.signup-footer,.signup-copy,.signup-legal){
  color:#526078;
  line-height:1.55;
}

:is(.auth-forgot,.signup-footer,.signup-legal) a{
  color:var(--auth-ink);
  font-weight:900;
}

:is(.auth-errors,.auth-success,.auth-session-alert){
  border:1px solid currentColor;
  border-radius:14px;
}

.auth-errors ul{
  margin:0;
  padding-left:20px;
}

.auth-hcaptcha{
  display:flex;
  justify-content:center;
}

.auth-loading,
.auth-invalid,
.auth-success{
  line-height:1.55;
}

.auth-success-title{
  color:var(--auth-ink);
  font-family:"Nunito",system-ui,sans-serif;
  font-size:23px;
  letter-spacing:0;
  text-transform:none;
}

@media (max-width:640px){
  :is(.auth-main,.signup-main){
    padding:24px 14px 48px;
  }

  :is(.auth-card,.signup-card){
    width:100%;
    padding:30px 22px 28px;
    border-radius:26px;
  }

  :is(.auth-fox,.auth-card-icon,.signup-card-icon,.signup-chick){
    width:60px;
    height:60px;
    border-radius:19px;
  }

  :is(.auth-card h1,.signup-title){
    margin-bottom:18px;
    font-size:23px;
  }
}

@media (prefers-reduced-motion:reduce){
  :is(.auth-submit,.auth-success-link,.signup-submit,.auth-email-form .pill),
  :is(.auth-email-form,.auth-form,.signup-grid) input{
    transition:none;
  }
}
