:root{--home-purple:#7030a0;--home-purple-light:#9558c5;--home-ink:#17131f;--home-soft:#f5f2f8;--home-line:rgba(62,43,75,.13)}
.home-main{background:linear-gradient(180deg,#f7f4f9 0%,#fff 44%,#f4f0f7 100%);overflow:hidden}.home-hero-wrapper,.home-hero-slide{height:100vh;min-height:680px}.home-hero-slide{background-position:center;background-size:cover}.home-hero-slide:before{background:linear-gradient(90deg,rgba(12,8,17,.84) 0%,rgba(22,13,31,.57) 48%,rgba(20,13,28,.14) 100%)!important}.home-hero-content{padding-bottom:clamp(6.5rem,12vh,9.5rem);max-width:760px}.home-hero-content h1{font-size:clamp(3.25rem,7vw,6.8rem);line-height:.94;letter-spacing:-.055em;margin:.45rem 0 1rem;color:#fff}.home-hero-content p{font-size:clamp(1.1rem,2vw,1.45rem);color:rgba(255,255,255,.78);margin:0}.home-hero-actions{display:flex;align-items:center;gap:1.4rem;margin-top:2rem}.home-button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;border:0;border-radius:999px;padding:.9rem 1.35rem;font-size:.82rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;transition:.22s ease}.home-button:hover{transform:translateY(-2px);text-decoration:none}.home-button--primary{background:linear-gradient(135deg,var(--home-purple),var(--home-purple-light));color:#fff;box-shadow:0 12px 26px rgba(112,48,160,.28)}.home-button--primary:hover{color:#fff}.home-button--outline{color:var(--home-purple);background:transparent;border:1px solid rgba(112,48,160,.35)}.home-button--dark{background:#211a27;color:#fff}.home-hero-link{color:#fff;font-weight:700;border-bottom:1px solid rgba(255,255,255,.38);padding:.35rem 0}.home-hero-link:hover{color:#fff;text-decoration:none;border-color:#fff}
.home-section{padding:clamp(4.5rem,8vw,7rem) 0}.home-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.2rem}.home-kicker{display:block;color:var(--home-purple);font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.7rem}.home-heading h2,.home-contact h2{color:var(--home-ink);font-size:clamp(2.2rem,4vw,3.7rem);letter-spacing:-.045em;line-height:1;margin:0 0 .7rem}.home-heading p{margin:0;color:#746b79}.home-count{background:#fff;border:1px solid var(--home-line);border-radius:999px;padding:.6rem 1rem;color:#62586a;font-size:.78rem;font-weight:700;white-space:nowrap}
.home-matches{background:var(--home-soft)}.home-match-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.home-match-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--home-line);border-radius:20px;box-shadow:0 14px 35px rgba(30,18,39,.07);transition:.22s ease}.home-match-card:hover{transform:translateY(-4px);box-shadow:0 19px 43px rgba(30,18,39,.11)}.home-match-card.is-hidden{display:none}.home-match-top{padding:.7rem 1rem;text-align:center;background:#2d2433;color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.home-match-top--lilla,.home-match-top--purple{background:linear-gradient(135deg,#61308b,#8a45bd)}.home-match-score{display:grid;grid-template-columns:54px 1fr 54px;align-items:center;gap:1rem;padding:1.65rem 1.3rem .9rem}.home-match-score img{object-fit:contain}.home-match-score strong{text-align:center;color:var(--home-ink);font-size:1.65rem}.home-match-card h3{text-align:center;color:var(--home-ink);font-size:1rem;line-height:1.35;padding:0 1.2rem;margin:0 0 1.15rem}.home-match-card h3 span{color:#aaa0ae;font-weight:400}.home-match-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem 1rem;border-top:1px solid var(--home-line);padding:1rem;color:#786e7e;font-size:.76rem}.home-match-meta span{display:flex;align-items:center;gap:.4rem}.home-match-meta i{color:var(--home-purple)}.home-match-card.is-next:after{content:'Neste';position:absolute;right:12px;top:44px;background:#fff;color:var(--home-purple);padding:.3rem .6rem;border-radius:999px;font-size:.61rem;font-weight:800;text-transform:uppercase;box-shadow:0 4px 13px rgba(0,0,0,.12)}.home-more-wrap,.home-section-action{text-align:center;margin-top:2rem}.home-more-button{display:inline-flex;align-items:center;gap:.7rem;border:1px solid rgba(112,48,160,.25);border-radius:999px;background:#fff;color:var(--home-purple);padding:.8rem 1.2rem;font-weight:800}
.home-news{background:#fff}.home-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}.home-news-card{display:flex;flex-direction:column;min-height:510px;overflow:hidden;border:1px solid var(--home-line);border-radius:22px;background:#fff;box-shadow:0 16px 40px rgba(32,19,42,.075)}.home-news-image{height:235px;overflow:hidden;background:#e7e1eb}.home-news-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.home-news-card:hover .home-news-image img{transform:scale(1.035)}.home-news-body{display:flex;flex:1;flex-direction:column;padding:1.45rem}.home-news-meta{display:flex;gap:1rem;color:#918797;font-size:.72rem}.home-news-meta span{display:flex;gap:.35rem;align-items:center}.home-news-body h3{font-size:1.25rem;line-height:1.3;color:var(--home-ink);margin:.9rem 0 .65rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-news-body p{color:#746b79;font-size:.88rem;line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.home-card-link{align-self:flex-start;margin-top:auto;padding:0;background:none;border:0;color:var(--home-purple);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.home-card-link i,.home-text-link i{margin-left:.35rem;transition:transform .2s}.home-card-link:hover i,.home-text-link:hover i{transform:translateX(4px)}.home-text-link{color:var(--home-purple);font-weight:800;text-decoration:none}.home-news-modal .modal-content{overflow:hidden;border:0;border-radius:22px;box-shadow:0 25px 70px rgba(18,10,24,.32)}.home-modal-image{width:100%;max-height:360px;object-fit:cover}.home-news-modal .modal-title{color:var(--home-ink);font-weight:800}.home-news-modal .modal-body{color:#605667;line-height:1.75}
.home-club{padding:clamp(4rem,8vw,7rem) 0;background:#17121e}.home-club-panel{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem);align-items:center}.home-club-copy h2{color:#fff;font-size:clamp(2.7rem,5vw,5rem);line-height:1;letter-spacing:-.055em;margin:.8rem 0 1.4rem}.home-club-copy p{max-width:540px;color:rgba(255,255,255,.65);font-size:1.05rem;line-height:1.75}.home-club-links{display:grid;gap:.8rem}.home-club-links>a,.home-social{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:1rem;padding:1.15rem 1.25rem;border:1px solid rgba(255,255,255,.1);border-radius:17px;background:rgba(255,255,255,.055);color:#fff;text-decoration:none;transition:.2s}.home-club-links>a:hover{background:rgba(149,88,197,.16);border-color:rgba(149,88,197,.35);transform:translateX(4px)}.home-club-links>a>i:first-child{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:rgba(149,88,197,.18);color:#b879e7;font-size:1.1rem}.home-club-links strong,.home-social strong{display:block;font-size:.95rem}.home-club-links small,.home-social small{display:block;color:rgba(255,255,255,.5);margin-top:.15rem}.home-social{grid-template-columns:1fr auto}.home-social>div{display:flex;gap:.5rem}.home-social>div a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff}.home-social>div a:hover{background:var(--home-purple);text-decoration:none}
.home-contact{padding:clamp(4.5rem,8vw,7rem) 0;background:linear-gradient(135deg,#eee7f3,#faf8fb)}.home-contact-panel{display:flex;align-items:center;justify-content:space-between;gap:3rem;padding:clamp(2rem,5vw,4rem);border:1px solid rgba(112,48,160,.13);border-radius:28px;background:rgba(255,255,255,.82);box-shadow:0 20px 55px rgba(43,24,56,.08)}.home-contact-panel p{color:#746b79;max-width:650px}.home-contact-details{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:1.4rem}.home-contact-details a,.home-contact-details span{display:flex;align-items:center;gap:.55rem;color:#514758;text-decoration:none}.home-contact-details i{color:var(--home-purple)}.home-contact-actions{display:flex;flex-direction:column;gap:.7rem;min-width:190px}.home-sponsors{padding:3rem 0;background:#fff}.home-sponsor-label{display:block;text-align:center;color:#9b929f;font-size:.67rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.5rem}.home-sponsors .owl-carousel img{max-height:78px;object-fit:contain;filter:grayscale(1);opacity:.6!important;transition:.2s}.home-sponsors .owl-carousel a:hover img{filter:none;opacity:1!important}
@media(max-width:991px){.home-match-grid,.home-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-club-panel{grid-template-columns:1fr}.home-contact-panel{align-items:flex-start;flex-direction:column}.home-contact-actions{flex-direction:row;min-width:0}}
@media(max-width:767px){.home-hero-wrapper,.home-hero-slide{height:clamp(500px,85vh,650px);min-height:0}.home-hero-slide{background-position:center}.home-hero-slide:before{background:linear-gradient(0deg,rgba(13,8,18,.9) 0%,rgba(19,12,26,.6) 58%,rgba(19,12,26,.2) 100%)!important}.home-hero-content{padding:0 0 5.8rem}.home-hero-content h1{font-size:clamp(2.7rem,13vw,4rem)}.home-hero-actions{align-items:flex-start;flex-direction:column;gap:.9rem}.home-heading{align-items:flex-start;flex-direction:column;gap:1rem}.home-match-grid,.home-news-grid{grid-template-columns:1fr}.home-news-card{min-height:470px}.home-news-image{height:220px}.home-contact-actions{width:100%;flex-direction:column}.home-contact-actions .home-button{width:100%}.home-club-copy h2{font-size:2.65rem}.home-contact-details{flex-direction:column}.home-section{padding:4rem 0}}

/* Nyhetsmodal */
.home-news-modal .modal-dialog {
	max-width: 920px;
	margin-top: 1.25rem;
	margin-bottom: 1.25rem;
}

.home-news-modal .modal-content {
	max-height: calc(100dvh - 2.5rem);
	overflow-x: hidden;
	overflow-y: auto;
	background: #fbfafc;
	border: 1px solid rgba(112, 48, 160, 0.13);
	border-radius: 24px;
	box-shadow: 0 32px 90px rgba(10, 5, 15, 0.48);
}

.home-news-modal .home-modal-image {
	display: block;
	width: 100%;
	height: auto;
	max-height: none;
	object-fit: contain;
	background: #17121e;
}

.home-news-modal .modal-header {
	align-items: flex-start;
	padding: 1.8rem 2rem 1.35rem;
	border-bottom: 1px solid rgba(62, 43, 75, 0.1);
}

.home-news-modal .modal-title {
	padding-right: 1.5rem;
	font-size: clamp(1.25rem, 2.3vw, 1.75rem);
	line-height: 1.3;
	letter-spacing: -0.025em;
}

.home-news-modal .modal-body {
	padding: 1.8rem 2rem 2rem;
	font-size: 0.94rem;
	line-height: 1.8;
}

.home-news-modal .modal-body p:last-child {
	margin-bottom: 0;
}

.home-news-modal .modal-footer {
	gap: 0.65rem;
	padding: 1.2rem 2rem 1.5rem;
	border-top: 1px solid rgba(62, 43, 75, 0.1);
}

.modal-backdrop.show {
	opacity: 1;
	background: rgba(8, 5, 12, 0.82);
	-webkit-backdrop-filter: blur(9px);
	backdrop-filter: blur(9px);
}

/* Word-rotator */
.home-rotator-word {
	display: inline-grid;
	width: 10.5ch;
	color: #b86fe7;
	vertical-align: baseline;
}

.home-rotator-word > span {
	grid-area: 1 / 1;
	display: inline-block;
	opacity: 0;
	transform: translateY(0.28em);
	transition: opacity 0.48s ease, transform 0.48s ease;
}

.home-rotator-word > span.is-active {
	opacity: 1;
	transform: translateY(0);
}

.home-rotator-tail {
	display: inline-block;
	color: rgba(255, 255, 255, 0.92);
}

@media (max-width: 767px) {
	.home-hero-wrapper,
	.home-hero-slide {
		height: 100vh;
		height: 100svh;
		min-height: 100svh;
	}

	@supports (height: 100dvh) {
		.home-hero-wrapper,
		.home-hero-slide {
			height: 100dvh;
			min-height: 100dvh;
		}
	}

	.home-news-modal .modal-dialog {
		max-width: none;
		margin: 0.75rem;
	}

	.home-news-modal .modal-content {
		max-height: calc(100dvh - 1.5rem);
		border-radius: 20px;
	}

	.home-news-modal .modal-header,
	.home-news-modal .modal-body {
		padding-left: 1.35rem;
		padding-right: 1.35rem;
	}

	.home-news-modal .modal-footer {
		padding: 1rem 1.35rem 1.35rem;
	}

	.home-news-modal .modal-footer .home-button {
		flex: 1 1 100%;
	}

	.home-rotator-word {
		display: grid;
		width: 100%;
		min-height: 1em;
		margin-top: 0.08em;
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-rotator-word > span {
		transition: none;
	}
}

/* Typografi – samme tyngde som på undersidene */
.home-heading h2,
.home-contact h2 {
	font-weight: 700;
}

.home-news-body h3,
.home-match-card h3 {
	font-weight: 600;
}

.home-club-copy h2 {
	font-weight: 700;
}

/* Lukkeknapp over modalbildet */
.home-news-modal .modal-content {
	position: relative;
}

.home-news-modal .modal-header .btn-close {
	position: absolute;
	top: 1.1rem;
	right: 1.1rem;
	z-index: 5;
	width: 2.75rem;
	height: 2.75rem;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 50%;
	background-color: rgba(15, 10, 19, 0.72);
	background-image: none;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
	filter: none;
	opacity: 1;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.home-news-modal .modal-header .btn-close::before,
.home-news-modal .modal-header .btn-close::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1rem;
	height: 2px;
	border-radius: 2px;
	background: #fff;
}

.home-news-modal .modal-header .btn-close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.home-news-modal .modal-header .btn-close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.home-news-modal .modal-header .btn-close:hover {
	background-color: rgba(112, 48, 160, 0.92);
	transform: scale(1.06);
}

.home-news-modal .modal-header .btn-close:focus {
	box-shadow: 0 0 0 3px rgba(184, 111, 231, 0.38), 0 8px 24px rgba(0, 0, 0, 0.28);
}

@media (max-width: 767px) {
	.home-news-modal .modal-header .btn-close {
		top: 0.85rem;
		right: 0.85rem;
		width: 2.55rem;
		height: 2.55rem;
	}
}

/* Samler laglogoer og klokkeslett visuelt */
.home-match-score {
	width: fit-content;
	max-width: 100%;
	margin-right: auto;
	margin-left: auto;
	padding-right: 0;
	padding-left: 0;
	grid-template-columns: 54px max-content 54px;
	column-gap: clamp(1.25rem, 2.2vw, 2rem);
	justify-content: center;
}

/* Stabil kortlayout og tidligere overgang til to kolonner */
.home-match-card {
	display: flex;
	flex-direction: column;
}

.home-match-meta {
	margin-top: auto;
	min-height: 58px;
}

@media (max-width: 1250px) {
	.home-match-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.home-match-grid {
		grid-template-columns: 1fr;
	}

	.home-match-meta {
		min-height: 0;
	}
}

/* Tydelige lenker til klubbens sosiale medier */
.home-social {
	grid-template-columns: 1fr;
	align-items: start;
}

.home-social-links {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.55rem !important;
	width: 100%;
	margin-top: 0.85rem;
}

.home-social-links .home-social-link {
	display: flex !important;
	align-items: center;
	justify-content: flex-start;
	gap: 0.55rem;
	width: auto;
	height: auto;
	min-height: 44px;
	padding: 0.7rem 0.8rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.07);
	color: #fff;
	font-size: 0.69rem;
	font-weight: 700;
	line-height: 1.25;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.home-social-links .home-social-link i {
	flex: 0 0 auto;
	color: #bd79e8;
	font-size: 1rem;
}

.home-social-links .home-social-link:hover {
	background: rgba(112, 48, 160, 0.3);
	border-color: rgba(184, 111, 231, 0.35);
	color: #fff;
	transform: translateY(-2px);
}

@media (max-width: 575px) {
	.home-social-links {
		grid-template-columns: 1fr;
	}
}

/* Fargetema fra nestekamp.farge_id */
.home-match-top {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
}

.home-match-top::before {
	content: "";
	flex: 0 0 10px;
	width: 10px;
	height: 10px;
	border: 1px solid rgba(255, 255, 255, 0.42);
	border-radius: 50%;
	background: var(--match-accent, #8B5CF6);
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.06);
}

.home-match-top::after {
	content: none;
}

.home-match-top--menn {
	--match-accent: #7B6FD0;
}

.home-match-top--elite {
	--match-accent: #D6A84B;
}

.home-match-top--kvinner {
	--match-accent: linear-gradient(135deg, #A65CC7, #D26B9C);
}

.home-match-top--sorvest {
	--match-accent: #3CA6A0;
}
