/* oCloc — Blog del tenant (.link). Tarjetas Novedades/relacionados, páginas /blog
   (índice + post), composer y editor por bloques (staff). Usa los tokens --otp-*
   del tema, incluida la FORMA (--otp-radius / --otp-radius-sm; las píldoras 999px
   y los círculos se quedan fijos a propósito). @since 2026-06-19 (blog F2-8) */

/* ── Tarjetas de posts (Novedades home + índice + relacionados) ───────────────── */
.otp-news__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.otp-news__card { display: flex; flex-direction: column; background: var(--otp-card, #245a98); border: 1px solid var(--otp-line, rgba(255,255,255,.08)); border-radius: var(--otp-radius, 16px); overflow: hidden; text-decoration: none; color: var(--otp-ink, #fff); transition: transform .15s ease, box-shadow .15s ease; }
.otp-news__card:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(0,0,0,.25); }
.otp-news__cover { display: block; width: 100%; aspect-ratio: 16 / 10; background-size: cover; background-position: center; background-color: var(--otp-card-2, #2f6fb8); }
.otp-news__cover--video { position: relative; }
.otp-news__cover--video::after { content: '▶'; position: absolute; inset: 0; display: grid; place-items: center; font-size: 1.6rem; color: #fff; text-shadow: 0 2px 8px rgba(0,0,0,.5); }
.otp-news__body { display: flex; flex-direction: column; gap: 6px; padding: 14px 15px 16px; }
/* Sin `opacity` extra: --otp-muted YA es el rol "texto secundario" y está calibrado a AA sobre
   --otp-card. Rebajarlo otro 15% lo hundía a 3.52:1 (nude) · 3.63 (rosita) · 3.64 (blanco),
   por debajo del 4.5:1 de texto normal. Quitando la opacidad queda en 4.61-7.57:1. */
.otp-news__date { font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; color: var(--otp-muted, #dbe7f5); }
.otp-news__title { font-weight: 700; font-size: 1.02rem; line-height: 1.25; }
.otp-news__excerpt { font-size: .9rem; line-height: 1.45; color: var(--otp-muted, #dbe7f5); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.otp-news__more { margin-top: 2px; font-size: .85rem; font-weight: 600; color: var(--otp-gold, #ffcf5a); }
.otp-news--home { margin-top: 8px; }
.otp-news__all { text-align: center; margin-top: 16px; }
.otp-blog-link { color: var(--otp-gold, #ffcf5a); text-decoration: none; font-weight: 600; }
.otp-blog-link:hover { text-decoration: underline; }
/* Lista de posts del MAIN: tarjetas rectangulares a ANCHO DE COLUMNA (una por fila) + "cargar más" */
.otp-news__grid--list { grid-template-columns: 1fr; gap: 14px; }
.otp-news__grid--list .otp-news__card { flex-direction: row; align-items: stretch; }
.otp-news__grid--list .otp-news__cover { width: 40%; max-width: 230px; flex: 0 0 auto; aspect-ratio: auto; min-height: 132px; align-self: stretch; }
.otp-news__grid--list .otp-news__body { flex: 1 1 auto; justify-content: center; }
.otp-news__loadmore { display: block; margin-top: 14px; }
.otp-news__loadbtn { display: block; width: 100%; padding: 14px 28px; border-radius: var(--otp-radius-sm, 14px); border: 1px solid var(--otp-line, rgba(255,255,255,.20)); background: var(--otp-card, rgba(255,255,255,.08)); color: var(--otp-ink, #fff); font-weight: 700; font-size: .92rem; cursor: pointer; transition: background .15s ease, transform .15s ease; }
.otp-news__loadbtn:hover { background: var(--otp-card-2, rgba(255,255,255,.14)); transform: translateY(-1px); }
@media (max-width: 460px) { .otp-news__grid--list .otp-news__cover { width: 38%; min-height: 110px; } }

/* ── Páginas /blog ─────────────────────────────────────────────────────────────── */
.otp-blog .otp-btn { display: inline-block; padding: 11px 18px; border-radius: 999px; border: 1px solid var(--otp-line, rgba(255,255,255,.16)); background: var(--otp-card, #245a98); color: var(--otp-ink, #fff); font-weight: 600; font-size: .92rem; text-decoration: none; cursor: pointer; }
.otp-blog .otp-btn--primary { background: var(--otp-gold, #ffcf5a); color: #1a2233; border-color: transparent; }
.otp-blog .otp-btn:hover { filter: brightness(1.05); }

.otp-blogbar { display: flex; align-items: center; gap: 18px; padding: 16px 20px; max-width: 1180px; margin: 0 auto; }
.otp-blogbar__back { display: inline-flex; align-items: center; justify-content: center; color: var(--otp-ink, #fff); text-decoration: none; opacity: .92; margin-right: -8px; transition: transform .15s ease, opacity .15s ease; }
.otp-blogbar__back:hover { opacity: 1; transform: translateX(-2px); }
.otp-blogbar__back svg { width: 24px; height: 24px; }
.otp-blogbar__home { font-weight: 800; color: var(--otp-ink, #fff); text-decoration: none; font-size: 1.05rem; }
.otp-blogbar__blog { color: var(--otp-muted, #dbe7f5); text-decoration: none; font-weight: 600; }
.otp-blogbar__blog--active { color: var(--otp-gold, #ffcf5a); }

.otp-blogindex, .otp-blogpost { max-width: 1180px; margin: 0 auto; padding: 8px 20px 56px; }
.otp-blogindex__head { text-align: center; margin: 8px 0 26px; }
.otp-blogindex__sub { color: var(--otp-muted, #dbe7f5); max-width: 640px; margin: 10px auto 0; line-height: 1.5; }
.otp-blogpager { display: flex; justify-content: center; gap: 12px; margin-top: 30px; }
.otp-blogempty, .otp-blog404 { text-align: center; padding: 60px 20px; color: var(--otp-muted, #dbe7f5); }
.otp-blog404 h1 { color: var(--otp-ink, #fff); }

/* Artículo del post */
.otp-post { max-width: 760px; margin: 0 auto; }
.otp-breadcrumbs { font-size: .82rem; color: var(--otp-muted, #dbe7f5); margin-bottom: 18px; }
.otp-breadcrumbs a { color: var(--otp-muted, #dbe7f5); text-decoration: none; }
.otp-breadcrumbs a:hover { color: var(--otp-ink, #fff); }
.otp-post__head { margin-bottom: 18px; }
.otp-post__title { font-family: var(--otp-font-h, inherit); font-size: clamp(1.7rem, 5vw, 2.5rem); line-height: 1.15; color: var(--otp-ink, #fff); margin: 0 0 8px; } /* fuente de TITULAR del tenant (como .otp-h) */
.otp-post__date { font-size: .82rem; text-transform: uppercase; letter-spacing: .05em; color: var(--otp-muted, #dbe7f5); }
.otp-post__cover { margin: 0 0 22px; border-radius: var(--otp-radius, 18px); overflow: hidden; }
.otp-post__cover img, .otp-post__cover video { display: block; width: 100%; height: auto; }
.otp-post__lead { font-size: 1.12rem; line-height: 1.6; color: var(--otp-ink, #fff); opacity: .95; margin: 0 0 22px; font-weight: 500; }
.otp-post__body { color: var(--otp-ink, #fff); font-size: 1.05rem; line-height: 1.7; }
.otp-post__body .otp-post__h { margin: 1.6em 0 .5em; line-height: 1.2; }
.otp-post__body h2.otp-post__h { font-size: 1.5rem; }
.otp-post__body h3.otp-post__h { font-size: 1.2rem; }
.otp-post__p { margin: 0 0 1.1em; }
.otp-post__list { margin: 0 0 1.2em; padding-left: 1.3em; }
.otp-post__list li { margin: .35em 0; }
.otp-post__fig { margin: 1.4em 0; }
.otp-post__fig img, .otp-post__fig video { display: block; width: 100%; height: auto; border-radius: var(--otp-radius-sm, 14px); }
.otp-post__fig figcaption { font-size: .85rem; color: var(--otp-muted, #dbe7f5); text-align: center; margin-top: 8px; }
.otp-post__embed { position: relative; padding-top: 56.25%; border-radius: var(--otp-radius-sm, 14px); overflow: hidden; }
.otp-post__embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.otp-post__faq { margin: 1.4em 0; display: flex; flex-direction: column; gap: 10px; }
.otp-post__faqitem { background: var(--otp-card, #245a98); border: 1px solid var(--otp-line, rgba(255,255,255,.08)); border-radius: var(--otp-radius-sm, 12px); padding: 4px 16px; }
.otp-post__faqitem summary { cursor: pointer; font-weight: 600; padding: 10px 0; }
.otp-post__faqa { padding: 0 0 12px; color: var(--otp-muted, #eaf1fa); }
.otp-post__quote { margin: 1.4em 0; padding: 4px 0 4px 18px; border-left: 3px solid var(--otp-gold, #ffcf5a); font-style: italic; }
.otp-post__quote cite { display: block; margin-top: 6px; font-size: .85rem; color: var(--otp-muted, #dbe7f5); font-style: normal; }
.otp-post__body a { color: var(--otp-gold, #ffcf5a); text-decoration: underline; text-underline-offset: 2px; }
.otp-post__body a:hover { filter: brightness(1.1); }
/* CTA (botón destacado de reserva / enlace) */
.otp-post__cta { display: inline-block; margin: 1.2em 0; padding: 12px 22px; border-radius: 999px; background: var(--otp-gold, #E0A82E); color: #1a2233; font-weight: 700; font-size: 1rem; line-height: 1.2; text-decoration: none; cursor: pointer; transition: filter .15s ease, transform .15s ease; }
.otp-post__cta:hover { filter: brightness(1.06); transform: translateY(-1px); }
.otp-post__body a.otp-post__cta { color: #1a2233; text-decoration: none; }
.otp-post__body a.otp-post__cta:hover { filter: brightness(1.06); }
/* Galería nativa (rejilla 2/3) */
.otp-post__gallery { display: grid; gap: 8px; margin: 1.4em 0; }
.otp-post__gallery--2 { grid-template-columns: repeat(2, 1fr); }
.otp-post__gallery--3 { grid-template-columns: repeat(3, 1fr); }
.otp-post__gallery img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--otp-radius-sm, 12px); aspect-ratio: 1; }
@media (max-width: 520px) { .otp-post__gallery--3 { grid-template-columns: repeat(2, 1fr); } }
/* Tabla nativa (responsive, zebra) */
.otp-post__tablewrap { margin: 1.4em 0; overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--otp-line, rgba(255,255,255,.12)); border-radius: var(--otp-radius-sm, 12px); }
.otp-post__table { width: 100%; border-collapse: collapse; font-size: .96rem; }
.otp-post__table th, .otp-post__table td { padding: 10px 14px; text-align: left; border-bottom: 1px solid var(--otp-line, rgba(255,255,255,.1)); }
.otp-post__table th { font-weight: 700; background: rgba(255,255,255,.06); color: var(--otp-ink, #fff); white-space: nowrap; }
.otp-post__table tbody tr:nth-child(even) { background: rgba(255,255,255,.03); }
.otp-post__table tbody tr:last-child td { border-bottom: 0; }
.otp-post__book { margin-top: 40px; }
.otp-post__related { margin-top: 40px; }

/* ── Composer (home, staff) ────────────────────────────────────────────────────── */
.otp-bl-composer { margin: 0 0 18px; padding: 14px 16px; background: var(--otp-card, #245a98); border: 1px solid var(--otp-line, rgba(255,255,255,.1)); border-radius: var(--otp-radius, 16px); }
.otp-bl-composer__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.otp-bl-composer__lbl { font-weight: 700; color: var(--otp-ink, #fff); }
.otp-bl-drafts { background: transparent; border: 1px solid var(--otp-line, rgba(255,255,255,.2)); color: var(--otp-ink, #fff); border-radius: 999px; padding: 6px 14px; font-weight: 600; cursor: pointer; }
.otp-bl-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.otp-bl-pill { background: var(--otp-card-2, #2f6fb8); border: 1px solid var(--otp-line, rgba(255,255,255,.14)); color: var(--otp-ink, #fff); border-radius: 999px; padding: 8px 15px; font-weight: 600; font-size: .9rem; cursor: pointer; }
.otp-bl-pill:hover { background: var(--otp-gold, #ffcf5a); color: #1a2233; border-color: transparent; }

/* ── Editor INLINE (último módulo, staff) ─────────────────────────────────────── */
.otp-bl-editorhost { margin: 0 0 22px; }
.otp-bl-editor { padding: 16px 16px 18px; background: var(--otp-card, #245a98); border: 1px solid var(--otp-line, rgba(255,255,255,.12)); border-radius: var(--otp-radius, 18px); }
.otp-bl-editor__pills { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--otp-line, rgba(255,255,255,.12)); }
.otp-bl-editor__pilllbl { font-size: .8rem; font-weight: 700; color: var(--otp-muted, #dbe7f5); margin-right: 4px; }
.otp-bl-editor .otp-bl-pill { background: var(--otp-card-2, #2f6fb8); border: 1px solid var(--otp-line, rgba(255,255,255,.14)); color: var(--otp-ink, #fff); border-radius: 999px; padding: 7px 14px; font-weight: 600; font-size: .86rem; cursor: pointer; }
.otp-bl-editor .otp-bl-pill:hover { filter: brightness(1.08); }
.otp-bl-editor .otp-bl-pill.is-active { background: var(--otp-gold, #ffcf5a); color: #1a2233; border-color: transparent; }
.otp-bl-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--otp-line, rgba(255,255,255,.12)); }

/* ── Composer "Posts" (estilo link.me: caja + "+" naranja → doc limpio sin divisiones) ── */
.otp-bl-post { background: rgba(255,255,255,.045); border: 1px solid var(--otp-line, rgba(255,255,255,.1)); border-radius: var(--otp-radius, 20px); overflow: hidden; }
.otp-bl-post [hidden] { display: none !important; } /* los display:flex de abajo ganan al [hidden] del UA → forzamos */
.otp-bl-post__collapsed { position: relative; min-height: 118px; padding: 18px 18px 18px 20px; cursor: text; }
.otp-bl-post__head { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding-right: 58px; }
.otp-bl-post__avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.otp-bl-post__name { display: inline-flex; align-items: center; gap: 5px; font-weight: 700; color: var(--otp-ink, #fff); font-size: .98rem; }
.otp-bl-post__check { display: inline-grid; place-items: center; width: 17px; height: 17px; border-radius: 50%; background: #3897f0; color: #fff; flex: 0 0 auto; } /* mismo azul que .otp-verified del header */
.otp-bl-post__ph { color: var(--otp-ink, #fff); opacity: .5; font-size: 1.05rem; }
/* "+" en glass (como la píldora de reseñas de Google), abajo-derecha como en link.me */
.otp-bl-post__plus { position: absolute; right: 16px; bottom: 16px; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; cursor: pointer; display: grid; place-items: center; color: var(--otp-ink, #fff); background: rgba(255,255,255,.14); -webkit-backdrop-filter: blur(10px) saturate(140%); backdrop-filter: blur(10px) saturate(140%); box-shadow: 0 4px 14px rgba(0,0,0,.18); }
.otp-bl-post__plus:hover { background: rgba(255,255,255,.24); }
.otp-bl-post__open { display: flex; flex-direction: column; gap: 12px; padding: 14px 18px 18px; }
.otp-bl-post__media { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 200px; border: 0; border-radius: 16px; background: rgba(255,255,255,.06); color: var(--otp-ink, #fff); opacity: .82; cursor: pointer; font-weight: 600; font-size: .96rem; transition: opacity .15s ease, background .15s ease; }
.otp-bl-post__media:hover { opacity: 1; background: rgba(255,255,255,.1); }
.otp-bl-post__mediaprev { position: relative; border-radius: 16px; overflow: hidden; }
.otp-bl-post__mediaprev img { display: block; width: 100%; max-height: 340px; object-fit: cover; }
.otp-bl-post__mediax { position: absolute; top: 10px; right: 10px; width: 34px; height: 34px; border-radius: 50%; border: 0; background: rgba(8,18,33,.62); color: #fff; font-size: 1.4rem; line-height: 1; cursor: pointer; }
.otp-bl-post__title { width: 100%; box-sizing: border-box; border: 0; background: transparent; color: var(--otp-ink, #fff); font: inherit; font-size: 1.6rem; font-weight: 800; line-height: 1.2; padding: 4px 2px; outline: none; }
.otp-bl-post__title::placeholder { color: var(--otp-ink, #fff); opacity: .38; font-weight: 800; }
.otp-bl-post__text { width: 100%; box-sizing: border-box; border: 0; background: transparent; color: var(--otp-ink, #fff); font: inherit; font-size: 1.05rem; line-height: 1.6; padding: 2px 2px; resize: none; overflow: hidden; outline: none; }
.otp-bl-post__text::placeholder { color: var(--otp-ink, #fff); opacity: .4; }
.otp-bl-post__seo { display: flex; align-items: center; gap: 10px; font-size: .9rem; color: var(--otp-muted, #dbe7f5); padding: 2px 2px; }
.otp-bl-post__dot { width: 12px; height: 12px; border-radius: 50%; flex: 0 0 auto; background: rgba(255,255,255,.3); }
.otp-bl-post__dot--good { background: #5cd6a0; }
.otp-bl-post__dot--ok { background: #ffcf5a; }
.otp-bl-post__dot--bad { background: #ff7a7a; }
.otp-bl-post__dot--na { background: rgba(255,255,255,.3); }
.otp-bl-post__foot { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 4px; padding-top: 12px; border-top: 1px solid var(--otp-line, rgba(255,255,255,.08)); }

/* ── Modal (Programar / Borradores) ───────────────────────────────────────────── */
.otp-bl-modal { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: flex-end; justify-content: center; }
.otp-bl-modal__bd { position: absolute; inset: 0; background: rgba(8,18,33,.6); backdrop-filter: blur(2px); }
.otp-bl-sheet { position: relative; width: 100%; max-width: 560px; max-height: 92vh; display: flex; flex-direction: column; background: var(--otp-bg, #1a2740); color: var(--otp-ink, #fff); border-radius: 20px 20px 0 0; box-shadow: 0 -10px 40px rgba(0,0,0,.4); }
.otp-bl-sheet--wide { max-width: 720px; }
@media (min-width: 640px) { .otp-bl-modal { align-items: center; } .otp-bl-sheet { border-radius: 20px; max-height: 90vh; } }
.otp-bl-sheet__top { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; border-bottom: 1px solid var(--otp-line, rgba(255,255,255,.1)); }
.otp-bl-sheet__title { font-size: 1.1rem; margin: 0; }
.otp-bl-sheet__x { background: none; border: 0; color: var(--otp-ink, #fff); font-size: 1.6rem; line-height: 1; cursor: pointer; padding: 0 4px; }
.otp-bl-sheet__body { padding: 16px 18px; overflow-y: auto; }
.otp-bl-sheet__foot { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--otp-line, rgba(255,255,255,.1)); }
.otp-bl-actions__sp { flex: 1; }

.otp-bl-fld { display: block; margin: 0 0 14px; }
.otp-bl-fld > span { display: block; font-size: .82rem; font-weight: 600; color: var(--otp-muted, #dbe7f5); margin-bottom: 5px; }
.otp-bl-fld input, .otp-bl-fld textarea, .otp-bl-fld select,
.otp-bl-block__body input, .otp-bl-block__body textarea, .otp-bl-block__body select,
.otp-bl-cover input { width: 100%; box-sizing: border-box; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--otp-line, rgba(255,255,255,.16)); background: rgba(255,255,255,.06); color: var(--otp-ink, #fff); font: inherit; }
.otp-bl-fld textarea { resize: vertical; }
.otp-bl-hint { font-size: .82rem; color: var(--otp-muted, #dbe7f5); margin: 6px 0; }

.otp-bl-btn { background: var(--otp-card-2, #2f6fb8); border: 1px solid var(--otp-line, rgba(255,255,255,.16)); color: var(--otp-ink, #fff); border-radius: 999px; padding: 9px 16px; font-weight: 600; font-size: .9rem; cursor: pointer; }
.otp-bl-btn--primary { background: var(--otp-gold, #ffcf5a); color: #1a2233; border-color: transparent; }
.otp-bl-btn--ghost { background: transparent; }
.otp-bl-btn--danger { background: transparent; border-color: rgba(255,120,120,.5); color: #ff9a9a; }
.otp-bl-btn:hover { filter: brightness(1.06); }

/* bloques */
.otp-bl-blocks { margin: 8px 0 4px; }
.otp-bl-blocks__head { font-size: .82rem; font-weight: 700; color: var(--otp-muted, #dbe7f5); margin-bottom: 8px; }
.otp-bl-block { border: 1px solid var(--otp-line, rgba(255,255,255,.12)); border-radius: 12px; margin-bottom: 10px; background: rgba(255,255,255,.03); }
.otp-bl-block__bar { display: flex; align-items: center; justify-content: space-between; padding: 8px 10px; border-bottom: 1px solid var(--otp-line, rgba(255,255,255,.08)); }
.otp-bl-block__t { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--otp-muted, #dbe7f5); }
.otp-bl-block__ctl button { background: none; border: 0; color: var(--otp-ink, #fff); cursor: pointer; font-size: 1rem; padding: 2px 5px; opacity: .8; }
.otp-bl-block__ctl button:hover { opacity: 1; }
.otp-bl-block__body { padding: 10px; display: flex; flex-direction: column; gap: 8px; }
.otp-bl-inline { display: flex; gap: 8px; }
.otp-bl-inline select { width: auto; flex: 0 0 auto; }
.otp-bl-chk { display: flex; align-items: center; gap: 8px; font-size: .88rem; color: var(--otp-muted, #dbe7f5); }
.otp-bl-chk input { width: auto; }
.otp-bl-addrow { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 6px; }
.otp-bl-addrow > span { font-size: .82rem; color: var(--otp-muted, #dbe7f5); }
.otp-bl-add { background: rgba(255,255,255,.06); border: 1px dashed var(--otp-line, rgba(255,255,255,.25)); color: var(--otp-ink, #fff); border-radius: 8px; padding: 5px 10px; font-size: .82rem; cursor: pointer; }
.otp-bl-add:hover { background: rgba(255,255,255,.12); }

/* texto rico (contentEditable + toolbar) */
.otp-bl-rich { border: 1px solid var(--otp-line, rgba(255,255,255,.16)); border-radius: 10px; overflow: hidden; background: rgba(255,255,255,.06); }
.otp-bl-rich__bar { display: flex; gap: 2px; padding: 5px 6px; border-bottom: 1px solid var(--otp-line, rgba(255,255,255,.1)); background: rgba(255,255,255,.04); }
.otp-bl-rich__b { background: transparent; border: 0; color: var(--otp-ink, #fff); cursor: pointer; border-radius: 6px; padding: 4px 9px; font-size: .9rem; line-height: 1; }
.otp-bl-rich__b:hover { background: rgba(255,255,255,.12); }
.otp-bl-rich__area { min-height: 86px; padding: 10px 12px; color: var(--otp-ink, #fff); font: inherit; line-height: 1.6; outline: none; }
.otp-bl-rich__area:empty::before { content: attr(data-ph); opacity: .42; }
.otp-bl-rich__area a { color: var(--otp-gold, #ffcf5a); text-decoration: underline; }

/* galería (editor) */
.otp-bl-galcols { display: flex; align-items: center; gap: 12px; font-size: .86rem; color: var(--otp-muted, #dbe7f5); }
.otp-bl-galcols > span { font-weight: 600; }
.otp-bl-galgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 8px; }
.otp-bl-galcell { position: relative; display: flex; flex-direction: column; gap: 4px; }
.otp-bl-galcell img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; background: rgba(255,255,255,.06); }
.otp-bl-galalt { width: 100%; box-sizing: border-box; padding: 5px 7px !important; font-size: .76rem !important; border-radius: 6px !important; }
.otp-bl-galctl { display: flex; gap: 2px; justify-content: center; }
.otp-bl-galctl button { background: rgba(8,18,33,.55); border: 0; color: #fff; cursor: pointer; border-radius: 6px; padding: 3px 7px; font-size: .82rem; line-height: 1; }
.otp-bl-galctl button:hover { background: rgba(8,18,33,.8); }

/* tabla (editor) */
.otp-bl-tblwrap { overflow-x: auto; border: 1px solid var(--otp-line, rgba(255,255,255,.12)); border-radius: 10px; }
.otp-bl-tbl { border-collapse: collapse; width: 100%; }
.otp-bl-tbl th, .otp-bl-tbl td { border: 1px solid var(--otp-line, rgba(255,255,255,.1)); padding: 0; }
.otp-bl-tbl th input, .otp-bl-tbl td input { border: 0 !important; border-radius: 0 !important; background: transparent !important; min-width: 84px; padding: 7px 9px !important; }
.otp-bl-tbl th input { font-weight: 700; }
.otp-bl-tblctl { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.otp-bl-tblctl .otp-bl-btn { padding: 6px 12px; font-size: .82rem; }

/* imagen / cover */
.otp-bl-imgpick { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.otp-bl-covercol { display: flex; flex-direction: column; gap: 6px; }
.otp-bl-thumb { width: 80px; height: 60px; flex: 0 0 auto; border-radius: 8px; background: rgba(255,255,255,.06); display: grid; place-items: center; overflow: hidden; font-size: .72rem; color: var(--otp-muted, #dbe7f5); text-align: center; }
.otp-bl-thumb--cover { width: 110px; height: 72px; }
.otp-bl-thumb img { width: 100%; height: 100%; object-fit: cover; }
.otp-bl-coverhead { font-size: .82rem; font-weight: 700; color: var(--otp-muted, #dbe7f5); margin: 6px 0 8px; }
.otp-bl-cover { margin: 4px 0 16px; padding: 12px; border: 1px solid var(--otp-line, rgba(255,255,255,.12)); border-radius: 12px; }
.otp-bl-cover input { margin-top: 8px; }

/* faq rows (wizard + editor) */
.otp-bl-faqrow { display: grid; grid-template-columns: 1fr auto; gap: 6px 8px; margin-bottom: 10px; align-items: start; }
.otp-bl-faqrow input { grid-column: 1; }
.otp-bl-faqrow textarea { grid-column: 1; }
.otp-bl-faqdel { grid-column: 2; grid-row: 1 / span 2; align-self: stretch; background: transparent; border: 1px solid var(--otp-line, rgba(255,255,255,.2)); color: var(--otp-ink, #fff); border-radius: 8px; cursor: pointer; font-size: 1.1rem; padding: 0 10px; }

/* SEO panel */
.otp-bl-seo summary, .otp-bl-social summary, .otp-bl-prev summary { cursor: pointer; font-weight: 700; color: var(--otp-muted, #dbe7f5); padding: 8px 0; }
.otp-bl-seo__panel { margin-top: 8px; }
.otp-bl-seo__light { display: inline-block; padding: 5px 12px; border-radius: 999px; font-weight: 700; font-size: .85rem; margin-bottom: 8px; }
.otp-bl-seo__light--good { background: rgba(40,180,99,.22); color: #7ee2a6; }
.otp-bl-seo__light--ok { background: rgba(255,170,40,.2); color: #ffcf5a; }
.otp-bl-seo__light--bad { background: rgba(255,90,90,.2); color: #ff9a9a; }
.otp-bl-seo__light--na { background: rgba(255,255,255,.1); color: var(--otp-muted, #dbe7f5); }
.otp-bl-seo__list { list-style: none; margin: 0; padding: 0; font-size: .86rem; }
.otp-bl-seo__list li { padding: 3px 0; }
.otp-bl-seo__list li.is-ok { color: #7ee2a6; }
.otp-bl-seo__list li.is-no { color: var(--otp-muted, #dbe7f5); }

/* social placeholder */
.otp-bl-social__body { display: flex; flex-wrap: wrap; gap: 10px; padding: 6px 0; }
.otp-bl-social__opt { display: flex; align-items: center; gap: 6px; font-size: .88rem; color: var(--otp-muted, #dbe7f5); opacity: .7; }

/* preview */
.otp-bl-prev .otp-post__body { margin-top: 8px; padding: 12px; border: 1px solid var(--otp-line, rgba(255,255,255,.1)); border-radius: 12px; }

/* drafts */
.otp-bl-draftlist { display: flex; flex-direction: column; gap: 8px; }
.otp-bl-draft { display: flex; align-items: center; gap: 10px; padding: 10px 12px; background: rgba(255,255,255,.04); border: 1px solid var(--otp-line, rgba(255,255,255,.1)); border-radius: 10px; }
.otp-bl-draft__t { flex: 1; font-weight: 600; }
.otp-bl-draft__ctl button { background: none; border: 0; color: var(--otp-gold, #ffcf5a); cursor: pointer; font-weight: 600; font-size: .85rem; padding: 2px 6px; }
.otp-bl-badge { font-size: .7rem; text-transform: uppercase; letter-spacing: .04em; padding: 3px 8px; border-radius: 999px; background: rgba(255,255,255,.12); color: var(--otp-muted, #dbe7f5); }
.otp-bl-badge--sch { background: rgba(255,170,40,.2); color: #ffcf5a; }

/* toast */
.otp-bl-toast { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 20px); z-index: 2100; background: #0c1830; color: #fff; padding: 11px 18px; border-radius: 999px; font-size: .9rem; box-shadow: 0 8px 24px rgba(0,0,0,.4); opacity: 0; pointer-events: none; transition: opacity .2s ease, transform .2s ease; }
.otp-bl-toast.is-on { opacity: 1; transform: translate(-50%, 0); }

/* Movimiento reducido: se conserva el fundido (es el que comunica el cambio de estado) y se
   retira solo el desplazamiento/elevación, que es lo que molesta con sensibilidad vestibular. */
@media (prefers-reduced-motion: reduce) {
  .otp-news__card, .otp-news__loadbtn, .otp-post__cta, .otp-blogbar__back { transition: none; }
  .otp-news__card:hover, .otp-news__loadbtn:hover, .otp-post__cta:hover { transform: none; }
  .otp-blogbar__back:hover { transform: none; }
  .otp-bl-toast { transition: opacity .2s ease; transform: translate(-50%, 0); }
}
