/* ------------------------------------------------------------------
   Art'è Pazzi & Fighi — Teatro in Grotta 2026/2027
   Layout da Figma: 1728 x 1117 (sinistra 974 · gap 67 · destra 647 · pr 40)
------------------------------------------------------------------ */

/* --- Font ------------------------------------------------------- */

/* Playfair Display Medium (500): usato solo per il titolo */
@font-face {
	font-family: "Playfair Display";
	src: url("font/playfair-medium.ttf") format("truetype");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

/* Inter variabile: un solo file copre i pesi 400 / 500 / 600 */
@font-face {
	font-family: "Inter";
	src: url("font/Inter.ttf") format("truetype-variations"),
	     url("font/Inter.ttf") format("truetype");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Inter";
	src: url("font/Inter-Italic.ttf") format("truetype-variations"),
	     url("font/Inter-Italic.ttf") format("truetype");
	font-weight: 100 900;
	font-style: italic;
	font-display: swap;
}

/* --- Base ------------------------------------------------------- */

:root {
	--bg: #eae4d4;
	--testo: #000000;
	--rosa: #d56d77;
	--grigio: #b7b1a3;         /* bottone disattivato */
	--bianco: #ffffff;

	/* misure di progetto espresse sulla larghezza Figma (1728px) */
	--gap-colonne: 5.961vw;    /* 103px = 36 di aria nel frame + 67 di gap */
	--pad-destra: 2.315vw;     /* 40px   */

	/* la locandina è alta 100vh: la larghezza segue il rapporto del file (938:1117) */
	--col-sinistra: 83.975vh;  /* = 938px quando l'altezza è 1117px */
}

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

html,
body {
	margin: 0;
	padding: 0;
}

body {
	background: var(--bg);
	color: var(--testo);
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

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

a {
	color: inherit;
	text-decoration: none;
}

/* --- Impaginato ------------------------------------------------- */

.page {
	display: flex;
	align-items: stretch;
	gap: var(--gap-colonne);
	height: 100vh;          /* desktop: sempre esattamente una schermata */
	overflow: hidden;
	padding-right: var(--pad-destra);
}

/* Colonna sinistra: la locandina riempie tutta l'altezza */

.sinistra {
	flex: 0 0 auto;
	width: var(--col-sinistra);
	max-width: 62vw;        /* valvola di sicurezza su finestre molto verticali */
	height: 100vh;
	overflow: hidden;
}

.poster {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* Colonna destra: logo in alto, testo al centro, footer in basso */

.destra {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 60px 0 30px;
	overflow: hidden;
}

.logo {
	width: clamp(150px, 11.748vw, 203px);   /* 203px @1728 */
	height: auto;
}

/* --- Testo con CTA ---------------------------------------------- */

.testo {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 30px;
	width: 82.84%;                          /* 536px su 647px */
	max-width: 640px;                       /* misura di riga sui monitor larghi */
}

.testo-blocco {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
	word-break: break-word;
}

h1 {
	margin: 0;
	font-family: "Playfair Display", Georgia, "Times New Roman", serif;
	font-weight: 500;
	font-size: clamp(34px, 3.009vw, 52px);  /* 52px @1728 */
	line-height: 1.1;
}

.paragrafo p {
	margin: 0;
	font-size: clamp(18px, 1.389vw, 24px);  /* 24px @1728 */
	font-weight: 400;
	line-height: 1.3;
}

.paragrafo em {
	font-weight: 600;
	font-style: italic;
}

.prenota {
	margin-top: 1em !important;             /* riga vuota del layout Figma */
	font-weight: 600;
	font-style: italic;
}

.bottone {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 40px;
	background: var(--rosa);
	color: var(--bianco);
	font-size: clamp(18px, 1.389vw, 24px);
	font-weight: 500;
	line-height: 1.003;
	white-space: nowrap;
	transition: opacity 300ms ease-out;
}

.bottone:hover,
.bottone:focus-visible {
	opacity: 0.85;
}

/* Bottone disattivato: grigio e non cliccabile.
   Basta togliere la classe "disabled" dall'HTML per riattivarlo. */
.bottone.disabled {
	background: var(--grigio);
	color: #666666;
	pointer-events: none;
	cursor: default;
	user-select: none;
}

/* --- Footer ----------------------------------------------------- */

.footer {
	display: flex;
	gap: 20px;
	width: 100%;
	font-size: 14px;
	line-height: 1.2;
}

.footer-col {
	flex: 1 1 0;
	min-width: 0;
}

.footer p {
	margin: 0;
}

.ragione-sociale p {
	font-weight: 600;
}

.indirizzo p {
	font-weight: 500;
}

.indirizzo .piva {
	margin-top: 10px;
}

.contatti .mail {
	font-weight: 400;
}

.contatti .mail strong {
	font-weight: 600;
}

.contatti .mail a:hover {
	text-decoration: underline;
}

.social {
	display: flex;
	align-items: center;
	margin-top: 24px;
}

.social-label {
	width: 49px;
	font-size: 12px;
	font-weight: 600;
}

.social-icone {
	display: flex;
	align-items: center;
	gap: 6px;
}

.social-icone img {
	width: 19px;
	height: 19px;
	transition: opacity 300ms ease-out;
}

.social-icone a:hover img {
	opacity: 0.7;
}

/* --- Responsive: le due colonne vanno una sotto l'altra ---------- */

@media screen and (max-width: 1024px) {

	.page {
		flex-direction: column;
		gap: 0;
		height: auto;           /* impilate: la pagina torna a scorrere */
		overflow: visible;
		padding-right: 0;
	}

	.sinistra {
		flex: 0 0 auto;
		width: 100%;
		max-width: none;
		height: auto;
	}

	.poster {
		width: 100%;
		height: auto;
	}

	/* colonna destra: tutto centrato */

	.destra {
		align-items: center;
		text-align: center;
		padding: 40px 24px 30px;
		gap: 50px;
	}

	.logo {
		width: 203px;
	}

	.testo {
		align-items: center;
		width: 100%;
		max-width: 640px;
	}

	.footer {
		flex-wrap: wrap;
		justify-content: center;
		row-gap: 30px;
	}

	.footer-col {
		flex: 1 1 200px;
	}

	.social {
		justify-content: center;
		gap: 6px;
	}

	.social-label {
		width: auto;
	}
}

@media screen and (max-width: 560px) {

	.destra {
		padding: 50px 20px 30px;
		gap: 40px;
	}

	.logo {
		width: 160px;
	}

	.testo-blocco {
		gap: 50px;
	}

	.testo {
		gap: 20px;
	}

	.footer {
		padding-top:30px;
		flex-direction: column;
		row-gap: 24px;
	}

	.footer-col {
		flex: 0 0 auto;
	}
}
