/* ── DineFlow Default Theme — premium navy + gold ────────────
   Dark "chrome" (nav, sidebar, hero, app bar, tab bar) frames a light,
   legible content area — the pattern premium apps use: moody, confident
   surfaces for navigation/brand moments, bright functional space for
   actually browsing and ordering. Gold is the signature accent against
   the navy; blue is secondary. Headings use Sora (display) against
   Inter (body/UI) for real typographic contrast instead of one weight
   doing every job. */
:root {
    --t-ink:         #0c0f1d;
    --t-ink-2:       #161a2e;
    --t-ink-border:  #2a2f49;
    --t-ink-text:    #f1f2f7;
    --t-ink-muted:   #9296ad;

    --t-bg:       #f3f4f8;
    --t-surface:  #ffffff;
    --t-card:     #ffffff;
    --t-border:   #e3e5ee;
    --t-text:     #12141f;
    --t-muted:    #666a7d;

    --t-gold:      #d99a2b;
    --t-gold-dark: #b87f1e;
    --t-blue:      #3457d5;
    --t-blue-dark: #2743ad;
    --t-accent:    var(--t-gold);
    --t-accent2:   #e8ac3f;
    --t-green:     #15803d;

    --t-radius:   14px;
    --t-shadow:   0 10px 28px rgba(12,15,29,.08);
    --t-font:         'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --t-font-display: 'Sora', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
body   { margin:0; font-family:var(--t-font); background:var(--t-bg); color:var(--t-text); font-size:16px; line-height:1.65 }
a      { color:var(--t-blue); text-decoration:none }
a:hover{ color:var(--t-blue-dark) }
img    { max-width:100%; display:block }
h1,h2,h3,h4,h5,h6 { font-family:var(--t-font-display) }

/* ── Nav (restaurant-scoped pages) ───────────────────────── */
.t-nav { position:sticky;top:0;z-index:100;background:var(--t-ink);border-bottom:1px solid var(--t-ink-border);padding:.9rem 0 }
.t-nav-inner { max-width:1160px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;gap:1.5rem }
.t-logo { font-family:var(--t-font-display);font-size:1.4rem;font-weight:700;color:var(--t-ink-text);letter-spacing:-.02em;flex-shrink:0 }
.t-logo span { color:var(--t-gold) }
.t-nav-links { display:flex;gap:.1rem;list-style:none;padding:0;margin:0 auto }
.t-nav-links a { padding:.45rem .85rem;border-radius:6px;color:var(--t-ink-muted);font-size:.88rem;font-weight:500;transition:all .15s }
.t-nav-links a:hover,.t-nav-links a.active { color:#fff;background:rgba(255,255,255,.08) }
.t-nav-cta { background:var(--t-gold);color:var(--t-ink)!important;padding:.45rem 1.1rem;border-radius:8px;font-weight:700;font-size:.85rem;flex-shrink:0 }
.t-nav-cta:hover { background:var(--t-gold-dark) }
.t-nav-mobile-btn { display:none;background:none;border:1px solid var(--t-ink-border);border-radius:8px;padding:.4rem .6rem;color:var(--t-ink-text);cursor:pointer;margin-left:auto }
.t-mobile-menu { display:none;background:var(--t-ink-2);border-top:1px solid var(--t-ink-border);padding:1rem 1.5rem }
.t-mobile-menu.open { display:block }
.t-mobile-menu a { display:block;padding:.65rem 0;color:var(--t-ink-muted);border-bottom:1px solid var(--t-ink-border);font-size:.9rem }

/* ── Hero ────────────────────────────────────────────────── */
.t-hero { position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden;background:var(--t-ink) }
.t-hero::before { content:'';position:absolute;top:-20%;right:-10%;width:60%;height:80%;
    background:radial-gradient(circle, rgba(217,154,43,.28) 0%, transparent 70%);pointer-events:none }
.t-hero-bg { position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.4) }
.t-hero-gradient { position:absolute;inset:0;background:linear-gradient(to right,rgba(12,15,29,.9) 40%,transparent 85%) }
.t-hero-content { position:relative;max-width:1160px;margin:0 auto;padding:5rem 1.5rem;width:100% }
.t-hero-tag { display:inline-block;background:rgba(217,154,43,.15);color:var(--t-gold);border:1px solid rgba(217,154,43,.35);border-radius:20px;padding:.3rem 1rem;font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:1.25rem }
.t-hero-title { font-family:var(--t-font-display);font-size:clamp(2.2rem,5vw,4rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:#fff;margin:0 0 1rem;max-width:600px }
.t-hero-sub { font-size:1.1rem;color:var(--t-ink-muted);margin:0 0 2.25rem;max-width:480px }
.t-hero-actions { display:flex;gap:.75rem;flex-wrap:wrap }
.t-btn { display:inline-flex;align-items:center;gap:.4rem;padding:.75rem 1.75rem;border-radius:10px;font-weight:600;font-size:.92rem;cursor:pointer;border:none;transition:all .2s }
.t-btn-primary { background:var(--t-gold);color:var(--t-ink) }
.t-btn-primary:hover { background:var(--t-gold-dark);color:var(--t-ink) }
.t-btn-outline { background:transparent;color:#fff;border:1px solid rgba(255,255,255,.25) }
.t-btn-outline:hover { background:rgba(255,255,255,.1);color:#fff }
.t-hero-stats { display:flex;gap:2.5rem;margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.12) }
.t-hero-stat-num { font-family:var(--t-font-display);font-size:1.8rem;font-weight:700;color:#fff;line-height:1 }
.t-hero-stat-lbl { font-size:.78rem;color:var(--t-ink-muted);margin-top:.2rem }

/* ── Sections ────────────────────────────────────────────── */
.t-section { padding:5rem 0 }
.t-section-sm { padding:3rem 0 }
.t-container { max-width:1160px;margin:0 auto;padding:0 1.5rem }
.t-section-header { text-align:center;margin-bottom:3rem }
.t-section-tag { display:inline-block;background:rgba(217,154,43,.12);color:var(--t-gold-dark);border-radius:20px;padding:.25rem .85rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.85rem }
.t-section-title { font-family:var(--t-font-display);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;letter-spacing:-.02em;color:var(--t-text);margin:0 0 .75rem }
.t-section-sub { color:var(--t-muted);font-size:1rem;max-width:520px;margin:0 auto }

/* ── Cards ───────────────────────────────────────────────── */
.t-card { background:var(--t-card);border:1px solid var(--t-border);border-radius:var(--t-radius);overflow:hidden;transition:transform .2s,box-shadow .2s;box-shadow:var(--t-shadow) }
.t-card:hover { transform:translateY(-3px);box-shadow:0 16px 36px rgba(12,15,29,.12) }
.t-card-body { padding:1.25rem }
.t-card-img { width:100%;aspect-ratio:4/3;object-fit:cover }

/* ── Menu ────────────────────────────────────────────────── */
.t-menu-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem }
.t-menu-item { display:flex;gap:1rem;background:var(--t-card);border:1px solid var(--t-border);border-radius:var(--t-radius);padding:1rem;box-shadow:var(--t-shadow) }
.t-menu-item-img { width:80px;height:80px;border-radius:8px;object-fit:cover;flex-shrink:0;background:var(--t-bg) }
.t-menu-item-info { flex:1;min-width:0 }
.t-menu-item-name { font-family:var(--t-font-display);font-weight:600;color:var(--t-text);margin-bottom:.25rem }
.t-menu-item-desc { font-size:.8rem;color:var(--t-muted);margin-bottom:.5rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical }
.t-menu-item-price { font-weight:700;color:var(--t-gold-dark);font-size:1rem }
.t-menu-item-sale { text-decoration:line-through;color:var(--t-muted);font-size:.8rem;margin-left:.4rem }
.t-dietary-badge { display:inline-block;font-size:.62rem;padding:.1rem .4rem;border-radius:4px;background:rgba(21,128,61,.1);color:var(--t-green);border:1px solid rgba(21,128,61,.22) }

/* ── Gallery ─────────────────────────────────────────────── */
.t-gallery-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem }
.t-gallery-item { aspect-ratio:4/3;border-radius:var(--t-radius);overflow:hidden;cursor:pointer;position:relative }
.t-gallery-item img,.t-gallery-item video { width:100%;height:100%;object-fit:cover;transition:transform .35s }
.t-gallery-item:hover img,.t-gallery-item:hover video { transform:scale(1.06) }
.t-gallery-item-overlay { position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(0,0,0,.6));opacity:0;transition:opacity .2s;display:flex;align-items:flex-end;padding:.75rem }
.t-gallery-item:hover .t-gallery-item-overlay { opacity:1 }
.t-gallery-item-caption { color:#fff;font-size:.82rem;font-weight:500 }

/* ── Blog ────────────────────────────────────────────────── */
.t-blog-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem }
.t-blog-cover { aspect-ratio:16/9;object-fit:cover;width:100% }
.t-blog-meta { font-size:.78rem;color:var(--t-muted);margin-bottom:.5rem }
.t-blog-title { font-family:var(--t-font-display);font-size:1.05rem;font-weight:600;color:var(--t-text);line-height:1.35;margin-bottom:.5rem }
.t-blog-excerpt { font-size:.85rem;color:var(--t-muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical }

/* ── Forms ───────────────────────────────────────────────── */
.t-form { background:var(--t-card);border:1px solid var(--t-border);border-radius:var(--t-radius);padding:2rem;box-shadow:var(--t-shadow) }
.t-form-title { font-family:var(--t-font-display);font-size:1.3rem;font-weight:600;color:var(--t-text);margin:0 0 1.5rem }
.t-label { display:block;font-size:.82rem;font-weight:600;color:var(--t-muted);margin-bottom:.4rem;letter-spacing:.02em }
.t-input { width:100%;background:var(--t-surface);border:1px solid var(--t-border);border-radius:8px;padding:.65rem .9rem;color:var(--t-text);font-size:.9rem;transition:border-color .15s;outline:none }
.t-input:focus { border-color:var(--t-gold);box-shadow:0 0 0 3px rgba(217,154,43,.15) }
.t-input::placeholder { color:var(--t-muted) }
.t-mb { margin-bottom:1rem }
.t-row { display:grid;grid-template-columns:1fr 1fr;gap:1rem }
.t-row-3 { display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem }
.t-submit { background:var(--t-gold);color:var(--t-ink);border:none;border-radius:10px;padding:.8rem 2rem;font-weight:700;font-size:.95rem;cursor:pointer;transition:background .2s;width:100% }
.t-submit:hover { background:var(--t-gold-dark) }

/* ── Stars ───────────────────────────────────────────────── */
.t-stars { color:var(--t-accent2);font-size:1rem }
.t-stars-input { display:flex;gap:.35rem;margin-bottom:1rem }
.t-stars-input input { display:none }
.t-stars-input label { font-size:1.5rem;color:var(--t-border);cursor:pointer;transition:color .1s }
.t-stars-input input:checked ~ label,
.t-stars-input label:hover,
.t-stars-input label:hover ~ label { color:var(--t-accent2) }

/* ── Info panels ─────────────────────────────────────────── */
.t-info-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem }
.t-info-item { background:var(--t-card);border:1px solid var(--t-border);border-radius:var(--t-radius);padding:1.25rem;display:flex;gap:.85rem;align-items:flex-start;box-shadow:var(--t-shadow) }
.t-info-icon { width:40px;height:40px;border-radius:8px;background:rgba(52,87,213,.1);color:var(--t-blue);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0 }
.t-info-label { font-size:.75rem;color:var(--t-muted);margin-bottom:.15rem }
.t-info-value { font-size:.9rem;font-weight:600;color:var(--t-text) }

/* ── Flash / alerts ──────────────────────────────────────── */
.t-alert { padding:1rem 1.25rem;border-radius:10px;margin-bottom:1.5rem;display:flex;gap:.75rem;align-items:flex-start }
.t-alert-success { background:rgba(21,128,61,.08);border:1px solid rgba(21,128,61,.25);color:#15803d }
.t-alert-error   { background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.25);color:#dc2626 }

/* ── Page header ─────────────────────────────────────────── */
.t-page-header { background:var(--t-surface);border-bottom:1px solid var(--t-border);padding:3rem 0 2.5rem }
.t-page-header-title { font-family:var(--t-font-display);font-size:2rem;font-weight:700;color:var(--t-text);letter-spacing:-.02em }
.t-breadcrumb { font-size:.82rem;color:var(--t-muted);margin-top:.4rem }
.t-breadcrumb a { color:var(--t-muted) }
.t-breadcrumb a:hover { color:var(--t-text) }

/* ── Hall cards ──────────────────────────────────────────── */
.t-hall-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem }
.t-hall-badge { display:inline-block;background:rgba(52,87,213,.1);color:var(--t-blue);border-radius:20px;padding:.2rem .7rem;font-size:.72rem;font-weight:600 }

/* ── Footer ──────────────────────────────────────────────── */
.t-footer { background:var(--t-ink);border-top:1px solid var(--t-ink-border);padding:3rem 0 1.5rem;margin-top:5rem;color:var(--t-ink-muted) }

/* ── App shell (customer-facing ordering UI) ─────────────────────────── */
.t-appbar { position:sticky;top:0;z-index:90;background:var(--t-ink);padding:.9rem 1.1rem .8rem;border-bottom:1px solid var(--t-ink-border) }
.t-appbar-location { display:flex;align-items:center;gap:.4rem;color:#fff;font-weight:600;font-size:.92rem;margin-bottom:.75rem }
.t-appbar-location i { color:var(--t-gold) }
.t-appbar-location .chev { margin-left:auto;color:var(--t-ink-muted);font-size:.8rem }
.t-search { display:flex;align-items:center;gap:.6rem;background:var(--t-ink-2);border:1px solid var(--t-ink-border);border-radius:999px;padding:.7rem 1.05rem }
.t-search i { color:var(--t-ink-muted) }
.t-search input { flex:1;background:none;border:none;outline:none;color:#fff;font-size:.88rem;font-family:var(--t-font) }
.t-search input::placeholder { color:var(--t-ink-muted) }

.t-chip-row { display:flex;gap:.55rem;overflow-x:auto;padding:1rem 1.1rem;scrollbar-width:none }
.t-chip-row::-webkit-scrollbar { display:none }
.t-chip { flex-shrink:0;display:inline-flex;align-items:center;gap:.35rem;background:var(--t-surface);border:1px solid var(--t-border);color:var(--t-muted);
    border-radius:999px;padding:.45rem 1rem;font-size:.8rem;font-weight:600;white-space:nowrap;transition:all .15s }
.t-chip.active,.t-chip:hover { background:rgba(217,154,43,.12);border-color:var(--t-gold);color:var(--t-gold-dark) }

.t-rest-list { display:flex;flex-direction:column;gap:1rem;padding:1.1rem 1.1rem 6.5rem;background:var(--t-bg) }
.t-rest-card { display:flex;gap:1rem;background:var(--t-card);border:1px solid var(--t-border);border-radius:var(--t-radius);overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--t-shadow) }
.t-rest-card:hover { border-color:var(--t-gold) }
.t-rest-card-img { width:104px;height:104px;object-fit:cover;flex-shrink:0;background:var(--t-bg) }
.t-rest-card-img-ph { width:104px;height:104px;flex-shrink:0;background:linear-gradient(135deg,rgba(52,87,213,.1),rgba(217,154,43,.14));display:flex;align-items:center;justify-content:center;font-size:1.8rem }
.t-rest-card-body { padding:.8rem .9rem .8rem 0;min-width:0;flex:1;display:flex;flex-direction:column;justify-content:center }
.t-rest-card-name { font-family:var(--t-font-display);font-weight:600;color:var(--t-text);font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap }
.t-rest-card-tag { font-size:.78rem;color:var(--t-muted);margin-top:.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap }
.t-rest-card-meta { display:flex;align-items:center;gap:.7rem;margin-top:.5rem;font-size:.76rem;color:var(--t-muted) }
.t-rest-card-meta .rating { color:var(--t-gold-dark);font-weight:700;display:flex;align-items:center;gap:.2rem }

.t-tabbar { position:fixed;left:0;right:0;bottom:0;z-index:95;display:flex;background:var(--t-ink);border-top:1px solid var(--t-ink-border);
    padding:.5rem 0 max(.5rem, env(safe-area-inset-bottom)) }
.t-tabbar-item { flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem;color:var(--t-ink-muted);text-decoration:none;font-size:.66rem;font-weight:600;position:relative }
.t-tabbar-item i { font-size:1.25rem }
.t-tabbar-item.active { color:var(--t-gold) }
.t-tabbar-badge { position:absolute;top:-2px;right:calc(50% - 18px);background:var(--t-gold);color:var(--t-ink);font-size:.6rem;font-weight:700;border-radius:999px;min-width:15px;height:15px;display:flex;align-items:center;justify-content:center;padding:0 3px }
body.t-has-tabbar { padding-bottom:4.75rem }

/* ── Desktop layout (sidebar shell) ──────────────────────────────────── */
.t-desktop-only { display:none }

@media (min-width:900px) {
    .t-appbar, .t-chip-row, .t-tabbar { display:none !important }
    body.t-has-tabbar { padding-bottom:0 }
    .t-mobile-only { display:none !important }
    .t-desktop-only { display:block }
    .t-chip-row.t-desktop-only { display:flex }
}

.t-dtopbar { display:flex;align-items:center;gap:1.25rem;padding:1rem 2rem;border-bottom:1px solid var(--t-ink-border);background:var(--t-ink) }
.t-dtopbar-logo { font-family:var(--t-font-display);font-weight:700;font-size:1.15rem;color:#fff;flex-shrink:0 }
.t-dtopbar-logo span { color:var(--t-gold) }
.t-dtopbar-addr { display:flex;align-items:center;gap:.5rem;background:rgba(217,154,43,.14);border:1px solid rgba(217,154,43,.35);color:var(--t-gold);
    border-radius:999px;padding:.55rem 1.1rem;font-size:.85rem;font-weight:700;cursor:pointer;flex-shrink:0 }
.t-dtopbar-search { flex:1;display:flex;align-items:center;gap:.6rem;background:var(--t-ink-2);border:1px solid var(--t-ink-border);border-radius:999px;padding:.6rem 1.1rem;max-width:420px }
.t-dtopbar-search input { flex:1;background:none;border:none;outline:none;color:#fff;font-size:.86rem;font-family:var(--t-font) }
.t-dtopbar-search i { color:var(--t-ink-muted)!important }
.t-dtopbar-link { color:var(--t-ink-muted);font-size:.85rem;font-weight:600;white-space:nowrap }
.t-dtopbar-link:hover { color:#fff }

.t-dshell { display:flex;max-width:1400px;margin:0 auto;background:var(--t-bg) }
.t-dsidebar { width:220px;flex-shrink:0;padding:1.75rem 1rem;background:var(--t-ink);border-right:1px solid var(--t-ink-border);position:sticky;top:0;align-self:flex-start;height:100vh }
.t-dsidebar-item { display:flex;align-items:center;gap:.85rem;padding:.7rem .85rem;border-radius:10px;color:var(--t-ink-muted);font-weight:600;font-size:.9rem;margin-bottom:.2rem }
.t-dsidebar-item i { font-size:1.15rem;width:20px;text-align:center }
.t-dsidebar-item.active,.t-dsidebar-item:hover { background:rgba(217,154,43,.12);color:var(--t-gold) }
.t-dmain { flex:1;min-width:0;padding:2rem 2.5rem 4rem;background:var(--t-bg) }

.t-dhero { position:relative;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;background:var(--t-ink);
    border-radius:20px;padding:3rem;margin-bottom:3rem;overflow:hidden;box-shadow:0 20px 48px rgba(12,15,29,.22) }
.t-dhero::before { content:'';position:absolute;top:-30%;right:-15%;width:55%;height:100%;
    background:radial-gradient(circle, rgba(217,154,43,.3) 0%, transparent 70%);pointer-events:none }
.t-dhero-visual { position:relative;aspect-ratio:4/3;border-radius:16px;background:linear-gradient(135deg,var(--t-gold) 0%,var(--t-blue) 130%);
    display:flex;align-items:center;justify-content:center;font-size:5rem;box-shadow:0 12px 32px rgba(217,154,43,.25) }
.t-dhero-title { position:relative;font-family:var(--t-font-display);font-size:2.2rem;font-weight:700;line-height:1.15;color:#fff;margin:0 0 1rem;letter-spacing:-.02em }
.t-dhero-sub { position:relative;color:var(--t-ink-muted);font-size:1rem;margin-bottom:1.75rem;max-width:420px }
.t-dhero-actions { position:relative;display:flex;gap:.85rem }

.t-dcarousel-head { display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem }
.t-dcarousel-head h2 { font-family:var(--t-font-display);font-size:1.3rem;font-weight:700;color:var(--t-text);margin:0 }
.t-dcarousel { display:grid;grid-auto-flow:column;grid-auto-columns:260px;gap:1.25rem;overflow-x:auto;padding-bottom:.5rem;scroll-behavior:smooth }
.t-dcard { background:var(--t-card);border:1px solid var(--t-border);border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;display:block;box-shadow:var(--t-shadow) }
.t-dcard:hover { border-color:var(--t-gold) }
.t-dcard-img { width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--t-bg) }
.t-dcard-img-ph { width:100%;aspect-ratio:16/10;background:linear-gradient(135deg,rgba(52,87,213,.1),rgba(217,154,43,.14));display:flex;align-items:center;justify-content:center;font-size:2.2rem }
.t-dcard-body { padding:.9rem 1rem }
.t-dcard-name { font-family:var(--t-font-display);font-weight:600;color:var(--t-text);font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis }
.t-dcard-meta { font-size:.78rem;color:var(--t-muted);margin-top:.3rem;display:flex;gap:.6rem;align-items:center }
.t-dcard-meta .rating { color:var(--t-gold-dark);font-weight:700 }

/* ── Ad slot ──────────────────────────────────────────────────────────── */
.t-ad-slot { position:relative;border-radius:var(--t-radius);overflow:hidden;background:var(--t-card);border:1px solid var(--t-border) }
.t-ad-slot img { width:100%;display:block }
.t-ad-slot-label { position:absolute;top:.6rem;left:.6rem;background:rgba(12,15,29,.65);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:5px;padding:.15rem .5rem }

.t-footer-grid { display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;margin-bottom:2rem }
.t-footer-brand { font-family:var(--t-font-display);font-size:1.3rem;font-weight:700;color:#fff;margin-bottom:.75rem }
.t-footer-brand span { color:var(--t-gold) }
.t-footer-desc { color:var(--t-ink-muted);font-size:.85rem;line-height:1.7 }
.t-footer-heading { font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin-bottom:.85rem }
.t-footer-links { list-style:none;padding:0;margin:0 }
.t-footer-links li { margin-bottom:.45rem }
.t-footer-links a { color:var(--t-ink-muted);font-size:.85rem;transition:color .15s }
.t-footer-links a:hover { color:#fff }
.t-footer-socials { display:flex;gap:.5rem;margin-top:.85rem }
.t-footer-socials a { width:34px;height:34px;border-radius:8px;background:var(--t-ink-2);border:1px solid var(--t-ink-border);color:var(--t-ink-muted);display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:all .15s }
.t-footer-socials a:hover { background:var(--t-gold);border-color:var(--t-gold);color:var(--t-ink) }
.t-footer-bottom { border-top:1px solid var(--t-ink-border);padding-top:1.25rem;font-size:.78rem;color:var(--t-ink-muted);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem }
.t-powered { color:var(--t-ink-muted);font-size:.72rem }
.t-powered a { color:var(--t-ink-muted) }

/* ── Lightbox ────────────────────────────────────────────── */
.t-lightbox { position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.95);display:none;align-items:center;justify-content:center }
.t-lightbox.open { display:flex }
.t-lightbox img,.t-lightbox video { max-width:90vw;max-height:88vh;object-fit:contain;border-radius:8px }
.t-lightbox-close { position:absolute;top:1.25rem;right:1.25rem;background:rgba(255,255,255,.15);border:none;color:#fff;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center }

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 768px) {
    .t-nav-links { display:none }
    .t-nav-cta { display:none }
    .t-nav-mobile-btn { display:block }
    .t-hero-stats { gap:1.25rem;flex-wrap:wrap }
    .t-footer-grid { grid-template-columns:1fr }
    .t-row,.t-row-3 { grid-template-columns:1fr }
    .t-hero { min-height:70vh }
    .t-section { padding:3rem 0 }
}
