@charset "UTF-8";
/* La web d'en Crusty — estàtica */
@import url('https://fonts.googleapis.com/css2?family=Chewy&display=swap');

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

body {
	background: #000000;
	color: #aaa9a9;
	font-family: Verdana, Geneva, sans-serif;
	font-size: 14px;
	line-height: 1.43;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Chewy', sans-serif;
	font-weight: 400;
	color: #ffffff;
}

a { color: #ffffff; text-decoration: none; }
a:hover { opacity: 0.8; }

img { border: none; }

p { margin-bottom: 1em; }
code { color: transparent; }

/* Llistes del contingut: mateixa indentació que la web original
   (40px per nivell, el valor per defecte del navegador que el
   reset universal es menja). Excloem les dels carrusels (.slides) */
.main-content ul:not(.slides),
.main-content ol:not(.slides) {
	padding-left: 40px;
	margin: 14px 0 24px; /* aire extra entre llistes i la secció següent */
}
.main-content li ul:not(.slides),
.main-content li ol {
	margin: 0;           /* les sub-llistes no afegeixen espai extra */
}

/* Utilitats */
.aligncenter {
	display: block;
	margin: 15px auto;
	max-width: 100%;
	height: auto;
}
.alignleft {
	float: left;
	margin: 0 20px 15px 0;
}
.rtejustify { text-align: justify; }
.text-align-center { text-align: center; }

/* Capçalera: menú d'icones */
.site-header {
	background: #000;
	border-bottom: 1px solid #222;
	position: relative;
	z-index: 15;
}
/* Cercador del header: quadre discret a la dreta;
   desplegat pot tapar el menu però comença cols amb la fitxa visor */
.cer-form {
	position: absolute;
	right: 12px;
	top: 8px;
	z-index: 40;
}
.cer-input {
	width: 150px;
	background: #0d0d0d;
	border: 1px solid #333;
	color: #fff;
	font: 12px Verdana, Geneva, sans-serif;
	padding: 5px 9px;
	transition: border-color 0.2s ease, width 0.25s ease;
}
.cer-input:focus {
	border-color: #a0ce4e;
	outline: none;
	width: 210px;
}
.cer-input::placeholder { color: #666; }
.cer-res {
	position: absolute;
	right: 12px;
	top: 36px;
	width: 330px;
	max-height: 480px;
	overflow: auto;
	margin: 0;
	padding: 0;
	list-style: none;
	background: #0a0a0a;
	border: 1px solid #333;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.7);
	z-index: 45;
}
.cer-res li {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 7px 10px;
	font-size: 12px;
	border-bottom: 1px solid #181818;
	cursor: pointer;
	transition: background-color 0.15s ease;
}
.cer-res li:hover, .cer-res li.sel { background: rgba(160, 206, 78, 0.14); }
.cer-res .cer-ic {
	color: #a0ce4e;
	flex: 0 0 auto;
	width: 14px;
	text-align: center;
}
.cer-res a { color: #fff; flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cer-res .cer-pag { color: #776; color: #778; font-size: 10px; flex: 0 0 auto; }
.cer-res .cer-creu { color: #888; cursor: default; }
li.cer-res .cer-creu:hover { background: none; }
@media (max-width: 700px) {
	.cer-input { width: 110px; }
	.cer-input:focus { width: 160px; }
	.cer-res { width: 270px; }
}
.main-nav ul {
	list-style: none;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding: 8px 0;
}
.main-nav li { margin: 0; }
.main-nav a {
	display: block;
	padding: 10px;
	border: 3px solid transparent;
	line-height: 0;
	transition: border-color 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease;
}
/* En passar-hi per sobre: requadre verd amb llum i imatge més viva
   (sense moure ni escalar la icona: tots els requadres queden
   alineats a dalt i a baix) */
.main-nav a:hover {
	border-color: #a0ce4e;
	background-color: rgba(160, 206, 78, 0.07);
	box-shadow: 0 0 16px rgba(160, 206, 78, 0.45);
}
.main-nav a:hover img {
	filter: saturate(1.15) brightness(1.07);
}
.main-nav img {
	width: 110px;
	height: 110px;
	display: block;
	transition: filter 0.25s ease;
}
/* Pàgina activa: requadre verd fix amb pols suau de llum,
   mateixa mida i posició que la resta d'opcions */
.main-nav li.active a {
	border-color: #a0ce4e;
	background-color: rgba(160, 206, 78, 0.13);
	animation: menuPols 2.2s ease-in-out infinite;
}
@keyframes menuPols {
	0%, 100% { box-shadow: 0 0 14px rgba(160, 206, 78, 0.3), inset 0 0 10px rgba(160, 206, 78, 0.2); }
	50% { box-shadow: 0 0 26px rgba(160, 206, 78, 0.6), inset 0 0 14px rgba(160, 206, 78, 0.34); }
}
.main-nav a img {
	cursor: url('/wp-content/uploads/imatges/menuprincipal/disc_vinil2.png'), auto;
}.menu-toggle {
	display: none;
	background: #000;
	color: #fff;
	border: none;
	font-family: Verdana, Geneva, sans-serif;
	font-size: 15px;
	padding: 12px 20px;
	cursor: pointer;
	width: 100%;
}
@media (max-width: 959px) {
	.menu-toggle { display: block; text-align: center; }
	.main-nav ul { display: none; flex-direction: column; align-items: center; }
	.main-nav ul.open { display: flex; }
	.main-nav li { margin: 6px 0; }
}

/* Barra de títol */
.page-title-bar {
	text-align: center;
	background: #212121;
	border-top: 1px solid #494949;
	border-bottom: 1px solid #494949;
	height: 87px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.page-title-bar h1 {
	font-size: 28px;
	line-height: 1.41;
	color: #ffffff;
	margin: 0;
}

/* Contingut */
.main-content {
	max-width: 1100px;
	margin: 0 auto;
	padding: 55px 20px 40px;
}
/* Fanzines: menys aire entre el títol i la portada */
.main-content#post-252 { padding-top: 18px; }
/* Amistats: totes les portades de fitxa a la mateixa alçada,
   retallades al centre (les fotos tenen proporcions diferents).
   L'embolcall display:table de la fitxa s'ha d'estirar al 100% o
   l'algoritme de taula reajusta l'altura de la imatge */
#post-amistats_friendship .fz-card > div {
	width: 100%;
}
#post-amistats_friendship .fz-card img {
	height: 190px !important; /* ven el height:auto !important del responsive */
	object-fit: cover;
}

/* Dissenys: mateix tractament que Amistats — totes les portades de
   fitxa a la mateixa alçada, retallades al centre (els flyers i
   pòsters tenen proporcions molt diferents entre ells) */
#post-p_sters .fz-card > div,
#post-flyers .fz-card > div {
	width: 100%;
}
#post-p_sters .fz-card img,
#post-flyers .fz-card img {
	height: 280px !important; /* ven el height:auto !important del responsive */
	object-fit: cover;
}
.main-content::after { content: ""; display: table; clear: both; }

/* Portada */
#fons {
	left: 0; top: 0;
	width: 100%; height: 100%;
	position: fixed;
	background-image: url('/wp-content/uploads/imatges/entrada/textura.jpg');
}
#imatge_principal {
	left: 50%; top: 50%;
	width: 263px; height: 388px;
	margin-top: -194px; margin-left: -131px;
	position: fixed;
}
#imatge_entrar {
	right: 0; bottom: 0;
	margin-right: 5px; margin-bottom: 5px;
	position: fixed;
}

/* Carrusel */
.fusion-flexslider {
	position: relative;
	margin: 0 auto;
}
.fusion-flexslider .slides {
	list-style: none;
	position: relative;
}
.fusion-flexslider .slides li {
	display: none;
	text-align: center;
}
.fusion-flexslider .slides li.active-slide {
	display: block;
}
/* El carrusel s'encaixa dins de la pantalla: no cal fer scroll
   per començar a veure el pase de fotos (57vh + capçalera ≈ 100vh) */
.fusion-flexslider .slides img {
	display: block;    /* sense buit de línia base a sota */
	width: auto;
	max-height: min(500px, 57vh);
	max-width: 100%;
	margin: 0 auto;
	height: auto;
}
/* El contingut importat dins dels <li> té <br> i saltos de línia
   que creen línies buides: els colla sense perdre les llegendes */
.fusion-flexslider .slides > li {
	font-size: 0;
	line-height: 0;
}
.fusion-flexslider .slides .slide-excerpt h2 {
	font-size: 20px;
	line-height: 1.3;
}
/* Pàgines de presentacions: menys aire vertical per encaixar tot */
.main-content:has(.fusion-flexslider) {
	padding-top: 30px;
	padding-bottom: 20px;
}
.fusion-flexslider .slide-excerpt {
	text-align: center;
	padding: 10px 0;
}
.fusion-flexslider .slide-excerpt h2 {
	font-size: 20px;
}
.flex-prev, .flex-next {
	position: absolute;
	top: 40%;
	transform: translateY(-50%);
	background: rgba(0,0,0,0.6);
	color: #fff;
	border: none;
	font-size: 28px;
	padding: 12px 16px;
	cursor: pointer;
	z-index: 2;
}
.flex-prev { left: 0; }
.flex-next { right: 0; }
.flex-prev:hover, .flex-next:hover { background: rgba(0,0,0,0.85); opacity: 1; }

/* Lightbox */
.lightbox-overlay {
	display: none;
	position: fixed;
	left: 0; top: 0;
	width: 100%; height: 100%;
	background: rgba(0,0,0,0.9);
	z-index: 100;
	padding: 8px;
	overflow: hidden;
	/* sense selecció blava en arrossegar o fer doble clic a les fotos */
	user-select: none;
	-webkit-user-select: none;
}
/* scroll del body bloquejat mentre el visor és obert */
html.lb-open, html.lb-open body {
	overflow: hidden !important;
}
.lightbox-overlay.open { display: block; }
.lightbox-body {
	display: flex;
	width: 100%; height: 100%;
	gap: 10px;
}
.lightbox-main {
	flex: 1;
	text-align: center;
	cursor: pointer;
	position: relative; /* àncora per a les fletxes i la caption */
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;    /* sense barres: la imatge s'adapta */
}
.lightbox-main > img {
	flex: 1 1 auto;
	min-height: 0;        /* deixa lloc als botons dins de l'alt */
	width: auto;
	height: auto;
	max-width: 100%;
	object-fit: contain;
	-webkit-user-drag: none;
}
.lightbox-caption {
	color: #fff;
	font-family: 'Chewy', sans-serif;
	font-size: 20px;
	padding-top: 12px;
}
/* franja vertical de miniatures (a la dreta) */
.lightbox-thumbs {
	width: 100px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	flex-shrink: 0;
	justify-content: space-between;
}
.lightbox-thumbs button {
	background: none;
	border: none;
	color: #fff;
	font-size: 18px;
	cursor: pointer;
	padding: 2px 8px;
}
.lightbox-thumbs button:hover { color: #a0ce4e; }
/* contacte: retalla la part de sota de la imatge (l'adreça d'enviament
   de material queda només al codi font, comentada) */
.contacte {
	aspect-ratio: 743 / 392;
	object-fit: cover;
	object-position: top center;
}
.lightbox-thumbs .thumb-list {
	flex: 1;
	overflow-y: auto;
	scrollbar-width: none;
}
.lightbox-thumbs .thumb-list::-webkit-scrollbar { display: none; }
.lightbox-thumbs .thumb-list img {
	width: 70px;
	height: 52px;
	object-fit: cover;
	display: block;
	cursor: pointer;
	border: 2px solid transparent;
	/* sense fantasma d'arrossegament en arrossegar la miniatura */
	-webkit-user-drag: none;
}
.lightbox-thumbs .thumb-list img.sel { border-color: #a0ce4e; }
.lightbox-thumbs .thumb-list img:hover { border-color: #a0ce4e; cursor: pointer; }

/* fletxes de la foto: damunt i sota de la imatge, mateix estil i mida
   que les laterals del carrusel (caixa fosca, mateixa lletra i padding) */
.lightbox-main .lb-btn {
	position: static;
	flex: 0 0 auto;
	align-self: center;
	background: rgba(0,0,0,0.6);
	color: #fff;
	border: none;
	font-size: 28px;
	line-height: 1;
	padding: 12px 16px;
	margin: 8px 0;
	cursor: pointer;
}
.lightbox-main .lb-btn:hover { color: #a0ce4e; background: rgba(0,0,0,0.85); opacity: 1; }
/* als extrems queda visible però atenuada: veus que hi ha una fletxa
   però entens que no hi ha més fotos; el clic no fa res i no tanca */
.lightbox-main .lb-btn:disabled { opacity: 0.25; cursor: default; }
.lightbox-main .lb-btn:disabled:hover { color: #fff; background: rgba(0,0,0,0.6); opacity: 0.25; }
.lightbox-main > img { cursor: default; }
/* Mida destacades: enllaços que obren galeries (page-fanzines i altres) */
.open-gallery:hover { color: #a0ce4e; text-decoration: none; cursor: pointer; }
.fz-covers a:hover, .fz-card a:hover { outline: 3px solid #a0ce4e; outline-offset: -3px; }
.lightbox-caption {
	background: #000;
	width: 100%;
	padding: 8px 0;
	font-family: 'Chewy', sans-serif;
}
/* barra d'eines (amunt-esquerra del visor) */
.lb-toolbar {
	position: absolute;
	top: 10px; left: 10px;
	display: flex;
	z-index: 110;
}
.lb-toolbar button {
	background: rgba(0,0,0,0.7);
	border: 1px solid #444;
	color: #fff;
	font-size: 16px;
	padding: 6px 12px;
	cursor: pointer;
}
.lb-toolbar button:hover { background: #000; opacity: 1; }

/* ============= Transició suau entre pàgines ============= */
/* Navegadors Chromium: fonè creuat automàtic en navegar */
@view-transition {
	navigation: auto;
}
::view-transition-old(root),
::view-transition-new(root) {
	animation-duration: 0.3s;
	animation-timing-function: ease-in-out;
}
/* Reserva per als que no tenen View Transitions: esvaim d'entrada.
   La classe la posa main.js només si el navegador no les suporta */
html.fx-entra body {
	animation: fxEntrada 0.35s ease-out;
}
@keyframes fxEntrada {
	from { opacity: 0; }
}

/* ============= Reproductor d'mp3 (barra inferior) ============= */
.mp3-bar {
	display: none;
	position: fixed;
	left: 0; right: 0; bottom: 0;
	background: linear-gradient(180deg, #24370e 0%, #16250a 55%, #0e1a05 100%);
	color: #fff;
	border-top: 2px solid #a0ce4e;
	box-shadow: 0 -6px 18px rgba(160, 206, 78, 0.25);
	padding: 10px 14px 16px;
	align-items: center;
	gap: 12px;
	z-index: 120;
	font-size: 13px;
}
.mp3-bar.actiu { display: flex; }
/* deixa lloc per la barra fixa: el contingut no queda tapat */
html.mp-open body { padding-bottom: 72px; }
.mp3-bar button {
	background: #151515;
	border: 1px solid #333;
	border-radius: 50%;
	color: #ddd;
	cursor: pointer;
	font-size: 14px;
	width: 32px;
	height: 32px;
	padding: 0;
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease, background-color 0.15s ease;
}
.mp3-bar button:hover {
	color: #a0ce4e;
	border-color: #a0ce4e;
	box-shadow: 0 0 10px rgba(160, 206, 78, 0.4);
}
.mp3-bar button:active { transform: scale(0.92); }
/* mida de les icones SVG dins dels botons (el botó no canvia) */
.mp3-bar button svg { width: 18px; height: 18px; display: block; }
.mp3-bar .mp-play svg { width: 21px; height: 21px; }
/* els de ±10s, pastilles més amples que els circulars */
.mp3-bar .mp-back,
.mp3-bar .mp-fwd {
	border-radius: 16px;
	width: 44px;
	font-size: 11px;
}
/* el play, verd i protagonista */
.mp3-bar .mp-play {
	width: 40px;
	height: 40px;
	font-size: 15px;
	background: #a0ce4e;
	border-color: #a0ce4e;
	color: #08130a;
}
.mp3-bar .mp-play:hover {
	color: #000;
	background: #b9e366;
	box-shadow: 0 0 14px rgba(160, 206, 78, 0.55);
}
.mp3-bar .mp-info { flex: 1 1 auto; min-width: 0; }
.mp3-bar .mp-titol {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	margin-bottom: 4px;
}
.mp3-bar .mp-seek {
	height: 8px;
	background: #333;
	border-radius: 4px;
	cursor: pointer;
	position: relative;
}
.mp3-bar .mp-fill {
	height: 100%;
	width: 0;
	background: #a0ce4e;
	border-radius: 4px;
	pointer-events: none;
}
.mp3-bar .mp-time { flex: 0 0 auto; font-size: 12px; min-width: 88px; text-align: center; }
.mp3-bar .mp-vol { flex: 0 0 auto; width: 90px; accent-color: #a0ce4e; }
/* icona "es pot escoltar" al costat del títol de cada programa */
.mp-icona {
	color: #a0ce4e;
	font-size: 12px;
	margin-left: 6px;
	cursor: pointer;
	vertical-align: 1px;
}
.mp-icona:hover {
	text-shadow: 0 0 10px rgba(160, 206, 78, 0.9);
}
@media (max-width: 640px) {
	.mp3-bar { flex-wrap: wrap; }
	.mp3-bar .mp-vol { width: 70px; }
	html.mp-open body { padding-bottom: 118px; }
}
@media (max-width: 640px) {
	.lightbox-thumbs { width: 56px; }
	.lightbox-thumbs .thumb-list img { width: 40px; height: 30px; }
	.lightbox-overlay { padding: 20px 6px; }
}

/* Botó pujar a dalt */
#toTop {
	display: none;
	position: fixed;
	right: 15px; bottom: 15px;
	width: 40px; height: 40px;
	background: #3e3e3e;
	color: #fff;
	border-radius: 3px;
	text-align: center;
	line-height: 40px;
	font-size: 18px;
	z-index: 50;
}
#toTop:hover { background: #555; opacity: 1; }

/* ---------- Responsive ---------- */

/* Les imatges: mai més amples que la pantalla, encara que amb
   width fixa en estils inline del contingut original */
img, audio, video {
	max-width: 100% !important;
	height: auto !important;
}

@media (max-width: 640px) {
	/* menys aire en pantalla petita */
	.main-content {
		padding: 25px 15px 30px;
	}
	.page-title-bar {
		height: 70px;
	}
	.page-title-bar h1 {
		font-size: 22px;
	}
	/* la icona del menú a dalt ocupa menys */
	.main-nav a { padding: 6px; }
	.main-nav img { width: 80px; height: 80px; }

	/* les imatges "float left" del text ocupen l'ample disponible */
	.alignleft {
		float: none;
		display: block;
		margin: 15px auto;
	}
	/* text justificat en mòbil amb poc ample queda tallat lleig */
	.rtejustify { text-align: left; }
	.main-content { word-wrap: break-word; }

	/* carrusel: menys alt */
	.fusion-flexslider .slides img { max-height: 350px; }
}

