:root {
	/*--primary-bg: ;*/
	--primary-text: #ffffff;
	--gunmetal: #082E38;
	--fancy-bg: #456973;
	--dark-bg: #1f282f;
	--ecru: #C5AE77;
	--ecru-hover: #d4c292;
	--box-border-radius: 8px;
	--bs-nav-link-color: var(--ecru);
}

* {
	box-sizing: border-box;
}

html {
	/*For smooth scrolling behavior*/
	scroll-behavior: smooth;
}

a {
	color: var(--ecru);
	text-decoration: none !important;
}

a:hover {
	color: var(--ecru-hover);
}

.btn {
	margin-right: 5px;
}

.btn svg {
	width: 1.5rem;
	height: 1.5rem;
	fill: currentColor;
}

.btn-ecru {
	--bs-btn-bg: var(--ecru);
	--bs-btn-border-color: var(--ecru);
	color: #222;
	--bs-btn-active-color: #222;
	--bs-btn-hover-bg: var(--ecru-hover);
	--bs-btn-hover-color: #222;
	--bs-btn-active-bg: var(--ecru-hover);
	--bs-btn-active-border-color: var(--ecru-hover);
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color: #222;
	--bs-btn-disabled-bg: var(--ecru);
	--bs-btn-disabled-border-color: var(--ecru);
	white-space: nowrap;
}

.btn-outline-ecru {
  --bs-btn-color: var(--ecru);
  --bs-btn-border-color: var(--ecru);
  --bs-btn-hover-color: #222;
  --bs-btn-hover-bg: var(--ecru);
  --bs-btn-hover-border-color: var(--ecru);
  --bs-btn-focus-shadow-rgb: 13,110,253;
  --bs-btn-active-color: #222;
  --bs-btn-active-bg: var(--ecru);
  --bs-btn-active-border-color: var(--ecru);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--ecru);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--ecru);
  --bs-gradient: none;
}

.nav-link {
  color: var(--ecru);
}

.nav-link:hover,
.nav-link:focus,
.nav-link.active {
  color: var(--ecru-hover);
}

.nav-pills {
  --bs-nav-pills-border-radius: var(--bs-border-radius);
  --bs-nav-pills-link-active-color: #222;
  --bs-nav-pills-link-active-bg: var(--ecru);
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #0d6efd;
  --bs-btn-border-color: #0d6efd;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0b5ed7;
  --bs-btn-hover-border-color: #0a58ca;
  --bs-btn-focus-shadow-rgb: 49,132,253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0a58ca;
  --bs-btn-active-border-color: #0a53be;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0d6efd;
  --bs-btn-disabled-border-color: #0d6efd;
}

.fitwidth {
	width: 1px;
	white-space: nowrap;
}

.right-align {
	text-align: right;
}

.right-align .btn {
	margin-right: 0;
	margin-left: 5px;
}

.inner-box {
	background: rgba(0,0,0,.4);
	padding: 15px;
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 5px;
}

.inline-block {
	display: inline-block;
}

.search-form {
	margin-bottom: 15px;
}

.white_text {
	color: #fff;
}

.desktop {
	display: block;
}

.mobile {
	display: none;
}

#fileToUpload,
#profile-image-upload-submit {
	display: none;
}

body {
	background: #1f282f;
	color: #f1f1f1;
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	font-size: 16px;
	padding: 0;
}

.form-floating label {
	color: var(--bs-body-color);
}

header {
	background-color: #1f282f;
}

header nav {
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	font-style: regular;
	text-transform: uppercase;
	font-size: 1rem;
}

header nav .nav-item:not(:first-child) {
	border-left: 1px solid #666;
}

header nav .nav-link {
	padding: 0px 20px !important;
}

header nav .nav-link {
	color: #fff;
}

header nav .nav-item .nav-link:focus,
header nav .nav-item .nav-link:hover,
header nav .nav-item.active .nav-link {
	color: #fff;
	text-shadow: 1px 1px 0px var(--ecru);
}

header button i {
	color: rgba(255,255,255,.8);
}

header button:hover i {
	color: rgba(255,255,255,1);
}
/*
header .bg-image {
	background: url(/img/FLC_header_color.jpg) rgba(0, 0, 0, 0.5);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: bottom;
	height: 300px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-blend-mode: multiply;
	box-shadow: 0px -1px 1px #ffffff30 inset, 0 1px 1px #ffffff30 inset;
}*/

.bg-image-container {
	position: relative;
	width: 100%;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.bg-image-container .bg-header-image {
	width: 100%;
	height: auto;
	max-height: 300px;
	display: block;
	object-fit: cover;
	object-position: bottom;
}

.bg-image-container .bg-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	mix-blend-mode: multiply;
	pointer-events: none;
	z-index: 1;
}

.bg-image-container .logo-container {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
}

.logo-container {
	width: 200px;
	height: 200px;
}

.breadcrumbs-outer {
	background: #151b1f;
    padding-block: 15px;
    margin-bottom: 15px;
    box-shadow: 3px 3px 3px #263038;
    border-bottom: 1px solid #394854;
}

.breadcrumbs-outer.featured {
	margin-bottom: 0;
	border-bottom: 0;
}

.badges {
	width: 32px;
	margin-bottom: 5px;
}

.badges.badges-small {
	width: 16px;
}

h1, h2, h3, h4, h5 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	color: #fff;
}

.nav-link {
	position: relative;
}

.offer_notification.bubble {
	position: absolute;
	top: 0;
	right: 0;
	background: red;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	font-size: 0.7rem;
	font-weight: bold;
	text-align: center;
	color: white;
}

h5.card-title {
	/*color: #333;*/
}

.container_box {
	background: rgba(0,0,0,.4);
	padding: 15px;
	margin: 15px 0;
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 5px;
}

img {
	max-width: 100%;
}

body > main > .content {
	margin-top: 30px;
	margin-bottom: 30px;
}

/* /// TABLE ADJUSTMENT /// */
.table-transparent,
.table-transparent tr,
.table-transparent td {
	background-color: transparent !important;
	--bs-table-bg: transparent !important;
	border: 0px solid #fff !important;
	padding: 0 .5rem !important;
}

/* /// SECONDARY MENU /// */
.secondary-menu {
	margin: 15px 0;
	border-top: 1px solid rgba(255,255,255,.1);
	padding: 15px 0;
}

.secondary-menu .navbar-nav .nav-item {
	/*margin-left: 15px;*/
	padding: 5px 15px;
	border-radius: 50px;
}

.secondary-menu .navbar-nav .nav-item.active {
	background: var(--fancy-bg);
}

.secondary-menu .nav-link {
	display: flex;
	flex-direction: row; /* Sett ikon over tekst */
	align-items: center; /* Sentrer ikon og tekst horisontalt */
	text-align: left; /* Sentrer teksten */
	font-size: 14px; /* Juster skriftstørrelse */
	padding: 10px;
	color: rgba(255,255,255,.8); /* Sett fargen for tekst og ikon til hvit */
}

.secondary-menu .nav-icon {
	font-size: 2rem;
	margin-right: 10px;
}

/* Fjern endringer på hover */
.secondary-menu .navbar-nav .nav-item .nav-link:hover {
	color: white; /* Hold fargen hvit på hover */
	text-decoration: none; /* Fjern eventuell understreking */
}

/* Fjern endringer på active state */
.secondary-menu .navbar-nav .nav-item.active .nav-link {
	color: white; /* Hold fargen hvit når lenken er aktiv */
	font-weight: normal; /* Ingen spesielle stilendringer for aktiv lenke */
}

/* /// PLAYERS LOOKING /// */
.player_box {
	background: var(--fancy-bg);
	border-radius: 10px;
	overflow: hidden;
}

.player_box.small .player_portrait {
	width: 100%;
	aspect-ratio: 1/1;
}

.player_portrait img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.player_box .player_text {
	padding: 15px;
	font-size: .85rem;
}

.player_box .player_text .prefPos {
	min-height: 20px;
}

.player_box .player_text h5 {
	font-size: 1rem;
}

.player_box .player_actions {
	margin: 10px 0 0;
}

.fancy-box {
	margin-bottom: 60px;
}

.fancy-box .top-part,
.fancy-box .bottom-part {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

.competitive.fancy-box .text-container {
	z-index: 50;
	width: 50%;
	background: var(--fancy-bg);
	padding: 20px;
	text-align: center;
}

.competitive.fancy-box .text-container.top_text_container {
	margin: 0 0 -60px 0;
}

.competitive.fancy-box .text-container.bottom_text_container {
	margin: -60px 0 0 0;
	
}

.prizes.fancy-box .text-container,
.leagues.fancy-box .text-container,
.personalised.fancy-box .text-container {
	margin-left: -150px;
	z-index: 50;
	width: 40%;
	background: var(--fancy-bg);
	padding: 20px;
}

.fancy-box .text-container h2,
.fancy-box .text-container h3 {
	font-size: 2.5rem;
	font-weight: 900;
}

.fancy-box .text-container h3 {
	font-size: 2.2rem;
}

.fancy-box .text-container p {
	margin-bottom: 0;
}

.competitive.fancy-box .text-container h2 {
	font-size: 3.5rem;
	
	font-weight: 900;
}

.fancy-box .text-container .buttons {
	margin: 15px 0 0;
}

.fancy-box .image-container {
	width: 70%;
}

.competitive.fancy-box .image-container {
	width: 100%;
}

.fancy-box .image-container img {
	width: 100%;
	height: 600px;
	/*background: url("/img/fifa_competitive.jpg") no-repeat;
	background-size: cover;*/
	/*box-shadow: 0px 4px 4px 0px #00000040, inset 0px 0px 65px 100px rgba(0,0,0,.5);*/
}

.competitive.fancy-box .image-container img {
	height: auto;
}

.competitive.fancy-box .info-box {
	background: rgba(255,255,255,1);
	width: 60%;
	color: #222;
	font-size: 14px;
	padding: 15px;
	margin-top: 30px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.competitive.fancy-box .info-box .info-text {
	width: 75%;
}

#my-profile-image,
#my-club_image {
	opacity: 1;
	display: block;
	transition: .5s ease;
	backface-visibility: hidden;
}

.club_logo_container,
.profile-image-container,
.my-profile-image-container {
	position: relative;
	border-radius: 5px;
	overflow: hidden;
}

.middle {
	transition: .5s ease;
	opacity: 0;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	text-align: center;
}

.my-profile-image-container:hover #my-profile-image,
.club_logo_container:hover #my-club-image {
	opacity: 0.3;
	cursor: pointer;
}

.my-profile-image-container:hover .middle,
.club_logo_container:hover .middle {
	opacity: 1;
	cursor: pointer;
	pointer-events: none;
}

.my-profile-image-container:hover .middle .text,
.club_logo_container:hover .middle .text {
	background-color: #04AA6D;
	color: white;
	font-size: 16px;
	padding: 10px 15px;
}

.contract_container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: rgba(0,0,0,.4);
	padding: 15px;
	margin: 15px 0;
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 5px;
}

form label.form-label {
	/*color: #222;*/
}

.nav-tabs-container #nav-tab,
.nav-tabs-container a.nav-link {
	border: 0px;
	color: #999;
}

.nav-tabs-container a.nav-link:hover,
.nav-tabs-container a.nav-link:focus {
	border: 0px;
	color: #ccc;
}

.nav-tabs-container a.nav-link.active {
    background: #32404b;
    color: #fff;
    border: 0px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
}

div#nav-tabContent.tab-content {
	background: #32404b;
	padding: 30px;
}

.tab-pane .nav-tabs-container a.nav-link.active,
.tab-pane div#nav-tabContent.tab-content {
	background: #405260;
}

div#nav-tabContent div#nav-tabContent .tab-pane .nav-tabs-container a.nav-link.active,
div#nav-tabContent div#nav-tabContent div#nav-tabContent {
	background: #4d6273;
}

.competition-image-container {
	padding: 15px;
}

ol.rule-list {
	padding-left: 0;
}

ol.rule-list,
ol.rule-sublist {
	counter-reset: item
}

ol.rule-list h3,
.rule-title {
	margin-bottom: 15px;
}

li.rule-item,
li.rule-subitem {
	display: block;
}

li.rule-item:before,
li.rule-subitem:before {
	content: counters(item, ".") " ";
	counter-increment: item;
	font-weight: bold;
	font-size: 1.2rem;
}

.club_name p {
	color: #fff;
}

/* /// PUBLIC PROFILE PAGE /// */
.livestream-player-container {
	margin-top: 30px;
}

/* /// PUBLIC CLUB PAGE /// */
.club_details_outer_container {
	margin-bottom: 30px;
}

/* /// MANAGER /// */
.card .club-image-container #club_logo {
	max-width: 100%;
	height: auto;
	width: auto;
}

/* /// LEAGUES /// */
.league-image-container {
	width: 180px;
	padding: 30px 30px 30px 0;
}

.league_header_container {
	display: flex;
	align-items: center;
}

/* /// LEADERBOARDS /// */
table.leaderboards th {
	font-size: 0.9rem;
}

table.leaderboards td.goals,
table.leaderboards td.assists,
table.leaderboards td.rating,
table.leaderboards td.passes,
table.leaderboards td.pass_percent,
table.leaderboards td.pos_won,
table.leaderboards td.pos_loss,
table.leaderboards td.tackles,
table.leaderboards td.tackles_percent,
table.leaderboards td.clean_sheets,
table.leaderboards td.gk_saves,
table.leaderboards td.pen_saves {
	text-align: center;
}

.bootgrid-table th > .column-header-anchor {
	color: #fff;
}

.bootgrid-table th:hover > .column-header-anchor,
.bootgrid-table th:active > .column-header-anchor {
	color: #333;
}


.leagues span.icon.glyphicon.glyphicon-th-list:before {
    content: "Stats";
}

.bootgrid-header .search .fa-search {
	display: none;
}

.bootgrid-header .actionBar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.bootgrid-header .actionBar form,
.bootgrid-header .actionBar .search,
.bootgrid-header .actionBar .actions {
    margin-bottom: 0;
}

.leagues .btn-default,
.btn-default {
	--bs-btn-color: #fff;
    --bs-btn-bg: #0d6efd;
    --bs-btn-border-color: #0d6efd;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0b5ed7;
    --bs-btn-hover-border-color: #0a58ca;
    --bs-btn-focus-shadow-rgb: 49,132,253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0a58ca;
    --bs-btn-active-border-color: #0a53be;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #0d6efd;
    --bs-btn-disabled-border-color: #0d6efd;
}

/* /// SQUAD /// */
.player-squad-card h5 {
	text-align: center;
}

.player-picture-container {
	border-radius: 50%;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	position: relative;
}

.player-picture-container > img {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	min-height: 100%;
	min-width: 100%;
	transform: translate(-50%, -50%);
}

/* /// MATCHES ///*/

.match_container {
	background: rgba(0,0,0,.4);
	padding: 15px;
	margin: 15px 0;
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 5px;
}

.match_footer {
	display: flex;
	justify-content: space-between;
}

.match_footer .match_actions {
	/*margin-left: 15px;*/
	display: inline-block;
}

.match_home_container,
.match_away_container {
	display: flex;
	justify-content: space-between;
	font-weight: bold;
}

.match_date {
	font-size: .8rem;
}

.todays_matches {
	margin-bottom: 30px;
}

.todays_matches .match_container {
	background: #39513c;
    min-height: 150px;
}

.todays_matches .match_container .match_versus {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px; /* juster avstand etter smak */
}

.todays_matches .match_container .match_versus .match_home_container,
.todays_matches .match_container .match_versus .match_away_container {
	font-size: 2rem;
	margin: 0;
}

.todays_matches .match_container .match_versus .match_versus_text {
	font-size: 2rem;
	font-weight: bold;
}

.todays_matches.manager_page .match_container .match_versus {
	display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 15px;
}

.todays_matches .match_container .match_versus .match_home_container,
.todays_matches .match_container .match_versus .match_away_container {
	font-size: 2rem;
	margin: 0 20px;
}

.completed_matches .match_container {
	background: rgba(0,0,0,.2);
}

/* /// LINEUP /// */

.lineup_squad_name {
	text-align: right;
}

/* /// REGISTER SCORES /// */

.same_match_container {
	background: rgba(0,0,0,.2);
	padding: 15px;
	margin-bottom: 30px;
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 5px;
}

.same_match_container .same_match_header {
    display: flex;
    justify-content: space-between;
}

.same_match_container .same_match_header h5 {
	margin-bottom: 0;
}

.same_match_container .same_match_header button {
	margin-left: 5px;
}

/* /// REGISTER STATS /// */

.enter_stats_container h6 {
	text-align: center;
	color: #fff;
}

.enter_stats_container label {
    text-align: right;
	color: #fff;
}

.enter_stats_container .form-group.row {
	margin: 0 0 5px 0;
}

.gk-file-input::-webkit-file-upload-button {
	visibility: hidden;
  }
  .gk-file-input::before {
	content: 'GK page';
	display: inline-block;
	background: -webkit-linear-gradient(top, #f9f9f9, #e3e3e3);
	border: 1px solid #999;
	border-radius: 3px;
	padding: 5px 8px;
	outline: none;
	white-space: nowrap;
	user-select: none;
	-webkit-user-select: none;
	cursor: pointer;
	text-shadow: 1px 1px #fff;
	font-weight: 700;
	font-size: 10pt;
  }
  .gk-file-input:hover::before {
	border-color: black;
  }
  .gk-file-input:active::before {
	background: -webkit-linear-gradient(top, #e3e3e3, #f9f9f9);
  }

/* /// ADMIN /// */

.match_list_container {
	background: rgba(0,0,0,.4);
	padding: 15px;
	/*margin: 15px;*/
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 5px;
}

/* /// ADMIN - APPROVE STATS /// */

.stats_approve_container {
	background: rgba(0,0,0,.4);
	padding: 15px;
	margin: 15px 0;
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 5px;
}

.stats_approve_container .stats_approve_header {
	display: flex;
	justify-content: space-between;
	flex-direction: column-reverse;
}

.stats_approve_container .stats_approve_header .stats_username {
	font-size: 1.2rem;
	font-weight: bold;
}

.stats_approve_container .stats_approve_header .stats_match_date {
	font-size: 0.8rem;
	font-style: italic;
}

.stats_approve_container .stats_approve_body {
	font-size: .8rem;
}

/* /// ADMIN - EDIT STATS /// */
.edit_stats_outer_container {
	background: rgba(0,0,0,.2);
	padding: 15px;
	margin-top: 30px;
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 5px;
}

.edit_stats_form form div {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 10px 0;
}

.edit_stats_form form input {
	width: 100%;
	max-width: 70px;
}

/* /// PREMIUM /// */

.premium_box {
	margin-bottom: 30px;
}

.premium_box .list-group .list-group-item {
	background-color: transparent;
}

.premium_box .purchase_premium_container {
	display: flex;
	justify-content: center;
	padding: 15px;
}

/* /// MANAGER /// */

.manager_squad_item {
	display: flex;
	justify-content: space-between;
	background: rgba(0,0,0,.2);
	padding: 5px 10px;
	margin: 0 0 15px;
}

/* /// RESPONSIVE TABBED CONTENT /// */
.nav-tabs-container {
    display: block;
    overflow: hidden;
    height: calc(1.5rem + 1rem + 0px); /** 1.5 is font-size, 1 is padding top and bottom, 2 is border width top and bottom */
    position: relative;
    z-index: 1;
    margin-bottom: -1px;
}
.nav-tabs-container .nav-tabs {
	overflow-x: auto;
	flex-wrap: nowrap;
	border-bottom: 0;
	--bs-nav-tabs-border-width: 0;
}
.nav-tabs-container .nav-item {
	margin-bottom: 0;
}
.nav-tabs-container .nav-item:first-child {
	padding-left: 15px;
}
.nav-tabs-container .nav-item:last-child {
	padding-right: 15px;
}
    
.nav-link {
	white-space: nowrap;
}
.dragscroll:active,
.dragscroll:active a {
	cursor: -webkit-grabbing;
}

/* /// AFFILIATES /// */

section.affiliate-header-background#nordpass {
	background: url('/img/affiliates/nordpass/Nordpass-visuals.jpg');
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: center;
}

.affiliate-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-block: 230px;
}

.affiliate-header .affiliate-title {
	max-width: 600px;
}

.affiliate-header .affiliate-title p.affiliate-name {
	font-size: 2rem;
	font-weight: bold;
}

.affiliate-header .affiliate-title h1 {
	font-size: 3rem;
}

section.highlight {
	background: rgba(255,255,255,.075);
	padding-block: 30px;
}

section.highlight h2 {
	margin-block: 30px;
}

section.highlight.nordvpn .image-container {
	padding: 30px;
}

.details-container {
	margin-bottom: 15px;
}

section.highlight.nordvpn .details-container {
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 5px;
	padding: 15px;
	height: 100%;
	max-height: 440px;
	margin-bottom: 20px;
}

.image-container {
	margin-bottom: 15px;
}

.call-to-action-container {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-block: 60px;
}

.call-to-action-container .call-to-action {
	max-width: 720px;
	text-align: center;
}

/* /// PROFILE USER DETAILS /// */
.profile_details_container {
	background: var(--fancy-bg);
	border-radius: 5px;
	padding: 15px;
  }

.user_details .form-row .form-group {
	margin-bottom: 30px;
}

/* /// TROPHIES /// */
.trophy_plaque {
	text-align: center;
}

.trophy_plaque h3,
.trophy_plaque h5 {
	margin-bottom: 0;
}

.trophy_plaque h3 {
	text-transform: none;
}

.trophy_plaque h3 small.text-muted {
	font-size: 1.8rem;
}

/* /// SIGN UP / REGISTER /// */
small.error_notice {
	background: red;
	padding: 5px;
	color: white;
	border-radius: 5px;
	border: 1px solid rgba(255,255,255,.3);
}

.ohno {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	height: 0;
	width: 0;
	z-index: -1;
}

/* /// RULES /// */
#rule-container .rule-paragraph {
	padding-left: 1.5rem;
	position: relative;
}
#rule-container .copy-link {
	position: absolute;
	left: 0;
	top: 0.25rem;
	text-decoration: none;
	font-weight: bold;
	color: var(--fancy-bg);
	cursor: pointer;
}
#rule-container .copy-link:hover {
	color: var(--ecru);
}
#rule-container .allcaps-text {
	text-transform: uppercase;
	font-weight: bold;
	color: #fff;
}
#rule-container .section-title {
	border-bottom: 2px solid var(--fancy-bg);
	padding-bottom: 0.3rem;
	margin-top: 3rem;
}

#rule-container aside nav {
	border-right: 1px solid var(--fancy-bg) !important;
}

#rules-menu a {
	background: transparent;
	color: var(--ecru);
	text-decoration: none;
	padding: 5px 0;
}

/* =====================================================
   FLC CARD SYSTEM – BASE
   ===================================================== */
.flc-card {
  background: var(--bs-body-bg);
  border-radius: 8px;
  padding: 15px 10px;
  border: 1px solid color-mix(in srgb, var(--ecru) 25%, transparent);
  border-top: 2px solid var(--ecru);
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

/* Footer */
.flc-card__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: .9rem;
  border-top: 1px dotted var(--ecru);
  padding: 10px 5px 0;
  margin-top: 10px;
  color: var(--ecru);
}

.flc-card__footer .btn {
  margin-right: 0;
  text-transform: none;
}

/* =====================================================
   MATCH VARIANT
   ===================================================== */
.flc-card--match .flc-card__teams {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.flc-card--match .flc-card__team {
  display: flex;
  align-items: center;
  justify-content: start;
  font-weight: bold;
  text-decoration: none;
  color: var(--ecru);
  gap: 10px;
  padding: 0 10px;
}

.flc-card--match .flc-card__team:hover {
	background: color-mix(in srgb, var(--ecru) 10%, transparent);
}

/* Kvadratisk logo-wrapper + logo (erstatter .team-logo {width/height}) */
.flc-card--match .flc-card__logo-wrapper {
  width: 32px;
  aspect-ratio: 1 / 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  overflow: hidden;
  flex-shrink: 0;
}

.flc-card--match .flc-card__logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Navn og score */
.flc-card--match .flc-card__name {
  flex: 1 1 auto;
}

.flc-card--match .flc-card__score {
  margin-left: auto;
}

/* (Valgfritt) liten hover-tilbakemelding for lenkede lag */
.flc-card--match .flc-card__team:hover {
  color: var(--ecru-hover);
}

/* =====================================================
   CLUB VARIANT
   ===================================================== */
.flc-card--club .flc-card__logo-wrapper{
	width:120px;
	aspect-ratio:1/1;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:12px;
	overflow:hidden;
	margin:0 auto .5rem;
}
.flc-card--club .flc-card__logo{ width:100%; height:100%; object-fit:contain; padding:10px; }
.flc-card--club .flc-card__footer{ justify-content:center; gap:.5rem; }

/* =====================================================
   NAVIGATION ICONS
   ===================================================== */
.nav-link .nav-icon {
	width: 1.5em;
	height: 1.5em;
}

@media only screen and (max-width: 48em) {
	.desktop {
		display: none;
	}

	.mobile {
		display: block;
	}

	/* /// AFFILIATES /// */

	section.affiliate-header-background#nordpass {
		background-attachment: local;
	}

	.affiliate-header {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		padding-block: 50px;
		text-align: center;
	}

	.affiliate-header .affiliate-title p.affiliate-name {
		font-size: 1.8rem;
		font-weight: bold;
	}
	
	.affiliate-header .affiliate-title h1 {
		font-size: 2rem;
		margin-block: 30px;
	}

	header .bg-image {
		height: 130px;
	}
	
	.logo-container {
		max-height: 130px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.logo-container img {
		height: 110px;
	}
	
	section.highlight.nordvpn .details-container {
		border: 0;
	}
	
	section.highlight.nordvpn .image-container {
		padding: 0px;
	}

	/* /// FANCY FRONT PAGE BOX /// */
	.fancy-box .top-part,
	.fancy-box .bottom-part {
		flex-direction: column;
	}
	
	.fancy-box .image-container {
		width: 100%;
	}
	
	.competitive.fancy-box .image-container {
		order: 1;
		width: 100%;
	}
	
	.fancy-box .image-container img {
		height: 250px;
	}
	
	.competitive.fancy-box .text-container {
		width: 100%;
		margin: 0;
		margin-top: -50px;
		order: 2;
	}
	
	.competitive.fancy-box .text-container.top_text_container {
		order: 1;
		margin: 0 0 -30px 0;
	}
	
	.competitive.fancy-box .text-container.bottom_text_container {
		order: 3;
		margin: -30px 0 0 0;
	}
	
	.fancy-box .top-part .text-container {
		margin-left: 0;
		width: 80%;
		margin-top: -30px;
	}
	
	.fancy-box .text-container .content {
		padding: 0px;
		background: #fb013e00;
	}
	
	.fancy-box .text-container h2 {
		font-size: 1.6rem;
		text-align: center;
		padding: 0;
		background: transparent;
	}
	
	.competitive.fancy-box .text-container h2 {
		font-size: 1.8rem;
	}
	
	.competitive.fancy-box .text-container h3 {
		font-size: 1.4rem;
	}
	
	.fancy-box .text-container h2.first {
		margin-bottom: 0px;
	}
	
	.competitive.fancy-box .info-box {
		flex-wrap: wrap;
		width: 100%;
		margin-top: 0;
	}
	
	.competitive.fancy-box .info-box .info-text {
		width: auto;
		text-align: center;
	}
	
	.competitive.fancy-box .info-box .buttons {
		display: flex;
		width: 100%;
		margin-top: 10px;
		justify-content: center;
	}
	
	/* /// COMPETITIONS /// */
	.league_card_container {
		margin-bottom: 30px;
	}
	
	.competition-image-container {
		padding: 5px;
	}
	
	.competition-image-container .card-body {
		padding: 0;
	}
	
	.league_card_container h5 {
		font-size: 1rem;
	}
	
	div#nav-tabContent.tab-content.leagues,
	div#nav-tabContent.tab-content.compact-tab-mobile,
	div#nav-tabContent div#nav-tabContent {
		padding: 30px 5px;
	}
	
	/* /// PROFILE /// */
	.profile_details_container {
		margin-top: 30px;
	}
	
	table > tbody {
		font-size: .9rem;
	}
	
	/* /// MANAGER /// */
	
	.todays_matches .match_container .match_versus {
		flex-wrap: wrap;
	}
	
	.todays_matches .match_home_container, .todays_matches .match_away_container {
		display: flex;
		justify-content: center;
		width: 100%;
	}
	
	.todays_matches .match_container h3 {
		font-size: 1rem;
	}
	
	.todays_matches .match_container h5 {
		font-size: 0.8rem;
	}
	
	.todays_matches .match_container .match_footer {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	
	.todays_matches .match_container .match_footer .match_date {
		order: 2;
		margin-top: 10px;
	}
	
	.todays_matches .match_container .match_footer .match_actions {
		order: 1;
		display: flex;
		justify-content: space-between;
	}

	/* /// ADMIN - APPROVE STATS /// */

	.stats_approve_container .stats_approve_header {
		display: flex;
		justify-content: space-between;
		flex-direction: column-reverse;
	}

	/* /// HEADER /// */
	.bg-image-container .bg-header-image {
		height: 130px;
		object-fit: cover;
		object-position: bottom;
	}
	.bg-image-container .logo-container {
		max-height: 130px;
	}
	.bg-image-container .logo-container img {
		height: 110px;
	}
}

/* ==========================================================================
   Match header (.flc-mh) – gjenbrukbar, se src/libs/match-header.php
   ========================================================================== */
.flc-mh {
	--mh-accent: var(--ecru);
	--mh-muted: rgba(255, 255, 255, .6);
	--mh-crest: 84px;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	margin-bottom: 1.5rem;
	padding: 14px 24px 24px;
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, .08);
	background: linear-gradient(160deg, #22303a 0%, #161d23 100%);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .35);
	color: #fff;
}
/* Uskarpe klubblogoer som bakgrunn på hver sin side */
.flc-mh::before,
.flc-mh::after {
	content: '';
	position: absolute;
	z-index: -1;
	top: -30%;
	width: 55%;
	height: 160%;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	filter: blur(48px) saturate(1.4);
	opacity: .28;
	pointer-events: none;
}
.flc-mh::before { left: -12%; background-image: var(--mh-home-logo, none); }
.flc-mh::after { right: -12%; background-image: var(--mh-away-logo, none); }

.flc-mh a { color: inherit; text-decoration: none; }
.flc-mh a:hover { color: var(--mh-accent); }

.flc-mh__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	margin-bottom: 18px;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--mh-muted);
}
.flc-mh__competition { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.flc-mh__meta-right { display: flex; align-items: center; gap: .6rem; flex-shrink: 0; }
.flc-mh__no { font-variant-numeric: tabular-nums; }

.flc-mh__status {
	padding: .25rem .6rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, .1);
	color: #fff;
	letter-spacing: .06em;
}
.flc-mh__status--today    { background: var(--mh-accent); color: #1a1a1a; }
.flc-mh__status--upcoming { background: rgba(255, 255, 255, .1); }
.flc-mh__status--ft       { background: rgba(255, 255, 255, .16); }
.flc-mh__status--pending  { background: rgba(255, 193, 7, .18); color: #ffd666; }
.flc-mh__status--disputed { background: rgba(220, 53, 69, .22); color: #ff8a95; }

.flc-mh__teams {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: 16px;
}
.flc-mh__team {
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
}
.flc-mh__team--home { flex-direction: row-reverse; text-align: right; }
.flc-mh__team--away { text-align: left; }

.flc-mh__crest {
	flex-shrink: 0;
	width: var(--mh-crest);
	height: var(--mh-crest);
	object-fit: contain;
	filter: drop-shadow(0 6px 12px rgba(0, 0, 0, .45));
}
.flc-mh__crest--initials {
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, .08);
	border: 2px solid rgba(255, 255, 255, .15);
	font-weight: 800;
	font-size: calc(var(--mh-crest) * .32);
	letter-spacing: .02em;
}
.flc-mh__team.is-focus .flc-mh__name { color: var(--mh-accent); }

.flc-mh__name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: clamp(1rem, 2.2vw, 1.5rem);
	font-weight: 800;
	line-height: 1.15;
	text-transform: uppercase;
	letter-spacing: .01em;
	overflow-wrap: anywhere;
}

.flc-mh__badge {
	height: 1.1em;
	width: auto;
	margin-left: .35em;
	vertical-align: -.15em;
}

.flc-mh__center { text-align: center; padding: 0 8px; }
.flc-mh__score,
.flc-mh__time {
	font-size: clamp(2rem, 5vw, 3.25rem);
	font-weight: 800;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.flc-mh__score { display: flex; align-items: center; justify-content: center; gap: .35em; }
.flc-mh__dash { color: var(--mh-muted); font-weight: 400; }
.flc-mh__date {
	margin-top: 8px;
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--mh-muted);
	white-space: nowrap;
}

.flc-mh__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .5rem;
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, .08);
}

/* Resultatregistrering i actions (flc_match_header_score_entry) */
.flc-mh__score-entry { display: flex; align-items: center; gap: .6rem; }
.flc-mh__score-input {
	width: 4.25rem;
	padding: .35rem .25rem;
	text-align: center;
	font-size: 1.75rem;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	-moz-appearance: textfield;
}
.flc-mh__score-input::-webkit-outer-spin-button,
.flc-mh__score-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Mobil: logo over navn, sentrert, alt på én skjermbredde */
@media (max-width: 767.98px) {
	.flc-mh { --mh-crest: 56px; padding: 12px 14px 18px; border-radius: 14px; }
	.flc-mh__meta { margin-bottom: 14px; font-size: .66rem; }
	.flc-mh__teams { gap: 8px; align-items: start; }
	.flc-mh__team,
	.flc-mh__team--home {
		flex-direction: column;
		gap: 8px;
		text-align: center;
	}
	.flc-mh__name { font-size: .82rem; }
	.flc-mh__center { padding: calc(var(--mh-crest) / 2 - 1rem) 0 0; }
	.flc-mh__score, .flc-mh__time { font-size: 2rem; }
	.flc-mh__date { font-size: .66rem; margin-top: 6px; }
	.flc-mh__submit { flex: 1 1 100%; padding-top: .6rem; padding-bottom: .6rem; }
}
@media (max-width: 380px) {
	.flc-mh { --mh-crest: 48px; }
	.flc-mh__score, .flc-mh__time { font-size: 1.7rem; }
}

/* ==========================================================================
   Club kit editor + squad numbers (manager dashboard)
   ========================================================================== */
.kit-editor__form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.5rem;
	padding: 1rem;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 12px;
	background: rgba(0, 0, 0, .25);
}
.kit-editor__preview {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 140px;
	height: 140px;
	border-radius: 12px;
	background: repeating-linear-gradient(to bottom, #2e7d32 0 20%, #338a37 20% 40%);
}
.kit-editor__designs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(76px, 1fr));
	gap: .4rem;
	width: 100%;
	margin: 0;
}
.kit-editor__designs legend { float: none; margin-bottom: .4rem; font-size: .85rem; font-weight: 600; }
.kit-editor__design {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .15rem;
	margin: 0;
	padding: .4rem .2rem;
	border: 2px solid rgba(255, 255, 255, .12);
	border-radius: 10px;
	position: relative;
	cursor: pointer;
	text-align: center;
}
.kit-editor__design:hover { border-color: rgba(255, 255, 255, .35); }
.kit-editor__design input { position: absolute; opacity: 0; pointer-events: none; }
.kit-editor__design:has(input:checked) { border-color: var(--club-accent, #c5ae77); background: rgba(255, 255, 255, .06); }
.kit-editor__design:has(input:focus-visible) { outline: 2px solid #fff; outline-offset: 2px; }
.kit-editor__design-shirt { display: block; width: 44px; height: 44px; }
.kit-editor__design-name { font-size: .7rem; line-height: 1.15; opacity: .85; }
.kit-editor__fields { display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; }
.kit-editor__field { display: flex; align-items: center; gap: .6rem; cursor: pointer; margin: 0; }
.kit-editor__field[hidden] { display: none; }
.kit-editor__field input[type="color"] {
	width: 44px;
	height: 44px;
	padding: 2px;
	border: 1px solid rgba(255, 255, 255, .3);
	border-radius: 8px;
	background: transparent;
	cursor: pointer;
}
.squad-number-input {
	display: inline-block;
	width: 4.2rem;
	margin-right: .5rem;
	text-align: center;
}
.squad-number-field { display: flex; align-items: center; gap: .4rem; margin: .4rem 0; font-size: .85rem; }
.squad-number-field .squad-number-input { margin-right: 0; }

/* ==========================================================================
   Club header & theme (.flc-ch / .flc-club-theme) – se src/libs/club-header.php
   Fargene kommer fra klubbdrakten via CSS-variabler satt på .flc-club-theme.
   ========================================================================== */
/* Standardfarger. Settes bare på :root, så klubbfargene fra flc_club_theme_root() ikke overstyres
   av et element med klassen .flc-club-theme (flc_club_theme_open() setter fargene inline). */
:root {
	--club-primary: #2b3a46;
	--club-secondary: #1f2b34;
	--club-on-primary: #ffffff;
	--club-accent: var(--ecru);
	--club-on-accent: #111111;
}

.flc-ch {
	--ch-fg: var(--club-on-primary);
	--ch-chip: rgba(0, 0, 0, .22);
	position: relative;
	isolation: isolate;
	overflow: hidden;
	margin-bottom: 1.5rem;
	border-radius: 18px;
	color: var(--ch-fg);
	background: var(--club-primary);
	box-shadow: 0 12px 32px rgba(0, 0, 0, .35);
}
.flc-ch.is-light { --ch-chip: rgba(255, 255, 255, .5); }
/* Draktmønsteret i sekundærfargen på høyre side, som fader ut mot teksten (navnet står på ren primærfarge) */
.flc-ch.has-pattern::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -2;
	background: repeating-linear-gradient(90deg, var(--club-secondary) 0 28px, transparent 28px 56px);
	-webkit-mask-image: linear-gradient(to left, #000 0%, #000 22%, transparent 62%);
	mask-image: linear-gradient(to left, #000 0%, #000 22%, transparent 62%);
}
.flc-ch--pinstripes::before { background: repeating-linear-gradient(90deg, var(--club-secondary) 0 4px, transparent 4px 22px); }
.flc-ch--hoops::before { background: repeating-linear-gradient(180deg, var(--club-secondary) 0 24px, transparent 24px 48px); }
.flc-ch--halves::before { background: linear-gradient(90deg, transparent 62%, var(--club-secondary) 62%); }
.flc-ch--quarters::before { background: conic-gradient(at 62% 50%, var(--club-secondary) 0 90deg, transparent 90deg 180deg, var(--club-secondary) 180deg 270deg, transparent 270deg); }
.flc-ch--sash::before { background: linear-gradient(120deg, transparent 58%, var(--club-secondary) 58% 70%, transparent 70%); }
.flc-ch--band::before { background: linear-gradient(180deg, transparent 22%, var(--club-secondary) 22% 38%, transparent 38%); }
.flc-ch--centre-stripe::before { background: linear-gradient(90deg, transparent 74%, var(--club-secondary) 74% 84%, transparent 84%); }
/* Kontrastermer: bare draktbildet viser mønsteret, headeren er helfarget */
.flc-ch--sleeves::before { content: none; }
/* Mørk toning nederst gir dybde og lesbar fanemeny uansett farger */
.flc-ch::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(120% 90% at 0% 0%, rgba(255, 255, 255, .14), transparent 55%),
		linear-gradient(180deg, transparent 45%, rgba(0, 0, 0, .35) 100%);
	pointer-events: none;
}
.flc-ch a:not(.btn) { color: inherit; text-decoration: none; }
.flc-ch a:not(.btn):hover { text-decoration: underline; }
/* Knapper i headeren: egne farger (arver ikke headerens tekstfarge) */
.flc-ch__actions .btn { font-weight: 600; box-shadow: 0 2px 8px rgba(0, 0, 0, .35); }
.flc-ch__actions .btn-light { background: #fff; border-color: #fff; color: #1f282f; }
.flc-ch__actions .btn-light:hover { background: #e9ecef; border-color: #e9ecef; color: #1f282f; }
/* Sekundærknapp på mørkt glass, så den er lesbar over striper og alle draktfarger */
.flc-ch__actions .btn-outline-light {
	background: rgba(10, 14, 18, .62);
	border-color: rgba(255, 255, 255, .35);
	color: #fff;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
.flc-ch__actions .btn-outline-light:hover { background: rgba(10, 14, 18, .82); border-color: rgba(255, 255, 255, .6); color: #fff; }

.flc-ch__shirt {
	position: absolute;
	z-index: -1;
	right: -40px;
	top: -30px;
	transform: rotate(-10deg);
	opacity: .22;
	pointer-events: none;
}

.flc-ch__body {
	display: flex;
	align-items: center;
	gap: 22px;
	padding: 28px 28px 24px;
}
.flc-ch__logo {
	flex-shrink: 0;
	width: 136px;
	height: 136px;
	object-fit: contain;
	border-radius: 14px;
	/* Ingen boks: en tynn lys kant innerst og en mørk utenfor følger logoens egen form,
	   så den skiller seg ut både mot lyse og mørke draktfarger */
	filter:
		drop-shadow(0 0 1px rgba(255, 255, 255, .9))
		drop-shadow(0 0 1.5px rgba(0, 0, 0, .75))
		drop-shadow(0 8px 16px rgba(0, 0, 0, .45));
}
.flc-ch__text { min-width: 0; flex: 1; }
.flc-ch__eyebrow {
	margin-bottom: 2px;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	opacity: .8;
}
.flc-ch__name {
	margin: 0 0 10px;
	font-size: clamp(1.6rem, 4.2vw, 3rem);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -.01em;
	text-transform: uppercase;
	color: inherit;
	overflow-wrap: anywhere;
}
.flc-ch__premium { width: .8em; height: .8em; vertical-align: .05em; }
.flc-ch__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.flc-ch__meta li {
	padding: .28rem .7rem;
	border-radius: 999px;
	background: var(--ch-chip);
	font-size: .78rem;
	font-weight: 600;
	backdrop-filter: blur(4px);
}
.flc-ch__actions { display: flex; gap: .5rem; flex-shrink: 0; align-self: flex-start; }

.flc-ch__tabs {
	background: rgba(10, 14, 18, .55);
	backdrop-filter: blur(8px);
}
.flc-ch__tabs ul {
	display: flex;
	gap: 4px;
	margin: 0;
	padding: 0 16px;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
}
.flc-ch__tabs ul::-webkit-scrollbar { display: none; }
.flc-ch__tabs a {
	display: block;
	padding: 14px 14px 12px;
	border-bottom: 3px solid transparent;
	color: rgba(255, 255, 255, .72);
	font-size: .85rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	white-space: nowrap;
}
.flc-ch__tabs a:hover { color: #fff; text-decoration: none; }
.flc-ch__tabs a.is-active { color: #fff; border-bottom-color: var(--club-accent); }

/* Aksenter i sideinnholdet */
.btn-club {
	background: var(--club-accent);
	border-color: var(--club-accent);
	color: var(--club-on-accent);
	font-weight: 600;
}
.btn-club:hover { filter: brightness(1.08); color: var(--club-on-accent); }
.btn-outline-club {
	border-color: var(--club-accent);
	color: var(--club-accent);
}
.btn-outline-club:hover { background: var(--club-accent); color: var(--club-on-accent); }
.club-accent { color: var(--club-accent); }
.club-section-title {
	display: flex;
	align-items: center;
	gap: .6rem;
	margin: 0 0 1rem;
	font-size: 1.1rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.club-section-title::before {
	content: '';
	width: 6px;
	height: 1.1em;
	border-radius: 3px;
	background: var(--club-accent);
}
.flc-club-theme .flc-card,
.club-card {
	border: 1px solid rgba(255, 255, 255, .08);
	border-top: 3px solid var(--club-accent);
	border-radius: 14px;
	background: rgba(255, 255, 255, .03);
}
.club-card { padding: 1.1rem; }
a.club-link { color: var(--club-accent); }

@media (max-width: 767.98px) {
	.flc-ch { border-radius: 14px; }
	.flc-ch__body { flex-wrap: wrap; align-items: center; gap: 14px; padding: 18px 16px 16px; }
	.flc-ch__logo { width: 88px; height: 88px; border-radius: 10px; }
	.flc-ch__name { margin-bottom: 8px; font-size: clamp(1.25rem, 6.4vw, 1.7rem); }
	.flc-ch__meta { gap: 4px; }
	.flc-ch__meta li { padding: .2rem .55rem; }
	.flc-ch__shirt { right: -90px; top: -10px; }
	.flc-ch__shirt-svg { width: 240px; height: 240px; }
	.flc-ch__meta li { font-size: .72rem; }
	.flc-ch__actions { flex-basis: 100%; }
	.flc-ch__tabs ul { padding: 0 8px; }
	.flc-ch__tabs a { padding: 12px 10px 10px; font-size: .78rem; }
}
/* Header-knapper på lyse drakter */
.flc-ch.is-light .flc-ch__actions .btn-light { background: #111; border-color: #111; color: #fff; }
.flc-ch__badges { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 10px; }
.flc-ch__badges a { font-size: 1.3rem; line-height: 1; text-decoration: none; filter: drop-shadow(0 2px 3px rgba(0,0,0,.35)); }

/* Offentlig tropp (club/squad.php) */
.club-squad {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 12px;
}
.club-squad__player {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border: 1px solid rgba(255, 255, 255, .08);
	border-left: 3px solid var(--club-accent);
	border-radius: 12px;
	background: rgba(255, 255, 255, .03);
	color: inherit;
	text-decoration: none;
	transition: background .15s, transform .15s;
}
.club-squad__player:hover { background: rgba(255, 255, 255, .07); transform: translateY(-1px); color: inherit; }
.club-squad__shirt { flex-shrink: 0; filter: drop-shadow(0 3px 5px rgba(0, 0, 0, .4)); }
.club-squad__info { display: flex; flex-direction: column; min-width: 0; }
.club-squad__name { font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.club-squad__meta { display: flex; align-items: center; gap: .5rem; font-size: .82rem; opacity: .75; }
.club-squad__pos {
	padding: .05rem .45rem;
	border-radius: 999px;
	background: var(--club-accent);
	color: var(--club-on-accent);
	font-size: .7rem;
	font-weight: 700;
	opacity: 1;
}
@media (max-width: 575.98px) {
	.club-squad { grid-template-columns: 1fr 1fr; gap: 8px; }
	.club-squad__player { flex-direction: column; text-align: center; padding: 12px 8px; }
	.club-squad__info { align-items: center; max-width: 100%; }
	.club-squad__meta { flex-direction: column; gap: 2px; }
}

/* ==========================================================================
   Kampside (match.php) – .md-*  (se src/libs/match-detail.php)
   Lagfargene kommer fra draktene: --home-accent / --away-accent.
   ========================================================================== */
.md { --md-panel: rgba(255, 255, 255, .035); --md-line: rgba(255, 255, 255, .5); --md-muted: rgba(255, 255, 255, .6); }
.md-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, 1fr); gap: 16px; align-items: start; }
.md-side { display: flex; flex-direction: column; gap: 16px; }
.md-card { padding: 16px; border: 1px solid rgba(255, 255, 255, .09); border-radius: 14px; background: var(--md-panel); }
.md-label { margin-bottom: 10px; font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--ecru); }
.md-muted { color: var(--md-muted); font-weight: 400; }
.md-empty { margin: 1rem 0 0; color: var(--md-muted); }

/* Lag-overskrift over banen */
.md-lineups__head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.md-team { display: flex; align-items: center; gap: 8px; min-width: 0; }
.md-team--away { flex-direction: row-reverse; text-align: right; }
.md-team__name { font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.md-team__formation { font-size: .78rem; color: var(--md-muted); font-weight: 600; }
.md-team--home .md-team__formation { color: var(--home-accent); }
.md-team--away .md-team__formation { color: var(--away-accent); }

/* Bane */
.md-pitch {
	position: relative;
	width: 100%;
	overflow: hidden;
	border: 2px solid rgba(255, 255, 255, .2);
	border-radius: 12px;
	background: repeating-linear-gradient(180deg, #0f6340 0 5%, #0d5a37 5% 10%);
}
.md-pitch--full { aspect-ratio: 68 / 100; max-width: 620px; margin: 0 auto; }
.md-pitch--half { aspect-ratio: 100 / 118; display: none; }
.md-pitch--half.is-active { display: block; }
.md-mark { position: absolute; border: 2px solid var(--md-line); pointer-events: none; }
.md-mark--outline { inset: 2.5% 3.5%; }
.md-mark--half { left: 3.5%; right: 3.5%; top: 50%; border-width: 2px 0 0; }
.md-mark--circle { left: 50%; top: 50%; width: 22%; aspect-ratio: 1; border-radius: 50%; transform: translate(-50%, -50%); }
.md-mark--box-top, .md-mark--box-bot { left: 27%; width: 46%; height: 11%; }
.md-mark--box-top { top: 2.5%; border-top: 0; }
.md-mark--box-bot { bottom: 2.5%; border-bottom: 0; }
.md-pitch--half .md-mark--box-bot { height: 18%; }
.md-pitch__none { position: absolute; left: 50%; transform: translateX(-50%); padding: .3rem .7rem; border-radius: 999px; background: rgba(0, 0, 0, .55); font-size: .8rem; color: var(--md-muted); }
.md-pitch__none--home { bottom: 22%; }
.md-pitch__none--away { top: 22%; }
.md-pitch--half .md-pitch__none { top: 45%; }

/* Spiller på banen */
.md-pl {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 92px;
	transform: translate(-50%, -50%);
	color: #fff;
	text-decoration: none;
}
.md-pl:hover { color: #fff; }
.md-pl:hover .md-pl__name { background: rgba(0, 0, 0, .9); }
.md-pl__shirt { position: relative; line-height: 0; filter: drop-shadow(0 0 1.5px rgba(255, 255, 255, .5)) drop-shadow(0 3px 4px rgba(0, 0, 0, .45)); }
.md-pl__star { position: absolute; top: -4px; left: -10px; color: #ffd24a; font-size: 1rem; line-height: 1; text-shadow: 0 1px 2px rgba(0, 0, 0, .7); }
.md-pl__name {
	max-width: 100%;
	margin-top: 1px;
	padding: .08rem .45rem;
	border-radius: 999px;
	background: rgba(0, 0, 0, .7);
	font-size: .7rem;
	font-weight: 700;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.md-pl > .md-pl__rating { position: absolute; top: -2px; left: calc(50% + 12px); }
.md-pl__badges { display: flex; gap: 2px; margin-top: 2px; }
.md-b { padding: 0 .3rem; border-radius: 999px; background: rgba(0, 0, 0, .7); font-size: .62rem; font-weight: 800; line-height: 1.5; }
.md-b small { font-size: .9em; opacity: .85; }
.md-b--assist { color: #8fd3ff; }
.md-pl.is-potm .md-pl__name { background: #ffd24a; color: #111; }

/* Karakter-chip (FC-farger) */
.md-pl__rating { display: inline-block; min-width: 2.1em; padding: 0 .3rem; border-radius: 4px; font-size: .66rem; font-weight: 800; line-height: 1.55; text-align: center; color: #111; }
.md-pl__rating.is-great { background: #1fbf6a; color: #fff; }
.md-pl__rating.is-good { background: #9be15d; }
.md-pl__rating.is-ok { background: #f2c94c; }
.md-pl__rating.is-poor { background: #f2994a; }


/* Faner */
.md-mobile-lineups { display: none; }
.md-switch { display: flex; gap: 4px; padding: 4px; margin-bottom: 10px; border-radius: 999px; background: rgba(0, 0, 0, .35); }
.md-switch button { flex: 1; padding: .4rem .8rem; border: 0; border-radius: 999px; background: transparent; color: var(--md-muted); font-size: .82rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.md-switch button.is-active { background: #fff; color: #111; }
.md-switch--inline { margin: 0; }
.md-switch--inline button { flex: 0 1 auto; }

/* Player of the Match */
.md-potm { border-color: rgba(255, 210, 74, .45); background: linear-gradient(135deg, rgba(255, 210, 74, .14), transparent 60%); }
.md-potm .md-label { color: #ffd24a; }
.md-potm__body { display: flex; align-items: center; gap: 14px; }
.md-potm__name { display: block; font-size: 1.25rem; font-weight: 800; color: #fff; text-decoration: none; }
.md-potm__stats { display: flex; align-items: center; gap: 10px; margin-top: 4px; font-weight: 700; }
.md-potm__stats .md-pl__rating { font-size: .85rem; }

/* Mål */
.md-goals { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; font-size: .9rem; }
.md-goals__team--away { text-align: right; }
.md-goals__team div { padding: 1px 0; }

/* Lagstatistikk */
.md-stat { margin-bottom: 10px; }
.md-stat__row { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; font-size: .85rem; }
.md-stat__row span { color: var(--md-muted); font-size: .78rem; text-align: center; }
.md-stat__bar { display: flex; gap: 3px; height: 6px; margin-top: 3px; }
.md-stat__bar span { border-radius: 3px; min-width: 3px; }
.md-stat__bar span:first-child { background: var(--home-accent); }
.md-stat__bar span:last-child { background: var(--away-accent); }

/* Form */
.md-form { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 6px 0; }
.md-form__team { font-weight: 700; font-size: .88rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.md-form__results { display: flex; gap: 4px; flex-shrink: 0; }
.md-res { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 6px; font-size: .72rem; font-weight: 800; color: #fff; text-decoration: none; }
.md-res:hover { color: #fff; filter: brightness(1.15); }
.md-res--W { background: #1fbf6a; }
.md-res--D { background: #8a96a3; }
.md-res--L { background: #e5484d; }

/* Innbyrdes */
.md-h2h__summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-bottom: 10px; text-align: center; }
.md-h2h__summary div { padding: 8px 4px; border-radius: 10px; background: rgba(0, 0, 0, .25); }
.md-h2h__summary strong { display: block; font-size: 1.4rem; line-height: 1.1; }
.md-h2h__summary span { display: block; font-size: .7rem; color: var(--md-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.md-h2h__summary div:first-child strong { color: var(--home-accent); }
.md-h2h__summary div:last-child strong { color: var(--away-accent); }
.md-h2h__match { display: flex; flex-direction: column; padding: 6px 0; border-top: 1px solid rgba(255, 255, 255, .07); font-size: .85rem; color: inherit; text-decoration: none; }
.md-h2h__match:hover { color: #fff; }
.md-h2h__match .md-muted { font-size: .72rem; }

/* Spillerstatistikk */
.md-stats-pane { display: none; }
.md-stats-pane.is-active { display: block; }
.md-table { margin: 0; font-size: .85rem; --bs-table-bg: transparent; }
.md-table th { font-size: .7rem; letter-spacing: .04em; text-transform: uppercase; color: var(--md-muted); white-space: nowrap; cursor: pointer; user-select: none; }
.md-table th[data-dir="desc"]::after { content: ' ▾'; }
.md-table th[data-dir="asc"]::after { content: ' ▴'; }
.md-table td a { color: #fff; text-decoration: none; font-weight: 600; }
.md-table td a:hover { text-decoration: underline; }
.md-star { color: #ffd24a; }

@media (max-width: 991.98px) {
	.md-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
	.md-pitch--full { display: none; }
	.md-mobile-lineups { display: block; }
	.md-lineups__head { display: none; }
	.md-pl { width: 76px; }
	.md-pl__shirt .flc-kit { width: 36px; height: 36px; }
	.md-pl__name { font-size: .62rem; }
	.md-pl > .md-pl__rating { left: calc(50% + 9px); font-size: .6rem; }
	.md-card { padding: 12px; }
}
.club-squad__pos { white-space: nowrap; }

/* ==========================================================================
   Competitions overview (.flc-comp) – se competitions/index.php
   ========================================================================== */
.flc-comp {
	--comp-surface: #26323b;
	--comp-surface-2: #2e3b45;
	--comp-line: rgba(255, 255, 255, .08);
	--comp-muted: rgba(255, 255, 255, .62);
}
.flc-comp [hidden] { display: none !important; }

.flc-comp-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 1.25rem;
	padding: 32px 28px 28px;
	border-radius: 18px;
	background: var(--gunmetal);
	box-shadow: 0 12px 32px rgba(0, 0, 0, .35);
}
.flc-comp-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(90% 120% at 100% 0%, rgba(197, 174, 119, .22), transparent 60%),
		radial-gradient(70% 90% at 0% 100%, rgba(69, 105, 115, .55), transparent 65%),
		repeating-linear-gradient(115deg, rgba(255, 255, 255, .025) 0 2px, transparent 2px 22px);
}
.flc-comp-hero__eyebrow {
	margin: 0 0 4px;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ecru);
}
.flc-comp-hero__title {
	margin: 0 0 8px;
	font-size: clamp(2rem, 5vw, 3.25rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.01em;
	text-transform: uppercase;
}
.flc-comp-hero__text { flex: 1 1 420px; min-width: 0; }
.flc-comp-hero__lead { margin: 0; color: rgba(255, 255, 255, .78); }
.flc-comp-hero__stats {
	flex: 1 1 480px;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
}
.flc-comp-hero__stats > div {
	min-width: 0;
	padding: 12px 14px;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 12px;
	background: rgba(0, 0, 0, .22);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
.flc-comp-hero__stats dt {
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--comp-muted);
	white-space: nowrap;
}
.flc-comp-hero__stats dd {
	margin: 2px 0 0;
	font-size: 1.6rem;
	font-weight: 800;
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}
.flc-comp-hero__stats .flc-comp-bar { margin-top: 8px; }

.flc-comp-bar {
	display: block;
	height: 6px;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(255, 255, 255, .1);
}
.flc-comp-bar > span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #a8935d, var(--ecru-hover));
}

/* Sportfilter */
.flc-comp-filter {
	position: sticky;
	top: 78px; /* under den sticky toppmenyen */
	z-index: 5;
	display: flex;
	gap: 6px;
	width: max-content;
	max-width: 100%;
	overflow-x: auto;
	margin-bottom: 1.5rem;
	padding: 5px;
	border: 1px solid var(--comp-line);
	border-radius: 999px;
	background: rgba(22, 30, 36, .88);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	scrollbar-width: none;
}
.flc-comp-filter__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: .45rem 1rem;
	border-radius: 999px;
	font-size: .9rem;
	font-weight: 600;
	color: rgba(255, 255, 255, .8);
	text-decoration: none;
	white-space: nowrap;
	transition: background .15s, color .15s;
}
.flc-comp-filter__btn:hover { color: #fff; background: rgba(255, 255, 255, .07); }
.flc-comp-filter__btn.is-active { background: var(--ecru); color: #1a1a1a; }
.flc-comp-filter__count {
	min-width: 1.5em;
	padding: 0 .4em;
	border-radius: 999px;
	background: rgba(255, 255, 255, .12);
	font-size: .75rem;
	text-align: center;
}
.flc-comp-filter__btn.is-active .flc-comp-filter__count { background: rgba(0, 0, 0, .15); }

/* Seksjoner */
.flc-comp-section { margin-bottom: 2.25rem; }
.flc-comp-section__title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	font-size: 1.2rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.flc-comp-section__title::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--comp-line);
}
.flc-comp-section__count {
	padding: .1rem .55rem;
	border-radius: 999px;
	background: var(--comp-surface-2);
	font-size: .75rem;
	color: var(--comp-muted);
}
.flc-comp-empty { color: var(--comp-muted); }

/* Neste kamper */
.flc-comp-fixtures {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 10px;
}
.flc-comp-fx {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 12px 14px;
	border: 1px solid var(--comp-line);
	border-radius: 12px;
	background: var(--comp-surface);
	color: #fff;
	text-decoration: none;
	transition: border-color .15s, transform .15s;
}
.flc-comp-fx:hover { color: #fff; border-color: rgba(197, 174, 119, .55); transform: translateY(-1px); }
.flc-comp-fx__meta {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 2px;
	font-size: .72rem;
}
.flc-comp-fx__when { font-weight: 700; color: var(--ecru); white-space: nowrap; }
.flc-comp-fx__league {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--comp-muted);
}
.flc-comp-fx__team {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	font-size: .9rem;
	font-weight: 600;
}
.flc-comp-fx__team img {
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	object-fit: contain;
}
.flc-comp-fx__team span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Ligakort */
.flc-comp-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
	gap: 14px;
}
.flc-lc {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 16px;
	border: 1px solid var(--comp-line);
	border-radius: 16px;
	background: linear-gradient(180deg, var(--comp-surface-2), var(--comp-surface));
	transition: border-color .15s, transform .15s, box-shadow .15s;
}
.flc-lc:hover {
	border-color: rgba(197, 174, 119, .5);
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(0, 0, 0, .3);
}
.flc-lc__head { display: flex; align-items: center; gap: 14px; }
.flc-lc__logo {
	flex-shrink: 0;
	width: 68px;
	height: 68px;
	object-fit: contain;
	border-radius: 14px;
	background: rgba(0, 0, 0, .25);
}
.flc-lc__titles { min-width: 0; }
.flc-lc__name {
	margin: 0 0 6px;
	font-size: 1.05rem;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}
/* Hele kortet er klikkbart via tittellenken; hurtiglenkene ligger over */
.flc-lc__link { color: #fff; text-decoration: none; }
.flc-lc__link::after { content: ''; position: absolute; inset: 0; border-radius: inherit; }
.flc-lc__link:hover { color: #fff; }
.flc-lc__link:focus-visible { outline: none; }
.flc-lc:has(.flc-lc__link:focus-visible) { outline: 2px solid var(--ecru); outline-offset: 2px; }
.flc-lc__sub {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: .78rem;
	color: var(--comp-muted);
}
.flc-lc__chip {
	padding: .12rem .55rem;
	border: 1px solid rgba(197, 174, 119, .4);
	border-radius: 999px;
	font-weight: 600;
	color: var(--ecru);
}

.flc-lc__leader {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 12px;
	background: rgba(0, 0, 0, .2);
}
.flc-lc__leader img { flex-shrink: 0; width: 32px; height: 32px; object-fit: contain; }
.flc-lc__leader-text { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.flc-lc__label {
	white-space: nowrap;
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ecru);
}
.flc-lc__leader-name {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	font-weight: 700;
	line-height: 1.2;
}
.flc-lc__leader-name.is-muted { font-weight: 500; color: var(--comp-muted); }
.flc-lc__pts {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	flex-shrink: 0;
	font-size: .75rem;
	color: var(--comp-muted);
	line-height: 1.2;
}
.flc-lc__pts span { white-space: nowrap; }
.flc-lc__pts strong { font-size: 1.15rem; color: #fff; font-variant-numeric: tabular-nums; }
.flc-lc__pts small { font-size: .68rem; white-space: nowrap; }

.flc-lc__progress-label {
	display: flex;
	justify-content: space-between;
	margin-bottom: 6px;
	font-size: .75rem;
	color: var(--comp-muted);
	font-variant-numeric: tabular-nums;
}

.flc-lc__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: .8rem;
	color: rgba(255, 255, 255, .78);
}
.flc-lc__facts li + li::before { content: '·'; margin-right: 14px; color: var(--comp-muted); }

.flc-lc__links {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 6px;
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px solid var(--comp-line);
}
.flc-lc__links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: .4rem .5rem;
	border-radius: 8px;
	font-size: .8rem;
	font-weight: 600;
	color: rgba(255, 255, 255, .85);
	text-decoration: none;
	transition: background .15s, color .15s;
}
.flc-lc__links a:hover { background: rgba(197, 174, 119, .14); color: var(--ecru-hover); }
.flc-lc__icon { width: 14px; height: 14px; fill: currentColor; }

@media (max-width: 575.98px) {
	.flc-comp-hero { padding: 24px 18px 18px; border-radius: 14px; }
	.flc-comp-hero__stats { flex-basis: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.flc-comp-hero__stats dd { font-size: 1.3rem; }
	.flc-comp-filter { width: 100%; }
	.flc-comp-filter__btn { flex: 1; justify-content: center; }
	/* Kamper som horisontal karusell på mobil */
	.flc-comp-fixtures {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: 78%;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-bottom: 6px;
		scrollbar-width: none;
	}
	.flc-comp-fx { scroll-snap-align: start; }
	.flc-comp-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.flc-lc, .flc-comp-fx { transition: none; }
	.flc-lc:hover, .flc-comp-fx:hover { transform: none; }
}

/* ==========================================================================
   Site header, ticker, breadcrumbs & footer – se src/inc/header.php og footer.php
   ========================================================================== */
.flc-skip {
	position: absolute;
	left: 12px;
	top: -60px;
	z-index: 100;
	padding: .5rem 1rem;
	border-radius: 8px;
	background: var(--ecru);
	color: #111;
	font-weight: 700;
}
.flc-skip:focus { top: 12px; color: #111; }

.flc-site-header { background: transparent; }

.flc-topbar {
	position: sticky;
	top: 0;
	z-index: 1030;
	border-bottom: 1px solid rgba(255, 255, 255, .07);
	background: rgba(17, 24, 29, .86);
	-webkit-backdrop-filter: blur(12px) saturate(140%);
	backdrop-filter: blur(12px) saturate(140%);
}
/* Sticky virker bare når forelderen er høyere enn baren – header er det ikke, så baren
   gjøres sticky mot hele siden ved å la header "forsvinne" som boks */
.flc-site-header { display: contents; }
.flc-topbar__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 24px;
	min-height: 68px;
}

.flc-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-right: auto;
	color: #fff;
	text-decoration: none;
}
.flc-brand:hover { color: #fff; }
.flc-brand img { width: 44px; height: 44px; object-fit: contain; }
.flc-brand__text { display: flex; flex-direction: column; line-height: 1.05; }
.flc-brand__text strong {
	font-family: 'Montserrat', sans-serif;
	font-size: 1.2rem;
	font-weight: 800;
	letter-spacing: .06em;
}
.flc-brand__text small {
	white-space: nowrap;
	font-size: .62rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ecru);
}

.flc-nav { flex-basis: 100%; font-size: 1rem; text-transform: none; }
.flc-nav__list {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.flc-nav__list a {
	position: relative;
	display: block;
	padding: .65rem .9rem;
	border-radius: 10px;
	font-family: 'Montserrat', sans-serif;
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .78);
	text-decoration: none;
	transition: color .15s, background .15s;
}
.flc-nav__list a:hover { color: #fff; background: rgba(255, 255, 255, .06); }
.flc-nav__list a.is-active { color: #fff; }
.flc-nav__list a.is-active::after {
	content: '';
	position: absolute;
	left: .9rem;
	right: .9rem;
	bottom: 4px;
	height: 2px;
	border-radius: 2px;
	background: var(--ecru);
}
.flc-nav__list--staff a { color: var(--ecru); }

.flc-nav__account {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 0 16px;
}

.flc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .5rem 1.1rem;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: .85rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	transition: background .15s, border-color .15s, color .15s;
}
.flc-btn--ghost { border-color: rgba(255, 255, 255, .22); color: #fff; }
.flc-btn--ghost:hover { border-color: rgba(255, 255, 255, .5); color: #fff; }
.flc-btn--gold { background: var(--ecru); color: #151515; }
.flc-btn--gold:hover { background: var(--ecru-hover); color: #151515; }

.flc-user {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	max-width: 220px;
	padding: 4px 14px 4px 4px;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 999px;
	color: #fff;
	font-size: .85rem;
	font-weight: 600;
	text-decoration: none;
	transition: border-color .15s, background .15s;
}
.flc-user:hover, .flc-user.is-active { border-color: var(--ecru); color: #fff; background: rgba(197, 174, 119, .1); }
.flc-user__avatar {
	display: grid;
	place-items: center;
	flex-shrink: 0;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--ecru), #8f7a47);
	color: #151515;
	font-weight: 800;
}
img.flc-user__avatar { object-fit: cover; background: #1f282f; }
.flc-user__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.flc-burger {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 42px;
	height: 42px;
	padding: 0 10px;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 10px;
	background: transparent;
}
.flc-burger span {
	display: block;
	height: 2px;
	border-radius: 2px;
	background: #fff;
	transition: transform .2s, opacity .2s;
}
.flc-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.flc-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.flc-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (min-width: 992px) {
	.flc-topbar__inner { flex-wrap: nowrap; }
	.flc-burger { display: none; }
	.flc-nav.collapse {
		display: flex !important;
		flex: 1;
		flex-basis: auto;
		align-items: center;
		gap: 8px;
		height: auto !important;
	}
	.flc-nav__list { flex-direction: row; align-items: center; }
	.flc-nav__list--staff {
		padding-left: 10px;
		border-left: 1px solid rgba(255, 255, 255, .12);
	}
	.flc-nav__account { margin-left: auto; padding: 0; }
}
@media (max-width: 991.98px) {
	.flc-nav__list--staff {
		margin-top: 6px;
		padding-top: 6px;
		border-top: 1px solid rgba(255, 255, 255, .08);
	}
	.flc-nav__list a.is-active { background: rgba(255, 255, 255, .06); }
	.flc-nav__list a.is-active::after { left: 0; right: auto; top: 10px; bottom: 10px; width: 3px; height: auto; }
	.flc-nav__account .flc-btn { flex: 1; }
}
@media (max-width: 420px), (min-width: 992px) and (max-width: 1199.98px) {
	.flc-brand__text small { display: none; }
}

/* Resultat-ticker */
.flc-ticker {
	display: flex;
	align-items: stretch;
	border-bottom: 1px solid rgba(255, 255, 255, .07);
	background: #161d22;
}
.flc-ticker__label {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
	padding: 0 16px;
	background: var(--gunmetal);
	font-family: 'Montserrat', sans-serif;
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ecru);
}
.flc-ticker__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--ecru);
	box-shadow: 0 0 0 0 rgba(197, 174, 119, .6);
	animation: flcPulse 2s infinite;
}
.flc-match-ticker {
	position: relative;
	flex: 1;
	min-width: 0;
	overflow: hidden;
}
.flc-match-ticker::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 60px;
	height: 100%;
	background: linear-gradient(to left, #161d22, transparent);
	pointer-events: none;
}
.flc-match-ticker-track {
	display: flex;
	width: max-content;
	animation: flcTickerScroll 110s linear infinite;
	will-change: transform;
}
.flc-match-ticker:hover .flc-match-ticker-track,
.flc-match-ticker:focus-within .flc-match-ticker-track { animation-play-state: paused; }
.flc-ticker-match {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 22px;
	border-right: 1px solid rgba(255, 255, 255, .06);
	color: rgba(255, 255, 255, .85);
	font-size: .82rem;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}
.flc-ticker-match:hover { color: #fff; background: rgba(255, 255, 255, .04); }
.flc-ticker-team { display: flex; align-items: center; gap: 7px; }
.flc-ticker-logo { width: 20px; height: 20px; object-fit: contain; }
.flc-ticker-score {
	padding: 2px 8px;
	border-radius: 6px;
	background: rgba(197, 174, 119, .14);
	color: var(--ecru-hover);
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}
@keyframes flcTickerScroll {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}
@keyframes flcPulse {
	0% { box-shadow: 0 0 0 0 rgba(197, 174, 119, .6); }
	70% { box-shadow: 0 0 0 7px rgba(197, 174, 119, 0); }
	100% { box-shadow: 0 0 0 0 rgba(197, 174, 119, 0); }
}
@media (max-width: 575.98px) {
	.flc-ticker__label { padding: 0 10px; font-size: 0; gap: 0; }
	.flc-ticker-match { padding: 8px 16px; font-size: .75rem; }
}
@media (prefers-reduced-motion: reduce) {
	.flc-match-ticker { overflow-x: auto; }
	.flc-match-ticker-track { animation: none; }
	.flc-ticker__dot { animation: none; }
}

/* Brødsmuler */
.flc-crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 8px;
	padding-top: 18px;
	padding-bottom: 18px;
	font-size: .8rem;
	color: rgba(255, 255, 255, .55);
}
.flc-crumbs a { color: rgba(255, 255, 255, .72); text-decoration: none; }
.flc-crumbs a:hover { color: var(--ecru); }
.flc-crumbs [aria-current="page"], .flc-crumbs > :last-child { color: #fff; font-weight: 600; }
.flc-crumbs__sep { color: rgba(255, 255, 255, .25); }

/* Footer */
.flc-footer {
	margin-top: 64px;
	border-top: 1px solid rgba(255, 255, 255, .07);
	background:
		radial-gradient(60% 120% at 100% 0%, rgba(197, 174, 119, .07), transparent 60%),
		#151c21;
	font-size: .9rem;
}
.flc-footer__top {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr));
	gap: 32px;
	padding: 48px 0 36px;
}
.flc-footer__logo {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
	color: #fff;
	text-decoration: none;
}
.flc-footer__logo:hover { color: #fff; }
.flc-footer__logo img { width: 56px; height: 56px; object-fit: contain; }
.flc-footer__logo span { display: flex; flex-direction: column; line-height: 1.1; }
.flc-footer__logo strong { font-family: 'Montserrat', sans-serif; font-size: 1.35rem; font-weight: 800; letter-spacing: .06em; }
.flc-footer__logo small { font-size: .66rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ecru); }
.flc-footer__brand p { max-width: 34ch; margin: 0 0 18px; color: rgba(255, 255, 255, .62); }
.flc-footer__social { display: flex; gap: 8px; }
.flc-footer__social a {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 12px;
	color: #fff;
	transition: border-color .15s, background .15s, transform .15s;
}
.flc-footer__social a:hover { border-color: var(--ecru); background: rgba(197, 174, 119, .1); transform: translateY(-2px); }
.flc-footer__social img { width: 20px; height: 20px; }

.flc-footer__col { display: flex; flex-direction: column; gap: 8px; }
.flc-footer__col h2 {
	margin: 4px 0 6px;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .14em;
	color: var(--ecru);
}
.flc-footer__col a { color: rgba(255, 255, 255, .75); text-decoration: none; transition: color .15s; }
.flc-footer__col a:hover { color: #fff; }

.flc-footer__discord {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 20px;
	border: 1px solid rgba(88, 101, 242, .35);
	border-radius: 14px;
	background: linear-gradient(90deg, rgba(88, 101, 242, .22), rgba(88, 101, 242, .04));
	color: #fff;
	text-decoration: none;
	transition: border-color .15s;
}
.flc-footer__discord:hover { border-color: rgba(88, 101, 242, .8); color: #fff; }
.flc-footer__discord img { width: 32px; height: 32px; }
.flc-footer__discord span { display: flex; flex-direction: column; }
.flc-footer__discord small { color: rgba(255, 255, 255, .65); }
.flc-footer__discord::after { content: '→'; margin-left: auto; font-size: 1.2rem; color: rgba(255, 255, 255, .7); }

.flc-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 6px 24px;
	padding: 18px 0 24px;
	border-top: 1px solid rgba(255, 255, 255, .07);
	font-size: .78rem;
	color: rgba(255, 255, 255, .5);
}

@media (max-width: 991.98px) {
	.flc-footer__top { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.flc-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 575.98px) {
	.flc-footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; padding-top: 36px; }
	.flc-footer__col:last-of-type { grid-column: 1 / -1; }
}

/* ==========================================================================
   Profil (.flc-ph header + .flc-pf innhold) – se profile/menu.php og profile/index.php
   ========================================================================== */
.flc-ph {
	background: var(--gunmetal);
}
.flc-ph::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -2;
	background:
		radial-gradient(80% 140% at 100% 0%, rgba(197, 174, 119, .2), transparent 60%),
		repeating-linear-gradient(115deg, rgba(255, 255, 255, .025) 0 2px, transparent 2px 22px);
}
.flc-ph .flc-ch__eyebrow { color: var(--ecru); opacity: 1; }
.flc-ph__avatar {
	position: relative;
	flex-shrink: 0;
	margin: 0;
}
.flc-ph__avatar img {
	display: block;
	width: 112px;
	height: 112px;
	object-fit: cover;
	border: 3px solid var(--ecru);
	border-radius: 50%;
	background: #1f282f;
	box-shadow: 0 8px 22px rgba(0, 0, 0, .35);
}
.flc-ph__upload {
	position: absolute;
	right: 0;
	bottom: 2px;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border: 3px solid var(--gunmetal);
	border-radius: 50%;
	background: var(--ecru);
	color: #151515;
	cursor: pointer;
	transition: transform .15s, background .15s;
}
.flc-ph__upload:hover { transform: scale(1.08); background: var(--ecru-hover); }
.flc-ph__upload:focus-within { outline: 2px solid #fff; outline-offset: 2px; }
.flc-ph__upload input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.flc-ph .flc-ch__meta li { display: inline-flex; align-items: center; gap: 6px; }
.flc-ph .flc-ch__meta img { width: 18px; height: 18px; object-fit: contain; }
.flc-ph__looking { color: #9be7a6; }
.flc-ph__count {
	display: inline-grid;
	place-items: center;
	min-width: 1.4em;
	height: 1.4em;
	margin-left: 4px;
	padding: 0 .35em;
	border-radius: 999px;
	background: #e5484d;
	color: #fff;
	font-size: .7rem;
	letter-spacing: 0;
}

.flc-pf {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 20px;
	align-items: start;
}
.flc-pf__main, .flc-pf__side { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.flc-pf__side { position: sticky; top: 88px; }

.flc-pf-card {
	padding: 20px 22px;
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 16px;
	background: linear-gradient(180deg, #2e3b45, #26323b);
}
.flc-pf-card__title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
	font-size: .95rem;
	font-weight: 800;
	letter-spacing: .06em;
}
.flc-pf-card__title::before {
	content: '';
	width: 5px;
	height: 1em;
	border-radius: 3px;
	background: var(--ecru);
}
.flc-pf-card__badge { width: 18px; height: 18px; }
.flc-pf-card__hint { margin: -6px 0 14px; font-size: .85rem; color: rgba(255, 255, 255, .6); }

.flc-pf-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 16px;
}
.flc-pf .form-label { margin-bottom: 6px; font-size: .78rem; font-weight: 600; color: rgba(255, 255, 255, .7); }
.flc-pf .form-control, .flc-pf .input-group-text {
	border-color: rgba(255, 255, 255, .12);
	background-color: rgba(0, 0, 0, .22);
}
.flc-pf .form-control:focus {
	border-color: var(--ecru);
	box-shadow: 0 0 0 .2rem rgba(197, 174, 119, .2);
}
.flc-pf .input-group-text { color: rgba(255, 255, 255, .6); }
.flc-pf-help { margin-left: 6px; font-size: .72rem; font-weight: 500; color: var(--ecru); }
.flc-pf-locked {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-height: 38px;
	padding: .375rem .75rem;
	border: 1px dashed rgba(255, 255, 255, .14);
	border-radius: var(--bs-border-radius);
	font-weight: 600;
	overflow-wrap: anywhere;
}
.flc-pf-locked i { flex-shrink: 0; font-size: .8rem; color: rgba(255, 255, 255, .4); }

.flc-pf-choice {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
.flc-pf-choice input { position: absolute; opacity: 0; pointer-events: none; }
.flc-pf-choice label {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 14px 16px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 12px;
	background: rgba(0, 0, 0, .18);
	cursor: pointer;
	transition: border-color .15s, background .15s;
}
.flc-pf-choice label span { font-size: .8rem; color: rgba(255, 255, 255, .6); }
.flc-pf-choice label:hover { border-color: rgba(255, 255, 255, .3); }
.flc-pf-choice input:checked + label { border-color: var(--ecru); background: rgba(197, 174, 119, .12); }
.flc-pf-choice input:checked + label strong::before { content: '✓ '; color: var(--ecru); }
.flc-pf-choice input:focus-visible + label { outline: 2px solid var(--ecru); outline-offset: 2px; }

.flc-pf-upsell {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	border: 1px solid rgba(197, 174, 119, .3);
	border-radius: 12px;
	background: rgba(197, 174, 119, .08);
}
.flc-pf-upsell > i { font-size: 1.3rem; color: var(--ecru); }
.flc-pf-upsell div { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.flc-pf-upsell span { font-size: .82rem; color: rgba(255, 255, 255, .65); }

.flc-pf-save {
	position: sticky;
	bottom: 12px;
	z-index: 2;
	display: flex;
	justify-content: flex-end;
	padding: 10px;
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 14px;
	background: rgba(22, 30, 36, .9);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.flc-pf-save .flc-btn { padding: .6rem 1.6rem; font-size: .9rem; border: 0; }

.flc-pf-stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin: 0 0 14px;
}
.flc-pf-stats div { padding: 10px 12px; border-radius: 10px; background: rgba(0, 0, 0, .2); }
.flc-pf-stats dt { font-size: .68rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: rgba(255, 255, 255, .55); }
.flc-pf-stats dd { margin: 0; font-size: 1.4rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.flc-pf-link { font-size: .85rem; font-weight: 600; color: var(--ecru); text-decoration: none; }
.flc-pf-link:hover { color: var(--ecru-hover); }

.flc-pf-links { display: flex; flex-direction: column; margin: -4px -8px; }
.flc-pf-links a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 8px;
	border-radius: 8px;
	font-size: .88rem;
	color: rgba(255, 255, 255, .82);
	text-decoration: none;
}
.flc-pf-links a:hover { background: rgba(255, 255, 255, .05); color: #fff; }
.flc-pf-links i { width: 18px; text-align: center; color: var(--ecru); }

@media (max-width: 991.98px) {
	.flc-pf { grid-template-columns: 1fr; }
	.flc-pf__side { position: static; }
}
@media (max-width: 575.98px) {
	.flc-ph .flc-ch__body { flex-wrap: wrap; }
	.flc-ph__avatar img { width: 84px; height: 84px; }
	.flc-ph__upload { width: 30px; height: 30px; font-size: .8rem; }
	.flc-ph .flc-ch__actions { width: 100%; }
	.flc-ph .flc-ch__actions .btn { flex: 1; }
	.flc-pf-grid, .flc-pf-choice { grid-template-columns: 1fr; }
	.flc-pf-card { padding: 16px; }
	.flc-pf-upsell { flex-wrap: wrap; }
	.flc-pf-upsell div { flex-basis: calc(100% - 40px); }
	.flc-pf-upsell .flc-btn { flex-basis: 100%; }
	.flc-pf-save .flc-btn { width: 100%; }
}

/* ==========================================================================
   Forside (.flc-home) – se index.php. Kampkort og seksjonstitler gjenbrukes fra .flc-comp.
   ========================================================================== */
.flc-home {
	--comp-surface: #26323b;
	--comp-surface-2: #2e3b45;
	--comp-line: rgba(255, 255, 255, .08);
	--comp-muted: rgba(255, 255, 255, .62);
	padding-top: 8px;
}

.flc-home-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 28px;
	min-height: 380px;
	margin-bottom: 2.25rem;
	padding: 56px 40px 36px;
	border-radius: 22px;
	background: var(--gunmetal) url(/img/FLC_header_color.jpg) center bottom / cover no-repeat;
	box-shadow: 0 16px 40px rgba(0, 0, 0, .4);
}
.flc-home-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(90deg, rgba(8, 46, 56, .96) 0%, rgba(8, 46, 56, .82) 45%, rgba(8, 46, 56, .45) 100%),
		radial-gradient(70% 90% at 100% 0%, rgba(197, 174, 119, .25), transparent 60%);
}
.flc-home-hero__text { flex: 1 1 460px; max-width: 640px; }
.flc-home-hero__eyebrow {
	margin: 0 0 8px;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ecru);
}
.flc-home-hero__title {
	margin: 0 0 14px;
	font-size: clamp(2.1rem, 5.4vw, 3.6rem);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -.01em;
}
.flc-home-hero__lead { margin: 0 0 24px; font-size: 1.05rem; color: rgba(255, 255, 255, .82); }
.flc-home-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.flc-home-hero__actions .flc-btn { padding: .7rem 1.5rem; font-size: .95rem; }
.flc-home-hero .flc-btn--ghost { background: rgba(10, 14, 18, .4); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }

.flc-home-hero__stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	flex: 0 1 420px;
	margin: 0;
}
.flc-home-hero__stats > div {
	padding: 14px 16px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 14px;
	background: rgba(0, 0, 0, .3);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
.flc-home-hero__stats dt { font-size: .68rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: rgba(255, 255, 255, .65); }
.flc-home-hero__stats dd { margin: 2px 0 0; font-size: 1.9rem; font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums; }

.flc-home-section { margin-bottom: 2.5rem; }
.flc-home-section__head { display: flex; align-items: center; gap: 16px; margin-bottom: 14px; }
.flc-home-section__head .flc-comp-section__title { flex: 1; margin: 0; }
.flc-home-more { flex-shrink: 0; font-size: .85rem; font-weight: 600; color: var(--ecru); text-decoration: none; }
.flc-home-more:hover { color: var(--ecru-hover); }

/* Tabelltopp – horisontal rad */
.flc-home-leaders {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(230px, 1fr);
	gap: 12px;
	overflow-x: auto;
	padding-bottom: 8px;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	scrollbar-color: rgba(255, 255, 255, .2) transparent;
}
.flc-home-leader {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 14px 16px;
	border: 1px solid var(--comp-line);
	border-radius: 14px;
	background: linear-gradient(180deg, var(--comp-surface-2), var(--comp-surface));
	color: #fff;
	text-decoration: none;
	scroll-snap-align: start;
	transition: border-color .15s, transform .15s;
}
.flc-home-leader:hover { color: #fff; border-color: rgba(197, 174, 119, .55); transform: translateY(-2px); }
.flc-home-leader__league { display: flex; align-items: center; gap: 8px; font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--comp-muted); }
.flc-home-leader__league img { width: 26px; height: 26px; object-fit: contain; border-radius: 6px; }
.flc-home-leader__league span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.flc-home-leader__club { display: flex; align-items: center; gap: 10px; }
.flc-home-leader__club img { width: 38px; height: 38px; object-fit: contain; }
.flc-home-leader__club strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 1rem; }
.flc-home-leader__pts { font-size: .78rem; font-weight: 600; color: var(--ecru); font-variant-numeric: tabular-nums; }

/* Sesongledere */
.flc-home-boards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.flc-home-board {
	padding: 16px 18px;
	border: 1px solid var(--comp-line);
	border-radius: 16px;
	background: linear-gradient(180deg, var(--comp-surface-2), var(--comp-surface));
}
.flc-home-board h3 { margin: 0 0 10px; font-size: .8rem; font-weight: 800; letter-spacing: .12em; color: var(--ecru); }
.flc-home-board ol { margin: 0; padding: 0; list-style: none; }
.flc-home-board li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 0;
	border-top: 1px solid var(--comp-line);
}
.flc-home-board li:first-child { border-top: 0; }
.flc-home-board__rank { width: 1.4em; font-weight: 800; color: var(--comp-muted); text-align: center; font-variant-numeric: tabular-nums; }
.flc-home-board li:first-child .flc-home-board__rank { color: var(--ecru); }
.flc-home-board img { width: 32px; height: 32px; object-fit: cover; border-radius: 50%; background: rgba(0, 0, 0, .25); }
.flc-home-board a { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #fff; font-weight: 600; text-decoration: none; }
.flc-home-board a:hover { color: var(--ecru); }
.flc-home-board__value { font-size: 1.15rem; font-weight: 800; font-variant-numeric: tabular-nums; }

/* Hvorfor FLC */
.flc-home-features { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.flc-home-feature {
	overflow: hidden;
	border: 1px solid var(--comp-line);
	border-radius: 16px;
	background: var(--comp-surface);
}
.flc-home-feature img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.flc-home-feature div { padding: 14px 16px 18px; }
.flc-home-feature h3 { margin: 0 0 6px; font-size: .95rem; font-weight: 800; }
.flc-home-feature p { margin: 0; font-size: .85rem; color: rgba(255, 255, 255, .7); }

/* Avsluttende oppfordring */
.flc-home-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 1rem;
	padding: 28px 32px;
	border: 1px solid rgba(197, 174, 119, .3);
	border-radius: 18px;
	background:
		radial-gradient(80% 140% at 0% 0%, rgba(197, 174, 119, .16), transparent 60%),
		var(--gunmetal);
}
.flc-home-cta h2 { margin: 0 0 4px; font-size: 1.4rem; font-weight: 800; }
.flc-home-cta p { margin: 0; color: rgba(255, 255, 255, .75); }
.flc-home-cta__actions { display: flex; flex-wrap: wrap; gap: 10px; }

@media (max-width: 991.98px) {
	.flc-home-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
	.flc-home-boards { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
	.flc-home-hero { min-height: 0; padding: 32px 20px 20px; border-radius: 16px; }
	.flc-home-hero::before { background: linear-gradient(180deg, rgba(8, 46, 56, .9), rgba(8, 46, 56, .97)); }
	.flc-home-hero__lead { font-size: .95rem; }
	.flc-home-hero__actions .flc-btn { flex: 1; }
	.flc-home-hero__stats { flex-basis: 100%; }
	.flc-home-hero__stats > div { padding: 10px 12px; }
	.flc-home-hero__stats dd { font-size: 1.4rem; }
	.flc-home-leaders { grid-auto-columns: 78%; }
	.flc-home-features { grid-template-columns: 1fr; }
	.flc-home-feature { display: grid; grid-template-columns: 110px 1fr; }
	.flc-home-feature img { height: 100%; aspect-ratio: auto; }
	.flc-home-cta { padding: 22px 20px; }
	.flc-home-cta__actions, .flc-home-cta__actions .flc-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.flc-home-leader { transition: none; }
	.flc-home-leader:hover { transform: none; }
}

/* ==========================================================================
   Manager hub (.flc-mgr) – se manager/index.php. Hvert klubbkort får draktfargene
   via flc_club_theme_open() (--club-primary, --club-secondary, --club-on-primary, --club-accent).
   ========================================================================== */
.flc-mgr {
	--comp-line: rgba(255, 255, 255, .08);
	--comp-muted: rgba(255, 255, 255, .62);
	padding-top: 8px;
}

.flc-mgr-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 1.5rem;
	padding: 30px 28px 26px;
	border-radius: 18px;
	background: var(--gunmetal);
	box-shadow: 0 12px 32px rgba(0, 0, 0, .35);
}
.flc-mgr-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(90% 120% at 100% 0%, rgba(197, 174, 119, .2), transparent 60%),
		repeating-linear-gradient(115deg, rgba(255, 255, 255, .025) 0 2px, transparent 2px 22px);
}
.flc-mgr-hero__eyebrow { margin: 0 0 4px; font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ecru); }
.flc-mgr-hero__title { margin: 0 0 6px; font-size: clamp(1.8rem, 4.4vw, 2.8rem); font-weight: 800; line-height: 1.05; }
.flc-mgr-hero__lead { margin: 0; color: rgba(255, 255, 255, .75); }

.flc-mgr-todo { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.flc-mgr-todo li {
	padding: .45rem .9rem;
	border: 1px solid rgba(229, 72, 77, .45);
	border-radius: 999px;
	background: rgba(229, 72, 77, .14);
	font-size: .85rem;
	font-weight: 600;
}
.flc-mgr-todo li strong { color: #ff8a8d; }
.flc-mgr-todo li.is-clear { border-color: rgba(110, 200, 130, .4); background: rgba(110, 200, 130, .12); color: #a7e3b3; }

.flc-mgr-empty {
	max-width: 560px;
	margin: 1rem auto 2rem;
	padding: 36px 28px;
	border: 1px dashed rgba(255, 255, 255, .16);
	border-radius: 18px;
	text-align: center;
}
.flc-mgr-empty > i { font-size: 2rem; color: var(--ecru); }
.flc-mgr-empty h2 { margin: 12px 0 8px; font-size: 1.2rem; }
.flc-mgr-empty p { color: var(--comp-muted); }

.flc-mgr-clubs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr));
	gap: 18px;
	margin-bottom: 1rem;
}

.flc-mgr-club {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--comp-line);
	border-top: 4px solid var(--club-accent);
	border-radius: 18px;
	background: #26323b;
	box-shadow: 0 10px 26px rgba(0, 0, 0, .28);
}
.flc-mgr-club__head {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px 18px 16px;
	background: var(--club-primary);
	color: var(--club-on-primary);
}
.flc-mgr-club__head::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(120% 90% at 0% 0%, rgba(255, 255, 255, .14), transparent 55%),
		linear-gradient(180deg, transparent 40%, rgba(0, 0, 0, .3) 100%);
}
.flc-mgr-club__logo {
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	padding: 6px;
	object-fit: contain;
	border-radius: 16px;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 6px 16px rgba(0, 0, 0, .3);
}
.flc-mgr-club__titles { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.flc-mgr-club__role { font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; opacity: .8; }
.flc-mgr-club__name { margin: 2px 0; font-size: 1.3rem; font-weight: 800; line-height: 1.1; color: inherit; overflow-wrap: anywhere; }
.flc-mgr-club__name a { color: inherit; text-decoration: none; }
.flc-mgr-club__name a:hover { text-decoration: underline; }
.flc-mgr-club__league { font-size: .78rem; opacity: .85; }
.flc-mgr-club__standing { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; flex-shrink: 0; text-align: right; }
.flc-mgr-club__standing strong { font-size: 1.6rem; font-weight: 800; line-height: 1; }
.flc-mgr-club__standing > span { font-size: .72rem; opacity: .85; }

.flc-mgr-form { display: inline-flex; gap: 3px; }
.flc-mgr-form span {
	display: grid;
	place-items: center;
	width: 18px;
	height: 18px;
	border-radius: 4px;
	font-size: .6rem;
	font-weight: 800;
	color: #fff;
}
.flc-mgr-form .is-w { background: #2f9e57; }
.flc-mgr-form .is-d { background: #7a8691; }
.flc-mgr-form .is-l { background: #d2464b; }

.flc-mgr-club__body { display: flex; flex-direction: column; gap: 16px; flex: 1; padding: 16px 18px; }
.flc-mgr-block h3 {
	margin: 0 0 8px;
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .12em;
	color: var(--club-accent);
}
.flc-mgr-block--today {
	margin: -4px -6px 0;
	padding: 12px;
	border: 1px solid rgba(229, 72, 77, .35);
	border-radius: 14px;
	background: rgba(229, 72, 77, .07);
}
.flc-mgr-muted { margin: 0; font-size: .85rem; color: var(--comp-muted); }

.flc-mgr-match {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
.flc-mgr-match + .flc-mgr-match { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--comp-line); }
.flc-mgr-match__info { display: flex; align-items: center; gap: 10px; min-width: 0; }
.flc-mgr-match__info img { width: 34px; height: 34px; object-fit: contain; }
.flc-mgr-match__info div { display: flex; flex-direction: column; min-width: 0; }
.flc-mgr-match__info strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.flc-mgr-match__info span { font-size: .78rem; color: var(--comp-muted); }
.flc-mgr-match--link {
	padding: 10px 12px;
	border: 1px solid var(--comp-line);
	border-radius: 12px;
	background: rgba(0, 0, 0, .18);
	color: #fff;
	text-decoration: none;
	transition: border-color .15s;
}
.flc-mgr-match--link:hover { color: #fff; border-color: var(--club-accent); }
.flc-mgr-match__arrow { color: var(--comp-muted); }

.flc-mgr-match__steps { display: flex; flex-wrap: wrap; gap: 6px; }
.flc-mgr-step {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: .4rem .8rem;
	border-radius: 999px;
	font-size: .8rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}
.flc-mgr-step small { font-weight: 500; opacity: .75; }
.flc-mgr-step.is-todo { background: var(--club-accent); color: var(--club-on-accent); }
.flc-mgr-step.is-todo:hover { filter: brightness(1.08); color: var(--club-on-accent); }
.flc-mgr-step.is-done { border: 1px solid rgba(110, 200, 130, .4); background: rgba(110, 200, 130, .12); color: #a7e3b3; }
.flc-mgr-step.is-waiting { border: 1px solid rgba(255, 193, 7, .4); background: rgba(255, 193, 7, .1); color: #ffd666; }

.flc-mgr-alerts { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.flc-mgr-alerts a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 12px;
	border-radius: 10px;
	background: rgba(229, 72, 77, .12);
	color: #ffb3b5;
	font-size: .85rem;
	font-weight: 600;
	text-decoration: none;
}
.flc-mgr-alerts .is-info a { background: rgba(255, 255, 255, .05); color: rgba(255, 255, 255, .82); }
.flc-mgr-alerts a:hover { filter: brightness(1.15); }

.flc-mgr-squad { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; font-size: .85rem; color: var(--comp-muted); }
.flc-mgr-squad strong { font-size: 1.1rem; color: #fff; }
.flc-mgr-squad__full { font-size: .72rem; font-weight: 700; color: #ffd666; }
.flc-mgr-club .flc-comp-bar > span { background: var(--club-accent); }

.flc-mgr-club__links {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	border-top: 1px solid var(--comp-line);
	background: rgba(0, 0, 0, .15);
}
.flc-mgr-club__links a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 11px 4px;
	font-size: .72rem;
	font-weight: 700;
	color: rgba(255, 255, 255, .78);
	text-decoration: none;
	transition: background .15s, color .15s;
}
.flc-mgr-club__links a + a { border-left: 1px solid var(--comp-line); }
.flc-mgr-club__links a:hover { background: rgba(255, 255, 255, .05); color: var(--club-accent); }
.flc-mgr-club__links i { font-size: .95rem; color: var(--club-accent); }

@media (max-width: 575.98px) {
	.flc-mgr-hero { padding: 24px 18px 20px; border-radius: 14px; }
	.flc-mgr-club__head { flex-wrap: wrap; }
	.flc-mgr-club__logo { width: 52px; height: 52px; }
	.flc-mgr-club__standing { flex-direction: row; align-items: center; gap: 10px; width: 100%; justify-content: space-between; }
	.flc-mgr-club__standing strong { font-size: 1.2rem; }
	.flc-mgr-match__steps, .flc-mgr-step { width: 100%; justify-content: center; }
	.flc-mgr-club__links a { font-size: .62rem; }
}

/* Åpne tilbud i hubens squad-blokk */
.flc-mgr-offers {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
	font-size: .8rem;
	color: rgba(255, 255, 255, .72);
	text-decoration: none;
}
.flc-mgr-offers i { color: var(--club-accent); }
.flc-mgr-offers strong { color: #fff; font-weight: 600; }
.flc-mgr-offers:hover { color: #fff; }
.flc-mgr-offers:hover span { text-decoration: underline; }

/* ==========================================================================
   Åpne kontraktstilbud (.flc-offers) – se manager/club/squad.php
   ========================================================================== */
.flc-offers {
	margin-top: 2.5rem;
	scroll-margin-top: 90px;
}
.flc-offers__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: .5rem; }
.flc-offers__head .club-section-title { margin: 0; }
.flc-offers__hint, .flc-offers__empty { margin: 0 0 14px; font-size: .88rem; color: rgba(255, 255, 255, .62); }
.flc-offers__empty {
	padding: 18px 20px;
	border: 1px dashed rgba(255, 255, 255, .16);
	border-radius: 14px;
}
.flc-offers__empty a { color: var(--club-accent); }

.flc-offers__table {
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 16px;
	background: #26323b;
}
.flc-offers__row {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1.4fr) minmax(0, 1.1fr) minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	padding: 12px 16px;
	border-top: 1px solid rgba(255, 255, 255, .06);
	font-size: .88rem;
}
.flc-offers__row--head {
	border-top: 0;
	padding-block: 10px;
	background: rgba(0, 0, 0, .2);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .55);
}
.flc-offers__row:not(.flc-offers__row--head):hover { background: rgba(255, 255, 255, .025); }
.flc-offers__row small { display: block; font-size: .72rem; color: rgba(255, 255, 255, .5); }
.flc-offers__player { display: flex; align-items: center; gap: 10px; min-width: 0; }
.flc-offers__player img { flex-shrink: 0; width: 38px; height: 38px; object-fit: cover; border-radius: 50%; background: rgba(0, 0, 0, .25); }
.flc-offers__player > span { min-width: 0; }
.flc-offers__player a { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #fff; font-weight: 700; text-decoration: none; }
.flc-offers__player a:hover { color: var(--club-accent); }
.flc-offers__free {
	display: inline-block;
	padding: .1rem .5rem;
	border-radius: 999px;
	background: rgba(110, 200, 130, .14);
	color: #a7e3b3;
	font-size: .75rem;
	font-weight: 600;
}
.flc-offers__actions { display: flex; gap: 6px; justify-content: flex-end; }
.flc-offers__actions form { margin: 0; }
.flc-offers__status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: .15rem .6rem;
	border-radius: 999px;
	background: rgba(255, 193, 7, .12);
	color: #ffd666;
	font-size: .78rem;
	font-weight: 700;
}
.flc-offers__status::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }

.flc-offer-modal .modal-content {
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 18px;
	background: #26323b;
}
.flc-offer-modal .modal-header {
	align-items: flex-start;
	border-bottom: 0;
	padding: 20px 20px 16px;
	background: var(--club-primary);
	color: var(--club-on-primary);
}
.flc-offer-modal .modal-header .btn-close { filter: none; }
.flc-offer-modal__who { display: flex; align-items: center; gap: 14px; }
.flc-offer-modal__who img { width: 64px; height: 64px; object-fit: cover; border: 3px solid var(--club-accent); border-radius: 50%; background: #1f282f; }
.flc-offer-modal__eyebrow { font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; opacity: .8; }
.flc-offer-modal .modal-title { margin: 2px 0; font-size: 1.35rem; font-weight: 800; color: inherit; }
.flc-offer-modal__pos { font-size: .8rem; opacity: .85; }
.flc-offer-modal__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
.flc-offer-modal__facts div { padding: 10px 12px; border-radius: 10px; background: rgba(0, 0, 0, .2); }
.flc-offer-modal__facts dt { font-size: .66rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: rgba(255, 255, 255, .55); }
.flc-offer-modal__facts dd { margin: 2px 0 0; font-weight: 600; }
.flc-offer-modal__facts small { color: rgba(255, 255, 255, .55); font-weight: 400; }
.flc-offer-modal .modal-footer { justify-content: space-between; border-top: 1px solid rgba(255, 255, 255, .08); }
.flc-offer-modal .modal-footer form { margin: 0; }

@media (max-width: 767.98px) {
	.flc-offers__row--head { display: none; }
	.flc-offers__row { grid-template-columns: 1fr 1fr; align-items: start; gap: 8px 14px; padding: 14px 16px; }
	.flc-offers__player { grid-column: 1 / -1; }
	.flc-offers__row [data-label]::before {
		content: attr(data-label);
		display: block;
		font-size: .66rem;
		font-weight: 700;
		letter-spacing: .06em;
		text-transform: uppercase;
		color: rgba(255, 255, 255, .5);
	}
	.flc-offers__actions { grid-column: 1 / -1; justify-content: stretch; }
	.flc-offers__actions > *, .flc-offers__actions .btn { flex: 1; width: 100%; }
}
@media (max-width: 575.98px) {
	.flc-offer-modal__facts { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Kontraktstilbud til spilleren (.flc-po) – se profile/offers.php
   ========================================================================== */
.flc-po__intro { margin: 0 0 14px; font-size: .9rem; color: rgba(255, 255, 255, .7); }
.flc-po__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
	gap: 16px;
}
.flc-po button.flc-btn, .flc-po-modal button.flc-btn { background-color: transparent; cursor: pointer; }
.flc-po button.flc-btn--gold, .flc-po-modal button.flc-btn--gold { background-color: var(--ecru); }
.flc-po button.flc-btn--gold:hover, .flc-po-modal button.flc-btn--gold:hover { background-color: var(--ecru-hover); }

.flc-po-card {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 20px 22px;
	border: 1px solid rgba(255, 255, 255, .08);
	border-top: 3px solid var(--ecru);
	border-radius: 16px;
	background: linear-gradient(180deg, #2e3b45, #26323b);
}
.flc-po-card__club { display: flex; align-items: center; gap: 14px; min-width: 0; }
.flc-po-card__club img {
	flex-shrink: 0;
	width: 60px;
	height: 60px;
	padding: 6px;
	object-fit: contain;
	border-radius: 14px;
	background: rgba(0, 0, 0, .25);
}
.flc-po-card__club > div { display: flex; flex-direction: column; min-width: 0; }
.flc-po-card__eyebrow { font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ecru); }
.flc-po-card__club h2 { margin: 2px 0; font-size: 1.25rem; font-weight: 800; line-height: 1.2; }
.flc-po-card__club h2 a { color: #fff; text-decoration: none; overflow-wrap: anywhere; }
.flc-po-card__club h2 a:hover { color: var(--ecru); }
.flc-po-card__league { font-size: .82rem; color: rgba(255, 255, 255, .6); }

.flc-po-card__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
.flc-po-card__facts div { padding: 10px 12px; border-radius: 10px; background: rgba(0, 0, 0, .2); }
.flc-po-card__facts .flc-po-card__move { grid-column: 1 / -1; }
.flc-po-card__facts dt { font-size: .66rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: rgba(255, 255, 255, .55); }
.flc-po-card__facts dd { margin: 2px 0 0; font-size: .9rem; font-weight: 600; }
.flc-po-card__facts small { display: block; font-size: .75rem; font-weight: 400; color: rgba(255, 255, 255, .55); }
.flc-po-tag {
	display: inline-block;
	margin-right: 4px;
	padding: .1rem .5rem;
	border-radius: 999px;
	background: rgba(110, 200, 130, .14);
	color: #a7e3b3;
	font-size: .75rem;
	font-weight: 700;
}
.flc-po-tag--transfer { background: rgba(197, 174, 119, .16); color: var(--ecru); }

.flc-po-card__actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: auto; }
.flc-po-card__actions form { margin: 0; }
.flc-po-card__actions .flc-btn { min-width: 110px; }

.flc-po-empty { max-width: 620px; margin: 0 auto; padding: 32px 28px; text-align: center; }
.flc-po-empty__icon {
	display: inline-grid;
	place-items: center;
	width: 56px;
	height: 56px;
	margin-bottom: 12px;
	border-radius: 16px;
	background: rgba(197, 174, 119, .14);
	color: var(--ecru);
	font-size: 1.4rem;
}
.flc-po-empty h2 { margin: 0 0 8px; font-size: 1.15rem; font-weight: 800; }
.flc-po-empty p { margin: 0 auto 18px; max-width: 480px; font-size: .9rem; color: rgba(255, 255, 255, .7); }

.flc-po-modal .modal-content {
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 18px;
	background: #26323b;
	color: #fff;
}
.flc-po-modal .modal-header {
	gap: 14px;
	align-items: center;
	padding: 20px;
	border-bottom: 0;
	background: var(--gunmetal);
}
.flc-po-modal .modal-header img { width: 52px; height: 52px; padding: 5px; object-fit: contain; border-radius: 12px; background: rgba(0, 0, 0, .25); }
.flc-po-modal .modal-header > div { flex: 1; min-width: 0; }
.flc-po-modal .modal-title { margin: 2px 0 0; font-size: 1.2rem; font-weight: 800; }
.flc-po-modal .modal-header .btn-close { align-self: flex-start; margin: 0; }
.flc-po-modal__list { display: flex; flex-direction: column; gap: 8px; margin: 0; padding-left: 1.1rem; font-size: .9rem; color: rgba(255, 255, 255, .8); }
.flc-po-modal__list li::marker { color: var(--ecru); }
.flc-po-modal .modal-footer { justify-content: flex-end; gap: 8px; border-top: 1px solid rgba(255, 255, 255, .08); }
.flc-po-modal .modal-footer > * { margin: 0; }

@media (max-width: 575.98px) {
	.flc-po__list { grid-template-columns: 1fr; }
	.flc-po-card { padding: 16px; }
	.flc-po-card__actions > *, .flc-po-card__actions .flc-btn { flex: 1; width: 100%; }
	.flc-po-empty { padding: 24px 18px; }
	.flc-po-empty .flc-btn { width: 100%; }
}

/* ==========================================================================
   Varsler – rød boble på profilknappen, prikk på menyknappen (mobil) og varselboks i profilen.
   Se src/libs/notifications.php
   ========================================================================== */
.flc-user__pic { position: relative; display: inline-flex; flex-shrink: 0; }
.flc-user__badge {
	position: absolute;
	top: -5px;
	right: -6px;
	display: grid;
	place-items: center;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border: 2px solid #11181d;
	border-radius: 999px;
	background: #e5484d;
	color: #fff;
	font-size: .62rem;
	font-weight: 800;
	line-height: 1;
	box-shadow: 0 0 0 0 rgba(229, 72, 77, .6);
	animation: flcNotePulse 2.4s ease-out 3;
}
@keyframes flcNotePulse {
	0% { box-shadow: 0 0 0 0 rgba(229, 72, 77, .6); }
	70% { box-shadow: 0 0 0 8px rgba(229, 72, 77, 0); }
	100% { box-shadow: 0 0 0 0 rgba(229, 72, 77, 0); }
}
.flc-burger { position: relative; }
.flc-burger.has-notes::after {
	content: '';
	position: absolute;
	top: -4px;
	right: -4px;
	width: 12px;
	height: 12px;
	border: 2px solid #11181d;
	border-radius: 50%;
	background: #e5484d;
}

.flc-notice {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: -0.5rem 0 1.5rem;
	padding: 14px 16px;
	border: 1px solid rgba(229, 72, 77, .45);
	border-left: 4px solid #e5484d;
	border-radius: 14px;
	background: linear-gradient(90deg, rgba(229, 72, 77, .16), rgba(229, 72, 77, .05));
}
.flc-notice__icon {
	display: grid;
	place-items: center;
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: rgba(229, 72, 77, .2);
	color: #ff8a8d;
	font-size: 1.1rem;
}
.flc-notice__text { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.flc-notice__text strong { font-size: 1rem; }
.flc-notice__text span { font-size: .85rem; color: rgba(255, 255, 255, .72); }
.flc-notice .flc-btn { flex-shrink: 0; }

@media (max-width: 575.98px) {
	.flc-notice { flex-wrap: wrap; }
	.flc-notice__text { flex-basis: calc(100% - 54px); }
	.flc-notice .flc-btn { flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.flc-user__badge { animation: none; }
}

/* ==========================================================================
   Offentlig spillerprofil (.flc-pp) – se player.php. Bygger på .flc-ch (header)
   og .flc-pf (kort og to-kolonne-oppsett fra profilsiden).
   ========================================================================== */
.flc-pp .flc-ph__avatar img { border-color: var(--club-accent, var(--ecru)); }
.flc-pp .flc-ch__meta li { display: inline-flex; align-items: center; gap: 6px; }
.flc-pp__club a { display: inline-flex; align-items: center; gap: 6px; }
.flc-pp__club img { width: 18px; height: 18px; object-fit: contain; }

.flc-pp-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
	gap: 8px;
	margin: 0 0 16px;
}
.flc-pp-stats div { padding: 12px 14px; border-radius: 12px; background: rgba(0, 0, 0, .22); }
.flc-pp-stats dt { font-size: .66rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: rgba(255, 255, 255, .55); }
.flc-pp-stats dd { margin: 2px 0 0; font-size: 1.6rem; font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums; }
.flc-pp-stats dd.flc-pp-record { font-size: 1.15rem; padding-top: 6px; }

.flc-pp-sub { margin: 4px 0 10px; font-size: .72rem; font-weight: 800; letter-spacing: .12em; color: var(--ecru); }

.flc-pp-table-wrap { overflow-x: auto; margin: 0 -4px; }
.flc-pp-table { width: 100%; border-collapse: collapse; font-size: .85rem; font-variant-numeric: tabular-nums; }
.flc-pp-table th {
	padding: 8px;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .55);
	text-align: left;
	white-space: nowrap;
}
.flc-pp-table td { padding: 9px 8px; border-bottom: 1px solid rgba(255, 255, 255, .05); white-space: nowrap; }
.flc-pp-table td:has(> a) { white-space: normal; min-width: 120px; }
.flc-pp-table tr:last-child td { border-bottom: 0; }
.flc-pp-table a { color: #fff; text-decoration: none; }
.flc-pp-table a:hover { color: var(--ecru); }

.flc-pp-res {
	display: inline-grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border-radius: 6px;
	font-size: .7rem;
	font-weight: 800;
	color: #fff;
}
.flc-pp-res.is-w { background: #2f9e57; }
.flc-pp-res.is-d { background: #7a8691; }
.flc-pp-res.is-l { background: #d2464b; }

.flc-pp-matches { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.flc-pp-matches a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border-radius: 12px;
	background: rgba(0, 0, 0, .18);
	color: #fff;
	text-decoration: none;
	transition: background .15s;
}
.flc-pp-matches a:hover { color: #fff; background: rgba(255, 255, 255, .05); }
.flc-pp-matches img { width: 30px; height: 30px; object-fit: contain; }
.flc-pp-matches__opp { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.flc-pp-matches__opp strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.flc-pp-matches__opp small { color: rgba(255, 255, 255, .55); }
.flc-pp-matches__ga { display: flex; gap: 10px; font-size: .82rem; font-weight: 700; color: rgba(255, 255, 255, .8); }
.flc-pp-matches__ga i { color: var(--ecru); }
.flc-pp-rating {
	min-width: 44px;
	padding: 4px 8px;
	border-radius: 8px;
	background: rgba(197, 174, 119, .16);
	color: var(--ecru-hover);
	font-weight: 800;
	text-align: center;
	font-variant-numeric: tabular-nums;
}

.flc-pp-trophies { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.flc-pp-trophy {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	padding: 14px 10px;
	border: 1px solid rgba(197, 174, 119, .25);
	border-radius: 14px;
	background: radial-gradient(80% 60% at 50% 20%, rgba(197, 174, 119, .16), transparent 70%), rgba(0, 0, 0, .18);
	text-align: center;
}
.flc-pp-trophy img { width: 84px; height: 84px; object-fit: contain; margin-bottom: 6px; filter: drop-shadow(0 6px 12px rgba(0, 0, 0, .4)); }
.flc-pp-trophy strong { font-size: .82rem; }
.flc-pp-trophy span { font-size: .72rem; color: rgba(255, 255, 255, .7); }
.flc-pp-trophy small { font-size: .68rem; color: var(--ecru); }

.flc-pp-totw { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.flc-pp-totw li {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 0 10px;
	padding: 10px 12px;
	border-radius: 12px;
	background: rgba(0, 0, 0, .18);
	font-size: .85rem;
}
.flc-pp-totw__pos {
	grid-row: span 2;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--ecru);
	color: #151515;
	font-size: .75rem;
	font-weight: 800;
}
.flc-pp-totw small { color: rgba(255, 255, 255, .55); }

.flc-pp-stream { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 10px; overflow: hidden; }
.flc-pp-stream + .flc-pp-stream { margin-top: 10px; }

.flc-pp-pos { display: flex; align-items: center; gap: 8px; margin: -4px 0 14px; font-weight: 700; }
.flc-pp-pos span { padding: .15rem .5rem; border-radius: 6px; background: var(--ecru); color: #151515; font-size: .75rem; font-weight: 800; }
.flc-pp-bar + .flc-pp-bar { margin-top: 12px; }
.flc-pp-bar__label { display: flex; justify-content: space-between; margin-bottom: 5px; font-size: .8rem; color: rgba(255, 255, 255, .72); font-variant-numeric: tabular-nums; }

.flc-pp-details { display: flex; flex-direction: column; margin: 0; }
.flc-pp-details div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid rgba(255, 255, 255, .06); font-size: .85rem; }
.flc-pp-details div:first-child { border-top: 0; padding-top: 0; }
.flc-pp-details dt { font-weight: 500; color: rgba(255, 255, 255, .55); }
.flc-pp-details dd { margin: 0; font-weight: 600; text-align: right; overflow-wrap: anywhere; }

.flc-pp-transfers { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.flc-pp-transfers li { position: relative; display: flex; align-items: center; gap: 10px; padding: 8px 0 8px 14px; }
.flc-pp-transfers li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 2px;
	background: rgba(255, 255, 255, .1);
}
.flc-pp-transfers li.is-active::before { background: var(--ecru); }
.flc-pp-transfers img { width: 28px; height: 28px; object-fit: contain; }
.flc-pp-transfers li > span:not(.flc-pp-transfers__status) { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.flc-pp-transfers strong a { color: #fff; text-decoration: none; }
.flc-pp-transfers strong a:hover { color: var(--ecru); }
.flc-pp-transfers small { color: rgba(255, 255, 255, .55); }
.flc-pp-transfers__status { font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: rgba(255, 255, 255, .45); }
.flc-pp-transfers li.is-active .flc-pp-transfers__status { color: var(--ecru); }

@media (max-width: 575.98px) {
	.flc-pp .flc-ch__body { flex-wrap: wrap; }
	.flc-pp .flc-ph__avatar img { width: 84px; height: 84px; }
	.flc-pp-stats dd { font-size: 1.3rem; }
	.flc-pp-matches__ga { display: none; }
	.flc-pp-table th, .flc-pp-table td { padding-inline: 5px; }
	.flc-pp-table td:has(> a) { min-width: 100px; }
}

/* ==========================================================================
   Overgangsmarked (.flc-tm) – se manager/club/find-player.php.
   Tilbudsvinduet gjenbruker .flc-offer-modal fra squad-siden.
   ========================================================================== */
.flc-tm { margin-bottom: 1rem; }
.flc-tm-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 14px;
}
.flc-tm-summary > * {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 16px;
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 14px;
	background: #26323b;
	color: #fff;
	text-decoration: none;
}
.flc-tm-summary a:hover { color: #fff; border-color: var(--club-accent); }
.flc-tm-summary__label { font-size: .66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .55); }
.flc-tm-summary strong { font-size: 1.4rem; font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums; }
.flc-tm-summary small { font-size: .8rem; font-weight: 600; color: rgba(255, 255, 255, .55); }
.flc-tm-summary .flc-comp-bar > span { background: var(--club-accent); }

.flc-tm-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 1.75rem;
	padding: 12px;
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 14px;
	background: rgba(0, 0, 0, .18);
}
.flc-tm-filters .form-control, .flc-tm-filters .form-select {
	border-color: rgba(255, 255, 255, .12);
	background-color: rgba(0, 0, 0, .22);
}
.flc-tm-filters .form-select { width: auto; min-width: 150px; }
.flc-tm-filters__search { position: relative; flex: 1 1 260px; margin: 0; }
.flc-tm-filters__search i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: rgba(255, 255, 255, .45); pointer-events: none; }
.flc-tm-filters__search .form-control { padding-left: 34px; }
.flc-tm-filters__check { display: inline-flex; align-items: center; gap: 6px; margin: 0 6px; font-size: .88rem; white-space: nowrap; cursor: pointer; }
.flc-tm-filters__check input { accent-color: var(--club-accent); }

.flc-tm-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 1rem; }
.flc-tm-head .club-section-title { margin: 0; }
.flc-tm-reset { font-size: .85rem; color: var(--club-accent); }

.flc-tm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }
.flc-tm-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 14px;
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 16px;
	background: linear-gradient(180deg, #2e3b45, #26323b);
	transition: border-color .15s, transform .15s;
}
.flc-tm-card:hover { border-color: rgba(255, 255, 255, .2); transform: translateY(-2px); }
.flc-tm-card__top { display: flex; align-items: center; gap: 12px; }
.flc-tm-card__avatar { flex-shrink: 0; width: 56px; height: 56px; object-fit: cover; border: 2px solid var(--club-accent); border-radius: 50%; background: #1f282f; }
.flc-tm-card__who { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.flc-tm-card__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #fff; font-weight: 800; text-decoration: none; }
.flc-tm-card__name:hover { color: var(--club-accent); }
.flc-tm-card__who small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .75rem; color: rgba(255, 255, 255, .55); }
.flc-tm-card__tags { display: flex; gap: 4px; margin-top: 2px; }
.flc-tm-pos { padding: .1rem .45rem; border-radius: 6px; background: var(--ecru); color: #151515; font-size: .68rem; font-weight: 800; }
.flc-tm-tag { padding: .1rem .45rem; border-radius: 6px; font-size: .68rem; font-weight: 700; }
.flc-tm-tag.is-looking { background: rgba(110, 200, 130, .14); color: #a7e3b3; }

.flc-tm-card__facts { display: flex; flex-direction: column; margin: 0; }
.flc-tm-card__facts div { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 6px 0; border-top: 1px solid rgba(255, 255, 255, .06); font-size: .82rem; }
.flc-tm-card__facts dt { font-weight: 500; color: rgba(255, 255, 255, .55); }
.flc-tm-card__facts dd { min-width: 0; margin: 0; font-weight: 600; text-align: right; }
.flc-tm-club { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; }
.flc-tm-club img { width: 18px; height: 18px; object-fit: contain; }
.flc-tm-muted { font-weight: 400; color: rgba(255, 255, 255, .45); }

.flc-tm-card__actions { display: grid; grid-template-columns: auto 1fr; gap: 6px; margin-top: auto; }
.flc-tm-card__actions .btn-club { font-weight: 700; }
.flc-tm-state {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: .25rem .6rem;
	border: 1px dashed rgba(255, 255, 255, .2);
	border-radius: var(--bs-border-radius-sm, .25rem);
	font-size: .8rem;
	font-weight: 600;
	color: rgba(255, 255, 255, .6);
	text-decoration: none;
}
.flc-tm-state.is-offered { border-style: solid; border-color: rgba(255, 193, 7, .4); background: rgba(255, 193, 7, .1); color: #ffd666; }
.flc-tm-state.is-offered:hover { color: #ffe08a; }

.flc-tm-pages { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; margin-top: 1.25rem; font-size: .85rem; color: rgba(255, 255, 255, .6); }
.flc-tm-pages > :last-child { justify-self: end; }
.flc-tm-note { margin: 12px 0 0; font-size: .82rem; color: rgba(255, 255, 255, .62); }

@media (max-width: 767.98px) {
	.flc-tm-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
	.flc-tm-summary > * { padding: 10px 12px; }
	.flc-tm-summary strong { font-size: 1.1rem; }
	.flc-tm-filters .form-select { flex: 1 1 140px; }
	.flc-tm-filters .btn { flex: 1 1 100%; }
}
@media (max-width: 420px) {
	.flc-tm-summary { grid-template-columns: 1fr 1fr; }
	.flc-tm-summary > a { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
	.flc-tm-card { transition: none; }
	.flc-tm-card:hover { transform: none; }
}

/* ==========================================================================
   Admin: belønninger (.flc-rw) – se admin/rewards.php. Kortene er .flc-pf-card.
   ========================================================================== */
.flc-rw { margin: 1rem 0 1.5rem; }
.flc-rw-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	margin-bottom: 14px;
	padding: 18px 20px;
	border-radius: 18px;
	background: radial-gradient(90% 140% at 100% 0%, rgba(197, 174, 119, .18), transparent 60%), var(--gunmetal);
}
.flc-rw-head__logo { width: 64px; height: 64px; object-fit: contain; filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .4)); }
.flc-rw-head__text { flex: 1 1 240px; min-width: 0; }
.flc-rw-head__eyebrow { font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ecru); }
.flc-rw-head h1 { margin: 2px 0 0; font-size: clamp(1.3rem, 3.2vw, 1.9rem); font-weight: 800; line-height: 1.1; }
.flc-rw-head h1 span { display: inline-block; margin-left: 6px; padding: .1rem .55rem; border-radius: 999px; background: rgba(0, 0, 0, .3); font-size: .55em; vertical-align: middle; color: rgba(255, 255, 255, .85); }
.flc-rw-context { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px; }
.flc-rw-context label { display: flex; flex-direction: column; gap: 3px; margin: 0; font-size: .66rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
.flc-rw-context .form-select { min-width: 200px; }
.flc-rw-context input[type="number"] { width: 90px; }
.flc-rw-context .form-select, .flc-rw-context .form-control { border-color: rgba(255, 255, 255, .15); background-color: rgba(0, 0, 0, .25); }
.flc-rw-context__current { align-self: center; margin-top: 16px; font-size: .78rem; color: var(--ecru); }

.flc-rw-tabs {
	display: flex;
	gap: 4px;
	overflow-x: auto;
	margin-bottom: 16px;
	padding: 4px;
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 14px;
	background: rgba(0, 0, 0, .2);
	scrollbar-width: none;
}
.flc-rw-tabs a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex: 1 0 auto;
	justify-content: center;
	padding: .55rem .9rem;
	border-radius: 10px;
	font-size: .85rem;
	font-weight: 700;
	color: rgba(255, 255, 255, .72);
	text-decoration: none;
	white-space: nowrap;
}
.flc-rw-tabs a:hover { color: #fff; background: rgba(255, 255, 255, .05); }
.flc-rw-tabs a.is-active { background: var(--ecru); color: #151515; }
.flc-rw-tabs a span { min-width: 1.6em; padding: 0 .4em; border-radius: 999px; background: rgba(255, 255, 255, .12); font-size: .72rem; text-align: center; }
.flc-rw-tabs a.is-active span { background: rgba(0, 0, 0, .15); }

.flc-rw-weeks { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.flc-rw-weeks a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: .35rem .75rem;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 999px;
	font-size: .8rem;
	font-weight: 700;
	color: rgba(255, 255, 255, .8);
	text-decoration: none;
}
.flc-rw-weeks a small { font-weight: 600; color: rgba(255, 255, 255, .5); }
.flc-rw-weeks a:hover { color: #fff; border-color: rgba(255, 255, 255, .3); }
.flc-rw-weeks a.is-active { border-color: var(--ecru); background: rgba(197, 174, 119, .14); color: #fff; }
.flc-rw-weeks a.is-add { border-style: dashed; color: var(--ecru); }

.flc-rw-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }

.flc-rw-list { display: flex; flex-direction: column; gap: 6px; margin: 0 0 4px; padding: 0; list-style: none; }
.flc-rw-list li { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 12px; background: rgba(0, 0, 0, .2); }
.flc-rw-list img { width: 34px; height: 34px; object-fit: cover; border-radius: 50%; background: #1f282f; }
.flc-rw-list__who { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.flc-rw-list__who a, .flc-rw-list__who strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #fff; font-weight: 700; text-decoration: none; }
.flc-rw-list__who a:hover { color: var(--ecru); }
.flc-rw-list__who small { font-size: .74rem; color: rgba(255, 255, 255, .55); }
.flc-rw-list form { margin: 0; }
.flc-rw-pos {
	flex-shrink: 0;
	display: grid;
	place-items: center;
	min-width: 42px;
	height: 28px;
	padding: 0 6px;
	border-radius: 8px;
	background: var(--ecru);
	color: #151515;
	font-size: .7rem;
	font-weight: 800;
}
.flc-rw-pos.is-award { background: rgba(197, 174, 119, .18); color: var(--ecru); }
.flc-rw-pos.is-place-1 { background: #d9b04a; }
.flc-rw-pos.is-place-2 { background: #b9c2cb; }
.flc-rw-pos.is-place-3 { background: #c4824c; }
.flc-rw-pos.is-place-4 { background: rgba(255, 255, 255, .15); color: #fff; }
.flc-rw-remove {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 8px;
	background: transparent;
	color: rgba(255, 255, 255, .55);
	transition: color .15s, border-color .15s, background .15s;
}
.flc-rw-remove:hover { border-color: rgba(229, 72, 77, .6); background: rgba(229, 72, 77, .12); color: #ff8a8d; }

.flc-rw-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .08); }
.flc-rw-form--first { margin-top: 0; padding-top: 0; border-top: 0; }
.flc-rw-form h3 { flex-basis: 100%; margin: 0; font-size: .72rem; font-weight: 800; letter-spacing: .12em; color: var(--ecru); }
.flc-rw-form .flc-pf-card__hint { flex-basis: 100%; margin: 0; }
.flc-rw-field { display: flex; flex-direction: column; flex: 1 1 160px; min-width: 0; }
.flc-rw-field--wide { flex: 2 1 240px; }
.flc-rw-field .form-label { margin-bottom: 4px; font-size: .74rem; font-weight: 600; color: rgba(255, 255, 255, .7); }
.flc-rw-field .form-select, .flc-rw-field .form-control { border-color: rgba(255, 255, 255, .12); background-color: rgba(0, 0, 0, .22); }
.flc-rw-manual { margin-top: 6px; font-size: .75rem; color: rgba(255, 255, 255, .55); }
.flc-rw-manual summary { cursor: pointer; }
.flc-rw-manual input { margin-top: 6px; max-width: 180px; }

.flc-rw-image { display: block; overflow: hidden; border: 1px solid rgba(255, 255, 255, .1); border-radius: 12px; background: rgba(0, 0, 0, .25); }
.flc-rw-image img { display: block; width: 100%; height: auto; }
.flc-rw-image.is-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; aspect-ratio: 16 / 9; border-style: dashed; color: rgba(255, 255, 255, .45); font-size: .85rem; }
.flc-rw-image.is-empty i { font-size: 1.6rem; }
.flc-rw-image + .flc-pf-card__hint { margin: 8px 0 0; }

.flc-rw-board + .flc-rw-board { margin-top: 14px; }
.flc-rw-board h3 { margin: 0 0 6px; font-size: .72rem; font-weight: 800; letter-spacing: .1em; color: var(--ecru); }
.flc-rw-board ol { margin: 0; padding: 0; list-style: none; }
.flc-rw-board li { display: flex; align-items: center; gap: 10px; padding: 6px 0; border-top: 1px solid rgba(255, 255, 255, .06); font-size: .85rem; }
.flc-rw-board li:first-child { border-top: 0; }
.flc-rw-board__rank { width: 1.2em; font-weight: 800; color: rgba(255, 255, 255, .45); text-align: center; }
.flc-rw-board__name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.flc-rw-board__name small { font-weight: 400; color: rgba(255, 255, 255, .5); }
.flc-rw-board strong { font-variant-numeric: tabular-nums; }
.flc-rw-board .btn { padding: .1rem .55rem; font-size: .75rem; }

.flc-rw-table { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.flc-rw-table li { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 12px; background: rgba(0, 0, 0, .2); }
.flc-rw-table li:nth-child(-n+3) { background: rgba(197, 174, 119, .1); }
.flc-rw-table__rank { width: 1.6em; font-size: 1.05rem; font-weight: 800; text-align: center; color: rgba(255, 255, 255, .6); }
.flc-rw-table li:first-child .flc-rw-table__rank { color: #d9b04a; }
.flc-rw-table img { width: 32px; height: 32px; object-fit: contain; }
.flc-rw-table form { margin: 0 0 0 auto; }
.flc-rw-badge { margin-left: auto; padding: .2rem .6rem; border-radius: 999px; background: rgba(110, 200, 130, .14); color: #a7e3b3; font-size: .75rem; font-weight: 700; }

@media (max-width: 991.98px) {
	.flc-rw-grid { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
	.flc-rw-head { padding: 16px; }
	.flc-rw-head__logo { width: 48px; height: 48px; }
	.flc-rw-context { width: 100%; }
	.flc-rw-context label:first-child { flex: 1; }
	.flc-rw-context .form-select { min-width: 0; }
	.flc-rw-tabs a { flex: 0 0 auto; }
	.flc-rw-form .btn { flex: 1 1 100%; }
	.flc-rw-table form { flex-basis: 100%; margin-left: 0; }
	.flc-rw-table form .btn { width: 100%; }
}

/* ==========================================================================
   Admin-meny (.flc-adm-nav) – se admin/includes/menu.php
   ========================================================================== */
.flc-adm-nav {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 1.25rem;
	padding: 6px;
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 16px;
	background: #1a2329;
}
.flc-adm-nav__label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
	padding: .55rem .9rem;
	border-radius: 11px;
	background: var(--gunmetal);
	font-family: 'Montserrat', sans-serif;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ecru);
}
.flc-adm-nav ul {
	display: flex;
	gap: 2px;
	flex: 1;
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
}
.flc-adm-nav ul::-webkit-scrollbar { display: none; }
.flc-adm-nav a {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: .55rem .8rem;
	border-radius: 11px;
	font-size: .85rem;
	font-weight: 700;
	color: rgba(255, 255, 255, .72);
	text-decoration: none;
	white-space: nowrap;
	transition: background .15s, color .15s;
}
.flc-adm-nav a i { font-size: .95rem; color: rgba(255, 255, 255, .5); transition: color .15s; }
.flc-adm-nav a:hover { color: #fff; background: rgba(255, 255, 255, .05); }
.flc-adm-nav a:hover i { color: var(--ecru); }
.flc-adm-nav a.is-active { background: var(--ecru); color: #151515; }
.flc-adm-nav a.is-active i { color: #151515; }
.flc-adm-nav__count {
	display: grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 999px;
	background: #e5484d;
	color: #fff;
	font-size: .68rem;
	font-weight: 800;
	line-height: 1;
}
.flc-adm-nav a.is-active .flc-adm-nav__count { background: #151515; color: #fff; }

@media (max-width: 767.98px) {
	.flc-adm-nav { flex-direction: column; align-items: stretch; gap: 6px; }
	.flc-adm-nav__label { justify-content: center; }
	/* Hint om at raden kan scrolles sidelengs */
	.flc-adm-nav::after {
		content: '';
		position: absolute;
		right: 6px;
		bottom: 6px;
		width: 36px;
		height: 40px;
		border-radius: 0 11px 11px 0;
		background: linear-gradient(to left, #1a2329, transparent);
		pointer-events: none;
	}
}
