/* ---------- customer auth (sign in / register) ----------
   Loaded after styles.css + site.css, so it inherits the storefront tokens,
   fonts and button styles and only adds the split-screen auth shell. */

.au-body{margin:0;background:var(--paper);}
.au{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh;}

/* ----- brand panel ----- */
.au-brand{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:44px;background-color:var(--navy-800);background-size:cover;background-position:center;overflow:hidden;}
.au-brand-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,24,46,.72) 0%,rgba(8,24,46,.55) 45%,rgba(8,24,46,.92) 100%);}
.au-brand > *{position:relative;z-index:1;}
.au-logo img{height:52px;width:auto;display:block;}

.au-pitch{max-width:420px;}
.au-eyebrow{display:block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:800;color:var(--gold-400);margin-bottom:14px;}
.au-pitch h2{font-family:var(--font-display);font-size:46px;line-height:1.08;font-weight:600;color:#fff;margin:0 0 16px;}
.au-pitch p{font-size:15px;line-height:1.7;color:rgba(255,255,255,.82);margin:0;}

.au-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.au-points li{display:flex;align-items:center;gap:12px;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.9);}
.au-points li::before{content:"";flex:none;width:22px;height:22px;border-radius:50%;background:rgba(255,201,74,.18);border:1px solid var(--gold-500);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFC94A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-size:13px;background-repeat:no-repeat;background-position:center;}

/* ----- form panel ----- */
.au-form{display:flex;align-items:center;justify-content:center;padding:44px 32px;background:var(--paper);}
.au-card{width:100%;max-width:420px;}
.au-card > h1{font-family:var(--font-display);font-size:38px;font-weight:600;color:var(--navy-700);margin:0 0 8px;line-height:1.15;}
.au-sub{font-size:14.5px;line-height:1.6;color:var(--text-muted);margin:0 0 28px;}

.au-alert{border-radius:var(--radius-sm);padding:12px 14px;font-size:13.5px;font-weight:600;margin-bottom:20px;}
.au-alert.error{background:#FDECEC;border:1px solid #F3C0C0;color:#8E2020;}
.au-alert.ok{background:#EAF6EE;border:1px solid #BCE0C8;color:#1E6636;}

.au-field{margin-bottom:18px;}
.au-field label{display:block;font-size:12.5px;font-weight:800;letter-spacing:.04em;color:var(--navy-700);margin-bottom:7px;}
.au-field input{width:100%;box-sizing:border-box;height:48px;padding:0 15px;font-family:var(--font-body);font-size:14.5px;color:var(--text-strong);background:var(--white);border:1px solid var(--border-strong);border-radius:var(--radius-sm);transition:border-color var(--dur-fast),box-shadow var(--dur-fast);}
.au-field input::placeholder{color:var(--text-subtle);}
.au-field input:focus{outline:none;border-color:var(--gold-500);box-shadow:0 0 0 3px rgba(255,201,74,.28);}
.au-field input[aria-invalid="true"]{border-color:#D26A6A;}
.au-error{display:block;font-size:12.5px;font-weight:600;color:#B03636;margin-top:6px;}

.au-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:4px 0 24px;}
.au-remember{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;color:var(--text-body);cursor:pointer;}
.au-remember input{width:16px;height:16px;accent-color:var(--navy-700);cursor:pointer;}
.au-link{font-size:13.5px;font-weight:700;color:var(--link);}
.au-link:hover{color:var(--gold-700);}

.au-submit{width:100%;}
.au-alt{text-align:center;font-size:14px;color:var(--text-muted);margin:22px 0 0;}
.au-alt a{font-weight:800;color:var(--navy-700);}
.au-alt a:hover{color:var(--gold-700);}
.au-back{display:inline-flex;align-items:center;gap:7px;margin-top:30px;font-size:13px;font-weight:700;color:var(--text-muted);}
.au-back:hover{color:var(--navy-700);}
.au-legal{font-size:12.5px;line-height:1.6;color:var(--text-subtle);margin:18px 0 0;}

/* ----- responsive ----- */
@media (max-width:960px){
  .au{grid-template-columns:1fr;}
  .au-brand{padding:28px;min-height:230px;gap:26px;}
  .au-pitch h2{font-size:32px;}
  .au-points{display:none;}
  .au-form{padding:36px 22px 56px;}
}
@media (max-width:420px){
  .au-card > h1{font-size:30px;}
}
