/**
 * WordPress overrides so header/menu match the HTML template.
 */

/* Reset WP / admin bar layout shifts */
html,
body.footclub-theme {
	margin: 0 !important;
	padding: 0;
}

body.admin-bar.footclub-theme header.main-header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar.footclub-theme header.main-header {
		top: 46px;
	}
}

/* Desktop: horizontal menu (Bootstrap collapse was hiding it in WP) */
@media (min-width: 992px) {
	header.main-header .navbar-collapse.main-menu {
		display: flex !important;
		flex-basis: auto;
		flex-grow: 1;
		align-items: center;
		visibility: visible !important;
		height: auto !important;
	}

	header.main-header .main-menu .nav-menu-wrapper > ul#menu {
		display: inline-flex !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	header.main-header .responsive-menu,
	header.main-header .navbar-toggle {
		display: none !important;
	}
}

/* Mobile: template uses SlickNav clone, hide duplicate desktop nav */
@media (max-width: 991px) {
	header.main-header .navbar-collapse.main-menu {
		display: none !important;
	}

	header.main-header .responsive-menu,
	header.main-header .navbar-toggle {
		display: block;
	}
}

/* Font Awesome 6 (theme ships all.min.css, custom.css still says FontAwesome) */
.main-menu ul li.submenu > a:after,
.slicknav_arrow:after {
	font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", FontAwesome !important;
	font-weight: 900;
}

/* Navbar layout: logo | centered menu | CTA button */
header.main-header .navbar > .container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

header.main-header .navbar-collapse.main-menu {
	justify-content: center;
}

header.main-header .header-btn {
	flex-shrink: 0;
	margin-left: auto;
}

/* Prevent WP global styles from breaking menu links */
header.main-header a {
	text-decoration: none;
}

/* Header: white background, black nav text, black CTA button */
header.main-header {
	background: #fff;
	border-bottom-color: rgba(0, 0, 0, 0.1);
}

header.main-header .header-sticky.active {
	background: #fff;
	border-bottom-color: rgba(0, 0, 0, 0.1);
}

header.main-header .main-menu ul li.nav-item a,
header.main-header .main-menu ul li a {
	color: #000;
}

header.main-header .main-menu ul li a:hover,
header.main-header .main-menu ul li a:focus {
	color: #000;
	opacity: 0.7;
}

header.main-header .main-menu ul li.nav-item.active > .nav-link,
header.main-header .main-menu ul li.nav-item.active > a.nav-link {
	color: var(--accent-color);
	opacity: 1;
}

header.main-header .header-btn .btn-default.btn-highlighted {
	background: #000;
	color: #fff;
}

header.main-header .header-btn .btn-default.btn-highlighted::before {
	background-color: #fff;
}

header.main-header .header-btn .btn-default.btn-highlighted::after {
	background: #222;
}

header.main-header .header-btn .btn-default.btn-highlighted:hover {
	background: #222;
	color: #fff;
}

header.main-header .header-btn .btn-default.btn-highlighted:hover::before {
	background-color: #fff;
}

@media (max-width: 991px) {
	header.main-header .slicknav_btn {
		background: #000;
	}

	header.main-header .slicknav_menu {
		background: #fff;
	}

	header.main-header .slicknav_nav a,
	header.main-header .slicknav_nav .slicknav_row {
		color: #000;
	}

	header.main-header .slicknav_nav a:hover,
	header.main-header .slicknav_nav a:focus,
	header.main-header .slicknav_nav .slicknav_row:hover {
		color: #000;
		background: rgba(0, 0, 0, 0.05);
	}
}

/* Scrolling ticker: WMMF logo icon */
.scrolling-content span img {
	object-fit: contain;
	max-width: 44px;
	height: 44px;
	width: auto;
}

/* Section sub-heading & footer list icon → WMMF logo */
.section-title h3,
.footer-links ul li {
	background-image: url('../../html/images/icon-football.png');
	background-repeat: no-repeat;
	background-size: contain;
}

.section-title h3 {
	background-position: left top 2px;
	background-size: 20px auto;
}

.footer-links ul li {
	background-position: left center;
	background-size: 14px auto;
}

/* Home CTA: contact button */
.cta-box-btn {
	margin-top: 10px;
}

/* Beautiful, Responsive Pagination */
.page-pagination ul.page-numbers,
.post-pagination ul.pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	padding: 0;
	margin: 0;
	gap: 10px;
}

.page-pagination ul.page-numbers li,
.post-pagination ul.pagination li {
	list-style: none;
	display: inline-block;
}

.page-pagination ul.page-numbers li a,
.page-pagination ul.page-numbers li span.current,
.post-pagination ul.pagination li a,
.post-pagination ul.pagination li span.current {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 45px;
	height: 45px;
	padding: 0 15px;
	background-color: var(--white-color, #fff);
	color: var(--primary-color, #031521);
	font-weight: 700;
	font-size: 16px;
	font-family: var(--default-font);
	border-radius: 8px;
	text-decoration: none;
	transition: all 0.3s ease;
	border: 2px solid rgba(0,0,0,0.05);
	box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

/* Legal pages (privacy, terms) */
.page-legal {
	padding: 60px 0 80px;
}

.page-legal .legal-content {
	max-width: 860px;
	margin: 0 auto;
	background: #fff;
	padding: 40px 48px;
	border-radius: 8px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.page-legal .legal-content h3 {
	margin: 28px 0 12px;
	font-size: 20px;
	color: var(--primary-color, #031521);
}

.page-legal .legal-content p,
.page-legal .legal-content li {
	font-size: 16px;
	line-height: 1.7;
	color: #444;
}

.page-legal .legal-content ul {
	margin: 0 0 16px 20px;
}

.page-pagination ul.page-numbers li a:hover,
.post-pagination ul.pagination li a:hover {
	background-color: var(--accent-color, #C42221);
	color: var(--white-color, #fff);
	border-color: var(--accent-color, #C42221);
	transform: translateY(-2px);
	box-shadow: 0 6px 15px rgba(196, 34, 33, 0.3);
}

.page-pagination ul.page-numbers li span.current,
.post-pagination ul.pagination li span.current {
	background-color: var(--accent-color, #C42221);
	color: var(--white-color, #fff);
	border-color: var(--accent-color, #C42221);
	box-shadow: 0 6px 15px rgba(196, 34, 33, 0.3);
}

.page-pagination ul.page-numbers li span.dots,
.post-pagination ul.pagination li span.dots {
	background: transparent;
	border: none;
	box-shadow: none;
	color: var(--text-color, #999);
	min-width: auto;
	padding: 0 5px;
	pointer-events: none;
}

/* Pagination Icons Fix */
.page-pagination ul.page-numbers li a i,
.post-pagination ul.pagination li a i,
.page-pagination ul.page-numbers li span.current i,
.post-pagination ul.pagination li span.current i {
	font-size: 14px;
	line-height: 1;
}

/* Responsive Pagination Adjustments */
@media (max-width: 576px) {
	.page-pagination ul.page-numbers,
	.post-pagination ul.pagination {
		gap: 6px;
	}
	
	.page-pagination ul.page-numbers li a,
	.page-pagination ul.page-numbers li span.current,
	.post-pagination ul.pagination li a,
	.post-pagination ul.pagination li span.current {
		min-width: 38px;
		height: 38px;
		padding: 0 10px;
		font-size: 14px;
		border-radius: 6px;
	}
}

/* Theme options logos */
header.main-header .navbar-brand img,
.footer-logo img {
	max-height: 72px;
	width: auto;
	height: auto;
	object-fit: contain;
}

@media (min-width: 992px) {
	header.main-header .navbar-brand img {
		max-height: 100px;
		max-width: 260px;
	}
}

@media (max-width: 991px) {
	header.main-header .navbar-brand img {
		max-height: 56px;
	}
}

/* Preloader logo */
.preloader {
	background: #fff;
}

.preloader .loading-container,
.preloader .loading {
	height: 180px;
	width: 180px;
}

#loading-icon {
	max-width: 150px;
}

#loading-icon img {
	max-height: 150px;
	max-width: 150px;
	width: auto;
	height: auto;
	object-fit: contain;
}

/* Rules & Regulations layout pages */
.footclub-page--rules-regulations .rules-regulations-section {
	padding: 80px 0 40px;
}

.footclub-page--rules-regulations .rules-regulations-section--spaced {
	padding-top: 40px;
}

.footclub-page--rules-regulations .rules-regulations-section:last-of-type {
	padding-bottom: 80px;
}

.footclub-page--rules-regulations .rules-section-intro-row {
	margin-bottom: 50px;
}

.rules-section-intro {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}

.rules-section-intro__title {
	font-size: 42px;
	line-height: 1.2;
	color: #000;
	margin: 0 0 18px;
	font-weight: 700;
}

.rules-section-intro__text {
	font-size: 16px;
	line-height: 1.75;
	color: #000;
	margin: 0;
}

/* Dark document grid showcase — 3 cards per row */
.rules-documents-grid {
	margin-top: 0;
	width: 100%;
}

.rules-documents-grid__items {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
	width: 100%;
}

.rules-document-card {
	width: 100%;
	min-width: 0;
	height: 100%;
	display: flex;
	flex-direction: column;
	border-radius: 20px;
	overflow: hidden;
	background: var(--secondary-color, #031521);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

.rules-document-card__image figure {
	display: block;
	margin: 0;
	overflow: hidden;
}

.rules-document-card__image img {
	display: block;
	width: 100%;
	object-fit: cover;
}

.rules-document-card__body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	padding: 28px 24px 30px;
	background: #fff;
}

.rules-document-card__title {
	font-size: 22px;
	line-height: 1.35;
	color: #000;
	margin: 0 0 12px;
	font-weight: 700;
	word-wrap: break-word;
}

.rules-document-card__text {
	font-size: 15px;
	line-height: 1.65;
	color: #000;
	margin: 0 0 20px;
	flex: 1 1 auto;
	word-wrap: break-word;
}

.rules-document-card__action {
	margin-top: auto;
}

.rules-document-card__action .btn-default {
	display: inline-block;
}

/* Gallery HTML5 video player (no autoplay, no poster) */
.video-gallery-section .col-lg-4,
.video-gallery-section .col-md-6,
.page-video-gallery .col-lg-4,
.page-video-gallery .col-md-6 {
	min-width: 0;
}

.video-gallery-item,
.video-gallery-image {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
}

.video-gallery-item video.video-fluid,
.video-gallery-image video.video-fluid,
.video-gallery-item video,
.video-gallery-image video {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	height: 240px !important;
	object-fit: cover;
	border-radius: 20px;
	background: #000;
}

.video-gallery-item video.video-fluid.z-depth-1,
.video-gallery-image video.video-fluid.z-depth-1 {
	box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}

.video-gallery-item h3 {
	margin-top: 14px;
	margin-bottom: 0;
	font-size: 18px;
	line-height: 1.35;
	word-wrap: break-word;
}

.video-gallery-section .video-gallery-item {
	height: calc(100% - 30px);
	margin-bottom: 20px;
}

.video-gallery-item {
	margin-bottom: 20px;
}

/* Blog single: full-width featured image */
.page-blog-single {
	padding: 80px 0;
}

.page-blog-single .post-featured-image,
.page-blog-single .post-image,
.page-blog-single .post-featured-image figure,
.page-blog-single .post-image figure {
	display: block;
	width: 100%;
	margin: 0 0 30px;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.page-blog-single .post-featured-image img,
.page-blog-single .post-image img {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	aspect-ratio: auto;
	object-fit: cover;
}

/* Blog single: tags + social + prev/next navigation */
.page-blog-single .post-tag-links {
	margin-top: 30px;
	padding-top: 30px;
	border-top: 1px solid var(--divider-color, rgba(0, 0, 0, 0.1));
}

.page-blog-single .post-navigation {
	margin-top: 40px;
	padding-top: 30px;
	border-top: 1px solid var(--divider-color, rgba(0, 0, 0, 0.1));
}

.page-blog-single .post-navigation__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 20px 24px;
	border-radius: 12px;
	background: #f7f7f7;
	text-decoration: none;
	transition: all 0.3s ease;
	min-height: 100px;
}

.page-blog-single .post-navigation__link:hover {
	background: var(--primary-color, #031521);
	color: #fff;
}

.page-blog-single .post-navigation__link--next {
	text-align: right;
	align-items: flex-end;
}

.page-blog-single .post-navigation__label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 8px;
	opacity: 0.75;
}

.page-blog-single .post-navigation__title {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
	color: inherit;
}

.page-blog-single .post-navigation__link:hover .post-navigation__label,
.page-blog-single .post-navigation__link:hover .post-navigation__title {
	color: #fff;
}

@media (max-width: 767px) {
	.page-blog-single .post-navigation .col-md-6 + .col-md-6 {
		margin-top: 16px;
	}

	.page-blog-single .post-navigation__link--next {
		text-align: left;
		align-items: flex-start;
	}

	.page-blog-single .post-social-sharing {
		text-align: left;
		margin-top: 20px;
	}
}

/**
 * Media template alignment control
 * Overrides theme `.section-title.section-title-center` (max-width:640px; text-align:center; margin:auto)
 * when Description alignment is Center or Left.
 */
.footclub-page--media .media-section-heading {
	width: 100%;
	margin-bottom: 30px;
}

.footclub-page--media .media-section-heading .section-title {
	margin-bottom: 16px;
}

.footclub-page--media .media-section-desc {
	display: block;
	width: 100%;
	margin: 0;
	font-size: 16px;
	line-height: 1.75;
	color: #444;
}

.footclub-page--media .media-section-desc p {
	margin: 0 0 12px;
	text-align: inherit;
}

.footclub-page--media .media-section-desc p:last-child {
	margin-bottom: 0;
}

/* Center: title + description */
.footclub-page--media .media-section-heading--center .section-title.section-title-center {
	width: 100%;
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.footclub-page--media .media-section-heading--center .media-section-desc,
.footclub-page--media .media-section-heading--center .media-section-desc--center {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

/* Left: force title + description (beats theme center rules by specificity) */
.footclub-page--media .media-section-heading--left .section-title.section-title-center,
.footclub-page--media .media-section-heading--left .section-title {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
	text-align: left;
}

.footclub-page--media .media-section-heading--left .section-title h1,
.footclub-page--media .media-section-heading--left .section-title h2,
.footclub-page--media .media-section-heading--left .section-title h3 {
	text-align: left;
}

.footclub-page--media .media-section-heading--left .section-title .section-bg-title,
.footclub-page--media .media-section-heading--left .section-title .section-bg-title span {
	text-align: left;
}

.footclub-page--media .media-section-heading--left .media-section-desc,
.footclub-page--media .media-section-heading--left .media-section-desc--left {
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
	text-align: left;
}

/* Media page: equal-height photos + popup */
.footclub-page--media .photo-gallery-section {
	padding: 80px 0 40px;
}

.footclub-page--media .photo-gallery-section .page-gallery-box .photo-gallery,
.photo-gallery-section .page-gallery-box .photo-gallery,
.page-gallery-box .photo-gallery {
	height: calc(100% - 30px);
	margin-bottom: 30px;
	overflow: hidden;
}

.footclub-page--media .photo-gallery-section .page-gallery-box .photo-gallery a,
.photo-gallery-section .page-gallery-box .photo-gallery a,
.page-gallery-box .photo-gallery a {
	display: block;
	width: 100%;
	height: 100%;
}

.footclub-page--media .photo-gallery-section .page-gallery-box .photo-gallery figure,
.photo-gallery-section .page-gallery-box .photo-gallery figure,
.page-gallery-box .photo-gallery figure {
	display: block;
	margin: 0;
	width: 100%;
	border-radius: 20px;
	overflow: hidden;
}

.footclub-page--media .photo-gallery-section .page-gallery-box .photo-gallery img,
.photo-gallery-section .page-gallery-box .photo-gallery img,
.page-gallery-box .photo-gallery img {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	height: 250px !important;
	object-fit: cover;
	border-radius: 20px;
}

/* Magnific popup: full-width image */
.mfp-image-holder .mfp-content {
	max-width: 96vw !important;
	width: 96vw !important;
}

.mfp-figure {
	max-width: 100% !important;
}

img.mfp-img {
	width: 100% !important;
	max-width: 96vw !important;
	height: auto !important;
	max-height: 90vh !important;
	object-fit: contain;
	padding: 0 !important;
	margin: 0 auto !important;
}

.mfp-image-holder .mfp-close {
	right: 0;
	top: -40px;
}

/* Media page: equal-height videos */
.footclub-page--media .video-gallery-section {
	margin-bottom: 70px;
}

.footclub-page--media .video-gallery-section .video-gallery-item video {
	width: 100% !important;
	max-width: 100% !important;
	height: 240px !important;
	object-fit: cover;
}

@media (max-width: 767px) {
	.video-gallery-item video.video-fluid,
	.video-gallery-image video.video-fluid,
	.video-gallery-item video,
	.video-gallery-image video,
	.footclub-page--media .video-gallery-section .video-gallery-item video,
	.footclub-page--media .photo-gallery-section .page-gallery-box .photo-gallery img,
	.photo-gallery-section .page-gallery-box .photo-gallery img,
	.page-gallery-box .photo-gallery img {
		height: 250px !important;
	}

	.mfp-image-holder .mfp-content,
	img.mfp-img {
		max-width: 100vw !important;
		width: 100vw !important;
	}
}

.footclub-page--video-gallery .video-gallery-section {
	padding: 100px 0 70px;
}

@media (max-width: 991px) {
	.footclub-page--rules-regulations .rules-regulations-section {
		padding: 50px 0 30px;
	}

	.footclub-page--rules-regulations .rules-regulations-section:last-of-type {
		padding-bottom: 50px;
	}

	.rules-section-intro__title {
		font-size: 30px;
	}

	.footclub-page--rules-regulations .rules-section-intro-row {
		margin-bottom: 36px;
	}

	.rules-documents-grid__items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}

	.rules-document-card__title {
		font-size: 20px;
	}

	.rules-document-card__body {
		padding: 22px 20px 26px;
	}

	.footclub-page--media .video-gallery-section {
		margin-bottom: 50px;
	}

	.footclub-page--video-gallery .video-gallery-section {
		padding: 60px 0 40px;
	}
}

@media (max-width: 575px) {
	.rules-documents-grid__items {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}
