/*
 * Tema «Coder» de Sitio: adaptación de los estilos de Coder, un tema de Hugo.
 *
 *   Origen:     https://github.com/luizdepra/hugo-coder
 *   Versión:    commit 58d956f41c056a12e15d5b6ee27c54fc98cd6e49 (18 de junio de 2026)
 *   Cambios:    Reescrito a partir de su SCSS (assets/scss) para el HTML de Sitio, que no usa
 *               las clases de las plantillas de Hugo. El color de los enlaces es el del negocio
 *               (con el contraste de Sitio) en lugar de su azul, y el gris del texto aparte
 *               se deja igual que el texto. No se incluyen sus plantillas, su JavaScript ni
 *               las fuentes de Font Awesome: los iconos son los de Feather y Simple Icons.
 *
 * Licencia de Coder, que acompaña a esta adaptación (MIT):
 *
 * The MIT License (MIT)
 *
 * Copyright (c) 2018 Luiz F. A. de Prá
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy of
 * this software and associated documentation files (the "Software"), to deal in
 * the Software without restriction, including without limitation the rights to
 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
 * the Software, and to permit persons to whom the Software is furnished to do so,
 * subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 *
 * Los iconos (en el HTML que genera Sitio, no en este fichero) vienen de Feather Icons (el calendario,
 * el reloj, GitHub y el correo) y de Simple Icons (Mastodon y Bluesky, CC0), tal como los recoge PaperMod.
 * Aviso de Feather Icons, que también va con esta adaptación:
 *
 *   The MIT License (MIT)
 *   Copyright (c) 2013-2023 Cole Bemis
 *   Permission is hereby granted, free of charge, to any person obtaining a copy of this
 *   software and associated documentation files (the "Software"), to deal in the Software
 *   without restriction, including without limitation the rights to use, copy, modify, merge,
 *   publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
 *   to whom the Software is furnished to do so, subject to the following conditions: The above
 *   copyright notice and this permission notice shall be included in all copies or substantial
 *   portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 *   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
 *   FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 *   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
 *   CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 *   USE OR OTHER DEALINGS IN THE SOFTWARE.
 */

/* Variables de Coder (assets/scss/_variables.scss), con los nombres de site.css */
body.th-coder {
  --bg: #fafafa; --surface: #fafafa; --ink: #212121; --muted: #212121; --line: #e0e0e0;
  --tint: #e0e0e0; --alt-fg: #000000; --code-bg: #cccccc;
  --radius: 6px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, sans-serif;
  font-size: 18px; line-height: 1.8; font-weight: 400;
  min-height: 100vh; display: flex; flex-direction: column;
}
@media (prefers-color-scheme: dark) {
  body.th-coder { --bg: #212121; --surface: #212121; --ink: #dadada; --muted: #dadada; --line: #424242; --tint: #424242; --alt-fg: #dadada; --code-bg: #4f4f4f; }
}
html[data-theme="dark"] body.th-coder { --bg: #212121; --surface: #212121; --ink: #dadada; --muted: #dadada; --line: #424242; --tint: #424242; --alt-fg: #dadada; --code-bg: #4f4f4f; --link: var(--link-dark); color-scheme: dark; }
html[data-theme="light"] body.th-coder { --bg: #fafafa; --surface: #fafafa; --ink: #212121; --muted: #212121; --line: #e0e0e0; --tint: #e0e0e0; --alt-fg: #000000; --code-bg: #cccccc; --link: var(--link-light); color-scheme: light; }
@media (max-width: 768px) { body.th-coder { font-size: 16px; line-height: 1.6; } }

/* Base (_base.scss) */
.th-coder a { font-weight: 500; transition: all 0.25s ease-in; }
.th-coder a:hover, .th-coder a:focus { text-decoration: underline; }
.th-coder h1, .th-coder h2, .th-coder h3 { font-weight: 600; color: var(--alt-fg); margin: 40px 0 25px; letter-spacing: 0; }
.th-coder h1 { font-size: 32px; line-height: 36px; }
.th-coder h2 { font-size: 28px; line-height: 32px; }
.th-coder h3 { font-size: 24px; line-height: 28px; }
.th-coder p { margin: 20px 0; }
.th-coder strong { font-weight: 700; }
.th-coder code { font-family: "SF Mono", Consolas, "Liberation Mono", Menlo, monospace; font-size: 16px; padding: 3px 6px; border-radius: 6px; background: var(--code-bg); color: var(--ink); }
.th-coder blockquote { margin: 18px 0 18px 40px; border-left: 2px solid var(--line); padding-left: 20px; line-height: 22px; font-style: italic; }
@media (max-width: 768px) {
  .th-coder h1 { font-size: 30px; line-height: 34px; } .th-coder h2 { font-size: 26px; line-height: 30px; } .th-coder h3 { font-size: 22px; line-height: 26px; }
  .th-coder p { margin: 15px 0; }
}

/* Cabecera (_navigation.scss): el nombre en mayúsculas a la izquierda y el menú a la derecha */
.th-coder .topbar { background: transparent; border: 0; position: static; }
.th-coder .topbar-in { max-width: 900px; padding: 0 20px; margin: 10px auto 0; height: 60px; flex-wrap: nowrap; gap: 0; }
.th-coder .site-brand { font-size: 17px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(--ink); }
.th-coder .site-brand:hover { text-decoration: none; color: var(--link); }
.th-coder .topbar .avatar { display: none; }
.th-coder .site-nav { gap: 0; font-size: 17px; }
.th-coder .site-nav a { padding: 0; margin: 0 10px; border-radius: 0; font-weight: 600; color: var(--ink); background: none; }
.th-coder .site-nav a:last-child { margin-right: 0; }
.th-coder .site-nav a:hover, .th-coder .site-nav a[aria-current="page"] { background: none; color: var(--link); text-decoration: none; }
/* El botón de claro y oscuro, como el cuadrado gris fijo de abajo a la derecha (_float.scss) */
.th-coder .theme-toggle { position: fixed; bottom: 20px; right: 20px; z-index: 100; width: 30px; height: 30px; padding: 0; display: grid; place-items: center; background: var(--tint); color: var(--alt-fg); border: 0; border-radius: 2px; opacity: 0.5; cursor: pointer; transition: all 0.25s ease-in; }
.th-coder .theme-toggle svg { width: 18px; height: 18px; }
.th-coder .theme-toggle:hover { color: var(--link); opacity: 1; }
html[data-theme="dark"] .th-coder .moon, html[data-theme="light"] .th-coder .sun { display: none; }

/* Contenido (_content.scss) */
.th-coder .wrap { flex: 1; width: 100%; max-width: 900px; margin: 10px auto; padding: 0 20px; display: flex; flex-direction: column; }
.th-coder main { flex: 1; margin-top: 16px; margin-bottom: 32px; }
.th-coder main > h1, .th-coder main > .h-entry .p-name { font-size: 42px; line-height: 46px; margin: 64px 0 32px; }
.th-coder main > .h-entry .p-name { margin-bottom: 0.75em; }
@media (max-width: 768px) { .th-coder main > h1, .th-coder main > .h-entry .p-name { font-size: 40px; line-height: 44px; } }
.th-coder .prose, .th-coder .e-content { font-size: 18px; }
.th-coder main > .h-entry .e-content p, .th-coder .prose p { text-align: justify; hyphens: auto; }
.th-coder .prose ul, .th-coder .prose ol { margin: 20px 0; padding-left: 40px; }
.th-coder .prose hr { margin: 32px 0; border: 0; border-top: 2px solid var(--line); }
.th-coder .meta { font-size: 18px; color: var(--ink); margin: 0; }
.th-coder .meta a { color: var(--ink); text-decoration: none; font-weight: 400; }
.th-coder .meta a:hover { color: var(--link); text-decoration: underline; }
.th-coder .meta.with-icons .meta-icon { width: 16px; height: 16px; margin: 0 5px 0 0; vertical-align: -2px; }
.th-coder .meta.with-icons .when { margin-right: 15px; }

/* La presentación centrada (.centered .about) */
.th-coder .person { min-height: 70vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 0; margin: 0; }
/* Coder solo enseña la foto si hay una; las iniciales no se enseñan */
.th-coder .person .avatar { display: none; }
.th-coder .person h1 { margin: 20px 0 5px; font-size: 32px; line-height: 36px; }
.th-coder .person .kicker { font-size: 24px; font-weight: 600; font-style: normal; color: var(--alt-fg); margin: 10px 0 5px; line-height: 1.3; }
.th-coder .person .lead { font-size: 18px; max-width: 36rem; }
.th-coder .person .place { color: var(--ink); font-size: 16px; }
.th-coder .person .links { display: block; margin: 30px 0 10px; padding: 0; }
.th-coder .person .links a { display: inline-block; margin: 0 10px; padding: 0; border: 0; background: none; color: var(--ink); text-transform: uppercase; font-size: 16px; }
.th-coder .person .links a:hover { color: var(--link); text-decoration: none; background: none; }
.th-coder .person .links .social-icon { width: 18px; height: 18px; vertical-align: -3px; }

/* Listas (.list): fecha a la izquierda, título a la derecha */
.th-coder .h-feed > h2, .th-coder .item-list > h2 { border: 0; padding: 0; }
/* En una página que ya tiene su título, el de la lista no se repite */
.th-coder main > h1 ~ .h-feed > h2:first-child { display: none; }
.th-coder .h-feed, .th-coder .item-list { margin: 32px 0; }
@media (min-width: 768.1px) {
  .th-coder .h-feed > .entry, .th-coder .item-list > .item { display: flex; align-items: baseline; padding: 0; border: 0; margin: 0; }
  .th-coder .h-feed > .entry > .meta { flex: none; width: 230px; text-align: right; margin-right: 30px; }
  .th-coder .h-feed > .entry > :not(.meta) { flex: 2; margin: 0; }
}
.th-coder .h-feed > .entry { padding: 0; border: 0; }
.th-coder .h-feed > .entry .p-name { font-size: 18px; line-height: 1.8; font-weight: 700; margin: 0; }
.th-coder .h-feed > .entry .p-name a { color: var(--ink); }
.th-coder .h-feed > .entry .p-name a:hover { color: var(--link); text-decoration: none; }
.th-coder .h-feed > .entry .p-summary, .th-coder .h-feed > .entry .more { display: none; }
.th-coder .h-feed > .entry .e-content p { margin: 0; }
.th-coder .item { padding: 8px 0; border: 0; }
.th-coder .item-badge { background: var(--tint); color: var(--ink); border-radius: 6px; }
.th-coder .cite.bookmark { border-color: var(--line); }

/* Pie (_footer.scss) */
.th-coder .foot { margin: 0 0 10px; padding: 0; border: 0; text-align: center; font-size: 16px; line-height: 20px; color: var(--ink); }
.th-coder .foot a { color: var(--link); }
.th-coder .foot p { margin: 8px 0; }
.th-coder .webring { background: var(--tint); }

/* Webs de negocio: Coder no tiene botones ni tarjetas; se hacen planos, como el resto del tema */
.th-coder .btn { color: var(--on-accent); border-radius: 2px; min-height: 0; padding: 2px 18px; font-size: 16px; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; text-decoration: none; }
.th-coder .btn.ghost { color: var(--link); background: none; border-color: var(--link); }
.th-coder .btn.ghost:hover { background: var(--tint); }
.th-coder .avatar { color: var(--on-accent); }
.th-coder .hero, .th-coder .pro-hero { display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 60vh; margin: 0; padding: 0; background: none; text-align: center; }
.th-coder .hero .avatar, .th-coder .pro-hero .avatar { display: none; }
.th-coder .hero-text { display: flex; flex-direction: column; align-items: center; }
.th-coder .hero h1, .th-coder .pro-hero h1 { order: 1; margin: 20px 0 5px; font-size: 32px; line-height: 36px; }
.th-coder .hero .kicker, .th-coder .pro-hero .kicker { order: 2; margin: 10px 0 5px; font-size: 24px; font-weight: 600; line-height: 1.3; color: var(--alt-fg); }
.th-coder .hero .lead, .th-coder .pro-hero .lead { order: 3; max-width: 36rem; }
.th-coder .pro-hero > *:not(h1):not(.kicker):not(.actions) { order: 3; }
.th-coder .actions { order: 4; justify-content: center; margin: 24px 0 0; }
.th-coder .card { background: none; border: 0; border-top: 2px solid var(--line); border-radius: 0; padding: 20px 0 0; margin-top: 32px; box-shadow: none; }
.th-coder .info .card { margin-top: 0; }
.th-coder .card h2 { margin: 0 0 8px; font-size: 20px; line-height: 28px; font-weight: 600; color: var(--alt-fg); }
.th-coder .join { background: none; }
.th-coder .hours .note, .th-coder .area { color: var(--ink); }
