.tas-fluffy {
	--fluffy-ink: #27233a;
	--fluffy-muted: #686178;
	--fluffy-pink: #ff5f9f;
	--fluffy-blue: #4b8dff;
	--fluffy-cream: #fff9f1;
	--fluffy-lilac: #eee7ff;
	--fluffy-border: rgba(54, 42, 83, .12);
	color: var(--fluffy-ink);
}

.tas-fluffy > * + * { margin-top: clamp(2rem, 5vw, 4.5rem); }
.tas-fluffy p, .tas-fluffy li { color: var(--fluffy-muted); }
.tas-fluffy__intro { font-size: clamp(1.08rem, 2vw, 1.24rem); line-height: 1.75; }
.tas-fluffy__eyebrow { margin: 0 0 .45rem; color: #b72567 !important; font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.tas-fluffy__microcopy { margin: .8rem 0 0; font-size: .82rem; }

.tas-fluffy__note,
.tas-fluffy__warning,
.tas-fluffy__legal,
.tas-fluffy__tip {
	padding: 1.1rem 1.25rem;
	border: 1px solid var(--fluffy-border);
	border-radius: 18px;
	background: linear-gradient(135deg, #fffdf8, #f8f2ff);
	box-shadow: 0 12px 35px rgba(65, 48, 100, .06);
}

.tas-fluffy__hero { margin: 2.2rem 0; }
.tas-fluffy__hero img { width: 100%; border-radius: 26px; box-shadow: 0 24px 65px rgba(45, 31, 74, .16); }
.tas-fluffy__hero figcaption, .tas-fluffy__collage figcaption { margin-top: .65rem; color: var(--fluffy-muted); font-size: .82rem; text-align: center; }

.tas-fluffy__download,
.tas-fluffy__wallpaper,
.tas-fluffy__more,
.tas-fluffy__final {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(220px, .65fr);
	gap: clamp(1.4rem, 4vw, 3rem);
	align-items: center;
	padding: clamp(1.4rem, 4vw, 3rem);
	border: 1px solid var(--fluffy-border);
	border-radius: 28px;
	background: linear-gradient(135deg, #fff8f2 0%, #f2edff 48%, #e8f5ff 100%);
	box-shadow: 0 20px 60px rgba(55, 43, 93, .1);
}

.tas-fluffy__download h2, .tas-fluffy__wallpaper h2, .tas-fluffy__more h2, .tas-fluffy__final h2 { margin-top: 0; }
.tas-fluffy__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.2rem; }
.tas-fluffy__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: .82rem 1.2rem;
	border: 2px solid var(--fluffy-ink);
	border-radius: 999px;
	background: var(--fluffy-ink);
	color: #fff !important;
	font-weight: 800;
	line-height: 1.1;
	text-decoration: none !important;
	box-shadow: 0 8px 0 rgba(39, 35, 58, .13);
	transition: transform .18s ease, box-shadow .18s ease;
}
.tas-fluffy__button:hover, .tas-fluffy__button:focus-visible { transform: translateY(-2px); box-shadow: 0 10px 0 rgba(39, 35, 58, .1); }
.tas-fluffy__button--secondary { background: rgba(255,255,255,.68); color: var(--fluffy-ink) !important; }

.tas-fluffy__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; }
.tas-fluffy__stats div { padding: 1rem .5rem; border-radius: 18px; background: rgba(255,255,255,.78); text-align: center; }
.tas-fluffy__stats strong { display: block; font-size: clamp(1.65rem, 4vw, 2.5rem); line-height: 1; }
.tas-fluffy__stats span { display: block; margin-top: .35rem; color: var(--fluffy-muted); font-size: .72rem; font-weight: 700; text-transform: uppercase; }

.tas-fluffy__toc { display: flex; flex-wrap: wrap; gap: .7rem 1rem; align-items: center; padding: 1rem 1.15rem; border: 1px solid var(--fluffy-border); border-radius: 16px; background: #fff; font-size: .9rem; }
.tas-fluffy__toc a { color: #7453a6; font-weight: 700; }

.tas-fluffy__category-grid, .tas-fluffy__recipes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.tas-fluffy__category-grid article, .tas-fluffy__recipes article { padding: 1.2rem; border: 1px solid var(--fluffy-border); border-radius: 20px; background: #fff; box-shadow: 0 12px 32px rgba(65, 48, 100, .06); }
.tas-fluffy__category-grid span { font-size: 1.5rem; }
.tas-fluffy__category-grid h3, .tas-fluffy__recipes h3 { margin: .55rem 0 .4rem; font-size: 1.02rem; }
.tas-fluffy__category-grid p, .tas-fluffy__recipes p { margin: 0; font-size: .9rem; line-height: 1.6; }

.tas-fluffy__filters { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.25rem 0; }
.tas-fluffy__filters button { padding: .62rem .95rem; border: 1px solid var(--fluffy-border); border-radius: 999px; background: #fff; color: var(--fluffy-ink); font: inherit; font-size: .84rem; font-weight: 800; cursor: pointer; }
.tas-fluffy__filters button.is-active { border-color: var(--fluffy-ink); background: var(--fluffy-ink); color: #fff; }

.tas-fluffy__icon-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.tas-fluffy-icon-card { overflow: hidden; border: 1px solid var(--fluffy-border); border-radius: 22px; background: #fff; box-shadow: 0 12px 35px rgba(65, 48, 100, .07); }
.tas-fluffy-icon-card[hidden] { display: none !important; }
.tas-fluffy-icon-card > a { display: block; background: #faf7f2; }
.tas-fluffy-icon-card img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; transition: transform .25s ease; }
.tas-fluffy-icon-card:hover img { transform: scale(1.025); }
.tas-fluffy-icon-card__body { display: flex; align-items: center; justify-content: space-between; gap: .55rem; padding: .75rem .85rem; }
.tas-fluffy-icon-card h3 { margin: 0; font-size: .86rem; line-height: 1.2; }
.tas-fluffy-icon-card__save { color: #a51f5d; font-size: .75rem; font-weight: 800; white-space: nowrap; }

.tas-fluffy__more { grid-template-columns: minmax(0, .85fr) minmax(300px, 1.15fr); }
.tas-fluffy__collage { margin: 0; }
.tas-fluffy__collage img { width: 100%; border-radius: 20px; box-shadow: 0 18px 40px rgba(54, 42, 83, .13); }

.tas-fluffy__steps { margin: 1.4rem 0; padding: 0; list-style: none; counter-reset: fluffy-step; }
.tas-fluffy__steps li { display: grid; grid-template-columns: 52px 1fr; gap: .85rem; align-items: start; margin-bottom: 1rem; counter-increment: fluffy-step; }
.tas-fluffy__steps li::before { content: counter(fluffy-step); display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; background: linear-gradient(135deg, var(--fluffy-pink), #8a6cff); color: #fff; font-weight: 900; }
.tas-fluffy__steps strong, .tas-fluffy__steps span { display: block; }
.tas-fluffy__steps span { margin-top: .25rem; color: var(--fluffy-muted); }

.tas-fluffy__wallpaper { grid-template-columns: minmax(210px, .55fr) minmax(0, 1.45fr); }
.tas-fluffy__phone { max-width: 280px; margin-inline: auto; padding: 8px; border: 4px solid #23202d; border-radius: 38px; background: #23202d; box-shadow: 0 26px 55px rgba(35, 32, 45, .22); }
.tas-fluffy__phone img { display: block; width: 100%; border-radius: 28px; }

.tas-fluffy__faq { border-top: 1px solid var(--fluffy-border); }
.tas-fluffy__faq details { border-bottom: 1px solid var(--fluffy-border); }
.tas-fluffy__faq summary { padding: 1rem .1rem; color: var(--fluffy-ink); font-weight: 800; cursor: pointer; }
.tas-fluffy__faq p { margin: -.2rem 0 1rem; }
.tas-fluffy__legal { font-size: .86rem; }
.tas-fluffy__final { grid-template-columns: 1fr; text-align: center; }
.tas-fluffy__final .tas-fluffy__actions { justify-content: center; }

@media (max-width: 780px) {
	.tas-fluffy__download, .tas-fluffy__more, .tas-fluffy__wallpaper { grid-template-columns: 1fr; }
	.tas-fluffy__category-grid, .tas-fluffy__recipes { grid-template-columns: 1fr; }
	.tas-fluffy__icon-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
	.tas-fluffy__toc { align-items: flex-start; }
	.tas-fluffy__toc strong { width: 100%; }
	.tas-fluffy-icon-card__body { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 420px) {
	.tas-fluffy__download, .tas-fluffy__more, .tas-fluffy__wallpaper, .tas-fluffy__final { padding: 1.15rem; border-radius: 22px; }
	.tas-fluffy__stats { gap: .35rem; }
	.tas-fluffy__stats div { padding: .8rem .25rem; }
	.tas-fluffy__actions { align-items: stretch; flex-direction: column; }
	.tas-fluffy__button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.tas-fluffy *, .tas-fluffy *::before, .tas-fluffy *::after { scroll-behavior: auto !important; transition: none !important; }
}
