﻿/**
 * Temas JK Hive Showcase — primarios, tech, glows y fondos del launchpad.
 *
 * INVARIANTES
 * - Por defecto no redefinir `--jk-accent-honey*` (miel metálica en bordes hex / acentos identitarios).
 * - Excepción: tema **ELEGANT** redefine miel → **oro brillante** (bordes/hex); la **textura panal** del shell usa **cyan**.
 *
 * Línea de producto: CANON (tech) · ELEGANT (mármol) · Brasas (ember) · NATURE (bosque) · ELECTRIC (energía).
 */

/* --- CANON: baseline en :root (jk-hive.css); sin overrides de tokens aquí. --- */
body.jkfw-theme-canonical {
  --jk-hero-pattern-color-rgb: 255, 214, 79;
  --jk-hero-pattern-opacity: 0.92;
  --jk-canon-surface-start: rgb(10, 22, 36);
  --jk-canon-surface-end: rgb(8, 18, 30);
  --jk-theme-highlight: #38bdf8;
  --jk-theme-highlight-rgb: 56, 189, 248;
}

/* Regla canónica global de superficies JK Hive:
 * - mismas escalas SVG en todos los temas/tipos de plantilla
 * - cambian solo color/intensidad según tokens de tema */
body.jkfw-theme-canonical,
body.jkfw-theme-elegant,
body.jkfw-theme-ember,
body.jkfw-theme-nature,
body.jkfw-theme-electric {
  --jk-theme-surface-start: var(--jk-canon-surface-start, var(--jk-tech-darker));
  --jk-theme-surface-end: var(--jk-canon-surface-end, var(--jk-tech-dark));
  --jk-theme-surface-pattern-size: var(--honeycomb-size-sidebar);
}

body.jkfw-theme-canonical .hero-section,
body.jkfw-theme-elegant .hero-section,
body.jkfw-theme-ember .hero-section,
body.jkfw-theme-nature .hero-section,
body.jkfw-theme-electric .hero-section {
  background: linear-gradient(180deg, var(--jk-theme-surface-start) 0%, var(--jk-theme-surface-end) 100%);
}

body.jkfw-theme-canonical .hero-section::before,
body.jkfw-theme-elegant .hero-section::before,
body.jkfw-theme-ember .hero-section::before,
body.jkfw-theme-nature .hero-section::before,
body.jkfw-theme-electric .hero-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(var(--jk-hero-pattern-color-rgb), var(--jk-hero-pattern-opacity));
  -webkit-mask-image: var(--honeycomb-url);
  mask-image: var(--honeycomb-url);
  -webkit-mask-size: var(--jk-theme-surface-pattern-size);
  mask-size: var(--jk-theme-surface-pattern-size);
  -webkit-mask-repeat: repeat;
  mask-repeat: repeat;
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  pointer-events: none;
  z-index: 0;
}

body.jkfw-theme-canonical .hero-section > *,
body.jkfw-theme-elegant .hero-section > *,
body.jkfw-theme-ember .hero-section > *,
body.jkfw-theme-nature .hero-section > *,
body.jkfw-theme-electric .hero-section > * {
  position: relative;
  z-index: 1;
}

body.jkfw-theme-canonical #jkhive-sidebar-container,
body.jkfw-theme-elegant #jkhive-sidebar-container,
body.jkfw-theme-ember #jkhive-sidebar-container,
body.jkfw-theme-nature #jkhive-sidebar-container,
body.jkfw-theme-electric #jkhive-sidebar-container {
  background: linear-gradient(180deg, var(--jk-theme-surface-start) 0%, var(--jk-theme-surface-end) 100%);
}

body.jkfw-theme-canonical #jkhive-sidebar-container::before,
body.jkfw-theme-elegant #jkhive-sidebar-container::before,
body.jkfw-theme-ember #jkhive-sidebar-container::before,
body.jkfw-theme-nature #jkhive-sidebar-container::before,
body.jkfw-theme-electric #jkhive-sidebar-container::before {
  background-image: none;
  background-color: rgba(var(--jk-hero-pattern-color-rgb), var(--jk-hero-pattern-opacity));
  -webkit-mask-image: var(--honeycomb-url);
  mask-image: var(--honeycomb-url);
  -webkit-mask-size: var(--jk-theme-surface-pattern-size);
  mask-size: var(--jk-theme-surface-pattern-size);
  -webkit-mask-repeat: repeat;
  mask-repeat: repeat;
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
}

body.jkfw-theme-canonical .jkhive-navbar,
body.jkfw-theme-elegant .jkhive-navbar,
body.jkfw-theme-ember .jkhive-navbar,
body.jkfw-theme-nature .jkhive-navbar,
body.jkfw-theme-electric .jkhive-navbar {
  background: linear-gradient(180deg, var(--jk-theme-surface-start) 0%, var(--jk-theme-surface-end) 100%);
}

body.jkfw-theme-canonical .jkhive-navbar::before,
body.jkfw-theme-elegant .jkhive-navbar::before,
body.jkfw-theme-ember .jkhive-navbar::before,
body.jkfw-theme-nature .jkhive-navbar::before,
body.jkfw-theme-electric .jkhive-navbar::before {
  background-image: none;
  background-color: rgba(var(--jk-hero-pattern-color-rgb), var(--jk-hero-pattern-opacity));
  -webkit-mask-image: var(--honeycomb-url);
  mask-image: var(--honeycomb-url);
  -webkit-mask-size: var(--jk-theme-surface-pattern-size);
  mask-size: var(--jk-theme-surface-pattern-size);
  -webkit-mask-repeat: repeat;
  mask-repeat: repeat;
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
}

body.jkfw-theme-canonical .jkhive-footer,
body.jkfw-theme-elegant .jkhive-footer,
body.jkfw-theme-ember .jkhive-footer,
body.jkfw-theme-nature .jkhive-footer,
body.jkfw-theme-canonical .jkhive-footer-crm,
body.jkfw-theme-elegant .jkhive-footer-crm,
body.jkfw-theme-ember .jkhive-footer-crm,
body.jkfw-theme-nature .jkhive-footer-crm,
body.jkfw-theme-canonical .jkhive-crm-footer,
body.jkfw-theme-elegant .jkhive-crm-footer,
body.jkfw-theme-ember .jkhive-crm-footer,
body.jkfw-theme-nature .jkhive-crm-footer,
body.jkfw-theme-electric .jkhive-footer,
body.jkfw-theme-electric .jkhive-footer-crm,
body.jkfw-theme-electric .jkhive-crm-footer {
  background: linear-gradient(180deg, var(--jk-theme-surface-start) 0%, var(--jk-theme-surface-end) 100%);
  position: relative;
  overflow: hidden;
}

body.jkfw-theme-canonical .jkhive-footer::after,
body.jkfw-theme-elegant .jkhive-footer::after,
body.jkfw-theme-ember .jkhive-footer::after,
body.jkfw-theme-nature .jkhive-footer::after,
body.jkfw-theme-canonical .jkhive-footer-crm::after,
body.jkfw-theme-elegant .jkhive-footer-crm::after,
body.jkfw-theme-ember .jkhive-footer-crm::after,
body.jkfw-theme-nature .jkhive-footer-crm::after,
body.jkfw-theme-canonical .jkhive-crm-footer::after,
body.jkfw-theme-elegant .jkhive-crm-footer::after,
body.jkfw-theme-ember .jkhive-crm-footer::after,
body.jkfw-theme-nature .jkhive-crm-footer::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(var(--jk-hero-pattern-color-rgb), var(--jk-hero-pattern-opacity));
  -webkit-mask-image: var(--honeycomb-url);
  mask-image: var(--honeycomb-url);
  -webkit-mask-size: var(--jk-theme-surface-pattern-size);
  mask-size: var(--jk-theme-surface-pattern-size);
  -webkit-mask-repeat: repeat;
  mask-repeat: repeat;
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  pointer-events: none;
  z-index: 0;
}

body.jkfw-theme-canonical .jkhive-footer .jkhive-footer-inner,
body.jkfw-theme-elegant .jkhive-footer .jkhive-footer-inner,
body.jkfw-theme-ember .jkhive-footer .jkhive-footer-inner,
body.jkfw-theme-nature .jkhive-footer .jkhive-footer-inner,
body.jkfw-theme-canonical .jkhive-crm-footer .jkhive-crm-footer-inner,
body.jkfw-theme-elegant .jkhive-crm-footer .jkhive-crm-footer-inner,
body.jkfw-theme-ember .jkhive-crm-footer .jkhive-crm-footer-inner,
body.jkfw-theme-nature .jkhive-crm-footer .jkhive-crm-footer-inner {
  position: relative;
  z-index: 1;
}

/**
 * ELEGANT — mármol claro. Acentos **oro brillante** en bordes/identidad; **textura panal shell en verde esmeralda**
 * sobre mármol; shell (sidebar, navbar, footer) con esmeralda intensa.
 */
body.jkfw-theme-elegant {
  --jk-accent-honey: #e9ab08;
  --jk-accent-honey-light: #fde047;
  --jk-accent-honey-dark: #b45309;
  --jk-canon-surface-start: #faf7f2;
  --jk-canon-surface-end: #e7dfd4;
  /* Panal hero (moderado); shell usa --jk-elegant-shell-honeycomb-* más abajo */
  --jk-hero-pattern-color-rgb: 16, 185, 129;
  --jk-hero-pattern-opacity: 0.62;
  --jk-elegant-shell-honeycomb-url: url('../img/honeycomb-pattern-elegant-emerald.svg');
  --jk-elegant-body-pattern-color-rgb: 56, 189, 248;
  --jk-elegant-body-pattern-opacity: 1;
  /* Highlight de UI (activo sidebar, anillos): ámbar oscuro legible sobre claro */
  --jk-theme-highlight: #b45309;
  --jk-theme-highlight-rgb: 180, 83, 9;
  --jk-ui-ink: #161412;
  --jk-primary-blue: #64748b;
  --jk-primary-blue-light: #94a3b8;
  --jk-primary-blue-dark: #475569;
  --jk-primary-blue-darker: #334155;
  --jk-secondary-green: #a1a09b;
  --jk-secondary-green-light: #c9c5bf;
  --jk-secondary-green-dark: #6f6964;
  --jk-tech-darker: #f4f1ec;
  --jk-tech-dark: #e9e3da;
  --jk-tech-medium: #d9d1c5;
  --jk-tech-light: #c8bfb1;
  --jk-metal-light: #1c1917;
  --jk-metal: #3f3a36;
  --jk-metal-dark: #575049;
  --jk-metal-darker: #6e6660;
  --jk-glow-blue: 0 2px 8px rgba(62, 48, 36, 0.12);
  --jk-glow-cyan: 0 2px 8px rgba(62, 48, 36, 0.1);
  --jkhive-canonical-blue-hex-shadow: 0 6px 18px rgba(62, 48, 36, 0.14), inset 0 0 0 1px rgba(166, 124, 0, 0.35);
  --jkhive-canonical-blue-hex-shadow-hover: 0 8px 22px rgba(62, 48, 36, 0.18), inset 0 0 0 2px rgba(166, 124, 0, 0.55);
  --jkhive-canonical-blue-hex-glow-radial: none;
  --jk-elegant-shell-border: var(--jk-primary-blue);
  --jk-elegant-nav-icon: var(--jk-primary-blue);
  --jk-elegant-nav-icon-active: #7c2d12;
  --jk-elegant-link: #7c2d12;
  --jk-elegant-honey-btn: #f4c430;
  --jk-elegant-honey-btn-dark: #d4a017;
}

/* Texto oscuro sobre miel / metal claro (el tema aclara --jk-tech-darker para fondos). */
body.jkfw-theme-elegant .jkhive-hex-accent,
body.jkfw-theme-elegant .jkhive-hex-accent .jkhive-hex-content,
body.jkfw-theme-elegant .jkhive-btn-hex-accent,
body.jkfw-theme-elegant .jkhive-btn-hex-h,
body.jkfw-theme-elegant .jkhive-hex-white,
body.jkfw-theme-elegant .jkhive-hex-white .jkhive-hex-content {
  --jk-tech-darker: var(--jk-ui-ink);
}

/* --- NATURE — bosque profundo, verdes naturales --- */
body.jkfw-theme-nature {
  --jk-hero-pattern-color-rgb: 132, 204, 22;
  --jk-hero-pattern-opacity: 0.34;
  --jk-theme-highlight: #6ee7b7;
  --jk-theme-highlight-rgb: 110, 231, 183;
  --jk-primary-blue: #34d399;
  --jk-primary-blue-light: #6ee7b7;
  --jk-primary-blue-dark: #10b981;
  --jk-primary-blue-darker: #065f46;
  --jk-secondary-green: #84cc16;
  --jk-secondary-green-light: #bef264;
  --jk-secondary-green-dark: #4d7c0f;
  --jk-tech-darker: #07120c;
  --jk-tech-dark: #0f2016;
  --jk-tech-medium: #1a3325;
  --jk-tech-light: #284a34;
  --jk-glow-blue: 0 0 22px rgba(52, 211, 153, 0.38), 0 0 44px rgba(132, 204, 22, 0.22);
  --jk-glow-cyan: 0 0 20px rgba(132, 204, 22, 0.35), 0 0 42px rgba(16, 185, 129, 0.2);
  --jkhive-canonical-blue-hex-shadow: 0 8px 32px rgba(16, 185, 129, 0.26), inset 0 0 40px rgba(132, 204, 22, 0.1);
  --jkhive-canonical-blue-hex-shadow-hover: 0 12px 42px rgba(52, 211, 153, 0.36), 0 0 60px rgba(244, 196, 48, 0.26),
    inset 0 0 60px rgba(132, 204, 22, 0.14);
  --jkhive-canonical-blue-hex-glow-radial: radial-gradient(circle at 50% 0%, rgba(52, 211, 153, 0.24) 0%, transparent 70%);
}

/* --- Brasas (ember): calor humano, coral + carbón cálido --- */
body.jkfw-theme-ember {
  --jk-hero-pattern-color-rgb: 249, 115, 22;
  --jk-hero-pattern-opacity: 0.36;
  --jk-theme-highlight: #fb923c;
  --jk-theme-highlight-rgb: 251, 146, 60;
  --jk-primary-blue: #f97316;
  --jk-primary-blue-light: #fb923c;
  --jk-primary-blue-dark: #ea580c;
  --jk-primary-blue-darker: #9a3412;
  --jk-secondary-green: #f43f5e;
  --jk-secondary-green-light: #fb7185;
  --jk-secondary-green-dark: #e11d48;
  --jk-tech-darker: #1a0f0d;
  --jk-tech-dark: #292018;
  --jk-tech-medium: #42302a;
  --jk-tech-light: #5c4339;
  --jk-metal-light: #f1e9e4;
  --jk-metal: #d4c4bc;
  --jk-glow-blue: 0 0 22px rgba(249, 115, 22, 0.4), 0 0 40px rgba(244, 63, 94, 0.25);
  --jk-glow-cyan: 0 0 20px rgba(244, 63, 94, 0.35), 0 0 40px rgba(249, 115, 22, 0.2);
  --jkhive-canonical-blue-hex-shadow: 0 8px 32px rgba(249, 115, 22, 0.28), inset 0 0 40px rgba(244, 63, 94, 0.1);
  --jkhive-canonical-blue-hex-shadow-hover: 0 12px 40px rgba(249, 115, 22, 0.4), 0 0 60px rgba(244, 196, 48, 0.35),
    inset 0 0 60px rgba(244, 63, 94, 0.15);
  --jkhive-canonical-blue-hex-glow-radial: radial-gradient(circle at 50% 0%, rgba(249, 115, 22, 0.22) 0%, transparent 70%);
}

/* --- ELECTRIC — energía, electricidad, calma y seguridad (CAAB) --- */
body.jkfw-theme-electric {
  --jk-hero-pattern-color-rgb: 34, 211, 238;
  --jk-hero-pattern-opacity: 0.28;
  --jk-theme-highlight: #22d3ee;
  --jk-theme-highlight-rgb: 34, 211, 238;
  --jk-primary-blue: #38bdf8;
  --jk-primary-blue-light: #7dd3fc;
  --jk-primary-blue-dark: #0284c7;
  --jk-primary-blue-darker: #0c4a6e;
  --jk-secondary-green: #2dd4bf;
  --jk-secondary-green-light: #5eead4;
  --jk-secondary-green-dark: #0f766e;
  --jk-tech-darker: #07111f;
  --jk-tech-dark: #0b1a2e;
  --jk-tech-medium: #13263f;
  --jk-tech-light: #1c3554;
  --jk-metal-light: #e8eef7;
  --jk-metal: #b6c3d6;
  --jk-metal-dark: #89a0af;
  --jk-metal-darker: #6b7a93;
  --jk-ui-ink: #e8eef7;
  --jk-accent-honey: #fbbf24;
  --jk-accent-honey-light: #fde68a;
  --jk-accent-honey-dark: #d97706;
  --jk-glow-blue: 0 0 28px rgba(34, 211, 238, 0.45), 0 0 56px rgba(56, 189, 248, 0.22);
  --jk-glow-cyan: 0 0 24px rgba(34, 211, 238, 0.4), 0 0 48px rgba(45, 212, 191, 0.18);
  --jkhive-canonical-blue-hex-shadow: 0 8px 32px rgba(14, 165, 233, 0.32), inset 0 0 40px rgba(34, 211, 238, 0.12);
  --jkhive-canonical-blue-hex-shadow-hover: 0 12px 42px rgba(34, 211, 238, 0.42), 0 0 60px rgba(251, 191, 36, 0.28),
    inset 0 0 60px rgba(56, 189, 248, 0.16);
  --jkhive-canonical-blue-hex-glow-radial: radial-gradient(circle at 50% 0%, rgba(34, 211, 238, 0.28) 0%, transparent 70%);
  --jk-canon-surface-start: #07111f;
  --jk-canon-surface-end: #0f2238;
  --jk-elegant-shell-border: rgba(34, 211, 238, 0.55);
  --jk-elegant-nav-icon: #7dd3fc;
  --jk-elegant-nav-icon-active: #fbbf24;
  --jk-elegant-link: #67e8f9;
  --jk-electric-arc: #22d3ee;
  --jk-electric-spark: #fbbf24;
  --jk-electric-safe: #2dd4bf;
}

/* =============================================================================
 * Launchpad (index.php): fondo + doble capa honeycomb SVG — miel en bordes intacta en componentes; aquí solo matiz de textura.
 * ============================================================================= */

/*
 * CANON en el launchpad: sin override aquí → se usa el fondo oficial de `jkfw-launcher.css`
 * (lavado miel translúcido + doble capa honeycomb SVG). El tema CANON marca tokens tech en :root/jkfw-themes corporales,
 * no sustituye la identidad de fondo del selector.
 */

/* ELEGANT — mármol; capas honeycomb del launchpad en matiz cyan (coherente con --jk-hero-pattern-*) */
body.jkfw-theme-elegant.jkfw-launcher-body .jkfw-launcher__bg {
  background: linear-gradient(165deg, #faf8f5 0%, #ebe6df 45%, #e0d8cc 100%);
  backdrop-filter: blur(14px);
}

body.jkfw-theme-elegant.jkfw-launcher-body .jkfw-launcher__bg::before,
body.jkfw-theme-elegant.jkfw-launcher-body .jkfw-launcher__bg::after {
  filter: brightness(0) saturate(100%) invert(42%) sepia(95%) saturate(680%) hue-rotate(158deg) brightness(0.92) opacity(0.4);
}

body.jkfw-theme-elegant.jkfw-launcher-body .jkfw-launcher__title,
body.jkfw-theme-elegant.jkfw-launcher-body .jkfw-launcher__subtitle {
  color: var(--jk-ui-ink);
  text-shadow: 0 0 20px rgba(165, 243, 252, 0.45), 0 2px 0 rgba(255, 255, 255, 0.88);
}

body.jkfw-theme-elegant.jkfw-launcher-body .jkfw-launcher__themes a {
  color: var(--jk-ui-ink);
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(34, 211, 238, 0.38);
}

body.jkfw-theme-elegant.jkfw-launcher-body .jkfw-launcher .jkfw-launcher-section-heading.jkhive-section-title {
  color: var(--jk-ui-ink);
  text-shadow: 0 0 16px rgba(103, 232, 249, 0.35);
}

body.jkfw-theme-elegant.jkfw-launcher-body .jkfw-launcher .jkfw-launcher-section-heading.jkhive-section-title::after {
  background: linear-gradient(90deg, transparent, rgba(8, 145, 178, 0.55), transparent);
  opacity: 0.88;
}

/* NATURE — bosque, panal teñido verde */
body.jkfw-theme-nature.jkfw-launcher-body .jkfw-launcher__bg {
  background: linear-gradient(168deg, #0a1810 0%, #12271a 48%, #0c1f14 100%);
  backdrop-filter: blur(12px);
}

body.jkfw-theme-nature.jkfw-launcher-body .jkfw-launcher__bg::before,
body.jkfw-theme-nature.jkfw-launcher-body .jkfw-launcher__bg::after {
  filter: brightness(0) saturate(100%) invert(48%) sepia(52%) hue-rotate(92deg) saturate(380%) brightness(0.72) opacity(0.42);
}

body.jkfw-theme-nature.jkfw-launcher-body .jkfw-launcher__title,
body.jkfw-theme-nature.jkfw-launcher-body .jkfw-launcher__subtitle {
  color: var(--jk-metal-light);
  text-shadow: 0 0 26px rgba(52, 211, 153, 0.35), 0 2px 0 rgba(0, 0, 0, 0.45);
}

body.jkfw-theme-nature.jkfw-launcher-body .jkfw-launcher__themes a {
  color: var(--jk-metal-light);
  background: rgba(10, 35, 22, 0.55);
  border: 1px solid rgba(212, 160, 23, 0.5);
}

body.jkfw-theme-nature.jkfw-launcher-body .jkfw-launcher .jkfw-launcher-section-heading.jkhive-section-title {
  color: var(--jk-metal-light);
  text-shadow: 0 0 18px rgba(52, 211, 153, 0.25);
}

body.jkfw-theme-nature.jkfw-launcher-body .jkfw-launcher .jkfw-launcher-section-heading.jkhive-section-title::after {
  background: linear-gradient(90deg, transparent, var(--jk-accent-honey), transparent);
  opacity: 0.9;
}

/* Brasas: mantiene el lavado cálido por defecto de jkfw-launcher.css (sin bloque = comportamiento actual). */

/* =============================================================================
 * ELEGANT — UI landing / shell: logo cuadrado, sidebar activo, búsqueda, galerías
 * ============================================================================= */
body.jkfw-theme-elegant #jkhive-logo-square .jkhive-logo-main-jkhive,
body.jkfw-theme-elegant .jkhive-logo-square .jkhive-logo-main-jkhive {
  color: #14110e !important;
  text-shadow:
    0 0 14px rgba(255, 210, 120, 0.95),
    0 0 28px rgba(245, 158, 11, 0.45),
    0 1px 0 rgba(255, 255, 255, 0.92) !important;
}

body.jkfw-theme-elegant #jkhive-logo-square .jkhive-logo-sub-jkhive,
body.jkfw-theme-elegant .jkhive-logo-square .jkhive-logo-sub-jkhive {
  color: #9a3412 !important;
  text-shadow:
    0 0 10px rgba(254, 243, 199, 0.98),
    0 0 22px rgba(251, 191, 36, 0.65),
    0 1px 0 rgba(255, 255, 255, 1) !important;
}

body.jkfw-theme-elegant #jkhive-logo-square .jkhive-logo-editorial-head .jkhive-logo-divider-jkhive,
body.jkfw-theme-elegant .jkhive-logo-square .jkhive-logo-editorial-head .jkhive-logo-divider-jkhive {
  background: linear-gradient(90deg, transparent 0%, #c2410c 18%, #f59e0b 50%, #c2410c 82%, transparent 100%) !important;
  box-shadow: 0 0 10px rgba(251, 191, 36, 0.85), 0 0 18px rgba(217, 119, 6, 0.35) !important;
}

body.jkfw-theme-elegant #jkhive-sidebar .jkhive-sidebar-logo .jkhive-logo-main-jkhive,
body.jkfw-theme-elegant .jkhive-sidebar .jkhive-sidebar-logo .jkhive-logo-main-jkhive {
  color: #14110e !important;
  text-shadow:
    0 0 14px rgba(255, 210, 120, 0.95),
    0 0 26px rgba(245, 158, 11, 0.4),
    0 1px 0 rgba(255, 255, 255, 0.88) !important;
}

body.jkfw-theme-elegant #jkhive-sidebar .jkhive-sidebar-logo .jkhive-logo-sub-jkhive,
body.jkfw-theme-elegant .jkhive-sidebar .jkhive-sidebar-logo .jkhive-logo-sub-jkhive {
  color: #9a3412 !important;
  text-shadow:
    0 0 10px rgba(254, 243, 199, 0.98),
    0 0 22px rgba(251, 191, 36, 0.6),
    0 1px 0 rgba(255, 255, 255, 0.95) !important;
}

/* Sidebar: borde lateral de referencia para nav / hero / footer */
body.jkfw-theme-elegant #jkhive-sidebar-container,
body.jkfw-theme-elegant .jkhive-sidebar-container {
  border-right: 2px solid var(--jk-elegant-shell-border) !important;
  box-shadow: none !important;
}

/* Nav superior: sin halo azul en “JK Hive”; borde = sidebar */
body.jkfw-theme-elegant .jkhive-navbar {
  border-bottom: 2px solid var(--jk-elegant-shell-border) !important;
  box-shadow: none !important;
}

body.jkfw-theme-elegant .jkhive-navbar-title {
  color: var(--jk-ui-ink) !important;
  text-shadow: none !important;
}

/* Footer: mismo borde que sidebar, sin resplandor */
body.jkfw-theme-elegant .jkhive-footer,
body.jkfw-theme-elegant .jkhive-footer-crm,
body.jkfw-theme-elegant .jkhive-crm-footer {
  border-top: 2px solid var(--jk-elegant-shell-border) !important;
  box-shadow: none !important;
}

body.jkfw-theme-elegant .jkhive-footer::before {
  display: none !important;
}
/* ELEGANT — panal shell: verde esmeralda visible (SVG propio, sin máscara tenue) */
body.jkfw-theme-elegant #jkhive-sidebar-container::before,
body.jkfw-theme-elegant .jkhive-navbar::before,
body.jkfw-theme-elegant .jkhive-footer::after,
body.jkfw-theme-elegant .jkhive-footer-crm::after,
body.jkfw-theme-elegant .jkhive-crm-footer::after {
  background-color: transparent !important;
  background-image: var(--jk-elegant-shell-honeycomb-url) !important;
  background-size: var(--honeycomb-size-sidebar) !important;
  background-repeat: repeat !important;
  background-position: 0 0 !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  opacity: 1 !important;
}

body.jkfw-theme-elegant #jkhive-sidebar-container::after,
body.jkfw-theme-elegant .jkhive-navbar::after {
  display: none !important;
  content: none !important;
}



/* Ítems inactivos: borde = color del ícono, sin luminosidad */
body.jkfw-theme-elegant #jkhive-sidebar .jkhive-nav-item:not(.active) .jkhive-hex,
body.jkfw-theme-elegant .jkhive-sidebar .jkhive-nav-item:not(.active) .jkhive-hex,
body.jkfw-theme-elegant #jkhive-sidebar .jkhive-nav-item:not(.active) a:not(.active) .jkhive-hex,
body.jkfw-theme-elegant .jkhive-sidebar .jkhive-nav-item:not(.active) a:not(.active) .jkhive-hex {
  background: linear-gradient(135deg, #ebe6df 0%, #ddd5c9 100%) !important;
  color: var(--jk-elegant-nav-icon) !important;
  box-shadow: none !important;
  filter: drop-shadow(0 0 0 1.5px var(--jk-elegant-nav-icon)) !important;
}

body.jkfw-theme-elegant #jkhive-sidebar .jkhive-nav-item:not(.active) .jkhive-hex-content,
body.jkfw-theme-elegant .jkhive-sidebar .jkhive-nav-item:not(.active) .jkhive-hex-content,
body.jkfw-theme-elegant #jkhive-sidebar .jkhive-nav-item:not(.active) .jkhive-hex-icon,
body.jkfw-theme-elegant .jkhive-sidebar .jkhive-nav-item:not(.active) .jkhive-hex-icon {
  text-shadow: none !important;
  color: var(--jk-elegant-nav-icon) !important;
}

body.jkfw-theme-elegant #jkhive-sidebar .jkhive-nav-item:not(.active) .jkhive-hex:hover,
body.jkfw-theme-elegant .jkhive-sidebar .jkhive-nav-item:not(.active) .jkhive-hex:hover {
  box-shadow: none !important;
  filter: drop-shadow(0 0 0 2px var(--jk-elegant-nav-icon)) !important;
  transform: scale(1.03) !important;
}

/* Activo: borde = color del ícono, sin pulse ni glow */
body.jkfw-theme-elegant #jkhive-sidebar .jkhive-nav-item.active .jkhive-hex,
body.jkfw-theme-elegant .jkhive-sidebar .jkhive-nav-item.active .jkhive-hex,
body.jkfw-theme-elegant #jkhive-sidebar .jkhive-nav-item a.active .jkhive-hex,
body.jkfw-theme-elegant .jkhive-sidebar .jkhive-nav-item a.active .jkhive-hex {
  background: linear-gradient(145deg, #fffbeb 0%, #fde68a 42%, #fbbf24 100%) !important;
  border: none !important;
  color: var(--jk-elegant-nav-icon-active) !important;
  box-shadow: none !important;
  filter: drop-shadow(0 0 0 2px var(--jk-elegant-nav-icon-active)) !important;
  animation: none !important;
}

body.jkfw-theme-elegant #jkhive-sidebar .jkhive-nav-item.active .jkhive-hex .jkhive-hex-icon,
body.jkfw-theme-elegant .jkhive-sidebar .jkhive-nav-item.active .jkhive-hex .jkhive-hex-icon,
body.jkfw-theme-elegant #jkhive-sidebar .jkhive-nav-item a.active .jkhive-hex .jkhive-hex-icon,
body.jkfw-theme-elegant .jkhive-sidebar .jkhive-nav-item a.active .jkhive-hex .jkhive-hex-icon,
body.jkfw-theme-elegant #jkhive-sidebar .jkhive-nav-item.active .jkhive-hex .jkhive-hex-content,
body.jkfw-theme-elegant .jkhive-sidebar .jkhive-nav-item.active .jkhive-hex .jkhive-hex-content {
  color: var(--jk-elegant-nav-icon-active) !important;
  text-shadow: none !important;
}

/* Nav SVG: mismo criterio que .jkhive-hex legacy — sin glow ni pulse */
body.jkfw-theme-elegant #jkhive-sidebar .jkhive-nav-item.active .jkhive-hex-svg-btn,
body.jkfw-theme-elegant .jkhive-sidebar .jkhive-nav-item.active .jkhive-hex-svg-btn {
  --jkhive-hex-shell-color: var(--jk-elegant-nav-icon-active);
  --jkhive-hex-icon-color: var(--jk-elegant-nav-icon-active);
  filter: none !important;
  animation: none !important;
}

/* Hipervínculos (footer, inline): color del ícono activo del menú */
body.jkfw-theme-elegant .jkhive-footer .footer-link,
body.jkfw-theme-elegant .jkhive-footer .small .footer-link,
body.jkfw-theme-elegant .jkhive-footer-link,
body.jkfw-theme-elegant .jkhive-link-inline,
body.jkfw-theme-elegant .jkfw-landing-basic-body .jkhive-link-inline {
  color: var(--jk-elegant-link) !important;
}

body.jkfw-theme-elegant .jkhive-footer .footer-link:hover,
body.jkfw-theme-elegant .jkhive-footer .small .footer-link:hover,
body.jkfw-theme-elegant .jkhive-footer-link:hover,
body.jkfw-theme-elegant .jkhive-link-inline:hover,
body.jkfw-theme-elegant .jkfw-landing-basic-body .jkhive-link-inline:hover {
  color: #9a3412 !important;
  text-shadow: none !important;
}

/**
 * Botones hex JK Hive (tema elegant)
 * INVARIANTE (jk-hive.css --jkhive-bttn-hex-face): borde visible = background de .jkhive-hex;
 * ícono = color: var(--jkhive-bttn-hex-face). SIEMPRE el mismo tono en reposo y en hover.
 * Repos: gradiente miel en shell; ícono enlazado a --jkhive-bttn-hex-face (= miel).
 * Hover: shell e ícono pasan juntos a --jkhive-bttn-hex-face-hover (cyan canónico).
 * Interior ::after: --jkhive-bttn-hex-inner-bg (no heredar --jk-tech-dark claro del tema).
 */
body.jkfw-theme-elegant .jkhive-bttn-sm .jkhive-hex,
body.jkfw-theme-elegant .jkhive-bttn-med .jkhive-hex,
body.jkfw-theme-elegant .jkhive-bttn-big .jkhive-hex,
body.jkfw-theme-elegant .jkhive-bttn-item .jkhive-hex {
  --jkhive-bttn-hex-face: var(--jk-elegant-honey-btn);
  background: linear-gradient(145deg, #fde68a 0%, var(--jk-elegant-honey-btn) 45%, var(--jk-elegant-honey-btn-dark) 100%) !important;
  box-shadow: 0 4px 12px rgba(62, 48, 36, 0.14) !important;
}

body.jkfw-theme-elegant .jkhive-bttn-sm .jkhive-hex-icon,
body.jkfw-theme-elegant .jkhive-bttn-sm .jkhive-hex-content,
body.jkfw-theme-elegant .jkhive-bttn-med .jkhive-hex-icon,
body.jkfw-theme-elegant .jkhive-bttn-med .jkhive-hex-content,
body.jkfw-theme-elegant .jkhive-bttn-big .jkhive-hex-icon,
body.jkfw-theme-elegant .jkhive-bttn-big .jkhive-hex-content,
body.jkfw-theme-elegant .jkhive-bttn-item .jkhive-hex-icon,
body.jkfw-theme-elegant .jkhive-bttn-item .jkhive-hex-content {
  color: var(--jkhive-bttn-hex-face) !important;
  text-shadow: none !important;
  filter: none !important;
}

body.jkfw-theme-elegant .jkhive-bttn-sm .jkhive-hex::after,
body.jkfw-theme-elegant .jkhive-bttn-med .jkhive-hex::after,
body.jkfw-theme-elegant .jkhive-bttn-big .jkhive-hex::after,
body.jkfw-theme-elegant .jkhive-bttn-item .jkhive-hex::after {
  background: var(--jkhive-bttn-hex-inner-bg, #0a0e27) !important;
}

body.jkfw-theme-elegant .jkhive-bttn-med:not(.jkhive-bttn-new):not(.jkhive-bttn-cat):hover .jkhive-hex,
body.jkfw-theme-elegant .jkhive-bttn-med:not(.jkhive-bttn-new):not(.jkhive-bttn-cat):focus-within .jkhive-hex,
body.jkfw-theme-elegant .jkhive-bttn-sm:hover .jkhive-hex,
body.jkfw-theme-elegant .jkhive-bttn-sm:focus-within .jkhive-hex,
body.jkfw-theme-elegant .jkhive-bttn-big:hover .jkhive-hex,
body.jkfw-theme-elegant .jkhive-bttn-big:focus-within .jkhive-hex,
body.jkfw-theme-elegant .jkhive-bttn-item:hover .jkhive-hex,
body.jkfw-theme-elegant .jkhive-bttn-item:focus-within .jkhive-hex {
  --jkhive-bttn-hex-face: var(--jkhive-bttn-hex-face-hover, var(--jk-accent-cyan, #06b6d4));
  background: var(--jkhive-bttn-hex-face) !important;
  box-shadow: var(--jk-shadow-lg, 0 10px 30px rgba(0, 0, 0, 0.3)), 0 0 30px rgba(6, 182, 212, 0.8) !important;
  transform: scale(1.05) !important;
}

body.jkfw-theme-elegant .jkhive-bttn-med:not(.jkhive-bttn-new):not(.jkhive-bttn-cat):hover .jkhive-hex-icon,
body.jkfw-theme-elegant .jkhive-bttn-med:not(.jkhive-bttn-new):not(.jkhive-bttn-cat):focus-within .jkhive-hex-icon,
body.jkfw-theme-elegant .jkhive-bttn-med:not(.jkhive-bttn-new):not(.jkhive-bttn-cat):hover .jkhive-hex-content,
body.jkfw-theme-elegant .jkhive-bttn-med:not(.jkhive-bttn-new):not(.jkhive-bttn-cat):focus-within .jkhive-hex-content,
body.jkfw-theme-elegant .jkhive-bttn-sm:hover .jkhive-hex-icon,
body.jkfw-theme-elegant .jkhive-bttn-sm:focus-within .jkhive-hex-icon,
body.jkfw-theme-elegant .jkhive-bttn-sm:hover .jkhive-hex-content,
body.jkfw-theme-elegant .jkhive-bttn-sm:focus-within .jkhive-hex-content,
body.jkfw-theme-elegant .jkhive-bttn-big:hover .jkhive-hex-icon,
body.jkfw-theme-elegant .jkhive-bttn-big:focus-within .jkhive-hex-icon,
body.jkfw-theme-elegant .jkhive-bttn-big:hover .jkhive-hex-content,
body.jkfw-theme-elegant .jkhive-bttn-big:focus-within .jkhive-hex-content,
body.jkfw-theme-elegant .jkhive-bttn-item:hover .jkhive-hex-icon,
body.jkfw-theme-elegant .jkhive-bttn-item:focus-within .jkhive-hex-icon,
body.jkfw-theme-elegant .jkhive-bttn-item:hover .jkhive-hex-content,
body.jkfw-theme-elegant .jkhive-bttn-item:focus-within .jkhive-hex-content {
  color: var(--jkhive-bttn-hex-face) !important;
  text-shadow: none !important;
}

body.jkfw-theme-elegant .jkhive-navbar-hex-item {
  text-shadow: none !important;
  box-shadow: var(--jk-shadow) !important;
}

body.jkfw-theme-elegant .jkhive-navbar-hex-item:hover {
  box-shadow: var(--jk-shadow-lg) !important;
  text-shadow: none !important;
  filter: none !important;
}


/* ELEGANT — panal body (::before): azul brillante intenso vía máscara honeycomb */
body.jkfw-theme-elegant::before {
  background-image: none !important;
  background-color: rgba(
    var(--jk-elegant-body-pattern-color-rgb),
    var(--jk-elegant-body-pattern-opacity)
  ) !important;
  -webkit-mask-image: var(--honeycomb-url) !important;
  mask-image: var(--honeycomb-url) !important;
  -webkit-mask-size: var(--honeycomb-size-body) !important;
  mask-size: var(--honeycomb-size-body) !important;
  -webkit-mask-repeat: repeat !important;
  mask-repeat: repeat !important;
  -webkit-mask-position: 0 0 !important;
  mask-position: 0 0 !important;
  background-size: auto !important;
  background-repeat: repeat !important;
  background-position: 0 0 !important;
  background-attachment: fixed !important;
  opacity: 1 !important;
  filter: none !important;
}

/* Sin velo azul global detrás del contenido */
body.jkfw-theme-elegant:has(#jkhive-sidebar-container)::after {
  background: none !important;
  opacity: 0 !important;
}

/* Paneles mármol (About Enfoque/Metodología/Valores) */
body.jkfw-theme-elegant .jkhive-surface-panel-honeycomb-sm:not(:has(.jkhive-hex-gallery)):not(:has(.jkfw-launcher-hex-gallery)) {
  background-image:
    var(--honeycomb-url),
    linear-gradient(180deg, rgba(255, 253, 249, 0.97) 0%, rgba(241, 233, 223, 0.94) 100%) !important;
  background-size: var(--honeycomb-size-sidebar), 100% 100% !important;
  background-repeat: repeat, no-repeat !important;
  border: 1px solid rgba(100, 116, 139, 0.38) !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.65) inset !important;
}

body.jkfw-theme-elegant.page-about .jklp-about-value-card {
  background: rgba(255, 253, 249, 0.72) !important;
  border: 1px solid rgba(100, 116, 139, 0.32) !important;
  box-shadow: none !important;
}

body.jkfw-theme-elegant.page-about .jklp-about-value-card p {
  color: var(--jk-ui-ink) !important;
  opacity: 0.88 !important;
}

body.jkfw-theme-elegant.page-about .jklp-about-value-card h3,
body.jkfw-theme-elegant.page-about .jklp-about-panel .jkhive-section-title,
body.jkfw-theme-elegant.page-about .jklp-about-values-section-title {
  color: #b45309 !important;
  text-shadow: none !important;
}

body.jkfw-theme-elegant.page-about .jklp-about-panel .jkhive-section-title i,
body.jkfw-theme-elegant.page-about .jklp-about-values-section-title i {
  color: #b45309 !important;
}

body.jkfw-theme-elegant.page-about .jklp-about-panel.jkhive-surface-panel-honeycomb-sm {
  padding: clamp(1.15rem, 2.5vw, 1.55rem);
}

body.jkfw-theme-elegant.page-about .jklp-about-value-card .jklp-about-value-icon {
  color: #b45309 !important;
}

body.jkfw-theme-elegant.page-about .jklp-about-panel .jkhive-lead-text,
body.jkfw-theme-elegant.page-about .jklp-about-panel .jkfw-landing-basic-prose {
  color: var(--jk-ui-ink) !important;
}

/* Contacto: solo enlaces */
body.jkfw-theme-elegant.contact-page .jkhive-link-inline,
body.jkfw-theme-elegant.contact-page .jkfw-contact-info-text .jkhive-link-inline,
body.jkfw-theme-elegant.contact-page .jkhive-contact-channel-body .jkhive-link-inline,
body.jkfw-theme-elegant.contact-page .jkfw-landing-basic-contact-link {
  color: var(--jk-elegant-link) !important;
  text-shadow: none !important;
}

body.jkfw-theme-elegant.contact-page .jkhive-link-inline:hover,
body.jkfw-theme-elegant.contact-page .jkfw-landing-basic-contact-link:hover {
  color: #9a3412 !important;
  text-shadow: none !important;
}

body.jkfw-theme-elegant .jkhive-search-input {
  background: linear-gradient(135deg, rgba(255, 253, 249, 0.98) 0%, rgba(246, 239, 230, 0.98) 100%);
  border: 1px solid rgba(176, 125, 40, 0.42);
  color: #1c1410;
}

body.jkfw-theme-elegant .jkhive-search-input::placeholder {
  color: rgba(82, 68, 54, 0.55);
}

body.jkfw-theme-elegant .jkhive-search-input:focus {
  border-color: rgba(217, 119, 6, 0.72);
  box-shadow: 0 0 0 2px rgba(251, 191, 36, 0.38);
}

body.jkfw-theme-elegant .jkhive-gallery-searchbar-input {
  background: rgba(255, 253, 250, 0.97) !important;
  color: var(--jk-ui-ink) !important;
  border: 1px solid rgba(176, 125, 40, 0.42) !important;
}

body.jkfw-theme-elegant .jkhive-gallery-searchbar-input::placeholder {
  color: rgba(90, 75, 58, 0.52) !important;
}

body.jkfw-theme-elegant .jkhive-gallery-searchbar-label {
  color: #6b5344;
}

/* ELEGANT — backdrop modal: capa opaca (el velo translúcido deja ver el contenido detrás como manchas) */
html body.jkfw-theme-elegant .jkhive-modal .jkhive-modal-overlay,
html body.jkfw-theme-elegant .jkhive-modal.active .jkhive-modal-overlay,
html body.jkfw-theme-elegant .jkhive-modal.show .jkhive-modal-overlay,
body.jkfw-theme-elegant .jkhive-modal .jkhive-modal-overlay,
body.jkfw-theme-elegant .jkhive-modal.active .jkhive-modal-overlay,
body.jkfw-theme-elegant .jkhive-modal.show .jkhive-modal-overlay {
  background: #b8b0a8 !important;
  background-image: none !important;
  backdrop-filter: none !important;
}

/* Panal SVG: cyan intenso (misma familia que launchpad ELEGANT; sin opacity() baja dentro de filter) */
html body.jkfw-theme-elegant .jkhive-modal .jkhive-modal-overlay::before,
html body.jkfw-theme-elegant .jkhive-modal .jkhive-modal-overlay::after,
html body.jkfw-theme-elegant .jkhive-modal.active .jkhive-modal-overlay::before,
html body.jkfw-theme-elegant .jkhive-modal.active .jkhive-modal-overlay::after,
html body.jkfw-theme-elegant .jkhive-modal.show .jkhive-modal-overlay::before,
html body.jkfw-theme-elegant .jkhive-modal.show .jkhive-modal-overlay::after,
body.jkfw-theme-elegant .jkhive-modal .jkhive-modal-overlay::before,
body.jkfw-theme-elegant .jkhive-modal .jkhive-modal-overlay::after,
body.jkfw-theme-elegant .jkhive-modal.active .jkhive-modal-overlay::before,
body.jkfw-theme-elegant .jkhive-modal.active .jkhive-modal-overlay::after,
body.jkfw-theme-elegant .jkhive-modal.show .jkhive-modal-overlay::before,
body.jkfw-theme-elegant .jkhive-modal.show .jkhive-modal-overlay::after {
  visibility: visible !important;
  opacity: 1 !important;
  filter: brightness(0) saturate(100%) invert(40%) sepia(100%) saturate(2200%) hue-rotate(158deg) brightness(1.12) contrast(1.12) !important;
}

/* Segunda capa desfasada: un poco más clara para que el panal “respire” y no aplaste el modal */
html body.jkfw-theme-elegant .jkhive-modal .jkhive-modal-overlay::after,
html body.jkfw-theme-elegant .jkhive-modal.active .jkhive-modal-overlay::after,
html body.jkfw-theme-elegant .jkhive-modal.show .jkhive-modal-overlay::after,
body.jkfw-theme-elegant .jkhive-modal .jkhive-modal-overlay::after,
body.jkfw-theme-elegant .jkhive-modal.active .jkhive-modal-overlay::after,
body.jkfw-theme-elegant .jkhive-modal.show .jkhive-modal-overlay::after {
  filter: brightness(0) saturate(100%) invert(44%) sepia(100%) saturate(2000%) hue-rotate(156deg) brightness(1.22) contrast(1.08) !important;
}
