/* Candy AI Shorts Guide: stili del front end. Rivista retro chiara: paper, plum, magenta, lilla e
   rosa; titoli in Fraunces Soft, testo in Plus Jakarta Sans. Mobile first (375px). */

/* ------------------------------------------------------------------ Token */
:root {
	--paper: var(--wp--preset--color--paper, #FFF0F5);
	--surface: var(--wp--preset--color--surface, #FFFFFF);
	--blush: var(--wp--preset--color--blush, #FFE1EE);
	--lilac: var(--wp--preset--color--lilac, #EADCFF);
	--gum: var(--wp--preset--color--gum, #FFB3D9);
	--plum: var(--wp--preset--color--plum, #3A0B3E);
	--muted: var(--wp--preset--color--muted, #6E4A70);
	--magenta: var(--wp--preset--color--magenta, #9B1B8E);
	--magenta-deep: var(--wp--preset--color--magenta-deep, #7E1474);
	--display: var(--wp--preset--font-family--display, Georgia, serif);
	--sans: var(--wp--preset--font-family--sans, system-ui, sans-serif);
	--dash: rgba(58, 11, 62, 0.28);
	--rule: 2px solid var(--plum);
	--radius: 18px;
	--radius-lg: 26px;
	--gutter: 16px;
	--header-h: 62px;
	--stripes: repeating-linear-gradient(-45deg, var(--blush) 0 14px, var(--paper) 14px 28px);
	--rays: repeating-conic-gradient(from 0deg, var(--gum) 0 11.25deg, var(--lilac) 11.25deg 22.5deg);
	--arch: 50% 50% 14px 14px / 35% 35% 14px 14px;
}

/* ------------------------------------------------------------------ Base */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + 16px); }

body {
	margin: 0;
	background: var(--paper);
	color: var(--plum);
	font-family: var(--sans);
	font-size: var(--wp--preset--font-size--base, 1.0625rem);
	line-height: 1.7;
	text-rendering: optimizeLegibility;
}

img, video, svg { max-width: 100%; }
img { height: auto; }

a { color: var(--magenta); text-decoration-thickness: 2px; text-underline-offset: 3px; }
a:hover { color: var(--plum); }
:focus-visible { outline: 3px solid var(--magenta); outline-offset: 2px; border-radius: 6px; }

h1, h2, h3, h4 { font-family: var(--display); color: var(--plum); font-weight: 800; line-height: 1.08; letter-spacing: -0.01em; text-wrap: balance; }

.mag-sr {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.mag-skip {
	position: absolute; left: 12px; top: -60px; z-index: 2000;
	background: var(--plum); color: var(--paper);
	padding: 10px 16px; border-radius: 999px; font-weight: 800; text-decoration: none;
}
.mag-skip:focus { top: 12px; color: var(--paper); }

/* ------------------------------------------------------------------ Layout */
.mag-shell { width: 100%; max-width: 1200px; margin-inline: auto; padding-inline: var(--gutter); }

/* I gruppi di WordPress mettono margin-block-start tra i figli: la spaziatura la decidiamo qui. */
.wp-site-blocks > * { margin-block: 0; }
.wp-site-blocks .mag-main > *,
.wp-site-blocks .mag-layout > *,
.wp-site-blocks .mag-article > *,
.wp-site-blocks .mag-home > *,
.wp-site-blocks .mag-prose > *,
.wp-site-blocks .mag-intro > * { margin-block: 0; }

.mag-layout { display: grid; gap: 40px; padding-block: 36px 64px; }
.wp-site-blocks .mag-article > * + * { margin-block-start: 36px; }
.mag-article { min-width: 0; }
.mag-layout--single .mag-article { width: 100%; max-width: 760px; margin-inline: auto; }
.mag-narrow { max-width: 820px; padding-block: 36px 64px; }

.mag-home { padding-top: 36px; }
.wp-site-blocks .mag-home > * + * { margin-block-start: 52px; }
.mag-home + .mag-layout { padding-top: 52px; }

/* ------------------------------------------------------------------ Titoli di sezione */
.mag-section-kicker {
	display: flex; align-items: center; gap: 10px;
	margin: 0 0 6px;
	font: 800 0.72rem/1.2 var(--sans);
	letter-spacing: 0.2em; text-transform: uppercase;
	color: var(--magenta);
}
.mag-section-kicker::before { content: ""; width: 26px; height: 2px; background: var(--plum); }

.mag-drops, .mag-guides, .mag-planner, .mag-map, .mag-top, .mag-related, .mag-faq, .mag-legend, .mag-creator-series {
	border-top: var(--rule);
	padding-top: 18px;
}
.mag-drops h2, .mag-guides h2, .mag-top h2, .mag-related h2, .mag-faq h2, .mag-legend h2,
.mag-creator-series h2, .mag-planner h2, .mag-map h2, .mag-cost h2 {
	margin: 0 0 18px;
	font-size: var(--wp--preset--font-size--x-large);
}

/* ------------------------------------------------------------------ Testata */
.mag-header {
	position: sticky; top: 0; z-index: 60;
	background: var(--paper);
	border-bottom: var(--rule);
}
.mag-masthead {
	display: flex; align-items: center; gap: 10px;
	min-height: var(--header-h);
}
.mag-masthead .mag-wordmark { margin-right: auto; }

.mag-wordmark {
	display: inline-flex; align-items: center; gap: 8px;
	color: var(--plum); text-decoration: none;
	min-width: 0;
}
.mag-wordmark:hover { color: var(--plum); }
.mag-mark { width: 36px; height: 36px; flex: none; }
.mag-wordmark__text { display: flex; flex-direction: column; min-width: 0; }
.mag-wordmark__main {
	font: italic 900 1.12rem/1 var(--display);
	letter-spacing: -0.01em;
	white-space: nowrap;
}
.mag-wordmark__sub {
	display: flex; align-items: center; gap: 6px;
	margin-top: 3px;
	font: 800 0.6rem/1 var(--sans);
	letter-spacing: 0.34em; text-transform: uppercase;
	color: var(--magenta);
}
.mag-wordmark__sub::after { content: ""; flex: 1; height: 2px; background: var(--magenta); min-width: 14px; }

.mag-nav-toggle {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	height: 40px; min-width: 40px; padding: 0 10px;
	border: var(--rule); border-radius: 999px;
	background: var(--surface); color: var(--plum);
	font: 800 0.85rem/1 var(--sans); cursor: pointer;
}
.mag-nav-toggle .mag-icon { width: 20px; height: 20px; }
.mag-nav-toggle__label { display: none; }

.mag-icon { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }

/* Menu della testata: solo da 1024px. */
.mag-mainnav { display: none; }
.mag-mainnav__list { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.mag-mainnav__link {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 8px 14px; border-radius: 999px;
	font: 800 0.8rem/1 var(--sans); letter-spacing: 0.1em; text-transform: uppercase;
	color: var(--plum); text-decoration: none; cursor: pointer;
}
.mag-mainnav__link:hover { color: var(--magenta); }
.mag-mainnav__link.is-active { background: var(--lilac); }
.mag-mainnav__more { position: relative; }
.mag-dropdown > summary { list-style: none; }
.mag-dropdown > summary::-webkit-details-marker { display: none; }
.mag-dropdown > summary::after {
	content: ""; width: 7px; height: 7px; margin-top: -3px;
	border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
}
.mag-dropdown[open] > summary { background: var(--lilac); }
.mag-dropdown[open] > summary::after { transform: rotate(225deg); margin-top: 3px; }
.mag-dropdown__panel {
	position: absolute; top: calc(100% + 12px); left: 50%; transform: translateX(-50%);
	display: grid; grid-template-columns: 1.3fr 1fr; gap: 24px;
	width: 520px; padding: 20px 22px;
	background: var(--paper); border: var(--rule); border-radius: var(--radius-lg);
	box-shadow: 0 22px 44px -22px rgba(58, 11, 62, 0.5);
}
.mag-dropdown__title { margin: 0 0 6px; font: 800 0.7rem/1.2 var(--sans); letter-spacing: 0.2em; text-transform: uppercase; color: var(--magenta); }

/* Voci di menu stile sommario. */
.mag-toc { margin: 0; padding: 0; list-style: none; }
.mag-toc__item {
	display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
	padding: 9px 0;
	border-bottom: 1px dashed var(--dash);
	color: var(--plum); text-decoration: none;
	font: 600 0.98rem/1.3 var(--sans);
}
.mag-toc__item:hover, .mag-toc__item.is-active { color: var(--magenta); }
.mag-toc__meta { font: 800 0.75rem/1 var(--sans); letter-spacing: 0.06em; color: var(--muted); white-space: nowrap; }
.mag-toc--big .mag-toc__item { font: italic 800 1.45rem/1.15 var(--display); padding: 11px 0; }
.mag-toc--numbered .mag-toc__item { flex-direction: row-reverse; justify-content: flex-end; }
.mag-toc--numbered .mag-toc__meta { min-width: 24px; color: var(--magenta); }

/* Menu a tutto schermo sotto 1024px. */
.mag-scrim { display: none; }
.mag-menu {
	position: fixed; inset: 0; z-index: 900;
	display: flex; flex-direction: column; gap: 4px;
	padding: 0 var(--gutter) 32px;
	background: var(--lilac);
	overflow-y: auto; overscroll-behavior: contain;
	visibility: hidden; opacity: 0; transform: translateY(-14px);
}
.mag-motion .mag-menu { transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s; }
.mag-nav-open .mag-menu { visibility: visible; opacity: 1; transform: none; transition-delay: 0s; }
.mag-nav-open body { overflow: hidden; }
.mag-menu__top {
	position: sticky; top: 0; z-index: 1;
	display: flex; align-items: center; justify-content: space-between;
	min-height: var(--header-h);
	margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter);
	background: var(--lilac); border-bottom: var(--rule);
}
.mag-menu__close {
	display: inline-grid; place-items: center;
	width: 40px; height: 40px;
	border: var(--rule); border-radius: 50%;
	background: var(--surface); color: var(--plum); cursor: pointer;
}
.mag-menu__close .mag-icon { width: 20px; height: 20px; }
.mag-menu__nav { padding-top: 8px; }
.mag-menu__heading {
	margin: 26px 0 2px; padding-top: 12px;
	border-top: var(--rule);
	font: 800 0.72rem/1.2 var(--sans); letter-spacing: 0.2em; text-transform: uppercase;
	color: var(--magenta-deep);
}
.mag-menu__cta { margin-top: 26px; padding: 18px; background: var(--paper); border: var(--rule); border-radius: var(--radius-lg); }
.mag-menu__legal, .mag-menu__legal a { font-size: 0.85rem; color: var(--plum); }
.mag-menu__legal { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 20px 0 0; }

/* ------------------------------------------------------------------ Bottoni */
.mag-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 11px 22px;
	border: var(--rule); border-radius: 999px;
	background: var(--surface); color: var(--plum);
	font: 800 0.95rem/1.15 var(--sans); letter-spacing: 0.01em;
	text-align: center; text-decoration: none; cursor: pointer;
}
.mag-btn:hover { background: var(--lilac); color: var(--plum); }
.mag-btn--cta { background: var(--magenta); color: #FFFFFF; }
.mag-btn--cta:hover { background: var(--magenta-deep); color: #FFFFFF; }
.mag-motion .mag-btn { transition: background-color 0.15s ease, transform 0.15s ease; }
.mag-motion .mag-btn:active { transform: translateY(1px); }
.mag-btn .mag-icon { width: 18px; height: 18px; fill: currentColor; stroke: none; }
.mag-btn--ghost { background: transparent; }
.mag-btn--block { display: flex; width: 100%; }
.mag-btn--header { min-height: 40px; padding: 7px 14px; background: var(--magenta); color: #FFFFFF; font-size: 0.85rem; white-space: nowrap; }
.mag-btn--header:hover { background: var(--magenta-deep); color: #FFFFFF; }

.mag-lbl-long, .mag-btn__long { display: none; }
.mag-btn__pre { display: none; }
.mag-btn__on { display: inline; }

.mag-disclose {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 2px 4px;
	flex-basis: 100%;
	margin-top: 4px;
	font: 600 0.75rem/1.4 var(--sans); letter-spacing: 0.02em;
	color: var(--muted);
}

/* ------------------------------------------------------------------ Hero */
.mag-hero {
	position: relative;
	background: var(--stripes);
	border-bottom: var(--rule);
	margin-bottom: 8px;
}
.mag-hero::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -8px;
	border-bottom: var(--rule);
}
.mag-hero__inner {
	position: relative; z-index: 1;
	display: grid; gap: 22px;
	width: 100%; max-width: 1200px; margin-inline: auto;
	padding: 18px var(--gutter) 28px;
}
.mag-hero__body { min-width: 0; }

.mag-breadcrumbs ol { display: flex; flex-wrap: wrap; margin: 0 0 12px; padding: 0; list-style: none; font: 700 0.8rem/1.4 var(--sans); }
.mag-breadcrumbs li + li::before { content: "/"; margin: 0 7px; color: var(--muted); }
.mag-breadcrumbs a { color: var(--muted); text-decoration: none; }
.mag-breadcrumbs a:hover { color: var(--magenta); text-decoration: underline; }

.mag-kicker {
	display: inline-block;
	margin: 0 0 12px; padding: 6px 10px;
	border-radius: 6px;
	background: var(--plum); color: var(--paper);
	font: 800 0.7rem/1.2 var(--sans); letter-spacing: 0.18em; text-transform: uppercase;
}
.mag-hero__title {
	margin: 0 0 12px;
	font-size: var(--wp--preset--font-size--xx-large);
	font-weight: 900; line-height: 1.02; letter-spacing: -0.015em;
}
.mag-byline {
	display: flex; flex-wrap: wrap; gap: 4px 12px;
	margin: 0 0 14px;
	font: 600 0.85rem/1.4 var(--sans); color: var(--muted);
}
.mag-byline b { color: var(--plum); font-weight: 800; }
.mag-byline span + span::before { content: "✦"; margin-right: 12px; color: var(--magenta); }

.mag-hero .mag-quick-answer { margin: 0; max-width: 64ch; font-size: 1.04rem; line-height: 1.65; }
.mag-quick-answer.is-clamped { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.mag-qa-more {
	margin-top: 6px; padding: 0; border: 0; background: none;
	font: 800 0.9rem/1.4 var(--sans); color: var(--magenta);
	text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; cursor: pointer;
}
.mag-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin: 18px 0 0; }
.mag-hero__actions .mag-btn--cta { flex: 1 1 auto; }
.mag-hero__actions .mag-btn--ghost { flex: 1 1 auto; }
.mag-hero .mag-lbl-long { display: inline; }
.mag-hero .mag-lbl-short { display: none; }
.mag-hero__chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; padding: 0; list-style: none; }
.mag-hero__chips li {
	padding: 4px 10px; border: var(--rule); border-radius: 999px;
	background: var(--surface);
	font: 700 0.8rem/1.3 var(--sans);
}

/* Poster ad arco, singoli o in terzetto, con la raggiera dietro. */
.mag-arch {
	display: block; position: relative; overflow: hidden;
	aspect-ratio: 7 / 10;
	border: var(--rule); border-radius: var(--arch);
	background: var(--lilac);
}
.mag-arch img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* Tre poster su un sole che sorge: mezzo disco a raggi appoggiato sulla linea di base. */
.mag-arches {
	position: relative;
	display: flex; align-items: flex-end; justify-content: center;
	width: min(100%, 330px); margin-inline: auto; padding: 0 6px;
	border-bottom: var(--rule);
	isolation: isolate;
}
.mag-arches::before {
	content: ""; position: absolute; z-index: -1;
	left: 0; right: 0; bottom: 0; aspect-ratio: 2 / 1;
	border: var(--rule); border-bottom: 0; border-radius: 999px 999px 0 0;
	background: repeating-conic-gradient(from -90deg at 50% 100%, var(--gum) 0 9deg, var(--lilac) 9deg 18deg);
}
.mag-arches .mag-arch { border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-bottom: 0; }
.mag-arches .mag-arch { width: 30%; }
.mag-arches .mag-arch.is-lead { width: 40%; z-index: 2; margin-inline: -4%; }
.mag-arches--1 .mag-arch.is-lead { width: 46%; margin: 0; }

/* Variante copertina (home e guide con immagine): bicromia plum e magenta, testo chiaro. */
.mag-hero--cover { background: var(--plum); color: #FFFFFF; }
.mag-hero__media { position: absolute; inset: 0; overflow: hidden; background: var(--magenta); }
.mag-hero__img {
	width: 100%; height: 100%; object-fit: cover;
	object-position: var(--mag-hero-pos, 50% 30%);
	filter: grayscale(1) contrast(1.08);
	mix-blend-mode: multiply;
}
.mag-hero__media::after {
	content: ""; position: absolute; inset: 0;
	background: rgba(58, 11, 62, 0.8);
}
.mag-hero--cover .mag-hero__inner { padding-block: 26px 34px; }
.mag-hero--cover .mag-hero__title, .mag-hero--cover .mag-quick-answer { color: #FFFFFF; }
.mag-hero--cover .mag-kicker { background: var(--gum); color: var(--plum); }
.mag-hero--cover .mag-byline, .mag-hero--cover .mag-byline b, .mag-hero--cover .mag-breadcrumbs a,
.mag-hero--cover .mag-breadcrumbs li + li::before, .mag-hero--cover .mag-disclose { color: var(--blush); }
.mag-hero--cover .mag-byline span + span::before { color: var(--gum); }
.mag-hero--cover .mag-qa-more { color: var(--gum); }
.mag-hero--cover .mag-btn--cta { border-color: #FFFFFF; }
.mag-hero--cover .mag-btn--ghost { color: #FFFFFF; border-color: #FFFFFF; }
.mag-hero--cover .mag-btn--ghost:hover { background: rgba(255, 255, 255, 0.14); color: #FFFFFF; }
.mag-hero--cover .mag-disclose { justify-content: flex-start; }

/* Variante scheda serie: su mobile il poster sta a destra dei dati, sotto il titolo. */
.mag-hero--poster .mag-hero__inner { grid-template-columns: minmax(0, 1fr) 108px; gap: 0 16px; }
.mag-hero--poster .mag-hero__body { display: contents; }
.mag-hero--poster .mag-breadcrumbs, .mag-hero--poster .mag-kicker, .mag-hero--poster .mag-hero__title,
.mag-hero--poster .mag-hero__actions { grid-column: 1 / -1; }
.mag-hero--poster .mag-kicker { justify-self: start; }
.mag-hero--poster .mag-byline { grid-column: 1; flex-direction: column; gap: 0; }
.mag-hero--poster .mag-byline span + span::before { content: none; }
.mag-hero--poster .mag-hero__chips { grid-column: 1; align-self: start; }
.mag-hero--poster .mag-hero__art { grid-column: 2; grid-row: 4 / span 2; align-self: start; }
.mag-hero__poster { position: relative; margin: 0; }
.mag-hero__poster .mag-stamp--hero { position: absolute; right: -10px; top: -12px; }

/* Testate senza immagine (pagine legali). */
.mag-hero--plain .mag-hero__inner { padding-block: 20px 26px; }

/* ------------------------------------------------------------------ Bollino del calore */
.mag-stamp {
	display: inline-grid; place-items: center; align-content: center;
	width: 52px; height: 52px; flex: none;
	border: var(--rule); border-radius: 50%;
	background: var(--rays);
	color: var(--plum); text-align: center;
}
.mag-stamp b { display: block; font: 900 1.45rem/0.85 var(--display); }
.mag-stamp small { display: block; margin-top: 2px; font: 800 0.5rem/1 var(--sans); letter-spacing: 0.14em; text-transform: uppercase; }
.mag-stamp--xs { width: 28px; height: 28px; background: var(--gum); font: 900 0.95rem/1 var(--display); }
.mag-stamp--sm { width: 46px; height: 46px; }
.mag-stamp--hero { width: 62px; height: 62px; }
.mag-stamp--hero b { font-size: 1.8rem; }

/* ------------------------------------------------------------------ Poster in cornice */
.mag-tile {
	display: block; position: relative;
	aspect-ratio: 7 / 10;
	border: var(--rule); border-radius: var(--arch);
	background: var(--lilac);
	overflow: hidden;
}
.mag-tile img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mag-poster-missing { display: block; width: 100%; height: 100%; background: var(--rays); }
.mag-tile__tags { position: absolute; inset: 0; pointer-events: none; }
.mag-tile .mag-stamp { position: absolute; top: 14%; right: 6px; width: 44px; height: 44px; }
.mag-tile .mag-stamp b { font-size: 1.25rem; }
.mag-tile__label {
	position: absolute; left: 8px; bottom: 8px;
	padding: 4px 9px; border-radius: 999px;
	background: var(--plum); color: var(--paper);
	font: 800 0.68rem/1.2 var(--sans); letter-spacing: 0.08em; text-transform: uppercase;
}
.mag-tile__label.is-spicy { background: var(--magenta); color: #FFFFFF; border: 2px solid var(--paper); }

/* ------------------------------------------------------------------ Card del catalogo */
.mag-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.mag-card {
	display: flex; flex-direction: column;
	padding: 8px 8px 12px;
	background: var(--surface);
	border: var(--rule); border-radius: 22px;
}
.mag-card__poster { display: block; }
.mag-card__body { padding: 10px 4px 0; }
.mag-card__title { margin: 0 0 4px; font: 800 0.98rem/1.25 var(--sans); letter-spacing: 0; }
.mag-card__title a { color: var(--plum); text-decoration: none; }
.mag-card__title a:hover { color: var(--magenta); text-decoration: underline; }
.mag-card__facts { margin: 0; font: 600 0.8rem/1.4 var(--sans); color: var(--muted); }
.mag-card__teaser {
	margin: 8px 0 0; font-size: 0.88rem; line-height: 1.5;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.mag-motion .mag-card { transition: transform 0.18s ease, box-shadow 0.18s ease; }
.mag-card:hover { transform: translateY(-3px); box-shadow: 0 16px 30px -20px rgba(58, 11, 62, 0.55); }

/* Card piccole (correlati, classifica in home). */
.mag-mini-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.mag-mini__link { display: block; color: var(--plum); text-decoration: none; }
.mag-mini__title { margin: 8px 0 0; font: 800 0.86rem/1.25 var(--sans); letter-spacing: 0; color: var(--plum); }
.mag-mini__link:hover .mag-mini__title { color: var(--magenta); text-decoration: underline; }
.mag-mini .mag-stamp { width: 34px; height: 34px; top: 16%; right: 4px; }
.mag-mini .mag-stamp b { font-size: 1rem; }
.mag-mini .mag-stamp small { display: none; }
.mag-mini .mag-tile__label { left: 5px; bottom: 5px; padding: 3px 6px; font-size: 0.6rem; }
.mag-more { margin: 16px 0 0; text-align: right; }
.mag-more a { font: 800 0.95rem/1.4 var(--sans); }
.mag-more a::after { content: " →"; }

/* ------------------------------------------------------------------ Home: uscite, guide, finder */
.mag-drops__head p { margin: -8px 0 16px; color: var(--muted); font-size: 0.95rem; }
.mag-drops__list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }

.mag-pick {
	display: grid; grid-template-columns: 58px minmax(0, 1fr); align-items: center; gap: 12px;
	padding: 8px 12px 8px 8px;
	background: var(--surface); border: var(--rule); border-radius: var(--radius);
	color: var(--plum); text-decoration: none;
}
.mag-pick:hover { background: var(--lilac); color: var(--plum); }
.mag-pick__poster { display: block; width: 58px; aspect-ratio: 7 / 10; object-fit: cover; border-radius: 10px; border: 2px solid var(--plum); background: var(--lilac); }
.mag-pick__body { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; }
.mag-pick__badge { padding: 2px 8px; border-radius: 999px; background: var(--magenta); color: #FFFFFF; font: 800 0.66rem/1.4 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; }
.mag-pick__title { font: 800 0.95rem/1.25 var(--sans); }
.mag-pick__meta { font: 600 0.8rem/1.3 var(--sans); color: var(--muted); }

.mag-guides__list { display: grid; margin: 0; padding: 0; list-style: none; border-bottom: 1px dashed var(--dash); }
.mag-guides__list a {
	display: grid; grid-template-columns: 46px minmax(0, 1fr); column-gap: 10px;
	padding: 14px 0; border-top: 1px dashed var(--dash);
	color: var(--plum); text-decoration: none;
}
.mag-guides__list li:first-child a { border-top: 0; }
.mag-guides__num { grid-row: span 2; font: italic 900 1.9rem/1 var(--display); color: var(--magenta); }
.mag-guides__title { font: 800 1.2rem/1.2 var(--display); }
.mag-guides__text { margin-top: 3px; font-size: 0.9rem; line-height: 1.5; color: var(--muted); }
.mag-guides__list a:hover .mag-guides__title { color: var(--magenta); text-decoration: underline; }

/* Token Planner: comandi a sinistra, scontrino a destra (sotto, su mobile). */
.mag-planner__intro { margin: -8px 0 18px; color: var(--muted); font-size: 0.95rem; max-width: 60ch; }
.mag-planner__grid { display: grid; gap: 16px; }
.mag-planner__controls {
	display: grid; gap: 16px; align-content: start;
	padding: 20px 18px;
	background: var(--lilac); border: var(--rule); border-radius: var(--radius-lg);
}
.mag-planner__label { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font: 800 0.95rem/1.3 var(--sans); color: var(--plum); }
.mag-planner__label b {
	display: inline-grid; place-items: center;
	width: 26px; height: 26px; border-radius: 50%;
	background: var(--plum); color: var(--paper);
	font: 900 0.95rem/1 var(--display);
}
.mag-planner__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.mag-planner__chip {
	min-height: 40px; padding: 8px 14px;
	border: var(--rule); border-radius: 999px;
	background: var(--surface); color: var(--plum);
	font: 700 0.88rem/1.2 var(--sans); cursor: pointer;
}
.mag-planner__chip:hover { background: var(--paper); }
.mag-planner__chip[aria-pressed="true"] { background: var(--magenta); color: #FFFFFF; }
.mag-planner__range { display: grid; gap: 6px; }
.mag-planner__range output { font: 800 0.9rem/1.3 var(--sans); }
.mag-planner__step.is-off { opacity: 0.55; }
.mag-planner input[type="range"] {
	-webkit-appearance: none; appearance: none;
	width: 100%; height: 28px; margin: 0; background: transparent; cursor: pointer;
}
.mag-planner input[type="range"]:disabled { cursor: not-allowed; }
.mag-planner input[type="range"]::-webkit-slider-runnable-track { height: 10px; border: 2px solid var(--plum); border-radius: 999px; background: var(--surface); }
.mag-planner input[type="range"]::-moz-range-track { height: 6px; border: 2px solid var(--plum); border-radius: 999px; background: var(--surface); }
.mag-planner input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none; appearance: none;
	width: 26px; height: 26px; margin-top: -10px;
	border: 2px solid var(--plum); border-radius: 50%; background: var(--gum);
}
.mag-planner input[type="range"]::-moz-range-thumb { width: 22px; height: 22px; border: 2px solid var(--plum); border-radius: 50%; background: var(--gum); }

.mag-planner__receipt {
	position: relative;
	padding: 20px 18px 18px;
	background: var(--surface);
	border: 2px dashed var(--plum); border-radius: 6px 6px var(--radius-lg) var(--radius-lg);
	font-variant-numeric: tabular-nums;
}
.mag-planner__total { display: flex; align-items: baseline; gap: 10px; margin: 0 0 12px; padding-bottom: 12px; border-bottom: var(--rule); }
.mag-planner__total b { font: italic 900 3rem/0.9 var(--display); color: var(--magenta); }
.mag-planner__total span { font: italic 800 1.15rem/1.2 var(--display); }
.mag-planner__lines { margin: 0; padding: 0; list-style: none; }
.mag-planner__lines a {
	display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 10px;
	padding: 7px 0; border-bottom: 1px dashed var(--dash);
	color: var(--plum); text-decoration: none;
}
.mag-planner__lines a:hover .mag-planner__name { color: var(--magenta); text-decoration: underline; }
.mag-planner__lines img, .mag-planner__noimg { display: block; width: 36px; height: 51px; object-fit: cover; border: 2px solid var(--plum); border-radius: 14px 14px 4px 4px; background: var(--lilac); }
.mag-planner__name { display: flex; flex-direction: column; min-width: 0; font: 800 0.9rem/1.25 var(--sans); }
.mag-planner__name small { font: 600 0.75rem/1.3 var(--sans); color: var(--muted); }
.mag-planner__tokens { font: 900 1.15rem/1 var(--display); }
.mag-planner__tokens::after { content: " tk"; font: 700 0.7rem/1 var(--sans); color: var(--muted); }
.mag-planner__more { margin: 8px 0 0; font: 700 0.85rem/1.3 var(--sans); color: var(--muted); }
.mag-planner__sum { display: grid; gap: 4px; margin: 14px 0 0; padding-top: 12px; border-top: var(--rule); }
.mag-planner__sum div { display: flex; justify-content: space-between; gap: 12px; font: 700 0.9rem/1.4 var(--sans); }
.mag-planner__sum dt { color: var(--muted); }
.mag-planner__sum dd { margin: 0; font-weight: 800; }
.mag-planner__note { margin: 12px 0 0; font-size: 0.85rem; line-height: 1.5; color: var(--muted); }
.mag-planner__note a { font-weight: 800; }

/* Mappa del calore: trame per riga, livelli per colonna, poster nelle caselle. */
.mag-map__intro { margin: -8px 0 16px; color: var(--muted); font-size: 0.95rem; }
.mag-map__wrap { border: var(--rule); border-radius: var(--radius-lg); overflow: hidden; background: var(--surface); }
.mag-map__table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.mag-map__table th, .mag-map__table td { padding: 8px 6px; vertical-align: top; border-bottom: 1px dashed var(--dash); }
.mag-map__table tr:last-child th, .mag-map__table tr:last-child td { border-bottom: 0; }
.mag-map__table thead th { padding: 10px 6px; background: var(--lilac); border-bottom: var(--rule); text-align: center; vertical-align: middle; }
.mag-map__table thead th:first-child { width: 86px; }
.mag-map__table thead .mag-stamp { margin: 0 auto; }
.mag-map__level { display: block; margin-top: 4px; font: italic 800 0.85rem/1.1 var(--display); }
.mag-map__table tbody th { text-align: left; background: var(--paper); border-right: var(--rule); }
.mag-map__plot { display: block; font: italic 800 0.95rem/1.15 var(--display); }
.mag-map__count { display: block; margin-top: 2px; font: 700 0.72rem/1.2 var(--sans); color: var(--muted); }
.mag-map__table td + td { border-left: 1px dashed var(--dash); }
.mag-map__table ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.mag-map__table li a { display: block; border-radius: 12px 12px 3px 3px; }
.mag-map__table img, .mag-map__noimg {
	display: block; width: 30px; height: 43px; object-fit: cover;
	border: 2px solid var(--plum); border-radius: 12px 12px 3px 3px; background: var(--lilac);
}
.mag-motion .mag-map__table img { transition: transform 0.15s ease; }
.mag-map__table a:hover img, .mag-map__table a:focus-visible img { transform: translateY(-3px) scale(1.06); border-color: var(--magenta); }
.mag-map__empty { display: block; text-align: center; color: var(--dash); font-weight: 800; }
.mag-map + .mag-card-grid { margin-top: 40px; }

/* ------------------------------------------------------------------ Articolo */
.wp-site-blocks .mag-article > .mag-quick-answer {
	position: relative;
	margin-block-end: 0;
	padding: 18px 20px;
	background: var(--lilac);
	border: var(--rule); border-radius: var(--radius-lg);
	font-size: 1.04rem; line-height: 1.65;
}
.mag-article > .mag-quick-answer::before {
	content: "Quick answer";
	display: block; margin-bottom: 6px;
	font: 800 0.7rem/1.2 var(--sans); letter-spacing: 0.2em; text-transform: uppercase;
	color: var(--magenta-deep);
}

.mag-prose { font-size: 1.0625rem; line-height: 1.78; }
.mag-prose p { margin: 0 0 1.15em; }
.mag-prose .wp-block-post-content > p:first-child::first-letter {
	float: left;
	margin: 0.06em 0.1em 0 0;
	font: italic 900 3.5em/0.8 var(--display);
	color: var(--magenta);
}
.mag-prose h2 {
	position: relative;
	margin: 1.9em 0 0.6em; padding-top: 16px;
	font-size: var(--wp--preset--font-size--x-large);
}
.mag-prose h2::before { content: ""; position: absolute; left: 0; top: 0; width: 44px; height: 4px; border-radius: 4px; background: var(--magenta); }
.mag-prose h3 { margin: 1.6em 0 0.4em; font-size: var(--wp--preset--font-size--large); font-style: italic; font-weight: 800; }
.mag-prose .wp-block-post-content > :first-child { margin-top: 0; }
.mag-prose strong { font-weight: 800; }
.mag-prose ul { margin: 0 0 1.2em; padding: 0; list-style: none; }
.mag-prose ul li { position: relative; margin: 0.45em 0; padding-left: 1.5em; }
.mag-prose ul li::before { content: "✦"; position: absolute; left: 0; top: 0.05em; color: var(--magenta); font-size: 0.95em; }
.mag-prose ol { margin: 0 0 1.2em; padding-left: 1.4em; }
.mag-prose ol li { margin: 0.45em 0; padding-left: 0.3em; }
.mag-prose ol li::marker { color: var(--magenta); font-family: var(--display); font-weight: 900; }
.mag-prose blockquote { margin: 1.4em 0; padding: 2px 0 2px 18px; border-left: 4px solid var(--gum); font: italic 700 1.25rem/1.45 var(--display); }
.mag-prose figure { margin: 1.4em 0; }
.mag-prose .wp-block-table { overflow-x: auto; }
.mag-prose table {
	width: 100%; border-collapse: separate; border-spacing: 0;
	border: var(--rule); border-radius: var(--radius);
	overflow: hidden; font-size: 0.94rem; line-height: 1.5;
}
.mag-prose th { padding: 10px 12px; background: var(--plum); color: var(--paper); text-align: left; font: 800 0.85rem/1.3 var(--sans); }
.mag-prose td { padding: 10px 12px; border-top: 1px dashed var(--dash); vertical-align: top; background: var(--surface); }
.mag-prose tr:nth-child(even) td { background: var(--blush); }

/* CTA dentro e in fondo al testo. */
.mag-cta { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.mag-prose .mag-cta { margin: 2em 0; padding: 20px 16px; background: var(--blush); border: 2px dashed var(--plum); border-radius: var(--radius-lg); }
.mag-cta--end { padding: 24px 16px; background: var(--lilac); border: var(--rule); border-radius: var(--radius-lg); }
.mag-cta .mag-btn { width: 100%; max-width: 420px; }

.mag-note {
	margin: 0; padding-top: 14px;
	border-top: 1px dashed var(--dash);
	font-size: 0.85rem; line-height: 1.55; color: var(--muted);
}

/* ------------------------------------------------------------------ Scheda: dati, calore, costo */
.mag-panel {
	padding: 18px;
	background: var(--surface);
	border: var(--rule); border-radius: var(--radius-lg);
}
.mag-panel__kicker { margin: 0 0 10px; font: 800 0.7rem/1.2 var(--sans); letter-spacing: 0.2em; text-transform: uppercase; color: var(--magenta-deep); }
.mag-heat { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding-bottom: 12px; border-bottom: var(--rule); }
.mag-heat__label { font: 800 0.75rem/1 var(--sans); letter-spacing: 0.16em; text-transform: uppercase; }
.mag-heat__dots { display: inline-flex; gap: 5px; }
.mag-heat__dots i { width: 15px; height: 15px; border-radius: 50%; border: 2px solid var(--plum); background: var(--surface); }
.mag-heat__dots i.on { background: var(--magenta); }
.mag-heat__value { font: 600 0.95rem/1 var(--sans); }
.mag-heat__value strong { font: 900 1.35rem/1 var(--display); }
.mag-heat__word { font: italic 800 1.05rem/1 var(--display); color: var(--magenta-deep); }
.mag-heat--compact { padding: 0; border: 0; }

.mag-facts { display: grid; margin: 0; }
.mag-facts > div { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 10px; padding: 9px 0; border-bottom: 1px dashed var(--dash); }
.mag-facts dt { font: 800 0.72rem/1.6 var(--sans); letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.mag-facts dd { margin: 0; font: 600 0.95rem/1.5 var(--sans); }
.mag-panel__cta { display: flex; flex-direction: column; align-items: stretch; gap: 4px; margin: 16px 0 0; }
.mag-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 0; padding: 0; list-style: none; }
.mag-chip { padding: 3px 10px; border: 2px solid var(--plum); border-radius: 999px; font: 700 0.78rem/1.4 var(--sans); background: var(--paper); }
.mag-chip.is-badge { background: var(--gum); }
.mag-panel__checked { margin: 12px 0 0; font-size: 0.8rem; color: var(--muted); }

.mag-cost { padding: 20px 18px; background: var(--paper); border: 2px dashed var(--plum); border-radius: var(--radius-lg); }
.mag-cost__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.mag-cost__cell { display: flex; flex-direction: column; gap: 4px; padding: 12px 8px; background: var(--surface); border: var(--rule); border-radius: var(--radius); text-align: center; }
.mag-cost__cell b { font: 900 1.9rem/1 var(--display); }
.mag-cost__cell span { font: 700 0.75rem/1.3 var(--sans); color: var(--muted); }
.mag-cost__cell.is-total { background: var(--gum); }
.mag-cost__cell.is-total span { color: var(--plum); }
.mag-cost__note { margin: 14px 0 0; font-size: 0.92rem; line-height: 1.6; }

/* ------------------------------------------------------------------ FAQ */
.mag-faq__list { border-bottom: var(--rule); }
.mag-faq__item { border-top: 1px dashed var(--dash); }
.mag-faq__item:first-child { border-top: 0; }
.mag-faq__item summary {
	display: flex; align-items: center; justify-content: space-between; gap: 14px;
	padding: 15px 0; list-style: none; cursor: pointer;
}
.mag-faq__item summary::-webkit-details-marker { display: none; }
.mag-faq__q { margin: 0; font: italic 800 1.14rem/1.3 var(--display); }
.mag-faq__icon {
	position: relative; flex: none;
	width: 30px; height: 30px;
	border: var(--rule); border-radius: 50%; background: var(--surface);
}
.mag-faq__icon::before, .mag-faq__icon::after {
	content: ""; position: absolute; left: 50%; top: 50%;
	width: 12px; height: 2px; margin: -1px 0 0 -6px;
	background: var(--plum);
}
.mag-faq__icon::after { transform: rotate(90deg); }
.mag-faq__item[open] .mag-faq__icon { background: var(--gum); }
.mag-faq__item[open] .mag-faq__icon::after { transform: none; }
.mag-faq__a p { margin: 0 0 16px; }

/* ------------------------------------------------------------------ Legenda, correlati, creator */
.mag-legend__list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.mag-legend__list li { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 14px; align-items: center; }
.mag-legend__list p { margin: 0; font-size: 0.92rem; line-height: 1.5; }
.mag-legend__list .mag-legend__name { font: italic 800 1.15rem/1.2 var(--display); }
.mag-hub-listing, .mag-card-grid + .mag-legend { margin-top: 40px; }

.mag-intro { display: grid; justify-items: center; gap: 16px; }
.mag-portrait { width: min(100%, 300px); margin: 0; }
.mag-portrait video, .mag-portrait img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border: var(--rule); border-radius: var(--arch); background: var(--lilac); }
.mag-portrait figcaption { margin-top: 8px; text-align: center; font-size: 0.8rem; color: var(--muted); }
.mag-creator-series__cta { display: flex; flex-direction: column; align-items: stretch; gap: 4px; margin: 0; }
.mag-creator-series__cta.is-section { display: none; }
.mag-card-grid--creator { margin-top: 0; }

.mag-creator-grid { display: grid; gap: 18px; }
.mag-creator-card { display: flex; flex-direction: column; padding: 10px 10px 16px; background: var(--surface); border: var(--rule); border-radius: var(--radius-lg); }
.mag-creator-card__link { color: var(--plum); text-decoration: none; }
.mag-creator-card__media { display: block; overflow: hidden; aspect-ratio: 3 / 4; border: var(--rule); border-radius: var(--arch); background: var(--lilac); }
.mag-creator-card__media img, .mag-creator-card__media video { display: block; width: 100%; height: 100%; object-fit: cover; }
.mag-creator-card h3 { margin: 12px 4px 4px; font-size: var(--wp--preset--font-size--large); }
.mag-creator-card__link:hover h3 { color: var(--magenta); }
.mag-creator-card p { margin: 0 4px 8px; font-size: 0.92rem; line-height: 1.5; }
.mag-creator-card__count { font: 800 0.8rem/1.3 var(--sans); color: var(--muted); }
.mag-creator-card__cta { margin-top: auto !important; }
.mag-creator-card__cta .mag-btn { width: 100%; }

/* ------------------------------------------------------------------ Colonna destra */
.mag-rail { display: none; }
.mag-rail__inner { display: grid; gap: 16px; }
.mag-rail__box { padding: 16px; background: var(--surface); border: var(--rule); border-radius: var(--radius-lg); }
.mag-rail__box.mag-sidecta { background: var(--lilac); }
.mag-rail__title { margin: 0 0 6px; font: 800 0.7rem/1.2 var(--sans); letter-spacing: 0.2em; text-transform: uppercase; color: var(--magenta-deep); }
.mag-rail__list { margin: 0; padding: 0; list-style: none; }
.mag-rail__list a {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	padding: 8px 0; border-bottom: 1px dashed var(--dash);
	font: 700 0.92rem/1.3 var(--sans); color: var(--plum); text-decoration: none;
}
.mag-rail__list li:last-child a { border-bottom: 0; }
.mag-rail__list a:hover { color: var(--magenta); }
.mag-sidecta__text { margin: 0 0 10px; font: italic 800 1.1rem/1.3 var(--display); }

/* ------------------------------------------------------------------ Footer */
.mag-site-footer {
	position: relative;
	margin-top: 8px;
	background: var(--lilac);
	border-top: var(--rule);
}
.mag-site-footer::before { content: ""; position: absolute; left: 0; right: 0; top: -8px; border-top: var(--rule); }
.mag-footer { display: grid; gap: 28px; padding-block: 36px 28px; }
.mag-footer__brand p { margin: 12px 0 0; max-width: 36ch; font-size: 0.92rem; line-height: 1.55; }
.mag-footer__heading { margin: 0 0 8px; font: 800 0.72rem/1.2 var(--sans); letter-spacing: 0.2em; text-transform: uppercase; color: var(--magenta-deep); }
.mag-footer__nav ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.mag-footer__nav a { color: var(--plum); font-weight: 600; text-decoration: none; font-size: 0.95rem; line-height: 1.9; }
.mag-footer__nav a:hover { color: var(--magenta); text-decoration: underline; }
.mag-footer__legal { padding-top: 18px; border-top: var(--rule); font-size: 0.82rem; line-height: 1.6; color: var(--plum); }
.mag-footer__legal p { margin: 0 0 8px; max-width: 90ch; }

/* ------------------------------------------------------------------ Age gate */
.mag-agegate {
	position: fixed; inset: 0; z-index: 2000;
	display: grid; place-items: center;
	padding: var(--gutter);
	background: rgba(58, 11, 62, 0.74);
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.mag-age-ok .mag-agegate { display: none; }
html:not(.mag-age-ok) body { overflow: hidden; }
.mag-agegate__panel {
	width: min(100%, 420px);
	padding: 28px 22px 24px;
	background: var(--paper); border: var(--rule); border-radius: 28px;
	text-align: center;
}
.mag-agegate__stamp {
	display: grid; place-items: center;
	width: 92px; height: 92px; margin: 0 auto 14px;
	border: var(--rule); border-radius: 50%;
	background: var(--rays);
}
.mag-agegate__stamp b { font: 900 1.9rem/1 var(--display); }
.mag-agegate__brand { margin: 0 0 6px; font: 800 0.72rem/1.2 var(--sans); letter-spacing: 0.2em; text-transform: uppercase; color: var(--magenta-deep); }
.mag-agegate__title { margin: 0 0 8px; font: italic 900 1.9rem/1.05 var(--display); }
.mag-agegate__text { margin: 0 0 18px; font-size: 0.95rem; line-height: 1.55; }
.mag-agegate__actions { display: grid; gap: 10px; }

.mag-loop { display: block; width: 100%; }

/* ------------------------------------------------------------------ Breakpoint */
@media (min-width: 420px) {
	.mag-btn__pre { display: inline; }
	.mag-btn__on { display: none; }
	.mag-mark { width: 38px; height: 38px; }
	.mag-wordmark__main { font-size: 1.2rem; }
}

@media (min-width: 480px) {
	.mag-nav-toggle__label { display: inline; }
	.mag-nav-toggle { padding: 0 14px 0 12px; }
	.mag-hero--poster .mag-hero__inner { grid-template-columns: minmax(0, 1fr) 128px; }
}

@media (min-width: 600px) {
	.mag-lbl-long, .mag-btn__long { display: inline; }
	.mag-lbl-short, .mag-btn__short { display: none; }
	.mag-hero__actions .mag-btn--cta, .mag-hero__actions .mag-btn--ghost { flex: 0 1 auto; }
	.mag-hero__actions .mag-disclose { justify-content: flex-start; }
	.mag-drops__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mag-cost__cell b { font-size: 2.3rem; }
}

@media (max-width: 599px) {
	.mag-drops__list li:nth-child(n + 7) { display: none; }
}

@media (min-width: 700px) {
	:root { --gutter: 24px; }
	.mag-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
	.mag-mini-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.mag-map__table th, .mag-map__table td { padding: 10px 10px; }
	.mag-map__table thead th:first-child { width: 130px; }
	.mag-map__table img, .mag-map__noimg { width: 40px; height: 57px; }
	.mag-map__table ul { gap: 6px; }
	.mag-creator-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mag-intro { grid-template-columns: 260px minmax(0, 1fr); justify-items: start; align-items: start; }
	.mag-intro .mag-creator-series__cta.is-intro { display: none; }
	.mag-creator-series__cta.is-section { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-bottom: 18px; }
	.mag-creator-series__cta.is-section .mag-disclose { flex-basis: auto; margin: 0; }
	.mag-footer { grid-template-columns: 1.4fr 1fr 1fr; }
	.mag-footer__legal { grid-column: 1 / -1; }
	.mag-panel { padding: 22px 24px; }
	.mag-panel__cta { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 6px 14px; }
	.mag-panel__cta .mag-disclose { flex-basis: auto; margin: 0; justify-content: flex-start; }
}

@media (min-width: 900px) {
	.mag-hero__inner { grid-template-columns: minmax(0, 1fr) 380px; align-items: center; gap: 40px; padding: 34px var(--gutter) 46px; }
	.mag-hero--plain .mag-hero__inner, .mag-hero--cover .mag-hero__inner { grid-template-columns: minmax(0, 1fr); }
	.mag-hero--cover .mag-hero__inner { min-height: 440px; align-content: center; padding-block: 48px 56px; }
	.mag-hero--cover .mag-hero__body { max-width: 760px; }
	.mag-hero__media::after { background: linear-gradient(90deg, rgba(58, 11, 62, 0.86) 0%, rgba(58, 11, 62, 0.8) 55%, rgba(58, 11, 62, 0.55) 100%); }
	.mag-hero__title { max-width: 22ch; }
	.mag-arches { width: 380px; }
	.mag-hero--poster .mag-hero__inner { grid-template-columns: minmax(0, 1fr) 270px; align-items: center; gap: 0 48px; }
	.mag-hero--poster .mag-hero__body { display: block; }
	.mag-hero--poster .mag-hero__art { grid-column: 2; grid-row: 1; }
	.mag-hero__poster .mag-stamp--hero { width: 84px; height: 84px; right: -18px; top: -14px; }
	.mag-hero__poster .mag-stamp--hero b { font-size: 2.3rem; }
	.mag-planner__grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 24px; align-items: start; }
	.mag-guides__list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 36px; border-bottom: 0; }
	.mag-guides__list li:nth-child(2) a { border-top: 0; }
	.mag-guides__list a { border-top: 1px dashed var(--dash); border-bottom: 0; }
	.mag-drops__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mag-legend__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 32px; }
}

@media (min-width: 1024px) {
	:root { --header-h: 70px; }
	.mag-nav-toggle, .mag-menu, .mag-scrim { display: none; }
	.mag-mainnav { display: block; }
	.mag-masthead { gap: 20px; }
	.mag-masthead .mag-wordmark { margin-right: 0; }
	.mag-masthead .mag-mainnav { margin-inline: auto; }
	.mag-mark { width: 44px; height: 44px; }
	.mag-wordmark__main { font-size: 1.38rem; }
	.mag-wordmark__sub { font-size: 0.66rem; }
	.mag-btn--header { min-height: 44px; padding: 9px 18px; font-size: 0.9rem; }
	.mag-card-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.mag-layout--single .mag-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mag-creator-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.mag-layout--single .mag-creator-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1100px) {
	.mag-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 56px; }
	.mag-layout--single { grid-template-columns: minmax(0, 1fr); }
	.mag-rail { display: block; }
	.mag-rail__inner { position: sticky; top: calc(var(--header-h) + 24px); }
	.mag-layout:not(.mag-layout--single) .mag-mini-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1200px) {
	:root { --gutter: 32px; }
}

/* Con la barra di amministrazione (utenti collegati) testata e menu scendono. */
.admin-bar .mag-header { top: 46px; }
.admin-bar .mag-menu { top: 46px; }
@media (min-width: 783px) {
	.admin-bar .mag-header { top: 32px; }
	.admin-bar .mag-menu { top: 32px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
	.mag-card:hover { transform: none; }
}
