/* Cosmetic Decoder — beauty sale calendars (includes/sales.php). Loaded only on those pages. */
.cc-sales {
	--_ink: var(--cc-ink, #17201c);
	--_muted: var(--cc-muted, #5b6661);
	--_line: var(--cc-line, #e3dfd6);
	--_accent: var(--cc-accent, #1e6b52);
	--_accent-soft: var(--cc-accent-soft, #e6f0eb);
	margin: 1.5rem 0 2rem;
	color: var(--_ink);
}
.cc-sale-now {
	background: var(--_accent-soft);
	border-radius: 14px;
	padding: 14px 18px;
	margin: 0 0 1.25rem;
	line-height: 1.6;
}
.cc-sale-now-date { display: block; font-size: 12.5px; font-weight: 600; color: var(--_accent); margin-bottom: 2px; }
.cc-sale-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.cc-sale-months { width: 100%; border-collapse: collapse; font-size: 15px; background: #fff; border: 1px solid var(--_line); border-radius: 12px; overflow: hidden; }
.cc-sale-months caption { text-align: left; font-size: 13px; font-weight: 600; color: var(--_muted); padding: 0 0 8px; }
.cc-sale-months th, .cc-sale-months td { padding: 9px 12px; border-bottom: 1px solid var(--_line); vertical-align: top; text-align: left; line-height: 1.5; }
.cc-sale-months thead th { font-size: 12px; font-weight: 600; color: var(--_muted); background: #fbfaf7; }
.cc-sale-months tbody th { width: 5.5em; font-weight: 600; white-space: nowrap; }
.cc-sale-months tr.is-now th, .cc-sale-months tr.is-now td { background: var(--_accent-soft); }
.cc-sale-months a { color: inherit; text-decoration: underline; text-decoration-color: var(--_line); text-underline-offset: 3px; }
.cc-sale-none { color: var(--_muted); }
.cc-sale-monthly { font-size: 14px; color: var(--_muted); margin: 8px 0 0; }
.cc-sale-monthly a { color: inherit; }
.cc-sale-h { margin-top: 2rem; }
.cc-sale-cards { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.cc-sale-card { border: 1px solid var(--_line); border-radius: 14px; background: #fff; padding: 16px 18px; scroll-margin-top: 90px; min-width: 0; }
.cc-sale-card.is-ended { background: #fbfaf7; }
.cc-sale-card.is-ended .cc-sale-name { color: var(--_muted); }
.cc-sale-card-top { margin-bottom: 6px; }
.cc-sale-badge { display: inline-block; font-size: 12px; font-weight: 600; padding: 3px 9px; border-radius: 999px; background: #f1efe9; color: var(--_muted); }
.cc-sale-badge.is-on { background: var(--_accent); color: #fff; }
.cc-sale-badge.is-upcoming { background: var(--_accent-soft); color: var(--_accent); }
.cc-sale-badge.is-this-month { background: #fff4d6; color: #7a5600; }
.cc-sales h3.cc-sale-name { font-size: 17px; line-height: 1.35; margin: 4px 0 2px; }
.cc-sale-orig { display: block; font-size: 13px; color: var(--_muted); margin-bottom: 6px; }
.cc-sale-dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 12px; margin: 10px 0 0; font-size: 14px; line-height: 1.5; }
.cc-sale-dl dt { color: var(--_muted); font-weight: 600; white-space: nowrap; }
.cc-sale-dl dd { margin: 0; overflow-wrap: anywhere; }
.cc-sale-note { font-size: 14px; line-height: 1.55; margin: 10px 0 0; }
.cc-sale-src { font-size: 12.5px; color: var(--_muted); margin: 10px 0 0; overflow-wrap: anywhere; }
.cc-sale-src a, .cc-sale-sources a { color: inherit; }
.cc-sale-sources { font-size: 14px; line-height: 1.6; padding-left: 1.1em; }
.cc-sale-sources small { color: var(--_muted); }
.cc-sale-others { font-size: 15px; }
.cc-sale-disclaimer { font-size: 13px; color: var(--cc-muted, #5b6661); }
@media (max-width: 600px) {
	.cc-sale-months { font-size: 14px; }
	.cc-sale-months th, .cc-sale-months td { padding: 8px 10px; }
}
