/* inapropiere.ro — v4 Modern Glass UI */

@font-face {
  font-family:'Plus Jakarta Sans';
  font-style:normal;
  font-weight:200 800;
  font-display:swap;
  src:url('/assets/fonts/plus-jakarta-sans/latin-ext-wght-normal.woff2') format('woff2-variations');
  unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20CF;
}

@font-face {
  font-family:'Plus Jakarta Sans';
  font-style:normal;
  font-weight:200 800;
  font-display:swap;
  src:url('/assets/fonts/plus-jakarta-sans/latin-wght-normal.woff2') format('woff2-variations');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root {
  font-size: 16px;
  --accent: #FF6B35;
  --accent-h: #FF8A5C;
  --accent-d: #E85520;
  --accent-glow: rgba(255,107,53,0.18);
  --bg: #F0F2F5;
  --surface: rgba(255,255,255,0.72);
  --surface-solid: #ffffff;
  --surface-hover: rgba(255,255,255,0.92);
  --glass: rgba(255,255,255,0.55);
  --glass-border: rgba(255,255,255,0.7);
  --glass-strong: rgba(255,255,255,0.85);
  --text: #0F172A;
  --text-s: #334155;
  --text-m: #475569;
  --text-l: #64748B;
  --border: rgba(0,0,0,0.06);
  --border-s: rgba(0,0,0,0.1);
  --green: #10B981; --green-bg: rgba(16,185,129,0.1);
  --red: #EF4444; --red-bg: rgba(239,68,68,0.1);
  --yellow: #F59E0B; --yellow-bg: rgba(245,158,11,0.1);
  --blue: #3B82F6; --blue-bg: rgba(59,130,246,0.1);
  --r: 16px; --r-sm: 10px; --r-lg: 20px; --r-xl: 24px;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
  --shadow: 0 4px 24px rgba(0,0,0,0.06);
  --shadow-lg: 0 12px 48px rgba(0,0,0,0.08);
  --shadow-glow: 0 4px 32px var(--accent-glow);
  --blur: blur(20px); --blur-sm: blur(12px);
  --transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  --bounce: 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; font-size: 100%; }
body { min-width: 20rem; font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif; color: var(--text); background: var(--bg); line-height: 1.6; overflow-x: clip; }
img, svg, iframe, video, canvas { max-width: 100%; }
input, textarea, select, button { font: inherit; }
.site-main, .dash-main, .biz-main, .biz-section, .contact-card, .form-group, .search-bar, .business-card, .blog-card, .admin-card { min-width: 0; }
.container { max-width: 75rem; margin: 0 auto; padding-inline: clamp(0.875rem, 2.5vw, 1.5rem); width: min(100%, 75rem); }

/* ── ANIMATIONS ── */
@keyframes fadeUp { from { opacity:0; transform:translateY(20px) } to { opacity:1; transform:translateY(0) } }
@keyframes fadeIn { from { opacity:0 } to { opacity:1 } }
@keyframes slideDown { from { opacity:0; transform:translateY(-10px) } to { opacity:1; transform:translateY(0) } }
@keyframes scaleIn { from { opacity:0; transform:scale(.95) } to { opacity:1; transform:scale(1) } }
@keyframes float { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-6px) } }
.animate-up { animation: fadeUp .5s ease both }
.delay-1 { animation-delay:.05s } .delay-2 { animation-delay:.1s }
.delay-3 { animation-delay:.15s } .delay-4 { animation-delay:.2s }
.delay-5 { animation-delay:.25s } .delay-6 { animation-delay:.3s }

/* ── HEADER ── */
.site-header { position:sticky; top:0; z-index:100; background:var(--glass-strong); backdrop-filter:var(--blur); -webkit-backdrop-filter:var(--blur); border-bottom:1px solid var(--glass-border); }
.site-header .container { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:4rem; padding-block:0.5rem; }
.logo { text-decoration:none; font-size:20px; font-weight:800; color:var(--text); letter-spacing:-.5px; }
.logo strong { color:#b54708; }
.mobile-nav-toggle,
.mobile-drawer-close,
.dash-mobile-bar,
.site-mobile-bar { display:none; }
.drawer-backdrop {
  position:fixed;
  inset:0;
  background:rgba(15,23,42,0.42);
  backdrop-filter:blur(4px);
  z-index:130;
}
.mobile-nav-toggle {
  width:2.8rem;
  height:2.8rem;
  border:1px solid var(--border-s);
  border-radius:999px;
  background:rgba(255,255,255,0.88);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:4px;
  cursor:pointer;
  box-shadow:var(--shadow-sm);
}
.mobile-nav-toggle span {
  width:18px;
  height:2px;
  border-radius:999px;
  background:var(--text);
}
.mobile-drawer-head,
.dash-mobile-head {
  display:none;
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.mobile-drawer-close {
  width:2.25rem;
  height:2.25rem;
  border:none;
  border-radius:999px;
  background:rgba(15,23,42,0.08);
  color:var(--text);
  font-size:1.5rem;
  line-height:1;
  cursor:pointer;
}
.main-nav { display:flex; align-items:center; justify-content:flex-end; gap:0.375rem; flex-wrap:wrap; min-width:0; }
.main-nav a { text-decoration:none; color:var(--text-s); font-size:0.875rem; font-weight:500; padding:0.5rem 0.875rem; border-radius:var(--r-sm); transition:var(--transition); }
.main-nav a:hover { color:var(--accent); background:var(--accent-glow); }

/* ── BUTTONS ── */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:10px 20px; border-radius:var(--r-sm); font-size:14px; font-weight:600; font-family:inherit; text-decoration:none; cursor:pointer; border:none; transition:var(--transition); white-space:nowrap; }
.btn-primary { background:linear-gradient(135deg,var(--accent),var(--accent-d)); color:#fff; box-shadow:var(--shadow-glow); }
.btn-primary:hover { transform:translateY(-1px); box-shadow:0 6px 36px var(--accent-glow); filter:brightness(1.08); }
.btn-outline { border:1.5px solid var(--border-s); color:var(--text-s); background:var(--surface); }
.btn-outline:hover { border-color:var(--accent); color:var(--accent); }
.btn-ghost { color:var(--text-m); background:transparent; }
.btn-ghost:hover { color:var(--accent); background:var(--accent-glow); }
.btn-danger { background:var(--red-bg); color:var(--red); border:1px solid rgba(239,68,68,.2); }
.btn-danger:hover { background:var(--red); color:#fff; }
.btn-success { background:var(--green-bg); color:var(--green); border:1px solid rgba(16,185,129,.2); }
.btn-success:hover { background:var(--green); color:#fff; }
.btn-full { width:100%; }
.btn-lg { padding:14px 28px; font-size:16px; border-radius:var(--r); }
.btn-sm { padding:6px 14px; font-size:13px; }

/* ── HERO ── */
.hero { position:relative; padding:5rem 0 4rem; text-align:center; overflow:hidden; background:linear-gradient(160deg,#FFF5F0 0%,#FFE8DC 30%,#F0F2F5 70%,#E8EDFF 100%); }
.hero::before { content:''; position:absolute; top:-50%; right:-20%; width:600px; height:600px; background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%); animation:float 8s ease-in-out infinite; pointer-events:none; }
.hero h1 { font-size:clamp(32px,5vw,52px); font-weight:800; letter-spacing:-1px; line-height:1.15; margin-bottom:12px; position:relative; }
.hero h1 em { font-style:normal; color:var(--accent); }
.hero-sub { font-size:18px; color:var(--text-m); margin-bottom:36px; position:relative; }
.hero-stats { font-size:14px; color:var(--text-m); margin-top:24px; position:relative; }
.hero-stats strong { color:var(--accent); font-weight:700; }

/* ── SEARCH BAR ── */
.search-bar { display:flex; max-width:640px; margin:0 auto; position:relative; background:var(--glass-strong); backdrop-filter:var(--blur); border-radius:var(--r-lg); border:1px solid var(--glass-border); box-shadow:var(--shadow-lg); overflow:hidden; transition:var(--transition); }
.search-bar:focus-within { box-shadow:var(--shadow-lg),0 0 0 3px var(--accent-glow); border-color:rgba(255,107,53,.3); }
.search-bar input[type="text"] { flex:1; min-width:0; border:none; padding:16px 20px; font-size:15px; font-family:inherit; background:transparent; color:var(--text); outline:none; }
.search-bar input::placeholder { color:var(--text-l); }
.search-bar select { border:none; border-left:1px solid var(--border); padding:16px 12px; font-size:14px; font-family:inherit; color:var(--text-s); background:transparent; cursor:pointer; outline:none; }
.search-bar .btn { border-radius:0; padding:16px 24px; }

/* ── GLASS CARD ── */
.glass-card { background:var(--surface); backdrop-filter:var(--blur-sm); border:1px solid var(--glass-border); border-radius:var(--r-lg); box-shadow:var(--shadow); transition:var(--transition); }
.glass-card:hover { transform:translateY(-2px); box-shadow:var(--shadow-lg); }

/* ── CITY/CAT/BIZ CARDS ── */
.cities-section,.categories-section,.cta-section { padding:48px 0; }
.cities-section h2,.categories-section h2 { font-size:24px; font-weight:700; margin-bottom:24px; letter-spacing:-.5px; }
.cities-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; }
.city-card { display:flex; flex-direction:column; align-items:center; gap:4px; padding:20px 16px; text-decoration:none; color:var(--text); background:var(--surface); border:1px solid var(--glass-border); border-radius:var(--r); transition:var(--transition); animation:fadeUp .4s ease both; }
.city-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); border-color:var(--accent); }
.city-card:hover .city-name { color:var(--accent); }
.city-name { font-weight:700; font-size:16px; transition:var(--transition); }
.city-region { font-size:13px; color:var(--text-l); }

.categories-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:12px; }
.cat-card { display:flex; flex-direction:column; align-items:center; gap:6px; padding:20px 12px; text-decoration:none; color:var(--text); background:var(--surface); border:1px solid var(--glass-border); border-radius:var(--r); transition:var(--transition); }
.cat-card:hover { transform:translateY(-2px); box-shadow:var(--shadow); border-color:var(--accent); }
.cat-icon { font-size:28px; }
.cat-name { font-size:13px; font-weight:600; text-align:center; }

.business-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; }
.business-card { position:relative; display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--glass-border); border-radius:var(--r-lg); overflow:hidden; text-decoration:none; color:var(--text); transition:var(--transition); animation:fadeUp .5s ease both; }
.business-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.business-card-img { height:180px; overflow:hidden; background:linear-gradient(135deg,#f1f5f9,#e2e8f0); }
.business-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.business-card:hover .business-card-img img { transform:scale(1.05); }
.business-card-body { padding:16px 18px; flex:1; display:flex; flex-direction:column; }
.business-card-cat { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.8px; color:var(--accent); margin-bottom:4px; }
.business-card-name { font-size:17px; font-weight:700; line-height:1.3; margin-bottom:6px; }
.business-card-addr { font-size:13px; color:var(--text-m); margin-top:auto; padding-top:8px; }
.card-premium-badge { position:absolute; top:12px; left:12px; z-index:2; background:linear-gradient(135deg,#FEF3C7,#FDE68A); color:#92400E; font-size:11px; font-weight:700; padding:4px 10px; border-radius:20px; box-shadow:0 2px 8px rgba(0,0,0,.1); }

/* ── CTA ── */
.cta-section { text-align:center; padding:64px 0; background:linear-gradient(135deg,rgba(255,107,53,.05),rgba(255,107,53,.02)); border-top:1px solid var(--border); }
.cta-section h2 { font-size:28px; font-weight:800; margin-bottom:10px; letter-spacing:-.5px; }
.cta-section p { color:var(--text-m); margin-bottom:24px; font-size:16px; }

/* ── BADGES ── */
.badge { display:inline-flex; align-items:center; gap:4px; padding:3px 10px; border-radius:20px; font-size:11px; font-weight:600; letter-spacing:.3px; }
.badge-pending { background:var(--yellow-bg); color:#D97706; }
.badge-active { background:var(--green-bg); color:#059669; }
.badge-suspended { background:var(--red-bg); color:#DC2626; }
.badge-published { background:var(--green-bg); color:#059669; }
.badge-draft { background:rgba(100,116,139,.1); color:#475569; }
.badge-archived { background:rgba(148,163,184,.1); color:#94A3B8; }
.badge-verified { background:var(--blue-bg); color:#2563EB; }
.badge-premium { background:var(--yellow-bg); color:#D97706; }
.badge-admin { background:var(--red-bg); color:var(--red); }
.badge-business { background:var(--blue-bg); color:var(--blue); }
.badge-user { background:rgba(100,116,139,.08); color:var(--text-s); }
.badge-count { background:var(--red); color:#fff; font-size:11px; font-weight:700; padding:2px 8px; border-radius:10px; margin-left:auto; min-width:22px; text-align:center; }

/* ── ALERTS ── */
.alert { padding:14px 18px; border-radius:var(--r-sm); font-size:14px; font-weight:500; animation:slideDown .3s ease both; margin-bottom:16px; }
.alert-error { background:var(--red-bg); color:#B91C1C; border:1px solid rgba(239,68,68,.15); }
.alert-success { background:var(--green-bg); color:#047857; border:1px solid rgba(16,185,129,.15); }
.alert-info { background:var(--blue-bg); color:#1D4ED8; border:1px solid rgba(59,130,246,.15); }
.alert-warning { background:var(--yellow-bg); color:#B45309; border:1px solid rgba(245,158,11,.15); }
.alert ul { padding-left:18px; margin:4px 0 0; }

/* ── AUTH ── */
.auth-section { min-height:calc(100vh - 4rem); display:flex; align-items:center; justify-content:center; padding:2.5rem 1.25rem; }
.auth-box { width:100%; max-width:27.5rem; background:var(--glass-strong); backdrop-filter:var(--blur); border:1px solid var(--glass-border); border-radius:var(--r-xl); padding:2.5rem 2.25rem; box-shadow:var(--shadow-lg); animation:scaleIn .4s ease both; }
.auth-box--wide { max-width:560px; }
.auth-box h1 { font-size:26px; font-weight:800; margin-bottom:6px; letter-spacing:-.5px; text-align:center; }
.auth-sub { text-align:center; color:var(--text-m); margin-bottom:28px; font-size:15px; }
.auth-links { text-align:center; margin-top:24px; font-size:14px; color:var(--text-m); }
.auth-links a { color:var(--accent); text-decoration:none; font-weight:600; }
.form-legal { font-size:12px; color:var(--text-l); text-align:center; margin-top:16px; }
.form-legal a { color:var(--accent); }

/* ── FORMS ── */
.form-group { margin-bottom:18px; }
.form-group label { display:block; font-size:13px; font-weight:600; color:var(--text-s); margin-bottom:6px; }
.form-group .req { color:var(--red); }
.form-group input[type="text"],.form-group input[type="email"],.form-group input[type="tel"],.form-group input[type="url"],.form-group input[type="password"],.form-group input[type="number"],.form-group textarea,.form-group select { width:100%; max-width:100%; padding:0.75rem 0.875rem; border:1.5px solid var(--border-s); border-radius:var(--r-sm); font-size:0.875rem; font-family:inherit; background:var(--surface-solid); color:var(--text); transition:var(--transition); outline:none; }
.form-group input:focus,.form-group textarea:focus,.form-group select:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-glow); }
.form-group small { display:block; font-size:12px; color:var(--text-l); margin-top:4px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-section { margin-bottom:28px; padding-bottom:28px; border-bottom:1px solid var(--border); }
.form-section h3 { font-size:16px; font-weight:700; margin-bottom:16px; }
.form-group input[type="file"] { padding:10px; font-size:13px; }

/* ── DASHBOARD ── */
.dash-layout { display:grid; grid-template-columns:15rem 1fr; min-height:calc(100vh - 4rem); }
.dash-sidebar { background:var(--glass-strong); backdrop-filter:var(--blur-sm); border-right:1px solid var(--glass-border); padding:1.25rem 0; position:sticky; top:4rem; height:calc(100vh - 4rem); overflow-y:auto; }
.dash-nav { display:flex; flex-direction:column; gap:2px; padding:0 10px; }
.dash-nav-item { display:flex; align-items:center; gap:10px; padding:10px 14px; text-decoration:none; color:var(--text-m); font-size:14px; font-weight:500; border-radius:var(--r-sm); transition:var(--transition); }
.dash-nav-item:hover { background:var(--accent-glow); color:var(--accent); }
.dash-nav-item.active { background:var(--accent-glow); color:var(--accent); font-weight:600; }
.dash-nav-divider { height:1px; background:var(--border); margin:8px 14px; }
.dash-nav-label { padding:12px 14px 6px; font-size:10px; text-transform:uppercase; letter-spacing:1.2px; color:var(--text-l); font-weight:700; }
.dash-mobile-bar {
  position:fixed;
  left:0.75rem;
  right:0.75rem;
  bottom:0.75rem;
  z-index:125;
  padding:0.5rem;
  background:rgba(255,255,255,0.94);
  border:1px solid rgba(255,255,255,0.8);
  border-radius:1.25rem;
  box-shadow:0 18px 40px rgba(15,23,42,0.16);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0.35rem;
}
.dash-mobile-bar__item {
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0.18rem;
  padding:0.5rem 0.2rem;
  border:none;
  background:transparent;
  border-radius:0.95rem;
  text-decoration:none;
  color:var(--text-m);
  font:inherit;
}
.dash-mobile-bar__item.active {
  background:var(--accent-glow);
  color:var(--accent);
}
.dash-mobile-bar__icon {
  font-size:1rem;
  line-height:1;
}
.dash-mobile-bar__label {
  font-size:0.68rem;
  font-weight:700;
  white-space:nowrap;
}
.dash-main { width:100%; max-width:100%; padding:1.25rem; animation:fadeIn .3s ease; overflow-x:hidden; }
.dash-page {
  width:100%;
  max-width:78rem;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.dash-container {
  width:100%;
  padding:clamp(1rem,2.2vw,1.5rem);
  border-radius:var(--r-lg);
  background:var(--surface);
  border:1px solid var(--glass-border);
  box-shadow:var(--shadow-sm);
}
.dash-container--flat {
  padding:0;
  background:transparent;
  border:none;
  box-shadow:none;
}
.dash-page-header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
.dash-page-intro {
  display:flex;
  flex-direction:column;
  gap:0.5rem;
  min-width:0;
}
.dash-page-subtitle {
  font-size:0.9375rem;
  color:var(--text-m);
  line-height:1.6;
  margin:0;
  max-width:52rem;
}
.dash-title { font-size:1.5rem; font-weight:800; letter-spacing:-.5px; margin:0; }
.dash-section { margin:0; }
.dash-section + .dash-section {
  margin-top: var(--flow-section-gap);
}
.dash-section-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; flex-wrap:wrap; gap:12px; }
.dash-section-header h2 { font-size:18px; font-weight:700; }
.dash-form { width:100%; max-width:45rem; }
.dash-form--wide { max-width:100%; }
.dash-stack { display:flex; flex-direction:column; gap:1rem; }
.dash-actions { display:flex; align-items:center; gap:0.75rem; flex-wrap:wrap; }
.dash-note {
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  padding:0.5rem 0.875rem;
  border-radius:999px;
  font-size:0.75rem;
  font-weight:700;
  max-width:100%;
}
.dash-split {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:start;
}
.dash-grid-tiles {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));
  gap:0.875rem;
}
.dash-card {
  background:var(--surface);
  border:1px solid var(--glass-border);
  border-radius:var(--r-lg);
  padding:clamp(1rem,2vw,1.25rem);
  box-shadow:var(--shadow-sm);
}
.dash-scroll-x {
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
}

/* ── STATS ── */
.stats-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:14px; margin-bottom:28px; }
.stat-card { background:var(--surface); border:1px solid var(--glass-border); border-radius:var(--r); padding:18px; text-align:center; transition:var(--transition); animation:fadeUp .4s ease both; }
.stat-card:hover { transform:translateY(-2px); box-shadow:var(--shadow); }
.stat-icon { font-size:24px; margin-bottom:6px; }
.stat-num { font-size:28px; font-weight:800; letter-spacing:-1px; }
.stat-label { font-size:12px; color:var(--text-m); font-weight:500; margin-top:2px; }

/* ── TABLE ── */
.dash-table { width:100%; border-collapse:separate; border-spacing:0; background:var(--surface); border:1px solid var(--glass-border); border-radius:var(--r); overflow:hidden; font-size:14px; }
.dash-table th { text-align:left; padding:12px 16px; background:rgba(0,0,0,.02); font-weight:600; color:var(--text-m); font-size:11px; text-transform:uppercase; letter-spacing:.8px; border-bottom:1px solid var(--border); }
.dash-table td { padding:12px 16px; border-bottom:1px solid var(--border); vertical-align:middle; }
.dash-table tr:last-child td { border-bottom:none; }
.dash-table tr:hover td { background:rgba(255,107,53,.02); }
.btn-link { background:none; border:none; font-family:inherit; font-size:13px; font-weight:600; color:var(--accent); cursor:pointer; padding:4px 8px; border-radius:6px; transition:var(--transition); text-decoration:none; }
.btn-link:hover { background:var(--accent-glow); }
.btn-link--danger { color:var(--red); }
.btn-link--danger:hover { background:var(--red-bg); }

/* ── BIZ PROFILE ── */
.biz-profile { padding-bottom:48px; animation:fadeIn .4s ease; }
.biz-cover { height:280px; overflow:hidden; position:relative; }
.biz-cover img { width:100%; height:100%; object-fit:cover; }
.biz-cover::after { content:''; position:absolute; bottom:0; left:0; right:0; height:120px; background:linear-gradient(transparent,var(--bg)); }
.biz-header { display:flex; align-items:flex-end; gap:20px; margin-top:-48px; position:relative; z-index:2; margin-bottom:28px; }
.biz-logo { width:96px; height:96px; border-radius:var(--r-lg); object-fit:cover; border:4px solid var(--surface-solid); box-shadow:var(--shadow-lg); }
.biz-logo-placeholder { width:96px; height:96px; border-radius:var(--r-lg); background:linear-gradient(135deg,var(--accent),var(--accent-d)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:28px; font-weight:800; border:4px solid var(--surface-solid); box-shadow:var(--shadow-lg); }
/* Logo firmă în dashboard — max 400x400 pe desktop */
.biz-logo-sm { display:block; width:min(400px, 100%); height:auto; max-height:400px; aspect-ratio:1/1; object-fit:contain; border-radius:var(--r-lg); border:1px solid var(--border); background:var(--surface-solid); box-shadow:var(--shadow-sm); }
.biz-header-info h1 { font-size:28px; font-weight:800; letter-spacing:-.5px; line-height:1.2; }
.biz-breadcrumb { font-size:13px; color:var(--text-l); margin-bottom:4px; }
.biz-breadcrumb a { color:var(--text-m); text-decoration:none; }
.biz-breadcrumb a:hover { color:var(--accent); }
.biz-rating { display:flex; align-items:center; gap:8px; margin-top:4px; }
.biz-rating .stars { color:#F59E0B; font-size:16px; }
.biz-rating span { font-size:14px; color:var(--text-m); }
.biz-badges { display:flex; gap:8px; flex-wrap:wrap; margin-top:8px; }
.biz-body { display:grid; grid-template-columns:1fr 320px; gap:28px; align-items:start; }
.biz-main { min-width:0; overflow:hidden; }
.biz-section { background:var(--surface); border:1px solid var(--glass-border); border-radius:var(--r-lg); padding:24px; margin-bottom:20px; overflow:hidden; contain:layout; }
.biz-section h2 { font-size:18px; font-weight:700; margin-bottom:16px; }
.biz-desc { font-size:15px; line-height:1.8; color:var(--text-s); overflow-wrap:break-word; word-break:break-word; hyphens:auto; width:100%; }
.biz-desc * { max-width:100%; box-sizing:border-box; overflow-wrap:break-word; }
.biz-desc img { height:auto; border-radius:var(--r-sm); display:block; }
.biz-desc p { margin-bottom:12px; }
.biz-desc ul,.biz-desc ol { padding-left:20px; margin-bottom:12px; }
.biz-desc a { color:var(--accent); word-break:break-all; }
.biz-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:10px; }
.biz-gallery a { border-radius:var(--r-sm); overflow:hidden; aspect-ratio:4/3; display:block; }
.biz-gallery img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.biz-gallery a:hover img { transform:scale(1.08); }
.biz-services-section {
  position:relative;
  padding:1.5rem;
  background:
    radial-gradient(circle at top right, rgba(255,107,53,0.10), transparent 30%),
    radial-gradient(circle at bottom left, rgba(37,99,235,0.08), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,249,245,0.94));
}
.biz-services-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.biz-services-head h2 { margin-bottom:0; }
.biz-services-body {
  position:relative;
  padding:1rem;
  border-radius:1.35rem;
  background:linear-gradient(180deg, rgba(255,255,255,0.92), rgba(255,250,246,0.86));
  border:1px solid rgba(255,107,53,0.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.75);
}
.biz-services-shell {
  position:relative;
  display:flex;
  align-items:center;
  gap:0;
}
.biz-services-stage {
  flex:1 1 auto;
  min-width:0;
  padding-inline:2.75rem;
}
.biz-services-arrow {
  width:2.5rem;
  height:2.5rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,107,53,0.14);
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(255,245,238,0.96));
  color:var(--accent-d);
  font-size:1.25rem;
  line-height:1;
  cursor:pointer;
  transition:var(--transition);
  box-shadow:0 0.75rem 1.5rem rgba(15,23,42,0.08);
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
}
.biz-services-arrow:hover:not(:disabled) {
  transform:translateY(calc(-50% - 0.0625rem)) scale(1.02);
  border-color:rgba(255,107,53,0.24);
  box-shadow:0 1rem 1.8rem rgba(255,107,53,0.16);
}
.biz-services-arrow:disabled { opacity:0.45; cursor:not-allowed; box-shadow:none; }
.biz-services-arrow--prev { left:0; }
.biz-services-arrow--next { right:0; }
.biz-services-slider {
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding-bottom:0.25rem;
}
.biz-services-slider::-webkit-scrollbar { display:none; }
.biz-services-track {
  display:flex;
  gap:1rem;
  width:100%;
  min-width:100%;
  will-change:scroll-position;
  box-sizing:border-box;
}
.biz-service-card {
  flex:0 0 calc((100% - 2rem) / 3);
  width:calc((100% - 2rem) / 3);
  min-width:calc((100% - 2rem) / 3);
  min-height:17.5rem;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:1.25rem;
  padding:1.375rem;
  position:relative;
  border:1px solid rgba(255,107,53,0.12);
  border-radius:1.4rem;
  background:
    radial-gradient(circle at top right, rgba(255,107,53,0.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,1), rgba(255,248,243,0.94));
  box-shadow:0 1.2rem 2.2rem rgba(15,23,42,0.07);
  scroll-snap-align:start;
  overflow:hidden;
  box-sizing:border-box;
}
.biz-service-card::before {
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:0.22rem;
  background:linear-gradient(90deg, var(--accent), #f59e0b 55%, rgba(37,99,235,0.7));
}
.biz-service-card:hover {
  transform:translateY(-0.18rem);
  box-shadow:0 1.5rem 2.6rem rgba(15,23,42,0.10);
}
.biz-service-copy { display:flex; flex-direction:column; gap:0.75rem; }
.biz-service-kicker {
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  padding:0.35rem 0.65rem;
  border-radius:999px;
  background:rgba(255,107,53,0.08);
  border:1px solid rgba(255,107,53,0.10);
  color:var(--accent-d);
  font-size:0.72rem;
  font-weight:800;
  letter-spacing:0.06em;
  text-transform:uppercase;
}
.biz-service-copy h3 {
  margin:0;
  font-size:1.18rem;
  line-height:1.3;
  color:var(--text);
  letter-spacing:-0.02em;
}
.biz-service-copy p {
  margin:0;
  font-size:0.96rem;
  line-height:1.75;
  color:var(--text-m);
}
.biz-service-meta { display:flex; flex-direction:column; align-items:flex-start; gap:0.875rem; margin-top:auto; }
.biz-service-price-wrap {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0.25rem;
}
.biz-service-price-label {
  font-size:0.72rem;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--text-l);
}
.biz-service-price {
  font-size:1.3rem;
  line-height:1.15;
  color:var(--accent-d);
  letter-spacing:-0.03em;
}
.biz-service-btn {
  min-height:2.875rem;
  padding:0.8rem 1.05rem;
  white-space:nowrap;
  text-align:center;
  line-height:1.25;
  border-radius:1rem;
  border-width:1px;
  background:rgba(255,255,255,0.82);
  box-shadow:0 0.6rem 1.15rem rgba(15,23,42,0.04);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:100%;
}
.biz-service-btn:hover { box-shadow:0 0.9rem 1.4rem rgba(255,107,53,0.10); }
.biz-services-dots { display:flex; justify-content:center; gap:0.5rem; margin-top:1rem; }
.biz-services-dot {
  width:0.625rem;
  height:0.625rem;
  border:0;
  border-radius:999px;
  background:rgba(148,163,184,0.35);
  cursor:pointer;
  transition:var(--transition);
}
.biz-services-dot.is-active { width:1.5rem; background:linear-gradient(135deg,var(--accent),var(--accent-d)); }
.biz-sidebar { position:sticky; top:92px; }
.contact-card { background:var(--surface); border:1px solid var(--glass-border); border-radius:var(--r-lg); padding:22px; margin-bottom:16px; }
.contact-card h3 { font-size:16px; font-weight:700; margin-bottom:14px; }
.contact-item { display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid var(--border); font-size:14px; color:var(--text-s); text-decoration:none; transition:var(--transition); }
.contact-item:last-child { border-bottom:none; }
a.contact-item:hover { color:var(--accent); }
.contact-item--call { font-weight:600; color:var(--accent); }
.contact-item--call:hover { color:var(--accent-d); }

/* Ratings row sub numele firmei */
.biz-ratings-row { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:6px; }
.biz-rating { display:flex; align-items:center; gap:6px; }
.biz-rating .stars { color:#F59E0B; font-size:15px; }
.biz-rating span { font-size:13px; color:var(--text-m); }
.biz-rating .rating-count { font-size:12px; color:var(--text-l); }
.biz-rating-google { background:var(--blue-bg); padding:3px 10px; border-radius:20px; }

/* Reviews în sidebar */
.reviews-sidebar-card { max-height:none; }
.reviews-sidebar-card .reviews-list { max-height:400px; overflow-y:auto; padding-right:4px; }
.reviews-sidebar-card .reviews-list::-webkit-scrollbar { width:4px; }
.reviews-sidebar-card .reviews-list::-webkit-scrollbar-track { background:transparent; }
.reviews-sidebar-card .reviews-list::-webkit-scrollbar-thumb { background:var(--border-s); border-radius:2px; }

/* ── RICH TEXT EDITOR ── */
.rte-shell { width:100%; border-radius:calc(var(--r) + 0.125rem); overflow:hidden; border:1.5px solid rgba(15,23,42,.08); background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.94)); box-shadow:0 1.25rem 2.75rem rgba(15,23,42,.08); }
.rte-toolbar { display:flex; align-items:center; gap:4px; flex-wrap:wrap; background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(241,245,249,0.92)); border-bottom:1px solid rgba(15,23,42,.08); padding:0.75rem 0.875rem; min-height:3rem; }
.rte-toolbar-group { display:flex; align-items:center; gap:2px; }
.rte-toolbar-sep { width:1px; height:18px; background:var(--border-s); margin:0 6px; flex-shrink:0; }
.rte-toolbar-status { margin-left:auto; display:flex; align-items:center; gap:0.5rem; flex-wrap:wrap; }
.rte-char-count { font-weight:700; font-size:0.75rem; color:var(--text-m); }
.rte-btn { display:inline-flex; align-items:center; justify-content:center; padding:0.375rem 0.625rem; min-width:2rem; min-height:2rem; border:1px solid transparent; border-radius:0.625rem; background:rgba(255,255,255,0.92); font-family:inherit; font-size:0.8125rem; font-weight:600; color:var(--text-s); cursor:pointer; transition:var(--transition); white-space:nowrap; box-shadow:0 0.375rem 1rem rgba(15,23,42,.07); }
.rte-btn:hover { background:var(--accent-glow); color:var(--accent); border-color:rgba(255,107,53,.2); }
.rte-btn.active,.rte-btn--toggle.active { background:var(--accent-glow); color:var(--accent); border-color:rgba(255,107,53,.3); }
.rte-btn--toggle { background:var(--surface); border:1.5px solid var(--border-s); font-size:0.75rem; }
.rte-editor { width:100%; min-height:20rem; max-height:37.5rem; overflow-y:auto; padding:1rem 1rem 1.25rem; border:none; font-size:0.9375rem; font-family:inherit; color:var(--text); line-height:1.8; background:transparent; outline:none; transition:background-color .2s,box-shadow .2s; }
.rte-shell:focus-within { box-shadow:0 0 0 0.25rem var(--accent-glow), 0 1.25rem 2.75rem rgba(15,23,42,.10); border-color:rgba(255,107,53,.24); }
.rte-editor h2 { font-size:20px; font-weight:700; margin:20px 0 10px; }
.rte-editor h3 { font-size:17px; font-weight:700; margin:16px 0 8px; }
.rte-editor p { margin-bottom:12px; }
.rte-editor ul,.rte-editor ol { padding-left:22px; margin-bottom:12px; }
.rte-editor blockquote { border-left:4px solid var(--accent); margin:16px 0; padding:12px 18px; background:rgba(255,107,53,.04); border-radius:0 var(--r-sm) var(--r-sm) 0; font-style:italic; }
.rte-editor a { color:var(--accent); text-decoration:underline; }
/* Textarea HTML brut (mod sursă) */
.rte-source { border:none !important; border-top:1px solid rgba(15,23,42,.08) !important; border-radius:0 !important; padding:1rem !important; font-family:'Courier New',monospace !important; font-size:0.8125rem !important; line-height:1.6 !important; resize:vertical; background:rgba(248,250,252,0.96) !important; min-height:18rem; }

/* ── CHART BUTTONS ── */
.chart-period-btns { display:flex; gap:4px; background:rgba(0,0,0,.04); padding:3px; border-radius:10px; }
.chart-btn { padding:5px 12px; border:none; border-radius:8px; font-family:inherit; font-size:13px; font-weight:500; color:var(--text-m); background:transparent; cursor:pointer; transition:var(--transition); }
.chart-btn.active,.chart-btn:hover { background:var(--surface-solid); color:var(--accent); font-weight:600; box-shadow:var(--shadow-sm); }
.chart-year-nav { width:28px; height:28px; border:1.5px solid var(--border-s); border-radius:8px; background:var(--surface); font-size:16px; cursor:pointer; transition:var(--transition); display:inline-flex; align-items:center; justify-content:center; }
.chart-year-nav:hover { border-color:var(--accent); color:var(--accent); }

/* ── REVIEWS ── */
.reviews-list { display:flex; flex-direction:column; gap:12px; }
.review-item { background:rgba(0,0,0,.02); border:1px solid var(--border); border-radius:var(--r); padding:16px; }
.review-header { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:8px; }
.stars-sm { color:#F59E0B; font-size:14px; }
.review-date { font-size:12px; color:var(--text-l); margin-left:auto; }
.review-form-wrap { margin-top:24px; padding-top:24px; border-top:1px solid var(--border); }
.review-form-wrap h3 { font-size:16px; font-weight:700; margin-bottom:16px; }

/* ── BLOG ── */
.blog-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:20px; }
.blog-card { display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--glass-border); border-radius:var(--r-lg); overflow:hidden; text-decoration:none; color:var(--text); transition:var(--transition); }
.blog-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); }
.blog-card-img { height:200px; overflow:hidden; background:linear-gradient(135deg,#f1f5f9,#e2e8f0); }
.blog-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.blog-card:hover .blog-card-img img { transform:scale(1.05); }
.blog-card-body { padding:20px; flex:1; }
.blog-card-meta { font-size:12px; color:var(--text-m); margin-bottom:8px; font-weight:500; }
.blog-card-title { font-size:17px; font-weight:700; margin-bottom:8px; line-height:1.35; }
.blog-card-excerpt { font-size:14px; color:var(--text-m); line-height:1.6; }
.post-panel {
  position: relative;
  padding: 1.6rem;
  border: 1px solid rgba(255,255,255,0.78);
  border-radius: 1.4rem;
  background:
    radial-gradient(circle at top right, rgba(255,107,53,0.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.97), rgba(248,250,252,0.9));
  box-shadow: 0 1.2rem 2.6rem rgba(15,23,42,0.08);
}
.post-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 0.24rem;
  background: linear-gradient(90deg, var(--accent), #f59e0b 55%, rgba(59,130,246,0.72));
}
.post-panel + .post-panel,
.post-panel + .post-share,
.post-share + .post-panel {
  margin-top: 2rem;
}
.post-panel--related {
  background:
    radial-gradient(circle at top right, rgba(59,130,246,0.1), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0.97), rgba(248,250,252,0.92));
}
.post-meta { display:flex; align-items:center; gap:12px; flex-wrap:wrap; font-size:14px; margin-bottom:0.8rem; }
.post-title {
  font-size: clamp(1.5rem,4vw,2.375rem);
  margin: 0 0 1.5rem;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: -.5px;
}
.post-body { font-size:16px; line-height:1.9; color:var(--text-s); }
.post-body h2 { font-size:22px; font-weight:700; margin:32px 0 14px; color:var(--text); }
.post-body h3 { font-size:18px; font-weight:700; margin:24px 0 12px; color:var(--text); }
.post-body p { margin-bottom:16px; }
.post-body ul,.post-body ol { padding-left:24px; margin-bottom:16px; }
.post-body li { margin-bottom:6px; }
.post-body blockquote { border-left:4px solid var(--accent); margin:20px 0; padding:14px 22px; background:rgba(255,107,53,.04); border-radius:0 var(--r-sm) var(--r-sm) 0; font-style:italic; }
.post-body code { background:rgba(0,0,0,.05); padding:2px 6px; border-radius:4px; font-size:14px; }
.post-body pre { background:#1E293B; color:#E2E8F0; padding:20px; border-radius:var(--r); overflow-x:auto; margin-bottom:16px; }
.post-body img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 1.25rem 0;
  border-radius: var(--r);
  object-fit: contain;
}
.post-share {
  position: relative;
  padding: 1.5rem;
  border: 1px solid rgba(255,255,255,0.78);
  border-radius: 1.4rem;
  background:
    radial-gradient(circle at top right, rgba(255,107,53,0.14), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.97), rgba(255,247,240,0.9));
  box-shadow: 0 1.2rem 2.6rem rgba(15,23,42,0.08);
  overflow: hidden;
}
.post-share::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 0.24rem;
  background: linear-gradient(90deg, var(--accent), #f59e0b 55%, rgba(59,130,246,0.72));
}
.post-share__intro {
  margin-bottom: 1.15rem;
}
.post-share__eyebrow {
  display: inline-flex;
  align-items: center;
  padding: 0.32rem 0.72rem;
  margin-bottom: 0.7rem;
  border-radius: 999px;
  background: rgba(255,107,53,0.1);
  color: var(--accent-d);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.post-share__intro h2 {
  font-size: 1.28rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  margin-bottom: 0.42rem;
}
.post-share__intro p {
  color: var(--text-m);
  font-size: 0.95rem;
  max-width: 34rem;
  line-height: 1.7;
}
.post-share__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.post-share__link {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 0.72rem;
  min-height: 3rem;
  padding: 0.8rem 1rem;
  border: 1px solid rgba(15,23,42,0.08);
  border-radius: 1rem;
  background: rgba(255,255,255,0.92) !important;
  color: var(--text-s) !important;
  text-decoration: none !important;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  line-height: 1;
  box-shadow: 0 0.65rem 1.35rem rgba(15,23,42,0.05);
  transition: var(--transition), box-shadow .28s ease, border-color .28s ease;
}
.post-share__link:hover {
  transform: translateY(-0.12rem);
  box-shadow: 0 1rem 1.8rem rgba(15,23,42,0.09);
}
.post-share__icon {
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 999px;
  background: rgba(15,23,42,0.06);
  color: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.post-share__label {
  white-space: nowrap;
}
.post-share__link--facebook:hover { border-color: rgba(24,119,242,0.35); color: #1877F2 !important; }
.post-share__link--facebook:hover .post-share__icon { background: rgba(24,119,242,0.12); }
.post-share__link--whatsapp:hover { border-color: rgba(37,211,102,0.34); color: #25D366 !important; }
.post-share__link--whatsapp:hover .post-share__icon { background: rgba(37,211,102,0.12); }
.post-share__link--linkedin:hover { border-color: rgba(10,102,194,0.34); color: #0A66C2 !important; }
.post-share__link--linkedin:hover .post-share__icon { background: rgba(10,102,194,0.12); }
.post-share__link--x:hover { border-color: rgba(17,24,39,0.2); color: #111827 !important; }
.post-share__link--x:hover .post-share__icon { background: rgba(17,24,39,0.08); }
.post-share__link--email:hover,
.post-share__link--native:hover { border-color: rgba(255,107,53,0.34); color: var(--accent) !important; }
.post-share__link--email:hover .post-share__icon,
.post-share__link--native:hover .post-share__icon { background: rgba(255,107,53,0.12); }
@media (max-width: 640px) {
  .post-panel,
  .post-share {
    padding: 1.15rem;
  }

  .post-share__actions {
    gap: 0.6rem;
  }

  .post-share__link {
    flex: 1 1 calc(50% - 0.6rem);
    min-width: 0;
    justify-content: center;
  }
}
.post-list { display:flex; flex-direction:column; gap:8px; }
.post-card-sm { display:flex; justify-content:space-between; align-items:center; padding:14px 18px; background:var(--surface); border:1px solid var(--glass-border); border-radius:var(--r-sm); text-decoration:none; color:var(--text); font-size:14px; transition:var(--transition); }
.post-card-sm:hover { border-color:var(--accent); transform:translateX(4px); }
.post-card-sm span { color:var(--text-l); font-size:12px; flex-shrink:0; margin-left:12px; }

/* ── MISC ── */
.page-breadcrumb { font-size:13px; color:var(--text-l); margin-bottom:16px; }
.page-breadcrumb a { color:var(--text-m); text-decoration:none; }
.page-breadcrumb a:hover { color:var(--accent); }
.empty-state { text-align:center; padding:48px 20px; color:var(--text-m); }
.empty-state h3 { font-size:18px; font-weight:700; color:var(--text-s); margin-bottom:8px; }
.admin-card { background:var(--surface); border:1px solid var(--glass-border); border-radius:var(--r-lg); padding:22px; margin-bottom:14px; transition:var(--transition); animation:fadeUp .4s ease both; }
.admin-card:hover { box-shadow:var(--shadow); }
.admin-card h3 { font-size:17px; font-weight:700; line-height:1.4; margin:0 0 4px; }

/* ── FOOTER ── */
.site-footer { background:var(--glass-strong); backdrop-filter:var(--blur-sm); border-top:1px solid var(--glass-border); padding:3rem 0 1.5rem; margin-top:3rem; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1.5fr 1fr 1fr 1fr; gap:2rem; margin-bottom:2rem; }
.footer-brand .logo { font-size:22px; display:inline-block; margin-bottom:10px; }
.footer-brand p { font-size:14px; color:var(--text-m); }
.footer-title { font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:var(--text-s); margin-bottom:12px; }
.footer-links a { display:block; font-size:14px; color:var(--text-s); text-decoration:none; padding:3px 0; transition:var(--transition); }
.footer-links a:hover { color:var(--accent); transform:translateX(3px); }
.footer-bottom { border-top:1px solid var(--border); padding-top:20px; text-align:center; }
.footer-bottom p { font-size:13px; color:var(--text-l); }

/* ── RESPONSIVE ── */

/* ── DASHBOARD TOP ───────────────────────────────────────── */
.dash-top {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.dash-top .dash-title { margin-bottom: 0; }
.dash-grade-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.625rem;
  border-radius: 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  white-space: nowrap;
}

/* ── DASHBOARD PLAN CARD ─────────────────────────────────── */
.dash-plan-card {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.dash-plan-desc {
  font-size: 0.8125rem;
  color: var(--text-m);
  line-height: 1.55;
  margin: 0;
}
.dash-plan-meter { display: flex; align-items: center; }
.dash-plan-meter-ok {
  font-size: 0.78rem;
  color: #16a34a;
  font-weight: 600;
  background: rgba(22,163,74,0.08);
  padding: 0.25rem 0.625rem;
  border-radius: 0.5rem;
}
.dash-plan-meter-over {
  font-size: 0.78rem;
  color: #ef4444;
  font-weight: 600;
  background: rgba(239,68,68,0.08);
  padding: 0.25rem 0.625rem;
  border-radius: 0.5rem;
}
/* Facilitati: row orizontal compact, scroll pe mobile */
.dash-plan-features {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.dash-plan-feature {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  background: var(--surface-2, #f8fafc);
  border: 1px solid var(--border-s);
  border-radius: var(--r-sm);
  padding: 0.3rem 0.625rem;
  font-size: 0.78rem;
  white-space: nowrap;
}
.dash-plan-feature-label { color: var(--text-m); }
.dash-plan-feature strong { color: var(--text); font-weight: 700; }
.dash-plan-feature-next {
  color: var(--accent);
  font-weight: 600;
  font-size: 0.72rem;
}
/* Upgrade link — full width, subtle */
.dash-plan-upgrade {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  padding: 0.625rem 1rem;
  background: linear-gradient(135deg, var(--accent), var(--accent-d));
  color: #fff;
  border-radius: var(--r-sm);
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
  transition: var(--transition);
  text-align: center;
}
.dash-plan-upgrade:hover { filter: brightness(1.08); }

@media(max-width:1024px) {
  .container { padding-inline:1.125rem; }
  .biz-body { grid-template-columns:1fr; }
  .biz-sidebar { position:static; }
  .biz-logo-sm { width:min(280px,100%); max-height:280px; }
  .footer-grid { grid-template-columns:1fr 1fr 1fr; }
}
@media(max-width:900px) {
  .dash-layout { grid-template-columns:1fr; }
  .dash-sidebar {
    position:fixed;
    top:0;
    left:0;
    width:min(22rem,86vw);
    height:100vh;
    z-index:135;
    border-right:none;
    padding:1rem 0;
    overflow-y:auto;
    background:rgba(255,255,255,0.96);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    box-shadow:24px 0 40px rgba(15,23,42,0.14);
    transform:translateX(-110%);
    transition:transform var(--transition);
  }
  .dash-sidebar.is-open { transform:translateX(0); }
  .dash-mobile-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:0 1rem 1rem;
    border-bottom:1px solid var(--border);
    margin-bottom:0.75rem;
  }
  .dash-mobile-head strong {
    display:block;
    font-size:1rem;
  }
  .dash-mobile-head span {
    display:block;
    color:var(--text-m);
    font-size:0.78rem;
    margin-top:0.2rem;
  }
  .dash-nav { flex-direction:column; gap:0.15rem; padding:0 0.75rem; overflow:visible; }
  .dash-nav-item { padding:0.78rem 0.9rem; font-size:0.94rem; white-space:normal; }
  .dash-main { padding:0.875rem 0.875rem 6.25rem; }
  .dash-top { margin-bottom:0.75rem; }
  .dash-page { gap:0.875rem; }
  .dash-container { padding:1rem; }
  .dash-split { grid-template-columns:1fr; }
  .dash-mobile-bar { display:grid; }
}
@media(max-width:768px) {
  html { font-size:93.75%; }
  .dash-plan-features { gap:0.25rem; }
  .dash-plan-feature { font-size:0.73rem; padding:0.25rem 0.5rem; }
  .container { padding-inline:1rem; }
  .site-header .container { align-items:center; min-height:3.5rem; flex-wrap:nowrap; }
  .logo { font-size:1.125rem; flex-shrink:0; }
  .mobile-nav-toggle { display:inline-flex; }
  .mobile-drawer-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:0 0 1rem;
    margin-bottom:1rem;
    border-bottom:1px solid var(--border);
  }
  .mobile-drawer-head strong {
    display:block;
    font-size:1rem;
  }
  .mobile-drawer-head span {
    display:block;
    color:var(--text-m);
    font-size:0.78rem;
    margin-top:0.2rem;
  }
  .main-nav {
    position:fixed;
    top:0;
    right:0;
    width:min(22rem,88vw);
    height:100vh;
    padding:1.1rem 1rem 1.5rem;
    background:rgba(255,255,255,0.97);
    border-left:1px solid rgba(255,255,255,0.8);
    box-shadow:-24px 0 40px rgba(15,23,42,0.14);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0.5rem;
    transform:translateX(110%);
    transition:transform var(--transition);
    z-index:140;
  }
  .main-nav.is-open { transform:translateX(0); }
  .main-nav a,
  .main-nav .btn,
  .main-nav form button {
    width:100%;
    justify-content:flex-start;
  }
  .search-bar { flex-direction:column; border-radius:var(--r); }
  .search-bar select { border-left:none; border-top:1px solid var(--border); }
  .search-bar input[type="text"] { padding:0.875rem 1rem; }
  .search-bar select { padding:0.875rem 0.75rem; }
  .hero { padding:2.5rem 0; }
  .hero h1 { font-size:1.75rem; }
  .hero-sub { font-size:0.9375rem; margin-bottom:1.5rem; }
  .biz-header { flex-direction:column; align-items:flex-start; margin-top:-2rem; gap:0.75rem; }
  .biz-header-info h1 { font-size:1.375rem; }
  .biz-cover { height:12.5rem; }
  .biz-section { padding:1.125rem; }
  .biz-services-section { padding:1.125rem; }
  .biz-services-body { padding:0.875rem; }
  .biz-services-stage { padding-inline:2.5rem; }
  .form-row { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; gap:1.5rem; }
  .main-nav a { padding:0.8rem 0.9rem; font-size:0.9rem; }
  .cities-section,.categories-section,.cta-section { padding:2rem 0; }
  .cities-section h2,.categories-section h2 { font-size:1.25rem; margin-bottom:1rem; }
  .stat-card { padding:0.875rem; }
  .stat-num { font-size:1.5rem; }
  .auth-box { padding:1.75rem 1.25rem; border-radius:var(--r-lg); }
  .dash-title { font-size:1.25rem; }
  .stats-grid { gap:0.625rem; }
  .blog-grid { grid-template-columns:1fr; }
  .img-slot { grid-template-columns:1fr !important; }
  .dash-page-header { align-items:stretch; }
  .dash-page-subtitle { font-size:0.875rem; }
}
@media(max-width:480px) {
  html { font-size:87.5%; }
  .container { padding-inline:0.75rem; }
  .site-header .container { padding-block:0.5rem; gap:0.5rem; }
  .main-nav { gap:0.4rem; }
  .main-nav a { padding:0.8rem 0.9rem; font-size:0.9rem; }
  .dash-mobile-bar { left:0.5rem; right:0.5rem; bottom:0.5rem; }
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .business-grid { grid-template-columns:1fr; }
  .categories-grid { grid-template-columns:repeat(2,1fr); }
  .biz-logo,.biz-logo-placeholder { width:4rem; height:4rem; font-size:1.25rem; }
  .biz-logo-sm { width:min(200px,100%); max-height:200px; }
  .biz-gallery { grid-template-columns:repeat(2,1fr); }
  .biz-service-card {
    flex-basis:calc((100% - 1rem) / 2);
    width:calc((100% - 1rem) / 2);
    min-width:calc((100% - 1rem) / 2);
    min-height:16.75rem;
  }
  .cta-section h2 { font-size:1.25rem; }
  .footer-brand .logo { font-size:1.125rem; }
}

/* ── MOBILE & TABLET ALIGNMENT FIXES ── */
@media(max-width:768px) {
  .biz-profile { padding-bottom:2rem; }
  .biz-body { display:flex; flex-direction:column; gap:1rem; }
  .biz-main,.biz-sidebar { width:100%; min-width:0; }
  .biz-sidebar { position:static !important; }
  .biz-desc { width:100%; max-width:100%; }
  .contact-card { margin-bottom:0.75rem; }
  .biz-ratings-row { flex-direction:column; align-items:flex-start; gap:6px; }
  .biz-services-body { padding:0.75rem; }
  .biz-services-stage { padding-inline:0; }
  .biz-services-arrow {
    width:2.25rem;
    height:2.25rem;
    top:auto;
    bottom:-3.25rem;
    transform:none;
  }
  .biz-services-arrow:hover:not(:disabled) { transform:translateY(-0.0625rem) scale(1.02); }
  .biz-services-arrow--prev { left:0.25rem; }
  .biz-services-arrow--next { right:0.25rem; }
  .biz-service-card { flex-basis:100%; width:100%; min-width:100%; min-height:15.5rem; }
  .biz-service-copy h3 { font-size:1.08rem; }
  .biz-service-price { font-size:1.18rem; }
  .biz-service-btn {
    width:100%;
    justify-content:center;
    white-space:normal;
    padding:0.875rem 1rem;
    font-size:0.95rem;
  }
  .biz-services-dots { margin-top:1.5rem; }
  .dash-form { max-width:100%; }
  .dash-section { overflow:hidden; }
  .rte-toolbar { gap:0.25rem; padding:0.625rem 0.75rem; }
  .rte-toolbar-status { width:100%; justify-content:space-between; margin-left:0; padding-top:0.25rem; }
  .rte-btn { padding:0.3125rem 0.5rem; font-size:0.75rem; min-width:1.875rem; }
  .rte-editor { min-height:14rem; font-size:0.875rem; padding:0.875rem; }
  .biz-logo-sm { width:min(240px,100%); max-height:240px; margin:0 auto; }
  .review-form-wrap { margin-top:0.75rem; }
  .reviews-sidebar-card .reviews-list { max-height:300px; }
  .biz-header-info { width:100%; }
  .stats-grid { grid-template-columns:repeat(2,1fr); gap:0.5rem; }
  .stat-card { padding:0.75rem 0.5rem; }
  #chart-wrap { padding:12px 8px; }
  canvas#statsChart { height:260px !important; }
}

@media(max-width:480px) {
  .biz-logo-sm { width:min(180px,100%); max-height:180px; }
  .biz-section { padding:1rem; }
  .contact-card { padding:1rem; }
  .biz-header-info h1 { font-size:1.25rem; }
  .biz-breadcrumb { font-size:11px; }
  .biz-desc { font-size:14px; }
  .review-item { padding:0.5rem 0; }
  .rte-toolbar { padding:0.5rem 0.625rem; }
  .rte-editor { min-height:12.5rem; }
  .dash-main { padding:0.75rem; }
  .dash-page { gap:0.75rem; }
  .dash-container { padding:0.875rem; border-radius:var(--r); }
  .dash-actions { width:100%; }
  .dash-actions .btn { width:100%; }
}

@media(max-width:640px) {
  .biz-header {
    align-items:center;
    text-align:center;
  }

  .biz-header-info {
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
  }

  .biz-ratings-row {
    align-items:center;
    justify-content:center;
  }

  .biz-badges {
    justify-content:center;
  }

  .biz-section,
  .contact-card,
  .review-form-wrap {
    text-align:center;
  }

  .biz-service-copy,
  .biz-service-meta,
  .biz-service-price-wrap {
    align-items:center;
    text-align:center;
  }

  .biz-service-kicker {
    align-self:center;
  }

  .contact-item,
  .review-header {
    justify-content:center;
  }

  .review-date {
    width:100%;
    margin-left:0;
  }

  .post-card-sm {
    flex-direction:column;
    justify-content:center;
    gap:0.35rem;
    text-align:center;
  }

  .post-card-sm span {
    margin-left:0;
  }
}

/* Mobile navigation redesign */
@media(max-width:1100px) {
  .dash-layout { grid-template-columns:1fr; }
  .dash-sidebar {
    position:fixed;
    top:0;
    right:0;
    left:auto;
    width:min(24rem,88vw);
    height:100vh;
    z-index:140;
    padding:1rem 0;
    border-right:none;
    background:rgba(255,255,255,0.97);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    box-shadow:-24px 0 40px rgba(15,23,42,0.16);
    transform:translateX(110%);
    transition:transform var(--transition);
    overflow-y:auto;
  }
  .dash-sidebar.is-open { transform:translateX(0); }
  .dash-mobile-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:0 1rem 1rem;
    border-bottom:1px solid var(--border);
    margin-bottom:0.75rem;
  }
  .dash-mobile-head strong {
    display:block;
    font-size:1rem;
  }
  .dash-mobile-head span {
    display:block;
    color:var(--text-m);
    font-size:0.8rem;
    margin-top:0.2rem;
  }
  .dash-nav {
    flex-direction:column;
    gap:0.2rem;
    padding:0 0.75rem;
    overflow:visible;
  }
  .dash-nav-item {
    padding:0.85rem 0.95rem;
    font-size:0.95rem;
    white-space:normal;
  }
  .mobile-drawer-close {
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .dash-main { padding:1rem 1rem 6.75rem; }
  .dash-mobile-bar { display:grid; }
}

@media(max-width:1024px) {
  .mobile-nav-toggle {
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .mobile-drawer-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:0 0 1rem;
    margin-bottom:1rem;
    border-bottom:1px solid var(--border);
  }
  .mobile-drawer-head strong {
    display:block;
    font-size:1rem;
  }
  .mobile-drawer-head span {
    display:block;
    color:var(--text-m);
    font-size:0.8rem;
    margin-top:0.2rem;
  }
  .main-nav {
    position:fixed;
    top:0;
    right:0;
    left:auto;
    width:min(24rem,88vw);
    height:100vh;
    padding:1.1rem 1rem 1.5rem;
    background:rgba(255,255,255,0.97);
    border-left:1px solid rgba(255,255,255,0.8);
    box-shadow:-24px 0 40px rgba(15,23,42,0.16);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0.5rem;
    transform:translateX(110%);
    transition:transform var(--transition);
    z-index:145;
  }
  .main-nav.is-open { transform:translateX(0); }
  .main-nav a,
  .main-nav .btn,
  .main-nav form button {
    width:100%;
    justify-content:flex-start;
  }
  .mobile-drawer-close {
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .site-mobile-bar {
    position:fixed;
    left:0.75rem;
    right:0.75rem;
    bottom:0.75rem;
    z-index:125;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:0.35rem;
    padding:0.5rem;
    background:rgba(255,255,255,0.95);
    border:1px solid rgba(255,255,255,0.8);
    border-radius:1.25rem;
    box-shadow:0 18px 40px rgba(15,23,42,0.16);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }
  .site-mobile-bar__item {
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:0.18rem;
    padding:0.5rem 0.2rem;
    border:none;
    background:transparent;
    border-radius:0.95rem;
    text-decoration:none;
    color:var(--text-m);
    font:inherit;
  }
  .site-mobile-bar__item.active {
    background:var(--accent-glow);
    color:var(--accent);
  }
  .site-mobile-bar__icon {
    font-size:1rem;
    line-height:1;
  }
  .site-mobile-bar__label {
    font-size:0.68rem;
    font-weight:700;
    white-space:nowrap;
  }
  body.has-site-mobile-bar .site-main {
    padding-bottom:6.5rem;
  }
}

@media(max-width:640px) {
  .site-mobile-bar,
  .dash-mobile-bar {
    left:0.5rem;
    right:0.5rem;
    bottom:0.5rem;
  }
}

/* Final navigation and tablet layout overrides */
.dash-page,
.dash-container,
.dash-section,
.dash-main,
.site-main {
  min-width:0;
}

.dash-scroll-x .dash-table {
  min-width:42rem;
}

@media(max-width:1100px) {
  .dash-layout {
    grid-template-columns:1fr !important;
  }

  .dash-sidebar {
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    left:auto !important;
    width:min(24rem,88vw) !important;
    max-width:24rem;
    height:100vh !important;
    z-index:140 !important;
    padding:1rem 0 !important;
    border-right:none !important;
    background:rgba(255,255,255,0.97) !important;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    box-shadow:-24px 0 40px rgba(15,23,42,0.16) !important;
    transform:translateX(110%) !important;
    transition:transform var(--transition) !important;
    overflow-y:auto !important;
  }

  .dash-sidebar.is-open {
    transform:translateX(0) !important;
  }

  .dash-mobile-head {
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:0 1rem 1rem;
    border-bottom:1px solid var(--border);
    margin-bottom:0.75rem;
  }

  .dash-main {
    width:100%;
    max-width:100%;
    padding:1rem 1rem 6.75rem !important;
    overflow-x:visible;
  }

  .dash-page {
    width:min(100%, 78rem);
    margin:0 auto;
  }

  .dash-section {
    width:100%;
    overflow:visible;
  }

  .dash-container {
    width:100%;
    max-width:100%;
  }

  .dash-mobile-bar {
    display:grid !important;
    align-items:stretch;
    grid-template-columns:repeat(5, minmax(0, 1fr));
  }

  .mobile-drawer-close {
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
  }
}

@media(max-width:1024px) {
  .mobile-nav-toggle {
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
  }

  .main-nav {
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    left:auto !important;
    width:min(24rem,88vw) !important;
    max-width:24rem;
    height:100vh !important;
    padding:1.1rem 1rem 1.5rem !important;
    background:rgba(255,255,255,0.97) !important;
    border-left:1px solid rgba(255,255,255,0.8) !important;
    box-shadow:-24px 0 40px rgba(15,23,42,0.16) !important;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0.5rem !important;
    flex-wrap:nowrap !important;
    transform:translateX(110%) !important;
    transition:transform var(--transition) !important;
    z-index:145 !important;
  }

  .main-nav.is-open {
    transform:translateX(0) !important;
  }

  .mobile-drawer-head {
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:0 0 1rem;
    margin-bottom:1rem;
    border-bottom:1px solid var(--border);
  }

  .main-nav a,
  .main-nav .btn,
  .main-nav form,
  .main-nav form button {
    width:100%;
    justify-content:flex-start;
  }

  .site-mobile-bar {
    position:fixed;
    left:0.75rem;
    right:0.75rem;
    bottom:0.75rem;
    z-index:125;
    display:grid !important;
    align-items:stretch;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:0.35rem;
    padding:0.5rem;
    background:rgba(255,255,255,0.95);
    border:1px solid rgba(255,255,255,0.8);
    border-radius:1.25rem;
    box-shadow:0 18px 40px rgba(15,23,42,0.16);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }

  .site-mobile-bar__item {
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:0.18rem;
    padding:0.5rem 0.2rem;
    border:none;
    background:transparent;
    border-radius:0.95rem;
    text-decoration:none;
    color:var(--text-m);
    font:inherit;
  }

  .site-mobile-bar__item.active {
    background:var(--accent-glow);
    color:var(--accent);
  }

  .site-mobile-bar__icon {
    font-size:1rem;
    line-height:1;
  }

  .site-mobile-bar__label {
    font-size:0.68rem;
    font-weight:700;
    white-space:nowrap;
  }

  body.has-site-mobile-bar .site-main {
    padding-bottom:6.5rem;
  }
}

@media(max-width:430px) {
  .site-mobile-bar__label,
  .dash-mobile-bar__label {
    font-size:0.62rem;
  }
}

/* Fixed mobile bar stabilization on iOS and narrow devices */
.site-mobile-bar,
.dash-mobile-bar {
  width:min(calc(100vw - 1.5rem), 32rem);
  max-width:calc(100vw - 1.5rem);
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%);
}

.site-mobile-bar__item,
.dash-mobile-bar__item {
  overflow:hidden;
}

@media(max-width:640px) {
  .site-mobile-bar,
  .dash-mobile-bar {
    width:min(calc(100vw - 1rem), 32rem);
    max-width:calc(100vw - 1rem);
    bottom:0.5rem;
  }
}

/* Unified brand polish */
:root {
  --accent-soft: rgba(255, 107, 53, 0.12);
  --accent-soft-strong: rgba(255, 107, 53, 0.2);
  --glass-panel: linear-gradient(180deg, rgba(255,255,255,0.9), rgba(255,255,255,0.78));
  --glass-panel-border: rgba(255,255,255,0.72);
  --drawer-shadow: -24px 0 60px rgba(15,23,42,0.22);
  --drawer-shadow-soft: 0 26px 54px rgba(15,23,42,0.18);
}

.btn {
  border-radius: 14px;
  font-weight: 700;
  letter-spacing: -0.01em;
  box-shadow: 0 10px 22px rgba(15,23,42,0.06);
}

.btn-primary {
  background: linear-gradient(135deg, #ff7a45 0%, var(--accent) 38%, var(--accent-d) 100%);
  box-shadow: 0 14px 30px rgba(255,107,53,0.22), inset 0 1px 0 rgba(255,255,255,0.24);
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(255,107,53,0.28), inset 0 1px 0 rgba(255,255,255,0.24);
}

.btn-outline {
  background: rgba(255,255,255,0.82);
  border: 1px solid rgba(255,107,53,0.18);
  color: var(--text);
  box-shadow: 0 10px 22px rgba(15,23,42,0.05);
}

.btn-outline:hover {
  background: rgba(255,255,255,0.96);
  border-color: rgba(255,107,53,0.42);
  color: var(--accent);
  box-shadow: 0 14px 28px rgba(255,107,53,0.1);
}

.btn-ghost {
  color: var(--text-s);
  border: 1px solid transparent;
}

.btn-ghost:hover {
  color: var(--accent);
  background: var(--accent-soft);
  border-color: rgba(255,107,53,0.14);
}

.mobile-nav-toggle,
.mobile-drawer-close {
  transition: transform var(--transition), box-shadow var(--transition), background var(--transition), border-color var(--transition), color var(--transition);
}

.mobile-nav-toggle {
  background: rgba(255,255,255,0.9);
  border: 1px solid rgba(255,107,53,0.18);
  box-shadow: 0 12px 26px rgba(15,23,42,0.08);
}

.mobile-nav-toggle:hover,
.mobile-nav-toggle.is-active {
  background: rgba(255,255,255,0.98);
  border-color: rgba(255,107,53,0.4);
  box-shadow: 0 16px 34px rgba(255,107,53,0.16);
}

.mobile-nav-toggle span {
  transform-origin: center;
  transition: transform 0.22s ease, opacity 0.22s ease, background 0.22s ease;
}

.mobile-nav-toggle.is-active span {
  background: var(--accent-d);
}

.mobile-nav-toggle.is-active span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.mobile-nav-toggle.is-active span:nth-child(2) {
  opacity: 0;
}

.mobile-nav-toggle.is-active span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

.mobile-drawer-close {
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(255,107,53,0.14);
  box-shadow: 0 8px 18px rgba(15,23,42,0.08);
}

.mobile-drawer-close:hover {
  color: var(--accent);
  background: rgba(255,255,255,0.94);
  border-color: rgba(255,107,53,0.32);
  transform: rotate(90deg);
}

.drawer-backdrop {
  background: radial-gradient(circle at top right, rgba(255,107,53,0.16), transparent 34%), rgba(15,23,42,0.48);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 0;
  transition: opacity 0.24s ease;
}

.drawer-backdrop.is-visible {
  opacity: 1;
}

.main-nav,
.dash-sidebar {
  background: var(--glass-panel) !important;
  border-color: var(--glass-panel-border) !important;
  box-shadow: var(--drawer-shadow) !important;
}

.main-nav::before,
.dash-sidebar::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 5.5rem;
  background:
    radial-gradient(circle at top left, rgba(255,107,53,0.18), transparent 56%),
    linear-gradient(180deg, rgba(255,255,255,0.42), transparent 100%);
  pointer-events: none;
}

.main-nav {
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.24s ease !important;
  opacity: 0;
}

.main-nav.is-open {
  opacity: 1;
}

.dash-sidebar {
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.24s ease !important;
  opacity: 0;
}

.dash-sidebar.is-open {
  opacity: 1;
}

.mobile-drawer-head,
.dash-mobile-head {
  position: relative;
  z-index: 1;
}

.mobile-drawer-head strong,
.dash-mobile-head strong {
  font-size: 1.02rem;
  letter-spacing: -0.02em;
}

.mobile-drawer-head span,
.dash-mobile-head span {
  color: var(--text-m);
}

.main-nav a,
.dash-nav-item,
.main-nav .btn,
.main-nav form button {
  position: relative;
}

.main-nav a,
.dash-nav-item {
  border: 1px solid transparent;
}

.main-nav a:hover,
.dash-nav-item:hover {
  background: linear-gradient(135deg, rgba(255,107,53,0.14), rgba(255,255,255,0.82));
  border-color: rgba(255,107,53,0.18);
  color: var(--accent);
  transform: translateX(2px);
}

.dash-nav-item.active,
.main-nav a.active {
  background: linear-gradient(135deg, rgba(255,107,53,0.18), rgba(255,255,255,0.88));
  border-color: rgba(255,107,53,0.22);
  color: var(--accent-d);
  box-shadow: 0 10px 24px rgba(255,107,53,0.08);
}

.main-nav.is-open > *:not(.mobile-drawer-head),
.dash-sidebar.is-open .dash-nav > * {
  animation: drawerItemIn 0.28s ease both;
}

.main-nav.is-open > *:not(.mobile-drawer-head):nth-child(2),
.dash-sidebar.is-open .dash-nav > *:nth-child(1) { animation-delay: 0.03s; }
.main-nav.is-open > *:not(.mobile-drawer-head):nth-child(3),
.dash-sidebar.is-open .dash-nav > *:nth-child(2) { animation-delay: 0.05s; }
.main-nav.is-open > *:not(.mobile-drawer-head):nth-child(4),
.dash-sidebar.is-open .dash-nav > *:nth-child(3) { animation-delay: 0.07s; }
.main-nav.is-open > *:not(.mobile-drawer-head):nth-child(5),
.dash-sidebar.is-open .dash-nav > *:nth-child(4) { animation-delay: 0.09s; }
.main-nav.is-open > *:not(.mobile-drawer-head):nth-child(6),
.dash-sidebar.is-open .dash-nav > *:nth-child(5) { animation-delay: 0.11s; }
.main-nav.is-open > *:not(.mobile-drawer-head):nth-child(7),
.dash-sidebar.is-open .dash-nav > *:nth-child(6) { animation-delay: 0.13s; }

.site-mobile-bar,
.dash-mobile-bar {
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(255,255,255,0.84));
  border: 1px solid rgba(255,255,255,0.8);
  box-shadow: var(--drawer-shadow-soft);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.site-mobile-bar::before,
.dash-mobile-bar::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at top center, rgba(255,107,53,0.16), transparent 60%);
  pointer-events: none;
}

.site-mobile-bar__item,
.dash-mobile-bar__item {
  position: relative;
  transition: transform var(--transition), background var(--transition), color var(--transition), box-shadow var(--transition);
}

.site-mobile-bar__item:hover,
.dash-mobile-bar__item:hover {
  transform: translateY(-1px);
}

.site-mobile-bar__item.active,
.dash-mobile-bar__item.active {
  background: linear-gradient(180deg, rgba(255,107,53,0.18), rgba(255,107,53,0.08));
  color: var(--accent-d);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.55);
}

.site-mobile-bar__item.active::after,
.dash-mobile-bar__item.active::after {
  content: '';
  position: absolute;
  left: 24%;
  right: 24%;
  bottom: 0.16rem;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), var(--accent-d));
}

.badge-count {
  background: linear-gradient(135deg, var(--accent), var(--accent-d));
  box-shadow: 0 8px 18px rgba(255,107,53,0.18);
}

@keyframes drawerItemIn {
  from {
    opacity: 0;
    transform: translateX(10px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Card and badge brand system */
.dash-container,
.dash-card,
.stat-card,
.biz-section,
.contact-card,
.blog-card,
.business-card,
.admin-card,
.auth-box,
.dash-table {
  position: relative;
  background: linear-gradient(180deg, rgba(255,255,255,0.9), rgba(255,255,255,0.78));
  border: 1px solid rgba(255,255,255,0.76);
  box-shadow: 0 16px 34px rgba(15,23,42,0.06);
}

.dash-container::before,
.dash-card::before,
.stat-card::before,
.biz-section::before,
.contact-card::before,
.blog-card::before,
.business-card::before,
.admin-card::before,
.auth-box::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(255,107,53,0), rgba(255,107,53,0.85), rgba(255,107,53,0));
  opacity: 0.8;
  pointer-events: none;
}

.dash-container:hover,
.dash-card:hover,
.stat-card:hover,
.biz-section:hover,
.contact-card:hover,
.blog-card:hover,
.business-card:hover,
.admin-card:hover {
  box-shadow: 0 22px 42px rgba(15,23,42,0.09);
}

.dash-table {
  overflow: hidden;
}

.dash-table th {
  background: linear-gradient(180deg, rgba(255,107,53,0.08), rgba(255,255,255,0.75));
  color: var(--text-s);
  border-bottom: 1px solid rgba(255,107,53,0.08);
}

.dash-table tr:hover td {
  background: rgba(255,107,53,0.05);
}

.business-card,
.blog-card,
.city-card,
.cat-card,
.stat-card,
.admin-card {
  overflow: hidden;
}

.business-card:hover,
.blog-card:hover,
.city-card:hover,
.cat-card:hover,
.stat-card:hover,
.admin-card:hover {
  transform: translateY(-5px);
}

.biz-section h2,
.contact-card h3,
.dash-section-header h2,
.dash-title,
.auth-box h1 {
  letter-spacing: -0.03em;
}

.card-premium-badge,
.badge-premium {
  background: linear-gradient(135deg, rgba(255,107,53,0.18), rgba(255,107,53,0.08));
  color: var(--accent-d);
  border: 1px solid rgba(255,107,53,0.2);
  box-shadow: 0 8px 18px rgba(255,107,53,0.12);
}

.badge {
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 0.28rem 0.7rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.badge-pending {
  background: rgba(255,107,53,0.12);
  color: var(--accent-d);
  border-color: rgba(255,107,53,0.18);
}

.badge-active,
.badge-published,
.badge-verified {
  background: rgba(16,185,129,0.11);
  color: #047857;
  border-color: rgba(16,185,129,0.16);
}

.badge-suspended,
.badge-admin {
  background: rgba(239,68,68,0.1);
  color: #b91c1c;
  border-color: rgba(239,68,68,0.14);
}

.badge-draft,
.badge-user,
.badge-business,
.badge-archived {
  background: rgba(15,23,42,0.05);
  color: var(--text-s);
  border-color: rgba(15,23,42,0.08);
}

.dash-grade-badge {
  box-shadow: 0 10px 20px rgba(15,23,42,0.05);
  border: 1px solid rgba(255,255,255,0.72);
}

.dash-note,
.dash-plan-feature,
.chart-btn,
.chart-year-nav {
  border: 1px solid rgba(255,107,53,0.1);
  box-shadow: 0 8px 16px rgba(15,23,42,0.03);
}

.dash-plan-feature {
  background: linear-gradient(180deg, rgba(255,255,255,0.9), rgba(255,255,255,0.74));
}

.chart-btn.active,
.chart-year-nav:hover {
  background: var(--accent-soft);
  color: var(--accent-d);
  border-color: rgba(255,107,53,0.22);
}

.contact-item {
  transition: var(--transition), padding-left var(--transition);
}

a.contact-item:hover {
  padding-left: 0.2rem;
}

.alert {
  box-shadow: 0 10px 20px rgba(15,23,42,0.04);
}

/* Forms, tables and controls polish */
.form-section {
  border-bottom-color: rgba(255,107,53,0.08);
}

.form-section h3,
.form-section h2 {
  letter-spacing: -0.02em;
  color: var(--text-s);
}

.form-group label {
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: var(--text-s);
}

.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="tel"],
.form-group input[type="url"],
.form-group input[type="password"],
.form-group input[type="number"],
.form-group input[type="date"],
.form-group textarea,
.form-group select,
.search-bar input[type="text"],
.search-bar select {
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(255,255,255,0.82));
  border: 1px solid rgba(255,107,53,0.12);
  border-radius: 0.95rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.7), 0 10px 22px rgba(15,23,42,0.04);
  color: var(--text);
}

.form-group input::placeholder,
.form-group textarea::placeholder,
.search-bar input::placeholder {
  color: var(--text-l);
}

.form-group textarea {
  min-height: 8.5rem;
  resize: vertical;
  line-height: 1.6;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus,
.search-bar input[type="text"]:focus,
.search-bar select:focus {
  border-color: rgba(255,107,53,0.32);
  box-shadow: 0 0 0 4px rgba(255,107,53,0.12), 0 18px 34px rgba(15,23,42,0.08);
  background: rgba(255,255,255,0.98);
}

.form-group small {
  color: var(--text-m);
  line-height: 1.5;
}

.form-group input[type="file"] {
  padding: 0.85rem 0.95rem;
  border: 1px dashed rgba(255,107,53,0.25);
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(255,249,245,0.95), rgba(255,255,255,0.8));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.75);
}

.form-group input[type="file"]::file-selector-button {
  margin-right: 0.85rem;
  padding: 0.65rem 0.95rem;
  border: none;
  border-radius: 0.85rem;
  background: linear-gradient(135deg, var(--accent), var(--accent-d));
  color: #fff;
  font-family: inherit;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 10px 20px rgba(255,107,53,0.18);
}

.form-group input[type="checkbox"],
.form-group input[type="radio"] {
  accent-color: var(--accent);
}

.search-bar {
  background: linear-gradient(180deg, rgba(255,255,255,0.86), rgba(255,255,255,0.72));
  border: 1px solid rgba(255,255,255,0.82);
  box-shadow: 0 18px 34px rgba(15,23,42,0.07);
}

.search-bar input[type="text"],
.search-bar select {
  box-shadow: none;
  border: none;
  border-radius: 0;
  background: transparent;
}

.search-bar select {
  color: var(--text-s);
  border-left: 1px solid rgba(255,107,53,0.1);
}

.dash-table {
  border-color: rgba(255,255,255,0.82);
  box-shadow: 0 18px 34px rgba(15,23,42,0.06);
}

.dash-table th {
  padding: 0.9rem 1rem;
  letter-spacing: 0.09em;
}

.dash-table td {
  padding: 0.95rem 1rem;
  color: var(--text-s);
}

.dash-table tr:hover td {
  background: linear-gradient(180deg, rgba(255,107,53,0.06), rgba(255,255,255,0.7));
}

.btn-link {
  padding: 0.4rem 0.75rem;
  border-radius: 999px;
  background: rgba(255,107,53,0.06);
  border: 1px solid rgba(255,107,53,0.08);
}

.btn-link:hover {
  background: rgba(255,107,53,0.12);
  border-color: rgba(255,107,53,0.16);
}

.btn-link--danger {
  background: rgba(239,68,68,0.06);
  border-color: rgba(239,68,68,0.08);
}

.btn-link--danger:hover {
  background: rgba(239,68,68,0.12);
  border-color: rgba(239,68,68,0.14);
}

.empty-state {
  background: linear-gradient(180deg, rgba(255,255,255,0.84), rgba(255,255,255,0.7));
  border: 1px dashed rgba(255,107,53,0.18);
  border-radius: 1.35rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.8);
}

.empty-state h3 {
  letter-spacing: -0.02em;
}

.review-item,
.post-card-sm,
.review-form-wrap {
  background: linear-gradient(180deg, rgba(255,255,255,0.88), rgba(255,255,255,0.76));
  border: 1px solid rgba(255,255,255,0.76);
  box-shadow: 0 12px 24px rgba(15,23,42,0.04);
}

.review-item {
  padding: 1rem 1.05rem;
}

.review-form-wrap {
  margin-top: 1.8rem;
  padding-top: 1.4rem;
  border-top-color: rgba(255,107,53,0.1);
}

.post-card-sm {
  border-radius: 1rem;
}

.post-card-sm:hover {
  box-shadow: 0 16px 28px rgba(15,23,42,0.08);
}

.rte-shell {
  border-color: rgba(255,107,53,0.12);
  box-shadow: 0 18px 36px rgba(15,23,42,0.08);
}

.rte-toolbar {
  background: linear-gradient(180deg, rgba(255,250,246,0.96), rgba(255,255,255,0.9));
}

.rte-btn {
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,248,244,0.86));
  border-color: rgba(255,107,53,0.08);
}

.rte-btn:hover,
.rte-btn.is-active {
  background: rgba(255,107,53,0.12);
  border-color: rgba(255,107,53,0.18);
  color: var(--accent-d);
}

.rte-source {
  border-top: 1px solid rgba(255,107,53,0.08);
}

.chart-period-btns {
  background: linear-gradient(180deg, rgba(255,255,255,0.78), rgba(255,255,255,0.66));
  border: 1px solid rgba(255,255,255,0.74);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.8);
}

.chart-btn,
.chart-year-nav {
  background: rgba(255,255,255,0.78);
}

.chart-btn:hover,
.chart-btn.active,
.chart-year-nav:hover {
  box-shadow: 0 10px 18px rgba(255,107,53,0.12);
}

/* Mobile and tablet spacing polish */
.site-header {
  background: linear-gradient(180deg, rgba(255,255,255,0.97), rgba(255,250,246,0.95));
  border-bottom-color: rgba(255,107,53,0.12);
  box-shadow: 0 10px 26px rgba(15,23,42,0.05);
}

.site-mobile-bar,
.dash-mobile-bar {
  background: linear-gradient(180deg, rgba(255,255,255,0.995), rgba(255,248,243,0.985));
  border-color: rgba(255,107,53,0.12);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: 0 18px 38px rgba(15,23,42,0.14);
}

.site-mobile-bar::before,
.dash-mobile-bar::before {
  background: radial-gradient(circle at top center, rgba(255,107,53,0.12), transparent 58%);
}

.review-form-wrap {
  padding: 1.35rem;
  border-radius: 1.1rem;
}

body.has-site-mobile-bar .site-main {
  padding-bottom: calc(7rem + env(safe-area-inset-bottom, 0px));
}

body.has-mobile-nav .dash-main,
body.has-dashboard-drawer .dash-main {
  padding-bottom: calc(7.25rem + env(safe-area-inset-bottom, 0px));
}

.site-footer {
  margin-top: 1.75rem;
}

@media (max-width: 1100px) {
  .site-footer {
    margin-top: 1.25rem;
  }

  .biz-section,
  .contact-card {
    padding: 1rem;
  }

  .review-form-wrap {
    margin-inline: 0;
    padding: 1rem;
  }
}

@media (max-width: 640px) {
  .site-mobile-bar,
  .dash-mobile-bar {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 0.7rem) !important;
    width: min(calc(100vw - 1rem), 32rem);
    max-width: calc(100vw - 1rem);
    padding: 0.35rem;
  }

  body.has-site-mobile-bar .site-main {
    padding-bottom: calc(7.5rem + env(safe-area-inset-bottom, 0px));
  }

  body.has-mobile-nav .dash-main,
  body.has-dashboard-drawer .dash-main {
    padding-bottom: calc(7.75rem + env(safe-area-inset-bottom, 0px));
  }

  .site-footer {
    margin-top: 1rem;
    padding-bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px));
  }
}

@media (min-width: 1025px) {
  .main-nav {
    position: static !important;
    width: auto !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .main-nav::before {
    display: none !important;
  }
}

@media (min-width: 1101px) {
  .dash-sidebar {
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
  }
}

@media (max-width: 1100px) {
  .dash-main {
    padding-bottom: calc(7.25rem + env(safe-area-inset-bottom, 0px)) !important;
  }

  .dash-sidebar {
    padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
  }
}

@media (max-width: 1024px) {
  .site-header {
    background: linear-gradient(180deg, rgba(255,252,249,0.995), rgba(255,248,243,0.99));
  }

  .main-nav {
    background: linear-gradient(180deg, #fffaf6, #fff3eb) !important;
    border-left-color: rgba(255,107,53,0.14) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: 0 24px 48px rgba(15,23,42,0.16) !important;
  }

  .main-nav::before {
    background:
      radial-gradient(circle at top left, rgba(255,107,53,0.12), transparent 56%),
      linear-gradient(180deg, rgba(255,255,255,0.78), transparent 100%) !important;
  }

  body.has-site-mobile-bar .site-main {
    padding-bottom: calc(7rem + env(safe-area-inset-bottom, 0px)) !important;
  }

  .site-main {
    min-height: 0;
  }

  .site-footer {
    margin-top: 0.9rem !important;
  }
}

@media (max-width: 1100px) {
  .review-form-wrap {
    width: 100%;
    box-sizing: border-box;
    padding: 1rem !important;
    margin-top: 1rem !important;
    border-radius: 1rem;
    overflow: hidden;
  }

  .review-form-wrap .form-group:last-child {
    margin-bottom: 0;
  }
}

/* Unified container rhythm */
:root {
  --panel-pad-inline: 1.5rem;
  --panel-pad-block: 1.35rem;
  --panel-pad-inline-tight: 1.25rem;
  --panel-pad-block-tight: 1.15rem;
}

.dash-container,
.dash-container--flat,
.dash-card,
.stat-card,
.biz-section,
.contact-card,
.admin-card,
.auth-box,
.blog-card-body,
.business-card-body,
.city-card,
.cat-card,
.review-form-wrap,
.review-item,
.post-card-sm,
.dash-table,
.empty-state {
  box-sizing: border-box;
}

.dash-container,
.dash-card,
.biz-section,
.contact-card,
.admin-card,
.auth-box,
.blog-card-body,
.business-card-body {
  padding-inline: var(--panel-pad-inline) !important;
  padding-block: var(--panel-pad-block) !important;
}

.dash-container--flat {
  padding-inline: var(--panel-pad-inline) !important;
  padding-block: var(--panel-pad-block) !important;
}

.stat-card,
.city-card,
.cat-card,
.review-form-wrap,
.review-item,
.post-card-sm,
.empty-state {
  padding-inline: var(--panel-pad-inline-tight) !important;
  padding-block: var(--panel-pad-block-tight) !important;
}

.dash-table th,
.dash-table td {
  padding-inline: var(--panel-pad-inline-tight) !important;
}

.dash-table th {
  padding-block: 0.95rem !important;
}

.dash-table td {
  padding-block: 1rem !important;
}

@media (max-width: 1100px) {
  :root {
    --panel-pad-inline: 1.1rem;
    --panel-pad-block: 1.1rem;
    --panel-pad-inline-tight: 1rem;
    --panel-pad-block-tight: 1rem;
  }
}

@media (max-width: 1280px) {
  :root {
    --panel-pad-inline: 1.35rem;
    --panel-pad-block: 1.2rem;
    --panel-pad-inline-tight: 1.1rem;
    --panel-pad-block-tight: 1rem;
  }
}

@media (max-width: 640px) {
  :root {
    --panel-pad-inline: 1rem;
    --panel-pad-block: 1rem;
    --panel-pad-inline-tight: 0.95rem;
    --panel-pad-block-tight: 0.95rem;
  }
}

/* Unified type rhythm */
:root {
  --flow-title-gap: 0.8rem;
  --flow-copy-gap: 1rem;
  --flow-section-gap: 1.35rem;
  --flow-list-gap: 0.95rem;
  --flow-tight-gap: 0.6rem;
}

:where(
  .dash-container,
  .dash-container--flat,
  .dash-card,
  .biz-section,
  .contact-card,
  .admin-card,
  .auth-box,
  .review-form-wrap,
  .review-item,
  .blog-card-body,
  .business-card-body,
  .empty-state
) > :first-child {
  margin-top: 0 !important;
}

:where(
  .dash-container,
  .dash-container--flat,
  .dash-card,
  .biz-section,
  .contact-card,
  .admin-card,
  .auth-box,
  .review-form-wrap,
  .review-item,
  .blog-card-body,
  .business-card-body,
  .empty-state
) > :last-child {
  margin-bottom: 0 !important;
}

:where(
  .dash-container,
  .dash-container--flat,
  .dash-card,
  .biz-section,
  .contact-card,
  .admin-card,
  .auth-box,
  .review-form-wrap,
  .review-item,
  .blog-card-body,
  .business-card-body,
  .empty-state
) > :is(h1, h2, h3, h4) {
  margin-top: 0 !important;
  margin-bottom: var(--flow-title-gap) !important;
  line-height: 1.2;
}

:where(
  .dash-container,
  .dash-container--flat,
  .dash-card,
  .biz-section,
  .contact-card,
  .admin-card,
  .auth-box,
  .review-form-wrap,
  .review-item,
  .blog-card-body,
  .business-card-body,
  .empty-state
) > p {
  margin-top: 0 !important;
  margin-bottom: var(--flow-copy-gap) !important;
  line-height: 1.7;
}

:where(
  .dash-container,
  .dash-container--flat,
  .dash-card,
  .biz-section,
  .contact-card,
  .admin-card,
  .auth-box,
  .review-form-wrap,
  .review-item,
  .blog-card-body,
  .business-card-body,
  .empty-state
) > :is(ul, ol) {
  margin-top: 0 !important;
  margin-bottom: var(--flow-list-gap) !important;
}

.dash-page-intro {
  gap: var(--flow-tight-gap) !important;
}

.dash-page-header,
.dash-section-header {
  margin-bottom: var(--flow-section-gap) !important;
}

.dash-section > .dash-section-header {
  margin-bottom: calc(var(--flow-section-gap) + 0.35rem) !important;
}

.dash-page-subtitle,
.auth-sub,
.blog-card-excerpt,
.footer-brand p {
  line-height: 1.7;
}

.hero h1 {
  margin-bottom: var(--flow-title-gap) !important;
}

.hero-sub {
  margin-bottom: calc(var(--flow-section-gap) + 0.35rem) !important;
}

.biz-section h2,
.contact-card h3,
.review-form-wrap h3,
.form-section h3,
.empty-state h3,
.admin-card h3,
.blog-card-title {
  margin-bottom: var(--flow-title-gap) !important;
}

.biz-desc p,
.post-body p,
.rte-editor p {
  margin-bottom: var(--flow-copy-gap) !important;
}

.biz-desc ul,
.biz-desc ol,
.post-body ul,
.post-body ol,
.rte-editor ul,
.rte-editor ol {
  margin-bottom: var(--flow-list-gap) !important;
}

.post-body h2,
.rte-editor h2 {
  margin: calc(var(--flow-section-gap) + 0.35rem) 0 var(--flow-title-gap) !important;
}

.post-body h3,
.rte-editor h3 {
  margin: var(--flow-section-gap) 0 var(--flow-tight-gap) !important;
}

.dash-stack,
.post-list {
  gap: var(--flow-copy-gap) !important;
}

.stats-grid,
.dash-grid-tiles,
.blog-grid,
.business-grid {
  gap: var(--flow-copy-gap) !important;
}

@media (min-width: 1600px) {
  :root {
    --panel-pad-inline: 1.65rem;
    --panel-pad-block: 1.5rem;
    --panel-pad-inline-tight: 1.35rem;
    --panel-pad-block-tight: 1.2rem;
    --flow-title-gap: 0.9rem;
    --flow-copy-gap: 1.1rem;
    --flow-section-gap: 1.5rem;
    --flow-list-gap: 1rem;
    --flow-tight-gap: 0.7rem;
  }
}

@media (min-width: 2200px) {
  :root {
    --panel-pad-inline: 1.85rem;
    --panel-pad-block: 1.65rem;
    --panel-pad-inline-tight: 1.5rem;
    --panel-pad-block-tight: 1.3rem;
    --flow-title-gap: 1rem;
    --flow-copy-gap: 1.2rem;
    --flow-section-gap: 1.65rem;
    --flow-list-gap: 1.1rem;
    --flow-tight-gap: 0.75rem;
  }
}

@media (max-width: 1280px) {
  :root {
    --flow-title-gap: 0.75rem;
    --flow-copy-gap: 0.95rem;
    --flow-section-gap: 1.25rem;
    --flow-list-gap: 0.9rem;
    --flow-tight-gap: 0.55rem;
  }
}

@media (max-width: 1100px) {
  :root {
    --flow-title-gap: 0.72rem;
    --flow-copy-gap: 0.9rem;
    --flow-section-gap: 1.15rem;
    --flow-list-gap: 0.85rem;
    --flow-tight-gap: 0.5rem;
  }
}

@media (max-width: 640px) {
  :root {
    --flow-title-gap: 0.65rem;
    --flow-copy-gap: 0.85rem;
    --flow-section-gap: 1rem;
    --flow-list-gap: 0.8rem;
    --flow-tight-gap: 0.45rem;
  }
}

/* Final spacing cleanup */
.dash-container--flat,
.dash-section,
.dash-page,
.dash-page-header,
.dash-page-intro,
.biz-main,
.biz-sidebar,
.blog-card-body,
.business-card-body,
.empty-state {
  min-width: 0;
}

.dash-page {
  gap: var(--flow-section-gap) !important;
}

.dash-section-header,
.dash-top,
.page-breadcrumb,
.auth-links,
.footer-title,
.blog-card-meta,
.blog-card-title,
.business-card-cat,
.business-card-name,
.business-card-addr {
  margin-bottom: 0 !important;
}

.dash-page-header + .dash-container,
.dash-page-header + .dash-container--flat,
.page-breadcrumb + .dash-container,
.page-breadcrumb + .biz-section {
  margin-top: 0 !important;
}

.biz-section,
.contact-card,
.admin-card,
.dash-card,
.stat-card,
.review-item,
.review-form-wrap,
.post-card-sm,
.empty-state,
.auth-box {
  margin-bottom: 0 !important;
}

.biz-main,
.biz-sidebar,
.dash-stack,
.post-list,
.reviews-list {
  display: flex;
  flex-direction: column;
  gap: var(--flow-copy-gap);
}

.dash-top {
  margin-bottom: var(--flow-copy-gap) !important;
}

.business-card-body,
.blog-card-body,
.city-card,
.cat-card {
  gap: var(--flow-tight-gap);
}

.dash-section-header .btn,
.dash-section-header form,
.growth-actions-row .btn,
.dash-actions .btn {
  margin-block: 0.125rem;
}

.business-card-addr {
  padding-top: var(--flow-tight-gap) !important;
}

.cta-section p,
.auth-sub,
.hero-sub,
.dash-page-subtitle,
.blog-card-excerpt {
  margin-bottom: 0 !important;
}

.dash-page-intro > :is(h1, h2, h3, p),
.auth-box > :is(h1, p),
.empty-state > :is(h3, p) {
  margin-bottom: 0 !important;
}

.dash-page-intro > * + *,
.auth-box > * + *,
.empty-state > * + *,
.blog-card-body > * + *,
.business-card-body > * + * {
  margin-top: var(--flow-tight-gap) !important;
}

@media (max-width: 768px) {
  .biz-profile {
    padding-bottom: var(--flow-section-gap) !important;
  }

  .dash-main {
    padding-inline: var(--panel-pad-inline) !important;
    padding-top: var(--panel-pad-block) !important;
  }

  .rte-toolbar,
  .rte-editor,
  #chart-wrap {
    padding-inline: var(--panel-pad-inline-tight) !important;
  }

  .stat-card {
    padding-inline: var(--panel-pad-inline-tight) !important;
    padding-block: var(--panel-pad-block-tight) !important;
  }
}

@media (max-width: 480px) {
  .dash-main,
  .biz-section,
  .contact-card,
  .dash-container,
  .auth-box,
  .review-item,
  .review-form-wrap {
    padding-inline: var(--panel-pad-inline) !important;
    padding-block: var(--panel-pad-block) !important;
  }

  .city-card,
  .cat-card,
  .stat-card,
  .post-card-sm,
  .empty-state,
  .blog-card-body,
  .business-card-body {
    padding-inline: var(--panel-pad-inline-tight) !important;
    padding-block: var(--panel-pad-block-tight) !important;
  }

  .review-item {
    padding-block: var(--panel-pad-block-tight) !important;
  }
}

/* Growth page previews */
.growth-section-head {
  display: flex;
  flex-direction: column;
  gap: var(--flow-tight-gap);
}

.growth-section-head p {
  color: var(--text-m);
  font-size: 0.875rem;
}

.growth-preview-row {
  display: flex;
  align-items: flex-start;
  gap: var(--flow-copy-gap);
  flex-wrap: wrap;
}

.growth-preview-row--center {
  align-items: center;
}

.growth-preview-panel {
  flex: 1 1 20rem;
  min-width: min(100%, 18rem);
  border-radius: 1.1rem;
  border: 1px solid rgba(255,255,255,0.78);
  box-shadow: 0 14px 28px rgba(15,23,42,0.08);
  overflow: hidden;
  padding: var(--panel-pad-block-tight) var(--panel-pad-inline-tight);
}

.growth-preview-panel--light {
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(255,248,243,0.88));
}

.growth-preview-panel--dark {
  background: linear-gradient(180deg, #1e293b, #0f172a);
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 0;
}

.growth-preview-panel--dark #inap {
  width: min(100%, 56rem);
  margin-inline: auto;
}

.growth-qr-img {
  width: 10rem;
  height: 10rem;
  display: block;
}

.growth-actions-col {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--flow-copy-gap);
}

.growth-actions-row {
  display: flex;
  gap: var(--flow-copy-gap);
  flex-wrap: wrap;
}

.growth-meta {
  font-size: 0.8125rem;
  color: var(--text-m);
}

.growth-meta code {
  background: rgba(248,250,252,0.95);
  padding: 0.2rem 0.45rem;
  border-radius: 0.4rem;
  font-size: 0.8rem;
}

.growth-inline-alert {
  background: rgba(248,250,252,0.92);
  border: 1px solid var(--glass-border);
  border-radius: 0.95rem;
  color: var(--text-m);
}

.growth-details {
  border: 1px solid rgba(255,107,53,0.1);
  border-radius: 1rem;
  padding: 0.95rem 1rem;
  background: linear-gradient(180deg, rgba(255,255,255,0.82), rgba(255,255,255,0.72));
}

.growth-details summary {
  cursor: pointer;
  font-weight: 700;
  font-size: 0.875rem;
  color: var(--text-s);
}

.growth-details__body {
  margin-top: 0.75rem;
  font-size: 0.875rem;
  color: var(--text-m);
  line-height: 1.7;
}

.growth-badge-preview {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  background: #fff;
  border-radius: 999px;
  padding: 0.55rem 1rem;
  box-shadow: 0 10px 22px rgba(15,23,42,0.08);
}

.growth-badge-preview__stars,
.slider-inline-preview__stars {
  font-size: 1rem;
  color: #f59e0b;
  letter-spacing: 0.08em;
}

.growth-badge-preview__meta {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}

.growth-badge-preview__score {
  font-size: 0.8125rem;
  font-weight: 700;
  color: #1a1a1a;
}

.growth-badge-preview__label {
  font-size: 0.66rem;
  color: #64748b;
}

.slider-inline-preview {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.75rem;
}

.slider-inline-preview__viewport {
  overflow: hidden;
}

.slider-inline-preview__track {
  display: flex;
  gap: 0.85rem;
}

.slider-inline-preview__card {
  width: min(17rem, calc(50vw - 3rem));
  min-width: 13rem;
  min-height: 8.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0.95rem;
  border-radius: 1rem;
  background: rgba(255,255,255,0.96);
  box-shadow: 0 14px 28px rgba(2,6,23,0.16);
}

.slider-inline-preview__card-head {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

.slider-inline-preview__avatar {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 999px;
  background: #ff6b35;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.82rem;
  font-weight: 700;
  flex-shrink: 0;
}

.slider-inline-preview__identity {
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.slider-inline-preview__identity strong {
  font-size: 0.82rem;
  color: #111827;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.slider-inline-preview__identity span {
  font-size: 0.68rem;
  color: #6b7280;
}

.slider-inline-preview__verified {
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 999px;
  background: #ff6b35;
  color: #fff;
  font-size: 0.72rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.slider-inline-preview__text {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #334155;
}

.slider-inline-preview__arrow {
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 999px;
  background: rgba(255,255,255,0.92);
  color: #334155;
  font-size: 1.25rem;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(2,6,23,0.18);
}

.slider-inline-preview__arrow--right {
  background: #fff;
}

.slider-inline-preview__dots {
  display: flex;
  justify-content: center;
  gap: 0.45rem;
  margin-top: 0.9rem;
}

.slider-inline-preview__dots span {
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.28);
}

.slider-inline-preview__dots span.is-on {
  background: #ff6b35;
  transform: scale(1.3);
}

@media (max-width: 768px) {
  .growth-preview-panel {
    min-width: 100%;
  }

  .growth-qr-img {
    width: 8.75rem;
    height: 8.75rem;
  }

  .growth-badge-preview {
    width: 100%;
    justify-content: flex-start;
  }

  .slider-inline-preview {
    grid-template-columns: 1fr;
  }

  .slider-inline-preview__arrow {
    display: none;
  }

  .slider-inline-preview__card {
    width: min(16rem, 100%);
  }

  .growth-preview-panel--dark #inap {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .growth-preview-panel--dark #inap .inap-vp {
    margin: 0 !important;
    padding-inline: 0 !important;
  }

  .growth-preview-panel--dark #inap .inap-card {
    min-width: 0 !important;
  }
}

/* Exact slider widget preview */
.growth-widget-shell *{box-sizing:border-box;margin:0;padding:0}
.growth-widget-shell{background:transparent;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif}
.growth-widget-shell [id^="inap-preview-"]{position:relative;width:100%}
.growth-widget-shell .inap-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:10;
  width:36px;height:36px;border-radius:50%;
  border:1px solid rgba(0,0,0,0.15);background:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:20px;color:#374151;
  box-shadow:0 2px 6px rgba(0,0,0,0.1);transition:box-shadow .15s,opacity .15s;line-height:1;
}
.growth-widget-shell .inap-arrow:hover:not([disabled]){box-shadow:0 4px 12px rgba(0,0,0,0.18)}
.growth-widget-shell .inap-arrow[disabled]{opacity:.3;cursor:default}
.growth-widget-shell [id$="-prev"]{left:-4px}
.growth-widget-shell [id$="-next"]{right:-4px}
.growth-widget-shell .inap-vp{overflow:hidden;margin:0 40px;padding:4px 2px}
.growth-widget-shell .inap-track{
  display:flex;flex-wrap:nowrap;gap:12px;
  transition:transform .38s cubic-bezier(.4,0,.2,1);align-items:stretch;
}
.growth-widget-shell .inap-card{
  flex-shrink:0;flex-grow:0;background:rgba(255,255,255,0.92);
  border:1px solid rgba(0,0,0,0.08);border-radius:12px;padding:14px;
  display:flex;flex-direction:column;gap:8px;min-height:150px;
}
.growth-widget-shell .inap-card-header{display:flex;align-items:center;gap:10px}
.growth-widget-shell .inap-avatar{
  width:38px;height:38px;border-radius:50%;color:#fff;font-weight:700;font-size:14px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;text-transform:uppercase;
}
.growth-widget-shell .inap-card-name{
  font-weight:700;font-size:13px;color:#111827;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.growth-widget-shell .inap-card-date{font-size:11px;color:#6b7280;margin-top:1px}
.growth-widget-shell .inap-stars{color:#f59e0b;font-size:15px;letter-spacing:1px;line-height:1}
.growth-widget-shell .inap-text{
  font-size:13px;line-height:1.55;color:#374151;flex:1;
  overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;
}
.growth-widget-shell .inap-dots{
  display:flex;gap:6px;justify-content:center;margin-top:14px;flex-wrap:wrap;
}
.growth-widget-shell .inap-dot{
  width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,0.25);
  border:none;padding:0;cursor:pointer;transition:background .2s,transform .2s;
}
.growth-widget-shell .inap-dot.on{background:#FF6B35;transform:scale(1.45)}
.growth-widget-shell .inap-footer{text-align:center;margin-top:10px}
.growth-widget-shell .inap-footer a{
  font-size:11px;color:#FF6B35;text-decoration:none;opacity:.85;transition:opacity .15s;
}
.growth-widget-shell .inap-footer a:hover{opacity:1}
.growth-widget-shell [id$="-loading"]{text-align:center;padding:36px;color:#cbd5e1;font-size:14px}

@media (max-width: 768px) {
  .growth-widget-shell .inap-arrow { display:none; }
  .growth-widget-shell .inap-vp { margin:0; }
}

@media (max-width: 1024px) {
  .growth-preview-panel--dark #inap {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .growth-preview-panel--dark #inap .inap-vp {
    margin-inline: 0 !important;
    padding-inline: 0 !important;
  }

  .growth-preview-panel--dark #inap .inap-card {
    min-width: 0 !important;
  }
}

@media (max-width: 640px) {
  .biz-header,
  .biz-header-info,
  .dash-page-header,
  .dash-page-intro,
  .dash-section-header,
  .dash-actions,
  .biz-ratings-row,
  .biz-badges,
  .review-header,
  .post-meta,
  .footer-grid,
  .footer-brand {
    align-items: center !important;
    text-align: center !important;
  }

  .dash-page-header,
  .dash-section-header {
    justify-content: center !important;
  }

  .dash-page-intro,
  .dash-actions,
  .biz-header-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .biz-section,
  .contact-card,
  .review-form-wrap,
  .auth-box,
  .dash-card,
  .admin-card,
  .stat-card,
  .empty-state,
  .blog-card-body,
  .business-card-body,
  .city-card,
  .cat-card,
  .post-card-sm,
  .footer-brand,
  .footer-links,
  .footer-title,
  .page-breadcrumb,
  .dash-page-subtitle,
  .blog-card-meta,
  .blog-card-title,
  .blog-card-excerpt,
  .business-card-cat,
  .business-card-name,
  .business-card-addr,
  .form-section h3,
  .form-group label,
  .form-group small {
    text-align: center !important;
  }

  .contact-item,
  .dash-actions,
  .biz-ratings-row,
  .biz-badges,
  .post-meta {
    justify-content: center !important;
  }

  .biz-service-copy,
  .biz-service-meta,
  .biz-service-price-wrap {
    align-items: center !important;
    text-align: center !important;
  }

  .biz-service-kicker {
    align-self: center !important;
  }

  .review-date,
  .post-card-sm span {
    margin-left: 0 !important;
  }

  .review-date {
    width: 100%;
  }

  .post-card-sm {
    flex-direction: column;
    justify-content: center !important;
    gap: 0.35rem;
  }

  .footer-links a {
    transform: none !important;
  }

  a.contact-item:hover {
    padding-left: 0 !important;
  }
}
/* -- City Page Refresh -- */
.city-page { padding:1.75rem 0 0; }
.city-breadcrumb { display:flex; align-items:center; justify-content:center; gap:0.45rem; flex-wrap:wrap; margin-bottom:1rem !important; padding:0.55rem 0.85rem; }
.city-breadcrumb__pill {
  display:inline-flex;
  align-items:center;
  gap:0.35rem;
  padding:0.36rem 0.8rem;
  border-radius:999px;
  background:rgba(255,107,53,0.08);
  color:#b54708;
  font-size:0.78rem;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
  text-decoration:none;
}
.city-breadcrumb__sep {
  color:#b54708;
  font-weight:700;
}
.city-hero {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(20rem,0.85fr);
  gap:1.5rem;
  align-items:stretch;
  margin-bottom:2.5rem;
}
.city-hero__copy,
.city-panel,
.city-panel--light,
.city-hero__image-card,
.city-stat-card,
.city-feature-card,
.city-step-card,
.city-faq__item,
.city-final-cta__inner {
  background:var(--surface);
  border:1px solid var(--glass-border);
  box-shadow:var(--shadow);
  backdrop-filter:var(--blur-sm);
}
.city-hero__copy {
  border-radius:var(--r-xl);
  padding:clamp(1.5rem, 3.4vw, 2.5rem);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.city-kicker,
.city-section-head__eyebrow,
.city-final-cta__eyebrow {
  display:inline-flex;
  align-items:center;
  gap:0.35rem;
  padding:0.36rem 0.8rem;
  border-radius:999px;
  background:rgba(255,107,53,0.08);
  color:#b54708;
  font-size:0.78rem;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
}
.city-kicker {
  width:fit-content;
  max-width:100%;
  margin:0.55rem auto 1rem;
}
.city-hero__copy h1 {
  font-size:clamp(1.9rem, 4.1vw, 3.05rem);
  line-height:1.08;
  letter-spacing:-0.04em;
  margin:0.85rem 0 1rem;
}
.city-hero__lead {
  color:var(--text-m);
  font-size:1rem;
  max-width:40rem;
}
.city-hero__body {
  display:flex;
  flex-direction:column;
}
.city-hero__lead + .city-hero__lead { margin-top:0.85rem; }
.city-hero__search {
  display:flex;
  gap:0.75rem;
  margin-top:1.8rem;
  max-width:40rem;
  width:100%;
  padding:0.55rem;
  border:1px solid rgba(255,107,53,0.18);
  border-radius:1.6rem;
  background:linear-gradient(145deg,rgba(255,255,255,0.98),rgba(255,244,238,0.98));
  box-shadow:0 16px 40px rgba(255,107,53,0.12);
}
.city-hero__search input[type="text"] {
  flex:1;
  min-width:0;
  border:none;
  border-radius:1.2rem;
  padding:1rem 1.15rem;
  background:#fff;
  color:var(--text);
  box-shadow:none;
  font-size:1rem;
}
.city-hero__search input[type="text"]:focus {
  outline:none;
  box-shadow:0 0 0 3px rgba(255,107,53,0.12);
}
.city-hero__search .btn {
  min-width:8.5rem;
  border-radius:1.15rem;
  padding-inline:1.2rem;
}
.city-hero__visual { display:flex; flex-direction:column; gap:1rem; }
.city-hero__image-card {
  position:relative;
  border-radius:calc(var(--r-xl) + 0.25rem);
  overflow:hidden;
  min-height:0;
  height:100%;
  padding:1rem;
  background:linear-gradient(145deg,#fff8f4,#ffe4d4);
}
.city-hero__image-card img {
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:calc(var(--r-xl) - 0.15rem);
  display:block;
}
.city-hero__badge {
  position:absolute;
  top:1.2rem;
  left:1.2rem;
  z-index:1;
  padding:0.45rem 0.9rem;
  border-radius:999px;
  background:rgba(255,255,255,0.9);
  color:#9a3412;
  font-size:0.75rem;
  font-weight:700;
  letter-spacing:0.02em;
}
.city-hero__stats {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0.85rem;
  min-height:6.85rem;
}
.city-stat-card {
  border-radius:1.15rem;
  padding:1rem;
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.city-stat-card strong {
  display:block;
  font-size:1.5rem;
  line-height:1.1;
  margin-bottom:0.35rem;
}
.city-stat-card span {
  color:var(--text-m);
  font-size:0.82rem;
}
.city-slider-section { margin-bottom:2.5rem; }
.city-section-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.city-section-head--stack { align-items:start; justify-content:flex-start; flex-direction:column; }
.city-section-head h2 {
  font-size:clamp(1.5rem, 3vw, 2rem);
  line-height:1.15;
  letter-spacing:-0.03em;
  margin-top:0.7rem;
}
.city-section-head__text {
  margin-top:0.7rem;
  max-width:46rem;
  color:var(--text-m);
}
.city-slider-controls {
  display:flex;
  align-items:center;
  gap:0.6rem;
}
.city-slider-arrow {
  width:2.9rem;
  height:2.9rem;
  border:none;
  border-radius:999px;
  background:var(--surface);
  color:var(--accent);
  font-size:2rem;
  line-height:1;
  font-weight:700;
  box-shadow:var(--shadow);
  cursor:pointer;
  transition:var(--transition);
}
.city-slider-arrow:hover { color:var(--accent); transform:translateY(-1px); }
.city-slider-arrow:disabled { opacity:0.45; cursor:not-allowed; transform:none; }
.city-slider {
  --slider-gap: 1rem;
  --slider-visible: var(--slider-visible-desktop, 3);
  position:relative;
}
.city-slider__viewport {
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
  margin-inline:2.9rem;
}
.city-slider__viewport::-webkit-scrollbar { display:none; }
.city-slider__track {
  display:flex;
  gap:var(--slider-gap);
}
.city-slider__slide {
  flex:0 0 calc((100% - (var(--slider-gap) * (var(--slider-visible) - 1))) / var(--slider-visible));
  min-width:calc((100% - (var(--slider-gap) * (var(--slider-visible) - 1))) / var(--slider-visible));
  scroll-snap-align:start;
}
.city-slider__slide .cat-card,
.city-slider__slide .business-card { height:100%; }
.city-card-count {
  font-size:0.7rem;
  color:var(--text-l);
}
.city-slider-dots {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0.45rem;
  margin-top:1rem;
}
.city-slider-arrow--edge {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
}
.city-slider-arrow--edge:hover {
  transform:translateY(calc(-50% - 1px));
}
.city-slider-arrow--edge:disabled {
  transform:translateY(-50%);
}
.city-slider-arrow--left { left:0; }
.city-slider-arrow--right { right:0; }
.city-slider-dots button {
  width:0.7rem;
  height:0.7rem;
  border:none;
  border-radius:999px;
  background:rgba(15,23,42,0.18);
  cursor:pointer;
  transition:var(--transition);
}
.city-slider-dots button.is-active {
  width:1.55rem;
  background:var(--accent);
}
.city-slider-hint {
  display:none;
  align-items:center;
  justify-content:center;
  gap:0.55rem;
  margin:0.85rem auto 0;
  color:var(--text-m);
  font-size:0.88rem;
  line-height:1.4;
  text-align:center;
}
.city-slider-hint__arrow {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--accent);
  font-size:1rem;
  font-weight:800;
  animation:cityHintArrow 1.4s ease-in-out infinite;
}
.city-slider-hint span:last-child {
  max-width:28rem;
}
@keyframes cityHintArrow {
  0%, 100% { transform:translateX(-4px); }
  50% { transform:translateX(4px); }
}
.city-business-card__fallback {
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1rem;
  text-align:center;
  color:#9a3412;
  font-weight:700;
  background:linear-gradient(135deg,#fff4ec,#ffe7d9);
}
.city-panel,
.city-panel--light {
  border-radius:var(--r-xl);
  padding:clamp(1.35rem, 3vw, 2rem);
  margin-bottom:2rem;
}
.city-panel--light {
  background:linear-gradient(145deg,rgba(255,255,255,0.85),rgba(255,243,236,0.85));
}
.city-feature-grid,
.city-steps-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.city-feature-card,
.city-step-card {
  border-radius:1.25rem;
  padding:1.2rem;
}
.city-feature-card__icon {
  width:3rem;
  height:3rem;
  border-radius:1rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,107,53,0.1);
  color:var(--accent);
  margin-bottom:1rem;
}
.city-feature-card__icon svg {
  width:1.35rem;
  height:1.35rem;
}
.city-feature-card__icon,
.city-step-card__index {
  margin-inline:auto;
}
.city-feature-card h3,
.city-step-card h3 {
  font-size:1.05rem;
  margin-bottom:0.55rem;
}
.city-slider--categories .cat-card {
  padding:1.3rem 1rem;
}
.city-slider--categories .cat-name {
  font-size:0.92rem;
}
.city-feature-card p,
.city-step-card p,
.city-faq__panel p,
.city-final-cta__inner p {
  color:var(--text-m);
}
.city-step-card { position:relative; padding-top:1.4rem; }
.city-step-card__index {
  width:2.45rem;
  height:2.45rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:linear-gradient(135deg,var(--accent),var(--accent-d));
  color:#fff;
  font-weight:800;
  margin-bottom:1rem;
  box-shadow:var(--shadow-glow);
}
.city-faq { display:flex; flex-direction:column; gap:0.85rem; }
.city-faq__item {
  border-radius:1.2rem;
  overflow:hidden;
}
.city-faq__trigger {
  width:100%;
  border:none;
  background:transparent;
  padding:1.1rem 1.2rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  text-align:left;
  font-size:1rem;
  font-weight:700;
  color:var(--text);
  cursor:pointer;
}
.city-faq__plus {
  font-size:1.6rem;
  line-height:1;
  color:var(--accent);
  transition:transform 0.2s ease;
}
.city-faq__trigger[aria-expanded="true"] .city-faq__plus { transform:rotate(45deg); }
.city-faq__panel {
  padding:0 1.2rem 1.2rem;
}
.city-final-cta {
  padding:0 0 3rem;
}
.city-final-cta__inner {
  border-radius:calc(var(--r-xl) + 0.25rem);
  padding:clamp(1.5rem, 4vw, 2.5rem);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  background:
    radial-gradient(circle at top right, rgba(255,107,53,0.18), transparent 28rem),
    linear-gradient(145deg, rgba(255,245,240,0.92), rgba(255,232,221,0.9));
}
.city-final-cta__inner h2 {
  font-size:clamp(1.75rem, 3vw, 2.5rem);
  line-height:1.1;
  letter-spacing:-0.03em;
  margin:0.9rem 0 0.8rem;
}

@media (max-width: 1024px) {
  .city-breadcrumb {
    margin-bottom:1.75rem !important;
    padding:0.7rem 1rem;
  }
  .city-hero {
    display:flex;
    flex-direction:column;
    gap:1.35rem;
  }
  .city-page {
    text-align:center;
  }
  .city-kicker {
    width:fit-content;
    margin:0.4rem auto 0.95rem;
  }
  .city-hero__copy h1 {
    max-width:13ch;
    margin-inline:auto;
  }
  .city-hero__body {
    max-width:42rem;
    margin-inline:auto;
  }
  .city-hero__copy,
  .city-hero__visual {
    display:contents;
  }
  .city-hero__copy h1 { order:1; }
  .city-kicker { order:2; }
  .city-hero__body { order:3; }
  .city-hero__image-card {
    order:4;
    min-height:24rem;
    max-height:none;
    max-width:44rem;
    margin-inline:auto;
  }
  .city-hero__image-card img {
    object-position:center 58%;
  }
  .city-hero__stats {
    order:5;
    grid-template-columns:repeat(3,minmax(0,1fr));
    min-height:0;
    gap:0.8rem;
    max-width:44rem;
    margin-inline:auto;
  }
  .city-hero__search {
    order:6;
    margin-inline:auto;
    max-width:34rem;
  }
  .city-hero__lead,
  .city-section-head__text,
  .city-feature-card p,
  .city-step-card p,
  .city-faq__panel p,
  .city-final-cta__inner p {
    text-align:center;
  }
  .city-feature-card p,
  .city-step-card p,
  .city-faq__panel p {
    max-width:38rem;
    margin-inline:auto;
  }
  .city-section-head,
  .city-section-head--stack {
    align-items:center;
  }
  .city-section-head > div,
  .city-section-head--stack > div,
  .city-section-head--stack {
    max-width:44rem;
    margin-inline:auto;
  }
  .city-section-head h2,
  .city-final-cta__inner h2,
  .city-step-card h3,
  .city-feature-card h3,
  .city-faq__trigger {
    text-align:center;
  }
  .city-feature-card,
  .city-step-card {
    align-items:center;
  }
  .city-faq__trigger {
    position:relative;
    justify-content:center;
    text-align:center;
    padding-inline:3.5rem;
  }
  .city-faq__plus {
    position:absolute;
    right:1.2rem;
    top:50%;
    transform:translateY(-50%);
  }
  .city-faq__trigger[aria-expanded="true"] .city-faq__plus {
    transform:translateY(-50%) rotate(45deg);
  }
  .city-final-cta__inner {
    display:grid;
    justify-items:center;
    text-align:center;
  }
  .city-final-cta__inner .btn {
    width:auto;
  }
  .city-final-cta__inner > * {
    max-width:44rem;
  }
  .city-slider { --slider-visible: var(--slider-visible-tablet, 2); }
  .city-slider-hint {
    display:flex;
  }
  .city-feature-grid,
  .city-steps-grid {
    grid-template-columns:1fr;
  }
}

@media (max-width: 640px) {
  .city-slider { --slider-visible: var(--slider-visible-mobile, 1); }
  .city-hero {
    gap:1rem;
  }
  .city-hero__image-card {
    min-height:10.5rem;
    max-height:12rem;
    padding:0.55rem;
  }
  .city-hero__stats {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0.55rem;
  }
  .city-hero__copy h1 { font-size:1.85rem; }
  .city-breadcrumb {
    margin-bottom:1rem !important;
    padding:0.35rem 0.5rem;
  }
  .city-kicker,
  .city-hero__copy h1,
  .city-hero__body,
  .city-hero__image-card,
  .city-hero__stats,
  .city-hero__search,
  .city-section-head > div,
  .city-section-head--stack > div,
  .city-section-head--stack {
    max-width:none;
  }
  .city-hero__search {
    flex-direction:column;
    padding:0.6rem;
    margin-top:0;
  }
  .city-kicker,
  .city-section-head__eyebrow,
  .city-final-cta__eyebrow {
    margin-inline:auto;
  }
  .city-stat-card {
    width:100%;
    max-width:none;
    padding:0.75rem 0.7rem;
    border-radius:0.95rem;
    text-align:center;
    align-items:center;
  }
  .city-stat-card strong { font-size:1.15rem; margin-bottom:0.2rem; }
  .city-stat-card span { font-size:0.72rem; line-height:1.3; }
  .city-section-head {
    align-items:flex-start;
    flex-direction:column;
  }
  .city-faq__trigger {
    padding-inline:3rem;
  }
  .city-slider-controls {
    display:none;
  }
  .city-slider__viewport {
    margin-inline:0;
  }
  .city-slider-arrow--edge {
    display:none;
  }
  .city-slider--categories .city-slider__slide {
    flex-basis:100%;
    min-width:100%;
  }
  .city-slider--categories .cat-card {
    min-height:9.5rem;
    padding:1.45rem 1.15rem;
  }
  .city-slider-arrow { width:2.6rem; height:2.6rem; }
  .city-slider-hint {
    margin-top:0.75rem;
    font-size:0.84rem;
    padding-inline:0.75rem;
  }
  .city-feature-card,
  .city-step-card,
  .city-faq__item,
  .city-final-cta__inner,
  .city-section-head,
  .city-section-head--stack {
    text-align:center;
  }
  .city-hero__lead,
  .city-section-head__text,
  .city-feature-card p,
  .city-step-card p,
  .city-faq__panel p,
  .city-final-cta__inner p,
  .city-faq__trigger {
    text-align:center;
  }
  .city-faq__panel {
    display:flex;
    justify-content:center;
  }
  .city-faq__panel p {
    width:100%;
  }
  .city-final-cta__inner {
    grid-template-columns:1fr;
    display:grid;
    justify-items:center;
  }
  .city-final-cta__inner .btn {
    width:auto;
  }
}

@media (min-width: 1025px) {
  .city-breadcrumb {
    padding:0.7rem 1rem;
    display:flex !important;
    justify-content:flex-start !important;
    align-items:center;
    width:100%;
    text-align:left;
    margin-left:0;
    margin-right:0;
  }
  .city-hero__copy {
    text-align:left;
    align-items:flex-start;
  }
  .city-kicker {
    align-self:flex-start;
    width:auto;
    margin-top:0.35rem;
    margin-bottom:1rem;
    margin-left:0 !important;
    margin-right:auto !important;
  }
  .city-feature-card,
  .city-step-card {
    text-align:center;
  }
}

/* ── NAV DESKTOP vs MOBILE split ── */
/* Desktop: show .nav-desktop-links inline, hide fsoc elements */
.nav-desktop-links {
  display: contents; /* children participate in flex layout of .main-nav */
}
.fsoc-header,
.fsoc-body {
  display: none;
}

/* Mobile/tablet: hide desktop links, show fsoc structure */
@media(max-width:1024px) {
  .nav-desktop-links {
    display: none !important;
  }
  .mobile-drawer-head {
    /* already handled by existing rules */
  }
  .fsoc-header {
    display: flex;
  }
  .fsoc-body {
    display: flex;
    flex-direction: column;
  }
}

/* ═══════════════════════════════════════════════════════════
   FULLSCREEN OFF-CANVAS MENU (fsoc) — mobile/tablet only
   ═══════════════════════════════════════════════════════════ */

/* All fsoc styles scoped to mobile — desktop is completely untouched */
@media(max-width:1024px) {

  /* Fullscreen takeover */
  .main-nav.fsoc-menu {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    height: 100vh !important;
    transform: translateY(105%) !important;
    border-left: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    background: rgba(255,255,255,0.98) !important;
    backdrop-filter: blur(28px) !important;
    -webkit-backdrop-filter: blur(28px) !important;
    overflow: hidden !important;
    z-index: 200 !important;
    border-radius: 0 !important;
    transition: transform 0.36s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.28s ease !important;
    opacity: 0 !important;
    gap: 0 !important;
    align-items: stretch !important;
  }

  .main-nav.fsoc-menu.is-open {
    transform: translateY(0) !important;
    opacity: 1 !important;
  }

  /* Hide pseudo-element gradient on fullscreen */
  .main-nav.fsoc-menu::before {
    display: none !important;
  }

  /* FSOC HEADER */
  .fsoc-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1.25rem 1.25rem 1.1rem;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
    background: linear-gradient(160deg, rgba(255,255,255,0.99) 60%, rgba(255,107,53,0.05) 100%);
    position: relative;
    min-height: 4.5rem;
  }

  .fsoc-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at top left, rgba(255,107,53,0.12), transparent 55%);
    pointer-events: none;
    border-radius: inherit;
  }

  .fsoc-brand {
    display: flex;
    flex-direction: column;
    gap: 0.22rem;
    position: relative;
    z-index: 1;
  }

  .fsoc-logo {
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: -0.5px;
    text-decoration: none;
    color: var(--text);
  }

  .fsoc-logo strong {
    color: #b54708;
  }

  .fsoc-grade {
    display: flex;
    align-items: center;
    gap: 0.38rem;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--text-m);
  }

  .fsoc-grade-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
  }

  .fsoc-grade-dot.is-admin    { background: #dc2626; }
  .fsoc-grade-dot.is-business { background: var(--accent); }
  .fsoc-grade-dot.is-user     { background: #94a3b8; }

  /* Close button inside fsoc */
  .fsoc-header .mobile-drawer-close {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    font-size: 1.5rem;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
    background: rgba(255,255,255,0.85);
    border: 1px solid rgba(255,107,53,0.15);
    border-radius: 999px;
    color: var(--text-m);
    cursor: pointer;
    transition: var(--transition);
    box-shadow: 0 2px 8px rgba(15,23,42,0.06);
  }
  .fsoc-header .mobile-drawer-close:hover {
    background: rgba(255,255,255,0.98);
    border-color: rgba(255,107,53,0.35);
    color: var(--accent);
    transform: rotate(90deg);
  }

  /* FSOC BODY */
  .fsoc-body {
    flex: 1;
    overflow-y: auto;
    padding: 0.75rem 1rem 2.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    -webkit-overflow-scrolling: touch;
  }

  /* FSOC ITEMS */
  .fsoc-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.78rem 0.9rem;
    border-radius: var(--r-sm);
    text-decoration: none;
    color: var(--text-s);
    font-size: 0.9375rem;
    font-weight: 500;
    border: 1px solid transparent;
    background: transparent;
    width: 100%;
    text-align: left;
    font-family: inherit;
    cursor: pointer;
    transition: var(--transition);
    justify-content: flex-start !important;
  }

  .fsoc-item:hover {
    background: linear-gradient(135deg, rgba(255,107,53,0.09), rgba(255,255,255,0.7));
    border-color: rgba(255,107,53,0.14);
    color: var(--accent);
    transform: translateX(3px);
  }

  .fsoc-item.active {
    background: linear-gradient(135deg, rgba(255,107,53,0.14), rgba(255,255,255,0.85));
    border-color: rgba(255,107,53,0.2);
    color: var(--accent-d);
    font-weight: 600;
  }

  .fsoc-icon {
    font-size: 1.0625rem;
    width: 1.5rem;
    text-align: center;
    flex-shrink: 0;
    line-height: 1;
  }

  .fsoc-item.fsoc-sub {
    padding-left: 1.5rem;
    font-size: 0.875rem;
    color: var(--text-m);
  }

  .fsoc-item.fsoc-logout:hover {
    color: var(--red);
    background: var(--red-bg);
    border-color: rgba(239,68,68,0.15);
  }

  /* Section label */
  .fsoc-section-label {
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: var(--text-l);
    padding: 0.75rem 0.9rem 0.2rem;
  }

  /* Divider */
  .fsoc-divider {
    height: 1px;
    background: var(--border);
    margin: 0.5rem 0;
  }

  /* Expandable admin trigger */
  .fsoc-expandable-trigger {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.78rem 0.9rem;
    border-radius: var(--r-sm);
    border: 1px solid rgba(255,107,53,0.2);
    background: linear-gradient(135deg, rgba(255,107,53,0.08), rgba(255,255,255,0.7));
    color: var(--accent-d);
    font-size: 0.9375rem;
    font-weight: 600;
    font-family: inherit;
    width: 100%;
    text-align: left;
    cursor: pointer;
    transition: var(--transition);
  }

  .fsoc-expandable-trigger:hover {
    background: linear-gradient(135deg, rgba(255,107,53,0.14), rgba(255,255,255,0.85));
    transform: translateX(2px);
  }

  .fsoc-arrow {
    margin-left: auto;
    font-size: 1.1rem;
    transition: transform 0.25s ease;
    color: var(--text-l);
  }

  .fsoc-expandable-trigger[aria-expanded="true"] .fsoc-arrow {
    transform: rotate(90deg);
    color: var(--accent);
  }

  .fsoc-expandable-section {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    padding-left: 0.5rem;
    border-left: 2px solid rgba(255,107,53,0.18);
    margin-left: 0.75rem;
    animation: fsocExpand 0.22s ease both;
  }

  .fsoc-expandable-section[hidden] { display: none; }

  @keyframes fsocExpand {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  /* Staggered animation */
  .main-nav.fsoc-menu.is-open .fsoc-body > * {
    animation: drawerItemIn 0.28s ease both;
  }
  .main-nav.fsoc-menu.is-open .fsoc-body > *:nth-child(1)  { animation-delay: 0.04s; }
  .main-nav.fsoc-menu.is-open .fsoc-body > *:nth-child(2)  { animation-delay: 0.07s; }
  .main-nav.fsoc-menu.is-open .fsoc-body > *:nth-child(3)  { animation-delay: 0.10s; }
  .main-nav.fsoc-menu.is-open .fsoc-body > *:nth-child(4)  { animation-delay: 0.13s; }
  .main-nav.fsoc-menu.is-open .fsoc-body > *:nth-child(5)  { animation-delay: 0.16s; }
  .main-nav.fsoc-menu.is-open .fsoc-body > *:nth-child(6)  { animation-delay: 0.19s; }
  .main-nav.fsoc-menu.is-open .fsoc-body > *:nth-child(7)  { animation-delay: 0.22s; }
  .main-nav.fsoc-menu.is-open .fsoc-body > *:nth-child(8)  { animation-delay: 0.24s; }
  .main-nav.fsoc-menu.is-open .fsoc-body > *:nth-child(9)  { animation-delay: 0.26s; }
  .main-nav.fsoc-menu.is-open .fsoc-body > *:nth-child(10) { animation-delay: 0.28s; }

  /* Buttons inside fsoc body */
  .fsoc-body .btn {
    justify-content: center;
    margin-top: 0.25rem;
  }

  /* Grid columns: always 5, no Meniu */
  .site-mobile-bar  { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
  .dash-mobile-bar  { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }

} /* end @media(max-width:1024px) */

/* ═══════════════════════════════════════════════════════════
   CATEGORY GLOBAL + LISTING PAGES
   ═══════════════════════════════════════════════════════════ */

/* TL;DR AIO box */
.catg-tldr {
  background: var(--blue-bg);
  border: 1px solid rgba(59,130,246,0.2);
  border-radius: var(--r-sm);
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  color: var(--text-s);
  line-height: 1.6;
  margin: 1rem 0 1.25rem;
}
.catg-tldr strong { color: var(--text); }

/* Listing page head */
.catg-listing-head { margin-bottom: 1.5rem; }
.catg-listing-head h1 { font-size: clamp(1.375rem, 3vw, 2rem); margin-bottom: 0.5rem; }
.catg-section-title {
  font-size: 1.0625rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
  color: var(--text);
}
.catg-count-label { font-size: 0.8125rem; color: var(--text-l); margin-bottom: 1rem; }

/* Subcategory pills */
.catg-subcat-section { margin-bottom: 2rem; }
.catg-subcat-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
}
.catg-subcat-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.4rem 0.875rem;
  background: var(--surface);
  border: 1px solid var(--border-s);
  border-radius: 999px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--text-s);
  text-decoration: none;
  transition: var(--transition);
  white-space: nowrap;
}
.catg-subcat-pill:hover {
  border-color: var(--accent);
  color: var(--accent);
  background: var(--accent-glow);
}
.catg-subcat-pill--active {
  background: var(--accent-glow);
  border-color: rgba(255,107,53,0.35);
  color: var(--accent-d);
  font-weight: 600;
}
.catg-subcat-pill__count {
  font-size: 0.72rem;
  background: rgba(0,0,0,0.06);
  border-radius: 999px;
  padding: 0.1rem 0.4rem;
  color: var(--text-m);
}
.catg-subcat-pill--active .catg-subcat-pill__count {
  background: rgba(255,107,53,0.15);
  color: var(--accent-d);
}

/* Internal linking nav */
.catg-nav-links {
  margin: 2rem 0;
  padding: 1.25rem;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.catg-nav-links__row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.catg-nav-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.375rem 0.875rem;
  background: var(--glass-strong);
  border: 1px solid var(--border-s);
  border-radius: var(--r-sm);
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--text-s);
  text-decoration: none;
  transition: var(--transition);
}
.catg-nav-link:hover {
  border-color: var(--accent);
  color: var(--accent);
}
.catg-nav-links__label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-l);
  margin-bottom: 0.5rem;
}
.catg-nav-links__related { display: flex; flex-direction: column; }
.catg-nav-links__pills { display: flex; flex-wrap: wrap; gap: 0.375rem; }
.catg-nav-pill {
  padding: 0.3rem 0.75rem;
  background: transparent;
  border: 1px solid var(--border-s);
  border-radius: 999px;
  font-size: 0.78rem;
  color: var(--text-m);
  text-decoration: none;
  transition: var(--transition);
}
.catg-nav-pill:hover { border-color: var(--accent); color: var(--accent); }

/* Categorii inrudite grid (in category_global) */
.catg-related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 0.75rem;
  margin-top: 1rem;
}
.catg-related-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.375rem;
  padding: 1rem 0.75rem;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r);
  text-decoration: none;
  text-align: center;
  transition: var(--transition);
}
.catg-related-card:hover {
  border-color: var(--accent);
  background: var(--accent-glow);
  transform: translateY(-2px);
}
.catg-related-card__icon { font-size: 1.5rem; }
.catg-related-card__name { font-size: 0.8125rem; font-weight: 600; color: var(--text); }
.catg-related-card__count { font-size: 0.72rem; color: var(--text-l); }

/* Nav up (category_global) */
.catg-nav-up {
  margin: 1.5rem 0;
}
.catg-nav-up__link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 1rem;
  background: var(--surface);
  border: 1px solid var(--border-s);
  border-radius: var(--r-sm);
  font-size: 0.875rem;
  color: var(--text-s);
  text-decoration: none;
  transition: var(--transition);
}
.catg-nav-up__link:hover { border-color: var(--accent); color: var(--accent); }

/* noindex indicator (optional, dev only) */
.catg-noindex-notice {
  display: none; /* afiseaza cu JS in dev mode daca e necesar */
}

/* ── NAV DROPDOWN (Categorii pe desktop) ── */
.nav-dropdown {
  position: relative;
}
.nav-dropdown__trigger {
  background: transparent;
  border: none;
  cursor: pointer;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-s);
  padding: 0.5rem 0.875rem;
  border-radius: var(--r-sm);
  transition: var(--transition);
  white-space: nowrap;
}
.nav-dropdown__trigger:hover {
  color: var(--accent);
  background: var(--accent-glow);
}
.nav-dropdown__menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 210px;
  background: var(--glass-strong);
  border: 1px solid var(--glass-border);
  border-radius: var(--r);
  box-shadow: var(--shadow-lg);
  backdrop-filter: var(--blur-sm);
  -webkit-backdrop-filter: var(--blur-sm);
  padding: 0.375rem;
  display: none;
  z-index: 110;
  animation: slideDown 0.18s ease both;
}
.nav-dropdown:hover .nav-dropdown__menu,
.nav-dropdown:focus-within .nav-dropdown__menu {
  display: block;
}
.nav-dropdown__menu a {
  display: block;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  color: var(--text-s);
  text-decoration: none;
  border-radius: var(--r-sm);
  transition: var(--transition);
  font-weight: 500;
}
.nav-dropdown__menu a:hover {
  background: var(--accent-glow);
  color: var(--accent);
  transform: translateX(2px);
}

/* Pe mobile dropdownul e ascuns — categoriile sunt in fsoc */
@media(max-width:1024px) {
  .nav-dropdown { display: none; }
}
