/**
 * Podcast Manager Accordion — frontend, stile editoriale minimalista.
 * Tutte le dimensioni/colori chiave sono CSS custom properties (--pma-*),
 * impostabili dalla pagina "CSS e stile"; questo file usa solo le variabili,
 * mai valori hardcoded per i punti configurabili.
 */

.pma-podcast-manager {
	max-width: var(--pma-container-width, 1180px);
	margin: 0 auto;
	padding: var(--pma-spacing-md, 28px) var(--pma-spacing-sm, 16px);
	background: var(--pma-background, #f7f5f1);
	color: var(--pma-text, #111111);
	font-family: var(--pma-font-family, sans-serif);
	font-weight: var(--pma-font-weight, 400);
	line-height: var(--pma-line-height, 1.5);
	box-sizing: border-box;
}
.pma-podcast-manager *, .pma-podcast-manager *::before, .pma-podcast-manager *::after {
	box-sizing: inherit;
}
.pma-podcast-manager img { max-width: 100%; height: auto; display: block; }

/* Link e pulsanti */
.pma-link, .pma-btn {
	display: inline-block;
	text-decoration: none;
	font-family: inherit;
	border-radius: var(--pma-border-radius, 0);
	transition: var(--pma-transition, 220ms ease);
}
.pma-link { color: var(--pma-text, #111); border-bottom: 1px solid var(--pma-border, #d8d6d1); padding-bottom: 1px; margin-right: var(--pma-spacing-sm, 16px); }
.pma-link:hover, .pma-link:focus { border-color: var(--pma-text, #111); }
.pma-btn {
	background: var(--pma-button-bg, #111);
	color: var(--pma-button-text, #fff);
	padding: 12px 22px;
	border: none;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	min-height: 44px;
	min-width: 44px;
}
.pma-btn:hover, .pma-btn:focus { opacity: .85; }
.pma-btn--select[aria-pressed="true"], .pma-btn--select.is-active { outline: 2px solid var(--pma-text, #111); outline-offset: 2px; }

/* Focus visibile ovunque (accessibilita') */
.pma-podcast-manager a:focus-visible,
.pma-podcast-manager button:focus-visible,
.pma-podcast-manager [tabindex]:focus-visible {
	outline: 2px solid var(--pma-text, #111);
	outline-offset: 2px;
}

/* Categorie */
.pma-categories {
	display: flex;
	gap: var(--pma-spacing-sm, 16px);
	flex-wrap: wrap;
	list-style: none;
	margin: 0 0 var(--pma-spacing-lg, 48px);
	padding: 0;
	border-bottom: 1px solid var(--pma-border, #d8d6d1);
	padding-bottom: var(--pma-spacing-sm, 16px);
}
.pma-categories__tab {
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--pma-tab-bg, transparent);
	border: 1px solid var(--pma-border, #d8d6d1);
	color: var(--pma-tab-text, #111);
	padding: 8px 16px;
	cursor: pointer;
	font-size: 14px;
	border-radius: var(--pma-border-radius, 0);
	min-height: 44px;
	transition: var(--pma-transition, 220ms ease);
}
.pma-categories__tab:hover,
.pma-categories__tab:focus-visible {
	background: var(--pma-tab-hover-bg, #f0efeb);
	color: var(--pma-tab-hover-text, #111);
}
.pma-categories__tab[aria-selected="true"] {
	background: var(--pma-tab-active-bg, #111);
	color: var(--pma-tab-active-text, #fff);
	border-color: var(--pma-tab-active-bg, #111);
}
.pma-categories__tab-image img { width: 24px; height: 24px; object-fit: cover; }

/* Categorie in modalita' "Lista" (righe accordion invece di tab) */
.pma-categories-list { border-top: 1px solid var(--pma-border, #d8d6d1); margin-bottom: var(--pma-spacing-xl, 72px); }
.pma-category-row { border-bottom: 1px solid var(--pma-border, #d8d6d1); }
.pma-category-row__toggle {
	width: 100%;
	display: grid;
	grid-template-columns: 72px 1fr 24px;
	align-items: center;
	gap: var(--pma-spacing-sm, 16px);
	background: transparent;
	border: none;
	text-align: left;
	padding: var(--pma-spacing-sm, 16px) 4px;
	cursor: pointer;
	font-family: inherit;
	color: var(--pma-text, #111);
	min-height: 44px;
}
.pma-category-row__image img { width: 72px; height: 72px; object-fit: cover; border: 1px solid var(--pma-border, #d8d6d1); }
.pma-category-row__title { font-size: 18px; font-weight: 700; display: block; }
.pma-category-row__subtitle { font-size: 14px; color: var(--pma-muted, #666); display: block; margin-top: 2px; }
.pma-category-row__chevron { transition: var(--pma-transition, 220ms ease); }
.pma-category-row__toggle[aria-expanded="true"] .pma-category-row__chevron { transform: rotate(180deg); }
.pma-category-row__panel { padding: 0 4px var(--pma-spacing-md, 28px); }
.pma-category-row__panel[hidden] { display: none; }
.pma-category-row__description { margin: 0 0 var(--pma-spacing-sm, 16px); color: var(--pma-text, #111); }

.pma-topics-list { border-top: 1px solid var(--pma-border, #d8d6d1); }
.pma-topic-row { border-bottom: 1px solid var(--pma-border, #d8d6d1); }

/* Layout riga argomento: titolo su tutta la larghezza in alto; subito
 * sotto, UNA sola riga con immagine + descrizione + freccia allineati
 * orizzontalmente (freccia sempre in fondo a destra). */
.pma-topic-row__toggle {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
	background: transparent;
	border: none;
	text-align: left;
	padding: 12px 4px;
	cursor: pointer;
	font-family: inherit;
	color: var(--pma-text, #111);
	min-height: 44px;
}
.pma-topic-row__title {
	display: block;
	width: 100%;
	font-size: var(--pma-topic-title-font-size, 18px);
	color: var(--pma-topic-title-color, #111);
	font-weight: 700;
}
.pma-topic-row__media {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
}
.pma-topic-row__image img {
	width: var(--pma-topic-image-size, 56px);
	height: var(--pma-topic-image-size, 56px);
	object-fit: cover;
	border: 1px solid var(--pma-border, #d8d6d1);
	flex-shrink: 0;
}
.pma-topic-row__excerpt {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 13px;
	color: var(--pma-muted, #666);
	line-height: 1.5;
}
.pma-topic-row__excerpt p:first-child { margin-top: 0; }
.pma-topic-row__excerpt p:last-child { margin-bottom: 0; }
.pma-topic-row__chevron {
	flex-shrink: 0;
	margin-left: auto;
	font-size: var(--pma-topic-chevron-size, 16px);
	color: var(--pma-topic-chevron-color, #666);
	line-height: 1;
}
.pma-topic-row__chevron::before { content: var(--pma-topic-chevron-content, "▾"); }
.pma-topic-row__toggle[aria-expanded="true"] .pma-topic-row__chevron::before { content: var(--pma-topic-chevron-content-open, "▴"); }
.pma-topic-row__panel { padding: 0 4px 12px 28px; }
.pma-topic-row__panel[hidden] { display: none; }

/* Argomenti */
.pma-topics {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: var(--pma-spacing-md, 28px);
	margin-bottom: var(--pma-spacing-xl, 72px);
}
.pma-topic-card {
	border: 1px solid var(--pma-border, #d8d6d1);
	background: var(--pma-surface, #fff);
	box-shadow: var(--pma-shadow, none);
}
.pma-topic-card__image img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.pma-topic-card__body { padding: var(--pma-spacing-sm, 16px); }
.pma-topic-card__title { margin: 0 0 8px; font-size: 18px; }
.pma-topic-card__excerpt { color: var(--pma-muted, #666); margin: 0 0 var(--pma-spacing-sm, 16px); }
.pma-topic-card.is-active { outline: 2px solid var(--pma-text, #111); outline-offset: -2px; }

/* Ultimo episodio (hero) */
.pma-latest {
	display: grid;
	grid-template-columns: minmax(220px, 380px) 1fr;
	gap: var(--pma-spacing-lg, 48px);
	margin-bottom: var(--pma-spacing-xl, 72px);
	align-items: start;
}
.pma-latest__image img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; background: var(--pma-surface, #fff); border: 1px solid var(--pma-border, #d8d6d1); }
.pma-latest__label {
	display: inline-block;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: 12px;
	color: var(--pma-muted, #666);
	margin-bottom: 8px;
}
.pma-latest__meta { display: block; color: var(--pma-muted, #666); font-size: 13px; margin-bottom: var(--pma-spacing-xs, 8px); }
.pma-latest__title {
	font-size: var(--pma-title-font-size, 34px);
	line-height: 1.15;
	margin: 0 0 var(--pma-spacing-sm, 16px);
}
.pma-latest__description { margin-bottom: var(--pma-spacing-sm, 16px); color: var(--pma-text, #111); }
.pma-latest__links { margin-top: var(--pma-spacing-sm, 16px); display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }

/* Lista episodi / accordion */
.pma-episode-list { border-top: 1px solid var(--pma-border, #d8d6d1); }
.pma-episode-row { border-bottom: 1px solid var(--pma-border, #d8d6d1); }
.pma-episode-row__heading { margin: 0; }
.pma-episode-row__toggle {
	width: 100%;
	display: grid;
	grid-template-columns: var(--pma-episode-number-font-size, 40px) 1fr auto auto 24px;
	align-items: center;
	gap: var(--pma-spacing-sm, 16px);
	background: transparent;
	border: none;
	text-align: left;
	padding: var(--pma-spacing-sm, 16px) 4px;
	cursor: pointer;
	font-family: inherit;
	color: var(--pma-text, #111);
	min-height: 44px;
}
.pma-episode-row__number { font-size: var(--pma-episode-number-font-size, 40px); font-weight: 700; line-height: 1; color: var(--pma-muted, #666); }
.pma-episode-row__title { font-size: 17px; font-weight: 600; }
.pma-episode-row__duration, .pma-episode-row__date { font-size: 13px; color: var(--pma-muted, #666); white-space: nowrap; }
.pma-episode-row__chevron { transition: var(--pma-transition, 220ms ease); }
.pma-episode-row__toggle[aria-expanded="true"] .pma-episode-row__chevron { transform: rotate(180deg); }
.pma-episode-row__panel { padding: 0 4px var(--pma-spacing-md, 28px); }
.pma-episode-row__panel[hidden] { display: none; }
.pma-episode-row__description { margin-bottom: var(--pma-spacing-sm, 16px); }
.pma-episode-row__links { margin-top: var(--pma-spacing-sm, 16px); }

@media (prefers-reduced-motion: reduce), (prefers-reduced-motion: reduce) {
	.pma-podcast-manager * { transition-duration: 0.001ms !important; animation-duration: 0.001ms !important; }
}
html.pma-reduced-motion .pma-podcast-manager * { transition: none !important; animation: none !important; }

/* Player audio */
.pma-player { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: var(--pma-spacing-sm, 16px) 0; }
.pma-player__audio { display: none; }
.pma-player--enhanced .pma-player__audio { display: none; }
.pma-player:not(.pma-player--enhanced) .pma-player__play,
.pma-player:not(.pma-player--enhanced) .pma-player__progress,
.pma-player:not(.pma-player--enhanced) .pma-player__time,
.pma-player:not(.pma-player--enhanced) .pma-player__mute,
.pma-player:not(.pma-player--enhanced) .pma-player__speed {
	display: none;
}
.pma-player:not(.pma-player--enhanced) .pma-player__audio { display: block; width: 100%; }
.pma-player__play, .pma-player__mute, .pma-player__speed {
	background: var(--pma-button-bg, #111);
	color: var(--pma-button-text, #fff);
	border: none;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	min-width: 44px;
	min-height: 44px;
	cursor: pointer;
}
.pma-player__speed { border-radius: var(--pma-border-radius, 0); width: auto; padding: 0 10px; }
.pma-player__progress {
	flex: 1;
	min-width: 120px;
	height: 6px;
	background: var(--pma-border, #d8d6d1);
	position: relative;
	cursor: pointer;
	border-radius: var(--pma-border-radius, 0);
}
.pma-player__progress-fill { position: absolute; top: 0; left: 0; height: 100%; width: 0; background: var(--pma-button-bg, #111); }
.pma-player__time { font-size: 12px; color: var(--pma-muted, #666); white-space: nowrap; }
.pma-player__download { margin-left: auto; font-size: 13px; }

/* Pagine singole */
.pma-single-topic, .pma-single-episode { padding-top: var(--pma-spacing-md, 28px); }
.pma-single-episode__meta { display: block; color: var(--pma-muted, #666); font-size: 13px; margin-bottom: 8px; }
.pma-single-episode__title, .pma-single-topic__title { font-size: var(--pma-title-font-size, 34px); margin: 0 0 var(--pma-spacing-sm, 16px); }

/* Nessun risultato */
.pma-empty-state { padding: var(--pma-spacing-lg, 48px) 0; text-align: center; color: var(--pma-muted, #666); }
