/*
Theme Name: Valltrex
Theme URI: https://valltrex.org/
Author: Valltrex
Author URI: https://valltrex.org/
Description: Página de fã não oficial em português europeu sobre Metro 2033. Túnel escuro, quatro instrumentos em torno de filtro, cartucho, ramo e passo. Sem ficheiro de jogo e sem cliente.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: valltrex
Tags: blog, entertainment
*/

@font-face {
	font-family: 'Yanone Kaffeesatz';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('fonts/yanone-kaffeesatz-700-latin.woff2') format('woff2');
	unicode-range: U+0000-002F, U+003A-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'Yanone Kaffeesatz';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('fonts/yanone-kaffeesatz-700-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: 'Instrument Sans';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('fonts/instrument-sans-400-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'Instrument Sans';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('fonts/instrument-sans-400-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: 'Instrument Sans';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('fonts/instrument-sans-600-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'Instrument Sans';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('fonts/instrument-sans-600-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
	--tunel: #161210;
	--panel: #221c18;
	--haarlijn: #322820;
	--rand: #9a8880;
	--osso: #eee6dc;
	--poeira: #b8a898;
	--ferrugem: #d87850;
	--filtro: #6a9a78;
	--aviso: #e07058;
	--maat: clamp(1.05rem, 0.3vw + 1rem, 1.2rem);
	--regel: 1.55;
	--palavra: 'Yanone Kaffeesatz', 'Instrument Sans', sans-serif;
	--corpo: 'Instrument Sans', 'Segoe UI', sans-serif;
}

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

html {
	font-size: 100%;
	background: var(--tunel);
	color: var(--osso);
	scroll-padding-top: 5.5rem;
}

[hidden] {
	display: none !important;
}

body {
	margin: 0;
	font-family: var(--corpo);
	font-weight: 400;
	font-size: var(--maat);
	line-height: var(--regel);
	background-color: var(--tunel);
	background-image: url('images/textura-tijolo.jpg');
	background-size: 1400px auto;
	color: var(--osso);
}

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

h1,
h2,
h3,
.cabeca__nome,
.tunel__nome {
	font-family: var(--palavra);
	font-weight: 700;
	line-height: 1.2;
	color: var(--osso);
}

h1 {
	font-size: clamp(1.7rem, 2vw + 1.3rem, 2.6rem);
	margin: 0 0 0.6rem;
}

h2 {
	font-size: clamp(1.3rem, 1vw + 1.05rem, 1.75rem);
	margin: 0 0 0.5rem;
}

h3 {
	font-size: 1.12rem;
	margin: 0 0 0.4rem;
}

p,
ul,
ol,
dl,
blockquote,
figure,
fieldset {
	margin: 0 0 1rem;
}

ul,
ol {
	padding-left: 1.2rem;
}

a {
	color: var(--filtro);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

a:hover,
a:focus-visible {
	color: var(--ferrugem);
}

:focus-visible {
	outline: 2px solid var(--filtro);
	outline-offset: 2px;
}

.cifra,
time,
code,
input,
select,
textarea,
.horachip,
p.perdido__numero,
.tunel__cifra {
	font-family: var(--corpo);
	font-variant-numeric: lining-nums;
}

code {
	font-size: 0.92em;
}

span,
strong,
em,
b,
i,
small,
label {
	margin-top: 0;
	margin-bottom: 0;
}

button,
input,
select,
textarea {
	font: inherit;
	color: inherit;
}

p > a:only-child {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
}

#miolo,
#filtro,
#cartucho,
#ramos,
#passo,
#kop-duo,
#kop-estacoes,
#kop-cifras,
#kop-diario,
#kop-perguntas,
#kop-chamada {
	scroll-margin-top: 5.5rem;
}

.saltar {
	position: absolute;
	left: 0.75rem;
	top: 0.75rem;
	padding: 0.6rem 1rem;
	min-height: 36px;
	background: var(--ferrugem);
	color: var(--tunel);
	transform: translateY(-200%);
}

.saltar:focus {
	transform: none;
	color: var(--tunel);
}

.cabeca {
	position: sticky;
	top: 0;
	z-index: 20;
	background: var(--panel);
	border-bottom: 1px solid var(--rand);
}

.cabeca__dentro {
	max-width: 72rem;
	margin: 0 auto;
	padding: 0.55rem 1rem;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.cabeca__marca {
	text-decoration: none;
	color: var(--osso);
	display: inline-flex;
	align-items: center;
	min-height: 36px;
}

.cabeca__marca:hover,
.cabeca__marca:focus-visible {
	color: var(--ferrugem);
}

.cabeca__nome {
	font-size: 1.45rem;
	letter-spacing: 0.04em;
}

.cabeca__a {
	position: relative;
	display: inline-block;
}

.cabeca__anel {
	position: absolute;
	left: 50%;
	top: 42%;
	width: 0.55em;
	height: 0.55em;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.cabeca__manete {
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 44px;
	padding: 0.35rem 0.7rem;
	border: 1px solid var(--rand);
	background: var(--tunel);
	color: var(--osso);
	cursor: pointer;
}

.cabeca__riscas {
	display: inline-flex;
	flex-direction: column;
	gap: 4px;
	width: 1.1rem;
}

.cabeca__riscas i {
	display: block;
	height: 2px;
	background: var(--osso);
}

.cabeca__fecha {
	display: none;
}

.cabeca--aberta .cabeca__abre {
	display: none;
}

.cabeca--aberta .cabeca__fecha {
	display: inline;
}

.cabeca__nav {
	display: none;
}

.cabeca--aberta .cabeca__nav {
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background: var(--panel);
	border-bottom: 1px solid var(--rand);
	padding: 0.5rem 1rem 0.9rem;
}

.cabeca__lista {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cabeca__lista a {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0.3rem 0.2rem;
	color: var(--osso);
	text-decoration: none;
	border-bottom: 1px solid var(--haarlijn);
}

@media (min-width: 62em) {
	.cabeca__manete {
		display: none;
	}

	.cabeca__nav {
		display: block;
		margin-left: auto;
	}

	.cabeca__lista {
		display: flex;
		gap: 0.15rem;
	}

	.cabeca__lista a {
		border-bottom: 0;
		padding: 0.3rem 0.55rem;
		min-height: 36px;
	}

	.cabeca--aberta .cabeca__nav {
		position: static;
		border: 0;
		padding: 0;
	}
}

.tunelbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.45rem 0.9rem;
	border: 1px solid var(--rand);
	background: var(--panel);
	color: var(--osso);
	text-decoration: none;
	cursor: pointer;
	font-weight: 600;
}

.tunelbtn:hover,
.tunelbtn:focus-visible {
	background: var(--haarlijn);
	color: var(--osso);
}

.tunelbtn--acao {
	background: var(--ferrugem);
	color: var(--tunel);
	border-color: var(--ferrugem);
}

.tunelbtn--acao:hover,
.tunelbtn--acao:focus-visible {
	background: var(--filtro);
	color: var(--tunel);
	border-color: var(--filtro);
}

.tunelbtn--calmo {
	background: var(--panel);
	color: var(--osso);
}

.tunelbtn--calmo:hover,
.tunelbtn--calmo:focus-visible {
	background: var(--tunel);
	color: var(--osso);
}

.tunelbtn--escolha {
	background: var(--panel);
	color: var(--osso);
	font-weight: 400;
}

.tunelbtn--ligado {
	background: var(--filtro);
	color: var(--tunel);
}

.tunelbtn--escolha.tunelbtn--ligado:hover,
.tunelbtn--escolha.tunelbtn--ligado:focus-visible {
	background: var(--ferrugem);
	color: var(--tunel);
}

.boca,
.tunel {
	background-color: var(--panel);
}

.boca__dentro,
.tunel__dentro,
.sotao__dentro {
	max-width: 72rem;
	margin: 0 auto;
	padding: 1.4rem 1rem 1.6rem;
}

.boca__dentro {
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}

.boca__botoes,
.tunel__botoes {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}

.boca__acima,
.tunel__marca {
	color: var(--poeira);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.82rem;
	margin-bottom: 0.35rem;
}

.boca__zin,
.tunel__intro {
	color: var(--poeira);
	max-width: 40rem;
}

.boca__figura img,
.tunel figure img {
	width: 100%;
	border: 1px solid var(--rand);
}

@media (min-width: 62em) {
	.boca__dentro {
		flex-direction: row;
		align-items: center;
	}

	.boca__texto,
	.boca__figura {
		flex: 1 1 0;
	}
}

.tunel--curta .tunel__dentro {
	padding-bottom: 0.4rem;
}

.tunel--painel {
	background-color: var(--tunel);
}

.tunel__par {
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}

.tunel__par figure {
	margin: 0;
}

@media (min-width: 54em) {
	.tunel__par {
		flex-direction: row;
		align-items: flex-start;
	}

	.tunel__par > * {
		flex: 1 1 0;
	}
}

.tunel__quatro {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.9rem;
}

@media (min-width: 48em) {
	.tunel__quatro {
		grid-template-columns: 1fr 1fr;
	}
}

.filtro,
.cartucho,
.estacao,
.passo,
.tunellista {
	background: var(--tunel);
	border: 1px solid var(--rand);
	padding: 0.9rem 1rem;
}

.tunel__cifra {
	font-size: 2rem;
	font-weight: 600;
	color: var(--ferrugem);
	line-height: 1;
	margin: 0 0 0.35rem;
}

.tunel__figura--estreita {
	max-width: 36rem;
}

.filtronoz {
	line-height: 0;
	background: var(--tunel);
	padding: 0.15rem 0;
}

.filtronoz svg {
	display: block;
}

.filtrotres__fila,
.cartuchoordem__fila,
.tuneldois__fila,
.ecopasso__fila {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.filtrotres__caixa,
.cartuchoordem__caixa,
.tuneldois__caixa,
.ecopasso__caixa {
	border: 1px solid var(--rand);
	padding: 0.7rem 0.8rem 0.9rem;
}

.filtrotres__goot {
	height: 12px;
	min-height: 12px;
	background: var(--haarlijn);
	margin: 0 0 1rem;
}

.filtrotres__barra {
	display: block;
	height: 12px;
	min-height: 12px;
	width: 12.5%;
	background: var(--filtro);
}

.filtrotres__barra[data-grau="1"] { width: 12.5%; }
.filtrotres__barra[data-grau="2"] { width: 25%; }
.filtrotres__barra[data-grau="3"] { width: 37.5%; }
.filtrotres__barra[data-grau="4"] { width: 50%; }
.filtrotres__barra[data-grau="5"] { width: 62.5%; }
.filtrotres__barra[data-grau="6"] { width: 75%; }
.filtrotres__barra[data-grau="7"] { width: 87.5%; }
.filtrotres__barra[data-grau="8"] { width: 100%; }

.cartuchoordem__lugar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.4rem;
	margin-right: 0.35rem;
	color: var(--tunel);
	background: var(--ferrugem);
	font-weight: 600;
	padding: 0 0.25rem;
}

.tunellista__rasgo {
	display: block;
	height: 10px;
	min-height: 10px;
	margin: -0.9rem -1rem 0.7rem;
	background:
		repeating-linear-gradient(
			90deg,
			var(--filtro) 0 12px,
			transparent 12px 18px
		);
	border-bottom: 1px dashed var(--rand);
}

.tunellista__meta,
.tunel__nota {
	color: var(--poeira);
	font-size: 0.92rem;
}

.horachip {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0.2rem 0.6rem;
	background: var(--filtro);
	color: var(--tunel);
	font-weight: 600;
	margin: 0 0 0.5rem;
}

.passo--peca {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
}

.tunel__diario,
.tunel__notas {
	display: grid;
	gap: 0.9rem;
}

@media (min-width: 48em) {
	.tunel__diario,
	.tunel__notas {
		grid-template-columns: 1fr 1fr;
	}
}

.tunel__prosa p:not(.tunel__cifra):not(.perdido__numero) {
	max-width: 42rem;
}

details {
	border: 1px solid var(--rand);
	padding: 0.6rem 0.8rem;
	margin-bottom: 0.6rem;
	background: var(--tunel);
}

summary {
	cursor: pointer;
	min-height: 36px;
	display: flex;
	align-items: center;
	font-weight: 600;
}

.velor label {
	display: block;
	margin-bottom: 0.25rem;
}

.velor input,
.velor select,
.velor textarea {
	width: 100%;
	min-height: 44px;
	padding: 0.4rem 0.6rem;
	border: 1px solid var(--rand);
	background: var(--tunel);
	color: var(--osso);
}

.velor textarea {
	min-height: 10rem;
}

.mudo {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.eco {
	border: 1px solid var(--filtro);
	background: var(--tunel);
	padding: 0.7rem 0.9rem;
	margin-bottom: 1rem;
}

.eco--mau {
	border-color: var(--aviso);
}

.eco--mau p {
	color: var(--osso);
}

.sotao {
	background: var(--panel);
	border-top: 1px solid var(--rand);
}

.sotao__malha {
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}

.sotao__bloco h2 {
	font-size: 1.05rem;
}

.sotao__bloco ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.sotao__bloco a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	color: var(--osso);
}

.sotao__dados {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.7rem;
	margin: 1.2rem 0;
}

.sotao__dados dt {
	font-weight: 600;
	color: var(--poeira);
}

.sotao__dados dd {
	margin: 0;
}

.sussurro {
	color: var(--poeira);
	max-width: 52rem;
}

.sotao__fecho {
	color: var(--poeira);
	font-size: 0.92rem;
}

.koekrand {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 30;
	background: var(--panel);
	border-top: 1px solid var(--rand);
	padding: 0.9rem 1rem 1.1rem;
}

.koekrand__dentro {
	max-width: 72rem;
	margin: 0 auto;
}

.koekrand__botoes {
	display: flex;
	gap: 0.75rem;
}

.koekrand__botoes .tunelbtn {
	width: 100%;
	flex: 1 1 0;
}

@media (max-width: 390px) {
	.koekrand {
		max-height: 36vh;
		overflow-y: auto;
		padding: 0.45rem 0.7rem 0.55rem;
	}

	.koekrand p {
		margin: 0 0 0.4rem;
		font-size: 0.88rem;
	}
}

p.perdido__numero {
	font-size: 4rem;
	font-weight: 600;
	color: var(--ferrugem);
	line-height: 1;
	margin: 0 0 0.4rem;
	font-family: var(--corpo);
}

.pedido__par {
	display: flex;
	flex-direction: column;
	gap: 1.4rem;
}

@media (min-width: 54em) {
	.sotao__malha {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.sotao__bloco {
		flex: 1 1 14rem;
	}

	.pedido__par {
		flex-direction: row;
	}

	.pedido__par > * {
		flex: 1 1 0;
	}

	.sotao__dados {
		grid-template-columns: 1fr 1fr;
	}
}

.rolotabela {
	overflow-x: auto;
	margin: 0 0 1rem;
}

table {
	width: 100%;
	border-collapse: collapse;
}

th,
td {
	border: 1px solid var(--rand);
	padding: 0.55rem 0.7rem;
	text-align: left;
	vertical-align: top;
}

th {
	background: var(--tunel);
}

caption {
	text-align: left;
	margin-bottom: 0.5rem;
	color: var(--poeira);
}

.apagarbolacha {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}
