/*
Theme Name: Artemagazine
Template: twentytwentyfive
Description: Tema child a blocchi per artemagazine.it. Design "Rivista monumentale".
Version: 0.9.2
Author: Carmelo Brischetto
Text Domain: artemagazine
Requires at least: 6.6
License: GPL-2.0-or-later
*/

:root {
	--am-gutter: clamp(16px, 3.2vw, 40px);
	--am-max: 1240px;
	--am-line: 1px solid var(--wp--preset--color--line);
	--am-serif: var(--wp--preset--font-family--young-serif);
	--am-text: var(--wp--preset--font-family--besley);
	--am-sans: var(--wp--preset--font-family--schibsted);
	--am-red: var(--wp--preset--color--accent);
	--am-ink: var(--wp--preset--color--contrast);
}

/* ---------- Contenitore pagina ---------- */
.am-page {
	max-width: var(--am-max);
	margin-inline: auto;
	background: var(--wp--preset--color--base);
}
.am-pad { padding-inline: var(--am-gutter); }
.am-rule-b { border-bottom: var(--am-line); }
img { height: auto; }
.wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wp-block-post-featured-image { margin: 0; }

/* ---------- Tipografia comune ---------- */
.am-kicker,
.am-kicker a {
	font: 700 10.5px/1.3 var(--am-sans);
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: var(--am-red);
	text-decoration: none;
}
.am-kicker .wp-block-post-terms__separator { color: var(--am-red); }
.am-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 .45em;
	font: 500 12.5px/1.5 var(--am-sans);
	color: var(--wp--preset--color--muted-warm);
}
.am-meta > * { margin: 0 !important; }
.am-meta > * + *::before { content: "·"; margin-right: .45em; }
.am-meta p { margin: 0; }
.am-meta .wp-block-post-author { display: inline-flex; }
.am-meta .wp-block-post-author__content { display: inline-flex; gap: .3em; align-items: baseline; }
.am-meta .wp-block-post-author__byline,
.am-meta .wp-block-post-author__name { margin: 0; font-size: inherit; }
.am-meta .wp-block-post-author__name,
.am-meta .wp-block-post-author__name a { color: var(--am-ink); font-weight: 700; }

.am-section-title,
.am-section-title a {
	font: 600 var(--wp--preset--font-size--x-large)/1.15 var(--am-serif);
	color: var(--am-ink);
	margin: 0;
}
.am-rule-title {
	display: flex;
	align-items: center;
	gap: 18px;
	text-align: center;
}
.am-rule-title::before,
.am-rule-title::after { content: ""; flex: 1; height: 1px; background: var(--wp--preset--color--line); }
.am-rule-title a { white-space: nowrap; }

.am-title-card,
.am-title-card a { font: 600 20px/1.3 var(--am-serif); color: var(--am-ink); text-wrap: pretty; margin: 0; }
.am-title-sm,
.am-title-sm a { font: 600 17px/1.3 var(--am-serif); color: var(--am-ink); text-wrap: pretty; margin: 0; }
.am-title-card a:hover,
.am-title-sm a:hover,
.am-hero-title a:hover { color: var(--am-red); }

/* ---------- Griglie dei Query Loop ---------- */
.wp-block-post-template { margin: 0; padding: 0; list-style: none; }
.am-grid-3 > .wp-block-post-template,
.wp-block-post-template.am-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.wp-block-post-template.am-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
.am-card .wp-block-post-featured-image { aspect-ratio: 16 / 10; margin-bottom: 14px; background: var(--wp--preset--color--sand); }

/* ---------- Barra superiore ---------- */
.am-topbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 20px;
	padding: 10px var(--am-gutter);
	border-bottom: var(--am-line);
	font: 700 11px/1 var(--am-sans);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--muted);
	max-width: var(--am-max);
	margin-inline: auto;
}
.am-topbar p { margin: 0; }
.am-topbar__links { margin-left: auto !important; display: flex; align-items: center; gap: 20px; }
.am-topbar__links a { color: inherit; }
.am-topbar__links .am-newsletter a { color: var(--am-red); }
:is(.am-topbar, .am-nav-wrap) .wp-block-search__button {
	background: none; color: inherit; border: 0; padding: 0;
	font: inherit; text-transform: uppercase; letter-spacing: inherit;
}
.am-topbar .wp-block-search__input { font: 500 13px var(--am-sans); border: var(--am-line); padding: 6px 10px; }
.am-topbar .wp-block-button__link { padding: 7px 16px; font-size: 11px; }

/* ---------- Testata ---------- */
.am-masthead-wrap { background: var(--wp--preset--color--surface); border-bottom: 3px solid var(--am-ink); }
.am-masthead {
	max-width: var(--am-max);
	margin-inline: auto;
	padding: 12px var(--am-gutter);
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 30px;
}
.am-masthead > :first-child { justify-self: start; }
.am-masthead > :last-child { justify-self: end; }
.am-masthead__brand { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.am-logo { margin: 0; }
.am-logo img { height: 114px; width: auto; display: block; mix-blend-mode: multiply; }
.am-tagline {
	margin: 0;
	font: 700 11px/1 var(--am-sans);
	color: var(--wp--preset--color--muted);
	text-transform: uppercase;
	letter-spacing: 0.34em;
	text-align: center;
}
.am-nav-wrap { border-bottom: var(--am-line); }
.am-nav { max-width: var(--am-max); margin-inline: auto; padding: 12px var(--am-gutter); }
.am-nav .wp-block-navigation__container { gap: 12px 30px; justify-content: center; }
.am-nav .wp-block-navigation-item__content { color: var(--am-ink); }
.am-nav .current-menu-item > .wp-block-navigation-item__content,
.am-nav .wp-block-navigation-item__content:hover { color: var(--am-red); }

/* ---------- Spazi pubblicitari ---------- */
.am-ad {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
	background: var(--wp--preset--color--paper);
	border: 1px dashed #c9a5a3;
	font: 600 11px/1 var(--am-sans);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #a1998c;
}
.am-ad__size { font-weight: 500; letter-spacing: 0.06em; }
.am-ad--240x150 { width: 240px; height: 150px; background: var(--wp--preset--color--sand); border: 1px solid #c9c1b3; color: #8b8377; }
.am-ad--970x120, .am-ad--1800x600 { width: 100%; height: 120px; }
.am-ad-row { padding: 28px var(--am-gutter); }
.am-ad-row p { margin: 0; }

/* ---------- Home: apertura ---------- */
.am-hero { padding: 44px var(--am-gutter); text-align: center; border-bottom: var(--am-line); }
.am-hero .am-kicker { font-size: 11px; letter-spacing: 0.2em; margin-bottom: 18px; }
.am-hero-title,
.am-hero-title a {
	font: 600 var(--wp--preset--font-size--huge)/1.05 var(--am-serif);
	color: var(--am-ink);
	max-width: 20ch;
	margin: 0 auto 18px;
	text-wrap: balance;
}
.am-hero .am-meta { justify-content: center; font-size: 13px; color: var(--wp--preset--color--muted); margin-bottom: 26px; }
.am-hero .wp-block-post-featured-image { aspect-ratio: 21 / 9; }

.am-trio .wp-block-post-template { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.am-trio { border-bottom: var(--am-line); }
.am-trio .wp-block-post { padding: 28px 32px; }
.am-trio .wp-block-post + .wp-block-post { border-left: var(--am-line); }
.am-trio .am-kicker { margin-bottom: 12px; }
.am-trio h3, .am-trio h3 a { font: 600 22px/1.25 var(--am-serif); margin: 0 0 12px; text-wrap: pretty; color: var(--am-ink); }

/* ---------- Blocchi scuri (Approfondimenti, L'intervista) ---------- */
.am-dark { background: var(--am-ink); color: #FAF7F1; padding: 40px var(--am-gutter); }
.am-dark .am-section-title, .am-dark .am-section-title a { color: #FAF7F1; margin-bottom: 26px; }
.am-dark.am-center .am-section-title { text-align: center; }
.am-quote-card { border-left: 3px solid var(--wp--preset--color--accent-bright); padding-left: 20px; }
.am-quote-card .wp-block-post-title,
.am-quote-card .wp-block-post-title a {
	font: italic 400 19px/1.45 var(--am-text);
	color: #FAF7F1;
	margin: 0 0 14px;
}
.am-quote-card .wp-block-post-title a:hover { color: #fff; text-decoration: underline; }
.am-quote-card .wp-block-post-author-name,
.am-quote-card .wp-block-post-author-name a { font: 700 12px var(--am-sans); color: #fff; }
.am-dark .wp-block-post-template { gap: 36px; }

/* ---------- Agenda ---------- */
.am-agenda { padding: 36px var(--am-gutter); border-bottom: var(--am-line); }
.am-agenda-row {
	display: flex; gap: 18px; align-items: center;
	padding: 14px 0; border-top: var(--am-line);
}
.am-agenda-date { text-align: center; min-width: 56px; flex: none; }
.am-agenda-date .am-day { font: 800 22px/1.1 var(--am-sans); color: var(--am-red); }
.am-agenda-date .am-mon { font: 700 10.5px/1.2 var(--am-sans); color: var(--wp--preset--color--muted-warm); text-transform: uppercase; }
.am-agenda-row .wp-block-post-title,
.am-agenda-row .wp-block-post-title a { font: 600 15.5px/1.35 var(--am-text); color: #1f1f1f; margin: 0; }

/* ---------- Sezioni con immagini ---------- */
.am-section { padding: 34px var(--am-gutter) 36px; border-bottom: var(--am-line); }
.am-section > .am-rule-title { margin-bottom: 26px; }

.am-split { display: grid; grid-template-columns: 2fr 1fr; border-bottom: var(--am-line); }
.am-split > * { padding: 30px 36px; }
.am-split > * + * { border-left: var(--am-line); }
.am-split .am-section-title { margin-bottom: 18px; }
.am-list .wp-block-post { padding: 14px 0; border-top: var(--am-line); }
.am-list h4, .am-list h4 a { font: 600 19px/1.3 var(--am-serif); margin: 0; color: var(--am-ink); text-wrap: pretty; }
.am-video .wp-block-post-featured-image { aspect-ratio: 16 / 9; margin-bottom: 14px; position: relative; background: var(--am-ink); }
.am-video .wp-block-post-featured-image a { display: block; height: 100%; }
.am-video .wp-block-post-featured-image::after {
	content: "\25B6"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	font: 400 30px var(--am-sans); color: #fff; background: rgba(35, 35, 35, .35); pointer-events: none;
}
.am-video h4, .am-video h4 a { font: 600 19px/1.3 var(--am-serif); margin: 0; color: var(--am-ink); }

.am-four { padding: 30px var(--am-gutter); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; border-bottom: var(--am-line); }
.am-four .am-kicker { margin-bottom: 10px; }
.am-three { padding: 6px var(--am-gutter) 36px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; border-bottom: var(--am-line); }
.am-three .am-kicker { margin-bottom: 10px; }
.am-three .am-title-sm, .am-three .am-title-sm a { font-size: 18px; }
.am-thumb-row { display: flex; gap: 12px; padding: 10px 0; border-top: var(--am-line); }
.am-thumb-row .wp-block-post-featured-image { width: 52px; height: 52px; flex: none; }
.am-thumb-row .wp-block-post-title,
.am-thumb-row .wp-block-post-title a { font: 600 14px/1.35 var(--am-text); margin: 0; color: var(--am-ink); text-wrap: pretty; }

.am-feature { background: var(--wp--preset--color--cream); border-bottom: var(--am-line); }
.am-feature .wp-block-post { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.am-feature .wp-block-post-featured-image { min-height: 360px; }
.am-feature__text { padding: 48px 56px; display: flex; flex-direction: column; justify-content: center; gap: 16px; }
.am-feature__text .am-kicker { letter-spacing: 0.2em; }
.am-feature h3, .am-feature h3 a { font: 600 34px/1.2 var(--am-serif); margin: 0; color: var(--am-ink); text-wrap: pretty; }

/* ---------- Piede ---------- */
.am-partner {
	max-width: var(--am-max); margin-inline: auto;
	padding: 18px var(--am-gutter);
	display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap;
	font: 600 11px/1 var(--am-sans); text-transform: uppercase; letter-spacing: 0.14em; color: var(--wp--preset--color--muted-warm);
	border-top: var(--am-line);
}
.am-partner p { margin: 0; }
.am-partner__with { display: flex; align-items: center; gap: 12px; }
.am-partner__with img { height: 32px; width: auto; display: block; }
.am-partner__with figure { margin: 0; }
.am-social { display: flex; gap: 16px; }
.am-social a { color: var(--am-ink); }
.am-social a:hover { color: var(--am-red); }

.am-ticker { background: var(--am-red); color: #fff; padding: 16px var(--am-gutter); display: flex; gap: 34px; align-items: center; overflow: hidden; white-space: nowrap; }
.am-ticker__label { font: 700 11px var(--am-sans); text-transform: uppercase; letter-spacing: 0.16em; flex: none; margin: 0; }
.am-ticker__label a { color: #fff; }
.am-ticker .wp-block-post-template { display: flex; gap: 34px; }
.am-ticker .wp-block-post { display: flex; gap: .4em; align-items: baseline; font: 400 14px var(--am-text); }
.am-ticker .wp-block-post + .wp-block-post::before { content: "\25CF"; opacity: .5; margin-right: 34px; font-size: 10px; }
.am-ticker .wp-block-post-date { font: 400 14px var(--am-text); }
.am-ticker .wp-block-post-title, .am-ticker .wp-block-post-title a { font: 400 14px var(--am-text); color: #fff; margin: 0; }
.am-legal { background: var(--am-ink); color: #a8a39b; padding: 22px var(--am-gutter); font: 400 12px/1.7 var(--am-sans); }
.am-legal p { margin: 0; }
.am-legal a { color: #fff; }

/* ---------- Articolo ---------- */
.am-article-head { padding: 44px var(--am-gutter); text-align: center; border-bottom: var(--am-line); }
.am-article-head .am-kicker { font-size: 11px; letter-spacing: 0.2em; margin-bottom: 18px; }
.am-article-head h1 {
	font: 600 clamp(28px, 4.4vw, 50px)/1.08 var(--am-serif);
	max-width: 22ch; margin: 0 auto 16px; text-wrap: balance;
}
.am-article-head .am-meta { justify-content: center; font-size: 13px; color: var(--wp--preset--color--muted); }
.am-article-image { aspect-ratio: 21 / 9; }
.am-article-image.is-full { aspect-ratio: auto; max-height: 80vh; }
.am-article-body { max-width: 720px; margin: 0 auto; padding: 40px 24px; }
.am-article-body .wp-block-post-content > * + * { margin-block-start: 24px; }
.am-article-body .wp-block-post-content h2,
.am-article-body .wp-block-post-content h3 { color: var(--am-ink); margin-top: 1.6em; }
.am-article-body .wp-block-post-content figure,
.am-article-body .wp-block-post-content img { max-width: 100%; }
.am-article-body .wp-block-post-content iframe { max-width: 100%; }
.am-article-body .wp-block-post-content blockquote { text-align: center; margin-inline: 0; }
.am-article-tags { margin-top: 32px; font: 500 12.5px var(--am-sans); color: var(--wp--preset--color--muted-warm); }
.am-article-tags a { color: var(--am-ink); }
.am-back { margin-top: 32px; }
.am-back a { font: 700 12.5px var(--am-sans); color: var(--am-red); text-transform: uppercase; letter-spacing: 0.1em; }
.am-related { border-top: var(--am-line); }

/* ---------- Archivi ---------- */
.am-archive-head { padding: 36px var(--am-gutter) 24px; text-align: center; border-bottom: var(--am-line); }
.am-archive-head h1 { font: 600 var(--wp--preset--font-size--xx-large)/1.1 var(--am-serif); margin: 0 0 8px; }
.am-archive-head .wp-block-term-description,
.am-archive-head .wp-block-post-author-biography { font: 400 15px/1.5 var(--am-sans); color: var(--wp--preset--color--muted); max-width: 60ch; margin: 0 auto; }
.am-archive-head .wp-block-term-description p { margin: 0; }
.am-archive-list { padding: 32px var(--am-gutter); }
.am-archive-list .wp-block-post-template.am-grid-3 { gap: 32px 28px; }
.am-archive-list .am-kicker { margin: 12px 0 6px; }
.am-archive-list .am-card .wp-block-post-featured-image { margin-bottom: 0; }
.am-archive-list .am-rows .wp-block-post { display: flex; gap: 18px; padding: 18px 0; border-top: var(--am-line); }
.am-archive-list .am-rows .wp-block-post-featured-image { width: 160px; aspect-ratio: 16 / 10; flex: none; }
.am-archive-list .am-rows .wp-block-post-excerpt { font: 400 15px/1.55 var(--am-text); color: #3a3a3a; margin: 6px 0 0; }
.am-archive-list .am-rows .wp-block-post-excerpt__excerpt { margin: 0; }
.am-archive-list .am-rows .wp-block-post-excerpt__more-text { display: none; }
.wp-block-query-pagination { margin-top: 40px; gap: 14px; font: 700 12px var(--am-sans); text-transform: uppercase; letter-spacing: 0.1em; }
.wp-block-query-pagination .page-numbers.current { color: var(--am-red); }
.am-archive-head .wp-block-search { max-width: 520px; margin: 18px auto 0; }
.am-archive-head .wp-block-search__input { border: 1px solid #c9c2b5; padding: 10px 14px; font: 500 15px var(--am-sans); background: #fff; }

/* ---------- Pagine e 404 ---------- */
.am-simple { max-width: 720px; margin: 0 auto; padding: 44px 24px 60px; }
.am-simple h1 { font: 600 var(--wp--preset--font-size--xx-large)/1.1 var(--am-serif); margin: 0 0 24px; }
.am-simple .wp-block-post-content > * + * { margin-block-start: 20px; }

/* ---------- Correzioni v0.2.1 ---------- */
.am-meta .wp-block-post-author { flex: none; }
.am-meta .wp-block-post-author__content { flex: none; flex-basis: auto; display: inline-flex; }
.am-meta .wp-block-post-author__name { white-space: nowrap; }
.am-meta .wp-block-post-date { text-transform: lowercase; }
.am-topbar .wp-block-button__link,
.am-topbar .wp-block-button__link:hover { color: #fff; }
.am-feature .wp-block-post-featured-image { position: relative; }
.am-feature .wp-block-post-featured-image a,
.am-feature .wp-block-post-featured-image img { position: absolute; inset: 0; width: 100%; height: 100%; }
.am-video .wp-block-post:not(:has(.wp-block-post-featured-image))::before {
	content: "\25B6"; display: flex; align-items: center; justify-content: center;
	aspect-ratio: 16 / 9; margin-bottom: 14px; background: var(--am-ink);
	font: 400 30px var(--am-sans); color: #fff;
}

.am-ticker .wp-block-post { flex: none; }
.am-ticker .wp-block-post-title { white-space: nowrap; }

/* ---------- Layout boxato (come il prototipo) ---------- */
body { background: #E9E5DD; }
.wp-site-blocks {
	max-width: var(--am-max);
	margin: 28px auto;
	background: var(--wp--preset--color--base);
	box-shadow: 0 8px 40px rgba(0, 0, 0, .15);
	overflow: hidden;
	overflow: clip; /* come hidden, ma lascia funzionare il menu che resta in alto */
}

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
	.am-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.am-feature__text { padding: 32px; }
	.am-feature h3, .am-feature h3 a { font-size: 26px; }
}

/* ---------- Mobile ---------- */
@media (max-width: 781px) {
	body { background: var(--wp--preset--color--base); }
	.wp-site-blocks { margin: 0; box-shadow: none; }

	.am-topbar { font-size: 10px; letter-spacing: 0.1em; }
	.am-topbar .am-newsletter { display: none; }
	.am-masthead { grid-template-columns: 1fr; padding-block: 16px 12px; gap: 8px; }
	.am-masthead > :first-child, .am-masthead > :last-child { display: none; }
	.am-logo img { height: 65px; }
	.am-tagline { font-size: 9px; letter-spacing: 0.26em; }
	.am-nav { padding-block: 8px; }
	.am-nav .wp-block-navigation__responsive-container-open { margin-inline: auto; }

	.am-hero { padding-block: 26px; }
	.am-hero .wp-block-post-featured-image { aspect-ratio: 4 / 3; margin-inline: calc(-1 * var(--am-gutter)); }

	.am-trio .wp-block-post-template,
	.wp-block-post-template.am-grid-3,
	.wp-block-post-template.am-grid-2,
	.am-three, .am-four { grid-template-columns: minmax(0, 1fr); }
	.am-trio .wp-block-post { padding: 20px var(--am-gutter); }
	.am-trio .wp-block-post + .wp-block-post { border-left: 0; border-top: var(--am-line); }
	.am-trio h3, .am-trio h3 a { font-size: 19px; }

	.am-split { grid-template-columns: minmax(0, 1fr); }
	.am-split > * { padding: 24px var(--am-gutter); }
	.am-split > * + * { border-left: 0; border-top: var(--am-line); }

	.am-feature .wp-block-post { grid-template-columns: minmax(0, 1fr); }
	.am-feature .wp-block-post-featured-image { min-height: 0; aspect-ratio: 16 / 10; }
	.am-feature__text { padding: 20px var(--am-gutter) 24px; }
	.am-feature h3, .am-feature h3 a { font-size: 21px; }

	.am-archive-list .am-grid-3.am-card > .wp-block-post { display: grid; grid-template-columns: 92px minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 12px; }
	.am-archive-list .am-grid-3.am-card .wp-block-post-featured-image { grid-row: 1 / span 2; width: 92px; height: 66px; aspect-ratio: auto; }
	.am-archive-list .am-grid-3 .am-kicker { margin-top: 0; }
	.am-archive-list .am-grid-3 .am-title-card, .am-archive-list .am-grid-3 .am-title-card a { font-size: 15px; }
	.am-archive-list .am-rows .wp-block-post-featured-image { width: 92px; }

	.am-article-head { padding-block: 26px; }
	.am-article-image { aspect-ratio: 4 / 3; }
	.am-article-body { padding: 22px 18px; }

	.am-ticker .wp-block-post:not(:first-child) { display: none; }
	.am-partner { justify-content: flex-start; }
}

/* ---------- Stili della redazione (v0.5.0) ---------- */
/* Testo introduttivo */
.is-style-am-intro { font-size: 20px; line-height: 1.65; color: var(--am-ink); }
.is-style-am-intro::first-letter { font: 600 58px/0.8 var(--am-serif); color: var(--am-red); float: left; margin: 6px 12px 0 0; }
/* Il testo introduttivo c'è solo se la redazione lo sceglie, e ne vale uno solo:
   se per errore ce ne sono due, il secondo torna un paragrafo normale (l'editor lo impedisce già) */
.is-style-am-intro ~ .is-style-am-intro { font-size: 17px; line-height: 1.7; color: #3a3a3a; }
.is-style-am-intro ~ .is-style-am-intro::first-letter { font: inherit; color: inherit; float: none; margin: 0; }
/* Testo in evidenza */
.is-style-am-evidenza,
.wp-block-pullquote.is-style-am-evidenza,
.wp-block-quote.is-style-am-evidenza {
	border: 0; border-top: 2px solid var(--am-ink); border-bottom: 1px solid var(--wp--preset--color--line);
	padding: 22px 0; margin: 32px 0; text-align: center;
	font: italic 400 24px/1.4 var(--am-text); color: var(--am-red);
}
.is-style-am-evidenza blockquote { margin: 0; padding: 0; border: 0; }
.is-style-am-evidenza p { font: inherit; color: inherit; margin: 0; }
.is-style-am-evidenza cite,
.is-style-am-evidenza .wp-block-pullquote__citation {
	display: block; margin-top: 12px; font: 700 12px/1.3 var(--am-sans); font-style: normal;
	color: var(--wp--preset--color--muted-warm); text-transform: uppercase; letter-spacing: 0.12em;
}
@media (max-width: 781px) {
	.is-style-am-intro { font-size: 17px; }
	.is-style-am-evidenza, .wp-block-pullquote.is-style-am-evidenza, .wp-block-quote.is-style-am-evidenza { font-size: 19px; }
}

/* ---------- Ricerca nella barra superiore (v0.5.2) ---------- */
/* Il campo si apre da destra con una linea rossa, senza riquadro né salti.
   "body" davanti serve a prevalere sulle regole del blocco Cerca di WordPress, caricate dopo. */
body :is(.am-topbar, .am-nav-wrap) .wp-block-search__inside-wrapper { border: 0; padding: 0; background: none; align-items: center; gap: 0; }
body :is(.am-topbar, .am-nav-wrap) .wp-block-search .wp-block-search__input {
	flex: none;
	width: var(--am-search-w, 240px);
	max-width: var(--am-search-w, 240px);
	min-width: 0;
	margin: 0 12px 0 0;
	padding: 4px 2px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--am-red) !important;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font: italic 400 15px/1.3 var(--am-text);
	text-transform: none;
	letter-spacing: 0;
	color: var(--am-ink);
	opacity: 1;
	transition: max-width .45s cubic-bezier(.22, .75, .2, 1), margin .45s cubic-bezier(.22, .75, .2, 1), opacity .25s ease .3s;
}
body :is(.am-topbar, .am-nav-wrap) .wp-block-search .wp-block-search__input:focus,
body :is(.am-topbar, .am-nav-wrap) .wp-block-search .wp-block-search__input:focus-visible { outline: none; box-shadow: none; }
body :is(.am-topbar, .am-nav-wrap) .wp-block-search .wp-block-search__input::placeholder { color: var(--wp--preset--color--muted); opacity: 1; }
body :is(.am-topbar, .am-nav-wrap) .wp-block-search.wp-block-search__searchfield-hidden .wp-block-search__input {
	/* WordPress forza width: 0 !important e così la chiusura non si animava: teniamo la larghezza e chiudiamo con max-width */
	flex: none;
	width: var(--am-search-w, 240px) !important;
	max-width: 0;
	margin-right: 0;
	padding: 4px 2px !important;
	opacity: 0;
	transition: opacity .15s ease, max-width .35s cubic-bezier(.4, 0, .6, 1) .15s, margin .35s cubic-bezier(.4, 0, .6, 1) .15s;
}
body :is(.am-topbar, .am-nav-wrap) .wp-block-search .wp-block-search__input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
body :is(.am-topbar, .am-nav-wrap) .wp-block-search__button { transition: color .2s ease; cursor: pointer; }
body :is(.am-topbar, .am-nav-wrap) .wp-block-search__button:hover,
body :is(.am-topbar, .am-nav-wrap) .wp-block-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__button { color: var(--am-red); }
@media (max-width: 781px) {
	.am-topbar, .am-nav-wrap { --am-search-w: 160px; }
	body :is(.am-topbar, .am-nav-wrap) .wp-block-search .wp-block-search__input { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
	body :is(.am-topbar, .am-nav-wrap) .wp-block-search .wp-block-search__input { transition: none; }
}

/* ---------- Articolo: percorso e link alla categoria (v0.5.3) ---------- */
.am-breadcrumbs { margin: 0 0 28px; font: 700 11px/1.5 var(--am-sans); text-transform: uppercase; letter-spacing: 0.1em; color: var(--wp--preset--color--muted); }
.am-breadcrumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: nowrap; align-items: baseline; min-width: 0; }
.am-breadcrumbs li { flex: none; white-space: nowrap; }
.am-breadcrumbs li + li::before { content: "\203A"; margin: 0 9px; color: var(--am-red); }
.am-breadcrumbs a { color: inherit; text-decoration: none; transition: color .2s ease; }
.am-breadcrumbs a:hover { color: var(--am-red); }
.am-breadcrumbs li:last-child { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; color: var(--am-ink); font-weight: 500; text-transform: none; letter-spacing: 0; font-size: 12.5px; }
.am-back-cat { margin-top: 32px; font: 700 12.5px var(--am-sans); text-transform: uppercase; letter-spacing: 0.1em; color: var(--wp--preset--color--muted); }
.am-back-cat a { color: var(--am-red); }
.am-back-cat + .am-back { margin-top: 12px; }
.am-partner__logo img { height: 40px; width: auto; }

/* ---------- Puntatore a manina su tutti gli elementi cliccabili (v0.5.4) ---------- */
a[href], a[href] *, button, [role="button"], summary, label[for], select,
input[type="submit"], input[type="button"], input[type="reset"], input[type="checkbox"], input[type="radio"],
.wp-element-button, .wp-block-search__button, .wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { cursor: pointer; }

/* ---------- Ricerca: niente contorno al clic su "Cerca" (v0.5.5) ---------- */
:is(.am-topbar, .am-nav-wrap) .wp-block-search__button:focus { outline: none; box-shadow: none; }
:is(.am-topbar, .am-nav-wrap) .wp-block-search__button:focus-visible { outline: 1px solid var(--am-red); outline-offset: 4px; }

/* ---------- Home: nuove fasce (v0.6.0) ---------- */
.am-three--img { padding-top: 30px; }
.am-three--img .wp-block-post-featured-image { aspect-ratio: 16 / 10; margin: 0 0 12px; background: var(--wp--preset--color--sand); overflow: hidden; }
.am-three--img .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.am-appuntamenti { padding: 30px var(--am-gutter) 34px; border-bottom: var(--am-line); }
.am-appuntamenti .am-kicker { margin-bottom: 12px; }
.am-appuntamenti .wp-block-post { border-top: var(--am-line); padding-top: 14px; }
.am-appuntamenti .am-title-sm, .am-appuntamenti .am-title-sm a { font-size: 19px; }
@media (max-width: 781px) {
	.am-appuntamenti .wp-block-post + .wp-block-post { margin-top: 14px; }
}

/* ---------- Home: fascia Attualità con titolo (v0.6.1) ---------- */
.am-attualita { padding-top: 32px; }
.am-attualita > .am-rule-title { margin: 0 var(--am-gutter) 2px; }
.am-attualita .am-trio .wp-block-post { padding-top: 20px; }

/* ---------- Articolo: condivisione social con i simboli delle app (v0.6.3) ---------- */
.am-share { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 40px; padding: 18px 0; border-top: var(--am-line); border-bottom: var(--am-line); }
.am-share__label { font: 700 11px/1 var(--am-sans); text-transform: uppercase; letter-spacing: 0.12em; color: var(--wp--preset--color--muted); }
.am-share__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.am-share__list li { margin: 0; }
.am-share__btn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; color: var(--am-ink); background: transparent; border: 1px solid #c9c2b5; border-radius: 50%; text-decoration: none; cursor: pointer; transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }
.am-share__btn svg { width: 16px; height: 16px; display: block; }
.am-share__btn:hover, .am-share__btn:focus-visible { color: #fff; transform: translateY(-2px); outline: none; }
.am-share__btn--facebook:hover, .am-share__btn--facebook:focus-visible { background: #1877F2; border-color: #1877F2; }
.am-share__btn--x:hover, .am-share__btn--x:focus-visible { background: #000; border-color: #000; }
.am-share__btn--linkedin:hover, .am-share__btn--linkedin:focus-visible { background: #0A66C2; border-color: #0A66C2; }
.am-share__btn--whatsapp:hover, .am-share__btn--whatsapp:focus-visible { background: #25D366; border-color: #25D366; }
.am-share__btn--telegram:hover, .am-share__btn--telegram:focus-visible { background: #229ED9; border-color: #229ED9; }
.am-share__btn--email:hover, .am-share__btn--email:focus-visible,
.am-share__btn--copy:hover, .am-share__btn--copy:focus-visible { background: var(--am-red); border-color: var(--am-red); }
.am-share__btn.is-done { color: #fff; background: var(--am-ink); border-color: var(--am-ink); }
.am-share__btn--copy::after { content: "Link copiato"; position: absolute; bottom: calc(100% + 8px); left: 50%; transform: translate(-50%, 4px); white-space: nowrap; font: 700 10px/1 var(--am-sans); text-transform: uppercase; letter-spacing: 0.1em; color: #fff; background: var(--am-ink); padding: 6px 8px; opacity: 0; pointer-events: none; transition: opacity .2s ease, transform .2s ease; }
.am-share__btn--copy.is-done::after { opacity: 1; transform: translate(-50%, 0); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: reduce) {
	.am-share__btn { transition: none; }
	.am-share__btn:hover, .am-share__btn:focus-visible { transform: none; }
}

/* ---------- Footer: i nostri social con i simboli delle app (v0.6.4) ---------- */
.am-social { display: flex; align-items: center; gap: 14px; }
.am-social__label { font: inherit; }
.am-social__list { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px; }
.am-social__list li { margin: 0; }
.am-social .am-share__btn { width: 36px; height: 36px; }
.am-social .am-share__btn svg { width: 15px; height: 15px; }
.am-share__btn--instagram:hover, .am-share__btn--instagram:focus-visible { background: #E4405F; border-color: #E4405F; }
@media (max-width: 781px) {
	.am-social { flex-wrap: wrap; gap: 10px; }
}

/* ---------- Home: Mostre nella fascia nera con le foto, segnaposto rubriche vuote (v0.7.0) ---------- */
.am-dark--cards .wp-block-post-template { gap: 30px; text-align: left; }
.am-dark--cards .am-card .wp-block-post-featured-image { background: #3a3632; }
.am-dark--cards .am-title-card, .am-dark--cards .am-title-card a { color: #FAF7F1; }
.am-dark--cards .am-title-card a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.am-empty-note { font: italic 400 15px/1.4 var(--am-text); color: var(--wp--preset--color--muted); margin: 0; padding: 14px 0; border-top: var(--am-line); }

/* ---------- Menu che resta in alto scorrendo (v0.7.1) ---------- */
/* Tutta la testata è "sticky" ma spostata in su della sua altezza meno il menu: resta visibile solo il menu. */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: var(--am-sticky-top, 0px); z-index: 50; }
.am-nav-wrap { background: var(--wp--preset--color--base); transition: box-shadow .3s ease; }
header.is-stuck .am-nav-wrap { box-shadow: 0 6px 18px rgba(35, 35, 35, .10); }

/* ---------- Barra del menu: logo piccolo e Cerca quando resta in alto, menu mobile (v0.8.0) ---------- */
.am-nav-wrap { position: relative; }
.am-navbar__logo, .am-navbar__search {
	position: absolute; top: 50%; z-index: 2; margin: 0;
	opacity: 0; visibility: hidden; transform: translateY(-50%) scale(.96);
	transition: opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
}
.am-navbar__logo { left: var(--am-gutter); background: var(--wp--preset--color--base); line-height: 0; }
.am-navbar__logo img { display: block; height: 40px; width: auto; mix-blend-mode: multiply; }
.am-navbar__search { right: var(--am-gutter); font: 700 11px/1 var(--am-sans); letter-spacing: 0.12em; color: var(--am-ink); }
.am-navbar__search .wp-block-search__inside-wrapper { background: var(--wp--preset--color--base); }
header.is-stuck .am-navbar__logo, header.is-stuck .am-navbar__search {
	opacity: 1; visibility: visible; transform: translateY(-50%);
	transition: opacity .3s ease, transform .3s ease, visibility 0s;
}
/* Desktop: quando il campo Cerca si apre copre le ultime voci del menu con lo sfondo della barra */
.am-navbar__search .wp-block-search__inside-wrapper { padding-left: 12px; }

/* Mobile: la barra mostra sempre logo a sinistra, menu al centro e Cerca a destra */
@media (max-width: 781px) {
	.am-navbar__logo, .am-navbar__search { opacity: 1; visibility: visible; transform: translateY(-50%); }
	.am-navbar__logo img { height: 40px; }
	.am-nav { padding-block: 10px; }
	.am-nav .wp-block-navigation__responsive-container-open { margin-inline: auto; width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; border: 1px solid #c9c2b5; border-radius: 50%; }
	.am-nav .wp-block-navigation__responsive-container-open svg { width: 22px; height: 22px; }
	.am-navbar__search .wp-block-search__button { font-size: 0; letter-spacing: 0; }
	.am-navbar__search .wp-block-search__button::after { content: "\2315"; font-size: 22px; line-height: 1; }
}

/* Menu mobile aperto: pagina intera, voci grandi con filetti, entrata in sequenza */
.am-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--base) !important;
	color: var(--am-ink) !important;
	padding: 22px var(--am-gutter) 32px;
	animation: am-menu-in .35s cubic-bezier(.22, .75, .2, 1) both;
}
.am-nav .is-menu-open .wp-block-navigation__responsive-dialog::before {
	content: ""; display: block; height: 34px; margin: 2px 0 28px;
	background: url("https://artemagazine.it/wp-content/uploads/2021/08/logoBig.jpg") left center / contain no-repeat;
	mix-blend-mode: multiply;
}
.am-nav .is-menu-open .wp-block-navigation__responsive-container-close {
	top: 18px; right: 0; width: 42px; height: 42px; display: flex; align-items: center; justify-content: center;
	border: 1px solid #c9c2b5; border-radius: 50%; transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.am-nav .is-menu-open .wp-block-navigation__responsive-container-close:hover { background: var(--am-red); border-color: var(--am-red); color: #fff; }
.am-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 0 !important; align-items: stretch !important; }
.am-nav .is-menu-open .wp-block-navigation__container { flex-direction: column; align-items: stretch !important; gap: 0 !important; width: 100%; box-sizing: border-box; margin: 0 !important; padding: 0 !important; border-top: 3px solid var(--am-ink); }
.am-nav .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: var(--am-line); opacity: 0; animation: am-menu-item .45s cubic-bezier(.22, .75, .2, 1) forwards; }
.am-nav .is-menu-open .wp-block-navigation-item:nth-child(1) { animation-delay: .06s; }
.am-nav .is-menu-open .wp-block-navigation-item:nth-child(2) { animation-delay: .1s; }
.am-nav .is-menu-open .wp-block-navigation-item:nth-child(3) { animation-delay: .14s; }
.am-nav .is-menu-open .wp-block-navigation-item:nth-child(4) { animation-delay: .18s; }
.am-nav .is-menu-open .wp-block-navigation-item:nth-child(5) { animation-delay: .22s; }
.am-nav .is-menu-open .wp-block-navigation-item:nth-child(6) { animation-delay: .26s; }
.am-nav .is-menu-open .wp-block-navigation-item:nth-child(7) { animation-delay: .3s; }
.am-nav .is-menu-open .wp-block-navigation-item__content {
	display: flex !important; justify-content: space-between; align-items: center; width: 100%;
	padding: 16px 0 !important; font: 600 28px/1.15 var(--am-serif) !important; text-transform: none !important; letter-spacing: 0 !important;
	color: var(--am-ink) !important;
}
.am-nav .is-menu-open .wp-block-navigation-item__content::after { content: "\2192"; font: 400 20px/1 var(--am-sans); color: var(--am-red); transition: transform .2s ease; }
.am-nav .is-menu-open .wp-block-navigation-item__content:hover { color: var(--am-red) !important; }
.am-nav .is-menu-open .wp-block-navigation-item__content:hover::after { transform: translateX(4px); }
@keyframes am-menu-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes am-menu-item { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
	.am-nav .wp-block-navigation__responsive-container.is-menu-open, .am-nav .is-menu-open .wp-block-navigation-item { animation: none; opacity: 1; }
	.am-navbar__logo, .am-navbar__search { transition: none; }
}

/* Mobile: quando Cerca è aperto nasconde il pulsante del menu; il Cerca della barra in alto non serve, c'è quello nella barra del menu */
@media (max-width: 781px) {
	.am-nav-wrap:has(.am-navbar__search:not(.wp-block-search__searchfield-hidden)) .wp-block-navigation__responsive-container-open { opacity: 0; pointer-events: none; }
	.am-topbar .wp-block-search { display: none; }
}

/* ---------- Niente contorno nero al clic, X per chiudere Cerca, barra mobile in cima (v0.8.1) ---------- */
html { -webkit-tap-highlight-color: transparent; }
:focus:not(:focus-visible) { outline: none !important; box-shadow: none; }
:focus-visible { outline: 2px solid var(--am-red); outline-offset: 3px; }
.wp-block-navigation__responsive-dialog:focus,
.wp-block-navigation__responsive-container-content:focus,
.wp-block-navigation__responsive-container:focus { outline: none !important; }

.am-search-close {
	flex: none; display: inline-flex; align-items: center; justify-content: center;
	width: 28px; height: 28px; margin: 0 8px 0 0; padding: 0;
	color: var(--am-ink); background: transparent; border: 1px solid #c9c2b5; border-radius: 50%;
	cursor: pointer; transition: color .2s ease, background-color .2s ease, border-color .2s ease, opacity .25s ease .2s;
}
.am-search-close:hover { color: #fff; background: var(--am-red); border-color: var(--am-red); }
.wp-block-search__searchfield-hidden .am-search-close { display: none; }

@media (max-width: 781px) {
	/* In cima alla pagina il logo grande c'è già: nella barra restano menu a sinistra e Cerca a destra */
	.am-nav .wp-block-navigation__responsive-container-open { margin-inline: 0 auto; }
	.am-navbar__logo { left: 50%; opacity: 0; visibility: hidden; transform: translate(-50%, -50%) scale(.96); }
	header.is-stuck .am-navbar__logo { opacity: 1; visibility: visible; transform: translate(-50%, -50%); }
	.am-nav-wrap:has(.am-navbar__search:not(.wp-block-search__searchfield-hidden)) .am-navbar__logo { opacity: 0; visibility: hidden; }
}

/* ---------- Mobile: una sola barra con menu a sinistra, logo al centro e Cerca a destra (v0.8.3) ---------- */
@media (max-width: 781px) {
	.am-masthead-wrap { display: none; }
	.am-navbar__logo { opacity: 1; visibility: visible; transform: translate(-50%, -50%); }
}

/* ---------- Didascalie, titoli delle sezioni, banner sotto l'Agenda (0.9.2) ---------- */
/* Didascalia (crediti fotografici) sotto la foto di apertura, in home e nell'articolo */
.am-photo-caption { font: 400 12.5px/1.45 var(--am-sans); color: var(--wp--preset--color--muted); margin: 8px 0 0; text-align: right; }
.am-article-image { aspect-ratio: 16 / 9; }
.am-article-image + .am-photo-caption { max-width: var(--am-max); margin: 8px auto 0; padding-inline: var(--am-gutter); }

/* Titoli delle sezioni un po' più grandi, soprattutto le etichette delle fasce in basso */
.am-section-title, .am-section-title a { font-size: calc(var(--wp--preset--font-size--x-large) * 1.12); }
p.am-kicker, p.am-kicker a { font-size: 14px; letter-spacing: 0.14em; }
p.am-kicker { margin-bottom: 14px; }

/* Il banner sotto l'Agenda non occupa più tutta la larghezza */
.amm-ad--home-2 img { width: auto; max-width: min(100%, 970px); max-height: 250px; }
