:root {
  --bg:          #05070D;
  --surface:     #07111F;
  --surface2:    #0D1B2A;
  --border:      #1E3A5F;
  --gold:        #FFD23F;
  --gold-dim:    #E6B800;
  --neon-blue:   #00A3FF;
  --purple:      #00A3FF;
  --purple-dim:  #0077CC;
  --teal:        #00A3FF;
  --green:       #10b981;
  --red:         #FF3B3B;
  --poke-red:    #FF3B3B;
  --taxi-yellow: #FFD23F;
  --text:        #F8FAFC;
  --text-dim:    #94A3B8;
  --text-muted:  #64748B;
  --radius:      12px;
  --shadow:      0 4px 24px rgba(0,163,255,.2);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Segoe UI',system-ui,sans-serif;
  min-height:100vh;
  line-height:1.6;
}
a{color:var(--gold);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;border-radius:var(--radius)}

.site-nav{
  background:rgba(5,7,13,.9);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:100;
  padding:.75rem 1.5rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
@keyframes pulse-badge{0%,100%{opacity:1}50%{opacity:.7}}

.section{padding:2.5rem 1.5rem;max-width:1200px;margin:0 auto}
.section-header{
  display:flex;align-items:baseline;justify-content:space-between;
  margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap;
}
.section-title{font-size:1.4rem;font-weight:800;color:var(--text)}
.section-title span{color:var(--gold)}
.section-link{font-size:.85rem;color:var(--text-dim)}
.section-link:hover{color:var(--gold)}

.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}
.card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);overflow:hidden;
  transition:transform .2s,box-shadow .2s;
}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.card-img{width:100%;height:180px;object-fit:cover;background:var(--surface2)}
.card-img-placeholder{
  width:100%;height:180px;
  background:linear-gradient(135deg,var(--surface2),var(--border));
  display:flex;align-items:center;justify-content:center;
  font-size:3rem;
}
.card-body{padding:1rem}
.card-title{font-size:1rem;font-weight:700;margin-bottom:.35rem;color:var(--text)}
.card-desc{font-size:.83rem;color:var(--text-dim);margin-bottom:.75rem;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-price{font-size:1.2rem;font-weight:800;color:var(--gold);margin-bottom:.75rem}
.card-meta{font-size:.75rem;color:var(--text-muted);margin-bottom:.75rem}

.break-status{
  display:inline-block;font-size:.7rem;font-weight:700;
  padding:.15rem .5rem;border-radius:99px;margin-bottom:.5rem;
}
.status-live{background:rgba(16,185,129,.2);color:var(--green);border:1px solid var(--green)}
.status-upcoming{background:rgba(255,210,63,.15);color:var(--gold);border:1px solid var(--gold-dim)}
.status-completed{background:rgba(107,95,160,.2);color:var(--text-muted);border:1px solid var(--border)}

.spot-bar{display:flex;gap:.3rem;margin-bottom:.75rem;flex-wrap:wrap}
.spot-pill{
  font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:99px;
}
.spot-available{background:rgba(16,185,129,.15);color:var(--green)}
.spot-reserved{background:rgba(255,210,63,.15);color:var(--gold)}
.spot-sold{background:rgba(239,68,68,.15);color:var(--red)}

.viewer-pill{
  display:inline-flex;align-items:center;gap:.35rem;
  font-size:.7rem;font-weight:600;color:var(--text-muted);
  margin-bottom:.75rem;
}
.viewer-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--green);flex-shrink:0;
  animation:viewer-pulse 2s ease-in-out infinite;
}
@keyframes viewer-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}

.spot-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;
  margin-bottom:1.5rem;
}
.spot-tile{
  background:var(--surface);border:2px solid var(--border);
  border-radius:10px;padding:.75rem .5rem;text-align:center;
  transition:all .2s;cursor:default;
}
.spot-tile.available{border-color:var(--green);cursor:pointer}
.spot-tile.available:hover{background:rgba(16,185,129,.1);transform:scale(1.04)}
.spot-tile.reserved{border-color:var(--gold);opacity:.7}
.spot-tile.sold{border-color:var(--purple);background:rgba(0,163,255,.1)}
.spot-tile .spot-num{font-size:1.2rem;font-weight:800;color:var(--text)}
.spot-tile .spot-label{font-size:.7rem;color:var(--text-muted);margin-top:.15rem}
.spot-tile .spot-owner{font-size:.72rem;color:var(--text-dim);margin-top:.25rem;font-weight:600}
.spot-tile .spot-status-label{font-size:.65rem;margin-top:.2rem;text-transform:uppercase;letter-spacing:.05em}
.spot-tile.available .spot-status-label{color:var(--green)}
.spot-tile.reserved .spot-status-label{color:var(--gold)}
.spot-tile.sold .spot-status-label{color:var(--text-muted)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  padding:.6rem 1.25rem;border-radius:8px;font-weight:700;font-size:.9rem;
  border:none;cursor:pointer;transition:all .2s;text-decoration:none;
}
.btn:hover{text-decoration:none}
.btn-gold{background:var(--gold);color:#05070D}
.btn-gold:hover{background:#FFE566;color:#05070D}
.btn-purple{background:var(--purple);color:#fff}
.btn-purple:hover{background:var(--purple-dim);color:#fff}
.btn-outline{background:transparent;color:var(--text-dim);border:1.5px solid var(--border)}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}
.btn-full{width:100%}
.btn-lg{padding:.9rem 2rem;font-size:1.05rem}
.btn-sm{padding:.35rem .8rem;font-size:.8rem}

.modal-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.75);
  display:flex;align-items:center;justify-content:center;
  z-index:999;padding:1rem;
  opacity:0;pointer-events:none;transition:opacity .2s;
}
.modal-overlay.active{opacity:1;pointer-events:all}
.modal{
  background:var(--surface);border:1px solid var(--border);
  border-radius:16px;padding:1.75rem;width:100%;max-width:440px;
  position:relative;
}
.modal h2{font-size:1.25rem;font-weight:800;margin-bottom:1rem;color:var(--gold)}
.modal-close{
  position:absolute;top:1rem;right:1rem;background:none;border:none;
  color:var(--text-muted);font-size:1.3rem;cursor:pointer;line-height:1;
}
.form-group{margin-bottom:1rem}
.form-group label{display:block;font-size:.82rem;font-weight:600;
  color:var(--text-dim);margin-bottom:.35rem}
.form-group input,.form-group select,.form-group textarea{
  width:100%;background:var(--surface2);border:1.5px solid var(--border);
  color:var(--text);border-radius:8px;padding:.6rem .85rem;font-size:.9rem;
  outline:none;transition:border-color .2s;
}
.form-group input:focus,.form-group select:focus{border-color:var(--purple)}
.form-hint{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}
.checkout-summary{
  background:var(--surface2);border-radius:8px;padding:.85rem 1rem;
  margin-bottom:1rem;font-size:.9rem;
}
.checkout-summary .row{display:flex;justify-content:space-between;margin-bottom:.25rem}
.checkout-summary .total{font-weight:800;color:var(--gold);font-size:1.05rem}

.rules-steps{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.25rem;margin-bottom:2rem}
.rules-step{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}
.rules-step .step-num{
  width:2rem;height:2rem;border-radius:50%;
  background:var(--purple);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.9rem;margin-bottom:.75rem;
}
.rules-step h3{font-size:1rem;font-weight:700;margin-bottom:.35rem;color:var(--gold)}
.rules-step p{font-size:.85rem;color:var(--text-dim)}

.thank-you-box{
  max-width:520px;margin:4rem auto;
  background:var(--surface);border:1px solid var(--border);
  border-radius:16px;padding:2.5rem;text-align:center;
}
.thank-you-icon{font-size:3.5rem;margin-bottom:1rem}
.thank-you-box h1{font-size:1.8rem;font-weight:900;color:var(--gold);margin-bottom:.5rem}
.thank-you-box p{color:var(--text-dim);margin-bottom:.75rem}
.order-number{
  background:var(--surface2);border-radius:8px;padding:.75rem 1rem;
  font-family:monospace;font-size:1.1rem;color:var(--gold);
  margin:1rem 0;display:inline-block;
}

.site-footer{
  background:var(--surface);border-top:1px solid var(--border);
  padding:1.5rem;text-align:center;
  font-size:.8rem;color:var(--text-muted);margin-top:3rem;
}
.site-footer a{color:var(--text-muted)}
.site-footer a:hover{color:var(--gold)}

.text-gold{color:var(--gold)}
.text-dim{color:var(--text-dim)}
.text-muted{color:var(--text-muted)}
.text-green{color:var(--green)}
.text-center{text-align:center}
.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}
.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}
.flex{display:flex}.gap-1{gap:.5rem}.gap-2{gap:1rem}.items-center{align-items:center}
.pill{display:inline-block;padding:.2rem .6rem;border-radius:99px;font-size:.75rem;font-weight:700}
.alert{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.88rem}
.alert-error{background:rgba(239,68,68,.15);border:1px solid var(--red);color:#fca5a5}
.alert-success{background:rgba(16,185,129,.15);border:1px solid var(--green);color:#6ee7b7}

.signup-section{
  background:linear-gradient(135deg,#0f0828 0%,#071520 100%);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:3rem 1.5rem;
  text-align:center;
}
.signup-inner{max-width:560px;margin:0 auto}
.signup-icon{font-size:2.5rem;margin-bottom:.75rem}
.signup-heading{
  font-size:1.6rem;font-weight:800;color:var(--gold);
  margin-bottom:.6rem;
}
.signup-sub{color:var(--text-muted);font-size:.95rem;margin-bottom:1.5rem;line-height:1.6}
.signup-form{width:100%}
.signup-fields{
  display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;align-items:stretch;
}
.signup-input{
  flex:1 1 180px;min-width:0;
  background:rgba(255,255,255,.07);
  border:1px solid var(--border);
  border-radius:8px;
  padding:.65rem .9rem;
  color:var(--text);
  font-size:.95rem;
  outline:none;
  transition:border-color .2s;
}
.signup-input:focus{border-color:var(--gold)}
.signup-input::placeholder{color:var(--text-muted)}
.signup-btn{white-space:nowrap;flex-shrink:0}
.signup-msg{
  margin-top:.9rem;
  padding:.65rem 1rem;
  border-radius:8px;
  font-size:.9rem;
  font-weight:600;
}
.signup-msg.ok{background:rgba(16,185,129,.15);border:1px solid var(--green);color:#6ee7b7}
.signup-msg.dup{background:rgba(255,210,63,.1);border:1px solid var(--gold);color:var(--gold)}
.signup-msg.err{background:rgba(239,68,68,.15);border:1px solid var(--red);color:#fca5a5}

.nyc-updated-tag{
  font-size:.75rem;color:var(--text-muted);
  background:var(--surface2);border:1px solid var(--border);
  border-radius:99px;padding:.2rem .7rem;
}

.deal-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:1.25rem;
}
.deal-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:1.25rem;
  position:relative;overflow:hidden;
  transition:transform .2s,box-shadow .2s;
}
.deal-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.deal-hidden{display:none;}
.deal-card-featured{
  border-color:rgba(255,210,63,.4);
  background:var(--surface2);
  box-shadow:0 0 20px rgba(255,210,63,.07);
}
.deal-badge{
  display:inline-block;
  font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  background:linear-gradient(135deg,var(--gold),#f57f20);
  color:#05070D;
  border-radius:4px;padding:.2rem .55rem;
  margin-bottom:.5rem;
}
.deal-offer-chip{
  display:inline-block;
  font-size:.75rem;font-weight:700;
  padding:.22rem .6rem;
  border-radius:99px;
  margin-bottom:.5rem;
  background:rgba(255,210,63,.1);
  border:1px solid rgba(255,210,63,.3);
  color:var(--gold);
  line-height:1.4;
}
.deal-avail{
  font-size:.72rem; font-weight:700; padding:.28rem .65rem;
  border-radius:20px; margin-bottom:.5rem; display:inline-block;
}
.deal-avail-low  { background:rgba(255,140,0,.15); color:#ff8c00; border:1px solid rgba(255,140,0,.35); }
.deal-avail-sold { background:rgba(220,38,38,.15);  color:#f87171; border:1px solid rgba(220,38,38,.3); }
.deal-avail-soon { background:rgba(99,102,241,.15); color:#a5b4fc; border:1px solid rgba(99,102,241,.3); }
.deal-avail-ok   { background:rgba(34,197,94,.1);  color:#86efac;  border:1px solid rgba(34,197,94,.25); }
.deal-icon{font-size:2rem;margin-bottom:.5rem;display:flex;align-items:center;justify-content:center}
.deal-img{
  width:100%;
  max-height:190px;
  object-fit:contain;
  border-radius:10px;
  margin-bottom:.5rem;
  background:rgba(255,255,255,.04);
  padding:.35rem;
}
.deal-body{}
.deal-name{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:.4rem;line-height:1.3}
.deal-price{
  font-size:1.5rem;font-weight:900;color:var(--gold);
  margin-bottom:.65rem;
}
.deal-per{font-size:.8rem;font-weight:500;color:var(--text-muted)}
.deal-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.85rem}
.deal-tag{
  font-size:.65rem;font-weight:700;padding:.15rem .5rem;
  border-radius:99px;letter-spacing:.04em;text-transform:uppercase;
}
.tag-sealed{background:rgba(0,163,255,.2);color:var(--text-dim);border:1px solid var(--border)}
.tag-investment{background:rgba(255,210,63,.15);color:var(--gold);border:1px solid rgba(255,210,63,.3)}
.tag-local{background:rgba(16,185,129,.15);color:var(--green);border:1px solid rgba(16,185,129,.3)}
.tag-delivery{background:rgba(6,182,212,.15);color:var(--teal);border:1px solid rgba(6,182,212,.3)}
.tag-japanese{background:rgba(239,68,68,.15);color:#fca5a5;border:1px solid rgba(239,68,68,.3)}

.nyc-info-block{
  background:var(--surface);border:1px solid var(--border);
  border-radius:16px;padding:2rem;
}
.nyc-info-header{
  display:flex;align-items:center;gap:.75rem;
  margin-bottom:1.5rem;
  padding-bottom:1rem;
  border-bottom:1px solid var(--border);
}
.nyc-info-icon{font-size:1.8rem}
.nyc-info-header h2{font-size:1.25rem;font-weight:800;color:var(--gold)}
.nyc-info-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:1.25rem;margin-bottom:1.5rem;
}
.nyc-info-item{
  display:flex;gap:.75rem;align-items:flex-start;
}
.nyc-info-item-icon{font-size:1.4rem;flex-shrink:0;margin-top:.1rem}
.nyc-info-item strong{display:block;color:var(--text);font-size:.92rem;margin-bottom:.2rem}
.nyc-info-item p{font-size:.82rem;color:var(--text-dim);line-height:1.5}
.nyc-info-cta{
  display:flex;gap:.75rem;flex-wrap:wrap;
  padding-top:1rem;border-top:1px solid var(--border);
}

.nyc-contact-row{
  display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;
  margin-top:1.25rem;
}
.nyc-contact-btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.6rem 1.4rem;border-radius:10px;
  font-weight:700;font-size:.9rem;text-decoration:none;
  transition:filter .2s,transform .15s;
}
.nyc-contact-btn:hover{filter:brightness(1.15);transform:translateY(-2px);text-decoration:none}
.nyc-contact-ig{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);color:#fff}
.nyc-contact-fb{background:#1877f2;color:#fff}
.nyc-handle-row{
  margin-top:.65rem;font-size:.8rem;
  color:#777;
  display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;
}
.nyc-handle-row strong{color:#333}
.nyc-sep{opacity:.5;color:#999}

.deal-order-btns{display:flex;gap:.5rem;flex-wrap:wrap}
.deal-order-btns .btn{flex:1;min-width:0;justify-content:center;font-size:.78rem}
.deal-order-ig{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)!important;color:#fff!important;border:none!important}
.deal-order-ig:hover{filter:brightness(1.1);color:#fff!important}
.deal-order-fb{border-color:#1877f2!important;color:#6aabff!important}
.deal-order-fb:hover{background:rgba(24,119,242,.15)!important;border-color:#1877f2!important}

.nyc-social-contact{
  display:flex;gap:1rem;flex-wrap:wrap;
  margin-bottom:1.25rem;
}
.nyc-social-btn{
  display:flex;align-items:center;gap:.75rem;
  flex:1;min-width:200px;
  padding:.85rem 1.1rem;border-radius:10px;
  text-decoration:none;transition:filter .2s,transform .15s;
  color:#fff;
}
.nyc-social-btn:hover{filter:brightness(1.12);transform:translateY(-2px);text-decoration:none;color:#fff}
.nyc-social-ig{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)}
.nyc-social-fb{background:#1877f2}

.nyc-powered-by{
  margin-top:.85rem;font-size:.75rem;
  color:var(--text-muted);text-align:center;
}
.nyc-powered-by a{color:var(--gold);font-weight:600}

.nyc-contact-phone{background:#1a8a1a;color:#fff}
.nyc-contact-phone:hover{color:#fff}
.nyc-social-phone{background:#1a8a1a}
.nyc-social-yt{background:#ff0000}

.nyc-feature-strip{
  display:flex;align-items:stretch;flex-wrap:wrap;
  background:linear-gradient(135deg,#0d0d1a 0%,#12102b 100%);
  border-top:2px solid var(--gold);
  border-bottom:2px solid rgba(255,215,0,.25);
}
.nyc-feature-item{
  flex:1;min-width:140px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:1.1rem .75rem;text-align:center;
}
.nyc-feature-icon{font-size:1.6rem;margin-bottom:.3rem}
.nyc-feature-label{
  font-weight:800;font-size:.88rem;letter-spacing:.04em;
  color:var(--gold);text-transform:uppercase;margin-bottom:.2rem;
}
.nyc-feature-sub{font-size:.73rem;color:var(--text-dim);line-height:1.4}
.nyc-feature-phone,.nyc-feature-yt{
  font-weight:700;text-decoration:none;
}
.nyc-feature-phone{color:#6aff6a}
.nyc-feature-phone:hover{text-decoration:underline}
.nyc-feature-yt{color:#ff6b6b}
.nyc-feature-yt:hover{text-decoration:underline}
.nyc-feature-divider{
  width:1px;background:rgba(255,215,0,.15);
  margin:.75rem 0;
}
@media(max-width:600px){
  .nyc-feature-divider{display:none}
  .nyc-feature-item{min-width:45%}
}

.btn-yt{background:#ff0000;color:#fff;border-color:#ff0000}
.btn-yt:hover{background:#cc0000;border-color:#cc0000;color:#fff}

.btn-offer{
  background:transparent;
  border:1px solid rgba(255,215,0,.35);
  color:var(--gold);
  font-weight:600;
}
.btn-offer:hover{background:rgba(255,215,0,.08);border-color:var(--gold)}
.mt-half{margin-top:.4rem}

.urgency-badge{
  display:inline-block;
  font-size:.72rem;font-weight:700;letter-spacing:.04em;
  padding:.2rem .55rem;border-radius:5px;margin-bottom:.4rem;
}
.urgency-low{background:rgba(255,80,0,.15);color:#ff7040;border:1px solid rgba(255,80,0,.3)}
.urgency-out{background:rgba(120,120,120,.15);color:#888;border:1px solid rgba(120,120,120,.2)}
.urgency-ok{background:rgba(40,200,100,.12);color:#3dba75;border:1px solid rgba(40,200,100,.25)}

.spot-pill.spot-urgent{background:rgba(255,80,0,.15);color:#ff7040;border:1px solid rgba(255,80,0,.3)}
.spot-pill.spot-soldout{background:rgba(120,120,120,.15);color:#888;border:1px solid rgba(120,120,120,.2)}

.card-placeholder-sealed{background:linear-gradient(135deg,#1a0e3a 0%,#2d1b69 100%)}
.card-placeholder-single{background:linear-gradient(135deg,#0d1f3a 0%,#1a3a6b 100%)}
.card-placeholder-live_rip{background:linear-gradient(135deg,#3a0d0d 0%,#6b1a1a 100%)}
.card-placeholder-break_spot{background:linear-gradient(135deg,#0d3a1a 0%,#1a6b2d 100%)}
.card-placeholder-break{background:linear-gradient(135deg,#1a1a0d 0%,#3a3a0d 55%,#1a3a0d 100%)}
.card-img-placeholder .placeholder-icon{font-size:2.5rem;display:block;margin-bottom:.4rem}
.card-img-placeholder .placeholder-type{
  font-size:.65rem;font-weight:800;letter-spacing:.1em;
  color:rgba(255,255,255,.3);text-transform:uppercase;
}
.card-img-placeholder{
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;min-height:140px;
}

.countdown-chip{
  display:inline-block;
  font-size:.75rem;font-weight:700;letter-spacing:.03em;
  padding:.25rem .65rem;border-radius:6px;margin-bottom:.5rem;
  background:rgba(255,215,0,.1);border:1px solid rgba(255,215,0,.25);
  color:var(--gold);
}
.countdown-chip.countdown-live{
  background:rgba(255,50,50,.15);border-color:rgba(255,50,50,.4);color:#ff6464;
}

.countdown-block{
  background:linear-gradient(135deg,rgba(255,215,0,.06),rgba(255,215,0,.02));
  border:1px solid rgba(255,215,0,.2);
  border-radius:12px;
  padding:.85rem 1.25rem;
  margin-bottom:1rem;
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.25rem;
}
.countdown-label{font-size:.75rem;color:var(--text-muted);font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.countdown-display{font-size:1.6rem;font-weight:900;color:var(--gold);letter-spacing:.02em}
.countdown-display.countdown-live{color:#ff6464;font-size:1.3rem}

.yt-section{
  display:grid;grid-template-columns:1fr 1fr;gap:2rem;
  align-items:center;
  background:linear-gradient(135deg,#0d0d1a 0%,#1a0000 100%);
  border:1px solid rgba(255,0,0,.2);
  border-radius:16px;
  padding:2rem;
  overflow:hidden;
}
.yt-eyebrow{
  font-size:.75rem;font-weight:800;letter-spacing:.1em;
  color:#ff4444;text-transform:uppercase;margin-bottom:.4rem;
}
.yt-title{font-size:1.5rem;font-weight:900;margin-bottom:.65rem;color:var(--text)}
.yt-desc{font-size:.88rem;color:var(--text-dim);line-height:1.6;margin-bottom:1rem}
.yt-links{display:flex;gap:.65rem;flex-wrap:wrap}
.yt-handle{font-size:.75rem;color:rgba(255,255,255,.3);margin-top:.75rem;letter-spacing:.02em}
.yt-embed-placeholder{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  aspect-ratio:16/9;border-radius:12px;
  background:#0d0d0d;border:2px solid rgba(255,0,0,.3);
  text-decoration:none;transition:border-color .2s,transform .2s;cursor:pointer;
}
.yt-embed-placeholder:hover{border-color:#ff0000;transform:scale(1.02)}
.yt-play-ring{
  width:64px;height:64px;border-radius:50%;
  background:#ff0000;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:.75rem;
  box-shadow:0 0 20px rgba(255,0,0,.4);
  transition:box-shadow .2s;
}
.yt-embed-placeholder:hover .yt-play-ring{box-shadow:0 0 32px rgba(255,0,0,.7)}
.yt-play-icon{font-size:1.4rem;color:#fff;margin-left:4px}
.yt-placeholder-label{font-size:1rem;font-weight:800;color:#fff;margin-bottom:.25rem}
.yt-placeholder-sub{font-size:.78rem;color:rgba(255,255,255,.4)}

.offer-msg{
  padding:.6rem .85rem;border-radius:8px;
  font-size:.85rem;font-weight:600;margin-bottom:.75rem;
}
.offer-msg.ok{background:rgba(40,200,100,.15);color:#3dba75;border:1px solid rgba(40,200,100,.3)}
.offer-msg.err{background:rgba(255,60,60,.15);color:#ff7070;border:1px solid rgba(255,60,60,.3)}

.status-badge{
  display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.06em;
  padding:.15rem .5rem;border-radius:4px;text-transform:uppercase;
}
.status-badge.status-pending{background:rgba(255,200,0,.15);color:#f5c518;border:1px solid rgba(255,200,0,.3)}
.status-badge.status-accepted{background:rgba(40,200,100,.15);color:#3dba75;border:1px solid rgba(40,200,100,.3)}
.status-badge.status-declined{background:rgba(255,60,60,.15);color:#ff7070;border:1px solid rgba(255,60,60,.3)}
.status-badge.status-countered{background:rgba(100,100,255,.15);color:#8888ff;border:1px solid rgba(100,100,255,.3)}
.status-badge.status-expired{background:rgba(120,120,120,.15);color:#888;border:1px solid rgba(120,120,120,.2)}

@media(max-width:600px){
  .site-nav{padding:.6rem 1rem}
  .hero{padding:2.5rem 1rem 2rem}
  .section{padding:1.75rem 1rem}
  .spot-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}
  .card-grid{grid-template-columns:1fr}
}

.nyc-filter-section { padding-bottom:.5rem; }
.nyc-filter-bar {
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:.85rem 1rem;
  display:flex; flex-direction:column; gap:.75rem;
}
.nyc-search-wrap { position:relative; }
.nyc-search-icon {
  position:absolute; left:.85rem; top:50%; transform:translateY(-50%);
  font-size:1rem; opacity:.6;
}
.nyc-search-input {
  width:100%; padding:.65rem .85rem .65rem 2.4rem;
  background:rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.12);
  border-radius:10px; color:var(--text); font-size:.95rem;
}
.nyc-search-input:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 2px rgba(255,193,7,.15); }
.nyc-filter-chips {
  display:flex; flex-wrap:wrap; gap:.4rem;
}
.nyc-chip {
  padding:.4rem .8rem; font-size:.78rem; font-weight:600;
  background:rgba(255,255,255,.05); color:var(--text-dim);
  border:1px solid rgba(255,255,255,.1); border-radius:20px;
  cursor:pointer; transition:all .15s; white-space:nowrap;
}
.nyc-chip:hover { background:rgba(255,255,255,.1); color:var(--text); }
.nyc-chip.active {
  background:linear-gradient(135deg,#ffc107,#ff9800);
  color:#05070D; border-color:transparent; font-weight:800;
  box-shadow:0 0 12px rgba(255,193,7,.35);
}
.nyc-empty-state {
  text-align:center; padding:2.5rem 1rem;
  background:rgba(255,255,255,.02); border-radius:14px;
  border:1px dashed rgba(255,255,255,.08); margin-top:1rem;
}

/* Per-card Make Offer button */
.btn-offer-deal {
  display:inline-flex; align-items:center; gap:.3rem;
  padding:.4rem .7rem; font-size:.78rem; font-weight:700;
  background:rgba(168,85,247,.15); color:#c4b5fd;
  border:1px solid rgba(168,85,247,.4); border-radius:8px;
  text-decoration:none; cursor:pointer; transition:all .15s;
}
.btn-offer-deal:hover { background:rgba(168,85,247,.3); color:#fff; }
.deal-order-btns { display:flex; flex-wrap:wrap; gap:.4rem; }
.deal-order-btns .btn { flex:1 1 auto; min-width:48%; }

/* Bundle Builder */
.nyc-bundle-block {
  position:relative; overflow:hidden;
  background:linear-gradient(135deg,rgba(168,85,247,.12),rgba(99,102,241,.08));
  border:1px solid rgba(168,85,247,.3); border-radius:18px;
  padding:1.75rem 1.5rem; text-align:center;
}
.nyc-bundle-tag {
  display:inline-block; font-size:.72rem; font-weight:800;
  letter-spacing:.08em; text-transform:uppercase;
  color:#c4b5fd; background:rgba(168,85,247,.15);
  padding:.3rem .8rem; border-radius:20px; margin-bottom:.75rem;
}
.nyc-bundle-title { font-size:1.85rem; font-weight:900; color:var(--gold); margin:.25rem 0 .5rem; }
.nyc-bundle-sub { color:var(--text-dim); max-width:600px; margin:0 auto 1.25rem; line-height:1.5; }
.nyc-bundle-tiers {
  display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-bottom:1.25rem;
}
.nyc-bundle-tier {
  background:rgba(0,0,0,.3); border:1px solid rgba(255,255,255,.1);
  border-radius:12px; padding:1rem 1.5rem; min-width:160px;
}
.nyc-bundle-tier-gold { border-color:var(--gold); background:rgba(255,193,7,.08); }
.nyc-bundle-tier-amt { font-size:1.5rem; font-weight:900; color:var(--gold); }
.nyc-bundle-tier-label { font-size:.75rem; color:var(--text-dim); margin-top:.25rem; }
.nyc-cta-row { display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap; }

/* How Local Pickup Works (3 steps) */
.nyc-steps-grid {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1rem; margin-top:1rem;
}
.nyc-step-card {
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
  border-radius:14px; padding:1.5rem 1.25rem;
  position:relative; transition:transform .15s, border-color .15s;
}
.nyc-step-card:hover { transform:translateY(-2px); border-color:var(--gold); }
.nyc-step-num {
  position:absolute; top:-14px; left:1.25rem;
  width:36px; height:36px; border-radius:50%;
  background:linear-gradient(135deg,#ffc107,#ff9800); color:#05070D;
  display:flex; align-items:center; justify-content:center;
  font-weight:900; font-size:1.1rem; box-shadow:0 4px 12px rgba(255,193,7,.4);
}
.nyc-step-title { font-size:1.1rem; font-weight:800; color:var(--text); margin:.25rem 0 .5rem; }
.nyc-step-card p { font-size:.88rem; color:var(--text-dim); line-height:1.5; margin:0; }

/* Live Rip Funnel */
.nyc-liverip-block {
  position:relative; overflow:hidden;
  background:linear-gradient(135deg,rgba(220,38,38,.12),rgba(168,85,247,.08));
  border:1px solid rgba(220,38,38,.35); border-radius:18px;
  padding:2rem 1.5rem; text-align:center;
}
.nyc-liverip-glow {
  position:absolute; inset:-50%;
  background:radial-gradient(ellipse at 50% 50%,rgba(255,0,0,.15) 0%,transparent 60%);
  pointer-events:none; animation:liverip-pulse 4s ease-in-out infinite;
}
@keyframes liverip-pulse { 0%,100% { opacity:.4 } 50% { opacity:.8 } }
.nyc-liverip-tag {
  display:inline-block; font-size:.72rem; font-weight:900;
  letter-spacing:.08em; color:#fff;
  background:#dc2626; padding:.3rem .8rem; border-radius:20px;
  margin-bottom:.75rem; position:relative; z-index:1;
  animation:liverip-blink 1.5s ease-in-out infinite;
}
@keyframes liverip-blink { 0%,100% { opacity:1 } 50% { opacity:.7 } }
.nyc-liverip-title { font-size:2rem; font-weight:900; color:var(--gold); margin:.25rem 0 .5rem; position:relative; z-index:1; }
.nyc-liverip-sub { color:var(--text-dim); max-width:600px; margin:0 auto 1.25rem; line-height:1.5; position:relative; z-index:1; }
.nyc-liverip-block .nyc-cta-row { position:relative; z-index:1; }

/* FAQ */
.nyc-faq-grid {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:.75rem; margin-top:1rem;
}
.nyc-faq-item {
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
  border-radius:12px; padding:.85rem 1rem; transition:border-color .15s;
}
.nyc-faq-item:hover { border-color:rgba(255,193,7,.3); }
.nyc-faq-item summary {
  font-weight:700; color:var(--text); cursor:pointer;
  list-style:none; display:flex; justify-content:space-between; align-items:center;
}
.nyc-faq-item summary::-webkit-details-marker { display:none; }
.nyc-faq-item summary::after { content:'+'; color:var(--gold); font-size:1.4rem; font-weight:900; transition:transform .2s; }
.nyc-faq-item[open] summary::after { transform:rotate(45deg); }
.nyc-faq-item p { color:var(--text-dim); margin:.75rem 0 0; line-height:1.55; font-size:.9rem; }

/* Account Teaser */
.nyc-account-teaser {
  display:flex; align-items:center; gap:1.25rem; flex-wrap:wrap;
  background:linear-gradient(135deg,rgba(34,197,94,.08),rgba(255,193,7,.06));
  border:1px solid rgba(255,193,7,.25); border-radius:18px;
  padding:1.5rem 1.75rem;
}
.nyc-account-icon { font-size:3rem; flex:0 0 auto; }
.nyc-account-content { flex:1 1 300px; }
.nyc-account-eyebrow {
  font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  color:var(--gold); margin-bottom:.25rem;
}
.nyc-account-content h3 { font-size:1.15rem; color:var(--text); margin:.15rem 0 .35rem; line-height:1.35; }
.nyc-account-content p { font-size:.85rem; color:var(--text-dim); margin:0; line-height:1.5; }
.nyc-account-cta { flex:0 0 auto; }

/* Sticky Bottom Contact Bar */
.nyc-sticky-bar {
  position:fixed; bottom:0; left:0; right:0; z-index:200;
  display:flex; gap:0;
  background:rgba(7,4,26,.96); backdrop-filter:blur(12px);
  border-top:1px solid rgba(255,193,7,.25);
  box-shadow:0 -4px 16px rgba(0,0,0,.4);
}
.nyc-sticky-btn {
  flex:1 1 0; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:.15rem; padding:.55rem .25rem;
  text-decoration:none; color:var(--text);
  font-size:1.15rem; font-weight:700;
  border-right:1px solid rgba(255,255,255,.05);
  transition:background .15s;
}
.nyc-sticky-btn:last-child { border-right:none; }
.nyc-sticky-btn:hover { background:rgba(255,193,7,.1); }
.nyc-sticky-label { font-size:.65rem; font-weight:700; letter-spacing:.04em; opacity:.85; }
.nyc-sticky-ig:hover { background:rgba(225,48,108,.18); }
.nyc-sticky-text:hover { background:rgba(34,197,94,.18); }
.nyc-sticky-call:hover { background:rgba(34,197,94,.18); }
.nyc-sticky-fb:hover { background:rgba(24,119,242,.18); }
.nyc-sticky-yt:hover { background:rgba(220,38,38,.18); }

/* Add bottom padding so sticky bar doesn't cover content (NYC page only) */
body:has(.nyc-sticky-bar) { padding-bottom:64px; }

@media (min-width: 768px){
  .nyc-sticky-bar { max-width:560px; left:50%; transform:translateX(-50%); border-radius:14px 14px 0 0; }
  .nyc-sticky-label { font-size:.72rem; }
}

/* Card hover: lift + gold glow */
.deal-card {
  transition:transform .25s cubic-bezier(.2,.9,.3,1.4), box-shadow .25s, border-color .25s;
}
.deal-card:hover {
  transform:translateY(-6px);
  box-shadow:0 12px 32px rgba(0,0,0,.45), 0 0 24px rgba(255,193,7,.18);
  border-color:rgba(255,193,7,.45);
}
.deal-card:hover .deal-img {
  transform:scale(1.04);
}
.deal-img { transition:transform .3s ease; }

/* Pricing dominates over title */
.deal-name {
  font-size:.92rem !important;
  font-weight:600 !important;
  color:var(--text-dim) !important;
  margin-bottom:.15rem !important;
  line-height:1.3 !important;
  letter-spacing:.01em;
}
.deal-price {
  font-size:2rem !important;
  font-weight:900 !important;
  line-height:1 !important;
  margin-bottom:.6rem !important;
  background:linear-gradient(135deg,#ffd54a,#ff9800);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:0 0 24px rgba(255,193,7,.15);
}

/* Tighter tags row */
.deal-tags { margin-bottom:.7rem !important; gap:.25rem !important; }
.deal-tag { font-size:.62rem !important; padding:.12rem .45rem !important; }

/* Primary CTA row — IG + Text, full-width stacked for max prominence + zero truncation */
.deal-order-primary {
  display:grid;
  grid-template-columns:1fr;
  gap:.5rem;
  margin-top:.25rem;
}
.btn-cta-primary {
  display:flex; align-items:center; justify-content:center; gap:.4rem;
  padding:.85rem .6rem;
  border-radius:11px;
  font-size:.9rem; font-weight:800;
  text-decoration:none; cursor:pointer;
  border:none; color:#fff;
  position:relative; overflow:hidden;
  transition:transform .15s, box-shadow .2s, filter .15s;
  letter-spacing:.01em;
}
.btn-cta-icon { font-size:1.1rem; }
.btn-cta-label { white-space:nowrap; }
.btn-cta-primary:hover {
  transform:translateY(-2px);
  filter:brightness(1.12);
  text-decoration:none;
  color:#fff;
}
.btn-cta-primary:active { transform:translateY(0); }

.btn-cta-ig {
  background:linear-gradient(135deg,#833ab4 0%,#fd1d1d 50%,#fcb045 100%);
  box-shadow:0 4px 14px rgba(253,29,29,.35), 0 0 0 0 rgba(253,29,29,.5);
  animation:cta-pulse-ig 2.4s ease-in-out infinite;
}
.btn-cta-text {
  background:linear-gradient(135deg,#16a34a,#22c55e);
  box-shadow:0 4px 14px rgba(34,197,94,.35), 0 0 0 0 rgba(34,197,94,.5);
  animation:cta-pulse-text 2.4s ease-in-out infinite .3s;
}

@keyframes cta-pulse-ig {
  0%,100% { box-shadow:0 4px 14px rgba(253,29,29,.35), 0 0 0 0 rgba(253,29,29,.5); }
  50%     { box-shadow:0 4px 18px rgba(253,29,29,.55), 0 0 0 8px rgba(253,29,29,0); }
}
@keyframes cta-pulse-text {
  0%,100% { box-shadow:0 4px 14px rgba(34,197,94,.35), 0 0 0 0 rgba(34,197,94,.5); }
  50%     { box-shadow:0 4px 18px rgba(34,197,94,.55), 0 0 0 8px rgba(34,197,94,0); }
}
@media (prefers-reduced-motion: reduce) {
  .btn-cta-ig, .btn-cta-text { animation:none; }
}

/* "Message to confirm availability" microcopy */
.deal-confirm-note {
  font-size:.7rem;
  color:var(--text-muted);
  text-align:center;
  margin:.55rem 0 .5rem;
  font-weight:500;
  letter-spacing:.01em;
  opacity:.75;
}

/* Secondary actions — smaller, less visual weight */
.deal-order-secondary {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.4rem;
}
.btn-cta-secondary {
  display:flex; align-items:center; justify-content:center; gap:.3rem;
  padding:.5rem .4rem;
  font-size:.75rem; font-weight:700;
  border-radius:8px;
  text-decoration:none; cursor:pointer;
  background:rgba(255,255,255,.04);
  color:var(--text-dim);
  border:1px solid rgba(255,255,255,.1);
  transition:all .15s;
}
.btn-cta-secondary:hover {
  background:rgba(255,255,255,.08);
  color:var(--text);
  text-decoration:none;
}
.deal-order-secondary .deal-order-fb {
  border-color:rgba(24,119,242,.4) !important;
  color:#7cb2ff !important;
}
.deal-order-secondary .deal-order-fb:hover {
  background:rgba(24,119,242,.12) !important;
}
.deal-order-secondary .btn-offer-deal {
  border-color:rgba(168,85,247,.4) !important;
  color:#c4b5fd !important;
  background:rgba(168,85,247,.08) !important;
}
.deal-order-secondary .btn-offer-deal:hover {
  background:rgba(168,85,247,.2) !important;
  color:#fff !important;
}

/* Hero contact buttons — bigger, more prominent for IG + Call */
.nyc-contact-row { gap:.65rem; }
.nyc-contact-btn {
  padding:.95rem 1.4rem !important;
  font-size:1rem !important;
  font-weight:800 !important;
  border-radius:12px !important;
  box-shadow:0 4px 14px rgba(0,0,0,.3);
}
.nyc-contact-ig {
  animation:cta-pulse-ig 2.6s ease-in-out infinite;
}
.nyc-contact-phone {
  animation:cta-pulse-text 2.6s ease-in-out infinite .4s;
}

/* "Only X left" — make it pop more */
.deal-avail-low {
  animation:low-stock-pulse 1.8s ease-in-out infinite;
  font-weight:800 !important;
}
@keyframes low-stock-pulse {
  0%,100% { background:rgba(255,140,0,.15); }
  50%     { background:rgba(255,140,0,.35); }
}

/* Compact hero on home for mobile-first deals visibility */
.soho-hero-compact { padding: 2rem 1.5rem 1rem; }
.soho-hero-compact .soho-display { font-size: clamp(1.9rem, 5.5vw, 3.6rem); }
.soho-hero-compact .soho-rule { margin: .9rem 0; }
.soho-hero-compact .soho-lede { font-size: 1rem; margin-bottom: .75rem; }
@media (max-width: 768px) {
  .soho-hero-compact { padding: 1.25rem 1.1rem .5rem; }
  .soho-hero-compact .soho-eyebrow { font-size: .62rem; margin-bottom: .55rem; letter-spacing:.26em; }
  .soho-hero-compact .soho-display { font-size: 1.85rem; line-height: .98; }
  .soho-hero-compact .soho-lede { font-size: .9rem; margin: .35rem 0 .55rem; }
  .soho-hero-compact .soho-rule { margin: .65rem 0; }
  .soho-hero-compact .home-updated { font-size: .7rem; margin-bottom: .55rem; }
  .soho-hero-compact .home-hero-ctas .btn { padding: .65rem .85rem; font-size: .85rem; }
}

/* Hero — tablet + mobile collapse */
@media (max-width: 768px) {
  .nyc-hero-layout{flex-direction:column-reverse;padding:1.5rem 1.25rem .5rem;gap:.75rem;text-align:center}
  .nyc-hero-content{text-align:center}
  .nyc-hero-content .nyc-sub{margin-left:auto;margin-right:auto}
  .nyc-hero-content .nyc-handle-row{justify-content:center}
  .nyc-hero-content .nyc-contact-row{justify-content:center}
  .nyc-art-scene{width:200px;height:220px}
  .nyc-pika{width:140px}
  .nyc-taxi-row{bottom:12px}
  .nyc-taxi-icon{font-size:1.65rem}
  .nyc-skyline-divider svg{height:72px}
}

/* Mobile spacing & readability */
@media (max-width: 640px) {
  .deal-grid { gap:.9rem; grid-template-columns:1fr; }
  .deal-card { padding:1rem; }
  .deal-img { max-height:170px; }
  .deal-name { font-size:.88rem !important; }
  .deal-price { font-size:1.85rem !important; }
  .btn-cta-primary { padding:.95rem .5rem; font-size:.92rem; }
  .btn-cta-icon { font-size:1.15rem; }
  .nyc-contact-row { flex-direction:column; }
  .nyc-contact-btn { width:100%; justify-content:center; }
  .nyc-title { font-size:2.2rem !important; line-height:1.05; }
  .nyc-sub { font-size:.95rem; padding:0 .25rem; }
  .nyc-filter-bar { padding:.7rem .75rem; }
  .nyc-chip { padding:.5rem .8rem; font-size:.8rem; }
  .nyc-bundle-title, .nyc-liverip-title { font-size:1.55rem !important; }
  .section { padding:1.5rem .9rem; }
  .section-title { font-size: 2rem; }
  .section-title.section-title-xl { font-size: 2.4rem; }
  .section-header { margin-bottom: 1.1rem; padding-bottom: .65rem; }
  .nyc-local-deals-sub { font-size: .92rem; padding: 0 .25rem; }
  /* Keep last deal card clear of sticky bottom bar (only on pages with the bar) */
  body:has(.nyc-sticky-bar) { padding-bottom: 88px; }
}

/* Sticky bar mobile readability */
@media (max-width: 480px) {
  .nyc-sticky-btn { padding:.65rem .2rem; font-size:1.25rem; }
  .nyc-sticky-label { font-size:.6rem; }
  .section-title { font-size: 1.8rem; }
  .section-title.section-title-xl { font-size: 2.1rem; line-height: .95; }
  .home-howto-row { gap: .5rem; }
  .home-howto-arrow { display:none; }
  .home-howto-step { min-width: 0; }
}

.auth-wrap { max-width:460px; margin:3rem auto; padding:1rem; }
.auth-card {
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,193,7,.2);
  border-radius:18px;
  padding:2rem 1.75rem;
  box-shadow:0 12px 40px rgba(0,0,0,.4);
}
.auth-eyebrow {
  font-size:.72rem; font-weight:800; letter-spacing:.08em;
  text-transform:uppercase; color:var(--gold); opacity:.8;
  text-align:center; margin-bottom:.5rem;
}
.auth-title { font-size:2rem; font-weight:900; color:var(--text); margin:0 0 .25rem; text-align:center; }
.auth-sub { color:var(--text-dim); text-align:center; margin:0 0 1.5rem; font-size:.9rem; }
.auth-error {
  background:rgba(220,38,38,.15); color:#fca5a5;
  border:1px solid rgba(220,38,38,.35); border-radius:10px;
  padding:.7rem .85rem; margin-bottom:1rem; font-size:.88rem;
}
.auth-form label {
  display:block; font-size:.78rem; font-weight:700;
  color:var(--text-dim); letter-spacing:.04em;
  margin-bottom:.3rem; margin-top:.85rem;
}
.auth-form label:first-child { margin-top:0; }
.auth-hint { font-weight:500; color:var(--text-muted); font-size:.72rem; }
.auth-form input {
  width:100%; padding:.7rem .85rem;
  background:rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.12);
  border-radius:10px; color:var(--text); font-size:.95rem;
}
.auth-form input:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 2px rgba(255,193,7,.15); }
.auth-submit { width:100%; justify-content:center; margin-top:1.25rem; padding:.95rem .6rem; }
.auth-alt { text-align:center; margin-top:1.25rem; font-size:.88rem; color:var(--text-dim); }
.auth-alt a { color:var(--gold); font-weight:700; text-decoration:none; }
.auth-alt a:hover { text-decoration:underline; }
.auth-skip { text-align:center; margin-top:.65rem; }
.auth-skip a { color:var(--text-muted); font-size:.78rem; text-decoration:none; }
.auth-skip a:hover { color:var(--text); }
.auth-fineprint { text-align:center; margin-top:1.25rem; font-size:.7rem; color:var(--text-muted); padding-top:.85rem; border-top:1px solid rgba(255,255,255,.06); }

/* Account page */
.account-wrap { max-width:900px; margin:0 auto; padding:1.5rem 1rem; }
.account-header {
  display:flex; align-items:flex-start; justify-content:space-between;
  flex-wrap:wrap; gap:1rem;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
  border-radius:14px; padding:1.5rem;
  margin-bottom:1.5rem;
}
.account-eyebrow { font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); opacity:.85; }
.account-name { font-size:1.85rem; font-weight:900; color:var(--text); margin:.25rem 0 .15rem; }
.account-email { color:var(--text-dim); font-size:.92rem; }
.account-actions { display:flex; gap:.5rem; flex-wrap:wrap; }
.account-count { color:var(--text-muted); font-size:.85rem; font-weight:600; }
.account-empty { text-align:center; padding:3rem 1rem; background:rgba(255,255,255,.03); border-radius:14px; border:1px dashed rgba(255,255,255,.08); }
.account-empty h3 { color:var(--text); margin:.25rem 0 .35rem; }
.account-empty p { color:var(--text-dim); font-size:.9rem; max-width:400px; margin:0 auto; }

/* Offer rows in account */
.offers-list { display:flex; flex-direction:column; gap:.75rem; }
.offer-row {
  display:flex; gap:1rem; flex-wrap:wrap;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
  border-radius:12px; padding:1rem 1.25rem;
  border-left:4px solid rgba(255,255,255,.15);
  transition:border-color .15s;
}
.offer-row-main { flex:1 1 280px; }
.offer-row-side { flex:0 0 auto; display:flex; flex-direction:column; align-items:flex-end; gap:.4rem; min-width:140px; }
.offer-status-pending  { border-left-color:var(--gold); }
.offer-status-accepted { border-left-color:#22c55e; }
.offer-status-declined { border-left-color:#dc2626; opacity:.75; }
.offer-status-countered { border-left-color:#a855f7; }
.offer-item-name { font-weight:800; color:var(--text); font-size:1.05rem; margin-bottom:.35rem; }
.offer-amounts { display:flex; gap:1rem; flex-wrap:wrap; font-size:.88rem; color:var(--text-dim); }
.offer-your-bid strong { color:var(--gold); }
.offer-counter strong { color:#c4b5fd; }
.offer-message { color:var(--text-muted); font-size:.85rem; margin-top:.5rem; font-style:italic; }
.offer-admin-reply {
  margin-top:.5rem; padding:.5rem .75rem; font-size:.85rem;
  background:rgba(34,197,94,.08); border-left:3px solid #22c55e;
  border-radius:6px; color:#86efac;
}

.status-pill {
  display:inline-block; font-size:.7rem; font-weight:800;
  letter-spacing:.06em; padding:.3rem .65rem; border-radius:20px;
}
.status-pill-pending   { background:rgba(255,193,7,.15);  color:var(--gold); }
.status-pill-accepted  { background:rgba(34,197,94,.15);  color:#86efac; }
.status-pill-declined  { background:rgba(220,38,38,.15);  color:#fca5a5; }
.status-pill-countered { background:rgba(168,85,247,.15); color:#c4b5fd; }
.status-pill-expired   { background:rgba(255,255,255,.08); color:var(--text-muted); }

/* Soft signup banner on /nyc */
.nyc-signup-banner {
  display:flex; align-items:center; gap:.75rem; flex-wrap:wrap;
  background:linear-gradient(135deg,rgba(168,85,247,.1),rgba(255,193,7,.05));
  border:1px solid rgba(168,85,247,.3); border-radius:14px;
  padding:.85rem 1.1rem;
  position:relative;
}
.nyc-signup-icon { font-size:1.4rem; }
.nyc-signup-text { flex:1 1 auto; color:var(--text-dim); font-size:.92rem; min-width:200px; }
.nyc-signup-text strong { color:var(--text); }
.nyc-signup-cta { font-size:.82rem !important; padding:.55rem 1rem !important; flex:0 0 auto; text-decoration:none; }
.nyc-signup-login {
  font-size:.82rem; color:var(--gold); text-decoration:none; font-weight:700;
  padding:.4rem .65rem;
}
.nyc-signup-login:hover { text-decoration:underline; }
.nyc-signup-dismiss {
  background:none; border:none; color:var(--text-muted); cursor:pointer;
  font-size:1rem; padding:.25rem .5rem; line-height:1;
}
.nyc-signup-dismiss:hover { color:var(--text); }

/* Modal open state for deal offer + pack upsell */
.modal-overlay { display:none; }
.modal-overlay.open,
.modal-overlay.active {
  display:flex; align-items:center; justify-content:center;
  position:fixed; inset:0; z-index:1000;
  background:rgba(0,0,0,.7); backdrop-filter:blur(6px);
  padding:1rem;
}

.offer-msg { padding:.65rem .85rem; border-radius:8px; font-size:.88rem; margin:.75rem 0; }
.offer-msg-success { background:rgba(34,197,94,.15); color:#86efac; border:1px solid rgba(34,197,94,.3); }
.offer-msg-error   { background:rgba(220,38,38,.15); color:#fca5a5; border:1px solid rgba(220,38,38,.3); }

@media (max-width: 640px){
  .auth-wrap { margin:1.5rem auto; }
  .auth-card { padding:1.5rem 1.25rem; }
  .account-header { padding:1.25rem; }
  .account-name { font-size:1.5rem; }
  .offer-row-side { width:100%; align-items:flex-start; }
}

.deal-view-details {
  display:inline-block;
  font-size:.78rem;font-weight:700;
  color:var(--neon-blue);
  margin:.2rem 0 .5rem;
  text-decoration:none;
  transition:color .2s;
}
.deal-view-details:hover { color:var(--gold); text-decoration:underline; }

.deal-card-soldout { opacity:.7; }
.deal-card-soldout .deal-img { filter:grayscale(.6); }

/* Deal card admin note */
.deal-note {
  font-size:.78rem; color:var(--text-muted);
  margin:.35rem 0 .1rem;
  padding:.3rem .55rem;
  background:rgba(255,255,255,.04);
  border-left:2px solid rgba(255,193,7,.35);
  border-radius:0 6px 6px 0;
  line-height:1.4;
}

/* Card shine sweep on hover (subtle gloss) */
.deal-card::before {
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.08) 50%,transparent 70%);
  transform:translateX(-100%);
  transition:transform .65s ease;
  pointer-events:none;
  z-index:1;
}
.deal-card:hover::before { transform:translateX(100%); }
.deal-card > * { position:relative; z-index:2; }

/* Pricing — even more prominent than titles */
.deal-price {
  font-size:2.15rem !important;
  letter-spacing:-.01em;
}
.deal-card:hover .deal-price {
  filter:brightness(1.15) drop-shadow(0 0 12px rgba(255,193,7,.35));
  transition:filter .25s ease;
}

/* CTA buttons — bigger touch targets, sharper text */
.btn-cta-primary {
  padding:1rem 1rem !important;
  font-size:1rem !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  min-height:52px;
  min-width:0;
}
.btn-cta-icon { font-size:1.2rem !important; flex:0 0 auto; }
.btn-cta-label {
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;
}

/* "Only X left" — louder pulse, bigger text */
.deal-avail-low {
  font-size:.78rem !important;
  padding:.35rem .75rem !important;
  animation:low-stock-pulse-v2 1.5s ease-in-out infinite !important;
  border-width:1.5px !important;
}
@keyframes low-stock-pulse-v2 {
  0%,100% { background:rgba(255,140,0,.18); box-shadow:0 0 0 0 rgba(255,140,0,.35); }
  50%     { background:rgba(255,140,0,.45); box-shadow:0 0 0 6px rgba(255,140,0,0); transform:scale(1.04); }
}
@media (prefers-reduced-motion: reduce) {
  .deal-avail-low { animation:none !important; }
}

/* Sold-out — quieter, less competing */
.deal-card[data-status="sold_out"] { opacity:.78; }
.deal-card[data-status="sold_out"] .deal-price {
  filter:grayscale(.4); opacity:.85;
}
.deal-card[data-status="sold_out"] .btn-cta-text { display:none; }
.deal-card[data-status="sold_out"] .deal-order-primary { grid-template-columns:1fr; }

/* "Updated" date tag — quieter, less clutter */
.nyc-updated-tag { opacity:.55; font-size:.72rem; }

/* Hero contact — IG + Call get even more weight */
.nyc-contact-ig, .nyc-contact-phone {
  font-size:1.05rem !important;
  padding:1.05rem 1.55rem !important;
}
.nyc-contact-fb {
  /* Quieter than IG/Phone so the primary 2 dominate */
  opacity:.92;
}

/* Sticky bar — boost IG and Call (the priority CTAs) */
.nyc-sticky-ig, .nyc-sticky-call {
  background:linear-gradient(180deg, rgba(255,255,255,.04), transparent);
}
.nyc-sticky-ig { color:#ff7eb6; }
.nyc-sticky-call { color:#86efac; }
.nyc-sticky-ig .nyc-sticky-label,
.nyc-sticky-call .nyc-sticky-label { opacity:1; font-weight:800; }

/* Mobile — extra breathing room and bigger touch targets */
@media (max-width: 640px) {
  .deal-card { padding:1.1rem !important; }
  .deal-name { font-size:.92rem !important; margin-bottom:.2rem !important; }
  .deal-price { font-size:2rem !important; margin-bottom:.7rem !important; }
  .deal-img { max-height:180px; margin-bottom:.7rem !important; }
  .deal-order-primary { gap:.55rem !important; }
  .btn-cta-primary { min-height:52px; padding:1.05rem .55rem !important; font-size:.95rem !important; }
  .deal-confirm-note { font-size:.72rem; margin:.65rem 0 .55rem; }
  .deal-order-secondary { gap:.5rem; }
  .btn-cta-secondary { min-height:42px; font-size:.78rem; padding:.6rem .4rem; }
  .nyc-updated-tag { display:none; }  /* clutter reduction on small screens */
}

@media (max-width: 380px) {
  .deal-grid { gap:.75rem; }
  .deal-card { padding:.95rem !important; }
}

.btn-buy-now {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  width:100%;
  margin-top:.6rem;
  padding:.8rem 1rem;
  border:none;
  border-radius:11px;
  background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);
  color:#fff;
  font-size:.92rem;
  font-weight:900;
  letter-spacing:.03em;
  cursor:pointer;
  transition:filter .2s ease, transform .15s ease, box-shadow .2s ease;
  box-shadow:0 2px 14px rgba(0,163,255,.4);
}
.btn-buy-now:hover:not(:disabled) {
  filter:brightness(1.15);
  transform:translateY(-1px);
  box-shadow:0 4px 20px rgba(0,163,255,.55);
}
.btn-buy-now:active:not(:disabled) { transform:translateY(0); filter:brightness(.95); }
.btn-buy-now:disabled { opacity:.6; cursor:not-allowed; }
.btn-buy-now-icon { font-size:1.1rem; }
.deal-buynow-note {
  font-size:.68rem;
  color:var(--text-muted,#888);
  text-align:center;
  margin-top:.35rem;
  opacity:.75;
}

.btn-pay-now {
  display:block;
  width:100%;
  padding:.55rem .8rem;
  border:none;
  border-radius:8px;
  background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);
  color:#fff;
  font-size:.8rem;
  font-weight:800;
  cursor:pointer;
  transition:filter .2s ease, transform .15s ease;
  box-shadow:0 2px 10px rgba(0,163,255,.35);
}
.btn-pay-now:hover:not(:disabled) { filter:brightness(1.12); transform:translateY(-1px); }
.btn-pay-now:disabled { opacity:.6; cursor:not-allowed; }

@media (prefers-reduced-motion: reduce) {
  .btn-buy-now, .btn-pay-now { transition:none; transform:none !important; }
}

.account-wrap{max-width:640px;margin:0 auto;padding:1.5rem}
.account-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}
.account-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--gold));display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:900;color:#fff;flex-shrink:0}
.account-name{font-size:1.1rem;font-weight:800;color:var(--text)}
.account-email{font-size:.82rem;color:var(--text-muted);margin-top:.2rem}
.reward-banner{display:flex;align-items:center;gap:1rem;background:linear-gradient(135deg,rgba(0,163,255,.15),rgba(255,210,63,.08));border:1px solid rgba(255,210,63,.25);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1rem}
.reward-pts-block{text-align:center;min-width:64px}
.reward-pts-number{font-size:2rem;font-weight:900;color:var(--gold);line-height:1}
.reward-pts-label{display:block;font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}
.reward-desc{flex:1}
.reward-desc strong{color:var(--text);font-size:.95rem}
.reward-desc span{display:block;font-size:.8rem;color:var(--text-muted);margin-top:.2rem}
.discount-alert{background:rgba(255,210,63,.1);border:1px solid rgba(255,210,63,.3);border-radius:var(--radius);padding:.75rem 1rem;font-size:.88rem;color:var(--text);margin-bottom:1.25rem}
.account-tabs{display:flex;gap:.25rem;margin-bottom:1rem;background:var(--surface);border-radius:10px;padding:.3rem;border:1px solid var(--border)}
.acc-tab{flex:1;background:none;border:none;color:var(--text-dim);padding:.5rem;border-radius:7px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .15s}
.acc-tab.active{background:var(--purple);color:#fff}
.acc-tab-panel{animation:fadeIn .15s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.acc-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:.75rem}
.acc-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}
.acc-card-num{font-size:.82rem;color:var(--text-muted);font-family:monospace}
.acc-card-title{font-size:.95rem;font-weight:700;color:var(--text);margin-bottom:.3rem}
.acc-card-meta{font-size:.82rem;color:var(--text-dim)}
.acc-card-link{display:inline-block;margin-top:.6rem;font-size:.82rem;color:var(--purple);font-weight:600}
.acc-status-pill{font-size:.72rem;font-weight:800;padding:.2rem .55rem;border-radius:20px;background:var(--surface2);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}
.acc-status-pill.status-paid{background:rgba(16,185,129,.15);color:#10b981}
.acc-status-pill.status-shipped,.acc-status-pill.status-delivered{background:rgba(6,182,212,.15);color:var(--teal)}
.acc-status-pill.status-ready_for_pickup{background:rgba(255,210,63,.15);color:var(--gold)}
.acc-status-pill.status-refunded,.acc-status-pill.status-cancelled{background:rgba(239,68,68,.15);color:var(--red)}
.acc-empty{text-align:center;padding:2.5rem 1rem;color:var(--text-muted)}
.acc-empty div{font-size:2.2rem;margin-bottom:.5rem}
.pts-table{width:100%;border-collapse:collapse;font-size:.88rem}
.pts-table th{text-align:left;padding:.5rem .75rem;font-size:.78rem;color:var(--text-muted);border-bottom:1px solid var(--border)}
.pts-table td{padding:.5rem .75rem;border-bottom:1px solid rgba(42,29,92,.4)}
.pts-pos{color:#10b981;font-weight:800}
.pts-neg{color:var(--red);font-weight:800}
.account-footer-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border);font-size:.85rem}
.account-footer-links a{color:var(--text-dim)}
.account-footer-links a.muted{color:var(--text-muted)}

.mkph-modal-backdrop{position:fixed;inset:0;background:rgba(7,4,26,.85);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;backdrop-filter:blur(4px)}
.mkph-modal-box{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:2rem 1.75rem;max-width:400px;width:100%;text-align:center;box-shadow:0 24px 80px rgba(0,163,255,.35)}
.mkph-modal-crown{font-size:2.5rem;margin-bottom:.75rem}
.mkph-modal-title{font-size:1.35rem;font-weight:900;color:var(--gold);margin-bottom:.5rem}
.mkph-modal-sub{font-size:.88rem;color:var(--text-dim);line-height:1.6;margin-bottom:1rem}
.mkph-modal-bonus{background:rgba(255,210,63,.1);border:1px solid rgba(255,210,63,.25);border-radius:10px;padding:.65rem 1rem;font-size:.85rem;color:var(--text);margin-bottom:1.25rem}
.mkph-modal-actions{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem}
.mkph-modal-btn{display:block;padding:.7rem 1.25rem;border-radius:10px;font-weight:800;font-size:.9rem;text-align:center;text-decoration:none!important;transition:filter .15s}
.mkph-modal-btn:hover{filter:brightness(1.1)}
.mkph-modal-btn-gold{background:linear-gradient(135deg,#d97706,#f5c518);color:#05070D!important}
.mkph-modal-btn-outline{background:none;border:1px solid var(--border);color:var(--text)!important}
.mkph-modal-skip{background:none;border:none;color:var(--text-muted);font-size:.82rem;cursor:pointer;padding:.4rem;width:100%}
.mkph-modal-skip:hover{color:var(--text)}
.mkph-modal-form{display:flex;flex-direction:column;gap:.6rem;margin-bottom:.85rem}
.mkph-modal-input{background:#0d1b2a;border:1px solid var(--border);border-radius:10px;padding:.65rem .9rem;color:var(--text);font-size:.9rem;width:100%;outline:none;transition:border-color .15s}
.mkph-modal-input:focus{border-color:var(--gold)}
.mkph-modal-input::placeholder{color:var(--text-muted)}
.mkph-modal-submit{background:linear-gradient(135deg,#d97706,#f5c518);color:#05070D;border:none;border-radius:10px;padding:.7rem 1.25rem;font-weight:800;font-size:.9rem;cursor:pointer;width:100%;transition:filter .15s}
.mkph-modal-submit:hover{filter:brightness(1.1)}
.mkph-modal-submit:disabled{opacity:.6;cursor:not-allowed}
.mkph-modal-msg{font-size:.82rem;padding:.5rem .75rem;border-radius:8px;text-align:center;display:none}
.mkph-modal-msg.ok{background:rgba(16,185,129,.15);border:1px solid rgba(16,185,129,.3);color:#6ee7b7}
.mkph-modal-msg.err{background:rgba(255,59,59,.12);border:1px solid rgba(255,59,59,.25);color:#fca5a5}
.mkph-modal-divider{font-size:.75rem;color:var(--text-muted);text-align:center;margin:.1rem 0}
.mkph-modal-links{display:flex;justify-content:center;gap:1rem;font-size:.8rem;margin-bottom:.5rem}

.auth-checkbox-label{display:flex;align-items:center;gap:.6rem;font-size:.88rem;color:var(--text-dim);margin:.25rem 0;cursor:pointer}
.auth-checkbox-label input[type=checkbox]{accent-color:var(--purple);width:16px;height:16px;flex-shrink:0}

.ty-icon{font-size:3rem;text-align:center;margin-bottom:.75rem}
.ty-order-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin:1rem 0}
.ty-order-num{font-size:.82rem;color:var(--text-muted);font-family:monospace;margin-bottom:.75rem}
.ty-line{display:flex;justify-content:space-between;font-size:.88rem;padding:.3rem 0;border-bottom:1px solid rgba(42,29,92,.3)}
.ty-line:last-child{border-bottom:none}
.ty-order-link{display:inline-block;margin-top:.75rem;font-size:.85rem;color:var(--purple);font-weight:700}
.ty-points-badge{background:rgba(0,163,255,.12);border:1px solid rgba(0,163,255,.3);border-radius:var(--radius);padding:.75rem 1rem;font-size:.88rem;color:var(--text);text-align:center;margin:.75rem 0}
.ty-section{margin:1.25rem 0}
.ty-section-title{font-weight:800;color:var(--text);font-size:.92rem;margin-bottom:.75rem}
.ty-fulfill-opts{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.75rem}
.ty-opt-btn{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:.6rem .75rem;font-size:.82rem;font-weight:700;text-align:center;color:var(--text)!important;text-decoration:none!important;transition:border-color .15s}
.ty-opt-btn:hover{border-color:var(--purple);color:var(--purple)!important;text-decoration:none!important}
.ty-fulfill-note{font-size:.78rem;color:var(--text-muted)}
.ty-actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin:1.25rem 0}
.ty-social{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;font-size:.82rem;margin-top:.5rem}

.order-detail-wrap{max-width:600px;margin:0 auto;padding:1.5rem}
.od-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}
.od-num{font-size:1.1rem;font-weight:900;color:var(--gold)}
.od-status{font-size:.82rem;font-weight:800;padding:.3rem .7rem;border-radius:20px;background:var(--surface2);color:var(--text-dim);text-transform:uppercase}
.od-status.od-status-paid{background:rgba(16,185,129,.15);color:#10b981}
.od-status.od-status-shipped{background:rgba(6,182,212,.15);color:var(--teal)}
.od-status.od-status-ready_for_pickup{background:rgba(255,210,63,.15);color:var(--gold)}
.od-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:.9rem}
.od-section-title{font-weight:800;color:var(--text);font-size:.88rem;margin-bottom:.65rem;text-transform:uppercase;letter-spacing:.05em}
.od-card-action{border-color:rgba(0,163,255,.3)}
.od-row{display:flex;justify-content:space-between;align-items:baseline;font-size:.88rem;padding:.3rem 0;border-bottom:1px solid rgba(42,29,92,.3)}
.od-row:last-child{border-bottom:none}
.od-row span:first-child{color:var(--text-muted);min-width:90px}
.od-footer{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border);font-size:.85rem;justify-content:center}

.fulfill-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem;margin-bottom:.9rem;border-left:3px solid var(--border)}
.fulfill-card.fulfill-paid{border-left-color:var(--gold)}
.fulfill-card.fulfill-ready_for_pickup{border-left-color:#10b981}
.fulfill-card.fulfill-out_for_delivery{border-left-color:var(--teal)}
.fulfill-card.fulfill-shipped{border-left-color:var(--teal)}
.fulfill-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}
.fulfill-order-num{font-size:.82rem;color:var(--text-muted);font-family:monospace;margin-right:.5rem}
.fulfill-type-badge{font-size:.72rem;background:rgba(0,163,255,.15);color:var(--purple);padding:.15rem .45rem;border-radius:6px;margin-left:.3rem;font-weight:700}
.fulfill-amount{font-weight:800}
.fulfill-item{font-weight:700;font-size:.95rem;margin-bottom:.25rem}
.fulfill-buyer{font-size:.82rem;color:var(--text-dim);margin-bottom:.5rem}
.fulfill-tracking{font-size:.82rem;color:var(--teal);margin-bottom:.3rem}
.fulfill-notes{font-size:.82rem;color:var(--text-dim);font-style:italic;margin-bottom:.5rem}
.fulfill-form{margin:.75rem 0 .5rem}
.fulfill-form-row{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.4rem}
.fulfill-form-row select,.fulfill-form-row input[type=text]{flex:1;min-width:110px;background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.4rem .6rem;font-size:.82rem}
.fulfill-actions{display:flex;gap:.4rem;flex-wrap:wrap}

.report-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;margin-bottom:2rem}
.report-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem;text-align:center}
.report-stat-value{font-size:1.6rem;font-weight:900;color:var(--text);line-height:1;margin-bottom:.35rem}
.report-stat-label{font-size:.76rem;color:var(--text-muted);line-height:1.3}
.report-stat-value.gold{color:var(--gold)}

.green{color:#10b981}
.gold{color:var(--gold)}
.muted{color:var(--text-muted)!important}

.cart-wrap{max-width:680px;margin:0 auto;padding:1.5rem}
.cart-title{font-size:1.4rem;font-weight:900;color:var(--text);margin-bottom:1.25rem}
.cart-items{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}
.cart-item{display:flex;align-items:center;gap:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem;flex-wrap:wrap}
.cart-item-img{width:52px;height:52px;object-fit:cover;border-radius:8px;flex-shrink:0}
.cart-item-img-placeholder{width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;background:var(--surface2);border-radius:8px;flex-shrink:0}
.cart-item-info{flex:1;min-width:120px}
.cart-item-name{font-weight:800;font-size:.92rem;color:var(--text)}
.cart-item-price{font-size:.8rem;color:var(--text-muted);margin-top:.15rem}
.cart-item-controls{display:flex;align-items:center;gap:.4rem}
.cart-qty-btn{background:var(--surface2);border:1px solid var(--border);border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;color:var(--text);transition:background .1s}
.cart-qty-btn:hover{background:var(--purple);color:#fff;border-color:var(--purple)}
.cart-qty-num{min-width:22px;text-align:center;font-weight:800;font-size:.95rem}
.cart-item-sub{font-weight:900;color:var(--gold);min-width:60px;text-align:right}
.cart-remove-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.95rem;padding:.25rem;transition:color .1s}
.cart-remove-btn:hover{color:var(--red)}
.cart-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}
.cart-discount-note{background:rgba(255,210,63,.1);border:1px solid rgba(255,210,63,.3);border-radius:8px;padding:.6rem .9rem;font-size:.85rem;color:var(--text);margin-bottom:.9rem}
.cart-total-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}
.cart-total-amount{font-size:1.25rem;font-weight:900;color:var(--gold)}
.cart-total-hint{font-size:.78rem;color:var(--text-muted);margin-bottom:1rem}
.cart-checkout-btn{width:100%;padding:.85rem;font-size:1rem;font-weight:900;margin-bottom:.75rem}
.cart-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:.6rem .9rem;font-size:.85rem;color:var(--red);margin-bottom:.75rem}
.cart-continue-link{display:block;text-align:center;font-size:.85rem;color:var(--text-muted)}
.cart-continue-link:hover{color:var(--purple)}
.cart-empty{text-align:center;padding:3rem 1rem}
.cart-empty div{font-size:3rem;margin-bottom:.75rem}
.cart-empty h2{font-size:1.3rem;font-weight:900;color:var(--text);margin-bottom:.5rem}
.cart-empty p{color:var(--text-muted);margin-bottom:1.25rem}

/* Cart count badge in nav */
.cart-count-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;font-size:.68rem;font-weight:900;border-radius:99px;min-width:18px;height:18px;padding:0 5px;margin-left:4px;vertical-align:middle}

.bundle-bar{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,#1a0a3d,#0f051a);border-top:2px solid var(--gold);padding:.85rem 1.25rem;display:none;align-items:center;justify-content:space-between;gap:.75rem;z-index:8888;flex-wrap:wrap}
.bundle-bar.visible{display:flex}
.bundle-bar-info{font-size:.9rem;color:var(--text)}
.bundle-bar-info strong{color:var(--gold)}
.bundle-bar-actions{display:flex;gap:.5rem}
.bundle-check{accent-color:var(--purple);width:18px;height:18px;cursor:pointer;flex-shrink:0;margin-right:.4rem}
.product-bundle-row{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--text-dim);margin-top:.4rem}

.content-tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
@media(max-width:700px){.content-tools-grid{grid-template-columns:1fr}}
.ct-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}
.ct-card-title{font-size:1rem;font-weight:900;color:var(--text);margin-bottom:.35rem}
.ct-card-desc{font-size:.83rem;color:var(--text-muted);margin-bottom:1rem}
.ct-gen-form label{display:block;font-size:.82rem;color:var(--text-muted);margin:.6rem 0 .2rem}
.ct-gen-form select,.ct-gen-form input{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.45rem .65rem;font-size:.88rem}
.ct-caption-preview{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:.75rem;font-size:.85rem;color:var(--text);margin:.75rem 0;line-height:1.6;word-break:break-word}
.hint{color:var(--text-muted);font-weight:400;font-size:.8rem}

.cq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}
.cq-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;border-left:3px solid var(--border);display:flex;flex-direction:column;gap:.5rem}
.cq-card.cq-status-idea{border-left-color:#6b7280}
.cq-card.cq-status-clipped{border-left-color:var(--teal)}
.cq-card.cq-status-edited{border-left-color:var(--gold)}
.cq-card.cq-status-posted{border-left-color:#10b981}
.cq-top{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.cq-status-pill{font-size:.68rem;font-weight:800;padding:.15rem .45rem;border-radius:20px;text-transform:uppercase;letter-spacing:.05em;background:var(--surface2);color:var(--text-dim)}
.cq-pill-clipped{background:rgba(6,182,212,.15);color:var(--teal)}
.cq-pill-edited{background:rgba(255,210,63,.15);color:var(--gold)}
.cq-pill-posted{background:rgba(16,185,129,.15);color:#10b981}
.cq-platform{font-size:.74rem;color:var(--text-muted);margin-left:auto}
.cq-date{font-size:.74rem}
.cq-title{font-weight:800;color:var(--text);font-size:.95rem}
.cq-ts{font-size:.8rem;color:var(--purple)}
.cq-note{font-size:.82rem;color:var(--text-dim);font-style:italic}
.cq-caption-wrap{position:relative}
.cq-caption{font-size:.82rem;color:var(--text);line-height:1.55;background:var(--surface2);border-radius:6px;padding:.55rem .7rem;white-space:pre-wrap;word-break:break-word;margin-bottom:.3rem}
.cq-posted-link{font-size:.82rem;color:var(--teal);font-weight:700}
.cq-update-form{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.25rem}
.cq-select{flex:1;min-width:90px;background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.35rem .5rem;font-size:.8rem}
.cq-input{flex:2;min-width:120px;background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.35rem .5rem;font-size:.8rem}

.bundle-status-pending{background:rgba(255,210,63,.1);color:var(--gold)}
.bundle-status-quoted{background:rgba(0,163,255,.15);color:var(--purple)}
.bundle-status-paid{background:rgba(16,185,129,.15);color:#10b981}
.bundle-status-declined,.bundle-status-expired{background:rgba(239,68,68,.1);color:var(--red)}
.acc-bundle-pay-btn{font-size:.8rem;padding:.35rem .75rem;margin-top:.5rem}

/* Add-to-cart button on deal cards */
.btn-add-cart{background:var(--surface2);border:1px solid var(--border);border-radius:10px;
  width:44px;height:44px;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;
  justify-content:center;transition:background .15s,border-color .15s;flex-shrink:0}
.btn-add-cart:hover{background:var(--purple);border-color:var(--purple)}

:root {
  /* SOHO palette — paper base, concrete text */
  --soho-paper:       #F4F1EC;
  --soho-paper-warm:  #EDE9E1;
  --soho-asphalt:     #1A1A1A;
  --soho-castiron:    #2B2B2B;
  --soho-hairline:    #D8D2C5;
  --soho-hot:         #FF2E6F;  /* hot pink primary accent */
  --soho-yellow:      #E8FF52;  /* highlighter yellow */
  --soho-cobalt:      #1F4FFF;  /* subway-tile cobalt */
  --soho-ink:         #4A4A4A;
  --soho-ash:         #8A8A8A;

  /* Typography */
  --font-display: 'Anton', 'Archivo Black', 'Impact', sans-serif;
  --font-body:    'Inter', 'Space Grotesk', system-ui, -apple-system, sans-serif;

  /* Re-map legacy tokens so existing components shift palette automatically */
  --bg:          var(--soho-paper);
  --surface:     #FFFFFF;
  --surface2:    var(--soho-paper-warm);
  --border:      var(--soho-hairline);
  --gold:        var(--soho-hot);     /* primary "hype" accent */
  --gold-dim:    #D81F5A;
  --neon-blue:   var(--soho-cobalt);
  --purple:      var(--soho-cobalt);
  --purple-dim:  #143ECC;
  --teal:        var(--soho-cobalt);
  --green:       var(--soho-cobalt);  /* "available" reads as cobalt now */
  --red:         var(--soho-hot);
  --poke-red:    var(--soho-hot);
  --taxi-yellow: var(--soho-yellow);
  --text:        var(--soho-asphalt);
  --text-dim:    var(--soho-ink);
  --text-muted:  var(--soho-ash);
  --radius:      2px;
  --shadow:      0 2px 0 var(--soho-asphalt);
}

body {
  background: var(--soho-paper);
  color: var(--soho-asphalt);
  font-family: var(--font-body);
  font-feature-settings: "ss01","cv11";
  -webkit-font-smoothing: antialiased;
}
body::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:-1;
  background-image:
    radial-gradient(rgba(26,26,26,.035) 1px, transparent 1px);
  background-size: 3px 3px;
  opacity:.55;
}

a { color: var(--soho-hot); }
a:hover { color: var(--soho-asphalt); text-decoration: underline; text-underline-offset: 3px; }
img { border-radius: 2px; }

h1, h2, h3, h4,
.section-title,
.hero h1,
.nyc-title,
.show-title,
.cc-title {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: var(--soho-asphalt);
}

.site-nav {
  background: var(--soho-paper);
  backdrop-filter: none;
  border-bottom: 1px solid var(--soho-asphalt);
  padding: .85rem 1.75rem;
}
.nav-logo {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 1.35rem;
  letter-spacing: .02em;
  text-transform: uppercase;
  background: none;
  -webkit-text-fill-color: var(--soho-asphalt);
  color: var(--soho-asphalt);
}
.nav-logo span {
  font-family: var(--font-body);
  font-size: .62rem;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--soho-ink);
  -webkit-text-fill-color: var(--soho-ink);
  margin-top: .15rem;
}
.nav-links a {
  color: var(--soho-asphalt);
  font-family: var(--font-body);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.nav-links a:hover,
.nav-links a.active {
  color: var(--soho-hot);
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-thickness: 2px;
}
.nav-badge {
  background: var(--soho-hot);
  color: #fff;
  border-radius: 0;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.hero {
  background: var(--soho-paper);
  border-bottom: 1px solid var(--soho-asphalt);
  padding: 5rem 1.5rem 3.5rem;
}
.hero-eyebrow {
  font-family: var(--font-body);
  font-size: .7rem; font-weight: 800;
  letter-spacing: .28em; text-transform: uppercase;
  color: var(--soho-hot);
  margin-bottom: 1.25rem;
}
.hero h1 {
  font-family: var(--font-display);
  font-size: clamp(2.6rem, 9vw, 5.5rem);
  font-weight: 400;
  line-height: .95;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  background: none;
  -webkit-text-fill-color: var(--soho-asphalt);
  color: var(--soho-asphalt);
  margin-bottom: 1.25rem;
}
.hero h1 + p,
.hero p {
  color: var(--soho-ink);
  font-size: 1rem;
  max-width: 560px;
  margin: 0 auto 1.75rem;
}
.hero::after {
  content:''; display:block;
  width: 64px; height: 2px;
  background: var(--soho-asphalt);
  margin: 1.5rem auto 0;
}
.live-indicator {
  background: var(--soho-asphalt); color: var(--soho-yellow);
  border: none; border-radius: 0;
  letter-spacing: .2em; text-transform: uppercase;
  font-size: .68rem;
}
.live-dot { background: var(--soho-yellow); }

.section-title {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(2rem, 4.4vw, 3rem);
  line-height: 1;
  letter-spacing: -0.005em;
  text-transform: uppercase;
  color: var(--soho-asphalt);
}
.section-title.section-title-xl {
  font-size: clamp(2.4rem, 6vw, 4rem);
}
.section-title span {
  color: var(--soho-hot);
  background: none;
  -webkit-text-fill-color: var(--soho-hot);
}
.section-header {
  border-bottom: 1px solid var(--soho-asphalt);
  padding-bottom: .85rem;
  margin-bottom: 1.75rem;
}
.section-header-centered {
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: .55rem;
}
.section-header-centered .section-title { text-align: center; }
.nyc-local-deals-lead { padding-top: 1.25rem; padding-bottom: .25rem; }
.nyc-local-deals-sub {
  text-align: center;
  font-family: var(--font-body);
  color: var(--soho-ink, #2a2a2a);
  font-size: 1rem;
  max-width: 60ch;
  margin: -.5rem auto 0;
  line-height: 1.5;
}
.section-link {
  font-family: var(--font-body);
  font-size: .7rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--soho-asphalt);
}

.card,
.deal-card {
  background: #FFFFFF;
  border: 1px solid var(--soho-hairline);
  border-radius: 2px;
  box-shadow: none;
}
.card:hover,
.deal-card:hover {
  border-color: var(--soho-asphalt);
  box-shadow: 4px 4px 0 var(--soho-asphalt);
  transform: translate(-2px, -2px);
}
.card-title,
.deal-name {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 1.15rem;
  letter-spacing: -0.005em;
  text-transform: uppercase;
  color: var(--soho-asphalt);
}
.card-desc { color: var(--soho-ink); font-size: .82rem; }
.card-price,
.deal-price {
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 800;
  color: var(--soho-asphalt);
  letter-spacing: -0.01em;
}
.card-price::before,
.deal-price::before {
  content: 'price ';
  display: block;
  font-family: var(--font-body);
  font-size: .58rem; font-weight: 700;
  letter-spacing: .25em; text-transform: uppercase;
  color: var(--soho-ash);
  margin-bottom: .15rem;
}

.btn {
  font-family: var(--font-body);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  border-radius: 2px;
  border: 1.5px solid transparent;
  padding: .75rem 1.4rem;
  transition: background .15s, color .15s, transform .12s, box-shadow .15s;
}
.btn-gold {
  background: var(--soho-hot); color: #fff;
  border-color: var(--soho-hot);
}
.btn-gold:hover {
  background: var(--soho-asphalt); color: var(--soho-yellow);
  border-color: var(--soho-asphalt);
}
.btn-purple {
  background: var(--soho-cobalt); color: #fff;
  border-color: var(--soho-cobalt);
}
.btn-purple:hover {
  background: var(--soho-asphalt); color: #fff;
  border-color: var(--soho-asphalt);
}
.btn-outline {
  background: transparent; color: var(--soho-asphalt);
  border-color: var(--soho-asphalt);
}
.btn-outline:hover {
  background: var(--soho-asphalt); color: var(--soho-paper);
  border-color: var(--soho-asphalt);
}
.btn-yt {
  background: var(--soho-asphalt); color: #fff;
  border-color: var(--soho-asphalt);
}
.btn-yt:hover { background: var(--soho-hot); border-color: var(--soho-hot); color:#fff; }

.live-badge,
.break-status,
.spot-pill,
.urgency-badge,
.deal-badge,
.deal-avail,
.pill,
.badge {
  border-radius: 0;
  font-family: var(--font-body);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: .25rem .55rem;
  border: 1px solid var(--soho-asphalt);
}
.deal-badge {
  background: var(--soho-asphalt); color: var(--soho-yellow);
  border-color: var(--soho-asphalt);
}
.status-live,
.live-badge,
.spot-pill.spot-urgent,
.deal-avail-low {
  background: var(--soho-hot); color: #fff;
  border-color: var(--soho-hot);
}
.status-upcoming,
.deal-avail-soon {
  background: var(--soho-yellow); color: var(--soho-asphalt);
  border-color: var(--soho-asphalt);
}
.status-completed,
.deal-avail-sold,
.spot-pill.spot-soldout,
.urgency-out {
  background: #FFFFFF; color: var(--soho-asphalt);
  border-color: var(--soho-asphalt);
}
.spot-available,
.deal-avail-ok,
.urgency-ok { background: var(--soho-cobalt); color:#fff; border-color: var(--soho-cobalt); }
.spot-reserved,
.spot-sold,
.urgency-low { background:#FFFFFF; color:var(--soho-asphalt); border-color: var(--soho-asphalt); }

.form-group input,
.form-group select,
.form-group textarea,
.form-control,
.signup-input {
  background: #FFFFFF;
  color: var(--soho-asphalt);
  border: 1px solid var(--soho-asphalt);
  border-radius: 2px;
  font-family: var(--font-body);
}
.form-group input:focus,
.form-group select:focus,
.form-control:focus,
.signup-input:focus {
  border-color: var(--soho-hot);
  box-shadow: 0 0 0 2px rgba(255,46,111,.12);
}
.form-hint { color: var(--soho-ash); }

.modal {
  background: #FFFFFF; border: 1px solid var(--soho-asphalt);
  border-radius: 2px;
  box-shadow: 6px 6px 0 var(--soho-asphalt);
}
.modal h2 {
  font-family: var(--font-display); font-weight: 400;
  color: var(--soho-asphalt); text-transform: uppercase;
  letter-spacing: -0.005em;
}
.modal-close { color: var(--soho-asphalt); }
.checkout-summary {
  background: var(--soho-paper-warm);
  border-radius: 2px;
}
.checkout-summary .total { color: var(--soho-asphalt); }

.trust-bar,
.nyc-callout-bar {
  background: var(--soho-paper-warm);
  border-top: 1px solid var(--soho-asphalt);
  border-bottom: 1px solid var(--soho-asphalt);
  color: var(--soho-asphalt);
}
.trust-item { color: var(--soho-asphalt); }
.nyc-callout-tag {
  background: var(--soho-yellow); color: var(--soho-asphalt);
  border: 1px solid var(--soho-asphalt); border-radius: 0;
  letter-spacing: .14em; text-transform: uppercase;
  font-size: .68rem;
}
.nyc-strip {
  background: var(--soho-asphalt);
  border-top: 2px solid var(--soho-hot);
  border-bottom: 2px solid var(--soho-hot);
}
.nyc-strip-text strong { color: var(--soho-paper); font-family: var(--font-display); font-weight:400; letter-spacing:.04em; text-transform:uppercase; }
.nyc-strip-sub { color: rgba(244,241,236,.7); }
.nyc-strip-cta {
  background: var(--soho-hot); color: #fff; border-radius: 2px;
  font-family: var(--font-body); letter-spacing:.18em; text-transform:uppercase;
}

.nyc-hero {
  background: var(--soho-paper);
  border-bottom: 1px solid var(--soho-asphalt);
}
.nyc-hero::before { display:none; }
.nyc-eyebrow {
  font-family: var(--font-body);
  font-size: .68rem; font-weight: 800;
  letter-spacing: .28em; text-transform: uppercase;
  color: var(--soho-hot);
}
.nyc-title {
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(2.6rem, 9vw, 5.5rem); line-height:.95;
  letter-spacing: -0.02em; text-transform: uppercase;
  background: none;
  -webkit-text-fill-color: var(--soho-asphalt);
  color: var(--soho-asphalt);
}
.nyc-sub { color: var(--soho-ink); }
.nyc-boroughs {
  background: transparent; border: 1px solid var(--soho-asphalt);
  border-radius: 0; color: var(--soho-asphalt);
  font-family: var(--font-body); font-size:.7rem;
  letter-spacing:.14em; text-transform: uppercase;
}
.nyc-skyline-divider svg path { fill: var(--soho-asphalt); }

.nyc-feature-strip {
  background: var(--soho-asphalt);
  border-top: 2px solid var(--soho-hot);
  border-bottom: 2px solid var(--soho-hot);
}
.nyc-feature-label { color: var(--soho-yellow); font-family: var(--font-body); }
.nyc-feature-sub { color: rgba(244,241,236,.7); }
.nyc-feature-divider { background: rgba(255,46,111,.4); }

.nyc-info-block,
.nyc-bundle-block,
.nyc-liverip-block,
.nyc-account-teaser,
.nyc-step-card,
.nyc-faq-item,
.rules-step,
.thank-you-box {
  background: #FFFFFF;
  border: 1px solid var(--soho-hairline);
  border-radius: 2px;
  box-shadow: none;
}
.nyc-bundle-title,
.nyc-liverip-title,
.nyc-step-title,
.thank-you-box h1 {
  font-family: var(--font-display); font-weight: 400;
  color: var(--soho-asphalt); text-transform: uppercase;
  letter-spacing: -0.01em;
}
.nyc-bundle-tag,
.nyc-liverip-tag,
.nyc-account-eyebrow {
  font-family: var(--font-body);
  font-weight: 800; letter-spacing: .22em;
  text-transform: uppercase; border-radius: 0;
  background: var(--soho-asphalt); color: var(--soho-yellow);
  border: none;
}
.nyc-liverip-tag { background: var(--soho-hot); color:#fff; }
.nyc-bundle-tier { background: var(--soho-paper); border:1px solid var(--soho-hairline); border-radius:2px; }
.nyc-bundle-tier-gold { background: var(--soho-yellow); border-color: var(--soho-asphalt); }
.nyc-bundle-tier-amt { color: var(--soho-asphalt); font-family: var(--font-display); font-weight:400; }
.nyc-bundle-tier-label { color: var(--soho-ink); font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; }
.nyc-liverip-glow { display:none; }

.rules-step .step-num {
  background: var(--soho-asphalt); color: var(--soho-yellow);
  border-radius: 0; font-family: var(--font-display); font-weight:400;
}
.rules-step h3 { color: var(--soho-asphalt); font-family: var(--font-display); font-weight:400; text-transform:uppercase; }

.spot-tile {
  background: #FFFFFF;
  border: 1px solid var(--soho-hairline);
  border-radius: 2px;
}
.spot-tile.available { border-color: var(--soho-cobalt); }
.spot-tile.available:hover { background: rgba(31,79,255,.06); }
.spot-tile.reserved { border-color: var(--soho-yellow); }
.spot-tile.sold { border-color: var(--soho-asphalt); background: var(--soho-paper-warm); }
.spot-tile .spot-num { font-family: var(--font-display); font-weight:400; }

.site-footer {
  background: var(--soho-asphalt);
  color: var(--soho-paper);
  border-top: none;
  padding: 2rem 1.5rem;
  font-family: var(--font-body);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.site-footer a { color: var(--soho-yellow); }
.site-footer a:hover { color: var(--soho-hot); text-decoration: underline; }

.signup-section {
  background: var(--soho-yellow);
  border-top: 1px solid var(--soho-asphalt);
  border-bottom: 1px solid var(--soho-asphalt);
}
.signup-heading {
  font-family: var(--font-display); font-weight: 400;
  color: var(--soho-asphalt); text-transform: uppercase;
  letter-spacing: -0.005em;
  background: none; -webkit-text-fill-color: var(--soho-asphalt);
}
.signup-sub { color: var(--soho-asphalt); }
.signup-input { background:#FFFFFF; }

.soho-paper-bg {
  background-color: var(--soho-paper);
  background-image: radial-gradient(rgba(26,26,26,.05) 1px, transparent 1px);
  background-size: 4px 4px;
}
.soho-grid-bg {
  background-color: var(--soho-paper);
  background-image:
    linear-gradient(rgba(26,26,26,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(26,26,26,.06) 1px, transparent 1px);
  background-size: 28px 28px;
}

.nyc-sticky-bar {
  background: var(--soho-asphalt);
  border-top: 2px solid var(--soho-hot);
}
.nyc-sticky-btn {
  color: var(--soho-paper);
  border-right: 1px solid rgba(244,241,236,.15);
}
.nyc-sticky-label { letter-spacing:.18em; text-transform:uppercase; }

.alert-error {
  background: #FFFFFF; border: 1px solid var(--soho-hot); color: var(--soho-hot);
}
.alert-success {
  background: #FFFFFF; border: 1px solid var(--soho-cobalt); color: var(--soho-cobalt);
}

.text-gold { color: var(--soho-hot); }
.text-dim  { color: var(--soho-ink); }
.text-muted{ color: var(--soho-ash); }
.text-green{ color: var(--soho-cobalt); }
.brand-logo {
  background: none;
  -webkit-text-fill-color: var(--soho-asphalt);
  color: var(--soho-asphalt);
  font-family: var(--font-display); font-weight: 400;
  letter-spacing: .02em; text-transform: uppercase;
}
.brand-tagline { color: var(--soho-ink); }
.powered-by { color: var(--soho-ash); letter-spacing:.18em; text-transform:uppercase; }
.nyc-glow-panel {
  background: #FFFFFF;
  backdrop-filter: none;
  border: 1px solid var(--soho-hairline);
  border-radius: 2px;
  box-shadow: none;
}

body #ticker-bar {
  background: var(--soho-asphalt);
  border-bottom: 2px solid var(--soho-hot);
  color: var(--soho-yellow);
  font-family: var(--font-body); font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
}

body .card-img-placeholder.card-placeholder-sealed,
body .card-img-placeholder.card-placeholder-single,
body .card-img-placeholder.card-placeholder-live_rip,
body .card-img-placeholder.card-placeholder-break_spot,
body .card-img-placeholder.card-placeholder-break {
  background: var(--soho-paper-warm);
  border: 1px solid var(--soho-hairline);
}
body .card-img-placeholder .placeholder-icon { color: var(--soho-asphalt); }
body .card-img-placeholder .placeholder-type {
  color: var(--soho-asphalt);
  letter-spacing: .22em;
  font-family: 'Inter', sans-serif;
}

/* Boutique nav (text-first) */
.soho-nav {
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem; padding:1rem 1.75rem;
  background: var(--soho-paper);
  border-bottom: 1px solid var(--soho-hairline);
}
.soho-logo { display:flex; flex-direction:column; line-height:1; text-decoration:none; flex-shrink:0; }
.soho-logo-name {
  font-family: var(--font-display); font-weight:400;
  font-size:clamp(1.25rem, 1.05rem + 1.1vw, 1.6rem);
  letter-spacing:.04em; text-transform:uppercase;
  color: var(--soho-asphalt); white-space:nowrap;
}
.soho-logo-sub {
  margin-top:.35rem; font-family: var(--font-body); font-weight:600;
  font-size:clamp(.55rem, .5rem + .25vw, .65rem);
  letter-spacing:.28em; text-transform:uppercase;
  color: var(--soho-ash); white-space:nowrap;
}
.soho-nav-links {
  display:flex; gap:clamp(.65rem, .35rem + 1.1vw, 1.4rem);
  align-items:center; flex-wrap:wrap; justify-content:flex-end;
}
.soho-nav-links a {
  font-family: var(--font-body); font-weight:600;
  font-size:clamp(.66rem, .6rem + .22vw, .74rem);
  letter-spacing:.18em; text-transform:uppercase;
  color: var(--soho-asphalt); text-decoration:none;
  padding-bottom:.2rem; border-bottom: 1px solid transparent;
  transition: color .15s, border-color .15s;
  white-space:nowrap;
}
.soho-nav-links a:hover,
.soho-nav-links a.active { color: var(--soho-hot); border-bottom-color: var(--soho-hot); }
.soho-nav-links a.soho-nav-accent { color: var(--soho-hot); }
.soho-nav-links a.soho-nav-cart { position:relative; }

/* Boutique footer */
.soho-footer {
  margin-top: 4rem;
  padding: 2.5rem 1.75rem 1.5rem;
  background: var(--soho-paper);
  color: var(--soho-asphalt);
  border-top: 1px solid var(--soho-hairline);
}
.soho-footer-rule {
  height:0; border-top: 2px solid var(--soho-asphalt);
  margin-bottom: 1.75rem;
}
.soho-footer-cols {
  display:grid; gap:2rem;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  max-width: 1100px; margin: 0 auto;
}
.soho-footer-col { display:flex; flex-direction:column; gap:.4rem; }
.soho-footer-mark {
  font-family: var(--font-display); font-weight:400;
  font-size:1.6rem; letter-spacing:.01em; text-transform:uppercase;
  color: var(--soho-asphalt); line-height:1;
}
.soho-footer-tag {
  margin-top:.4rem; font-size:.7rem; letter-spacing:.22em;
  text-transform:uppercase; color: var(--soho-ash);
}
.soho-footer-h {
  font-family: var(--font-body); font-weight:700; font-size:.68rem;
  letter-spacing:.32em; text-transform:uppercase;
  color: var(--soho-ash); margin-bottom:.4rem;
}
.soho-footer-col a, .soho-footer-col p {
  font-family: var(--font-body); font-size:.85rem;
  color: var(--soho-asphalt); text-decoration:none; margin:0;
}
.soho-footer-col a:hover { color: var(--soho-hot); }
.soho-footer-base {
  margin-top: 2rem; padding-top: 1.25rem;
  border-top: 1px solid var(--soho-hairline);
  display:flex; gap:.65rem; flex-wrap:wrap;
  font-size:.7rem; letter-spacing:.18em; text-transform:uppercase;
  color: var(--soho-ash); justify-content:center;
}

/* Editorial hero */
.soho-hero {
  padding: 3rem 1.75rem 1.75rem;
  max-width: 1100px; margin: 0 auto;
}
.soho-eyebrow {
  font-family: var(--font-body); font-weight:700; font-size:.72rem;
  letter-spacing:.32em; text-transform:uppercase;
  color: var(--soho-hot); margin-bottom: 1rem;
}
.soho-display {
  font-family: var(--font-display); font-weight:400;
  font-size: clamp(2.2rem, 6.5vw, 4.4rem); line-height:.95;
  letter-spacing:-.01em; text-transform:uppercase;
  color: var(--soho-asphalt); margin: 0;
}
.soho-display .hot { color: var(--soho-hot); }
.soho-rule {
  height:0; border-top: 2px solid var(--soho-asphalt);
  margin: 1.25rem 0 1.25rem;
}
.soho-lede {
  font-family: var(--font-body); font-size: 1.05rem;
  max-width: 56ch; color: var(--soho-ink); line-height:1.55;
}

/* ============ TOP-20 POLISH (May 2026) ============ */

/* Slim contact strip on /nyc */
.soho-contact-strip{
  background:var(--soho-asphalt,#1a1a1a); color:#F4F1EC;
  font-family:Inter,system-ui,sans-serif; font-size:.78rem; letter-spacing:.04em;
  padding:.55rem 1rem; text-align:center; line-height:1.6;
  border-bottom:1px solid var(--soho-hairline,#3a342a);
}
.soho-contact-strip .scs-link{ color:#F4F1EC; text-decoration:none; border-bottom:1px solid transparent; }
.soho-contact-strip .scs-link:hover{ border-bottom-color:var(--soho-hot,#FF2E6F); color:var(--soho-hot,#FF2E6F); }
.soho-contact-strip .scs-sep{ color:#888; margin:0 .35rem; }
.soho-contact-strip .scs-boroughs{ color:#cdc6b8; }
@media(max-width:640px){
  .soho-contact-strip .scs-boroughs{ display:block; margin-bottom:.2rem; }
  .soho-contact-strip .scs-sep:first-of-type{ display:none; }
}

/* Sticky filter bar on /nyc */
.nyc-filter-sticky{
  position:sticky; top:0; z-index:40;
  background:rgba(7,4,26,.94); backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  padding:.6rem 1rem .55rem;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nyc-anchor-row{
  display:flex; gap:.4rem; flex-wrap:wrap; justify-content:center;
  margin:.5rem auto 0; max-width:1100px;
}
.nyc-anchor-link{
  font-family:Inter,system-ui,sans-serif; font-size:.7rem; letter-spacing:.08em;
  text-transform:uppercase; padding:.3rem .65rem; border-radius:999px;
  background:transparent; color:#cdc6b8; border:1px solid rgba(255,255,255,.18);
  cursor:pointer; transition:all .15s;
}
.nyc-anchor-link:hover{ color:var(--soho-yellow,#E8FF52); border-color:var(--soho-yellow,#E8FF52); }

/* Deal "more options" disclosure */
.deal-more-options{ margin-top:.4rem; }
.deal-more-options summary{
  cursor:pointer; font-size:.78rem; letter-spacing:.04em; color:#aaa;
  list-style:none; padding:.3rem 0; user-select:none;
}
.deal-more-options summary::-webkit-details-marker{ display:none; }
.deal-more-options summary::before{ content:'+ '; color:var(--gold,#d4af37); }
.deal-more-options[open] summary::before{ content:'– '; }
.deal-order-secondary{ display:flex; gap:.4rem; flex-wrap:wrap; margin-top:.3rem; }
.btn-offer-deal-login{ flex:1; text-align:center; font-size:.78rem; padding:.4rem .6rem; }

/* Product detail trust strip */
.pdp-price{ font-size:2rem; font-weight:900; color:var(--gold,#d4af37); margin-bottom:.75rem; }
.pdp-trust{
  display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem;
  margin:0 0 1.25rem; padding:.7rem; background:rgba(255,255,255,.03);
  border:1px solid rgba(212,175,55,.18); border-radius:8px;
}
.pdp-trust-item{ display:flex; flex-direction:column; gap:.15rem; text-align:center; font-size:.72rem; }
.pdp-trust-item strong{ color:var(--gold,#d4af37); font-size:.82rem; letter-spacing:.04em; }
.pdp-trust-item span{ color:#aaa; }
@media(max-width:600px){ .pdp-trust{ grid-template-columns:1fr; text-align:left; } .pdp-trust-item{ flex-direction:row; gap:.5rem; align-items:baseline; text-align:left; } }

/* Related rail on PDP */
.pdp-related-rail{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:.9rem;
}
.pdp-related-card{
  display:block; text-decoration:none; color:inherit;
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08);
  border-radius:10px; overflow:hidden; transition:transform .15s, border-color .15s;
}
.pdp-related-card:hover{ transform:translateY(-2px); border-color:var(--gold,#d4af37); }
.pdp-related-card img{ width:100%; aspect-ratio:1/1; object-fit:cover; display:block; background:#0e0a26; }
.pdp-related-ph{
  width:100%; aspect-ratio:1/1; background:linear-gradient(135deg,#1a1240,#0e0a26);
  display:flex; align-items:center; justify-content:center; font-size:2rem; color:rgba(212,175,55,.4);
}
.pdp-related-name{ padding:.5rem .55rem .15rem; font-size:.82rem; line-height:1.3; }
.pdp-related-price{ padding:0 .55rem .55rem; font-size:.85rem; font-weight:800; color:var(--gold,#d4af37); }

/* Sticky mobile buy bar on PDP */
.pdp-mobile-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:60;
  display:none; align-items:center; gap:.55rem; padding:.55rem .8rem;
  background:rgba(7,4,26,.96); backdrop-filter:blur(10px);
  border-top:1px solid rgba(212,175,55,.4);
}
.pdp-mobile-price{ font-weight:900; color:var(--gold,#d4af37); font-size:1.05rem; }
.pdp-mobile-buy{
  flex:1; padding:.7rem 1rem; background:var(--gold,#d4af37); color:#0a0628;
  font-weight:800; border:0; border-radius:8px; font-size:.95rem; cursor:pointer;
  font-family:Inter,system-ui,sans-serif; letter-spacing:.04em;
}
.pdp-mobile-dm{
  padding:.7rem .9rem; background:transparent; color:#F4F1EC;
  border:1px solid rgba(255,255,255,.3); border-radius:8px; text-decoration:none; font-size:.85rem;
}
@media(max-width:768px){
  .pdp-mobile-bar{ display:flex; }
  body{ padding-bottom:64px; }
}

/* Cart upsell */
.cart-upsell{ margin-top:2rem; padding:1.25rem 0; border-top:1px solid rgba(255,255,255,.08); }
.cart-upsell-eyebrow{
  font-family:Anton,Impact,sans-serif; letter-spacing:.18em; text-transform:uppercase;
  font-size:.85rem; color:var(--gold,#d4af37); margin-bottom:.85rem;
}
.cart-upsell-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1rem; }
.cart-upsell-card{
  display:block; text-decoration:none; color:inherit;
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08);
  border-radius:10px; overflow:hidden; transition:transform .15s, border-color .15s;
}
.cart-upsell-card:hover{ transform:translateY(-2px); border-color:var(--gold,#d4af37); }
.cart-upsell-card img,
.cart-upsell-ph{ width:100%; aspect-ratio:1/1; object-fit:cover; display:block; background:linear-gradient(135deg,#1a1240,#0e0a26); }
.cart-upsell-name{ padding:.5rem .6rem .1rem; font-size:.85rem; line-height:1.3; }
.cart-upsell-price{ padding:0 .6rem .6rem; font-size:.9rem; font-weight:800; color:var(--gold,#d4af37); }

/* Breaks empty state */
.breaks-empty{
  background:linear-gradient(180deg, rgba(212,175,55,.05), transparent);
  border:1px solid rgba(212,175,55,.2); border-radius:14px;
  padding:2.5rem 1.5rem; text-align:center;
}
.breaks-empty-eyebrow{
  font-family:Anton,Impact,sans-serif; letter-spacing:.22em; text-transform:uppercase;
  font-size:.8rem; color:var(--gold,#d4af37); margin-bottom:.6rem;
}
.breaks-empty-title{ font-family:Anton,Impact,sans-serif; font-size:2rem; margin:0 0 .6rem; letter-spacing:.02em; }
.breaks-empty-lede{ color:#bbb; max-width:520px; margin:0 auto 1.4rem; line-height:1.55; }
.breaks-empty-actions{ display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center; }
.breaks-empty-actions .btn-yt{ background:#FF0033; color:#fff; padding:.65rem 1rem; border-radius:8px; text-decoration:none; font-weight:700; }

/* Shop sticky section nav */
.shop-anchor-nav{
  position:sticky; top:0; z-index:38;
  display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap;
  padding:.55rem 1rem; background:rgba(7,4,26,.92); backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.shop-anchor-nav a{
  font-family:Inter,system-ui,sans-serif; font-size:.72rem; letter-spacing:.1em;
  text-transform:uppercase; color:#cdc6b8; text-decoration:none;
  padding:.3rem .7rem; border:1px solid rgba(255,255,255,.16); border-radius:999px;
}
.shop-anchor-nav a:hover{ color:var(--gold,#d4af37); border-color:var(--gold,#d4af37); }
[id^="sec-"]{ scroll-margin-top:80px; }

/* SOHO placeholder for shop product images */
.soho-placeholder{
  background:repeating-linear-gradient(45deg,#1a1240 0 12px,#0e0a26 12px 24px) !important;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  aspect-ratio:1/1; border-bottom:1px solid rgba(212,175,55,.2);
}
.soho-placeholder-mark{
  font-family:Anton,Impact,sans-serif; font-size:1.4rem; letter-spacing:.12em;
  color:var(--gold,#d4af37); text-transform:uppercase;
}
.soho-placeholder-type{
  font-family:Inter,system-ui,sans-serif; font-size:.65rem; letter-spacing:.18em;
  color:#888; text-transform:uppercase; margin-top:.35rem;
}

/* Login page recolor (keep gold + paper, drop pink/purple gradient on submit) */
body.page-login .auth-submit,
.auth-form .btn-cta-primary{
  background:var(--gold,#d4af37) !important; color:#0a0628 !important;
  border:0 !important; box-shadow:none !important;
}
.auth-form .btn-cta-primary:hover{ filter:brightness(1.08); }

/* Section anchor scroll-margin global */
.section[id]{ scroll-margin-top:72px; }

/* ============ POLISH v2 (May 2026) — replace prior login override ============ */

/* Override gold login submit -> black + hot-pink hover */
body.page-login .auth-submit,
.auth-form .btn-cta-primary,
form.auth-form button[type="submit"]{
  background:#0A0A0A !important; color:#F4F1EC !important;
  border:1px solid #0A0A0A !important; box-shadow:none !important;
  transition: background .15s, color .15s, border-color .15s;
}
body.page-login .auth-submit:hover,
.auth-form .btn-cta-primary:hover,
form.auth-form button[type="submit"]:hover{
  background:var(--soho-hot,#FF2E6F) !important;
  border-color:var(--soho-hot,#FF2E6F) !important;
  color:#fff !important; filter:none;
}

/* Sticky filter bar must sit BELOW the nav (nav is z:100, soho-nav z:auto-but-sticky) */
.nyc-filter-sticky{ z-index:38 !important; top:62px; }
.shop-anchor-nav{ z-index:36 !important; top:62px; }
@media(max-width:640px){ .nyc-filter-sticky, .shop-anchor-nav{ top:58px; } }

/* === Deal card simplification helpers === */
.deal-img-link{ display:block; text-decoration:none; }
.deal-name-link{ text-decoration:none; color:inherit; }
.deal-icon-hidden{ display:none; }
.deal-primary-single{
  display:flex; width:100%; justify-content:center; margin-top:.5rem;
}
.btn-add-cart-secondary{ width:100%; }
.deal-buy-row{ display:flex; gap:.4rem; margin-top:.4rem; }
.block-link{ display:block; text-decoration:none; }
.plain-link{ text-decoration:none; }
.btn-full-center{ width:100%; justify-content:center; }
.mt-2{ margin-top:.5rem; }
.section-pt-0{ padding-top:0 !important; }
.section-pt-sm{ padding-top:1rem; }
.section-pt-lg{ padding-top:2.5rem; }
.section-pb-sm{ padding-bottom:1rem; }
.m0{ margin-top:0 !important; }

/* Empty state on deals */
.nyc-empty-hidden{ display:none; }
.nyc-empty-icon{ font-size:2rem; margin-bottom:.5rem; }
.nyc-empty-title{ font-weight:700; color:var(--text); margin-bottom:.25rem; }
.nyc-empty-sub{ color:var(--text-muted); font-size:.85rem; }

/* === Home page replacements === */
.home-updated{
  font-size:.7rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--soho-ash,#7c7560); margin:1rem 0 1.5rem;
}
.home-hero-ctas{ display:flex; gap:.75rem; justify-content:center; flex-wrap:wrap; }
.home-howto-band{
  background:var(--surface); border-top:1px solid var(--border);
  border-bottom:1px solid var(--border); padding:1.25rem 1.5rem;
}
.home-howto-row{
  max-width:900px; margin:0 auto; display:flex; gap:1.5rem;
  justify-content:center; flex-wrap:wrap; text-align:center;
}
.home-howto-step{ flex:1; min-width:160px; }
.home-howto-icon{ font-size:1.6rem; margin-bottom:.25rem; }
.home-howto-title{ font-weight:800; font-size:.9rem; color:var(--gold); }
.home-howto-sub{ font-size:.78rem; color:var(--text-muted); margin-top:.2rem; }
.home-howto-arrow{ font-size:1.2rem; color:var(--border); align-self:center; flex-shrink:0; }

.home-empty{ text-align:center; padding:4rem 1.5rem; }
.home-empty-icon{ font-size:3rem; margin-bottom:1rem; }
.home-empty-text{ font-size:1.1rem; color:var(--text-dim); }
.home-empty-actions{ margin-top:1.5rem; display:flex; gap:.75rem; justify-content:center; flex-wrap:wrap; }

.home-livebreaks{
  background:linear-gradient(135deg,rgba(255,59,59,.12) 0%,rgba(255,59,59,.05) 100%);
  border:1px solid rgba(255,59,59,.3); border-radius:16px;
  padding:1.75rem 2rem; text-align:center; max-width:680px; margin:0 auto;
}
.home-livebreaks-pill{
  display:inline-flex; align-items:center; gap:.5rem;
  background:rgba(255,59,59,.15); border:1px solid var(--poke-red,#ff3b3b);
  color:var(--poke-red,#ff3b3b); font-size:.75rem; font-weight:700;
  padding:.3rem .85rem; border-radius:99px; margin-bottom:.75rem;
}
.home-livebreaks-dot{
  width:7px; height:7px; border-radius:50%; background:var(--poke-red,#ff3b3b);
  animation:pulse-badge 1.5s infinite; display:inline-block;
}
.home-livebreaks-title{ font-size:1.4rem; font-weight:900; color:var(--text); margin-bottom:.5rem; }
.home-livebreaks-sub{ color:var(--text-dim); font-size:.95rem; max-width:480px; margin:0 auto 1.25rem; }

.nyc-social-emoji{ font-size:1.2rem; }
.nyc-social-h{ font-weight:800; font-size:.95rem; }
.nyc-social-p{ font-size:.78rem; opacity:.8; }
.home-bottom-ctas{ text-align:center; margin-top:1.25rem; display:flex; gap:.5rem; justify-content:center; flex-wrap:wrap; }

/* === Product detail page === */
.pdp-section{ max-width:860px; }
.pdp-back{ margin-bottom:1.25rem; }
.pdp-back-link{ font-size:.85rem; }
.pdp-grid{ display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:start; }
.pdp-image{ width:100%; border-radius:12px; border:1px solid var(--border); display:block; }
.pdp-image-fallback{
  height:280px; background:var(--surface2); border-radius:12px;
  border:1px solid var(--border); align-items:center; justify-content:center;
  font-size:5rem; display:none;
}
.pdp-image-fallback-show{ display:flex; }
.pdp-badge{ margin-bottom:.6rem; }
.pdp-avail{ margin-bottom:.6rem; }
.pdp-title{ font-size:1.6rem; font-weight:900; color:var(--text); margin:0 0 .5rem; line-height:1.2; }
.pdp-desc{ color:var(--text-dim); font-size:.95rem; margin-bottom:1rem; line-height:1.6; }
.pdp-note{ margin-bottom:1rem; }
.pdp-actions{ display:flex; flex-direction:column; gap:.6rem; }
.pdp-primary{ width:100%; justify-content:center; padding:.95rem 1rem; font-size:1rem; }
.pdp-more{ margin-top:.4rem; }
.pdp-soldout-btn{ opacity:.5; }
.pdp-pickup-note{
  margin-top:1.5rem; padding:1rem; background:var(--surface2);
  border:1px solid var(--border); border-radius:10px; font-size:.83rem; color:var(--text-dim);
}
.pdp-pickup-title{ font-weight:700; color:var(--text); margin-bottom:.4rem; }
.pdp-pickup-phone{ color:var(--gold); }
@media(max-width:600px){ .pdp-grid{ grid-template-columns:1fr; } }

/* === Breaks card v2 === */
.break-card-grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:1.25rem; margin-bottom:2rem;
}
.break-card-grid-compact{ grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); }
.break-card{
  display:flex; flex-direction:column;
  background:var(--surface); border:1px solid var(--border);
  border-radius:12px; overflow:hidden;
  transition:transform .15s, border-color .15s, box-shadow .15s;
}
.break-card:hover{ transform:translateY(-2px); border-color:var(--gold); box-shadow:0 8px 24px rgba(0,0,0,.25); }
.break-card-live{ border-color:var(--green,#5eff8a); }
.break-card-soldout{ opacity:.78; }
.break-card-completed{ opacity:.7; }
.break-card-img{ width:100%; aspect-ratio:16/10; object-fit:cover; display:block; background:linear-gradient(135deg,#1a1240,#0e0a26); }
.break-card-img-ph{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:repeating-linear-gradient(45deg,#1a1240 0 14px,#0e0a26 14px 28px);
}
.break-card-ph-mark{ font-family:Anton,Impact,sans-serif; font-size:1.5rem; color:var(--gold); letter-spacing:.12em; }
.break-card-ph-type{ font-size:.7rem; letter-spacing:.16em; color:#aaa; margin-top:.3rem; }
.break-card-body{ padding:1rem; display:flex; flex-direction:column; gap:.55rem; flex:1; }
.break-card-meta{ display:flex; align-items:center; gap:.55rem; flex-wrap:wrap; }
.break-card-when{
  font-size:.72rem; letter-spacing:.06em; color:var(--text-muted);
  font-family:Inter,system-ui,sans-serif;
}
.break-card-title{ font-size:1.05rem; font-weight:800; margin:0; line-height:1.3; }
.break-card-desc{ font-size:.85rem; color:var(--text-dim); margin:0; line-height:1.4; }
.break-card-price{ font-size:1.3rem; font-weight:900; color:var(--gold); }
.break-card-price span{ font-size:.78rem; font-weight:600; color:var(--text-muted); margin-left:.2rem; }
.break-card-spots{ display:flex; flex-direction:column; gap:.3rem; }
.break-card-spotbar{
  height:6px; background:rgba(255,255,255,.08); border-radius:99px; overflow:hidden;
}
.break-card-spotbar-fill{
  display:block; height:100%; background:linear-gradient(90deg,var(--gold),#ffd76b);
  border-radius:99px;
}
.break-card-spotline{ font-size:.78rem; color:var(--text-dim); }
.break-card-spotline strong{ color:var(--text); }
.break-card-urgent{ color:var(--soho-hot,#FF2E6F); font-weight:700; margin-left:.2rem; }
.break-card-cta{ margin-top:auto; }
.break-completed-header{ margin-top:1.5rem; }
.break-completed-title{ font-size:1rem; color:var(--text-muted); }

.link-gold{ color:var(--gold); }
.btn-yt-outline{ border-color:#ff0000; color:#ff6b6b; }
.modal-w-440{ max-width:440px; }
.modal-lede{ font-size:.88rem; margin-bottom:1rem; }

/* === Cooler split logo (Poke · NYC) === */
.soho-logo-name{ display:inline-flex; align-items:baseline; gap:0; }
.soho-footer-mark{ display:inline-flex; align-items:baseline; gap:0; }
.soho-logo-poke{
  font-family: var(--font-display);
  color: var(--soho-asphalt, #0A0A0A);
  letter-spacing:.04em;
}
.soho-logo-sep{
  display:inline-block;
  margin: 0 .28em;
  font-family: var(--font-display);
  color: var(--soho-hot, #FF2E6F);
  transform: translateY(-.08em);
  opacity:.9;
  font-weight:400;
}
.soho-logo-nyc{
  font-family: var(--font-display);
  background: linear-gradient(180deg, var(--soho-hot, #FF2E6F) 0%, #d8175a 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: var(--soho-hot, #FF2E6F);
  letter-spacing:.05em;
}
.soho-logo:hover .soho-logo-sep{ color: var(--soho-asphalt); opacity:1; }
.soho-logo:hover .soho-logo-nyc{ filter: brightness(1.1); }

/* === Responsive nav fit === */
.soho-nav{ flex-wrap:wrap; row-gap:.5rem; padding:.85rem 1.25rem; }
@media(max-width:880px){
  .soho-nav{ padding:.75rem 1rem; }
  .soho-nav-links{ width:100%; justify-content:flex-start; gap:.75rem 1rem; }
  .soho-logo-sub{ font-size:.55rem; letter-spacing:.22em; }
}

/* === Always-visible quick pills (NYC Deals / NYC Hunt) === */
/* Hidden by default on desktop because both items are already in the
   full nav; revealed on ≤900px when the burger appears so the two most
   important sections stay one tap away on phones/tablets. */
.soho-nav-quick{
  display:none;
  align-items:center;
  gap:.4rem;
  margin-left:auto;
  margin-right:.5rem;
}
.soho-quick-pill{
  display:inline-flex;
  align-items:center;
  padding:.42rem .7rem;
  border-radius:999px;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;
  line-height:1;
  transition:transform .12s ease, box-shadow .15s ease, background .15s ease;
}
.soho-quick-pill:active{ transform:scale(.96); }
.soho-quick-deals{
  background:var(--soho-hot, #FF2E6F);
  color:#fff;
  box-shadow:0 2px 10px rgba(255,46,111,.35);
}
.soho-quick-deals:hover{ background:#ff1158; }
.soho-quick-hunt{
  background:transparent;
  color:var(--soho-ink, #111);
  border:1.5px solid var(--soho-ink, #111);
}
.soho-quick-hunt:hover{
  background:var(--soho-ink, #111);
  color:var(--soho-yellow, #FFD60A);
}
.soho-quick-pill.active{
  background:var(--soho-yellow, #FFD60A);
  color:var(--soho-ink, #111);
  border-color:var(--soho-yellow, #FFD60A);
  box-shadow:none;
}
@media(max-width:900px){
  .soho-nav-quick{ display:inline-flex; }
}
@media(max-width:380px){
  .soho-quick-pill{ font-size:.58rem; padding:.38rem .55rem; letter-spacing:.10em; }
  .soho-nav-quick{ gap:.3rem; margin-right:.35rem; }
}
@media(max-width:520px){
  .soho-nav-links a{ font-size:.66rem; letter-spacing:.14em; }
  .soho-nav{ padding:.7rem .85rem; }
  .soho-logo-name{ font-size:1.2rem; }
  .soho-logo-sub{ margin-top:.25rem; }
}

/* Display headline letter-spacing for narrow viewports */
@media(max-width:640px){
  .soho-display{ letter-spacing:-.005em; word-spacing:-.02em; }
  .soho-eyebrow{ letter-spacing:.18em; }
}

/* ============================================================
   SOHO polish overrides — secondary store templates
   (deals.html, thank_you.html, account.html, break_detail.html,
    product_detail.html). Keep palette: paper / asphalt / hot /
    yellow / cobalt. No legacy purple/cyan/gold gradients.
   ============================================================ */

/* --- Account page --- */
.acc-tab-count{
  font-size:.72rem; background: var(--soho-asphalt); color: var(--soho-yellow);
  border-radius: 0; padding: 1px 6px; letter-spacing:.14em; font-weight:800;
  margin-left:.25rem;
}
.acc-mt-sm{ margin-top:.5rem; }
.acc-meta-muted{ color: var(--soho-ash); }
.acc-meta-paid{ color: var(--soho-cobalt); font-weight:700; }
.acc-meta-declined{ color: var(--soho-hot); font-weight:700; }
.offer-paid-tag{
  display:block; margin-top:.5rem; font-size:.72rem; font-weight:800;
  letter-spacing:.18em; text-transform:uppercase; color: var(--soho-cobalt);
}
.pts-date{ font-size:.78rem; color: var(--soho-ash); letter-spacing:.04em; }
.pts-reason{ font-size:.85rem; color: var(--soho-ink); }

/* Account chrome — strip casino-purple/cyan tints */
.account-header{
  background: #FFFFFF; border:1px solid var(--soho-hairline);
  border-radius: 2px; box-shadow:none;
}
.account-name{ font-family: var(--font-display); font-weight:400;
  color: var(--soho-asphalt); text-transform:uppercase; letter-spacing:.01em; }
.account-email{ color: var(--soho-ash); letter-spacing:.08em;
  text-transform:uppercase; font-size:.7rem; }
.account-avatar{
  background: var(--soho-asphalt); color: var(--soho-yellow);
  border-radius: 0; font-family: var(--font-display); font-weight:400;
}
.reward-banner{
  background: var(--soho-yellow);
  border: 1px solid var(--soho-asphalt);
  border-radius: 2px;
}
.reward-pts-number{ font-family: var(--font-display); font-weight:400;
  color: var(--soho-asphalt); }
.reward-pts-label{ color: var(--soho-asphalt);
  letter-spacing:.18em; text-transform:uppercase; font-size:.7rem; }
.reward-desc strong{ color: var(--soho-asphalt);
  font-family: var(--font-body); font-weight:800; letter-spacing:.04em; }
.reward-desc span{ color: var(--soho-ink); font-size:.78rem; }
.discount-alert{
  background: #FFFFFF; border:1px solid var(--soho-cobalt);
  color: var(--soho-asphalt); border-radius: 2px;
}
.acc-tab{ color: var(--soho-ink); border-radius: 0;
  letter-spacing:.14em; text-transform:uppercase; font-size:.7rem; }
.acc-tab.active{
  background: var(--soho-asphalt); color: var(--soho-yellow);
  border-radius: 0;
}
.acc-card{
  background:#FFFFFF; border:1px solid var(--soho-hairline);
  border-radius: 2px;
}
.acc-card-num{ color: var(--soho-ash);
  letter-spacing:.14em; text-transform:uppercase; }
.acc-card-title{ color: var(--soho-asphalt); }
.acc-card-meta{ color: var(--soho-ink); }
.acc-card-link{ color: var(--soho-hot); letter-spacing:.06em; }
.acc-status-pill{
  background: var(--soho-paper-warm); color: var(--soho-ink);
  border-radius: 0; letter-spacing:.18em;
}
.acc-status-pill.status-paid{
  background: var(--soho-cobalt); color:#fff;
}
.acc-status-pill.status-shipped,
.acc-status-pill.status-delivered{
  background: var(--soho-asphalt); color: var(--soho-yellow);
}
.acc-status-pill.status-ready_for_pickup{
  background: var(--soho-yellow); color: var(--soho-asphalt);
}
.acc-status-pill.status-refunded,
.acc-status-pill.status-cancelled{
  background: #FFFFFF; color: var(--soho-hot);
  border:1px solid var(--soho-hot);
}
.bundle-status-pending{ background: var(--soho-yellow); color: var(--soho-asphalt); }
.bundle-status-quoted{ background: var(--soho-cobalt); color:#fff; }
.bundle-status-paid{ background: var(--soho-asphalt); color: var(--soho-yellow); }
.bundle-status-declined,
.bundle-status-expired{ background:#FFFFFF; color: var(--soho-hot); border:1px solid var(--soho-hot); }
.acc-empty{ color: var(--soho-ash); }
.account-footer-links a{ color: var(--soho-asphalt);
  letter-spacing:.18em; text-transform:uppercase; font-size:.72rem; }
.pts-table th{ color: var(--soho-asphalt);
  letter-spacing:.18em; text-transform:uppercase; font-size:.7rem;
  border-bottom:1px solid var(--soho-asphalt); }
.pts-table td{ border-bottom:1px solid var(--soho-hairline); }
.pts-pos{ color: var(--soho-cobalt); font-weight:800; }
.pts-neg{ color: var(--soho-hot); font-weight:800; }

/* --- Thank You page --- */
.ty-hero{ padding-bottom:.5rem; }
.ty-order-card{
  background: var(--soho-paper-warm); border:1px solid var(--soho-hairline);
  border-radius: 2px;
}
.ty-order-num{ color: var(--soho-ash);
  letter-spacing:.18em; text-transform:uppercase; font-family: var(--font-body); }
.ty-line{ border-bottom:1px solid var(--soho-hairline); color: var(--soho-asphalt); }
.ty-line .gold{ color: var(--soho-hot); }
.ty-line .green{ color: var(--soho-cobalt); }
.ty-order-link{ color: var(--soho-hot); letter-spacing:.08em; font-weight:800; }
.ty-points-badge{
  background: var(--soho-yellow);
  border:1px solid var(--soho-asphalt);
  color: var(--soho-asphalt);
  border-radius: 2px;
}
.ty-section-title{ color: var(--soho-asphalt);
  font-family: var(--font-body); font-weight:800;
  letter-spacing:.14em; text-transform:uppercase; font-size:.8rem; }
.ty-opt-btn{
  background:#FFFFFF; border:1px solid var(--soho-hairline);
  border-radius: 0; color: var(--soho-asphalt) !important;
  letter-spacing:.1em; text-transform:uppercase; font-size:.72rem;
}
.ty-opt-btn:hover{
  border-color: var(--soho-asphalt);
  background: var(--soho-asphalt);
  color: var(--soho-yellow) !important;
}
.ty-fulfill-note{ color: var(--soho-ash); }
.ty-social a{ color: var(--soho-asphalt);
  letter-spacing:.14em; text-transform:uppercase; font-size:.72rem; }

/* --- Break detail --- */
.bd-hero{ padding-bottom:.5rem; }
.bd-back-link{ color:inherit; text-decoration:none;
  letter-spacing:.22em; text-transform:uppercase; }
.bd-display{ font-size: clamp(1.6rem, 4vw, 2.8rem); }
.bd-top-grid{
  display:grid; grid-template-columns:1fr 2fr; gap:2rem;
  align-items:start; margin-bottom:2rem;
}
@media(max-width:720px){ .bd-top-grid{ grid-template-columns:1fr; } }
.bd-hero-img{
  width:100%; border-radius:2px; border:1px solid var(--soho-hairline);
  display:block;
}
.bd-hero-placeholder{
  height:220px; border-radius:2px;
  background: var(--soho-paper-warm) !important;
  border:1px solid var(--soho-hairline) !important;
}
.bd-placeholder-icon{ font-size:3rem; }
.bd-watch-btn{ margin-top:.75rem; }
.bd-name{
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-family: var(--font-display); font-weight:400;
  color: var(--soho-asphalt); text-transform:uppercase;
  margin:.5rem 0; line-height:1.05; letter-spacing:-0.01em;
}
.bd-desc{ margin-bottom:1rem; color: var(--soho-ink); }
.bd-price{
  font-family: var(--font-display); font-weight:400;
  font-size:2.4rem; color: var(--soho-asphalt);
  margin-bottom:.5rem; letter-spacing:-0.01em;
}
.bd-price-sub{
  font-family: var(--font-body); font-weight:600;
  font-size:.7rem; color: var(--soho-ash);
  letter-spacing:.22em; text-transform:uppercase;
  margin-left:.4rem;
}
.bd-spot-bar{ margin-bottom:1.25rem; }
.spot-pill.spot-total{
  background: var(--soho-paper-warm);
  color: var(--soho-ink);
  border:1px solid var(--soho-hairline);
}
.bd-spotmap-title{
  margin-bottom:1rem;
  font-family: var(--font-display); font-weight:400;
  color: var(--soho-asphalt); text-transform:uppercase;
  letter-spacing:-0.01em;
}
.bd-spot-buy-btn{ margin-top:.4rem; width:100%; }
.bd-howitworks{
  background:#FFFFFF; border:1px solid var(--soho-hairline);
  border-radius:2px; padding:1.25rem; margin-top:2rem;
  font-size:.85rem; color: var(--soho-ink);
}
.bd-hiw-label{ color: var(--soho-asphalt);
  letter-spacing:.14em; text-transform:uppercase;
  font-family: var(--font-body); font-weight:800; }
.bd-hiw-link{ color: var(--soho-hot); font-weight:800; }

/* --- Product detail page (PDP) --- */
.pdp-title{
  font-family: var(--font-display); font-weight:400;
  color: var(--soho-asphalt); text-transform:uppercase;
  letter-spacing:-0.01em;
}
.pdp-desc{ color: var(--soho-ink); }
.pdp-price{
  font-family: var(--font-display); font-weight:400;
  color: var(--soho-asphalt) !important;
  letter-spacing:-0.01em;
}
.pdp-trust{
  border-top:1px solid var(--soho-hairline);
  border-bottom:1px solid var(--soho-hairline);
}
.pdp-trust-item strong{
  color: var(--soho-asphalt) !important;
  font-family: var(--font-body); font-weight:800;
  letter-spacing:.14em; text-transform:uppercase;
}
.pdp-trust-item span{ color: var(--soho-ash) !important; }
.pdp-image{
  border-radius:2px !important;
  border:1px solid var(--soho-hairline) !important;
  background: var(--soho-paper-warm);
}
.pdp-image-fallback{
  background: var(--soho-paper-warm) !important;
  color: var(--soho-asphalt) !important;
  border:1px solid var(--soho-hairline) !important;
  border-radius:2px !important;
}
.pdp-pickup-note{
  background:#FFFFFF; border:1px solid var(--soho-hairline);
  border-radius:2px; color: var(--soho-ink);
}
.pdp-pickup-title{
  color: var(--soho-asphalt); font-family: var(--font-body);
  font-weight:800; letter-spacing:.14em; text-transform:uppercase;
}
.pdp-pickup-phone{ color: var(--soho-hot); font-weight:800; }
.pdp-related-card{
  background:#FFFFFF !important;
  border:1px solid var(--soho-hairline) !important;
  border-radius:2px !important;
  box-shadow:none !important;
}
.pdp-related-card:hover{
  border-color: var(--soho-asphalt) !important;
  box-shadow: 4px 4px 0 var(--soho-asphalt) !important;
  transform:none !important;
}
.pdp-related-card img{ background: var(--soho-paper-warm) !important; }
.pdp-related-name{ color: var(--soho-asphalt); }
.pdp-related-price{ color: var(--soho-hot) !important; font-weight:800; }
.pdp-related-ph{
  background: var(--soho-paper-warm) !important;
  color: var(--soho-asphalt) !important;
}
.pdp-mobile-bar{
  background: var(--soho-paper) !important;
  border-top:1px solid var(--soho-asphalt) !important;
}
.pdp-mobile-price{
  color: var(--soho-asphalt) !important;
  font-family: var(--font-display); font-weight:400;
  letter-spacing:-0.01em;
}
.pdp-mobile-buy{
  background: var(--soho-asphalt) !important;
  color: var(--soho-yellow) !important;
  border-radius:0 !important;
  letter-spacing:.16em; text-transform:uppercase;
}
.pdp-mobile-dm{
  background: var(--soho-hot) !important;
  color:#fff !important;
  border-radius:0 !important;
  letter-spacing:.16em; text-transform:uppercase;
}

/* ── Drop List signup section ─────────────────────────────────────────────── */
.drop-list-section{
  background: var(--soho-asphalt, #0A0A0A);
  color: #f4f1ec;
  padding: 3.5rem 1.25rem;
  margin: 2rem 0;
  border-top: 1px solid rgba(255,46,111,.25);
  border-bottom: 1px solid rgba(255,46,111,.25);
}
.drop-list-section.drop-list-compact{ padding: 2.25rem 1.25rem; }
.drop-list-inner{
  max-width: 720px; margin: 0 auto;
}
.drop-list-eyebrow{
  font-family: var(--font-body, Inter, sans-serif);
  font-weight: 700; font-size: .72rem;
  letter-spacing: .28em; text-transform: uppercase;
  color: var(--soho-hot, #FF2E6F);
  margin-bottom: .6rem;
}
.drop-list-title{
  font-family: var(--font-display, 'Anton', sans-serif);
  font-size: clamp(2rem, 1.4rem + 3vw, 3rem);
  letter-spacing: .01em; text-transform: uppercase;
  margin: 0 0 .5rem;
  color: #fff;
}
.drop-list-title .hot{ color: var(--soho-hot, #FF2E6F); }
.drop-list-lede{
  font-size: 1rem; line-height: 1.5;
  color: #cdc6b8; margin: 0 0 1.5rem;
  max-width: 560px;
}
.drop-list-flash{
  padding: .75rem 1rem; border-radius: 8px;
  margin-bottom: 1rem; font-size: .9rem;
}
.drop-list-flash-ok{ background: rgba(58,170,90,.15); color:#7ee49a; border:1px solid rgba(58,170,90,.4); }
.drop-list-flash-err{ background: rgba(229,85,85,.15); color:#ffb1b1; border:1px solid rgba(229,85,85,.4); }
.drop-list-form{ display: flex; flex-direction: column; gap: 1rem; }
.dl-row{ display: grid; gap: 1rem; }
.dl-row-2{ grid-template-columns: 1fr 1fr; }
@media(max-width: 560px){ .dl-row-2{ grid-template-columns: 1fr; } }
.dl-field{ display: flex; flex-direction: column; gap: .35rem; }
.dl-label{
  font-size: .72rem; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
  color: #cdc6b8;
}
.dl-label em{ font-style: normal; color: #7c7560; font-weight: 500; letter-spacing: .08em; }
.dl-req{ color: var(--soho-hot, #FF2E6F); font-style: normal; }
.dl-field input[type=text],
.dl-field input[type=tel],
.dl-field input[type=email]{
  background: #1a1a1a; color: #fff;
  border: 1px solid #333; border-radius: 6px;
  padding: .7rem .85rem; font-size: 1rem;
  font-family: inherit;
  transition: border-color .15s;
}
.dl-field input:focus{ outline: none; border-color: var(--soho-hot, #FF2E6F); }
.dl-checks{
  border: 1px solid #2a2a2a; border-radius: 8px;
  padding: .9rem 1rem; margin: 0;
  background: rgba(255,255,255,.02);
  display: flex; flex-direction: column; gap: .55rem;
}
.dl-checks legend{ padding: 0 .4rem; }
.dl-check{
  display: flex; align-items: center; gap: .6rem;
  font-size: .92rem; cursor: pointer;
  color: #f4f1ec;
}
.dl-check em{ color: #7c7560; font-style: normal; font-size: .8rem; }
.dl-check input[type=checkbox]{
  width: 18px; height: 18px;
  accent-color: var(--soho-hot, #FF2E6F);
  cursor: pointer;
}
.dl-consent{
  display: flex; align-items: flex-start; gap: .6rem;
  font-size: .8rem; color: #cdc6b8; line-height: 1.45;
  cursor: pointer;
}
.dl-consent input[type=checkbox]{
  width: 18px; height: 18px; flex-shrink: 0;
  margin-top: .1rem;
  accent-color: var(--soho-hot, #FF2E6F);
}
.dl-submit{ align-self: flex-start; margin-top: .25rem; }
.dl-disclaimer{
  margin: .5rem 0 0;
  font-size: .72rem; line-height: 1.5;
  color: #7c7560;
  letter-spacing: .02em;
}
.dl-disclaimer strong{ color: #cdc6b8; font-weight: 600; }

/* ================================================================
   MK VISUAL REFRESH v3 — All 50 improvements (May 2026)
   ================================================================ */

/* ── 1. Grain / noise texture on paper background ── */
body::before {
  content:"";
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  opacity:1;
}
body > *{ position:relative; z-index:1; }

/* ── 2. Warmer body text (less stark) ── */
body{ color:#1c1c1e; }
.soho-lede,.text-dim,.card-desc,.break-card-desc{ color:#3a3530 !important; }

/* ── 3. Mobile hamburger button ── */
.mob-burger{
  display:none;
  flex-direction:column; gap:5px; justify-content:center;
  background:none; border:none; cursor:pointer;
  padding:.45rem .35rem; margin-left:.5rem; flex-shrink:0;
}
.mob-burger span{
  display:block; width:22px; height:2px;
  background:var(--soho-asphalt,#1a1a1a);
  border-radius:2px;
  transition:transform .25s ease, opacity .2s ease;
}
.mob-burger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.mob-burger.open span:nth-child(2){ opacity:0; transform:scaleX(0); }
.mob-burger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ── 4. Mobile nav drawer ── */
.mob-drawer{
  position:fixed; top:0; right:0; bottom:0; z-index:9000;
  width:min(320px, 88vw);
  background:var(--soho-paper,#F4F1EC);
  transform:translateX(100%);
  transition:transform .3s cubic-bezier(.4,0,.2,1);
  display:flex; flex-direction:column;
  overflow-y:auto; -webkit-overflow-scrolling:touch;
  border-left:1px solid var(--soho-hairline,#ddd8cc);
}
.mob-drawer.open{ transform:translateX(0); }
.mob-drawer-backdrop{
  position:fixed; inset:0; z-index:8999;
  background:rgba(10,10,10,.4);
  opacity:0; pointer-events:none;
  transition:opacity .3s ease;
  backdrop-filter:blur(2px);
}
.mob-drawer-backdrop.open{ opacity:1; pointer-events:all; }
.mob-drawer-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:1.25rem 1.25rem 1rem;
  border-bottom:1px solid var(--soho-hairline,#ddd8cc);
}
.mob-drawer-logo{
  font-family:var(--font-display,'Anton'),sans-serif;
  font-size:1.4rem; letter-spacing:.04em; text-transform:uppercase;
  color:var(--soho-asphalt,#1a1a1a);
}
.mob-drawer-close{
  background:none; border:1px solid var(--soho-hairline,#ddd8cc);
  border-radius:50%; width:32px; height:32px;
  display:flex; align-items:center; justify-content:center;
  font-size:.95rem; cursor:pointer;
  color:var(--soho-asphalt,#1a1a1a);
  transition:background .15s;
}
.mob-drawer-close:hover{ background:var(--soho-asphalt,#1a1a1a); color:#fff; }
.mob-drawer-nav{
  display:flex; flex-direction:column;
  padding:.75rem 0;
  flex:1;
}
.mob-drawer-nav a{
  display:flex; align-items:center; justify-content:space-between;
  padding:.9rem 1.35rem;
  font-family:var(--font-body,'Inter'),sans-serif;
  font-size:.88rem; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--soho-asphalt,#1a1a1a);
  text-decoration:none;
  border-bottom:1px solid var(--soho-hairline,#ddd8cc);
  transition:background .12s, color .12s;
}
.mob-drawer-nav a:hover,
.mob-drawer-nav a.active{
  background:var(--soho-asphalt,#1a1a1a); color:#F4F1EC;
}
.mob-drawer-nav a.active{ border-left:3px solid var(--soho-hot,#FF2E6F); }
.mob-nav-accent,.mob-nav-login{ color:var(--soho-hot,#FF2E6F) !important; }
.mob-nav-live-dot{
  display:inline-block; width:7px; height:7px; border-radius:50%;
  background:var(--red,#FF3B3B); margin-left:.5rem;
  animation:pulse-badge 1.5s infinite;
}
.mob-drawer-ctas{
  padding:1.1rem 1.25rem 1.5rem;
  display:flex; flex-direction:column; gap:.5rem;
  border-top:2px solid var(--soho-asphalt,#1a1a1a);
}
.mob-drawer-cta{
  display:block; text-align:center; padding:.75rem 1rem;
  border-radius:6px; font-weight:800; font-size:.82rem;
  letter-spacing:.1em; text-transform:uppercase;
  text-decoration:none; transition:filter .15s;
}
.mob-drawer-cta:hover{ filter:brightness(1.1); text-decoration:none; }
.mob-cta-primary{ background:linear-gradient(135deg,#b8860b,#d4a017,#c9960c); color:#000; }
.mob-cta-text{ background:#1a8a1a; color:#fff; }
.mob-cta-ig{ background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045); color:#fff; }
.mob-cta-yt{ background:#ff0000; color:#fff; }

@media(max-width:900px){ .mob-burger{ display:flex; } }
@media(max-width:900px){ #desktopNavLinks{ display:none !important; } }

/* ── 5. Scroll fade-in animations ── */
.mk-fade{
  opacity:0; transform:translateY(18px);
  transition:opacity .45s ease, transform .45s ease;
}
.mk-fade.mk-visible{ opacity:1; transform:none; }
@media(prefers-reduced-motion:reduce){ .mk-fade{ opacity:1; transform:none; transition:none; } }

/* ── 6. Card 2-column grid on mobile ── */
@media(max-width:600px){
  .deal-grid{ grid-template-columns:1fr 1fr !important; gap:.75rem !important; }
  .deal-card{ padding:.85rem !important; }
  .deal-price{ font-size:1.4rem !important; }
  .deal-name{ font-size:.8rem !important; }
  .deal-img{ max-height:140px !important; }
  .card-grid{ grid-template-columns:1fr 1fr !important; gap:.75rem; }
}

/* ── 7. Card glow border on hover ── */
.deal-card:hover,
.break-card:hover{
  box-shadow:0 0 0 2px var(--soho-hot,#FF2E6F), 0 8px 24px rgba(0,0,0,.15) !important;
}

/* ── 8. Button active/tap scale ── */
.btn:active,
.btn-buy-now:active,
.btn-cta-primary:active,
.mob-drawer-cta:active{
  transform:scale(0.97) !important;
  filter:brightness(.95);
}

/* ── 9. Arrow on primary CTAs ── */
.btn-gold:not(.btn-sm)::after{ content:" →"; }
.btn-gold.no-arrow::after{ content:""; }

/* ── 10. Sold-out button — red tint instead of grey outline ── */
button[disabled].btn,
.btn[disabled],
button.btn-outline[disabled]{
  background:rgba(220,38,38,.08) !important;
  border-color:rgba(220,38,38,.3) !important;
  color:#dc2626 !important;
  opacity:1 !important;
  cursor:not-allowed !important;
}

/* ── 11. Section heading left-border accent ── */
.section-title{
  padding-left:.75rem;
  border-left:3px solid var(--soho-hot,#FF2E6F);
}
.soho-display{ letter-spacing:-.015em; }

/* ── 12. Tighter letter-spacing on big headings ── */
h1.soho-display{ letter-spacing:-.02em; line-height:.92; }

/* ── 13. Spot tiles — bigger touch targets on mobile ── */
@media(max-width:600px){
  .spot-grid{ grid-template-columns:repeat(auto-fill,minmax(80px,1fr)) !important; gap:.6rem !important; }
  .spot-tile{ padding:1rem .5rem !important; min-height:72px; }
  .spot-tile .spot-num{ font-size:1.5rem !important; }
  .spot-tile .spot-status-label{ font-size:.72rem !important; }
  .spot-tile .spot-owner{ font-size:.76rem !important; }
}

/* ── 14. Sticky buy-spot button on break detail mobile ── */
/* ── Break detail member gate ── */
.bd-member-gate {
  background: rgba(255,210,63,.07); border: 1.5px solid rgba(255,210,63,.25);
  border-radius: 14px; padding: 1.25rem 1.5rem; margin: .5rem 0 1rem;
}
.bd-mg-badge {
  font-size: .72rem; font-weight: 800; letter-spacing: .12em;
  text-transform: uppercase; color: #FFD23F; margin-bottom: .45rem;
}
.bd-mg-msg {
  color: #CBD5E1; font-size: .92rem; line-height: 1.5; margin: 0 0 1rem;
}
.bd-mg-btns {
  display: flex; gap: .75rem; flex-wrap: wrap;
}

.bd-sticky-buy{
  position:fixed; left:0; right:0; bottom:0; z-index:60;
  display:none;
  padding:.7rem 1rem;
  background:rgba(244,241,236,.97); backdrop-filter:blur(10px);
  border-top:2px solid var(--soho-asphalt,#1a1a1a);
  align-items:center; gap:.75rem;
}
.bd-sticky-buy .bd-sticky-price{
  font-weight:900; font-size:1.05rem;
  color:var(--soho-asphalt,#1a1a1a); white-space:nowrap;
}
.bd-sticky-buy .bd-sticky-btn{
  flex:1; padding:.75rem 1rem;
  background:var(--soho-asphalt,#1a1a1a); color:var(--soho-paper,#F4F1EC);
  border:none; border-radius:6px; font-weight:800; font-size:.95rem;
  cursor:pointer; letter-spacing:.04em; text-transform:uppercase;
  transition:background .15s;
}
.bd-sticky-buy .bd-sticky-btn:hover{ background:var(--soho-hot,#FF2E6F); }
@media(max-width:768px){
  .bd-sticky-buy{ display:flex; }
  body.has-bd-sticky{ padding-bottom:68px; }
}

/* ── 15. Break detail — full-bleed hero image on mobile ── */
@media(max-width:640px){
  .bd-hero-img, .bd-hero-placeholder{
    width:calc(100% + 2 * 1.75rem) !important;
    margin-left:-1.75rem !important;
    border-radius:0 !important;
    max-height:260px !important;
    object-fit:cover !important;
  }
}

/* ── 16. Break card spots-remaining progress bar ── */
.break-card-spotbar{
  height:4px; background:rgba(26,26,26,.12); border-radius:99px;
  overflow:hidden; margin-bottom:.35rem;
}
.break-card-spotbar-fill{
  height:100%; background:var(--soho-hot,#FF2E6F);
  border-radius:99px; transition:width .4s ease;
}
.break-card-urgent{ color:var(--soho-hot,#FF2E6F); font-weight:700; font-size:.75rem; }

/* ── 17. Break card — price badge pill ── */
.break-card-price{
  font-size:1.25rem !important; font-weight:900 !important;
  color:var(--soho-asphalt,#1a1a1a) !important;
}
.break-card-price span{ font-size:.75rem; font-weight:600; color:#7c7560; }

/* ── 18. Desktop nav dropdowns ── */
.nav-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.nav-dropdown-trigger {
  display: inline-flex; align-items: center; gap: .25rem;
  cursor: pointer;
}
.nav-dd-caret {
  font-size: .55rem;
  opacity: .55;
  transition: transform .18s;
  line-height: 1;
}
.nav-dropdown:hover .nav-dd-caret { transform: rotate(180deg); opacity: 1; }
.nav-dropdown-menu {
  display: none;
  position: absolute;
  top: calc(100% + .6rem);
  left: 50%;
  transform: translateX(-50%);
  background: var(--soho-paper, #F4F1EC);
  border: 1px solid var(--soho-hairline, #ddd8cc);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  min-width: 200px;
  flex-direction: column;
  z-index: 200;
  overflow: hidden;
}
.nav-dropdown:hover .nav-dropdown-menu { display: flex; }
.nav-dropdown-menu a {
  display: block;
  padding: .7rem 1.1rem;
  font-family: var(--font-body,'Inter'), sans-serif;
  font-weight: 600;
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--soho-asphalt, #1a1a1a);
  text-decoration: none;
  border-bottom: 1px solid var(--soho-hairline, #ddd8cc);
  white-space: nowrap;
  transition: background .12s, color .12s;
}
.nav-dropdown-menu a:last-child { border-bottom: none; }
.nav-dropdown-menu a:hover { background: var(--soho-asphalt,#1a1a1a); color: #F4F1EC; }

/* Live dot for Live Breaks dropdown trigger */
.nav-live-dot {
  display: inline-block; width: 6px; height: 6px; border-radius: 50%;
  background: var(--red, #FF3B3B); margin-left: 3px;
  vertical-align: middle;
  animation: pulse-badge 1.5s infinite;
}

/* ── 18b. Mobile drawer accordion sections ── */
.mob-nav-section-toggle {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%;
  padding: .9rem 1.35rem;
  font-family: var(--font-body,'Inter'), sans-serif;
  font-size: .88rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--soho-asphalt, #1a1a1a);
  background: none; border: none;
  border-bottom: 1px solid var(--soho-hairline, #ddd8cc);
  cursor: pointer;
  text-align: left;
  transition: background .12s, color .12s;
}
.mob-nav-section-toggle:hover,
.mob-nav-section-toggle.active {
  background: var(--soho-asphalt, #1a1a1a); color: #F4F1EC;
}
.mob-nav-section-toggle.active { border-left: 3px solid var(--soho-hot, #FF2E6F); }
.mob-nav-chevron {
  font-size: 1.1rem; line-height: 1;
  transition: transform .2s;
  flex-shrink: 0;
}
.mob-nav-section-toggle[aria-expanded="true"] .mob-nav-chevron { transform: rotate(90deg); }
.mob-nav-sub {
  display: none; flex-direction: column;
  background: var(--soho-hairline, #eee8dc);
}
.mob-nav-sub a {
  display: flex; align-items: center;
  padding: .75rem 1.35rem .75rem 2rem;
  font-family: var(--font-body,'Inter'), sans-serif;
  font-size: .8rem; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--soho-asphalt, #1a1a1a);
  text-decoration: none;
  border-bottom: 1px solid var(--soho-hairline, #ddd8cc);
  transition: background .12s, color .12s;
}
.mob-nav-sub a::before { content: "↳"; margin-right: .45rem; opacity: .4; font-size: .7rem; }
.mob-nav-sub a:hover, .mob-nav-sub a.active {
  background: var(--soho-asphalt, #1a1a1a); color: #F4F1EC;
}
.mob-nav-sub a.active { border-left: 3px solid var(--soho-hot, #FF2E6F); }

/* ── 19. Animated hero headline entrance ── */
@keyframes mk-slide-up{
  from{ opacity:0; transform:translateY(22px); }
  to{ opacity:1; transform:none; }
}
.soho-display{
  animation:mk-slide-up .55s cubic-bezier(.22,1,.36,1) both;
}
.soho-eyebrow{
  animation:mk-slide-up .4s cubic-bezier(.22,1,.36,1) both;
  animation-delay:.05s;
}
.soho-lede{
  animation:mk-slide-up .5s cubic-bezier(.22,1,.36,1) both;
  animation-delay:.15s;
}
@media(prefers-reduced-motion:reduce){
  .soho-display,.soho-eyebrow,.soho-lede{ animation:none; }
}

/* ── 20. Home hero CTA stacking on mobile ── */
@media(max-width:560px){
  .home-hero-ctas{ flex-direction:column; align-items:stretch; }
  .home-hero-ctas .btn{ width:100%; justify-content:center; }
}

/* ── 21. Pill-style primary CTA on mobile ── */
@media(max-width:600px){
  .btn-lg{ border-radius:99px !important; }
  .btn-gold{ border-radius:99px !important; }
}

/* ── 22. Shorter section rule — left-aligned editorial ── */
.soho-rule{
  border-top:2px solid var(--soho-asphalt,#1a1a1a);
  max-width:80px !important;
  margin:1.1rem 0 1.1rem !important;
}

/* ── 23. Pink underline on all inline links ── */
.soho-lede a, .text-dim a, .bd-howitworks a, .rules-step p a{
  color:var(--soho-hot,#FF2E6F);
  text-decoration:none;
  border-bottom:1px solid rgba(255,46,111,.35);
  transition:border-color .15s;
}
.soho-lede a:hover,.text-dim a:hover,.bd-howitworks a:hover,.rules-step p a:hover{
  border-bottom-color:var(--soho-hot,#FF2E6F);
}

/* ── 24. Hunt stats horizontal scroll strip on mobile ── */
@media(max-width:640px){
  .hunt-stats{
    display:flex !important;
    overflow-x:auto; overflow-y:visible;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    gap:.6rem; padding-bottom:.5rem;
    /* hide scrollbar */
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .hunt-stats::-webkit-scrollbar{ display:none; }
  .hunt-stat{
    scroll-snap-align:start;
    flex:0 0 140px;
    min-width:140px;
  }
}

/* ── 25. Hunt signup form — stacked full-width on mobile ── */
@media(max-width:640px){
  .hunt-signup-form{ flex-direction:column !important; }
  .hunt-signup-form input,
  .hunt-signup-form button{
    width:100% !important; box-sizing:border-box;
  }
  .hunt-signup-form button{
    padding:.85rem 1rem !important;
    font-size:1rem !important;
    border-radius:6px !important;
  }
}

/* ── 26. Rules steps — slight tilt on alternating cards ── */
@media(prefers-reduced-motion:no-preference){
  .rules-step:nth-child(odd){  transform:rotate(-0.4deg); }
  .rules-step:nth-child(even){ transform:rotate(0.4deg);  }
  .rules-step:hover{ transform:rotate(0) translateY(-2px) !important; }
}

/* ── 27. Card border radius boost ── */
.deal-card, .break-card, .card, .rules-step{
  border-radius:14px !important;
}

/* ── 28. How-it-works step cards — stack vertically on mobile ── */
@media(max-width:560px){
  .home-howto-row{ flex-direction:column; align-items:center; }
  .home-howto-arrow{ transform:rotate(90deg); }
}

/* ── 29. Sticky bottom nav tab bar — taller touch targets ── */
.nyc-sticky-bar{
  min-height:68px !important;
}
.nyc-sticky-btn{
  font-size:1.55rem !important;
  min-height:68px;
  gap:.25rem;
}
.nyc-sticky-label{
  font-size:.62rem !important;
  letter-spacing:.14em;
}

/* ── 30. Break card — 1-column on very small screens (keeps legible) ── */
@media(max-width:380px){
  .break-card-grid{ grid-template-columns:1fr !important; }
}

/* ── 31. Section title — remove left padding when inside a flex header ── */
.section-header .section-title{ border-left:none; padding-left:0; }
.section-header{ border-left:3px solid var(--soho-hot,#FF2E6F); padding-left:.75rem; }

/* ── 32. Background subtle grid on paper sections ── */
.soho-hero{
  background-image:
    linear-gradient(rgba(26,26,26,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(26,26,26,.03) 1px, transparent 1px);
  background-size:32px 32px;
}

/* ── 33. Card shimmer loading state ── */
@keyframes mk-shimmer{
  0%{ background-position:200% center; }
  100%{ background-position:-200% center; }
}
.card-img-placeholder{
  background:linear-gradient(90deg, #ede9e1 25%, #f5f2ec 50%, #ede9e1 75%) !important;
  background-size:200% auto !important;
  animation:mk-shimmer 1.8s linear infinite !important;
}

/* ── 34. Countdown block — larger and bolder ── */
.countdown-display{ font-size:2rem !important; }
@media(max-width:600px){ .countdown-display{ font-size:1.6rem !important; } }

/* ── 35. Break detail top grid — stack on mobile ── */
@media(max-width:640px){
  .bd-top-grid{ grid-template-columns:1fr !important; gap:1.25rem !important; }
}

/* ── 36. bd-price — bigger on mobile ── */
.bd-price{
  font-size:2.2rem !important; font-weight:900 !important;
  color:var(--soho-asphalt,#1a1a1a) !important;
  margin:1rem 0 .75rem !important;
}
.bd-price-sub{ font-size:.8rem !important; font-weight:600; color:#7c7560 !important; }

/* ── 37. Spot pill — more visible ── */
.spot-bar{ gap:.4rem; margin-bottom:1rem; }
.spot-pill{ font-size:.8rem !important; padding:.3rem .75rem !important; border-radius:99px; }

/* ── 38. Transparent ghost buttons — clear pink border ── */
.btn-outline{
  border-color:rgba(255,46,111,.5) !important;
  color:var(--soho-hot,#FF2E6F) !important;
}
.btn-outline:hover{
  background:var(--soho-hot,#FF2E6F) !important;
  color:#fff !important;
  border-color:var(--soho-hot,#FF2E6F) !important;
}

/* ── 39. "LIVE NOW" pulsing pill animation on break card ── */
.status-live{
  animation:low-stock-pulse-v2 2s ease-in-out infinite !important;
}

/* ── 40. Social contact buttons — full width stack on very small screens ── */
@media(max-width:480px){
  .nyc-social-contact{ flex-direction:column; }
  .nyc-social-btn{ min-width:unset; }
}

/* ── 41. Footer — responsive text size ── */
@media(max-width:480px){
  .soho-footer-cols{ grid-template-columns:1fr 1fr; gap:1.5rem; }
  .soho-footer-base{ font-size:.6rem; }
}

/* ── 42. Signup section — bolder heading on mobile ── */
@media(max-width:560px){
  .signup-heading{ font-size:1.35rem !important; }
  .signup-fields{ flex-direction:column; }
  .signup-input,.signup-btn{ width:100% !important; }
}

/* ── 43. Cart badge — visible red dot ── */
.cart-count-badge{
  display:inline-flex !important;
  align-items:center; justify-content:center;
  width:16px; height:16px; border-radius:50%;
  background:var(--soho-hot,#FF2E6F); color:#fff;
  font-size:.62rem; font-weight:900;
  margin-left:.25rem; vertical-align:middle;
}

/* ── 44. Break detail mobile — watch live button full width ── */
@media(max-width:640px){
  .bd-watch-btn{ margin-top:.85rem; border-radius:99px !important; }
}

/* ── 45. Mobile — deal card buy now full width clean ── */
@media(max-width:600px){
  .btn-buy-now{ border-radius:99px !important; font-size:.88rem !important; }
  .deal-view-details{ display:block; text-align:center; margin:.3rem 0 0; }
}

/* ── 46. Nav logo — hide sub-tagline on very small screens ── */
@media(max-width:380px){
  .soho-logo-sub{ display:none; }
}

/* ── 47. Typography — tighter tracking on display headings ── */
.soho-display, .section-title, .breaks-empty-title, .signup-heading{
  letter-spacing:-.02em;
}

/* ── 48. Mobile hero — tighter line height ── */
@media(max-width:560px){
  .soho-hero{ padding:2rem 1.25rem 1.5rem !important; }
  h1.soho-display{ font-size:clamp(2rem,11vw,3.4rem) !important; }
}

/* ── 49. Rules step number — bigger, more visible ── */
.rules-step .step-num{
  width:2.4rem; height:2.4rem;
  font-size:1rem; font-weight:900;
  background:var(--soho-asphalt,#1a1a1a);
  color:var(--soho-paper,#F4F1EC);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:.85rem;
}

/* ── 50. Drawer opens: desktop nav stays hidden ── */
@media(min-width:901px){
  .mob-burger{ display:none !important; }
  .mob-drawer, .mob-drawer-backdrop{ display:none !important; }
}


/* ── Offer social-proof badge (product detail page) ── */
.pdp-offer-signal {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: .6rem 0 .9rem;
}
.pdp-watchers {
  font-size: .82rem;
  color: #888;
  letter-spacing: .01em;
}
.pdp-top-offer {
  font-size: .95rem;
  color: var(--soho-asphalt, #1a1a1a);
}
.pdp-top-offer strong {
  color: var(--hot, #FF2E6F);
}

/* ── 33. Mobile swipe carousel ── */
.swipe-hint {
  display: none;
  font-size: .72rem;
  color: var(--text-muted);
  letter-spacing: .06em;
  text-align: center;
  margin: -.5rem 0 .75rem;
  user-select: none;
}

@media (max-width: 640px) {
  .swipe-hint { display: block; }

  .swipe-carousel {
    overflow: hidden;
  }

  .swipe-carousel .deal-grid,
  .swipe-carousel .break-card-grid,
  .swipe-carousel .card-grid {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    grid-template-columns: unset !important;
    gap: .85rem !important;
    padding-bottom: .5rem !important;
    scrollbar-width: none !important;
  }

  .swipe-carousel .deal-grid::-webkit-scrollbar,
  .swipe-carousel .break-card-grid::-webkit-scrollbar,
  .swipe-carousel .card-grid::-webkit-scrollbar {
    display: none;
  }

  .swipe-carousel .deal-card {
    flex: 0 0 78vw !important;
    max-width: 310px !important;
    scroll-snap-align: start !important;
  }

  .swipe-carousel .deal-card.deal-hidden {
    display: none !important;
    flex: none !important;
  }

  .swipe-carousel .break-card {
    flex: 0 0 80vw !important;
    max-width: 320px !important;
    scroll-snap-align: start !important;
  }

  .swipe-carousel .card {
    flex: 0 0 78vw !important;
    max-width: 300px !important;
    scroll-snap-align: start !important;
  }
}

/* ══════════════════════════════════════════════════════════════
   PILL BUTTON STYLE — Task #117 (kept from Low Battery update)
   SOHO white palette restored · pill shape on all CTAs
   ══════════════════════════════════════════════════════════════ */

/* 1. Pill radius token only — SOHO white palette fully restored */
:root {
  --pill-radius: 9999px;
}

/* 2. Step-number badges — SOHO palette */
.lb-step-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 4px;
  background: var(--soho-asphalt, #1A1A1A);
  color: var(--soho-paper, #F4F1EC);
  font-weight: 900;
  font-size: .88rem;
  letter-spacing: 0;
  margin-bottom: .65rem;
  font-family: var(--font-body, Inter, sans-serif);
  line-height: 1;
}
.lb-step-label {
  font-family: var(--font-body, Inter, sans-serif);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--soho-ash, #8A8A8A);
  margin-bottom: .35rem;
}
.lb-step-section {
  padding-top: 1.25rem;
  border-top: 1px solid var(--soho-hairline, #D8D2C5);
  margin-top: 1rem;
}

/* 3. All CTAs — pill shape only, colours unchanged */
.btn,
.btn-gold,
.btn-lg,
.btn-sm,
.btn-buy-now,
.btn-cta-primary,
.signup-btn,
.dl-submit,
.auth-submit,
form.auth-form button[type="submit"],
.bd-sticky-buy .bd-sticky-btn,
.pdp-mobile-buy,
.pdp-mobile-dm,
.ty-opt-btn {
  border-radius: var(--pill-radius, 9999px) !important;
}

/* ── Pill style end ──────────────────────────────────────────── */

/* ── Raffle home banner ──────────────────────────────────────── */
.rf-home-banner {
  background: var(--soho-asphalt, #1A1A1A);
  padding: .1rem 0;
}
.rf-home-banner-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  flex-wrap: wrap;
}
.rf-home-banner-eyebrow {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--soho-hot, #FF2E6F);
  margin-bottom: .25rem;
}
.rf-home-banner-title {
  font-family: 'Anton', sans-serif;
  font-size: clamp(1.4rem, 4vw, 2rem);
  color: #F4F1EC;
  line-height: 1;
  margin-bottom: .25rem;
}
.rf-home-banner-title span { color: var(--soho-hot, #FF2E6F); }
.rf-home-banner-sub {
  font-size: .78rem;
  color: #888;
  letter-spacing: .04em;
}
.rf-home-banner-cta {
  display: inline-block;
  background: var(--soho-hot, #FF2E6F);
  color: #fff !important;
  font-family: 'Archivo Black', sans-serif;
  font-size: .88rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: .75rem 1.75rem;
  border-radius: 9999px;
  text-decoration: none !important;
  white-space: nowrap;
  transition: opacity .15s;
  flex-shrink: 0;
}
.rf-home-banner-cta:hover { opacity: .85; }
@media (max-width: 480px) {
  .rf-home-banner-inner { flex-direction: column; align-items: flex-start; }
  .rf-home-banner-cta { width: 100%; text-align: center; }
}
/* ── Raffle home banner end ──────────────────────────────────── */

/* ── Season Drop Giveaway ──────────────────────────────────────── */

/* Home banner */
.sd-home-banner {
  background: #1A1A1A;
  border-top: 3px solid #FF2E6F;
  border-bottom: 1px solid #2A2A2A;
  padding: 1.1rem 1.5rem;
}
.sd-home-banner-inner {
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.sd-home-banner-eyebrow {
  font-size: .68rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #FF2E6F;
  font-weight: 700;
  margin-bottom: .2rem;
}
.sd-home-banner-title {
  font-family: var(--font-display, 'Anton', Impact, sans-serif);
  font-size: 1.5rem;
  font-weight: 900;
  color: #fff;
  text-transform: uppercase;
  line-height: 1;
  margin-bottom: .2rem;
}
.sd-home-banner-title span { color: #FFD700; }
.sd-home-banner-sub {
  font-size: .78rem;
  color: #888;
}
.sd-home-banner-sub a { color: #FF2E6F; }
.sd-home-banner-ctas {
  display: flex;
  gap: .5rem;
  align-items: center;
  flex-shrink: 0;
}
.sd-home-banner-cta-main {
  display: inline-block;
  background: #FF2E6F;
  color: #fff;
  font-family: var(--font-display, 'Anton', Impact, sans-serif);
  font-size: .9rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: .6rem 1.3rem;
  border-radius: 9999px;
  text-decoration: none;
  white-space: nowrap;
  transition: background .15s;
}
.sd-home-banner-cta-main:hover { background: #e0185a; }
.sd-home-banner-cta-free {
  display: inline-block;
  border: 1.5px solid #444;
  color: #ccc;
  font-size: .8rem;
  font-weight: 700;
  padding: .55rem 1rem;
  border-radius: 9999px;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color .15s, color .15s;
}
.sd-home-banner-cta-free:hover { border-color: #FF2E6F; color: #FF2E6F; }

/* Page layout */
.sd-page {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 1.25rem 5rem;
}

/* Success flash */
/* Coming-soon urgency banner */
.sd-coming-banner {
  display: flex; align-items: center; gap: .75rem; flex-wrap: wrap;
  background: rgba(255,210,63,.08); border: 1px solid rgba(255,210,63,.3);
  border-radius: 12px; padding: .85rem 1.25rem; margin: 1.25rem 0;
  font-size: .9rem; color: rgba(248,250,252,.85); line-height: 1.45;
}
.sd-cb-pulse {
  flex-shrink: 0; width: 9px; height: 9px; border-radius: 50%;
  background: #FFD23F; animation: sdCbPulse 2s ease-in-out infinite;
}
@keyframes sdCbPulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.3;transform:scale(.8)} }
.sd-cb-text { flex: 1; min-width: 0; }
.sd-cb-btn {
  flex-shrink: 0; background: #FFD23F; color: #1a1200;
  font-weight: 800; font-size: .82rem; letter-spacing: .04em;
  border-radius: 100px; padding: .4rem 1rem; text-decoration: none;
  white-space: nowrap; transition: opacity .2s;
}
.sd-cb-btn:hover { opacity: .85; }

.sd-success-banner {
  background: rgba(34,197,94,.09);
  border: 1.5px solid rgba(34,197,94,.3);
  border-radius: 10px;
  padding: .9rem 1.25rem;
  margin: 1.5rem 0;
  font-size: .95rem;
  color: #1a7a3a;
  text-align: center;
}

/* Hero */
.sd-eyebrow {
  font-size: .7rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: #FF2E6F;
  font-weight: 700;
  margin-bottom: .5rem;
}
.sd-hero {
  text-align: center;
  padding: 3rem 0 2.5rem;
  border-bottom: 1px solid #E8E4DC;
  margin-bottom: 2.5rem;
}
.sd-headline {
  font-family: var(--font-display, 'Anton', Impact, sans-serif);
  font-size: clamp(2.8rem, 9vw, 5.5rem);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -.02em;
  line-height: .9;
  color: #111;
  margin-bottom: 1rem;
}
.sd-hot { color: #FF2E6F; }
.sd-prize-badge {
  display: inline-block;
  background: #111;
  color: #FFD700;
  font-family: var(--font-display, 'Anton', sans-serif);
  font-size: .95rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: .55rem 1.4rem;
  border-radius: 9999px;
  margin-bottom: 1.75rem;
}

/* Countdown */
.sd-countdown {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .25rem;
  margin-bottom: 1.5rem;
}
.sd-cd-block { text-align: center; min-width: 60px; }
.sd-cd-num {
  font-family: var(--font-display, 'Anton', Impact, sans-serif);
  font-size: 3rem;
  font-weight: 900;
  color: #111;
  line-height: 1;
  display: block;
}
.sd-cd-label {
  font-size: .6rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #aaa;
  margin-top: .15rem;
}
.sd-cd-sep {
  font-family: var(--font-display, 'Anton', sans-serif);
  font-size: 2.5rem;
  color: #FF2E6F;
  line-height: 1;
  margin-bottom: .5rem;
}

/* Stats bar */
.sd-stats {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  flex-wrap: wrap;
  font-size: .85rem;
  color: #666;
  margin-bottom: 1rem;
}
.sd-stat-sep { color: #ccc; }
.sd-my-entries { color: #FF2E6F; font-weight: 700; }
.sd-free-notice {
  font-size: .78rem;
  color: #aaa;
}
.sd-free-notice a { color: #FF2E6F; }

/* Product section */
.sd-product-section { margin-bottom: 3rem; }
.sd-section-label {
  font-size: .68rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: #aaa;
  font-weight: 700;
  margin-bottom: .4rem;
}
.sd-section-title {
  font-family: var(--font-display, 'Anton', Impact, sans-serif);
  font-size: clamp(2rem, 6vw, 3.2rem);
  font-weight: 900;
  text-transform: uppercase;
  color: #111;
  letter-spacing: -.01em;
  margin-bottom: .5rem;
}
.sd-section-sub {
  font-size: .95rem;
  color: #555;
  margin-bottom: 1.75rem;
  line-height: 1.5;
}

/* Pack card */
.sd-pack-card {
  background: #fff;
  border: 1.5px solid #E8E4DC;
  border-radius: 16px;
  padding: 1.75rem;
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 2rem;
  margin-bottom: 1.25rem;
  box-shadow: 0 2px 12px rgba(0,0,0,.04);
}
@media (max-width: 640px) {
  .sd-pack-card { grid-template-columns: 1fr; }
}
.sd-pack-icon { font-size: 3rem; margin-bottom: .5rem; }
.sd-pack-name {
  font-family: var(--font-display, 'Anton', sans-serif);
  font-size: 1.5rem;
  font-weight: 900;
  text-transform: uppercase;
  color: #111;
  margin-bottom: .25rem;
}
.sd-pack-price {
  font-size: 2rem;
  font-weight: 900;
  color: #FF2E6F;
  margin-bottom: .75rem;
  font-family: var(--font-display, 'Anton', sans-serif);
}
.sd-pack-per { font-size: 1rem; color: #aaa; font-weight: 400; }
.sd-pack-includes { list-style: none; padding: 0; }
.sd-pack-includes li {
  font-size: .88rem;
  color: #555;
  padding: .25rem 0;
  border-bottom: 1px solid #f0ece4;
}

/* Buy form */
.sd-buy-form {}
.sd-field-row { margin-bottom: .75rem; }
.sd-label {
  display: block;
  font-size: .7rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  font-weight: 700;
  color: #666;
  margin-bottom: .3rem;
}
.sd-input {
  width: 100%;
  border: 1.5px solid #E0DDD6;
  border-radius: 9px;
  padding: .6rem .85rem;
  font-size: .95rem;
  background: #FAFAF8;
  color: #111;
  outline: none;
  font-family: inherit;
  transition: border-color .15s;
}
.sd-input:focus { border-color: #FF2E6F; background: #fff; }
.sd-qty-label {
  font-size: .7rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  font-weight: 700;
  color: #666;
  margin-bottom: .5rem;
}
.sd-bundle-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .5rem;
  margin-bottom: 1rem;
}
.sd-bundle-btn {
  background: #F4F1EC;
  border: 1.5px solid #E0DDD6;
  border-radius: 10px;
  padding: .65rem .75rem;
  cursor: pointer;
  text-align: left;
  transition: border-color .15s, background .15s;
  display: flex;
  flex-direction: column;
  gap: .1rem;
}
.sd-bundle-btn:hover { border-color: #FF2E6F; background: #fff; }
.sd-bundle-active {
  border-color: #FF2E6F !important;
  background: rgba(255,46,111,.06) !important;
}
.sd-bundle-qty { font-size: .8rem; font-weight: 700; color: #111; }
.sd-bundle-price { font-size: .9rem; font-weight: 900; color: #FF2E6F; }
.sd-bundle-entries { font-size: .7rem; color: #888; }
.sd-checkout-btn {
  width: 100%;
  background: #FF2E6F;
  color: #fff;
  border: none;
  border-radius: 9999px;
  padding: .85rem 1.5rem;
  font-family: var(--font-display, 'Anton', sans-serif);
  font-size: 1.05rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  cursor: pointer;
  margin-bottom: .5rem;
  transition: background .15s, transform .1s;
}
.sd-checkout-btn:hover { background: #e0185a; }
.sd-checkout-btn:active { transform: scale(.98); }
.sd-checkout-btn:disabled { opacity: .6; cursor: default; }
.sd-checkout-note { font-size: .8rem; color: #888; min-height: 1.2rem; margin-bottom: .25rem; }
.sd-checkout-legal { font-size: .72rem; color: #bbb; }
.sd-checkout-legal a { color: #aaa; }

/* Free entry card */
.sd-free-entry-card {
  background: #F9F7F4;
  border: 1.5px dashed #D8D4CC;
  border-radius: 14px;
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.sd-fe-badge {
  display: inline-block;
  background: #111;
  color: #E8FF52;
  font-size: .65rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 800;
  padding: .2rem .65rem;
  border-radius: 9999px;
  margin-bottom: .35rem;
}
.sd-fe-title {
  font-family: var(--font-display, 'Anton', sans-serif);
  font-size: 1.25rem;
  font-weight: 900;
  text-transform: uppercase;
  color: #111;
  margin-bottom: .3rem;
}
.sd-fe-desc { font-size: .85rem; color: #666; line-height: 1.4; }
.sd-fe-btn {
  display: inline-block;
  background: #111;
  color: #fff;
  font-family: var(--font-display, 'Anton', sans-serif);
  font-size: .9rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: .65rem 1.4rem;
  border-radius: 9999px;
  text-decoration: none;
  white-space: nowrap;
  transition: background .15s;
  flex-shrink: 0;
}
.sd-fe-btn:hover { background: #333; }

/* Feed */
.sd-feed-section { margin-bottom: 2.5rem; }
.sd-feed {}
.sd-feed-row {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .55rem 0;
  border-bottom: 1px solid #F0EDE8;
  font-size: .85rem;
}
.sd-feed-source {
  font-size: .65rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
  padding: .18rem .55rem;
  border-radius: 99px;
  background: #F0EDE8;
  color: #888;
  flex-shrink: 0;
}
.sd-source-mystery_pack { background: rgba(255,46,111,.1); color: #FF2E6F; }
.sd-source-free_entry { background: rgba(232,255,82,.15); color: #666; }
.sd-feed-email { flex: 1; color: #555; }
.sd-feed-amt { font-weight: 800; color: #FF2E6F; flex-shrink: 0; }

/* How it works */
.sd-how-section { margin-bottom: 3rem; }
.sd-steps { display: flex; flex-direction: column; gap: 1rem; margin-top: 1rem; }
.sd-step {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  padding: 1rem 1.25rem;
  background: #F9F7F4;
  border-radius: 12px;
  border: 1px solid #EDE9E0;
}
.sd-step-num {
  width: 36px;
  height: 36px;
  background: #FF2E6F;
  color: #fff;
  font-family: var(--font-display, 'Anton', sans-serif);
  font-size: 1.1rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.sd-step-text { font-size: .9rem; color: #444; line-height: 1.55; }
.sd-step-text strong { color: #111; }
.sd-step-text a { color: #FF2E6F; }

@media (max-width: 520px) {
  .sd-home-banner-inner { flex-direction: column; align-items: flex-start; }
  .sd-home-banner-ctas { flex-direction: row; width: 100%; }
  .sd-home-banner-cta-main { flex: 1; text-align: center; }
}
/* ── Season Drop end ──────────────────────────────────────────── */

/* ── Low Battery underline inputs ────────────────────────────── */
/* Wrap a form with .lb-underline to get bottom-border-only inputs */
.lb-underline .dl-field input[type=text],
.lb-underline .dl-field input[type=tel],
.lb-underline .dl-field input[type=email] {
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(216,210,197,0.35);
  border-radius: 0;
  padding: .65rem 0;
  color: #F4F1EC;
  box-shadow: none;
}
.lb-underline .dl-field input[type=text]:focus,
.lb-underline .dl-field input[type=tel]:focus,
.lb-underline .dl-field input[type=email]:focus {
  outline: none;
  border-bottom-color: #E8FF52;
  box-shadow: none;
}
.lb-underline .dl-field input::placeholder {
  color: rgba(244,241,236,0.38);
}
/* ── Low Battery underline inputs end ────────────────────────── */

/* ── Low Battery open-canvas cards (Task #121) ───────────────── */
/* Neon-green brand accent used throughout Low Battery palette   */
:root { --lb-neon: #E8FF52; }

/* Remove default borders — cards float on the black canvas.
   Hover glow/border stays intact from existing rules.           */
.deal-card,
.break-card,
.card {
  border-color: transparent !important;
  /* Subtle inset highlight + soft drop-shadow so borderless cards
     still read as distinct tiles against --bg (#05070D).
     Does not override hover box-shadow (hover rules use !important
     or higher specificity and fire after this baseline).         */
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 4px 16px rgba(0,0,0,.40);
  /* Smooth fade for the neon-green hover glow + border so it eases
     in/out instead of snapping. Transform stays on existing rules. */
  transition:
    box-shadow 220ms ease,
    border-color 220ms ease,
    transform 200ms ease;
}
@media (prefers-reduced-motion: reduce) {
  .deal-card,
  .break-card,
  .card { transition: none; }
}

/* Restore featured card gold ambient glow (merged with inner-glow baseline) */
.deal-card-featured {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 0 0 1px rgba(255,210,63,.22),
    0 4px 16px rgba(0,0,0,.40),
    0 0 22px rgba(255,210,63,.16);
}

/* Live break cards — gentle 3s pulsing gold halo so they read as
   "happening now" without a hard border. Pauses on hover so the
   green hover-glow takes over cleanly. Respects reduced-motion. */
.break-card-live {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 0 0 1px rgba(255,210,63,.28),
    0 4px 16px rgba(0,0,0,.40),
    0 0 22px rgba(255,210,63,.18);
  animation: breakLivePulse 3s ease-in-out infinite;
}
.break-card-live:hover { animation: none; }
@keyframes breakLivePulse {
  0%, 100% {
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.18),
      inset 0 0 0 1px rgba(255,210,63,.28),
      0 4px 16px rgba(0,0,0,.40),
      0 0 18px rgba(255,210,63,.14);
  }
  50% {
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.22),
      inset 0 0 0 1px rgba(255,210,63,.45),
      0 4px 16px rgba(0,0,0,.40),
      0 0 32px rgba(255,210,63,.30);
  }
}
@media (prefers-reduced-motion: reduce) {
  .break-card-live { animation: none; }
}

/* Slightly more breathing room inside each card */
.deal-card {
  padding: 1.5rem !important;
}
.break-card-body {
  padding: 1.25rem 1.25rem 1.25rem !important;
}
.card-body {
  padding: 1.25rem !important;
}

/* Wider gap between cards in every grid */
.deal-grid,
.card-grid,
.break-card-grid {
  gap: 1.75rem !important;
}

/* Mobile: keep spacing tight so cards don't feel too sparse on small screens */
@media(max-width: 600px) {
  .deal-grid,
  .card-grid,
  .break-card-grid {
    gap: 1rem !important;
  }
  .deal-card {
    padding: 1.1rem !important;
  }
  .break-card-body,
  .card-body {
    padding: 1rem !important;
  }
}

/* Neon-green hover glow — aligns cards with the Low Battery accent */
.deal-card:hover,
.break-card:hover,
.card:hover,
.deal-card:focus-visible,
.break-card:focus-visible,
.card:focus-visible {
  border-color: var(--lb-neon) !important;
  box-shadow:
    0 0 0 1px var(--lb-neon),
    0 0 18px rgba(232,255,82,.35),
    0 6px 24px rgba(0,0,0,.45) !important;
}
.deal-card:focus-visible,
.break-card:focus-visible,
.card:focus-visible {
  outline: none;
}
/* ── Low Battery open-canvas cards end ───────────────────────── */

/* ══════════════════════════════════════════════════════════════
   SEASON DROP — BUNDLE BADGES
   ══════════════════════════════════════════════════════════════ */

.sd-bundle-badge {
  display: block;
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  background: var(--pink, #e91e8c);
  color: #fff;
  border-radius: 4px;
  padding: .12rem .45rem;
  margin-bottom: .2rem;
  line-height: 1.5;
  width: fit-content;
}

.sd-bundle-badge-value {
  background: #f59e0b;
  color: #1a0a00;
}

/* ══════════════════════════════════════════════════════════════
   NEON MAKE-AN-OFFER SYSTEM
   ══════════════════════════════════════════════════════════════ */

/* --- Keyframes --- */
@keyframes neon-flicker {
  0%,18%,20%,50%,52%,100% {
    box-shadow:
      0 0 6px rgba(255,215,0,.7),
      0 0 18px rgba(255,215,0,.5),
      0 0 36px rgba(255,215,0,.3),
      inset 0 0 8px rgba(255,215,0,.15);
    border-color: rgba(255,215,0,.9);
    color: #ffd700;
  }
  19%,51% {
    box-shadow: none;
    border-color: rgba(255,215,0,.2);
    color: rgba(255,215,0,.4);
  }
}

@keyframes neon-pulse {
  0%,100% {
    box-shadow:
      0 0 8px rgba(255,215,0,.6),
      0 0 22px rgba(255,215,0,.35),
      0 0 45px rgba(255,215,0,.15);
  }
  50% {
    box-shadow:
      0 0 14px rgba(255,215,0,.95),
      0 0 35px rgba(255,215,0,.6),
      0 0 70px rgba(255,215,0,.25);
  }
}

@keyframes marquee-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@keyframes offer-dot-blink {
  0%,100% { opacity:1; transform:scale(1); }
  50%      { opacity:.4; transform:scale(.7); }
}

/* --- Neon sign banner --- */
.offer-neon-sign {
  margin: 1.2rem 0 1rem;
  border-radius: 10px;
  overflow: hidden;
  border: 1.5px solid rgba(255,215,0,.35);
  background: rgba(10,8,3,.85);
  box-shadow:
    0 0 12px rgba(255,215,0,.2),
    0 0 30px rgba(255,215,0,.08),
    inset 0 0 20px rgba(255,215,0,.05);
  animation: neon-pulse 2.8s ease-in-out infinite;
}

.offer-neon-marquee {
  overflow: hidden;
  white-space: nowrap;
  padding: .55rem 0;
  background: rgba(255,215,0,.06);
  border-bottom: 1px solid rgba(255,215,0,.15);
}

.offer-neon-marquee span {
  display: inline-block;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
  color: #ffd700;
  text-shadow:
    0 0 6px #ffd700,
    0 0 14px rgba(255,215,0,.7);
  animation: marquee-scroll 18s linear infinite;
}

.offer-neon-cta {
  text-align: center;
  font-size: .74rem;
  color: rgba(255,215,0,.65);
  padding: .4rem .75rem;
  letter-spacing: .04em;
}

/* --- Neon offer button on each card --- */
.btn-neon-offer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  width: 100%;
  margin-top: .6rem;
  padding: .62rem .75rem;
  border-radius: 8px;
  border: 1.5px solid rgba(255,215,0,.7);
  background: rgba(255,215,0,.06);
  color: #ffd700;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .07em;
  cursor: pointer;
  transition: background .15s, transform .12s;
  animation: neon-flicker 4.5s ease-in-out infinite;
  text-transform: uppercase;
}

.btn-neon-offer:hover {
  background: rgba(255,215,0,.16);
  transform: translateY(-1px);
  animation-play-state: paused;
  box-shadow:
    0 0 14px rgba(255,215,0,.8),
    0 0 32px rgba(255,215,0,.4);
  border-color: #ffd700;
}

.btn-neon-offer:active {
  transform: translateY(0);
}

.btn-neon-offer-icon {
  font-size: 1rem;
  line-height: 1;
}

.btn-neon-offer-label {
  line-height: 1;
}

/* --- Active offer chip on card (top) --- */
.deal-offer-live-chip {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-size: .74rem;
  font-weight: 700;
  padding: .28rem .7rem;
  border-radius: 99px;
  margin-bottom: .5rem;
  background: rgba(34,197,94,.1);
  border: 1px solid rgba(34,197,94,.4);
  color: #4ade80;
  line-height: 1.4;
  box-shadow: 0 0 8px rgba(34,197,94,.2);
}

.offer-live-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #4ade80;
  box-shadow: 0 0 6px #4ade80;
  animation: offer-dot-blink 1.2s ease-in-out infinite;
  flex-shrink: 0;
}

/* --- Offer modal upgrade --- */
#dealOfferModal .modal {
  border: 1.5px solid rgba(255,215,0,.3);
  box-shadow:
    0 0 30px rgba(255,215,0,.15),
    0 0 60px rgba(0,0,0,.6);
}

#dealOfferModal h2 {
  font-size: 1.35rem;
  letter-spacing: .03em;
  text-shadow: 0 0 12px rgba(255,215,0,.4);
}

/* prefers-reduced-motion: cut all animations to simple fades */
@media (prefers-reduced-motion: reduce) {
  .btn-neon-offer { animation: none; }
  .offer-neon-sign { animation: none; }
  .offer-neon-marquee span { animation: none; }
  .offer-live-dot { animation: none; }
}

/* Daily Free Raffle Ticket Card (account dashboard) */
.daily-ticket-card{
  display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:space-between;
  margin:14px 0 18px; padding:18px 22px; border-radius:16px;
  background:linear-gradient(135deg,#1a0f2e 0%,#2d1547 50%,#3d0a3d 100%);
  border:2px solid rgba(255,215,0,.45);
  box-shadow:0 0 0 1px rgba(255,215,0,.15) inset, 0 8px 28px rgba(168,85,247,.25);
  position:relative; overflow:hidden;
}
.daily-ticket-card::before{
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 20% 30%,rgba(255,215,0,.12),transparent 55%),
             radial-gradient(circle at 85% 75%,rgba(255,20,147,.18),transparent 50%);
  pointer-events:none;
}
.dt-left{ flex:1 1 260px; min-width:240px; position:relative; z-index:1; }
.dt-right{ flex:1 1 280px; text-align:right; position:relative; z-index:1; }
.dt-eyebrow{
  font-size:11px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase;
  color:#ffd700; margin-bottom:6px;
}
.dt-title{ font-size:20px; font-weight:900; color:#fff; line-height:1.2; margin-bottom:6px; }
.dt-sub{ font-size:13px; color:rgba(255,255,255,.85); }
.dt-sub strong{ color:#ffd700; font-size:15px; }
.dt-claim-btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 22px; border-radius:999px; border:0; cursor:pointer;
  background:linear-gradient(135deg,#ffd700 0%,#ff1493 100%);
  color:#1a0f2e; font-weight:900; font-size:15px; letter-spacing:.3px;
  box-shadow:0 6px 20px rgba(255,20,147,.45), 0 0 0 2px rgba(255,215,0,.4) inset;
  animation:dt-pulse 1.6s ease-in-out infinite;
  transition:transform .15s ease;
}
.dt-claim-btn:hover{ transform:translateY(-2px) scale(1.03); }
.dt-claim-btn:disabled{ opacity:.6; cursor:not-allowed; animation:none; }
.dt-claim-icon{ font-size:18px; }
@keyframes dt-pulse{
  0%,100%{ box-shadow:0 6px 20px rgba(255,20,147,.45), 0 0 0 2px rgba(255,215,0,.4) inset; }
  50%   { box-shadow:0 8px 28px rgba(255,20,147,.7),  0 0 0 3px rgba(255,215,0,.7) inset; }
}
.dt-claimed{
  display:inline-block; padding:10px 18px; border-radius:999px;
  background:rgba(34,197,94,.15); border:1.5px solid rgba(34,197,94,.55);
  color:#4ade80; font-weight:800; font-size:14px;
}
.dt-meta{ margin-top:8px; font-size:12px; color:rgba(255,255,255,.7); }
.dt-meta strong{ color:#ffd700; }
.dt-msg{ margin-top:10px; padding:8px 12px; border-radius:8px; font-size:13px; font-weight:600; }
.dt-msg-ok{ background:rgba(34,197,94,.18); border:1px solid rgba(34,197,94,.5); color:#4ade80; }
.dt-msg-info{ background:rgba(255,215,0,.12); border:1px solid rgba(255,215,0,.4); color:#ffd700; }
@media (max-width:560px){
  .daily-ticket-card{ flex-direction:column; align-items:stretch; text-align:center; padding:16px; }
  .dt-right{ text-align:center; }
}

/* ── Rewards Catalog / Redeem Tab ───────────────────────────────────────── */
.acc-tab-redeem{
  background:linear-gradient(135deg,rgba(255,210,63,.15),rgba(255,210,63,.05));
  border:1px solid rgba(255,210,63,.3)!important;
  color:var(--gold)!important;
}
.acc-tab-redeem.active{
  background:linear-gradient(135deg,rgba(255,210,63,.3),rgba(255,210,63,.1))!important;
}
.redeem-section-title{
  font-size:1rem;font-weight:800;color:var(--text);margin:0 0 .35rem;
}
.redeem-section-sub{
  font-size:.82rem;color:var(--text-dim);margin:0 0 1rem;
}
.redeem-catalog-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;
}
.redeem-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);overflow:hidden;
  transition:transform .2s,box-shadow .2s;
}
.redeem-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.redeem-card-img{
  width:100%;height:130px;object-fit:cover;background:var(--surface2);display:block;
}
.redeem-card-img-placeholder{
  width:100%;height:130px;background:var(--surface2);
  display:flex;align-items:center;justify-content:center;font-size:2.5rem;
}
.redeem-card-body{padding:.85rem}
.redeem-card-name{font-size:.92rem;font-weight:700;color:var(--text);margin-bottom:.25rem}
.redeem-card-desc{font-size:.78rem;color:var(--text-dim);margin-bottom:.5rem;line-height:1.4}
.redeem-card-cost{font-size:.95rem;font-weight:800;color:var(--gold);margin-bottom:.35rem}
.redeem-card-stock{font-size:.72rem;color:var(--text-muted);margin-bottom:.5rem}
.btn-redeem-item{
  width:100%;padding:.5rem .75rem;border-radius:7px;font-weight:700;font-size:.8rem;
  border:none;cursor:pointer;
  background:var(--gold);color:#05070D;
  transition:background .2s;
}
.btn-redeem-item:hover:not(:disabled){background:#FFE566}
.btn-redeem-disabled,.btn-redeem-item:disabled{
  background:var(--surface2);color:var(--text-muted);cursor:default;
}
.redeem-msg{
  margin-top:.5rem;padding:.4rem .65rem;border-radius:6px;font-size:.78rem;font-weight:600;
}
.redeem-msg-ok{background:rgba(16,185,129,.15);border:1px solid var(--green);color:#6ee7b7}
.redeem-msg-err{background:rgba(239,68,68,.15);border:1px solid var(--red);color:#fca5a5}

.raffle-redeem-card{
  background:var(--surface);border:1px solid rgba(255,210,63,.3);
  border-radius:var(--radius);padding:1.25rem;
  display:flex;flex-direction:column;gap:1rem;
}
.raffle-prize-label{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.raffle-prize-name{font-size:1.1rem;font-weight:800;color:var(--gold);margin:.2rem 0 .4rem}
.raffle-rate{font-size:.82rem;color:var(--text-dim)}
.raffle-ticket-input{
  width:80px;padding:.5rem .75rem;border-radius:7px;
  background:var(--surface2);border:1.5px solid var(--border);
  color:var(--text);font-size:.9rem;outline:none;text-align:center;
}
.raffle-ticket-input:focus{border-color:var(--gold)}
.btn-raffle-enter{
  padding:.5rem 1.1rem;border-radius:7px;font-weight:700;font-size:.85rem;
  background:var(--gold);color:#05070D;border:none;cursor:pointer;
  transition:background .2s;white-space:nowrap;
}
.btn-raffle-enter:hover:not(:disabled){background:#FFE566}
/* Raffle draw result rows */
.raffle-result{border-radius:10px;padding:.65rem .9rem;margin-top:.6rem;font-size:.85rem}
.raffle-result-won{background:rgba(255,210,63,.12);border:1px solid rgba(255,210,63,.4);color:var(--gold)}
.raffle-result-lost{background:rgba(30,58,95,.4);border:1px solid var(--border);color:var(--text-dim)}
.raffle-result-winner-name{font-weight:700;color:var(--text)}
.raffle-won-banner{background:linear-gradient(135deg,rgba(255,210,63,.2),rgba(255,153,51,.1));border:2px solid var(--gold);border-radius:12px;padding:.9rem 1rem;margin-top:.75rem;text-align:center}
.raffle-won-banner .raffle-won-trophy{font-size:1.8rem;display:block;margin-bottom:.25rem}
.raffle-won-banner .raffle-won-msg{font-weight:900;font-size:1rem;color:var(--gold)}
.raffle-won-banner .raffle-won-sub{font-size:.8rem;color:var(--text-dim);margin-top:.2rem}
.btn-raffle-enter:disabled{background:var(--surface2);color:var(--text-muted);cursor:default}
.raffle-msg{
  margin-top:.5rem;padding:.4rem .65rem;border-radius:6px;font-size:.82rem;font-weight:600;
}
.raffle-msg-ok{background:rgba(16,185,129,.15);border:1px solid var(--green);color:#6ee7b7}
.raffle-msg-err{background:rgba(239,68,68,.15);border:1px solid var(--red);color:#fca5a5}

/* ═══════════════════════════════════════════════════════════════════════════
   HOMEPAGE v2 — New hero + 9-section layout
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Hero ── */
.home-hero-new {
  padding: 3rem 1.5rem 2rem;
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 2rem;
}
.home-hero-text {
  flex: 1;
  text-align: center;
}
.home-hero-text .home-hero-sub {
  margin-left: auto;
  margin-right: auto;
}
.home-hero-text .home-hero-ctas {
  justify-content: center;
}
.home-hero-pika-col {
  flex-shrink: 0;
  width: 180px;
  align-self: flex-end;
}
.home-hero-pika-img {
  width: 100%;
  display: block;
  filter: drop-shadow(0 0 22px rgba(255, 210, 0, .45));
}
.home-hero-pika-flip {
  transform: scaleX(-1);
}
@media (max-width: 680px) {
  .home-hero-new { flex-wrap: wrap; gap: .5rem; }
  .home-hero-pika-left { order: 1; width: 100px; }
  .home-hero-pika-right { order: 3; width: 100px; }
  .home-hero-text { order: 2; width: 100%; }
}
.home-hero-eyebrow {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: .75rem;
}
.home-hero-h1 {
  font-family: 'Anton', 'Archivo Black', sans-serif;
  font-size: clamp(2.8rem, 7vw, 4.8rem);
  line-height: 1;
  color: var(--text);
  margin: 0 0 .5rem;
  letter-spacing: .03em;
  white-space: nowrap;
}
.home-hero-tagline {
  font-family: 'Anton', 'Archivo Black', sans-serif;
  font-size: clamp(1rem, 2.8vw, 1.45rem);
  line-height: 1.4;
  color: var(--text-dim);
  margin: 0 0 1rem;
  letter-spacing: .01em;
}
.home-hero-tagline-local {
  font-size: clamp(.9rem, 2.2vw, 1.15rem);
  color: var(--soho-hot, #FF2E6F);
  font-weight: 800;
}
.home-hero-h1 .hot { color: var(--soho-hot, #FF2E6F); }
.home-section-title .hot { color: var(--soho-hot, #FF2E6F); }
.home-hero-sub {
  font-size: clamp(.9rem, 2.5vw, 1.08rem);
  color: var(--text-dim);
  line-height: 1.6;
  margin: 0 0 1.5rem;
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
}
.home-hero-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  justify-content: center;
  margin-bottom: 1rem;
}
.home-hero-trust {
  font-size: .78rem;
  color: var(--text-muted);
  margin-bottom: .5rem;
}
.home-updated {
  font-size: .7rem;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .08em;
}

/* ── Shop section header ── */
.home-shop-header {
  text-align: center;
  padding-top: 2rem;
}

/* ── Section dividers ── */
.home-section-divider {
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--border), transparent);
  margin: 2rem 0;
}

/* ── Generic content sections (Hunt, Rips, CB, Mystery, Giveaway) ── */
.home-section {
  padding: 2rem 1.5rem;
}
.home-section-inner {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}
.home-section-eyebrow {
  display: inline-block;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-muted);
  background: var(--surface2);
  border-radius: 20px;
  padding: .25rem .8rem;
  margin-bottom: .75rem;
}
.home-section-title {
  font-family: 'Anton', 'Archivo Black', sans-serif;
  font-size: clamp(1.6rem, 5vw, 2.4rem);
  line-height: 1.1;
  color: var(--text);
  margin: 0 0 .85rem;
}
.home-section-sub {
  font-size: clamp(.88rem, 2.3vw, 1rem);
  color: var(--text-dim);
  line-height: 1.65;
  max-width: 580px;
  margin: 0 auto .5rem;
}
.home-section-legal {
  font-size: .75rem;
  color: var(--text-muted);
  margin: .5rem auto 1rem;
}
.home-section-legal a { color: var(--text-muted); text-decoration: underline; }
.home-section-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  justify-content: center;
  margin-top: 1.25rem;
}

/* ── Mystery Drop Pack section ── */
.home-mystery-perks {
  list-style: none;
  padding: 0;
  margin: 1rem auto .85rem;
  display: flex;
  flex-direction: column;
  gap: .35rem;
  max-width: 480px;
  text-align: left;
}
.home-mystery-perks li {
  font-size: .9rem;
  color: var(--text-dim);
}
.home-mystery-pricing {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  margin: .5rem auto 0;
  max-width: 400px;
  text-align: left;
}
.home-mystery-tier {
  font-size: .92rem;
  color: var(--text-dim);
  display: flex;
  align-items: center;
  gap: .5rem;
}
.home-mystery-tier strong { color: var(--text); }
.home-mystery-popular { color: var(--gold); }
.home-mystery-popular strong { color: var(--gold); }
.home-mystery-value { color: var(--green); }
.home-mystery-value strong { color: var(--green); }
.home-tier-badge {
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
  background: var(--gold);
  color: #05070D;
  padding: .15rem .55rem;
  border-radius: 20px;
}
.home-tier-badge-value {
  background: var(--green);
  color: #05070D;
}

/* ── Giveaway stats ── */
.sd-home-stats {
  display: flex;
  gap: .5rem;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  font-size: .82rem;
  color: var(--text-dim);
  margin: .5rem 0;
}
.sd-home-stats .sd-stat-sep { color: var(--border); }

/* ── NYC Hunt details ── */
.home-hunt-details {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  margin: 1rem auto;
  max-width: 540px;
  text-align: left;
}
.home-hunt-detail {
  font-size: .9rem;
  color: var(--text-dim);
  line-height: 1.55;
  background: var(--surface2);
  border-radius: var(--radius);
  padding: .75rem 1rem;
  border-left: 3px solid var(--gold);
}
.home-hunt-detail strong { color: var(--text); }

/* ── Character Breaks Coming Soon section ── */
.home-section-cb-soon .home-section-inner {
  opacity: .9;
}
.home-section-cb-soon .home-section-eyebrow {
  background: rgba(232,255,82,.08);
  color: #E8FF52;
  border: 1px solid rgba(232,255,82,.2);
}

/* ── Footer legal line ── */
.soho-footer-legal {
  max-width: 860px;
  margin: .75rem auto .25rem;
  padding: .65rem 1.5rem;
  font-size: .72rem;
  color: var(--text-muted);
  text-align: center;
  line-height: 1.5;
  border-top: 1px solid var(--border);
}
.soho-footer-legal a {
  color: var(--text-muted);
  text-decoration: underline;
}

/* ── Responsive ── */
@media (min-width: 640px) {
  .home-mystery-pricing { flex-direction: row; flex-wrap: wrap; gap: .5rem; }
  .home-mystery-tier { font-size: .95rem; }
  .home-hunt-details { flex-direction: row; }
  .home-hunt-detail { flex: 1; }
}

/* ── Deals page: conversion additions (Task #171) ── */
.deals-prize-badge {
  display:inline-block;
  font-size:.72rem;font-weight:800;letter-spacing:.05em;
  background:linear-gradient(135deg,var(--gold),#f57f20);
  color:#05070D;border-radius:4px;
  padding:.15rem .5rem;margin-left:.3rem;
  vertical-align:middle;white-space:nowrap;
}
.deals-trust-bar {
  display:flex;align-items:center;justify-content:center;
  flex-wrap:wrap;gap:.4rem .9rem;
  background:var(--surface);border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:.65rem 1.5rem;font-size:.82rem;color:var(--text-dim);
  text-align:center;
}
.deals-trust-bar strong{color:var(--text)}
.dtb-sep{color:var(--border);font-size:.9rem}
@media(max-width:480px){.dtb-sep{display:none}.deals-trust-bar{gap:.25rem .6rem}}
/* ── Member teaser banner (deals page) ── */
.member-teaser-banner {
  display: flex; gap: 2rem; align-items: center; flex-wrap: wrap;
  background: linear-gradient(135deg, rgba(255,210,63,.07) 0%, rgba(255,30,86,.05) 100%);
  border: 1.5px solid rgba(255,210,63,.25); border-radius: 16px;
  padding: 1.75rem 2rem;
}
.mtb-left { flex: 1; min-width: 240px; }
.mtb-badge {
  font-size: .72rem; font-weight: 800; letter-spacing: .12em;
  text-transform: uppercase; color: #FFD23F; margin-bottom: .5rem;
}
.mtb-title {
  font-family: var(--font-display, Anton, sans-serif);
  font-size: clamp(1.3rem, 4vw, 1.9rem); font-weight: 900;
  text-transform: uppercase; line-height: 1.05; margin: 0 0 .6rem;
  color: var(--text, #F1F5F9);
}
.mtb-highlight { color: #FFD23F; }
.mtb-sub { color: #94A3B8; font-size: .9rem; line-height: 1.55; margin: 0 0 1rem; }
.mtb-perks {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: .35rem;
}
.mtb-perks li { font-size: .88rem; color: #CBD5E1; }
.mtb-right {
  display: flex; flex-direction: column; align-items: center; gap: .75rem;
  flex-shrink: 0; min-width: 190px;
}
.mtb-cta { white-space: nowrap; }
.mtb-login {
  font-size: .85rem; color: #64748B; text-decoration: none;
  text-align: center;
}
.mtb-login:hover { color: #94A3B8; }
@media (max-width: 600px) {
  .member-teaser-banner { flex-direction: column; }
  .mtb-right { width: 100%; }
  .mtb-cta { width: 100%; text-align: center; }
}

.deals-why-block {
  background:var(--surface);border:1px solid var(--border);
  border-radius:16px;padding:2rem;
}
.deals-why-eyebrow {
  font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--gold);margin-bottom:.5rem;
}
.deals-why-title {
  font-size:1.3rem;font-weight:800;color:var(--text);margin-bottom:1.25rem;
}
.deals-why-grid {
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem;
}
.deals-why-item {
  display:flex;gap:.75rem;align-items:flex-start;
}
.deals-why-icon {font-size:1.6rem;flex-shrink:0;margin-top:.1rem}
.deals-why-item strong {
  display:block;color:var(--text);font-size:.92rem;margin-bottom:.2rem;
}
.deals-why-item p {font-size:.82rem;color:var(--text-dim);line-height:1.5;margin:0}

/* ── Deal entry callout (Mystery Drop Packs) ── */
.deal-entry-callout {
  font-size:.78rem;font-weight:600;
  color:#a8edaf;
  background:rgba(16,185,129,.08);
  border:1px solid rgba(16,185,129,.2);
  border-radius:6px;
  padding:.3rem .65rem;
  margin-bottom:.65rem;
  line-height:1.4;
}
.deal-entry-callout strong{color:#6ee7b7}
.deal-entry-link{color:#6ee7b7;text-decoration:underline;font-weight:700}
.deal-entry-link:hover{color:#a7f3d0}

/* ── Pack Upsell Modal ── */
.pu-overlay{}
.pu-modal{max-width:480px;padding:1.5rem}
.pu-eyebrow{
  font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  color:var(--gold);margin-bottom:.3rem;
}
.pu-title{font-size:1.1rem;font-weight:800;color:var(--text);margin-bottom:.75rem}
.pu-prize-banner{
  background:linear-gradient(135deg,rgba(255,210,63,.12),rgba(255,140,0,.08));
  border:1px solid rgba(255,210,63,.3);
  border-radius:8px;padding:.65rem .85rem;
  font-size:.82rem;color:var(--text-dim);line-height:1.5;
  margin-bottom:1.1rem;
}
.pu-prize-banner strong{color:var(--gold)}
.pu-prize-val{
  display:inline-block;font-size:.72rem;font-weight:800;
  background:linear-gradient(135deg,var(--gold),#f57f20);
  color:#05070D;border-radius:4px;padding:.1rem .45rem;margin-left:.25rem;
}
.pu-section-label{
  font-size:.73rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--text-muted);margin-bottom:.5rem;
}
.pu-section-label-extra{margin-top:1rem}
.pu-section-opt{text-transform:none;font-weight:500;letter-spacing:0;color:var(--text-muted)}

.pu-qty-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin-bottom:.1rem;
}
.pu-qty-btn{
  background:var(--surface2);border:1.5px solid var(--border);
  border-radius:8px;padding:.55rem .3rem;
  display:flex;flex-direction:column;align-items:center;gap:.15rem;
  cursor:pointer;transition:all .15s;position:relative;overflow:hidden;
}
.pu-qty-btn:hover{border-color:var(--gold);background:rgba(255,210,63,.07)}
.pu-qty-btn.pu-active{border-color:var(--gold);background:rgba(255,210,63,.12)}
.pu-qty-num{font-size:.82rem;font-weight:800;color:var(--text)}
.pu-qty-sub{font-size:.67rem;color:var(--text-muted)}
.pu-qty-badge{
  position:absolute;top:0;left:50%;transform:translateX(-50%);
  font-size:.58rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  background:var(--gold);color:#05070D;
  border-radius:0 0 4px 4px;padding:.05rem .4rem;
}
.pu-badge-value{background:#ff6b00;color:#fff}

.pu-extra-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem;
}
.pu-extra-btn{
  background:var(--surface2);border:1.5px solid var(--border);
  border-radius:7px;padding:.45rem .5rem;
  font-size:.78rem;font-weight:700;color:var(--text-dim);
  cursor:pointer;transition:all .15s;text-align:center;
}
.pu-extra-btn:hover{border-color:rgba(255,210,63,.4);color:var(--text)}
.pu-extra-btn.pu-active{border-color:var(--gold);background:rgba(255,210,63,.1);color:var(--gold)}
.pu-extra-price{font-size:.72rem;color:var(--text-muted);font-weight:500}
.pu-extra-btn.pu-active .pu-extra-price{color:var(--gold-dim)}

.pu-summary{
  background:var(--surface2);border-radius:8px;
  padding:.75rem 1rem;margin:1rem 0;
}
.pu-summary-row{
  display:flex;justify-content:space-between;align-items:center;
  font-size:.88rem;padding:.2rem 0;
}
.pu-summary-label{color:var(--text-dim)}
.pu-summary-val{font-weight:800;color:var(--text)}
.pu-entries-val{color:#6ee7b7}
.pu-price-val{color:var(--gold);font-size:1.05rem}

.pu-checkout-btn{margin-bottom:.6rem;font-size:.95rem}
.pu-legal{
  font-size:.72rem;color:var(--text-muted);text-align:center;line-height:1.5;
}
.pu-legal a{color:var(--text-muted)}
.pu-legal a:hover{color:var(--gold)}

@media(max-width:480px){
  .pu-qty-grid{grid-template-columns:repeat(2,1fr)}
  .pu-modal{padding:1.25rem}
}

/* ── Deals mobile text-us CTA strip ── */
/* Hidden on desktop; shown on mobile above the sticky icon nav */
.deals-text-cta {
  display:none;
}
@media (max-width:767px) {
  .deals-text-cta {
    display:flex;align-items:center;justify-content:space-between;gap:.5rem;
    position:fixed;bottom:64px;left:0;right:0;z-index:199;
    background:linear-gradient(90deg,#1a0a00,#2a1200);
    border-top:1px solid rgba(255,210,63,.4);
    padding:.55rem 1rem;
    box-shadow:0 -2px 12px rgba(0,0,0,.5);
  }
  /* When text CTA is dismissed (JS sets display:none), suppress the extra padding */
  body:has(.deals-text-cta:not([style*="none"])).has-deals-sticky-stack {
    padding-bottom: calc(64px + 44px);
  }
}
/* Dismissed state applied by JS close button */
.deals-text-cta.dismissed { display:none !important; }
.deals-text-cta-link {
  display:flex;flex-direction:column;gap:.05rem;text-decoration:none;flex:1;min-width:0;
}
.deals-text-cta-link:hover { text-decoration:none; }
.deals-text-cta-msg {
  font-size:.72rem;color:var(--text-dim);font-weight:500;
}
.deals-text-cta-action {
  font-size:.88rem;font-weight:800;color:var(--gold);letter-spacing:.01em;
}
.deals-text-cta-close {
  background:none;border:none;color:var(--text-muted);font-size:1rem;
  cursor:pointer;padding:.25rem .4rem;flex-shrink:0;line-height:1;
}
.deals-text-cta-close:hover { color:var(--text); }
