/* Journal público: artículos completos y archivo permanente. */
.post-benefit { color: #e7e1d5; padding: 1rem 1.2rem; border-left: 3px solid var(--gold); background: #ffffff06; line-height: 1.7; margin-bottom: 1.5rem; }
.post-benefit strong { display: block; color: var(--gold-light); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; margin-bottom: .4rem; }
.post-sharing { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid #ffffff20; }
.post-sharing-label { font-size: .9rem; color: #d6d6cf; margin-bottom: .8rem; }
.post-sharing-buttons { display: flex; flex-wrap: wrap; gap: .6rem; }
.post-sharing-buttons > a, .post-sharing-buttons > button { display: inline-flex; justify-content: center; align-items: center; gap: .35rem; min-height: 44px; border: 1px solid #ffffff38; border-radius: 8px; padding: .6rem .9rem; background: #ffffff07; color: var(--text); font: inherit; font-size: .8rem; cursor: pointer; text-decoration: none; }
.post-sharing-buttons > .share-whatsapp { border-color: #328666; background: #123e2d; color: #b6f8d1; }
.post-sharing-buttons > :hover { border-color: var(--gold); }
.post-sharing-buttons > :focus-visible, .post-publish-options summary:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 3px; }
.post-sharing-buttons > :disabled { opacity: .55; cursor: wait; }
.post-publish-options { margin-top: 1rem; }
.post-publish-options summary { color: var(--gold-light); font-size: .8rem; cursor: pointer; padding: .5rem 0; }
.post-publish-options .post-sharing-buttons { margin-top: .5rem; }
.post-publish-options > p { color: #bfc7c2; font-size: .75rem; line-height: 1.6; margin-top: .75rem; }
.post-action-status { color: #d4e8d9; font-size: .8rem; line-height: 1.7; margin-top: .7rem; }
.post-copy-fallback { margin-top: .75rem; font-size: .8rem; }
.post-copy-fallback textarea { display: block; width: 100%; min-height: 110px; resize: vertical; margin-top: .5rem; padding: .8rem; background: #151b18; color: #fff; border: 1px solid var(--gold); border-radius: 6px; font: inherit; }
.post-community { padding: 1.2rem; margin-top: 1.5rem; border: 1px solid #ffffff20; border-radius: 10px; background: #ffffff04; }
.post-community strong { display: block; font-size: 1rem; color: var(--text); margin-bottom: .7rem; }
.post-community p { font-size: .85rem; line-height: 1.8; color: #c6c9c2; margin-top: .5rem; }
.post-community a { display: inline-block; color: var(--gold-light); font-size: .8rem; margin-top: .8rem; }
.post-card > .post-sharing, .post-card > .post-share { margin: 0 1.6rem 1.6rem; }
.post-detail > .post-sharing, .post-detail > .post-community, .post-detail > .post-benefit { max-width: 710px; margin-left: auto; margin-right: auto; }
.posts-home { padding: 100px 0; background: #0d0d0c; scroll-margin-top: 90px; }
.posts-home-intro { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2.8rem; }
.posts-home-intro h2 { max-width: 720px; }
.posts-home-intro p { color: #bcb7ab; max-width: 470px; line-height: 1.7; margin-top: 1.2rem; }
.posts-archive-link { color: var(--gold-light); white-space: nowrap; padding-bottom: .3rem; border-bottom: 1px solid #76612c; }
.post-feature { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 3rem; align-items: start; }
.post-picture { margin: 0; overflow: hidden; border-radius: 12px; position: relative; background: #191915; }
.post-picture img { width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; }
.post-picture figcaption { position: absolute; left: .75rem; bottom: .6rem; color: #fff; background: #000b; border-radius: 4px; padding: .25rem .5rem; font-size: .65rem; }
.post-feature > .post-picture { position: sticky; top: 110px; }
.post-feature > .post-picture img { aspect-ratio: 4/5; object-position: 44% center; }
.post-meta { display: flex; flex-wrap: wrap; gap: .5rem; color: #bdb6a5; font-size: .76rem; line-height: 1.5; margin-bottom: 1rem; }
.post-meta > span:first-child { color: var(--gold-light); font-weight: 600; }
.post-feature h3 { font-size: clamp(1.6rem, 2.4vw, 2.25rem); line-height: 1.12; margin-bottom: 1.4rem; }
.post-body p { color: #d2cec5; font-size: 1rem; line-height: 1.85; margin-bottom: 1rem; }
.post-body p:last-child { margin-bottom: 0; }
.post-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.3rem; margin-top: 1.8rem; }
.post-actions .btn { padding: .9rem 1.2rem; font-size: .82rem; }
.post-share { border: 0; background: none; color: var(--gold-light); font: inherit; font-size: .85rem; cursor: pointer; padding: .6rem 0; }
.post-sources { font-size: .75rem; color: #bdb6a5; margin-top: 1.25rem; line-height: 1.6; }
.post-sources a { text-decoration: underline; text-underline-offset: 3px; }
.post-share-status:not(:empty) { position: fixed; bottom: 1.4rem; left: 50%; transform: translateX(-50%); z-index: 1200; padding: 1rem 1.4rem; background: #ead9a4; color: #18150c; border-radius: 8px; width: max-content; max-width: 90vw; }
.posts-page { min-height: 100vh; }
.posts-header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.5rem max(2rem, calc((100% - 1136px)/2)); border-bottom: 1px solid var(--border); }
.posts-brand { font-size: 1.3rem; font-weight: 700; }
.posts-brand small { display: block; padding-left: 2rem; font-size: .7rem; color: #bdb6a5; font-weight: 400; margin-top: .25rem; }
.posts-header nav { display: flex; align-items: center; gap: 1.8rem; font-size: .9rem; }
.posts-header .btn { font-size: .8rem; padding: .8rem 1.2rem; }
.posts-main { padding-top: 4.5rem; padding-bottom: 5rem; }
.posts-intro h1 { font-size: clamp(2.3rem, 5.5vw, 4.8rem); max-width: 950px; line-height: 1.07; }
.posts-intro h1 em { color: var(--gold-light); font-style: normal; }
.posts-intro > p { margin-top: 1.5rem; line-height: 1.75; color: #bdb6a5; max-width: 600px; }
.post-topics { display: flex; flex-wrap: wrap; gap: .65rem; margin: 2rem 0 3.8rem; }
.post-topics span { font-size: .75rem; padding: .55rem .8rem; border: 1px solid #51482c; border-radius: 30px; color: #d4c9ab; }
.posts-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 1.6rem; }
.posts-section-heading h2 { font-size: clamp(1.5rem, 3vw, 2.2rem); }
.posts-section-heading > span { color: #bdb6a5; font-size: .8rem; line-height: 1.6; }
.posts-current { margin-bottom: 4rem; }
.post-card { border: 1px solid #343025; border-radius: 14px; overflow: hidden; background: #11110f; }
.post-card .post-picture { border-radius: 0; }
.post-card-copy { padding: 1.6rem; }
.post-card h3 { font-size: 1.4rem; line-height: 1.25; margin-bottom: 1rem; }
.post-card-copy > p { color: #bdb6a5; font-size: .9rem; line-height: 1.65; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.post-read { color: var(--gold-light); display: inline-block; margin-top: 1.25rem; font-size: .9rem; }
.posts-current .post-card > a { display: grid; grid-template-columns: 1fr 1.1fr; align-items: center; }
.posts-current .post-picture { align-self: stretch; }
.posts-current .post-picture img { height: 100%; min-height: 300px; }
.posts-current .post-card h3 { font-size: clamp(1.6rem, 3vw, 2.4rem); }
.posts-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.5rem; }
.post-empty { background: #12120f; border: 1px solid #343025; border-radius: 12px; padding: 2.5rem; }
.post-empty h3 { font-size: 1.4rem; margin-bottom: .9rem; }
.post-empty p { color: #bdb6a5; line-height: 1.8; max-width: 650px; }
.posts-pagination { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2rem; color: var(--gold-light); font-size: .85rem; }
.post-breadcrumb { display: flex; flex-wrap: wrap; gap: .65rem; font-size: .85rem; color: #bdb6a5; margin-bottom: 2.8rem; }
.post-detail { max-width: 850px; margin: 0 auto; }
.post-detail h1 { font-size: clamp(2rem, 4.8vw, 4rem); line-height: 1.12; margin-bottom: 2rem; }
.post-detail > .post-picture { margin-bottom: 2.5rem; }
.post-detail .post-body, .post-detail .post-sources, .post-detail .post-actions { max-width: 710px; margin-left: auto; margin-right: auto; }
.post-detail .post-body p { font-size: 1.1rem; line-height: 1.9; margin-bottom: 1.3rem; }
.post-back { display: block; color: var(--gold-light); margin: 3rem auto 0; max-width: 710px; }
.posts-footer { border-top: 1px solid #343025; padding-top: 2rem; padding-bottom: 2rem; display: flex; justify-content: space-between; gap: 1rem; color: #bdb6a5; font-size: .8rem; }
.posts-page a:focus-visible, .posts-home a:focus-visible, .post-share:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 5px; }
@media (max-width: 900px) {
  .post-feature { gap: 1.6rem; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); }
  .posts-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 680px) {
  .posts-home { padding: 64px 0; }
  .posts-home-intro { align-items: start; flex-direction: column; gap: 1.2rem; }
  .post-feature { grid-template-columns: minmax(0,1fr); gap: 1.5rem; }
  .post-feature > .post-picture { position: relative; top: auto; }
  .post-feature > .post-picture img { aspect-ratio: 3/2; }
  .posts-header { padding: 1.1rem 1.25rem; align-items: start; }
  .posts-brand { font-size: 1rem; }
  .posts-brand small { font-size: .6rem; padding-left: 0; }
  .posts-header nav { gap: .8rem; flex-wrap: wrap; justify-content: end; font-size: .8rem; }
  .posts-header .btn { padding: .65rem .8rem; font-size: .7rem; }
  .posts-main { padding-top: 2.5rem; }
  .posts-section-heading { flex-direction: column; align-items: start; }
  .posts-current .post-card > a, .posts-grid { grid-template-columns: minmax(0,1fr); }
  .posts-current .post-picture img { min-height: 0; height: auto; }
  .post-empty { padding: 1.5rem; }
  .posts-footer { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Compartir (mismos botones que las promociones; en /posts no carga style-v2.css). */
.post-share { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.4rem; padding-top: 1.2rem; border-top: 1px solid #ffffff20; }
.posts-page .post-share .btn, .posts-home .post-share .btn { display: inline-flex; align-items: center; justify-content: center; padding: .6rem 1rem; border-radius: 999px; font: inherit; font-weight: 700; font-size: .82rem; border: 1.5px solid var(--gold); background: transparent; color: var(--gold); cursor: pointer; text-decoration: none; transition: background .2s, color .2s; }
.posts-page .post-share .btn:hover, .posts-home .post-share .btn:hover { background: var(--gold); color: #111; }
.posts-page .post-share .btn-wa, .posts-home .post-share .btn-wa { background: #25d366; border-color: #25d366; color: #fff; }
.posts-page .post-share .btn:disabled { opacity: .55; cursor: wait; }
.posts-page .post-share .btn, .posts-home .post-share .btn { flex: 0 0 auto; width: auto; min-width: 0; }
.post-share-status { position: fixed; left: 50%; bottom: 5.4rem; transform: translate(-50%, 10px); background: #111; color: #fff; padding: .7rem 1.1rem; border-radius: 999px; font-size: .85rem; opacity: 0; pointer-events: none; transition: opacity .3s, transform .3s; z-index: 1200; margin: 0; width: max-content; max-width: 90vw; }
.post-share-status:not(:empty) { position: fixed; bottom: 5.4rem; background: #111; color: #fff; padding: .7rem 1.1rem; border-radius: 999px; }
.post-share-status.visible { opacity: 1; transform: translate(-50%, 0); }
.post-card > .post-share { padding-top: 1rem; }

.post-share .promo-share-label { flex: 0 0 100%; font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; color: #bfc7c2; font-weight: 700; }
