/*
Theme Name: Borgia 26
Theme URI: https://hotelborgia.com/blog/
Author: Hotel Borgia / DC Hoteles
Author URI: https://hotelborgia.com/
Description: Theme de bloques (Full Site Editing) para el blog de Hotel Borgia. Sistema editorial-swiss alineado con la web Borgia26: una sola superfamilia (IBM Plex Sans + Mono), grises cálidos stone sobre fondo crudo, un único acento rojo Borgia, sin radios ni sombras.
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 7.4
Version: 1.3.8
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: borgia26
Tags: blog, full-site-editing, block-patterns, editor-style, one-column, custom-colors, editorial
*/

/* ============================================================
   Design tokens — fuente de verdad: Borgia26 (site-source/DESIGN.md)
   ============================================================ */
:root {
  color-scheme: light;
  --bg:          #FAFAF9;
  --bg-2:        #F5F5F4;
  --ink:         #1C1917;
  --ink-2:       #57534E;
  --muted:       #78716C;
  --hair:        #1C19171A;
  --hair-strong: #1C191733;
  --accent:      #C8102E;
  --on-accent:   #FAFAF9;

  --sans: "IBM Plex Sans", "Hanken Grotesk", "Barlow", system-ui, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, monospace;

  --fs-display:    clamp(36px, 2.0rem + 2.4vw, 60px);
  --fs-headline:   clamp(26px, 1.5rem + 1.5vw, 38px);
  --fs-list-title: clamp(24px, 1.4rem + 1.1vw, 32px);
  --fs-subtitle:   clamp(17px, 1.0rem + 0.6vw, 21px);
  --fs-serif-md:   clamp(16px, 0.95rem + 0.4vw, 19px);
  --fs-body:       clamp(13px, 0.85rem + 0.35vw, 16px);
  --fs-body-sm:    clamp(12px, 0.8rem + 0.25vw, 14px);
  --fs-small:      clamp(10px, 0.65rem + 0.15vw, 12px);
  --fs-micro:      clamp(9px, 0.6rem + 0.1vw, 11px);

  --sp-xs: 6px;
  --sp-sm: 14px;
  --sp-md: 24px;
  --sp-lg: 40px;
  --sp-xl: 64px;

  --container: 1280px;
  --measure: 78ch;
  --pad-x: 48px;
  --ease: cubic-bezier(.2, .7, .2, 1);
  --media-saturation: .92;
  --media-outline: rgba(0, 0, 0, .1);
}

html[data-theme="dark"] {
  color-scheme: dark;
  --bg:          #141414;
  --bg-2:        #1C1C1C;
  --ink:         #FAFAF9;
  --ink-2:       #D6D3D1;
  --muted:       #A8A29E;
  --hair:        #FAFAF91F;
  --hair-strong: #FAFAF93D;
  --accent:      #F05268;
  --on-accent:   #141414;
  --search-bg:          #1F1F1F;
  --search-border:      #2C2C2C;
  --search-placeholder: #737373;
  --search-control:     #858585;
  --search-action:      #626262;
  --search-action-ink:  #1C1C1C;
  --media-saturation: .82;
  --media-outline: rgba(255, 255, 255, .1);
}
html[data-theme="dark"] .wp-block-search__inside-wrapper {
  background: var(--search-bg);
  border-color: var(--search-border);
}
html[data-theme="dark"] .wp-block-search__input {
  background: transparent;
  color: var(--ink);
}
html[data-theme="dark"] .wp-block-search__input::placeholder {
  color: var(--search-placeholder);
  opacity: 1;
}
html[data-theme="dark"] .wp-block-search__button {
  border-color: var(--search-action);
  background: var(--search-action);
  color: var(--search-action-ink);
}

/* ============================================================
   Base
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  background: var(--bg);
  color: var(--ink);
  font-family: var(--sans);
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }

/* Cielo de la portada: réplica CSS del fondo de Grokipedia. El marcado vive
   solo en index.html y permanece oculto en modo claro. */
html[data-theme="dark"] body.home .borgia-stars {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
html[data-theme="dark"] body.home > .wp-site-blocks {
  position: relative;
  z-index: 1;
}
.borgia-star {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: var(--size);
  height: var(--size);
  background: var(--star-color);
  clip-path: polygon(50% 0%, 65% 35%, 100% 50%, 65% 65%, 50% 100%, 35% 65%, 0% 50%, 35% 35%);
  opacity: .3;
  transform: scale(.8);
  animation: borgia26-twinkle var(--duration) ease-in-out var(--delay) infinite;
}
@keyframes borgia26-twinkle {
  0%, 100% { opacity: .3; transform: scale(.8); }
  50% { opacity: 1; transform: scale(1.2); }
}

@media (prefers-reduced-motion: reduce) {
  .borgia-star {
    animation: none;
    opacity: .7;
    transform: scale(1);
  }
}

/* Contenedor central (1280) con gutters; lo aplica cada <main>/<header>/<footer> */
.site-main,
.masthead,
.site-footer {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--pad-x);
}
.site-main { padding-top: 0; padding-bottom: 96px; }

/* Utilidades tipográficas compartidas */
.eyebrow,
.meta-mono {
  font-family: var(--mono);
  font-weight: 400;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted);
}
.eyebrow { font-size: 11px; letter-spacing: .16em; }
.meta-mono { font-size: 11px; font-variant-numeric: tabular-nums; }

/* ============================================================
   Masthead
   ============================================================ */
.masthead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-md);
  padding-top: 40px;
  padding-bottom: 16px;
}
.masthead .wp-block-site-title {
  margin: 0;
  font-size: 17px;
  font-weight: 300;
  letter-spacing: -.01em;
}
.masthead .wp-block-site-title a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.masthead .wp-block-site-title a::before {
  content: "";
  width: 7px;
  height: 7px;
  background: var(--accent);
  flex: none;
}
/* Navegación mono + selector de apariencia */
.mast-actions {
  display: flex;
  align-items: center;
  gap: 24px;
}
.mast-nav { gap: 32px; }
.mast-nav .wp-block-navigation-item__content {
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink);
  padding-bottom: 3px;
  border-bottom: 1px solid transparent;
  transition: border-color .18s var(--ease), color .18s var(--ease);
}
.mast-nav a:hover .wp-block-navigation-item__label,
.mast-nav .wp-block-navigation-item__content:hover {
  border-bottom-color: var(--accent);
  color: var(--accent);
}
.theme-toggle {
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: none;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid var(--hair-strong);
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  transition:
    background-color .18s var(--ease),
    border-color .18s var(--ease),
    color .18s var(--ease),
    transform .18s var(--ease);
}
.theme-toggle[hidden] { display: none; }
.theme-toggle:hover {
  border-color: var(--accent);
  background: var(--bg-2);
  color: var(--accent);
}
.theme-toggle:active { transform: scale(.96); }
.theme-toggle:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
.theme-toggle__icon {
  position: absolute;
  width: 18px;
  height: 18px;
  transition:
    filter .18s cubic-bezier(.2, 0, 0, 1),
    opacity .18s cubic-bezier(.2, 0, 0, 1),
    transform .18s cubic-bezier(.2, 0, 0, 1);
}
.theme-toggle__moon,
html[data-theme="dark"] .theme-toggle__sun {
  filter: blur(4px);
  opacity: 0;
  transform: scale(.25);
}
.theme-toggle__sun,
html[data-theme="dark"] .theme-toggle__moon {
  filter: blur(0);
  opacity: 1;
  transform: scale(1);
}
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ============================================================
   Portada — hero
   ============================================================ */
.blog-hero { padding: 64px 0 56px; }
.blog-hero__title {
  font-size: clamp(44px, 2.2rem + 3.4vw, 76px);
  font-weight: 700;
  line-height: .98;
  letter-spacing: -.045em;
  max-width: 15ch;
  text-wrap: balance;
  margin: 0;
}
.blog-hero__sub {
  font-size: var(--fs-subtitle);
  font-weight: 300;
  line-height: 1.4;
  color: var(--accent);
  max-width: 48ch;
  margin: 24px 0 0;
}

/* Buscador del hero — subrayado hairline, botón mono; los selectores llevan
   el prefijo .blog-hero para ganar a los estilos del core de wp-block-search
   sin depender del orden de carga */
.blog-hero__search { margin: 36px 0 0; max-width: 48ch; }
.blog-hero .blog-hero__search .wp-block-search__inside-wrapper {
  display: flex;
  align-items: baseline;
  gap: 16px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--hair-strong);
  border-radius: 0;
  padding: 10px 14px 14px;
  transition: border-color .18s var(--ease);
}
.blog-hero .blog-hero__search .wp-block-search__inside-wrapper:focus-within {
  border-bottom-color: var(--accent);
}
.blog-hero .blog-hero__search .wp-block-search__input {
  flex: 1;
  min-width: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  font-family: var(--sans);
  font-size: var(--fs-body);
  font-weight: 300;
  color: var(--ink);
}
.blog-hero .blog-hero__search .wp-block-search__input:focus { outline: none; }
.blog-hero .blog-hero__search .wp-block-search__input::placeholder { color: var(--muted); }
.blog-hero .blog-hero__search .wp-block-search__button {
  flex: none;
  border: 0;
  border-radius: 0;
  background: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink);
  transition: color .18s var(--ease);
}
.blog-hero .blog-hero__search .wp-block-search__button:hover { color: var(--accent); }
html[data-theme="dark"] .blog-hero .blog-hero__search .wp-block-search__inside-wrapper {
  background: var(--search-bg);
  border-bottom-color: var(--search-border);
}
html[data-theme="dark"] .blog-hero .blog-hero__search .wp-block-search__input::placeholder {
  color: var(--search-placeholder);
}
html[data-theme="dark"] .blog-hero .blog-hero__search .wp-block-search__button {
  background: none;
  color: var(--search-control);
}
html[data-theme="dark"] .blog-hero .blog-hero__search .wp-block-search__button:hover {
  color: var(--ink-2);
}

/* ============================================================
   Portada — artículo destacado
   ============================================================ */
.featured {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 56px;
  align-items: start;
  padding-top: 8px;
}
.featured > *, .post-card > * { min-width: 0; }
.featured__media img {
  width: 100%;
  height: auto;
  display: block;
  filter: saturate(var(--media-saturation));
  outline: 1px solid var(--media-outline);
  outline-offset: -1px;
}
.featured__title {
  font-size: var(--fs-headline);
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -.02em;
  margin: 18px 0 0;
  text-wrap: balance;
}
.featured__title a:hover { color: var(--accent); }
.featured .wp-block-post-excerpt {
  margin-top: 18px;
}
.featured .wp-block-post-excerpt p {
  font-size: var(--fs-serif-md);
  font-weight: 300;
  line-height: 1.55;
  color: var(--ink);
  max-width: 52ch;
  margin: 0;
}
.featured .wp-block-post-excerpt__more-link {
  display: inline-block;
  margin-top: 28px;
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink);
  border-bottom: 1px solid var(--ink);
  padding-bottom: 4px;
}
.featured .wp-block-post-excerpt__more-link:hover {
  color: var(--accent);
  border-bottom-color: var(--accent);
}

/* Eyebrow "Destacado · fecha" */
.featured__kicker { margin: 0; }
.featured__kicker::before { content: "Destacado · "; }

/* ============================================================
   Portada / archivo — listado cronológico
   ============================================================ */
.post-list { margin-top: 56px; }
.post-list .wp-block-post-template {
  margin: 0;
  padding: 0;
  list-style: none;
}
.post-card {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  border-top: 1px solid var(--hair);
  padding: 28px 0;
}
.post-card__thumb {
  flex: none;
  width: 280px;
  margin: 0;
}
.post-card__thumb img {
  width: 280px;
  height: auto;
  display: block;
  filter: saturate(var(--media-saturation));
  outline: 1px solid var(--media-outline);
  outline-offset: -1px;
}
.post-card__body { flex: 1; min-width: 0; }
.post-card__body .eyebrow { margin: 0; }
.post-card__title {
  font-size: 22px;
  font-weight: 300;
  line-height: 1.25;
  letter-spacing: -.015em;
  margin: 8px 0 0;
  max-width: 56ch;
}
.post-card__title a:hover { color: var(--accent); }
.post-card__body .wp-block-post-excerpt { margin: 10px 0 0; }
.post-card__body .wp-block-post-excerpt p {
  font-size: var(--fs-body);
  font-weight: 300;
  line-height: 1.5;
  color: var(--ink);
  max-width: 64ch;
  margin: 0;
}
.post-card__body .meta-mono { margin: 14px 0 0; }

/* Paginación */
.blog-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 20px;
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.blog-pagination .wp-block-query-pagination-numbers { letter-spacing: .12em; }
.blog-pagination a:hover { color: var(--accent); }

/* ============================================================
   Post individual
   ============================================================ */
.post-head { padding: 56px 0 40px; }
.post-head .eyebrow { margin: 0; }
.post-title {
  font-size: clamp(36px, 1.9rem + 2.6vw, 60px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -.035em;
  margin: 20px 0 0;
  text-wrap: balance;
}
.post-meta {
  display: flex;
  gap: 40px;
  margin: 32px 0 0;
}
.post-meta__item {
  border-bottom: 1px solid var(--hair);
  padding-bottom: 10px;
}
.post-meta__item .eyebrow { margin: 0; }
.post-meta__item .wp-block-post-date {
  margin-top: 6px;
  font-family: var(--mono);
  font-size: 14px;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}

/* Imagen principal a todo el ancho del contenedor */
.post-hero { margin: 0; }
.post-hero img {
  width: 100%;
  height: auto;
  display: block;
  filter: saturate(var(--media-saturation));
  outline: 1px solid var(--media-outline);
  outline-offset: -1px;
}

/* Cuerpo (bloques Gutenberg del post) — medida de lectura */
.post-body {
  max-width: var(--measure);
  margin-top: 56px;
}
.post-body > * { margin-block: 0; }
.post-body p {
  font-size: var(--fs-serif-md);
  font-weight: 300;
  line-height: 1.65;
  color: var(--ink);
  margin: 0 0 22px;
}
.post-body strong, .post-body b { font-weight: 500; }
.post-body a {
  color: var(--accent);
  border-bottom: 1px solid currentColor;
}
.post-body h2 {
  font-size: var(--fs-list-title);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -.02em;
  margin: 44px 0 20px;
}
.post-body h3 {
  font-size: var(--fs-subtitle);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.01em;
  margin: 32px 0 14px;
}
.post-body ul, .post-body ol { margin: 0 0 22px; padding-left: 1.4em; }
.post-body li {
  font-size: var(--fs-serif-md);
  font-weight: 300;
  line-height: 1.6;
  margin: 0 0 8px;
}
.post-body blockquote {
  border-left: 2px solid var(--accent);
  background: var(--bg-2);
  padding: 28px 32px 30px;
  margin: 40px 0;
  font-size: 18px;
  font-style: italic;
  font-weight: 300;
  line-height: 1.55;
  letter-spacing: -.01em;
  color: var(--ink);
  text-wrap: pretty;
}
.post-body blockquote p { font: inherit; color: inherit; margin: 0; }
.post-body blockquote cite {
  display: block;
  margin-top: 18px;
  font-family: var(--mono);
  font-size: var(--fs-body-sm);
  font-style: normal;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: .04em;
  color: var(--muted);
}
.post-body blockquote cite::before {
  content: "— ";
  color: var(--accent);
}
.post-body figure { margin: 32px 0; }
.post-body figure img {
  width: 100%;
  filter: saturate(var(--media-saturation));
  outline: 1px solid var(--media-outline);
  outline-offset: -1px;
}
.post-body figcaption {
  font-family: var(--mono);
  font-size: var(--fs-small);
  letter-spacing: .04em;
  color: var(--muted);
  margin-top: 8px;
}

/* Tablas editoriales — jerarquía suiza, sin caja ni líneas verticales */
.post-body .wp-block-table {
  margin: 32px 0 40px;
  overflow-x: auto;
  border-top: 2px solid var(--accent);
  border-bottom: 1px solid var(--hair-strong);
  -webkit-overflow-scrolling: touch;
}
.post-body .wp-block-table table {
  width: 100%;
  min-width: 100%;
  border: 0;
  border-collapse: collapse;
  border-spacing: 0;
  background: transparent;
  color: var(--ink);
}
.post-body .wp-block-table th,
.post-body .wp-block-table td {
  padding: 14px 16px;
  border: 0;
  border-bottom: 1px solid var(--hair);
  vertical-align: top;
  text-align: left;
  text-wrap: pretty;
}
.post-body .wp-block-table thead th {
  background: var(--bg-2);
  border-bottom-color: var(--hair-strong);
  color: var(--ink-2);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.post-body .wp-block-table thead { border-bottom: 0; }
.post-body .wp-block-table tbody td {
  font-size: var(--fs-body);
  font-weight: 300;
  line-height: 1.45;
}
.post-body .wp-block-table tbody td:first-child { font-weight: 400; }
.post-body .wp-block-table th:last-child,
.post-body .wp-block-table td:last-child {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.post-body .wp-block-table tbody tr:last-child td { border-bottom: 0; }

/* Índice de contenidos (Easy Table of Contents) — simple, sin caja ni título */
.post-body #ez-toc-container,
.post-body .ez-toc-container {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 0 32px !important;
  width: auto !important;
  font-family: var(--sans);
}
.post-body .ez-toc-title-container { display: none !important; }
.post-body #ez-toc-container nav ul,
.post-body .ez-toc-list { margin: 0; padding: 0; list-style: none; }
.post-body .ez-toc-list li { margin: 0 0 7px; }
.post-body #ez-toc-container a.ez-toc-link,
.post-body #ez-toc-container a,
.post-body .ez-toc-list a {
  font-family: var(--sans) !important;
  font-size: var(--fs-body-sm) !important;
  font-weight: 400 !important;
  color: var(--accent) !important;
  border-bottom: 0;
}
.post-body #ez-toc-container li,
.post-body #ez-toc-container nav { color: var(--accent); }
.post-body #ez-toc-container a:hover { color: var(--ink) !important; }

/* Etiquetas del post */
.post-tags { max-width: var(--measure); margin-top: 40px; }
.post-tags .wp-block-post-terms {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
}

/* Pie del post: volver al blog + artículo anterior */
.post-foot {
  max-width: var(--measure);
  margin-top: 72px;
  padding-top: 20px;
  border-top: 1px solid var(--hair);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 16px 40px;
}
.post-foot .back-link { margin: 0; flex: none; }
.post-foot .back-link a {
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink);
  padding-bottom: 4px;
  border-bottom: 1px solid transparent;
}
.post-foot .back-link a:hover { color: var(--accent); border-bottom-color: var(--accent); }

.prev-article {
  margin: 0;
  min-width: 0;
  max-width: 62%;
  text-align: right;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted);
}
.prev-article a {
  display: block;
  margin-top: 7px;
  font-family: var(--sans);
  font-size: var(--fs-body-sm);
  font-weight: 400;
  letter-spacing: -.005em;
  text-transform: none;
  color: var(--ink);
  border-bottom: 0;
}
.prev-article a:hover { color: var(--accent); }

/* ============================================================
   Títulos de archivo / búsqueda / 404
   ============================================================ */
.page-head { padding: 64px 0 40px; }
.page-head .wp-block-query-title,
.page-head h1 {
  font-size: var(--fs-display);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -.03em;
  margin: 0;
  text-wrap: balance;
}
.page-head .term-description,
.page-head p { margin: 20px 0 0; font-size: var(--fs-subtitle); font-weight: 300; color: var(--ink-2); max-width: 56ch; }

/* ============================================================
   Footer
   ============================================================ */
.site-footer {
  margin-top: 96px;
  padding-top: 24px;
  padding-bottom: 64px;
  border-top: 1px solid var(--hair);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--sp-md);
}
.site-footer p {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0;
}
.site-footer a:hover { color: var(--accent); }

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 900px) {
  :root { --pad-x: 24px; }
  .featured { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .post-card { gap: 24px; }
  .post-card__thumb, .post-card__thumb img { width: 170px; }
}
@media (max-width: 600px) {
  .masthead { flex-wrap: wrap; gap: 10px 18px; }
  .masthead .wp-block-site-title { width: 100%; }
  .mast-actions {
    width: 100%;
    justify-content: space-between;
  }
  .mast-nav { gap: 18px; }
  .blog-hero { padding: 40px 0 40px; }
  .blog-hero__title,
  .blog-hero__sub,
  .blog-hero__search,
  .featured .wp-block-post-excerpt p,
  .post-card__title,
  .post-card__body .wp-block-post-excerpt p { max-width: 100%; }
  .post-card { flex-direction: column; gap: 14px; }
  .post-card__thumb, .post-card__thumb img { width: 100%; }
  .post-meta { flex-wrap: wrap; gap: 20px; }
  .post-body blockquote {
    margin: 32px 0;
    padding: 22px 20px 24px;
    font-size: 18px;
  }
  .post-body .wp-block-table { margin: 24px 0 32px; }
  .post-body .wp-block-table th,
  .post-body .wp-block-table td { padding: 12px 10px; }
  .post-body .wp-block-table thead th {
    font-size: 10px;
    letter-spacing: .1em;
  }
  .post-body .wp-block-table tbody td { font-size: 14px; }
}
