.tiltok-kalender { --tiltok-accent: #0b5c8a; margin: 1.5em 0; }
.tiltok-nav { display: flex; align-items: center; justify-content: space-between; gap: 1em; margin-bottom: 1em; }
.tiltok-nav a { text-decoration: none; white-space: nowrap; }
.tiltok-month { margin: 0; font-size: 1.5em; text-align: center; }
.tiltok-list, .tiltok-upcoming { list-style: none; margin: 0; padding: 0; }
.tiltok-item { display: flex; gap: 1em; align-items: center; padding: .75em 0; border-bottom: 1px solid rgba(0,0,0,.1); }
.tiltok-date { flex: 0 0 3.2em; text-align: center; line-height: 1.1; border-radius: 8px; padding: .4em 0; background: var(--tiltok-accent); color: #fff; }
.tiltok-day { display: block; font-size: 1.4em; font-weight: 700; }
.tiltok-wd { display: block; font-size: .75em; text-transform: uppercase; letter-spacing: .05em; }
.tiltok-title { font-weight: 600; font-size: 1.05em; }
.tiltok-meta { font-size: .9em; opacity: .75; }
.tiltok-empty { opacity: .7; }
.tiltok-upcoming { --tiltok-accent: #0b5c8a; }
.tiltok-upcoming li { margin: 0; padding: .5em 0; border-bottom: 1px solid rgba(0,0,0,.08); }
.tiltok-upcoming li:last-child { border-bottom: 0; }
.tiltok-up-link { display: flex; align-items: center; gap: .8em; color: inherit !important; text-decoration: none !important; }
.tiltok-up-link:hover .tiltok-up-title { text-decoration: underline; }
.tiltok-cal-icon { flex: 0 0 3.1em; display: flex; flex-direction: column; overflow: hidden; border-radius: 8px; background: #fff; color: #15202b; text-align: center; line-height: 1; box-shadow: 0 1px 3px rgba(0,0,0,.18), 0 0 0 1px rgba(0,0,0,.06); }
.tiltok-cal-month { padding: .3em 0 .25em; background: var(--tiltok-accent); color: #fff; font-size: .65em; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.tiltok-cal-day { padding-top: .18em; font-size: 1.35em; font-weight: 700; }
.tiltok-cal-wd { padding: .1em 0 .35em; font-size: .6em; text-transform: uppercase; letter-spacing: .05em; opacity: .65; }
.tiltok-up-text { min-width: 0; }
.tiltok-up-title { display: block; font-weight: 600; line-height: 1.3; }
.tiltok-up-when { display: block; font-size: .85em; opacity: .75; }
.tiltok-up-where { display: flex; align-items: center; gap: .3em; font-size: .85em; opacity: .75; }
.tiltok-up-where svg { flex: 0 0 auto; }
.tiltok-upcoming .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.tiltok-button { display: inline-block; padding: .5em 1em; border-radius: 6px; background: var(--tiltok-accent, #0b5c8a); color: #fff !important; text-decoration: none !important; }
.tiltok-single-info { margin: 0 0 1.5em; padding: 1em 1.2em; border-left: 4px solid #0b5c8a; background: rgba(11,92,138,.06); }
.tiltok-single-info p { margin: .25em 0; }
.tiltok-single-info .tiltok-actions { margin-top: .75em; }
.tiltok-dialog { width: min(640px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; border: 0; border-radius: 12px; box-shadow: 0 10px 40px rgba(0,0,0,.3); }
.tiltok-dialog::backdrop { background: rgba(0,0,0,.5); }
.tiltok-dialog-content { padding: 1.25em 1.5em 1.5em; }
.tiltok-dialog .tiltok-image { margin: -1.25em -1.5em 1em; }
.tiltok-dialog .tiltok-image img { display: block; width: 100%; height: auto; max-height: 50vh; object-fit: cover; }
.tiltok-dialog-title { margin: 0 2em .25em 0; }
.tiltok-dialog .tiltok-when, .tiltok-dialog .tiltok-location { margin: 0; opacity: .8; }
.tiltok-dialog .tiltok-text { margin-top: 1em; }
.tiltok-close { position: absolute; top: 8px; right: 8px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: rgba(255,255,255,.9); color: #000; font-size: 24px; line-height: 1; cursor: pointer; z-index: 1; }
.tiltok-kalender .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
