/* Comunicación Certificada – identidad propia: papel crema, bronce y tinta */
.dncc { --cc-bronze: #8a6a2f; --cc-cream: #fbf8f1; --cc-line: #e2d8c3; }
.dncc-hero { display: grid; grid-template-columns: 150px 1fr; gap: 2rem; align-items: center; background: var(--cc-cream); border: 1px solid var(--cc-line); outline: 1px solid var(--cc-line); outline-offset: -8px; border-radius: 2px; padding: 2rem 2.2rem; margin: 0 0 1.6rem; }
.dncc-hero__seal { width: 140px; height: 140px; border-radius: 50%; border: 2px solid var(--cc-bronze); box-shadow: inset 0 0 0 6px var(--cc-cream), inset 0 0 0 7px var(--cc-bronze); display: grid; place-content: center; text-align: center; color: var(--cc-bronze); transform: rotate(-8deg); }
.dncc-hero__seal span { font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; }
.dncc-hero__seal strong { font-family: "Spectral", Georgia, serif; font-size: 1.15rem; font-weight: 600; }
.dncc-kicker { display: inline-block; font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; color: var(--cc-bronze); font-weight: 700; margin-bottom: .4rem; }
.dncc-hero h2 { font-family: "Spectral", Georgia, serif; font-size: clamp(1.6rem, 3vw, 2.1rem); color: var(--dn-ink, #0f2b3c); margin: 0 0 .6rem; line-height: 1.15; }
.dncc-hero p { margin: 0 0 1rem; color: var(--dn-muted, #5a6b75); line-height: 1.6; max-width: 62ch; }
.dncc-uses { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.dncc-uses li { font-size: .82rem; border: 1px solid var(--cc-line); background: #fff; color: var(--dn-ink, #0f2b3c); padding: .25rem .7rem; border-radius: 999px; }

.dncc .dn-fieldset { border-color: var(--cc-line); border-top: 3px solid var(--cc-bronze); }
.dncc .dn-fieldset legend::before { background: var(--cc-bronze) !important; }
.dncc .dncc-dest { grid-template-columns: 150px 1.2fr 1fr 1.2fr auto; background: var(--cc-cream); border-color: var(--cc-line); }
.dncc-cats { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: .5rem; }
.dncc-cat { position: relative; display: block; cursor: pointer; }
.dncc-cat input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.dncc-cat span { display: block; border: 1px solid var(--cc-line); background: #fff; border-radius: 4px; padding: .7rem .9rem; font-weight: 600; font-size: .93rem; color: var(--dn-ink, #0f2b3c); transition: border-color .15s, background .15s; }
.dncc-cat:hover span { border-color: var(--cc-bronze); }
.dncc-cat input:checked + span { background: var(--dn-ink, #0f2b3c); border-color: var(--dn-ink, #0f2b3c); color: #fff; }
.dncc-cat input:focus-visible + span { outline: 3px solid #f1c232; outline-offset: 2px; }
.dncc-cat-help { background: var(--cc-cream); border-left: 3px solid var(--cc-bronze); padding: .6rem .9rem; margin-top: .7rem !important; }
.dncc #c_cuerpo { font-family: "Spectral", Georgia, serif; font-size: 1.02rem; line-height: 1.65; background: #fffefb; min-height: 260px; }
.dncc .dn-check { border-left-color: var(--cc-bronze); }
.dncc .dn-actions { background: linear-gradient(90deg, var(--dn-ink, #0f2b3c), #22394a); border-bottom: 3px solid var(--cc-bronze); }
.dncc .dn-btn--primary { background: var(--cc-bronze); border-color: var(--cc-bronze); }
.dncc .dn-btn--primary:hover { background: #6f5524; border-color: #6f5524; }
.dncc-trust div { border-top: 3px solid var(--cc-bronze); background: var(--cc-cream); }

@media (max-width: 900px) { .dncc .dncc-dest { grid-template-columns: 1fr 1fr; } }
@media (max-width: 720px) {
	.dncc-hero { grid-template-columns: 1fr; text-align: left; padding: 1.5rem; }
	.dncc-hero__seal { width: 100px; height: 100px; }
	.dncc .dncc-dest { grid-template-columns: 1fr; }
}
