/* IcedOutBuffs app popup — bottom sheet on phones, centred card above 40rem. */

.iobapp-popup {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.iobapp-popup[hidden] { display: none; }

.iobapp-popup__scrim {
	position: absolute;
	inset: 0;
	background: rgba(6, 10, 18, .58);
	opacity: 0;
	transition: opacity .22s ease;
}

.iobapp-popup.is-open .iobapp-popup__scrim { opacity: 1; }

.iobapp-popup__sheet {
	position: relative;
	width: 100%;
	max-width: 30rem;
	padding: 2rem 1.5rem calc(1.75rem + env(safe-area-inset-bottom));
	border-radius: 28px 28px 0 0;
	background:
		radial-gradient(130% 80% at 50% 0%, rgba(127, 212, 255, .2), transparent 62%),
		linear-gradient(180deg, #0b1a2b, #060a12 70%);
	color: #d6e7f4;
	text-align: center;
	box-shadow: 0 -18px 50px rgba(3, 8, 16, .55);
	transform: translateY(102%);
	transition: transform .26s cubic-bezier(.22, .8, .3, 1);
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.iobapp-popup.is-open .iobapp-popup__sheet { transform: translateY(0); }

.iobapp-popup__close {
	position: absolute;
	top: .75rem;
	right: 1rem;
	width: 2.25rem;
	height: 2.25rem;
	border: 0;
	background: none;
	color: rgba(214, 231, 244, .55);
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
}

.iobapp-popup__badge img {
	width: 56px;
	height: 56px;
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .45);
}

.iobapp-popup__eyebrow {
	margin: 1.1rem 0 .4rem;
	font-size: .82rem;
	font-weight: 600;
	color: #7fd4ff;
}

.iobapp-popup__title {
	margin: 0 0 .6rem;
	font-size: 1.55rem;
	font-weight: 800;
	letter-spacing: -.02em;
	line-height: 1.15;
	color: #ffffff;
}

.iobapp-popup__text {
	margin: 0 auto 1.6rem;
	max-width: 24rem;
	font-size: .95rem;
	line-height: 1.55;
	color: rgba(214, 231, 244, .68);
}

.iobapp-popup__cta {
	display: block;
	width: 100%;
	padding: 1rem 1.25rem;
	border: 0;
	border-radius: 999px;
	background: #d6e7f4;
	color: #07121f;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
}

.iobapp-popup__cta:hover { background: #ffffff; }

.iobapp-popup__skip {
	display: block;
	width: 100%;
	margin-top: .65rem;
	padding: .8rem;
	border: 0;
	background: none;
	color: rgba(214, 231, 244, .5);
	font-size: .88rem;
	cursor: pointer;
}

.iobapp-popup__hint {
	margin: 1rem 0 0;
	font-size: .85rem;
	line-height: 1.5;
	color: #7fd4ff;
}

.iobapp-popup__cta:focus-visible,
.iobapp-popup__skip:focus-visible,
.iobapp-popup__close:focus-visible {
	outline: 2px solid #7fd4ff;
	outline-offset: 3px;
}

@media (min-width: 40rem) {
	.iobapp-popup { align-items: center; }

	.iobapp-popup__sheet {
		max-width: 26rem;
		border-radius: 24px;
		transform: translateY(14px) scale(.98);
		opacity: 0;
		transition: transform .24s ease, opacity .24s ease;
	}

	.iobapp-popup.is-open .iobapp-popup__sheet {
		transform: translateY(0) scale(1);
		opacity: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.iobapp-popup__sheet,
	.iobapp-popup__scrim { transition: none; }
}

/* --- Offer strip inside the prompt --- */
.iobapp-popup__offer {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .6rem;
	margin: 0 0 1.25rem;
	padding: .65rem .9rem;
	border: 1px dashed rgba(127, 212, 255, .45);
	border-radius: 14px;
	font-size: .85rem;
	color: #d6e7f4;
}

.iobapp-popup__offer code {
	padding: .15rem .5rem;
	border-radius: 6px;
	background: rgba(127, 212, 255, .16);
	color: #7fd4ff;
	font-size: .8rem;
	letter-spacing: .06em;
}

/* --- Buttons, subscribe and account forms --- */
.iobapp-dl-btn {
	display: inline-block;
	padding: .85rem 1.6rem;
	border: 0;
	border-radius: 999px;
	background: #0b1a2b;
	color: #ffffff;
	font-size: .95rem;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	text-decoration: none;
}

.iobapp-dl-btn:hover { background: #12304d; color: #ffffff; }

.iobapp-dl-btn--outline {
	background: transparent;
	border: 1px solid currentColor;
	color: inherit;
}

.iobapp-form {
	max-width: 30rem;
	font-family: inherit;
}

.iobapp-form h3 { margin: 0 0 .35rem; font-size: 1.2rem; }
.iobapp-form p { margin: 0 0 1rem; font-size: .92rem; opacity: .75; }

.iobapp-form input {
	width: 100%;
	margin-bottom: .6rem;
	padding: .85rem 1rem;
	border: 1px solid rgba(11, 26, 43, .2);
	border-radius: 12px;
	font-size: .95rem;
}

.iobapp-form__row {
	display: flex;
	gap: .5rem;
	align-items: stretch;
}

.iobapp-form__row input { margin-bottom: 0; }

.iobapp-form__row button {
	flex: 0 0 auto;
	padding: 0 1.4rem;
	border: 0;
	border-radius: 12px;
	background: #0b1a2b;
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

.iobapp-form__message { margin: .6rem 0 0; font-size: .85rem; min-height: 1.2em; }
.iobapp-form__message.is-ok { color: #1c7a31; }
.iobapp-form__message.is-error { color: #a72c33; }

.iobapp-tabs { display: flex; gap: .5rem; margin-bottom: 1rem; }

.iobapp-tabs button {
	flex: 1;
	padding: .6rem;
	border: 1px solid rgba(11, 26, 43, .18);
	border-radius: 999px;
	background: transparent;
	font-size: .85rem;
	font-weight: 600;
	cursor: pointer;
}

.iobapp-tabs button.is-active { background: #0b1a2b; border-color: #0b1a2b; color: #fff; }

.iobapp-account__points { font-size: 2rem; font-weight: 800; margin: .2rem 0 1rem; }
.iobapp-account__points span { font-size: .9rem; font-weight: 600; opacity: .6; }

.iobapp-points-badge {
	display: inline-block;
	padding: .2rem .7rem;
	border-radius: 999px;
	background: rgba(127, 212, 255, .18);
	font-weight: 700;
}

/* ---------- Sign in: Google, reset, coupons ---------- */

.iobapp-google {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .6rem;
	width: 100%;
	padding: .8rem 1rem;
	margin-bottom: .9rem;
	border-radius: 999px;
	border: 1px solid rgba(0, 0, 0, .12);
	background: #fff;
	color: #1f1f1f;
	font-weight: 600;
	font-size: .92rem;
	text-decoration: none;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .12);
}
.iobapp-google:hover { background: #f7f8f8; }
.iobapp-google svg { flex: 0 0 auto; }

.iobapp-facebook {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .6rem;
	width: 100%;
	padding: .8rem 1rem;
	margin-bottom: .9rem;
	border-radius: 999px;
	border: 1px solid #1877F2;
	background: #1877F2;
	color: #fff;
	font-weight: 600;
	font-size: .92rem;
	text-decoration: none;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .12);
}
.iobapp-facebook:hover { background: #1466d1; }
.iobapp-facebook svg { flex: 0 0 auto; }

.iobapp-or {
	display: flex;
	align-items: center;
	gap: .75rem;
	margin: .2rem 0 .9rem;
	font-size: .78rem;
	opacity: .6;
}
.iobapp-or::before,
.iobapp-or::after {
	content: "";
	flex: 1 1 auto;
	height: 1px;
	background: currentColor;
	opacity: .35;
}

.iobapp-remember {
	display: flex;
	align-items: center;
	gap: .45rem;
	margin: .1rem 0 .7rem;
	font-size: .82rem;
	opacity: .85;
}
.iobapp-remember input { width: auto; margin: 0; }

.iobapp-link {
	display: inline-block;
	margin-top: .6rem;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	font-size: .82rem;
	text-decoration: underline;
	opacity: .75;
	cursor: pointer;
}
.iobapp-link:hover { opacity: 1; }

.iobapp-account__sub { margin: 1.2rem 0 .5rem; font-size: .85rem; }

.iobapp-coupons { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .5rem; }

.iobapp-coupon {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	padding: .65rem .85rem;
	border: 1px dashed rgba(127, 212, 255, .45);
	border-radius: 12px;
	font-size: .85rem;
}
.iobapp-coupon code { font-weight: 700; letter-spacing: .05em; }
.iobapp-coupon small { display: block; opacity: .7; font-size: .76rem; }
.iobapp-coupon.is-used,
.iobapp-coupon.is-expired { opacity: .55; border-style: solid; }

.app-reward__use {
	display: inline-block;
	margin-left: .6rem;
	font-weight: 700;
	text-decoration: underline;
}

/* ---------- WhatsApp floating button ---------- */

.iobapp-wa {
	position: fixed;
	right: 1.1rem;
	bottom: 1.1rem;
	z-index: 999990;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: .6rem;
}

.iobapp-wa__fab {
	width: 56px;
	height: 56px;
	border: 0;
	border-radius: 50%;
	background: #25D366;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .28);
	cursor: pointer;
	transition: transform .15s ease;
}
.iobapp-wa__fab:hover { transform: scale(1.06); }
.iobapp-wa__fab:active { transform: scale(.96); }

.iobapp-wa__menu {
	display: flex;
	flex-direction: column;
	gap: .4rem;
	padding: .7rem;
	border-radius: 14px;
	background: #0b1a2b;
	color: #d6e7f4;
	box-shadow: 0 12px 30px rgba(0, 0, 0, .35);
	min-width: 11rem;
}
:root[data-iobapp-theme="light"] .iobapp-wa__menu { background: #fff; color: #10202f; box-shadow: 0 12px 30px rgba(20, 30, 45, .18); }

.iobapp-wa__hours {
	margin: 0 0 .3rem;
	padding-bottom: .35rem;
	border-bottom: 1px solid rgba(127, 212, 255, .18);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #25D366;
}

.iobapp-wa__option {
	display: flex;
	align-items: center;
	gap: .55rem;
	padding: .5rem .6rem;
	border-radius: 9px;
	color: inherit;
	text-decoration: none;
	font-size: .88rem;
	font-weight: 600;
}
.iobapp-wa__option:hover { background: rgba(37, 211, 102, .12); }

.iobapp-wa__dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #25D366;
	flex: 0 0 auto;
}

/* ---------- Install guidance sheet (fallback for the Download app button) ---------- */

.iobapp-guide {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: none;
	align-items: flex-end;
	justify-content: center;
}
.iobapp-guide.is-open { display: flex; }

@media (min-width: 40rem) {
	.iobapp-guide { align-items: center; }
}

.iobapp-guide__scrim {
	position: absolute;
	inset: 0;
	background: rgba(6, 10, 18, .58);
}

.iobapp-guide__sheet {
	position: relative;
	width: 100%;
	max-width: 26rem;
	padding: 1.75rem 1.5rem calc(1.75rem + env(safe-area-inset-bottom));
	border-radius: 24px 24px 0 0;
	background: linear-gradient(180deg, #0b1a2b, #060a12 70%);
	color: #d6e7f4;
	box-shadow: 0 -18px 50px rgba(3, 8, 16, .55);
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

@media (min-width: 40rem) {
	.iobapp-guide__sheet { border-radius: 22px; }
}

.iobapp-guide__close {
	position: absolute;
	top: .6rem;
	right: .85rem;
	width: 2.25rem;
	height: 2.25rem;
	border: 0;
	background: none;
	color: rgba(214, 231, 244, .55);
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
}

.iobapp-guide__title {
	margin: 0 0 1rem;
	padding-right: 1.5rem;
	font-size: 1.2rem;
	font-weight: 800;
	letter-spacing: -.01em;
	color: #fff;
}

.iobapp-guide__steps {
	margin: 0;
	padding-left: 1.35rem;
	display: flex;
	flex-direction: column;
	gap: .75rem;
	font-size: .92rem;
	line-height: 1.5;
	color: rgba(214, 231, 244, .85);
}

.iobapp-guide__steps li::marker {
	color: #7fd4ff;
	font-weight: 700;
}
