/* DATAENABLER — Product pages (Nexora) */
.eco-bar {
  height: 28px; display: flex; align-items: center;
  background: var(--de-navy); color: #94A3B8; font-size: 12px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.eco-bar a { color: #CBD5E1; font-weight: 600; }
.eco-bar a:hover { color: #fff; }
.eco-bar-inner { width: min(calc(100% - 32px), var(--container)); margin-inline: auto; display:flex; align-items:center; justify-content:space-between; gap:12px; }

/* Nexora product header */
.nexora-header {
  position: sticky; top: 0; z-index: 49;
  background: var(--surface); border-bottom: 1px solid var(--border);
  height: 60px; display: flex; align-items: center;
}
.nexora-header.is-scrolled { box-shadow: var(--shadow-sm); }
.nexora-header-inner {
  width: min(calc(100% - 32px), var(--container)); margin-inline:auto;
  display:flex; align-items:center; justify-content:space-between; gap:18px; height:100%;
}
.nexora-brand { display:flex; align-items:center; gap:10px; font-weight:900; letter-spacing:-.02em; }
.nexora-mark { width:32px; height:32px; border-radius:9px; background:var(--nexora); color:#fff; display:grid; place-items:center; font-size:13px; font-weight:900; }
.nexora-name { font-size:17px; color:var(--text-primary); }
.nexora-name small { display:block; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--text-muted); font-weight:700; margin-top:-1px; }
.nexora-nav { display:flex; align-items:center; gap:2px; }
.nexora-nav a { padding:8px 10px; border-radius:8px; font-size:13.5px; font-weight:500; color:var(--text-secondary); }
.nexora-nav a:hover, .nexora-nav a.is-active { background:var(--surface-muted); color:var(--text-primary); }
.nexora-actions { display:flex; align-items:center; gap:8px; }

/* Nexora hero */
.nexora-hero {
  position: relative; overflow:hidden;
  background: radial-gradient(700px 400px at 70% 0%, rgba(26,86,219,.12), transparent 60%), linear-gradient(180deg, #F8FAFC 0%, #EEF2FF 100%);
  border-bottom:1px solid var(--border);
  padding: 40px 0 28px;
}
[data-theme="dark"] .nexora-hero { background: radial-gradient(700px 400px at 70% 0%, rgba(26,86,219,.18), transparent 60%), linear-gradient(180deg, #0B1220 0%, #070B14 100%); }
.nexora-hero-inner { display:grid; grid-template-columns: 1.05fr .95fr; gap:32px; align-items:center; }
.nexora-hero h1 { font-size: clamp(32px, 5vw, 52px); font-weight:900; letter-spacing:-.03em; line-height:1.05; }
.nexora-hero h1 span { color:var(--nexora); }
.nexora-hero p.lead { margin-top:12px; font-size:17px; color:var(--text-secondary); line-height:1.6; max-width:560px; }
.nexora-hero-viz {
  background:var(--surface); border:1px solid var(--border); border-radius:20px; padding:16px; box-shadow:var(--shadow-lg); position:relative; overflow:hidden;
}
.nexora-hero-viz::before{content:""; position:absolute; inset:0; background: radial-gradient(400px 200px at 50% 0%, rgba(26,86,219,.08), transparent 70%); pointer-events:none; }

/* Architecture */
.arch-wrap { background:var(--surface); border:1px solid var(--border); border-radius:20px; padding:18px; box-shadow:var(--shadow-sm); overflow:hidden; }
.arch-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:12px; margin-top:14px; }
.arch-card {
  border:1px solid var(--border); border-radius:14px; padding:14px; background:var(--bg);
  cursor:pointer; transition: all var(--ease);
  position:relative;
}
.arch-card:hover, .arch-card.is-active { border-color:var(--nexora); background: var(--nexora-soft); transform: translateY(-2px); box-shadow: var(--shadow-md); }
.arch-card h4 { font-size:13px; font-weight:800; letter-spacing:-.01em; }
.arch-card p { font-size:12px; color:var(--text-muted); margin-top:4px; line-height:1.45; }
.arch-card ul { margin:8px 0 0 0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:6px; }
.arch-card li { font-size:11px; font-weight:600; padding:4px 7px; border-radius:999px; background:var(--surface); border:1px solid var(--border); color:var(--text-secondary); }
.arch-card.is-active li { background:var(--surface); }

/* central viz svg */
.arch-svg { width:100%; height:auto; }

/* Modules */
.module-tabs { display:flex; gap:8px; overflow:auto; padding-bottom:2px; scrollbar-width:none; }
.module-tabs::-webkit-scrollbar{display:none}
.module-tab {
  flex:0 0 auto; padding:9px 14px; border-radius:999px; border:1px solid var(--border);
  background:var(--surface); font-size:13px; font-weight:700; color:var(--text-secondary); cursor:pointer; transition:all var(--ease);
}
.module-tab.is-active { background:var(--nexora); color:#fff; border-color:var(--nexora); }
.module-panel { display:none; }
.module-panel.is-active { display:block; }
.module-grid { display:grid; grid-template-columns: 1.1fr .9fr; gap:18px; }
.module-main { background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:20px; }
.module-side { display:grid; gap:14px; }
.mini-card { background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:14px; }
.mini-card h4 { font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); margin-bottom:8px; }
.conn-pill { display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px; background:var(--bg); border:1px solid var(--border); font-size:12px; font-weight:600; color:var(--text-secondary); }
.flow-line { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }

/* Tenancy */
.tenancy-viz { background:var(--surface); border:1px solid var(--border); border-radius:20px; padding:20px; box-shadow:var(--shadow-sm); }
.tenant-card { background:var(--bg); border:1px solid var(--border); border-radius:12px; padding:12px; }
.tenant-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.tenant-badge { padding:5px 8px; border-radius:999px; background:var(--nexora); color:#fff; font-size:11px; font-weight:800; }
.company-grid { display:grid; grid-template-columns: 1fr 1fr; gap:10px; margin-top:10px; }
.company-box { background:var(--surface); border:1px solid var(--border); border-radius:10px; padding:10px; }
.branch-list { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.branch-pill { font-size:11px; padding:4px 7px; border-radius:999px; background:var(--surface-muted); border:1px solid var(--border); color:var(--text-muted); }

/* Pricing */
.pricing-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:16px; }
.price-card { background:var(--surface); border:1px solid var(--border); border-radius:18px; padding:22px; display:flex; flex-direction:column; }
.price-card.featured { border-color:var(--nexora); box-shadow:var(--shadow-lg); transform: translateY(-2px); }
.price-card h3 { font-size:18px; font-weight:800; }
.price-card .price { font-size:32px; font-weight:900; letter-spacing:-.02em; margin-top:8px; }
.price-card .price small { font-size:13px; font-weight:600; color:var(--text-muted); }
.price-card ul { margin:14px 0; padding:0; list-style:none; display:grid; gap:8px; }
.price-card li { display:flex; gap:8px; font-size:13px; color:var(--text-secondary); }
.price-card li::before{content:"✓"; color:var(--success); font-weight:800; }

/* Responsive for product */
@media (max-width: 1100px){
  .nexora-hero-inner, .module-grid { grid-template-columns:1fr; }
  .arch-grid { grid-template-columns:1fr; }
  .pricing-grid { grid-template-columns:1fr; }
  .nexora-nav { display:none; }
}
@media (max-width: 760px){
  .nexora-header { height:56px; }
}
