/* ═══════════════════════════════════════════════
   TAPICERÍA ESDRAS — Blog y novedades
═══════════════════════════════════════════════ */
.blog-hero-bg { filter: brightness(.38) !important; background-position: center 35% !important; }

/* ── Listado ── */
.blog-wrap { max-width: min(1160px, 100%); margin: 0 auto; padding: clamp(56px, 8vw, 96px) var(--pad-x); }
.blog-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.blog-card { display: flex; flex-direction: column; background: var(--dk2); border: 1px solid rgba(201,168,76,.14); border-radius: 14px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .35s var(--ease), border-color .35s, box-shadow .35s; }
.blog-card:hover { transform: translateY(-4px); border-color: rgba(201,168,76,.45); box-shadow: 0 18px 40px rgba(0,0,0,.45); }
.blog-card-img { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--dk3); }
.blog-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s var(--ease); }
.blog-card:hover .blog-card-img img { transform: scale(1.05); }
.blog-tag { position: absolute; top: 14px; left: 14px; padding: 6px 12px; border-radius: 999px; background: rgba(7,7,7,.78); border: 1px solid rgba(201,168,76,.4); color: var(--gold-l); font: 500 .62rem/1 var(--fb); letter-spacing: .18em; text-transform: uppercase; }
.blog-play { position: absolute; right: 14px; bottom: 14px; width: 40px; height: 40px; border-radius: 50%; background: rgba(201,168,76,.92); color: #141008; display: flex; align-items: center; justify-content: center; }
.blog-play svg { width: 16px; height: 16px; margin-left: 2px; }
.blog-card-body { padding: 22px 22px 26px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.blog-date { font: 400 .72rem var(--fb); letter-spacing: .12em; text-transform: uppercase; color: rgba(244,239,230,.55); }
.blog-card h2, .blog-card h3 { font-family: var(--fd); font-weight: 400; font-size: 1.35rem; line-height: 1.25; color: var(--wh); margin: 0; }
.blog-card p { font-size: .88rem; line-height: 1.65; color: var(--wh-dim); margin: 0; }
.blog-more { margin-top: auto; padding-top: 8px; color: var(--gold); font: 500 .74rem var(--fb); letter-spacing: .16em; text-transform: uppercase; }
.blog-card.featured { grid-column: 1 / -1; flex-direction: row; }
.blog-card.featured .blog-card-img { flex: 1.15; aspect-ratio: auto; min-height: 360px; }
.blog-card.featured .blog-card-body { flex: 1; padding: clamp(28px, 4vw, 48px); justify-content: center; }
.blog-card.featured h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); }

/* ── Noticia ── */
.post-wrap { max-width: 760px; margin: 0 auto; padding: clamp(48px, 7vw, 80px) var(--pad-x) 40px; }
.post-crumbs { font-size: .74rem; color: var(--wh-faint, rgba(244,239,230,.45)); margin-bottom: 28px; letter-spacing: .04em; }
.post-crumbs a { color: var(--gold); text-decoration: none; }
.post-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; margin-top: 18px; font-size: .78rem; color: rgba(244,239,230,.7); letter-spacing: .06em; }
.post-meta span { display: inline-flex; align-items: center; gap: 6px; }
.post-body { font-size: 1.02rem; line-height: 1.85; color: var(--wh-dim); }
.post-body p { margin: 0 0 1.3em; }
.post-body h2 { font-family: var(--fd); font-weight: 400; font-size: clamp(1.5rem, 3vw, 1.9rem); color: var(--wh); margin: 1.8em 0 .6em; line-height: 1.25; }
.post-body h2 em { color: var(--gold-l); }
.post-body strong { color: var(--wh); font-weight: 500; }
.post-lead { font-size: 1.18rem; line-height: 1.75; color: var(--wh); }
.post-body ul { padding-left: 1.2em; margin: 0 0 1.3em; }
.post-body li { margin-bottom: .5em; }
.post-body li::marker { color: var(--gold); }
.post-video { display: flex; justify-content: center; margin: 36px 0; }
.post-video video { width: min(100%, 380px); height: auto; aspect-ratio: 9 / 16; border-radius: 16px; border: 1px solid rgba(201,168,76,.3); background: #000; box-shadow: 0 18px 50px rgba(0,0,0,.55); }
.post-video-cap { text-align: center; font-size: .78rem; color: rgba(244,239,230,.55); margin-top: -20px; margin-bottom: 30px; }
.post-video-cap a { color: var(--gold); }
.post-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 32px 0; }
.post-gallery figure { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 10px; background: var(--dk3); }
.post-gallery img { width: 100%; height: 100%; object-fit: cover; display: block; }
.post-ba { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 28px 0; }
.post-ba figure { margin: 0; position: relative; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 10px; }
.post-ba img { width: 100%; height: 100%; object-fit: cover; display: block; }
.post-ba figcaption { position: absolute; left: 10px; top: 10px; padding: 5px 11px; border-radius: 999px; font: 600 .62rem/1 var(--fb); letter-spacing: .16em; text-transform: uppercase; background: rgba(7,7,7,.8); color: #F4EFE6; }
.post-ba figure:last-child figcaption { background: var(--gold); color: #141008; }
.post-cta { margin: 48px 0 12px; padding: clamp(28px, 4vw, 40px); border-radius: 16px; background: linear-gradient(135deg, rgba(31,79,64,.55), rgba(18,18,18,.9)); border: 1px solid rgba(201,168,76,.3); text-align: center; }
.post-cta h2 { font-family: var(--fd); font-weight: 400; font-size: clamp(1.5rem, 3vw, 2rem); color: var(--wh); margin: 0 0 10px; }
.post-cta h2 em { color: var(--gold-l); }
.post-cta p { color: var(--wh-dim); margin: 0 auto 22px; max-width: 480px; font-size: .92rem; line-height: 1.7; }
.post-cta .hero-actions, .post-cta-btns { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.post-related { max-width: min(1160px, 100%); margin: 0 auto; padding: 24px var(--pad-x) clamp(64px, 9vw, 100px); }
.post-related-h { font-family: var(--fd); font-weight: 400; font-size: clamp(1.6rem, 3vw, 2.2rem); color: var(--wh); margin: 0 0 28px; }
.post-related .blog-grid { grid-template-columns: repeat(2, 1fr); }

@media (max-width: 900px) {
  .blog-card.featured { flex-direction: column; }
  .blog-card.featured .blog-card-img { min-height: 0; aspect-ratio: 4 / 3; }
}
@media (max-width: 600px) {
  .blog-grid, .post-related .blog-grid { grid-template-columns: 1fr; }
  .post-gallery { grid-template-columns: 1fr 1fr; }
  .post-body { font-size: .98rem; }
}
html[data-theme="light"] .blog-card { background: #fff; }

/* ═══════════ Noticia — diseño revista (premium) ═══════════ */
.mx { --acc: var(--gold); --acc-l: var(--gold-l); --acc-rgb: 201,168,76; }
.mx.acc-halloween { --acc: #E07A2E; --acc-l: #F29A4A; --acc-rgb: 224,122,46; }
.mx-hero { position: relative; min-height: 100vh; min-height: 100svh; display: flex; align-items: flex-end; overflow: hidden; padding: calc(var(--nav-h) + 40px) var(--pad-x) clamp(48px, 7vw, 90px); }
.mx-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; filter: brightness(.5); }
.mx-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,5,5,.25) 0%, rgba(5,5,5,.35) 45%, #050505 100%); }
.mx.acc-halloween .mx-hero::after { background: radial-gradient(ellipse at 70% 20%, rgba(224,122,46,.18), transparent 60%), linear-gradient(180deg, rgba(5,5,5,.25) 0%, rgba(5,5,5,.4) 45%, #050505 100%); }
.mx-hero-in { position: relative; z-index: 2; max-width: 1160px; margin: 0 auto; width: 100%; }
.mx-big { position: absolute; right: -.04em; bottom: -.16em; z-index: 1; pointer-events: none; font: 400 clamp(8rem, 26vw, 24rem)/1 var(--fd); color: transparent; -webkit-text-stroke: 1px rgba(var(--acc-rgb), .38); white-space: nowrap; }
.mx-pill { display: inline-flex; gap: 10px; align-items: center; padding: 8px 16px; border: 1px solid rgba(var(--acc-rgb), .55); border-radius: 999px; background: rgba(5,5,5,.55); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font: 500 .66rem var(--fb); letter-spacing: .2em; text-transform: uppercase; color: var(--acc-l); }
.mx-pill i { width: 7px; height: 7px; border-radius: 50%; background: var(--acc); }
.mx-h1 { font: 400 clamp(2.4rem, 6.4vw, 5.4rem)/1.04 var(--fd); color: #F4EFE6; margin: 22px 0 18px; max-width: 920px; }
.mx-h1 em { color: var(--acc-l); }
.mx-sub { max-width: 580px; color: rgba(244,239,230,.82); font-size: 1.05rem; line-height: 1.7; }
.mx-meta { display: flex; gap: 22px; flex-wrap: wrap; margin-top: 26px; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(244,239,230,.62); }
.mx-meta b { color: var(--acc-l); font-weight: 500; }
.mx-stats { position: relative; z-index: 3; max-width: 1160px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid rgba(var(--acc-rgb), .25); border-radius: 18px; background: linear-gradient(135deg, rgba(31,79,64,.35), rgba(14,14,14,.95)); overflow: hidden; }
.mx.acc-halloween .mx-stats { background: linear-gradient(135deg, rgba(224,122,46,.16), rgba(14,14,14,.95)); }
.mx-stat { padding: 28px 18px; text-align: center; border-right: 1px solid rgba(var(--acc-rgb), .15); }
.mx-stat:last-child { border-right: 0; }
.mx-stat b { display: block; font: 400 clamp(2rem, 4vw, 3rem)/1.05 var(--fd); color: var(--acc-l); }
.mx-stat.txt b { font-size: clamp(1.25rem, 2.2vw, 1.7rem); }
.mx-stat span { display: block; margin-top: 8px; font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(244,239,230,.62); }
.mx-wrap { max-width: 1160px; margin: 0 auto; padding: 0 var(--pad-x); }
.mx-intro { display: grid; grid-template-columns: 1fr 340px; gap: clamp(40px, 6vw, 90px); align-items: center; padding: clamp(70px, 9vw, 120px) 0; }
.mx-lead { font: 400 clamp(1.45rem, 2.5vw, 2.05rem)/1.45 var(--fd); color: #F4EFE6; border-left: 2px solid var(--acc); padding-left: 24px; }
.mx-lead em { color: var(--acc-l); }
.mx-txt { color: rgba(244,239,230,.74); line-height: 1.85; font-size: 1rem; margin-top: 22px; }
.mx-txt strong, .mx-ch p strong, .mx-list strong { color: #F4EFE6; font-weight: 500; }
.mx-phone { position: relative; border-radius: 34px; padding: 10px; background: linear-gradient(160deg, #2a2a2a, #0b0b0b); box-shadow: 0 0 0 1px rgba(var(--acc-rgb), .4), 0 40px 80px rgba(0,0,0,.7), 0 0 80px rgba(var(--acc-rgb), .14); }
.mx-phone video { display: block; width: 100%; height: auto; aspect-ratio: 9 / 16; border-radius: 26px; background: #000; object-fit: cover; }
.mx-phone-cap { position: absolute; left: 50%; bottom: -16px; transform: translateX(-50%); white-space: nowrap; padding: 8px 16px; border-radius: 999px; background: var(--acc); color: #141008; font: 600 .66rem var(--fb); letter-spacing: .16em; text-transform: uppercase; }
.mx-ig { display: block; text-align: center; margin-top: 30px; font-size: .74rem; color: rgba(244,239,230,.55); }
.mx-ig a { color: var(--acc-l); }
.mx-ch { display: grid; grid-template-columns: 140px 1fr; gap: 30px; padding: 60px 0; border-top: 1px solid rgba(var(--acc-rgb), .12); }
.mx-ch > div { min-width: 0; }
.mx-num { font: 400 6rem/1 var(--fd); color: transparent; -webkit-text-stroke: 1px rgba(var(--acc-rgb), .65); }
.mx-ch h2 { font: 400 clamp(1.8rem, 3.4vw, 2.6rem)/1.15 var(--fd); color: #F4EFE6; margin-bottom: 16px; }
.mx-ch h2 em { color: var(--acc-l); }
.mx-ch p { color: rgba(244,239,230,.74); line-height: 1.85; max-width: 680px; margin-bottom: 1em; }
.mx-ch p a { color: var(--acc-l); }
.mx-list { list-style: none; padding: 0; margin: 8px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; max-width: 760px; }
.mx-list li { padding: 18px 20px; border: 1px solid rgba(var(--acc-rgb), .22); border-radius: 14px; background: rgba(255,255,255,.02); color: rgba(244,239,230,.74); line-height: 1.6; font-size: .92rem; }
.mx-list li strong { display: block; margin-bottom: 4px; color: var(--acc-l); font-weight: 500; }
.mx-mosaic { display: grid; grid-template-columns: 1.3fr 1fr 1fr; grid-template-rows: 220px 220px; gap: 10px; margin-top: 34px; }
.mx-mosaic figure { position: relative; margin: 0; border-radius: 14px; overflow: hidden; background: var(--dk3); }
.mx-mosaic figure:first-child { grid-row: 1 / 3; }
.mx-mosaic img, .mx-strip img, .mx-ba img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s var(--ease); }
.mx-mosaic figure:hover img, .mx-strip figure:hover img { transform: scale(1.06); }
.mx-mosaic figcaption, .mx-strip figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 30px 14px 12px; background: linear-gradient(180deg, transparent, rgba(0,0,0,.85)); font-size: .74rem; color: #F4EFE6; letter-spacing: .04em; }
.mx-strip { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; margin-top: 34px; scrollbar-width: thin; scrollbar-color: rgba(var(--acc-rgb), .5) transparent; }
.mx-strip figure { position: relative; flex: 0 0 240px; aspect-ratio: 3 / 4; margin: 0; border-radius: 14px; overflow: hidden; scroll-snap-align: start; border: 1px solid rgba(var(--acc-rgb), .15); }
.mx-ba { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 34px; max-width: 760px; }
.mx-ba figure { position: relative; margin: 0; aspect-ratio: 4 / 5; border-radius: 14px; overflow: hidden; }
.mx-ba figcaption { position: absolute; left: 12px; top: 12px; padding: 6px 13px; border-radius: 999px; font: 600 .62rem/1 var(--fb); letter-spacing: .16em; text-transform: uppercase; background: rgba(7,7,7,.82); color: #F4EFE6; }
.mx-ba figure:last-child figcaption { background: var(--acc); color: #141008; }
.mx-quote { position: relative; margin: 20px 0; padding: clamp(50px, 7vw, 90px) var(--pad-x); text-align: center; background: radial-gradient(ellipse at center, rgba(31,79,64,.45), transparent 70%); }
.mx.acc-halloween .mx-quote { background: radial-gradient(ellipse at center, rgba(224,122,46,.18), transparent 70%); }
.mx-quote p { max-width: 860px; margin: 0 auto; font: italic 400 clamp(1.6rem, 3.4vw, 2.8rem)/1.3 var(--fd); color: #F4EFE6; }
.mx-quote p::before { content: '\201C'; display: block; font-size: 2.4em; line-height: .6; color: var(--acc); margin-bottom: 10px; }
.mx-quote span { display: block; margin-top: 22px; font: 500 .7rem var(--fb); letter-spacing: .22em; text-transform: uppercase; color: var(--acc-l); }
.mx-cta { position: relative; margin: 70px auto 30px; max-width: 1160px; border-radius: 22px; overflow: hidden; display: grid; grid-template-columns: 1.2fr 1fr; min-height: 340px; border: 1px solid rgba(var(--acc-rgb), .3); }
.mx-cta-txt { padding: clamp(30px, 5vw, 60px); background: linear-gradient(135deg, #0f2a21, #0b0b0b); display: flex; flex-direction: column; justify-content: center; }
.mx.acc-halloween .mx-cta-txt { background: linear-gradient(135deg, #2a160a, #0b0b0b); }
.mx-cta-txt h2 { font: 400 clamp(1.8rem, 3.4vw, 2.6rem)/1.15 var(--fd); color: #F4EFE6; margin-bottom: 14px; }
.mx-cta-txt h2 em { color: var(--acc-l); }
.mx-cta-txt p { color: rgba(244,239,230,.74); line-height: 1.7; margin-bottom: 26px; }
.mx-cta-img { background-size: cover; background-position: center; }
.mx-btns { display: flex; gap: 12px; flex-wrap: wrap; }
.mx-crumbs { max-width: 1160px; margin: 0 auto; padding: 26px var(--pad-x) 0; font-size: .74rem; color: rgba(244,239,230,.5); letter-spacing: .04em; }
.mx-crumbs a { color: var(--acc-l); text-decoration: none; }
@media (max-width: 900px) {
  .mx-hero { min-height: 88vh; min-height: 88svh; }
  .mx-stats { grid-template-columns: 1fr 1fr; margin: 0 16px; border-radius: 14px; }
  .mx-stat:nth-child(2) { border-right: 0; }
  .mx-stat:nth-child(-n+2) { border-bottom: 1px solid rgba(var(--acc-rgb), .15); }
  .mx-intro { grid-template-columns: 1fr; }
  .mx-phone { max-width: 300px; margin: 0 auto; width: 100%; }
  .mx-ch { grid-template-columns: 1fr; gap: 6px; padding: 44px 0; }
  .mx-num { font-size: 4rem; }
  .mx-mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: 260px 160px 160px; }
  .mx-mosaic figure:first-child { grid-column: 1 / 3; grid-row: auto; }
  .mx-list { grid-template-columns: 1fr; }
  .mx-cta { grid-template-columns: 1fr; margin: 50px 16px 20px; }
  .mx-cta-img { min-height: 200px; order: -1; }
}
.mx-txt a, .mx-ch p a { color: var(--acc-l); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(var(--acc-rgb), .5); }
