.pd-shipping-bar {
    background: #f0f7ff;
    border: 1px solid #cfe3ff;
    border-radius: 4px;
    padding: 12px 15px;
    margin: 0 0 16px;
    font-size: 14px;
}
.pd-shipping-bar__message {
    margin-bottom: 8px;
    color: #1d4f8a;
}
.pd-shipping-bar__track {
    background: #e2e8f0;
    border-radius: 999px;
    height: 8px;
    overflow: hidden;
}
.pd-shipping-bar__fill {
    background: #2563eb;
    height: 100%;
    transition: width 0.3s ease;
}
.pd-gift-bar {
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 4px;
    padding: 12px 15px;
    margin: 0 0 16px;
    font-size: 14px;
}
.pd-gift-bar__message {
    margin-bottom: 8px;
    color: #9a3412;
    font-weight: 500;
}
.pd-gift-bar__track {
    background: #fde2c4;
    border-radius: 999px;
    height: 8px;
    overflow: hidden;
}
.pd-gift-bar__fill {
    background: #ea580c;
    height: 100%;
    transition: width 0.3s ease;
}
.pd-gift-tag {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 8px;
    background: #fed7aa;
    color: #9a3412;
    font-size: 11px;
    border-radius: 999px;
    font-weight: 600;
    vertical-align: middle;
}
.pd-price-table {
    border-collapse: collapse;
    margin: 12px 0;
}
.pd-price-table th,
.pd-price-table td {
    border: 1px solid #e2e8f0;
    padding: 6px 12px;
    text-align: left;
}
.pd-price-table th {
    background: #f8fafc;
}

/* Mobile — give the notice bars breathing room from the viewport edge so
   they don't slam against the screen on narrow ysco / Blocksy cart layouts.
   `!important` is intentional: sc-icg-ysco loads after sc-icg-discount and
   its cart-container reset wins specificity ties; defining margin is the
   whole point of this rule, so we force it. */
@media (max-width: 900px) {
    .pd-shipping-bar,
    .pd-gift-bar {
        margin-left: 15px !important;
        margin-right: 15px !important;
    }
}

/* 前台優惠卡：沿用主題字型與色彩，僅在元件內映射 token。 */
.sc-offers {
	--sc-offer-accent: var(
		--ysco-primary,
		var(--theme-palette-color-1, var(--wp--preset--color--primary, #0a6eb1))
	);
	--sc-offer-text: var(--ysco-text, var(--theme-text-color, #334155));
	--sc-offer-surface: var(--theme-palette-color-8, #fff);
	display: grid;
	gap: 12px;
	margin: 0 0 24px;
	min-width: 0;
	font-family: inherit;
	text-align: start;
}
.sc-offers:empty {
	display: none;
}
.sc-offers .sc-offer {
	padding: 20px;
	border: 1px solid color-mix(in srgb, var(--sc-offer-text) 15%, transparent);
	border-radius: 14px;
	color: var(--sc-offer-text);
	background: var(--sc-offer-surface);
	box-shadow: 0 2px 5px #0f172a04;
	min-width: 0;
	overflow-wrap: anywhere;
}
.sc-offer__heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.sc-offer__title {
	font-size: 14px;
	line-height: 1.6;
	font-weight: 600;
}
.sc-offer__badge {
	flex-shrink: 0;
	font-size: 11px;
	line-height: 1.8;
	padding: 2px 9px;
	border-radius: 6px;
	background: color-mix(
		in srgb,
		var(--sc-offer-text) 6%,
		var(--sc-offer-surface)
	);
}
.sc-offers .sc-offer__message {
	font-size: 16px;
	line-height: 1.65;
	font-weight: 600;
	margin: 10px 0 0;
	color: inherit;
}
.sc-offers .sc-offer__detail {
	font-size: 12px;
	line-height: 1.8;
	margin: 9px 0 0;
	color: inherit;
	opacity: 0.8;
}
.sc-offer__track {
	height: 5px;
	margin-top: 14px;
	overflow: hidden;
	border-radius: 999px;
	background: color-mix(
		in srgb,
		var(--sc-offer-text) 10%,
		var(--sc-offer-surface)
	);
}
.sc-offer__track > span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--sc-offer-accent);
	transition: width 0.2s ease;
}
.sc-offer--applied .sc-offer__badge {
	color: #166534;
	background: #f0fdf4;
}
.sc-offers--product {
	margin-top: 24px;
}
@media (max-width: 600px) {
	.sc-offers .sc-offer {
		padding: 16px;
	}
	.sc-offer__heading {
		align-items: flex-start;
		gap: 8px;
	}
	.sc-offers .sc-offer__message {
		font-size: 15px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.sc-offer__track > span {
		transition: none;
	}
}

.ysco-design-checkout-page .sc-offers {
	width: 100%;
	margin-bottom: 20px;
}
