/**
 * Mishtam — dynamic promo banners (stripe, duo, cards)
 */

.ms-promo-zone {
	padding: var(--space-4) 0 var(--space-5);
}

.ms-promo-zone .ms-promo-duo + .ms-promo-stripe,
.ms-promo-zone .ms-promo-duo + .ms-delivery-banner,
.ms-promo-zone .ms-promo-stripe + .ms-promo-duo,
.ms-promo-zone .ms-promo-stripe + .ms-promo-cards,
.ms-promo-zone .ms-promo-duo + .ms-promo-cards {
	margin-top: var(--space-5);
}

/* ===== STRIPE ===== */
.ms-promo-stripe {
	position: relative;
	display: grid;
	grid-template-columns: auto 1px 1fr auto;
	align-items: center;
	gap: var(--space-4);
	min-height: 84px;
	padding: var(--space-3) var(--space-5);
	border: 1px solid var(--ms-border-light);
	border-radius: 999px;
	background: #fff;
	color: var(--ms-text);
	text-decoration: none;
	box-shadow: var(--ms-shadow-sm);
	overflow: hidden;
	transition: transform var(--ms-duration) var(--ms-ease), box-shadow var(--ms-duration) var(--ms-ease), border-color var(--ms-duration) var(--ms-ease);
}

.ms-promo-stripe__shine {
	position: absolute;
	inset: 0;
	background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.45) 50%, transparent 60%);
	transform: translateX(-120%);
	transition: transform 0.6s ease;
	pointer-events: none;
}

.ms-promo-stripe:hover .ms-promo-stripe__shine {
	transform: translateX(120%);
}

.ms-promo-stripe:hover {
	color: var(--ms-text);
	transform: translateY(-2px);
	box-shadow: var(--ms-shadow-md);
	border-color: rgba(212, 20, 106, 0.18);
}

.mishtam-theme a.ms-promo-stripe,
.mishtam-theme a.ms-promo-stripe:hover,
.mishtam-theme a.ms-promo-stripe:focus {
	color: var(--ms-text);
}

.mishtam-theme a.ms-promo-stripe--wallet .ms-promo-stripe__brand,
.mishtam-theme a.ms-promo-stripe--wallet:hover .ms-promo-stripe__brand {
	color: #5c1a78;
}

.mishtam-theme a.ms-promo-stripe--wallet .ms-promo-stripe__text,
.mishtam-theme a.ms-promo-stripe--wallet:hover .ms-promo-stripe__text,
.mishtam-theme a.ms-promo-stripe--wallet .ms-promo-stripe__note {
	color: #6b4a7a;
}

.mishtam-theme a.ms-promo-stripe--delivery .ms-promo-stripe__brand,
.mishtam-theme a.ms-promo-stripe--delivery:hover .ms-promo-stripe__brand {
	color: var(--ms-primary);
}

.mishtam-theme a.ms-promo-stripe--delivery .ms-promo-stripe__text,
.mishtam-theme a.ms-promo-stripe--payment .ms-promo-stripe__text,
.mishtam-theme a.ms-promo-stripe--blush .ms-promo-stripe__text {
	color: var(--ms-text-muted);
}

.ms-promo-stripe__lead {
	display: inline-flex;
	align-items: center;
	gap: var(--space-3);
	min-width: 0;
	z-index: 1;
}

.ms-promo-stripe__icon-ring {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 68px;
	height: 68px;
	border-radius: 50%;
	background:
		linear-gradient(#fff, #fff) padding-box,
		linear-gradient(135deg, rgba(107, 31, 143, 0.25) 0%, rgba(212, 20, 106, 0.35) 100%) border-box;
	border: 2px solid transparent;
	box-shadow: 0 4px 14px rgba(107, 31, 143, 0.1);
}

.ms-promo-stripe--delivery .ms-promo-stripe__icon-ring {
	background:
		linear-gradient(#fff, #fff) padding-box,
		linear-gradient(135deg, rgba(212, 20, 106, 0.3) 0%, rgba(255, 107, 157, 0.4) 100%) border-box;
}

.ms-promo-stripe__icon-wrap {
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ms-promo-stripe__icon {
	width: 48px;
	height: 48px;
	object-fit: contain;
}

.ms-promo-stripe__divider {
	width: 1px;
	height: 48px;
	background: linear-gradient(180deg, transparent 0%, rgba(107, 31, 143, 0.15) 50%, transparent 100%);
	justify-self: center;
	z-index: 1;
}

.ms-promo-stripe--delivery .ms-promo-stripe__divider {
	background: linear-gradient(180deg, transparent 0%, rgba(212, 20, 106, 0.15) 50%, transparent 100%);
}

.ms-promo-stripe__brand {
	font-size: 1.0625rem;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--ms-text);
	white-space: nowrap;
}

.ms-promo-stripe__offer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2) var(--space-4);
	min-width: 0;
	z-index: 1;
}

.ms-promo-stripe__badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 16px;
	font-size: 0.875rem;
	font-weight: 800;
	line-height: 1.2;
	border-radius: var(--ms-radius-pill);
	white-space: nowrap;
}

.ms-promo-stripe__badge-icon {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
}

.ms-promo-stripe__text {
	font-size: 14px;
	line-height: 1.5;
	color: var(--ms-text-muted);
}

.ms-promo-stripe__arrow {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.7);
	border: 1px solid rgba(107, 31, 143, 0.12);
	color: #6b1f8f;
	z-index: 1;
	transition: transform 0.2s ease, background 0.2s ease;
}

.ms-promo-stripe__arrow svg {
	width: 18px;
	height: 18px;
}

.ms-promo-stripe:hover .ms-promo-stripe__arrow {
	transform: translateX(3px);
	background: #fff;
}

.ms-promo-stripe--delivery .ms-promo-stripe__arrow {
	color: var(--ms-primary);
	border-color: rgba(212, 20, 106, 0.15);
}

.ms-promo-stripe__note {
	position: absolute;
	right: var(--space-6);
	bottom: 8px;
	font-size: 10px;
	font-weight: 500;
	color: var(--ms-text-muted);
	opacity: 0.75;
	z-index: 1;
}

/* Stripe themes */
.ms-promo-stripe--delivery {
	background: linear-gradient(90deg, #fff8fb 0%, #fff 55%, #fff5f9 100%);
	border-color: rgba(212, 20, 106, 0.12);
}

.ms-promo-stripe--delivery .ms-promo-stripe__brand {
	color: var(--ms-primary);
}

.ms-promo-stripe--delivery .ms-promo-stripe__badge {
	color: #fff;
	background: var(--ms-gradient-primary);
	box-shadow: 0 4px 14px var(--ms-primary-glow);
}

.ms-promo-stripe--wallet {
	background:
		linear-gradient(90deg, #f6ecfc 0%, #fff9f3 45%, #fff 100%);
	border-color: rgba(107, 31, 143, 0.14);
	box-shadow:
		0 8px 28px rgba(107, 31, 143, 0.08),
		inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.ms-promo-stripe--wallet::before {
	content: "";
	position: absolute;
	top: -30px;
	right: 18%;
	width: 120px;
	height: 120px;
	background: radial-gradient(circle, rgba(255, 217, 168, 0.35) 0%, transparent 70%);
	pointer-events: none;
}

.ms-promo-stripe--wallet .ms-promo-stripe__brand {
	color: #5c1a78;
}

.ms-promo-stripe--wallet .ms-promo-stripe__badge {
	color: #4a1560;
	background: linear-gradient(135deg, #ffe8c8 0%, #ffd28a 55%, #ffc46e 100%);
	border: 1px solid rgba(255, 180, 80, 0.45);
	box-shadow: 0 4px 14px rgba(255, 180, 80, 0.25);
}

.ms-promo-stripe--wallet .ms-promo-stripe__arrow {
	background: linear-gradient(135deg, #f8f0fc 0%, #fff 100%);
	border-color: rgba(107, 31, 143, 0.18);
}

/* Wallet stripe — image-backed variant */
.ms-promo-stripe--has-bg {
	position: relative;
	min-height: 96px;
	padding: var(--space-4) var(--space-5);
	border: none;
	border-radius: var(--ms-radius-xl);
	color: #fff;
	overflow: hidden;
	box-shadow: 0 12px 32px rgba(90, 20, 60, 0.18);
}

.mishtam-theme a.ms-promo-stripe--has-bg,
.mishtam-theme a.ms-promo-stripe--has-bg:hover,
.mishtam-theme a.ms-promo-stripe--has-bg:focus {
	color: #fff;
}

.ms-promo-stripe--has-bg .ms-promo-stripe__bg,
.ms-promo-stripe--has-bg .ms-promo-stripe__bg-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
}

.ms-promo-stripe--has-bg .ms-promo-stripe__bg-img {
	object-fit: cover;
	object-position: center right;
	transition: transform 0.55s var(--ms-ease);
}

.ms-promo-stripe--has-bg:hover .ms-promo-stripe__bg-img {
	transform: scale(1.03);
}

.ms-promo-stripe--has-bg .ms-promo-stripe__bg-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(35, 8, 28, 0.96) 0%, rgba(70, 15, 48, 0.88) 38%, rgba(120, 25, 70, 0.55) 58%, rgba(212, 20, 106, 0.15) 78%, transparent 100%);
}

.ms-promo-stripe--has-bg .ms-promo-stripe__lead,
.ms-promo-stripe--has-bg .ms-promo-stripe__offer,
.ms-promo-stripe--has-bg .ms-promo-stripe__arrow,
.ms-promo-stripe--has-bg .ms-promo-stripe__divider {
	position: relative;
	z-index: 2;
}

.mishtam-theme a.ms-promo-stripe--wallet.ms-promo-stripe--has-bg .ms-promo-stripe__brand,
.mishtam-theme a.ms-promo-stripe--wallet.ms-promo-stripe--has-bg:hover .ms-promo-stripe__brand,
.mishtam-theme a.ms-promo-stripe--wallet.ms-promo-stripe--has-bg:focus .ms-promo-stripe__brand,
.ms-promo-stripe--has-bg .ms-promo-stripe__brand {
	color: #fff;
	font-size: 1.125rem;
	font-weight: 800;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
}

.mishtam-theme a.ms-promo-stripe--wallet.ms-promo-stripe--has-bg .ms-promo-stripe__text,
.mishtam-theme a.ms-promo-stripe--wallet.ms-promo-stripe--has-bg:hover .ms-promo-stripe__text,
.ms-promo-stripe--has-bg .ms-promo-stripe__text {
	color: rgba(255, 255, 255, 0.94);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
	max-width: 36ch;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.28);
}

.ms-promo-stripe--has-bg .ms-promo-stripe__divider {
	background: linear-gradient(180deg, transparent 0%, rgba(255, 255, 255, 0.25) 50%, transparent 100%);
}

.ms-promo-stripe--has-bg .ms-promo-stripe__badge {
	color: #4a1560;
	background: linear-gradient(135deg, #fff4dc 0%, #ffd68a 100%);
	border: 1px solid rgba(255, 255, 255, 0.65);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

.ms-promo-stripe--has-bg .ms-promo-stripe__icon-ring {
	background:
		linear-gradient(rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.95)) padding-box,
		linear-gradient(135deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 200, 220, 0.9) 100%) border-box;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.ms-promo-stripe--has-bg .ms-promo-stripe__arrow {
	background: rgba(255, 255, 255, 0.95);
	border-color: rgba(255, 255, 255, 0.5);
	color: var(--ms-primary);
}

.ms-promo-stripe--has-bg:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 36px rgba(90, 20, 60, 0.22);
	border-color: transparent;
}

/* Delivery stripe reuses .ms-promo-wide layout (Gift Combos style). */
.ms-promo-zone .ms-promo-duo + .ms-delivery-banner {
	display: block;
}

.ms-delivery-banner.ms-promo-wide {
	aspect-ratio: 1440 / 220;
}

.ms-delivery-banner .ms-promo-wide__content {
	padding-block: var(--space-3);
	padding-inline: var(--space-5);
	gap: 4px;
}

.ms-delivery-banner .ms-promo-wide__title {
	font-size: clamp(1rem, 1.7vw, 1.25rem);
}

.ms-delivery-banner .ms-promo-wide__subtitle {
	font-size: 12px;
	line-height: 1.35;
}

.ms-delivery-banner .ms-promo-wide__eyebrow {
	padding: 3px 10px;
	font-size: 10px;
}

.ms-delivery-banner .ms-promo-wide__cta {
	margin-top: 2px;
	font-size: 13px;
}

.ms-promo-stripe--payment {
	background: linear-gradient(90deg, #eef7fc 0%, #fff 100%);
	border-color: rgba(15, 63, 102, 0.1);
}

.ms-promo-stripe--payment .ms-promo-stripe__brand {
	color: #0f3f66;
}

.ms-promo-stripe--payment .ms-promo-stripe__badge {
	color: #0f3f66;
	background: #fff;
	border: 1px solid rgba(15, 63, 102, 0.12);
}

.ms-promo-stripe--blush {
	background: linear-gradient(90deg, #fff5f9 0%, #fff 100%);
}

.ms-promo-stripe--blush .ms-promo-stripe__brand {
	color: var(--ms-primary);
}

.ms-promo-stripe--blush .ms-promo-stripe__badge {
	color: #fff;
	background: var(--ms-gradient-primary);
}

/* ===== DUO (Him / Her) — compact image cards, bold type ===== */
.ms-promo-duo {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-5);
}

.ms-promo-duo__item {
	position: relative;
	display: block;
	aspect-ratio: 960 / 300;
	min-height: 0;
	border: 1px solid var(--ms-border-light);
	border-radius: var(--ms-radius-xl);
	overflow: hidden;
	text-decoration: none;
	box-shadow: var(--ms-shadow-card);
	transition: transform var(--ms-duration) var(--ms-ease), box-shadow var(--ms-duration) var(--ms-ease);
}

.ms-promo-duo__item:hover {
	transform: translateY(-4px);
	box-shadow: var(--ms-shadow-card-hover);
}

.ms-promo-duo__bg,
.ms-promo-duo__bg picture {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.ms-promo-duo__bg-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center right;
	transition: transform 0.6s var(--ms-ease);
}

.ms-promo-duo__item--him .ms-promo-duo__bg-img {
	object-position: 78% center;
}

.ms-promo-duo__item--her .ms-promo-duo__bg-img {
	object-position: 72% center;
}

.ms-promo-duo__item:hover .ms-promo-duo__bg-img {
	transform: scale(1.04);
}

.ms-promo-duo__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.ms-promo-duo__item--him .ms-promo-duo__overlay {
	background: linear-gradient(90deg, rgba(238, 245, 255, 0.96) 0%, rgba(238, 245, 255, 0.82) 38%, rgba(238, 245, 255, 0.2) 62%, transparent 100%);
}

.ms-promo-duo__item--her .ms-promo-duo__overlay {
	background: linear-gradient(90deg, rgba(255, 240, 246, 0.96) 0%, rgba(255, 240, 246, 0.82) 38%, rgba(255, 240, 246, 0.2) 62%, transparent 100%);
}

.ms-promo-duo__item--rose .ms-promo-duo__overlay {
	background: linear-gradient(90deg, rgba(255, 245, 249, 0.95) 0%, rgba(255, 245, 249, 0.5) 55%, transparent 100%);
}

.ms-promo-duo__item--wine .ms-promo-duo__overlay {
	background: linear-gradient(90deg, rgba(248, 238, 242, 0.95) 0%, rgba(248, 238, 242, 0.5) 55%, transparent 100%);
}

.ms-promo-duo__copy {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: var(--space-3);
	height: 100%;
	max-width: 58%;
	padding: var(--space-4) var(--space-5);
}

/* One phrase: "Gifts For Him" — same size, accent on the lead words */
.ms-promo-duo__title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.28em;
	line-height: 1.15;
}

.ms-promo-duo__line1,
.ms-promo-duo__line2 {
	font-size: clamp(1.375rem, 2.6vw, 1.875rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: var(--ms-letter-tight);
	text-transform: none;
}

.ms-promo-duo__line1 {
	font-weight: 600;
}

.ms-promo-duo__item--him .ms-promo-duo__line1 {
	color: #2563eb;
}

.ms-promo-duo__item--her .ms-promo-duo__line1 {
	color: var(--ms-primary);
}

.ms-promo-duo__line2 {
	color: var(--ms-text);
}

.ms-promo-duo__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 0;
	padding: 8px 14px;
	border-radius: 999px;
	border: 1px solid currentColor;
	background: rgba(255, 255, 255, 0.72);
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.01em;
	transition: background var(--ms-duration) var(--ms-ease), gap var(--ms-duration) var(--ms-ease);
}

.ms-promo-duo__item--him .ms-promo-duo__cta {
	color: #1d4ed8;
	border-color: rgba(37, 99, 235, 0.35);
}

.ms-promo-duo__item--her .ms-promo-duo__cta {
	color: var(--ms-primary);
	border-color: rgba(227, 28, 121, 0.3);
}

.ms-promo-duo__item:hover .ms-promo-duo__cta {
	background: #fff;
}

.ms-promo-duo__cta-arrow {
	display: inline-block;
	transition: transform var(--ms-duration) var(--ms-ease);
}

.ms-promo-duo__item:hover .ms-promo-duo__cta-arrow {
	transform: translateX(3px);
}

.mishtam-theme a.ms-promo-duo__item,
.mishtam-theme a.ms-promo-duo__item:hover {
	color: var(--ms-text);
}

/* ===== FULL-WIDTH BANNER ===== */
.ms-promo-wide {
	position: relative;
	display: block;
	aspect-ratio: 1440 / 240;
	width: 100%;
	min-height: 0;
	border: 1px solid var(--ms-border-light);
	border-radius: var(--ms-radius-xl);
	overflow: hidden;
	color: #fff;
	text-decoration: none;
	box-shadow: var(--ms-shadow-card);
	transition: transform var(--ms-duration) var(--ms-ease), box-shadow var(--ms-duration) var(--ms-ease);
}

.ms-promo-wide:hover {
	color: #fff;
	transform: translateY(-4px);
	box-shadow: var(--ms-shadow-card-hover);
}

.ms-promo-wide__bg,
.ms-promo-wide__bg picture {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.ms-promo-wide__bg-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center right;
	transition: transform 0.6s var(--ms-ease);
}

.ms-promo-wide:hover .ms-promo-wide__bg-img {
	transform: scale(1.03);
}

.ms-promo-wide__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.ms-promo-wide--rose .ms-promo-wide__overlay {
	background: linear-gradient(90deg, rgba(120, 15, 60, 0.82) 0%, rgba(212, 20, 106, 0.55) 38%, rgba(212, 20, 106, 0.12) 68%, transparent 100%);
}

.ms-promo-wide--wine .ms-promo-wide__overlay {
	background: linear-gradient(90deg, rgba(50, 12, 35, 0.85) 0%, rgba(90, 25, 55, 0.5) 45%, transparent 75%);
}

.ms-promo-wide--blush .ms-promo-wide__overlay {
	background: linear-gradient(90deg, rgba(212, 20, 106, 0.72) 0%, rgba(212, 20, 106, 0.35) 50%, transparent 80%);
}

.ms-promo-wide--teal .ms-promo-wide__overlay {
	background: linear-gradient(90deg, rgba(8, 58, 62, 0.9) 0%, rgba(14, 116, 122, 0.62) 40%, rgba(20, 140, 145, 0.18) 68%, transparent 100%);
}

.ms-promo-wide--peach .ms-promo-wide__overlay {
	background: linear-gradient(90deg, rgba(120, 48, 42, 0.88) 0%, rgba(184, 78, 72, 0.58) 40%, rgba(220, 120, 100, 0.16) 68%, transparent 100%);
}

.ms-promo-wide__content {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 6px;
	max-width: 52%;
	padding: var(--space-4) var(--space-5);
}

.ms-promo-wide__eyebrow {
	display: inline-block;
	align-self: flex-start;
	padding: 3px 10px;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #fff;
	background: rgba(255, 255, 255, 0.18);
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: var(--ms-radius-pill);
}

.ms-promo-wide__title {
	font-size: clamp(1.125rem, 2vw, 1.375rem);
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
}

.ms-promo-wide__subtitle {
	font-size: 13px;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.92);
}

.ms-promo-wide__cta {
	display: inline-block;
	margin-top: 2px;
	font-size: 13px;
	font-weight: 600;
	color: #fff;
}

.mishtam-theme a.ms-promo-wide,
.mishtam-theme a.ms-promo-wide:hover,
.mishtam-theme a.ms-promo-wide .ms-promo-wide__title,
.mishtam-theme a.ms-promo-wide .ms-promo-wide__subtitle,
.mishtam-theme a.ms-promo-wide .ms-promo-wide__cta {
	color: #fff;
}

/* ===== MEDIUM CARDS ===== */
.ms-promo-cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-4);
}

.ms-promo-card {
	position: relative;
	display: block;
	min-height: 220px;
	border: 1px solid var(--ms-border-light);
	border-radius: var(--ms-radius-lg);
	overflow: hidden;
	color: #fff;
	text-decoration: none;
	box-shadow: var(--ms-shadow-card);
	transition: transform var(--ms-duration) var(--ms-ease), box-shadow var(--ms-duration) var(--ms-ease);
}

.ms-promo-card:hover {
	color: #fff;
	transform: translateY(-4px);
	box-shadow: var(--ms-shadow-card-hover);
}

.ms-promo-card picture,
.ms-promo-card__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.6s var(--ms-ease);
}

.ms-promo-card:hover .ms-promo-card__img {
	transform: scale(1.04);
}

.ms-promo-card__overlay {
	position: absolute;
	inset: 0;
}

.ms-promo-card--rose .ms-promo-card__overlay {
	background: linear-gradient(135deg, rgba(180, 10, 80, 0.78) 0%, rgba(212, 20, 106, 0.48) 100%);
}

.ms-promo-card--wine .ms-promo-card__overlay {
	background: linear-gradient(135deg, rgba(60, 15, 40, 0.8) 0%, rgba(100, 30, 60, 0.5) 100%);
}

.ms-promo-card--blush .ms-promo-card__overlay {
	background: linear-gradient(135deg, rgba(212, 20, 106, 0.68) 0%, rgba(120, 20, 70, 0.42) 100%);
}

.ms-promo-card__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	min-height: 220px;
	padding: var(--space-5);
}

.ms-promo-card__title {
	display: block;
	margin: 0 0 var(--space-2);
	font-size: 1.25rem;
	font-weight: 700;
	color: #fff;
}

.ms-promo-card__subtitle {
	display: block;
	margin: 0 0 var(--space-3);
	font-size: 14px;
	color: rgba(255, 255, 255, 0.95);
}

.ms-promo-card__cta {
	display: inline-block;
	font-size: 14px;
	font-weight: 600;
	color: #fff;
}

/* Tablet only — Gift Combos + Same-Day Delivery wide banners: more padding */
@media (max-width: 1024px) and (min-width: 768px) {
	.ms-promo-wide,
	.ms-delivery-banner.ms-promo-wide {
		aspect-ratio: 1440 / 320;
	}

	.ms-promo-wide__content,
	.ms-delivery-banner .ms-promo-wide__content {
		max-width: 52%;
		padding: var(--space-5) var(--space-5) var(--space-5) var(--space-4);
		gap: 12px;
		box-sizing: border-box;
		justify-content: center;
	}

	.ms-promo-wide__eyebrow,
	.ms-delivery-banner .ms-promo-wide__eyebrow {
		padding: 5px 12px;
		font-size: 10px;
		margin-bottom: 2px;
	}

	.ms-promo-wide__title,
	.ms-delivery-banner .ms-promo-wide__title {
		font-size: 1.1875rem;
		line-height: 1.35;
		max-width: 20ch;
	}

	/* Subtitle crowds the product image on tablet — drop it here only */
	.ms-promo-wide__subtitle,
	.ms-delivery-banner .ms-promo-wide__subtitle {
		display: none;
	}

	.ms-promo-wide__cta,
	.ms-delivery-banner .ms-promo-wide__cta {
		margin-top: 6px;
		font-size: 13px;
	}

	.ms-promo-wide--rose .ms-promo-wide__overlay,
	.ms-promo-wide--peach .ms-promo-wide__overlay {
		background: linear-gradient(
			90deg,
			rgba(120, 15, 60, 0.88) 0%,
			rgba(212, 20, 106, 0.55) 42%,
			rgba(212, 20, 106, 0.1) 70%,
			transparent 100%
		);
	}
}

@media (max-width: 767px) {
	.ms-promo-stripe {
		grid-template-columns: 1fr;
		gap: var(--space-3);
		padding: var(--space-4);
		border-radius: var(--ms-radius-xl);
	}

	.ms-promo-stripe--has-bg {
		min-height: auto;
	}

	.ms-promo-stripe--has-bg .ms-promo-stripe__text {
		max-width: none;
		font-size: 13px;
	}

	.ms-promo-stripe__divider,
	.ms-promo-stripe__arrow {
		display: none;
	}

	.ms-promo-stripe__offer {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-2);
	}

	.ms-promo-stripe__note {
		position: static;
		align-self: flex-end;
	}

	.ms-promo-duo,
	.ms-promo-cards {
		grid-template-columns: 1fr;
	}

	.ms-promo-duo__copy {
		max-width: 70%;
		padding: var(--space-4);
		gap: var(--space-3);
	}

	.ms-promo-duo__line1,
	.ms-promo-duo__line2 {
		font-size: clamp(1.25rem, 5.5vw, 1.625rem);
	}

	.ms-promo-wide {
		aspect-ratio: auto;
		min-height: 0;
	}

	.ms-delivery-banner.ms-promo-wide {
		aspect-ratio: auto;
		min-height: 0;
	}

	.ms-promo-wide__content {
		position: relative;
		inset: auto;
		max-width: 100%;
		width: 100%;
		min-height: 0;
		padding: var(--space-5) var(--space-4);
		gap: var(--space-2);
		box-sizing: border-box;
	}

	.ms-delivery-banner .ms-promo-wide__content {
		padding: var(--space-4);
		gap: 6px;
	}

	.ms-delivery-banner .ms-promo-wide__title {
		font-size: 1.0625rem;
		line-height: 1.25;
	}

	.ms-delivery-banner .ms-promo-wide__subtitle {
		font-size: 13px;
		line-height: 1.4;
	}

	.ms-promo-wide__title {
		font-size: 1.125rem;
		line-height: 1.25;
	}

	.ms-promo-wide__subtitle {
		font-size: 13px;
		line-height: 1.45;
	}

	.ms-promo-wide--rose .ms-promo-wide__overlay,
	.ms-promo-wide--peach .ms-promo-wide__overlay {
		background: linear-gradient(
			180deg,
			rgba(72, 18, 40, 0.94) 0%,
			rgba(110, 25, 60, 0.88) 48%,
			rgba(140, 35, 75, 0.55) 100%
		);
	}

	.ms-promo-wide--peach .ms-promo-wide__overlay {
		background: linear-gradient(
			180deg,
			rgba(72, 28, 24, 0.94) 0%,
			rgba(110, 42, 36, 0.88) 48%,
			rgba(140, 55, 48, 0.55) 100%
		);
	}

	.ms-promo-wide--peach .ms-promo-wide__bg-img,
	.ms-promo-wide--rose .ms-promo-wide__bg-img {
		object-position: 88% center;
		filter: brightness(0.92);
	}

	.ms-promo-wide--rose .ms-promo-wide__eyebrow,
	.ms-promo-wide--peach .ms-promo-wide__eyebrow {
		background: rgba(255, 255, 255, 0.28);
		border-color: rgba(255, 255, 255, 0.55);
		color: #fff;
	}

	.ms-promo-wide--rose .ms-promo-wide__title,
	.ms-promo-wide--rose .ms-promo-wide__subtitle,
	.ms-promo-wide--rose .ms-promo-wide__cta,
	.ms-promo-wide--peach .ms-promo-wide__title,
	.ms-promo-wide--peach .ms-promo-wide__subtitle,
	.ms-promo-wide--peach .ms-promo-wide__cta {
		color: #fff;
		text-shadow: 0 1px 10px rgba(0, 0, 0, 0.4);
	}

	.ms-promo-wide--rose .ms-promo-wide__subtitle,
	.ms-promo-wide--peach .ms-promo-wide__subtitle {
		font-weight: 500;
		opacity: 1;
		color: rgba(255, 255, 255, 0.98);
	}

	.ms-promo-wide--rose .ms-promo-wide__cta,
	.ms-promo-wide--peach .ms-promo-wide__cta {
		font-weight: 700;
	}

	.ms-promo-card {
		min-height: 180px;
	}

	.ms-promo-card__content {
		min-height: 180px;
	}
}
