/* Plus Jakarta Sans, selv-hostet (latin dækker dansk) */
@font-face {
	font-family: 'Plus Jakarta Sans';
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url('../fonts/plus-jakarta-sans-latin.woff2') format('woff2');
}

/* Basisstil: formularer, cookiebanner og eventdetaljer. Farverne er variabler, så designet kan skifte dem ét sted. */
:root {
	--gfy-font: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--gfy-primary: #18446f;
	--gfy-accent: #f4921c;
	--gfy-text: #3b3b3b;
	--gfy-bg: #ffffff;
	--gfy-soft: #eaf3fa;
	--gfy-border: #d5dde5;
	--gfy-danger: #b32d2e;
	--gfy-success: #1e7a4a;
}

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

.gfy-form .gfy-field { margin: 0 0 1.5rem; }
.gfy-form label { display: block; font-weight: 600; margin-bottom: .5rem; color: var(--gfy-text); }
.gfy-form input[type="text"],
.gfy-form input[type="email"],
.gfy-form input[type="tel"],
.gfy-form input[type="number"],
.gfy-form textarea {
	width: 100%; box-sizing: border-box; padding: .7rem .85rem; font: inherit;
	border: 1px solid var(--gfy-border); border-radius: .5rem; background: #fff; color: var(--gfy-text);
}
.gfy-form input:focus, .gfy-form textarea:focus { outline: 2px solid var(--gfy-primary); outline-offset: 1px; }
.gfy-btn {
	display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; cursor: pointer;
	min-height: 3rem; padding: .75rem 1.5rem; border-radius: 9999px; border: 2px solid var(--gfy-accent-strong, #df8f00);
	font: inherit; font-size: .9375rem; line-height: 1.25rem; font-weight: 700; color: #fff; background: var(--gfy-accent-strong, #df8f00);
	box-shadow: 0 2px 6px rgba(223,143,0,.2); transition: background-color .2s, box-shadow .2s;
}
.gfy-btn:hover { background: #d97706; border-color: #d97706; box-shadow: 0 3px 10px rgba(223,143,0,.28); }
.gfy-btn:disabled { opacity: .6; cursor: wait; }
/* Eventkortets knapper: lidt mindre end formularknappen, og en lys variant */
.gfy-btn--sm { min-height: 2.75rem; padding: .5rem 1rem; font-size: .875rem; text-decoration: none; }
.gfy-btn--ghost { background: transparent; color: var(--gfy-primary); border-color: var(--gfy-primary); box-shadow: none; }
.gfy-btn[aria-disabled="true"] { opacity: .55; cursor: default; pointer-events: none; }
.gfy-btn--ghost:hover { background: var(--gfy-soft); border-color: var(--gfy-primary); box-shadow: none; }
.gfy-form__note { font-size: .875rem; color: var(--gfy-text); opacity: .8; margin: .5rem 0 0; }
.gfy-form__note a { text-decoration: underline; }
.gfy-form__error { color: var(--gfy-danger); font-weight: 600; }
.gfy-form__success { color: var(--gfy-success); font-weight: 600; }
.gfy-form__closed { font-weight: 600; }

.gfy-event-details { display: grid; gap: 1rem; margin: 0; padding: 1.75rem 2rem; background: var(--gfy-soft); border-radius: 1rem; line-height: 1.6; }
.gfy-event-details__row { display: flex; gap: 1.5rem; }
.gfy-event-details dt { min-width: 6rem; font-weight: 700; color: var(--gfy-primary); }
.gfy-event-details dd { margin: 0; }

.gfy-consent {
	position: fixed; z-index: 9999; left: 1rem; right: 1rem; bottom: 1rem; max-width: 26rem;
	padding: 1.25rem; border-radius: .75rem; background: var(--gfy-primary); color: #fff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .3);
}
.gfy-consent[hidden] { display: none; }
.gfy-consent a { color: #fff; text-decoration: underline; }
.gfy-consent__title { margin: 0 0 .5rem; font-weight: 700; }
.gfy-consent__text { margin: 0 0 1rem; font-size: .9rem; }
.gfy-consent__buttons { display: flex; flex-wrap: wrap; gap: .75rem; }
.gfy-consent__btn {
	cursor: pointer; min-height: 2.75rem; padding: .625rem 1.25rem; border-radius: 9999px; border: 2px solid rgba(255,255,255,.55);
	background: rgba(255,255,255,.12); color: #fff; font: inherit; font-size: .9375rem; font-weight: 700; line-height: 1.25rem;
}
.gfy-consent__btn:hover { background: rgba(255,255,255,.22); }
/* Accepter og Afvis har samme udseende, så ingen af dem fremhæves */
@media (min-width: 640px) { .gfy-consent { right: auto; } }

body { font-family: var(--gfy-font); }
.gfy-form input, .gfy-form textarea, .gfy-btn, .gfy-consent button { font-family: inherit; }

/* Cookiebanner på små skærme: kompakt, knapper side om side, og plads til iPhones nederste kant */
.gfy-consent { bottom: calc(1rem + env(safe-area-inset-bottom, 0px)); }
@media (max-width: 480px) {
	.gfy-consent { left: .75rem; right: .75rem; padding: 1rem; bottom: calc(.75rem + env(safe-area-inset-bottom, 0px)); }
	.gfy-consent__title { margin-bottom: .25rem; }
	.gfy-consent__text { font-size: .8125rem; line-height: 1.4; margin-bottom: .75rem; }
	.gfy-consent__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
	.gfy-consent__btn { min-height: 2.5rem; padding: .5rem .5rem; font-size: .8125rem; }
}

/* Eventdetaljer: etiket over værdien på små skærme, så datoer og adresser ikke presses sammen */
@media (max-width: 480px) {
	.gfy-event-details__row { flex-direction: column; gap: .125rem; }
	.gfy-event-details dt { min-width: 0; }
}
.gfy-event-details dd { overflow-wrap: anywhere; }
