/* ═══════════════════════════════════════════════════════
   FormateRD — CSS Adicional — Versión completa
   ═══════════════════════════════════════════════════════ */

:root {
  --frd-blue:     #1e3a8a;
  --frd-blue-l:   #3b82f6;
  --frd-red:      #ef4444;
  --frd-dark:     #0a1628;
  --frd-off:      #f8faff;
  --frd-border:   #e8ecf4;
  --r-card:       20px;
  --shadow-card:  0 4px 24px rgba(0,0,0,0.07);
  --shadow-hover: 0 20px 48px rgba(30,58,138,0.15);
}

/* ══════════════════════════════════════════════════════
   DROPDOWN MENÚ — Desktop
   ══════════════════════════════════════════════════════ */
.header__menu li.menu-item-has-children { position: relative; }

.header__menu li.menu-item-has-children > a {
  padding-right: 28px !important;
  position: relative;
}

.header__menu li.menu-item-has-children > a::after {
  content: '▾';
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.9rem;
  opacity: 1;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease;
}

.header__menu li.menu-item-has-children.is-open > a::after {
  transform: translateY(-50%) rotate(180deg);
}

.header__menu li .sub-menu {
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  background: #0d1f3c;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 14px;
  min-width: 220px;
  padding: 8px;
  box-shadow: 0 16px 40px rgba(0,0,0,0.5);
  z-index: 9999;
  list-style: none;
  margin: 0;
}

.header__menu li.menu-item-has-children.is-open > .sub-menu {
  display: block;
  animation: dropdownFade 0.18s ease;
}

@keyframes dropdownFade {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.header__menu li .sub-menu li { list-style: none; margin: 0; }

.header__menu li .sub-menu li a {
  display: block;
  padding: 12px 20px !important;
  color: rgba(255,255,255,0.8) !important;
  font-size: 0.95rem !important;
  font-weight: 500;
  border-radius: 8px;
  transition: background 0.2s, color 0.2s;
  text-decoration: none;
}

.header__menu li .sub-menu li a:hover {
  background: rgba(255,255,255,0.08);
  color: #ffffff !important;
}

/* ══════════════════════════════════════════════════════
   DROPDOWN MENÚ — Mobile (Drawer)
   El truco: el <a> no navega, solo abre el submenu.
   El submenu tiene sus propios links para navegar.
   ══════════════════════════════════════════════════════ */
.header__drawer .menu-item-has-children > a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding-right: 1rem !important;
  cursor: pointer !important;
}

.header__drawer .menu-item-has-children > a::after {
  content: '▾' !important;
  font-size: 1.3rem !important;
  opacity: 1 !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
  transition: transform 0.25s ease !important;
  line-height: 1 !important;
}

.header__drawer .menu-item-has-children.is-open > a::after {
  transform: rotate(180deg) !important;
}

.header__drawer .sub-menu {
  display: none !important;
  list-style: none !important;
  padding: 6px 0 10px 1rem !important;
  margin: 4px 0 0 !important;
  border-left: 2px solid rgba(255,255,255,0.2) !important;
}

.header__drawer .menu-item-has-children.is-open > .sub-menu {
  display: block !important;
  animation: drawerSubFade 0.2s ease !important;
}

@keyframes drawerSubFade {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

.header__drawer .sub-menu li { list-style: none !important; margin: 0 !important; }

.header__drawer .sub-menu li a {
  display: block !important;
  padding: 10px 0 !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,0.8) !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

.header__drawer .sub-menu li a:hover {
  color: #ffffff !important;
}

/* ══════════════════════════════════════════════════════
   COMENTARIOS — Diseño limpio y moderno
   ══════════════════════════════════════════════════════ */
.comments-area {
  max-width: 800px;
  margin: 3rem auto 0;
  padding: 2rem 0;
  border-top: 2px solid var(--frd-border);
}

.comments-title {
  font-size: 1.3rem !important;
  font-weight: 800 !important;
  color: #0a1628 !important;
  margin-bottom: 1.5rem !important;
  letter-spacing: -0.02em !important;
  display: flex;
  align-items: center;
  gap: 8px;
}

.comments-title::before {
  content: '💬';
  font-size: 1.1rem;
}

/* Lista de comentarios */
.comment-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 2rem !important;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.comment-list .children {
  list-style: none !important;
  padding: 0 0 0 2rem !important;
  margin: 1rem 0 0 !important;
  border-left: 2px solid var(--frd-border);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* Cada comentario */
.comment {
  background: #ffffff;
  border: 1px solid var(--frd-border);
  border-radius: 16px;
  padding: 1.25rem 1.5rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  transition: box-shadow 0.2s;
}

.comment:hover {
  box-shadow: 0 4px 16px rgba(30,58,138,0.08);
}

/* Header del comentario */
.comment-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 0.75rem;
}

.comment-author {
  display: flex;
  align-items: center;
  gap: 10px;
}

.comment-author img.avatar {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  border: 2px solid var(--frd-border) !important;
  flex-shrink: 0;
}

.comment-author .fn {
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: #0a1628 !important;
  text-decoration: none !important;
}

.comment-author .fn a {
  color: var(--frd-blue) !important;
  text-decoration: none !important;
}

.comment-metadata {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
}

.comment-metadata a {
  font-size: 0.72rem !important;
  color: #a0aec0 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}

.comment-metadata a:hover {
  color: var(--frd-blue) !important;
}

/* Contenido del comentario */
.comment-content {
  font-size: 0.925rem !important;
  color: #374151 !important;
  line-height: 1.75 !important;
}

.comment-content p {
  margin: 0 0 0.75rem !important;
}

.comment-content p:last-child {
  margin-bottom: 0 !important;
}

/* Botón responder */
.reply {
  margin-top: 0.75rem;
}

.comment-reply-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  color: var(--frd-blue) !important;
  text-decoration: none !important;
  padding: 5px 12px !important;
  border-radius: 100px !important;
  border: 1px solid rgba(30,58,138,0.2) !important;
  transition: background 0.2s, color 0.2s !important;
}

.comment-reply-link:hover {
  background: var(--frd-blue) !important;
  color: #ffffff !important;
}

.comment-reply-link::before {
  content: '↩';
}

/* Comentario en espera de moderación */
.comment-awaiting-moderation {
  display: inline-block;
  font-size: 0.72rem;
  color: #d97706;
  background: #fef3c7;
  border: 1px solid #fde68a;
  padding: 3px 10px;
  border-radius: 100px;
  margin-left: 8px;
  font-weight: 600;
}

/* ── Formulario de comentarios ── */
#respond {
  background: #ffffff;
  border: 1px solid var(--frd-border);
  border-radius: 20px;
  padding: 2rem;
  box-shadow: var(--shadow-card);
  margin-top: 2rem;
}

#reply-title {
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: #0a1628 !important;
  margin-bottom: 1.5rem !important;
  letter-spacing: -0.02em !important;
}

#reply-title small {
  font-size: 0.8rem;
  font-weight: 500;
  color: #a0aec0;
  margin-left: 8px;
}

#reply-title small a {
  color: var(--frd-red) !important;
  text-decoration: none !important;
  font-weight: 700;
}

/* Campos del formulario */
.comment-form-comment label,
.comment-form-author label,
.comment-form-email label,
.comment-form-url label {
  display: block !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  color: #374151 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin-bottom: 6px !important;
}

.comment-form-comment textarea,
.comment-form-author input,
.comment-form-email input,
.comment-form-url input {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1.5px solid var(--frd-border) !important;
  border-radius: 10px !important;
  font-size: 0.925rem !important;
  font-family: inherit !important;
  color: #0d1117 !important;
  background: #f8faff !important;
  outline: none !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
  box-sizing: border-box !important;
}

.comment-form-comment textarea:focus,
.comment-form-author input:focus,
.comment-form-email input:focus,
.comment-form-url input:focus {
  border-color: var(--frd-blue) !important;
  box-shadow: 0 0 0 3px rgba(30,58,138,0.1) !important;
  background: #ffffff !important;
}

.comment-form-comment textarea {
  min-height: 130px !important;
  resize: vertical !important;
}

/* Layout del formulario — 2 columnas para nombre y email */
.comment-form .comment-form-author,
.comment-form .comment-form-email {
  display: inline-block;
  width: calc(50% - 8px);
}

.comment-form .comment-form-author { margin-right: 16px; }

.comment-form .comment-form-url { width: 100%; }

/* Botón enviar */
.form-submit .submit {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 12px 28px !important;
  background: var(--frd-blue) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  font-family: inherit !important;
  cursor: pointer !important;
  transition: background 0.2s, transform 0.15s, box-shadow 0.2s !important;
  box-shadow: 0 4px 14px rgba(30,58,138,0.3) !important;
  margin-top: 0.5rem !important;
}

.form-submit .submit:hover {
  background: #1d4ed8 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(30,58,138,0.35) !important;
}

/* Nota de cookies / privacidad */
.comment-form .comment-notes,
.comment-form-cookies-consent {
  font-size: 0.78rem !important;
  color: #a0aec0 !important;
  line-height: 1.6 !important;
  margin-bottom: 1rem !important;
}

.comment-form-cookies-consent {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.comment-form-cookies-consent input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  accent-color: var(--frd-blue) !important;
}

/* No hay comentarios */
.no-comments {
  text-align: center;
  padding: 2rem;
  color: #a0aec0;
  font-size: 0.9rem;
  background: #f8faff;
  border-radius: 14px;
  border: 1px dashed var(--frd-border);
}

/* Paginación de comentarios */
.comment-navigation {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0;
  border-top: 1px solid var(--frd-border);
  margin-top: 1.5rem;
}

.comment-navigation a {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--frd-blue);
  text-decoration: none;
  padding: 8px 16px;
  border: 1px solid rgba(30,58,138,0.2);
  border-radius: 100px;
  transition: background 0.2s;
}

.comment-navigation a:hover {
  background: var(--frd-blue);
  color: #ffffff;
}

/* Responsive comentarios */
@media (max-width: 768px) {
  .comment-form .comment-form-author,
  .comment-form .comment-form-email {
    display: block;
    width: 100%;
    margin-right: 0;
  }
  .comment-list .children {
    padding-left: 1rem !important;
  }
  .comments-area {
    padding: 1.5rem 0;
  }
}

/* ── Espaciado ── */
.section { padding-block: 5rem !important; }
.section-head__title { font-size: clamp(2rem,4vw,3.2rem) !important; line-height:1.1 !important; letter-spacing:-0.025em !important; }
.section-head__desc  { font-size: 1.05rem !important; line-height: 1.7 !important; }
.section-head        { margin-bottom: 3rem !important; }
.section-head--split { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-bottom:2.5rem !important; }

/* ══════════════════════════════════════════════════════
   HERO
   ══════════════════════════════════════════════════════ */
.hero__bg-orb--3 { position:absolute; bottom:-120px; left:-80px; width:350px; height:350px; border-radius:50%; background:radial-gradient(circle,rgba(59,130,246,0.12),transparent 70%); pointer-events:none; }
.hero__particles { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; }
.hero__particle { position:absolute; left:calc(var(--x)*1%); top:calc(var(--y)*1%); width:calc(var(--s)*1px); height:calc(var(--s)*1px); border-radius:50%; background:rgba(59,130,246,0.5); animation:particleFloat calc(var(--d)*1s) calc(var(--delay)*-1s) ease-in-out infinite alternate; }
@keyframes particleFloat { 0%{transform:translateY(0) scale(1);opacity:0.3} 100%{transform:translateY(-18px) scale(1.4);opacity:0.8} }
.hero__label--anim   { animation: fadeSlideUp 0.6s 0.1s both; }
.hero__tl--1         { animation: fadeSlideUp 0.7s 0.25s both; }
.hero__tl--2         { animation: fadeSlideUp 0.7s 0.4s both; }
.hero__sub--anim     { animation: fadeSlideUp 0.6s 0.55s both; }
.hero__nl--anim      { animation: fadeSlideUp 0.6s 0.7s both; }
.hero__actions--anim { animation: fadeSlideUp 0.5s 0.85s both; }
.hero__trust--anim   { animation: fadeSlideUp 0.5s 1s both; }
@keyframes fadeSlideUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
.hero__nl-privacy { font-size:0.72rem; color:rgba(255,255,255,0.45); margin:0; }
.hero__nl-msg { padding:10px 14px; border-radius:10px; font-size:0.82rem; font-weight:600; margin-top:4px; }
.hero__nl-msg--ok  { background:rgba(5,150,105,0.15); border:1px solid rgba(5,150,105,0.3); color:#34d399; }
.hero__nl-msg--err { background:rgba(239,68,68,0.12); border:1px solid rgba(239,68,68,0.3); color:#fca5a5; }
.ev3-light { animation:blink 1.8s ease-in-out infinite; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.2} }
.ev3-eye { animation:eyeGlow 2.5s ease-in-out infinite alternate; }
@keyframes eyeGlow { 0%{fill:#00d4ff;filter:drop-shadow(0 0 3px #00d4ff)} 100%{fill:#60efff;filter:drop-shadow(0 0 8px #60efff)} }
.ev3-antenna  { animation:antennaBlink 1.2s ease-in-out infinite alternate; }
.ev3-antenna2 { animation:antennaBlink 1.7s ease-in-out infinite alternate; }
@keyframes antennaBlink { 0%{opacity:1} 100%{opacity:0.3} }
@keyframes robotFloat { 0%,100%{transform:translateY(0) rotate(0deg)} 50%{transform:translateY(-14px) rotate(2deg)} }

/* ══════════════════════════════════════════════════════
   PUBLICACIONES
   ══════════════════════════════════════════════════════ */
.editorial-section { background:#ffffff; }
.editorial-grid { display:grid; grid-template-columns:1.6fr 1fr; gap:1.5rem; align-items:start; }
.editorial-card--hero { background:#ffffff; border-radius:var(--r-card); overflow:hidden; border:1px solid var(--frd-border); box-shadow:var(--shadow-card); transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.3s; }
.editorial-card--hero:hover { transform:translateY(-6px); box-shadow:var(--shadow-hover); }
.editorial-card__thumb { position:relative; aspect-ratio:16/9; overflow:hidden; background:linear-gradient(135deg,var(--frd-blue),var(--frd-blue-l)); }
.editorial-card__thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.5s; }
.editorial-card--hero:hover .editorial-card__thumb img { transform:scale(1.04); }
.editorial-card__overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,0.35),transparent 60%); }
.editorial-card__cat { position:absolute; top:14px; left:14px; background:var(--frd-blue); color:#fff; font-size:0.68rem; font-weight:800; letter-spacing:0.08em; text-transform:uppercase; padding:4px 12px; border-radius:100px; }
.editorial-card__cat--sm { font-size:0.62rem; padding:3px 10px; }
.editorial-card__no-thumb { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:3rem; min-height:220px; }
.editorial-card__no-thumb--sm { min-height:120px; font-size:2rem; }
.editorial-card__body { padding:1.6rem; }
.editorial-card__body--sm { padding:1rem 1.25rem; }
.editorial-card__title { font-size:1.2rem; font-weight:800; letter-spacing:-0.025em; line-height:1.25; color:#050810; margin-bottom:0.6rem; }
.editorial-card__title--sm { font-size:0.95rem; margin-bottom:0.4rem; }
.editorial-card__title a { color:inherit; text-decoration:none; transition:color 0.2s; }
.editorial-card__title a:hover { color:var(--frd-blue); }
.editorial-card__excerpt { font-size:0.9rem; color:#718096; line-height:1.65; margin-bottom:1rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.editorial-card__meta { display:flex; align-items:center; gap:0.4rem; font-size:0.72rem; font-weight:600; color:#a0aec0; margin-bottom:1rem; }
.editorial-card__dot { opacity:0.4; }
.editorial-card__btn { display:inline-flex; align-items:center; gap:6px; font-size:0.85rem; font-weight:700; color:var(--frd-blue); text-decoration:none; transition:gap 0.2s,color 0.2s; }
.editorial-card__btn:hover { gap:10px; color:#1d4ed8; }
.editorial-stack { display:flex; flex-direction:column; gap:1.25rem; }
.editorial-card--sm { background:#ffffff; border-radius:16px; overflow:hidden; border:1px solid var(--frd-border); display:grid; grid-template-columns:130px 1fr; box-shadow:var(--shadow-card); transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.3s; }
.editorial-card--sm:hover { transform:translateY(-4px); box-shadow:var(--shadow-hover); }
.editorial-card__thumb--sm { height:120px; width:130px; aspect-ratio:unset; }
.editorial-card__thumb--sm img { height:100%; }
.editorial-section__all { white-space:nowrap; }
.editorial-stack--5 { display:flex; flex-direction:column; gap:0.75rem; overflow-y:auto; max-height:640px; }
.editorial-stack--5 .editorial-card--sm { display:grid; grid-template-columns:100px 1fr; border-radius:12px; min-height:unset; }
.editorial-stack--5 .editorial-card__thumb--sm { height:80px; width:100px; border-radius:12px 0 0 12px; overflow:hidden; flex-shrink:0; }
.editorial-stack--5 .editorial-card__body--sm { padding:0.7rem 0.9rem; display:flex; flex-direction:column; justify-content:center; gap:0.2rem; }
.editorial-stack--5 .editorial-card__title--sm { font-size:0.82rem; margin:0; line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.editorial-stack--5 .editorial-card__meta { font-size:0.68rem; color:#a0aec0; margin-top:2px; }

/* ══════════════════════════════════════════════════════
   ESTADÍSTICAS
   ══════════════════════════════════════════════════════ */
.stats-strip { position:relative; padding:4rem 0; overflow:hidden; }
.stats-strip__bg { position:absolute; inset:0; background:linear-gradient(135deg,#0a1628 0%,#1e3a8a 50%,#0f172a 100%); }
.stats-strip__bg::before { content:''; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
.stats-strip__grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; }
.stats-strip__item { text-align:center; padding:1.5rem 1rem; border-right:1px solid rgba(255,255,255,0.1); }
.stats-strip__item:last-child { border-right:none; }
.stats-strip__icon { font-size:2rem; margin-bottom:0.75rem; }
.stats-strip__number { font-size:clamp(2rem,4vw,3rem); font-weight:900; color:#ffffff; letter-spacing:-0.04em; line-height:1; margin-bottom:0.5rem; display:flex; align-items:baseline; justify-content:center; gap:2px; }
.stats-counter { display:inline-block; }
.stats-strip__label { font-size:0.825rem; font-weight:600; color:rgba(255,255,255,0.6); letter-spacing:0.04em; }

/* ══════════════════════════════════════════════════════
   DOCENTE
   ══════════════════════════════════════════════════════ */
.teacher__timeline { display:flex; flex-direction:column; gap:0; margin:1.5rem 0 2rem; border-left:2px solid #e8f0fe; padding-left:0; }
.teacher__timeline-item { display:flex; align-items:flex-start; gap:14px; padding:0 0 1.25rem 1.5rem; position:relative; }
.teacher__timeline-item::before { content:''; position:absolute; left:-5px; top:10px; width:8px; height:8px; border-radius:50%; background:var(--frd-blue); border:2px solid #ffffff; box-shadow:0 0 0 2px var(--frd-blue); }
.teacher__timeline-dot { width:40px; height:40px; border-radius:10px; background:linear-gradient(135deg,var(--frd-blue),var(--frd-blue-l)); display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; box-shadow:0 3px 10px rgba(30,58,138,0.2); }
.teacher__timeline-text { font-size:0.9rem; font-weight:600; color:#2d3748; line-height:1.5; padding-top:8px; margin:0; }

/* ══════════════════════════════════════════════════════
   CONTACTO
   ══════════════════════════════════════════════════════ */
.contact-v2 { background:var(--frd-off); }
.contact-v2__grid { display:grid; grid-template-columns:1fr 1.4fr; gap:3rem; align-items:start; }
.contact-v2__map { border-radius:20px; overflow:hidden; box-shadow:var(--shadow-card); border:1px solid var(--frd-border); margin-bottom:1.5rem; }
.contact-v2__rd-map { width:100%; display:block; }
.contact-v2__details { display:flex; flex-direction:column; gap:1rem; }
.contact-v2__detail { display:flex; align-items:center; gap:12px; padding:1rem 1.25rem; background:#ffffff; border:1px solid var(--frd-border); border-radius:14px; box-shadow:0 2px 8px rgba(0,0,0,0.04); }
.contact-v2__detail-icon { font-size:1.4rem; flex-shrink:0; }
.contact-v2__detail-label { font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:#a0aec0; margin-bottom:2px; }
.contact-v2__detail-val { font-size:0.9rem; font-weight:600; color:#0d1117; }
.contact-v2__form { background:#ffffff; border:1px solid var(--frd-border); border-radius:20px; padding:2rem; box-shadow:var(--shadow-card); }

/* ══════════════════════════════════════════════════════
   POST HERO — SIDEBAR
   ══════════════════════════════════════════════════════ */
.post-hero--clean { background:#0a1628; padding-top:calc(72px + 2rem)!important; padding-bottom:2.5rem!important; min-height:0!important; position:relative; overflow:hidden; }
.post-hero--clean::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 70% 80% at 50% 0%,rgba(30,58,138,0.4),transparent 70%); pointer-events:none; }
.post-hero--clean .container { position:relative; z-index:1; }
.post-hero--clean .post-hero__title { color:#ffffff; font-size:clamp(1.8rem,4vw,3rem); letter-spacing:-0.025em; line-height:1.1; max-width:20ch; margin-bottom:1.25rem; }
.post-hero--clean .post-hero__meta { color:rgba(255,255,255,0.6); display:flex; align-items:center; gap:0.6rem; flex-wrap:wrap; font-size:0.9rem; }
.post-hero--clean .post-hero__author { display:flex; align-items:center; gap:0.5rem; }
.post-hero--clean .post-hero__author span { color:rgba(255,255,255,0.85); font-weight:600; }
.post-hero--clean .post-hero__author-avatar { border:2px solid rgba(255,255,255,0.25); border-radius:50%; }
.post-hero--clean .post-hero__meta-sep { opacity:0.35; }
.post-hero--clean .post-hero__cats { margin-bottom:1rem; display:flex; gap:8px; flex-wrap:wrap; }
.prose p:first-of-type::first-letter,.post-content p:first-of-type::first-letter { font-size:inherit!important; float:none!important; color:inherit!important; font-weight:inherit!important; font-family:inherit!important; line-height:inherit!important; margin:0!important; }
.post-sidebar { display:flex; flex-direction:column; gap:1.25rem; position:sticky; top:calc(72px + 1.5rem); }
.post-sidebar__widget { background:#ffffff; border:1px solid var(--frd-border); border-radius:16px; padding:1.25rem; box-shadow:0 2px 16px rgba(0,0,0,0.06); }
.post-sidebar__widget-header { display:flex; align-items:center; gap:8px; margin-bottom:1rem; padding-bottom:0.75rem; border-bottom:2px solid #f0f4ff; }
.post-sidebar__widget-icon { font-size:1rem; }
.post-sidebar__widget-title { font-size:0.72rem!important; font-weight:800!important; text-transform:uppercase!important; letter-spacing:0.1em!important; color:#0a1628!important; margin:0!important; }
.post-sidebar__widget--search { padding:1rem; }
.post-sidebar__search-wrap { display:flex; align-items:center; background:#f4f6fb; border:1.5px solid #e2e8f4; border-radius:100px; overflow:hidden; transition:border-color 0.2s,box-shadow 0.2s; }
.post-sidebar__search-wrap:focus-within { border-color:var(--frd-blue); box-shadow:0 0 0 3px rgba(30,58,138,0.1); }
.post-sidebar__search-input { flex:1; border:none; background:transparent; padding:10px 16px; font-size:0.875rem; color:#0d1117; outline:none; font-family:inherit; }
.post-sidebar__search-input::placeholder { color:#a0aec0; }
.post-sidebar__search-btn { display:flex; align-items:center; justify-content:center; width:40px; height:40px; background:var(--frd-blue); color:#ffffff; border:none; cursor:pointer; flex-shrink:0; transition:background 0.2s; border-radius:0 100px 100px 0; }
.post-sidebar__search-btn:hover { background:#1d4ed8; }
.post-sidebar__apps,.post-sidebar__cats,.post-sidebar__recent { display:flex; flex-direction:column; gap:2px; }
.post-sidebar__app-item,.post-sidebar__cat-item,.post-sidebar__recent-item { display:flex; align-items:center; gap:0.75rem; padding:0.6rem 0.5rem; border-radius:10px; text-decoration:none; transition:background 0.2s,transform 0.15s; }
.post-sidebar__app-item:hover,.post-sidebar__cat-item:hover,.post-sidebar__recent-item:hover { background:#f0f4ff; transform:translateX(3px); }
.post-sidebar__app-icon { width:38px; height:38px; border-radius:10px; background:linear-gradient(135deg,var(--frd-blue),var(--frd-blue-l)); display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; box-shadow:0 3px 8px rgba(30,58,138,0.2); }
.post-sidebar__app-info { display:flex; flex-direction:column; gap:2px; }
.post-sidebar__app-name { font-size:0.85rem; font-weight:700; color:#0d1117; line-height:1.3; }
.post-sidebar__app-cta { font-size:0.7rem; font-weight:600; color:#1d4ed8; }
.post-sidebar__cat-icon { font-size:1rem; width:22px; text-align:center; flex-shrink:0; }
.post-sidebar__cat-name { font-size:0.875rem; font-weight:600; color:#2d3748; flex:1; }
.post-sidebar__cat-count { font-size:0.68rem; font-weight:800; background:#e8f0fe; color:var(--frd-blue); border-radius:100px; padding:2px 9px; min-width:22px; text-align:center; }
.post-sidebar__recent-thumb { width:52px; height:52px; border-radius:10px; overflow:hidden; flex-shrink:0; background:linear-gradient(135deg,var(--frd-blue),var(--frd-blue-l)); }
.post-sidebar__recent-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.post-sidebar__recent-fallback { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:1.3rem; }
.post-sidebar__recent-info { display:flex; flex-direction:column; gap:3px; flex:1; min-width:0; }
.post-sidebar__recent-title { font-size:0.82rem; font-weight:700; color:#0d1117; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.post-sidebar__recent-date { font-size:0.7rem; color:#a0aec0; font-weight:500; }
.post-sidebar__cta-banner { background:linear-gradient(135deg,#0f1f40 0%,var(--frd-blue) 100%); border-radius:16px; padding:1.5rem 1.25rem; text-align:center; overflow:hidden; box-shadow:0 8px 24px rgba(30,58,138,0.25); }
.post-sidebar__cta-title { font-size:0.95rem!important; font-weight:800!important; color:#ffffff!important; margin:0 0 0.4rem!important; line-height:1.3!important; }
.post-sidebar__cta-desc { font-size:0.78rem; color:rgba(255,255,255,0.65); line-height:1.55; margin-bottom:1rem; }
.post-sidebar__cta-btn { display:inline-flex; align-items:center; gap:6px; background:var(--frd-red); color:#ffffff!important; text-decoration:none; padding:10px 20px; border-radius:100px; font-size:0.82rem; font-weight:700; transition:background 0.2s,transform 0.15s; box-shadow:0 4px 14px rgba(239,68,68,0.35); }
.post-sidebar__cta-btn:hover { background:#dc2626; transform:translateY(-2px); }

/* ══════════════════════════════════════════════════════
   APP STORE GRID
   ══════════════════════════════════════════════════════ */
.appstore-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:8px; margin-top:1.5rem; }
.appstore-grid > div { transition:opacity 0.15s; }
.appstore-grid > div.hidden { display:none; }
.appstore-card { display:flex; align-items:center; gap:12px; padding:12px 14px; background:#ffffff; border:1px solid #eef0f5; border-radius:14px; text-decoration:none; transition:background 0.18s,box-shadow 0.18s,transform 0.18s; box-shadow:0 1px 4px rgba(0,0,0,0.05); }
.appstore-card:hover { background:#f8faff; box-shadow:0 6px 20px rgba(30,58,138,0.1); transform:translateY(-3px); border-color:rgba(30,58,138,0.15); }
.appstore-card__icon { width:42px; height:42px; border-radius:10px; overflow:hidden; flex-shrink:0; background:#f4f6fb; display:flex; align-items:center; justify-content:center; }
.appstore-card__img { width:42px; height:42px; object-fit:cover; display:block; border-radius:10px; }
.appstore-card__info { display:flex; flex-direction:column; gap:2px; min-width:0; flex:1; }
.appstore-card__name { font-size:0.85rem; font-weight:700; color:#0d1117; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.appstore-card__desc { font-size:0.72rem; color:#94a3b8; font-weight:500; line-height:1.3; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.appstore-card__desc--empty { color:#cbd5e1; font-style:italic; }
.appstore-card__domain { display:none !important; }

/* ══════════════════════════════════════════════════════
   HERO — Ajustes visuales
   ══════════════════════════════════════════════════════ */
.site-header, header.site-header, #masthead { padding-top:14px !important; padding-bottom:14px !important; margin-top:0 !important; }
.hero__image { mix-blend-mode:lighten; border-radius:0 !important; background:transparent !important; }
.hero__image-frame { background:transparent !important; border-radius:0 !important; overflow:visible !important; }
.hero__visual-nl { background:transparent !important; border:none !important; border-radius:0 !important; backdrop-filter:none !important; padding:0 0 1rem 0 !important; }
.hero__visual-nl__title { font-size:0.8rem; font-weight:700; color:rgba(255,255,255,0.6); margin:0 0 0.65rem; letter-spacing:0.04em; text-transform:uppercase; }
.hero__vnl-fields { background:#ffffff; border-radius:12px; padding:5px; box-shadow:0 8px 32px rgba(0,0,0,0.25),0 2px 8px rgba(0,0,0,0.15); border:none !important; display:flex; gap:6px; }
.hero__vnl-input { background:transparent; border:none; padding:10px 14px; font-size:0.875rem; color:#0d1117; outline:none; font-family:inherit; flex:1; min-width:0; border-right:1px solid #e8ecf4; }
.hero__vnl-input:last-of-type { border-right:none; }
.hero__vnl-input::placeholder { color:#a0aec0; font-size:0.85rem; }
.hero__vnl-btn { padding:10px 18px; background:#ef4444; color:#fff; border:none; border-radius:9px; font-size:0.82rem; font-weight:700; cursor:pointer; white-space:nowrap; flex-shrink:0; font-family:inherit; transition:background 0.2s,transform 0.15s,box-shadow 0.2s; box-shadow:0 4px 14px rgba(239,68,68,0.4); }
.hero__vnl-btn:hover { background:#dc2626; transform:translateY(-1px); }
.hero__vnl-privacy { font-size:0.7rem; color:rgba(255,255,255,0.38); margin:0.5rem 0 0; }
.hero__float { display:none !important; }
.hero__robot { display:none !important; }
.hero__robot-badge { display:none !important; }
.hero__blob { display:none !important; }
.hero__visual { background:transparent !important; position:relative; display:flex !important; flex-direction:column !important; min-height:640px !important; overflow:visible !important; justify-content:flex-start !important; }
.hero { padding-top:0 !important; margin-top:0 !important; }
.hero__grid { align-items:flex-start !important; padding-top:1.5rem !important; }
.hero__globe { position:absolute !important; top:50% !important; left:50% !important; transform:translate(-50%,-50%) !important; width:700px !important; height:700px !important; z-index:0 !important; pointer-events:none !important; }
.hero__globe-svg { width:100% !important; height:100% !important; animation:globeSpin 28s linear infinite; }
@keyframes globeSpin { 0%{transform:rotate(0deg)} 100%{transform:rotate(360deg)} }
.hero__image-frame { position:relative !important; z-index:2 !important; flex:1; display:flex; align-items:flex-end; justify-content:center; }
.hero__visual-nl { position:relative !important; z-index:3 !important; }
.hero__image { mix-blend-mode:lighten !important; width:100% !important; max-width:680px !important; height:auto !important; display:block !important; }
.hero__badge-wrap, .hero__label--anim { margin-top:2.5rem !important; margin-bottom:1.25rem !important; }
.hero__actions--anim .btn--primary, .hero__actions .btn--primary { background:#ef4444 !important; color:#ffffff !important; border:none !important; }
.hero__visual-nl { margin-top:3rem !important; margin-bottom:1rem !important; }
.hero__trust { margin-top:1.5rem !important; padding-top:1.25rem !important; border-top:1px solid rgba(255,255,255,0.1) !important; }
.hero__actions--anim { margin-top:1.25rem !important; margin-bottom:0.5rem !important; }
.hero__robot-mascot { position:relative !important; left:150px !important; display:flex !important; justify-content:flex-start !important; margin-top:2.5rem !important; margin-bottom:0.25rem !important; z-index:auto !important; animation:robotFloat 3.5s ease-in-out infinite; filter:drop-shadow(0 8px 20px rgba(0,0,0,0.45)); }
.hero__badge-wrap { display:none !important; }
.hero__robot-top  { display:none !important; }
.hero__label      { display:none !important; }
.hero__content { position:static !important; }
.hero__title { margin-top:0 !important; }
.hero__image { mix-blend-mode:luminosity !important; filter:contrast(1.05) brightness(1.05) !important; height:100% !important; object-fit:cover !important; object-position:top center !important; max-height:650px !important; width:auto !important; max-width:100% !important; }
.hero__image-frame { align-items:flex-start !important; overflow:hidden !important; max-height:650px !important; }

/* ── Redes sociales Hero ── */
.hero__social { position:relative; z-index:3; padding:1rem 0.5rem 0.5rem; text-align:center; }
.hero__social-label { display:block; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:rgba(255,255,255,0.4); margin-bottom:0.65rem; }
.hero__social-links { display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; }
.hero__social-link { display:inline-flex; align-items:center; gap:6px; padding:7px 14px; border-radius:100px; font-size:0.75rem; font-weight:700; text-decoration:none; color:#ffffff; transition:transform 0.2s,opacity 0.2s,box-shadow 0.2s; opacity:0.8; backdrop-filter:blur(8px); }
.hero__social-link:hover { opacity:1; transform:translateY(-3px); }
.hero__social-link--fb { background:rgba(24,119,242,0.25); border:1px solid rgba(24,119,242,0.4); }
.hero__social-link--fb:hover { box-shadow:0 6px 20px rgba(24,119,242,0.35); }
.hero__social-link--ig { background:rgba(225,48,108,0.25); border:1px solid rgba(225,48,108,0.4); }
.hero__social-link--ig:hover { box-shadow:0 6px 20px rgba(225,48,108,0.35); }
.hero__social-link--yt { background:rgba(255,0,0,0.2); border:1px solid rgba(255,0,0,0.35); }
.hero__social-link--yt:hover { box-shadow:0 6px 20px rgba(255,0,0,0.3); }
.hero__social-link--tt { background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.2); }
.hero__social-link--tt:hover { box-shadow:0 6px 20px rgba(255,255,255,0.15); }

/* ── Buscador apps ── */
.apps__search-wrap { display:flex !important; align-items:center !important; gap:12px !important; background:#ffffff !important; border:2px solid #e8ecf4 !important; border-radius:16px !important; padding:14px 20px !important; box-shadow:0 4px 20px rgba(0,0,0,0.06) !important; max-width:640px !important; margin:0 auto 1.5rem !important; width:100% !important; }
.apps__search-wrap:focus-within { border-color:#1e3a8a !important; box-shadow:0 4px 20px rgba(30,58,138,0.12) !important; }
.apps__search-input { flex:1 !important; border:none !important; background:transparent !important; font-size:1rem !important; color:#0d1117 !important; outline:none !important; font-family:inherit !important; width:100% !important; }
#aplicaciones.apps.section { padding-top:3rem !important; }

/* ══════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════ */
@media (max-width:1200px) { .appstore-grid { grid-template-columns:repeat(4,1fr); } }
@media (max-width:1100px) {
  .stats-strip__grid { grid-template-columns:repeat(2,1fr); }
  .stats-strip__item { border-right:none; border-bottom:1px solid rgba(255,255,255,0.08); }
  .stats-strip__item:nth-child(2n) { border-bottom:none; }
}
@media (max-width:900px) {
  .editorial-grid { grid-template-columns:1fr; }
  .editorial-stack { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
  .editorial-card--sm { grid-template-columns:1fr; }
  .editorial-card__thumb--sm { width:100%; height:160px; }
  .contact-v2__grid { grid-template-columns:1fr; }
  .editorial-stack--5 { max-height:unset; }
  .editorial-stack--5 .editorial-card--sm { grid-template-columns:80px 1fr; }
  .editorial-stack--5 .editorial-card__thumb--sm { width:80px; height:70px; }
  .header__menu li .sub-menu { left:auto; right:0; }
}
@media (max-width:768px) {
  .appstore-grid { grid-template-columns:repeat(2,1fr); gap:6px; }
  .editorial-stack { grid-template-columns:1fr; }
  .post-sidebar { position:static; margin-top:2.5rem; }
  .stats-strip__grid { grid-template-columns:repeat(2,1fr); }
  .hero__vnl-fields { flex-direction:column; }
  .hero__vnl-input { border-right:none; border-bottom:1px solid #e8ecf4; }
  .hero__vnl-btn { width:100%; justify-content:center; text-align:center; }
}
@media (max-width:480px) {
  .appstore-grid { grid-template-columns:repeat(2,1fr); }
  .stats-strip__grid { grid-template-columns:1fr 1fr; }
}
