/* Stili della pagina del film: si appoggiano al tema del sito (tpr-bs) e aggiungono solo il necessario.
   Tutte le classi iniziano con qm- per non toccare il resto del sito. */
.qm { --qm-rosso: #cf1111; --qm-zucchero: #6B87A0; --qm-oro: #b8955a; --qm-nero: #16110f; }

.qm-occhiello {
	text-transform: uppercase;
	letter-spacing: .14em;
	font-size: .8rem;
	font-weight: 600;
	color: var(--qm-zucchero);
	margin-bottom: .35rem;
}
.qm-firma { font-style: italic; margin-top: -.25rem; }

.qm-testata { margin: 1rem 0 0; border-radius: .5rem; overflow: hidden; background: var(--qm-nero); box-shadow: 0 10px 30px -12px rgba(0,0,0,.45); }
.qm-testata img { display: block; width: 100%; height: auto; }

.qm-conto {
	margin: 1rem 0 .75rem;
	font-weight: 600;
	font-size: 1.15rem;
	color: var(--qm-rosso);
	min-height: 1.6em;
}
.qm-conto:empty { display: none; }

.qm-info {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2px;
	border-radius: .5rem;
	overflow: hidden;
	background: rgba(255,255,255,.35);
	margin: 1rem 0;
}
.qm-cella {
	background: var(--qm-zucchero);
	color: #fff;
	padding: .9rem 1rem .9rem 3rem;
	position: relative;
	display: flex;
	flex-direction: column;
	line-height: 1.35;
}
.qm-cella i { position: absolute; left: 1rem; top: 1.05rem; font-size: 1.15rem; opacity: .9; }
.qm-etichetta { font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; opacity: .85; margin-bottom: .2rem; }
.qm-valore { font-weight: 600; }
@media (max-width: 575.98px) { .qm-info { grid-template-columns: 1fr; } }

.qm-pulsanti { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; margin-top: 1.25rem; }
.qm-piccolo { font-size: .9rem; color: #555; margin-top: .75rem; margin-bottom: 0; }

.qm-video {
	max-width: 340px;
	margin: 0 auto;
	border-radius: .75rem;
	overflow: hidden;
	background: #000;
	box-shadow: 0 14px 34px -14px rgba(0,0,0,.6);
	aspect-ratio: 9 / 16;
}
.qm-video video { display: block; width: 100%; height: 100%; object-fit: cover; background: #000; }

.qm-citazione {
	border-left: 4px solid var(--qm-zucchero);
	background: #fff;
	padding: .8rem 1rem;
	margin: 0 0 .9rem;
	border-radius: 0 .4rem .4rem 0;
}
.qm-citazione p { font-style: italic; margin-bottom: .3rem; }
.qm-citazione p:last-child { margin-bottom: 0; }
.qm-citazione footer { font-size: .85rem; color: #666; }
.qm-citazione-forte { border-left-color: var(--qm-rosso); }
.qm-citazione-forte p { font-size: 1.1rem; font-weight: 600; }

.qm-attacco { font-size: 1.15rem; font-style: italic; border-left: 4px solid var(--qm-rosso); padding-left: 1rem; }
.qm-crediti { font-size: .9rem; color: #555; border-top: 1px solid rgba(0,0,0,.12); padding-top: .75rem; margin-bottom: 0; }

.qm-galleria { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .5rem; margin-top: 1rem; }
.qm-foto { grid-column: span 2; position: relative; display: block; border-radius: .4rem; overflow: hidden; background: #111; aspect-ratio: 16 / 9; }
.qm-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease, filter .5s ease; filter: saturate(.92); }
.qm-foto:hover img, .qm-foto:focus-visible img { transform: scale(1.04); filter: saturate(1.05); }
.qm-foto-larga { grid-column: span 6; aspect-ratio: 21 / 9; }
.qm-foto-meta { grid-column: span 3; }
.qm-foto span {
	position: absolute; left: 0; right: 0; bottom: 0;
	padding: 2.2rem 1rem .8rem;
	color: #fff; font-style: italic; font-size: 1.05rem;
	background: linear-gradient(transparent, rgba(0,0,0,.72));
	text-shadow: 0 1px 2px rgba(0,0,0,.5);
}
@media (max-width: 575.98px) {
	.qm-galleria { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.qm-foto, .qm-foto-meta { grid-column: span 1; }
	.qm-foto-meta + .qm-foto-meta { grid-column: span 2; }
	.qm-foto-larga { grid-column: span 2; aspect-ratio: 16 / 9; }
	.qm-foto span { font-size: .92rem; }
}

.qm-mappa { border-radius: .5rem; overflow: hidden; background: var(--qm-zucchero); min-height: 260px; height: 100%; }
.qm-mappa iframe { display: block; width: 100%; height: 100%; min-height: 260px; border: 0; }
.qm-mappa-pulsante {
	width: 100%; height: 100%; min-height: 260px;
	border: 0; background: var(--qm-zucchero); color: #fff;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .4rem;
	font-size: 1.1rem; font-weight: 600; cursor: pointer;
}
.qm-mappa-pulsante i { font-size: 2.2rem; }
.qm-mappa-pulsante small { font-weight: 400; font-size: .8rem; opacity: .85; }
.qm-mappa-pulsante:hover { background: #5a7690; }

.qm-domande details { background: #fff; border-radius: .4rem; margin-bottom: .5rem; padding: 0 1rem; }
.qm-domande summary { cursor: pointer; padding: .8rem 0; font-weight: 600; list-style-position: inside; }
.qm-domande summary::marker { color: var(--qm-rosso); }
.qm-domande details[open] summary { border-bottom: 1px solid rgba(0,0,0,.08); }
.qm-domande details p { padding: .7rem 0 .9rem; margin: 0; }

.qm-locandina { display: flex; gap: 1.25rem; align-items: center; margin-top: 1.5rem; }
.qm-locandina > a { flex: 0 0 150px; border-radius: .3rem; overflow: hidden; box-shadow: 0 8px 22px -10px rgba(0,0,0,.5); }
.qm-locandina img { display: block; width: 100%; height: auto; }
@media (max-width: 575.98px) { .qm-locandina { flex-direction: column; text-align: center; } .qm-locandina > a { flex: none; width: 180px; } }

.qm-dopo { border-top: 4px solid var(--qm-rosso); text-align: center; }

/* dopo la serata */
.qm-passato .qm-solo-prima { display: none !important; }

/* versione per WordPress: sezioni separate da un filo invece dei riquadri */
.qm-sezione { padding-top: 1.75rem; margin-top: 1.75rem; border-top: 1px solid rgba(0,0,0,.12); }
.qm-sezione.qm-prima { padding-top: 0; margin-top: 0; border-top: 0; }
.qm-dopo { border-top: 4px solid var(--qm-rosso); padding-bottom: .5rem; }
