/* ============================================
   AcuarioLab Theme — CSS Principal
   ============================================ */

:root {
  --void: #010810;
  --abyss: #020d1a;
  --deep: #041626;
  --navy: #071f38;
  --ocean: #0a2d50;
  --blue: #0d4a8a;
  --cobalt: #087a68;
  --bright: #0a9b82;
  --aqua: #00b894;
  --cyan: #00e5b4;
  --glow: rgba(0,229,180,0.15);
  --text: #b2f0e0;
  --muted: #2d8a78;
  --white: #f0f8ff;
}

/* RESET WORDPRESS */
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  background: var(--void);
  color: var(--text);
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  overflow-x: hidden;
}

/* Ocultar elementos de WordPress que interfieren */
.admin-bar #wpadminbar { position: fixed !important; }
body.admin-bar .site-header { top: 32px; }

/* FONDO */
body::before {
  content:'';
  position:fixed;inset:0;
  background: #000000;
  pointer-events:none;
  z-index:0;
}

/* BUBBLES */
#bubbles {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}
.bubble {
  position: absolute;
  bottom: -60px;
  border-radius: 50%;
  border: 1px solid rgba(0,229,180,0.4);
  background: radial-gradient(circle at 35% 35%, rgba(0,229,180,0.15), rgba(0,180,212,0.02));
  animation: rise linear infinite;
}
.bubble::after {
  content:'';
  position:absolute;
  top:18%;left:22%;
  width:28%;height:28%;
  border-radius:50%;
  background:rgba(255,255,255,0.25);
}
@keyframes rise {
  0%   { transform:translateY(0) translateX(0) scale(1); opacity:0; }
  10%  { opacity:1; }
  85%  { opacity:0.6; }
  100% { transform:translateY(-110vh) translateX(var(--drift)) scale(var(--scale-end)); opacity:0; }
}

/* ── NAVBAR ── */
.site-header {
  position: sticky;
  top: 0;
  z-index: 200;
  height: 68px;
  background: rgba(0,0,0,0.98);
  backdrop-filter: blur(20px) saturate(1.5);
  border-bottom: 1px solid rgba(0,229,180,0.12);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2.5rem;
  box-shadow: 0 2px 40px rgba(0,0,0,0.6);
}
.site-branding a {
  display:flex; align-items:center; gap:10px; text-decoration:none;
  padding: 4px 0;
}
.site-logo {
  height: 52px; width: auto;
  image-rendering: crisp-edges;
  filter: contrast(1.05) drop-shadow(0 0 8px rgba(0,229,180,0.4));
}
.main-navigation ul {
  display: flex; list-style: none; align-items: center; gap: 0.1rem;
}
.main-navigation ul li a {
  display: block;
  font-family: 'Rajdhani', sans-serif;
  font-weight: 600; font-size: 0.8rem;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--muted); text-decoration: none;
  padding: 8px 14px; border-radius: 6px;
  transition: all 0.2s;
}
.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a {
  color: var(--cyan); background: rgba(0,229,180,0.07);
}
.nav-yt-link {
  color: #ff4444 !important;
  border: 1px solid rgba(255,68,68,0.3) !important;
  border-radius: 20px !important;
  margin-left: 4px;
}
.nav-yt-link:hover { background:rgba(255,68,68,0.12) !important; color:#ff6666 !important; }

/* ── CONTENIDO PRINCIPAL ── */
#page { position: relative; z-index: 1; }
.site-content { position: relative; z-index: 1; }

/* ── HERO (sólo portada) ── */
.hero-section {
  position: relative; z-index: 1;
  min-height: 100vh;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  text-align: center;
  padding: 3rem 2rem 3rem;
  gap: 0;
}
.hero-logo-wrap {
  margin-bottom: 0.8rem;
  animation: float 5s ease-in-out infinite;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.hero-logo-wrap::after {
  content: none;
}
@keyframes float {
  0%,100% { transform:translateY(0px); }
  50% { transform:translateY(-14px); }
}
.hero-logo-img {
  width: min(700px, 88vw); height: auto;
  display: block;
  margin: 0 auto;
  margin-left: calc(50% - min(350px, 44vw) - 60px);
  border: none;
  outline: none;
  background: transparent;
}
.hero-eyebrow {
  font-family: 'Rajdhani', sans-serif; font-weight: 500;
  font-size: 0.78rem; letter-spacing: 0.35em; text-transform: uppercase;
  color: var(--aqua); opacity: 0.8; margin-bottom: 0.6rem;
}
.hero-title {
  font-family: 'Orbitron', monospace; font-weight: 700;
  font-size: clamp(1.6rem, 4.5vw, 3rem);
  color: var(--white);
  text-shadow: 0 0 40px rgba(0,229,180,0.35);
  line-height: 1.2; margin-bottom: 1rem;
}
.hero-title em { font-style: normal; color: var(--cyan); }
.hero-sub {
  max-width: 540px; font-size: 1rem; line-height: 1.8;
  color: var(--muted); margin-bottom: 2.5rem;
}
.tag-row { display:flex; flex-wrap:wrap; justify-content:center; gap:0.7rem; margin-bottom:2.5rem; }
.tag {
  font-family:'Rajdhani',sans-serif; font-size:0.77rem; font-weight:600;
  letter-spacing:0.1em; text-transform:uppercase;
  padding:5px 16px; border-radius:20px;
  border:1px solid rgba(0,229,180,0.2);
  color:rgba(0,229,180,0.7); background:rgba(0,229,180,0.05);
}
.cta {
  font-family:'Rajdhani',sans-serif; font-weight:700; font-size:0.9rem;
  letter-spacing:0.12em; text-transform:uppercase;
  padding:13px 36px; border-radius:30px;
  background:linear-gradient(135deg, var(--cobalt) 0%, var(--aqua) 100%);
  color:#fff; text-decoration:none;
  box-shadow:0 0 30px rgba(0,180,212,0.4);
  transition:all 0.25s; display:inline-block;
}
.cta:hover { transform:translateY(-3px); box-shadow:0 0 50px rgba(0,229,180,0.6); color:#fff; }

/* ── FOTO ACUARIO ── */
.tank-section {
  position:relative; z-index:1;
  padding:0 2rem 5rem;
  display:flex; flex-direction:column; align-items:center; gap:1rem;
}
.tank-container {
  position:relative; max-width:620px; width:100%;
  border-radius:16px; overflow:hidden;
  border:1px solid rgba(0,229,180,0.2);
  box-shadow:0 0 60px rgba(0,180,212,0.18), 0 20px 60px rgba(0,0,0,0.5);
}
.tank-container img { width:100%; display:block; filter:brightness(0.9) contrast(1.05); }
.tank-caption {
  position:absolute; bottom:0; left:0; right:0;
  background:linear-gradient(transparent, rgba(1,8,16,0.92));
  padding:2rem 1.5rem 1.2rem;
}
.tank-caption p {
  font-family:'Rajdhani',sans-serif; font-weight:600; font-size:0.82rem;
  letter-spacing:0.1em; text-transform:uppercase; color:var(--aqua);
}
.tank-status {
  display:inline-flex; align-items:center; gap:6px;
  font-family:'Rajdhani',sans-serif; font-size:0.78rem; font-weight:600;
  letter-spacing:0.1em; text-transform:uppercase;
  padding:4px 14px; border-radius:20px;
  background:rgba(0,229,180,0.08); border:1px solid rgba(0,229,180,0.2);
  color:var(--cyan);
}
.pulse { width:7px; height:7px; border-radius:50%; background:var(--cyan);
  box-shadow:0 0 8px var(--cyan); animation:pulse-dot 2s infinite; }
@keyframes pulse-dot { 0%,100%{opacity:1} 50%{opacity:0.4} }

/* ── DIVISORES ── */
.divider {
  position:relative; z-index:1; height:1px; margin:0 2rem;
  background:linear-gradient(90deg, transparent, rgba(0,229,180,0.25) 30%, rgba(0,229,180,0.25) 70%, transparent);
}
.divider-label {
  position:relative; z-index:1;
  text-align:center; padding:0.6rem 0;
  font-family:'Rajdhani',sans-serif; font-size:0.68rem; font-weight:600;
  letter-spacing:0.25em; text-transform:uppercase; color:rgba(0,229,180,0.4);
}

/* ── ENTRADAS DEL BLOG ── */
.blog-section {
  position:relative; z-index:1;
  max-width:1000px; margin:0 auto;
  padding:0 2rem 6rem;
}
.section-head { margin-bottom:2.5rem; }
.section-head h2 {
  font-family:'Orbitron',monospace; font-weight:700;
  font-size:clamp(1.2rem,3vw,1.8rem);
  color:var(--white); letter-spacing:0.02em;
  display:flex; align-items:center; gap:12px; margin-bottom:0.5rem;
}
.section-head h2 span { color:var(--cyan); }
.section-head p { font-size:0.92rem; color:var(--muted); line-height:1.7; max-width:520px; }

/* Grid de entradas */
.blog-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:1.2rem;
}
.blog-card {
  background:linear-gradient(160deg, rgba(5,5,15,0.9) 0%, rgba(0,0,0,0.9) 100%);
  border:1px solid rgba(0,229,180,0.1);
  border-radius:14px; padding:1.6rem;
  position:relative; overflow:hidden;
  transition:all 0.3s; text-decoration:none; display:block; color:inherit;
}
.blog-card::before {
  content:''; position:absolute; top:0; left:0; right:0;
  height:1px; background:linear-gradient(90deg, transparent, rgba(0,229,180,0.4), transparent);
  opacity:0; transition:opacity 0.3s;
}
.blog-card:hover { transform:translateY(-6px); border-color:rgba(0,229,180,0.3);
  box-shadow:0 16px 50px rgba(0,180,212,0.15); color:inherit; }
.blog-card:hover::before { opacity:1; }
.card-num {
  position:absolute; top:1rem; right:1.2rem;
  font-family:'Orbitron',monospace; font-weight:900;
  font-size:3rem; color:rgba(0,229,180,0.05); line-height:1; pointer-events:none;
}
.card-status {
  display:inline-flex; align-items:center; gap:5px;
  font-family:'Rajdhani',sans-serif; font-size:0.68rem; font-weight:700;
  letter-spacing:0.12em; text-transform:uppercase;
  padding:3px 10px; border-radius:10px; margin-bottom:0.9rem;
}
.s-done { background:rgba(0,230,118,0.1);color:#00e676;border:1px solid rgba(0,230,118,0.25); }
.s-live { background:rgba(0,229,180,0.1);color:var(--cyan);border:1px solid rgba(0,229,180,0.25); }
.s-next { background:rgba(255,171,64,0.1);color:#ffab40;border:1px solid rgba(255,171,64,0.2); }
.s-plan { background:rgba(90,138,168,0.1);color:var(--muted);border:1px solid rgba(90,138,168,0.2); }
.blog-card h3 {
  font-family:'Rajdhani',sans-serif; font-weight:700; font-size:1.05rem;
  color:var(--white); line-height:1.35; margin-bottom:0.55rem; padding-right:2.5rem;
}
.blog-card p { font-size:0.86rem; line-height:1.65; color:var(--muted); }
.card-meta {
  margin-top:1.1rem;
  font-family:'Rajdhani',sans-serif; font-size:0.7rem; font-weight:500;
  color:rgba(90,138,168,0.5); letter-spacing:0.07em; text-transform:uppercase;
}

/* ── ENTRADA INDIVIDUAL ── */
.entry-wrapper {
  max-width: 760px; margin: 0 auto; padding: 3rem 2rem 6rem;
  position: relative; z-index: 1;
}
.entry-header { margin-bottom: 2.5rem; }
.entry-back {
  display:inline-flex; align-items:center; gap:6px;
  font-family:'Rajdhani',sans-serif; font-size:0.78rem; font-weight:700;
  letter-spacing:0.1em; text-transform:uppercase;
  color:var(--muted); text-decoration:none;
  margin-bottom: 1.5rem; transition:color 0.2s;
}
.entry-back:hover { color:var(--cyan); }
.entry-header h1 {
  font-family:'Orbitron',monospace; font-weight:700;
  font-size:clamp(1.3rem,3.5vw,2rem);
  color:var(--white); line-height:1.25; margin-bottom:1rem;
}
.entry-meta {
  display:flex; align-items:center; gap:1rem; flex-wrap:wrap;
  font-family:'Rajdhani',sans-serif; font-size:0.78rem;
  color:var(--muted); letter-spacing:0.07em;
}
.entry-content {
  font-size:1rem; line-height:1.85; color:var(--text);
}
.entry-content h2 {
  font-family:'Orbitron',monospace; font-size:1.2rem; font-weight:700;
  color:var(--white); margin:2.5rem 0 1rem;
}
.entry-content h3 {
  font-family:'Rajdhani',sans-serif; font-size:1.1rem; font-weight:700;
  color:var(--cyan); margin:2rem 0 0.8rem;
}
.entry-content p { margin-bottom:1.2rem; }
.entry-content img {
  width:100%; border-radius:12px;
  border:1px solid rgba(0,229,180,0.15);
  box-shadow:0 0 40px rgba(0,180,212,0.1);
  margin:1.5rem 0;
}
.entry-content ul, .entry-content ol {
  padding-left:1.5rem; margin-bottom:1.2rem; color:var(--muted);
}
.entry-content li { margin-bottom:0.5rem; }
.entry-content strong { color:var(--white); font-weight:700; }
.entry-content a { color:var(--cyan); text-decoration:none; }
.entry-content a:hover { text-decoration:underline; }
.entry-content blockquote {
  border-left:3px solid var(--cyan);
  padding:1rem 1.5rem; margin:1.5rem 0;
  background:rgba(0,229,180,0.04);
  border-radius:0 8px 8px 0;
  color:var(--text-soft);
  font-style:italic;
}

/* ── TRACKER / CICLADO ── */
.tracker-page { max-width:960px; margin:0 auto; padding:3rem 2rem 6rem; position:relative; z-index:1; }
.tracker {
  background:linear-gradient(160deg, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.98) 100%);
  border:1px solid rgba(0,229,180,0.15); border-radius:18px;
  padding:2.2rem;
  box-shadow:0 0 80px rgba(0,180,212,0.06), inset 0 1px 0 rgba(0,229,180,0.1);
}
.tracker-top {
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem;
  margin-bottom:2rem; padding-bottom:1.4rem;
  border-bottom:1px solid rgba(0,229,180,0.08);
}
.tracker-title {
  font-family:'Orbitron',monospace; font-weight:700; font-size:1rem;
  color:var(--white); letter-spacing:0.03em;
}
.tracker-title span { color:var(--cyan); }
.day-badge {
  font-family:'Rajdhani',sans-serif; font-size:0.78rem; font-weight:700;
  letter-spacing:0.1em; text-transform:uppercase;
  padding:6px 18px; border-radius:20px;
  background:rgba(0,229,180,0.08); border:1px solid rgba(0,229,180,0.2); color:var(--cyan);
}
.params { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:0.9rem; margin-bottom:1.8rem; }
.p-card {
  background:rgba(7,31,56,0.5); border:1px solid rgba(0,229,180,0.1);
  border-radius:10px; padding:1rem 0.9rem; text-align:center;
  transition:border-color 0.2s; position:relative;
}
.p-card:hover { border-color:rgba(0,229,180,0.3); }
.p-dot { position:absolute; top:7px; right:8px; width:6px; height:6px; border-radius:50%; animation:pulse-dot 2s infinite; }
.dot-ok   { background:#00e676; box-shadow:0 0 6px #00e676; }
.dot-warn { background:#ffab40; box-shadow:0 0 6px #ffab40; }
.dot-bad  { background:#ff5252; box-shadow:0 0 6px #ff5252; }
.p-icon   { font-size:1.1rem; margin-bottom:0.35rem; display:block; }
.p-label  { font-family:'Rajdhani',sans-serif; font-size:0.65rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); display:block; margin-bottom:0.45rem; }
.p-val    { font-family:'Orbitron',monospace; font-size:1.45rem; font-weight:700; color:var(--cyan); line-height:1; display:block; margin-bottom:0.2rem; }
.p-card.warn .p-val { color:#ffab40; }
.p-card.danger .p-val { color:#ff5252; }
.p-unit   { font-family:'Rajdhani',sans-serif; font-size:0.68rem; color:var(--muted); opacity:0.6; }
.p-inp-row { display:flex; gap:4px; justify-content:center; margin-top:0.55rem; }
.p-inp {
  width:64px; background:rgba(0,229,180,0.06); border:1px solid rgba(0,229,180,0.18);
  border-radius:5px; color:var(--white); font-family:'Rajdhani',sans-serif;
  font-size:0.85rem; font-weight:600; padding:3px 6px; text-align:center; outline:none;
  transition:border-color 0.2s;
}
.p-inp:focus { border-color:var(--cyan); }
.p-btn {
  background:rgba(0,229,180,0.12); border:1px solid rgba(0,229,180,0.25);
  border-radius:5px; color:var(--cyan); font-family:'Rajdhani',sans-serif;
  font-size:0.7rem; font-weight:700; padding:3px 8px; cursor:pointer; transition:background 0.2s;
}
.p-btn:hover { background:rgba(0,229,180,0.25); }
.log-heading { font-family:'Rajdhani',sans-serif; font-size:0.75rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); margin-bottom:0.8rem; margin-top:0.3rem; }
.log-form { display:flex; flex-wrap:wrap; gap:0.55rem; align-items:center; margin-bottom:1.8rem; }
.l-inp {
  background:rgba(0,229,180,0.05); border:1px solid rgba(0,229,180,0.15);
  border-radius:7px; color:var(--white); font-family:'Rajdhani',sans-serif;
  font-size:0.82rem; font-weight:500; padding:7px 9px; text-align:center;
  outline:none; transition:border-color 0.2s; width:82px;
}
.l-inp.date { width:120px; }
.l-inp:focus { border-color:var(--cyan); }
.l-inp::placeholder { color:rgba(90,138,168,0.45); font-size:0.7rem; }
.btn-add {
  font-family:'Rajdhani',sans-serif; font-size:0.8rem; font-weight:700;
  letter-spacing:0.1em; text-transform:uppercase;
  padding:8px 22px; border-radius:20px; border:none; cursor:pointer;
  background:linear-gradient(135deg, var(--blue), var(--aqua));
  color:#fff; box-shadow:0 0 20px rgba(0,180,212,0.35); transition:all 0.2s;
}
.btn-add:hover { box-shadow:0 0 35px rgba(0,229,180,0.55); transform:translateY(-1px); }
.tbl-wrap { overflow-x:auto; }
.log-tbl { width:100%; border-collapse:collapse; font-family:'Rajdhani',sans-serif; font-size:0.82rem; }
.log-tbl th { text-align:left; padding:7px 10px; font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--cyan); border-bottom:1px solid rgba(0,229,180,0.15); font-weight:700; }
.log-tbl td { padding:8px 10px; color:var(--muted); border-bottom:1px solid rgba(0,229,180,0.05); }
.log-tbl tr:hover td { background:rgba(0,229,180,0.03); color:var(--text); }
.v-ok   { color:#00e676; font-weight:700; }
.v-warn { color:#ffab40; font-weight:700; }
.v-bad  { color:#ff5252; font-weight:700; }
.empty-row { text-align:center; opacity:0.35; padding:2rem !important; font-size:0.85rem; }

/* ── APP ACUAASSIST ── */
.app-hero {
  position:relative; z-index:1;
  background:linear-gradient(135deg, rgba(4,22,38,0.97) 0%, rgba(7,31,56,0.95) 50%, rgba(2,13,26,0.97) 100%);
  border-top:1px solid rgba(0,229,180,0.15); border-bottom:1px solid rgba(0,229,180,0.1);
  padding:4rem 2rem; text-align:center; overflow:hidden;
}
.app-hero h2 {
  font-family:'Orbitron',monospace; font-weight:900;
  font-size:clamp(1.6rem,4vw,2.6rem);
  color:#f0f8ff; letter-spacing:0.02em;
  text-shadow:0 0 40px rgba(0,229,180,0.25); margin-bottom:0.8rem;
}
.app-hero h2 span { color:#00e5b4; }
.app-hero p { font-family:'Lato',sans-serif; font-size:1rem; color:var(--muted); line-height:1.75; max-width:560px; margin:0 auto 1.8rem; }
.app-hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Rajdhani',sans-serif; font-size:0.72rem; font-weight:700;
  letter-spacing:0.2em; text-transform:uppercase;
  padding:5px 18px; border-radius:20px;
  background:rgba(0,229,180,0.08); border:1px solid rgba(0,229,180,0.2);
  color:var(--cyan); margin-bottom:1.2rem;
}
.app-feature-pills { display:flex; flex-wrap:wrap; justify-content:center; gap:0.6rem; margin-bottom:2rem; }
.app-pill {
  font-family:'Rajdhani',sans-serif; font-size:0.78rem; font-weight:600; letter-spacing:0.08em;
  padding:6px 16px; border-radius:20px;
  background:rgba(21,101,192,0.15); border:1px solid rgba(21,101,192,0.3);
  color:rgba(144,202,249,0.9);
}
.app-frame-wrap {
  max-width:1000px; margin:0 auto; padding:0 1.5rem 5rem;
}
.app-frame-border {
  border-radius:18px; overflow:hidden;
  border:1px solid rgba(0,229,180,0.2);
  box-shadow:0 0 80px rgba(0,180,212,0.1), 0 40px 80px rgba(0,0,0,0.5);
}
.app-frame-border iframe {
  width:100%; height:820px; border:none; display:block;
}
.app-note {
  font-family:'Rajdhani',sans-serif; font-size:0.72rem; letter-spacing:0.1em;
  text-align:center; margin-top:1rem; color:rgba(90,138,168,0.45);
}

/* ── SOBRE EL PROYECTO ── */
.about-section { max-width:900px; margin:0 auto; padding:0 2rem 5rem; position:relative; z-index:1; }
.about-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1.1rem; margin-top:1.8rem; }
.about-card { background:rgba(4,22,38,0.7); border:1px solid rgba(0,229,180,0.1); border-radius:12px; padding:1.4rem; }
.about-card h4 { font-family:'Rajdhani',sans-serif; font-weight:700; font-size:0.8rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--cyan); margin-bottom:0.8rem; }
.about-card ul { list-style:none; font-size:0.88rem; line-height:1.9; color:var(--muted); }
.about-card ul li::before { content:"▸ "; color:var(--cyan); opacity:0.6; }
.about-card .btn-yt {
  display:inline-flex; align-items:center; gap:6px; margin-top:0.8rem;
  font-family:'Rajdhani',sans-serif; font-weight:700; font-size:0.78rem;
  letter-spacing:0.1em; text-transform:uppercase;
  padding:7px 18px; border-radius:20px;
  background:linear-gradient(135deg, var(--blue), var(--aqua));
  color:#fff; text-decoration:none;
  box-shadow:0 0 16px rgba(0,180,212,0.3); transition:all 0.2s;
}
.about-card .btn-yt:hover { box-shadow:0 0 28px rgba(0,229,180,0.5); transform:translateY(-2px); }

/* ── FOOTER ── */
.site-footer {
  position:relative; z-index:1;
  border-top:1px solid rgba(0,229,180,0.08);
  text-align:center; padding:2.5rem 2rem;
  font-family:'Rajdhani',sans-serif; font-size:0.78rem; font-weight:500;
  color:var(--muted); letter-spacing:0.07em; opacity:0.6;
}
.site-footer a { color:var(--cyan); text-decoration:none; }

/* ── RESPONSIVE ── */
@media(max-width:680px) {
  .site-header { padding:0 1rem; }
  .main-navigation ul { gap:0; }
  .main-navigation ul li a { padding:6px 8px; font-size:0.72rem; }
  .params { grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); }
  .log-form { gap:0.4rem; }
  .l-inp { width:72px; }
  .app-frame-border iframe { height:650px; }
}

/* ── LOGO SHINE EFFECT ── */
.hero-logo-wrap {
  position: relative;
  display: inline-block;
}

/* Línea de brillo que pasa sobre el logo */
.hero-logo-img {
  position: relative;
  z-index: 1;
}

.shine-line {
  position: absolute;
  top: 0;
  left: -120%;
  width: 40%;
  height: 100%;
  background: linear-gradient(
    105deg,
    transparent 30%,
    rgba(0,229,180,0.12) 45%,
    rgba(255,255,255,0.28) 50%,
    rgba(0,229,180,0.12) 55%,
    transparent 70%
  );
  animation: shine 3.5s ease-in-out infinite;
  pointer-events: none;
  z-index: 2;
  border-radius: 50%;
}

@keyframes shine {
  0%   { left: -120%; opacity: 0; }
  8%   { opacity: 1; }
  55%  { left: 160%; opacity: 1; }
  56%  { opacity: 0; }
  100% { left: 160%; opacity: 0; }
}

/* ── NAVBAR TEXT LOGO ── */
.nav-text-logo {
  text-decoration: none;
  display: flex;
  align-items: center;
  line-height: 1;
}
.nav-logo-acuario {
  font-family: 'Orbitron', monospace;
  font-weight: 700;
  font-size: 1.6rem;
  color: #f0f8ff;
  letter-spacing: 0.02em;
  text-shadow: 0 0 20px rgba(255,255,255,0.3);
}
.nav-logo-lab {
  font-family: 'Orbitron', monospace;
  font-weight: 900;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  background: linear-gradient(135deg, #0a9b82, #00e5b4);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: none;
  filter: drop-shadow(0 0 8px rgba(0,229,180,0.6));
}
