/* NebulaCloud: diseño editorial, solo entradas normales. */
article.single-post {
  --nc-navy:#102f43;--nc-deep:#0a2233;--nc-copy:#536373;--nc-muted:#7b8996;
  --nc-pink:#d63f86;--nc-pink-soft:#fff0f7;--nc-cyan:#20bfd0;--nc-cyan-soft:#eafafd;--nc-line:#dce8ee;
  position:relative;overflow:hidden;border:1px solid rgba(16,47,67,.08);border-radius:22px;
  background:#fff;box-shadow:0 18px 55px rgba(10,34,51,.09)
}
article.single-post .post-thumbnail {
  position:relative;width:100%;height:clamp(250px,26vw,360px);max-height:none;overflow:hidden;background:var(--nc-deep)
}
article.single-post .post-thumbnail::after {
  position:absolute;inset:auto 0 0;height:36%;content:"";pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(5,25,38,.26))
}
article.single-post .post-thumbnail img {
  display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:none
}
article.single-post .post-content {padding:44px 56px 54px}
article.single-post .post-category {
  display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 19px;padding:7px 13px;
  border:1px solid rgba(214,63,134,.18);border-radius:999px;background:var(--nc-pink-soft);color:var(--nc-pink);
  font-size:11px;font-weight:700;line-height:1.2;letter-spacing:.065em;text-transform:uppercase
}
article.single-post .post-category a {color:inherit;text-decoration:none}
article.single-post .entry-title {
  max-width:820px;margin:0;color:var(--nc-deep);font-size:clamp(34px,3.1vw,46px);font-weight:650;
  line-height:1.1;letter-spacing:-.035em;text-wrap:balance
}
article.single-post .entry-meta {
  display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;margin:24px 0 38px;padding:13px 16px;
  border:1px solid var(--nc-line);border-radius:13px;background:#f8fbfc;color:var(--nc-muted);
  font-size:13px;line-height:1.35
}
article.single-post .entry-meta span {margin:0}
article.single-post .entry-meta i {margin-right:7px;color:var(--nc-pink)}
article.single-post .entry-content {
  max-width:790px;margin-inline:auto;color:var(--nc-copy);font-size:17px;line-height:1.78;overflow-wrap:anywhere
}
article.single-post .entry-content>p:first-child {color:#374b5c;font-size:19px;line-height:1.7}
article.single-post .entry-content p {margin:0 0 1.45em}
article.single-post .entry-content h2,
article.single-post .entry-content h3,
article.single-post .entry-content h4 {
  color:var(--nc-navy);font-weight:700;letter-spacing:-.025em;text-wrap:balance
}
article.single-post .entry-content h2 {
  position:relative;margin:2.15em 0 .72em;padding-left:22px;font-size:clamp(27px,2.35vw,33px);line-height:1.22
}
article.single-post .entry-content h2::before {
  position:absolute;top:.28em;left:0;width:7px;height:.72em;border-radius:999px;content:"";
  background:linear-gradient(180deg,var(--nc-cyan),var(--nc-pink))
}
article.single-post .entry-content h3 {margin:1.8em 0 .62em;font-size:clamp(22px,1.8vw,26px);line-height:1.28}
article.single-post .entry-content h4 {margin:1.55em 0 .55em;font-size:19px;line-height:1.35}
article.single-post .entry-content a:not(.nc-aven-promo__card):not(.nc-aven-promo__brand-link) {
  color:#bd2f72;text-decoration-color:rgba(189,47,114,.3);text-decoration-thickness:1.5px;
  text-underline-offset:3px;transition:color .2s ease,text-decoration-color .2s ease
}
article.single-post .entry-content a:hover {color:var(--nc-navy);text-decoration-color:var(--nc-cyan)}
article.single-post .entry-content ul,
article.single-post .entry-content ol {margin:.6em 0 1.6em;padding-left:1.35em}
article.single-post .entry-content li {margin:.48em 0;padding-left:.22em}
article.single-post .entry-content li::marker {color:var(--nc-pink);font-weight:700}
article.single-post .entry-content figure,
article.single-post .entry-content>img,
article.single-post .entry-content p>img:only-child {margin-top:2em;margin-bottom:2em}
article.single-post .entry-content img {
  max-width:100%;height:auto;border-radius:16px;box-shadow:0 13px 36px rgba(10,34,51,.12)
}
article.single-post .entry-content figcaption {
  margin-top:10px;color:var(--nc-muted);font-size:13px;line-height:1.5;text-align:center
}
article.single-post .entry-content blockquote {
  margin:2em 0;padding:24px 26px 24px 30px;border:1px solid rgba(32,191,208,.24);
  border-left:5px solid var(--nc-cyan);border-radius:0 16px 16px 0;
  background:linear-gradient(135deg,var(--nc-cyan-soft),#fff7fb);color:#314958;font-size:18px;font-style:normal;line-height:1.7
}
article.single-post .entry-content blockquote p:last-child {margin-bottom:0}
article.single-post .entry-content pre {
  max-width:100%;margin:1.55em 0 2em;padding:20px 22px;overflow-x:auto;border:1px solid rgba(255,255,255,.08);
  border-radius:14px;background:#0b2030!important;box-shadow:0 12px 28px rgba(7,25,37,.15);
  color:#e7f8fb;font-size:14px;line-height:1.65;scrollbar-color:var(--nc-cyan) #102d40
}
article.single-post .entry-content pre code {color:inherit;white-space:pre}
article.single-post .entry-content :not(pre)>code {
  padding:.18em .42em;border:1px solid #d8e7ec;border-radius:6px;background:#f1f7f9;color:#a92866;font-size:.9em
}
article.single-post .entry-content table {
  width:100%;margin:2em 0;overflow:hidden;border:1px solid var(--nc-line);border-collapse:separate;border-spacing:0;
  border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(10,34,51,.06)
}
article.single-post .entry-content th,
article.single-post .entry-content td {
  padding:13px 15px;border:0;border-bottom:1px solid var(--nc-line);text-align:left;vertical-align:top
}
article.single-post .entry-content th {background:var(--nc-navy);color:#fff;font-size:14px}
article.single-post .entry-content tr:last-child td {border-bottom:0}
article.single-post .entry-content hr {margin:2.4em 0;border:0;border-top:1px solid var(--nc-line)}
article.single-post .ib-toc {
  margin:2.1em 0;overflow:hidden;border:1px solid rgba(214,63,134,.18);border-radius:16px;
  background:linear-gradient(135deg,#fff8fb,#f4fbfd);box-shadow:none
}
article.single-post .ib-toc-header {
  border-bottom:1px solid rgba(214,63,134,.14);color:var(--nc-navy);font-weight:700
}
article.single-post .ib-toc-anchors {margin:0;padding:20px 26px 22px 48px}
article.single-post .ib-toc-anchors li {margin:.42em 0}
article.single-post .nc-aven-promo {
  max-width:none;margin:2.25em -6px;border-radius:18px;box-shadow:0 16px 36px rgba(10,34,51,.1)
}
.comments-section {
  border:1px solid rgba(16,47,67,.08);border-radius:20px;box-shadow:0 14px 40px rgba(10,34,51,.07)
}
@media (max-width:968px) {
  .main-container {padding:16px}
  .content-wrapper {gap:24px}
  article.single-post .post-content {padding:38px 36px 46px}
  article.single-post .entry-content {max-width:100%}
}
@media (max-width:640px) {
  .top-header.item23 {min-height:300px;height:300px}
  .top-header.item23 .container,.top-header.item23 .row,.top-header.item23 .col-lg-12 {height:100%}
  .top-header.item23 .wrapper {padding-top:118px}
  .top-header.item23 .heading {font-size:36px;line-height:1.12}
  .top-header.item23 .subheading {max-width:330px;font-size:17px;line-height:1.55}
  .main-container {padding:12px 10px}
  article.single-post {border-radius:18px;box-shadow:0 10px 32px rgba(10,34,51,.08)}
  article.single-post .post-thumbnail {height:190px}
  article.single-post .post-content {padding:28px 20px 36px}
  article.single-post .post-category {margin-bottom:16px;padding:6px 11px;font-size:10px}
  article.single-post .entry-title {font-size:29px;line-height:1.13;letter-spacing:-.028em}
  article.single-post .entry-meta {gap:8px 14px;margin:20px 0 30px;padding:11px 13px;font-size:12px}
  article.single-post .entry-meta span {display:inline-flex;margin:0}
  article.single-post .entry-content,
  article.single-post .entry-content>p:first-child {font-size:16px;line-height:1.72}
  article.single-post .entry-content h2 {margin-top:1.85em;padding-left:18px;font-size:25px;line-height:1.25}
  article.single-post .entry-content h2::before {width:6px}
  article.single-post .entry-content h3 {font-size:21px}
  article.single-post .entry-content blockquote {padding:20px 18px 20px 21px;font-size:16px}
  article.single-post .entry-content pre {margin-right:-8px;margin-left:-8px;padding:17px;border-radius:12px;font-size:13px}
  article.single-post .entry-content table {display:block;overflow-x:auto;white-space:nowrap}
  article.single-post .ib-toc-anchors {padding:17px 20px 19px 38px}
  article.single-post .nc-aven-promo {margin-right:-6px;margin-left:-6px}
}
@media (prefers-reduced-motion:reduce) {
  article.single-post *,article.single-post *::before,article.single-post *::after {
    scroll-behavior:auto!important;transition-duration:.01ms!important
  }
}

/* Compatibilidad con estilos globales de Gutenberg y bloques de código. */
article.single-post .entry-content h2 {
  color:var(--nc-navy)!important;font-size:clamp(27px,2.35vw,33px)!important;
  font-weight:700!important;line-height:1.22!important
}
article.single-post .entry-content h3 {
  color:var(--nc-navy)!important;font-size:clamp(22px,1.8vw,26px)!important;
  font-weight:700!important;line-height:1.28!important
}
article.single-post .entry-content h4 {color:var(--nc-navy)!important;font-weight:700!important}
article.single-post .entry-content .wp-block-kevinbatdorf-code-block-pro pre {
  margin:1.55em 0 2em!important;padding:20px 22px!important;
  border:1px solid rgba(255,255,255,.08)!important;border-radius:14px!important;
  background:#0b2030!important;box-shadow:0 12px 28px rgba(7,25,37,.15)!important;
  color:#e7f8fb!important;font-size:14px!important;line-height:1.65!important
}
@media (max-width:640px) {
  article.single-post .entry-content h2 {font-size:25px!important;line-height:1.25!important}
  article.single-post .entry-content h3 {font-size:21px!important}
  article.single-post .entry-content .wp-block-kevinbatdorf-code-block-pro pre {
    margin-right:-8px!important;margin-left:-8px!important;padding:17px!important;font-size:13px!important
  }
}

@media (max-width:640px) {
  .top-header.item23 {
    height:300px!important;min-height:300px!important;padding:140px 0 38px!important
  }
  .top-header.item23 .wrapper {padding-top:0!important}
}

/* Terminal unificado para Code Block Pro. */
article.single-post .entry-content .wp-block-kevinbatdorf-code-block-pro {
  position:relative!important;
  isolation:isolate;
  margin:1.7em 0 2em!important;
  overflow:hidden!important;
  border:1px solid #17384c!important;
  border-radius:16px!important;
  background:#0b2030!important;
  box-shadow:0 16px 34px rgba(7,25,37,.16)!important;
  font-size:15px!important;
}

article.single-post .entry-content .wp-block-kevinbatdorf-code-block-pro::before {
  position:absolute;
  z-index:2;
  top:14px;
  left:88px;
  content:"Terminal";
  color:#92a5b2;
  font-family:Raleway,sans-serif;
  font-size:10px;
  font-weight:700;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
  pointer-events:none;
}

article.single-post .entry-content .wp-block-kevinbatdorf-code-block-pro > span:first-child {
  box-sizing:border-box!important;
  width:100%!important;
  height:43px!important;
  margin:0!important;
  padding:14px 0 0 18px!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  background:linear-gradient(180deg,#182c3b,#122736)!important;
}

article.single-post .entry-content .wp-block-kevinbatdorf-code-block-pro > span:first-child svg {
  display:block;
}

article.single-post .entry-content .wp-block-kevinbatdorf-code-block-pro .code-block-pro-copy-button {
  position:absolute!important;
  z-index:3!important;
  top:5px!important;
  right:7px!important;
  display:grid!important;
  width:34px!important;
  height:34px!important;
  padding:6px!important;
  place-items:center;
  border:1px solid transparent!important;
  border-radius:9px!important;
  color:#8da0ad!important;
  cursor:pointer;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}

article.single-post .entry-content .wp-block-kevinbatdorf-code-block-pro .code-block-pro-copy-button:hover,
article.single-post .entry-content .wp-block-kevinbatdorf-code-block-pro .code-block-pro-copy-button:focus-visible {
  border-color:rgba(32,191,208,.28)!important;
  background:rgba(32,191,208,.12)!important;
  color:#dffbff!important;
  outline:none;
}

article.single-post .entry-content .wp-block-kevinbatdorf-code-block-pro .code-block-pro-copy-button:active {
  transform:scale(.94);
}

article.single-post .entry-content .wp-block-kevinbatdorf-code-block-pro pre {
  min-height:0!important;
  margin:0!important;
  padding:20px 23px 21px!important;
  border:0!important;
  border-radius:0!important;
  background:#0b2030!important;
  box-shadow:none!important;
  color:#e7f8fb!important;
  font-size:15px!important;
  line-height:1.65!important;
}

article.single-post .entry-content .wp-block-kevinbatdorf-code-block-pro pre code {
  display:block;
  min-width:max-content;
  padding:0!important;
  line-height:inherit!important;
}

@media (max-width:640px) {
  article.single-post .entry-content .wp-block-kevinbatdorf-code-block-pro {
    margin:1.45em -8px 1.8em!important;
    border-radius:13px!important;
    font-size:13px!important;
  }

  article.single-post .entry-content .wp-block-kevinbatdorf-code-block-pro::before {
    top:13px;
    left:82px;
    font-size:9px;
  }

  article.single-post .entry-content .wp-block-kevinbatdorf-code-block-pro > span:first-child {
    height:41px!important;
    padding:13px 0 0 15px!important;
  }

  article.single-post .entry-content .wp-block-kevinbatdorf-code-block-pro .code-block-pro-copy-button {
    top:4px!important;
    right:5px!important;
    width:33px!important;
    height:33px!important;
  }

  article.single-post .entry-content .wp-block-kevinbatdorf-code-block-pro pre {
    margin:0!important;
    padding:18px 18px 19px!important;
    font-size:13px!important;
  }
}

/* Indicador de H2 anclado a la primera línea, compatible con Gutenberg. */
article.single-post .entry-content h2 {
  padding-left:22px!important;
  background-image:linear-gradient(180deg,var(--nc-cyan),var(--nc-pink))!important;
  background-repeat:no-repeat!important;
  background-position:left .28em!important;
  background-size:7px .74em!important;
}

article.single-post .entry-content h2::before {
  display:none!important;
  content:none!important;
}

@media (max-width:640px) {
  article.single-post .entry-content h2 {
    padding-left:18px!important;
    background-position:left .3em!important;
    background-size:6px .74em!important;
  }
}

/* El contenido antiguo incluye <br> vacíos al principio de algunos H2. */
article.single-post .entry-content h2 > br:first-child {
  display:none!important;
}
