/* Farmah's – living logo: weather sign above the "s", snowfall, festival pieces (inc/logo-deco.php). */
.fm-ld { position: relative; z-index: 0; display: inline-block; white-space: nowrap; }
.fm-ld-c { position: relative; display: inline-block; }
.fm-ld-p { position: absolute; display: block; line-height: 0; pointer-events: none; z-index: 2; }
.fm-ld-p > svg, .fm-ld-art { display: block; width: 100%; height: auto; overflow: visible; }
.fm-ld-behind { z-index: -1; }

/* Weather sign: a small frosted pill floating just above the s (never on it). */
.fm-ld-wx { position: absolute; left: 50%; bottom: calc(100% + .04em); transform: translateX(-50%); display: inline-flex; align-items: center; gap: .1em; padding: .1em .42em .1em .2em; border-radius: 999px; font-family: var(--wp--preset--font-family--body, system-ui, sans-serif); font-size: max(9.5px, .42em); font-weight: 700; line-height: 1; letter-spacing: -.01em; white-space: nowrap; pointer-events: auto; cursor: default;
	color: var(--wp--preset--color--ink, #1C1B19); background: rgba(255,255,255,.62); border: 1px solid rgba(28,27,25,.07); box-shadow: 0 1px 2px rgba(28,27,25,.06), 0 4px 12px -6px rgba(28,27,25,.18); -webkit-backdrop-filter: blur(6px) saturate(1.3); backdrop-filter: blur(6px) saturate(1.3); }
.fm-ld-wxicon { display: block; line-height: 0; }
.fm-ld-wxi { width: 2.15em !important; height: 1.6em !important; }
.fm-ld-temp { font-variant-numeric: tabular-nums; }
html[data-theme="dark"] .fm-ld-wx { color: #F3EDE2; background: rgba(38,34,27,.7); border-color: rgba(246,213,138,.16); box-shadow: 0 4px 14px -6px rgba(0,0,0,.6); }

/* Snow over the logo while it snows in Graz. */
.fm-ld-snow { display: none; position: absolute; left: -.9em; right: -1.1em; top: -1.15em; bottom: -.45em; overflow: hidden; pointer-events: none; z-index: 3; }
.fm-ld.is-snow .fm-ld-snow { display: block; }
.fm-ld-snow i { position: absolute; top: 0; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fff, #DCE7F7 55%, rgba(220,231,247,0) 72%); filter: drop-shadow(0 0 1px rgba(70,100,150,.45)); animation: fmld-snow 6s linear infinite; }
html[data-theme="dark"] .fm-ld-snow i { background: radial-gradient(circle at 35% 35%, #fff, #EEF4FF 60%, rgba(238,244,255,0) 72%); filter: none; }
.fm-ld-snow i:nth-child(1){left:62.3%;width:4.3px;height:4.3px;--sw:-7px;animation-duration:7.7s;animation-delay:-7.5s;opacity:0.89}
.fm-ld-snow i:nth-child(2){left:77.6%;width:2.9px;height:2.9px;--sw:5px;animation-duration:4.7s;animation-delay:-1.3s;opacity:0.74}
.fm-ld-snow i:nth-child(3){left:24.7%;width:3.7px;height:3.7px;--sw:-5px;animation-duration:6.8s;animation-delay:-0.1s;opacity:0.71}
.fm-ld-snow i:nth-child(4){left:18.2%;width:4.6px;height:4.6px;--sw:-7px;animation-duration:6.1s;animation-delay:-6.1s;opacity:0.61}
.fm-ld-snow i:nth-child(5){left:61.7%;width:2.6px;height:2.6px;--sw:-5px;animation-duration:4.5s;animation-delay:-7.0s;opacity:0.86}
.fm-ld-snow i:nth-child(6){left:96.0%;width:2.7px;height:2.7px;--sw:-5px;animation-duration:5.2s;animation-delay:-2.5s;opacity:0.77}
.fm-ld-snow i:nth-child(7){left:67.8%;width:2.8px;height:2.8px;--sw:7px;animation-duration:8.3s;animation-delay:-5.5s;opacity:0.67}
.fm-ld-snow i:nth-child(8){left:36.1%;width:2.7px;height:2.7px;--sw:5px;animation-duration:5.1s;animation-delay:-0.5s;opacity:0.88}
.fm-ld-snow i:nth-child(9){left:58.6%;width:3.9px;height:3.9px;--sw:5px;animation-duration:7.3s;animation-delay:-0.5s;opacity:0.88}
.fm-ld-snow i:nth-child(10){left:48.1%;width:3.1px;height:3.1px;--sw:-7px;animation-duration:6.4s;animation-delay:-5.6s;opacity:0.65}
.fm-ld-snow i:nth-child(11){left:93.9%;width:4.9px;height:4.9px;--sw:7px;animation-duration:5.9s;animation-delay:-3.2s;opacity:0.7}
.fm-ld-snow i:nth-child(12){left:57.9%;width:2.2px;height:2.2px;--sw:-5px;animation-duration:4.7s;animation-delay:-1.4s;opacity:0.6}
.fm-ld-snow i:nth-child(13){left:24.6%;width:4.5px;height:4.5px;--sw:5px;animation-duration:6.3s;animation-delay:-4.1s;opacity:0.86}
.fm-ld-snow i:nth-child(14){left:10.8%;width:4.3px;height:4.3px;--sw:-7px;animation-duration:7.7s;animation-delay:-6.9s;opacity:0.72}
.fm-ld-snow i:nth-child(15){left:97.8%;width:2.8px;height:2.8px;--sw:-5px;animation-duration:6.6s;animation-delay:-2.9s;opacity:0.69}
.fm-ld-snow i:nth-child(16){left:92.4%;width:3.7px;height:3.7px;--sw:-5px;animation-duration:5.7s;animation-delay:-2.5s;opacity:0.87}

/* Fasching confetti */
.fmld-confetti { position: absolute; inset: 0; overflow: hidden; display: block; }
.fmld-confetti i { position: absolute; top: 0; width: 5px; height: 3px; border-radius: 1px; animation: fmld-confetti 5s linear infinite; }
.fmld-confetti i:nth-child(1){left:60.9%;background:#E63946;animation-duration:5.3s;animation-delay:-1.9s;--rot:-540deg}
.fmld-confetti i:nth-child(2){left:17.2%;background:#F4D35E;animation-duration:3.6s;animation-delay:-5.9s;--rot:-540deg}
.fmld-confetti i:nth-child(3){left:5.0%;background:#2A9D8F;animation-duration:5.4s;animation-delay:-2.1s;--rot:540deg}
.fmld-confetti i:nth-child(4){left:44.8%;background:#4D7CFE;animation-duration:4.6s;animation-delay:-0.3s;--rot:360deg}
.fmld-confetti i:nth-child(5){left:77.4%;background:#F72585;animation-duration:4.3s;animation-delay:-1.2s;--rot:-360deg}
.fmld-confetti i:nth-child(6){left:61.3%;background:#FF9F1C;animation-duration:5.5s;animation-delay:-0.6s;--rot:-540deg}
.fmld-confetti i:nth-child(7){left:37.1%;background:#E63946;animation-duration:3.6s;animation-delay:-2.5s;--rot:-360deg}
.fmld-confetti i:nth-child(8){left:44.6%;background:#F4D35E;animation-duration:6.0s;animation-delay:-5.1s;--rot:-540deg}
.fmld-confetti i:nth-child(9){left:92.3%;background:#2A9D8F;animation-duration:5.2s;animation-delay:-1.9s;--rot:540deg}
.fmld-confetti i:nth-child(10){left:29.4%;background:#4D7CFE;animation-duration:4.5s;animation-delay:-0.9s;--rot:-540deg}
.fmld-confetti i:nth-child(11){left:79.3%;background:#F72585;animation-duration:4.8s;animation-delay:-1.1s;--rot:-540deg}
.fmld-confetti i:nth-child(12){left:83.6%;background:#FF9F1C;animation-duration:4.0s;animation-delay:-3.0s;--rot:540deg}

/* Motion */
.fmld-drift { animation: fmld-drift 7s ease-in-out infinite; }
.fmld-pulse { animation: fmld-pulse 3.6s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.fmld-spin { animation: fmld-spin 22s linear infinite; }
.fmld-tw { animation: fmld-tw 2.6s ease-in-out infinite; }
.fmld-drop { animation: fmld-drop 1s linear infinite; }
.fmld-flake { animation: fmld-flake 2.4s linear infinite; }
.fmld-bob { transform-origin: 30% 85%; animation: fmld-bob 5s ease-in-out infinite; }
.fmld-bob2 { animation: fmld-bob2 4s ease-in-out infinite; }
.fmld-ear2 { transform-origin: 30px 58px; animation: fmld-ear 6s ease-in-out infinite; }
.fmld-ear1 { transform-origin: 16px 58px; animation: fmld-ear1 7s ease-in-out infinite; }
.fmld-ring { animation: fmld-ring 2.2s ease-in-out infinite; }
.fmld-flame { transform-box: fill-box; transform-origin: 50% 100%; animation: fmld-flame 1.1s ease-in-out infinite; }
.fmld-spark { animation: fmld-spark 2.1s ease-out infinite; }
.fmld-puff { animation: fmld-puff 4.2s ease-in-out infinite; }
.fmld-burst { animation: fmld-burst 3s ease-out infinite; }
.fmld-spk { animation: fmld-spk 2.6s ease-in-out infinite; }
.fmld-sway { transform-origin: 50% 100%; animation: fmld-sway 5s ease-in-out infinite; }
.fmld-kite { animation: fmld-kite 4.5s ease-in-out infinite; }
.fmld-rot { animation: fmld-rot 40s linear infinite; }
.fmld-float { animation: fmld-float 4s ease-in-out infinite; }
.fmld-tapl { animation: fmld-tapl 1.6s ease-in-out infinite; }
.fmld-tapr { animation: fmld-tapr 1.6s ease-in-out infinite; }
.fa-burst { animation: fmld-burst 3.4s ease-out infinite; }
@keyframes fmld-drift { 0%, 100% { transform: translateX(-.8px); } 50% { transform: translateX(.8px); } }
@keyframes fmld-pulse { 0%, 100% { opacity: .6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.1); } }
@keyframes fmld-spin { to { transform: rotate(360deg); } }
@keyframes fmld-tw { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }
@keyframes fmld-drop { 0% { transform: translateY(-1px); opacity: 0; } 25% { opacity: 1; } 100% { transform: translateY(5px); opacity: 0; } }
@keyframes fmld-flake { 0% { transform: translate(0,-2px); opacity: 0; } 25% { opacity: 1; } 100% { transform: translate(1px,4px); opacity: 0; } }
@keyframes fmld-snow { 0% { transform: translate(0,-6px); opacity: 0; } 12% { opacity: 1; } 50% { transform: translate(var(--sw),2.2em); } 88% { opacity: 1; } 100% { transform: translate(0,4.4em); opacity: 0; } }
@keyframes fmld-confetti { 0% { transform: translateY(-6px) rotate(0); opacity: 0; } 12% { opacity: 1; } 100% { transform: translateY(2.4em) rotate(var(--rot)); opacity: 0; } }
@keyframes fmld-bob { 0%, 100% { transform: rotate(-3deg); } 50% { transform: rotate(1.5deg) translateY(-.02em); } }
@keyframes fmld-bob2 { 0%, 100% { transform: rotate(-6deg); } 50% { transform: rotate(6deg); } }
@keyframes fmld-ear { 0%, 70%, 100% { transform: rotate(0); } 76% { transform: rotate(9deg); } 82% { transform: rotate(-3deg); } 88% { transform: rotate(5deg); } }
@keyframes fmld-ear1 { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(-2.5deg); } }
@keyframes fmld-ring { 0%, 100% { transform: rotate(-9deg); } 50% { transform: rotate(9deg); } }
@keyframes fmld-flame { 0%, 100% { transform: scale(1,1) skewX(0); } 25% { transform: scale(.93,1.07) skewX(3deg); } 50% { transform: scale(1.04,.95) skewX(-2deg); } 75% { transform: scale(.97,1.05) skewX(2deg); } }
@keyframes fmld-spark { 0% { transform: translateY(0); opacity: 0; } 20% { opacity: 1; } 100% { transform: translateY(-9px) translateX(2px); opacity: 0; } }
@keyframes fmld-puff { 0%, 100% { transform: scale(.88); opacity: .55; } 50% { transform: scale(1.12); opacity: .85; } }
@keyframes fmld-burst { 0% { transform: scale(.15); opacity: 0; } 25% { opacity: 1; } 70% { opacity: .7; } 100% { transform: scale(1.2); opacity: 0; } }
@keyframes fmld-spk { 0%, 100% { transform: scale(.2) rotate(0); opacity: 0; } 45% { transform: scale(1) rotate(25deg); opacity: 1; } }
@keyframes fmld-sway { 0%, 100% { transform: rotate(-4deg); } 50% { transform: rotate(4deg); } }
@keyframes fmld-kite { 0%, 100% { transform: translate(0,0) rotate(-4deg); } 50% { transform: translate(2px,-3px) rotate(5deg); } }
@keyframes fmld-rot { to { transform: rotate(360deg); } }
@keyframes fmld-float { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-.04em) rotate(1deg); } }
@keyframes fmld-tapl { 0%, 60%, 100% { transform: rotate(0); } 75% { transform: rotate(7deg); } }
@keyframes fmld-tapr { 0%, 60%, 100% { transform: rotate(0); } 75% { transform: rotate(-7deg); } }
@media (prefers-reduced-motion: reduce) {
	.fm-ld *, .fa-burst { animation: none !important; }
	.fm-ld-snow, .fmld-confetti { display: none !important; }
}
@media print { .fm-ld-wx, .fm-ld-p, .fm-ld-snow { display: none !important; } }
