.lupc-buy-online{margin:0;padding:0;border:0;border-radius:0;background:transparent}.lupc-buy-online h2{margin-top:0}.lupc-retailer-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.lupc-retailer-button{background:#ff6f3c!important;border-color:#ff6f3c!important;color:#fff!important}.lupc-retailer-button:hover,.lupc-retailer-button:focus{background:#1b2a4a!important;border-color:#1b2a4a!important;color:#fff!important}.lupc-affiliate-disclosure{font-size:.85rem;color:#5d6678}


/* Rating picker state clarity: empty hearts must read as truly empty. */
.lupc-rating-row--lovely .lupc-heart-choice {
	color: #ffe9e1 !important;
	opacity: .42 !important;
}
.lupc-rating-row--lovely .lupc-heart-choice.is-filled,
.lupc-rating-row--lovely .lupc-heart-choice.is-preview {
	color: #ff6f3c !important;
	opacity: 1 !important;
}
.lupc-rating-row--unlovely .lupc-heart-choice {
	color: #dfe3e8 !important;
	opacity: .5 !important;
}
.lupc-rating-row--unlovely .lupc-heart-choice.is-filled,
.lupc-rating-row--unlovely .lupc-heart-choice.is-preview {
	color: #000000 !important;
	opacity: 1 !important;
}
.lupc-heart-choice {
	transition: color .14s ease, transform .14s ease, opacity .14s ease;
}
.lupc-heart-choice.is-preview {
	transform: translateY(-1px) scale(1.06);
}

/* 0.6.3 review/Q&A polish -------------------------------------------------- */
/* Make empty display hearts unmistakably lighter than selected hearts. */
.lupc-hearts--lovely .lupc-heart.is-empty {
	color: #ffd9cc !important;
	opacity: .78 !important;
}
.lupc-hearts--unlovely .lupc-heart.is-empty {
	color: #d5d9de !important;
	opacity: .82 !important;
}
.lupc-hearts--lovely .lupc-heart.is-filled {
	color: #ff6f3c !important;
	opacity: 1 !important;
}
.lupc-hearts--unlovely .lupc-heart.is-filled {
	color: #000 !important;
	opacity: 1 !important;
}

/* The picker empties should feel ghosted until a member selects/previews them. */
.lupc-rating-row--lovely .lupc-heart-choice:not(.is-filled):not(.is-preview) {
	color: #ffd9cc !important;
	opacity: .72 !important;
}
.lupc-rating-row--unlovely .lupc-heart-choice:not(.is-filled):not(.is-preview) {
	color: #cfd4da !important;
	opacity: .72 !important;
}

/* Public WooCommerce reviews: avatar and review card share one top-aligned row. */
.woocommerce #reviews #comments ol.commentlist li .comment_container,
.woocommerce-page #reviews #comments ol.commentlist li .comment_container {
	display: grid !important;
	grid-template-columns: 100px minmax(0, 1fr) !important;
	align-items: start !important;
	column-gap: 20px !important;
	row-gap: 0 !important;
}
.woocommerce #reviews #comments ol.commentlist li .comment_container > .lupc-member-avatar-wrap,
.woocommerce-page #reviews #comments ol.commentlist li .comment_container > .lupc-member-avatar-wrap,
.woocommerce #reviews #comments ol.commentlist li .comment_container > img.avatar,
.woocommerce-page #reviews #comments ol.commentlist li .comment_container > img.avatar {
	grid-column: 1 !important;
	grid-row: 1 !important;
	align-self: start !important;
	margin: 0 !important;
	float: none !important;
}
.woocommerce #reviews #comments ol.commentlist li .comment_container .comment-text,
.woocommerce-page #reviews #comments ol.commentlist li .comment_container .comment-text {
	grid-column: 2 !important;
	grid-row: 1 !important;
	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	float: none !important;
	transition: transform .16s ease, box-shadow .16s ease;
}
.woocommerce #reviews #comments ol.commentlist li .comment_container:hover .comment-text,
.woocommerce-page #reviews #comments ol.commentlist li .comment_container:hover .comment-text {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(27, 42, 74, .08);
}
.lupc-review-photo img {
	border-radius: 14px;
	border: 1px solid #e2e6ec;
}

/* Q&A: keep each member avatar directly to the left of its question/response. */
.lupc-qa-thread,
.lupc-qa-response {
	display: grid;
	grid-template-columns: 100px minmax(0, 1fr);
	align-items: start;
	column-gap: 20px;
}
.lupc-qa-thread > .lupc-qa-post__header,
.lupc-qa-response > .lupc-qa-post__header {
	display: contents;
}
.lupc-qa-thread > .lupc-qa-post__header > .lupc-member-avatar-wrap,
.lupc-qa-thread > .lupc-qa-post__header > .lupc-qa-avatar,
.lupc-qa-response > .lupc-qa-post__header > .lupc-member-avatar-wrap,
.lupc-qa-response > .lupc-qa-post__header > .lupc-qa-avatar {
	grid-column: 1;
	grid-row: 1 / span 2;
	align-self: start;
	margin: 0;
}
.lupc-qa-thread > .lupc-qa-post__header > div,
.lupc-qa-response > .lupc-qa-post__header > div {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
}
.lupc-qa-thread > .lupc-qa-post__header > .lupc-status,
.lupc-qa-response > .lupc-qa-post__header > .lupc-status {
	grid-column: 2;
	justify-self: end;
	grid-row: 1;
}
.lupc-qa-thread > .lupc-qa-question,
.lupc-qa-response > p {
	grid-column: 2;
	min-width: 0;
}
.lupc-qa-thread > .lupc-qa-responses,
.lupc-qa-thread > .lupc-qa-reply,
.lupc-qa-thread > .lupc-qa-no-responses {
	grid-column: 1 / -1;
}
.lupc-qa-thread,
.lupc-qa-response {
	transition: transform .16s ease, box-shadow .16s ease;
}
.lupc-qa-thread:hover,
.lupc-qa-response:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(27, 42, 74, .07);
}

/* 0.6.4 member snapshot stacking fix --------------------------------------- */
/*
 * Review/Q&A cards can establish their own stacking contexts. Keep the avatar
 * wrapper and its snapshot above those neighboring layers, and allow the card
 * to escape the thread/container bounds.
 */
.lupc-member-avatar-wrap {
	position: relative !important;
	z-index: 50 !important;
	overflow: visible !important;
}
.lupc-member-avatar-wrap:hover,
.lupc-member-avatar-wrap:focus,
.lupc-member-avatar-wrap:focus-within {
	z-index: 100000 !important;
}
.lupc-member-snapshot {
	position: absolute !important;
	z-index: 100001 !important;
}
.woocommerce #reviews #comments ol.commentlist li,
.woocommerce #reviews #comments ol.commentlist li .comment_container,
.woocommerce-page #reviews #comments ol.commentlist li,
.woocommerce-page #reviews #comments ol.commentlist li .comment_container,
.lupc-qa-thread,
.lupc-qa-thread .lupc-qa-post__header,
.lupc-qa-responses,
.lupc-qa-response {
	overflow: visible !important;
}
.lupc-qa-thread:has(.lupc-member-avatar-wrap:hover),
.lupc-qa-thread:has(.lupc-member-avatar-wrap:focus-within),
.lupc-qa-response:has(.lupc-member-avatar-wrap:hover),
.lupc-qa-response:has(.lupc-member-avatar-wrap:focus-within) {
	position: relative;
	z-index: 99999;
}

@media (max-width: 640px) {
	.woocommerce #reviews #comments ol.commentlist li .comment_container,
	.woocommerce-page #reviews #comments ol.commentlist li .comment_container,
	.lupc-qa-thread,
	.lupc-qa-response {
		grid-template-columns: 1fr !important;
		row-gap: 12px !important;
	}
	.woocommerce #reviews #comments ol.commentlist li .comment_container > .lupc-member-avatar-wrap,
	.woocommerce-page #reviews #comments ol.commentlist li .comment_container > .lupc-member-avatar-wrap,
	.woocommerce #reviews #comments ol.commentlist li .comment_container > img.avatar,
	.woocommerce-page #reviews #comments ol.commentlist li .comment_container > img.avatar,
	.woocommerce #reviews #comments ol.commentlist li .comment_container .comment-text,
	.woocommerce-page #reviews #comments ol.commentlist li .comment_container .comment-text,
	.lupc-qa-thread > .lupc-qa-post__header > .lupc-member-avatar-wrap,
	.lupc-qa-thread > .lupc-qa-post__header > .lupc-qa-avatar,
	.lupc-qa-response > .lupc-qa-post__header > .lupc-member-avatar-wrap,
	.lupc-qa-response > .lupc-qa-post__header > .lupc-qa-avatar,
	.lupc-qa-thread > .lupc-qa-post__header > div,
	.lupc-qa-response > .lupc-qa-post__header > div,
	.lupc-qa-thread > .lupc-qa-question,
	.lupc-qa-response > p {
		grid-column: 1 !important;
		grid-row: auto !important;
	}
	.lupc-qa-thread > .lupc-qa-post__header > .lupc-status,
	.lupc-qa-response > .lupc-qa-post__header > .lupc-status {
		grid-column: 1 !important;
		grid-row: auto !important;
		justify-self: start;
	}
}


/* 0.6.6 contribution-form image disclosure containment */
.lupc-product-form .lupc-image-upload{min-width:0;overflow:hidden}
.lupc-product-form .lupc-image-upload p{max-width:100%;min-width:0}
.lupc-product-form .lupc-image-upload .lupc-checkbox-label{display:flex!important;align-items:flex-start!important;gap:10px;width:100%!important;max-width:100%!important;min-width:0;white-space:normal!important;overflow-wrap:anywhere;word-break:normal}
.lupc-product-form .lupc-image-upload .lupc-checkbox-label input[type=checkbox]{flex:0 0 auto!important;width:auto!important;min-width:0!important;margin:.25em 0 0!important}

/* 0.6.7: destructive review action is only rendered in My Account > My Reviews. */
.lupc-review-delete-form { margin-top:.75rem; }
.lupc-delete-review-button { border-color:#b42318 !important; color:#b42318 !important; background:#fff !important; }
.lupc-delete-review-button:hover, .lupc-delete-review-button:focus-visible { background:#b42318 !important; color:#fff !important; }


/* 0.7.0 Lovely Points + engagement account experience --------------------- */
.lupc-points-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}
.lupc-points-heading h2{margin:.15rem 0 .4rem}
.lupc-points-total{display:flex;flex-direction:column;align-items:flex-end;color:#008B8B;font-size:clamp(2.2rem,5vw,4rem);line-height:.9}
.lupc-points-total span{margin-top:8px;color:#1B2A4A;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}
.lupc-points-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.lupc-points-card__detail{color:#667085;font-size:.9rem}
.lupc-engagement-list{display:grid;gap:16px}
.lupc-member-engagement .lupc-qa-post__type{display:inline-block;margin-bottom:4px}
.lupc-engagement-title{margin:14px 0 4px;color:#1B2A4A}

.lupc-points-celebration{position:fixed;right:28px;bottom:28px;z-index:1000000;display:flex;align-items:center;gap:12px;min-width:280px;max-width:min(420px,calc(100vw - 32px));padding:16px 20px;border:1px solid rgba(0,139,139,.28);border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(27,42,74,.18);color:#1B2A4A;opacity:0;transform:translateY(18px) scale(.96);pointer-events:none;transition:opacity .28s ease,transform .42s cubic-bezier(.2,.9,.25,1.2)}
.lupc-points-celebration.is-visible{opacity:1;transform:translateY(0) scale(1)}
.lupc-points-celebration.is-leaving{opacity:0;transform:translateY(-8px) scale(.98)}
.lupc-points-celebration__heart{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:#E8F7F7;color:#008B8B;font-size:1.55rem;animation:lupcPointsHeart .7s cubic-bezier(.2,.9,.25,1.4) both}
.lupc-points-celebration strong{display:block;color:#008B8B;font-size:1.05rem}
.lupc-points-celebration small{display:block;margin-top:3px;color:#667085}
.lupc-points-celebration>i{position:absolute;color:#008B8B;font-style:normal;font-size:.78rem;opacity:0;animation:lupcPointsFloat 1.5s ease-out .18s both}
.lupc-points-celebration>i:nth-of-type(1){left:28px;top:5px;--x:-18px}
.lupc-points-celebration>i:nth-of-type(2){left:52px;top:0;--x:5px;animation-delay:.28s}
.lupc-points-celebration>i:nth-of-type(3){left:66px;top:14px;--x:18px;animation-delay:.38s}
@keyframes lupcPointsHeart{0%{transform:scale(.45) rotate(-12deg)}60%{transform:scale(1.14) rotate(4deg)}100%{transform:scale(1) rotate(0)}}
@keyframes lupcPointsFloat{0%{opacity:0;transform:translate(0,8px) scale(.7)}30%{opacity:.9}100%{opacity:0;transform:translate(var(--x),-38px) scale(1.15)}}
@media (max-width:720px){.lupc-points-heading{flex-direction:column}.lupc-points-total{align-items:flex-start}.lupc-points-cards{grid-template-columns:1fr!important}.lupc-points-celebration{right:16px;bottom:16px;left:16px;max-width:none}}
@media (prefers-reduced-motion:reduce){.lupc-points-celebration,.lupc-points-celebration__heart,.lupc-points-celebration>i{animation:none!important;transition:none!important}.lupc-points-celebration.is-visible{opacity:1;transform:none}}

.lupc-product-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.lupc-product-image-slot{min-width:0}.lupc-product-image-slot .lupc-image-preview img{display:block;max-width:220px;width:100%;height:auto;border-radius:12px}.lupc-product-image-slot input[type=file],.lupc-product-image-slot input[type=url]{max-width:100%}@media(max-width:700px){.lupc-product-image-grid{grid-template-columns:1fr}}
