/*
Theme Name: Go Online - Customizations
Theme URI: https://wpupdate.goonline.nl
Description: Go Online theme voor klant specifieke aanpassingen
Author: Go Online
Author URI: https://www.goonline.nl
Template: go-online
Version: 1.0.0
Text domain: go-online-child
*/

/* SET VARIABELEN */
:root {
	--wit: #FFFFFF;
	--zwart: #000000;
	--donker-grijs: #43464b;
	--grijs: #f7f7f7;

	--geel: #fceb5f;
	--rood: #ef1e23;

	--block-padding: 50px;
	--block-margin: 50px;
}

/* == FONTS == */
@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('../fonts/Roboto-Light.ttf');
}

@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/Roboto-Regular.ttf');
}

@font-face {
	font-family: 'Rockwell';
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url('../fonts/Rockwell-Bold.ttf');
}

html, body {
	color: var(--zwart);
	font-display: swap;
	font-weight: 300;
	overflow-x:hidden;
	scroll-behavior: smooth;
}

.content-block {
    margin-top: 100px;   
}

figure { margin: 0 0 0 0; }

img { height: 100%; width: 90%; }

img.cover { object-fit: cover; object-position: center center; }

img.contain { object-fit: contain; object-position: center center; }

.bg {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

.bg .cover {
    width: 100%;
    height: 100%;
    object-fit: cover; 
    object-position: center; 
    display: block;
}

.bg .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3); 
}

*:focus {
	outline: 0;
}

p {
	margin:0;
}

a {
	position: relative;
	color: var(--geel);
	text-decoration: none;
}

a:hover {
	color: var(--wit);
	text-decoration: underline;
}

h1, h2, h3 {
	font-family: 'Rockwell', sans-serif;
	font-weight: 800;
	color: var(--zwart);
	text-transform: uppercase;
}

h2.subtitel,
h3.subtitel {
	text-transform: uppercase;
	letter-spacing: 3px;
	font-size: 0.8rem;
}

h1.sectie-titel,
h2.sectie-titel {
	position: relative;
	font-size:1.6rem;
}

.container-fluid {
	width: 90%; 
	position: relative;
}

/* == BUTTONS == */
.button-container {
	margin-top:20px;
	margin-bottom:20px;
}

.button {
	text-decoration: none;
	font-weight:700;
	text-transform: uppercase;
	font-size:1.2rem; 
	border:none;
	transition: all 300ms ease-in-out;
	transform: scale(1);
	display:inline-block;
}

.button-rood {
    background: var(--rood);
    color: var(--wit);
    padding: 10px 20px; 
    border: none; 
    cursor: pointer; 
    font-size: 1.2rem; 
}

.button-zwart {
    position: relative;     
    display: inline-block;
    padding: 20px 28px 14px 20px;
    font-family: 'Rockwell', sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    border: none;
    background: var(--zwart);   
    color: var(--wit);          
    transition: all 0.3s ease-in-out;
    text-decoration: none !important;
    font-size: 1.2rem; 
}

.button-zwart::after {
    content: ">";
    position: absolute;
    right: 15px;           
    top: 50%;              
    transform: translateY(-50%);
    color: var(--rood);       
    font-weight: 800;
    font-size: 24px;
    transition: transform 0.3s ease-in-out;
}

.button-zwart:hover {
    background: var(--rood);
    color: var(--wit);
    text-decoration: none !important; 
}

.button-zwart:hover::after {
    transform: translateY(-50%) translateX(5px);  
}

.button,
.button:hover,
.button-zwart,
.button-zwart:hover {
    text-decoration: none !important;
}

.button-zwart:hover::after {
    transform: translateY(-50%) translateX(5px);  
}

body.page-business{
    background: var(--rood);
    color: var(--wit);
}

body.page-business{
    content: ">";
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--zwart); 
    font-weight: 800;
    transition: transform 0.3s ease-in-out;
}

body.page-business .custom-red-button:hover::after {
    transform: translateY(-50%) translateX(5px);
}

.instagram-feed {
    background-color: #f7f7f7; 
}

/* == MENUBALK == */
nav.mobile {
    position: fixed;
    z-index: 997;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--rood);
    height: 60px;
    padding: 5px 0px;
    width: 100vw;
}

nav.mobile .container-fluid {
    height: 100%;
}

nav.mobile figure { 
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    height: 100%;
    aspect-ratio: 1 / 1;
}

nav.mobile figure a {
    color: var(--zwart);
    background: var(--wit);
    border-radius: 100%;
    height: 100%;
    padding: 10px;
    aspect-ratio: 1 / 1;
} 

nav.mobile figure .hamburger-menu {
    color: var(--wit);
    height: 100%;
    aspect-ratio: 1 / 1;
    cursor: pointer;
    font-size: 1.5rem;
}

.desktop-navbar {
    background-image: url('https://floorballflames.gooffline.nl/app/uploads/floorball-flames-header.png');
    background-size: 120% auto;      
    background-position: center bottom;
    background-repeat: no-repeat;
    position: relative;
    min-height: 300px;               
}

.desktop-navbar::before {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: rgba(0, 0, 0, 0.4); 
    z-index: 0;
}

.desktop-navbar > .container-fluid {
    position: relative;
    z-index: 1;
}

/* === AANGEPASTE PADDING VOOR LOGO EN MENU === */
.logo {
    margin-top: 50px;
}

.header-menu-container {
    margin-top: 65px; 
}

/* == MOBILE MENU CONTAINER == */
.mobile-menu-container {
	background: var(--blauw);
	color: var(--wit);
	position: fixed;
	top: 0;
	left: -9999px;
	width: 80vw;
	height: 100vh;
	z-index: 99999;
	transition: all 600ms ease-in-out;
	overflow-y: scroll;
}

.mobile-menu-container.tonen {
	left: 0;
}

.mobile-menu-overlay {
	position: fixed;
	z-index:9999;
	left: -9999px;
	background:rgba(0, 0, 0, 0.8);
	width:100%;
	height:100%;
	transition: all 300ms ease-in-out;
}

.mobile-menu-overlay.tonen {
	top:0;
	left:0;
}

.mobile-menu-container .menu-sluiten {
	position: fixed;
	top:15px;
	right:-9999px;
	font-size:35px;
	color:var(--wit);
	cursor: pointer;
}

.mobile-menu-container .menu-sluiten.tonen {
	right:30px;
}

.mobile-menu-container .menu-banner {
	position: relative;
	height:150px;
	width:100%;
	margin:0;
}

.mobile-menu-container .logo {
	width:80%;
	position: absolute;
	bottom: -50px;
	margin-left:auto;
	margin-right:auto;
	left:0;
	right:0;
	background: var(--wit);
	padding: 20px;
	box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

.mobile-menu-container .mobile-menu-inner {
	width:70%;
	margin:0 auto;
}

.mobile-menu-container .mobile-menu-inner ul:first-child {
	margin-top:30px;
} 

.mobile-menu-container .mobile-menu-inner ul {
	list-style-type: none;
	padding-left:0;
}

.mobile-menu-container ul li {
	margin:15px 0px;
}

span.menu-item-count {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	top:-5px;
	right:-15px;
	width:20px; height:20px;
	background: var(--geel);
	border-radius:100%;
	color: var(--wit);
	font-size:0.8rem;
}

.mobile-menu-container ul li a {
	position: relative;
	color:var(--wit);
	font-size:1rem;
	text-decoration: none;
	font-weight:800;
	text-transform: uppercase;
}

.mobile-menu-container ul li.uitklappen {
	margin-left:10px;
}

.mobile-menu-container ul.contact {
	margin-top:30px;
}

.mobile-menu-container ul.contact li a {
	display:flex;
	align-items: center;
	font-size:0.9rem;
	font-weight:400;
	text-transform: none;
}

.mobile-menu-container ul.contact li figure {
	margin-right:8px;
}

.mobile-menu-container ul.sub-menu {
	display: none;
    transition: all 500ms ease-in-out;
}

.mobile-menu-container li.menu-item-has-children.active-item ul.sub-menu {
	display:block;
}

.mobile-menu-container ul.sub-menu li a {
	font-size: 0.8rem;
	font-weight:400;
	text-transform: none;
}

nav.desktop .main-header .d-flex {
    display: flex;
    align-items: center;
    justify-content: space-between; 
    height: 100%;
    width: 100%;
}

nav.desktop .logo {
    margin-right: 40px;
}

nav.desktop .header-menu-container {
    flex-grow: 1; 
    display: flex;
    justify-content: flex-start; 
    margin-top: 50px;
}

nav.desktop .header-menu-container ul {
    display: flex;
    align-items: center;
    gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
}

nav.desktop .header-menu-container ul li a {
    color: var(--wit);
    text-decoration: none;
    font-weight: 600;
    text-transform: uppercase;
    transition: color 0.3s ease-in-out;
}

nav.desktop .header-menu-container ul li a:hover {
    color: var(--rood);
}

nav.desktop .cta-button {
    margin-left: auto;
    display: flex;
    align-items: center;
    margin-top: 50px;
}

.nextgame-wrapper {
    display: flex;
    width: 100%;
    justify-content: center; 
    align-items: flex-start; 
    gap: 0;
}

.next-game {
    flex: 1; 
    background: var(--zwart);
    color: var(--wit);
    padding: 10px 20px;
    clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
    z-index: 3;
    transform: translateY(-40px);
    display: flex;          
    flex-direction: row;    
    justify-content: space-between; 
    align-items: center;    
    width: 850px;           
}

.next-game .inner {
    display: flex;
    flex-direction: row;    
    justify-content: space-between;
    align-items: center;
    width: 100%;
    gap: 50px;             
}

.next-game-counter {
    flex: 1;
    background: var(--rood);
    color: var(--wit);
    padding: 40px 20px; 
    clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
    margin-left: -7%; 
    z-index: 2;
    transform: translateY(-95px); 
}

.next-game .inner,
.next-game-counter .inner {
    display: flex;
    justify-content: center; 
    align-items: center;
    gap: 50px; 
}

.team {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.logo img {
    width: 60px;
    height: 60px;
    object-fit: contain;
}

.unit {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.digits {
    display: flex;
    gap: 5px;
}

.counter-field {
    background: #ce171c;
    padding: 6px 8px;
    font-size: 1.8rem;
    font-weight: 700;
}

@media (max-width: 1520px) {
    .nextgame-wrapper {
        flex-direction: column;
        align-items: center;
    }

    .next-game-counter {
        margin-left: 0; 
        clip-path: none;
        transform: none; 
    }

    .next-game {
        clip-path: none;
        transform: none; 
    }

    .next-game,
    .next-game-counter {
        width: 100%;
    }

    .next-game .inner,
    .next-game-counter .inner {
        justify-content: space-between;
        gap: 20px;
    }
}

.team.home {
    display: flex;
    flex-direction: column; 
    align-items: center;   
    gap: 8px;
    margin-top: -50px;              
}

.team.home .logo img {
    width: 100px; 
    height: auto;
}

.team.home strong {
    font-size: 24px;   
    font-weight: bold; 
    text-align: center;
}

.match-info {
    display: flex;
    flex-direction: column;
    align-items: center; 
    gap: 10px;          
}

.match-info .vs {
    position: relative;
    display: inline-block;
}

.match-info .vs span {
    font-size: 48px;      
    font-weight: bold;
    position: relative;
    z-index: 2;           
}

.match-info .vs::after {
    content: "";
    position: absolute;
    top: 50%;             
    left: -10px;
    right: -10px;
    height: 4px;          
    background-color: red;
    z-index: 1;
}

.team.away {
    display: flex;
    flex-direction: column; 
    align-items: center;   
    gap: 8px;   
    margin-top: -50px;            
}

.team.away .logo img {
    width: 100px; 
    height: auto;
}

.team.away strong {
    font-size: 24px;  
    font-weight: bold; 
    text-align: center;
}

/* == CONTENT BLOCK == */
.content-block .content-container {
    padding: 50px 0px;
}

.content-block .button-container {
    margin: 0 0 10px;
}

.content-block .button-container a {
    display: block;
}

.content-block .swiper-container {
    position: relative;
}

.content-block .swiper-container .arrows {
    height: 350px;
    width: 150px;
    position: absolute;
    right: -15%;
    bottom: -305px;
    z-index: 2;
    opacity: 0.5;
}

/* == BLOG == */
.blog {
	position: relative;
	padding: var(--block-padding) 0;
	background: var(--grijs);
}

.blog-arrows {
	height: 500px;
	width: 150px;
	position: absolute;
	right: 90px;
	top: -100px;
	z-index: 1;
	opacity: 0.4;
}

.blog-arrows img {
	width: 100%;
	display: block;
}

.blog .container-fluid {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: space-between;
}

.blog-box {
	position: relative;
	width: calc(25% - 15px);
	margin-bottom: 20px;
	box-sizing: border-box;
}

.blog-box figure {
	position: relative;
	height: 250px;
	margin: 0;
	width: 100%;
	overflow: hidden;
}

.blog-box figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.blog-box .date {
	position: absolute;
	background: var(--rood);
	left: 0;
	bottom: 0;
	color: var(--wit);
	font-weight: 800;
	font-family: 'Rockwell', sans-serif;
	padding: 5px 15px;
	text-transform: uppercase;
}

.blog-box .blog-box-inner {
	background: var(--wit);
	padding: 30px 25px; 
	width: 100%;
	box-sizing: border-box;
	margin-top: -20px; 
	border-radius: 5px; 
}

.blog-box .blog-box-inner h3 {
	font-size: 1.5rem; 
	margin: 0 0 15px 0; 
	line-height: 1.4; 
}

.blog-box .blog-box-inner p {
	margin-bottom: 15px; 
	line-height: 1.6; 
}

.blog-box .blog-box-inner a,
.blog-box .blog-box-inner a:hover {
	text-decoration: none;
	color: var(--zwart);
	font-weight: 600;
}

@media (max-width: 992px) {
	.blog-box {
		width: calc(50% - 10px);
	}
}

@media (max-width: 600px) {
	.blog-box {
		width: 100%;
	}
}

/* == SINGLE POST CUSTOM STYLING == */
.single-post {
  padding: 80px 0;
}

.single-post .post-header {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 40px;
}

.single-post .post-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 10px;
}

.single-post .post-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--wit);
  padding: 40px;
  border-radius: 10px;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 10px;
}

.single-post .post-info h1 {
  font-family: 'Rockwell', sans-serif;
  font-weight: 800;
  font-size: 2rem;
  margin-bottom: 10px;
}

.single-post .publicatie-datum {
  color: #999;
  font-size: 0.9rem;
  margin-bottom: 20px;
}

.single-post .post-content {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 40px;
}

.single-post .post-details h3 {
  font-family: 'Rockwell', sans-serif;
  font-weight: 800;
  font-size: 1rem;
  margin-bottom: 5px;
  text-transform: uppercase;
}

.single-post .post-details p {
  margin-bottom: 15px;
  color: var(--zwart);
}

.single-post .button-zwart {
  display: inline-block;
  background: var(--zwart);
  color: var(--wit);
  text-transform: uppercase;
  font-family: 'Rockwell', sans-serif;
  font-weight: 800;
  padding: 15px 40px;
  border-radius: 5px;
  transition: all 0.3s ease-in-out;
  position: relative;
}

.single-post .button-zwart::after {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--rood);
  font-weight: 800;
  transition: transform 0.3s ease-in-out;
}

.single-post .button-zwart:hover {
  background: var(--rood);
  color: var(--wit);
  transform: translateY(-2px);
}

.single-post .button-zwart:hover::after {
  transform: translateY(-50%) translateX(5px);
}

@media (max-width: 768px) {
  .single-post .post-header {
    flex-direction: column;
  }
  .single-post .post-info {
    padding: 20px;
  }
}

/* == PROEFTRAINING == */
.proeftraining p {
	text-align: center;
}

.proeftraining .content-container {
	position: relative;
	background: var(--zwart);
	color: var(--wit);
	padding: 25px 15px; 
	overflow: hidden;
	height: 100%;
	box-sizing: border-box;
}

.proeftraining .content-container .container-fluid {
	position: relative;
	z-index: 2;
}

.proeftraining h2 {
	color: var(--wit);
	text-align: center;
	font-size: 2rem; 
	font-weight: 700;
	margin: 0;
	line-height: 1.2;
}

.proeftraining .spotlight {
	position: absolute;
	top: -50px;
	left: 200px;
	width: 90%;
	height: 320%;
	object-fit: cover;
	opacity: 0.6;
	z-index: 1;
}

.proeftraining .row {
	display: flex !important;
	flex-direction: row !important;
	align-items: stretch !important;
	margin: 0 !important;
	padding: 0 !important;
}

.proeftraining .text-col,
.proeftraining .image-col {
	padding: 0 !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.proeftraining .text-col {
	flex: 1 1 50%;
	background: var(--zwart);
	color: var(--wit);
	padding: 25px; 
	text-align: center;
	box-sizing: border-box;
}

.proeftraining .text-col .container-fluid {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 100%;
}

.proeftraining .image-col {
	flex: 1 1 50%;
}

.proeftraining .image-col figure {
	width: 100%;
	height: 300px; 
	margin: 0;
}

.proeftraining .image-col img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
}

.proeftraining .button-rood {
	font-size: 0.95rem; 
	padding: 10px 30px; 
	font-weight: 700;
	margin-top: 10px; 
}

@media (max-width: 991px) {
	.proeftraining .row {
		flex-direction: column !important;
	}

	.proeftraining .text-col,
	.proeftraining .image-col {
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}

	.proeftraining .image-col figure {
		height: 220px; 
	}

	.proeftraining .text-col {
		padding: 20px;
	}

	.proeftraining h2 {
		font-size: 1.6rem;
	}
}

/* == SPONSOREN GRID == */
.sponsoren {
    background-color: #fff;
    padding: 60px 0;
}

.sponsoren .sectie-titel {
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 40px;
}

.sponsoren .sponsoren-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 40px;
    justify-items: center;
    align-items: center;
}

.sponsoren .sponsoren-grid figure {
    margin: 0;
}

.sponsoren .sponsoren-grid img {
    max-width: 150px;
    height: auto;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.sponsoren .sponsoren-grid img:hover {
    transform: scale(1.05);
}

.sponsoren .row {
  row-gap: 50px !important; 
}

.sponsoren img {
  max-height: 150px;    
  width: auto !important;
  height: auto !important;
  display: block;
  margin: 0 auto;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.sponsoren img:hover {
  transform: scale(1.05);
}

@media (max-width: 576px) {
  .sponsoren img {
    max-height: 100px;
  }
}

@media (max-width: 768px) {
    .sponsoren .sponsoren-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
}

@media (max-width: 480px) {
    .sponsoren .sponsoren-grid {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }
}

/* == FOOTER STYLING == */
footer {
	position: relative;
	background: var(--zwart);
	color: var(--wit);
	padding: var(--block-padding) 0;
	overflow: hidden;
}

footer .spotlight,
footer .flames {
	position: absolute;
	z-index: 0;
	opacity: 0.4;
	pointer-events: none;
}

footer .spotlight {
	top: 0;
	right: 0;
}

footer .flames {
	bottom: 0;
	left: 0;
}

footer .spotlight img,
footer .flames img {
	width: auto;
	height: 100%;
	object-fit: cover;
}

footer .container-fluid {
	position: relative;
	z-index: 2;
}

footer figure.logo {
	width: 120px;
	height: auto;
	margin: 0;
}

.footer-box {
	min-width: 180px;
}

footer h3 {
	color: var(--wit);
	font-size: 1.2rem;
	margin-bottom: 15px;
}

footer .row.align-items-start {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
}

footer .row.align-items-start > div:nth-child(2) {
	margin-left: 60px; 
}

footer .row.align-items-start > div:nth-child(3) {
	margin-left: 80px; 
}

footer .row.align-items-start > div {
	flex: 0 0 auto;
}

footer ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

footer ul li {
	margin: 5px 0;
}

footer ul li a {
	color: var(--wit);
	text-decoration: none;
}

footer ul li a:hover {
	text-decoration: underline;
}

footer ul.contactgegevens .divider {
	border-top: 1px solid rgba(255, 255, 255, 0.3);
	margin: 10px 0;
	width: 60%;
}

footer ul.socials,
footer ul.list-inline {
	display: flex;
	gap: 10px;
	padding: 0;
	margin: 0;
}

footer ul.socials li,
footer ul.list-inline-item {
	margin: 0;
}

footer ul.socials i,
footer ul.list-inline-item i {
	font-size: 1.3rem;
	color: var(--wit);
	transition: color 0.3s ease;
}

footer ul.socials i:hover,
footer ul.list-inline-item i:hover {
	color: var(--rood, #e63946);
}

/* === DUNNE ONDERSTE BALK FULL WIDTH CORRECT === */
.footer-bottom {
	background: #111; 
	color: var(--wit);
	padding: 8px 0; 
	font-size: 13px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	width: 100%; 
	position: relative;
	z-index: 5;
}

.footer-bottom .container-fluid {
	display: flex;
	justify-content: space-between; 
	align-items: center;
	flex-wrap: wrap; 
	padding: 0 20px;
	box-sizing: border-box;
	width: 100%;
}

.footer-bottom .copyright {
	flex: 1;
	text-align: left;
}

.footer-bottom ul.adp {
	list-style: none;
	display: flex;
	justify-content: center;
	gap: 20px;
	margin: 0;
	padding: 0;
	flex: 1;
}

.footer-bottom .backlink {
	flex: 1;
	text-align: right;
}

.footer-bottom a {
	color: var(--wit);
	text-decoration: none;
	font-size: 13px;
}

.footer-bottom a:hover {
	text-decoration: underline;
}

@media (max-width: 992px) {
	.footer-bottom .container-fluid {
		flex-direction: column;
		text-align: center;
		gap: 5px;
	}

	.footer-bottom .copyright,
	.footer-bottom ul.adp,
	.footer-bottom .backlink {
		text-align: center;
		flex: none;
		width: 100%;
	}
}

@media (max-width: 992px) {
	footer .row.align-items-start {
		flex-wrap: wrap;
		text-align: center;
	}

	footer .row.align-items-start > div {
		margin-left: 0 !important;
		margin-bottom: 20px;
		width: 100%;
	}

	footer figure.logo {
		margin: 0 auto 20px auto;
	}

	.footer-bottom .container-fluid {
		flex-direction: column;
		gap: 5px;
		text-align: center;
	}
}

/* == TAXONOMY TEAMS == */
.taxonomy-teams {
	margin: var(--block-margin);
}

/* == TEAM BUTTONS == */
.team-buttons-wrapper {
  display: flex;
  flex-wrap: wrap;      
  gap: 15px;             
  justify-content: center;
  align-items: center;
}

.team-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 30px;
  border-radius: 50px;         
  background-color: var(--rood);
  color: var(--wit);
  text-transform: uppercase;
  font-family: 'Rockwell', sans-serif;
  font-weight: 800;
  font-size: 0.9rem;
  text-decoration: none;
  height: 50px;       
  box-shadow: 0 4px 6px rgba(0,0,0,0.15);
  transition: all 0.2s ease-in-out;
  cursor: pointer;
  border: none;
}

.team-button:hover {
  background-color: var(--zwart);
  transform: translateY(-3px);
  box-shadow: 0 6px 10px rgba(0,0,0,0.2);
}

.team-button:active {
  transform: translateY(0);
  box-shadow: 0 3px 6px rgba(0,0,0,0.2);
}

@media (max-width: 576px) {
  .team-button {
    width: 100%;
    min-width: auto;
  }
}

.licht-wit {
    background-color: #eeeeee; 
    color: #000; 
}

/* ===== TEAM PAGINA STYLING ===== */
.team-pagina {
  margin: 60px 0;
  font-family: 'Roboto', sans-serif;
}

.team-pagina .sectie-titel {
  font-size: 2.8rem;
  font-family: 'Rockwell', sans-serif;
  font-weight: 1000;
  text-transform: uppercase;
  color: white; 
  margin-bottom: 8%;
  text-align: center;
  margin-top: -11%;
  -webkit-font-smoothing: antialiased; 
}


.team-content {
  display: grid;
  grid-template-columns: 2fr 1fr;
}

.team-sectie {
  background: #fff;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.05);
}

/* ===== SPELERS ===== */
.speler-groep {
  margin-bottom: 40px;
}

.speler-groep h3 {
  font-family: 'Rockwell', sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--zwart); 
  font-size: 1.2rem;
  margin-bottom: 15px;
  border-bottom: none; 
  padding-bottom: 0; 
}

.speler-kaart {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 10px 15px;
  background: #f9f9f9;
  border-radius: 8px;
  margin-bottom: 10px;
}

.speler-nummer {
  background: var(--rood);
  color: white;
  font-weight: 800;
  border-radius: 4px; 
  width: 35px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Rockwell', sans-serif;
  flex-shrink: 0;
}

.speler-info {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.speler-naam-datum {
  display: flex;
  justify-content: space-between;
  width: 100%;
  font-weight: 600;
  font-size: 1rem;
  color: var(--zwart);
}

.speler-geboorte {
  font-weight: 400;
  font-size: 0.9rem;
  color: #777;
}

.speler-info p {
  color: #777;
  font-size: 0.9rem;
}

.speler-lijst {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* ===== SIDEBAR ===== */
.wedstrijd-box {
  flex: 1; 
  display: flex;
  flex-direction: column;
  justify-content: center; 
  align-items: center; 
  min-height: 180px; 
  padding: 20px 15px; 
  text-align: center; 
  box-shadow: 0 4px 20px rgba(0,0,0,0.05);
  background: white;
  transition: all 0.2s ease-in-out;
}

.wedstrijd-box.vorige {
  background-color: #000;
  color: white;
}

.wedstrijd-box .wedstrijd-teams {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
}

.wedstrijd-box .wedstrijd-teams img {
  width: 85px;
  height: 85px;
  object-fit: contain;
}

.wedstrijd-box {
  flex: 1; 
  display: flex;
  flex-direction: column;
  min-height: 180px; 
}


.wedstrijd-box h3 {
  background: var(--rood);
  color: white;
  text-transform: uppercase;
  font-family: 'Rockwell', sans-serif;
  font-weight: 800;
  font-size: 1rem;
  padding: 10px;
  margin: 0;
}

.wedstrijd-box.vorige h3 {
  color: var(--rood);
  background-color: transparent;
}

.wedstrijd-teams {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  padding: 20px;
}

.wedstrijd-teams img {
  width: 50px;
  height: 50px;
  object-fit: contain;
}

.wedstrijd-teams .vs {
  font-weight: bold;
  font-size: 1.2rem;
}

.wedstrijd-box p {
  background: #ef1e23;
  color: white;
  font-weight: 600;
  padding: 10px;
  margin: 0;
}

.wedstrijd-box.volgende h3,
.wedstrijd-box.volgende .wedstrijd-teams,
.wedstrijd-box.volgende p {
  color: white;
}

.wedstrijd-box.volgende h3,
.wedstrijd-box.volgende p {
  background-color: transparent;
}

.wedstrijd-box.vorige .wedstrijd-teams,
.wedstrijd-box.vorige p,
.wedstrijd-box.vorige .score {
  color: #fff;
  font-size: 1.3rem; 
}


/* ===== COMPETITIESTAND ===== */
.team-standings {
  margin-top: 20px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  font-family: 'Roboto', sans-serif;
}

.team-standings h3 {
  font-family: 'Rockwell', sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--zwart);
  font-size: 1rem;
  padding: 12px 15px;
  border-bottom: 2px solid #ddd;
  margin: 0;
}

.standings-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 15px;
  background: #f1f1f1;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.85rem;
  color: var(--zwart);
  border-bottom: 1px solid #ddd;
}

.standings-header .plaats,
.standings-header .team-naam,
.standings-header .punten {
  text-align: center;
}

.standings-header .team-naam {
  text-align: left;
  padding-left: 10px;
}

.standings-lijst {
  display: flex;
  flex-direction: column;
}

.standings-kaart {
  display: flex;
  justify-content: space-between;
  padding: 12px 15px;
  border-bottom: 1px solid #eee;
  background: #fff;
  font-size: 0.95rem;
  color: var(--zwart);
}

.standings-kaart:last-child {
  border-bottom: none;
}

.standings-kaart .plaats {
  width: 30px;
  text-align: center;
  font-weight: 500;
}

.standings-kaart .team-naam {
  padding-left: 10px;
}

.standings-kaart .punten {
  width: 40px;
  text-align: center;
  font-weight: 500;
}

.standings-kaart.team-actief {
  background: #ef1e23;
  color: #fff;
  font-weight: 700;
}

.wedstrijd-lijst {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.wedstrijd-kaart {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 20px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #e0e0e0;
  transition: all 0.2s ease-in-out;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.wedstrijd-kaart:hover {
  transform: translateY(-3px);
  background: #fff5f5;
  border-color: #ff4d4f;
}

.wedstrijd-teams {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 600;
  color: #333;
}

.wedstrijd-teams strong {
  display: flex;
  align-items: center;
  gap: 5px;
}

.wedstrijd-teams .vs {
  font-weight: 700;
  font-size: 1rem;
}

.wedstrijd-info {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  font-size: 0.9rem;
  color: #666;
  gap: 2px;
}

.wedstrijd-info .datum {
  font-weight: 500;
}

.wedstrijd-info .locatie {
  font-style: italic;
}

.team-actief {
  border: 2px solid #ff4d4f;
}

.team-wedstrijden h3 {
  text-align: center;
}

@media (max-width: 992px) {
  .team-content {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .speler-kaart {
    flex-direction: row;
  }
}

@media (max-width: 576px) {
  .speler-info p {
    display: none;
  }

  .speler-kaart {
    padding: 10px;
  }

  .speler-nummer {
    width: 30px;
    height: 30px;
    font-size: 0.9rem;
  }

  .standings-kaart{
    gap: 5px;
    padding: 10px;
    text-align: center;
  }
  
  .wedstrijd-kaart {
    flex-direction: column;
    gap: 5px;
    padding: 10px;
    text-align: center;
  }

  .wedstrijd-kaart .wedstrijd-info {
    flex-direction: column;
    gap: 3px;
  }

  .speler-info .speler-naam-datum {
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
  }
}

@media (max-width: 576px) {
  .wedstrijd-box .wedstrijd-teams img {
    width: 60px;
    height: 60px;
  }
}

.wedstrijden-sidebar {
  position: relative;
  flex-direction: column;
  gap: 20px;
  overflow: visible;
}

.sidebar-arrows {
  position: absolute;
  top: 85%;
  right: -29%;
  transform: translateY(-50%);
  z-index: 3;
  opacity: 0.4;
  pointer-events: none;
  width: 160px;
  height: auto;
}

.sidebar-arrows img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.team-standings {
  position: relative;
  z-index: 2;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 12px;
  padding: 16px;
  backdrop-filter: blur(1.5px);
}

.wedstrijd-teams {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}

.team-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.team-box img.team-logo {
  max-width: 85px;
  height: auto;
  margin-bottom: 5px;
}

.team-box .team-naam {
  font-weight: bold;
  font-size: 0.9rem;
  color: inherit;
}

.wedstrijd-teams .vs {
  font-weight: bold;
  font-size: 1.2rem;
  margin: 0 10px;
  display: flex;
  align-items: center;
}

/* ===== Algemene structuur ===== */
.single-sponsoren .rechterzijde {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  padding: 0 2rem;
}

.single-sponsoren .rechterzijde > * {
  width: 100%;
  max-width: 90%;
}

/* ===== Afbeeldingen ===== */
.small-image-wrapper {
  width: 100%;
  text-align: center;
  margin-bottom: 1rem;
}

.small-image-wrapper img {
  max-width: 30%;
  height: auto;
  border-radius: 0.5rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
}

/* ===== Google Maps ===== */
.single-sponsoren .map-section {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  min-height: 400px;
}

.single-sponsoren .map-container {
  flex: 1;
  height: 100%;
  min-height: 350px;
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.08);
}

.single-sponsoren .map-container iframe,
.single-sponsoren .map-container embed,
.single-sponsoren .map-container object {
  width: 100% !important;
  height: 100%;
  border: 0;
  display: block;
  max-width: 100%;
}

/* ===== Contact-info box ===== */
.single-sponsoren .contact-info {
  flex: 0 0 auto;
  background: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 150px;
}

/* ===== Info-box ===== */
.info-box {
  background: none;
  display: flex;
  flex-direction: column;
  gap: 10px; 
  border: none;
  padding: 0;
  margin-top: 1rem;
}

.info-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #f2f2f2; 
  padding: 14px 18px;
  border-radius: 8px; 
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.info-row .label {
  font-weight: 700;
  color: #000;
  flex: 1;
}

.info-row .value {
  flex: 1;
  text-align: right;
  color: #000;
}

.info-row a {
  color: #e63946;
  text-decoration: none;
  font-weight: 500;
}

.info-row a:hover {
  text-decoration: underline;
}

/* ===== Buttons ===== */
.btn-dark {
  background: #000;
  color: #fff;
  text-transform: uppercase;
  font-weight: 700;
  padding: 14px 0;
  text-align: center;
  display: block;
  width: 100%;
  border: none;
  border-radius: 0;
  letter-spacing: 0.5px;
  transition: background 0.3s ease;
}

.btn-dark:hover {
  background: #e63946;
  color: #fff;
}

.btn-sponsor {
  background-color: #e60000;
  color: #fff;
  font-size: 1.1rem;
  padding: 0.75rem 2rem;
  border: none;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 250px;
  max-width: 350px;
  transition: background-color 0.3s, transform 0.2s;
}

.btn-sponsor::after {
  content: ">";
  color: #000;
  transition: transform 0.3s;
}

.btn-sponsor:hover {
  background-color: #cc0000;
  transform: translateY(-2px);
}

.btn-sponsor:hover::after {
  transform: translateX(5px);
}

.terug-knop {
  background-color: #b60000;
  color: #ffffff;
  border: none;
  border-radius: 50px;
  padding: 12px 30px;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: all 0.25s ease-in-out;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  position: relative;
  overflow: hidden;
}

.terug-knop::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.2);
  transition: all 0.4s ease;
}

.terug-knop:hover::before {
  left: 100%;
}

.terug-knop:hover {
  background-color: #8c0000;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.2);
}

.terug-knop:active {
  transform: translateY(0);
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.15);
}

/* ===== Carousel pijlen ===== */
.carousel-control-prev,
.carousel-control-next {
  width: 3rem;
  height: 3rem;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
  background-color: rgba(0, 0, 0, 0.8);
}

/* ===== Responsieve aanpassing ===== */
@media (max-width: 991px) {
  .single-sponsoren .rechterzijde {
    flex-direction: column;
    align-items: center;
  }

  .single-sponsoren .small-image-wrapper img {
    max-width: 60%;
  }

  .single-sponsoren .map-section {
    min-height: auto;
  }

  .single-sponsoren .contact-info {
    min-height: auto;
    width: 100%;
  }
}

@media (max-width: 767px) {
  .rechterzijde {
    justify-content: center;
  }

  .rechterzijde .map-container,
  .rechterzijde .contact-info {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    margin-bottom: 15px;
  }

  .map-container iframe {
    height: 300px;
  }

  .col-md-5,
  .col-md-7 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* ===== Contact card algemene styling ===== */
.contact-card {
  font-family: 'Arial', sans-serif;
  background: none;       
  display: flex;
  flex-direction: column;
  gap: 8px; 
}

/* ===== Elke rij (adres, telefoon, website) ===== */
.contact-card .contact-row {
  background-color: #f2f2f2; 
  border-radius: 8px;
  padding: 14px 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap; 
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

/* ===== Tekst en links ===== */
.contact-card .contact-row strong {
  font-weight: 700;
  color: #000;
  flex: 1 1 40%;
}

.contact-card .contact-row span,
.contact-card .contact-row a {
  color: #000;
  text-decoration: none;
  font-weight: 500;
  flex: 1 1 60%;
  text-align: right;
}

.contact-card .contact-row a:hover {
  text-decoration: underline;
  color: #e63946;
}

.btn-website:hover {
  background-color: #e63946;
  color: #fff;
  transform: translateY(-2px);
}

/* ===== Elke losse regel ===== */
.contact-card .contact-row {
  background-color: #f2f2f2; 
  padding: 14px 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  border-radius: 0;       
  border: none;            
  box-shadow: none;       
}

/* ===== Tekst in de regels ===== */
.contact-card .contact-row strong {
  font-weight: 700;
  color: #000;
  flex: 1 1 40%;
}

.contact-card .contact-row span,
.contact-card .contact-row a {
  color: #000;
  text-decoration: none;
  font-weight: 500;
  flex: 1 1 60%;
  text-align: right;
}

.contact-card .contact-row a:hover {
  text-decoration: underline;
  color: #e63946;
}

/* ===== Websiteknop ===== */
.btn-website {
  background-color: #000;
  color: #fff !important;
  text-transform: uppercase;
  text-decoration: none !important;
  display: flex !important;
  align-items: center; 
  justify-content: center; 
  padding: 14px 0 !important; 
  line-height: 1 !important; 
  height: 50px;
  transition: background-color 0.3s ease, transform 0.2s ease;
  border-radius: 0;
}

.btn-website:hover {
  background-color: #e63946;
  color: #fff !important;
  transform: translateY(-2px);
}

.image-wrapper {
  position: relative;
  display: inline-block;
}

.image-wrapper {
  position: relative;
  display: inline-block;
}

.arrows {
  position: absolute;
  bottom: 70px;        
  right: 0px;         
  z-index: 10;
  pointer-events: none;
}

.arrow-img {
  width: 160px;        
  height: auto;
  opacity: 0.8;
  transition: transform 0.3s ease;
}

.arrow-img:hover {
  transform: scale(1.1);
}

.content-block {
  position: relative;
  overflow: visible;
}

.content-block .arrow-img {
  margin-bottom: 20px;
}

.arrow-img-mobile {
  position: absolute;
  top: 5%;
  left: 50%;
  transform: translateX(-50%);
  width: 25%;       
  height: auto;
  z-index: 10;
  pointer-events: none;
  opacity: 0.8;
}

.arrow-img-desktop {
  position: absolute;
  bottom: 26%;  
  right: 0%;
  width: 210px;
  height: auto;
  z-index: 10;
  pointer-events: none;
  opacity: 0.8;
}

@media (max-width: 768px) {
  .arrow-img-desktop { 
    display: none; 
  }
}

@media (min-width: 769px) {
  .arrow-img-mobile { 
    display: none; 
  }
}

.team-sectie {
  position: relative; 
}

.team-sectie {
  position: relative; 
  z-index: 0;         
}

.button-terug {
    display: inline-block;
    padding: 10px 20px;
    background-color: #000000;   
    color: white;               
    text-decoration: none;       
    border-radius: 8px;
    font-weight: bold;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: all 0.2s ease;
    margin-top: 30px;
}

.button-terug:hover {
    background-color: #FF0000;   
    color: white;               
    box-shadow: 0 6px 8px rgba(0,0,0,0.15);
    transform: translateY(-2px);
}

.wedstrijden-sidebar .wedstrijd-box.volgende {
  background-color: var(--rood);
  color: white;
  padding: 20px;
  margin-bottom: 20px;
  position: relative;
  clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
}

.wedstrijden-sidebar .wedstrijd-box.vorige {
  background-color: #000000;
  color: white;
  padding: 20px;
  margin-bottom: 20px;
  position: relative;
  clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
}

.swiper-slide img.cover {
  display: block;
  width: 90%;
  height: auto;
  object-fit: cover; 
  clip-path: polygon(0 0, 100% 0, 85% 100%, 0% 100%);
}

.image-wrapper img {
  clip-path: polygon(0 0, 100% 0, 90% 100%, 0 100%);
  object-fit: cover;
  border-radius: 0 !important;
}

.arrow-img {
  clip-path: none !important;
}