/**
 * Media Cards - Main Stylesheet
 * Spotify-inspired dark theme
 *
 * @package Media_Cards
 */

:root {
	/* Colors - Spotify-inspired palette (defaults, overridden by Customizer) */
	--mc-bg-primary: #121212;
	--mc-bg-secondary: #181818;
	--mc-bg-tertiary: #282828;
	--mc-bg-highlight: #1a1a1a;
	--mc-bg-elevated: #242424;

	--mc-text-primary: #ffffff;
	--mc-text-secondary: #b3b3b3;
	--mc-text-muted: #727272;

	--mc-accent: #1db954;
	--mc-accent-hover: #1ed760;
	--mc-accent-dark: #158a3e;

	--mc-border: #282828;
	--mc-border-light: #333333;

	--mc-star-filled: #ffb800;
	--mc-star-empty: #535353;

	/* Badges */
	--mc-badge-green: #1db954;
	--mc-badge-orange: #ff9800;
	--mc-badge-red: #e53935;
	--mc-badge-blue: #2196f3;
	--mc-badge-purple: #9c27b0;
	--mc-badge-gray: #727272;

	/* Shadows */
	--mc-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.3);
	--mc-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
	--mc-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
	--mc-shadow-card: 0 8px 24px rgba(0, 0, 0, 0.3);

	/* Spacing */
	--mc-space-xs: 4px;
	--mc-space-sm: 8px;
	--mc-space-md: 16px;
	--mc-space-lg: 24px;
	--mc-space-xl: 32px;
	--mc-space-2xl: 48px;
	--mc-space-3xl: 64px;

	/* Border Radius */
	--mc-radius-sm: 4px;
	--mc-radius-md: 8px;
	--mc-radius-lg: 12px;
	--mc-radius-xl: 16px;
	--mc-radius-full: 50%;

	/* Typography */
	--mc-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
	--mc-font-mono: 'SF Mono', 'Fira Code', 'Fira Mono', monospace;

	--mc-font-xs: 0.75rem;
	--mc-font-sm: 0.875rem;
	--mc-font-base: 1rem;
	--mc-font-lg: 1.125rem;
	--mc-font-xl: 1.25rem;
	--mc-font-2xl: 1.5rem;
	--mc-font-3xl: 2rem;
	--mc-font-4xl: 3rem;

	/* Transitions */
	--mc-transition-fast: 150ms ease;
	--mc-transition-base: 250ms ease;
	--mc-transition-slow: 400ms ease;

	/* Layout */
	--mc-max-width: 1200px;
	--mc-sidebar-width: 300px;
	--mc-header-height: 64px;
	--mc-player-height: 72px;

	/* Customizer-driven properties (set via inline CSS from customizer.php) */
	--mc-primary: #1db954;
	--mc-secondary: #121212;
	--mc-bg: #121212;
	--mc-text: #ffffff;
	--mc-text-secondary: #b3b3b3;
	--mc-card-bg: #181818;
	--mc-player-color: #1db954;
	--mc-link: #1db954;
	--mc-header-bg: rgba(18, 18, 18, 0.95);
	--mc-footer-bg: #121212;
	--mc-heading-color: #ffffff;
	--mc-font-heading: system-ui, -apple-system, sans-serif;
	--mc-font-body: system-ui, -apple-system, sans-serif;
	--mc-font-size-base: 16px;
	--mc-font-weight-heading: 700;
	--mc-font-line-height: 1.6;
	--mc-font-letter-spacing: 0px;
	--mc-font-size-h1: var(--mc-font-4xl);
	--mc-font-size-h2: var(--mc-font-2xl);
	--mc-font-size-h3: var(--mc-font-xl);
	--mc-content-padding: 24px;
	--mc-grid-gap: 24px;
	--mc-section-spacing: 64px;
	--mc-grid-columns: repeat(auto-fill, minmax(200px, 1fr));
	--mc-grid-columns-mobile: repeat(2, 1fr);
	--mc-content-width: 1200px;
	--mc-sidebar-width: 300px;
	--mc-logo-max-width: 200px;
	--mc-nav-font-size: 14px;
	--mc-nav-font-weight: 600;
	--mc-card-radius: 12px;
	--mc-card-body-padding: 16px;
	--mc-card-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
	--mc-card-shadow-hover: 0 8px 24px rgba(0, 0, 0, 0.3);
	--mc-card-hover-transform: translateY(-2px);
	--mc-card-bg-hover: #282828;
	--mc-card-thumb-ratio: 1/1;
	--mc-card-title-lines: 2;
	--mc-player-bg: #121212;
	--mc-player-height: 72px;
	--mc-player-radius: 8px;
	--mc-btn-radius: 50px;
	--mc-btn-padding-x: 24px;
	--mc-btn-padding-y: 8px;
	--mc-btn-font-weight: 600;
	--mc-btn-primary-text: #000000;
	--mc-btn-ghost-hover-bg: #333333;
	--mc-hero-text-align: center;
	--mc-hero-bg: transparent;
	--mc-hero-text-color: inherit;
	--mc-single-hero-radius: 16px;
	--mc-footer-padding: 48px;
	--mc-footer-copyright-align: left;
}

/* ==========================================
   RESET & BASE
   ========================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	font-size: 16px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	scroll-behavior: smooth;
}

body {
	font-family: var(--mc-font-body);
	font-size: var(--mc-font-size-base);
	line-height: var(--mc-font-line-height);
	letter-spacing: var(--mc-font-letter-spacing);
	color: var(--mc-text-primary);
	background-color: var(--mc-bg-primary);
	min-height: 100vh;
}

a {
	color: inherit;
	text-decoration: none;
	transition: color var(--mc-transition-fast);
}

a:hover {
	color: var(--mc-link);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

button {
	font-family: inherit;
	cursor: pointer;
	border: none;
	background: none;
	color: inherit;
}

ul, ol {
	list-style: none;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: var(--mc-font-weight-heading);
	line-height: 1.2;
	color: var(--mc-heading-color);
	text-transform: var(--mc-heading-text-transform, none);
	letter-spacing: var(--mc-heading-letter-spacing, 0);
	text-shadow: var(--mc-heading-text-shadow, none);
}

h1 { font-size: var(--mc-font-size-h1); }
h2 { font-size: var(--mc-font-size-h2); }
h3 { font-size: var(--mc-font-size-h3); }
h4 { font-size: var(--mc-font-size-h4); }
h5 { font-size: var(--mc-font-size-h5); }
h6 { font-size: var(--mc-font-size-h6); }

blockquote {
	margin: var(--mc-space-lg) 0;
	padding: var(--mc-space-md) var(--mc-space-lg);
	border-left: var(--mc-blockquote-border-width, 4px) solid var(--mc-blockquote-border-color, var(--mc-primary));
	font-size: var(--mc-blockquote-font-size, var(--mc-font-lg));
	font-weight: var(--mc-blockquote-font-weight, 400);
	font-style: italic;
	color: var(--mc-text-secondary);
	background: var(--mc-card-bg);
	border-radius: 0 var(--mc-radius-md) var(--mc-radius-md) 0;
}

blockquote cite {
	display: block;
	margin-top: var(--mc-space-sm);
	font-size: var(--mc-font-sm);
	font-style: normal;
	color: var(--mc-text-muted);
}

figcaption,
.wp-caption-text,
.entry-caption {
	font-size: var(--mc-caption-font-size, var(--mc-font-sm));
	color: var(--mc-text-muted);
	margin-top: var(--mc-space-xs);
}

p {
	margin-bottom: var(--mc-paragraph-spacing, 16px);
}

/* ==========================================
   LAYOUT
   ========================================== */

.mc-app {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.mc-content {
	flex: 1;
	padding: var(--mc-content-padding) var(--mc-content-padding);
	max-width: var(--mc-content-width);
	margin: 0 auto;
	width: 100%;
}

/* ==========================================
   HEADER
   ========================================== */

.mc-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--mc-header-bg);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--mc-border);
	height: var(--mc-header-height);
}

.mc-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: var(--mc-content-width);
	margin: 0 auto;
	padding: 0 var(--mc-content-padding);
	height: 100%;
}

/* Header Image (background banner below header bar) */
.mc-header__image-wrap {
	position: relative;
	height: var(--mc-header-image-height, 300px);
	overflow: hidden;
}

.mc-header__image-wrap--parallax .mc-header__image {
	transform: translateY(0);
}

.mc-header__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--mc-header-image-position, center);
	display: block;
}

.mc-header__image-overlay {
	position: absolute;
	inset: 0;
	background: var(--mc-header-image-overlay-color, #000000);
	opacity: calc(var(--mc-header-image-overlay, 50) / 100);
}

.mc-header__logo {
	display: flex;
	align-items: center;
	gap: var(--mc-space-sm);
}

.mc-header__site-name {
	font-size: var(--mc-font-xl);
	font-weight: 700;
	color: var(--mc-text-primary);
}

.mc-header__nav {
	display: flex;
	align-items: center;
}

.mc-nav__list {
	display: flex;
	gap: var(--mc-space-xs);
}

.mc-nav__list li {
	position: relative;
}

.mc-nav__list a {
	display: block;
	padding: var(--mc-space-sm) var(--mc-space-md);
	color: var(--mc-text-secondary);
	font-size: var(--mc-nav-font-size);
	font-weight: var(--mc-nav-font-weight);
	border-radius: var(--mc-radius-md);
	transition: all var(--mc-transition-fast);
}

.mc-nav__list a:hover,
.mc-nav__list li.current-menu-item a {
	color: var(--mc-text-primary);
	background: var(--mc-bg-tertiary);
}

.mc-header__actions {
	display: flex;
	align-items: center;
	gap: var(--mc-space-md);
}

.mc-header__user {
	display: flex;
	align-items: center;
	gap: var(--mc-space-sm);
}

.mc-header__user-name {
	font-size: var(--mc-font-sm);
	color: var(--mc-text-secondary);
}

.mc-header__search-toggle,
.mc-header__menu-toggle {
	display: none;
	width: 36px;
	height: 36px;
	border-radius: var(--mc-radius-full);
	align-items: center;
	justify-content: center;
	color: var(--mc-text-secondary);
	transition: all var(--mc-transition-fast);
}

.mc-header__search-toggle:hover,
.mc-header__menu-toggle:hover {
	color: var(--mc-text-primary);
	background: var(--mc-bg-tertiary);
}

/* Search Bar */
.mc-search-bar {
	display: none;
	max-width: var(--mc-content-width);
	margin: 0 auto;
	padding: var(--mc-space-md) var(--mc-content-padding);
}

.mc-search-bar[aria-hidden="false"] {
	display: block;
}

/* ==========================================
   BUTTONS
   ========================================== */

.mc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--mc-space-sm);
	padding: var(--mc-btn-padding-y) var(--mc-btn-padding-x);
	font-size: var(--mc-font-sm);
	font-weight: var(--mc-btn-font-weight);
	border-radius: var(--mc-btn-radius);
	transition: all var(--mc-transition-fast);
	white-space: nowrap;
}

.mc-btn--primary {
	background: var(--mc-accent);
	color: var(--mc-btn-primary-text);
}

.mc-btn--primary:hover {
	background: var(--mc-accent-hover);
	transform: scale(1.02);
}

.mc-btn--ghost {
	background: transparent;
	color: var(--mc-text-secondary);
	border: 1px solid var(--mc-border-light);
}

.mc-btn--ghost:hover {
	color: var(--mc-text-primary);
	background: var(--mc-btn-ghost-hover-bg);
	border-color: var(--mc-text-primary);
}

.mc-btn--small {
	padding: var(--mc-space-xs) var(--mc-space-md);
	font-size: var(--mc-font-xs);
}

/* ==========================================
   BADGES
   ========================================== */

.mc-badge {
	display: inline-flex;
	align-items: center;
	padding: 2px 10px;
	font-size: var(--mc-font-xs);
	font-weight: 600;
	border-radius: var(--mc-radius-full);
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.mc-badge--type {
	background: var(--mc-bg-tertiary);
	color: var(--mc-text-secondary);
}

.mc-badge--type.mc-badge--audio { background: rgba(29, 185, 84, 0.15); color: var(--mc-accent); }
.mc-badge--type.mc-badge--video { background: rgba(33, 150, 243, 0.15); color: #2196f3; }
.mc-badge--type.mc-badge--testo { background: rgba(255, 152, 0, 0.15); color: #ff9800; }
.mc-badge--type.mc-badge--canzone { background: rgba(156, 39, 176, 0.15); color: #9c27b0; }
.mc-badge--type.mc-badge--podcast { background: rgba(233, 30, 99, 0.15); color: #e91e63; }

.mc-badge--raccolta {
	background: rgba(29, 185, 84, 0.15);
	color: var(--mc-accent);
}

.mc-badge--access {
	font-size: var(--mc-font-xs);
}

.mc-tag--access {
	font-size: var(--mc-font-xs);
	padding: 2px 10px;
	border-radius: var(--mc-radius-full);
	font-weight: 500;
}

.mc-tag--access.mc-tag--green { background: rgba(29, 185, 84, 0.15); color: var(--mc-badge-green); }
.mc-tag--access.mc-tag--orange { background: rgba(255, 152, 0, 0.15); color: var(--mc-badge-orange); }
.mc-tag--access.mc-tag--red { background: rgba(229, 57, 53, 0.15); color: var(--mc-badge-red); }
.mc-tag--access.mc-tag--blue { background: rgba(33, 150, 243, 0.15); color: var(--mc-badge-blue); }
.mc-tag--access.mc-tag--gray { background: rgba(114, 114, 114, 0.15); color: var(--mc-badge-gray); }

.mc-tag--bold {
	font-weight: 700;
}

.mc-tag--category {
	background: rgba(33, 150, 243, 0.12);
	color: #64b5f6;
	font-weight: 700;
}

.mc-tag--category:hover {
	background: rgba(33, 150, 243, 0.22);
	color: #90caf9;
}

.mc-badge--green { background: rgba(29, 185, 84, 0.15); color: var(--mc-badge-green); }
.mc-badge--orange { background: rgba(255, 152, 0, 0.15); color: var(--mc-badge-orange); }
.mc-badge--red { background: rgba(229, 57, 53, 0.15); color: var(--mc-badge-red); }
.mc-badge--blue { background: rgba(33, 150, 243, 0.15); color: var(--mc-badge-blue); }
.mc-badge--gray { background: rgba(114, 114, 114, 0.15); color: var(--mc-badge-gray); }

/* ==========================================
   BREADCRUMB
   ========================================== */

.mc-breadcrumb {
	margin-bottom: var(--mc-space-lg);
}

.mc-breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mc-space-xs);
	font-size: var(--mc-font-sm);
}

.mc-breadcrumb__item {
	display: flex;
	align-items: center;
	gap: var(--mc-space-xs);
}

.mc-breadcrumb__item:not(:last-child)::after {
	content: '/';
	color: var(--mc-text-muted);
	margin-left: var(--mc-space-xs);
}

.mc-breadcrumb__link {
	color: var(--mc-text-secondary);
}

.mc-breadcrumb__link:hover {
	color: var(--mc-text-primary);
}

.mc-breadcrumb__current {
	color: var(--mc-text-primary);
	font-weight: 500;
}

/* ==========================================
   SECTION TITLES
   ========================================== */

.mc-section-title {
	font-size: var(--mc-font-xl);
	font-weight: 700;
	margin-bottom: var(--mc-space-md);
	color: var(--mc-text-primary);
}

.mc-section__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: var(--mc-space-lg);
}

.mc-section__title {
	font-size: var(--mc-font-size-h2);
	font-weight: var(--mc-font-weight-heading);
}

.mc-section__link {
	font-size: var(--mc-font-sm);
	font-weight: 600;
	color: var(--mc-text-secondary);
}

.mc-section__link:hover {
	color: var(--mc-text-primary);
}

/* ==========================================
   GRID LAYOUTS
   ========================================== */

.mc-grid--cards {
	display: grid;
	grid-template-columns: var(--mc-grid-columns);
	gap: var(--mc-grid-gap);
}

.mc-grid--raccolte {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: var(--mc-grid-gap);
}

/* ==========================================
   MEDIA CARD (Grid Item)
   ========================================== */

.mc-card {
	background: var(--mc-card-bg);
	border-radius: var(--mc-card-radius);
	overflow: hidden;
	transition: all var(--mc-transition-base);
	box-shadow: var(--mc-card-shadow);
}

.mc-card:hover {
	background: var(--mc-card-bg-hover);
	transform: var(--mc-card-hover-transform);
	box-shadow: var(--mc-card-shadow-hover);
}

.mc-card__link {
	display: block;
	color: inherit;
}

.mc-card__thumb {
	position: relative;
	aspect-ratio: var(--mc-card-thumb-ratio);
	overflow: hidden;
	background: var(--mc-bg-tertiary);
}

.mc-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mc-card__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--mc-bg-tertiary), var(--mc-bg-elevated));
}

.mc-card__placeholder .mc-icon {
	font-size: 3rem;
	color: var(--mc-text-muted);
}

.mc-card__play-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.4);
	opacity: 0;
	transition: opacity var(--mc-transition-fast);
}

.mc-card:hover .mc-card__play-overlay {
	opacity: 1;
}

.mc-card__play-btn {
	width: 48px;
	height: 48px;
	border-radius: var(--mc-radius-full);
	background: var(--mc-accent);
	color: #000;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.2rem;
	box-shadow: var(--mc-shadow-lg);
	transition: transform var(--mc-transition-fast);
}

.mc-card:hover .mc-card__play-btn {
	transform: scale(1.05);
}

.mc-card__duration {
	position: absolute;
	bottom: var(--mc-space-sm);
	right: var(--mc-space-sm);
	background: rgba(0, 0, 0, 0.8);
	color: var(--mc-text-primary);
	padding: 2px 6px;
	border-radius: var(--mc-radius-sm);
	font-size: var(--mc-font-xs);
	font-weight: 500;
}

.mc-card__access {
	position: absolute;
	top: var(--mc-space-sm);
	right: var(--mc-space-sm);
}

.mc-card__body {
	padding: var(--mc-card-body-padding);
}

.mc-card__type {
	margin-bottom: var(--mc-space-sm);
}

.mc-card__title {
	font-size: var(--mc-font-base);
	font-weight: var(--mc-font-weight-heading);
	margin-bottom: var(--mc-space-xs);
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: var(--mc-card-title-lines);
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.mc-card__artist {
	font-size: var(--mc-font-sm);
	color: var(--mc-text-secondary);
	margin-bottom: var(--mc-space-xs);
}

.mc-card__excerpt {
	font-size: var(--mc-font-xs);
	color: var(--mc-text-muted);
	margin-bottom: var(--mc-space-sm);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.mc-card__meta {
	font-size: var(--mc-font-xs);
	color: var(--mc-text-muted);
	margin-bottom: var(--mc-space-sm);
}

.mc-card__date,
.mc-card__location {
	display: block;
}

.mc-card__stats {
	display: flex;
	gap: var(--mc-space-md);
	font-size: var(--mc-font-xs);
	color: var(--mc-text-muted);
}

.mc-card__stat {
	display: flex;
	align-items: center;
	gap: var(--mc-space-xs);
}

.mc-card__rating {
	display: flex;
	gap: 2px;
}

/* ==========================================
   RATING STARS
   ========================================== */

.mc-rating__stars {
	display: flex;
	gap: 2px;
}

.mc-star {
	font-size: 1rem;
}

.mc-star--filled {
	color: var(--mc-star-filled);
}

.mc-star--empty {
	color: var(--mc-star-empty);
}

/* ==========================================
   TAGS
   ========================================== */

.mc-tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mc-space-xs);
}

.mc-tag {
	display: inline-block;
	padding: 2px 10px;
	background: var(--mc-bg-tertiary);
	color: var(--mc-text-secondary);
	border-radius: var(--mc-radius-full);
	font-size: var(--mc-font-xs);
	font-weight: 500;
	transition: all var(--mc-transition-fast);
}

.mc-tag:hover {
	background: var(--mc-border-light);
	color: var(--mc-text-primary);
}

.mc-tag--small {
	padding: 1px 8px;
	font-size: 0.7rem;
}

/* ==========================================
   HERO SECTION (Homepage)
   ========================================== */

.mc-hero {
	padding: var(--mc-space-3xl) 0;
	text-align: var(--mc-hero-text-align);
	margin-bottom: var(--mc-section-spacing);
	background: var(--mc-hero-bg);
	color: var(--mc-hero-text-color);
}

.mc-hero__title {
	font-size: var(--mc-font-size-h1);
	font-weight: 800;
	margin-bottom: var(--mc-space-md);
	background: linear-gradient(135deg, var(--mc-accent), #1ed760);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.mc-hero__description {
	font-size: var(--mc-font-lg);
	color: var(--mc-text-secondary);
}

/* ==========================================
   SECTION SPACING
   ========================================== */

.mc-section {
	margin-bottom: var(--mc-section-spacing);
}

/* ==========================================
   SINGLE MEDIA CARD
   ========================================== */

.mc-single__hero {
	margin-bottom: var(--mc-space-xl);
	border-radius: var(--mc-single-hero-radius);
	overflow: hidden;
	background: var(--mc-bg-secondary);
}

.mc-single__content {
	display: grid;
	grid-template-columns: 1fr var(--mc-sidebar-width);
	gap: var(--mc-space-2xl);
}

.mc-single__main {
	min-width: 0;
}

.mc-single__header {
	margin-bottom: var(--mc-space-xl);
}

.mc-single__track-num {
	font-size: var(--mc-font-sm);
	color: var(--mc-text-muted);
	margin-bottom: var(--mc-space-xs);
	display: block;
}

.mc-single__title {
	font-size: var(--mc-font-size-h1);
	font-weight: 800;
	margin-bottom: var(--mc-space-sm);
}

.mc-single__meta {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: var(--mc-space-md);
	padding: var(--mc-space-lg);
	background: var(--mc-bg-secondary);
	border-radius: var(--mc-radius-lg);
	margin-bottom: var(--mc-space-xl);
}

.mc-meta__item {
	display: flex;
	flex-direction: column;
	gap: var(--mc-space-xs);
}

.mc-meta__label {
	font-size: var(--mc-font-xs);
	color: var(--mc-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-weight: 600;
}

.mc-meta__value {
	font-size: var(--mc-font-sm);
	color: var(--mc-text-primary);
}

.mc-single__collection {
	margin-bottom: var(--mc-space-xl);
}

.mc-collection-link {
	display: inline-flex;
	align-items: center;
	gap: var(--mc-space-sm);
	padding: var(--mc-space-md) var(--mc-space-lg);
	background: var(--mc-bg-secondary);
	border-radius: var(--mc-radius-lg);
	color: var(--mc-text-secondary);
	font-size: var(--mc-font-sm);
	font-weight: 500;
	transition: all var(--mc-transition-fast);
}

.mc-collection-link:hover {
	background: var(--mc-bg-tertiary);
	color: var(--mc-text-primary);
}

.mc-single__summary,
.mc-single__text-content {
	margin-bottom: var(--mc-space-xl);
}

.mc-single__summary-content,
.mc-single__text-body {
	color: var(--mc-text-secondary);
	line-height: 1.8;
}

.mc-single__text-body p {
	margin-bottom: var(--mc-space-md);
}

/* ==========================================
   ACCORDION
   ========================================== */

.mc-accordion__toggle {
	display: flex;
	align-items: center;
	gap: var(--mc-space-sm);
	width: 100%;
	padding: var(--mc-space-md) 0;
	font-size: var(--mc-font-lg);
	font-weight: 700;
	color: var(--mc-text-primary);
	text-align: left;
	border-bottom: 1px solid var(--mc-border);
	transition: color var(--mc-transition-fast);
}

.mc-accordion__toggle:hover {
	color: var(--mc-accent);
}

.mc-accordion__icon {
	font-size: var(--mc-font-sm);
	transition: transform var(--mc-transition-base);
}

.mc-accordion__toggle[aria-expanded="true"] .mc-accordion__icon {
	transform: rotate(90deg);
}

.mc-accordion__count {
	font-size: var(--mc-font-sm);
	color: var(--mc-text-muted);
	font-weight: 400;
	margin-left: auto;
}

.mc-accordion__content {
	max-height: 0;
	overflow: hidden;
	transition: max-height var(--mc-transition-slow);
}

.mc-accordion__content[aria-hidden="false"] {
	max-height: 5000px;
}

.mc-transcript__body {
	padding: var(--mc-space-lg) 0;
	color: var(--mc-text-secondary);
	line-height: 2;
}

.mc-transcript__body p {
	margin-bottom: var(--mc-space-md);
}

/* Transcript timestamp highlighting */
.mc-transcript__timestamp {
	display: inline-block;
	padding: 0 var(--mc-space-xs);
	margin: 0 var(--mc-space-xs);
	background: var(--mc-bg-tertiary);
	color: var(--mc-text-muted);
	font-family: monospace;
	font-size: var(--mc-font-xs);
	border-radius: var(--mc-radius-sm);
	cursor: pointer;
	transition: all var(--mc-transition-fast);
	vertical-align: middle;
}

.mc-transcript__timestamp:hover {
	background: var(--mc-accent-dark);
	color: var(--mc-text-primary);
}

.mc-transcript__timestamp--active {
	background: var(--mc-accent);
	color: var(--mc-bg-primary);
	font-weight: 600;
	box-shadow: 0 0 0 2px var(--mc-accent);
}

.mc-transcript__timestamp:focus {
	outline: 2px solid var(--mc-accent);
	outline-offset: 2px;
}

/* ==========================================
   ID3 METADATA
   ========================================== */

.mc-id3 {
	padding: var(--mc-space-lg);
	background: var(--mc-bg-secondary);
	border-radius: var(--mc-radius-lg);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: var(--mc-space-xl);
}

.mc-id3__group-title {
	font-size: var(--mc-font-sm);
	color: var(--mc-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: var(--mc-space-md);
}

.mc-id3__list {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: var(--mc-space-xs) var(--mc-space-md);
}

.mc-id3__label {
	font-size: var(--mc-font-sm);
	color: var(--mc-text-muted);
	font-weight: 500;
}

.mc-id3__value {
	font-size: var(--mc-font-sm);
	color: var(--mc-text-primary);
}

/* ==========================================
   AGGIUNTE / ALLEGATI
   ========================================== */

.mc-single__additions {
	margin-bottom: var(--mc-space-xl);
}

.mc-single__documents-link {
	display: inline-block;
	margin-top: var(--mc-space-sm);
	font-size: var(--mc-font-sm);
	font-weight: 600;
	color: var(--mc-accent);
	text-decoration: none;
	transition: color var(--mc-transition-fast);
}

.mc-single__documents-link:hover {
	color: var(--mc-accent-hover);
}

.mc-additions__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--mc-space-lg);
}

.mc-addition {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--mc-space-sm);
}

.mc-addition .mc-player--addition {
	border-radius: var(--mc-radius-md);
	overflow: hidden;
	background: var(--mc-bg-secondary);
	border: 1px solid var(--mc-border);
}

.mc-addition .mc-player--addition audio,
.mc-addition .mc-player--addition video {
	width: 100%;
	display: block;
}

.mc-addition__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mc-space-sm);
	min-width: 0;
}

.mc-addition__title {
	font-size: var(--mc-font-md);
	font-weight: 600;
	color: var(--mc-text-primary);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.mc-addition__ext {
	font-size: var(--mc-font-xs);
	color: var(--mc-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.mc-addition__link {
	margin-left: auto;
	font-size: var(--mc-font-sm);
	font-weight: 600;
	color: var(--mc-accent);
	text-decoration: none;
	transition: color var(--mc-transition-fast);
	flex-shrink: 0;
}

.mc-addition__link:hover {
	color: var(--mc-accent-hover);
}

.mc-addition__icon {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	flex-shrink: 0;
	border-radius: var(--mc-radius-sm);
	background: var(--mc-accent);
	color: #fff;
	font-size: var(--mc-font-xs);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.mc-addition__file-link {
	display: flex;
	align-items: center;
	gap: var(--mc-space-md);
	padding: var(--mc-space-sm) var(--mc-space-md);
	border-radius: var(--mc-radius-md);
	background: var(--mc-bg-secondary);
	border: 1px solid var(--mc-border);
	transition: all var(--mc-transition-fast);
	text-decoration: none;
	color: inherit;
	width: 100%;
	min-width: 0;
}

.mc-addition__file-link:hover {
	background: var(--mc-bg-tertiary);
	border-color: var(--mc-accent);
}

.mc-addition__icon-wrap {
	flex-shrink: 0;
}

.mc-addition__icon-wrap .mc-addition__thumb {
	width: 80px;
	height: 80px;
	object-fit: cover;
	border-radius: var(--mc-radius-md);
}

.mc-addition__file-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	border-radius: var(--mc-radius-md);
	font-size: var(--mc-font-sm);
	font-weight: 700;
	letter-spacing: 1px;
	flex-shrink: 0;
}

.mc-file-icon--pdf { background: rgba(229, 57, 53, 0.15); color: #e53935; }
.mc-file-icon--doc { background: rgba(33, 150, 243, 0.15); color: #2196f3; }
.mc-file-icon--ppt { background: rgba(255, 152, 0, 0.15); color: #ff9800; }
.mc-file-icon--sheet { background: rgba(29, 185, 84, 0.15); color: #1db954; }
.mc-file-icon--zip { background: rgba(156, 39, 176, 0.15); color: #9c27b0; }
.mc-file-icon--text { background: rgba(114, 114, 114, 0.15); color: var(--mc-text-secondary); }
.mc-file-icon--default { background: var(--mc-bg-tertiary); color: var(--mc-text-muted); }

/* ==========================================
   SINGLE RACCOLTA
   ========================================== */

.mc-raccolta__hero {
	position: relative;
	min-height: 400px;
	display: flex;
	align-items: flex-end;
	padding: var(--mc-space-3xl) var(--mc-space-2xl);
	border-radius: var(--mc-radius-xl);
	overflow: hidden;
	margin-bottom: var(--mc-space-2xl);
}

.mc-raccolta__hero-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	filter: blur(20px) brightness(0.4);
	transform: scale(1.1);
}

.mc-raccolta__hero-bg--default {
	background: linear-gradient(135deg, var(--mc-bg-tertiary), var(--mc-accent-dark));
}

.mc-raccolta__hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.3));
}

.mc-raccolta__hero-content {
	position: relative;
	z-index: 1;
	width: 100%;
}

.mc-raccolta__title {
	font-size: var(--mc-font-4xl);
	font-weight: 800;
	margin-bottom: var(--mc-space-md);
}

.mc-raccolta__description {
	font-size: var(--mc-font-lg);
	color: var(--mc-text-secondary);
	margin-bottom: var(--mc-space-lg);
	max-width: 700px;
}

.mc-raccolta__info {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mc-space-lg);
	margin-bottom: var(--mc-space-lg);
	font-size: var(--mc-font-sm);
	color: var(--mc-text-secondary);
}

.mc-raccolta__date,
.mc-raccolta__location,
.mc-raccolta__organizer {
	display: flex;
	align-items: center;
	gap: var(--mc-space-xs);
}

.mc-raccolta__stats {
	display: flex;
	gap: var(--mc-space-lg);
	margin-bottom: var(--mc-space-lg);
	font-size: var(--mc-font-sm);
	color: var(--mc-text-muted);
}

.mc-raccolta__stat {
	display: flex;
	align-items: center;
	gap: var(--mc-space-xs);
}

.mc-raccolta__full-description {
	margin-bottom: var(--mc-space-2xl);
}

.mc-raccolta__description-text {
	color: var(--mc-text-secondary);
	line-height: 1.8;
	max-width: 800px;
}

.mc-raccolta__terms {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mc-space-sm);
	margin-bottom: var(--mc-space-md);
}

.mc-raccolta__terms .mc-meta__label {
	margin-right: var(--mc-space-sm);
}

/* ==========================================
   PLAYLIST
   ========================================== */

.mc-playlist {
	background: var(--mc-bg-secondary);
	border-radius: var(--mc-radius-lg);
	overflow: hidden;
}

.mc-playlist__item {
	display: grid;
	grid-template-columns: 40px 48px 1fr auto auto;
	gap: var(--mc-space-md);
	align-items: center;
	padding: var(--mc-space-md) var(--mc-space-lg);
	color: var(--mc-text-secondary);
	transition: background var(--mc-transition-fast);
	border-bottom: 1px solid var(--mc-border);
}

.mc-playlist__item:last-child {
	border-bottom: none;
}

.mc-playlist__item:hover {
	background: var(--mc-bg-tertiary);
	color: var(--mc-text-primary);
}

.mc-playlist__number {
	font-size: var(--mc-font-sm);
	color: var(--mc-text-muted);
	text-align: center;
}

.mc-playlist__thumb {
	width: 48px;
	height: 48px;
	border-radius: var(--mc-radius-sm);
	overflow: hidden;
	background: var(--mc-bg-tertiary);
	display: flex;
	align-items: center;
	justify-content: center;
}

.mc-playlist__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mc-playlist__thumb .mc-icon {
	color: var(--mc-text-muted);
}

.mc-playlist__info {
	min-width: 0;
}

.mc-playlist__title {
	display: block;
	font-size: var(--mc-font-sm);
	font-weight: 600;
	color: var(--mc-text-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.mc-playlist__artist {
	display: block;
	font-size: var(--mc-font-xs);
	color: var(--mc-text-muted);
}

.mc-playlist__duration {
	font-size: var(--mc-font-sm);
	color: var(--mc-text-muted);
}

.mc-playlist__access {
	font-size: var(--mc-font-xs);
}

/* ==========================================
   RESTRICTED CONTENT
   ========================================== */

.mc-single__restricted {
	padding: var(--mc-space-3xl) 0;
	text-align: center;
}

.mc-restricted {
	max-width: 400px;
	margin: 0 auto;
}

.mc-restricted__icon {
	font-size: 4rem;
	display: block;
	margin-bottom: var(--mc-space-lg);
}

.mc-restricted__title {
	font-size: var(--mc-font-2xl);
	margin-bottom: var(--mc-space-md);
}

.mc-restricted__text {
	color: var(--mc-text-secondary);
	margin-bottom: var(--mc-space-xl);
}

/* ==========================================
   EMPTY STATES
   ========================================== */

.mc-empty-state {
	text-align: center;
	padding: var(--mc-space-3xl) 0;
}

.mc-empty-state__icon {
	font-size: 4rem;
	display: block;
	margin-bottom: var(--mc-space-lg);
}

.mc-empty-state__title {
	font-size: var(--mc-font-2xl);
	margin-bottom: var(--mc-space-md);
}

.mc-empty-state__text {
	color: var(--mc-text-secondary);
	margin-bottom: var(--mc-space-xl);
}

/* ==========================================
   404 PAGE
   ========================================== */

.mc-404 {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 60vh;
	text-align: center;
}

.mc-404__icon {
	font-size: 6rem;
	display: block;
	margin-bottom: var(--mc-space-xl);
}

.mc-404__title {
	font-size: var(--mc-font-4xl);
	margin-bottom: var(--mc-space-md);
}

.mc-404__text {
	color: var(--mc-text-secondary);
	margin-bottom: var(--mc-space-xl);
	font-size: var(--mc-font-lg);
}

.mc-404__actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--mc-space-md);
}

/* ==========================================
   SEARCH FORM
   ========================================== */

.mc-search-form {
	width: 100%;
	max-width: 600px;
}

.mc-search-form__input-wrap {
	display: flex;
	border-radius: var(--mc-radius-full);
	overflow: hidden;
	border: 1px solid var(--mc-border-light);
	transition: border-color var(--mc-transition-fast);
}

.mc-search-form__input-wrap:focus-within {
	border-color: var(--mc-accent);
}

.mc-search-form__input {
	flex: 1;
	padding: var(--mc-space-md) var(--mc-space-lg);
	background: var(--mc-bg-tertiary);
	color: var(--mc-text-primary);
	border: none;
	font-size: var(--mc-font-base);
	outline: none;
}

.mc-search-form__input::placeholder {
	color: var(--mc-text-muted);
}

.mc-search-form__submit {
	padding: var(--mc-space-md) var(--mc-space-lg);
	background: var(--mc-accent);
	color: #000;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background var(--mc-transition-fast);
}

.mc-search-form__submit:hover {
	background: var(--mc-accent-hover);
}

/* ==========================================
   SEARCH RESULTS
   ========================================== */

.mc-search-results__header {
	margin-bottom: var(--mc-space-2xl);
}

.mc-search-results__title {
	font-size: var(--mc-font-3xl);
	margin-bottom: var(--mc-space-sm);
}

.mc-search-results__query {
	color: var(--mc-accent);
}

.mc-search-results__count {
	color: var(--mc-text-secondary);
}

/* ==========================================
   FILTERS
   ========================================== */

.mc-filters {
	margin-bottom: var(--mc-space-xl);
}

.mc-filters__types {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mc-space-sm);
}

.mc-filter-btn {
	display: inline-flex;
	align-items: center;
	gap: var(--mc-space-xs);
	padding: var(--mc-space-sm) var(--mc-space-md);
	background: var(--mc-bg-tertiary);
	color: var(--mc-text-secondary);
	border-radius: var(--mc-radius-full);
	font-size: var(--mc-font-sm);
	font-weight: 500;
	transition: all var(--mc-transition-fast);
}

.mc-filter-btn:hover {
	background: var(--mc-border-light);
	color: var(--mc-text-primary);
}

.mc-filter-btn--active {
	background: var(--mc-text-primary);
	color: var(--mc-bg-primary);
}

.mc-filter-btn__count {
	font-size: var(--mc-font-xs);
	color: var(--mc-text-muted);
}

.mc-filter-btn--active .mc-filter-btn__count {
	color: var(--mc-bg-primary);
}

/* ==========================================
   PAGINATION
   ========================================== */

.mc-pagination {
	display: flex;
	justify-content: center;
	gap: var(--mc-space-xs);
	margin-top: var(--mc-space-2xl);
}

.mc-pagination .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 var(--mc-space-sm);
	background: var(--mc-bg-tertiary);
	color: var(--mc-text-secondary);
	border-radius: var(--mc-radius-sm);
	font-size: var(--mc-font-sm);
	font-weight: 500;
	transition: all var(--mc-transition-fast);
}

.mc-pagination .page-numbers:hover {
	background: var(--mc-border-light);
	color: var(--mc-text-primary);
}

.mc-pagination .page-numbers.current {
	background: var(--mc-accent);
	color: #000;
}

/* ==========================================
   FOOTER
   ========================================== */

.mc-footer {
	background: var(--mc-footer-bg);
	border-top: 1px solid var(--mc-border);
	padding: var(--mc-footer-padding) var(--mc-content-padding);
	margin-top: var(--mc-section-spacing);
	position: relative;
}

.mc-footer--has-bg {
	background-image: var(--mc-footer-bg-image, none);
	background-position: var(--mc-footer-bg-position, center top);
	background-repeat: var(--mc-footer-bg-repeat, no-repeat);
	background-size: var(--mc-footer-bg-size, cover);
}

.mc-footer__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.mc-footer__bg-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: var(--mc-footer-bg-overlay-color, #000000);
	opacity: calc(var(--mc-footer-bg-overlay, 60) / 100);
}

.mc-footer__inner {
	max-width: var(--mc-content-width);
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

.mc-footer__widgets {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: var(--mc-space-2xl);
	margin-bottom: var(--mc-space-2xl);
}

.mc-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: var(--mc-space-lg);
	border-top: 1px solid var(--mc-border);
	text-align: var(--mc-footer-copyright-align);
}

.mc-footer__copyright {
	font-size: var(--mc-font-sm);
	color: var(--mc-text-muted);
}

.mc-footer__copyright a {
	color: var(--mc-text-secondary);
}

.mc-footer__copyright a:hover {
	color: var(--mc-text-primary);
}

.mc-footer__nav-list {
	display: flex;
	gap: var(--mc-space-md);
}

.mc-footer__nav-list a {
	font-size: var(--mc-font-sm);
	color: var(--mc-text-muted);
}

.mc-footer__nav-list a:hover {
	color: var(--mc-text-primary);
}

/* ==========================================
   SCREEN READER ONLY
   ========================================== */

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
