/*
Theme Name: Noordelio
Theme URI: https://noordelio.org/
Author: Noordelio
Author URI: https://noordelio.org/
Description: Huis aan de Waddenkust in Harlingen. Etagezicht en Nachtrekening. Nachten, verdieping, raamzicht.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: noordelio
Tags: travel, hotel, lifestyle
*/

/* =========================================================================
   Lettertypen. Cormorant Garamond 600 alleen op woorden. Onest op lichaam
   en alle cijfers. Miniscule cijfers van Cormorant zijn verboden.
   ========================================================================= */

@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('fonts/cormorant-garamond-600-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, 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: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('fonts/cormorant-garamond-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: 'Onest';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('fonts/onest-400-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, 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: 'Onest';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('fonts/onest-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: 'Onest';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('fonts/onest-600-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, 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: 'Onest';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('fonts/onest-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;
}

/* =========================================================================
   Kleuren. Contrast op --linnen / --paneel:
   inkt      15.44 / 13.51
   neven      8.12 /  7.11
   wad        7.39 /  6.46  (letters --linnen 7.39)
   klei       6.76 /  5.91  (letters --linnen 6.76)
   sein       6.50 /  5.69  (letters --linnen 6.50)
   rand       6.37 /  5.57
   haarlijn   1.43 /  1.12  ALLEEN kader, nooit letters
   ========================================================================= */

:root {
	--linnen: #f4efe6;
	--paneel: #e8e0d4;
	--haarlijn: #d3c9bb;
	--rand: #5f5548;
	--inkt: #1b1814;
	--neven: #4d463c;
	--wad: #155651;
	--klei: #8a3a26;
	--sein: #9a3022;
}

[hidden] {
	display: none !important;
}

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

html {
	-webkit-text-size-adjust: 100%;
	scroll-padding-top: 88px;
}

body {
	margin: 0;
	background-color: var(--linnen);
	color: var(--inkt);
	font-family: 'Onest', sans-serif;
	font-size: 1.05rem;
	line-height: 1.55;
}

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

a {
	color: var(--wad);
}

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

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

.zacht {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.cijfer,
time {
	font-family: 'Onest', sans-serif;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
}

h1,
h2,
h3,
.gevel__woord,
.drempel__merk {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 600;
	line-height: 1.2;
	color: var(--inkt);
}

h1 {
	font-size: clamp(1.8rem, 3.4vw, 2.7rem);
	margin: 0 0 12px;
}

h2 {
	font-size: clamp(1.35rem, 2.4vw, 1.85rem);
	margin: 0 0 12px;
}

h3 {
	font-size: 1.2rem;
	margin: 0 0 8px;
}

p {
	margin: 0 0 12px;
}

ul {
	margin: 0 0 12px;
	padding-left: 1.2em;
}

.voorhuis {
	width: min(1120px, calc(100% - 32px));
	margin-left: auto;
	margin-right: auto;
}

.stil {
	position: absolute;
	left: 12px;
	top: -80px;
	background: var(--wad);
	color: var(--linnen);
	padding: 10px 16px;
	text-decoration: none;
}

.stil:focus {
	top: 12px;
}

/* z-index gevel: enige naast de koekrand. */
.gevel {
	position: sticky;
	top: 0;
	z-index: 100;
	background-color: var(--linnen);
	border-bottom: 1px solid var(--haarlijn);
}

.gevel__rij {
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 72px;
}

.gevel__merk,
.drempel__merk {
	font-size: 1.2rem;
	text-decoration: none;
	white-space: nowrap;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	color: var(--inkt);
}

.gevel__woord {
	position: relative;
	letter-spacing: 0.02em;
}

.gevel__raam {
	position: relative;
	display: inline-block;
	padding: 0 3px;
}

.gevel__raam::before,
.gevel__raam::after {
	content: '';
	position: absolute;
	top: 0.12em;
	bottom: 0.08em;
	width: 2px;
	background: var(--wad);
}

.gevel__raam::before {
	left: 2px;
}

.gevel__raam::after {
	right: 2px;
}

.gang {
	margin-left: auto;
}

.gang__lijst {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gang a {
	color: var(--inkt);
	text-decoration: none;
	font-weight: 600;
	min-height: 36px;
	display: inline-flex;
	align-items: center;
}

.gang a[aria-current='page'],
.kruk--nu a {
	color: var(--wad);
	box-shadow: inset 0 -2px 0 var(--wad);
}

.luik {
	display: none;
	width: 44px;
	height: 44px;
	border: 1px solid var(--rand);
	background: var(--paneel);
	padding: 0;
	position: relative;
}

.luik__streep,
.luik__streep::before,
.luik__streep::after {
	display: block;
	width: 20px;
	height: 2px;
	background: var(--inkt);
	position: absolute;
	left: 11px;
}

.luik__streep {
	top: 21px;
}

.luik__streep::before,
.luik__streep::after {
	content: '';
}

.luik__streep::before {
	top: -7px;
}

.luik__streep::after {
	top: 7px;
}

.sleutel {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 18px;
	border: 1px solid var(--wad);
	background: var(--wad);
	color: var(--linnen);
	text-decoration: none;
	font-weight: 600;
	font-family: 'Onest', sans-serif;
	cursor: pointer;
}

.sleutel:hover,
.sleutel:focus-visible {
	color: var(--linnen);
	background: var(--klei);
	border-color: var(--klei);
}

.sleutel--rust {
	background: var(--paneel);
	color: var(--inkt);
	border-color: var(--rand);
}

.sleutel--rust:hover,
.sleutel--rust:focus-visible {
	color: var(--inkt);
	background: var(--linnen);
	border-color: var(--inkt);
}

.sleutel--kort {
	min-height: 40px;
	padding: 8px 14px;
}

.vleugel {
	padding: 48px 0;
	scroll-margin-top: 88px;
}

.vleugel--paneel {
	background: var(--paneel);
}

.vleugel--kort {
	padding: 32px 0;
}

.vleugel__wenkbrauw,
.bladkop__wenkbrauw {
	display: block;
	font-size: 0.82rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--neven);
	margin-bottom: 8px;
	font-weight: 600;
}

.vleugel__nota {
	color: var(--neven);
	max-width: 40em;
}

.vleugel__tuas {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 16px;
}

.wadnaad {
	height: 22px;
	color: var(--rand);
	display: flex;
	align-items: center;
	overflow: hidden;
	background: var(--linnen);
}

.wadnaad svg {
	width: 100%;
	height: 18px;
	display: block;
}

.wadnaad__plas {
	display: none;
	fill: var(--wad);
}

.wadnaad--plas .wadnaad__plas {
	display: block;
}

.linnenbaan {
	padding: 20px 0;
	background-color: var(--paneel);
	background-image: url('images/textuur-linnen.jpg');
	background-size: cover;
	background-position: center;
}

.baksteenbaan {
	height: 36px;
	background-color: var(--paneel);
	background-image: url('images/textuur-baksteen.jpg');
	background-size: cover;
	background-position: center;
}

.linnenbaan__tekst {
	background: var(--paneel);
	color: var(--inkt);
	padding: 12px 16px;
	min-height: 36px;
	max-width: 28em;
}

.gevelvak__raam {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: 28px;
	align-items: center;
}

.duo,
.pilaar,
.tweevak,
.schrijf__raam {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 28px;
	align-items: center;
}

.pilaar--om {
	direction: rtl;
}

.pilaar--om > * {
	direction: ltr;
}

.duo--ruim {
	margin-top: 28px;
}

.gevelvak__beeld,
.duo img,
.pilaar img {
	width: 100%;
	border: 1px solid var(--haarlijn);
}

.drietal {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.tweevak {
	align-items: stretch;
}

.cijferrij {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin-top: 16px;
}

.cijferrij__waarde:not(.vleugel__nota) {
	font-size: 2rem;
	font-weight: 600;
	font-family: 'Onest', sans-serif;
	color: var(--wad);
	margin: 0;
}

.nis {
	background: var(--linnen);
	border: 1px solid var(--haarlijn);
	display: flex;
	flex-direction: column;
}

.vleugel--paneel .nis {
	background: var(--linnen);
}

.nis--stapel {
	margin-bottom: 12px;
}

.nis__binnen {
	padding: 14px 16px 16px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}

.logiesbrief {
	background: var(--linnen);
	border: 1px solid var(--rand);
	padding: 18px 18px 16px;
	display: grid;
	gap: 10px;
	box-shadow: 4px 4px 0 var(--paneel);
}

.logiesbrief__kop {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-weight: 600;
	border-bottom: 1px solid var(--haarlijn);
	padding-bottom: 8px;
}

.logiesbrief__velden {
	color: var(--neven);
	font-size: 0.92rem;
	font-weight: 600;
}

.logiesbrief blockquote {
	margin: 0;
}

.logiesbrief__naam {
	color: var(--neven);
	font-size: 0.92rem;
	margin-top: auto;
}

.tijstap {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.tijstap__rij {
	display: grid;
	grid-template-columns: 7em minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	border: 1px solid var(--haarlijn);
	background: var(--linnen);
	padding: 14px 16px;
}

.tijstap__uur {
	background: var(--paneel);
	border: 1px solid var(--haarlijn);
	min-height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	font-family: 'Onest', sans-serif;
	padding: 6px 8px;
	color: var(--wad);
}

.tijstap a {
	min-height: 36px;
	display: inline-flex;
	align-items: center;
	color: var(--inkt);
	text-decoration: none;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 600;
}

.pilaar__bord {
	background: var(--linnen);
	border: 1px solid var(--rand);
	padding: 18px;
	display: grid;
	gap: 14px;
}

.pilaar__keuze,
.briefvak label {
	display: grid;
	gap: 12px;
}

.pilaar__keuze label,
.briefvak label {
	display: flex;
	align-items: center;
	min-height: 36px;
	font-weight: 600;
}

.pilaar__keuze select,
.briefvak input,
.briefvak select,
.briefvak textarea,
.gevelvak select,
.gevelvak input {
	width: 100%;
	min-height: 44px;
	border: 1px solid var(--rand);
	background: var(--paneel);
	color: var(--inkt);
	font-family: 'Onest', sans-serif;
	padding: 8px 10px;
}

.briefvak textarea {
	min-height: 140px;
}

.pilaar__uitkomst {
	display: grid;
	gap: 8px;
	border: 1px solid var(--haarlijn);
	padding: 12px;
	background: var(--paneel);
}

.pilaar__ayat {
	color: var(--neven);
}

.vraaglijst {
	display: grid;
	gap: 16px;
	margin: 0;
}

.vraaglijst__stuk {
	border-bottom: 1px solid var(--haarlijn);
	padding-bottom: 12px;
}

.vraaglijst dt {
	font-weight: 600;
	margin-bottom: 6px;
}

.vraaglijst dd {
	margin: 0;
	color: var(--neven);
}

.bladkop {
	padding: 40px 0 12px;
	background-color: var(--paneel);
}

.tucht {
	max-width: 42em;
}

.wet h2 {
	margin-top: 28px;
}

.wet h3 {
	margin-top: 18px;
}

.wet__datum {
	color: var(--neven);
}

.tafeldoek {
	overflow-x: auto;
}

.tafel {
	width: 100%;
	border-collapse: collapse;
}

.tafel th,
.tafel td {
	border: 1px solid var(--haarlijn);
	padding: 10px 12px;
	text-align: left;
	vertical-align: top;
}

.tafel th {
	background: var(--paneel);
}

.seintje {
	border: 1px solid var(--wad);
	background: var(--paneel);
	padding: 12px 14px;
	min-height: 44px;
}

.seintje--fout {
	border-color: var(--sein);
	color: var(--inkt);
}

.briefvak {
	position: relative;
}

.briefvak__esca {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.verdwaald__cijfer:not(.vleugel__nota) {
	display: block;
	font-size: clamp(4rem, 12vw, 7rem);
	font-family: 'Onest', sans-serif;
	font-weight: 600;
	color: var(--wad);
	line-height: 1;
	margin: 0 0 12px;
}

.pakketstrook {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: 24px;
	align-items: center;
}

.pakketstrook img {
	width: 100%;
	border: 1px solid var(--haarlijn);
}

.galerij {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: 16px;
}

.galerij img {
	width: 100%;
	border: 1px solid var(--haarlijn);
}

.aankomstvak {
	display: grid;
	gap: 12px;
	background: var(--paneel);
	border: 1px solid var(--rand);
	padding: 16px;
}

.aankomstvak__rij {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 12px;
}

.aankomstvak label {
	display: flex;
	align-items: center;
	min-height: 36px;
	font-weight: 600;
}

.drempel {
	padding: 40px 0 28px;
	background-color: var(--paneel);
	border-top: 1px solid var(--haarlijn);
}

.drempel__raam {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.drempel__kop {
	font-weight: 600;
	margin: 0 0 10px;
}

.drempel__lijst {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 4px;
}

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

.drempel__adres {
	font-style: normal;
	color: var(--neven);
}

.drempel__voet {
	display: grid;
	gap: 6px;
	margin-top: 24px;
	padding-top: 16px;
	border-top: 1px solid var(--haarlijn);
	color: var(--neven);
	font-size: 0.95rem;
}

.drempel__zin {
	color: var(--neven);
}

/* z-index koekrand: tweede en laatste. */
.koekrand {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 300;
	background: var(--paneel);
	border-top: 2px solid var(--wad);
	padding: 16px 0;
	max-height: 46vh;
	overflow-y: auto;
}

.koekrand__rij {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 16px 24px;
	align-items: start;
}

.koekrand__tuas {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

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

@media (max-width: 62em) {
	.luik {
		display: block;
		margin-left: auto;
	}

	.gang {
		display: none;
		position: absolute;
		left: 0;
		right: 0;
		top: 72px;
		background: var(--linnen);
		border-bottom: 1px solid var(--rand);
		padding: 12px 16px 20px;
	}

	.gang--open {
		display: block;
	}

	.gang__lijst {
		flex-direction: column;
		gap: 0;
	}

	.gang a {
		min-height: 44px;
	}

	.gevelvak__raam,
	.duo,
	.pilaar,
	.tweevak,
	.schrijf__raam,
	.koekrand__rij,
	.pakketstrook,
	.galerij,
	.aankomstvak__rij {
		grid-template-columns: minmax(0, 1fr);
	}

	.drietal,
	.cijferrij {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.drempel__raam {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.tijstap__rij {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 40em) {
	.drietal,
	.cijferrij,
	.drempel__raam {
		grid-template-columns: minmax(0, 1fr);
	}

	.koekrand {
		max-height: 46vh;
	}

	.tafel thead {
		display: none;
	}

	.tafel tr,
	.tafel td {
		display: block;
	}

	.tafel td::before {
		content: attr(data-kop) ': ';
		font-weight: 600;
	}
}
