/* SecurEats v2 - Neon Miami + Or/Blanc glacé */
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;600;700;800;900&family=Rajdhani:wght@400;500;600;700&display=swap');

:root {
  --gold: #d4a437; --gold-light: #f5d98a; --gold-dark: #b8922e;
  --primary: #d4a437; --primary-dark: #b8922e;
  --accent: #d4a437;
  --danger: #ff4444; --success: #4caf50;
  --ice: #ffffff; --ice-muted: #888888;
  --bg: transparent; --bg-card: rgba(10,10,10,0.85); --bg-input: rgba(20,20,20,0.9); --border: rgba(255,255,255,0.08);
  --radius: 16px; --radius-sm: 10px;
  --shadow: 0 4px 24px rgba(0,0,0,0.4);
  --t: 0.25s ease;
}
*{margin:0;padding:0;box-sizing:border-box;}
html,body{font-family:'Rajdhani',sans-serif;background:var(--bg);color:var(--ice);min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;user-select:none;position:relative;}

/* VIDEO BACKGROUND */
.video-bg{position:fixed;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-2;}
.video-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.75);z-index:-1;}

/* SCREENS */
.screen{display:none;flex-direction:column;min-height:100vh;min-height:100dvh;}
.screen.active{display:flex;}

/* WELCOME */
.welcome-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;gap:16px;text-align:center;}
.welcome-logo{width:100px;height:100px;object-fit:contain;filter:drop-shadow(0 0 20px rgba(212,164,55,0.4));}
.welcome-title{font-family:'Orbitron',monospace;font-size:32px;font-weight:800;letter-spacing:3px;background:linear-gradient(135deg,var(--gold),var(--gold-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.welcome-sub{color:var(--ice-muted);font-size:15px;line-height:1.5;max-width:300px;}
.welcome-login{font-size:13px;color:var(--ice-muted);margin-top:8px;}
.welcome-login a{color:var(--gold);text-decoration:none;font-weight:600;}

/* BUTTONS */
.btn-gold-full{width:100%;padding:16px;border-radius:var(--radius-sm);border:none;background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:#0b001a;font-family:'Orbitron',monospace;font-size:13px;font-weight:700;letter-spacing:1px;cursor:pointer;transition:var(--t);box-shadow:0 0 20px rgba(212,164,55,0.25);margin-top:8px;}
.btn-gold-full:active{transform:scale(0.97);}
.btn-gold-full:disabled{opacity:0.4;cursor:not-allowed;}
.btn-outline{width:100%;padding:14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--ice);font-size:14px;font-weight:600;cursor:pointer;transition:var(--t);margin-top:8px;}

/* HEADER */
.header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));background:rgba(0,0,0,0.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:sticky;top:0;z-index:100;}
.header-title{font-family:'Orbitron',monospace;font-size:16px;font-weight:700;letter-spacing:1px;display:flex;align-items:center;gap:8px;}
.header-logo{width:28px;height:28px;object-fit:contain;}
.header-btn{width:38px;height:38px;border-radius:10px;border:none;background:var(--bg-card);color:var(--ice);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--t);position:relative;}
.header-btn:active{background:var(--gold);color:#0b001a;}
.cart-header-btn{font-size:14px;}
.mini-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;border-radius:8px;background:var(--primary);color:#fff;font-family:'Orbitron',monospace;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 3px;}
.back-btn{background:none;border:none;color:var(--gold);font-size:18px;font-weight:700;cursor:pointer;padding:4px 8px;}

/* FORM */
.form-wrap{padding:0 20px 120px;flex:1;}
.form-group{margin-bottom:14px;}
.form-label{display:block;font-size:11px;font-weight:600;color:var(--ice-muted);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:5px;}
.form-input,.form-textarea{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:13px 14px;color:var(--ice);font-size:16px;font-family:inherit;outline:none;transition:var(--t);}
.form-input:focus,.form-textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,164,55,0.12);}
.form-textarea{min-height:64px;resize:vertical;}
.form-row{display:flex;gap:10px;}.form-row .form-group{flex:1;}
.form-switch{text-align:center;font-size:13px;color:var(--ice-muted);margin-top:16px;}
.form-switch a{color:var(--gold);text-decoration:none;font-weight:600;}
.radio-group{display:flex;gap:6px;flex-wrap:wrap;}
.radio-option{flex:1;min-width:80px;cursor:pointer;}
.radio-option input{display:none;}
.radio-label{display:block;padding:10px 6px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);text-align:center;font-size:12px;font-weight:600;transition:var(--t);}
.radio-option input:checked+.radio-label{border-color:var(--gold);background:rgba(212,164,55,0.08);color:var(--gold);}
.file-upload{display:block;cursor:pointer;}
.file-upload input{display:none;}
.file-label{display:block;padding:12px;border-radius:var(--radius-sm);border:1px dashed var(--border);text-align:center;color:var(--ice-muted);font-size:13px;transition:var(--t);}
.secure-note{text-align:center;font-size:11px;color:var(--ice-muted);margin-top:12px;}

/* (map removed) */

/* REFERRAL MINI */
.referral-mini{margin:0 16px 12px;padding:12px 16px;background:rgba(212,164,55,0.06);border:1px solid rgba(212,164,55,0.2);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:space-between;font-size:13px;cursor:pointer;}
.referral-mini strong{color:var(--gold-light);}
.referral-mini-btn{padding:6px 14px;border-radius:16px;border:none;background:var(--gold);color:#0b001a;font-family:'Orbitron',monospace;font-size:10px;font-weight:700;cursor:pointer;}

/* ANIMATED TAGLINES — slam style */
.tagline-wrap {
  padding: 16px 16px 4px;
  text-align: center;
  height: 52px;
  overflow: hidden;
}
.tagline-slider {
  display: flex;
  flex-direction: column;
  animation: slideTaglines 10s cubic-bezier(0.4,0,0.2,1) infinite;
}
.tagline {
  font-family: 'Orbitron', monospace;
  font-size: 18px;
  font-weight: 900;
  color: var(--gold);
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  text-shadow: 0 0 16px rgba(212,164,55,0.4);
  letter-spacing: 1px;
}
@keyframes slideTaglines {
  0%, 18%   { transform: translateY(0); }
  22%, 43%  { transform: translateY(-52px); }
  47%, 68%  { transform: translateY(-104px); }
  72%, 93%  { transform: translateY(-156px); }
  97%, 100% { transform: translateY(0); }
}

.secure-reminder {
  margin: 4px 16px 12px;
  padding: 8px 14px;
  background: rgba(212,164,55,0.04);
  border: 1px solid rgba(212,164,55,0.1);
  border-radius: 20px;
  font-size: 10px;
  color: var(--ice-muted);
  text-align: center;
  letter-spacing: 0.3px;
  line-height: 1.4;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.secure-reminder span { color: var(--gold); }

/* ===== 2026 PREMIUM TOUCHES ===== */

/* Glassmorphism cards */
.bs-card, .m-card, .quick-card, .delivery-card, .mode-card {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.04);
}

/* Subtle shine on gold buttons */
.btn-gold-full {
  position: relative;
  overflow: hidden;
}
.btn-gold-full::after {
  content: '';
  position: absolute;
  top: -50%; left: -50%;
  width: 200%; height: 200%;
  background: linear-gradient(
    115deg,
    transparent 40%,
    rgba(255,255,255,0.15) 45%,
    rgba(255,255,255,0.25) 50%,
    rgba(255,255,255,0.15) 55%,
    transparent 60%
  );
  animation: btnShine 4s ease-in-out infinite;
}
@keyframes btnShine {
  0% { transform: translateX(-100%) rotate(15deg); }
  30%, 100% { transform: translateX(100%) rotate(15deg); }
}

/* Smooth number counter on prices */
.m-card-price, .bs-price, .cart-item-price, .floating-cart-total {
  font-variant-numeric: tabular-nums;
}

/* Depth shadow on cards */
.m-card { box-shadow: 0 2px 8px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.03); }
.bs-card { box-shadow: 0 2px 8px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.03); }
.quick-card { box-shadow: 0 2px 8px rgba(0,0,0,0.2), inset 0 1px 0 rgba(255,255,255,0.03); }

/* Active gold ring on m-card */
.m-card:active { border-color: var(--gold); box-shadow: 0 0 0 2px rgba(212,164,55,0.15), 0 2px 8px rgba(0,0,0,0.3); }

/* Floating cart glassmorphism */
.floating-cart { backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }

/* Bottom nav glass */
.bottom-nav { border-top: 1px solid rgba(255,255,255,0.04); }

/* Smooth add button ripple */
.m-card-add, .bs-add {
  position: relative;
  overflow: hidden;
}
.m-card-add:active::after, .bs-add:active::after {
  content: '';
  position: absolute; inset: 0;
  background: rgba(255,255,255,0.3);
  border-radius: 50%;
  animation: ripple 0.4s ease;
}
@keyframes ripple { from { transform: scale(0); opacity: 1; } to { transform: scale(2); opacity: 0; } }

/* Cart qty buttons hover glow */
.cart-qty-btn:active { background: rgba(212,164,55,0.1); border-color: var(--gold); color: var(--gold); }

/* Confirm page premium feel */
.confirm-card { backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,0.04); }
.confirm-eta { backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }

/* Form inputs premium */
.form-input, .form-textarea {
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* Install banner glass */
.install-banner { backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }

/* Scrollbar gold */
::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(212,164,55,0.2); border-radius: 2px; }

/* SECTION LABEL */
.section-label{font-family:'Orbitron',monospace;font-size:11px;font-weight:700;color:var(--ice-muted);text-transform:uppercase;letter-spacing:1px;padding:0 16px;margin:16px 0 10px;}

/* QUICK ACTIONS */
.quick-actions{display:flex;gap:10px;padding:0 16px;margin-bottom:16px;}
.quick-card{flex:1;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 10px;text-align:center;cursor:pointer;transition:var(--t);display:flex;flex-direction:column;align-items:center;gap:4px;font-family:inherit;color:var(--ice);}
.quick-card:active{border-color:var(--gold);transform:scale(0.96);box-shadow:0 0 12px rgba(212,164,55,0.15);}
.qa-icon{font-size:28px;}
.qa-label{font-family:'Orbitron',monospace;font-size:11px;font-weight:700;letter-spacing:0.3px;}
.qa-sub{font-size:11px;color:var(--ice-muted);}

/* CAROUSEL */
.carousel-wrapper{position:relative;margin-bottom:8px;}
.carousel{display:flex;gap:12px;padding:0 16px 8px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.carousel::-webkit-scrollbar{display:none;}
.bs-card{flex:0 0 150px;scroll-snap-align:start;background:var(--bg-card);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:var(--t);border:1px solid transparent;position:relative;}
.bs-card:active{border-color:var(--gold);transform:scale(0.97);}
.bs-badge{position:absolute;top:8px;left:8px;background:var(--gold);color:#0b001a;font-family:'Orbitron',monospace;font-size:8px;font-weight:800;padding:2px 7px;border-radius:6px;z-index:2;}
.bs-visual{height:95px;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.bs-visual img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius) var(--radius) 0 0;mask-image:radial-gradient(ellipse 90% 85% at center,black 60%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 90% 85% at center,black 60%,transparent 100%);}
.bs-body{padding:8px 10px 10px;}
.bs-name{font-family:'Orbitron',monospace;font-size:10px;font-weight:700;margin-bottom:4px;}
.bs-footer{display:flex;justify-content:space-between;align-items:center;}
.bs-price{font-family:'Orbitron',monospace;font-size:12px;font-weight:800;color:var(--gold);text-shadow:0 0 6px rgba(212,164,55,0.3);}
.bs-add{width:26px;height:26px;border-radius:50%;border:none;background:var(--gold);color:#0b001a;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;}

/* DELIVERY CARDS */
.delivery-list{padding:0 16px;margin-bottom:16px;}
.delivery-card{background:var(--bg-card);border-radius:var(--radius);padding:14px;margin-bottom:10px;border:1px solid transparent;transition:var(--t);}
.delivery-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.delivery-id{font-size:12px;color:var(--ice-muted);font-family:monospace;}
.delivery-status{font-size:10px;font-weight:600;padding:3px 8px;border-radius:16px;text-transform:uppercase;}
.status-preparing{background:rgba(245,255,58,0.1);color:var(--neon-yellow);}
.status-transit{background:rgba(0,240,255,0.1);color:var(--accent);}
.status-delivered{background:rgba(57,255,20,0.1);color:var(--success);}
.delivery-items-preview{font-size:13px;color:var(--gold-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.delivery-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:6px;}
.delivery-date{font-size:11px;color:var(--ice-muted);}
.delivery-total{font-family:'Orbitron',monospace;font-size:12px;font-weight:700;color:var(--gold);}

/* MENU */
.cat-tabs{display:flex;gap:4px;padding:0 12px 10px;overflow-x:auto;scrollbar-width:none;}
.cat-tabs::-webkit-scrollbar{display:none;}
.cat-tab{padding:8px 14px;border-radius:20px;border:1px solid var(--border);background:var(--bg-card);color:var(--ice-muted);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:var(--t);}
.cat-tab.active{background:rgba(212,164,55,0.1);border-color:var(--gold);color:var(--gold);}
.app-menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 12px 160px;}
.m-card{background:var(--bg-card);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:var(--t);border:1px solid transparent;}
.m-card:active{border-color:var(--gold);transform:scale(0.97);}
.m-card-visual{height:110px;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.m-card-visual img{width:100%;height:100%;object-fit:cover;mask-image:radial-gradient(ellipse 90% 85% at center,black 60%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 90% 85% at center,black 60%,transparent 100%);}
.m-card-visual.bg-burger{background:linear-gradient(135deg,#2d0a1a,#150030);}
.m-card-visual.bg-side{background:linear-gradient(135deg,#0a2d1a,#150030);}
.m-card-visual.bg-dessert{background:linear-gradient(135deg,#2d0a2a,#150030);}
.m-card-visual.bg-drink{background:linear-gradient(135deg,#0a1a2d,#150030);}
.m-card-body{padding:8px 10px 12px;}
.m-card-name{font-family:'Orbitron',monospace;font-size:11px;font-weight:600;margin-bottom:2px;}
.m-card-desc{font-size:10px;color:var(--ice-muted);-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;margin-bottom:6px;}
.m-card-footer{display:flex;justify-content:space-between;align-items:center;}
.m-card-price{font-family:'Orbitron',monospace;font-size:13px;font-weight:800;color:var(--gold);text-shadow:0 0 6px rgba(212,164,55,0.3);}
.m-card-add{width:30px;height:30px;border-radius:50%;border:none;background:var(--gold);color:#0b001a;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;}

/* FLOATING CART */
.floating-cart{position:fixed;bottom:max(72px,calc(env(safe-area-inset-bottom,16px)+68px));left:12px;right:12px;background:var(--bg-card);border:1px solid var(--gold);border-radius:var(--radius);padding:12px 16px;display:none;align-items:center;justify-content:space-between;box-shadow:0 0 20px rgba(212,164,55,0.15);z-index:60;}
.floating-cart.visible{display:flex;}
.floating-cart-count{font-size:12px;color:var(--ice-muted);}
.floating-cart-total{font-family:'Orbitron',monospace;font-size:14px;font-weight:800;color:var(--gold);}
.floating-cart-btn{padding:8px 16px;border-radius:var(--radius-sm);border:none;background:var(--gold);color:#0b001a;font-family:'Orbitron',monospace;font-size:11px;font-weight:700;cursor:pointer;}

/* CART */
.cart-list{padding:0 20px;flex:1;overflow-y:auto;}
.cart-item{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--border);}
.cart-item-emoji{width:40px;height:40px;border-radius:10px;overflow:hidden;flex-shrink:0;background:var(--bg-input);}
.cart-item-emoji img{width:100%;height:100%;object-fit:cover;}
.cart-item-info{flex:1;min-width:0;}
.cart-item-name{font-size:13px;font-weight:600;}
.cart-item-price{font-family:'Orbitron',monospace;font-size:12px;color:var(--gold);font-weight:600;}
.cart-item-controls{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.cart-qty-btn{width:28px;height:28px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--ice);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.cart-qty-btn.remove{color:var(--danger);border-color:var(--danger);}
.cart-qty{font-family:'Orbitron',monospace;font-size:14px;font-weight:600;min-width:18px;text-align:center;}
.cart-empty-state{text-align:center;padding:60px 20px;color:var(--ice-muted);}
.cart-empty-state span{font-size:48px;display:block;margin-bottom:12px;opacity:0.4;}
.cart-summary{padding:14px 20px;border-top:1px solid var(--border);}
.cart-sum-row{display:flex;justify-content:space-between;font-size:13px;color:var(--ice-muted);margin-bottom:5px;}
.cart-sum-row.total{font-size:18px;font-weight:800;color:var(--ice);padding-top:10px;border-top:1px solid var(--border);margin-top:4px;}
.cart-sum-row.total span:last-child{font-family:'Orbitron',monospace;color:var(--gold);text-shadow:0 0 8px rgba(212,164,55,0.3);}
.discount-value{color:var(--success);}

/* MODE SELECTION */
.mode-selection{padding:20px;}
.mode-cards{display:flex;flex-direction:column;gap:10px;}
.mode-card{display:flex;align-items:center;gap:14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;cursor:pointer;transition:var(--t);text-align:left;color:var(--ice);font-family:inherit;}
.mode-card:active{border-color:var(--gold);transform:scale(0.98);box-shadow:0 0 12px rgba(212,164,55,0.12);}
.mode-icon{font-size:32px;flex-shrink:0;}
.mode-label{font-family:'Orbitron',monospace;font-size:14px;font-weight:700;letter-spacing:0.5px;}
.mode-desc{font-size:12px;color:var(--ice-muted);margin-top:2px;}
.chosen-mode-bar{display:flex;align-items:center;gap:8px;background:rgba(212,164,55,0.08);border:1px solid rgba(212,164,55,0.2);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:16px;font-size:13px;font-weight:600;}
.chosen-mode-bar:empty{display:none;}

/* PAYMENT */
.payment-cards{display:flex;gap:10px;margin:10px 0 16px;}
.pay-card{flex:1;padding:14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--ice);font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;justify-content:center;transition:var(--t);font-family:inherit;}
.pay-card.active{border-color:var(--gold);background:rgba(212,164,55,0.08);color:var(--gold);}
.pay-icon{font-size:18px;}
.cb-form{margin-bottom:8px;}
/* Payment info */
.pay-info{display:flex;align-items:center;gap:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin:16px 0;font-size:13px;line-height:1.4;}
.pay-info-icon{font-size:24px;flex-shrink:0;}
.pay-info strong{color:var(--gold);}

.order-total-bar{display:flex;justify-content:space-between;align-items:center;padding:14px;background:var(--bg-card);border-radius:var(--radius-sm);margin:12px 0;font-size:16px;font-weight:700;}
.order-total-bar span:last-child{font-family:'Orbitron',monospace;color:var(--gold);text-shadow:0 0 8px rgba(212,164,55,0.3);}

/* CONFIRMATION */
.confirm-wrap{flex:1;padding:32px 20px;text-align:center;overflow-y:auto;padding-bottom:40px;}
.confirm-check{font-size:64px;margin-bottom:12px;}
.confirm-title{font-family:'Orbitron',monospace;font-size:22px;font-weight:800;margin-bottom:6px;background:linear-gradient(135deg,var(--gold),var(--gold-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.confirm-id{font-family:monospace;font-size:14px;color:var(--ice-muted);margin-bottom:20px;}
.confirm-card{background:var(--bg-card);border-radius:var(--radius);padding:14px;margin-bottom:16px;text-align:left;}
.confirm-line{display:flex;justify-content:space-between;padding:7px 0;font-size:13px;}
.confirm-line+.confirm-line{border-top:1px solid var(--border);}
.confirm-label{color:var(--ice-muted);}
.confirm-line.total{font-weight:700;font-size:15px;}
.confirm-line.total span:last-child{font-family:'Orbitron',monospace;color:var(--gold);}
.confirm-eta{display:flex;align-items:center;gap:12px;background:var(--bg-card);border:1px solid rgba(212,164,55,0.2);border-radius:var(--radius);padding:14px;margin-bottom:12px;text-align:left;}
.eta-icon{font-size:28px;}
.eta-label{font-size:12px;color:var(--ice-muted);}
.eta-time{font-family:'Orbitron',monospace;font-size:14px;font-weight:700;color:var(--gold-light);}
.confirm-note{font-size:13px;color:var(--ice-muted);margin-bottom:16px;line-height:1.5;}
.confirm-qr-wrap{margin-bottom:16px;}
.confirm-qr-label{font-size:12px;color:var(--ice-muted);margin-bottom:8px;}
.qr-container-sm{background:#fff;border-radius:12px;padding:12px;display:inline-block;}
.qr-container-sm canvas{max-width:200px;height:auto;}
.qr-secret{font-family:'Orbitron',monospace;font-size:14px;color:var(--gold);margin-top:8px;letter-spacing:2px;text-shadow:0 0 8px rgba(212,164,55,0.3);}
.confirm-actions{display:flex;flex-direction:column;gap:8px;max-width:300px;margin:0 auto;}

/* SHARE */
.share-wrap{padding:20px;text-align:center;}
.share-hero-icon{font-size:56px;margin-bottom:12px;}
.share-title{font-family:'Orbitron',monospace;font-size:20px;font-weight:800;margin-bottom:8px;}
.share-sub{font-size:14px;color:var(--ice-muted);margin-bottom:20px;line-height:1.5;}
.share-sub strong{color:var(--gold-light);}
.share-code-box{display:flex;align-items:center;gap:10px;background:var(--bg-card);border:1px dashed var(--gold);border-radius:var(--radius-sm);padding:14px;margin-bottom:16px;justify-content:center;}
.share-code-box span{font-family:'Orbitron',monospace;font-size:16px;font-weight:700;color:var(--gold-light);letter-spacing:2px;}
.share-copy-btn{padding:6px 14px;border-radius:8px;border:none;background:var(--gold);color:#0b001a;font-family:'Orbitron',monospace;font-size:10px;font-weight:700;cursor:pointer;}
.share-buttons{display:flex;gap:10px;margin-bottom:20px;}
.share-btn{flex:1;padding:12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--ice);font-size:13px;font-weight:600;cursor:pointer;transition:var(--t);}
.share-btn:active{border-color:var(--gold);}
.share-stats{display:flex;gap:16px;justify-content:center;}
.share-stat{text-align:center;}
.share-stat-val{display:block;font-family:'Orbitron',monospace;font-size:22px;font-weight:800;color:var(--gold);}
.share-stat-label{font-size:11px;color:var(--ice-muted);}

/* JOBS */
.jobs-hero{text-align:center;padding:20px 0;margin-bottom:16px;}
.jobs-icon{font-size:48px;margin-bottom:8px;}
.jobs-hero h2{font-family:'Orbitron',monospace;font-size:18px;font-weight:700;margin-bottom:6px;}
.jobs-hero p{font-size:14px;color:var(--ice-muted);}

/* PROFILE */
.profile-wrap{padding:20px;text-align:center;}
.profile-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:#0b001a;font-family:'Orbitron',monospace;font-size:28px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;}
.profile-name{font-family:'Orbitron',monospace;font-size:16px;font-weight:700;margin-bottom:2px;}
.profile-email{font-size:13px;color:var(--ice-muted);margin-bottom:20px;}
.profile-menu{text-align:left;}
.profile-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px;background:var(--bg-card);border:none;border-radius:var(--radius-sm);color:var(--ice);font-size:14px;font-weight:500;cursor:pointer;margin-bottom:6px;transition:var(--t);font-family:inherit;}
.profile-item:active{background:var(--bg-input);}
.profile-item span{color:var(--ice-muted);font-size:16px;}
.profile-item.danger{color:var(--danger);}

/* ITEM MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(11,0,26,0.8);z-index:150;display:none;align-items:center;justify-content:center;padding:20px;}
.modal-overlay.active{display:flex;}
.modal{background:var(--bg-card);border-radius:var(--radius);padding:24px;width:100%;max-width:340px;text-align:center;border:1px solid var(--border);box-shadow:0 0 30px rgba(212,164,55,0.08);}
.modal-title{font-family:'Orbitron',monospace;font-size:16px;font-weight:700;margin-bottom:8px;}
.modal-text{font-size:13px;color:var(--ice-muted);margin-bottom:12px;line-height:1.4;}
.item-modal-emoji{width:120px;height:120px;margin:0 auto 12px;border-radius:14px;overflow:hidden;}
.item-modal-emoji img{width:100%;height:100%;object-fit:cover;mask-image:radial-gradient(ellipse 90% 85% at center,black 60%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 90% 85% at center,black 60%,transparent 100%);}
.item-modal-price{font-family:'Orbitron',monospace;font-size:22px;font-weight:800;color:var(--gold);margin-bottom:14px;text-shadow:0 0 8px rgba(212,164,55,0.3);}
.item-modal-qty{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:16px;}
.qty-circle{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--bg);color:var(--ice);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.qty-circle:active{border-color:var(--gold);color:var(--gold);}
.qty-num{font-family:'Orbitron',monospace;font-size:22px;font-weight:700;min-width:36px;text-align:center;}

/* BOTTOM NAV */
.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:60px;padding-bottom:env(safe-area-inset-bottom,0);background:rgba(0,0,0,0.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border);display:flex;z-index:90;}
.bnav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:none;border:none;color:var(--ice-muted);font-size:10px;font-weight:600;cursor:pointer;transition:var(--t);font-family:'Rajdhani',sans-serif;padding:4px 0;}
.bnav-item.active{color:var(--gold);}
.bnav-icon{font-size:20px;}
.bnav-label{font-size:10px;letter-spacing:0.3px;}

/* TOAST */
.toast{position:fixed;bottom:max(80px,calc(env(safe-area-inset-bottom,16px)+72px));left:50%;transform:translateX(-50%) translateY(80px);background:var(--bg-card);color:var(--ice);padding:10px 20px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;box-shadow:var(--shadow);border:1px solid var(--border);z-index:200;opacity:0;transition:all 0.3s ease;pointer-events:none;white-space:nowrap;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.toast.success{border-color:var(--success);}
.toast.error{border-color:var(--danger);}

/* ANIMATIONS */
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px)}50%{transform:translateX(8px)}75%{transform:translateX(-4px)}}

/* SHARE APP */
.confirm-share-section{margin:20px 0;padding:16px;background:rgba(212,164,55,0.06);border:1px solid rgba(212,164,55,0.2);border-radius:var(--radius);text-align:center;}
.confirm-share-label{font-size:13px;color:var(--ice-muted);margin-bottom:12px;}

/* INSTALL BANNER */
.install-banner{position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);border-top:1px solid var(--gold);padding:16px 20px;z-index:200;display:none;flex-direction:column;gap:12px;animation:slideUpBanner 0.4s ease;}
.install-banner.show{display:flex;}
.install-content{display:flex;align-items:center;gap:12px;}
.install-logo{width:44px;height:44px;object-fit:contain;border-radius:12px;}
.install-text{display:flex;flex-direction:column;}
.install-text strong{font-family:'Orbitron',monospace;font-size:14px;letter-spacing:0.5px;}
.install-text span{font-size:12px;color:var(--ice-muted);}
.install-actions{display:flex;gap:10px;}
.install-btn{flex:1;padding:12px;border-radius:var(--radius-sm);border:none;background:var(--gold);color:#000;font-family:'Orbitron',monospace;font-size:12px;font-weight:700;letter-spacing:0.5px;cursor:pointer;}
.install-dismiss{padding:12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--ice-muted);font-size:12px;cursor:pointer;font-family:inherit;}
@keyframes slideUpBanner{from{transform:translateY(100%);}to{transform:translateY(0);}}

/* iOS guide */
.ios-guide{text-align:center;}
.ios-steps{margin:16px 0;text-align:left;}
.ios-step{display:flex;align-items:center;gap:10px;padding:12px;background:var(--bg-input);border-radius:var(--radius-sm);margin-bottom:8px;font-size:14px;}
.ios-num{width:28px;height:28px;border-radius:50%;background:var(--gold);color:#000;font-family:'Orbitron',monospace;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ios-icon{font-size:18px;}

/* ===== MICRO-INTERACTIONS & POLISH ===== */

/* Smooth haptic-like feedback on all interactive elements */
button, .mode-card, .quick-card, .m-card, .bs-card, .delivery-card {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

/* Active states with spring effect */
.m-card:active .m-card-visual img { transform: scale(1.04); }
.bs-card:active .bs-visual img { transform: scale(1.04); }
.quick-card:active .qa-icon { transform: scale(1.15); transition: transform 0.15s ease; }
.mode-card:active .mode-icon { transform: scale(1.1); transition: transform 0.15s ease; }

/* Gold glow on active buttons */
.btn-gold-full:active { box-shadow: 0 0 30px rgba(212,164,55,0.4); }
.floating-cart-btn:active { box-shadow: 0 0 16px rgba(212,164,55,0.4); transform: scale(0.95); }
.cat-tab:active { transform: scale(0.94); }
.cart-qty-btn:active { transform: scale(0.88); }
.bs-add:active { transform: scale(0.85); }
.m-card-add:active { transform: scale(0.85); }

/* Smooth transitions for images */
.m-card-visual img, .bs-visual img, .item-modal-emoji img { transition: transform 0.3s ease; }

/* Header scroll shadow */
.header { transition: box-shadow 0.3s ease; }

/* Bottom nav active indicator */
.bnav-item { position: relative; }
.bnav-item.active::before {
  content: '';
  position: absolute; top: 0; left: 25%; right: 25%; height: 2px;
  background: var(--gold); border-radius: 0 0 2px 2px;
  box-shadow: 0 0 8px rgba(212,164,55,0.4);
}

/* Card hover glow (for scroll feedback) */
.m-card { will-change: transform; }
.bs-card { will-change: transform; }

/* Smooth screen transitions */
.screen { animation: fadeIn 0.2s ease; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

/* Pull-to-feel scroll overscroll */
#home-screen, #menu-screen { overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch; }

/* Input focus animation */
.form-input:focus, .form-textarea:focus {
  transform: translateY(-1px);
  box-shadow: 0 0 0 3px rgba(212,164,55,0.12), 0 4px 12px rgba(0,0,0,0.2);
}

/* Modal entrance */
.modal { animation: modalPop 0.25s cubic-bezier(0.34, 1.56, 0.64, 1); }
@keyframes modalPop { from { transform: scale(0.85); opacity: 0; } to { transform: scale(1); opacity: 1; } }

/* Toast slide */
.toast.show { animation: toastIn 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); }
@keyframes toastIn { from { transform: translateX(-50%) translateY(20px); opacity: 0; } to { transform: translateX(-50%) translateY(0); opacity: 1; } }

/* Confirm check bounce */
.confirm-check { animation: checkBounce 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); }
@keyframes checkBounce { 0% { transform: scale(0); } 60% { transform: scale(1.2); } 100% { transform: scale(1); } }

/* Paris map pulse glow */
.paris-dot { animation: dotGlow 2s ease-in-out infinite; }
@keyframes dotGlow { 0%,100% { box-shadow: 0 0 16px var(--gold); } 50% { box-shadow: 0 0 28px var(--gold), 0 0 48px rgba(212,164,55,0.3); } }

/* ===== RESPONSIVE — EVERY BREAKPOINT ===== */

/* Desktop lock */
@media (min-width: 501px) {
  body::before { content: ''; position: fixed; inset: 0; z-index: 9999; background: var(--bg); }
  body::after {
    content: 'Ouvrez SecurEats sur votre t\00e9l\00e9phone';
    position: fixed; inset: 0; z-index: 10000;
    display: flex; align-items: center; justify-content: center;
    font-family: 'Orbitron', monospace; font-size: 16px;
    color: var(--gold); text-align: center; padding: 40px;
    background: var(--bg);
  }
}

/* Large phones — iPhone Plus, Samsung S series (430px) */
@media (max-width: 500px) and (min-width: 415px) {
  .app-menu-grid { gap: 12px; padding: 0 16px 160px; }
  .m-card-visual { height: 130px; }
  .m-card-name { font-size: 12px; }
  .m-card-desc { font-size: 11px; -webkit-line-clamp: 2; }
  .bs-card { flex: 0 0 165px; }
  .bs-visual { height: 105px; }
  .quick-card { padding: 18px 12px; }
  .qa-icon { font-size: 30px; }
  .home-map-card { margin: 0 16px 14px; }
  .confirm-title { font-size: 24px; }
  .item-modal-emoji { width: 140px; height: 140px; }
}

/* Standard phones — iPhone 14/15, Pixel (375-414px) */
@media (max-width: 414px) and (min-width: 376px) {
  .header-title { font-size: 15px; }
  .header-logo { width: 26px; height: 26px; }
  .app-menu-grid { gap: 10px; padding: 0 14px 160px; }
  .m-card-visual { height: 115px; }
  .m-card-name { font-size: 11px; }
  .m-card-price { font-size: 12px; }
  .bs-card { flex: 0 0 155px; }
  .bs-visual { height: 100px; }
  .bs-name { font-size: 10px; }
  .quick-actions { gap: 8px; padding: 0 14px; }
  .quick-card { padding: 14px 8px; }
  .qa-icon { font-size: 26px; }
  .qa-label { font-size: 10px; }
  .section-label { font-size: 10px; padding: 0 14px; }
  .home-map-card { margin: 0 14px 10px; padding: 14px; }
  .map-visual { height: 100px; }
  .floating-cart { left: 10px; right: 10px; padding: 10px 14px; }
  .floating-cart-total { font-size: 13px; }
  .floating-cart-btn { padding: 7px 14px; font-size: 10px; }
  .mode-card { padding: 16px; }
  .mode-icon { font-size: 28px; }
  .mode-label { font-size: 13px; }
  .confirm-title { font-size: 20px; }
}

/* Small phones — iPhone SE, iPhone Mini (320-375px) */
@media (max-width: 375px) and (min-width: 321px) {
  .header { padding: 10px 12px; }
  .header-title { font-size: 14px; gap: 6px; }
  .header-logo { width: 24px; height: 24px; }
  .app-menu-grid { gap: 8px; padding: 0 10px 150px; }
  .m-card-visual { height: 100px; }
  .m-card-body { padding: 6px 8px 10px; }
  .m-card-name { font-size: 10px; }
  .m-card-desc { font-size: 9px; }
  .m-card-price { font-size: 11px; }
  .m-card-add { width: 28px; height: 28px; font-size: 16px; }
  .bs-card { flex: 0 0 135px; }
  .bs-visual { height: 85px; }
  .bs-name { font-size: 9px; }
  .bs-price { font-size: 11px; }
  .bs-add { width: 24px; height: 24px; font-size: 14px; }
  .bs-badge { font-size: 7px; padding: 2px 5px; top: 6px; left: 6px; }
  .quick-actions { gap: 6px; padding: 0 10px; }
  .quick-card { padding: 12px 6px; border-radius: 12px; }
  .qa-icon { font-size: 24px; }
  .qa-label { font-size: 9px; }
  .qa-sub { font-size: 9px; }
  .section-label { font-size: 9px; padding: 0 10px; margin: 12px 0 8px; }
  .home-map-card { margin: 0 10px 8px; padding: 12px; }
  .map-visual { height: 80px; }
  .paris-zone { width: 110px; height: 80px; }
  .map-badge { font-size: 9px; }
  .referral-mini { margin: 0 10px 8px; padding: 10px 12px; font-size: 12px; }
  .cat-tabs { padding: 0 8px 8px; gap: 3px; }
  .cat-tab { padding: 7px 10px; font-size: 11px; }
  .floating-cart { left: 8px; right: 8px; padding: 10px 12px; bottom: max(68px, calc(env(safe-area-inset-bottom,12px)+64px)); }
  .floating-cart-count { font-size: 11px; }
  .floating-cart-total { font-size: 12px; }
  .floating-cart-btn { padding: 6px 12px; font-size: 10px; }
  .cart-item { gap: 8px; padding: 10px 0; }
  .cart-item-emoji { width: 36px; height: 36px; }
  .cart-item-name { font-size: 12px; }
  .cart-item-price { font-size: 11px; }
  .cart-qty-btn { width: 26px; height: 26px; font-size: 13px; }
  .cart-qty { font-size: 13px; }
  .cart-sum-row.total { font-size: 16px; }
  .form-wrap { padding: 0 14px 110px; }
  .form-input, .form-textarea { padding: 11px 12px; font-size: 15px; }
  .form-label { font-size: 10px; }
  .btn-gold-full { padding: 14px; font-size: 12px; }
  .mode-card { padding: 14px; gap: 10px; }
  .mode-icon { font-size: 26px; }
  .mode-label { font-size: 12px; }
  .mode-desc { font-size: 11px; }
  .order-total-bar { padding: 12px; font-size: 15px; }
  .confirm-wrap { padding: 24px 14px 32px; }
  .confirm-check { font-size: 52px; }
  .confirm-title { font-size: 18px; }
  .confirm-line { font-size: 12px; }
  .eta-time { font-size: 12px; }
  .confirm-note { font-size: 12px; }
  .item-modal-emoji { width: 100px; height: 100px; }
  .item-modal-price { font-size: 20px; }
  .qty-circle { width: 36px; height: 36px; font-size: 16px; }
  .qty-num { font-size: 20px; }
  .modal { padding: 20px; max-width: 300px; }
  .modal-title { font-size: 14px; }
  .bottom-nav { height: 56px; }
  .bnav-icon { font-size: 18px; }
  .bnav-label { font-size: 9px; }
  .profile-avatar { width: 56px; height: 56px; font-size: 24px; }
  .profile-name { font-size: 14px; }
  .pay-info { padding: 12px; font-size: 12px; }
  .pay-info-icon { font-size: 20px; }
  .chosen-mode-bar { padding: 8px 12px; font-size: 12px; }
  .install-banner { padding: 12px 14px; }
  .install-text strong { font-size: 12px; }
  .install-logo { width: 38px; height: 38px; }
}

/* Tiny phones — iPhone SE 1st gen, Galaxy A (320px) */
@media (max-width: 320px) {
  .header { padding: 8px 8px; }
  .header-title { font-size: 12px; gap: 4px; letter-spacing: 0; }
  .header-logo { width: 22px; height: 22px; }
  .app-menu-grid { grid-template-columns: 1fr 1fr; gap: 6px; padding: 0 8px 140px; }
  .m-card-visual { height: 85px; }
  .m-card-body { padding: 5px 6px 8px; }
  .m-card-name { font-size: 9px; }
  .m-card-desc { display: none; }
  .m-card-price { font-size: 10px; }
  .m-card-add { width: 24px; height: 24px; font-size: 14px; }
  .bs-card { flex: 0 0 120px; }
  .bs-visual { height: 75px; }
  .bs-body { padding: 6px 8px 8px; }
  .bs-name { font-size: 8px; }
  .bs-price { font-size: 10px; }
  .quick-actions { gap: 4px; padding: 0 8px; }
  .quick-card { padding: 10px 4px; gap: 2px; }
  .qa-icon { font-size: 20px; }
  .qa-label { font-size: 8px; }
  .qa-sub { font-size: 8px; }
  .home-map-card { margin: 0 8px 6px; padding: 10px; }
  .map-visual { height: 70px; }
  .section-label { font-size: 8px; padding: 0 8px; }
  .bottom-nav { height: 52px; }
  .bnav-icon { font-size: 16px; }
  .bnav-label { font-size: 8px; }
  .floating-cart { bottom: max(60px, calc(env(safe-area-inset-bottom,8px)+56px)); left: 6px; right: 6px; }
  .welcome-logo { width: 70px; height: 70px; }
  .welcome-title { font-size: 24px; letter-spacing: 1px; }
  .welcome-sub { font-size: 13px; }
  .confirm-check { font-size: 44px; }
  .confirm-title { font-size: 16px; }
  .qr-container-sm canvas { max-width: 160px; }
}

/* Notch / Dynamic Island safe areas */
@supports (padding: max(0px)) {
  .header { padding-top: max(10px, env(safe-area-inset-top)); }
  .bottom-nav { padding-bottom: env(safe-area-inset-bottom, 0); height: calc(60px + env(safe-area-inset-bottom, 0)); }
  .floating-cart { bottom: max(72px, calc(env(safe-area-inset-bottom, 12px) + 68px)); }
  .install-banner { padding-bottom: max(16px, env(safe-area-inset-bottom)); }
  .confirm-wrap { padding-bottom: max(40px, calc(env(safe-area-inset-bottom) + 20px)); }
  .form-wrap { padding-bottom: max(120px, calc(env(safe-area-inset-bottom) + 100px)); }
}

/* Landscape lock */
@media (max-height: 500px) and (orientation: landscape) {
  .home-map-card { display: none; }
  .referral-mini { display: none; }
  .map-visual { height: 60px; }
  .quick-card { padding: 10px 6px; }
  .confirm-wrap { padding: 16px 20px; }
  .confirm-check { font-size: 36px; margin-bottom: 6px; }
}
