/* ═════════════════════════════════════════════════════════════════════
 * Wapu Perfumery v1.5 — Frontend de notas (flat + pyramid)
 *
 * Estandalone-safe. Las clases .wapu-perf-* son únicas y no dependen
 * de body.wapu-vertical-perfumery — funciona en cualquier theme.
 *
 * Variables custom:
 *   --wapu-perf-primary   color de marca del drop activo (inline)
 * ═════════════════════════════════════════════════════════════════════ */

.wapu-perf-notes {
	--wapu-perf-primary: #1a2540;
	--wapu-perf-ink: #1a2540;
	--wapu-perf-ink-soft: rgba(26, 37, 64, 0.7);
	--wapu-perf-ink-mute: rgba(26, 37, 64, 0.55);
	--wapu-perf-line: rgba(26, 37, 64, 0.15);
	--wapu-perf-surface: #FAF8F4;
	font-family: var(--ds-font-text, -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", sans-serif);
	color: var(--wapu-perf-ink);
	background: var(--wapu-perf-surface);
	border-radius: 16px;
	padding: 24px;
	margin: 24px 0;
	box-sizing: border-box;
}
.wapu-perf-notes *,
.wapu-perf-notes *::before,
.wapu-perf-notes *::after { box-sizing: border-box; }

/* ─── Head ─────────────────────────────────────────── */
.wapu-perf-notes__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 16px;
}
.wapu-perf-notes__kicker {
	font-size: 11px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wapu-perf-ink-mute);
}
.wapu-perf-notes__count {
	font-size: 12px;
	color: var(--wapu-perf-ink-mute);
}

/* ─── Flat grid ────────────────────────────────────── */
.wapu-perf-notes__grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 10px;
}

.wapu-perf-notes__grid--inline {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	padding-left: 12px;
}

/* ─── Note card ────────────────────────────────────── */
.wapu-perf-note {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 6px;
}
.wapu-perf-note__visual {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.wapu-perf-note__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.wapu-perf-note__visual--fallback {
	font-family: var(--ds-font-display, "Manrope", -apple-system, BlinkMacSystemFont, serif);
	font-size: 22px;
	font-weight: 500;
	letter-spacing: -0.02em;
}
.wapu-perf-note__label {
	font-size: 11px;
	line-height: 1.25;
	color: var(--wapu-perf-ink);
	max-width: 84px;
	overflow-wrap: break-word;
}

.wapu-perf-note--compact .wapu-perf-note__visual { width: 52px; height: 52px; }
.wapu-perf-note--compact .wapu-perf-note__visual--fallback { font-size: 18px; }

/* ─── Pyramid layers ───────────────────────────────── */
.wapu-perf-notes__layer { margin-bottom: 20px; }
.wapu-perf-notes__layer:last-child { margin-bottom: 0; }

.wapu-perf-notes__layer-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
}
.wapu-perf-notes__layer-label {
	font-family: var(--ds-font-display, "Manrope", -apple-system, BlinkMacSystemFont, serif);
	font-size: 13px;
	color: var(--wapu-perf-primary);
	min-width: 70px;
	letter-spacing: -0.01em;
}
.wapu-perf-notes__layer-rule {
	flex: 1;
	height: 0.5px;
	background: var(--wapu-perf-line);
}
.wapu-perf-notes__layer-hint {
	font-size: 11px;
	color: var(--wapu-perf-ink-mute);
}

/* ─── Color palette (fallback initial) ─────────────── */
.wapu-perf-color-0 { background: #E1F5EE; color: #0F6E56; }
.wapu-perf-color-1 { background: #FAEEDA; color: #854F0B; }
.wapu-perf-color-2 { background: #FAECE7; color: #993C1D; }
.wapu-perf-color-3 { background: #F1EFE8; color: #5F5E5A; }
.wapu-perf-color-4 { background: #FBEAF0; color: #993556; }
.wapu-perf-color-5 { background: #EEEDFE; color: #3C3489; }
.wapu-perf-color-6 { background: #E6F1FB; color: #185FA5; }

/* ─── Responsive ───────────────────────────────────── */
@media (max-width: 640px) {
	.wapu-perf-notes {
		padding: 16px;
		margin: 16px 0;
	}
	.wapu-perf-notes__grid {
		grid-template-columns: repeat(4, 1fr);
		gap: 8px;
	}
	.wapu-perf-note__visual { width: 56px; height: 56px; }
	.wapu-perf-note__visual--fallback { font-size: 18px; }
	.wapu-perf-note__label { font-size: 10px; max-width: 72px; }
}

@media (max-width: 420px) {
	.wapu-perf-notes__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* ═══════════════════════════════════════════════════════════════════
 * v1.6.0 — Pirámide olfativa (rediseño Glossier / Drunk Elephant)
 *
 * Bloque `.wapu-perf-pyr` independiente del flat de arriba. Scope total
 * para no contaminar el theme. Paleta pastel scoped al bloque.
 * ═══════════════════════════════════════════════════════════════════ */

.wapu-perf-pyr {
	/* paleta glossier scoped */
	--peach:#ffdcc7;
	--rose:#ffd4dd;
	--mint:#d4f5e9;
	--lavender:#e8defc;
	--butter:#fff3c7;
	--sky:#d4e8ff;

	--wapu-perf-pyr-ink:#1a1a1a;
	--wapu-perf-pyr-ink-2:rgba(26,26,26,.72);
	--wapu-perf-pyr-ink-3:rgba(26,26,26,.5);
	--wapu-perf-pyr-ink-4:rgba(26,26,26,.12);

	margin: 32px 0;
	padding: 28px;
	background: #fafaf7;
	border-radius: 20px;
	font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", sans-serif;
	color: var(--wapu-perf-pyr-ink);
	font-size: 14px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
.wapu-perf-pyr,
.wapu-perf-pyr *,
.wapu-perf-pyr *::before,
.wapu-perf-pyr *::after { box-sizing: border-box; }

.wapu-perf-pyr__title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 11px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--wapu-perf-pyr-ink-3);
	font-weight: 700;
	margin: 0 0 6px;
}
.wapu-perf-pyr__subtitle {
	font-size: 13px;
	color: var(--wapu-perf-pyr-ink-2);
	font-weight: 500;
	margin: 0 0 24px;
}

.wapu-perf-pyr__layers {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.wapu-perf-pyr__layer {
	padding: 20px;
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.wapu-perf-pyr__layer--top   { background: var(--mint); }
.wapu-perf-pyr__layer--heart { background: var(--rose); }
.wapu-perf-pyr__layer--base  { background: var(--peach); }

.wapu-perf-pyr__layer-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
}
.wapu-perf-pyr__layer-name {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: -.01em;
	color: var(--wapu-perf-pyr-ink);
	display: flex;
	align-items: center;
	gap: 8px;
}
.wapu-perf-pyr__layer-emoji {
	font-size: 18px;
	line-height: 1;
}
.wapu-perf-pyr__layer-when {
	font-size: 11px;
	color: var(--wapu-perf-pyr-ink-2);
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.wapu-perf-pyr__notes {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.wapu-perf-pyr__note {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	background: #fff;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	color: var(--wapu-perf-pyr-ink);
	letter-spacing: -.01em;
	transition: transform .2s ease, box-shadow .2s ease;
}
.wapu-perf-pyr__note:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(26,26,26,.08);
}
.wapu-perf-pyr__note-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--wapu-perf-pyr-ink-2);
	flex: 0 0 auto;
}

@media (max-width: 560px) {
	.wapu-perf-pyr {
		padding: 20px;
		border-radius: 16px;
	}
}
