/* Kayıt ve giriş: tanıtım sitesinin kâğıt dili (landing.css üstüne yüklenir) */

.auth-top { background: var(--paper); border-bottom: 2px solid var(--ink); }
.auth-top .wrap { display: flex; align-items: center; justify-content: space-between; height: 66px; }
.back-link { font-family: var(--mono); font-size: 13px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; }
.back-link:hover { text-decoration: underline wavy var(--tomato); text-underline-offset: 7px; }

.auth { padding: 56px 0 96px; }
.auth-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 72px; align-items: start; }
.auth-main { max-width: 540px; }
.auth-head h1 { margin-top: 16px; font-size: clamp(48px, 6.2vw, 84px); line-height: .92; letter-spacing: -0.05em; }
.auth-head .sub { margin-top: 18px; font-size: 18.5px; color: var(--ink-2); }

/* Form kartı */
.form-card { position: relative; margin-top: 34px; padding: 30px 30px 28px; background: var(--card); border: 2px solid var(--ink); box-shadow: 10px 10px 0 var(--ink); }
.form-card::before { content: ""; position: absolute; inset: 8px; border: 1px solid color-mix(in srgb, var(--ink) 16%, transparent); pointer-events: none; }
.form-card form { position: relative; display: grid; gap: 18px; }
.f-field { display: grid; gap: 7px; }
.f-field > span:first-child { font-family: var(--mono); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); }
.f-field input { width: 100%; height: 52px; padding: 0 14px; border: 2px solid var(--ink); border-radius: 0; background: var(--field); color: var(--ink); font: 500 16.5px var(--sans); outline: none; transition: box-shadow .12s ease, transform .12s ease; }
.f-field input::placeholder { color: var(--muted); opacity: .75; }
.f-field input:focus { box-shadow: 4px 4px 0 var(--tomato); transform: translate(-1px, -1px); }
.f-hint { font-family: var(--mono); font-size: 12.5px; color: var(--muted); word-break: break-all; }
.f-hint b { color: var(--ink); font-weight: 600; }
.pw-wrap { position: relative; display: block; }
.pw-wrap input { padding-right: 88px; }
.pw-toggle { position: absolute; top: 50%; right: 6px; padding: 8px 10px; border: 0; background: none; color: var(--ink-2); font-family: var(--mono); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transform: translateY(-50%); }
.pw-toggle:hover { color: var(--tomato); }

.sample { display: flex; gap: 14px; align-items: flex-start; padding: 16px; border: 2px dashed var(--ink); background: var(--pop); cursor: pointer; }
.sample input { flex: none; width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--tomato); cursor: pointer; }
.sample b { font-weight: 700; }
.sample .tag { display: inline-block; margin-left: 8px; padding: 1px 6px; border: 1.5px solid currentColor; color: var(--basil); font-family: var(--mono); font-size: 11px; font-style: normal; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; transform: rotate(-3deg); filter: url(#rough); }
.sample small { display: block; margin-top: 4px; font-size: 14.5px; color: var(--ink-2); }

.auth-error { padding: 12px 14px; border: 2px solid var(--tomato); background: color-mix(in srgb, var(--tomato) 14%, var(--card)); color: var(--ink); font-weight: 600; font-size: 15px; box-shadow: 4px 4px 0 var(--tomato); }
.form-card .btn { margin-top: 4px; }
.form-card .btn:disabled { opacity: .7; cursor: wait; transform: none; }
.spinner { width: 22px; height: 22px; border: 3px solid color-mix(in srgb, var(--paper) 30%, transparent); border-top-color: var(--paper); border-radius: 50%; animation: spin .7s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

.auth-foot { margin-top: 28px; font-size: 16.5px; }
.auth-foot a { font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-decoration-color: var(--tomato); text-underline-offset: 5px; }
.fine-print { margin-top: 14px; font-family: var(--mono); font-size: 12.5px; color: var(--muted); }

/* Yan taraf: sipariş fişi / mutfak notu */
.auth-side { position: relative; display: flex; flex-direction: column; align-items: center; padding-top: 70px; }
.auth-side .receipt { transform: rotate(2.4deg); }
.r-line { padding: 3px 0; font-size: 13.5px; }
.r-line > span:last-child { font-weight: 600; letter-spacing: .06em; color: #2f6b3f; }
.receipt .lead { border-bottom-width: 1.5px; transform: translateY(-4px); }
.side-stamp { position: absolute; right: 14px; bottom: 60px; color: #e2401c; font-size: 17px; background: rgba(255, 254, 250, .7); }
.side-note { margin-top: 34px; align-self: flex-start; margin-left: 8%; transform: rotate(-6deg); }

.ticket.solo { position: relative; left: auto; top: auto; width: min(330px, 100%); transform: rotate(-3deg); box-shadow: 0 30px 50px -22px rgba(40, 25, 10, .45); }
.t-list { margin: 6px 0 0; padding: 0; list-style: none; display: grid; gap: 10px; font-size: 14.5px; }
.t-list li { display: flex; gap: 10px; align-items: baseline; }
.t-list li::before { content: ""; flex: none; width: 14px; height: 14px; border: 2px solid var(--prop-ink); transform: translateY(2px); }

@media (max-width: 960px) {
  .auth { padding: 40px 0 72px; }
  .auth-grid { grid-template-columns: 1fr; gap: 56px; }
  .auth-main { max-width: none; }
  .auth-side { padding-top: 0; }
  .side-note { align-self: center; margin-left: 0; }
}
@media (max-width: 640px) {
  .auth-top .wrap { height: 60px; }
  .brand-word { font-size: 22px; }
  .auth-head h1 { font-size: clamp(46px, 14vw, 64px); }
  .auth-head .sub { font-size: 17px; }
  .form-card { padding: 22px 18px 20px; box-shadow: 7px 7px 0 var(--ink); }
  .form-card::before { inset: 6px; }
}
