/* Celenode Floating CTA – frontend */
.cfc { --z: 9990; }
.cfc-zone { position: fixed; z-index: var(--z, 9990); font-family: var(--cfc-font, inherit); font-size: calc(var(--cfc-fs, 15px) * var(--s, 1)); font-weight: var(--cfc-fw, 600); line-height: 1.2; box-sizing: border-box; }
.cfc-zone *, .cfc-zone *::before, .cfc-zone *::after, .cfc-dbd { box-sizing: border-box; }

/* ============ Knap-basis ============ */
.cfc-btn, .cfc-item, .cfc-pop-item { display: inline-flex; align-items: center; justify-content: center; gap: .7em; position: relative; text-decoration: none !important; cursor: pointer; white-space: nowrap; -webkit-tap-highlight-color: transparent; transition: background .2s, color .2s, transform .25s, box-shadow .25s, filter .2s, border-color .2s, max-width .3s, padding .3s; }
.cfc-btn { color: var(--fg, #fff); background: var(--bg, #4f5df5); border: var(--bw, 0px) solid var(--bc, transparent); border-radius: var(--r, .8em); box-shadow: var(--sh, none); font: inherit; margin: 0; }
.cfc-zone .cfc-btn { color: var(--fg, #fff); } /* højere specificitet, så temaets link-farver ikke vinder */
.cfc-btn:hover { background: var(--hbg, var(--bg, #4f5df5)); color: var(--hfg, var(--fg, #fff)); filter: brightness(1.06); }
.cfc-ic { display: inline-flex; width: 1.35em; height: 1.35em; flex: none; color: var(--ic, currentColor); transition: transform .45s cubic-bezier(.3, 1.4, .5, 1); }
.cfc-ic svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.cfc-lb { display: inline-block; }

/* Ikon-placering */
.cfc-ip-left { flex-direction: row !important; }
.cfc-ip-right { flex-direction: row-reverse !important; }
.cfc-ip-top { flex-direction: column !important; }
.cfc-ip-bottom { flex-direction: column-reverse !important; }

/* ============ Indgang ============ */
.cfc-zone { transition: opacity .45s ease, translate .55s cubic-bezier(.2, .8, .2, 1), scale .45s cubic-bezier(.3, 1.4, .5, 1); }
.cfc-js .cfc-zone:not(.is-in) { opacity: 0; pointer-events: none; }
.cfc-js .cfc-ent-slide.cfc-right:not(.is-in) { translate: 130% 0; }
.cfc-js .cfc-ent-slide.cfc-left:not(.is-in) { translate: -130% 0; }
.cfc-js .cfc-ent-slide.cfc-bottom:not(.is-in) { translate: 0 130%; }
.cfc-js .cfc-ent-slide.cfc-bottom.cfc-st-floating-pills:not(.is-in), .cfc-js .cfc-ent-slide.cfc-bottom.cfc-st-icon-row:not(.is-in), .cfc-js .cfc-ent-slide.cfc-bottom.cfc-st-pill-nav:not(.is-in), .cfc-js .cfc-ent-slide.cfc-bottom.cfc-st-segmented:not(.is-in), .cfc-js .cfc-ent-slide.cfc-bottom.cfc-st-icon-dock:not(.is-in) { translate: -50% 130%; }
.cfc-js .cfc-ent-slide.cfc-ann.cfc-ap-top:not(.is-in) { translate: 0 -110%; }
.cfc-js .cfc-ent-slide.cfc-ann.cfc-ap-bottom:not(.is-in) { translate: 0 110%; }
.cfc-js .cfc-ent-slide.cfc-dial:not(.is-in) { translate: 0 60%; }
.cfc-js .cfc-ent-pop:not(.is-in) { scale: .6; }
.cfc-js .cfc-ent-none { transition: none; }

/* ============ Animationer (kontinuerlige) ============ */
.cfc-anim-pulse::before { content: ""; position: absolute; inset: 0; border-radius: inherit; border: 2px solid var(--bg, #4f5df5); animation: cfc-ring 1.9s ease-out infinite; pointer-events: none; }
@keyframes cfc-ring { 0% { inset: 0; opacity: 0; } 8% { inset: -.06em; opacity: .7; } 72% { inset: -.7em; opacity: 0; } 100% { inset: -.7em; opacity: 0; } } /* vokser lige meget til alle sider, så en rund knap får en rund ring */
.cfc-anim-bounce { animation: cfc-bounce 3s ease infinite; }
@keyframes cfc-bounce { 0%, 70%, 100% { transform: translateY(0); } 78% { transform: translateY(-.6em); } 86% { transform: translateY(0); } 92% { transform: translateY(-.25em); } }
.cfc-anim-shake { animation: cfc-shake 4s ease infinite; }
@keyframes cfc-shake { 0%, 78%, 100% { transform: rotate(0); } 82% { transform: rotate(-7deg); } 86% { transform: rotate(7deg); } 90% { transform: rotate(-5deg); } 94% { transform: rotate(4deg); } }
.cfc-anim-wobble { animation: cfc-wobble 3.4s ease infinite; }
@keyframes cfc-wobble { 0%, 68%, 100% { transform: none; } 74% { transform: translateX(-.35em) rotate(-4deg); } 80% { transform: translateX(.3em) rotate(3deg); } 86% { transform: translateX(-.2em) rotate(-2deg); } 92% { transform: translateX(.1em); } }
.cfc-anim-float { animation: cfc-float 3.2s ease-in-out infinite; }
@keyframes cfc-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-.35em); } }
.cfc-anim-heartbeat { animation: cfc-hb 2.2s ease infinite; }
@keyframes cfc-hb { 0%, 50%, 100% { transform: scale(1); } 10% { transform: scale(1.13); } 20% { transform: scale(1); } 30% { transform: scale(1.1); } }
.cfc-anim-glow { animation: cfc-glow 2.2s ease-in-out infinite; }
@keyframes cfc-glow { 0%, 100% { box-shadow: var(--sh, none); } 50% { box-shadow: 0 0 0 .35em color-mix(in srgb, var(--bg, #4f5df5) 28%, transparent), 0 .5em 2em color-mix(in srgb, var(--bg, #4f5df5) 60%, transparent); } }
.cfc-anim-shine::after, .cfc-hv-shine::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .55) 50%, transparent 65%); background-size: 250% 100%; background-position: 160% 0; pointer-events: none; }
.cfc-anim-shine::after { animation: cfc-shine 3.2s ease-in-out infinite; }
@keyframes cfc-shine { 0%, 55% { background-position: 160% 0; } 100% { background-position: -60% 0; } }
.cfc-hv-shine:hover::after { background-position: -60% 0; transition: background-position .9s ease; }
.cfc-btn:hover.cfc-anim-bounce, .cfc-btn:hover.cfc-anim-shake, .cfc-btn:hover.cfc-anim-float, .cfc-btn:hover.cfc-anim-wobble, .cfc-btn:hover.cfc-anim-heartbeat, .cfc-item:hover.cfc-anim-bounce, .cfc-item:hover.cfc-anim-shake, .cfc-item:hover.cfc-anim-float, .cfc-item:hover.cfc-anim-wobble, .cfc-item:hover.cfc-anim-heartbeat { animation: none; }

/* ============ Hover-effekter ============ */
.cfc-hv-lift:hover { transform: translateY(-.2em); }
.cfc-hv-grow:hover { transform: scale(1.1); }
.cfc-hv-tilt:hover { transform: rotate(-5deg) scale(1.05); }
.cfc-hv-glow:hover { box-shadow: 0 0 0 .3em color-mix(in srgb, var(--bg, var(--ba, #4f5df5)) 25%, transparent), 0 .5em 1.8em color-mix(in srgb, var(--bg, var(--ba, #4f5df5)) 55%, transparent); }
.cfc-hv-spin-icon:hover .cfc-ic { transform: rotate(360deg); }
.cfc-hv-nudge:hover .cfc-ic { transform: translateX(.3em); }
.cfc-hv-none:hover { transform: none; }

/* ============ Skins ============ */
.cfc-sk-outline .cfc-btn { background: transparent; color: var(--fgu, var(--bg, #4f5df5)); border: var(--bw, 2px) solid var(--bg, #4f5df5); box-shadow: none; }
.cfc-sk-outline .cfc-btn:hover { background: var(--hbg, var(--bg, #4f5df5)); color: var(--hfg, var(--fg, #fff)); }
.cfc-sk-soft .cfc-btn { background: color-mix(in srgb, var(--bg, #4f5df5) 15%, #fff); color: var(--fgu, var(--bg, #4f5df5)); }
.cfc-sk-soft .cfc-btn:hover { background: color-mix(in srgb, var(--bg, #4f5df5) 26%, #fff); color: var(--hfg, var(--fgu, var(--bg, #4f5df5))); }
.cfc-sk-glass .cfc-btn { background: color-mix(in srgb, var(--bg, #4f5df5) 42%, transparent); -webkit-backdrop-filter: blur(14px) saturate(170%); backdrop-filter: blur(14px) saturate(170%); border: 1px solid rgba(255, 255, 255, .5); box-shadow: 0 .5em 1.6em rgba(15, 20, 40, .2), inset 0 1px 0 rgba(255, 255, 255, .45); }
.cfc-sk-gradient .cfc-btn { background: linear-gradient(135deg, var(--bg, #4f5df5), var(--bg2, color-mix(in srgb, var(--bg, #4f5df5) 50%, #d946ef))); }
.cfc-sk-neon .cfc-btn { background: #0b0c11; color: var(--fgu, var(--bg, #4f5df5)); border: 2px solid var(--bg, #4f5df5); box-shadow: 0 0 .9em color-mix(in srgb, var(--bg, #4f5df5) 70%, transparent), inset 0 0 .6em color-mix(in srgb, var(--bg, #4f5df5) 28%, transparent); text-shadow: 0 0 .6em color-mix(in srgb, var(--bg, #4f5df5) 80%, transparent); }
.cfc-sk-neon .cfc-btn:hover { background: var(--bg, #4f5df5); color: #0b0c11; text-shadow: none; }
.cfc-sk-clay .cfc-btn { border: 0; box-shadow: inset .22em .22em .5em rgba(255, 255, 255, .38), inset -.3em -.3em .6em rgba(0, 0, 0, .24), 0 .5em 1em color-mix(in srgb, var(--bg, #4f5df5) 45%, transparent); }
.cfc-sk-brutal .cfc-btn { border: .19em solid #111; box-shadow: .3em .3em 0 #111; }
.cfc-sk-brutal .cfc-btn:hover { transform: translate(-.1em, -.1em); box-shadow: .42em .42em 0 #111; filter: none; }
.cfc-sk-minimal .cfc-btn { background: #fff; color: var(--fgu, #1a1c28); box-shadow: 0 .4em 1.2em rgba(15, 20, 40, .18); }
.cfc-sk-minimal .cfc-btn:hover { background: #f6f7fb; color: var(--hfg, var(--fgu, #1a1c28)); }
.cfc-sk-minimal .cfc-ic { color: var(--ic, var(--bg, #4f5df5)); }

/* ============ Tooltips (ikon-only former) ============ */
.cfc-ct-icon .cfc-lb, .cfc-st-round-icon .cfc-lb, .cfc-st-square-small .cfc-lb, .cfc-st-rail .cfc-lb, .cfc-st-icon-row .cfc-lb, .cfc-st-bar-icons .cfc-lb, .cfc-st-icon-dock .cfc-lb,
.cfc-dial:not(.cfc-dp-list):not(.cfc-dp-grid):not(.cfc-lbl-show) .cfc-dial-item .cfc-lb { position: absolute; top: 50%; padding: .55em 1em; border-radius: .7em; background: var(--bg, #4f5df5); color: var(--fg, #fff); font-size: .88em; line-height: 1.2; box-shadow: 0 .5em 1.4em rgba(15, 20, 40, .3); opacity: 0; pointer-events: none; transform: translateY(-50%) scale(.92); transition: opacity .18s, transform .18s; z-index: 3; }
.cfc-btn:hover .cfc-lb, .cfc-btn:focus-visible .cfc-lb { /* vises via de enkelte regler herunder */ }
.cfc-right .cfc-ct-icon .cfc-lb, .cfc-st-round-icon.cfc-right .cfc-lb, .cfc-st-square-small.cfc-right .cfc-lb, .cfc-st-rail.cfc-right .cfc-lb, .cfc-dc-br .cfc-dial-item .cfc-lb, .cfc-dc-tr .cfc-dial-item .cfc-lb, .cfc-dc-mr .cfc-dial-item .cfc-lb { right: calc(100% + .7em); }
.cfc-left .cfc-ct-icon .cfc-lb, .cfc-st-round-icon.cfc-left .cfc-lb, .cfc-st-square-small.cfc-left .cfc-lb, .cfc-st-rail.cfc-left .cfc-lb, .cfc-dc-bl .cfc-dial-item .cfc-lb, .cfc-dc-tl .cfc-dial-item .cfc-lb, .cfc-dc-ml .cfc-dial-item .cfc-lb { left: calc(100% + .7em); }
.cfc-bottom .cfc-ct-icon .cfc-lb, .cfc-bottom.cfc-st-bar-icons .cfc-lb, .cfc-bottom.cfc-st-icon-row .cfc-lb, .cfc-bottom.cfc-st-icon-dock .cfc-lb, .cfc-dc-bc:not(.cfc-dp-list):not(.cfc-dp-grid):not(.cfc-lbl-show) .cfc-dial-item .cfc-lb { top: auto !important; bottom: calc(100% + .7em); left: 50%; transform: translateX(-50%) scale(.92) !important; }
/* Kun tooltip-etiketter fades ind ved hover – tekst der står fast i knappen må ikke flytte sig */
.cfc-btn.cfc-ct-icon:hover > .cfc-lb, .cfc-btn.cfc-ct-icon:focus-visible > .cfc-lb,
.cfc-st-round-icon .cfc-btn:hover > .cfc-lb, .cfc-st-round-icon .cfc-btn:focus-visible > .cfc-lb,
.cfc-st-square-small .cfc-btn:hover > .cfc-lb, .cfc-st-square-small .cfc-btn:focus-visible > .cfc-lb,
.cfc-st-rail .cfc-btn:hover > .cfc-lb, .cfc-st-rail .cfc-btn:focus-visible > .cfc-lb,
.cfc-st-icon-row .cfc-btn:hover > .cfc-lb, .cfc-st-icon-row .cfc-btn:focus-visible > .cfc-lb,
.cfc-st-bar-icons .cfc-btn:hover > .cfc-lb, .cfc-st-bar-icons .cfc-btn:focus-visible > .cfc-lb,
.cfc-dial:not(.cfc-dp-list):not(.cfc-dp-grid):not(.cfc-lbl-show) .cfc-dial-item:hover > .cfc-lb, .cfc-dial:not(.cfc-dp-list):not(.cfc-dp-grid):not(.cfc-lbl-show) .cfc-dial-item:focus-visible > .cfc-lb { opacity: 1; transform: translateY(-50%) scale(1); }
.cfc-bottom .cfc-ct-icon:hover > .cfc-lb, .cfc-bottom.cfc-st-bar-icons .cfc-btn:hover > .cfc-lb, .cfc-bottom.cfc-st-icon-row .cfc-btn:hover > .cfc-lb, .cfc-dc-bc:not(.cfc-dp-list):not(.cfc-dp-grid):not(.cfc-lbl-show) .cfc-dial-item:hover > .cfc-lb { transform: translateX(-50%) scale(1) !important; }
.cfc-btn.cfc-noicon .cfc-lb, .cfc-item.cfc-noicon .cfc-lb { position: static !important; opacity: 1 !important; transform: none !important; background: none !important; box-shadow: none !important; padding: 0 !important; pointer-events: auto !important; color: inherit !important; font-size: inherit !important; }

/* Kun-ikon uanset form */
.cfc-btn.cfc-ct-icon { padding: 0; width: var(--ih, 3.2em); min-width: 0; gap: 0; }
.cfc-btn.cfc-ct-icon:not(.cfc-dial-item) { height: var(--ih, 3.2em); }

/* ============ Sider (højre / venstre) ============ */
.cfc-right, .cfc-left { top: var(--pos, 50%); display: flex; flex-direction: column; gap: var(--gap, 10px); transform: translateY(-50%); }
.cfc-right { right: var(--edge, 0px); align-items: flex-end; }
.cfc-left { left: var(--edge, 0px); align-items: flex-start; }
/* Lige store knapper: alle knapper får bredden på den bredeste */
.cfc-right.cfc-equal, .cfc-left.cfc-equal { align-items: stretch; }
.cfc-st-pill-large { --ih: 3.85em; } .cfc-st-pill-compact { --ih: 2.7em; } .cfc-st-split-pill { --ih: 3.4em; }

.cfc-st-pill-large .cfc-btn { height: 3.85em; padding: 0 1.7em; border-radius: var(--r, 999px); font-size: 1.07em; }
.cfc-st-pill-compact .cfc-btn { height: 2.7em; padding: 0 1.15em; gap: .55em; border-radius: var(--r, 999px); font-size: .9em; }
.cfc-st-pill-compact .cfc-ic { width: 1.15em; height: 1.15em; }
.cfc-st-split-pill .cfc-btn { height: 3.4em; padding: .35em 1.5em .35em .35em; gap: .75em; border-radius: var(--r, 999px); }
.cfc-st-split-pill .cfc-ic { width: 2.7em; height: 2.7em; padding: .62em; border-radius: 50%; background: rgba(255, 255, 255, .24); }
.cfc-st-split-pill .cfc-btn.cfc-noicon { padding: 0 1.5em; }
.cfc-st-split-pill .cfc-btn.cfc-ct-icon { padding: .35em; }
.cfc-st-tab .cfc-btn { writing-mode: vertical-rl; padding: 1.2em .8em; gap: .6em; border-radius: var(--r, .8em 0 0 .8em); }
.cfc-st-tab.cfc-left .cfc-btn { border-radius: var(--r, 0 .8em .8em 0); }
.cfc-st-tab .cfc-btn.cfc-ip-left { flex-direction: column-reverse !important; }
.cfc-st-tab .cfc-btn.cfc-ip-right { flex-direction: column !important; }
.cfc-st-tab .cfc-btn.cfc-ip-top { flex-direction: row !important; }
.cfc-st-tab .cfc-btn.cfc-ip-bottom { flex-direction: row-reverse !important; }
.cfc-st-edge-card .cfc-btn { width: 4.7em; padding: .9em .4em; flex-direction: column; gap: .4em; font-size: .78em; border-radius: var(--r, 1em 0 0 1em); white-space: normal; text-align: center; }
.cfc-st-edge-card.cfc-left .cfc-btn { border-radius: var(--r, 0 1em 1em 0); }
.cfc-st-edge-card .cfc-ic { width: 1.9em; height: 1.9em; }
.cfc-st-round-icon .cfc-btn, .cfc-st-square-small .cfc-btn, .cfc-st-rail .cfc-btn { padding: 0; gap: 0; }
.cfc-st-round-icon .cfc-btn { width: 3.6em; height: 3.6em; border-radius: var(--r, 50%); }
.cfc-st-square-small .cfc-btn { width: 2.9em; height: 2.9em; border-radius: var(--r, .7em); }
.cfc-st-round-icon .cfc-btn.cfc-noicon, .cfc-st-square-small .cfc-btn.cfc-noicon, .cfc-st-rail .cfc-btn.cfc-noicon { width: auto; min-width: 3em; padding: 0 1.1em; }
.cfc-st-expand .cfc-btn { height: 3.4em; min-width: 3.4em; padding: 0 1em; gap: 0; border-radius: var(--r, 999px); overflow: hidden; }
.cfc-st-expand.cfc-right .cfc-btn { flex-direction: row-reverse; }
.cfc-st-expand .cfc-lb { max-width: 0; opacity: 0; overflow: hidden; padding-left: 0; transition: max-width .35s ease, opacity .25s ease, padding .35s ease; }
.cfc-st-expand .cfc-btn:hover .cfc-lb, .cfc-st-expand .cfc-btn:focus-visible .cfc-lb { max-width: 16em; opacity: 1; padding-left: .7em; }
.cfc-st-expand.cfc-right .cfc-btn:hover .cfc-lb { padding-left: 0; padding-right: .7em; }
.cfc-st-expand .cfc-noicon .cfc-lb { max-width: none; opacity: 1; padding: 0 !important; }
.cfc-st-expand .cfc-btn.cfc-ct-icon { width: 3.4em; }
/* Ikon-skinne */
.cfc-st-rail { gap: 0; filter: drop-shadow(0 .5em 1em rgba(15, 20, 40, .28)); }
.cfc-st-rail .cfc-btn { width: 3.5em; height: 3.5em; border-radius: 0; box-shadow: none; transform: none !important; }
.cfc-st-rail.cfc-right .cfc-btn:first-child { border-top-left-radius: 1em; }
.cfc-st-rail.cfc-right .cfc-btn:last-child { border-bottom-left-radius: 1em; }
.cfc-st-rail.cfc-left .cfc-btn:first-child { border-top-right-radius: 1em; }
.cfc-st-rail.cfc-left .cfc-btn:last-child { border-bottom-right-radius: 1em; }
.cfc-st-rail .cfc-btn:hover { filter: brightness(1.12); }

/* ============ Bund ============ */
.cfc-bottom { left: 0; right: 0; bottom: 0; padding-bottom: env(safe-area-inset-bottom, 0px); }
.cfc-bar { display: flex; }
.cfc-close { position: absolute; top: -13px; right: 14px; width: 28px; height: 28px; border-radius: 50%; border: 0; padding: 0; background: #1a1c28; color: #fff; font-size: 18px; line-height: 28px; text-align: center; cursor: pointer; box-shadow: 0 4px 12px rgba(0, 0, 0, .3); }
.cfc-st-bar-split, .cfc-st-bar-icons { --ih: 3.2em; }

.cfc-bm-buttons.cfc-st-bar-split .cfc-bar, .cfc-bm-buttons.cfc-st-bar-icons .cfc-bar { box-shadow: 0 -6px 24px rgba(15, 20, 40, .16); }
.cfc-bm-buttons.cfc-st-bar-split .cfc-btn { flex: 1 1 0; min-width: 0; padding: 1.15em .7em; border-radius: 0; box-shadow: none; font-size: .95em; }
.cfc-bm-buttons.cfc-st-bar-icons .cfc-btn { flex: 1 1 0; min-width: 0; padding: 1.1em .7em; border-radius: 0; box-shadow: none; }
.cfc-bm-buttons.cfc-st-bar-icons .cfc-btn .cfc-ic { width: 1.6em; height: 1.6em; }
.cfc-bm-buttons.cfc-st-bar-icons .cfc-btn.cfc-noicon { }
.cfc-bm-buttons.cfc-st-bar-split .cfc-btn:hover, .cfc-bm-buttons.cfc-st-bar-icons .cfc-btn:hover { transform: none; }
.cfc-bm-buttons.cfc-st-bar-split .cfc-btn.cfc-ct-icon, .cfc-bm-buttons.cfc-st-bar-icons .cfc-btn.cfc-ct-icon { width: auto; height: auto; padding: 1.1em .7em; }
.cfc-bm-buttons.cfc-st-floating-pills, .cfc-bm-buttons.cfc-st-icon-row { left: 50%; right: auto; bottom: calc(var(--edge, 14px) + env(safe-area-inset-bottom, 0px)); padding-bottom: 0; width: max-content; max-width: calc(100% - 24px); translate: -50% 0; }
.cfc-bm-buttons.cfc-st-floating-pills .cfc-bar { gap: .7em; }
.cfc-bm-buttons.cfc-st-floating-pills .cfc-btn { height: 3.5em; padding: 0 1.5em; border-radius: var(--r, 999px); }
.cfc-bm-buttons.cfc-st-floating-pills { --ih: 3.5em; }
.cfc-bm-buttons.cfc-st-floating-bar { left: var(--edge, 14px); right: var(--edge, 14px); bottom: calc(var(--edge, 14px) + env(safe-area-inset-bottom, 0px)); padding-bottom: 0; --ih: 3.4em; }
.cfc-bm-buttons.cfc-st-floating-bar .cfc-bar { gap: .55em; padding: .55em; background: var(--bb, #fff); border-radius: var(--br, 1.5em); box-shadow: 0 14px 40px rgba(15, 20, 40, .28); }
.cfc-bm-buttons.cfc-st-floating-bar .cfc-btn { flex: 1 1 0; min-width: 0; height: 3.4em; padding: 0 .7em; border-radius: var(--r, calc(var(--br, 1.5em) - .55em)); }
.cfc-bm-buttons.cfc-st-floating-bar .cfc-btn.cfc-ct-icon { width: auto; }
.cfc-bm-buttons.cfc-st-icon-row .cfc-bar { gap: .95em; }
.cfc-bm-buttons.cfc-st-icon-row .cfc-btn { width: 3.9em; height: 3.9em; padding: 0; gap: 0; border-radius: var(--r, 50%); }
.cfc-bm-buttons.cfc-st-icon-row .cfc-noicon, .cfc-bm-buttons.cfc-st-icon-row .cfc-btn.cfc-noicon { width: auto; padding: 0 1.3em; }

/* Menu: fælles for menupunkter */
.cfc-itemw { display: flex; position: relative; flex: 1 1 0; min-width: 0; }
.cfc-item { flex: 1 1 auto; min-width: 0; color: var(--bf, #1a1c28); font-size: .8em; box-shadow: var(--ish, none); border-radius: var(--ir, 0); }
.cfc-item .cfc-ic { color: var(--ic, var(--bic, currentColor)); }
.cfc-zone .cfc-item { color: var(--bf, #1a1c28); }
.cfc-item.is-current { color: var(--ba, #4f5df5); }
.cfc-item.is-current .cfc-ic { color: var(--bia, var(--ba, #4f5df5)); }
.cfc-st-tabbar .cfc-item .cfc-lb, .cfc-st-dock .cfc-item .cfc-lb, .cfc-st-text .cfc-item .cfc-lb { overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.cfc-has-sub > .cfc-item::after { content: ""; position: absolute; top: .45em; right: .45em; width: .4em; height: .4em; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(-45deg); opacity: .45; }
.cfc-pop { position: absolute; bottom: calc(100% + .9em); left: 50%; translate: -50% .6em; min-width: 11em; padding: .4em; display: flex; flex-direction: column; background: var(--bb, #fff); border-radius: 1.1em; box-shadow: 0 .8em 2.4em rgba(15, 20, 40, .3); opacity: 0; visibility: hidden; transition: opacity .2s, translate .25s cubic-bezier(.3, 1.3, .5, 1), visibility .2s; z-index: 5; }
.cfc-itemw.is-open > .cfc-pop { opacity: 1; visibility: visible; translate: -50% 0; }
.cfc-itemw:nth-last-child(-n+2) > .cfc-pop { left: auto; right: 0; translate: 0 .6em; }
.cfc-itemw.is-open:nth-last-child(-n+2) > .cfc-pop { translate: 0 0; }
.cfc-pop-item { justify-content: flex-start; padding: .75em 1em; border-radius: .8em; color: var(--bf, #1a1c28); font-size: .9em; }
.cfc-zone .cfc-pop-item { color: var(--bf, #1a1c28); }
.cfc-pop-item:hover { background: color-mix(in srgb, var(--ba, #4f5df5) 12%, transparent); color: var(--ba, #4f5df5); }
/* Tab-bar */
.cfc-bm-menu.cfc-st-tabbar .cfc-bar { background: var(--bb, #fff); box-shadow: 0 -6px 24px rgba(15, 20, 40, .12); border-top: 1px solid rgba(15, 20, 40, .06); }
.cfc-bm-menu.cfc-st-tabbar .cfc-item { flex-direction: column; gap: .3em; padding: .8em .3em .7em; }
.cfc-bm-menu.cfc-st-tabbar .cfc-ic { width: 1.7em; height: 1.7em; }
/* Dock */
.cfc-bm-menu.cfc-st-dock, .cfc-bm-menu.cfc-st-icon-dock { left: var(--edge, 14px); right: var(--edge, 14px); bottom: calc(var(--edge, 14px) + env(safe-area-inset-bottom, 0px)); padding-bottom: 0; }
.cfc-bm-menu.cfc-st-dock .cfc-bar, .cfc-bm-menu.cfc-st-icon-dock .cfc-bar { gap: .3em; padding: .55em; background: var(--bb, #fff); border-radius: var(--br, 1.5em); box-shadow: 0 16px 44px rgba(15, 20, 40, .28); }
.cfc-bm-menu.cfc-st-dock .cfc-item { flex-direction: column; gap: .3em; padding: .65em .3em; border-radius: calc(var(--br, 1.5em) - .55em); }
.cfc-bm-menu.cfc-st-dock .cfc-item.is-current, .cfc-bm-menu.cfc-st-icon-dock .cfc-item.is-current { background: color-mix(in srgb, var(--ba, #4f5df5) 14%, transparent); }
.cfc-bm-menu.cfc-st-dock .cfc-ic { width: 1.6em; height: 1.6em; }
.cfc-bm-menu.cfc-st-icon-dock .cfc-item { padding: .9em .4em; border-radius: calc(var(--br, 1.5em) - .55em); }
.cfc-bm-menu.cfc-st-icon-dock .cfc-ic { width: 1.8em; height: 1.8em; }
.cfc-bm-menu.cfc-st-icon-dock .cfc-item:hover .cfc-lb { opacity: 1; transform: translateX(-50%) scale(1) !important; }
.cfc-bm-menu.cfc-st-icon-dock .cfc-lb { background: var(--bf, #1a1c28); color: var(--bb, #fff); }
/* Pille-navigation */
.cfc-bm-menu.cfc-st-pill-nav, .cfc-bm-menu.cfc-st-segmented { left: 50%; right: auto; bottom: calc(var(--edge, 14px) + env(safe-area-inset-bottom, 0px)); padding-bottom: 0; width: max-content; max-width: calc(100% - 20px); translate: -50% 0; }
.cfc-bm-menu.cfc-st-pill-nav .cfc-bar, .cfc-bm-menu.cfc-st-segmented .cfc-bar { gap: .3em; padding: .5em; background: var(--bb, #fff); border-radius: var(--br, 999px); box-shadow: 0 16px 44px rgba(15, 20, 40, .28); }
.cfc-bm-menu.cfc-st-pill-nav .cfc-itemw, .cfc-bm-menu.cfc-st-segmented .cfc-itemw { flex: 0 0 auto; }
.cfc-bm-menu.cfc-st-pill-nav .cfc-item { height: 3.2em; padding: 0 1em; border-radius: 999px; font-size: .85em; gap: 0; }
.cfc-bm-menu.cfc-st-pill-nav .cfc-item .cfc-lb { max-width: 0; opacity: 0; transition: max-width .3s, opacity .25s; }
.cfc-bm-menu.cfc-st-pill-nav .cfc-item.is-current { background: color-mix(in srgb, var(--ba, #4f5df5) 15%, transparent); gap: .55em; }
.cfc-bm-menu.cfc-st-pill-nav .cfc-item.is-current .cfc-lb, .cfc-bm-menu.cfc-st-pill-nav .cfc-item:hover .cfc-lb { max-width: 9em; opacity: 1; }
.cfc-bm-menu.cfc-st-pill-nav .cfc-item:hover { gap: .55em; }
.cfc-bm-menu.cfc-st-pill-nav .cfc-noicon .cfc-lb { max-width: 9em; opacity: 1; }
/* Segmenteret */
.cfc-bm-menu.cfc-st-segmented .cfc-item { padding: .75em 1.35em; border-radius: 999px; font-size: .85em; }
.cfc-bm-menu.cfc-st-segmented .cfc-item.is-current { background: var(--ba, #4f5df5); color: #fff; }
.cfc-bm-menu.cfc-st-segmented .cfc-item.is-current .cfc-ic { color: var(--bia, #fff); }
/* Kun tekst */
.cfc-bm-menu.cfc-st-text .cfc-bar { background: var(--bb, #fff); box-shadow: 0 -6px 24px rgba(15, 20, 40, .12); border-top: 1px solid rgba(15, 20, 40, .06); }
.cfc-bm-menu.cfc-st-text .cfc-item { padding: 1.15em .5em; font-size: .88em; }
.cfc-bm-menu.cfc-st-text .cfc-item::before { content: ""; position: absolute; left: 22%; right: 22%; bottom: .55em; height: 3px; border-radius: 3px; background: var(--ba, #4f5df5); transform: scaleX(0); transition: transform .25s; }
.cfc-bm-menu.cfc-st-text .cfc-item.is-current::before { transform: scaleX(1); }

/* ============ Speed dial ============ */
.cfc-dial { display: flex; --isz: 3.3em; }
.cfc-dc-br { right: var(--edge-x, 22px); bottom: var(--edge-y, 22px); }
.cfc-dc-bl { left: var(--edge-x, 22px); bottom: var(--edge-y, 22px); }
.cfc-dc-tr { right: var(--edge-x, 22px); top: var(--edge-y, 22px); }
.cfc-dc-tl { left: var(--edge-x, 22px); top: var(--edge-y, 22px); }
.cfc-dc-mr { right: var(--edge-x, 22px); top: 50%; translate: 0 -50%; }
.cfc-dc-ml { left: var(--edge-x, 22px); top: 50%; translate: 0 -50%; }
.cfc-dc-bc { left: 50%; bottom: var(--edge-y, 22px); translate: -50% 0; }
.cfc-dbd { position: fixed; inset: 0; background: color-mix(in srgb, var(--dbd, #0b0c11) 48%, transparent); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; z-index: calc(var(--z, 9990) - 1); }
.cfc-dbd.is-open { opacity: 1; visibility: visible; }
/* Cirkel rundt om knappen (i stedet for at dæmpe hele skærmen) */
.cfc-dhalo { position: absolute; left: 50%; top: 50%; width: var(--hd, 7em); height: var(--hd, 7em); translate: -50% -50%; scale: .3; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in srgb, var(--dbd, #0b0c11) 55%, transparent) 68%, transparent 100%); opacity: 0; pointer-events: none; transition: scale .5s cubic-bezier(.34, 1.56, .64, 1), opacity .3s; }
.cfc-dial.is-open .cfc-dhalo { scale: 1; opacity: 1; }

.cfc-dial-trigger { width: calc(3.9em * var(--tsz, 1)); height: calc(3.9em * var(--tsz, 1)); padding: 0; border-radius: var(--r, 50%); flex: none; z-index: 2; }
.cfc-dial-trigger.cfc-ts-rounded { border-radius: 32%; }
.cfc-dial-trigger.cfc-ts-pill { width: auto; padding: 0 1.6em 0 1.2em; border-radius: 999px; gap: .7em; }
.cfc-tic { position: relative; display: inline-flex; width: 1.7em; height: 1.7em; flex: none; }
.cfc-tic .cfc-ic { position: absolute; inset: 0; width: 100%; height: 100%; transition: rotate .4s cubic-bezier(.3, 1.4, .5, 1), opacity .25s; }
.cfc-tic .cfc-ic-close { opacity: 0; rotate: -90deg; }
.cfc-dial.is-open .cfc-tic .cfc-ic-open { opacity: 0; rotate: 90deg; }
.cfc-dial.is-open .cfc-tic .cfc-ic-close { opacity: 1; rotate: 0deg; }
.cfc-tlb { font-size: .95em; }

.cfc-dial-items { position: absolute; inset: 0; pointer-events: none; }
.cfc-dial-item { position: absolute; left: 50%; top: 50%; width: var(--isz); height: var(--isz); padding: 0; gap: 0; border-radius: var(--r, 50%); translate: -50% -50%; scale: .3; opacity: 0; visibility: hidden; pointer-events: none; font-size: .95em;
	transition: translate .55s cubic-bezier(.34, 1.56, .64, 1), scale .45s cubic-bezier(.34, 1.56, .64, 1), opacity .25s, visibility .5s, background .2s, color .2s, box-shadow .25s, filter .2s, transform .25s; }
.cfc-ish-rounded .cfc-dial-item { border-radius: var(--r, 32%); }
.cfc-dial.is-open .cfc-dial-item { translate: calc(-50% + var(--tx, 0em) + var(--nx, 0px)) calc(-50% + var(--ty, 0em) + var(--ny, 0px)); scale: 1; opacity: 1; visibility: visible; pointer-events: auto; }
.cfc-dial.is-open:not(.is-settled) .cfc-dial-item { transition-delay: calc(var(--i, 0) * var(--stag, 45ms)); } /* forsinkelsen gælder kun mens menuen folder ud – ikke hover-effekter bagefter */
.cfc-dial.is-open .cfc-dial-items { pointer-events: none; }
.cfc-dial .cfc-dial-item .cfc-ic { width: 1.45em; height: 1.45em; }

/* Etiket-synlighed: tekst altid synlig */
.cfc-dial.cfc-lbl-none .cfc-dial-item .cfc-lb { display: none; }

/* Flex-mønstre: liste, ikon-kolonne, række, gitter */
.cfc-dp-list .cfc-dial-items, .cfc-dp-list-icons .cfc-dial-items, .cfc-dp-grid .cfc-dial-items, .cfc-dp-row .cfc-dial-items { inset: auto; display: flex; gap: .8em; }
.cfc-dp-list .cfc-dial-item, .cfc-dp-list-icons .cfc-dial-item, .cfc-dp-grid .cfc-dial-item, .cfc-dp-row .cfc-dial-item { position: relative; left: auto; top: auto; translate: 0 1.2em; scale: .5; }
.cfc-dial.is-open.cfc-dp-list .cfc-dial-item, .cfc-dial.is-open.cfc-dp-list-icons .cfc-dial-item, .cfc-dial.is-open.cfc-dp-grid .cfc-dial-item, .cfc-dial.is-open.cfc-dp-row .cfc-dial-item { translate: 0 0; scale: 1; }
.cfc-dp-list .cfc-dial-items, .cfc-dp-list-icons .cfc-dial-items, .cfc-dp-grid .cfc-dial-items { flex-direction: column-reverse; bottom: calc(100% + 1em); }
.cfc-dc-br.cfc-dp-list .cfc-dial-items, .cfc-dc-br.cfc-dp-list-icons .cfc-dial-items, .cfc-dc-br.cfc-dp-grid .cfc-dial-items, .cfc-dc-tr.cfc-dp-list .cfc-dial-items, .cfc-dc-tr.cfc-dp-list-icons .cfc-dial-items, .cfc-dc-tr.cfc-dp-grid .cfc-dial-items, .cfc-dc-mr.cfc-dp-list .cfc-dial-items, .cfc-dc-mr.cfc-dp-list-icons .cfc-dial-items, .cfc-dc-mr.cfc-dp-grid .cfc-dial-items { right: 0; align-items: flex-end; }
.cfc-dc-bl.cfc-dp-list .cfc-dial-items, .cfc-dc-bl.cfc-dp-list-icons .cfc-dial-items, .cfc-dc-bl.cfc-dp-grid .cfc-dial-items, .cfc-dc-tl.cfc-dp-list .cfc-dial-items, .cfc-dc-tl.cfc-dp-list-icons .cfc-dial-items, .cfc-dc-tl.cfc-dp-grid .cfc-dial-items, .cfc-dc-ml.cfc-dp-list .cfc-dial-items, .cfc-dc-ml.cfc-dp-list-icons .cfc-dial-items, .cfc-dc-ml.cfc-dp-grid .cfc-dial-items { left: 0; align-items: flex-start; }
.cfc-dc-bc.cfc-dp-list .cfc-dial-items, .cfc-dc-bc.cfc-dp-list-icons .cfc-dial-items, .cfc-dc-bc.cfc-dp-grid .cfc-dial-items { left: 50%; translate: -50% 0; align-items: center; }
.cfc-dc-tr.cfc-dp-list .cfc-dial-items, .cfc-dc-tr.cfc-dp-list-icons .cfc-dial-items, .cfc-dc-tr.cfc-dp-grid .cfc-dial-items, .cfc-dc-tl.cfc-dp-list .cfc-dial-items, .cfc-dc-tl.cfc-dp-list-icons .cfc-dial-items, .cfc-dc-tl.cfc-dp-grid .cfc-dial-items { bottom: auto; top: calc(100% + 1em); flex-direction: column; }
.cfc-dc-tr.cfc-dp-list .cfc-dial-item, .cfc-dc-tl.cfc-dp-list .cfc-dial-item, .cfc-dc-tr.cfc-dp-list-icons .cfc-dial-item, .cfc-dc-tl.cfc-dp-list-icons .cfc-dial-item { translate: 0 -1.2em; }
.cfc-dp-list .cfc-dial-item { width: auto; height: 3.1em; padding: 0 1.4em 0 1em; gap: .7em; border-radius: var(--r, 999px); }
.cfc-dp-list.cfc-dc-br .cfc-dial-item, .cfc-dp-list.cfc-dc-tr .cfc-dial-item, .cfc-dp-list.cfc-dc-mr .cfc-dial-item { flex-direction: row-reverse; padding: 0 1em 0 1.4em; }
.cfc-dp-row .cfc-dial-items { top: 50%; margin-top: calc(var(--isz) / -2 * 0); align-items: center; }
.cfc-dc-br.cfc-dp-row .cfc-dial-items, .cfc-dc-tr.cfc-dp-row .cfc-dial-items, .cfc-dc-mr.cfc-dp-row .cfc-dial-items { right: calc(100% + 1em); flex-direction: row-reverse; top: 50%; translate: 0 -50%; }
.cfc-dc-bl.cfc-dp-row .cfc-dial-items, .cfc-dc-tl.cfc-dp-row .cfc-dial-items, .cfc-dc-ml.cfc-dp-row .cfc-dial-items { left: calc(100% + 1em); flex-direction: row; top: 50%; translate: 0 -50%; }
.cfc-dc-bc.cfc-dp-row .cfc-dial-items { left: 50%; top: auto; bottom: calc(100% + 1em); translate: -50% 0; flex-direction: row; }
.cfc-dp-row .cfc-dial-item { translate: 1.2em 0; }
.cfc-dc-bl.cfc-dp-row .cfc-dial-item, .cfc-dc-tl.cfc-dp-row .cfc-dial-item, .cfc-dc-ml.cfc-dp-row .cfc-dial-item { translate: -1.2em 0; }
.cfc-dp-grid .cfc-dial-items { display: grid; grid-template-columns: repeat(var(--cols, 2), auto); padding: .8em; background: #fff; border-radius: 1.4em; box-shadow: 0 1em 3em rgba(15, 20, 40, .32); opacity: 0; scale: .85; transition: opacity .25s, scale .35s cubic-bezier(.34, 1.56, .64, 1); }
.cfc-dp-grid.is-open .cfc-dial-items { opacity: 1; scale: 1; pointer-events: auto; }
.cfc-dp-grid .cfc-dial-item { width: 5.3em; height: 5em; flex-direction: column; gap: .4em; font-size: .78em; border-radius: var(--r, 1em); white-space: normal; text-align: center; }
.cfc-dp-grid .cfc-dial-item .cfc-lb { font-size: 1em; }
.cfc-dial.cfc-lbl-show:not(.cfc-dp-list):not(.cfc-dp-grid) .cfc-dial-item { width: auto; padding: 0 1.2em 0 .9em; gap: .6em; height: 3em; border-radius: 999px; }

/* Kun i admin-preview: knap uden link (vises ikke på den rigtige side) */
.cfc-pv .cfc-nolink { outline: 2px dashed #f5a623; outline-offset: 3px; }

/* ============ Knap med besked ============ */
.cfc-nc-br { right: var(--edge-x, 22px); bottom: var(--edge-y, 22px); --na: flex-end; }
.cfc-nc-bl { left: var(--edge-x, 22px); bottom: var(--edge-y, 22px); --na: flex-start; }
.cfc-nc-tr { right: var(--edge-x, 22px); top: var(--edge-y, 22px); --na: flex-end; }
.cfc-nc-tl { left: var(--edge-x, 22px); top: var(--edge-y, 22px); --na: flex-start; }
.cfc-nc-mr { right: var(--edge-x, 22px); top: 50%; transform: translateY(-50%); --na: flex-end; }
.cfc-nc-ml { left: var(--edge-x, 22px); top: 50%; transform: translateY(-50%); --na: flex-start; }
.cfc-nc-bc { left: 50%; bottom: var(--edge-y, 22px); transform: translateX(-50%); --na: center; }
/* Knappen sidder helt ude i hjørnet (samme afstand til kant og bund), også når beskeden er højere end knappen */
.cfc-nc-br, .cfc-nc-bl, .cfc-nc-bc { --nv: flex-end; --arr-t: auto; --arr-b: 1em; --arr-mt: 0; }
.cfc-nc-tr, .cfc-nc-tl { --nv: flex-start; --arr-t: 1em; --arr-b: auto; --arr-mt: 0; }
.cfc-note-in { display: flex; align-items: var(--nv, center); gap: .9em; }
.cfc-ns-right .cfc-note-in { flex-direction: row-reverse; }
.cfc-ns-top .cfc-note-in { flex-direction: column; align-items: var(--na, center); }
.cfc-ns-bottom .cfc-note-in { flex-direction: column-reverse; align-items: var(--na, center); }
.cfc-note-b { position: relative; display: flex; align-items: center; gap: .6em; max-width: min(17em, 62vw); padding: .75em 1.05em; background: var(--nb, #fff); color: var(--nf, #1a1c28); font-size: calc(var(--nfs, 14px) * var(--s, 1)); line-height: 1.35; border-radius: 1em; box-shadow: 0 .5em 1.6em rgba(15, 20, 40, .22); }
.cfc-note-b[hidden] { display: none; }
.cfc-note-t { min-width: 0; overflow-wrap: anywhere; }
.cfc-note-ic { width: 1.3em; height: 1.3em; }
.cfc-nb-pill { border-radius: 999px; padding: .6em 1.25em; }
.cfc-nb-card { border-radius: .55em; box-shadow: 0 .8em 2.2em rgba(15, 20, 40, .28); }
.cfc-nb-bubble::after { content: ""; position: absolute; width: .75em; height: .75em; background: inherit; rotate: 45deg; border-radius: .15em; }
.cfc-ns-left .cfc-nb-bubble::after { right: -.3em; top: var(--arr-t, 50%); bottom: var(--arr-b, auto); margin-top: var(--arr-mt, -.375em); }
.cfc-ns-right .cfc-nb-bubble::after { left: -.3em; top: var(--arr-t, 50%); bottom: var(--arr-b, auto); margin-top: var(--arr-mt, -.375em); }
.cfc-ns-top .cfc-nb-bubble::after { bottom: -.3em; left: 50%; margin-left: -.375em; }
.cfc-ns-bottom .cfc-nb-bubble::after { top: -.3em; left: 50%; margin-left: -.375em; }
.cfc-ns-left .cfc-note-b { transform-origin: 100% 50%; } .cfc-ns-right .cfc-note-b { transform-origin: 0 50%; }
.cfc-ns-top .cfc-note-b { transform-origin: 50% 100%; } .cfc-ns-bottom .cfc-note-b { transform-origin: 50% 0; }
.cfc-note-close { position: absolute; top: -.6em; right: -.6em; width: 1.7em; height: 1.7em; border-radius: 50%; border: 0; padding: 0; background: #1a1c28; color: #fff; font-size: .9em; line-height: 1.7em; text-align: center; cursor: pointer; box-shadow: 0 .2em .6em rgba(0, 0, 0, .3); }
.cfc-nba-float { animation: cfc-float 3.2s ease-in-out infinite; }
.cfc-nba-shake { animation: cfc-shake 4s ease infinite; }
.cfc-js .cfc-note-b { opacity: 0; scale: .85; transition: opacity .4s ease var(--nbd, 0s), scale .5s cubic-bezier(.3, 1.4, .5, 1) var(--nbd, 0s); }
.cfc-js .cfc-note.is-in .cfc-note-b { opacity: 1; scale: 1; }
.cfc-js .cfc-ent-slide.cfc-note:not(.is-in) { translate: 0 80%; }
.cfc-note.cfc-st-round-icon .cfc-btn:not(.cfc-noicon) .cfc-lb, .cfc-note.cfc-st-square-small .cfc-btn:not(.cfc-noicon) .cfc-lb, .cfc-note .cfc-btn.cfc-ct-icon:not(.cfc-noicon) .cfc-lb { display: none; }

/* ============ Announcement bar ============ */
.cfc-ann { left: 0; right: 0; background: var(--ab, #1a1c28); color: var(--af, #fff); font-size: var(--afs, 14px); font-weight: var(--aw, var(--cfc-fw, 600)); }
.cfc-ann.cfc-af.cfc-ap-top { top: var(--aoff, 0px); }
.cfc-ann.cfc-af.cfc-ap-bottom { bottom: var(--aoff, 0px); }
body.admin-bar .cfc-ann.cfc-af.cfc-ap-top { top: calc(32px + var(--aoff, 0px)); }
@media (max-width: 782px) { body.admin-bar .cfc-ann.cfc-af.cfc-ap-top { top: calc(46px + var(--aoff, 0px)); } }
.cfc-ann.cfc-as { position: relative; z-index: auto; }
.cfc-js .cfc-ann.cfc-as:not(.is-in) { display: none; }
.cfc-ash { box-shadow: 0 .3em 1.4em rgba(0, 0, 0, .25); }
.cfc-ann-in { display: flex; align-items: center; justify-content: center; gap: .8em; padding: var(--apy, 10px) 3.2em var(--apy, 10px) 1.2em; flex-wrap: wrap; text-align: center; }
.cfc-aal-left .cfc-ann-in { justify-content: flex-start; text-align: left; }
.cfc-aal-right .cfc-ann-in { justify-content: flex-end; text-align: right; }
.cfc-ann-ic { width: 1.3em; height: 1.3em; }
.cfc-ann-track { min-width: 0; }
.cfc-ann-msg { display: none; }
.cfc-ann-msg.is-on { display: inline; }
.cfc-aa-fade .cfc-ann-track, .cfc-aa-slide .cfc-ann-track { display: grid; overflow: hidden; }
.cfc-aa-fade .cfc-ann-msg, .cfc-aa-slide .cfc-ann-msg { display: block; grid-area: 1 / 1; opacity: 0; transition: opacity .5s ease, transform .5s cubic-bezier(.3, 1, .4, 1); }
.cfc-aa-slide .cfc-ann-msg { transform: translateY(70%); }
.cfc-aa-fade .cfc-ann-msg.is-on, .cfc-aa-slide .cfc-ann-msg.is-on { opacity: 1; transform: none; }
.cfc-aa-slide .cfc-ann-msg.is-out { opacity: 0; transform: translateY(-70%); }
.cfc-aa-marquee .cfc-ann-in { flex-wrap: nowrap; }
.cfc-aa-marquee .cfc-ann-track { flex: 1; overflow: hidden; white-space: nowrap; -webkit-mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); }
.cfc-aa-marquee .cfc-ann-msg { display: inline; }
.cfc-ann-mq { display: inline-flex; animation: cfc-mq var(--aspeed, 24s) linear infinite; }
.cfc-ann-mq > span { padding-right: 4em; display: inline-block; white-space: nowrap; }
.cfc-ann-mq .cfc-ann-msg { display: inline; margin-right: 3em; }
.cfc-ann-track:hover .cfc-ann-mq { animation-play-state: paused; }
@keyframes cfc-mq { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.cfc-ann-cd { font-variant-numeric: tabular-nums; white-space: nowrap; }
.cfc-ann-cd i { font-style: normal; opacity: .8; }
.cfc-ann-cd b { font-weight: 800; letter-spacing: .02em; }
.cfc-ann-link { color: var(--al, inherit); font-weight: 700; white-space: nowrap; text-decoration: none; }
.cfc-zone .cfc-ann-link { color: var(--al, inherit); }
.cfc-ann-link.cfc-al-underline { text-decoration: underline !important; text-underline-offset: .2em; }
.cfc-ann-link.cfc-al-button { background: var(--al, #fff); color: var(--ab, #1a1c28); padding: .35em 1.05em; border-radius: 999px; transition: transform .2s; }
.cfc-ann-link.cfc-al-outline { border: 1.5px solid var(--al, currentColor); padding: .3em 1em; border-radius: 999px; transition: background .2s; }
.cfc-ann-link.cfc-al-outline:hover { background: color-mix(in srgb, var(--al, currentColor) 18%, transparent); }
.cfc-ann-link.cfc-al-button:hover { transform: translateY(-1px); }
.cfc-ann-close { top: 50%; right: .7em; transform: translateY(-50%); background: transparent; color: var(--acl, var(--af, #fff)); box-shadow: none; font-size: 1.7em; width: 1.4em; height: 1.4em; line-height: 1.3em; opacity: .75; }
.cfc-ann-close:hover { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
	.cfc-zone, .cfc-btn, .cfc-item, .cfc-dial-item, .cfc-ann-msg, .cfc-note-b { transition: none !important; animation: none !important; }
	.cfc-anim-pulse::before, .cfc-anim-shine::after { display: none; }
	.cfc-ann-mq { animation: none; }
}
