/**
 * Infopolitie 2026 — template.css
 * Overrides Cassiopeia CSS custom properties met het IP blauw/oranje huisstijl.
 *
 * Palette (afgeleid van forum infopolitie2026.css):
 *   --ip-blue:        #006699   (header achtergrond)
 *   --ip-blue-dark:   #004d73   (navbar achtergrond, footer)
 *   --ip-orange:      #EC6400   (accentkleur, buttons)
 *   --ip-surface-2:   #eaf1f7   (body achtergrond)
 *   --ip-text:        #2c3e50
 *   --ip-text-muted:  #617a90
 */

/* =====================================================================
   1. Root overrides — alle Cassiopeia CSS variabelen
   Overschrijft colors_standard.css volledig met IP huisstijl.
   ===================================================================== */
:root {
	/* Cassiopeia kleurvariabelen — overschrijft colors_standard.css */
	--cassiopeia-color-primary:      #006699;
	--cassiopeia-color-link:         #006699;
	--cassiopeia-color-hover:        #004d73;

	/* Bootstrap link variabelen */
	--link-color:                    #006699;
	--link-color-rgb:                0, 102, 153;
	--link-hover-color:              #004d73;
	--link-hover-color-rgb:          0, 77, 115;

	/* Body */
	--body-bg:                       #eaf1f7;
	--bs-body-bg:                    #eaf1f7;
	--body-color:                    #2c3e50;
	--bs-body-color:                 #2c3e50;

	/* Knoppen */
	--bs-btn-bg:                     #EC6400;
	--bs-btn-border-color:           #EC6400;
	--bs-btn-hover-bg:               #c45400;
	--bs-btn-hover-border-color:     #c45400;

	/* IP design tokens (ook beschikbaar voor modules/overrides) */
	--ip-blue:                       #006699;
	--ip-blue-dark:                  #004d73;
	--ip-orange:                     #EC6400;
	--ip-orange-dark:                #c45400;
	--ip-surface:                    #eaf1f7;
	--ip-text:                       #2c3e50;
	--ip-text-muted:                 #617a90;

	/* Font — zelfde stack als forum infopolitie2026.css */
	--body-font-family:              'Inter', 'Roboto', 'Open Sans', sans-serif;
}

/* =====================================================================
   2. Body
   ===================================================================== */
body {
	background-color: #eaf1f7;
	color: #2c3e50;
}

/* =====================================================================
   3. Header — flat blauw + diagonale textuur (identiek aan forum)
   ===================================================================== */
.container-header {
	background: #006699;
	color: #ffffff;
	position: relative;
	box-shadow: 0 2px 8px rgba(0,0,0,.30);
	padding-bottom: 0;
}

/* Subtiele diagonale hatching — identiek aan forum .headerbar::after */
.container-header::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image:
		repeating-linear-gradient(
			-55deg,
			rgba(255,255,255,.035) 0px,
			rgba(255,255,255,.035) 1px,
			transparent 1px,
			transparent 10px
		);
	pointer-events: none;
	z-index: 0;
}

.container-header .brand-logo,
.container-header .navbar-brand {
	color: #ffffff;
}

.navbar-brand .brand-logo img,
.brand-logo img {
	max-height: 60px;
	width: auto;
	display: block;
	filter: brightness(0) invert(1);
	padding-left: 6px;
	padding-bottom: 3px;
}

/* =====================================================================
   4. Topbar (thin strip above header)
   ===================================================================== */
.ip-topbar {
	background-color: #004d73;
	color: #ffffff;
	font-size: .85rem;
	padding: .25rem 0;
}

.ip-topbar a {
	color: #ffffff;
	opacity: .85;
}

.ip-topbar a:hover {
	opacity: 1;
}

/* =====================================================================
   5. Navigatie / navbar
   Horizontale oranje "authority stripe" — zelfde taal als de verticale
   border-left in het forum, hier 90° gedraaid over de volle breedte.
   ===================================================================== */
/* Full-width band carries the bg/borders/shadow */
.container-nav-outer {
	width: 100%;
	background-color: #004d73;
	border-top: 1px solid rgba(255,255,255,.12);  /* scheiding header/nav */
	border-bottom: 4px solid #EC6400;             /* authority stripe */
	box-shadow: 0 2px 6px rgba(0,0,0,.20);
	position: relative;
	z-index: 1;  /* paint above .container-header::after diagonal texture */
}

/* Constrained inner — flex row for nav items */
.container-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 0 .5em;
}

@media (width >= 992px) {
	.container-header .mod-menu,
	.container-header .metismenu {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap;
		align-items: center;
		list-style: none;
		margin: 0;
		padding: 0;
	}
}

/* ── Top-level nav items ───────────────────────────────────────────── */
/* Lichtblauwe tint zoals forum --ip-navbar-link: #cce8f5; hover wordt wit */
.container-header .mod-menu,
.container-header .metismenu {
	color: #cce8f5;
}

/* Active/hover underline: change from white to orange */
.container-header .mod-menu > li.active:after,
.container-header .mod-menu > li:hover:after,
.container-header .metismenu > li > a:hover:after,
.container-header .metismenu > li > button:hover:before,
.container-header .metismenu > li.active > a:after,
.container-header .metismenu > li.active > button:before {
	background: #EC6400 !important;
}

/* Mobile: underline hover → orange instead of blue */
@media (width <= 991.98px) {
	.container-header .mod-menu.mod-list > li > a:hover,
	.container-header .mod-menu > li.active > a,
	.container-header .metismenu > li.level-1.active > a,
	.container-header .metismenu > li.level-1 > a:hover {
		color: #EC6400 !important;
		text-decoration: none !important;
	}
}

/* ── Desktop dropdown panel ────────────────────────────────────────── */
@media (width >= 992px) {
	.container-header .mod-menu :where(.mod-menu__sub:not(.mod-menu__sub *)),
	.container-header .metismenu > li.level-1 > ul {
		background-color: #ffffff !important;
		border: 1px solid #d3e4ee !important;
		border-radius: 10px !important;
		box-shadow: 0 8px 28px rgba(0,0,0,.12), 0 2px 6px rgba(0,0,0,.07) !important;
		padding: 4px 0 !important;
		margin-top: 8px !important;
	}
}

/* Dropdown items – any depth */
.container-header .mod-menu .mod-menu__sub a,
.container-header .mod-menu .mod-menu__sub span,
.container-header .metismenu .mm-collapse a,
.container-header .metismenu > li.level-1 > ul a {
	color: #2c3e50 !important;
	padding: 8px 16px !important;
	display: block;
	text-decoration: none;
	border-left: 3px solid transparent;
	transition: background .15s, color .15s, border-color .15s;
}

.container-header .mod-menu .mod-menu__sub a:hover,
.container-header .metismenu .mm-collapse a:hover,
.container-header .metismenu > li.level-1 > ul a:hover {
	color: #006699 !important;
	background-color: #e8f4fb !important;
	border-left-color: #006699 !important;
}

/* ── Mobile collapsed menu ─────────────────────────────────────────── */
@media (width <= 991.98px) {
	.container-header .mod-menu .mod-menu__sub a,
	.container-header .mod-menu .mod-menu__sub span {
		color: #2c3e50 !important;
		background-color: #f5fafd;
	}
	.container-header .metismenu .mm-collapse {
		background-color: #f5fafd;
		border-left: 3px solid #d3e4ee;
	}
}

/* ── Toggle button (hamburger) ─────────────────────────────────────── */
.container-header .navbar-toggler {
	color: #ffffff;
	border-color: rgba(255,255,255,0.4);
}
.container-header .navbar-toggler-icon {
	filter: brightness(0) invert(1);
}

/* =====================================================================
   6. Zoekbalk — toggle in navigatie
   ===================================================================== */

/* Wrapper houdt icoon + panel bij elkaar */
.ip-nav-search {
	display: flex;
	align-items: center;
	margin-left: auto;
	position: static;  /* panel uses container-nav-outer as anchor */
}

/* Loep-icoon knop */
.ip-search-toggle {
	background: transparent;
	border: none;
	color: #cce8f5;
	font-size: 1.05rem;
	padding: .55rem .7rem;
	cursor: pointer;
	border-radius: 4px;
	transition: color .15s, background-color .15s;
	line-height: 1;
	position: relative;
	z-index: 2;
}

.ip-search-toggle:hover,
.ip-search-toggle[aria-expanded="true"] {
	color: #ffffff;
	background-color: rgba(255,255,255,.12);
}

/* Search panel — drops down BELOW the nav bar as a full-width overlay */
.container-search {
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background: #002f47;
	border-top: 2px solid #EC6400;
	box-shadow: 0 4px 12px rgba(0,0,0,.35);
	z-index: 1000;
	padding: .65rem 1.25rem;
}

.container-search.ip-search-open {
	display: block;
}

/* The search form inside */
.container-search form {
	display: flex;
	align-items: center;
	gap: .5rem;
	max-width: 700px;
	margin: 0 auto;
}

.container-search .searchForm,
.container-search search {
	width: 100%;
}

.container-search .mod-finder__search,
.container-search .input-group {
	display: flex;
	width: 100%;
	gap: .4rem;
}

.container-search .js-finder-search-query,
.container-search input[type="text"],
.container-search input[type="search"] {
	flex: 1 1 auto;
	height: 2.4rem;
	padding: .3rem .75rem;
	border: 1px solid rgba(255,255,255,.3);
	border-radius: 4px;
	background: rgba(255,255,255,.12);
	color: #ffffff;
	font-size: .95rem;
	transition: border-color .15s, background .15s;
}

.container-search .js-finder-search-query::placeholder,
.container-search input::placeholder {
	color: rgba(255,255,255,.5);
}

.container-search .js-finder-search-query:focus,
.container-search input:focus {
	border-color: #EC6400;
	background: rgba(255,255,255,.2);
	outline: 2px solid rgba(236,100,0,.4);
	outline-offset: 1px;
}

.container-search .btn,
.container-search button[type="submit"] {
	height: 2.4rem;
	padding: 0 1.1rem;
	background-color: #EC6400;
	border: none;
	border-radius: 4px;
	color: #ffffff;
	font-size: .9rem;
	cursor: pointer;
	white-space: nowrap;
	transition: background-color .15s;
	flex-shrink: 0;
}

.container-search .btn:hover,
.container-search button[type="submit"]:hover {
	background-color: #c45400;
}

/* The nav bar outer needs position:relative so the panel anchors to it */
.container-nav-outer {
	position: relative;
}

@media (max-width: 767px) {
	.container-search {
		padding: .5rem .75rem;
	}
}

/* =====================================================================
   7. Seizoensgebonden header-afbeeldingen (via website_bridge.php)
   ===================================================================== */
.ip-seasonal-header {
	position: relative;
	overflow: hidden;
	min-height: 190px;
	background-color: #006699;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.ip-header-img {
	display: block;
	height: 190px;
	width: auto;
	max-width: 50%;
}

.ip-header-left {
	align-self: flex-end;
}

.ip-header-right {
	align-self: flex-end;
}

@media (max-width: 767.98px) {
	.ip-seasonal-header {
		min-height: 80px;
	}

	.ip-header-img {
		height: 80px;
		max-width: 45%;
	}
}

/* =====================================================================
   8. Links
   ===================================================================== */
a {
	color: #006699;
}

a:hover,
a:focus {
	color: #004d73;
}

/* =====================================================================
   9. Buttons — Cassiopeia btn-primary → IP oranje
   ===================================================================== */
.btn-primary,
.com-finder__search .btn {
	background-color: #EC6400;
	border-color: #EC6400;
	color: #ffffff;
}

.btn-primary:hover,
.btn-primary:focus,
.com-finder__search .btn:hover {
	background-color: #c45400;
	border-color: #c45400;
	color: #ffffff;
}

.btn-outline-primary {
	color: #006699;
	border-color: #006699;
}

.btn-outline-primary:hover {
	background-color: #006699;
	color: #ffffff;
}

/* =====================================================================
   10. Kaarten / cards
   ===================================================================== */
.card {
	border-color: #cce0ec;
}

.card-header {
	background-color: #006699;
	color: #ffffff;
	border-bottom-color: #005580;
}

/* =====================================================================
   11. Breadcrumbs
   ===================================================================== */
.breadcrumb-item a {
	color: #006699;
}

/* =====================================================================
   12. Login pagina — branded card
   ===================================================================== */

/* Full-page centering wrapper */
.ip-login-wrap {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	padding: 3rem 1rem 4rem;
	min-height: 60vh;
}

/* The card itself */
.ip-login-card {
	width: 100%;
	max-width: 440px;
	background: #ffffff;
	border-radius: 8px;
	box-shadow: 0 4px 24px rgba(0,0,0,.12);
	overflow: hidden;
}

/* Blue header strip with logo */
.ip-login-header {
	background: #006699;
	padding: 1.5rem 1.75rem;
	display: flex;
	align-items: center;
	gap: 1rem;
	border-bottom: 4px solid #EC6400;
}

.ip-login-logo {
	width: 48px;
	height: 48px;
	flex-shrink: 0;
	filter: brightness(0) invert(1);
}

.ip-login-site {
	color: #ffffff;
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: .3px;
	line-height: 1.2;
}

.ip-login-subtitle {
	color: rgba(255,255,255,.80);
	font-size: .82rem;
	margin-top: 2px;
}

/* Form area */
.ip-login-form {
	padding: 1.75rem 1.75rem 1.25rem;
}

.ip-login-form .control-label,
.ip-login-form label {
	font-weight: 600;
	color: #2c3e50;
	margin-bottom: .3rem;
}

.ip-login-form .form-control,
.ip-login-form input[type="text"],
.ip-login-form input[type="password"],
.ip-login-form input[type="email"] {
	border-color: #b5cfe5;
	border-radius: 5px;
	padding: .55rem .75rem;
	transition: border-color .15s, box-shadow .15s;
}

.ip-login-form .form-control:focus,
.ip-login-form input:focus {
	border-color: #006699;
	box-shadow: 0 0 0 3px rgba(0,102,153,.15);
	outline: none;
}

/* Remember me */
.ip-login-remember {
	margin: .75rem 0 1rem;
	color: #617a90;
	font-size: .9rem;
}

/* Submit button — full width, orange */
.ip-login-btn {
	width: 100%;
	margin-top: .5rem;
	padding: .65rem;
	font-size: 1rem;
	font-weight: 600;
	background-color: #EC6400;
	border-color: #EC6400;
	border-radius: 5px;
	color: #ffffff;
	letter-spacing: .3px;
	transition: background-color .15s, box-shadow .15s;
}

.ip-login-btn:hover,
.ip-login-btn:focus {
	background-color: #c45400;
	border-color: #c45400;
	color: #ffffff;
	box-shadow: 0 2px 8px rgba(236,100,0,.35);
}

/* Links below the card */
.ip-login-links {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: .25rem 1.5rem;
	padding: 1rem 1.75rem 1.5rem;
	border-top: 1px solid #eaf1f7;
	background: #f5f8fb;
}

.ip-login-links a {
	color: #006699;
	font-size: .85rem;
	text-decoration: none;
	white-space: nowrap;
}

.ip-login-links a:hover {
	color: #EC6400;
	text-decoration: underline;
}

/* SSO one-click panel */
.ip-login-sso {
	padding: 1.75rem 1.75rem 1.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	text-align: center;
}

.ip-login-sso-avatar {
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 50%;
	background: #e6f3fa;
	color: #006699;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ip-login-sso-text {
	margin: 0;
	font-size: .97rem;
	color: #2d3e4f;
	line-height: 1.5;
}

.ip-login-sso-text span {
	font-size: .88rem;
	color: #617a90;
}

.ip-login-sso-form {
	width: 100%;
}

.ip-login-sso-other {
	display: block;
	font-size: .83rem;
	color: #006699;
	text-decoration: none;
	margin-top: -.25rem;
}

.ip-login-sso-other:hover {
	color: #EC6400;
	text-decoration: underline;
}

@media (max-width: 480px) {
	.ip-login-wrap {
		padding: 1.5rem .5rem 2rem;
	}
	.ip-login-header,
	.ip-login-form,
	.ip-login-links,
	.ip-login-sso {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}
}

.breadcrumb-item.active {
	color: #617a90;
}

/* =====================================================================
   12. Footer
   ===================================================================== */
.container-footer {
	background-color: #004d73;
	color: #ffffff;
}

.container-footer a {
	color: #a8d4e8;
}

.container-footer a:hover {
	color: #ffffff;
}

/* =====================================================================
   13. Terug-naar-boven knop
   ===================================================================== */
#back-top {
	background-color: #EC6400;
	color: #ffffff;
}

#back-top:hover {
	background-color: #c45400;
}

/* =====================================================================
   14. Tabellen
   ===================================================================== */
.table thead {
	background-color: #006699;
	color: #ffffff;
}

.table-striped > tbody > tr:nth-of-type(odd) {
	background-color: #eaf1f7;
}

/* =====================================================================
   15. No right sidebar on mobile
   ===================================================================== */
@media (max-width: 767.98px) {
	.container-sidebar-right {
		display: none;
	}
}

/* =====================================================================
   16. Disclaimer banner (sticky bottom)
   ===================================================================== */
.ip-disclaimer-bar {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 100001;  /* above cookie notice (z-index 999) */
	background: #003a57;
	color: #ddeef7;
	font-size: .85rem;
	line-height: 1.5;
	box-shadow: 0 -2px 10px rgba(0,0,0,.35);
	transition: max-height .3s ease, opacity .3s ease;
}

.ip-disclaimer-inner {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .5rem 1rem;
	padding: .55rem 1rem .55rem 1.25rem;
	max-width: 1320px;
	margin: 0 auto;
}

.ip-disclaimer-nl { flex: 1 1 auto; }

.ip-disclaimer-bar a { color: #7ec8e3; text-decoration: underline; }
.ip-disclaimer-bar a:hover { color: #EC6400; }
.ip-disclaimer-more { margin-left: .5rem; font-size: .8rem; opacity: .8; }

.ip-disclaimer-toggle {
	display: flex;
	align-items: center;
	gap: .35rem;
	background: rgba(255,255,255,.1);
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 4px;
	color: #cce8f5;
	font-size: .8rem;
	padding: .3rem .65rem;
	cursor: pointer;
	white-space: nowrap;
	transition: background .15s, color .15s;
	flex-shrink: 0;
}

.ip-disclaimer-toggle:hover,
.ip-disclaimer-toggle.active {
	background: #EC6400;
	border-color: #EC6400;
	color: #ffffff;
}

.ip-disclaimer-close {
	background: transparent;
	border: none;
	color: rgba(255,255,255,.55);
	font-size: 1rem;
	cursor: pointer;
	padding: .25rem .4rem;
	border-radius: 4px;
	transition: color .15s, background .15s;
	flex-shrink: 0;
	line-height: 1;
}

.ip-disclaimer-close:hover { color: #EC6400; background: rgba(255,255,255,.08); }

.ip-disclaimer-languages {
	border-top: 1px solid rgba(255,255,255,.1);
	padding: .65rem 1.25rem .75rem;
	max-width: 1320px;
	margin: 0 auto;
}

.ip-disclaimer-lang-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: .4rem 2rem;
}

.ip-disclaimer-lang-grid .ip-disclaimer-lang { font-size: .82rem; color: #b8d8ea; }
.ip-disclaimer-lang-grid .ip-disclaimer-lang strong { color: #ffffff; }

@media (max-width: 600px) {
	.ip-disclaimer-nl { flex: 1 1 100%; }
	.ip-disclaimer-toggle-label { display: none; }
	.ip-disclaimer-lang-grid { grid-template-columns: 1fr; }
}

/* =====================================================================
   17. Artikellijst — titels, metadata, lees-meer knop
   ===================================================================== */

/* Titel: geen rauwe hyperlink, donker + gewicht */
h2.item-title,
h3.item-title,
.page-header h2 {
	font-size: 1.15rem;
	font-weight: 600;
	line-height: 1.35;
	margin-bottom: .25rem;
}

h2.item-title a,
h3.item-title a,
.page-header h2 a {
	color: #003a57;
	text-decoration: none;
}

h2.item-title a:hover,
h3.item-title a:hover,
.page-header h2 a:hover {
	color: #EC6400;
	text-decoration: none;
}

/* Metadata (datum, auteur, hits) */
.article-info,
.article-info-term {
	font-size: .8rem;
	color: #617a90;
}

.article-info dd,
.article-info dt {
	display: inline;
	margin: 0;
}

.article-info dd::after {
	content: ' · ';
}

.article-info dd:last-child::after {
	content: '';
}

/* Lees meer — oranje outline knop */
.readmore {
	margin-top: .65rem;
}

.readmore .btn-secondary,
.readmore .btn {
	background-color: transparent !important;
	border: 1px solid #EC6400 !important;
	color: #EC6400 !important;
	font-size: .82rem;
	font-weight: 500;
	padding: .25rem .85rem;
	border-radius: 4px;
	text-decoration: none;
	transition: background-color .15s, color .15s;
}

.readmore .btn-secondary:hover,
.readmore .btn:hover {
	background-color: #EC6400 !important;
	border-color: #EC6400 !important;
	color: #ffffff !important;
}

/* Scheidingslijn tussen artikelen */
.items-leading .item,
.items-more .item {
	padding-bottom: 1.25rem;
	margin-bottom: 1.25rem;
	border-bottom: 1px solid #eaf1f7;
}

.items-leading .item:last-child,
.items-more .item:last-child {
	border-bottom: none;
}

/* =====================================================================
   18. Zoekresultaten (com_finder)
   ===================================================================== */

/* Verberg de volledige URL onder elk resultaat */
.result__title-url {
	display: none;
}

/* Verberg taxonomy labels — rommelig voor bezoekers */
.result__taxonomy {
	display: none;
}

/* Verwijder listbullets van de resultatenlijst */
#search-result-list {
	list-style: none;
	padding-left: 0;
	margin: 1rem 0 0;
}

/* Elk resultaat: scheidingslijn */
li.result__item {
	padding: 1rem 0;
	border-bottom: 1px solid #eaf1f7;
}

li.result__item:last-child {
	border-bottom: none;
}

/* Resultaat-titel */
p.result__title {
	margin: 0 0 .3rem;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.35;
}

a.result__title-link {
	color: #003a57;
	text-decoration: none;
}

a.result__title-link:hover {
	color: #EC6400;
	text-decoration: none;
}

/* Beschrijving / excerpt */
p.result__description {
	margin: 0;
	font-size: .88rem;
	color: #4a5568;
	line-height: 1.5;
}

/* Datum in de beschrijving */
time.result__date {
	display: inline-block;
	font-size: .78rem;
	color: #617a90;
	margin-right: .5rem;
}

/* Zoekformulier op de resultatenpagina: compacter */
.com-finder__form .com-finder__search legend {
	display: none;
}

.com-finder__form label[for="q"] {
	display: none;
}

.com-finder__form .form-inline {
	display: flex;
	gap: .5rem;
}

.com-finder__form .input-group {
	flex: 1;
}

/* Zoekknop op resultatenpagina: stijl consistent met nav-zoekbalk */
.com-finder__form .btn-primary {
	background-color: #EC6400;
	border-color: #EC6400;
	color: #fff;
}

.com-finder__form .btn-primary:hover {
	background-color: #c45400;
	border-color: #c45400;
}

/* "Geen resultaten" melding */
.com-finder__empty h2 {
	font-size: 1.1rem;
	color: #003a57;
}

/* Paginering */
.com-finder__results .pagination {
	margin-top: 1.5rem;
}

/* =====================================================================
   19. Topbar strip — login state + forum link
   ===================================================================== */

.ip-topbar-strip {
	background: #004d73;
	color: #cce8f5;
	font-size: .78rem;
	line-height: 1;
}

.ip-topbar-strip__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1280px;
	margin: 0 auto;
	padding: 5px 1.5rem;
}

.ip-topbar-strip__home,
.ip-topbar-strip__link {
	color: #cce8f5;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: 3px 8px;
	border-radius: 3px;
	transition: background .15s, color .15s;
	white-space: nowrap;
}

.ip-topbar-strip__home:hover,
.ip-topbar-strip__link:hover {
	color: #ffffff;
	background: rgba(255,255,255,.12);
	text-decoration: none;
}

.ip-topbar-strip__right {
	display: flex;
	align-items: center;
	gap: .15rem;
}

.ip-topbar-strip__sep {
	color: rgba(255,255,255,.3);
	padding: 0 4px;
	user-select: none;
}

@media (max-width: 480px) {
	.ip-topbar-strip__inner { padding: 4px .75rem; }
	.ip-topbar-strip__home span:last-child { display: none; }
}

/* =====================================================================
   20. Multi-kolom footer (ip-site-footer / ip-footer)
   ===================================================================== */

.ip-site-footer {
	margin-top: 0;
}

.ip-footer {
	background: linear-gradient(90deg, #004d73, #006699);
}

.ip-footer__main {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0;
	padding: 28px 24px 20px;
	max-width: 1280px;
	margin: 0 auto;
	border-bottom: 1px solid rgba(255,255,255,.1);
}

.ip-footer__brand {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding-right: 24px;
	border-right: 1px solid rgba(255,255,255,.1);
}

.ip-footer__brand-link {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
}

.ip-footer__logo {
	flex-shrink: 0;
	opacity: .85;
	transition: opacity .15s;
}

.ip-footer__brand-link:hover .ip-footer__logo {
	opacity: 1;
}

.ip-footer__brand-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.ip-footer__brand-name {
	font-family: 'Roboto', sans-serif;
	font-size: 1.2rem;
	font-weight: 700;
	color: #ffffff;
	letter-spacing: .5px;
	line-height: 1.1;
}

.ip-footer__brand-sub {
	font-size: .78rem;
	color: rgba(255,255,255,.5);
}

.ip-footer__sponsor {
	font-size: .78rem;
	color: rgba(255,255,255,.45);
	margin: 0;
}

.ip-footer__sponsor a {
	color: rgba(255,255,255,.65);
	text-decoration: none;
}

.ip-footer__sponsor a:hover {
	color: #ffffff;
}

.ip-footer__col {
	padding: 0 24px;
	border-right: 1px solid rgba(255,255,255,.1);
}

.ip-footer__col:last-child {
	border-right: none;
}

.ip-footer__col-title {
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: rgba(255,255,255,.4);
	margin: 0 0 12px;
	padding: 0;
	border: none;
}

.ip-footer__links {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.ip-footer__links a {
	color: rgba(255,255,255,.7);
	text-decoration: none;
	font-size: .82rem;
	display: flex;
	align-items: center;
	gap: 7px;
	transition: color .15s;
}

.ip-footer__links a:hover {
	color: #ffffff;
	text-decoration: none;
}

.ip-footer__links a .fa-fw {
	color: rgba(255,255,255,.35);
	font-size: .75rem;
	width: 14px;
	transition: color .15s;
}

.ip-footer__links a:hover .fa-fw {
	color: #ff8533;
}

.ip-footer__bottom {
	padding: 9px 24px;
	max-width: 1280px;
	margin: 0 auto;
}

.ip-footer__copy {
	font-size: .7rem;
	color: rgba(255,255,255,.35);
}

.ip-footer__copy-link {
	color: rgba(255,255,255,.5);
	text-decoration: none;
}

.ip-footer__copy-link:hover {
	color: #ffffff;
}

@media (max-width: 768px) {
	.ip-footer__main {
		grid-template-columns: 1fr 1fr;
		gap: 20px 0;
		padding: 20px 16px;
	}
	.ip-footer__brand {
		grid-column: 1 / -1;
		border-right: none;
		border-bottom: 1px solid rgba(255,255,255,.1);
		padding-right: 0;
		padding-bottom: 16px;
	}
	.ip-footer__col {
		border-right: none;
		padding: 0;
	}
}

@media (max-width: 480px) {
	.ip-footer__main {
		grid-template-columns: 1fr;
		gap: 16px 0;
	}
	.ip-footer__bottom {
		padding: 8px 16px;
	}
}
