/* =========================================================
   ECOLOGIC — Inner Pages Stylesheet
   Shared styles for inventory, lab, academy, module pages
   Uses tokens.css design system
   ========================================================= */

/* ── Page Hero (shorter than homepage) ── */
.page-hero {
  padding: calc(var(--space-32) + 80px) 0 var(--space-16);
  background: var(--color-navy);
}

.page-hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: var(--space-10);
  align-items: center;
}

.page-hero-tag {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  border: 1px solid rgba(167,199,231,0.2);
  padding: var(--space-1) var(--space-4);
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  font-weight: var(--font-semibold);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-sky);
  background: rgba(167,199,231,0.08);
  margin-bottom: var(--space-4);
}

.page-hero-title {
  font-family: var(--font-heading);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: var(--font-bold);
  line-height: var(--leading-tight);
  color: var(--color-white);
  margin-bottom: var(--space-4);
}

.page-hero-desc {
  font-size: var(--text-lg);
  line-height: var(--leading-relaxed);
  color: var(--color-text-subtle);
  margin-bottom: var(--space-6);
}

.page-hero-media {
  border: 1px solid rgba(167,199,231,0.12);
  border-radius: var(--radius-xl);
  overflow: hidden;
  background: rgba(27,38,79,0.5);
}

.page-hero-media img,
.page-hero-media video {
  width: 100%;
  aspect-ratio: 16/11;
  object-fit: cover;
}

/* ── Inner Section ── */
.page-section {
  padding: var(--space-20) 0;
}

.page-section--dark {
  background: var(--color-navy);
}

.page-section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: var(--space-4);
  margin-bottom: var(--space-8);
}

.page-section-head h2 {
  font-family: var(--font-heading);
  font-size: var(--text-3xl);
  font-weight: var(--font-bold);
  color: var(--color-navy);
}

.page-section--dark .page-section-head h2 { color: var(--color-white); }

/* ── Grid Layouts ── */
.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-6);
}

.grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-6);
}

/* ── Cards (inner page versions, using new tokens) ── */
.page-card {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: var(--space-8);
  background: var(--color-bg-alt);
  transition: all var(--transition-slow);
}

.page-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: var(--color-sky-muted);
}

.page-card--dark {
  background: var(--glass-bg-card);
  border-color: var(--glass-border);
}

.page-card--dark:hover {
  background: var(--glass-bg-card-hover);
  border-color: var(--glass-border-hover);
  box-shadow: 0 16px 40px rgba(0,0,0,0.2), var(--shadow-glow);
}

.page-card img {
  border-radius: var(--radius-lg);
  margin-bottom: var(--space-4);
  border: 1px solid var(--color-border);
}

.page-card--dark img {
  border-color: var(--glass-border);
}

.page-card h3 {
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-weight: var(--font-semibold);
  color: var(--color-navy);
  margin-bottom: var(--space-2);
}

.page-card--dark h3 { color: var(--color-white); }

.page-card p {
  font-size: var(--text-base);
  line-height: var(--leading-relaxed);
  color: var(--color-text-muted);
}

.page-card--dark p { color: var(--color-text-subtle); }

/* ── Metrics ── */
.metric {
  font-family: var(--font-heading);
  font-size: clamp(1.6rem, 3.5vw, 2.5rem);
  font-weight: var(--font-bold);
  color: var(--color-sky);
  margin-bottom: var(--space-1);
  line-height: 1;
}

/* ── Product Card (inventory) ── */
.product-page-card {
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-xl);
  padding: var(--space-6);
  background: var(--glass-bg-card);
  transition: all var(--transition-slow);
}

.product-page-card:hover {
  background: var(--glass-bg-card-hover);
  border-color: var(--glass-border-hover);
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.2), var(--shadow-glow);
}

.product-page-card img {
  border-radius: var(--radius-lg);
  border: 1px solid var(--glass-border);
  margin-bottom: var(--space-4);
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: contain;
  background: rgba(167,199,231,0.04);
}

.product-page-card h3 {
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  font-weight: var(--font-semibold);
  color: var(--color-white);
  margin-bottom: var(--space-2);
}

.product-page-card p {
  font-size: var(--text-sm);
  color: var(--color-text-subtle);
  line-height: var(--leading-relaxed);
}

/* ── Feature List ── */
.feature-list {
  display: grid;
  gap: var(--space-3);
}

.feature-list li {
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  background: rgba(167,199,231,0.06);
  font-size: var(--text-base);
  color: var(--color-text-subtle);
  line-height: var(--leading-relaxed);
}

/* ── CTA Band ── */
.page-cta-band {
  border: 1px solid rgba(167,199,231,0.15);
  border-radius: var(--radius-xl);
  padding: var(--space-10);
  background: linear-gradient(160deg, rgba(167,199,231,0.08), rgba(27,38,79,0.6));
  text-align: center;
}

.page-cta-band h2 {
  font-family: var(--font-heading);
  font-size: var(--text-3xl);
  font-weight: var(--font-bold);
  color: var(--color-white);
  margin-bottom: var(--space-4);
}

.page-cta-band p {
  font-size: var(--text-lg);
  color: var(--color-text-subtle);
  margin-bottom: var(--space-6);
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

/* ── Breadcrumb ── */
.breadcrumb {
  font-size: var(--text-sm);
  color: var(--color-text-subtle);
  margin-bottom: var(--space-6);
}

.breadcrumb a {
  color: var(--color-sky);
  transition: color var(--transition-base);
}

.breadcrumb a:hover { color: var(--color-white); }

/* ── Video Break ── */
.page-video-break {
  border-radius: var(--radius-xl);
  overflow: hidden;
  border: 1px solid rgba(167,199,231,0.1);
}

.page-video-break video {
  width: 100%;
  max-height: 400px;
  object-fit: cover;
}

/* ── Button for dark inner pages ── */
.btn-outline-light {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-6);
  border: 1.5px solid rgba(167,199,231,0.3);
  border-radius: var(--radius-full);
  color: var(--color-white);
  font-weight: var(--font-medium);
  font-size: var(--text-sm);
  transition: all var(--transition-base);
}

.btn-outline-light:hover {
  border-color: var(--color-sky);
  background: rgba(167,199,231,0.1);
  color: var(--color-sky);
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .grid-3 { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
  .page-hero { padding: calc(var(--space-20) + 70px) 0 var(--space-10); }
  .page-hero-grid, .grid-2, .grid-3 { grid-template-columns: 1fr; }
  .page-section-head { flex-direction: column; align-items: flex-start; }
  .page-section { padding: var(--space-12) 0; }
}
