/**
 * WPLoyalty – Soft Porcelain overrides.
 * Scoped to WPLoyalty classes only; does not touch cart fragments, gateways or Radar.
 */

/* Cart / checkout banners, product messages, notices */
.wlr-message-info,
.wlr_point_redeem_message,
.wlr_points_rewards_earn_points,
.wlr-loyalty-label,
.woocommerce .wlr-message-info,
.woocommerce-info.wlr-message-info,
.wlr_free_product_text {
	background: #F8F5F0 !important;
	color: #11121B !important;
	border: 1px solid rgba(17, 18, 27, 0.12) !important;
	border-radius: 14px !important;
	box-shadow: none !important;
	font-weight: 400 !important;
	letter-spacing: 0.01em;
	line-height: 1.55;
}

.wlr-message-info *,
.wlr_point_redeem_message *,
.wlr_points_rewards_earn_points * {
	font-weight: 400;
	letter-spacing: 0.01em;
}

.wlr-message-info strong,
.wlr-message-info b,
.wlr_point_redeem_message strong,
.wlr_points_rewards_earn_points strong {
	font-weight: 500;
}

/* Account widgets (My Rewards page, cards, sections) */
.wlr-myaccount-page,
.wlr-myaccount-page .wlr-card,
.wlr-myaccount-page .wlr-card-container,
.wlr-myaccount-page .wlr-your-reward,
.wlr-myaccount-page .wlr-user-details,
.wlr-myaccount-page .wlr-my-rewards-sections,
.wlr-myaccount-page .wlr-earning-option,
.wlr-myaccount-page .wlr-new-coupon-card,
.wlr-myaccount-page .wlr-progress-content,
.wlr-myaccount-page .wlr-norecords-container {
	background: #F8F5F0 !important;
	color: #11121B !important;
	border-color: rgba(17, 18, 27, 0.12) !important;
	border-radius: 16px !important;
	box-shadow: none !important;
	font-weight: 400;
	letter-spacing: 0.01em;
}

.wlr-myaccount-page .wlr-heading,
.wlr-myaccount-page .wlr-heading-container,
.wlr-myaccount-page .wlr-my-rewards-title,
.wlr-myaccount-page .wlr-name,
.wlr-myaccount-page .wlr-points-name,
.wlr-myaccount-page .wlr-reward-type-name {
	color: #11121B !important;
	font-weight: 500 !important;
	letter-spacing: 0.005em;
}

.wlr-myaccount-page .wlr-text-color,
.wlr-myaccount-page .wlr-description,
.wlr-myaccount-page .wlr-date,
.wlr-myaccount-page .wlr-pre-text,
.wlr-myaccount-page .wlr-expire-date {
	color: #11121B !important;
	font-weight: 400 !important;
}

.wlr-myaccount-page .wlr-progress-bar {
	border-radius: 999px !important;
	background: rgba(17, 18, 27, 0.1) !important;
}

.wlr-myaccount-page .wlr-progress-bar > * {
	background: #11121B !important;
	border-radius: 999px !important;
}

/* Buttons: solid dark slate */
.wlr-myaccount-page .wlr-button,
.wlr-myaccount-page .wlr-button-action,
.wlr-myaccount-page .wlr-button-action-,
.wlr-myaccount-page .wlr-theme-color-apply,
.wlr-message-info .button,
.wlr-message-info a.button,
.wlr_point_redeem_message .button,
.wlr-copy-shortcode,
#wlr-reward-link,
.wlr-modal .wlr-button,
.wlr-popup .wlr-button {
	background: #11121B !important;
	background-color: #11121B !important;
	color: #F8F5F0 !important;
	border: 1px solid #11121B !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	font-weight: 500 !important;
	letter-spacing: 0.02em;
	text-transform: none;
	transition: opacity 0.15s ease;
}

.wlr-myaccount-page .wlr-button:hover,
.wlr-myaccount-page .wlr-button-action:hover,
.wlr-message-info .button:hover,
.wlr_point_redeem_message .button:hover {
	opacity: 0.88;
}

/* Modal notices / launcher popups / WooCommerce notices from WPLoyalty */
.wlr-modal,
.wlr-popup,
.wlr-modal-content,
.wlr-popup-content,
.woocommerce-message.wlr-message-info,
.woocommerce-error.wlr-message-info {
	background: #F8F5F0 !important;
	color: #11121B !important;
	border-radius: 18px !important;
	font-weight: 400;
	letter-spacing: 0.01em;
}

/* ==========================================================
 * Catalog grids: never show the points notice on cards.
 * (PHP also stops it; this is a safety net for cached markup.)
 * ========================================================== */
ul.products .wlr-product-message,
.products .product .wlr-product-message,
.woocommerce-page:not(.single-product) .wlr-product-message,
.cst-related .wlr-product-message,
body:not(.single-product) .wlr-product-message {
display: none !important;
}

/* ==========================================================
 * Single product: rewards notice as a porcelain card
 * ========================================================== */
body.single-product .single-product__summary .wlr-product-message,
body.single-product div.product .summary .wlr-product-message,
body.single-product .wlr-product-message {
display: block !important;
box-sizing: border-box;
flex: 1 1 100%;
width: 100%;
max-width: 520px;
margin: 14px 0 0 !important;
padding: 12px 16px !important;
background: #F8F5F0 !important;
color: #11121B !important;
border: 1px solid #EAE5DD !important;
border-radius: 12px !important;
box-shadow: none !important;
font-size: 13px !important;
font-weight: 400 !important;
line-height: 1.5 !important;
letter-spacing: 0.01em;
}

body.single-product .wlr-product-message strong,
body.single-product .wlr-product-message b {
font-weight: 500 !important;
}

/* ==========================================================
 * Checkout: Cashback Points card (icon left, bold title, text)
 * ========================================================== */
body.woocommerce-checkout .wlr-message-info.cst-cashback,
body.woocommerce-cart .wlr-message-info.cst-cashback {
display: flex !important;
align-items: flex-start;
gap: 14px;
box-sizing: border-box;
margin: 0 0 14px !important;
padding: 16px 18px !important;
background: #F8F5F0 !important;
color: #11121B !important;
border: 1px solid #EAE5DD !important;
border-radius: 12px !important;
box-shadow: none !important;
font-size: 14px !important;
line-height: 1.5;
}

.cst-cashback__icon {
flex: 0 0 auto;
display: inline-flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
border-radius: 999px;
background: #FFFFFF;
border: 1px solid #EAE5DD;
color: #11121B;
}

.cst-cashback__body {
flex: 1 1 auto;
min-width: 0;
}

.wlr-message-info.cst-cashback .cst-cashback__title {
display: block;
margin: 0 0 2px;
color: #11121B !important;
font-size: 14px;
font-weight: 700 !important;
letter-spacing: 0.01em;
}

.wlr-message-info.cst-cashback .cst-cashback__text {
margin: 0 !important;
color: #11121B !important;
font-size: 13px;
font-weight: 400 !important;
letter-spacing: 0.01em;
}

/* Cashback icon (CSS-drawn so it survives WPLoyalty's HTML sanitising). */
.cst-cashback__icon {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2311121B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M14.8 9.2c-.5-.8-1.5-1.2-2.8-1.2-1.6 0-2.6.8-2.6 1.9 0 2.7 5.4 1.3 5.4 4 0 1.1-1.1 2-2.8 2-1.3 0-2.4-.5-3-1.4M12 6.5V8m0 8v1.5'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: center;
background-size: 22px 22px;
}
