:root {
  --dde-content-primary: var(--dd-accent, #fe5900);
  --dde-content-highlight: #ffa800;
  --dde-content-ink: var(--dd-ink, #1c1c1c);
  --dde-content-muted: #62666d;
  --dde-content-line: #e2e2e2;
  --dde-content-surface: var(--dd-surface, #f8f8f8);
}

.dde-contextual-cta {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: 270px;
  margin: clamp(38px, 6vw, 70px) 0;
  padding: clamp(30px, 5vw, 54px);
  overflow: hidden;
  border-radius: 28px;
  color: #fff;
  background: linear-gradient(135deg, #fe5900 0%, #fe8600 58%, #ffa800 100%);
  box-shadow: 0 24px 65px rgba(28, 28, 28, .13);
}
.dde-contextual-cta--restaurant { background: linear-gradient(135deg, #1c1c1c 0%, #353535 65%, #fe5900 150%); }
.dde-contextual-cta--courier { color: #1c1c1c; background: linear-gradient(135deg, #ffa800 0%, #ffd36f 100%); }
.dde-contextual-cta--institutional { background: linear-gradient(135deg, #353535 0%, #1c1c1c 100%); }
.dde-contextual-cta__copy { position: relative; z-index: 2; width: min(100%, 670px); align-self: center; }
.dde-contextual-cta__eyebrow { display: block; margin-bottom: 14px; font-size: .75rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; opacity: .78; }
.dde-contextual-cta__title { margin: 0 0 14px !important; color: inherit !important; font-size: clamp(1.8rem, 4vw, 3.2rem) !important; line-height: 1.06 !important; letter-spacing: -.045em !important; }
.dde-contextual-cta__text { max-width: 600px; margin: 0 0 24px !important; color: inherit; font-size: 1rem; opacity: .86; }
.dde-contextual-cta__button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 0 20px; border-radius: 999px; color: #1c1c1c !important; background: #fff; font-size: .88rem; font-weight: 850; text-decoration: none !important; transition: transform .2s ease, box-shadow .2s ease; }
.dde-contextual-cta--courier .dde-contextual-cta__button { color: #fff !important; background: #1c1c1c; }
.dde-contextual-cta__button:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(0,0,0,.16); }
.dde-contextual-cta__motif { position: absolute; z-index: 1; width: 350px; aspect-ratio: 1; right: -130px; bottom: -155px; border: 46px solid rgba(255,255,255,.14); border-radius: 50%; }

.dde-related-posts,
.dde-popular-posts { margin: clamp(50px, 8vw, 90px) auto; }
.dde-content-heading { margin-bottom: 28px; }
.dde-content-heading > span { display: block; margin-bottom: 8px; color: var(--dde-content-primary); font-size: .75rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.dde-content-heading h2 { margin: 0; color: var(--dde-content-ink); font-size: clamp(1.8rem, 4vw, 3rem); }
.dde-related-posts__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.dde-content-card { min-width: 0; overflow: hidden; border: 1px solid var(--dde-content-line); border-radius: 22px; background: #fff; }
.dde-content-card__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #ececec; }
.dde-content-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.dde-content-card:hover .dde-content-card__media img { transform: scale(1.035); }
.dde-content-card__placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, #fe5900, #fe8600 55%, #ffa800); }
.dde-content-card__body { padding: 22px; }
.dde-content-card__category { color: var(--dde-content-primary) !important; font-size: .74rem; font-weight: 800; text-decoration: none !important; text-transform: uppercase; letter-spacing: .08em; }
.dde-content-card h3 { margin: 10px 0 9px; font-size: 1.25rem; }
.dde-content-card h3 a { color: var(--dde-content-ink) !important; text-decoration: none !important; }
.dde-content-card p { margin: 0; color: var(--dde-content-muted); font-size: .9rem; }

.dde-popular-posts__list { counter-reset: dde-popular; margin: 0; padding: 0; list-style: none; }
.dde-popular-posts__list li { counter-increment: dde-popular; border-top: 1px solid var(--dde-content-line); }
.dde-popular-posts__list li:last-child { border-bottom: 1px solid var(--dde-content-line); }
.dde-popular-posts__list a { position: relative; display: grid; gap: 5px; min-height: 92px; padding: 20px 20px 20px 72px; color: var(--dde-content-ink) !important; text-decoration: none !important; }
.dde-popular-posts__list a::before { content: counter(dde-popular, decimal-leading-zero); position: absolute; left: 10px; top: 22px; color: var(--dde-content-primary); font-size: 1.2rem; font-weight: 900; }
.dde-popular-posts__title { font-weight: 800; line-height: 1.25; }
.dde-popular-posts__meta { color: var(--dde-content-muted); font-size: .78rem; }

@media (max-width: 800px) {
  .dde-related-posts__grid { grid-template-columns: 1fr; }
  .dde-contextual-cta { min-height: 0; border-radius: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .dde-contextual-cta__button,
  .dde-content-card__media img { transition: none; }
}


/* Refinamento editorial 1.6. */
.dde-contextual-cta { border: 1px solid rgba(255,255,255,.14); }
.dde-related-posts__grid { align-items: stretch; }
.dde-content-card { height: 100%; border-color: rgba(28,28,28,.10); transition: transform .22s ease, box-shadow .22s ease; }
.dde-content-card:hover { transform: translateY(-3px); box-shadow: 0 16px 44px rgba(28,28,28,.08); }
.dde-contextual-cta__button:focus-visible, .dde-content-card a:focus-visible, .dde-popular-posts__list a:focus-visible { outline: 3px solid #0067c0; outline-offset: 3px; border-radius: 5px; }
@media (prefers-contrast: more) { .dde-content-card, .dde-contextual-cta { border-width: 2px; } }

/* Fase 9: mapa editorial HTML. */
.dde-editorial-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.dde-editorial-map__section{padding:24px;border:1px solid rgba(28,28,28,.1);border-radius:18px;background:#fff}.dde-editorial-map__section h2{margin:0 0 14px;font-size:1.25rem}.dde-editorial-map__section h2 a{color:#1c1c1c}.dde-editorial-map__section ul{display:grid;gap:9px;margin:0;padding-left:20px}.dde-editorial-map__section a:hover{color:#fe5900}@media(max-width:720px){.dde-editorial-map{grid-template-columns:1fr}}
