/*
 * CasinoNorge Modern: sajtovergripande sidfot.
 * Navy botten, bla accent, gront anvands inte (reserverat for CTA).
 * ASCII i klassnamn och kommentarer, svenska i den synliga texten (i PHP).
 */

.casi-fot {
	background: #0e2444;
	color: #c9d6e6;
	margin-top: 56px;
	padding: 56px 20px 28px;
	font-size: 0.95rem;
	line-height: 1.7;
}
.casi-fot__inner {
	max-width: 1200px;
	margin: 0 auto;
}

/* Toppdel: brand plus tre lankkolumner */
.casi-fot__topp {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr;
	gap: 36px;
}
@media (max-width: 900px) {
	.casi-fot__topp { grid-template-columns: 1fr 1fr; gap: 30px; }
}
@media (max-width: 560px) {
	.casi-fot__topp { grid-template-columns: 1fr; gap: 28px; }
}

.casi-fot a,
.casi-fot a:link,
.casi-fot a:visited {
	color: #c9d6e6;
	text-decoration: none;
}

/* Brand */
.casi-fot__logo {
	display: inline-block;
	font-family: 'Sora', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	font-weight: 700;
	font-size: 1.55rem;
	letter-spacing: -0.02em;
	color: #fff;
}
.casi-fot__logo b { color: #ba0c2f; font-weight: 700; }
.casi-fot__tagline {
	margin: 0.9em 0 1.3em;
	color: #c2cfe0;
	max-width: 36ch;
}

/* Sociala ikoner */
.casi-fot__social {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	padding: 0;
}
.casi-fot__social a,
.casi-fot__social a:link,
.casi-fot__social a:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	transition: background 0.15s ease, transform 0.15s ease;
}
.casi-fot__social a:hover,
.casi-fot__social a:focus-visible {
	background: #1f5896;
	text-decoration: none;
	transform: translateY(-2px);
}
.casi-fot__social svg {
	width: 19px;
	height: 19px;
	fill: currentColor;
	display: block;
}

/* Lankkolumner */
.casi-fot__rubrik {
	font-family: 'Sora', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	font-size: 1rem;
	font-weight: 600;
	color: #fff;
	margin: 0 0 1.1em;
	padding-bottom: 0.55em;
	position: relative;
}
.casi-fot__rubrik::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 34px;
	height: 3px;
	border-radius: 2px;
	background: linear-gradient(90deg, #ba0c2f, #8f0a24);
}
.casi-fot__lista {
	list-style: none;
	margin: 0;
	padding: 0;
}
.casi-fot__lista li { margin: 0 0 0.65em; }
.casi-fot__lista a,
.casi-fot__lista a:link,
.casi-fot__lista a:visited { color: #c2cfe0; }

/* Ansvarsfullt spelande */
.casi-fot__ansvar {
	margin-top: 44px;
	padding-top: 26px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.casi-fot__markning {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 18px;
	margin: 0 0 14px;
	padding: 0;
	font-weight: 600;
	color: #e9eff8;
}
.casi-fot__markning li {
	position: relative;
	padding-right: 18px;
}
.casi-fot__markning li:not(:last-child)::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.35);
}
.casi-fot__markning a,
.casi-fot__markning a:link,
.casi-fot__markning a:visited { color: #e9eff8; }
.casi-fot__stod {
	margin: 0;
	color: #c2cfe0;
	font-size: 0.9rem;
}

/* Botten: copyright och disclaimer */
.casi-fot__botten {
	margin-top: 26px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	font-size: 0.85rem;
	color: #c2cfe0;
}
.casi-fot__copy {
	margin: 0 0 0.6em;
	color: #e9eff8;
}
.casi-fot__disclaimer { margin: 0; }

/* Hover och fokus sist sa de vinner over :link och :visited i alla kolumner. */
.casi-fot a:hover,
.casi-fot a:focus-visible {
	color: #fff;
	text-decoration: underline;
}

/* Aldersmarkning under de sociala ikonerna: cirkel med 18+ och text. */
.casi-fot .casi-fot__alder { display: flex; align-items: center; gap: 12px; margin-top: 20px; }
.casi-fot .casi-fot__alder-symbol { display: flex; align-items: flex-start; justify-content: center; width: 46px; height: 46px; flex: 0 0 46px; border: 2px solid #ffffff; border-radius: 50%; color: #ffffff; font-weight: 800; font-size: 1.15rem; line-height: 42px; letter-spacing: 0.5px; }
.casi-fot .casi-fot__alder-symbol sup { font-size: 0.62em; line-height: 1; margin-top: 9px; }
.casi-fot .casi-fot__alder-text { color: #ffffff; font-weight: 700; font-size: 1.05rem; }
