/* ==========================================================================
   NFCR gift cards  [nfcr_gift_cards]
   Photo + icon/title + list of options + button pinned to the bottom.
   ========================================================================== */

.nfcr-gifts {
	display: grid;
	align-items: stretch;
	gap: 20px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	font-family: var(--nfcr-font);
}
.nfcr-gifts--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nfcr-gifts--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.nfcr-gifts .nfcr-gift {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--nfcr-white);
	border-radius: var(--nfcr-r-section);
	box-shadow: var(--nfcr-shadow);
}

.nfcr-gifts .nfcr-gift__media {
	position: relative;
	flex-shrink: 0;
	height: 170px;
	background: var(--nfcr-line-chip);
}
.nfcr-gifts .nfcr-gift__photo {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

.nfcr-gifts .nfcr-gift__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 24px 30px 30px;
}

.nfcr-gifts .nfcr-gift__head {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-bottom: 8px;
}
.nfcr-gifts .nfcr-gift__icon {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--nfcr-surface);
	color: var(--nfcr-orange);
}
.nfcr-gifts .nfcr-gift__heading { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nfcr-gifts .nfcr-gift__eyebrow {
	font-size: var(--nfcr-fs-label);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .8px;
	text-transform: uppercase;
	color: var(--nfcr-orange);
}
.nfcr-gifts .nfcr-gift__title {
	margin: 0;
	padding: 0;
	font-family: var(--nfcr-font);
	font-size: var(--nfcr-fs-h3-lg);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -.02em;
	text-transform: none;
	color: var(--nfcr-navy);
}

/* Options */
.nfcr-gifts .nfcr-gift__list { margin: 0; padding: 0; list-style: none; }
.nfcr-gifts .nfcr-gift__item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 5px;
	margin: 0;
	padding: 16px 0;
	list-style: none;
	border-bottom: 1px solid var(--nfcr-line);
}
.nfcr-gifts .nfcr-gift__item:last-child { border-bottom: 0; }
.nfcr-gifts .nfcr-gift__item-title {
	margin: 0;
	padding: 0;
	font-family: var(--nfcr-font);
	font-size: var(--nfcr-fs-title-sm);
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -.2px;
	text-transform: none;
	color: var(--nfcr-navy);
}
.nfcr-gifts .nfcr-gift__item-text {
	margin: 0;
	font-size: var(--nfcr-fs-small);
	line-height: 1.65;
	color: var(--nfcr-text);
}
.nfcr-gifts .nfcr-gift__link {
	margin-top: 2px;
	font-size: var(--nfcr-fs-meta);
	font-weight: 600;
	line-height: 1.4;
	color: var(--nfcr-orange) !important;
	text-decoration: none !important;
}
.nfcr-gifts .nfcr-gift__link:hover { color: var(--nfcr-navy) !important; }
.nfcr-gifts .nfcr-gift__link svg { display: inline-block; margin-left: 2px; vertical-align: -1px; }

.nfcr-gifts .nfcr-gift__action { margin-top: auto; padding-top: 18px; }

@media (max-width: 1280px) {
	.nfcr-gifts--cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.nfcr-gifts,
	.nfcr-gifts--cols-2,
	.nfcr-gifts--cols-4 { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
	.nfcr-gifts .nfcr-gift__body { padding: 22px 22px 26px; }
	.nfcr-gifts .nfcr-gift__action .nfcr-btn { white-space: normal; text-align: center; }
}
