/* NordDrift example sites: fiction banner, demo buttons, demo notice. */
.fiction-banner { background: #fff1c2; color: #3a2a00; border-bottom: 3px solid #e0a21b; font-size: .9375rem; line-height: 1.4; }
.fiction-banner .fb-in { display: flex; align-items: center; gap: 14px; padding-top: 10px; padding-bottom: 10px; }
.fiction-banner p { margin: 0; }
.fiction-banner a { color: #3a2a00; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.fiction-banner .fb-tag { flex: none; background: #3a2a00; color: #fff1c2; font-weight: 800; font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; padding: 6px 10px; border-radius: 6px; }
@media (max-width: 640px) { .fiction-banner .fb-in { gap: 10px; } .fiction-banner { font-size: .875rem; } }
[data-demo] { cursor: pointer; }
.demo-note { display: none; position: fixed; z-index: 90; left: 50%; bottom: 24px; transform: translateX(-50%); width: min(92vw, 560px); background: #1b1b1b; color: #fff; border: 2px solid #e0a21b; border-radius: 14px; padding: 16px 52px 16px 18px; box-shadow: 0 12px 40px rgba(0, 0, 0, .35); font: 600 1rem/1.4 system-ui, sans-serif; }
.demo-note:target, .demo-note.is-open { display: block; }
.demo-note { pointer-events: none; }
.demo-note p { margin: 0; }
.demo-note .dn-close { pointer-events: auto; position: absolute; top: 4px; right: 4px; min-width: 44px; min-height: 44px; background: none; border: 0; color: #fff; font-size: 1.5rem; cursor: pointer; }
@media (max-width: 860px) { .demo-note { bottom: 84px; } }
.form-demo { background: #fff1c2; color: #3a2a00; border: 2px solid #e0a21b; border-radius: 12px; padding: 12px 14px; margin: 0 0 16px; }
.form-demo-result { background: #fff1c2; color: #3a2a00; border: 2px solid #e0a21b; border-radius: 12px; padding: 12px 14px; margin: 16px 0 0; }
.form-demo-result[hidden] { display: none; }
.e404 { padding-top: 64px; padding-bottom: 96px; }
/* tap targets at least 44px */
.strip-tel a { min-height: 44px; }
.wordmark { min-height: 44px; display: inline-flex; align-items: center; }
.menu-btn { min-height: 44px; min-width: 44px; }
.nav a { min-height: 44px; display: flex; align-items: center; }
.card-link, .text-link { min-height: 44px; }
.foot-list, .foot-links { gap: 0; }
.foot-list a, .foot-list li, .foot-links a { min-height: 44px; display: flex; align-items: center; }
.ccard-call, .ccard-call:hover { background: #bf5317; }
