/* GRE Action Bar: phones only (below 768px). House colours: navy #002244, gold #f4b400. */
.gre-bar, .gre-sheet { display: none; }

@media (max-width: 767px) {
	body { padding-bottom: calc(64px + env(safe-area-inset-bottom)) !important; }

	.gre-bar {
		display: flex;
		position: fixed;
		left: 0; right: 0; bottom: 0;
		z-index: 9990;
		background: #002244;
		border-top: 2px solid #f4b400;
		padding: 0 0 env(safe-area-inset-bottom);
		box-shadow: 0 -4px 18px rgba(0, 0, 0, .18);
		transition: transform .2s ease;
	}
	.gre-bar.is-hidden { transform: translateY(110%); }
	.gre-bar__btn {
		flex: 1 1 0;
		display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
		min-height: 62px;
		margin: 0; padding: 6px 0 4px;
		background: none; border: 0; border-radius: 0;
		color: #fff !important; text-decoration: none !important;
		font: 600 12px/1.1 'Work Sans', system-ui, sans-serif; letter-spacing: .4px;
		cursor: pointer;
		-webkit-tap-highlight-color: rgba(244, 180, 0, .25);
	}
	.gre-bar__btn svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
	.gre-bar__btn--kevin { background: #f4b400; color: #002244 !important; }
	.gre-bar__btn:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }

	/* Suzie lives in the bar on phones: hide her launcher and teaser, keep her window above the bar. */
	.floating-chatbot-button, .pre-chat-message { display: none !important; }
	.floating-chatbot { z-index: 10000 !important; }

	.gre-sheet { display: block; position: fixed; inset: 0; z-index: 10001; }
	.gre-sheet[hidden] { display: none; }
	.gre-sheet__scrim { position: absolute; inset: 0; background: rgba(0, 21, 47, .55); }
	.gre-sheet__panel {
		position: absolute; left: 0; right: 0; bottom: 0;
		background: #fff;
		border-top: 4px solid #f4b400;
		padding: 22px 18px calc(18px + env(safe-area-inset-bottom));
		font-family: 'Work Sans', system-ui, sans-serif;
		animation: gre-sheet-up .2s ease;
	}
	@keyframes gre-sheet-up { from { transform: translateY(40px); opacity: 0; } }
	.gre-sheet__x {
		position: absolute; top: 8px; right: 8px;
		width: 44px; height: 44px;
		background: none; border: 0; color: #64748b; font-size: 28px; line-height: 1; cursor: pointer;
	}
	.gre-sheet__title { margin: 0 0 2px; font: 400 1.35rem/1.2 'Belleza', sans-serif; color: #002244; text-transform: uppercase; }
	.gre-sheet__sub { margin: 0 0 14px; color: #64748b; font-size: .9rem; }
	.gre-sheet__row {
		display: block;
		padding: 14px 16px; margin: 0 0 8px;
		border: 1px solid #e2e8f0; border-left: 4px solid #002244;
		color: #002244 !important; text-decoration: none !important;
		font-weight: 600; font-size: 1rem;
	}
	.gre-sheet__row small { display: block; margin-top: 2px; font-weight: 400; font-size: .82rem; color: #64748b; }
	.gre-sheet__row--main { background: #002244; color: #fff !important; border-left-color: #f4b400; }
	.gre-sheet__row--main small { color: #cbd5e1; }
	html.gre-sheet-open { overflow: hidden; }
}

/* Subscribe buttons in next-step blocks stay hidden until subscriptions go live. */
[data-gre-subscribe] { display: none !important; }
html.gre-subscribe-live [data-gre-subscribe] { display: inline-block !important; }

/* Subscribe sheet and toast: every width (the subscribe buttons sit in page content). */
.gre-sheet.gre-sub { display: block; position: fixed; inset: 0; z-index: 10001; }
.gre-sheet.gre-sub[hidden] { display: none; }
.gre-sub .gre-sheet__scrim { position: absolute; inset: 0; background: rgba(0, 21, 47, .55); }
.gre-sub .gre-sheet__panel {
	position: absolute; left: 0; right: 0; bottom: 0;
	max-height: 88vh; overflow-y: auto; -webkit-overflow-scrolling: touch;
	background: #fff; border-top: 4px solid #f4b400;
	padding: 22px 18px calc(18px + env(safe-area-inset-bottom));
	font-family: 'Work Sans', system-ui, sans-serif; color: #334155;
	box-sizing: border-box;
}
@media (min-width: 768px) {
	.gre-sub .gre-sheet__panel { left: 50%; right: auto; bottom: auto; top: 50%; width: 520px; transform: translate(-50%, -50%); }
}
.gre-sub .gre-sheet__x { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; background: none; border: 0; color: #64748b; font-size: 28px; line-height: 1; cursor: pointer; }
.gre-sub .gre-sheet__title { margin: 0 0 4px; font: 400 1.35rem/1.2 'Belleza', sans-serif; color: #002244; text-transform: uppercase; }
.gre-sub .gre-sheet__sub { margin: 0 0 14px; color: #64748b; font-size: .92rem; line-height: 1.5; }
.gre-sub__picked { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 8px; }
.gre-sub__pill { display: inline-flex; align-items: center; gap: 6px; padding: 6px 6px 6px 10px; background: #002244; color: #fff; font-size: .85rem; font-weight: 600; border: 0; cursor: pointer; }
.gre-sub__pill span { font-size: 1.1rem; line-height: 1; opacity: .8; }
.gre-sub__none { color: #b45309; font-size: .88rem; margin: 0; }
.gre-sub__more { margin: 0 0 14px; }
.gre-sub__more summary { cursor: pointer; color: #002244; font-weight: 600; font-size: .9rem; padding: 8px 0; text-decoration: underline; text-decoration-color: #f4b400; text-underline-offset: 3px; }
.gre-sub__group { margin: 8px 0 4px; }
.gre-sub__group p { margin: 8px 0 6px; font-size: .75rem; letter-spacing: 1.5px; text-transform: uppercase; color: #64748b; font-weight: 700; }
.gre-sub__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.gre-sub__chip { position: relative; }
.gre-sub__chip input { position: absolute; opacity: 0; pointer-events: none; }
.gre-sub__chip span { display: inline-block; padding: 7px 10px; border: 1px solid #cbd5e1; font-size: .85rem; color: #334155; cursor: pointer; }
.gre-sub__chip input:checked + span { background: #002244; border-color: #002244; color: #fff; }
.gre-sub__chip input:focus-visible + span { outline: 2px solid #f4b400; outline-offset: 1px; }
.gre-sub__label { display: block; margin: 10px 0 4px; font-weight: 700; font-size: .85rem; color: #002244; }
.gre-sub__label span { font-weight: 400; color: #64748b; }
.gre-sub__input { width: 100%; box-sizing: border-box; padding: 13px 12px; border: 2px solid #cbd5e1; font-size: 16px; color: #1e293b; background: #fff; }
.gre-sub__input:focus { border-color: #002244; outline: none; }
.gre-sub__trap { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; }
.gre-sub__error { margin: 8px 0 0; color: #b91c1c; font-size: .88rem; min-height: 0; }
.gre-sub__error:empty { display: none; }
.gre-sub__send { width: 100%; margin: 14px 0 8px; padding: 15px; border: 0; background: #002244; color: #fff; font-weight: 700; font-size: 1rem; cursor: pointer; }
.gre-sub__send[disabled] { opacity: .6; cursor: default; }
.gre-sub__fine { margin: 0; font-size: .8rem; color: #64748b; }
.gre-sub__testlink a { word-break: break-all; font-size: .8rem; }
.gre-sheet__soft { display: block; margin: 12px 0 0; text-align: center; color: #002244 !important; font-size: .92rem; text-decoration: underline !important; text-decoration-color: #f4b400 !important; text-underline-offset: 3px; }
.gre-toast {
	position: fixed; left: 50%; bottom: calc(80px + env(safe-area-inset-bottom)); transform: translateX(-50%);
	z-index: 10002; max-width: calc(100vw - 32px); box-sizing: border-box;
	padding: 14px 18px; background: #002244; color: #fff; border-left: 4px solid #f4b400;
	font: 600 .95rem/1.4 'Work Sans', system-ui, sans-serif; box-shadow: 0 8px 24px rgba(0,0,0,.25);
}
.gre-toast[hidden] { display: none; }
@media (min-width: 768px) { .gre-toast { bottom: 32px; } }
html.gre-subscribe-live .gre-sheet__soft[data-gre-subscribe] { display: block !important; }
