/*
Theme Name: Ecoss Blog — Construction Works
Theme URI: https://ecossengenharia.com.br/
Description: Tema filho visual e editorial do Blog Ecoss Engenharia, baseado em Construction Works.
Author: Ecoss Engenharia
Template: construction-works
Version: 1.0.16
Text Domain: ecoss-blog
*/

:root {
  --ecoss-navy: #002262;
  --ecoss-navy-deep: #00183f;
  --ecoss-green: #269e44;
  --ecoss-orange: #fd9f01;
  --ecoss-ink: #14202b;
  --ecoss-muted: #576675;
  --ecoss-paper: #ffffff;
  --ecoss-wash: #f3f6f7;
  --ecoss-line: #dbe3e6;
  --ecoss-radius: 20px;
  --ecoss-shadow: 0 14px 36px rgba(0, 34, 98, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.ecoss-site { background: var(--ecoss-paper); color: var(--ecoss-ink); font-family: Arial, Helvetica, sans-serif; line-height: 1.6; }
body.ecoss-site a { color: inherit; }
.ecoss-container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.ecoss-skip { position: absolute; left: -999px; top: auto; }
.ecoss-skip:focus { left: 12px; top: 12px; z-index: 100; padding: 12px 16px; background: #fff; border: 2px solid var(--ecoss-navy); border-radius: 8px; }
.ecoss-header { background: #fff; border-bottom: 1px solid var(--ecoss-line); position: sticky; top: 0; z-index: 50; }
.ecoss-header__inner { min-height: 78px; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.ecoss-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.ecoss-brand img { width: 52px; height: 52px; object-fit: contain; }
.ecoss-brand__copy { display: grid; gap: 0; }
.ecoss-brand__copy strong { font-size: 1.05rem; letter-spacing: -.03em; color: var(--ecoss-navy); }
.ecoss-brand__copy span { font-size: .71rem; color: var(--ecoss-muted); text-transform: uppercase; letter-spacing: .11em; font-weight: 700; }
.ecoss-menu { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 4px; list-style: none; padding: 0; margin: 0; }
.ecoss-menu a { color: var(--ecoss-ink); text-decoration: none; display: inline-flex; padding: 10px 12px; border-radius: 9px; font-size: .9rem; font-weight: 700; }
.ecoss-menu a:hover, .ecoss-menu a:focus { color: var(--ecoss-navy); background: var(--ecoss-wash); outline: none; }
.ecoss-menu .ecoss-menu__action a { color: #fff; background: var(--ecoss-navy); }
.ecoss-menu .ecoss-menu__action a:hover, .ecoss-menu .ecoss-menu__action a:focus { background: var(--ecoss-green); color: #fff; }

.ecoss-hero { background: var(--ecoss-navy-deep); color: #fff; padding: clamp(58px, 7vw, 98px) 0; position: relative; overflow: hidden; }
.ecoss-hero:after { content: ''; position: absolute; width: 65vw; height: 65vw; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; right: -24vw; top: -42vw; }
.ecoss-hero__grid { display: grid; grid-template-columns: minmax(0, 1.14fr) minmax(280px, .86fr); gap: clamp(28px, 5vw, 70px); align-items: center; position: relative; z-index: 1; }
.ecoss-eyebrow { margin: 0 0 14px; color: #c6dcff; font-size: .76rem; text-transform: uppercase; letter-spacing: .14em; font-weight: 800; }
.ecoss-hero h1 { margin: 0; max-width: 760px; color: #fff !important; font-size: clamp(2.25rem, 4.7vw, 4.5rem); line-height: 1.03; letter-spacing: -.055em; }
.ecoss-hero p { margin: 22px 0 0; max-width: 670px; color: #fff !important; font-size: clamp(1rem, 1.5vw, 1.15rem); }
.ecoss-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.ecoss-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 12px 18px; border-radius: 10px; font-weight: 800; text-decoration: none; border: 2px solid transparent; }
.ecoss-button--primary { color: #fff; background: var(--ecoss-green); }
.ecoss-button--primary:hover, .ecoss-button--primary:focus { background: #1d7c35; }
.ecoss-button--light { color: #fff; border-color: rgba(255,255,255,.58); }
.ecoss-button--light:hover, .ecoss-button--light:focus { background: rgba(255,255,255,.13); }
.ecoss-hero__visual { margin: 0; overflow: hidden; border-radius: var(--ecoss-radius); background: #fff; box-shadow: var(--ecoss-shadow); border: 1px solid rgba(255,255,255,.28); }
.ecoss-hero__visual img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: center 52%; }
.ecoss-hero__visual figcaption { padding: 10px 14px; color: var(--ecoss-navy); background: #fff; font-size: .76rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }

.ecoss-section { padding: clamp(54px, 7vw, 90px) 0; }
.ecoss-section--wash { background: var(--ecoss-wash); }
.ecoss-section__heading { max-width: 740px; margin-bottom: 30px; }
.ecoss-section__heading h2 { margin: 0; font-size: clamp(1.7rem, 3vw, 2.7rem); line-height: 1.08; letter-spacing: -.045em; color: var(--ecoss-navy); }
.ecoss-section__heading p { margin: 12px 0 0; color: var(--ecoss-muted); }
.ecoss-axis-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.ecoss-axis { padding: 20px; border-radius: 14px; border: 1px solid var(--ecoss-line); background: #fff; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.ecoss-axis:hover, .ecoss-axis:focus { transform: translateY(-3px); box-shadow: var(--ecoss-shadow); outline: none; }
.ecoss-axis small { color: var(--ecoss-green); font-weight: 900; letter-spacing: .12em; }
.ecoss-axis h3 { margin: 9px 0 7px; color: var(--ecoss-navy); font-size: 1.12rem; }
.ecoss-axis p { margin: 0; color: var(--ecoss-muted); font-size: .9rem; }
.ecoss-section--calculators { background: #fff; }
.ecoss-calculators { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: 28px; align-items: center; padding: clamp(28px, 4vw, 46px); border: 1px solid var(--ecoss-line); border-radius: var(--ecoss-radius); background: linear-gradient(135deg, #f4faf5 0%, #fff9ed 100%); box-shadow: 0 8px 24px rgba(0,34,98,.07); }
.ecoss-calculators .ecoss-eyebrow { color: var(--ecoss-green); }
.ecoss-calculators h2 { margin: 0; color: var(--ecoss-navy); font-size: clamp(1.55rem, 3vw, 2.45rem); line-height: 1.1; letter-spacing: -.04em; }
.ecoss-calculators p { margin: 14px 0 0; color: var(--ecoss-muted); }
.ecoss-calculators__actions { display: grid; gap: 12px; }
.ecoss-calculators__actions .ecoss-button { width: 100%; text-align: center; }
.ecoss-button--outline { color: var(--ecoss-navy); border-color: var(--ecoss-navy); background: #fff; }
.ecoss-button--outline:hover, .ecoss-button--outline:focus { background: var(--ecoss-navy); color: #fff; }
.ecoss-post-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.ecoss-post-card { overflow: hidden; background: #fff; border: 1px solid var(--ecoss-line); border-radius: var(--ecoss-radius); box-shadow: 0 8px 22px rgba(0,34,98,.07); }
.ecoss-post-card__cover { display: block; aspect-ratio: 16 / 8.7; overflow: hidden; background: var(--ecoss-wash); }
.ecoss-post-card__cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.ecoss-post-card__cover:hover img { transform: scale(1.03); }
.ecoss-post-card__body { padding: 24px; }
.ecoss-post-card__meta { color: var(--ecoss-green); font-size: .75rem; letter-spacing: .09em; font-weight: 900; text-transform: uppercase; }
.ecoss-post-card h3 { margin: 10px 0; color: var(--ecoss-navy); font-size: 1.42rem; line-height: 1.16; letter-spacing: -.03em; }
.ecoss-post-card h3 a { text-decoration: none; }
.ecoss-post-card p { margin: 0; color: var(--ecoss-muted); }
.ecoss-read-more { margin-top: 18px; color: var(--ecoss-navy); font-weight: 900; text-decoration: none; display: inline-flex; gap: 7px; align-items: center; }
.ecoss-read-more:hover { color: var(--ecoss-green); }
.ecoss-cta { display: flex; justify-content: space-between; align-items: center; gap: 28px; padding: clamp(26px, 4vw, 42px); border-radius: var(--ecoss-radius); background: var(--ecoss-navy); color: #fff; }
.ecoss-cta h2 { margin: 0; color: #fff !important; font-size: clamp(1.5rem, 2.7vw, 2.35rem); letter-spacing: -.04em; line-height: 1.1; }
.ecoss-cta p { margin: 9px 0 0; color: #fff !important; max-width: 680px; }
.ecoss-cta .ecoss-button { flex: none; background: var(--ecoss-orange); color: var(--ecoss-navy-deep) !important; }
.ecoss-cta .ecoss-button:hover { background: #e18e00; }

.ecoss-page-header { padding: 64px 0 42px; background: var(--ecoss-navy); color: #fff; }
.ecoss-page-header h1 { margin: 0; max-width: 850px; font-size: clamp(2rem, 4vw, 3.7rem); line-height: 1.06; letter-spacing: -.055em; }
.ecoss-page-header p { color: #dce9fa; margin: 15px 0 0; }
.ecoss-main { padding: clamp(38px, 6vw, 78px) 0; }
.ecoss-archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ecoss-archive-grid .ecoss-post-card h3 { font-size: 1.18rem; }
.ecoss-archive-grid .ecoss-post-card__body { padding: 19px; }
.ecoss-empty { padding: 32px; border: 1px dashed var(--ecoss-line); border-radius: var(--ecoss-radius); color: var(--ecoss-muted); }
.ecoss-section--start { background: linear-gradient(180deg, #fff 0%, var(--ecoss-wash) 100%); }
.ecoss-start-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 0; margin: 0; list-style: none; }
.ecoss-start-card { display: grid; grid-template-columns: 54px 1fr; gap: 16px; min-height: 190px; padding: 24px; background: #fff; border: 1px solid var(--ecoss-line); border-top: 4px solid var(--ecoss-green); box-shadow: var(--ecoss-shadow); }
.ecoss-start-card__number { color: var(--ecoss-green); font-size: 1.1rem; font-weight: 900; letter-spacing: .1em; }
.ecoss-start-card h3 { margin: 5px 0 10px; color: var(--ecoss-navy); font-size: 1.25rem; line-height: 1.25; }
.ecoss-start-card h3 a { color: var(--ecoss-navy); text-decoration: none; }
.ecoss-start-card p { margin: 0 0 12px; color: var(--ecoss-muted); }
.ecoss-text-link { color: var(--ecoss-navy); font-weight: 900; text-decoration: none; }
.ecoss-text-link:hover { color: var(--ecoss-green); }

.ecoss-article { max-width: 850px; margin: 0 auto; }
.ecoss-article__meta { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-bottom: 14px; color: var(--ecoss-muted); font-size: .88rem; }
.ecoss-article__meta a { color: var(--ecoss-green); font-weight: 800; text-decoration: none; }
.ecoss-article h1 { margin: 0; color: var(--ecoss-navy); font-size: clamp(2.2rem, 4.5vw, 4.2rem); line-height: 1.04; letter-spacing: -.058em; }
.ecoss-article__lead { max-width: 760px; margin: 20px 0 30px; color: var(--ecoss-muted); font-size: 1.18rem; }
.ecoss-article__cover { margin: 0 0 34px; border-radius: var(--ecoss-radius); overflow: hidden; background: var(--ecoss-wash); }
.ecoss-article__cover img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.ecoss-article__cover figcaption, .ecoss-inline-media figcaption { padding: 12px 16px; color: var(--ecoss-muted); background: var(--ecoss-wash); font-size: .83rem; line-height: 1.45; }
.ecoss-article__content { font-size: 1.04rem; }
.ecoss-article__content h2 { margin: 44px 0 15px; color: var(--ecoss-navy); font-size: clamp(1.45rem, 3vw, 2.15rem); line-height: 1.14; letter-spacing: -.036em; }
.ecoss-article__content h3 { margin: 29px 0 10px; color: var(--ecoss-navy); font-size: 1.18rem; }
.ecoss-article__content p, .ecoss-article__content li { color: #263440; }
.ecoss-article__content a { color: var(--ecoss-navy); font-weight: 700; }
.ecoss-article__content table { width: 100%; margin: 26px 0; border-collapse: collapse; font-size: .94rem; }
.ecoss-article__content th { color: #fff; background: var(--ecoss-navy); }
.ecoss-article__content th, .ecoss-article__content td { padding: 12px; border: 1px solid var(--ecoss-line); text-align: left; vertical-align: top; }
.ecoss-article__content blockquote { margin: 27px 0; padding: 20px 22px; border-left: 5px solid var(--ecoss-green); background: var(--ecoss-wash); color: var(--ecoss-navy); font-weight: 700; }
.ecoss-article__content .ecoss-summary { margin: 30px 0; padding: 24px; border-radius: 14px; background: #eef6f0; border: 1px solid #cbe1d0; }
.ecoss-article__content .ecoss-summary h2 { margin: 0 0 10px; font-size: 1.2rem; }
.ecoss-article__content .ecoss-summary ul { margin-bottom: 0; }
.ecoss-article__content .ecoss-article__service-link { margin: 22px 0 34px; }
.ecoss-article__content .ecoss-button--service { background: var(--ecoss-navy); color: #fff; }
.ecoss-article__content .ecoss-button--service:hover { background: var(--ecoss-green); }
.ecoss-article__content .ecoss-discrete-cta { margin: 38px 0 0; padding: 24px; border-left: 5px solid var(--ecoss-green); background: var(--ecoss-wash); }
.ecoss-article__content .ecoss-discrete-cta h2 { margin: 0 0 9px; font-size: 1.35rem; }
.ecoss-article__content .ecoss-discrete-cta p { margin: 0 0 12px; }
.ecoss-article__content .ecoss-discrete-cta a { color: var(--ecoss-navy); font-weight: 900; }
.ecoss-article__content .ecoss-cta-box { margin: 42px 0 0; padding: 28px; border-radius: var(--ecoss-radius); background: var(--ecoss-navy); color: #fff; }
.ecoss-article__content .ecoss-cta-box h2 { margin-top: 0; color: #fff; font-size: 1.5rem; }
.ecoss-article__content .ecoss-cta-box p { color: #e2edf9; }
.ecoss-article__content .ecoss-cta-box .ecoss-button { margin-top: 7px; background: var(--ecoss-green); color: #fff; }
.ecoss-article__content .ecoss-cta-box .ecoss-button:hover { background: #1d7c35; }
.ecoss-article__content .ecoss-disclaimer { margin-top: 18px; color: #dce9fa; font-size: .88rem; }
.ecoss-article__content .ecoss-references { margin-top: 46px; padding-top: 24px; border-top: 1px solid var(--ecoss-line); color: var(--ecoss-muted); font-size: .9rem; }
.ecoss-article__content .ecoss-references h2 { font-size: 1.3rem; }
.ecoss-inline-media { width: min(100%, 520px); margin: 34px auto; overflow: hidden; border: 1px solid var(--ecoss-line); border-radius: 14px; background: var(--ecoss-wash); }
.ecoss-inline-media img { width: 100%; height: auto; display: block; }

.ecoss-footer { background: #fff; color: var(--ecoss-muted); padding: 46px 0 26px; border-top: 1px solid var(--ecoss-line); }
.ecoss-footer__grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 36px; }
.ecoss-footer img { width: 96px; height: 96px; object-fit: contain; }
.ecoss-footer h2 { margin: 9px 0; color: var(--ecoss-navy); font-size: 1.15rem; }
.ecoss-footer h3 { color: var(--ecoss-navy); font-size: .9rem; margin: 6px 0 10px; text-transform: uppercase; letter-spacing: .08em; }
.ecoss-footer p, .ecoss-footer li { font-size: .9rem; }
.ecoss-footer ul { list-style: none; padding: 0; margin: 0; }
.ecoss-footer li + li { margin-top: 7px; }
.ecoss-footer a { color: var(--ecoss-navy); text-decoration: none; }
.ecoss-footer a:hover { color: var(--ecoss-green); text-decoration: underline; }
.ecoss-footer__legal { margin-top: 30px; padding-top: 18px; border-top: 1px solid var(--ecoss-line); font-size: .77rem; color: var(--ecoss-muted); }

/* QA de contraste e navegação por teclado: estados visuais, sem alterar ativos. */
body.ecoss-site a:focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
body.ecoss-site .ecoss-button--primary,
body.ecoss-site .ecoss-article__content .ecoss-cta-box .ecoss-button { background: #1d7c35; }
body.ecoss-site .ecoss-axis small,
body.ecoss-site .ecoss-post-card__meta,
body.ecoss-site .ecoss-start-card__number,
body.ecoss-site .ecoss-calculators .ecoss-eyebrow,
body.ecoss-site .ecoss-article__meta a { color: #1d7c35; }

.nsw-notice, .swp_social_panel, .swp_social_panelSide, .sharedaddy, .sd-sharing, .wpforms-container, .comment-respond, #comments { display: none !important; }

@media (max-width: 900px) {
  .ecoss-header__inner { min-height: 70px; }
  .ecoss-menu { display: none; }
  .ecoss-hero__grid { grid-template-columns: 1fr; }
  .ecoss-hero__visual { width: 100%; }
  .ecoss-hero__visual img { object-position: center center; }
  .ecoss-calculators { grid-template-columns: 1fr; }
  .ecoss-axis-grid { grid-template-columns: repeat(2, 1fr); }
  .ecoss-archive-grid { grid-template-columns: repeat(2, 1fr); }
  .ecoss-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .ecoss-container { width: min(100% - 32px, 1180px); }
  .ecoss-axis-grid, .ecoss-post-grid, .ecoss-start-grid, .ecoss-archive-grid, .ecoss-footer__grid { grid-template-columns: 1fr; }
  .ecoss-start-card { grid-template-columns: 46px 1fr; padding: 20px; }
  .ecoss-hero { padding: 52px 0; }
  .ecoss-cta { align-items: flex-start; flex-direction: column; }
  .ecoss-article__content { font-size: 1rem; }
  .ecoss-article__content th, .ecoss-article__content td { padding: 9px; }
}


/* UX-001: apresentação não destrutiva e navegação editorial acessível. */
body.ecoss-site { margin: 0; }
body.ecoss-site .ecoss-container { width: min(1280px, calc(100% - 48px)); }
body.ecoss-site .ecoss-navigation > summary { display: none; }
body.ecoss-site .ecoss-navigation > nav { display: block; }
body.ecoss-site .ecoss-menu { display: flex; }
body.ecoss-site .ecoss-page-header h1,
body.ecoss-site .ecoss-page-header h2,
body.ecoss-site .ecoss-page-header p,
body.ecoss-site .ecoss-page-header a { color: #fff; }
body.ecoss-site .ecoss-eyebrow { color: #1d7c35; }
body.ecoss-site .ecoss-hero .ecoss-eyebrow,
body.ecoss-site .ecoss-page-header .ecoss-eyebrow { color: #fff; }
body.ecoss-site .ecoss-hero .ecoss-button--primary,
body.ecoss-site .ecoss-button--primary,
body.ecoss-site .ecoss-menu .ecoss-menu__action a { color: #fff; background: #1d7c35; }
body.ecoss-site .ecoss-button--primary:hover,
body.ecoss-site .ecoss-button--primary:focus-visible,
body.ecoss-site .ecoss-menu .ecoss-menu__action a:hover,
body.ecoss-site .ecoss-menu .ecoss-menu__action a:focus-visible,
body.ecoss-site .ecoss-button--service:hover { color: #fff; background: #155c27; }
body.ecoss-site .ecoss-button--outline { color: #002262; background: #fff; }
body.ecoss-site .ecoss-button--outline:hover,
body.ecoss-site .ecoss-button--outline:focus-visible { color: #fff; background: #002262; }
body.ecoss-site .ecoss-read-more:hover,
body.ecoss-site .ecoss-text-link:hover,
body.ecoss-site .ecoss-footer a:hover { color: #1d7c35; }
body.ecoss-site a:focus-visible,
body.ecoss-site summary:focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
body.ecoss-site .ecoss-menu a:focus-visible { outline: 3px solid #002262; outline-offset: 3px; }
body.ecoss-site .ecoss-menu__action a:focus-visible { outline-color: #002262; }
body.ecoss-site .ecoss-cta-box .ecoss-button:focus-visible,
body.ecoss-site .ecoss-hero a:focus-visible { outline-color: #fff; }
body.ecoss-site .ecoss-axis:focus-visible { outline: 3px solid #002262; }
body.ecoss-site .ecoss-button--service { color: #fff; }
body.ecoss-site .ecoss-post-card__cover { aspect-ratio: 16 / 9; }
body.ecoss-site .ecoss-post-card__cover img { display: block; width: 100%; height: 100%; object-fit: var(--ecoss-image-fit, contain); object-position: var(--ecoss-image-position, center center); }
body.ecoss-site .ecoss-post-card__cover:hover img { transform: none; }
body.ecoss-site .ecoss-article__cover img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: var(--ecoss-image-fit, contain); object-position: var(--ecoss-image-position, center center); }
body.ecoss-site .ecoss-hero__visual img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: center 52%; }
body.ecoss-site .ecoss-article__content img { max-width: 100%; height: auto; }
body.ecoss-site .ecoss-article__cover figcaption,
body.ecoss-site .ecoss-inline-media figcaption { overflow-wrap: anywhere; }
body.ecoss-site .ecoss-editorial-layout { display: grid; grid-template-columns: minmax(0, 1fr) 230px; gap: 32px; align-items: start; }
body.ecoss-site .ecoss-editorial-layout > * { min-width: 0; }
body.ecoss-site .ecoss-article { width: 100%; max-width: none; margin: 0; }
body.ecoss-site .ecoss-article__content { max-width: 92ch; margin: 0 auto; }
body.ecoss-site .ecoss-article__lead { max-width: 92ch; }
body.ecoss-site .ecoss-article__content p,
body.ecoss-site .ecoss-article__content li { overflow-wrap: anywhere; }
body.ecoss-site .ecoss-inline-media { max-width: 100%; }
body.ecoss-site .ecoss-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.ecoss-site .ecoss-categories { background: #f3f6f7; border: 1px solid #dbe3e6; border-radius: 14px; padding: 20px; }
body.ecoss-site .ecoss-editorial-layout > .ecoss-categories { position: sticky; top: 102px; }
body.ecoss-site .ecoss-categories details > nav { display: block; }
body.ecoss-site .ecoss-categories summary { display: none; }
body.ecoss-site .ecoss-categories h2 { margin: 0 0 16px; color: #002262; font-size: 1.15rem; line-height: 1.3; }
body.ecoss-site .ecoss-categories ul { list-style: none; margin: 0; padding: 0; }
body.ecoss-site .ecoss-categories a { display: flex; gap: 12px; justify-content: space-between; padding: 10px 0; color: #002262; text-decoration: none; font-size: .93rem; font-weight: 700; line-height: 1.4; }
body.ecoss-site .ecoss-categories a:hover { color: #1d7c35; text-decoration: underline; }
body.ecoss-site .ecoss-categories a[aria-current] { text-decoration: underline; text-underline-offset: 4px; }
body.ecoss-site .ecoss-category-count { color: #576675; }
body.ecoss-site #conteudos .ecoss-categories { margin-bottom: 28px; }
body.ecoss-site #conteudos .ecoss-categories ul { display: flex; flex-wrap: wrap; gap: 12px 28px; }
body.ecoss-site .ecoss-pagination a { color: #002262; }
@media (max-width: 1024px) {
  body.ecoss-site .ecoss-editorial-layout { grid-template-columns: minmax(0, 1fr) 205px; gap: 24px; }
  body.ecoss-site .ecoss-menu a { padding: 10px 8px; }
}
@media (max-width: 900px) {
  body.ecoss-site .ecoss-navigation > summary { display: list-item; cursor: pointer; color: #002262; padding: 8px 12px; border: 1px solid #002262; border-radius: 8px; }
  body.ecoss-site .ecoss-navigation:not([open]) > nav { display: none; }
  body.ecoss-site .ecoss-navigation[open] > nav { position: absolute; left: 20px; right: 20px; top: 100%; padding: 16px; background: #fff; border: 1px solid #dbe3e6; box-shadow: 0 12px 24px rgba(0,34,98,.12); }
  body.ecoss-site .ecoss-menu { display: grid; gap: 4px; justify-content: stretch; }
  body.ecoss-site .ecoss-menu a { width: 100%; }
  body.ecoss-site .ecoss-editorial-layout { grid-template-columns: minmax(0, 1fr); }
  body.ecoss-site .ecoss-editorial-layout > .ecoss-categories { position: static; grid-row: 1; }
  body.ecoss-site .ecoss-categories { padding: 12px 16px; }
  body.ecoss-site .ecoss-categories summary { display: list-item; cursor: pointer; color: #002262; font-weight: 700; }
  body.ecoss-site .ecoss-categories details:not([open]) > nav { display: none; }
  body.ecoss-site .ecoss-categories details[open] > nav { display: block; padding-top: 12px; }
  body.ecoss-site .ecoss-categories nav h2 { display: none; }
  body.ecoss-site .ecoss-hero__visual img { object-position: center center; }
}
@media (max-width: 600px) {
  body.ecoss-site .ecoss-container { width: calc(100% - 32px); }
  body.ecoss-site .ecoss-brand__copy strong { font-size: .9rem; }
  body.ecoss-site .ecoss-header__inner { gap: 12px; }
  body.ecoss-site .ecoss-archive-grid { grid-template-columns: 1fr; }
  body.ecoss-site .ecoss-article__content { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body.ecoss-site .ecoss-axis,
  body.ecoss-site .ecoss-post-card__cover img { transition: none; }
}

/* UX r5: pendências remotas confirmadas; sem alterar os arquivos oficiais de mídia. */
body.ecoss-site .ecoss-hero__visual { max-width: 1200px; }
body.ecoss-site .ecoss-article__cover { max-width: 1200px; }
body.ecoss-site .ecoss-article__content { max-width: 78ch; }
body.ecoss-site .ecoss-article__lead { max-width: 78ch; }
body.ecoss-site .ecoss-page-description,
body.ecoss-site .ecoss-page-description p { color: #fff; }
body.ecoss-site .ecoss-card__category { color: #1d7c35; font-weight: 700; }
body.ecoss-site .ecoss-article__content .ecoss-button--service { color: #fff; }
body.ecoss-site .swp_social_panel,
body.ecoss-site .swp_social_panelSide,
body.ecoss-site .swp_social_panel.swp_horizontal_panel,
body.ecoss-site .swp_social_panel.swp_flat,
body.ecoss-site .swp_share_button,
body.ecoss-site .nc_socialPanel { display: none !important; }
body.ecoss-site input[type="search"] { width: 100%; max-width: 520px; padding: 12px; color: #14202b; background: #fff; border: 1px solid #576675; }
body.ecoss-site button[type="submit"] { padding: 12px 18px; color: #fff; background: #002262; border: 1px solid #002262; }
body.ecoss-site input:focus-visible,
body.ecoss-site button:focus-visible { outline: 3px solid #002262; outline-offset: 3px; }
body.ecoss-site .ecoss-article-updated { color: #576675; }

/* LEGENDAS-001 r1: natureza visível separada, sem parágrafo defensivo. */
.ecoss-caption-commercial, .ecoss-caption-nature { display: block; }
.ecoss-caption-nature { margin-top: .25rem; font-size: .875rem; line-height: 1.5; }
.ecoss-post-card__nature { margin: 0 0 .5rem; }
