/* --- iBoletin category rows (scoped) --- */
.ibo-row { padding: 2rem 0; border-top: 1px solid currentColor; border-color: rgba(0,0,0,.06); }
.ibo-row:first-of-type { border-top: 0; }
.ibo-row__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.ibo-row__left { display: flex; align-items: center; gap: .75rem; }
.ibo-row__badge { width: 34px; height: 34px; border-radius: 50%; border: 2px solid currentColor; opacity: .25; }
.ibo-row__title { margin: 0; line-height: 1; font-size: clamp(1.4rem, 2.2vw, 2.25rem); font-weight: 800; letter-spacing: .02em; }
.ibo-row__right { display: flex; align-items: center; gap: .75rem; }
.ibo-row__more { text-decoration: none; font-weight: 700; }
.ibo-row__nav { display: flex; gap: .25rem; }
.ibo-nav { appearance: none; border: 0; background: transparent; font: inherit; font-size: 1.4rem; line-height: 1; padding: .25rem .5rem; cursor: pointer; }
.ibo-nav:disabled { opacity: .35; cursor: default; }
.ibo-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(240px, 1fr); gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .25rem; }
.ibo-card { scroll-snap-align: start; }
@media (min-width: 720px) { .ibo-track { grid-auto-columns: minmax(320px, 1fr); } }
@media (min-width: 1024px) { .ibo-track { grid-auto-columns: minmax(360px, 1fr); gap: 1.25rem; } }
.ibo-row__empty { opacity: .6; margin: .5rem 0 0; }
/* Align visuals to avoid mid-word breaks and keep consistent sizes */
.post-card-title, .post-card h2 { word-break: normal; overflow-wrap: break-word; hyphens: auto; }
.ibo-track { grid-auto-columns: minmax(520px, 1fr); } /* wider cards for nicer text flow */
@media (min-width: 1280px) { .ibo-track { grid-auto-columns: minmax(560px, 1fr); } }

/* --- Uniform horizontal card for category rows --- */
.ibo-cardX { display:grid; grid-template-columns: 240px 1fr; gap: 1rem; align-items:start; }
.ibo-cardX__img { display:block; width:100%; height:100%; max-height: 220px; overflow:hidden; border-radius: 8px; }
.ibo-cardX__img img { width:100%; height:100%; object-fit: cover; display:block; }
.ibo-cardX__placeholder { display:block; width:100%; height:100%; min-height:220px; background: rgba(0,0,0,.06); border-radius:8px; }
.ibo-cardX__tag { display:inline-block; font-size:.9rem; opacity:.85; text-decoration:none; margin-bottom:.25rem; }
.ibo-cardX__title { margin:.25rem 0 .5rem; font-size: clamp(1.4rem, 2.3vw, 2rem); line-height:1.05; }
.ibo-cardX__title a { text-decoration:none; }
.ibo-cardX__excerpt { margin:0 0 .5rem; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.ibo-cardX__meta { font-size:.9rem; opacity:.8; display:flex; align-items:center; gap:.5rem; }

/* Make all tracks same card width; prevent broken layout across categories */
.ibo-track { grid-auto-columns: minmax(780px, 1fr); }
@media (min-width: 1280px) { .ibo-track { grid-auto-columns: minmax(860px, 1fr); } }
@media (max-width: 720px) {
  .ibo-cardX { grid-template-columns: 1fr; }
  .ibo-cardX__img { max-height: 220px; }
}

/* ===== Exact "Tecnología-like" row across all categories ===== */
.ibo-trackX { display:grid; grid-auto-flow: column; gap: 1rem; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:.25rem; }
.ibo-cellA, .ibo-cellB { width: clamp(420px, 34vw, 540px); }

/* Column widths: make every row identical */
.ibo-cellA { width: clamp(720px, 66vw, 860px); }   /* leading big card (image left, text right) */
.ibo-cellB { width: clamp(420px, 34vw, 540px); }   /* subsequent compact cards */

 .ibo-cellB { width: clamp(420px, 34vw, 540px); } }
 .ibo-cellB { width: clamp(420px, 34vw, 540px); } }
 }

/* Card A layout */
.ibo-cardA { display:grid; grid-template-columns: 240px 1fr; gap: 1.25rem; align-items:start; }
.ibo-cardA__img { display:block; width:100%; height:100%; max-height: 360px; overflow:hidden; border-radius:8px; }
.ibo-cardA__img img { width:100%; height:100%; object-fit:cover; display:block; }
.ibo-cardA__title { margin:.25rem 0 .5rem; font-size: clamp(1.8rem, 2.8vw, 2.4rem); line-height:1.05; }
.ibo-cardA__title a { text-decoration:none; }
.ibo-cardA__excerpt { margin:0 0 .5rem; display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; }
.ibo-meta { font-size:.9rem; opacity:.8; display:flex; align-items:center; gap:.5rem; }

/* Card B layout */
.ibo-cardB { display:grid; grid-template-rows: auto auto 1fr auto; gap:.5rem; }
.ibo-cardB__img { display:block; width:100%; aspect-ratio: 4/3; overflow:hidden; border-radius:8px; }
.ibo-cardB__img img { width:100%; height:100%; object-fit:cover; display:block; }
.ibo-cardB__title { margin:.25rem 0 0; font-size: clamp(1.1rem, 2.1vw, 1.35rem); line-height:1.15; }
.ibo-cardB__title a { text-decoration:none; }
.ibo-cardB__excerpt { margin:0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

/* Prevent ugly word splits */
.ibo-cardA__title, .ibo-cardB__title, .post-card h2 { word-break: normal; overflow-wrap: break-word; hyphens: auto; }

/* v5: consistent gutters, no ugly scrollbars, equal heights */
.ibo-trackX { padding: .25rem 0 0.5rem; scrollbar-width: thin; }
.ibo-trackX::-webkit-scrollbar { height: 8px; }
.ibo-trackX::-webkit-scrollbar-thumb { background: rgba(0,0,0,.2); border-radius: 4px; }

/* Ensure CardB titles don't wrap weird */
.ibo-cardB__title, .ibo-cardA__title { word-break: normal; overflow-wrap: anywhere; hyphens: auto; }

/* Force same image heights for A/B for cleaner rows */
.ibo-cardA__img { max-height: 300px; }
.ibo-cardB__img { aspect-ratio: 4/3; max-height: 240px; }
