/* =========================================================
   Flúðir Dagskrá – framsetning
   Litir og stillingar má auðveldlega yfirskrifa með :root.
   ========================================================= */

.fludir-dagskra {
	--fl-green:       #84bd3a;
	--fl-green-dark:  #5f9e2a;
	--fl-orange:      #e59a2e;
	--fl-orange-dark: #cf871d;
	--fl-ink:         #25282b;
	--fl-muted:       #6c6f73;
	--fl-line:        #e6e4df;
	--fl-card:        #ffffff;
	--fl-card-hover:  #fbfbf9;
	--fl-radius:      14px;
	--fl-cols:        4;
	--fl-shadow:      0 1px 2px rgba(20,22,24,.05);
	--fl-shadow-lg:   0 18px 50px rgba(20,22,24,.18);

	color: var(--fl-ink);
	max-width: 1280px;
	margin: 0 auto;
	-webkit-font-smoothing: antialiased;
}

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

/* ---- Fyrirsögn ---- */
.fludir-dagskra .fludir-heading {
	text-align: center;
	text-transform: uppercase;
	letter-spacing: .02em;
	color: var(--fl-green);
	font-weight: 800;
	font-size: clamp(2.2rem, 5vw, 3.6rem);
	line-height: 1.05;
	margin: 0 0 2.6rem;
}

/* ---- Rúðunet eftir dögum ---- */
.fludir-dagskra .fludir-grid {
	display: grid;
	grid-template-columns: repeat(var(--fl-cols), 1fr);
	gap: 28px;
	align-items: start;
}

/* Fjöldi dálka fylgir fjölda daga á hátíðinni */
.fludir-dagskra[data-days="1"] { --fl-cols: 1; }
.fludir-dagskra[data-days="2"] { --fl-cols: 2; }
.fludir-dagskra[data-days="3"] { --fl-cols: 3; }
.fludir-dagskra[data-days="4"] { --fl-cols: 4; }
.fludir-dagskra[data-days="5"] { --fl-cols: 5; }

/* Ekki teygja spjöld of breið þegar dagarnir eru fáir */
.fludir-dagskra[data-days="1"] .fludir-grid { max-width: 460px; margin-inline: auto; }
.fludir-dagskra[data-days="2"] .fludir-grid { max-width: 840px; margin-inline: auto; }

@media (max-width: 1100px) {
	.fludir-dagskra .fludir-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
}
@media (max-width: 600px) {
	.fludir-dagskra .fludir-grid { grid-template-columns: 1fr; gap: 8px; }
}

/* ---- Dagshaus ---- */
.fludir-dagskra .fludir-day-head {
	margin-bottom: 18px;
}
.fludir-dagskra .fludir-day-date {
	display: block;
	font-style: italic;
	font-size: .82rem;
	color: var(--fl-muted);
	margin-bottom: 4px;
}
.fludir-dagskra .fludir-day-name {
	display: inline-block;
	font-weight: 800;
	font-size: 1.5rem;
	line-height: 1.1;
	padding-bottom: 8px;
	border-bottom: 3px solid var(--fl-green);
}

/* ---- Viðburðir ---- */
.fludir-dagskra .fludir-events {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.fludir-dagskra .fludir-event-card {
	position: relative;
	background: var(--fl-card);
	border: 1px solid var(--fl-line);
	border-radius: var(--fl-radius);
	padding: 12px 18px;
	cursor: pointer;
	box-shadow: var(--fl-shadow);
	transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.fludir-dagskra .fludir-event-card:hover,
.fludir-dagskra .fludir-event-card:focus-visible {
	transform: translateY(-3px);
	box-shadow: 0 10px 26px rgba(20,22,24,.12);
	border-color: #d8d5cd;
	background: var(--fl-card-hover);
	outline: none;
}
.fludir-dagskra .fludir-event-card:focus-visible {
	outline: 2px solid var(--fl-green);
	outline-offset: 2px;
}

/* litla appelsínugula merkið á miðasöluviðburðum */
.fludir-dagskra .fludir-event-card.has-ticket::before {
	content: "";
	position: absolute;
	left: 0; top: 12px; bottom: 12px;
	width: 4px;
	border-radius: 0 4px 4px 0;
	background: var(--fl-orange);
}

.fludir-dagskra .fludir-event-meta {
	font-size: .82rem;
	color: var(--fl-muted);
	margin-bottom: 4px;
	letter-spacing: .01em;
}
.fludir-dagskra .fludir-event-title {
	font-size: 1.06rem;
	font-weight: 700;
	line-height: 1.3;
	margin: 0;
	color: var(--fl-ink);
}
.fludir-dagskra .fludir-event-access {
	font-style: italic;
	font-size: .9rem;
	color: var(--fl-muted);
	margin-top: 3px;
}

.fludir-dagskra .fludir-event-hint {
	display: block;
	max-height: 0;
	margin-top: 0;
	overflow: hidden;
	font-size: .76rem;
	font-weight: 600;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: var(--fl-green-dark);
	opacity: 0;
	transform: translateY(2px);
	transition: max-height .18s ease, margin-top .18s ease, opacity .16s ease, transform .16s ease;
}
.fludir-dagskra .fludir-event-hint::after { content: "→"; margin-left: 4px; }
.fludir-dagskra .fludir-event-card:hover .fludir-event-hint,
.fludir-dagskra .fludir-event-card:focus-visible .fludir-event-hint {
	max-height: 2rem;
	margin-top: 10px;
	opacity: 1;
	transform: translateY(0);
}

/* ---- Miðasölutakki ---- */
.fludir-dagskra .fludir-buy {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--fl-orange);
	color: #fff;
	font-weight: 700;
	font-size: .86rem;
	letter-spacing: .02em;
	text-decoration: none;
	padding: 10px 18px;
	border-radius: 999px;
	border: none;
	line-height: 1;
	transition: background .15s ease, transform .15s ease;
}
.fludir-dagskra .fludir-buy:hover {
	background: var(--fl-orange-dark);
	color: #fff;
	transform: translateY(-1px);
}
.fludir-dagskra .fludir-buy-price {
	font-weight: 600;
	opacity: .9;
	font-size: .82rem;
}

.fludir-dagskra .fludir-card-buy-wrap { margin-top: 12px; }
.fludir-dagskra .fludir-card-buy {
	font-size: .78rem;
	padding: 8px 14px;
	text-transform: uppercase;
}

.fludir-dagskra .fludir-empty {
	text-align: center;
	color: var(--fl-muted);
	font-style: italic;
	padding: 2rem 0;
}

/* =========================================================
   Modal gluggi
   ========================================================= */
.fludir-modal[hidden] { display: none; }

.fludir-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.fludir-modal-overlay {
	position: absolute;
	inset: 0;
	background: rgba(18,20,22,.55);
	backdrop-filter: blur(2px);
	opacity: 0;
	transition: opacity .2s ease;
}
.fludir-modal.is-open .fludir-modal-overlay { opacity: 1; }

.fludir-modal-dialog {
	position: relative;
	background: var(--fl-card);
	width: 100%;
	max-width: 540px;
	max-height: calc(100vh - 40px);
	overflow: auto;
	border-radius: 18px;
	box-shadow: var(--fl-shadow-lg);
	transform: translateY(14px) scale(.985);
	opacity: 0;
	transition: transform .22s ease, opacity .22s ease;
}
.fludir-modal.is-open .fludir-modal-dialog {
	transform: translateY(0) scale(1);
	opacity: 1;
}

.fludir-modal-close {
	position: absolute;
	top: 12px; right: 12px;
	z-index: 2;
	width: 38px; height: 38px;
	border-radius: 50%;
	border: none;
	background: rgba(255,255,255,.9);
	color: var(--fl-ink);
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(0,0,0,.15);
	transition: background .15s ease, transform .15s ease;
}
.fludir-modal-close:hover { background: #fff; transform: rotate(90deg); }

.fludir-modal-media { position: relative; line-height: 0; }
.fludir-modal-media .fludir-modal-img {
	width: 100%;
	height: auto;
	display: block;
	max-height: 200px;
	object-fit: cover;
}

/* Mjúkur gradient neðst á myndinni svo logo poppi */
.fludir-modal-media.has-sponsors::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 55%;
	background: linear-gradient(to top, rgba(0,0,0,.6), rgba(0,0,0,0));
	pointer-events: none;
	z-index: 1;
}

/* Logo styrktaraðila í hægra horni ofan á mynd */
.fludir-modal-sponsors-overlay {
	position: absolute;
	right: 16px;
	bottom: 12px;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 10px 14px;
	max-width: 70%;
}
.fludir-modal-sponsors-overlay .fludir-sponsor-logo img,
.fludir-modal-sponsors-overlay .fludir-sponsor-logo svg {
	max-height: 48px;
	max-width: 130px;
	width: auto;
	height: auto;
	display: block;
	filter: drop-shadow(0 1px 3px rgba(0,0,0,.5));
}

.fludir-modal-content { padding: 28px 30px 30px; }

.fludir-modal-eyebrow {
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--fl-green-dark);
	margin-bottom: 8px;
}
.fludir-dagskra .fludir-modal-title {
	font-size: 1.6rem !important;
	font-weight: 800;
	line-height: 1.2 !important;
	margin: 0 0 14px;
	color: var(--fl-ink);
}

.fludir-modal-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 10px;
	margin-bottom: 18px;
}
.fludir-modal-facts .fludir-fact {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #f3f2ee;
	color: var(--fl-ink);
	font-size: .85rem;
	font-weight: 600;
	padding: 7px 13px;
	border-radius: 999px;
}
.fludir-modal-facts .fludir-fact-time::before { content: "🕑"; }
.fludir-modal-facts .fludir-fact-place::before { content: "📍"; }

.fludir-modal-desc {
	color: #3c3f42;
	font-size: 1rem;
	line-height: 1.6;
	margin-bottom: 18px;
}
.fludir-modal-desc p:last-child { margin-bottom: 0; }
.fludir-modal-desc img { max-width: 100%; height: auto; border-radius: 8px; }

.fludir-modal-access {
	font-style: italic;
	color: var(--fl-muted);
	margin-bottom: 20px;
}

.fludir-modal-actions { margin-top: 6px; }
.fludir-modal-actions .fludir-modal-buy {
	font-size: 1rem;
	padding: 14px 26px;
	width: 100%;
	justify-content: center;
}

/* ---- Styrktaraðilar í glugganum ---- */
.fludir-modal-sponsors {
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px solid var(--fl-line);
}
.fludir-modal-sponsors-title {
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--fl-muted);
	margin-bottom: 14px;
}
.fludir-modal-sponsors-logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 22px;
}
.fludir-sponsor-logo { display: inline-flex; align-items: center; }
.fludir-sponsor-logo img {
	max-height: 48px;
	max-width: 140px;
	width: auto;
	height: auto;
	display: block;
}

/* hindrar skrun á bakvið modal */
body.fludir-modal-open { overflow: hidden; }

/* ---- Hreyfing slökkt fyrir þá sem vilja ---- */
@media (prefers-reduced-motion: reduce) {
	.fludir-dagskra .fludir-event-card,
	.fludir-dagskra .fludir-buy,
	.fludir-modal-overlay,
	.fludir-modal-dialog,
	.fludir-event-hint,
	.fludir-modal-close {
		transition: none !important;
	}
	.fludir-dagskra .fludir-event-card:hover { transform: none; }
}

/* ---- Snjalltæki ---- */
@media (max-width: 600px) {
	.fludir-dagskra .fludir-day {
		border-top: 1px solid var(--fl-line);
		padding-top: 18px;
		margin-top: 14px;
	}
	.fludir-dagskra .fludir-day:first-child { border-top: none; margin-top: 0; }

	/* Modal: miðjusett spjald með bili allan hringinn */
	.fludir-modal { padding: 16px; align-items: center; }
	.fludir-modal-dialog {
		max-width: 100%;
		max-height: calc(100vh - 32px);
		border-radius: 18px;
	}

	/* Þjappað svo allt komist fyrir án skruns */
	.fludir-modal-media .fludir-modal-img { max-height: 200px; }
	.fludir-modal-content { padding: 20px 22px 22px; }
	.fludir-modal-eyebrow { margin-bottom: 6px; }
	.fludir-dagskra .fludir-modal-title { font-size: 1.15rem !important; line-height: 1.2 !important; margin-bottom: 10px; }
	.fludir-modal-facts { margin-bottom: 14px; gap: 6px 8px; }
	.fludir-modal-facts .fludir-fact { font-size: .8rem; padding: 6px 11px; }
	.fludir-modal-actions { margin-top: 8px; margin-bottom: 0; }
	.fludir-modal-actions .fludir-modal-buy { padding: 12px 22px; }
	.fludir-modal-sponsors-overlay { right: 12px; bottom: 10px; gap: 8px 12px; }
	.fludir-modal-sponsors-overlay .fludir-sponsor-logo img,
	.fludir-modal-sponsors-overlay .fludir-sponsor-logo svg { max-height: 38px; max-width: 108px; }
	.fludir-modal-desc { font-size: .95rem; line-height: 1.5; margin-bottom: 12px; }
	.fludir-modal-access { margin-bottom: 12px; }
	.fludir-modal-sponsors { margin-top: 14px; padding-top: 14px; }
	.fludir-modal-sponsors-title { margin-bottom: 10px; }
	.fludir-modal-sponsors-logos { gap: 12px 16px; }
	.fludir-sponsor-logo img, .fludir-sponsor-logo svg { max-height: 40px; }
}
