/* Tesseract Hosting — Landing (dark only) */
@import url('variables.css');

.theme-tesseract {
  --bs-body-bg: var(--bg-base);
  --bs-body-color: var(--text-primary);
}

.theme-tesseract {
  background: var(--bg-base) !important;
  color: var(--text-primary);
  font-family: 'DM Sans', system-ui, sans-serif;
}

.theme-tesseract h1, .theme-tesseract h2, .theme-tesseract h3, .theme-tesseract h4, .theme-tesseract h5, .theme-tesseract h6 {
  font-family: 'Rajdhani', sans-serif;
  font-weight: 600;
}

/* Layout */
.theme-tesseract .tesseract-container {
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
}

.theme-tesseract main .container {
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
}

.theme-tesseract .section {
  padding: 100px 0;
}

/* Nav — fixed 64px, blur, border */
.theme-tesseract .tesseract-nav.navbar {
  height: 64px;
  min-height: 64px;
  background: rgba(7, 7, 26, 0.8) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(99, 51, 255, 0.2);
  transition: border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.theme-tesseract .navbar-brand.tesseract-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--text-primary) !important;
  font-family: 'Rajdhani', sans-serif;
  font-weight: 600;
  font-size: 1.35rem;
}

.theme-tesseract .tesseract-logo-wordmark {
  font-family: 'Rajdhani', sans-serif;
  font-weight: 600;
}

.theme-tesseract .tesseract-icon-svg {
  width: 28px;
  height: 28px;
}

.theme-tesseract .nav-link {
  color: var(--text-muted) !important;
}

.theme-tesseract .nav-link:hover {
  color: var(--text-primary) !important;
}

/* Buttons — cyan outline */
.theme-tesseract .tesseract-btn-outline,
.theme-tesseract .btn-outline-light {
  background: transparent !important;
  border: 1px solid var(--accent-cyan) !important;
  color: var(--accent-cyan) !important;
  border-radius: 4px;
  padding: 10px 24px;
  font-family: 'DM Sans', sans-serif;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.theme-tesseract .tesseract-btn-outline:hover,
.theme-tesseract .btn-outline-light:hover {
  box-shadow: var(--glow-cyan);
  color: var(--accent-cyan) !important;
  border-color: var(--accent-cyan) !important;
}

/* Buttons — filled (brand purple) */
.theme-tesseract .tesseract-btn-filled,
.theme-tesseract .btn-primary {
  background: var(--brand-purple) !important;
  border: 1px solid var(--brand-purple) !important;
  color: #fff !important;
  border-radius: 4px;
  padding: 10px 24px;
  font-family: 'DM Sans', sans-serif;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1), filter 0.2s ease;
}

.theme-tesseract .tesseract-btn-filled:hover,
.theme-tesseract .btn-primary:hover {
  filter: brightness(1.1);
  box-shadow: var(--glow-purple);
  color: #fff !important;
}

/* Hero — grid overlay, H1 shadow */
.theme-tesseract .hero-section.tesseract-hero {
  padding: 8rem 0 6rem;
  position: relative;
  overflow: hidden;
}

.theme-tesseract .hero-section.tesseract-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 39px,
    rgba(99, 51, 255, 0.04) 39px,
    rgba(99, 51, 255, 0.04) 40px
  ),
  repeating-linear-gradient(
    90deg,
    transparent,
    transparent 39px,
    rgba(99, 51, 255, 0.04) 39px,
    rgba(99, 51, 255, 0.04) 40px
  );
  pointer-events: none;
  z-index: 0;
}

.theme-tesseract .hero-section.tesseract-hero .container {
  position: relative;
  z-index: 1;
}

.theme-tesseract .hero-section.tesseract-hero .hero-title {
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  color: var(--text-primary);
  text-shadow: 0 0 40px rgba(99, 51, 255, 0.5);
}

.theme-tesseract .hero-section.tesseract-hero .hero-title .text-transparent {
  color: var(--accent-cyan);
  text-shadow: 0 0 40px rgba(99, 51, 255, 0.5);
}

.theme-tesseract .hero-section.tesseract-hero .hero-subtitle {
  color: var(--text-muted);
}

.theme-tesseract .hero-section.tesseract-hero .hero-actions .btn-outline-light {
  border-color: var(--accent-cyan);
  color: var(--accent-cyan);
}

.theme-tesseract .hero-section.tesseract-hero .hero-actions .btn-primary {
  background: var(--brand-purple) !important;
  border-color: var(--brand-purple) !important;
}

/* Product grid: 3 cols desktop, 2 tablet, 1 mobile */
.theme-tesseract .row.g-4 [class*="col-"] {
  margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
  .theme-tesseract .row.g-4 .col-md-6 { flex: 0 0 50%; max-width: 50%; }
}

@media (min-width: 992px) {
  .theme-tesseract .row.g-4 .col-lg-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
}

/* Product cards — gradient, border, top accent, glow */
.theme-tesseract .tesseract-product-card,
.theme-tesseract .custom-card.tesseract-product-card {
  background: linear-gradient(145deg, #0f0b2e, #110d3a) !important;
  border: 1px solid var(--border-card) !important;
  border-radius: 14px !important;
  box-shadow: var(--glow-purple);
  padding: 2rem !important;
  transition: border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.theme-tesseract .tesseract-product-card:hover,
.theme-tesseract .custom-card.tesseract-product-card:hover {
  border-color: var(--border-hover) !important;
  box-shadow: var(--glow-cyan);
}

.theme-tesseract .tesseract-product-card .position-absolute.top-0.start-50,
.theme-tesseract .tesseract-product-card .w-50.h-1 {
  background: linear-gradient(90deg, var(--brand-purple), var(--accent-cyan)) !important;
  opacity: 1 !important;
}

.theme-tesseract .tesseract-product-card .pricing .h5,
.theme-tesseract .tesseract-product-card .product-price {
  font-family: 'JetBrains Mono', monospace !important;
  color: var(--accent-cyan);
}

.theme-tesseract .tesseract-product-card .text-muted {
  color: var(--text-muted) !important;
}

.theme-tesseract .tesseract-product-card .text-white {
  color: var(--text-primary) !important;
}

/* Cards with background image */
.theme-tesseract .tesseract-product-card.custom-card-bg::before {
  background: linear-gradient(to top, rgba(7, 7, 26, 0.95), rgba(13, 11, 46, 0.8)) !important;
}

/* Footer */
.theme-tesseract .tesseract-footer {
  background: var(--bg-surface);
  padding: 3rem 0;
  border-top: 1px solid var(--border-card);
  margin-top: 0 !important;
}

.theme-tesseract .tesseract-footer .text-muted {
  color: var(--text-faint) !important;
}

.theme-tesseract .tesseract-footer-logo a {
  color: var(--text-muted);
}

.theme-tesseract .tesseract-footer-logo .tesseract-icon-svg {
  width: 24px;
  height: 24px;
}

/* Featured Categories — heavy blur behind section title over the images */
.theme-tesseract .tesseract-categories-section .section-title {
  margin-bottom: 2rem;
}
.theme-tesseract .tesseract-section-title-blur {
  background: rgba(13, 11, 46, 0.45);
  backdrop-filter: blur(32px);
  -webkit-backdrop-filter: blur(32px);
  border: 1px solid rgba(99, 51, 255, 0.3);
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.4);
}
.theme-tesseract .tesseract-categories-section .tesseract-section-title-blur {
  margin-bottom: -1.5rem;
  position: relative;
  z-index: 1;
}

/* Category grid — prevent overlapping / overflow */
.theme-tesseract .tesseract-category-col {
  min-width: 0;
}

.theme-tesseract .tesseract-category-card {
  background: linear-gradient(145deg, #0f0b2e, #110d3a) !important;
  border: 1px solid var(--border-card) !important;
  border-radius: 14px !important;
  padding: 2rem !important;
  overflow: hidden;
  transition: border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.theme-tesseract .tesseract-category-card:hover {
  border-color: var(--border-hover) !important;
  box-shadow: var(--glow-cyan);
}

.theme-tesseract .tesseract-category-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  font-family: 'Rajdhani', sans-serif;
}

.theme-tesseract .tesseract-category-desc {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-height: 1.4;
}

/* Price block — Hexacoin + amount + unit with clear spacing */
.theme-tesseract .tesseract-price-block.product-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: 0.35em 0.5rem;
  margin: 1rem 0;
  font-family: 'JetBrains Mono', monospace;
}

.theme-tesseract .product-price-currency {
  color: var(--text-faint);
  font-size: 0.9em;
  font-weight: 500;
}

.theme-tesseract .product-price-amount {
  color: var(--accent-cyan);
  font-weight: 700;
  font-size: 1.5rem;
}

.theme-tesseract .product-price-unit {
  color: var(--text-faint);
  font-size: 0.85em;
  font-weight: 500;
}

/* Section titles */
.theme-tesseract .section h1,
.theme-tesseract .section h2 {
  font-family: 'Rajdhani', sans-serif;
  color: var(--text-primary);
}

.theme-tesseract .lead {
  color: var(--text-muted);
}

/* Store / category buttons */
.theme-tesseract .btn-outline-primary {
  border-color: var(--accent-cyan);
  color: var(--accent-cyan);
}

.theme-tesseract .btn-outline-primary:hover {
  background: rgba(0, 229, 255, 0.1);
  border-color: var(--accent-cyan);
  color: var(--accent-cyan);
  box-shadow: var(--glow-cyan);
}

/* Price display — JetBrains Mono */
.theme-tesseract .product-price,
.theme-tesseract .pricing .h5,
.theme-tesseract [class*="price"] {
  font-family: 'JetBrains Mono', monospace !important;
}

.theme-tesseract .product-price small {
  font-family: 'JetBrains Mono', monospace;
  color: var(--text-faint);
}
