/*
Theme Name: Mainceria
Theme URI: https://mainceria.org/
Author: Mainceria
Author URI: https://mainceria.org/
Description: Laman peminat jejak, kemah dan hari untuk Red Dead Redemption 2, ditulis dari Miri. Tidak rasmi, tiada jualan.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mainceria
Tags: gaming, fan-page, dark, one-column, custom-menu
*/

@font-face {
	font-family: 'Calistoga';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('fonts/calistoga-400-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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: 'Calistoga';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('fonts/calistoga-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'Lexend';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('fonts/lexend-400-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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: 'Lexend';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('fonts/lexend-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'Lexend';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('fonts/lexend-600-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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: 'Lexend';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('fonts/lexend-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--senja: #181410;
	--paneel: #241c16;
	--haarlijn: #3a2e24;
	--rand: #8a7060;
	--tulang: #f2eadc;
	--asap: #b8a894;
	--emasjejak: #c89440;
	--pucuk: #88b090;
	--pucukbak: #3a5c50;
	--awas: #e87858;
	--huruf-kata: 'Calistoga', serif;
	--huruf-angka: 'Lexend', sans-serif;
	--huruf-badan: 'Lexend', sans-serif;
	--lapis-langit: 40;
	--lapis-jalur: 60;
	--kepala-tinggi: 4.5rem;
}

[hidden] {
	display: none !important;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: auto;
	scroll-padding-top: var(--kepala-tinggi);
	background: var(--senja);
}

body {
	margin: 0;
	font-family: var(--huruf-badan);
	font-size: 1.05rem;
	line-height: 1.65;
	color: var(--tulang);
	background: var(--senja);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--pucuk);
}

a:hover,
a:focus-visible {
	color: var(--tulang);
}

:focus-visible {
	outline: 2px solid var(--emasjejak);
	outline-offset: 3px;
}

.angka,
.sesat__nombor,
.hasilalat .angka,
.hariruang__sel:first-child,
.jalureer,
select,
.khadar__meta {
	font-family: var(--huruf-angka);
	font-weight: 600;
	font-variant-numeric: lining-nums tabular-nums;
}

h1,
h2,
h3 {
	font-family: var(--huruf-kata);
	font-weight: 400;
	line-height: 1.2;
	color: var(--tulang);
}

h1 { font-size: 2.1rem; }
h2 { font-size: 1.55rem; }
h3 { font-size: 1.2rem; }

.jejak {
	width: min(72rem, calc(100% - 2rem));
	margin-inline: auto;
}

.lompatisi {
	position: absolute;
	left: 0.8rem;
	top: 0.8rem;
	z-index: calc(var(--lapis-langit) + 1);
	min-height: 2.75rem;
	padding: 0.5rem 0.9rem;
	background: var(--pucukbak);
	color: var(--tulang);
	text-decoration: none;
	transform: translateY(-8rem);
}

.lompatisi:focus {
	transform: none;
}

/* Langit — z-index hanya pada nenek ini */
.langitjejak {
	position: sticky;
	top: 0;
	z-index: var(--lapis-langit);
	background: var(--paneel);
	border-bottom: 1px solid var(--haarlijn);
}

.langitjejak__baris {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	min-height: var(--kepala-tinggi);
	flex-wrap: wrap;
}

.langitjejak__merk {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	color: var(--tulang);
	text-decoration: none;
	font-family: var(--huruf-kata);
	font-size: 1.35rem;
}

.langitjejak__nama {
	letter-spacing: 0.02em;
}

.langitjejak__takik {
	position: relative;
	display: inline-block;
}

.langitjejak__takik::after {
	content: '';
	position: absolute;
	right: -0.12em;
	bottom: 0.18em;
	width: 0.38em;
	height: 0.28em;
	background: var(--pucuk);
	clip-path: polygon(20% 0, 80% 0, 100% 100%, 50% 70%, 0 100%);
}

.butangjejak {
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	min-height: 2.75rem;
	padding: 0.4rem 0.8rem;
	border: 1px solid var(--rand);
	background: var(--senja);
	color: var(--tulang);
	font-family: var(--huruf-badan);
	font-size: 0.95rem;
	cursor: pointer;
}

.butangjejak__jalur {
	display: block;
	width: 1.1rem;
	height: 2px;
	background: var(--pucuk);
	margin: 0.18rem 0;
}

.langitjejak__navigasi {
	flex: 1 1 100%;
}

.lorongjejak {
	list-style: none;
	margin: 0;
	padding: 0 0 0.8rem;
	display: none;
	flex-direction: column;
}

.langitjejak--buka .lorongjejak {
	display: flex;
}

.lorongjejak a {
	display: flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0.3rem 0.2rem;
	text-decoration: none;
	color: var(--asap);
}

.lorongjejak a:hover,
.lorongjejak a:focus-visible {
	color: var(--pucuk);
}

.jejakbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	min-width: 2.75rem;
	padding: 0.45rem 1rem;
	border: 1px solid var(--pucukbak);
	background: var(--pucukbak);
	color: var(--tulang);
	font-family: var(--huruf-badan);
	font-size: 0.95rem;
	text-decoration: none;
	cursor: pointer;
}

.jejakbtn:hover,
.jejakbtn:focus-visible {
	background: var(--pucuk);
	color: var(--senja);
	border-color: var(--pucuk);
}

.jejakbtn--senyap {
	background: transparent;
	color: var(--pucuk);
	border-color: var(--rand);
}

.jejakbtn--senyap:hover,
.jejakbtn--senyap:focus-visible {
	background: var(--paneel);
	color: var(--tulang);
}

.barisjejak {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: 1rem;
}

.cipjejak {
	display: inline-block;
	font-size: 0.8rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--emasjejak);
	background: var(--senja);
	padding: 0.2rem 0.5rem;
}

.kemah {
	padding: 2.2rem 0;
}

.kemah--paneel {
	background: var(--paneel);
}

.kemah p {
	color: var(--asap);
}

.kepaladalam {
	padding: 2rem 0 1rem;
	background: var(--paneel);
	border-bottom: 1px solid var(--haarlijn);
}

.langithero {
	position: relative;
}

.langithero img {
	width: 100%;
	max-height: 28rem;
	object-fit: cover;
}

.langithero__peti {
	background: var(--paneel);
	padding: 1.4rem 1.2rem 1.6rem;
	border-top: 1px solid var(--haarlijn);
}

.duojejak {
	display: grid;
	gap: 1.2rem;
}

.duojejak img {
	width: 100%;
}

.empatkad,
.empatangka,
.duaorang {
	display: grid;
	gap: 1rem;
}

.kadjejak,
.angkaKad,
.orangkad,
.tulangjurnal,
.hariruang,
.soalankad {
	background: var(--paneel);
	border: 1px solid var(--haarlijn);
	padding: 1rem;
}

.kadjejak h3,
.orangkad h3,
.soalankad h2 {
	margin-top: 0;
}

.kadjejak img,
.orangkad img {
	width: 100%;
	margin-bottom: 0.8rem;
}

.angkaKad .angka {
	display: block;
	font-size: 2rem;
	color: var(--pucuk);
}

.jejakrehat {
	display: flex;
	justify-content: center;
	padding: 0.4rem 0;
	background: var(--senja);
}

.jejakrehat svg {
	width: 240px;
	height: 28px;
}

.alatbaris {
	display: grid;
	gap: 0.7rem;
	margin: 1rem 0;
}

.alatbaris label,
.tandaapi {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 2.75rem;
	color: var(--tulang);
}

.alatbaris select,
.borangjejak input,
.borangjejak textarea {
	width: 100%;
	min-height: 2.75rem;
	padding: 0.4rem 0.6rem;
	border: 1px solid var(--rand);
	background: var(--senja);
	color: var(--tulang);
	font-family: var(--huruf-badan);
	font-size: 1rem;
}

.borangjejak label {
	display: flex;
	align-items: center;
	min-height: 2.75rem;
	color: var(--tulang);
}

.jadualkuki-bungkus {
	overflow-x: auto;
	max-width: 100%;
}

.borangjejak textarea {
	min-height: 8rem;
}

.hasilalat {
	background: var(--senja);
	border: 1px solid var(--haarlijn);
	padding: 0.8rem 1rem;
}

.hasilalat p {
	margin: 0.35rem 0;
	color: var(--tulang);
}

.tingkapburuan img,
.giliranapi img {
	width: 100%;
	margin: 0.8rem 0;
}

.jalureer {
	display: block;
	height: 12px;
	background: var(--haarlijn);
	margin: 0.8rem 0;
	position: relative;
}

.jalureer__isi {
	display: block;
	height: 12px;
	background: var(--pucuk);
	width: 50%;
}

.baristulang {
	display: grid;
	gap: 1rem;
}

.tulangjurnal {
	display: grid;
	grid-template-columns: 4.2rem 1fr;
	gap: 0.8rem;
	align-items: stretch;
}

.tulangjurnal::before {
	content: '';
	background: var(--pucukbak);
	min-height: 6rem;
}

.tulangjurnal--m03::before { min-height: 7rem; }
.tulangjurnal--m07::before { min-height: 9rem; }
.tulangjurnal--m11::before { min-height: 8.2rem; }
.tulangjurnal--m14::before { min-height: 11rem; }

.tulangjurnal__meta {
	margin: 0.4rem 0 0;
	color: var(--asap);
	font-size: 0.9rem;
}

.hariruang {
	display: grid;
	grid-template-columns: 8rem 8rem 1fr;
	gap: 0.6rem;
	align-items: center;
}

.hariruang h2 {
	margin: 0;
	font-size: 1.15rem;
}

.hariruang a {
	display: flex;
	align-items: center;
	min-height: 2.75rem;
	text-decoration: none;
}

.gelombang {
	display: grid;
	gap: 0.8rem;
}

.cta-jejak {
	background-image: url('images/jalur-prairi.jpg');
	background-size: cover;
	background-position: center;
}

.cta-jejak__peti {
	background: var(--paneel);
	padding: 1.4rem;
	border: 1px solid var(--haarlijn);
}

.bannerjejak {
	width: 100%;
	max-height: 14rem;
	object-fit: cover;
}

.dwibahasa {
	display: grid;
	gap: 1.6rem;
}

.jadualkuki {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	margin: 1rem 0;
}

.jadualkuki code {
	word-break: break-word;
}

.jadualkuki th,
.jadualkuki td {
	border: 1px solid var(--haarlijn);
	padding: 0.6rem;
	text-align: left;
	vertical-align: top;
}

.jadualkuki caption {
	text-align: left;
	margin-bottom: 0.4rem;
	color: var(--asap);
}

.senyap {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

.bisu,
.umpanjejak {
	position: absolute;
	left: -100vw;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.khabar {
	background: var(--pucukbak);
	color: var(--tulang);
	padding: 0.8rem 1rem;
}

.kemah .khabar {
	color: var(--tulang);
}

.khabar--salah {
	background: var(--awas);
	color: var(--senja);
}

.kemah .khabar--salah {
	color: var(--senja);
}

.sesat {
	padding: 3rem 0;
	text-align: left;
}

.sesat__nombor {
	font-size: 4.5rem;
	line-height: 1;
	margin: 0;
	color: var(--pucuk);
	font-family: var(--huruf-angka);
	font-weight: 600;
}

.sesat p:not(.sesat__nombor) {
	color: var(--asap);
}

/* Kaki */
.abukemah {
	background-color: var(--senja);
	background-image: url('images/tekstur-debu.jpg');
	background-size: cover;
	background-blend-mode: multiply;
	border-top: 1px solid var(--haarlijn);
	padding: 2rem 0 6.5rem;
}

.abukemah__jalur {
	display: grid;
	gap: 1.2rem;
}

.abukemah h2 {
	font-size: 1.1rem;
}

.abukemah ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.abukemah__paut {
	display: flex;
	align-items: center;
	min-height: 2.75rem;
	text-decoration: none;
	color: var(--asap);
}

.abukemah__paut:hover,
.abukemah__paut:focus-visible {
	color: var(--pucuk);
}

.abukemah__merk {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	color: var(--tulang);
	text-decoration: none;
	font-family: var(--huruf-kata);
	font-size: 1.2rem;
}

.abukemah__data {
	list-style: none;
	padding: 0;
	margin: 1rem 0;
	color: var(--asap);
}

.abukemah__data a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
}

.bukanrasmi {
	background: var(--senja);
	color: var(--tulang);
	padding: 0.9rem 1rem;
	border: 1px solid var(--haarlijn);
}

/* Jalur kuki — z-index hanya pada nenek ini */
.jalurkuki {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: var(--lapis-jalur);
	background: var(--paneel);
	border-top: 1px solid var(--rand);
	padding: 0.6rem 0;
}

.jalurkuki__baris {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	flex-wrap: wrap;
}

.jalurkuki__teks {
	flex: 1 1 16rem;
	margin: 0;
	font-size: 0.9rem;
	color: var(--tulang);
}

.jalurkuki__teks span {
	display: block;
	color: var(--asap);
	font-size: 0.82rem;
}

.jalurkuki__butang {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.jalurkuki .jejakbtn {
	min-height: 2.75rem;
}

.kepalakilit {
	background-image: url('images/tekstur-kulit.jpg');
	background-size: cover;
	background-blend-mode: multiply;
	background-color: var(--senja);
}

.logtiga {
	padding-left: 1.1rem;
	color: var(--asap);
}

@media (min-width: 62em) {
	.butangjejak {
		display: none;
	}

	.langitjejak__navigasi {
		flex: 1 1 auto;
	}

	.lorongjejak,
	.langitjejak--buka .lorongjejak {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		padding: 0;
		justify-content: flex-end;
		gap: 0.2rem;
	}

	.lorongjejak a {
		padding: 0.3rem 0.7rem;
	}

	.duojejak,
	.duaorang {
		grid-template-columns: 1fr 1fr;
		align-items: center;
	}

	.empatkad,
	.empatangka {
		grid-template-columns: repeat(4, 1fr);
	}

	.abukemah__jalur {
		grid-template-columns: 1.4fr 1fr 1fr 1fr;
	}

	.dwibahasa {
		grid-template-columns: 1fr 1fr;
	}

	.alatbaris {
		grid-template-columns: 1fr 1fr;
	}

	.baristulang {
		grid-template-columns: 1fr 1fr;
	}

	.langithero__peti {
		position: absolute;
		left: 1rem;
		bottom: 1.2rem;
		max-width: 36rem;
		border: 1px solid var(--haarlijn);
	}
}

@media (max-width: 61.99em) {
	.hariruang {
		grid-template-columns: 1fr;
	}

	.jalurkuki {
		padding-bottom: 0.4rem;
	}

	.abukemah {
		padding-bottom: 8.5rem;
	}
}
