/*
Theme Name: Montelune
Theme URI: https://montelune.org
Author: Montelune
Description: Circuito adriatico di poker sportivo. Tappe settimanali in casino. 21+.
Version: 3.5
Text Domain: montelune
*/

:root {
	--mln-osso: #070908;
	--mln-carta: #0f1c18;
	--mln-inchiostro: #efe6d4;
	--mln-oliva: #0f3d2e;
	--mln-rame: #e8c36a;
	--mln-fieno: #9aab9c;
	--mln-chip: #8b1e2d;
	--mln-display: "DM Serif Display", serif;
	--mln-text: "Outfit", sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
	font-family: var(--mln-text);
	color: var(--mln-inchiostro);
	background: var(--mln-osso);
	line-height: 1.65;
}
img { max-width: 100%; height: auto; display: block; }
h1, h2, h3 {
	font-family: var(--mln-display);
	font-weight: 400;
	line-height: 1.15;
	margin: 0 0 0.5em;
}
a { color: var(--mln-rame); }
address { font-style: normal; }

.mln-lune,
.mln-lune-vide {
	display: inline-block;
	border: 0;
	cursor: pointer;
	text-decoration: none;
	font-family: var(--mln-text);
	font-size: 0.82rem;
	letter-spacing: 0.06em;
	padding: 11px 16px;
}
.mln-lune { background: var(--mln-rame); color: #0a100e; }
.mln-lune:hover { background: var(--mln-chip); color: var(--mln-inchiostro); }
.mln-lune-vide {
	background: transparent;
	color: var(--mln-inchiostro);
	box-shadow: inset 0 0 0 1px var(--mln-rame);
}
.mln-lune-vide:hover { background: var(--mln-rame); color: #0a100e; }

/* Header: lacquer bar, felt-gold-chip hairline, horizontal nav */
.mln-sala-cima {
	position: sticky;
	top: 0;
	z-index: 20;
	background: #050807;
}
.mln-felt-line {
	height: 4px;
	background: linear-gradient(90deg, var(--mln-oliva) 0%, var(--mln-rame) 52%, var(--mln-chip) 100%);
}
.mln-sala-bar {
	display: flex;
	align-items: center;
	gap: 22px;
	padding: 13px 4vw;
	border-bottom: 1px solid rgba(232, 195, 106, 0.2);
}
.mln-sigla {
	font-family: var(--mln-display);
	font-size: 1.6rem;
	color: var(--mln-inchiostro);
	text-decoration: none;
	line-height: 0.95;
	flex: 0 0 auto;
}
.mln-sigla em {
	display: block;
	font-style: normal;
	font-family: var(--mln-text);
	font-size: 0.62rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--mln-rame);
	margin-top: 5px;
}
.mln-fila { flex: 1; }
.mln-fila-list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0 22px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.mln-fila-list li { margin: 0; list-style: none; }
.mln-fila-list a {
	color: var(--mln-inchiostro);
	text-decoration: none;
	font-size: 0.76rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	border-bottom: 1px solid transparent;
	padding: 4px 0;
}
.mln-fila-list a:hover,
.mln-fila-list .current-menu-item a { border-bottom-color: var(--mln-rame); color: var(--mln-rame); }
.mln-fila-list > li:last-child a {
	background: var(--mln-chip);
	color: var(--mln-inchiostro);
	padding: 7px 12px;
	border-bottom: 0;
}
.mln-piastra {
	box-shadow: inset 0 0 0 1px var(--mln-rame);
	color: var(--mln-rame);
	text-decoration: none;
	padding: 9px 12px;
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	flex: 0 0 auto;
}
.mln-piastra:hover { background: var(--mln-rame); color: #0a100e; }
.mln-quaderno-open {
	display: none;
	background: var(--mln-oliva);
	color: var(--mln-inchiostro);
	border: 0;
	padding: 9px 12px;
	cursor: pointer;
	font-family: var(--mln-text);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.mln-quaderno {
	display: none;
	background: #050807;
	color: var(--mln-inchiostro);
	padding: 20px 5vw 28px;
	border-bottom: 1px solid rgba(232, 195, 106, 0.2);
}
.mln-quaderno.is-aperto { display: block; }
.mln-quaderno-list { list-style: none; margin: 18px 0 0; padding: 0; }
.mln-quaderno-list a {
	display: block;
	color: var(--mln-inchiostro);
	text-decoration: none;
	padding: 10px 0;
	border-bottom: 1px solid rgba(232, 195, 106, 0.16);
}
.mln-quaderno-shut {
	background: transparent;
	border: 1px solid var(--mln-rame);
	color: var(--mln-rame);
	padding: 8px 12px;
	cursor: pointer;
	font-family: var(--mln-text);
}
@media (max-width: 720px) {
	.mln-fila, .mln-piastra { display: none; }
	.mln-quaderno-open { display: inline-block; margin-left: auto; }
}

.mln-filet {
	font-size: 0.75rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--mln-rame);
	margin: 0 0 10px;
}
.mln-age {
	display: inline-block;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-size: 0.7rem;
	border-left: 3px solid var(--mln-rame);
	padding: 2px 0 2px 10px;
	margin-bottom: 12px;
}
.mln-gestes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }

/* Home: full-bleed casino hall + felt copy panel */
.mln-sala-hero {
	position: relative;
	min-height: 82vh;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background: #050807;
}
.mln-sala-hero > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.mln-sala-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(5, 8, 7, 0.82) 0%, rgba(5, 8, 7, 0.35) 58%, rgba(5, 8, 7, 0.15) 100%);
}
.mln-sala-hero-copy {
	position: relative;
	z-index: 1;
	margin: 7vw 6vw;
	max-width: 640px;
	padding: 34px 32px;
	background: rgba(7, 16, 13, 0.9);
	border-left: 4px solid var(--mln-rame);
}
.mln-sala-hero-copy h1 { font-size: clamp(2.2rem, 5vw, 3.6rem); }
.mln-sala-hero-copy p { margin: 0 0 0.85em; }
@media (max-width: 700px) {
	.mln-sala-hero { min-height: 88vh; }
	.mln-sala-hero-copy { margin: 5vw 4vw; padding: 24px 20px; }
}

.mln-agenda { padding: 36px 8vw 10px; background: var(--mln-osso); }
.mln-agenda article {
	display: grid;
	grid-template-columns: 52px 1fr 220px;
	gap: 20px;
	align-items: center;
	padding: 22px 0;
	border-top: 1px solid rgba(232, 195, 106, 0.16);
}
.mln-agenda article:last-child { border-bottom: 1px solid rgba(232, 195, 106, 0.16); }
.mln-agenda span {
	font-family: var(--mln-display);
	color: var(--mln-rame);
	font-size: 1.4rem;
}
.mln-agenda h2 { font-size: 1.35rem; margin: 0 0 6px; }
.mln-agenda p { margin: 0; }
.mln-agenda img { width: 220px; height: 140px; object-fit: cover; }
@media (max-width: 760px) {
	.mln-agenda article { grid-template-columns: 40px 1fr; }
	.mln-agenda img { width: 100%; height: 180px; grid-column: 1 / -1; }
}

.mln-kit-nastro {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	background: #050807;
	gap: 0;
}
.mln-kit-nastro figure { margin: 0; }
.mln-kit-nastro img { width: 100%; height: 280px; object-fit: cover; }
.mln-kit-nastro figcaption {
	padding: 14px 16px 20px;
	background: #0a1612;
	color: var(--mln-rame);
	font-size: 0.78rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
@media (max-width: 800px) {
	.mln-kit-nastro { grid-template-columns: 1fr 1fr; }
	.mln-kit-nastro img { height: 200px; }
}

.mln-calendario {
	background: var(--mln-oliva);
	color: var(--mln-inchiostro);
	padding: 52px 8vw;
}
.mln-calendario .mln-filet { color: var(--mln-rame); }
.mln-calendario .mln-lune { background: var(--mln-rame); }
.mln-choix { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 18px; }
.mln-choix-btn {
	background: transparent;
	color: var(--mln-inchiostro);
	border: 1px solid var(--mln-rame);
	padding: 9px 14px;
	cursor: pointer;
	font-family: var(--mln-text);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.mln-choix-btn.is-plein {
	background: var(--mln-rame);
	color: #0a100e;
}
.mln-grille-sortie {
	margin: 0;
	min-height: 3em;
	border-top: 1px solid rgba(244, 239, 230, 0.25);
	padding-top: 14px;
}

.mln-echos { padding: 56px 8vw; max-width: 760px; }
.mln-echo {
	border-top: 3px solid var(--mln-rame);
	padding: 14px 0 8px;
	margin: 0 0 26px;
}
.mln-echo strong {
	display: block;
	margin-top: 8px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 0.75rem;
	color: var(--mln-fieno);
}

.mln-fogli { background: var(--mln-carta); }
.mln-fogli article {
	padding: 28px 8vw;
	border-top: 1px solid rgba(232, 195, 106, 0.14);
}
.mln-fogli a { color: var(--mln-rame); }

/* Inner */
.mln-pierre-page { padding: 52px 8vw 16px; max-width: 780px; }
.mln-deux {
	display: block;
	margin: 0 0 60px;
	background: var(--mln-carta);
}
.mln-deux figure {
	margin: 0;
	min-height: 280px;
	background: #050807 url(images/porte.jpg) center / cover;
}
.mln-deux-texte { padding: 36px 8vw; }
.mln-nuits { width: 100%; padding: 10px 0 40px; }
.mln-nuit-ligne {
	display: grid;
	grid-template-columns: 120px 1fr 160px;
	gap: 22px;
	align-items: center;
	padding: 22px 8vw;
	border-top: 1px solid rgba(232, 195, 106, 0.16);
}
.mln-nuit-ligne img { width: 120px; height: 80px; object-fit: cover; }
.mln-nuit-prix { font-family: var(--mln-display); font-size: 1.25rem; color: var(--mln-rame); }
@media (max-width: 700px) { .mln-nuit-ligne { grid-template-columns: 1fr; } }

.mln-echo-liste { padding: 10px 8vw 40px; max-width: 760px; }
.mln-echo-tela,
.mln-echo-orlo {
	margin: 0;
	background: #050807;
}
.mln-echo-tela img,
.mln-echo-orlo img {
	width: 100%;
	height: 46vh;
	object-fit: cover;
}
.mln-echo-tela figcaption,
.mln-echo-orlo figcaption {
	padding: 12px 8vw 22px;
	color: var(--mln-rame);
	font-size: 0.78rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.mln-echo-orlo img { height: 38vh; }
.mln-carnet-riga {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
	gap: 28px 36px;
	align-items: start;
	padding: 0 4vw 28px 0;
}
.mln-carnet-riga .mln-pierre-page {
	max-width: none;
	padding-right: 0;
	padding-bottom: 0;
}
.mln-foglio-taglio {
	margin: 52px 0 0;
}
.mln-foglio-taglio img {
	width: 100%;
	height: min(64vh, 540px);
	object-fit: cover;
}
.mln-foglio-taglio figcaption {
	padding: 10px 0 0;
	color: var(--mln-rame);
	font-size: 0.74rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
@media (max-width: 800px) {
	.mln-carnet-riga {
		grid-template-columns: 1fr;
		padding-right: 0;
	}
	.mln-foglio-taglio { margin: 0 8vw 12px; }
}
.mln-lampada-chiusura {
	margin: 12px 0 0;
	padding: 0 0 48px;
	background: #050807;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}
.mln-lampada-chiusura img {
	width: min(72vw, 920px);
	height: 32vh;
	object-fit: cover;
}
.mln-lampada-chiusura figcaption {
	width: min(72vw, 920px);
	padding: 12px 8vw 0 0;
	box-sizing: border-box;
	color: var(--mln-fieno);
	font-size: 0.74rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-align: right;
}
.mln-feuille {
	background: var(--mln-oliva);
	color: var(--mln-inchiostro);
	padding: 48px 8vw 60px;
}
.mln-feuille a { color: var(--mln-rame); }

.mln-reserve { display: block; }
.mln-reserve-carte {
	background: var(--mln-carta);
	padding: 48px 8vw 20px;
}
.mln-reserve-note {
	background: #050807;
	color: var(--mln-inchiostro);
	padding: 48px 8vw 60px;
}
.mln-reserve-note a { color: var(--mln-rame); }

.mln-form label { display: block; margin: 0 0 14px; }
.mln-form input[type="text"],
.mln-form input[type="email"],
.mln-form textarea {
	display: block;
	width: 100%;
	margin-top: 6px;
	padding: 10px 12px;
	border: 0;
	border-bottom: 1px solid rgba(244, 239, 230, 0.35);
	background: transparent;
	color: inherit;
	font-family: var(--mln-text);
}
.mln-form input[type="checkbox"],
.mln-form input[type="hidden"] { width: auto; }
.mln-coche { display: flex; gap: 8px; align-items: flex-start; font-size: 0.86rem; }
.mln-coche input { width: 1.2rem; height: 1.2rem; margin-top: 3px; flex: 0 0 1.2rem; }
.mln-avis { padding: 12px 0; }
.mln-avis-bad { color: #d4a18c; }

.mln-loi { padding: 48px 8vw 70px; max-width: 820px; }
.mln-loi h2 { margin-top: 1.3em; color: var(--mln-rame); }
.mln-liste { padding: 0 0 40px; }
.mln-liste article {
	padding: 22px 8vw;
	border-top: 1px solid rgba(232, 195, 106, 0.14);
	background: var(--mln-carta);
}
.mln-liste time { font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mln-fieno); }
.mln-article { padding: 48px 8vw 70px; max-width: 740px; }
.mln-manque { padding: 14vh 8vw; text-align: left; }

.mln-mosaico {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}
.mln-mosaico figure { margin: 0; }
.mln-mosaico img { width: 100%; height: 180px; object-fit: cover; }
.mln-mosaico figcaption {
	padding: 10px 12px 14px;
	background: #050807;
	color: var(--mln-rame);
	font-size: 0.72rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.mln-tavoli { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 800px) {
	.mln-mosaico, .mln-tavoli { grid-template-columns: 1fr 1fr; }
}

/* Footer: address band, horizontal legal, colophon last */
.mln-piede {
	background: #050807;
	color: var(--mln-inchiostro);
	border-top: 4px solid var(--mln-rame);
}
.mln-piede-indirizzo {
	padding: 36px 8vw 20px;
	border-bottom: 1px solid rgba(232, 195, 106, 0.16);
}
.mln-piede-indirizzo strong {
	font-family: var(--mln-display);
	font-size: 1.8rem;
	display: block;
	margin-bottom: 8px;
}
.mln-piede-indirizzo a { color: var(--mln-rame); }
.mln-piede-leggi {
	list-style: none;
	margin: 0;
	padding: 18px 8vw;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
}
.mln-piede-leggi a {
	color: var(--mln-inchiostro);
	text-decoration: none;
	font-size: 0.78rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.mln-piede-leggi a:hover { color: var(--mln-rame); }
.mln-colophon {
	margin: 0;
	padding: 14px 8vw 20px;
	border-top: 1px solid rgba(232, 195, 106, 0.16);
	font-size: 0.84rem;
	color: var(--mln-fieno);
}
.mln-colophon a { color: var(--mln-rame); }
.mln-diritti-luna {
	margin: 0;
	padding: 0 8vw 20px;
	font-size: 0.78rem;
	color: var(--mln-fieno);
}

.mln-lune-barre {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
	background: #0a1612;
	color: var(--mln-inchiostro);
	padding: 16px 6vw;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
	border-top: 3px solid var(--mln-rame);
}
.mln-lune-barre.is-open { display: flex; }
.mln-lune-barre a { color: var(--mln-rame); }
.mln-lune-actes { display: flex; gap: 10px; flex-wrap: wrap; }
