/* ═══════════════════════════════════════════════════════
   HOT IN DUBAI — Design System v4
   Mobile-first. Dubai-inspired. Warm & bold.
═══════════════════════════════════════════════════════ */
:root {
  /* Core Brand - Warm Dubai palette */
  --fire:       #C8390C;
  --fire-h:     #E04D1F;
  --fire-pale:  #FEF2EC;
  --fire-bd:    #F5C4AE;
  --sand:       #C49A3C;
  --sand-pale:  #FDF8EC;
  --sand-bd:    #EDD98A;
  --jade:       #0A6642;
  --jade-pale:  #ECFAF4;
  --jade-bd:    #A7EFD0;
  --sky:        #1A56DB;
  --sky-pale:   #EBF5FF;
  --sky-bd:     #BFDBFE;

  /* Neutrals */
  --ink:    #111318;
  --ink-2:  #232830;
  --ink-4:  #50555F;
  --ink-6:  #878D97;
  --ink-8:  #BFC2C8;
  --ink-9:  #DFE1E5;
  --ink-95: #EFEFF2;
  --ink-98: #F7F8FA;
  --white:  #FFFFFF;
  --border: #E5E7EB;

  /* Semantic */
  --ok:    var(--jade);    --ok-bg:  var(--jade-pale); --ok-bd:  var(--jade-bd);
  --warn:  #92400E;        --warn-bg:#FFFBEB;          --warn-bd:#FDE68A;
  --err:   #991B1B;        --err-bg: #FEF2F2;          --err-bd: #FECACA;

  /* Fonts - system stack, no external deps */
  --sans:  -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --serif: Georgia, 'Times New Roman', serif;
  --mono:  ui-monospace, 'SFMono-Regular', monospace;

  /* Spacing */
  --nav-h:  58px;
  --tab-h:  52px;

  /* Radii */
  --r4:  4px; --r6:6px; --r8:8px; --r10:10px;
  --r12: 12px; --r16:16px; --r20:20px; --r24:24px;
  --pill:999px;

  /* Shadows */
  --s1: 0 1px 2px rgba(0,0,0,.06);
  --s2: 0 2px 8px rgba(0,0,0,.08);
  --s3: 0 4px 16px rgba(0,0,0,.09);
  --s4: 0 8px 32px rgba(0,0,0,.10);
  --s5: 0 16px 48px rgba(0,0,0,.12);
  --sf: 0 4px 16px rgba(200,57,12,.25);

  /* Motion */
  --ease: cubic-bezier(.4,0,.2,1);
  --spring: cubic-bezier(.34,1.4,.64,1);
  --fast: .12s; --base:.2s; --slow:.35s;

  /* Compat aliases for old var names */
  --brand:      var(--fire);  --brand-2:    var(--fire-h);
  --brand-bg:   var(--fire-pale); --brand-3: var(--sand);
  --ink-3:  var(--ink-4);  --ink-5:var(--ink-6);
  --ink-60: var(--ink-4);  --ink-40:var(--ink-6);
  --ink-30: var(--ink-8);  --ink-20:var(--ink-9);
  --ink-10: var(--border); --ink-07:var(--ink-95);
  --ink-03: var(--ink-98);
  --surface: var(--ink-98); --surface-2:var(--ink-95);
  --canvas:  var(--ink-98);
  --ok-bg: var(--jade-pale); --ok-bd: var(--jade-bd); --success:var(--jade);
  --success-bg:var(--jade-pale); --success-bd:var(--jade-bd);
  --gold: var(--sand); --gold-pale:var(--sand-pale); --gold-light:var(--sand-pale);
  --info: var(--sky); --info-bg:var(--sky-pale); --info-bd:var(--sky-bd);
  --r: var(--r12); --r-xs:var(--r4); --r-sm:var(--r8);
  --r-lg:var(--r16); --r-xl:var(--r20); --r-2xl:var(--r24); --r-pill:var(--pill);
  --sh:var(--s2); --sh-sm:var(--s1); --sh-md:var(--s3); --sh-lg:var(--s4); --sh-xl:var(--s5);
  --sh-brand:var(--sf); --sh-hot:var(--sf);
  --font:var(--sans); --font-serif:var(--serif); --font-mono:var(--mono);
  --t:var(--base); --t-fast:var(--fast); --t-slow:var(--slow);
}

/* ─── RESET ─────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}
body{font-family:var(--sans);background:var(--white);color:var(--ink);font-size:15px;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block;height:auto}
button,input,select,textarea{font-family:inherit;font-size:inherit}
::selection{background:rgba(200,57,12,.15);color:var(--fire)}
:focus-visible{outline:2px solid var(--fire);outline-offset:2px;border-radius:var(--r4)}
::-webkit-scrollbar{width:3px;height:3px}
::-webkit-scrollbar-thumb{background:var(--ink-9);border-radius:99px}

/* ─── ANIMATIONS ──────────────────────────────────────*/
@keyframes fadeUp  {from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes fadeIn  {from{opacity:0}to{opacity:1}}
@keyframes pulse   {0%,100%{opacity:1}50%{opacity:.35}}
@keyframes spin    {to{transform:rotate(360deg)}}
@keyframes shimmer {0%{background-position:-500px 0}100%{background-position:500px 0}}
@keyframes toastIn {from{transform:translateX(110%);opacity:0}to{transform:none;opacity:1}}
@keyframes slideUp {from{transform:translateY(100%)}to{transform:none}}
@keyframes blink   {0%,100%{opacity:1}50%{opacity:0}}

/* ─── NAV ────────────────────────────────────────────── */
.nav{
  position:sticky;top:0;z-index:200;height:var(--nav-h);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(16px) saturate(1.3);
  -webkit-backdrop-filter:blur(16px) saturate(1.3);
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;padding:0 1rem;gap:.5rem;
}
.nav-logo{font-family:var(--serif);font-size:1.18rem;font-weight:700;font-style:italic;color:var(--fire);flex-shrink:0;letter-spacing:-.2px}
.nav-logo strong{font-style:normal;color:var(--ink)}
.nav-links{display:flex;gap:.05rem;overflow-x:auto;scrollbar-width:none;flex:1;padding:0 .25rem}
.nav-links::-webkit-scrollbar{display:none}
.nav-link{padding:.38rem .7rem;border-radius:var(--r8);font-size:.78rem;font-weight:500;color:var(--ink-4);white-space:nowrap;letter-spacing:.05px;transition:all var(--fast)}
.nav-link:hover{background:var(--ink-98);color:var(--ink)}
.nav-link.active{color:var(--fire);background:var(--fire-pale)}
.nav-search-wrap{position:relative;flex-shrink:0}
.nav-search-ico{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);width:14px;height:14px;stroke:var(--ink-8);fill:none;stroke-width:2;pointer-events:none}
.nav-search{width:200px;padding:.4rem .8rem .4rem 2rem;background:var(--ink-98);border:1px solid var(--border);border-radius:var(--pill);font-size:.8rem;outline:none;transition:all var(--base)}
.nav-search:focus{background:var(--white);border-color:var(--fire);box-shadow:0 0 0 3px rgba(200,57,12,.1);width:240px}
.nav-right{display:flex;align-items:center;gap:.4rem;flex-shrink:0}

/* Mobile nav */
.mob-nav{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(20px) saturate(1.5);
  -webkit-backdrop-filter:blur(20px) saturate(1.5);
  border-top:1px solid var(--border);
  height:calc(var(--tab-h) + env(safe-area-inset-bottom,0px));
  padding-bottom:env(safe-area-inset-bottom,0px);
  grid-template-columns:repeat(5,1fr);
}
.mob-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:.4rem .15rem .5rem;color:var(--ink-6);font-size:.58rem;font-weight:600;letter-spacing:.1px;cursor:pointer;transition:color var(--fast);text-decoration:none;-webkit-tap-highlight-color:transparent;}
.mob-nav-item:active{opacity:.7}
.mob-nav-item svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}
.mob-nav-item.active{color:var(--fire)}
.mob-nav-item.active svg{stroke:var(--fire)}

/* ─── LAYOUT ──────────────────────────────────────────*/
.wrap   {max-width:1100px;margin:0 auto;padding:0 1.25rem}
.wrap-sm{max-width:640px; margin:0 auto;padding:0 1.25rem}
.wrap-xs{max-width:480px; margin:0 auto;padding:0 1.25rem}
.container    {max-width:1100px;margin:0 auto;padding:0 1.25rem}
.container-sm {max-width:640px; margin:0 auto;padding:0 1.25rem}
.container-xs {max-width:480px; margin:0 auto;padding:0 1.25rem}

.page-grid{display:grid;grid-template-columns:1fr 288px;gap:2rem;padding:1.5rem 0 4rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
/* two-col compat alias */
.two-col{display:grid;grid-template-columns:1fr 288px;gap:2rem;padding:1.5rem 0 4rem}

@media(max-width:960px){.page-grid,.two-col{grid-template-columns:1fr}.sidebar-col{display:none}.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){
  .nav-links{display:none!important}
  .nav-search-wrap{display:none!important}
  .mob-nav{display:grid!important}
  .body-pad{padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom,0px) + .5rem)}
}
@media(max-width:640px){
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .hero-stats{gap:0}
}
@media(max-width:480px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .wrap,.container,.container-sm,.container-xs,.wrap-sm,.wrap-xs{padding:0 .875rem}
  .hero{padding:2.25rem 0 2rem}
  .hero-h1{font-size:1.75rem!important}
  .form-row{grid-template-columns:1fr!important}
  .dash-main{padding:.875rem!important}
  .dash-header{flex-direction:column;align-items:flex-start}
}

/* ─── HERO ────────────────────────────────────────────*/
.hero{background:var(--ink);padding:3.5rem 0 3rem;position:relative;overflow:hidden}
.hero-canvas{position:absolute;inset:0;background:radial-gradient(ellipse 65% 70% at 10% 55%,rgba(200,57,12,.22) 0%,transparent 60%),radial-gradient(ellipse 50% 55% at 92% 20%,rgba(196,154,60,.1) 0%,transparent 55%);pointer-events:none}
.hero-grain{position:absolute;inset:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}
.hero-content{position:relative;z-index:1;text-align:center}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(200,57,12,.35);background:rgba(200,57,12,.12);color:#F0A080;border-radius:var(--pill);font-size:.68rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:.28rem 1rem;margin-bottom:1.1rem}
.hero-eyebrow-dot{width:5px;height:5px;border-radius:50%;background:#E04D1F;animation:pulse 2s infinite}
.hero-h1{font-family:var(--serif);font-size:clamp(1.9rem,5vw,3.6rem);font-weight:700;color:#fff;line-height:1.1;letter-spacing:-.8px;margin-bottom:.9rem}
.hero-h1 em{font-style:italic;color:#F0A080}
.hero-sub{font-size:.95rem;color:rgba(255,255,255,.4);max-width:400px;margin:0 auto 2rem;line-height:1.75;font-weight:300}
.hero-stats{display:flex;justify-content:center;gap:0;flex-wrap:wrap;margin-top:1.5rem}
.hero-stat{text-align:center;padding:0 1.75rem;position:relative}
.hero-stat+.hero-stat::before{content:'';position:absolute;left:0;top:15%;bottom:15%;width:1px;background:rgba(255,255,255,.07)}
.hero-stat-n{font-family:var(--serif);font-size:1.9rem;font-weight:700;color:#fff;line-height:1;letter-spacing:-.8px}
.hero-stat-l{font-size:.62rem;color:rgba(255,255,255,.28);text-transform:uppercase;letter-spacing:1px;margin-top:.2rem}

/* Search */
.search-bar{max-width:520px;margin:0 auto;display:flex;background:#fff;border-radius:var(--r12);box-shadow:var(--s5);overflow:hidden;position:relative}
.search-bar svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:16px;height:16px;stroke:var(--ink-8);fill:none;stroke-width:2;pointer-events:none}
.search-bar input{flex:1;padding:.88rem 1rem .88rem 2.75rem;border:none;outline:none;font-size:.92rem;font-family:var(--sans);color:var(--ink);background:transparent}
.search-bar input::placeholder{color:var(--ink-8)}
.search-bar button{background:var(--fire);color:#fff;border:none;padding:.88rem 1.5rem;font-weight:700;font-size:.85rem;cursor:pointer;flex-shrink:0;font-family:var(--sans);transition:background var(--fast);letter-spacing:.1px}
.search-bar button:hover{background:var(--fire-h)}

/* ─── TYPE NAV BAR ────────────────────────────────────*/
.type-bar{background:var(--white);border-bottom:1px solid var(--border)}
.type-bar-inner{display:flex;overflow-x:auto;scrollbar-width:none;padding:0 1.25rem}
.type-bar-inner::-webkit-scrollbar{display:none}
.type-link{display:inline-flex;align-items:center;gap:.35rem;padding:.7rem .95rem;font-size:.77rem;font-weight:500;color:var(--ink-4);white-space:nowrap;border-bottom:2px solid transparent;flex-shrink:0;transition:all var(--fast)}
.type-link:hover{color:var(--ink);border-color:var(--ink-9)}
.type-link.active{color:var(--fire);border-color:var(--fire);font-weight:600}
.type-link svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;opacity:.6}

/* ─── FILTER STRIP ────────────────────────────────────*/
.filter-bar{background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:var(--nav-h);z-index:99}
.filter-bar-inner{display:flex;gap:.3rem;overflow-x:auto;scrollbar-width:none;padding:.5rem 1.25rem}
.filter-bar-inner::-webkit-scrollbar{display:none}
/* compat */
.cat-strip{background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:var(--nav-h);z-index:99}
.cat-strip-inner{display:flex;gap:.3rem;overflow-x:auto;scrollbar-width:none;padding:.5rem 1.25rem}
.cat-strip-inner::-webkit-scrollbar{display:none}

.pill,.cat-pill{display:inline-flex;align-items:center;gap:.28rem;padding:.34rem .85rem;border-radius:var(--pill);font-size:.75rem;font-weight:500;white-space:nowrap;border:1px solid var(--border);color:var(--ink-4);background:var(--white);cursor:pointer;flex-shrink:0;transition:all var(--fast);text-decoration:none;letter-spacing:.05px}
.pill:hover,.cat-pill:hover{border-color:var(--ink-8);color:var(--ink)}
.pill.active,.cat-pill.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.pill.hot,.cat-pill.hot,.cat-pill.brand{background:var(--fire);color:#fff;border-color:transparent;box-shadow:var(--sf)}
.cat-div{width:1px;background:var(--border);flex-shrink:0;margin:0 .1rem;align-self:stretch}
.filter-tab{display:inline-flex;align-items:center;padding:.34rem .85rem;border-radius:var(--pill);font-size:.75rem;font-weight:500;color:var(--ink-4);border:1px solid var(--border);background:#fff;cursor:pointer;text-decoration:none;transition:all var(--fast);white-space:nowrap}
.filter-tab:hover{border-color:var(--ink-8);color:var(--ink)}
.filter-tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.filter-div{width:1px;background:var(--border);margin:0 .15rem;align-self:stretch}

/* ─── SECTION HEADER ──────────────────────────────────*/
.sec-hd{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.1rem;gap:.75rem}
.sec-hd h2{font-family:var(--serif);font-size:1.15rem;font-weight:700;font-style:italic;color:var(--ink);letter-spacing:-.2px}
.sec-hd h2 span,.cnt{font-style:normal;font-family:var(--sans);font-size:.63rem;font-weight:700;color:#fff;background:var(--fire);border-radius:var(--pill);padding:.1rem .45rem;margin-left:.35rem;vertical-align:2px}
.sec-link{font-size:.76rem;font-weight:500;color:var(--ink-8);transition:color var(--fast)}
.sec-link:hover{color:var(--fire)}

/* ─── VENUE / OFFER CARD ──────────────────────────────*/
.vc{background:var(--white);border-radius:var(--r16);border:1px solid var(--border);overflow:hidden;display:block;position:relative;transition:transform var(--base) var(--ease),box-shadow var(--base) var(--ease),border-color var(--base)}
.vc:hover{transform:translateY(-4px);box-shadow:var(--s4);border-color:transparent}
.vc-img{position:relative;overflow:hidden;height:190px;background:var(--ink-95)}
.vc-img img{width:100%;height:100%;object-fit:cover;transition:transform var(--slow) var(--ease)}
.vc:hover .vc-img img{transform:scale(1.05)}
.vc-img-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.vc-badges{position:absolute;top:.7rem;left:.7rem;display:flex;gap:.25rem;flex-wrap:wrap;z-index:1}
.badge{font-size:.65rem;font-weight:700;letter-spacing:.2px;padding:.2rem .55rem;border-radius:var(--r4);text-transform:uppercase}
.badge-fire,.badge-brand{background:var(--fire);color:#fff}
.badge-hot{background:var(--ink);color:#fff}
.badge-open{background:var(--jade);color:#fff}
.badge-closed,.badge-dark{background:rgba(0,0,0,.62);color:#fff;backdrop-filter:blur(4px)}
.vc-timer{position:absolute;bottom:.65rem;right:.65rem;background:rgba(0,0,0,.58);backdrop-filter:blur(6px);color:#fff;font-size:.65rem;font-weight:600;padding:.18rem .55rem;border-radius:var(--r4);font-family:var(--mono);letter-spacing:.3px}
.vc-timer.urgent{background:var(--fire)}
.vc-logo{position:absolute;top:.65rem;right:.65rem;width:32px;height:32px;border-radius:var(--r8);border:2px solid rgba(255,255,255,.9);object-fit:cover;box-shadow:var(--s2)}
.vc-body{padding:.9rem 1rem 1rem}
.vc-type-row{font-size:.65rem;font-weight:700;color:var(--ink-6);margin-bottom:.2rem;text-transform:uppercase;letter-spacing:.55px}
.vc-name{font-weight:700;font-size:.94rem;margin-bottom:.28rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);letter-spacing:-.15px}
.vc-meta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-size:.72rem;color:var(--ink-6);margin-bottom:.65rem}
.vc-meta-dot{width:2px;height:2px;border-radius:50%;background:var(--ink-9)}
.rating-tag{display:inline-flex;align-items:center;gap:.18rem;background:#054F35;color:#fff;font-size:.67rem;font-weight:700;padding:.12rem .4rem;border-radius:var(--r4)}
.prog-wrap{margin-bottom:.65rem}
.prog-lbl{display:flex;justify-content:space-between;font-size:.65rem;color:var(--ink-6);margin-bottom:.24rem;font-weight:500}
.prog-bar{height:3px;background:var(--ink-95);border-radius:99px;overflow:hidden}
.prog-fill{height:100%;background:var(--fire);border-radius:99px;transition:width .4s}
.prog-fill.almost{background:#DC2626}
.vc-cta{width:100%;padding:.6rem;border-radius:var(--r8);border:none;font-weight:700;font-size:.82rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.35rem;transition:all var(--fast);font-family:var(--sans);letter-spacing:.05px}
.vc-cta-primary{background:var(--fire);color:#fff;box-shadow:var(--sf)}
.vc-cta-primary:hover{background:var(--fire-h)}
.vc-cta-claimed{background:var(--jade-pale);color:var(--jade);cursor:default}
.vc-cta-sold{background:var(--ink-95);color:var(--ink-8);cursor:default}
.vc-cta-dark{background:var(--ink);color:#fff}

/* Featured Hot Drop */
.hd-feat{border-radius:var(--r20);overflow:hidden;position:relative;display:block;margin-bottom:1.5rem;box-shadow:var(--s4);transition:transform var(--base),box-shadow var(--base)}
.hd-feat:hover{transform:translateY(-3px);box-shadow:var(--s5)}
.hd-feat-img{height:300px;position:relative;overflow:hidden;background:var(--ink-2)}
.hd-feat-img img{width:100%;height:100%;object-fit:cover;opacity:.58;transition:opacity var(--slow),transform var(--slow)}
.hd-feat:hover .hd-feat-img img{opacity:.67;transform:scale(1.03)}
.hd-feat-fade{position:absolute;inset:0;background:linear-gradient(to top,rgba(17,19,24,.96) 0%,rgba(17,19,24,.4) 40%,transparent 100%)}
.hd-feat-body{position:absolute;bottom:0;left:0;right:0;padding:1.75rem 1.75rem;color:#fff}
.live-badge{display:inline-flex;align-items:center;gap:.35rem;background:var(--fire);color:#fff;border-radius:var(--pill);font-size:.63rem;font-weight:700;letter-spacing:.9px;text-transform:uppercase;padding:.2rem .8rem;margin-bottom:.75rem}
.live-dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.7);animation:blink 1.2s infinite}
.cd-row{display:flex;align-items:center;gap:.4rem;margin-bottom:.85rem;flex-wrap:wrap}
.cd-box{background:rgba(255,255,255,.1);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);border-radius:var(--r8);padding:.35rem .6rem;text-align:center;min-width:52px}
.cd-n{font-family:var(--serif);font-size:1.45rem;font-weight:700;line-height:1}
.cd-l{font-size:.53rem;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.7px}
.cd-sep{font-size:1.3rem;opacity:.28;line-height:1}

/* ─── SOCIAL FEED ─────────────────────────────────────*/
.feed-post{background:var(--white);border:1px solid var(--border);border-radius:var(--r16);overflow:hidden;margin-bottom:1rem}
.feed-post-head{display:flex;align-items:center;gap:.65rem;padding:.85rem 1rem .6rem}
.feed-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;background:var(--ink-95);flex-shrink:0}
.feed-name{font-weight:600;font-size:.84rem;color:var(--ink);line-height:1.25}
.feed-meta{font-size:.7rem;color:var(--ink-6);margin-top:.08rem}
.feed-img{width:100%;object-fit:cover}
.feed-body{padding:.75rem 1rem .85rem}
.feed-caption{font-size:.88rem;line-height:1.65;color:var(--ink-2);margin-bottom:.6rem}
.feed-link-card{display:flex;align-items:center;gap:.7rem;background:var(--ink-98);border:1px solid var(--border);border-radius:var(--r8);padding:.65rem .8rem;margin-bottom:.6rem;text-decoration:none;transition:background var(--fast)}
.feed-link-card:hover{background:var(--ink-95)}
.feed-link-thumb{width:42px;height:42px;border-radius:var(--r8);object-fit:cover;flex-shrink:0;background:var(--ink-9)}
.feed-link-name{font-weight:600;font-size:.82rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.feed-link-sub{font-size:.71rem;color:var(--ink-6);margin-top:.08rem}
.feed-foot{display:flex;align-items:center;gap:.85rem;padding:.6rem 1rem;border-top:1px solid var(--border)}
.like-btn{display:flex;align-items:center;gap:.32rem;font-size:.78rem;font-weight:600;color:var(--ink-6);cursor:pointer;background:none;border:none;font-family:var(--sans);transition:color var(--fast)}
.like-btn:hover,.like-btn.liked{color:var(--fire)}
.like-btn svg{width:15px;height:15px}

/* Composer */
.feed-composer{background:var(--white);border:1px solid var(--border);border-radius:var(--r16);padding:.85rem 1rem;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem}
.feed-composer-prompt{flex:1;padding:.6rem .9rem;background:var(--ink-98);border-radius:var(--pill);font-size:.84rem;color:var(--ink-6);cursor:pointer;display:block}

/* ─── VENUE PROFILE ───────────────────────────────────*/
.venue-hero{position:relative;height:360px;overflow:hidden;background:var(--ink-2)}
.venue-hero img{width:100%;height:100%;object-fit:cover;object-position:center;}
.venue-hero-fade{position:absolute;inset:0;background:linear-gradient(to top,rgba(17,19,24,.78) 0%,rgba(17,19,24,.22) 42%,rgba(0,0,0,.0) 100%)}
.venue-hero-body{position:absolute;bottom:1.75rem;left:1.25rem;right:1.25rem;color:#fff}
.venue-hero-name{font-family:var(--serif);font-size:clamp(1.5rem,4vw,2.2rem);font-weight:700;line-height:1.1;letter-spacing:-.5px}
.venue-hero-logo{position:absolute;top:1.25rem;right:1.25rem;width:58px;height:58px;border-radius:var(--r12);border:2px solid rgba(255,255,255,.85);object-fit:cover;box-shadow:var(--s3)}
.venue-tabs-bar{background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:var(--nav-h);z-index:98;overflow-x:auto;scrollbar-width:none}
.venue-tabs-bar::-webkit-scrollbar{display:none}
.venue-tab-row{display:flex;padding:0 1.25rem;min-width:max-content}
.venue-tab{padding:.8rem 1rem;font-size:.8rem;font-weight:500;color:var(--ink-4);border-bottom:2.5px solid transparent;white-space:nowrap;cursor:pointer;letter-spacing:.05px;transition:all var(--fast)}
.venue-tab:hover{color:var(--ink)}
.venue-tab.active{color:var(--fire);border-color:var(--fire);font-weight:600}

/* Quick info pills */
.info-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:var(--ink-98);border:1px solid var(--border);border-radius:var(--pill);font-size:.78rem;font-weight:500;color:var(--ink-4)}
.info-chip svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.8}
.info-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}

/* ─── FORMS ───────────────────────────────────────────*/
.form-section-lbl{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.9px;color:var(--ink-6);margin-bottom:.8rem;padding-bottom:.45rem;border-bottom:1px solid var(--border)}
.form-group{margin-bottom:.85rem}
.form-label{display:block;font-size:.78rem;font-weight:600;color:var(--ink-2);margin-bottom:.3rem;letter-spacing:.05px}
.form-input{width:100%;padding:.6rem .9rem;border:1.5px solid var(--border);border-radius:var(--r8);font-size:.88rem;color:var(--ink);background:var(--white);outline:none;transition:border-color var(--fast),box-shadow var(--fast);font-family:var(--sans)}
.form-input:focus{border-color:var(--fire);box-shadow:0 0 0 3px rgba(200,57,12,.09)}
.form-input::placeholder{color:var(--ink-9)}
textarea.form-input{resize:vertical;min-height:84px;line-height:1.6}
select.form-input{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%23878D97' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;background-size:15px;padding-right:2.1rem;appearance:none}
.form-hint{font-size:.71rem;color:var(--ink-6);margin-top:.2rem;line-height:1.5}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
@media(max-width:480px){.form-row{grid-template-columns:1fr}}
.form-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r16);padding:1.35rem 1.5rem;margin-bottom:1.1rem}
.form-check{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;font-size:.86rem;line-height:1.5}
.form-check input[type="checkbox"]{width:16px;height:16px;accent-color:var(--fire);cursor:pointer;flex-shrink:0;margin-top:.2rem}
.input-group{position:relative;display:flex;align-items:center}
.input-group .form-input{padding-left:2.4rem}
.input-group-icon{position:absolute;left:.75rem;color:var(--ink-8);pointer-events:none;display:flex;align-items:center}
.input-group-icon svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8}

/* ─── BUTTONS ─────────────────────────────────────────*/
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.38rem;border-radius:var(--r8);font-weight:700;font-size:.83rem;padding:.58rem 1.15rem;border:none;cursor:pointer;transition:all var(--fast);text-decoration:none;white-space:nowrap;font-family:var(--sans);letter-spacing:.05px}
.btn:active{transform:scale(.97)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;flex-shrink:0}
.btn-fire,.btn-brand{background:var(--fire);color:#fff;box-shadow:var(--sf)}
.btn-fire:hover,.btn-brand:hover{background:var(--fire-h)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:var(--ink-2)}
.btn-success,.btn-green{background:var(--jade);color:#fff}
.btn-success:hover{background:#085433}
.btn-outline{background:transparent;border:1.5px solid var(--border);color:var(--ink-4)}
.btn-outline:hover{border-color:var(--ink-8);color:var(--ink)}
.btn-ghost{background:var(--ink-98);color:var(--ink-4)}
.btn-ghost:hover{background:var(--ink-95);color:var(--ink)}
.btn-sm{padding:.34rem .75rem;font-size:.74rem}
.btn-lg{padding:.75rem 1.65rem;font-size:.93rem;border-radius:var(--r12)}
.btn-xl{padding:.92rem 2rem;font-size:.97rem;border-radius:var(--r16)}
.btn-pill{border-radius:var(--pill)}
.btn-full{width:100%}
.btn-icon{width:36px;height:36px;padding:0;border-radius:var(--r8)}

/* ─── CHIPS ───────────────────────────────────────────*/
.chip{display:inline-flex;align-items:center;gap:.2rem;padding:.15rem .5rem;border-radius:var(--pill);font-size:.66rem;font-weight:700;letter-spacing:.1px}
.chip-green{background:var(--jade-pale);color:var(--jade)}
.chip-amber{background:var(--warn-bg);color:var(--warn)}
.chip-fire,.chip-brand{background:var(--fire-pale);color:var(--fire)}
.chip-blue{background:var(--sky-pale);color:var(--sky)}
.chip-gray{background:var(--ink-95);color:var(--ink-6)}
.chip-dark{background:var(--ink);color:#fff}
.chip-gold{background:var(--sand-pale);color:var(--sand)}

/* ─── ALERTS ──────────────────────────────────────────*/
.alert{display:flex;align-items:flex-start;gap:.6rem;padding:.8rem 1rem;border-radius:var(--r8);font-size:.86rem;margin-bottom:.9rem;border:1px solid transparent;line-height:1.55}
.alert-success{background:var(--jade-pale);color:var(--jade);border-color:var(--jade-bd)}
.alert-error  {background:var(--err-bg);color:var(--err);border-color:var(--err-bd)}
.alert-info   {background:var(--sky-pale);color:var(--sky);border-color:var(--sky-bd)}
.alert-warning{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-bd)}

/* ─── DASHBOARD ───────────────────────────────────────*/
.dash-layout{display:grid;grid-template-columns:220px 1fr;min-height:100vh}
@media(max-width:900px){.dash-layout{grid-template-columns:1fr}.dash-sidebar{display:none}}
.dash-sidebar{background:var(--white);border-right:1px solid var(--border);position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column}
.dash-sidebar-brand{padding:1.15rem 1.25rem .9rem;border-bottom:1px solid var(--border)}
.dash-sidebar-logo{font-family:var(--serif);font-size:.97rem;font-weight:700;font-style:italic;color:var(--fire)}
.dash-sidebar-sub{font-size:.68rem;color:var(--ink-6);margin-top:.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dash-nav{flex:1;padding:.6rem 0}
.dash-nav-lbl{padding:.8rem 1.25rem .22rem;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:1.1px;color:var(--ink-9)}
.dash-nav a{display:flex;align-items:center;gap:.55rem;padding:.48rem 1.25rem;font-size:.8rem;font-weight:400;color:var(--ink-4);transition:all var(--fast);position:relative}
.dash-nav a:hover{color:var(--ink);background:var(--ink-98)}
.dash-nav a.active{color:var(--fire);background:var(--fire-pale);font-weight:600}
.dash-nav a.active::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2.5px;background:var(--fire);border-radius:0 2px 2px 0}
.dash-main{background:var(--ink-98);padding:1.75rem 2rem;overflow-x:hidden}
.dash-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.75rem;flex-wrap:wrap;gap:.85rem}
.dash-title{font-family:var(--serif);font-size:1.4rem;font-weight:700;font-style:italic;letter-spacing:-.3px;color:var(--ink)}
.dash-sub{font-size:.78rem;color:var(--ink-6);margin-top:.18rem}
@media(max-width:640px){.dash-main{padding:1rem 1rem}}

/* ─── STAT CARDS ──────────────────────────────────────*/
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.75rem}
@media(max-width:800px){.stats-grid{grid-template-columns:repeat(2,1fr)}}
.stat-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r16);padding:1.2rem 1.35rem;position:relative;overflow:hidden}
.stat-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--fire);transform:scaleX(0);transform-origin:left;transition:transform var(--base) var(--ease)}
.stat-card:hover::after{transform:scaleX(1)}
.stat-val{font-size:1.85rem;font-weight:800;color:var(--ink);line-height:1;margin-bottom:.25rem;letter-spacing:-.5px;font-family:var(--serif)}
.stat-lbl{font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.65px;color:var(--ink-6)}
.admin-stat{background:var(--white);border:1px solid var(--border);border-radius:var(--r16);padding:1.2rem 1.35rem}
.admin-stat-val{font-size:1.85rem;font-weight:800;color:var(--ink);line-height:1;margin-bottom:.25rem;letter-spacing:-.5px}
.admin-stat-lbl{font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.65px;color:var(--ink-6)}

/* ─── TABLES ──────────────────────────────────────────*/
.table-wrap{background:var(--white);border:1px solid var(--border);border-radius:var(--r16);overflow:hidden;overflow-x:auto}
.table-wrap table{width:100%;border-collapse:collapse;min-width:600px}
.table-wrap th{background:var(--ink-98);padding:.6rem 1rem;text-align:left;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.65px;color:var(--ink-6);white-space:nowrap;border-bottom:1px solid var(--border)}
.table-wrap td{padding:.8rem 1rem;border-bottom:1px solid var(--border);font-size:.84rem;vertical-align:middle;color:var(--ink-4)}
.table-wrap tr:last-child td{border-bottom:none}
.table-wrap tbody tr:hover td{background:var(--ink-98)}

/* ─── PAGINATION ──────────────────────────────────────*/
.pagination{display:flex;gap:.28rem;flex-wrap:wrap;margin-top:2rem;justify-content:center}
.pg-btn,.page-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:var(--r8);font-size:.78rem;font-weight:600;border:1px solid var(--border);color:var(--ink-6);background:var(--white);transition:all var(--fast);text-decoration:none;font-family:var(--sans)}
.pg-btn:hover,.page-btn:hover{border-color:var(--ink-8);color:var(--ink)}
.pg-btn.active,.page-btn-active{background:var(--fire);color:#fff;border-color:var(--fire);width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r8);font-size:.78rem;font-weight:600}
.mt-2{margin-top:1.25rem}

/* ─── OTP ─────────────────────────────────────────────*/
.otp-group{display:flex;gap:.45rem;justify-content:center;margin:1.35rem 0}
.otp-digit{width:48px;height:56px;text-align:center;font-size:1.35rem;font-weight:700;font-family:var(--mono);border:1.5px solid var(--border);border-radius:var(--r12);outline:none;background:var(--white);color:var(--ink);transition:all var(--fast)}
.otp-digit:focus{border-color:var(--fire);box-shadow:0 0 0 3px rgba(200,57,12,.09);transform:scale(1.04)}
.otp-digit.filled{border-color:var(--fire);background:var(--fire-pale)}

/* ─── STORIES ─────────────────────────────────────────*/
.stories-row{display:flex;gap:.75rem;overflow-x:auto;scrollbar-width:none;padding:.15rem 0}
.stories-row::-webkit-scrollbar{display:none}
.story-thumb{flex-shrink:0;width:66px;cursor:pointer;text-align:center}
.story-ring{width:64px;height:64px;border-radius:50%;background:conic-gradient(var(--fire),#F06835,var(--fire));padding:2px;margin:0 auto .35rem}
.story-ring.seen{background:var(--ink-9)}
.story-ring-inner{width:100%;height:100%;border-radius:50%;overflow:hidden;border:2px solid var(--white);background:var(--ink-95)}
.story-ring-inner img{width:100%;height:100%;object-fit:cover}
.story-name{font-size:.6rem;font-weight:500;color:var(--ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Story modal */
.story-modal{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:9000;display:flex;align-items:center;justify-content:center;animation:fadeIn var(--fast)}
.story-modal-inner{width:min(380px,94vw);aspect-ratio:9/16;position:relative;border-radius:var(--r20);overflow:hidden}
.story-progress{position:absolute;top:.6rem;left:.6rem;right:.6rem;display:flex;gap:.28rem;z-index:2}
.story-progress-seg{flex:1;height:2px;background:rgba(255,255,255,.3);border-radius:99px;overflow:hidden}
.story-progress-fill{height:100%;background:#fff;transition:width 5s linear}
.story-modal-close{position:absolute;top:.6rem;right:.6rem;background:rgba(0,0,0,.35);border:none;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:.95rem;display:flex;align-items:center;justify-content:center;z-index:3}

/* ─── REWARDS ─────────────────────────────────────────*/
.tier-badge{display:inline-flex;align-items:center;padding:.18rem .6rem;border-radius:var(--pill);font-size:.65rem;font-weight:700}
.tier-bronze{background:rgba(205,127,50,.18);color:#CD7F32;border:1px solid rgba(205,127,50,.3)}
.tier-silver{background:rgba(150,150,160,.18);color:#8E8E99;border:1px solid rgba(150,150,160,.3)}
.tier-gold{background:rgba(196,154,60,.18);color:var(--sand);border:1px solid rgba(196,154,60,.3)}
.tier-prog{background:rgba(255,255,255,.1);height:4px;border-radius:99px;overflow:hidden;margin:.6rem 0 .25rem}
.tier-prog-fill{height:100%;background:var(--sand);border-radius:99px;transition:width .5s var(--ease)}

/* ─── PLAN CARDS ──────────────────────────────────────*/
.plan-card{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r20);padding:1.75rem;transition:transform var(--base),box-shadow var(--base)}
.plan-card:hover{transform:translateY(-3px);box-shadow:var(--s4)}
.plan-card.featured{border-color:var(--fire);box-shadow:var(--sf)}
.plan-name{font-family:var(--serif);font-size:1.1rem;font-weight:700;font-style:italic;margin-bottom:.45rem}
.plan-price{font-size:2rem;font-weight:800;letter-spacing:-.8px;line-height:1;font-family:var(--serif)}
.plan-price sup{font-size:.85rem;vertical-align:super;letter-spacing:0}
.plan-price span{font-size:.78rem;font-weight:400;color:var(--ink-6);font-family:var(--sans)}
.plan-feature{display:flex;align-items:flex-start;gap:.45rem;font-size:.82rem;color:var(--ink-4);padding:.27rem 0}
.plan-feature::before{content:'';width:13px;height:13px;border-radius:50%;background:var(--jade-pale);border:1.5px solid var(--jade);flex-shrink:0;margin-top:2px}

/* ─── WIDGET ──────────────────────────────────────────*/
.widget{background:var(--white);border:1px solid var(--border);border-radius:var(--r16);padding:1.1rem 1.2rem;margin-bottom:1rem}
.widget-dark{background:var(--ink);border-color:transparent}
.widget-fire{background:var(--fire);border-color:transparent}
.widget-hd{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.9px;color:var(--ink-6);margin-bottom:.8rem}
.widget-dark .widget-hd{color:rgba(255,255,255,.28)}
.widget-fire .widget-hd{color:rgba(255,255,255,.55)}

/* ─── TRACKING TOGGLE ─────────────────────────────────*/
.tracking-toggle{position:relative;width:42px;height:22px;flex-shrink:0}
.tracking-toggle input{opacity:0;width:0;height:0;position:absolute}
.tracking-toggle-track{position:absolute;inset:0;background:var(--ink-9);border-radius:99px;cursor:pointer;transition:background var(--fast)}
.tracking-toggle input:checked + .tracking-toggle-track{background:var(--fire)}
.tracking-toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:var(--s1);transition:transform var(--fast)}
.tracking-toggle input:checked ~ .tracking-toggle-thumb{transform:translateX(20px)}
.tracking-provider{background:var(--white);border:1px solid var(--border);border-radius:var(--r16);padding:1.1rem 1.35rem;margin-bottom:.65rem;display:flex;align-items:center;gap:.85rem}

/* ─── MENU ITEMS ──────────────────────────────────────*/
.menu-sec-name{font-family:var(--serif);font-size:.97rem;font-weight:700;font-style:italic;color:var(--fire);border-bottom:1px solid var(--fire-bd);padding-bottom:.35rem;margin-bottom:.8rem}
.menu-item{display:flex;align-items:center;gap:.85rem;padding:.72rem 0;border-bottom:1px solid var(--border)}
.menu-item:last-child{border-bottom:none}
.menu-item-img{width:58px;height:58px;border-radius:var(--r8);object-fit:cover;flex-shrink:0}
.menu-item-name{font-weight:600;font-size:.86rem;color:var(--ink)}
.menu-item-desc{font-size:.73rem;color:var(--ink-6);line-height:1.45;margin-top:.08rem}
.menu-item-price{font-weight:700;color:var(--fire);font-size:.88rem;white-space:nowrap;margin-left:auto;padding-left:.5rem;font-variant-numeric:tabular-nums}
.diet-b{font-size:.6rem;font-weight:700;padding:.08rem .3rem;border-radius:var(--r4)}
.diet-veg{background:#D1FAE5;color:#064E3B}
.diet-spicy{background:#FEE2E2;color:#991B1B}
.diet-halal{background:#DBEAFE;color:#1E3A8A}

/* ─── TOAST ───────────────────────────────────────────*/
.toast-tray{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.4rem;pointer-events:none;max-width:300px}
.toast{padding:.75rem 1rem;border-radius:var(--r12);font-size:.84rem;font-weight:500;box-shadow:var(--s4);display:flex;align-items:center;gap:.5rem;animation:toastIn var(--fast);pointer-events:all}
.toast-ok{background:#064E3B;color:#fff}
.toast-err{background:#7F1D1D;color:#fff}
.toast-inf{background:var(--ink);color:#fff}
@media(max-width:520px){.toast-tray{left:1rem;right:1rem;top:auto;bottom:calc(var(--tab-h) + .75rem)}.toast{border-radius:var(--r12)}.toast-tray{max-width:none}}

/* ─── MISC ────────────────────────────────────────────*/
.divider{height:1px;background:var(--border);margin:1.1rem 0}
.skeleton{background:linear-gradient(90deg,var(--ink-95) 25%,var(--ink-98) 50%,var(--ink-95) 75%);background-size:500px 100%;animation:shimmer 1.4s infinite;border-radius:var(--r4)}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hours-row{display:flex;justify-content:space-between;padding:.4rem 0;font-size:.86rem;border-bottom:1px solid var(--border)}
.hours-row:last-child{border-bottom:none}
.hours-row.today{color:var(--fire);font-weight:600}
.hours-day{color:var(--ink-6);font-weight:500}
.confetti-wrap{position:fixed;inset:0;pointer-events:none;z-index:9998;overflow:hidden}
.confetti-piece{position:absolute;font-size:1.4rem;animation:fadeUp 3s ease-in forwards}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}
.gallery-grid img{aspect-ratio:1;object-fit:cover;border-radius:var(--r8);cursor:pointer;transition:opacity var(--fast)}
.gallery-grid img:hover{opacity:.8}
.offering-pill{display:inline-flex;align-items:center;gap:.28rem;background:var(--sand-pale);color:var(--sand);border:1px solid var(--sand-bd);border-radius:var(--r4);padding:.18rem .55rem;font-size:.74rem;font-weight:600}
.campaign-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r16);padding:1.1rem;margin-bottom:.75rem}
.review-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r12);padding:1rem;margin-bottom:.7rem}
.review-stars{color:var(--sand);font-size:.83rem;letter-spacing:.4px}
.page-btn-active{background:var(--fire);color:#fff;border-color:var(--fire);display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--r8);font-size:.78rem;font-weight:600}
.filter-div{width:1px;background:var(--border);margin:0 .1rem;align-self:stretch}

/* Push prompt */
.push-prompt{position:fixed;bottom:calc(var(--tab-h) + .75rem);left:1rem;right:1rem;background:var(--ink);color:#fff;border-radius:var(--r16);padding:1rem 1.1rem;box-shadow:var(--s5);display:flex;align-items:center;gap:.85rem;z-index:500;animation:slideUp .25s var(--ease)}
.push-prompt-text{flex:1;font-size:.84rem;line-height:1.5}
.push-prompt-title{font-weight:700;margin-bottom:.15rem;font-size:.88rem}
@media(min-width:521px){.push-prompt{left:auto;right:1.25rem;max-width:340px;bottom:1.25rem}}

/* Social post linked card */
.social-post{background:var(--white);border:1px solid var(--border);border-radius:var(--r16);overflow:hidden;margin-bottom:1rem}
.social-post-head{display:flex;align-items:center;gap:.65rem;padding:.85rem 1rem .6rem}
.social-post-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;background:var(--ink-95);flex-shrink:0}
.social-post-name{font-weight:600;font-size:.84rem;color:var(--ink)}
.social-post-meta{font-size:.7rem;color:var(--ink-6)}
.social-post-img{width:100%;aspect-ratio:16/9;object-fit:cover}
.social-post-body{padding:.75rem 1rem .85rem}
.social-post-caption{font-size:.88rem;line-height:1.65;color:var(--ink-2);margin-bottom:.6rem}
.social-post-foot{display:flex;align-items:center;gap:.85rem;padding:.6rem 1rem;border-top:1px solid var(--border)}
.like-btn{display:flex;align-items:center;gap:.32rem;font-size:.78rem;font-weight:600;color:var(--ink-6);cursor:pointer;background:none;border:none;transition:color var(--fast);font-family:var(--sans)}
.like-btn:hover,.like-btn.liked{color:var(--fire)}
.action-bar .wrap,.action-bar .container{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}
.action-bar{background:var(--ink-98);border-bottom:1px solid var(--border);padding:.55rem 0}
.unclaimed-bar{background:var(--warn-bg);border-bottom:1px solid var(--warn-bd);padding:.65rem 0}
.unclaimed-bar .wrap,.unclaimed-bar .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.65rem}

/* ─── AED DIRHAM SYMBOL ───────────────────────────────*/
.price-sym{display:inline-block;vertical-align:-0.1em;line-height:1}
.price-sym-dim{opacity:.15}
.aed-price{display:inline-flex;align-items:center;gap:.08em;font-variant-numeric:tabular-nums}
[x-cloak]{display:none!important}
/* ─── PERFORMANCE ────────────────────────────────────────────*/
img{max-width:100%;height:auto;display:block}
.vc-img img,.gallery-grid img{content-visibility:auto}
.chip-violet{background:#EDE9FE;color:#5B21B6}
/* ─── NAV MOBILE FIXES ───────────────────────────────────────*/
@media(max-width:768px){
  .nav{padding:0 .875rem;gap:.35rem}
  .nav-logo{font-size:1rem}
  .nav-right .btn:not(:first-child){display:none}
  .nav-right{gap:.3rem}
  .hero-stats{margin-top:1rem}
  .hero-stat-n{font-size:1.4rem}
  .two-col,.page-grid{grid-template-columns:1fr!important;padding:1rem 0 5rem}
  .sidebar-col{display:none}
  .blog-layout{grid-template-columns:1fr!important}
  .venue-hero{height:260px}
  .venue-hero-name{font-size:1.35rem!important}
  .hd-feat-img{height:220px}
  .hd-feat-body{padding:1.25rem!important}
  .vc-img{height:165px}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  #photo-strip img{height:140px!important}
  .dash-layout{grid-template-columns:1fr!important}
  .dash-sidebar{display:none!important}
  .stat-card .stat-val{font-size:1.4rem}
  .form-card{padding:1rem}
  .info-chips{gap:.3rem}
  .info-chip{font-size:.72rem;padding:.32rem .6rem}
}
@media(max-width:480px){
  .hero-h1{font-size:1.65rem!important;letter-spacing:-.3px}
  .hero-sub{font-size:.84rem}
  .search-bar input{font-size:.84rem}
  .search-bar button{padding:.78rem 1rem;font-size:.8rem}
  .vc-body{padding:.75rem .85rem .9rem}
  .vc-name{font-size:.88rem}
  .otp-box{width:42px;height:50px;font-size:1.2rem;border-radius:var(--r8)}
  .otp-group{gap:.35rem}
  .plan-card{padding:1.25rem}
  .split-left{display:none!important}
  .split-right{padding:1.5rem 1rem}
  .card{padding:1.75rem 1.35rem;border-radius:var(--r16)}
  .review-card{padding:.85rem}
  .campaign-card{padding:.9rem}
  .venue-tab-row{padding:0 .875rem}
  .venue-tab{padding:.7rem .75rem;font-size:.75rem}
  .chat-widget-wrap{right:.875rem;bottom:calc(var(--tab-h) + .75rem)}
}
/* Fix chat widget position on mobile */
#chat-widget{bottom:calc(var(--tab-h) + .75rem)!important;right:.875rem}
@media(min-width:769px){#chat-widget{bottom:1.25rem;right:1.25rem}}
/* Admin mobile */
@media(max-width:768px){
  .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .table-wrap table{min-width:600px}
  .filter-tab{font-size:.72rem;padding:.28rem .65rem}
  .stats-grid{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:768px){#mob-search-btn{display:flex!important}}
/* ─── RESPONSIVE HELPER GRIDS ────────────────────────────────*/
.resp-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media(max-width:768px){.resp-grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.resp-grid-3{grid-template-columns:1fr}}
/* Dashboard main area full width on mobile */
@media(max-width:900px){
  .dash-layout{grid-template-columns:1fr}
  .dash-sidebar{display:none}
  .dash-main{padding:1rem}
}
/* Venue show page mobile */
@media(max-width:768px){
  .venue-tabs-bar{top:var(--nav-h)}
  .action-bar .container,.action-bar .wrap{flex-wrap:wrap;gap:.4rem}
  .unclaimed-bar .container,.unclaimed-bar .wrap{flex-direction:column;gap:.5rem}
  .info-chips{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;padding:.1rem 0}
  .info-chips::-webkit-scrollbar{display:none}
}
/* Homepage grid fix */  
@media(max-width:480px){
  .main-grid{grid-template-columns:1fr!important;display:block}
  .stories-row{gap:.5rem}
  .story-thumb{width:56px}
  .story-ring{width:54px;height:54px}
  .hero-stat{padding:0 1.1rem}
}
/* Login page */
@media(max-width:480px){
  .otp-input-row{gap:.3rem}
  .otp-box{width:40px;height:48px;font-size:1.15rem;border-radius:var(--r8)}
}
/* Plan cards */
@media(max-width:600px){
  .grid-3.plan-grid{grid-template-columns:1fr}
}
/* ─── OFFER PAGE ─────────────────────────────────────────────*/
.offer-hero{position:relative;height:280px;overflow:hidden;background:var(--ink-2)}
.offer-hero img{width:100%;height:100%;object-fit:cover;object-position:center}
.offer-hero-fade{position:absolute;inset:0;background:linear-gradient(to top,rgba(17,19,24,.85) 0%,rgba(0,0,0,.1) 55%,transparent 100%)}
@media(max-width:480px){.offer-hero{height:220px}}
/* ─── VENUE SHOW PAGE ────────────────────────────────────────*/
.venue-layout{display:grid;grid-template-columns:1fr 280px;gap:2rem;align-items:start}
@media(max-width:900px){.venue-layout{grid-template-columns:1fr!important}}
@media(max-width:900px){.venue-layout .sidebar-col{display:none}}
/* Tab content - hide by default, venueTabs JS shows active */
#tab-offers,#tab-menu,#tab-gallery,#tab-reviews{display:none}
