/* Research Savings Event — frontend styles. All classes prefixed .rse- to
 * avoid theme collisions. Responsive & accessible; respects prefers-reduced-motion. */

.rse-progress-notice{
	border:1px solid #ffd3da;
	background:linear-gradient(135deg,#fff0f3,#ffe3e8 60%,#fff0f3);
	border-radius:12px;
	padding:14px 16px;
	margin:0 0 18px;
	font-size:14px;
	color:#5a1f2c;
	box-shadow:0 1px 2px rgba(16,24,40,.04);
	line-height:1.5;
}
.rse-progress-header{margin-bottom:6px;}
.rse-progress-badge{
	display:inline-block;
	padding:3px 10px;
	background:#c93a4a;
	color:#fff;
	border-radius:9999px;
	font-size:11px;
	font-weight:700;
	letter-spacing:.5px;
	text-transform:uppercase;
}
.rse-progress-unlocked{
	margin:6px 0 4px;
	color:#7a2030;
	font-weight:600;
}
.rse-progress-next{margin:6px 0;}
.rse-progress-bar{
	height:8px;
	background:rgba(201,58,74,.15);
	border-radius:9999px;
	overflow:hidden;
	margin-top:8px;
}
.rse-progress-bar-fill{
	height:100%;
	background:linear-gradient(90deg,#c93a4a,#f47286);
	border-radius:9999px;
	transition:width .35s ease-out;
}
@media (prefers-reduced-motion:reduce){
	.rse-progress-bar-fill{transition:none;}
}

.rse-free-badge{
	color:#127a48;
	font-weight:700;
	letter-spacing:.5px;
}
.rse-gift-tag{
	display:inline-block;
	margin-left:8px;
	padding:2px 8px;
	background:#127a48;
	color:#fff;
	border-radius:6px;
	font-size:11px;
	font-weight:700;
	letter-spacing:.4px;
	text-transform:uppercase;
	vertical-align:middle;
}
.rse-gift-qty{
	display:inline-block;
	padding:2px 8px;
	background:#ecfdf3;
	color:#127a48;
	border:1px solid #bbf7d0;
	border-radius:6px;
	font-weight:700;
}
.rse-gift-decline{color:#c93a4a !important;text-decoration:underline;}

/* Shortcode / block layout */
.rse-shortcode{
	background:#fff;
	border:1px solid #e6e8ec;
	border-radius:16px;
	padding:24px;
	margin:24px 0;
	box-shadow:0 1px 3px rgba(16,24,40,.06);
	font-family:inherit;
}
.rse-shortcode-header{margin-bottom:18px;text-align:center;}
.rse-shortcode-title{
	margin:0 0 4px;
	font-size:26px;
	font-weight:800;
	color:#7a2030;
	line-height:1.2;
}
.rse-shortcode-desc{margin:0 0 8px;color:#344054;font-size:15px;}
.rse-shortcode-dates{
	margin:0;
	color:#c93a4a;
	font-weight:700;
	font-size:14px;
	letter-spacing:.5px;
	text-transform:uppercase;
}
.rse-shortcode-media{margin:16px 0;text-align:center;}
.rse-shortcode-media img{max-width:100%;height:auto;border-radius:12px;}
.rse-media-desktop{display:block;}
.rse-media-mobile{display:none;}
@media (max-width:640px){
	.rse-media-desktop{display:none;}
	.rse-media-mobile{display:block;}
}
.rse-shortcode-tiers{
	margin:0;
	padding:0;
	list-style:none;
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
	gap:12px;
}
.rse-shortcode-tier{
	background:#fff0f3;
	border:1px solid #ffd3da;
	border-radius:12px;
	padding:14px 16px;
	display:flex;
	flex-direction:column;
	gap:6px;
}
.rse-shortcode-tier-min{
	font-size:12px;
	color:#c93a4a;
	font-weight:700;
	letter-spacing:.4px;
	text-transform:uppercase;
}
.rse-shortcode-tier-label{
	font-size:17px;
	font-weight:800;
	color:#7a2030;
}
.rse-shortcode-tier-rewards{
	font-size:14px;
	color:#344054;
	line-height:1.4;
}
.rse-shortcode-compact .rse-shortcode-tiers{display:none;}
.rse-coupon-amount{font-weight:700;color:#127a48;}

/* Future-coupon callout — high-contrast amber block so the customer can't miss
 * the "you'll get $75 on your next order" promise on the checkout page or the
 * order-received page. */
.rse-coupon-callout{
	margin:10px 0 4px;
	padding:12px 14px;
	background:linear-gradient(135deg,#fff9e6,#fef3c7);
	border:1px solid #fcd34d;
	border-left:4px solid #f59e0b;
	border-radius:10px;
	display:flex;
	gap:12px;
	align-items:flex-start;
	color:#78350f;
	font-size:14px;
	line-height:1.45;
}
.rse-coupon-callout-icon{
	font-size:22px;
	line-height:1;
	flex-shrink:0;
}
.rse-coupon-callout-copy{
	display:flex;
	flex-direction:column;
	gap:3px;
}
.rse-coupon-callout-copy strong{
	color:#92400e;
	font-weight:700;
	font-size:15px;
}
.rse-coupon-callout-code{
	display:inline-flex;
	align-items:center;
	gap:8px;
	flex-wrap:wrap;
}
.rse-coupon-callout-code code{
	padding:3px 10px;
	background:#fff;
	border:1px solid #fcd34d;
	border-radius:6px;
	font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
	font-weight:700;
	color:#92400e;
	letter-spacing:1px;
}
.rse-coupon-callout-thankyou{
	margin:18px 0;
	padding:16px 18px;
	font-size:15px;
}
.rse-coupon-callout-thankyou .rse-coupon-callout-copy strong{font-size:17px;}
