/* ==========================================================================
   Seasonal greetings — loaded only while an occasion is on (inc/festive.php)
   ========================================================================== */

/* Greeting bar above the header */

.ih-greeting {
	position: relative;
	display: flex; align-items: center; justify-content: center; gap: 12px;
	padding: 8px 48px;
	background: var(--ih-paper);
	font-family: var(--ih-font-ui); font-size: 0.875rem; font-weight: 600;
	color: var(--ih-ink); text-align: center;
}
.ih-greeting::after {
	content: ""; position: absolute; inset: auto 0 0; height: 3px;
	background: linear-gradient(90deg, var(--ih-f1), var(--ih-f2), var(--ih-f1));
	background-size: 200% 100%;
	animation: ih-shimmer 6s linear infinite;
}
.ih-greeting__text { margin: 0; }
.ih-greeting__close {
	position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
	width: 32px; height: 32px; border: 0; border-radius: 50%;
	background: transparent; color: var(--ih-ink-soft); font-size: 1.25rem; line-height: 1; cursor: pointer;
}
.ih-greeting__close:hover,
.ih-greeting__close:focus-visible { background: var(--ih-line); color: var(--ih-ink); }
.ih-greeting.is-hidden { display: none; }

/* Canvas behind the header and footer content */

.has-festive .ih-footer { position: relative; overflow: hidden; }
.ih-festive-canvas {
	position: absolute; inset: 0; z-index: 0;
	width: 100%; height: 100%;
	pointer-events: none;
}
.has-festive .ih-header__inner,
.has-festive .ih-footer__inner,
.has-festive .ih-footer__fine { position: relative; z-index: 1; }

/* Bunting garland hanging under the header */

.ih-garland {
	position: absolute; top: 100%; left: 0; right: 0; height: 22px;
	overflow: hidden; pointer-events: none;
}
.ih-garland svg { display: block; }
.ih-garland__string { fill: none; stroke: var(--ih-ink-soft); stroke-width: 1; opacity: .6; }
.ih-garland__flag {
	transform-box: fill-box; transform-origin: 50% 0;
	stroke: rgb(0 0 0 / 12%); stroke-width: .6;
	animation: ih-sway 2.6s ease-in-out infinite alternate;
}

.ih-footer__greeting {
	flex-basis: 100%; margin: 0;
	font-family: var(--ih-font-display); font-size: 1.15rem; font-weight: 700;
	color: var(--ih-accent);
}

@keyframes ih-shimmer { to { background-position: -200% 0; } }
@keyframes ih-sway {
	from { transform: rotate(-6deg); }
	to { transform: rotate(6deg); }
}

@media (prefers-reduced-motion: reduce) {
	.ih-greeting::after,
	.ih-garland__flag { animation: none; }
}

/* Emoji emblem on both sides of the greeting text */

.ih-greeting__emblem { display: inline-block; margin: 0 0.4em; font-size: 1.2em; line-height: 1; vertical-align: -0.1em; }
