/* CEMESAN · Noticias (usa las variables y componentes de /css/styles.css) */
.news-hero{padding:56px 0 46px}
.news-hero h1{font-size:clamp(34px,4.4vw,56px);line-height:1.06;letter-spacing:-1.5px;margin:0 0 16px;color:var(--navy)}
.news-crumbs{font-size:13px;color:var(--muted);margin-bottom:18px}.news-crumbs a{color:var(--blue);font-weight:700}
.news-cats{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.news-cats a{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:800;color:var(--navy)}
.news-cats a[aria-current]{background:var(--blue);border-color:var(--blue);color:#fff}
.news-list{padding-top:56px}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.news-card .service-photo{height:auto;aspect-ratio:16/9}
.news-card .service-photo img{width:100%;height:100%;object-fit:cover}
.news-noimg{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f7fbff,#eef7ff)}
.news-noimg img{width:55%!important;height:auto!important;object-fit:contain!important;opacity:.85}
.news-card .service-body{display:flex;flex-direction:column}
.news-meta{font-size:13px;font-weight:700;color:var(--muted);margin:0 0 8px}
.news-meta span{color:var(--blue)}
.news-card .news-card-title{font-size:20px;line-height:1.25;letter-spacing:-.2px;margin:0 0 10px;color:var(--navy)}
.news-pager{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:40px;flex-wrap:wrap;font-weight:700;color:var(--muted)}
.news-empty{max-width:680px;margin:0 auto;text-align:center;padding:40px 24px;border:1px dashed var(--line);border-radius:24px;background:var(--soft)}
.news-empty a{color:var(--blue);font-weight:800}
.news-narrow{width:min(820px,calc(100% - 40px))}
.news-body{padding-top:40px}
.news-cover{margin:0 0 36px}
.news-cover img{display:block;width:100%;height:auto;border-radius:24px;box-shadow:var(--shadow);border:6px solid #fff}
.news-content{font-size:18px;line-height:1.75;color:#29425f;overflow-wrap:break-word}
.news-content h2{font-size:30px;letter-spacing:-.8px;line-height:1.2;margin:42px 0 14px;color:var(--navy)}
.news-content h3{font-size:23px;margin:32px 0 10px;color:var(--navy)}
.news-content h4{font-size:19px;margin:26px 0 8px;color:var(--navy)}
.news-content a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.news-content img{max-width:100%;height:auto;border-radius:16px;margin:10px 0}
.news-content blockquote{margin:26px 0;padding:16px 22px;border-left:4px solid var(--yellow);background:#fff9df;border-radius:10px;color:#4b5563}
.news-content ul,.news-content ol{padding-left:26px}.news-content li{margin:6px 0}
.news-content pre{background:#0a1d34;color:#e6eef7;padding:16px;border-radius:12px;overflow:auto;font-size:14px}
.news-content .ql-align-center{text-align:center}.news-content .ql-align-right{text-align:right}.news-content .ql-align-justify{text-align:justify}
.news-content .ql-indent-1{padding-left:2em}.news-content .ql-indent-2{padding-left:4em}.news-content .ql-indent-3{padding-left:6em}
.news-content iframe.news-video{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:16px;margin:20px 0}
.news-tags{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0 0}.news-tags span{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700;color:var(--muted)}
.news-share{margin:28px 0;display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:14px}
.news-share a{color:var(--blue);font-weight:800;border:1px solid var(--line);border-radius:999px;padding:7px 14px}
.news-cta{margin-top:34px}.news-cta h2{font-size:26px;letter-spacing:-.5px;margin:0 0 6px}
.news-preview-bar{position:sticky;top:0;z-index:200;background:var(--yellow);color:var(--navy);text-align:center;font-weight:800;padding:10px;font-size:14px}
.news-preview-bar a{text-decoration:underline}
.news-home .news-more{margin-top:30px}
@media(max-width:900px){.news-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.news-grid{grid-template-columns:1fr}.news-hero{padding:40px 0 30px}.news-content{font-size:17px}.news-content h2{font-size:25px}.news-narrow{width:calc(100% - 28px)}body.news-page main{padding-bottom:50px}}
