/*
 * NordChecker design tokens, page components and the shared component
 * language for the plugins. Loaded site-wide by Core.
 *
 * The page part (tokens, nc-section, nc-card, ...) is generated from the build
 * kit's nc.py CSS (last synced 2026-09-29); the component part below it is
 * Core's own. Edit here; the pages should no longer carry a style block.
 */
:root {
	--nc-navy: #24417C;
	--nc-blue: #3A5DA5;
	--nc-text: #1F2937;
	--nc-muted: #56657A;
	--nc-soft: #F7FAFD;
	--nc-line: #DCE5EE;
	--nc-warn: #FFF8E7;
	--nc-warn-text: #8A6500;
	--nc-paper: #FFFFFF;
	--nc-good: #1D6A47;
	--nc-bad: #A3302A;
	--nc-radius-card: 18px;
	--nc-radius-control: 10px;
}
.nc-section{padding:72px 32px}
.nc-section--alt{background:var(--nc-soft)}
.nc-section--dark{background:var(--nc-navy);color:#fff}
.nc-section--dark h2,.nc-section--dark h3,.nc-section--dark a{color:#fff}
.nc-section--dark .nc-eyebrow{color:#C9D9F2}
.nc-hero{background:var(--nc-soft);padding:88px 32px}
.nc-hero h1{font-size:clamp(34px,5vw,56px);font-weight:800;line-height:1.05;margin-bottom:22px}
.nc-section h2{font-size:clamp(28px,3.4vw,40px);font-weight:800;line-height:1.15}
.nc-section h3{font-weight:800}
.nc-eyebrow{color:var(--nc-blue);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.nc-lead{font-size:20px;line-height:1.7;color:var(--nc-muted)}
.nc-section--dark .nc-lead{color:#DFE7F3}
.nc-section p{line-height:1.7}
.nc-cards{gap:20px;margin-top:28px}
.nc-card{background:#fff;border:1px solid var(--nc-line);border-radius:18px;padding:24px;color:var(--nc-text)}
.nc-card h3{font-size:20px;font-weight:800;margin:0 0 8px;color:var(--nc-text)}
.nc-card p{color:var(--nc-muted);font-size:15px;margin:0}
.nc-card .nc-card-link{margin-top:12px}
.nc-card a{color:var(--nc-navy)}
.nc-note-inline{margin-top:28px;padding:18px 22px;border-left:4px solid var(--nc-blue);background:#fff;border-radius:8px}
.nc-note{background:var(--nc-warn);border:1px solid #F1DFB0;border-radius:18px;padding:28px 32px;margin:32px auto 0;max-width:1200px;color:var(--nc-text)}
.nc-note h2,.nc-note h3,.nc-note .nc-note-title{font-size:24px;color:var(--nc-warn-text);margin-top:0}
.nc-note a{color:var(--nc-navy)}
.nc-slot{border:2px dashed var(--nc-line);border-radius:18px;padding:24px;margin-top:28px;background:rgba(255,255,255,.6)}
.nc-section--dark .nc-slot{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.3)}
.nc-slot-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.7}
.nc-slot-filters{font-size:14px;opacity:.85}
.nc-stats{gap:16px}
.nc-stats .nc-card{text-align:center;padding:18px}
.nc-stat{font-size:32px !important;font-weight:800;color:var(--nc-navy) !important}
.nc-table{overflow-x:auto;margin-top:20px}
.nc-table table{background:#fff;color:var(--nc-text);border-radius:12px;font-size:14px}
.nc-table th{background:#EEF3F9;text-align:left}
.nc-table th,.nc-table td{padding:10px 12px;border-color:var(--nc-line)}
.nc-facts table{font-size:15px}
.nc-facts td:first-child{font-weight:700;width:34%;background:#F7FAFD}
.nc-section--flush{padding-top:8px;padding-bottom:8px}
.nc-small{font-size:14px;opacity:.85;margin-top:16px}
.nc-provider{border-top:1px solid var(--nc-line);padding-top:48px;margin-top:48px}
.nc-faq{border-bottom:1px solid var(--nc-line);padding:16px 0}
.nc-faq summary{font-weight:700;cursor:pointer}
.nc-related,.nc-chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0}
.nc-related li a,.nc-chips li a{display:inline-block;padding:8px 14px;border:1px solid var(--nc-line);border-radius:999px;text-decoration:none;background:#fff}
.nc-chips{margin-top:24px}
/* Kontaktformulär (Fluent Forms, inuti slot contact-form) */
.nc-slot--contact-form .ff-el-input--label label{font-weight:700}
.nc-slot--contact-form .ff-el-form-control{border:1px solid var(--nc-line);border-radius:10px;padding:10px 12px;font:inherit;color:var(--nc-text);background:#fff}
.nc-slot--contact-form textarea.ff-el-form-control{min-height:160px}
.nc-slot--contact-form .ff-btn-submit{background:var(--nc-navy) !important;color:#fff !important;border:0;border-radius:10px;padding:12px 22px;font-weight:700}
.nc-slot--filled {
border: 0;
padding: 0;
background: none;
}
.nc-slot--filled > .nc-slot-label {
display: none;
}
/* Statiska tabeller i en slot (verifierade uppgifter, ersätts senare av plugin) */
.nc-slot--static{border:0;padding:0;background:none}
.nc-section--dark .nc-slot--static{background:none;border:0}
.nc-slot-source{font-size:13px;opacity:.8;margin-top:10px}
/* Alfa: dölj alla platshållare som varken är ifyllda eller statiska */
.nc-slot:not(.nc-slot--filled):not(.nc-slot--static){display:none}

/* ==========================================================================
   Component language shared by the plugins (Core 0.3.0)
   The bridges (bridge-cll.css, bridge-cins.css) map each plugin's classes
   onto these tokens. Change a value here, both plugins follow.
   ========================================================================== */
:root {
	--nc-mono: ui-monospace, "SF Mono", "IBM Plex Mono", "Roboto Mono", Menlo, Consolas, monospace;
	--nc-good-soft: #E6F4EC;
	--nc-warn-soft: #FFF3D6;
	--nc-bad-soft: #F9E3E1;
	--nc-unknown-soft: #EEF3F9;
	--nc-focus: 0 0 0 3px rgba(36, 65, 124, .18);
	--nc-shadow: 0 1px 2px rgba(31, 41, 55, .06);
}

/* Label: the site's eyebrow style, in muted grey. Used for field labels,
   list and section titles, table headers and stat labels. */
.nc-label {
	font-family: inherit;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--nc-muted);
}

/* Status pill: Aktiv / Utgången / Återkallad / Okänd. */
.nc-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px 10px;
	border-radius: 999px;
	font-family: inherit;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.4;
	border: 0;
	background: var(--nc-unknown-soft);
	color: var(--nc-muted);
}
.nc-pill--good { background: var(--nc-good-soft); color: var(--nc-good); }
.nc-pill--warn { background: var(--nc-warn-soft); color: var(--nc-warn-text); }
.nc-pill--bad { background: var(--nc-bad-soft); color: var(--nc-bad); }

/* Monospace is for identifiers only: licence numbers and domains. */
.nc-mono {
	font-family: var(--nc-mono);
	font-size: .95em;
}

/* Search field. */
.nc-field__input {
	width: 100%;
	padding: 14px 44px 14px 16px;
	font: inherit;
	font-size: 17px;
	line-height: 1.3;
	color: var(--nc-text);
	background: var(--nc-paper);
	border: 1px solid var(--nc-line);
	border-radius: var(--nc-radius-control);
	box-shadow: var(--nc-shadow);
}
.nc-field__input:focus {
	outline: none;
	border-color: var(--nc-navy);
	box-shadow: var(--nc-focus);
}

/* Tables: one style, stacking to a list on small screens. */
.nc-table table,
.cins-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--nc-paper);
	color: var(--nc-text);
	font-size: 14px;
	border: 1px solid var(--nc-line);
	border-radius: 12px;
	overflow: hidden;
}
.nc-table th,
.cins-table th {
	background: var(--nc-unknown-soft);
	text-align: left;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--nc-muted);
	padding: 10px 12px;
	border-bottom: 1px solid var(--nc-line);
}
.nc-table td,
.cins-table td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--nc-line);
	vertical-align: top;
}
.nc-table tr:last-child td,
.cins-table tr:last-child td {
	border-bottom: 0;
}
@media (max-width: 640px) {
	.nc-table table,
	.nc-table tbody,
	.nc-table tr,
	.nc-table td,
	.cins-table,
	.cins-table tbody,
	.cins-table tr,
	.cins-table td {
		display: block;
		width: 100%;
	}
	.nc-table thead,
	.cins-table thead {
		display: none;
	}
	.nc-table tr,
	.cins-table tr {
		border-bottom: 1px solid var(--nc-line);
		padding: 8px 0;
	}
	.nc-table td,
	.cins-table td {
		border: 0;
		padding: 3px 12px;
	}
	.nc-table td:first-child,
	.cins-table td:first-child {
		font-weight: 700;
	}
	.cins-table td[data-label]:not(:first-child)::before {
		content: attr(data-label) ": ";
		font-size: 12px;
		font-weight: 700;
		letter-spacing: .08em;
		text-transform: uppercase;
		color: var(--nc-muted);
	}
	.cins-table {
		min-width: 0;
	}
}

/* ==========================================================================
   Footer (Blocksy footer builder + [nc_footer] parts)
   ========================================================================== */
/* Same specificity as Blocksy's generated rules ([data-footer] .ct-footer …),
   and this file loads after them, so these win without !important. */
[data-footer] .ct-footer,
.ct-footer {
	background-color: var(--nc-navy);
	background-image: none;
	color: #DFE7F3;
}
[data-footer] .ct-footer [data-row="top"] {
	display: none;
}
[data-footer] .ct-footer [data-row="middle"],
[data-footer] .ct-footer [data-row="bottom"] {
	background-color: transparent;
}
[data-footer] .ct-footer [data-row="middle"] > div {
	--container-spacing: 0px;
	--grid-template-columns: repeat(4, minmax(0, 1fr));
	--columns-gap: 40px;
	padding: 48px 0 32px;
}
[data-footer] .ct-footer [data-row="bottom"] > div {
	--container-spacing: 0px;
	--grid-template-columns: minmax(0, 1fr);
	padding: 16px 0;
}
[data-footer] .ct-footer [data-column] {
	--text-horizontal-alignment: left;
	--horizontal-alignment: flex-start;
	text-align: left;
}
.ct-footer .ct-widget,
.ct-footer .widget {
	margin: 0;
}
@media (max-width: 999.98px) {
	[data-footer] .ct-footer [data-row="middle"] > div {
		--grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 689.98px) {
	[data-footer] .ct-footer [data-row="middle"] > div {
		--grid-template-columns: minmax(0, 1fr);
		padding: 36px 0 24px;
	}
}
.nc-footer {
	font-size: 15px;
	line-height: 1.6;
	color: #DFE7F3;
}
.nc-footer p {
	margin: 0 0 12px;
	color: #DFE7F3;
}
.nc-footer a {
	color: #fff;
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, .45);
	text-underline-offset: 3px;
}
.nc-footer a:hover {
	text-decoration-color: #fff;
}
.nc-footer__title {
	margin: 0 0 12px;
	font-family: inherit;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #C9D9F2;
}
.nc-footer__title + .nc-footer__title,
.nc-footer p + .nc-footer__title,
.nc-footer ul + .nc-footer__title {
	margin-top: 22px;
}
.nc-footer__title a {
	color: inherit;
	text-decoration: none;
}
.nc-footer__title a:hover {
	text-decoration: underline;
}
.nc-footer__logo {
	display: block;
	margin: 0 0 14px;
}
.nc-footer__logo img {
	display: block;
	height: 34px;
	width: auto;
	filter: brightness(0) invert(1);
}
.nc-footer__wordmark {
	display: inline-block;
	margin: 0 0 14px;
	font-size: 22px;
	font-weight: 800;
	color: #fff;
	text-decoration: none;
	letter-spacing: -.01em;
}
.nc-footer__badge {
	margin-top: 16px;
}
.nc-footer__badge img {
	display: block;
}
.nc-footer__menu,
.nc-footer__help {
	list-style: none;
	margin: 0;
	padding: 0;
}
.nc-footer__menu li,
.nc-footer__help li {
	margin: 0 0 8px;
}
.nc-footer__help {
	font-size: 14px;
}
.nc-footer__address {
	font-size: 14px;
	color: #C9D9F2;
}
/* Bottom bar. */
[data-footer] .ct-footer [data-row="bottom"] {
	border-top: 1px solid rgba(255, 255, 255, .18);
}
.nc-footer--copyright {
	font-size: 13px;
}
/* The bar spans the whole row, so © sits left and 18+ right. */
[data-footer] .ct-footer [data-row="bottom"] [data-column],
[data-footer] .ct-footer [data-row="bottom"] .ct-widget,
.nc-footer--copyright {
	width: 100%;
}
.nc-footer__bar {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px 24px;
	flex-wrap: wrap;
}
.nc-footer__bar p {
	margin: 0;
	color: #C9D9F2;
}
@media (max-width: 689px) {
	.nc-footer__bar {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ==========================================================================
   Header menu and page fixes (0.3.3)
   ========================================================================== */
/* Blocksy capitalises every word in menu items (English convention);
   Swedish writes "Utländska casinon", not "Utländska Casinon". */
[data-header] .ct-header [data-id="menu"] > ul > li > a,
[data-header] .ct-header [data-id="menu"] .sub-menu .ct-menu-link,
[data-header] [data-id="mobile-menu"] a {
	--theme-text-transform: none;
	text-transform: none;
}

/* Mobile menu panel (0.4.0): the site logo, white on the navy panel, as in
   the footer. tools/build-header.php places it. */
#offcanvas [data-id="offcanvas-logo"] img {
	filter: brightness(0) invert(1);
}
