/* Involved Loyalty — built from the "Involved Holidays Loyalty Rewards" design.
   Tokens live on .ihl (never :root) so nothing leaks into the rest of the site.
   Every class starts with ihl-. Font is inherited from the site (Lato). */

.ihl {
	--ihl-blue-900: #12283f;
	--ihl-blue-700: #275a92;
	--ihl-blue-500: #2595c6;
	--ihl-gold-700: #6f5f33;
	--ihl-gold-500: #ab8b44;
	--ihl-gold-200: #ecdcb4;
	--ihl-gold-050: #fbf7ee;
	--ihl-grey-700: #54606d;
	--ihl-grey-600: #6f7c8a;
	--ihl-grey-200: #e6eaee;
	--ihl-shadow: 0 2px 6px rgba(18, 40, 63, .08);
	--ihl-ease: cubic-bezier(.4, 0, .2, 1);
	box-sizing: border-box;
	color: var(--ihl-grey-700);
	line-height: 1.45;
}

.ihl *,
.ihl *::before,
.ihl *::after {
	box-sizing: inherit;
}

.ihl p {
	margin: 0;
}

/* ---------- shared bits ---------- */

.ihl .ihl-eyebrow {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 900;
	font-size: 14px;
	line-height: 1.2;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ihl-gold-500);
}

.ihl .ihl-eyebrow__icon {
	width: 12px;
	height: 16px;
	display: block;
	object-fit: contain;
}

.ihl .ihl-pill {
	display: inline-flex;
	align-self: flex-start;
	align-items: center;
	gap: 8px;
	margin-top: 6px;
	padding: 6px 12px 6px 8px;
	border-radius: 999px;
	background: var(--ihl-gold-050);
	border: 1px solid var(--ihl-gold-200);
	font-weight: 700;
	font-size: 12px;
	line-height: 1.2;
	color: var(--ihl-gold-700);
}

.ihl .ihl-pill__plus {
	position: relative;
	flex: none;
	width: 16px;
	height: 16px;
	border-radius: 999px;
	background: var(--ihl-gold-500);
}

.ihl .ihl-pill__plus::before,
.ihl .ihl-pill__plus::after {
	content: "";
	position: absolute;
	background: #fff;
}

.ihl .ihl-pill__plus::before { left: 4px; top: 7px; width: 8px; height: 2px; }
.ihl .ihl-pill__plus::after  { left: 7px; top: 4px; width: 2px; height: 8px; }

/* ---------- the card ---------- */

.ihl .ihl-card {
	/* reset theme button styles */
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	border: 0;
	font: inherit;
	text-align: left;
	color: #fff;

	position: relative;
	display: block;
	flex: none;
	width: var(--ihl-card-w, 196px);
	aspect-ratio: 1.586;
	padding: 1px;
	border-radius: 14px;
	background: var(--ihl-foil);
	box-shadow: 0 2px 6px rgba(18, 40, 63, .16);
	transition: transform 240ms var(--ihl-ease), box-shadow 240ms var(--ihl-ease);
}

.ihl button.ihl-card {
	cursor: pointer;
}

.ihl button.ihl-card:focus {
	outline: none;
}

.ihl button.ihl-card:focus-visible {
	outline: 3px solid var(--ihl-blue-500);
	outline-offset: 3px;
}

.ihl .ihl-card__face {
	position: relative;
	display: block;
	height: 100%;
	border-radius: 13px;
	overflow: hidden;
	/* each level has its own tint (set per card as --ihl-face), with a soft sheen on top */
	background:
		radial-gradient(120% 90% at 100% 0%, rgba(255, 255, 255, .10), rgba(255, 255, 255, 0) 55%),
		var(--ihl-face, linear-gradient(145deg, #12283f, #0a1726));
}

/* the faint drawing (plane, beach, mountains…): a full-card scene in fine
   lines. It fades a little towards the bottom so the level name stays crisp. */
.ihl .ihl-card__motif {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	color: #ffffff;
	opacity: .17;
	pointer-events: none;
	-webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 52%, rgba(0, 0, 0, .45) 100%);
	mask-image: linear-gradient(to bottom, #000 0%, #000 52%, rgba(0, 0, 0, .45) 100%);
}

/* lines stay the same fine weight on big and small cards */
.ihl .ihl-card__motif * {
	vector-effect: non-scaling-stroke;
}

.ihl .ihl-card__chip {
	position: absolute;
	top: 16px;
	left: 16px;
	width: 28px;
	height: 20px;
	border-radius: 5px;
	background: var(--ihl-foil);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .18);
}

.ihl .ihl-card__chip span {
	position: absolute;
	inset: 5px 8px;
	border: 1px solid rgba(0, 0, 0, .22);
	border-radius: 2px;
}

.ihl .ihl-card__label {
	position: absolute;
	top: 20px;
	left: 54px;
	font-weight: 700;
	font-size: 11px;
	line-height: 1;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .7);
}

.ihl .ihl-card__off {
	display: none; /* shown on phones and on the account card */
	position: absolute;
	top: 16px;
	right: 18px;
	font-weight: 900;
	font-size: 24px;
	line-height: 1;
	white-space: nowrap;
	color: #fff;
}

.ihl .ihl-card__off small {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.ihl .ihl-card__foot {
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 14px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ihl .ihl-card__name {
	font-weight: 900;
	font-size: var(--ihl-name-fs, 16px);
	line-height: 1.1;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #fff;
}

.ihl .ihl-card__range {
	font-weight: 700;
	font-size: 11px;
	line-height: 1.3;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .78);
}

/* the light sweep when a card is hovered or tapped */
.ihl .ihl-card__shine {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(115deg, rgba(255, 255, 255, 0) 38%, rgba(255, 255, 255, .22) 50%, rgba(255, 255, 255, 0) 62%);
	background-size: 260% 100%;
	background-repeat: no-repeat;
	background-position: 100% 0;
}

.ihl .ihl-card:hover .ihl-card__shine,
.ihl .ihl-card.is-shining .ihl-card__shine {
	background-position: 0% 0;
	transition: background-position 900ms cubic-bezier(.25, .46, .45, .94);
}

.ihl .ihl-card.is-upcoming .ihl-card__face {
	filter: saturate(.55);
	opacity: .82;
}

/* ---------- [loyalty_scheme] overview ---------- */

.ihl-scheme {
	container-type: inline-size;
	margin: 0 0 24px;
}

.ihl-scheme .ihl-scheme__panel {
	position: relative;
	overflow: hidden;
	padding: 20px 0 18px;
	background: #fff;
	border-radius: 16px;
	box-shadow: var(--ihl-shadow);
}

.ihl-scheme .ihl-scheme__watermark {
	position: absolute;
	right: -28px;
	top: -24px;
	width: 120px;
	height: 160px;
	object-fit: contain;
	opacity: .09;
	pointer-events: none;
	z-index: 0;
}

.ihl-scheme .ihl-scheme__head {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0 20px 14px;
}

.ihl-scheme .ihl-eyebrow { font-size: 13px; }

.ihl-scheme h2.ihl-scheme__title {
	margin: 0;
	padding: 0;
	font-weight: 900;
	font-size: 21px;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none !important; /* the homepage capitalises every h2 */
	color: var(--ihl-blue-700) !important; /* the theme's heading colour otherwise wins */
	text-wrap: pretty;
}

.ihl-scheme .ihl-scheme__status {
	margin-top: 8px;
	font-weight: 700;
	font-size: 14px;
	color: var(--ihl-blue-700);
}

/* Phones: cards in a sideways-scrolling row, each showing its discount */
.ihl-scheme .ihl-wallet {
	position: relative;
	z-index: 1;
	display: flex;
	gap: 12px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding: 4px 20px 10px;
	scroll-padding: 0 20px;
	scrollbar-width: none;
	--ihl-card-w: 232px;
	--ihl-name-fs: 18px;
}

.ihl-scheme .ihl-wallet::-webkit-scrollbar { display: none; }

.ihl-scheme .ihl-wallet .ihl-card { scroll-snap-align: start; }
.ihl-scheme .ihl-wallet .ihl-card__off { display: block; }
.ihl-scheme .ihl-wallet .ihl-card__label { left: 56px; }
.ihl-scheme .ihl-read { display: none; }

/* Tablet: heading and read-out side by side, the fanned-out wallet underneath */
@container (min-width: 620px) {
	.ihl-scheme .ihl-scheme__panel {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 300px;
		grid-template-areas: "head read" "wallet wallet";
		column-gap: 28px;
		row-gap: 16px;
		align-items: center;
		padding: 26px 28px 24px;
	}

	.ihl-scheme .ihl-scheme__watermark {
		right: -40px;
		top: 50%;
		width: 210px;
		height: 280px;
		transform: translateY(-50%);
	}

	.ihl-scheme .ihl-scheme__head { grid-area: head; margin: 0; gap: 6px; }
	.ihl-scheme .ihl-eyebrow { font-size: 14px; }
	.ihl-scheme h2.ihl-scheme__title { font-size: 28px; line-height: 1.15; }

	.ihl-scheme .ihl-wallet {
		grid-area: wallet;
		justify-content: center;
		gap: 0;
		overflow: visible;
		padding: 12px 0 0;
		--ihl-card-w: clamp(160px, calc((100cqi - 56px) * .36), 270px);
		--ihl-name-fs: 16px;
	}

	.ihl-scheme .ihl-wallet .ihl-card { scroll-snap-align: none; }
	/* each card behind shows an equal slice, so the fan always fits */
	.ihl-scheme .ihl-wallet .ihl-card + .ihl-card { margin-left: calc((100cqi - 56px - var(--ihl-card-w)) / 3 - var(--ihl-card-w)); }
	.ihl-scheme .ihl-wallet .ihl-card:nth-child(1) { z-index: 1; }
	.ihl-scheme .ihl-wallet .ihl-card:nth-child(2) { z-index: 2; }
	.ihl-scheme .ihl-wallet .ihl-card:nth-child(3) { z-index: 3; }
	.ihl-scheme .ihl-wallet .ihl-card:nth-child(4) { z-index: 4; }
	.ihl-scheme .ihl-wallet .ihl-card:nth-child(5) { z-index: 5; }
	.ihl-scheme .ihl-wallet .ihl-card:nth-child(6) { z-index: 6; }
	.ihl-scheme .ihl-wallet .ihl-card__off { display: none; }
	.ihl-scheme .ihl-wallet .ihl-card__label { left: 54px; }

	.ihl-scheme .ihl-wallet .ihl-card.is-selected {
		transform: translateY(-10px);
		box-shadow: 0 16px 32px rgba(18, 40, 63, .28);
	}

	.ihl-scheme .ihl-read {
		grid-area: read;
		position: relative;
		z-index: 1;
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 8px;
		min-height: 0;
		padding: 0 0 0 24px;
		border-left: 1px solid var(--ihl-grey-200);
	}
}

/* Desktop: heading | wallet | read-out in one row.
   The two side columns are kept narrow so the cards get the room.
   Wallet width = container − padding (64) − columns (200 + 180) − gaps (56) = 100cqi − 500px.
   Each card is ~38% of that (170–270px); the rest is shared out as the visible slices. */
@container (min-width: 1060px) {
	.ihl-scheme .ihl-scheme__panel {
		grid-template-columns: 200px minmax(0, 1fr) 180px;
		grid-template-areas: "head wallet read";
		column-gap: 28px;
		padding: 28px 32px;
	}

	.ihl-scheme h2.ihl-scheme__title { font-size: 22px; }

	.ihl-scheme .ihl-wallet {
		--ihl-card-w: clamp(170px, calc((100cqi - 500px) * .38), 270px);
		--ihl-name-fs: 17px;
		padding-top: 14px;
	}

	.ihl-scheme .ihl-wallet .ihl-card + .ihl-card {
		margin-left: calc((100cqi - 500px - var(--ihl-card-w)) / 3 - var(--ihl-card-w));
	}

	.ihl-scheme .ihl-read {
		min-height: 0;
		padding-left: 24px;
	}
}

.ihl-scheme .ihl-read__name {
	font-weight: 700;
	font-size: 13px;
	line-height: 1.2;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ihl-gold-500);
}

.ihl-scheme .ihl-read__off {
	font-weight: 900;
	font-size: 34px;
	line-height: 1;
	color: var(--ihl-blue-700);
}

@container (min-width: 1060px) {
	.ihl-scheme .ihl-read__off { font-size: 40px; }
}

.ihl-scheme .ihl-read__unit {
	display: block;
	margin-top: 6px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.ihl-scheme .ihl-read__desc {
	font-size: 13px;
	line-height: 1.45;
	color: var(--ihl-grey-700);
	text-wrap: pretty;
}

.ihl-scheme .ihl-read__rules {
	font-size: 12px;
	line-height: 1.4;
	font-weight: 700;
	color: var(--ihl-gold-700);
}

.ihl-scheme .ihl-read__hint {
	display: none;
	font-weight: 700;
	font-size: 12px;
	line-height: 1.3;
	color: var(--ihl-blue-500);
}

@media (hover: none) {
	.ihl-scheme .ihl-read__rules {
	font-size: 12px;
	line-height: 1.4;
	font-weight: 700;
	color: var(--ihl-gold-700);
}

.ihl-scheme .ihl-read__hint { display: block; }
}

/* the small "Find out more" link (button="..." on the shortcode) */
.ihl a.ihl-more {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 4px;
	margin-top: 6px;
	padding: 9px 16px;
	border-radius: 999px;
	border: 1.5px solid var(--ihl-blue-700);
	background: transparent;
	color: var(--ihl-blue-700);
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .2s, color .2s;
}

.ihl a.ihl-more:hover,
.ihl a.ihl-more:focus-visible {
	background: var(--ihl-blue-700);
	color: #ffffff;
	text-decoration: none;
}

/* phones: the read-out column is hidden, so the link sits under the cards */
.ihl-scheme .ihl-scheme__more-mobile {
	position: relative;
	z-index: 1;
	padding: 4px 20px 0;
}

@container (min-width: 620px) {
	.ihl-scheme .ihl-scheme__more-mobile { display: none; }
}

/* ---------- [loyalty_card] on My Account ---------- */

.ihl-member {
	margin: 24px 0;
	padding: 22px 20px 20px;
	background: #fff;
	border-radius: 16px;
	box-shadow: var(--ihl-shadow);
}

.ihl-member .ihl-eyebrow {
	font-size: 13px;
	margin-bottom: 14px;
}

.ihl-member .ihl-member__card {
	max-width: 300px;
}

.ihl-member .ihl-card {
	--ihl-card-w: 100%;
	--ihl-name-fs: 18px;
}

.ihl-member .ihl-card__off {
	display: none; /* the discount line below says what the NEXT booking gets */
}

.ihl-member .ihl-member__body {
	margin-top: 18px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ihl-member .ihl-member__status {
	font-weight: 900;
	font-size: 20px;
	line-height: 1.2;
	color: var(--ihl-blue-700);
}

.ihl-member .ihl-member__count {
	font-size: 14px;
	color: var(--ihl-grey-600);
}

.ihl-member .ihl-member__off {
	margin-top: 6px;
	font-size: 15px;
	color: var(--ihl-blue-900);
}

.ihl-member .ihl-member__off strong {
	font-weight: 900;
	font-size: 26px;
	color: var(--ihl-blue-700);
	margin-right: 2px;
}

.ihl-member .ihl-progress {
	margin: 8px 0 2px;
	height: 8px;
	border-radius: 999px;
	background: var(--ihl-grey-200);
	overflow: hidden;
}

.ihl-member .ihl-progress span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #8f7c45 0%, #c99c43 100%);
}

.ihl-member .ihl-member__next {
	font-weight: 700;
	font-size: 14px;
	color: var(--ihl-gold-700);
}

.ihl-member .ihl-member__auto {
	font-size: 13px;
	color: var(--ihl-grey-600);
}

.ihl-member a.ihl-member__link {
	margin-top: 6px;
	align-self: flex-start;
	font-weight: 700;
	font-size: 14px;
	color: var(--ihl-blue-500);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ihl-member a.ihl-member__link:hover {
	color: var(--ihl-blue-700);
}

@media (prefers-reduced-motion: reduce) {
	.ihl .ihl-card,
	.ihl .ihl-card:hover .ihl-card__shine,
	.ihl .ihl-card.is-shining .ihl-card__shine {
		transition: none;
	}
}


/* =================================================================
   [promo_bar] — thin coupon bar. About 60px tall on wide screens;
   it wraps onto a second line on narrow ones.
   ================================================================= */

.ihl .ihl-sr {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.ihl-promo {
	container-type: inline-size;
	margin: 0;
}

.ihl-promo[hidden] { display: none !important; }

.ihl-promo .ihl-promo__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	min-height: 60px;
	padding: 10px 14px;
	border-radius: 14px;
	background: linear-gradient(110deg, #12283f 0%, #0E478A 60%, #1b5aa0 100%);
	color: #ffffff;
	box-shadow: var(--ihl-shadow);
	position: relative;
	overflow: hidden;
}

/* a soft light edge and a faint sheen across the top, instead of a hard border */
.ihl-promo .ihl-promo__bar::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .10);
	background: linear-gradient(180deg, rgba(255, 255, 255, .06) 0%, rgba(255, 255, 255, 0) 55%);
}

.ihl-promo .ihl-promo__tag {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: rgba(220, 188, 116, .14);
	box-shadow: inset 0 0 0 1px rgba(220, 188, 116, .35);
	color: #dcbc74;
}

.ihl-promo .ihl-promo__tag svg { width: 20px; height: 20px; display: block; }

.ihl-promo p.ihl-promo__text {
	flex: 1 1 260px;
	min-width: 0;
	margin: 0;
	font-size: 15px;
	line-height: 1.3;
	color: rgba(255, 255, 255, .82);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ihl-promo .ihl-promo__headline {
	font-size: 17px;
	font-weight: 900;
	color: #ffffff;
	margin-right: 6px;
}

/* copy-the-code chip */
.ihl-promo button.ihl-promo__code {
	-webkit-appearance: none;
	appearance: none;
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 7px 8px 7px 12px;
	border: 1.5px dashed #dcbc74;
	border-radius: 10px;
	background: rgba(255, 255, 255, .08);
	color: #ffffff;
	font: inherit;
	line-height: 1;
	cursor: pointer;
	transition: background-color .2s;
}

.ihl-promo button.ihl-promo__code:hover { background: rgba(255, 255, 255, .16); }
.ihl-promo button.ihl-promo__code:focus-visible { outline: 3px solid #95cfe6; outline-offset: 2px; }

.ihl-promo .ihl-promo__code-label {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #dcbc74;
}

.ihl-promo .ihl-promo__code-text {
	font-size: 16px;
	font-weight: 900;
	letter-spacing: .08em;
}

.ihl-promo .ihl-promo__copy {
	padding: 5px 8px;
	border-radius: 6px;
	background: #c99c43;
	color: #12283f;
	font-size: 11px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .06em;
}

.ihl-promo .ihl-promo__copy-done { display: none; }
.ihl-promo .is-copied .ihl-promo__copy-idle { display: none; }
.ihl-promo .is-copied .ihl-promo__copy-done { display: inline; }

/* countdown */
.ihl-promo .ihl-promo__timer {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.ihl-promo .ihl-promo__ends {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #dcbc74;
	white-space: nowrap;
}

.ihl-promo .ihl-promo__units { display: inline-flex; gap: 4px; }

.ihl-promo .ihl-promo__unit {
	display: inline-flex;
	align-items: baseline;
	gap: 1px;
	min-width: 38px;
	justify-content: center;
	padding: 6px 5px;
	border-radius: 7px;
	background: rgba(255, 255, 255, .10);
}

.ihl-promo .ihl-promo__unit b {
	font-size: 16px;
	font-weight: 900;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	color: #ffffff;
}

.ihl-promo .ihl-promo__unit i {
	font-style: normal;
	font-size: 10px;
	font-weight: 700;
	color: #dcbc74;
}

.ihl-promo a.ihl-promo__link {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 14px 9px 16px;
	border-radius: 999px;
	background: #ffffff;
	color: #0E478A;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .18);
	transition: background-color .2s, color .2s, transform .2s;
}

.ihl-promo a.ihl-promo__link svg { width: 14px; height: 14px; display: block; transition: transform .2s; }

.ihl-promo a.ihl-promo__link:hover,
.ihl-promo a.ihl-promo__link:focus-visible {
	background: #c99c43;
	color: #12283f;
	text-decoration: none;
}

.ihl-promo a.ihl-promo__link:hover svg { transform: translateX(2px); }
.ihl-promo a.ihl-promo__link:focus-visible { outline: 3px solid #95cfe6; outline-offset: 2px; }

/* narrow: headline across the top, code and countdown underneath */
@container (max-width: 760px) {
	.ihl-promo .ihl-promo__bar { padding: 12px 14px; }
	.ihl-promo p.ihl-promo__text { flex-basis: calc(100% - 140px); }
	.ihl-promo .ihl-promo__link { margin-left: auto; }
	.ihl-promo .ihl-promo__timer { margin-left: auto; }
}

/* phones: two rows — headline + link, then code + countdown */
@container (max-width: 480px) {
	.ihl-promo .ihl-promo__bar { gap: 10px 8px; padding: 12px; }
	.ihl-promo .ihl-promo__tag,
	.ihl-promo .ihl-promo__msg,
	.ihl-promo .ihl-promo__ends,
	.ihl-promo .ihl-promo__code-label { display: none; }
	/* headline + link fill the first row, pushing code + countdown onto the second */
	.ihl-promo p.ihl-promo__text { flex: 1 1 calc(100% - 124px); }
	.ihl-promo .ihl-promo__headline { font-size: 16px; }
	.ihl-promo a.ihl-promo__link { order: 0; margin-left: 0; font-size: 13px; padding: 8px 12px 8px 14px; }
	.ihl-promo button.ihl-promo__code { order: 1; padding: 6px 6px 6px 10px; }
	.ihl-promo .ihl-promo__code-text { font-size: 15px; }
	.ihl-promo .ihl-promo__timer { order: 2; margin-left: auto; }
	.ihl-promo .ihl-promo__units { gap: 3px; }
	.ihl-promo .ihl-promo__unit { min-width: 30px; padding: 5px 3px; }
	.ihl-promo .ihl-promo__unit b { font-size: 14px; }
}


/* =================================================================
   Card badges (ihl_badge_html) — used inside theme cards, so these
   are not scoped to .ihl.
   ================================================================= */

.ihl-strip {
	display: flex;
	align-items: center;
	gap: 10px;
	align-self: flex-start;
	padding: 9px 14px 9px 10px;
	border-radius: 10px;
	background: #fbf7ee;
	border: 1px solid #ecdcb4;
	font-family: inherit;
	line-height: 1.3;
}

.ihl-strip .ihl-b-ico {
	width: 30px;
	height: 30px;
	flex: none;
	padding: 5px;
	border-radius: 8px;
	background: linear-gradient(115deg, #8f7c45 0%, #c99c43 45%, #e8cf8e 60%, #b38a3a 100%);
	fill: none;
	stroke: #ffffff;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ihl-strip strong { display: block; font-size: 15px; font-weight: 700; color: #6f5f33; }
.ihl-strip span span { display: block; font-size: 13.5px; color: #7b6a3a; margin-top: 1px; }

.ihl-chip {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 6px;
	padding: 4px 10px 4px 5px;
	border-radius: 999px;
	background: #fbf7ee;
	border: 1px solid #ecdcb4;
	color: #6f5f33;
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1.3;
	white-space: nowrap;
}

.ihl-chip .ihl-b-ico {
	width: 20px;
	height: 20px;
	flex: none;
	padding: 3px;
	border-radius: 999px;
	background: linear-gradient(115deg, #8f7c45 0%, #c99c43 45%, #e8cf8e 60%, #b38a3a 100%);
	fill: none;
	stroke: #ffffff;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* on a photo: dark glass so it reads on any picture */
.ihl-chip--overlay {
	background: rgba(18, 40, 63, .78);
	border-color: rgba(220, 188, 116, .55);
	color: #f0d89e;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
}
