/* ATIZA — DESIGN SYSTEM FOR ALL CUSTOMER SCREENS
 * Brand source: ATIZA brand manual 2025. Shared by guest and member areas.
 * Page-level files only define layouts; typography, surface, forms and states
 * come from this file. Keep official A monogram SVG in its own component.
 */
:root{
  --atiza-fire:#FB6D01;
  --atiza-on-fire:#211006;
  --success:#88efbb;
  --warn:#ffd676;
  --danger:#ffb0b0;
  --shadow:0 28px 70px rgba(0,0,0,.42);
  --atiza-red:#C72701;
  --atiza-carbon:#000000;
  --atiza-surface:#101010;
  --atiza-surface-raised:#171717;
  --atiza-ink:#F6F3EE;
  --atiza-secondary:#D1C8BF;
  --atiza-muted:#BDB9B2;
  --atiza-champagne:#C0AC93;
  --atiza-line:rgba(255,255,255,.17);
  --atiza-fire-line:rgba(251,109,1,.43);
  --atiza-fire-wash:rgba(251,109,1,.1);
  --atiza-radius-card:14px;
  --atiza-radius-button:8px;
  --atiza-radius-input:9px;
  --atiza-control-height:48px;
  --atiza-layout-max:1200px;
  --atiza-easing:cubic-bezier(.2,.8,.2,1);
  --bg:#000000;
  --bg-soft:#090909;
  --panel:var(--atiza-surface);
  --panel-alt:var(--atiza-surface-raised);
  --text:var(--atiza-ink);
  --muted:var(--atiza-secondary);
  --muted-soft:var(--atiza-muted);
  --accent:var(--atiza-fire);
  --accent-2:#FFB779;
  --line:var(--atiza-line);
  --line-strong:var(--atiza-fire-line);
  --radius-xl:var(--atiza-radius-card);
  --radius-lg:var(--atiza-radius-card);
  --radius-md:var(--atiza-radius-input);
}
html{
  background:var(--atiza-carbon);
  -webkit-text-size-adjust:100%;
  scroll-padding-top:18px;
}
body{
  background:var(--atiza-carbon);
  color:var(--atiza-ink);
  font-family:'Raleway',Arial,system-ui,sans-serif;
  line-height:1.6;
  accent-color:var(--atiza-fire);
}
.customer-shell{
  color:var(--atiza-ink);
  font-family:'Raleway',Arial,system-ui,sans-serif;
}
.customer-shell :is(h1,h2,h3){
  font-family:inherit;
  font-weight:800;
  line-height:1.18;
  letter-spacing:-.028em;
  overflow-wrap:anywhere;
  text-wrap:balance;
}
.customer-shell :is(p,li,.note,.hero-copy){overflow-wrap:anywhere}
.customer-shell a{text-underline-offset:3px}
.customer-shell :is(button,input,textarea,select){font-family:inherit}
.customer-shell :is(.card,.hero-card,.module-card,.club-card,.club-balance,.coupon-card,.raffle-public-card,.summary-pill,.customer-strip){
  border-radius:var(--atiza-radius-card);
}
.customer-shell :is(.card,.hero-card,.module-card,.club-card,.club-balance,.summary-pill){
  min-width:0;
}
.customer-shell :is(.card,.module-card,.club-card) :is(p,li){
  line-height:1.65;
}
.customer-shell :is(.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,.club-form input:not([type=checkbox]):not([type=radio]),.club-form select,.club-form textarea){
  min-height:var(--atiza-control-height);
  border-radius:var(--atiza-radius-input);
  font-size:max(1rem,16px);
}
.customer-shell :is(.field label,.club-form label){line-height:1.5}
.customer-shell .btn,.customer-shell button.btn,
.customer-shell :is(.btn-row a,.btn-row button){
  min-height:var(--atiza-control-height);
  border-radius:var(--atiza-radius-button);
  font-weight:800;
  transition:background-color .16s var(--atiza-easing),border-color .16s var(--atiza-easing),color .16s var(--atiza-easing);
}
.customer-shell .btn.btn-primary,
.customer-shell .btn-primary{
  background:var(--atiza-fire);
  border-color:var(--atiza-fire);
  color:var(--atiza-on-fire);
  box-shadow:none;
}
.customer-shell .btn.btn-primary:hover:not(:disabled),
.customer-shell .btn-primary:hover:not(:disabled){
  background:var(--atiza-red);
  border-color:var(--atiza-red);
  color:#fff;
}
.customer-shell .btn.btn-soft{
  background:var(--atiza-fire-wash);
  border:1px solid var(--atiza-fire-line);
  color:#FFD0AC;
}
.customer-shell .btn.btn-soft:hover:not(:disabled){
  background:#211711;
  color:#fff;
}
.customer-shell .msg{
  border-radius:var(--atiza-radius-input);
  padding:14px 16px;
  line-height:1.6;
}
.customer-shell .msg.ok{border-left:3px solid #60C993}
.customer-shell .msg.err{border-left:3px solid #F88787}
.customer-shell .msg.warn{border-left:3px solid #E2B763}
.customer-shell .empty-state{
  border-radius:var(--atiza-radius-card);
  border-color:var(--atiza-fire-line);
}
.customer-shell :is(a,button,summary,input,select,textarea,[role=button]):focus-visible{
  outline:3px solid var(--atiza-fire);
  outline-offset:3px;
}
.customer-shell :is(a,button,summary){-webkit-tap-highlight-color:rgba(251,109,1,.2)}
.customer-shell [hidden]{display:none!important}
.customer-shell :is(input,textarea,select):disabled,
.customer-shell button:disabled{cursor:not-allowed;opacity:.62}
.customer-shell[data-customer-view]{
  color:var(--atiza-ink,#f6f3ee);
  font-family:'Raleway',system-ui,Arial,sans-serif;
}
.customer-shell[data-customer-view] :is(h1,h2,h3,h4){
  color:#fff;line-height:1.2;letter-spacing:-.025em;
}
.customer-shell[data-customer-view] :is(p,.note,.hero-copy,.micro-copy){
  overflow-wrap:anywhere;line-height:1.6;
}
.customer-shell[data-customer-view] :is(.card,.module-card,.club-card,.reservation-card,.reservation-side,.raffle-card,.raffle-prize-card,.raffle-public-card,.coupon-card,.coupon-view-card,.register-form-card,.register-info-card){
  min-width:0;
  background:#101010;
  border:1px solid rgba(255,255,255,.17);
  border-radius:14px;
  box-shadow:none;
}
.customer-shell[data-customer-view] :is(.card,.module-card,.club-card,.reservation-card,.reservation-side,.raffle-card,.coupon-card,.coupon-view-card){
  padding:clamp(17px,2.6vw,27px);
}
.customer-shell[data-customer-view] .card .card{
  background:#151515;
}
.customer-shell[data-customer-view] :is(.stack,.grid-2,.module-grid,.reservation-shell,.raffle-layout,.raffle-public-grid,.coupon-grid){
  gap:clamp(13px,1.8vw,20px);
  min-width:0;
}
.customer-shell[data-customer-view] :is(.module-kicker,.eyebrow,.guest-page-kicker,.club-stamp-eyebrow){
  color:#FFB779;
  font-size:.73rem;
  letter-spacing:.1em;
  font-weight:800;
  text-transform:uppercase;
}
.customer-shell[data-customer-view] .module-kicker{
  background:rgba(251,109,1,.08);
  border:1px solid rgba(251,109,1,.22);
  border-radius:8px;
}
.customer-shell[data-customer-view] :is(.summary-pill,.profile-mini-card,.raffle-stat,.reservation-stat){
  min-width:0;
  color:#f6f3ee;
  background:#171717;
  border:1px solid rgba(255,255,255,.15);
  border-radius:10px;
  box-shadow:none;
}
.customer-shell[data-customer-view] :is(.summary-pill,.profile-mini-card,.raffle-stat,.reservation-stat) strong{
  color:#fff;
}
.customer-shell[data-customer-view] :is(.field,.reservation-field){
  display:grid;gap:7px;min-width:0;
}
.customer-shell[data-customer-view] :is(.field label,.reservation-field label,.club-form label){
  color:#eee9e2;
  font-size:.85rem;
  font-weight:700;
  text-transform:none;
  letter-spacing:0;
  line-height:1.45;
}
.customer-shell[data-customer-view] :is(.field input:not([type="checkbox"]):not([type="radio"]),.field select,.field textarea,.reservation-field input,.reservation-field select,.reservation-field textarea,.club-form input:not([type="checkbox"]):not([type="radio"]),.club-form select,.club-form textarea,.raffle-card input:not([type="checkbox"]):not([type="radio"]),.raffle-card select){
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-height:48px;
  background:#080808;
  border:1px solid rgba(255,255,255,.28);
  border-radius:9px;
  color:#fff;
  font-family:inherit;
  font-size:16px;
  font-weight:500;
  box-shadow:none;
}
.customer-shell[data-customer-view] :is(.field textarea,.reservation-field textarea,.club-form textarea){
  min-height:100px;resize:vertical;
}
.customer-shell[data-customer-view] :is(.field input,.reservation-field input,.club-form input):not([type="checkbox"]):not([type="radio"]):-webkit-autofill{
  -webkit-text-fill-color:#fff;
  -webkit-box-shadow:0 0 0 100px #080808 inset;
  caret-color:#fff;
}
.customer-shell[data-customer-view] :is(.field input,.reservation-field input,.club-form input,.field select,.reservation-field select,.field textarea,.reservation-field textarea):focus-visible{
  outline:2px solid var(--atiza-fire,#FB6D01);
  outline-offset:2px;
  border-color:var(--atiza-fire,#FB6D01);
}
.customer-shell[data-customer-view] input::placeholder,
.customer-shell[data-customer-view] textarea::placeholder{
  color:#B6AEA7;opacity:1;
}
.customer-shell[data-customer-view] :is(input,select,textarea):disabled{
  opacity:.65;cursor:not-allowed;
}
.customer-shell[data-customer-view] :is(select,input[type="date"],input[type="time"]){
  color-scheme:dark;
}
.customer-shell[data-customer-view] :is(.btn,.btn-primary,.btn-soft,.reservation-actions .btn){
  box-sizing:border-box;
  min-height:48px;
  border-radius:var(--atiza-radius-button);
  text-align:center;
  font-family:inherit;
  font-weight:800;
  line-height:1.35;
  box-shadow:none;
}
.customer-shell[data-customer-view] :is(.btn.btn-primary,.btn-primary):not(:disabled){
  background:var(--atiza-fire,#FB6D01);
  color:var(--atiza-on-fire);
  border-color:var(--atiza-fire,#FB6D01);
  box-shadow:none;
}
.customer-shell[data-customer-view] :is(.btn.btn-primary,.btn-primary):hover:not(:disabled){
  background:var(--atiza-red,#C72701);
  border-color:var(--atiza-red,#C72701);
  color:#fff;
}
.customer-shell[data-customer-view] .btn.btn-soft{
  background:rgba(251,109,1,.09);
  color:#FFCCA4;
  border:1px solid rgba(251,109,1,.44);
}
.customer-shell[data-customer-view] :is(.btn,a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid var(--atiza-fire,#FB6D01);
  outline-offset:3px;
}
.customer-shell[data-customer-view] :is(.btn-row,.reservation-actions,.raffle-upload-actions){
  gap:10px;
}
.customer-shell[data-customer-view] :is(.checkbox-row,.notification-preferences label){
  color:#e8e0d9;line-height:1.6;
}
.customer-shell[data-customer-view] :is(input[type="checkbox"],input[type="radio"]){
  accent-color:var(--atiza-fire,#FB6D01);
  flex:0 0 auto;
  width:19px;height:19px;min-height:19px;
}
.customer-shell[data-customer-view] :is(.msg,.reservation-note,.reservation-empty,.empty-state){
  border-radius:10px;
  line-height:1.65;
}
.customer-shell[data-customer-view] :is(.tag,.coupon-chip,.raffle-chip,.raffle-public-chip){
  border:1px solid rgba(251,109,1,.35);
  background:rgba(251,109,1,.08);
  color:#FFD0AA;
  border-radius:8px;
}
.customer-shell[data-customer-view] .customer-utility-actions .btn{
  text-decoration:none;
}
/* Controls shared by guest navigation and the member scanner. */
.customer-shell :is(.btn-primary,.utility-primary,.login-navigation .login-nav-register){transition:none}
.customer-shell :is(.utility-primary,.login-navigation .login-nav-register){background:var(--atiza-fire);border:1px solid var(--atiza-fire);color:var(--atiza-on-fire);border-radius:var(--atiza-radius-button)}
.customer-shell :is(.utility-primary,.login-navigation .login-nav-register):hover{background:var(--atiza-red);border-color:var(--atiza-red);color:#fff}
.customer-shell .login-stamp-sequence b{background:var(--atiza-fire);color:var(--atiza-on-fire)}
.customer-shell :where(form,fieldset,.field,.form-grid){min-width:0}
.customer-shell .checkbox-row{min-height:44px;align-items:flex-start;padding-block:6px}
.customer-shell .checkbox-row input{flex:0 0 20px;width:20px;height:20px}
.customer-shell .field input::file-selector-button{max-width:100%;white-space:normal}
.customer-shell details>summary{min-height:44px;align-content:center;cursor:pointer}
.customer-shell .club-card{padding:clamp(17px,2.6vw,27px)}
@media(max-width:759px){
  .customer-shell :is(.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,.club-form input:not([type=checkbox]):not([type=radio]),.club-form select,.club-form textarea){font-size:16px}
  .customer-shell :is(.btn,.pill-link,.login-navigation a){min-height:44px}
}
@media(prefers-reduced-motion:reduce){
  .customer-shell,.customer-shell *,.customer-shell *::before,.customer-shell *::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
  }
}


/* Pre-session QR handoff: the same canonical customer theme, no embedded PHP CSS.
 * This page is intentionally minimal because it immediately recovers SameSite cookies. */
body.atiza-qr-entry{
  min-height:100vh;
  margin:0;
  display:grid;
  place-items:center;
  padding:24px;
  background:var(--atiza-carbon);
  color:var(--atiza-ink);
}
.atiza-qr-entry-main{
  width:min(100%,420px);
  padding:clamp(22px,4vw,36px);
  border:1px solid var(--atiza-line);
  border-radius:var(--atiza-radius-card);
  background:var(--atiza-surface);
  text-align:center;
}
.atiza-qr-entry-main p{
  margin:0 0 16px;
  font-size:16px;
  line-height:1.6;
}
.atiza-qr-entry-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:var(--atiza-control-height);
  padding:10px 22px;
  border-radius:var(--atiza-radius-button);
  background:var(--atiza-fire);
  color:var(--atiza-on-fire);
  font-weight:700;
  text-decoration:none;
}
.atiza-qr-entry-action:focus-visible{
  outline:3px solid var(--atiza-fire);
  outline-offset:4px;
}
