/* Shared content actions and a compact, accessible missing-page layout. */
.ctt-header-crest picture, .ctt-footer-crest picture { display: block; }
.ctt-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-block: 24px; }
.ctt-actions .ctt-button, .editor-entry .ctt-button { display: inline-flex; justify-content: center; align-items: center; min-height: 46px; padding: 12px 20px; border: 2px solid var(--ctt-purple, #312783); border-radius: 4px; background: var(--ctt-purple, #312783); color: #fff; font: 600 16px/1.3 Arial, Helvetica, sans-serif; text-decoration: none; text-align: center; }
.ctt-actions .ctt-button:hover, .editor-entry .ctt-button:hover { background: #241d62; border-color: #241d62; color: #fff; }
.ctt-actions .ctt-button-secondary, .editor-entry .ctt-button-secondary { background: #fff; color: var(--ctt-purple, #312783); }
.ctt-actions .ctt-button-secondary:hover, .editor-entry .ctt-button-secondary:hover { background: #f1effa; border-color: var(--ctt-purple, #312783); color: var(--ctt-purple, #312783); }
.ctt-button:focus-visible { outline: 3px solid var(--ctt-purple, #312783); outline-offset: 4px; }
.ctt-info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 20px; margin-block: 28px; }
.ctt-info-card { padding: 22px; border: 1px solid #dedbe9; border-radius: 6px; background: #faf9fd; }
.ctt-info-card > :first-child { margin-top: 0; }
.ctt-info-card > :last-child { margin-bottom: 0; }
.ctt-not-found { padding-block: clamp(32px, 5vw, 72px); }
.ctt-not-found-panel { max-width: 820px; margin-inline: auto; text-align: center; }
.ctt-not-found-code { margin: 0 0 18px; color: var(--ctt-purple, #312783); font: 700 clamp(76px, 14vw, 132px)/1 Arial, Helvetica, sans-serif; letter-spacing: -.04em; }
.ctt-not-found-eyebrow { margin: 0 0 10px; color: var(--ctt-purple, #312783); font-weight: 600; }
.ctt-not-found h1 { margin: 0 0 20px; color: #241d62; font-size: clamp(28px, 4vw, 40px); line-height: 1.2; }
.ctt-not-found-description { max-width: 650px; margin: 0 auto; color: #404040; font-size: 17px; line-height: 1.65; }
.ctt-not-found .ctt-actions { justify-content: center; margin-top: 28px; margin-bottom: 0; }
@media (max-width: 540px) {
	.ctt-not-found { padding-block: 24px 36px; }
	.ctt-not-found .ctt-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
	.ctt-not-found-description { font-size: 16px; }
}
