/* GHMC Site Notice — shared content, announcement bar, popup */

.ghmc-sn {
	--ghmc-navy: #0f3d72;
	--ghmc-navy-2: #0c3361;
	--ghmc-navy-deep: #0a2a52;
	--ghmc-gold: #f6b21a;
	--ghmc-gold-2: #ffcb4d;
	--ghmc-gold-soft: #fff4d8;
	--ghmc-gold-ink: #7a5300;
	--ghmc-ink: #13263f;
	--ghmc-muted: #56667b;
	--ghmc-line: #e4e9f0;
	--ghmc-ease: cubic-bezier(.2, .8, .2, 1);
	--ghmc-display: "Exo 2", "Segoe UI", system-ui, -apple-system, sans-serif;
	--ghmc-text: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
	font-family: var(--ghmc-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	box-sizing: border-box;
}
.ghmc-sn *, .ghmc-sn *::before, .ghmc-sn *::after { box-sizing: border-box; }
.ghmc-sn svg { display: block; flex: none; }
.ghmc-sn [hidden], .ghmc-sn[hidden] { display: none !important; }

/* ---------- Shared content ---------- */
.ghmc-sn .ghmc-sn-content { text-align: center; color: var(--ghmc-ink); }

.ghmc-sn .ghmc-sn-badge {
	display: inline-flex; align-items: center; gap: 9px;
	margin: 0 0 18px; padding: 7px 15px 7px 12px;
	border-radius: 999px;
	background: var(--ghmc-gold-soft);
	border: 1px solid rgba(246, 178, 26, .5);
	color: var(--ghmc-gold-ink);
	font: 700 11px/1.2 var(--ghmc-text);
	letter-spacing: .14em; text-transform: uppercase;
}
.ghmc-sn .ghmc-sn-badge__dot { position: relative; width: 7px; height: 7px; border-radius: 50%; background: var(--ghmc-gold); }
.ghmc-sn .ghmc-sn-badge__dot::after {
	content: ""; position: absolute; inset: -4px; border-radius: 50%;
	border: 2px solid var(--ghmc-gold); opacity: 0;
	animation: ghmc-sn-ping 2.4s var(--ghmc-ease) infinite;
}

.ghmc-sn .ghmc-sn-title {
	margin: 0 0 14px; padding: 0;
	font-family: var(--ghmc-display); font-weight: 800; font-style: normal;
	font-size: clamp(28px, 4.4vw, 42px); line-height: 1.12; letter-spacing: -.012em;
	text-transform: none; color: var(--ghmc-navy);
	text-wrap: balance;
}
.ghmc-sn .ghmc-sn-hl {
	position: relative; color: inherit; padding: 0 .06em;
	background-image: linear-gradient(var(--ghmc-gold), var(--ghmc-gold));
	background-repeat: no-repeat; background-position: 0 94%; background-size: 0% .24em;
	-webkit-box-decoration-break: clone; box-decoration-break: clone;
	animation: ghmc-sn-mark 1s .55s var(--ghmc-ease) forwards;
}

.ghmc-sn .ghmc-sn-message {
	max-width: 46ch; margin: 0 auto 26px;
	color: var(--ghmc-muted); font: 400 16px/1.7 var(--ghmc-text);
	text-wrap: pretty;
}
.ghmc-sn .ghmc-sn-message p { margin: 0 0 .75em; font: inherit; color: inherit; }
.ghmc-sn .ghmc-sn-message p:last-child { margin-bottom: 0; }
.ghmc-sn .ghmc-sn-message a { color: var(--ghmc-navy); font-weight: 600; text-decoration: underline; text-decoration-color: var(--ghmc-gold); text-underline-offset: 3px; }
.ghmc-sn .ghmc-sn-message strong { color: var(--ghmc-ink); font-weight: 600; }

/* Countdown */
.ghmc-sn .ghmc-sn-count { margin: 0 auto 28px; max-width: 430px; }
.ghmc-sn .ghmc-sn-count__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.ghmc-sn .ghmc-sn-count__unit {
	position: relative; overflow: hidden;
	padding: 15px 4px 11px; border-radius: 14px;
	background: linear-gradient(180deg, #164a86 0%, var(--ghmc-navy-deep) 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 10px 22px -14px rgba(10, 42, 82, .9);
}
.ghmc-sn .ghmc-sn-count__unit::before {
	content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px;
	background: rgba(0, 0, 0, .18); box-shadow: 0 1px 0 rgba(255, 255, 255, .05);
}
.ghmc-sn .ghmc-sn-count__num {
	display: block; position: relative;
	font: 700 clamp(24px, 3.6vw, 32px)/1 var(--ghmc-display);
	color: #fff; font-variant-numeric: tabular-nums; letter-spacing: .02em;
}
.ghmc-sn .ghmc-sn-count__label {
	display: block; margin-top: 7px;
	font: 600 10px/1 var(--ghmc-text); letter-spacing: .16em; text-transform: uppercase;
	color: var(--ghmc-gold-2);
}
.ghmc-sn .ghmc-sn-count__done { margin: 14px 0 0; font: 600 15px/1.4 var(--ghmc-text); color: var(--ghmc-navy); }
.ghmc-sn .ghmc-sn-count.is-done .ghmc-sn-count__grid { opacity: .45; }

/* Button */
.ghmc-sn .ghmc-sn-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.ghmc-sn a.ghmc-sn-btn {
	display: inline-flex; align-items: center; gap: 12px;
	padding: 8px 8px 8px 24px; min-height: 50px;
	border-radius: 14px; border: 0;
	background: linear-gradient(180deg, #144a88, var(--ghmc-navy));
	color: #fff; text-decoration: none;
	font: 600 15px/1 var(--ghmc-text); letter-spacing: .01em;
	box-shadow: 0 1px 0 rgba(255, 255, 255, .14) inset, 0 14px 26px -14px rgba(15, 61, 114, .85);
	transition: transform .3s var(--ghmc-ease), box-shadow .3s var(--ghmc-ease), background .3s;
}
.ghmc-sn a.ghmc-sn-btn .ghmc-sn-btn__icon {
	display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px;
	background: var(--ghmc-gold); color: var(--ghmc-navy-deep);
	transition: transform .3s var(--ghmc-ease);
}
.ghmc-sn a.ghmc-sn-btn:hover, .ghmc-sn a.ghmc-sn-btn:focus-visible {
	color: #fff; transform: translateY(-2px);
	box-shadow: 0 1px 0 rgba(255, 255, 255, .14) inset, 0 20px 32px -14px rgba(15, 61, 114, .9);
}
.ghmc-sn a.ghmc-sn-btn:hover .ghmc-sn-btn__icon { transform: translateX(3px); }
.ghmc-sn a.ghmc-sn-btn:focus-visible { outline: 3px solid var(--ghmc-gold); outline-offset: 3px; }

/* Contact */
.ghmc-sn .ghmc-sn-contact {
	display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 22px;
	list-style: none; margin: 26px 0 0; padding: 20px 0 0;
	border-top: 1px solid var(--ghmc-line);
}
.ghmc-sn .ghmc-sn-contact li { margin: 0; padding: 0; list-style: none; }
.ghmc-sn .ghmc-sn-contact a {
	display: inline-flex; align-items: center; gap: 8px;
	color: var(--ghmc-muted); text-decoration: none;
	font: 500 14px/1.4 var(--ghmc-text);
	transition: color .2s;
}
.ghmc-sn .ghmc-sn-contact a svg { color: #c88f05; }
.ghmc-sn .ghmc-sn-contact a:hover { color: var(--ghmc-navy); }

.ghmc-sn .ghmc-sn-logo { display: block; max-width: 100%; height: auto; margin: 0 auto; }

/* Close button — specific enough to beat theme button resets */
.ghmc-sn button.ghmc-sn-close {
	display: grid; place-items: center;
	width: 36px; height: 36px; padding: 0; margin: 0;
	border: 0; border-radius: 50%;
	background: rgba(15, 61, 114, .07); color: var(--ghmc-navy);
	cursor: pointer; box-shadow: none; text-transform: none; line-height: 1;
	transition: background .25s, color .25s, transform .3s var(--ghmc-ease);
}
.ghmc-sn button.ghmc-sn-close:hover, .ghmc-sn button.ghmc-sn-close:focus-visible {
	background: var(--ghmc-navy); color: #fff; transform: rotate(90deg);
}
.ghmc-sn button.ghmc-sn-close:focus-visible { outline: 3px solid var(--ghmc-gold); outline-offset: 2px; }

/* ---------- Announcement bar ---------- */
.ghmc-sn.ghmc-sn-bar {
	position: relative; z-index: 99990;
	display: grid; grid-template-rows: 0fr;
	background:
		radial-gradient(60% 220% at 50% 0%, rgba(246, 178, 26, .16), transparent 60%),
		linear-gradient(90deg, var(--ghmc-navy-deep), var(--ghmc-navy) 50%, var(--ghmc-navy-deep));
	color: #fff;
	transition: grid-template-rows .55s var(--ghmc-ease);
}
.ghmc-sn.ghmc-sn-bar::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
	background: linear-gradient(90deg, transparent, var(--ghmc-gold) 30%, var(--ghmc-gold-2) 50%, var(--ghmc-gold) 70%, transparent);
	opacity: 0; transition: opacity .4s .2s;
}
.ghmc-sn.ghmc-sn-bar.is-visible { grid-template-rows: 1fr; }
.ghmc-sn.ghmc-sn-bar.is-visible::after { opacity: 1; }
.ghmc-sn.ghmc-sn-bar.is-sticky { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); }
.ghmc-sn .ghmc-sn-bar__clip { min-height: 0; overflow: hidden; }
.ghmc-sn .ghmc-sn-bar__inner {
	position: relative;
	display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 14px;
	max-width: 1280px; margin: 0 auto; padding: 11px 60px 12px 20px;
	font: 500 14.5px/1.45 var(--ghmc-text); text-align: center;
}
.ghmc-sn .ghmc-sn-bar__badge {
	display: inline-flex; align-items: center;
	padding: 5px 11px; border-radius: 999px;
	background: linear-gradient(180deg, var(--ghmc-gold-2), var(--ghmc-gold));
	color: var(--ghmc-navy-deep);
	font: 700 10.5px/1 var(--ghmc-text); letter-spacing: .13em; text-transform: uppercase;
	box-shadow: 0 4px 12px -4px rgba(246, 178, 26, .6);
}
.ghmc-sn .ghmc-sn-bar__text { color: #fff; font-weight: 500; letter-spacing: .005em; }
.ghmc-sn a.ghmc-sn-bar__link {
	display: inline-flex; align-items: center; gap: 6px;
	color: var(--ghmc-gold-2); text-decoration: none; font-weight: 600;
	padding-bottom: 1px;
	background: linear-gradient(currentColor, currentColor) 0 100% / 0% 1px no-repeat;
	transition: background-size .35s var(--ghmc-ease), color .2s;
}
.ghmc-sn a.ghmc-sn-bar__link svg { transition: transform .3s var(--ghmc-ease); }
.ghmc-sn a.ghmc-sn-bar__link:hover, .ghmc-sn a.ghmc-sn-bar__link:focus-visible { color: #fff; background-size: 100% 1px; }
.ghmc-sn a.ghmc-sn-bar__link:hover svg { transform: translateX(3px); }
.ghmc-sn button.ghmc-sn-bar__close {
	position: absolute; right: 14px; top: 50%; translate: 0 -50%;
	width: 30px; height: 30px; background: rgba(255, 255, 255, .1); color: #fff;
}
.ghmc-sn button.ghmc-sn-bar__close:hover, .ghmc-sn button.ghmc-sn-bar__close:focus-visible { background: var(--ghmc-gold); color: var(--ghmc-navy-deep); }

/* ---------- Popup ---------- */
.ghmc-sn.ghmc-sn-pop {
	position: fixed; inset: 0; z-index: 999999;
	display: grid; place-items: center; padding: 20px;
	opacity: 0; visibility: hidden;
	transition: opacity .4s ease, visibility 0s linear .4s;
}
.ghmc-sn.ghmc-sn-pop.is-open { opacity: 1; visibility: visible; transition: opacity .4s ease; }
.ghmc-sn .ghmc-sn-pop__backdrop {
	position: absolute; inset: 0;
	background: radial-gradient(circle at 50% 30%, rgba(15, 61, 114, .55), rgba(5, 20, 40, .78));
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.ghmc-sn .ghmc-sn-pop__dialog {
	position: relative; width: 100%; max-width: 520px;
	max-height: calc(100vh - 40px); max-height: calc(100dvh - 40px); overflow: auto;
	border-radius: 26px; background: #fff;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .5) inset, 0 50px 100px -30px rgba(3, 15, 35, .7), 0 20px 40px -20px rgba(3, 15, 35, .5);
	transform: translateY(24px) scale(.96); opacity: 0;
	transition: transform .65s var(--ghmc-ease), opacity .45s ease;
	overscroll-behavior: contain;
}
.ghmc-sn.ghmc-sn-pop.is-open .ghmc-sn-pop__dialog { transform: none; opacity: 1; }
.ghmc-sn .ghmc-sn-pop__head {
	position: relative; overflow: hidden;
	padding: 34px 32px 26px;
	background: radial-gradient(120% 130% at 50% 0%, #fff6dd 0%, #fffdf7 45%, #fff 75%);
	border-bottom: 1px solid var(--ghmc-line);
}
.ghmc-sn .ghmc-sn-pop__head::before {
	content: ""; position: absolute; left: 50%; top: 0; width: 900px; height: 900px;
	transform: translate(-50%, -50%);
	background: repeating-conic-gradient(rgba(246, 178, 26, .16) 0deg 3deg, transparent 3deg 13deg);
	-webkit-mask-image: radial-gradient(circle, transparent 0 8%, #000 9%, transparent 34%);
	mask-image: radial-gradient(circle, transparent 0 8%, #000 9%, transparent 34%);
	pointer-events: none;
}
.ghmc-sn .ghmc-sn-pop__head::after {
	content: ""; position: absolute; left: 50%; bottom: -1px; width: 64px; height: 3px;
	transform: translateX(-50%); border-radius: 3px 3px 0 0; background: var(--ghmc-gold);
}
.ghmc-sn .ghmc-sn-pop__head .ghmc-sn-logo { position: relative; width: min(290px, 78%); }
.ghmc-sn .ghmc-sn-pop__dialog:focus { outline: none; }
.ghmc-sn .ghmc-sn-pop__body { padding: 28px 34px 32px; }
.ghmc-sn .ghmc-sn-pop__body .ghmc-sn-title { font-size: clamp(24px, 3.4vw, 31px); }
.ghmc-sn .ghmc-sn-pop__body .ghmc-sn-message { font-size: 15.5px; margin-bottom: 24px; }
.ghmc-sn button.ghmc-sn-pop__close { position: absolute; top: 14px; right: 14px; z-index: 2; background: rgba(255, 255, 255, .85); box-shadow: 0 2px 8px rgba(10, 42, 82, .12); }
html.ghmc-sn-lock, html.ghmc-sn-lock body { overflow: hidden !important; }

/* ---------- Motion ---------- */
@keyframes ghmc-sn-ping { 0% { transform: scale(.4); opacity: .9; } 80%, 100% { transform: scale(1.5); opacity: 0; } }
@keyframes ghmc-sn-mark { to { background-size: 100% .24em; } }

@media (max-width: 600px) {
	.ghmc-sn .ghmc-sn-bar__inner { padding: 10px 50px 11px 16px; font-size: 13.5px; gap: 6px 10px; }
	.ghmc-sn button.ghmc-sn-bar__close { right: 10px; }
	.ghmc-sn .ghmc-sn-pop__head { padding: 52px 22px 22px; }
	.ghmc-sn .ghmc-sn-pop__head .ghmc-sn-logo { width: min(270px, 92%); }
	.ghmc-sn button.ghmc-sn-pop__close { top: 10px; right: 10px; }
	.ghmc-sn .ghmc-sn-pop__body { padding: 24px 22px 26px; }
	.ghmc-sn .ghmc-sn-count__grid { gap: 7px; }
	.ghmc-sn .ghmc-sn-count__unit { border-radius: 12px; padding: 13px 2px 10px; }
	.ghmc-sn .ghmc-sn-count__label { font-size: 9px; letter-spacing: .12em; }
}

@media (prefers-reduced-motion: reduce) {
	.ghmc-sn *, .ghmc-sn *::before, .ghmc-sn *::after, .ghmc-sn.ghmc-sn-bar, .ghmc-sn.ghmc-sn-pop {
		animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important;
	}
	.ghmc-sn .ghmc-sn-hl { background-size: 100% .24em; }
}
